drivers: net: keystone_net: drop non dm code
authorGrygorii Strashko <grygorii.strashko@ti.com>
Wed, 31 Oct 2018 21:21:41 +0000 (16:21 -0500)
committerJoe Hershberger <joe.hershberger@ni.com>
Mon, 5 Nov 2018 16:42:00 +0000 (10:42 -0600)
Networking support for all TI K2 boards converted to use DM model and
CONFIG_DM_ETH enabled in all corresponding defconfig files, hence drop
unused non DM K2 networking code.

Reviewed-by: Tom Rini <trini@konsulko.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
arch/arm/include/asm/ti-common/keystone_net.h
board/ti/ks2_evm/board.c
board/ti/ks2_evm/board.h
board/ti/ks2_evm/board_k2e.c
board/ti/ks2_evm/board_k2g.c
board/ti/ks2_evm/board_k2hk.c
board/ti/ks2_evm/board_k2l.c
drivers/net/ti/keystone_net.c

index f89e043..bef1867 100644 (file)
@@ -242,18 +242,4 @@ struct mdio_regs {
        u32 userphysel1;
 };
 
-struct eth_priv_t {
-       char int_name[32];
-       int rx_flow;
-       int phy_addr;
-       int slave_port;
-       int sgmii_link_type;
-       phy_interface_t phy_if;
-       struct phy_device *phy_dev;
-};
-
-int keystone2_emac_initialize(struct eth_priv_t *eth_priv);
-void sgmii_serdes_setup_156p25mhz(void);
-void sgmii_serdes_shutdown(void);
-
 #endif  /* _KEYSTONE_NET_H_ */
index d81c8e6..72709c0 100644 (file)
@@ -66,59 +66,6 @@ int board_init(void)
        return 0;
 }
 
-#ifdef CONFIG_DRIVER_TI_KEYSTONE_NET
-#ifndef CONFIG_DM_ETH
-int get_eth_env_param(char *env_name)
-{
-       char *env;
-       int res = -1;
-
-       env = env_get(env_name);
-       if (env)
-               res = simple_strtol(env, NULL, 0);
-
-       return res;
-}
-
-int board_eth_init(bd_t *bis)
-{
-       int j;
-       int res;
-       int port_num;
-       char link_type_name[32];
-
-       if (cpu_is_k2g())
-               writel(KS2_ETHERNET_RGMII, KS2_ETHERNET_CFG);
-
-       /* By default, select PA PLL clock as PA clock source */
-#ifndef CONFIG_SOC_K2G
-       if (psc_enable_module(KS2_LPSC_PA))
-               return -1;
-#endif
-       if (psc_enable_module(KS2_LPSC_CPGMAC))
-               return -1;
-       if (psc_enable_module(KS2_LPSC_CRYPTO))
-               return -1;
-
-       if (cpu_is_k2e() || cpu_is_k2l())
-               pll_pa_clk_sel();
-
-       port_num = get_num_eth_ports();
-
-       for (j = 0; j < port_num; j++) {
-               sprintf(link_type_name, "sgmii%d_link_type", j);
-               res = get_eth_env_param(link_type_name);
-               if (res >= 0)
-                       eth_priv_cfg[j].sgmii_link_type = res;
-
-               keystone2_emac_initialize(&eth_priv_cfg[j]);
-       }
-
-       return 0;
-}
-#endif
-#endif
-
 #ifdef CONFIG_SPL_BUILD
 void spl_board_init(void)
 {
index 250b649..d0cfbf5 100644 (file)
@@ -12,8 +12,6 @@
 #include <asm/ti-common/keystone_net.h>
 #include "../common/board_detect.h"
 
-extern struct eth_priv_t eth_priv_cfg[];
-
 #if defined(CONFIG_TI_I2C_BOARD_DETECT)
 static inline int board_is_k2g_gp(void)
 {
@@ -38,7 +36,6 @@ static inline int board_is_k2g_ice(void)
 }
 #endif
 
-int get_num_eth_ports(void);
 void spl_init_keystone_plls(void);
 
 #endif
index f86a836..ecd4a42 100644 (file)
@@ -89,80 +89,6 @@ struct pll_init_data *get_pll_init_data(int pll)
        return data;
 }
 
-#ifdef CONFIG_DRIVER_TI_KEYSTONE_NET
-struct eth_priv_t eth_priv_cfg[] = {
-       {
-               .int_name        = "K2E_EMAC0",
-               .rx_flow         = 0,
-               .phy_addr        = 0,
-               .slave_port      = 1,
-               .sgmii_link_type = SGMII_LINK_MAC_PHY,
-               .phy_if          = PHY_INTERFACE_MODE_SGMII,
-       },
-       {
-               .int_name        = "K2E_EMAC1",
-               .rx_flow         = 8,
-               .phy_addr        = 1,
-               .slave_port      = 2,
-               .sgmii_link_type = SGMII_LINK_MAC_PHY,
-               .phy_if          = PHY_INTERFACE_MODE_SGMII,
-       },
-       {
-               .int_name        = "K2E_EMAC2",
-               .rx_flow         = 16,
-               .phy_addr        = 2,
-               .slave_port      = 3,
-               .sgmii_link_type = SGMII_LINK_MAC_MAC_FORCED,
-               .phy_if          = PHY_INTERFACE_MODE_SGMII,
-       },
-       {
-               .int_name        = "K2E_EMAC3",
-               .rx_flow         = 24,
-               .phy_addr        = 3,
-               .slave_port      = 4,
-               .sgmii_link_type = SGMII_LINK_MAC_MAC_FORCED,
-               .phy_if          = PHY_INTERFACE_MODE_SGMII,
-       },
-       {
-               .int_name        = "K2E_EMAC4",
-               .rx_flow         = 32,
-               .phy_addr        = 4,
-               .slave_port      = 5,
-               .sgmii_link_type = SGMII_LINK_MAC_MAC_FORCED,
-               .phy_if          = PHY_INTERFACE_MODE_SGMII,
-       },
-       {
-               .int_name        = "K2E_EMAC5",
-               .rx_flow         = 40,
-               .phy_addr        = 5,
-               .slave_port      = 6,
-               .sgmii_link_type = SGMII_LINK_MAC_MAC_FORCED,
-               .phy_if          = PHY_INTERFACE_MODE_SGMII,
-       },
-       {
-               .int_name        = "K2E_EMAC6",
-               .rx_flow         = 48,
-               .phy_addr        = 6,
-               .slave_port      = 7,
-               .sgmii_link_type = SGMII_LINK_MAC_MAC_FORCED,
-               .phy_if          = PHY_INTERFACE_MODE_SGMII,
-       },
-       {
-               .int_name        = "K2E_EMAC7",
-               .rx_flow         = 56,
-               .phy_addr        = 7,
-               .slave_port      = 8,
-               .sgmii_link_type = SGMII_LINK_MAC_MAC_FORCED,
-               .phy_if          = PHY_INTERFACE_MODE_SGMII,
-       },
-};
-
-int get_num_eth_ports(void)
-{
-       return sizeof(eth_priv_cfg) / sizeof(struct eth_priv_t);
-}
-#endif
-
 #if defined(CONFIG_MULTI_DTB_FIT)
 int board_fit_config_name_match(const char *name)
 {
index 9bc94fb..87dc4d0 100644 (file)
@@ -354,24 +354,6 @@ void spl_init_keystone_plls(void)
 }
 #endif
 
-#ifdef CONFIG_DRIVER_TI_KEYSTONE_NET
-struct eth_priv_t eth_priv_cfg[] = {
-       {
-               .int_name       = "K2G_EMAC",
-               .rx_flow        = 0,
-               .phy_addr       = 0,
-               .slave_port     = 1,
-               .sgmii_link_type = SGMII_LINK_MAC_PHY,
-               .phy_if          = PHY_INTERFACE_MODE_RGMII,
-       },
-};
-
-int get_num_eth_ports(void)
-{
-       return sizeof(eth_priv_cfg) / sizeof(struct eth_priv_t);
-}
-#endif
-
 #ifdef CONFIG_TI_SECURE_DEVICE
 void board_pmmc_image_process(ulong pmmc_image, size_t pmmc_size)
 {
index abc89d8..4c0acd6 100644 (file)
@@ -96,48 +96,6 @@ struct pll_init_data *get_pll_init_data(int pll)
        return data;
 }
 
-#ifdef CONFIG_DRIVER_TI_KEYSTONE_NET
-struct eth_priv_t eth_priv_cfg[] = {
-       {
-               .int_name       = "K2HK_EMAC",
-               .rx_flow        = 22,
-               .phy_addr       = 0,
-               .slave_port     = 1,
-               .sgmii_link_type = SGMII_LINK_MAC_PHY,
-               .phy_if          = PHY_INTERFACE_MODE_SGMII,
-       },
-       {
-               .int_name       = "K2HK_EMAC1",
-               .rx_flow        = 23,
-               .phy_addr       = 1,
-               .slave_port     = 2,
-               .sgmii_link_type = SGMII_LINK_MAC_PHY,
-               .phy_if          = PHY_INTERFACE_MODE_SGMII,
-       },
-       {
-               .int_name       = "K2HK_EMAC2",
-               .rx_flow        = 24,
-               .phy_addr       = 2,
-               .slave_port     = 3,
-               .sgmii_link_type = SGMII_LINK_MAC_MAC_FORCED,
-               .phy_if          = PHY_INTERFACE_MODE_SGMII,
-       },
-       {
-               .int_name       = "K2HK_EMAC3",
-               .rx_flow        = 25,
-               .phy_addr       = 3,
-               .slave_port     = 4,
-               .sgmii_link_type = SGMII_LINK_MAC_MAC_FORCED,
-               .phy_if          = PHY_INTERFACE_MODE_SGMII,
-       },
-};
-
-int get_num_eth_ports(void)
-{
-       return sizeof(eth_priv_cfg) / sizeof(struct eth_priv_t);
-}
-#endif
-
 #ifdef CONFIG_BOARD_EARLY_INIT_F
 int board_early_init_f(void)
 {
index c28fad5..e49d8b3 100644 (file)
@@ -84,48 +84,6 @@ struct pll_init_data *get_pll_init_data(int pll)
        return data;
 }
 
-#ifdef CONFIG_DRIVER_TI_KEYSTONE_NET
-struct eth_priv_t eth_priv_cfg[] = {
-       {
-               .int_name        = "K2L_EMAC",
-               .rx_flow         = 0,
-               .phy_addr        = 0,
-               .slave_port      = 1,
-               .sgmii_link_type = SGMII_LINK_MAC_PHY,
-               .phy_if          = PHY_INTERFACE_MODE_SGMII,
-       },
-       {
-               .int_name        = "K2L_EMAC1",
-               .rx_flow         = 8,
-               .phy_addr        = 1,
-               .slave_port      = 2,
-               .sgmii_link_type = SGMII_LINK_MAC_PHY,
-               .phy_if          = PHY_INTERFACE_MODE_SGMII,
-       },
-       {
-               .int_name        = "K2L_EMAC2",
-               .rx_flow         = 16,
-               .phy_addr        = 2,
-               .slave_port      = 3,
-               .sgmii_link_type = SGMII_LINK_MAC_MAC_FORCED,
-               .phy_if          = PHY_INTERFACE_MODE_SGMII,
-       },
-       {
-               .int_name        = "K2L_EMAC3",
-               .rx_flow         = 32,
-               .phy_addr        = 3,
-               .slave_port      = 4,
-               .sgmii_link_type = SGMII_LINK_MAC_MAC_FORCED,
-               .phy_if          = PHY_INTERFACE_MODE_SGMII,
-       },
-};
-
-int get_num_eth_ports(void)
-{
-       return sizeof(eth_priv_cfg) / sizeof(struct eth_priv_t);
-}
-#endif
-
 #ifdef CONFIG_BOARD_EARLY_INIT_F
 int board_early_init_f(void)
 {
index d4d909b..5550572 100644 (file)
 
 DECLARE_GLOBAL_DATA_PTR;
 
-#ifndef CONFIG_DM_ETH
-unsigned int emac_open;
-static struct mii_dev *mdio_bus;
-static unsigned int sys_has_mdio = 1;
-#endif
-
 #ifdef KEYSTONE2_EMAC_GIG_ENABLE
 #define emac_gigabit_enable(x) keystone2_eth_gigabit_enable(x)
 #else
@@ -43,17 +37,6 @@ static unsigned int sys_has_mdio = 1;
 
 static u8 rx_buffs[RX_BUFF_NUMS * RX_BUFF_LEN] __aligned(16);
 
-#ifndef CONFIG_DM_ETH
-struct rx_buff_desc net_rx_buffs = {
-       .buff_ptr       = rx_buffs,
-       .num_buffs      = RX_BUFF_NUMS,
-       .buff_len       = RX_BUFF_LEN,
-       .rx_flow        = 22,
-};
-#endif
-
-#ifdef CONFIG_DM_ETH
-
 enum link_type {
        LINK_TYPE_SGMII_MAC_TO_MAC_AUTO         = 0,
        LINK_TYPE_SGMII_MAC_TO_PHY_MODE         = 1,
@@ -83,7 +66,7 @@ enum link_type {
 #define DEVICE_EMACSW_BASE(base, x)    ((base) + EMAC_EMACSW_PORT_BASE_OFS +  \
                                         (x) * 0x30)
 
-#elif defined CONFIG_KSNET_NETCP_V1_5
+#elif defined(CONFIG_KSNET_NETCP_V1_5)
 
 #define EMAC_EMACSW_PORT_BASE_OFS      0x222000
 
@@ -113,7 +96,6 @@ struct ks2_eth_priv {
        bool                            emac_open;
        bool                            has_mdio;
 };
-#endif
 
 /* MDIO */
 
@@ -184,31 +166,6 @@ static int keystone2_mdio_write(struct mii_dev *bus,
        return 0;
 }
 
-#ifndef CONFIG_DM_ETH
-static void  __attribute__((unused))
-       keystone2_eth_gigabit_enable(struct eth_device *dev)
-{
-       u_int16_t data;
-       struct eth_priv_t *eth_priv = (struct eth_priv_t *)dev->priv;
-
-       if (sys_has_mdio) {
-               data = keystone2_mdio_read(mdio_bus, eth_priv->phy_addr,
-                                          MDIO_DEVAD_NONE, 0);
-               /* speed selection MSB */
-               if (!(data & (1 << 6)))
-                       return;
-       }
-
-       /*
-        * Check if link detected is giga-bit
-        * If Gigabit mode detected, enable gigbit in MAC
-        */
-       writel(readl(DEVICE_EMACSL_BASE(eth_priv->slave_port - 1) +
-                    CPGMACSL_REG_CTL) |
-              EMAC_MACCONTROL_GIGFORCE | EMAC_MACCONTROL_GIGABIT_ENABLE,
-              DEVICE_EMACSL_BASE(eth_priv->slave_port - 1) + CPGMACSL_REG_CTL);
-}
-#else
 static void  __attribute__((unused))
        keystone2_eth_gigabit_enable(struct udevice *dev)
 {
@@ -232,7 +189,6 @@ static void  __attribute__((unused))
               EMAC_MACCONTROL_GIGFORCE | EMAC_MACCONTROL_GIGABIT_ENABLE,
               DEVICE_EMACSL_BASE(priv->slave_port - 1) + CPGMACSL_REG_CTL);
 }
-#endif
 
 #ifdef CONFIG_SOC_K2G
 int keystone_rgmii_config(struct phy_device *phy_dev)
@@ -497,246 +453,6 @@ static void keystone2_net_serdes_setup(void)
 }
 #endif
 
-#ifndef CONFIG_DM_ETH
-
-int keystone2_eth_read_mac_addr(struct eth_device *dev)
-{
-       struct eth_priv_t *eth_priv;
-       u32 maca = 0;
-       u32 macb = 0;
-
-       eth_priv = (struct eth_priv_t *)dev->priv;
-
-       /* Read the e-fuse mac address */
-       if (eth_priv->slave_port == 1) {
-               maca = __raw_readl(MAC_ID_BASE_ADDR);
-               macb = __raw_readl(MAC_ID_BASE_ADDR + 4);
-       }
-
-       dev->enetaddr[0] = (macb >>  8) & 0xff;
-       dev->enetaddr[1] = (macb >>  0) & 0xff;
-       dev->enetaddr[2] = (maca >> 24) & 0xff;
-       dev->enetaddr[3] = (maca >> 16) & 0xff;
-       dev->enetaddr[4] = (maca >>  8) & 0xff;
-       dev->enetaddr[5] = (maca >>  0) & 0xff;
-
-       return 0;
-}
-
-int32_t cpmac_drv_send(u32 *buffer, int num_bytes, int slave_port_num)
-{
-       if (num_bytes < EMAC_MIN_ETHERNET_PKT_SIZE)
-               num_bytes = EMAC_MIN_ETHERNET_PKT_SIZE;
-
-       return ksnav_send(&netcp_pktdma, buffer,
-                         num_bytes, (slave_port_num) << 16);
-}
-
-/* Eth device open */
-static int keystone2_eth_open(struct eth_device *dev, bd_t *bis)
-{
-       struct eth_priv_t *eth_priv = (struct eth_priv_t *)dev->priv;
-       struct phy_device *phy_dev = eth_priv->phy_dev;
-
-       debug("+ emac_open\n");
-
-       net_rx_buffs.rx_flow    = eth_priv->rx_flow;
-
-       sys_has_mdio =
-               (eth_priv->sgmii_link_type == SGMII_LINK_MAC_PHY) ? 1 : 0;
-
-       if (sys_has_mdio)
-               keystone2_mdio_reset(mdio_bus);
-
-#ifdef CONFIG_SOC_K2G
-       keystone_rgmii_config(phy_dev);
-#else
-       keystone_sgmii_config(phy_dev, eth_priv->slave_port - 1,
-                             eth_priv->sgmii_link_type);
-#endif
-
-       udelay(10000);
-
-       /* On chip switch configuration */
-       ethss_config(target_get_switch_ctl(), SWITCH_MAX_PKT_SIZE);
-
-       /* TODO: add error handling code */
-       if (qm_init()) {
-               printf("ERROR: qm_init()\n");
-               return -1;
-       }
-       if (ksnav_init(&netcp_pktdma, &net_rx_buffs)) {
-               qm_close();
-               printf("ERROR: netcp_init()\n");
-               return -1;
-       }
-
-       /*
-        * Streaming switch configuration. If not present this
-        * statement is defined to void in target.h.
-        * If present this is usually defined to a series of register writes
-        */
-       hw_config_streaming_switch();
-
-       if (sys_has_mdio) {
-               keystone2_mdio_reset(mdio_bus);
-
-               phy_startup(phy_dev);
-               if (phy_dev->link == 0) {
-                       ksnav_close(&netcp_pktdma);
-                       qm_close();
-                       return -1;
-               }
-       }
-
-       emac_gigabit_enable(dev);
-
-       ethss_start();
-
-       debug("- emac_open\n");
-
-       emac_open = 1;
-
-       return 0;
-}
-
-/* Eth device close */
-void keystone2_eth_close(struct eth_device *dev)
-{
-       struct eth_priv_t *eth_priv = (struct eth_priv_t *)dev->priv;
-       struct phy_device *phy_dev = eth_priv->phy_dev;
-
-       debug("+ emac_close\n");
-
-       if (!emac_open)
-               return;
-
-       ethss_stop();
-
-       ksnav_close(&netcp_pktdma);
-       qm_close();
-       phy_shutdown(phy_dev);
-
-       emac_open = 0;
-
-       debug("- emac_close\n");
-}
-
-/*
- * This function sends a single packet on the network and returns
- * positive number (number of bytes transmitted) or negative for error
- */
-static int keystone2_eth_send_packet(struct eth_device *dev,
-                                       void *packet, int length)
-{
-       int ret_status = -1;
-       struct eth_priv_t *eth_priv = (struct eth_priv_t *)dev->priv;
-       struct phy_device *phy_dev = eth_priv->phy_dev;
-
-       genphy_update_link(phy_dev);
-       if (phy_dev->link == 0)
-               return -1;
-
-       if (cpmac_drv_send((u32 *)packet, length, eth_priv->slave_port) != 0)
-               return ret_status;
-
-       return length;
-}
-
-/*
- * This function handles receipt of a packet from the network
- */
-static int keystone2_eth_rcv_packet(struct eth_device *dev)
-{
-       void *hd;
-       int  pkt_size;
-       u32  *pkt;
-
-       hd = ksnav_recv(&netcp_pktdma, &pkt, &pkt_size);
-       if (hd == NULL)
-               return 0;
-
-       net_process_received_packet((uchar *)pkt, pkt_size);
-
-       ksnav_release_rxhd(&netcp_pktdma, hd);
-
-       return pkt_size;
-}
-
-#ifdef CONFIG_MCAST_TFTP
-static int keystone2_eth_bcast_addr(struct eth_device *dev, u32 ip, u8 set)
-{
-       return 0;
-}
-#endif
-
-/*
- * This function initializes the EMAC hardware.
- */
-int keystone2_emac_initialize(struct eth_priv_t *eth_priv)
-{
-       int res;
-       struct eth_device *dev;
-       struct phy_device *phy_dev;
-       struct mdio_regs *adap_mdio = (struct mdio_regs *)EMAC_MDIO_BASE_ADDR;
-
-       dev = malloc(sizeof(struct eth_device));
-       if (dev == NULL)
-               return -1;
-
-       memset(dev, 0, sizeof(struct eth_device));
-
-       strcpy(dev->name, eth_priv->int_name);
-       dev->priv = eth_priv;
-
-       keystone2_eth_read_mac_addr(dev);
-
-       dev->iobase             = 0;
-       dev->init               = keystone2_eth_open;
-       dev->halt               = keystone2_eth_close;
-       dev->send               = keystone2_eth_send_packet;
-       dev->recv               = keystone2_eth_rcv_packet;
-#ifdef CONFIG_MCAST_TFTP
-       dev->mcast              = keystone2_eth_bcast_addr;
-#endif
-
-       eth_register(dev);
-
-       /* Register MDIO bus if it's not registered yet */
-       if (!mdio_bus) {
-               mdio_bus        = mdio_alloc();
-               mdio_bus->read  = keystone2_mdio_read;
-               mdio_bus->write = keystone2_mdio_write;
-               mdio_bus->reset = keystone2_mdio_reset;
-               mdio_bus->priv  = (void *)EMAC_MDIO_BASE_ADDR;
-               strcpy(mdio_bus->name, "ethernet-mdio");
-
-               res = mdio_register(mdio_bus);
-               if (res)
-                       return res;
-       }
-
-#ifndef CONFIG_SOC_K2G
-       keystone2_net_serdes_setup();
-#endif
-
-       /* Create phy device and bind it with driver */
-#ifdef CONFIG_KSNET_MDIO_PHY_CONFIG_ENABLE
-       phy_dev = phy_connect(mdio_bus, eth_priv->phy_addr,
-                             dev, eth_priv->phy_if);
-       phy_config(phy_dev);
-#else
-       phy_dev = phy_find_by_mask(mdio_bus, 1 << eth_priv->phy_addr,
-                                  eth_priv->phy_if);
-       phy_dev->dev = dev;
-#endif
-       eth_priv->phy_dev = phy_dev;
-
-       return 0;
-}
-
-#else
-
 static int ks2_eth_start(struct udevice *dev)
 {
        struct ks2_eth_priv *priv = dev_get_priv(dev);
@@ -1167,4 +883,3 @@ U_BOOT_DRIVER(eth_ks2) = {
        .platdata_auto_alloc_size = sizeof(struct eth_pdata),
        .flags = DM_FLAG_ALLOC_PRIV_DMA,
 };
-#endif