Why do I see U-boot hang when enabling multiple I2C controllers in I2C driver? - Why do I see U-boot hang when enabling multiple I2C controllers in I2C driver? Description In SOCEDS 16.1 (U-boot v2013.01.01), if you turn on the I2C multi-bus configuration within I2C driver as shown below: #define CONFIG_I2C_MULTI_BUS 1 U-boot will hang and stop printing messages in console as shown below: U-Boot 2013.01.01-svn7578 (Feb 01 2019 - 14:17:54) CPU : Altera SOCFPGA Platform BOARD : Altera SOCFPGA Cyclone V Board I2C: If CONFIG_I2C_MULTI_BUS configuration is turned on, the bus_initialized static variable in I2C driver (designware_i2c.c) will be used before the BSS section get initialized. It results in an unexpected write operation and cause the system hang. Resolution I2C driver (designware_i2c.c) has been updated in U-boot v2015.01 which removes the use of static variable and CONFIG_I2C_MULTI_BUS. For multiple I2C controllers support in U-boot, please use U-boot v2015.01 or above versions. Custom Fields values: ['novalue'] Troubleshooting 1507180323 False ['novalue'] ['FPGA Dev Tools Quartus II Software'] novalue 16.1 ['Programmable Logic Devices'] ['Embedded Dev Tools SoC Suite'] ['novalue'] ['novalue'] - 2021-08-25

external_document