summaryrefslogtreecommitdiff
path: root/include/netdev.h
diff options
context:
space:
mode:
authorStephan Linz <linz@li-pro.net>2012-02-25 00:48:31 +0000
committerJoe Hershberger <joe.hershberger@ni.com>2012-04-04 09:36:19 -0500
commitdf48265036dc7332d488ded34aa298f7f5bf3513 (patch)
tree178742a61fd899d5b4b2a0fe55943dc8291053a8 /include/netdev.h
parent1295f08c7e778a258cba779263ba03b0c86f8a6e (diff)
downloadu-boot-imx-df48265036dc7332d488ded34aa298f7f5bf3513.zip
u-boot-imx-df48265036dc7332d488ded34aa298f7f5bf3513.tar.gz
u-boot-imx-df48265036dc7332d488ded34aa298f7f5bf3513.tar.bz2
net: ll_temac: Add LL TEMAC driver to u-boot
Xilinx LocalLink Tri-Mode Ether MAC driver can be used by Xilinx Microblaze or Xilinx ppc405/440 in SDMA and FIFO mode. DCR or XPS bus can be used. The driver uses and requires MII and PHYLIB. CP: 4 warnings: 'Use of volatile is usually wrong' I won't fix this, because it depends on the network driver subsystem. Reported-by: Michal Simek <monstr@monstr.eu> Signed-off-by: Stephan Linz <linz@li-pro.net>
Diffstat (limited to 'include/netdev.h')
-rw-r--r--include/netdev.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/include/netdev.h b/include/netdev.h
index b0c21d5..4724717 100644
--- a/include/netdev.h
+++ b/include/netdev.h
@@ -102,6 +102,18 @@ int xilinx_axiemac_initialize(bd_t *bis, unsigned long base_addr,
unsigned long dma_addr);
int xilinx_emaclite_initialize(bd_t *bis, unsigned long base_addr,
int txpp, int rxpp);
+int xilinx_ll_temac_eth_init(bd_t *bis, unsigned long base_addr, int flags,
+ unsigned long ctrl_addr);
+
+/*
+ * As long as the Xilinx xps_ll_temac ethernet driver has not its own interface
+ * exported by a public hader file, we need a global definition at this point.
+ */
+#if defined(CONFIG_XILINX_LL_TEMAC)
+#define XILINX_LL_TEMAC_M_FIFO 0 /* use FIFO Ctrl */
+#define XILINX_LL_TEMAC_M_SDMA_PLB (1 << 0)/* use SDMA Ctrl via PLB */
+#define XILINX_LL_TEMAC_M_SDMA_DCR (1 << 1)/* use SDMA Ctrl via DCR */
+#endif
/* Boards with PCI network controllers can call this from their board_eth_init()
* function to initialize whatever's on board.