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.messerklin...@br-automation.com> --- (no changes since v2) 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.49.0