Wenn Sie in SOCEDS 16.1 (U-Boot v2013.01.01) die I2C-Multibus-Konfiguration innerhalb des I2C-Treibers aktivieren, wie unten gezeigt:
#define CONFIG_I2C_MULTI_BUS 1
U-Boot hängt und stoppt den Druck von Nachrichten in der Konsole, wie unten gezeigt:
U-Boot 2013.01.01-svn7578 (1. Februar 2019 - 14:17:54)
CPU: Altera SOCFPGA-Plattform
MAINBOARD: Altera SOCFPGA Cyclone V Mainboard
I2C:
Wenn CONFIG_I2C_MULTI_BUS Konfiguration aktiviert ist, wird die bus_initialized statische Variable im I2C-Treiber (designware_i2c.c) verwendet, bevor der BSS-Abschnitt initialisiert wird.
Dies führt zu einem unerwarteten Schreibvorgang und führt zum Aufhängen des Systems.
Der I2C-Treiber (designware_i2c.c) wurde im U-Boot v2015.01 aktualisiert, wodurch die Verwendung der statischen Variable und CONFIG_I2C_MULTI_BUS entfernt wird.
Für die Unterstützung mehrerer I2C-Controller im U-Boot verwenden Sie bitte U-Boot v2015.01 oder höher.