[PATCH v2 2/4] board/BuR/common: add parameter for reset controller I2C bus selection

Bernhard Messerklinger bernhard.messerklinger at br-automation.com
Tue Feb 11 13:49:29 CET 2025


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 at br-automation.com>
---

Changes in v2:
- Move BR_RESETC_I2CBUS to Kconfig

 board/BuR/common/Kconfig     |  8 ++++++++
 board/BuR/common/br_resetc.c | 10 ++++++++--
 2 files changed, 16 insertions(+), 2 deletions(-)
 create mode 100644 board/BuR/common/Kconfig

diff --git a/board/BuR/common/Kconfig b/board/BuR/common/Kconfig
new file mode 100644
index 00000000000..490201e7407
--- /dev/null
+++ b/board/BuR/common/Kconfig
@@ -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
diff --git a/board/BuR/common/br_resetc.c b/board/BuR/common/br_resetc.c
index f5d09fef3d3..248064f974b 100644
--- a/board/BuR/common/br_resetc.c
+++ b/board/BuR/common/br_resetc.c
@@ -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;
 	}
 
-- 
2.48.1



More information about the U-Boot mailing list