[PATCH 0/4] imx: Fixes for i.MX53 based HSC|DDC boards

This short patch series fixes i.MX53 based boards from K+P, namely HSC and DDC.
It also requires a USB fix patch: "usb: ehci-mx5: Fix bus enumeration for DM case" https://patchwork.ozlabs.org/patch/1119811/
Travis-CI: https://travis-ci.org/lmajewski/u-boot-dfu/builds/654970410
Applied on top of SHA1: 133276f14acfbad4268acd19a70d3cda0a60b5e3
Lukasz Majewski (4): config: cosmetic: Cleanup of imx53 - HSC and DDC config file dts: imx: Add fixed-link property to HSC and DDC (imx53) devices config: imx: Enable CONFIG_PHY_FIXED on HSC and DDC i.MX53 boards imx: pmic: Set proper pmic name for iMX53 HSC|DDC boards
arch/arm/dts/imx53-kp-u-boot.dtsi | 7 +++++++ board/k+p/kp_imx53/kp_imx53.c | 2 +- configs/kp_imx53_defconfig | 3 ++- 3 files changed, 10 insertions(+), 2 deletions(-)

This change was introduced after running make savedefconfig on newest master U-Boot (SHA1: 8e51bf746a11d7f67416859).
Signed-off-by: Lukasz Majewski lukma@denx.de ---
configs/kp_imx53_defconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/configs/kp_imx53_defconfig b/configs/kp_imx53_defconfig index 8f3a938a85..f29dec0161 100644 --- a/configs/kp_imx53_defconfig +++ b/configs/kp_imx53_defconfig @@ -5,6 +5,7 @@ CONFIG_TARGET_KP_IMX53=y CONFIG_ENV_SIZE=0x2000 CONFIG_ENV_OFFSET=0x100000 CONFIG_NR_DRAM_BANKS=1 +CONFIG_ENV_OFFSET_REDUND=0x102000 # CONFIG_CMD_BMODE is not set CONFIG_FIT=y CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/freescale/mx53loco/imximage.cfg" @@ -32,7 +33,6 @@ CONFIG_OF_CONTROL=y CONFIG_DEFAULT_DEVICE_TREE="imx53-kp" CONFIG_ENV_IS_IN_MMC=y CONFIG_SYS_REDUNDAND_ENVIRONMENT=y -CONFIG_ENV_OFFSET_REDUND=0x102000 CONFIG_SYS_RELOC_GD_ENV_ADDR=y CONFIG_I2C_SET_DEFAULT_BUS_NUM=y CONFIG_I2C_DEFAULT_BUS_NUMBER=0x1

Those two boards are supposed to be run with a single u-boot binary. There are notable differences though - HSC uses DSA switch (which phy_id == 0x0) and DCC (DP83848C).
After the commit 3bf135b6c367 ("drivers: net: phy: Ignore PHY ID 0 during PHY probing") the PHY devices with phy_id == 0 are not created in U-Boot anymore. This caused regression on HSC.
To fix this problem - the fec's 'fixed-link' node has been introduced and the phy_id is not assessed anymore. This approach works on both boards.
Signed-off-by: Lukasz Majewski lukma@denx.de ---
arch/arm/dts/imx53-kp-u-boot.dtsi | 7 +++++++ 1 file changed, 7 insertions(+)
diff --git a/arch/arm/dts/imx53-kp-u-boot.dtsi b/arch/arm/dts/imx53-kp-u-boot.dtsi index acab9b3657..a112db9d1a 100644 --- a/arch/arm/dts/imx53-kp-u-boot.dtsi +++ b/arch/arm/dts/imx53-kp-u-boot.dtsi @@ -5,6 +5,13 @@ * SPDX-License-Identifier: GPL-2.0+ or X11 */
+&fec { + fixed-link { /* RMII fixed link for both HSC|DDC */ + speed = <100>; + full-duplex; + }; +}; + &pmic { u-boot,i2c-transaction-bytes = <3>; };

Those two boards are supposed to be run with a single u-boot binary. There are notable differences though - HSC uses DSA switch (which phy_id == 0x0) and DCC (DP83848C). After the commit 3bf135b6c367 ("drivers: net: phy: Ignore PHY ID 0 during PHY probing") the PHY devices with phy_id == 0 are not created in U-Boot anymore. This caused regression on HSC. To fix this problem - the fec's 'fixed-link' node has been introduced and the phy_id is not assessed anymore. This approach works on both boards. Signed-off-by: Lukasz Majewski lukma@denx.de
Applied to u-boot-imx, master, thanks !
Best regards, Stefano Babic

The CONFIG_PHY_FIXED is necessary to allow DSA switch work in U-Boot after the commit 3bf135b6c367 ("drivers: net: phy: Ignore PHY ID 0 during PHY probing").
This particular device - LAN9303 - returns phy_id == 0. With CONFIG_PHY_FIXED enabled HSC and DDC boards work again with the same U-Boot binary.
Signed-off-by: Lukasz Majewski lukma@denx.de ---
configs/kp_imx53_defconfig | 1 + 1 file changed, 1 insertion(+)
diff --git a/configs/kp_imx53_defconfig b/configs/kp_imx53_defconfig index f29dec0161..096ba53236 100644 --- a/configs/kp_imx53_defconfig +++ b/configs/kp_imx53_defconfig @@ -40,6 +40,7 @@ CONFIG_FSL_ESDHC_IMX=y CONFIG_MTD=y CONFIG_PHYLIB=y CONFIG_PHY_SMSC=y +CONFIG_PHY_FIXED=y CONFIG_FEC_MXC=y CONFIG_MII=y CONFIG_PINCTRL=y

The CONFIG_PHY_FIXED is necessary to allow DSA switch work in U-Boot after the commit 3bf135b6c367 ("drivers: net: phy: Ignore PHY ID 0 during PHY probing"). This particular device - LAN9303 - returns phy_id == 0. With CONFIG_PHY_FIXED enabled HSC and DDC boards work again with the same U-Boot binary. Signed-off-by: Lukasz Majewski lukma@denx.de
Applied to u-boot-imx, master, thanks !
Best regards, Stefano Babic

After the commit 4213609cc7fb ("drivers: core: use strcmp when find device by name") the exact DTS node name for PMIC device must be provided.
This patch fixes this issue by providing full DTS node name ('mc34708@8').
Signed-off-by: Lukasz Majewski lukma@denx.de ---
board/k+p/kp_imx53/kp_imx53.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/board/k+p/kp_imx53/kp_imx53.c b/board/k+p/kp_imx53/kp_imx53.c index 2f57310e27..eb5b67d1e6 100644 --- a/board/k+p/kp_imx53/kp_imx53.c +++ b/board/k+p/kp_imx53/kp_imx53.c @@ -48,7 +48,7 @@ static int power_init(void) struct udevice *dev; int ret;
- ret = pmic_get("mc34708", &dev); + ret = pmic_get("mc34708@8", &dev); if (ret) { printf("%s: mc34708 not found !\n", __func__); return ret;

On 2/26/20 8:37 PM, Lukasz Majewski wrote:
After the commit 4213609cc7fb ("drivers: core: use strcmp when find device by name") the exact DTS node name for PMIC device must be provided.
This patch fixes this issue by providing full DTS node name ('mc34708@8').
Signed-off-by: Lukasz Majewski lukma@denx.de
Reviewed-by: Jaehoon Chug jh80.chung@samsung.com
board/k+p/kp_imx53/kp_imx53.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/board/k+p/kp_imx53/kp_imx53.c b/board/k+p/kp_imx53/kp_imx53.c index 2f57310e27..eb5b67d1e6 100644 --- a/board/k+p/kp_imx53/kp_imx53.c +++ b/board/k+p/kp_imx53/kp_imx53.c @@ -48,7 +48,7 @@ static int power_init(void) struct udevice *dev; int ret;
- ret = pmic_get("mc34708", &dev);
- ret = pmic_get("mc34708@8", &dev); if (ret) { printf("%s: mc34708 not found !\n", __func__); return ret;

After the commit 4213609cc7fb ("drivers: core: use strcmp when find device by name") the exact DTS node name for PMIC device must be provided. This patch fixes this issue by providing full DTS node name ('mc34708@8'). Signed-off-by: Lukasz Majewski lukma@denx.de Reviewed-by: Jaehoon Chug jh80.chung@samsung.com
Applied to u-boot-imx, master, thanks !
Best regards, Stefano Babic
participants (3)
-
Jaehoon Chung
-
Lukasz Majewski
-
sbabic@denx.de