From 0c464b6cc3ead31a5b3bfe23d38871380f3fb6fa Mon Sep 17 00:00:00 2001 From: Tom Rini Date: Fri, 20 Mar 2026 14:53:21 -0600 Subject: i2c: Remove legacy CONFIG_SYS_I2C_SOFT The last users of this legacy i2c stack have been removed or converted to a modern part of the stack instead. Remove this code and references to it. Signed-off-by: Tom Rini Reviewed-by: Heiko Schocher --- README | 92 ------------------------------------------------------------------ 1 file changed, 92 deletions(-) (limited to 'README') diff --git a/README b/README index 6836a917c79..f0bad144360 100644 --- a/README +++ b/README @@ -628,98 +628,6 @@ The following options need to be configured: If you do not have i2c muxes on your board, omit this define. -- Legacy I2C Support: - If you use the software i2c interface (CONFIG_SYS_I2C_SOFT) - then the following macros need to be defined (examples are - from include/configs/lwmon.h): - - I2C_INIT - - (Optional). Any commands necessary to enable the I2C - controller or configure ports. - - eg: #define I2C_INIT (immr->im_cpm.cp_pbdir |= PB_SCL) - - I2C_ACTIVE - - The code necessary to make the I2C data line active - (driven). If the data line is open collector, this - define can be null. - - eg: #define I2C_ACTIVE (immr->im_cpm.cp_pbdir |= PB_SDA) - - I2C_TRISTATE - - The code necessary to make the I2C data line tri-stated - (inactive). If the data line is open collector, this - define can be null. - - eg: #define I2C_TRISTATE (immr->im_cpm.cp_pbdir &= ~PB_SDA) - - I2C_READ - - Code that returns true if the I2C data line is high, - false if it is low. - - eg: #define I2C_READ ((immr->im_cpm.cp_pbdat & PB_SDA) != 0) - - I2C_SDA(bit) - - If is true, sets the I2C data line high. If it - is false, it clears it (low). - - eg: #define I2C_SDA(bit) \ - if(bit) immr->im_cpm.cp_pbdat |= PB_SDA; \ - else immr->im_cpm.cp_pbdat &= ~PB_SDA - - I2C_SCL(bit) - - If is true, sets the I2C clock line high. If it - is false, it clears it (low). - - eg: #define I2C_SCL(bit) \ - if(bit) immr->im_cpm.cp_pbdat |= PB_SCL; \ - else immr->im_cpm.cp_pbdat &= ~PB_SCL - - I2C_DELAY - - This delay is invoked four times per clock cycle so this - controls the rate of data transfer. The data rate thus - is 1 / (I2C_DELAY * 4). Often defined to be something - like: - - #define I2C_DELAY udelay(2) - - CONFIG_SOFT_I2C_GPIO_SCL / CONFIG_SOFT_I2C_GPIO_SDA - - If your arch supports the generic GPIO framework (asm/gpio.h), - then you may alternatively define the two GPIOs that are to be - used as SCL / SDA. Any of the previous I2C_xxx macros will - have GPIO-based defaults assigned to them as appropriate. - - You should define these to the GPIO value as given directly to - the generic GPIO functions. - - CFG_SYS_I2C_NOPROBES - - This option specifies a list of I2C devices that will be skipped - when the 'i2c probe' command is issued. - - e.g. - #define CFG_SYS_I2C_NOPROBES {0x50,0x68} - - will skip addresses 0x50 and 0x68 on a board with one I2C bus - - CONFIG_SOFT_I2C_READ_REPEATED_START - - defining this will force the i2c_read() function in - the soft_i2c driver to perform an I2C repeated start - between writing the address pointer and reading the - data. If this define is omitted the default behaviour - of doing a stop-start sequence will be used. Most I2C - devices can use either method, but some require one or - the other. - - SPI Support: CONFIG_SPI Enables SPI driver (so far only tested with -- cgit v1.2.3