[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