X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=drivers%2Fnet%2Fdesignware.h;h=ffaf5a14d074131ae7d4c0e8f7ab94b9d43e65d4;hb=HEAD;hp=04a45e050985713584444caa6e73b17037f3cd2b;hpb=90b7fc924adfe7f1745dcf6a1dabb9e77aa762a7;p=oweals%2Fu-boot.git diff --git a/drivers/net/designware.h b/drivers/net/designware.h index 04a45e0509..ffaf5a14d0 100644 --- a/drivers/net/designware.h +++ b/drivers/net/designware.h @@ -1,14 +1,18 @@ +/* SPDX-License-Identifier: GPL-2.0+ */ /* * (C) Copyright 2010 * Vipin Kumar, ST Micoelectronics, vipin.kumar@st.com. - * - * SPDX-License-Identifier: GPL-2.0+ */ #ifndef _DW_ETH_H #define _DW_ETH_H -#include +#include +#include + +#if CONFIG_IS_ENABLED(DM_GPIO) +#include +#endif #define CONFIG_TX_DESCR_NUM 16 #define CONFIG_RX_DESCR_NUM 16 @@ -112,8 +116,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); /* @@ -234,16 +238,36 @@ struct dw_eth_dev { #ifndef CONFIG_DM_ETH struct eth_device *dev; #endif +#if CONFIG_IS_ENABLED(DM_GPIO) struct gpio_desc reset_gpio; +#endif +#ifdef CONFIG_CLK + struct clk *clocks; /* clock list */ + int clock_count; /* number of clock in clock list */ +#endif + struct phy_device *phydev; struct mii_dev *bus; }; #ifdef CONFIG_DM_ETH +int designware_eth_ofdata_to_platdata(struct udevice *dev); +int designware_eth_probe(struct udevice *dev); +extern const struct eth_ops designware_eth_ops; + struct dw_eth_pdata { struct eth_pdata eth_pdata; u32 reset_delays[3]; }; + +int designware_eth_init(struct dw_eth_dev *priv, u8 *enetaddr); +int designware_eth_enable(struct dw_eth_dev *priv); +int designware_eth_send(struct udevice *dev, void *packet, int length); +int designware_eth_recv(struct udevice *dev, int flags, uchar **packetp); +int designware_eth_free_pkt(struct udevice *dev, uchar *packet, + int length); +void designware_eth_stop(struct udevice *dev); +int designware_eth_write_hwaddr(struct udevice *dev); #endif #endif