board/BuR/common: add parameter for reset controller I2C bus selection
authorBernhard Messerklinger <bernhard.messerklinger@br-automation.com>
Fri, 4 Apr 2025 07:27:58 +0000 (09:27 +0200)
committerMichal Simek <michal.simek@amd.com>
Wed, 16 Apr 2025 13:39:48 +0000 (15:39 +0200)
Normally B&R reset controllers are located at I2C bus 0. This patch adds
the possibility to change this bus number with the kconfig option
BR_RESETC_I2CBUS.

Signed-off-by: Bernhard Messerklinger <bernhard.messerklinger@br-automation.com>
Link: https://lore.kernel.org/r/20250404072819.69642-3-bernhard.messerklinger@br-automation.com
Signed-off-by: Michal Simek <michal.simek@amd.com>
board/BuR/common/Kconfig [new file with mode: 0644]
board/BuR/common/br_resetc.c

diff --git a/board/BuR/common/Kconfig b/board/BuR/common/Kconfig
new file mode 100644 (file)
index 0000000..490201e
--- /dev/null
@@ -0,0 +1,8 @@
+# SPDX-License-Identifier: GPL-2.0+
+#
+# B&R Industrial Automation GmbH - http://www.br-automation.com
+
+config BR_RESETC_I2CBUS
+       int "I2C Bus address of B&R reset controller"
+       depends on SYS_VENDOR = "BuR" && DM_I2C
+       default 0
index f5d09fe..248064f 100644 (file)
@@ -52,10 +52,16 @@ static int resetc_init(void)
 {
        struct udevice *i2cbus;
        int rc;
+#if !defined(BR_RESETC_I2CBUS)
+       int busno = 0;
+#else
+       int busno = CONFIG_BR_RESETC_I2CBUS;
+#endif
+
+       rc = uclass_get_device_by_seq(UCLASS_I2C, busno, &i2cbus);
 
-       rc = uclass_get_device_by_seq(UCLASS_I2C, 0, &i2cbus);
        if (rc) {
-               printf("Cannot find I2C bus #0!\n");
+               printf("Cannot find I2C bus #%d!\n", busno);
                return -1;
        }