From dae0829c6e98c274864496b019ae6d9c4bb94374 Mon Sep 17 00:00:00 2001 From: Quentin Schulz Date: Mon, 3 Jan 2022 13:04:18 +0100 Subject: rockchip: puma/lion: update MAINTAINERS file Philipp does not work at Theobroma Systems anymore so let's swap Philipp's address with mine. Cc: Philipp Tomsich Cc: Quentin Schulz Signed-off-by: Quentin Schulz Reviewed-by: Philipp Tomsich --- board/theobroma-systems/lion_rk3368/MAINTAINERS | 2 +- board/theobroma-systems/puma_rk3399/MAINTAINERS | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/board/theobroma-systems/lion_rk3368/MAINTAINERS b/board/theobroma-systems/lion_rk3368/MAINTAINERS index 857f784d21..a5b4cb31b4 100644 --- a/board/theobroma-systems/lion_rk3368/MAINTAINERS +++ b/board/theobroma-systems/lion_rk3368/MAINTAINERS @@ -1,5 +1,5 @@ LION-RK3368 (RK3368-uQ7 system-on-module) -M: Philipp Tomsich +M: Quentin Schulz M: Klaus Goger S: Maintained F: board/theobroma-systems/lion_rk3368 diff --git a/board/theobroma-systems/puma_rk3399/MAINTAINERS b/board/theobroma-systems/puma_rk3399/MAINTAINERS index ccec09c386..1ec2dd72d6 100644 --- a/board/theobroma-systems/puma_rk3399/MAINTAINERS +++ b/board/theobroma-systems/puma_rk3399/MAINTAINERS @@ -1,5 +1,5 @@ PUMA-RK3399 -M: Philipp Tomsich +M: Quentin Schulz M: Klaus Goger S: Maintained F: board/theobroma-systems/puma_rk3399 -- cgit v1.2.3 From f77549fe7459d7a44714dfc7af1f71e5ad68cbe6 Mon Sep 17 00:00:00 2001 From: Bin Meng Date: Wed, 5 Jan 2022 09:07:57 +0800 Subject: riscv: sifive: Fix OF_BOARD boot failure When using QEMU to have a quick test of booting U-Boot S-mode payload directly without the needs of preparing the SPI flash or SD card images for SiFive Unleashed board, as per the instructions [1], it currently does not boot any more. This was caused by the OF_PRIOR_STAGE removal, as gd->fdt_blob no longer points to a valid DTB. OF_BOARD is supposed to replace OF_PRIOR_STAGE, hence we need to add the OF_BOARD logic in board_fdt_blob_setup(). [1] https://qemu.readthedocs.io/en/latest/system/riscv/sifive_u.html#running-u-boot Fixes: 2e8d2f88439d ("riscv: Remove OF_PRIOR_STAGE from RISC-V boards") Fixes: d6f8ab30a2af ("treewide: Remove OF_PRIOR_STAGE") Signed-off-by: Bin Meng Reviewed-by: Ilias Apalodimas Reviewed-by: Simon Glass --- board/sifive/unleashed/unleashed.c | 2 +- board/sifive/unmatched/unmatched.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/board/sifive/unleashed/unleashed.c b/board/sifive/unleashed/unleashed.c index 3c3e0e1d0d..f8aad862c6 100644 --- a/board/sifive/unleashed/unleashed.c +++ b/board/sifive/unleashed/unleashed.c @@ -117,7 +117,7 @@ int misc_init_r(void) void *board_fdt_blob_setup(int *err) { *err = 0; - if (IS_ENABLED(CONFIG_OF_SEPARATE)) { + if (IS_ENABLED(CONFIG_OF_SEPARATE) || IS_ENABLED(CONFIG_OF_BOARD)) { if (gd->arch.firmware_fdt_addr) return (ulong *)(uintptr_t)gd->arch.firmware_fdt_addr; } diff --git a/board/sifive/unmatched/unmatched.c b/board/sifive/unmatched/unmatched.c index 4895909f8d..6295deeae2 100644 --- a/board/sifive/unmatched/unmatched.c +++ b/board/sifive/unmatched/unmatched.c @@ -14,7 +14,7 @@ void *board_fdt_blob_setup(int *err) { *err = 0; - if (IS_ENABLED(CONFIG_OF_SEPARATE)) { + if (IS_ENABLED(CONFIG_OF_SEPARATE) || IS_ENABLED(CONFIG_OF_BOARD)) { if (gd->arch.firmware_fdt_addr) return (ulong *)(uintptr_t)gd->arch.firmware_fdt_addr; } -- cgit v1.2.3 From 4be9947edf68650db0c68d7c212f98a7cd1dfbdd Mon Sep 17 00:00:00 2001 From: Peter Robinson Date: Tue, 21 Dec 2021 12:32:46 +0000 Subject: udoo_neo: Call gpio_request() Calling gpio_request() prior to its usage is now mandatory. This fixes the following GPIO errors: gpio@20a8000: set_dir_flags: error: gpio GPIO4_16 not reserved gpio@20a8000: set_dir_flags: error: gpio GPIO4_13 not reserved gpio@20a8000: set_dir_flags: error: gpio GPIO4_0 not reserved gpio@20a8000: get_value: error: gpio GPIO4_13 not reserved gpio@20a8000: get_value: error: gpio GPIO4_0 not reserved gpio@20a0000: set_dir_flags: error: gpio GPIO2_1 not reserved gpio@20a0000: set_value: error: gpio GPIO2_1 not reserved Fixes: 191840ae99 ("ARM: imx: udoo_neo: Enable OF_CONTROL and DM gpio/pin control") Signed-off-by: Peter Robinson Reviewed-by: Fabio Estevam --- board/udoo/neo/neo.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/board/udoo/neo/neo.c b/board/udoo/neo/neo.c index ce005d31cc..61195be744 100644 --- a/board/udoo/neo/neo.c +++ b/board/udoo/neo/neo.c @@ -249,6 +249,7 @@ static int setup_fec(void) ARRAY_SIZE(phy_control_pads)); /* Reset PHY */ + gpio_request(IMX_GPIO_NR(2, 1), "enet_rst"); gpio_direction_output(IMX_GPIO_NR(2, 1) , 0); udelay(10000); gpio_set_value(IMX_GPIO_NR(2, 1), 1); @@ -280,6 +281,7 @@ int board_init(void) ARRAY_SIZE(peri_3v3_pads)); /* Active high for ncp692 */ + gpio_request(IMX_GPIO_NR(4, 16), "ncp692"); gpio_direction_output(IMX_GPIO_NR(4, 16) , 1); #ifdef CONFIG_SYS_I2C_MXC @@ -296,6 +298,8 @@ static int get_board_value(void) imx_iomux_v3_setup_multiple_pads(board_recognition_pads, ARRAY_SIZE(board_recognition_pads)); + gpio_request(IMX_GPIO_NR(4, 13), "r184"); + gpio_request(IMX_GPIO_NR(4, 0), "r185"); gpio_direction_input(IMX_GPIO_NR(4, 13)); gpio_direction_input(IMX_GPIO_NR(4, 0)); -- cgit v1.2.3 From 2bbe1ba0c712c3eb1670952efa3351f501959eb3 Mon Sep 17 00:00:00 2001 From: Peter Robinson Date: Tue, 21 Dec 2021 12:32:47 +0000 Subject: udoo_neo: Fixes for booting from the mSD card This fixes booting from the mSD card from both SPL and when using it for the OS booting. It also cleans up a few mmc booting bits that are no longer needed. Signed-off-by: Peter Robinson Reviewed-by: Fabio Estevam --- arch/arm/dts/imx6sx-udoo-neo-u-boot.dtsi | 7 ------ board/udoo/neo/neo.c | 40 ++++++++++++++++++++++++++++++++ configs/udoo_neo_defconfig | 1 + include/configs/udoo_neo.h | 4 ++-- 4 files changed, 43 insertions(+), 9 deletions(-) delete mode 100644 arch/arm/dts/imx6sx-udoo-neo-u-boot.dtsi diff --git a/arch/arm/dts/imx6sx-udoo-neo-u-boot.dtsi b/arch/arm/dts/imx6sx-udoo-neo-u-boot.dtsi deleted file mode 100644 index daf2489cfd..0000000000 --- a/arch/arm/dts/imx6sx-udoo-neo-u-boot.dtsi +++ /dev/null @@ -1,7 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0+ - -/ { - aliases { - mmc0 = &usdhc2; - }; -}; diff --git a/board/udoo/neo/neo.c b/board/udoo/neo/neo.c index 61195be744..8b0d13b1ca 100644 --- a/board/udoo/neo/neo.c +++ b/board/udoo/neo/neo.c @@ -19,6 +19,8 @@ #include #include #include +#include +#include #include #include #include @@ -214,6 +216,19 @@ static iomux_v3_cfg_t const uart1_pads[] = { MX6_PAD_GPIO1_IO05__UART1_RX | MUX_PAD_CTRL(UART_PAD_CTRL), }; +static iomux_v3_cfg_t const usdhc2_pads[] = { + MX6_PAD_SD2_CLK__USDHC2_CLK | MUX_PAD_CTRL(USDHC_PAD_CTRL), + MX6_PAD_SD2_CMD__USDHC2_CMD | MUX_PAD_CTRL(USDHC_PAD_CTRL), + MX6_PAD_SD2_DATA0__USDHC2_DATA0 | MUX_PAD_CTRL(USDHC_PAD_CTRL), + MX6_PAD_SD2_DATA1__USDHC2_DATA1 | MUX_PAD_CTRL(USDHC_PAD_CTRL), + MX6_PAD_SD2_DATA2__USDHC2_DATA2 | MUX_PAD_CTRL(USDHC_PAD_CTRL), + MX6_PAD_SD2_DATA3__USDHC2_DATA3 | MUX_PAD_CTRL(USDHC_PAD_CTRL), + /* CD pin */ + MX6_PAD_SD1_DATA0__GPIO6_IO_2 | MUX_PAD_CTRL(NO_PAD_CTRL), + /* Power */ + MX6_PAD_SD1_CMD__GPIO6_IO_1 | MUX_PAD_CTRL(NO_PAD_CTRL), +}; + static iomux_v3_cfg_t const phy_control_pads[] = { /* 25MHz Ethernet PHY Clock */ MX6_PAD_ENET2_RX_CLK__ENET2_REF_CLK_25M | @@ -327,6 +342,31 @@ int board_early_init_f(void) return 0; } +static struct fsl_esdhc_cfg usdhc_cfg[1] = { + {USDHC2_BASE_ADDR}, +}; + +#define USDHC2_PWR_GPIO IMX_GPIO_NR(6, 1) +#define USDHC2_CD_GPIO IMX_GPIO_NR(6, 2) + +int board_mmc_getcd(struct mmc *mmc) +{ + return !gpio_get_value(USDHC2_CD_GPIO); +} + +int board_mmc_init(struct bd_info *bis) +{ + SETUP_IOMUX_PADS(usdhc2_pads); + usdhc_cfg[0].sdhc_clk = mxc_get_clock(MXC_ESDHC2_CLK); + usdhc_cfg[0].max_bus_width = 4; + gpio_request(IMX_GPIO_NR(6, 1), "usdhc2_pwr"); + gpio_request(IMX_GPIO_NR(6, 2), "usdhc2_cd"); + gpio_direction_input(USDHC2_CD_GPIO); + gpio_direction_output(USDHC2_PWR_GPIO, 1); + + return fsl_esdhc_initialize(bis, &usdhc_cfg[0]); +} + static char *board_string(void) { switch (get_board_value()) { diff --git a/configs/udoo_neo_defconfig b/configs/udoo_neo_defconfig index b2a3e9be4c..f01d2e22e9 100644 --- a/configs/udoo_neo_defconfig +++ b/configs/udoo_neo_defconfig @@ -35,6 +35,7 @@ CONFIG_CMD_EXT4_WRITE=y CONFIG_OF_CONTROL=y CONFIG_ENV_OVERWRITE=y CONFIG_SYS_RELOC_GD_ENV_ADDR=y +CONFIG_SYS_MMC_ENV_DEV=1 CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y CONFIG_BOUNCE_BUFFER=y CONFIG_SYS_I2C_LEGACY=y diff --git a/include/configs/udoo_neo.h b/include/configs/udoo_neo.h index b06abc9286..e2b432e1c4 100644 --- a/include/configs/udoo_neo.h +++ b/include/configs/udoo_neo.h @@ -29,7 +29,7 @@ "fdt_addr=0x83000000\0" \ "fdt_addr_r=0x83000000\0" \ "ip_dyn=yes\0" \ - "mmcdev=0\0" \ + "mmcdev=1\0" \ "mmcrootfstype=ext4\0" \ "findfdt="\ "if test $board_name = BASIC; then " \ @@ -49,7 +49,7 @@ BOOTENV #define BOOT_TARGET_DEVICES(func) \ - func(MMC, mmc, 0) \ + func(MMC, mmc, 1) \ func(DHCP, dhcp, na) #include -- cgit v1.2.3 From 79ac6917d0fba793029c294fbfcb660a5a8fbdeb Mon Sep 17 00:00:00 2001 From: Peter Robinson Date: Tue, 21 Dec 2021 12:32:48 +0000 Subject: udoo_neo: Fix ethernet The ethernet has a RMII not RGMII, also needs DM_MDIO and finally initialise it later in the process as it's not needed that early on and not everything is ready so it locks up the device. Signed-off-by: Peter Robinson Reviewed-by: Fabio Estevam --- board/udoo/neo/neo.c | 3 ++- configs/udoo_neo_defconfig | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/board/udoo/neo/neo.c b/board/udoo/neo/neo.c index 8b0d13b1ca..62f81fff68 100644 --- a/board/udoo/neo/neo.c +++ b/board/udoo/neo/neo.c @@ -303,6 +303,8 @@ int board_init(void) setup_i2c(0, CONFIG_SYS_I2C_SPEED, 0x7f, &i2c_pad_info1); #endif + setup_fec(); + return 0; } @@ -337,7 +339,6 @@ static int get_board_value(void) int board_early_init_f(void) { setup_iomux_uart(); - setup_fec(); return 0; } diff --git a/configs/udoo_neo_defconfig b/configs/udoo_neo_defconfig index f01d2e22e9..2a37757100 100644 --- a/configs/udoo_neo_defconfig +++ b/configs/udoo_neo_defconfig @@ -46,8 +46,8 @@ CONFIG_PHYLIB=y CONFIG_PHY_MICREL=y CONFIG_PHY_MICREL_KSZ8XXX=y CONFIG_DM_ETH=y +CONFIG_DM_MDIO=y CONFIG_FEC_MXC=y -CONFIG_RGMII=y CONFIG_MII=y CONFIG_PINCTRL=y CONFIG_PINCTRL_IMX6=y -- cgit v1.2.3 From 87c34fe21658289f742635a7bf1e13867dd745bd Mon Sep 17 00:00:00 2001 From: Peter Robinson Date: Tue, 21 Dec 2021 12:32:49 +0000 Subject: udoo_neo: Enable support for USB and storage Enable support for USB and USB storage on the UDOO Neo. Signed-off-by: Peter Robinson Reviewed-by: Fabio Estevam --- configs/udoo_neo_defconfig | 7 +++++++ include/configs/udoo_neo.h | 1 + 2 files changed, 8 insertions(+) diff --git a/configs/udoo_neo_defconfig b/configs/udoo_neo_defconfig index 2a37757100..ca08de1bd4 100644 --- a/configs/udoo_neo_defconfig +++ b/configs/udoo_neo_defconfig @@ -27,6 +27,7 @@ CONFIG_SPL_FS_EXT4=y CONFIG_SPL_WATCHDOG=y CONFIG_CMD_GPIO=y CONFIG_CMD_MMC=y +CONFIG_CMD_USB=y # CONFIG_CMD_PINMUX is not set # CONFIG_CMD_SETEXPR is not set CONFIG_CMD_CACHE=y @@ -53,5 +54,11 @@ CONFIG_PINCTRL=y CONFIG_PINCTRL_IMX6=y CONFIG_POWER_LEGACY=y CONFIG_POWER_I2C=y +CONFIG_DM_REGULATOR=y +CONFIG_DM_REGULATOR_ANATOP=y +CONFIG_DM_REGULATOR_FIXED=y +CONFIG_USB=y +CONFIG_DM_USB=y +CONFIG_USB_STORAGE=y CONFIG_MXC_UART=y CONFIG_IMX_THERMAL=y diff --git a/include/configs/udoo_neo.h b/include/configs/udoo_neo.h index e2b432e1c4..3a7cb050b1 100644 --- a/include/configs/udoo_neo.h +++ b/include/configs/udoo_neo.h @@ -50,6 +50,7 @@ #define BOOT_TARGET_DEVICES(func) \ func(MMC, mmc, 1) \ + func(USB, usb, 0) \ func(DHCP, dhcp, na) #include -- cgit v1.2.3 From b7404a9d38c431b577768cceb9b5abac915ce194 Mon Sep 17 00:00:00 2001 From: Fabio Estevam Date: Mon, 3 Jan 2022 12:15:11 -0300 Subject: udoo: neo: Fix the board model printing Currently, the board model is not printed correctly: Board: UDOO Neo UNDEFINED Read the model type in SPL and store it the internal OCRAM, so that U-Boot proper can retrieve it correctly. Signed-off-by: Fabio Estevam --- board/udoo/neo/neo.c | 91 +++++++++++++++++++++++++++++----------------------- 1 file changed, 50 insertions(+), 41 deletions(-) diff --git a/board/udoo/neo/neo.c b/board/udoo/neo/neo.c index 62f81fff68..a11f3b491e 100644 --- a/board/udoo/neo/neo.c +++ b/board/udoo/neo/neo.c @@ -75,6 +75,8 @@ enum { #define BOARD_DETECT_PAD_CFG (MUX_PAD_CTRL(BOARD_DETECT_PAD_CTRL) | \ MUX_MODE_SION) +#define OCRAM_START 0x8f8000 + int dram_init(void) { gd->ram_size = imx_ddr_size(); @@ -235,13 +237,6 @@ static iomux_v3_cfg_t const phy_control_pads[] = { MUX_PAD_CTRL(ENET_CLK_PAD_CTRL), }; -static iomux_v3_cfg_t const board_recognition_pads[] = { - /*Connected to R184*/ - MX6_PAD_NAND_READY_B__GPIO4_IO_13 | BOARD_DETECT_PAD_CFG, - /*Connected to R185*/ - MX6_PAD_NAND_ALE__GPIO4_IO_0 | BOARD_DETECT_PAD_CFG, -}; - static iomux_v3_cfg_t const wdog_b_pad = { MX6_PAD_GPIO1_IO13__GPIO1_IO_13 | MUX_PAD_CTRL(WDOG_PAD_CTRL), }; @@ -308,34 +303,6 @@ int board_init(void) return 0; } -static int get_board_value(void) -{ - int r184, r185; - - imx_iomux_v3_setup_multiple_pads(board_recognition_pads, - ARRAY_SIZE(board_recognition_pads)); - - gpio_request(IMX_GPIO_NR(4, 13), "r184"); - gpio_request(IMX_GPIO_NR(4, 0), "r185"); - gpio_direction_input(IMX_GPIO_NR(4, 13)); - gpio_direction_input(IMX_GPIO_NR(4, 0)); - - r184 = gpio_get_value(IMX_GPIO_NR(4, 13)); - r185 = gpio_get_value(IMX_GPIO_NR(4, 0)); - - /* - * Machine selection - - * Machine r184, r185 - * --------------------------------- - * Basic 0 0 - * Basic Ks 0 1 - * Full 1 0 - * Extended 1 1 - */ - - return (r184 << 1) + r185; -} - int board_early_init_f(void) { setup_iomux_uart(); @@ -368,9 +335,9 @@ int board_mmc_init(struct bd_info *bis) return fsl_esdhc_initialize(bis, &usdhc_cfg[0]); } -static char *board_string(void) +static char *board_string(int type) { - switch (get_board_value()) { + switch (type) { case UDOO_NEO_TYPE_BASIC: return "BASIC"; case UDOO_NEO_TYPE_BASIC_KS: @@ -385,14 +352,18 @@ static char *board_string(void) int checkboard(void) { - printf("Board: UDOO Neo %s\n", board_string()); + int *board_type = (int *)OCRAM_START; + + printf("Board: UDOO Neo %s\n", board_string(*board_type)); return 0; } int board_late_init(void) { + int *board_type = (int *)OCRAM_START; + #ifdef CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG - env_set("board_name", board_string()); + env_set("board_name", board_string(*board_type)); #endif return 0; @@ -403,6 +374,41 @@ int board_late_init(void) #include #include +static const iomux_v3_cfg_t board_recognition_pads[] = { + /*Connected to R184*/ + MX6_PAD_NAND_READY_B__GPIO4_IO_13 | BOARD_DETECT_PAD_CFG, + /*Connected to R185*/ + MX6_PAD_NAND_ALE__GPIO4_IO_0 | BOARD_DETECT_PAD_CFG, +}; + +static int get_board_value(void) +{ + int r184, r185; + + imx_iomux_v3_setup_multiple_pads(board_recognition_pads, + ARRAY_SIZE(board_recognition_pads)); + + gpio_request(IMX_GPIO_NR(4, 13), "r184"); + gpio_request(IMX_GPIO_NR(4, 0), "r185"); + gpio_direction_input(IMX_GPIO_NR(4, 13)); + gpio_direction_input(IMX_GPIO_NR(4, 0)); + + r184 = gpio_get_value(IMX_GPIO_NR(4, 13)); + r185 = gpio_get_value(IMX_GPIO_NR(4, 0)); + + /* + * Machine selection - + * Machine r184, r185 + * --------------------------------- + * Basic 0 0 + * Basic Ks 0 1 + * Full 1 0 + * Extended 1 1 + */ + + return (r184 << 1) + r185; +} + static const struct mx6sx_iomux_ddr_regs mx6_ddr_ioregs = { .dram_dqm0 = 0x00000028, .dram_dqm1 = 0x00000028, @@ -498,7 +504,7 @@ static void ccgr_init(void) static void spl_dram_init(void) { - int board = get_board_value(); + int *board_type = (int *)OCRAM_START; struct mx6_ddr_sysinfo sysinfo = { .dsize = 1, /* width of data bus: 1 = 32 bits */ @@ -515,8 +521,11 @@ static void spl_dram_init(void) .rst_to_cke = 0x23, /* 33 cycles, 500us (JEDEC default) */ }; + *board_type = get_board_value(); + mx6sx_dram_iocfg(32, &mx6_ddr_ioregs, &mx6_grp_ioregs); - if (board == UDOO_NEO_TYPE_BASIC || board == UDOO_NEO_TYPE_BASIC_KS) + if (*board_type == UDOO_NEO_TYPE_BASIC || + *board_type == UDOO_NEO_TYPE_BASIC_KS) mx6_dram_cfg(&sysinfo, &neo_basic_mmcd_calib, &neo_basic_mem_ddr); else -- cgit v1.2.3 From 392aa4ba96ba1197665f95f96c087a893a6d3610 Mon Sep 17 00:00:00 2001 From: Fabio Estevam Date: Mon, 3 Jan 2022 12:15:12 -0300 Subject: udoo: neo: Do not print the Model information By default the Model information from DT is printed: CPU: Freescale i.MX6SX rev1.2 996 MHz (running at 792 MHz) CPU: Extended Commercial temperature grade (-20C to 105C) at 63C Reset cause: POR Model: UDOO Neo Basic Board: UDOO Neo FULL I2C: ready As the udoo basic DT is used, such output may be confusing. Improve it by only printing the Board model instead, which is read from the board identification GPIOs. Signed-off-by: Fabio Estevam Acked-by: Tommaso Merciai Tested-by: Tommaso Merciai --- board/udoo/neo/neo.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/board/udoo/neo/neo.c b/board/udoo/neo/neo.c index a11f3b491e..5e40583ab4 100644 --- a/board/udoo/neo/neo.c +++ b/board/udoo/neo/neo.c @@ -350,7 +350,8 @@ static char *board_string(int type) return "UNDEFINED"; } -int checkboard(void) +/* Override the default implementation, DT model is not accurate */ +int show_board_info(void) { int *board_type = (int *)OCRAM_START; -- cgit v1.2.3 From 75f080df46f28f24a617652c8af028cc349f908b Mon Sep 17 00:00:00 2001 From: Marek Vasut Date: Sat, 1 Jan 2022 19:51:39 +0100 Subject: Revert "clk: Detect failure to set defaults" This reverts commit 92f1e9a4b31c0bf0f4f61ab823a6a88657323646. The aforementioned patch causes massive breakage on all platforms which have 'assigned-clock' DT property in their DT which references any clock that are not supported by the platform clock driver. That can easily happen either in SPL, or because the clock driver is reduced. Currently it seems all iMX8M are affected and fail to boot altogether. Signed-off-by: Marek Vasut Cc: Peng Fan Cc: Simon Glass Reviewed-by: Sean Anderson Reviewed-by: Fabio Estevam Reviewed-by: Simon Glass --- drivers/clk/clk-uclass.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/drivers/clk/clk-uclass.c b/drivers/clk/clk-uclass.c index f2d2642754..094b1abf13 100644 --- a/drivers/clk/clk-uclass.c +++ b/drivers/clk/clk-uclass.c @@ -846,17 +846,13 @@ void devm_clk_put(struct udevice *dev, struct clk *clk) int clk_uclass_post_probe(struct udevice *dev) { - int ret; - /* * when a clock provider is probed. Call clk_set_defaults() * also after the device is probed. This takes care of cases * where the DT is used to setup default parents and rates * using assigned-clocks */ - ret = clk_set_defaults(dev, CLK_DEFAULTS_POST); - if (ret) - return log_ret(ret); + clk_set_defaults(dev, CLK_DEFAULTS_POST); return 0; } -- cgit v1.2.3