
Hi,
Accepted with minor modification.
On 5/6/22 16:06, Patrick Delaunay wrote:
Add stm32mp15x prefix to all STM32MP15x board specific function, this patch is a preliminary step for STM32MP13x support.
This patch also add the RCC probe to avoid circular access with usbphyc probe as clk provider.
Signed-off-by: Patrick Delaunay patrick.delaunay@foss.st.com
board/st/stm32mp1/stm32mp1.c | 27 ++++++++++++++++++--------- 1 file changed, 18 insertions(+), 9 deletions(-)
diff --git a/board/st/stm32mp1/stm32mp1.c b/board/st/stm32mp1/stm32mp1.c index fff1880e5b..4ba7201ffb 100644 --- a/board/st/stm32mp1/stm32mp1.c +++ b/board/st/stm32mp1/stm32mp1.c @@ -547,8 +547,7 @@ static void sysconf_init(void) clrbits_le32(syscfg + SYSCFG_CMPCR, SYSCFG_CMPCR_SW_CTRL); }
-/* Fix to make I2C1 usable on DK2 for touchscreen usage in kernel */ -static int dk2_i2c1_fix(void) +static int board_stm32mp15x_dk2_init(void) { ofnode node; struct gpio_desc hdmi, audio; @@ -557,6 +556,7 @@ static int dk2_i2c1_fix(void) if (!IS_ENABLED(CONFIG_DM_REGULATOR)) return -ENODEV;
- /* Fix to make I2C1 usable on DK2 for touchscreen usage in kernel */ node = ofnode_path("/soc/i2c@40012000/hdmi-transmitter@39"); if (!ofnode_valid(node)) { log_debug("no hdmi-transmitter@39 ?\n");
@@ -604,7 +604,7 @@ error: return ret; }
-static bool board_is_dk2(void) +static bool board_is_stm32mp15x_dk2(void) { if (CONFIG_IS_ENABLED(TARGET_ST_STM32MP15x) && of_machine_is_compatible("st,stm32mp157c-dk2")) @@ -613,7 +613,7 @@ static bool board_is_dk2(void) return false; }
-static bool board_is_ev1(void) +static bool board_is_stm32mp15x_ev1(void) { if (CONFIG_IS_ENABLED(TARGET_ST_STM32MP15x) && (of_machine_is_compatible("st,stm32mp157a-ev1") || @@ -637,7 +637,7 @@ U_BOOT_DRIVER(goodix) = { .of_match = goodix_ids, };
-static void board_ev1_init(void) +static void board_stm32mp15x_ev1_init(void) { struct udevice *dev;
@@ -648,13 +648,22 @@ static void board_ev1_init(void) /* board dependent setup after realloc */ int board_init(void) {
- struct udevice *dev;
- int ret;
- /* probe RCC to avoid circular access with usbphyc probe as clk provider */
- if (IS_ENABLED(CONFIG_CLK_STM32MP13)) {
ret = uclass_get_device_by_driver(UCLASS_CLK, DM_DRIVER_GET(stm32mp1_clock), &dev);
log_debug("Clock init failed: %d\n", ret);
- }
=> this force RCC probed removed to avoid issue when RCC node is not present in
device tree
can be replaced by DM_FLAG_PROBE_AFTER_BIND managed in RCC driver.
board_key_check();
- if (board_is_ev1())
board_ev1_init();
- if (board_is_stm32mp15x_ev1())
board_stm32mp15x_ev1_init();
- if (board_is_dk2())
dk2_i2c1_fix();
if (board_is_stm32mp15x_dk2())
board_stm32mp15x_dk2_init();
if (IS_ENABLED(CONFIG_DM_REGULATOR)) regulators_enable_boot_on(_DEBUG);
Applied to u-boot-stm/next, thanks!
Regards Patrick