X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=include%2Ftsec.h;h=b17fa957df5b4bc3e2f8bbfddf83bcd98501538d;hb=915f15ac5746739da0aa2ee2840c2d00dc65aaaa;hp=023f0954271167adedf7929bf1bff08ba1764e2a;hpb=362b123f473cbc72d43720f9245c68d174439310;p=oweals%2Fu-boot.git diff --git a/include/tsec.h b/include/tsec.h index 023f095427..b17fa957df 100644 --- a/include/tsec.h +++ b/include/tsec.h @@ -1,3 +1,4 @@ +/* SPDX-License-Identifier: GPL-2.0+ */ /* * tsec.h * @@ -7,8 +8,6 @@ * (C) Copyright 2003, Motorola, Inc. * maintained by Xianghua Xiao (x.xiao@motorola.com) * author Andy Fleming - * - * SPDX-License-Identifier: GPL-2.0+ */ #ifndef __TSEC_H @@ -18,7 +17,11 @@ #include #include -#ifdef CONFIG_LS102XA +#define TSEC_MDIO_REGS_OFFSET 0x520 + +#ifndef CONFIG_DM_ETH + +#ifdef CONFIG_ARCH_LS1021A #define TSEC_SIZE 0x40000 #define TSEC_MDIO_OFFSET 0x40000 #else @@ -26,7 +29,7 @@ #define TSEC_MDIO_OFFSET 0x01000 #endif -#define CONFIG_SYS_MDIO_BASE_ADDR (MDIO_BASE_ADDR + 0x520) +#define CONFIG_SYS_MDIO_BASE_ADDR (MDIO_BASE_ADDR + TSEC_MDIO_REGS_OFFSET) #define TSEC_GET_REGS(num, offset) \ (struct tsec __iomem *)\ @@ -64,6 +67,8 @@ x.mii_devname = DEFAULT_MII_NAME;\ } +#endif /* CONFIG_DM_ETH */ + #define MAC_ADDR_LEN 6 /* #define TSEC_TIMEOUT 1000000 */ @@ -387,17 +392,27 @@ struct tsec { #define TSEC_REDUCED (1 << 1) /* MAC-PHY interface uses RGMII */ #define TSEC_SGMII (1 << 2) /* MAC-PHY interface uses SGMII */ +#define TX_BUF_CNT 2 + struct tsec_private { + struct txbd8 __iomem txbd[TX_BUF_CNT]; + struct rxbd8 __iomem rxbd[PKTBUFSRX]; struct tsec __iomem *regs; struct tsec_mii_mng __iomem *phyregs_sgmii; struct phy_device *phydev; phy_interface_t interface; struct mii_dev *bus; uint phyaddr; + uint tbiaddr; char mii_devname[16]; u32 flags; uint rx_idx; /* index of the current RX buffer */ uint tx_idx; /* index of the current TX buffer */ +#ifndef CONFIG_DM_ETH + struct eth_device *dev; +#else + struct udevice *dev; +#endif }; struct tsec_info_struct { @@ -410,7 +425,9 @@ struct tsec_info_struct { u32 flags; }; +#ifndef CONFIG_DM_ETH int tsec_standard_init(bd_t *bis); int tsec_eth_init(bd_t *bis, struct tsec_info_struct *tsec_info, int num); +#endif #endif /* __TSEC_H */