[PATCH 0/4] Congatec Board Controller: Add storage devices support
"Thomas Richard (congatec GmbH)" <[email protected]> Tue, 04 Aug 2026 16:55:50 +0200
| Newsgroups | org.kernel.vger.linux-i2c,dev.linux.lists.mfd,org.kernel.vger.linux-kernel,org.kernel.vger.stable |
|---|---|
| Message-ID | <20260804-cgbc-i2c-storage-devices-support-v1-0-fed38510671c@bootlin.com> |
The Congatec Board Controller has an internal I2C bus with several storage devices (EEPROM and RAM). The bus and devices are virtual but act as real hardware. This series adds support for both the bus and devices. List of devices: - Secure Data EEPROM (64 bytes, RO): static and dynamic board info - BIOS EEPROM (32 bytes, RW): reserved for BIOS applications - BC EEPROM (32 bytes, RO): Board Controller operational params - User EEPROM (32 bytes, RW): user applications - BIOS RAM (32 bytes, RW): reserved for BIOS applications - BC RAM (8 bytes, RO): Board Controller operational params - User RAM (16 bytes, RW): user applications The i2c-cgbc driver instantiates these devices. A dedicated driver for these devices was not necessary since the at24 driver can handle them. The 24c01 entry (the most generic one) is used, and parameters (size, read-only flag...) are customized via the software_node properties. I also took this opportunity to fix an issue reported by Sashiko in the MFD driver (PATCH 1). Signed-off-by: Thomas Richard (congatec GmbH) <[email protected]> --- Thomas Richard (congatec GmbH) (4): mfd: cgbc: Fix use of negative error code as valid session handle i2c: cgbc: Add virtual I2C bus support mfd: cgbc: Add virtual I2C bus support i2c: cgbc: Add virtual storage devices on the virtual I2C bus drivers/i2c/busses/i2c-cgbc.c | 174 ++++++++++++++++++++++++++++++++++++++++-- drivers/mfd/cgbc-core.c | 7 +- 2 files changed, 174 insertions(+), 7 deletions(-) --- base-commit: 82442496954504a901faf74105a5ab592d782288 change-id: 20260717-cgbc-i2c-storage-devices-support-b3ee7cea3320 Best regards, -- Thomas Richard (congatec GmbH) <[email protected]>