phy: bcm-ns-usb3: enable MDIO in the platform specific code
authorRafał Miłecki <rafal@milecki.pl>
Thu, 8 Jun 2017 20:04:26 +0000 (22:04 +0200)
committerKishon Vijay Abraham I <kishon@ti.com>
Fri, 16 Jun 2017 07:52:26 +0000 (13:22 +0530)
When we finally start using MDIO layer then bus initialization will be
handled in a separated driver. It means our code handling this has to be
used for the platform driver only.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
drivers/phy/broadcom/phy-bcm-ns-usb3.c

index 3d0fe57..2c9a0d5 100644 (file)
@@ -80,12 +80,6 @@ static int bcm_ns_usb3_phy_init_ns_bx(struct bcm_ns_usb3 *usb3)
 {
        int err;
 
-       /* Enable MDIO. Setting MDCDIV as 26  */
-       writel(0x0000009a, usb3->ccb_mii + BCMA_CCB_MII_MNG_CTL);
-
-       /* Wait for MDIO? */
-       udelay(2);
-
        /* USB3 PLL Block */
        err = bcm_ns_usb3_mdio_phy_write(usb3, BCM_NS_USB3_PHY_BASE_ADDR_REG,
                                         BCM_NS_USB3_PHY_PLL30_BLOCK);
@@ -134,12 +128,6 @@ static int bcm_ns_usb3_phy_init_ns_ax(struct bcm_ns_usb3 *usb3)
 {
        int err;
 
-       /* Enable MDIO. Setting MDCDIV as 26  */
-       writel(0x0000009a, usb3->ccb_mii + BCMA_CCB_MII_MNG_CTL);
-
-       /* Wait for MDIO? */
-       udelay(2);
-
        /* PLL30 block */
        err = bcm_ns_usb3_mdio_phy_write(usb3, BCM_NS_USB3_PHY_BASE_ADDR_REG,
                                         BCM_NS_USB3_PHY_PLL30_BLOCK);
@@ -278,6 +266,12 @@ static int bcm_ns_usb3_probe(struct platform_device *pdev)
                return PTR_ERR(usb3->ccb_mii);
        }
 
+       /* Enable MDIO. Setting MDCDIV as 26  */
+       writel(0x0000009a, usb3->ccb_mii + BCMA_CCB_MII_MNG_CTL);
+
+       /* Wait for MDIO? */
+       udelay(2);
+
        usb3->phy_write = bcm_ns_usb3_platform_phy_write;
 
        usb3->phy = devm_phy_create(dev, NULL, &ops);