]> git.ipfire.org Git - people/ms/u-boot.git/blobdiff - drivers/net/designware.h
net: designware: Make driver independent from DM_GPIO again
[people/ms/u-boot.git] / drivers / net / designware.h
index ce51102052eafad7e2b8fdb764f3cf91b33c5d2e..d345c5b0c3ec100bd0715e57f54b8b7c3024621a 100644 (file)
@@ -8,6 +8,10 @@
 #ifndef _DW_ETH_H
 #define _DW_ETH_H
 
+#ifdef CONFIG_DM_GPIO
+#include <asm-generic/gpio.h>
+#endif
+
 #define CONFIG_TX_DESCR_NUM    16
 #define CONFIG_RX_DESCR_NUM    16
 #define CONFIG_ETH_BUFSIZE     2048
@@ -68,7 +72,9 @@ struct eth_dma_regs {
        u32 status;             /* 0x14 */
        u32 opmode;             /* 0x18 */
        u32 intenable;          /* 0x1c */
-       u8 reserved[40];
+       u32 reserved1[2];
+       u32 axibus;             /* 0x28 */
+       u32 reserved2[7];
        u32 currhosttxdesc;     /* 0x48 */
        u32 currhostrxdesc;     /* 0x4c */
        u32 currhosttxbuffaddr; /* 0x50 */
@@ -108,8 +114,8 @@ struct eth_dma_regs {
 struct dmamacdescr {
        u32 txrx_status;
        u32 dmamac_cntl;
-       void *dmamac_addr;
-       struct dmamacdescr *dmamac_next;
+       u32 dmamac_addr;
+       u32 dmamac_next;
 } __aligned(ARCH_DMA_MINALIGN);
 
 /*
@@ -221,15 +227,28 @@ struct dw_eth_dev {
        char rxbuffs[RX_TOTAL_BUFSIZE] __aligned(ARCH_DMA_MINALIGN);
 
        u32 interface;
+       u32 max_speed;
        u32 tx_currdescnum;
        u32 rx_currdescnum;
 
        struct eth_mac_regs *mac_regs_p;
        struct eth_dma_regs *dma_regs_p;
-
+#ifndef CONFIG_DM_ETH
        struct eth_device *dev;
+#endif
+#ifdef CONFIG_DM_GPIO
+       struct gpio_desc reset_gpio;
+#endif
+
        struct phy_device *phydev;
        struct mii_dev *bus;
 };
 
+#ifdef CONFIG_DM_ETH
+struct dw_eth_pdata {
+       struct eth_pdata eth_pdata;
+       u32 reset_delays[3];
+};
+#endif
+
 #endif