From 18797ad6c377b3a253a4c6ddb457aa8239dfe591 Mon Sep 17 00:00:00 2001 From: Konstantin Porotchkin Date: Wed, 19 Apr 2017 13:37:59 +0300 Subject: fix: mvebu_ comphy: Update COMPHY sequence number Use local static counter for maintaining the COMPHY chip-ID upon its initialization. The dev->seq originally used as the COMPHY chip-ID depends on the device tree scan order and produces wrong results that breaks the deficated PHYs init flow, which in turn breaks the USB support. Change-Id: I4e3f7ec36590a7f95dc94d9269a3c47fb708c4a9 Signed-off-by: Konstantin Porotchkin Cc: Stefan Roese Cc: Igal Liberman Cc: Stefan Chulski Cc: Nadav Haklai Reviewed-by: Stefan Roese --- drivers/phy/marvell/comphy_core.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'drivers/phy') diff --git a/drivers/phy/marvell/comphy_core.c b/drivers/phy/marvell/comphy_core.c index caa1928..7729e4b 100644 --- a/drivers/phy/marvell/comphy_core.c +++ b/drivers/phy/marvell/comphy_core.c @@ -113,6 +113,7 @@ static int comphy_probe(struct udevice *dev) int subnode; int lane; int last_idx = 0; + static int current_idx; /* Save base addresses for later use */ chip_cfg->comphy_base_addr = (void *)dev_get_addr_index(dev, 0); @@ -175,7 +176,7 @@ static int comphy_probe(struct udevice *dev) } /* Save comphy index for MultiCP devices (A8K) */ - chip_cfg->comphy_index = dev->seq; + chip_cfg->comphy_index = current_idx++; /* PHY power UP sequence */ chip_cfg->ptr_comphy_chip_init(chip_cfg, comphy_map_data); /* PHY print SerDes status */ -- cgit v1.1