We have two baseboards using this SoM mainline sharing the same board
code that is not yet deep probe compatible, because they expect i2c0 to
be available at device_initcall level.

Make the board code deep probe compatible and enable deep probe for all
boards using this SoM. Out-of-tree board code will need to adapt
accordingly, so note that in the migration guide.

Signed-off-by: Fabian Pfitzner <[email protected]>
---
 Documentation/migration-guides/migration-master.rst | 12 ++++++++++++
 arch/arm/boards/karo-tx6x/board.c                   |  2 ++
 arch/arm/dts/imx6dl-tx6u.dts                        |  2 +-
 arch/arm/dts/imx6q-tx6q.dts                         |  2 +-
 4 files changed, 16 insertions(+), 2 deletions(-)
 create mode 100644 Documentation/migration-guides/migration-master.rst

diff --git a/Documentation/migration-guides/migration-master.rst 
b/Documentation/migration-guides/migration-master.rst
new file mode 100644
index 0000000000..41b055d7fe
--- /dev/null
+++ b/Documentation/migration-guides/migration-master.rst
@@ -0,0 +1,12 @@
+Release Unknown
+===============
+
+Board support
+-------------
+
+Karo TX6X
+^^^^^^^^^
+
+Deep probe has been enabled for this board. Out-of-tree board code for these
+SoMs must either ensure devices are available as the in-tree code does or they
+should add ``barebox,disable-deep-probe`` to their top level device tree node.
diff --git a/arch/arm/boards/karo-tx6x/board.c 
b/arch/arm/boards/karo-tx6x/board.c
index 43e23f00cd..1924660c11 100644
--- a/arch/arm/boards/karo-tx6x/board.c
+++ b/arch/arm/boards/karo-tx6x/board.c
@@ -54,6 +54,8 @@ static int setup_pmic_voltages(void)
        int bus = 0;
        uint8_t reg;
 
+       of_device_ensure_probed_by_alias("i2c0");
+
        adapter = i2c_get_adapter(bus);
        if (!adapter) {
                pr_err("i2c bus %d not found\n", bus);
diff --git a/arch/arm/dts/imx6dl-tx6u.dts b/arch/arm/dts/imx6dl-tx6u.dts
index 1055de9d80..c23673d729 100644
--- a/arch/arm/dts/imx6dl-tx6u.dts
+++ b/arch/arm/dts/imx6dl-tx6u.dts
@@ -8,6 +8,6 @@
 / {
        model = "Ka-Ro electronics TX6U-801x Module";
        compatible = "karo,imx6dl-tx6dl", "fsl,imx6dl";
-       barebox,disable-deep-probe;
+       barebox,deep-probe;
 };
 
diff --git a/arch/arm/dts/imx6q-tx6q.dts b/arch/arm/dts/imx6q-tx6q.dts
index c2aacfc415..daf9549ea5 100644
--- a/arch/arm/dts/imx6q-tx6q.dts
+++ b/arch/arm/dts/imx6q-tx6q.dts
@@ -8,6 +8,6 @@
 / {
        model = "Ka-Ro electronics TX6Q Module";
        compatible = "karo,imx6q-tx6q", "fsl,imx6q";
-       barebox,disable-deep-probe;
+       barebox,deep-probe;
 };
 
-- 
2.47.3


Reply via email to