Merge branch '2021-12-27-CONFIG-migrations' into next
[platform/kernel/u-boot.git] / include / tsec.h
index 7200229..72f3485 100644 (file)
@@ -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
 #include <config.h>
 #include <phy.h>
 
-#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
-#define TSEC_SIZE              0x01000
+#define TSEC_SIZE              0x01000
 #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 */
 #define ECNTRL_REDUCED_MII_MODE        0x00000004
 #define ECNTRL_SGMII_MODE      0x00000002
 
+#define RCTRL_PROM             0x00000008
+
 #ifndef CONFIG_SYS_TBIPA_VALUE
 # define CONFIG_SYS_TBIPA_VALUE        0x1f
 #endif
@@ -389,6 +396,10 @@ struct tsec {
 
 #define TX_BUF_CNT     2
 
+struct tsec_data {
+       u32 mdio_regs_off;
+};
+
 struct tsec_private {
        struct txbd8 __iomem txbd[TX_BUF_CNT];
        struct rxbd8 __iomem rxbd[PKTBUFSRX];
@@ -398,10 +409,16 @@ struct tsec_private {
        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 {
@@ -414,7 +431,10 @@ struct tsec_info_struct {
        u32 flags;
 };
 
-int tsec_standard_init(bd_t *bis);
-int tsec_eth_init(bd_t *bis, struct tsec_info_struct *tsec_info, int num);
+#ifndef CONFIG_DM_ETH
+int tsec_standard_init(struct bd_info *bis);
+int tsec_eth_init(struct bd_info *bis, struct tsec_info_struct *tsec_info,
+                 int num);
+#endif
 
 #endif /* __TSEC_H */