[PATCH v2 2/2] ARM: boards: phytec-som-imx6: probe all gpio devices before PMIC

Andrej Picej andrej.picej at norik.com
Tue Mar 29 00:33:33 PDT 2022

GPIO lines in da9063 are assigned dynamically, while majority of SOC
GPIO drivers assign their GPIOs in static manner (GPIO line numbers can
be calculated).

This introduces regression if deep probe support is used. If da9063
GPIOs are registered before the SOCs GPIOs, there is a good chance that
the SOCs statically computed GPIO line numbers will already be used by

Ensure all SOCs GPIO drivers and GPIO lines get registered before the
da9063 registers its own gpiochip.

Signed-off-by: Andrej Picej <andrej.picej at norik.com>
Changes in v2:
- move function from da9062 probe to board file
 arch/arm/boards/phytec-som-imx6/board.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/arch/arm/boards/phytec-som-imx6/board.c b/arch/arm/boards/phytec-som-imx6/board.c
index 1e515a093a..5dc7f676ed 100644
--- a/arch/arm/boards/phytec-som-imx6/board.c
+++ b/arch/arm/boards/phytec-som-imx6/board.c
@@ -111,6 +111,10 @@ static int phycore_da9062_setup_buck_mode(void)
 	if (!pmic_np)
 		return -ENODEV;
+	ret = of_device_ensure_probed_by_alias_stem(pmic_np, "gpio");
+	if (ret)
+		return ret;
 	ret = of_device_ensure_probed(pmic_np);
 	if (ret)
 		return ret;

More information about the barebox mailing list