
Am Dienstag, den 31.01.2012, 10:01 +0100 schrieb Michal Simek:
Stephan Linz wrote:
Expand the specific configuration for the microblaze-generic board in xparameters.h with a faked setup to enable the LL_TEMAC driver.
Note: From now the microblaze-generic board is no longer a valid board configuration for a real piece of hardware. Rather than, we use the file config.mk and xparameters.h as a faked board configuration to force the compilation of all potential driver code for Microblaze systems.
Signed-off-by: Stephan Linz linz@li-pro.net
board/xilinx/microblaze-generic/config.mk | 6 ++++-- board/xilinx/microblaze-generic/xparameters.h | 24 ++++++++++++++++++++++-- 2 files changed, 26 insertions(+), 4 deletions(-)
diff --git a/board/xilinx/microblaze-generic/config.mk b/board/xilinx/microblaze-generic/config.mk index f8d7e26..9fd1015 100644 --- a/board/xilinx/microblaze-generic/config.mk +++ b/board/xilinx/microblaze-generic/config.mk @@ -21,8 +21,10 @@ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, # MA 02111-1307 USA # -# CAUTION: This file is automatically generated by libgen. -# Version: Xilinx EDK 6.3 EDK_Gmm.12.3 +# CAUTION: This file is a faked configuration !!! +# There is no real target for the microblaze-generic +# configuration. You have to replace this file with +# the generated file from your Xilinx design flow. #
CONFIG_SYS_TEXT_BASE = 0x29000000 diff --git a/board/xilinx/microblaze-generic/xparameters.h b/board/xilinx/microblaze-generic/xparameters.h index fae03bf..69758c3 100644 --- a/board/xilinx/microblaze-generic/xparameters.h +++ b/board/xilinx/microblaze-generic/xparameters.h @@ -21,8 +21,10 @@
- Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- MA 02111-1307 USA
- CAUTION: This file is automatically generated by libgen.
- Version: Xilinx EDK 8.2.02 EDK_Im_Sp2.4
- CAUTION: This file is a faked configuration !!!
There is no real target for the microblaze-generic
configuration. You have to replace this file with
*/
the generated file from your Xilinx design flow.
#define XILINX_BOARD_NAME microblaze-generic @@ -69,3 +71,21 @@
/* Ethernet controller is Ethernet_MAC */ #define XILINX_EMACLITE_BASEADDR 0x40C00000
+/* Ethernet controller is Ethernet_MAC */ +#define XILINX_LLTEMAC_BASEADDR 0x44000000 +#define XILINX_LLTEMAC_SDMA_CTRL_BASEADDR 0x42000180 +#define XILINX_LLTEMAC_BASEADDR1 0x44000040 +#define XILINX_LLTEMAC_SDMA_CTRL_BASEADDR1 0x42000200
+#define XILINX_LLTEMAC_BASEADDR2 0x44100000 +#define XILINX_LLTEMAC_SDMA_CTRL_BASEADDR2 0x42000280 +#define XILINX_LLTEMAC_BASEADDR3 0x44100040 +#define XILINX_LLTEMAC_SDMA_CTRL_BASEADDR3 0x42000300
Do these two options test anything?
This is a faked configuration to evaluate the preprocessor stage in xconversions.h and the ll_temac driver setup in xilinx_ll_temac_standard_init().
I do not known any FPGA design / board on which I could test it in real live. But I've run a simple test with BASEADDR1 set to same value of BASEADDR. So I could test faked memory access to a single TEMAC in hardware by two driver instance in software -- it works.
+#define XILINX_LLTEMAC_BASEADDR4 0x44200000 +#define XILINX_LLTEMAC_FIFO_BASEADDR4 0x42100000 +#define XILINX_LLTEMAC_BASEADDR5 0x44200040 +#define XILINX_LLTEMAC_FIFO_BASEADDR5 0x42110000
+#define XILINX_LLTEMAC_BASEADDR6 0x44300000 +#define XILINX_LLTEMAC_FIFO_BASEADDR6 0x42120000 +#define XILINX_LLTEMAC_BASEADDR7 0x44300040 +#define XILINX_LLTEMAC_FIFO_BASEADDR7 0x42130000
The same here.
The ll_temac driver supports up to eight TEMAC entities in hardware. That's why I've expand the faked Xilinx parameter list to eight.
br Stephan