diff options
| author | Tom Rini <[email protected]> | 2026-05-14 07:56:53 -0600 |
|---|---|---|
| committer | Tom Rini <[email protected]> | 2026-05-14 07:56:53 -0600 |
| commit | f020dfd9bf84d041e14cb23b86b36cdf9e4d708c (patch) | |
| tree | b6db1b3cfacf3ccbb056513fad87fbf836a8eaf0 /README | |
| parent | 1a0fac05c3109b48113b37328e847962ee0629ea (diff) | |
| parent | 0c464b6cc3ead31a5b3bfe23d38871380f3fb6fa (diff) | |
Merge tag 'i2c-updates-for-2026.07-rc3' of https://source.denx.de/u-boot/custodians/u-boot-i2c
updates for 2026.07-rc3
- designware_i2c: Staticize driver ops from Marek
- i2c: Remove legacy CONFIG_SYS_I2C_SOFT
-
Diffstat (limited to 'README')
| -rw-r--r-- | README | 92 |
1 files changed, 0 insertions, 92 deletions
@@ -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 <bit> 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 <bit> 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 |
