[U-Boot] [PATCH v2 00/19] DM_I2C_COMPAT removal for all ti platforms
Jean-Jacques Hiblot
jjhiblot at ti.com
Fri Oct 5 16:45:15 UTC 2018
This series remove the usage of the DM_I2C_COMPAT option for all the ti
platforms. It also takes this opportunity to not disable DM_I2C in the SPL.
There are a couples of issues to fix:
- CMD_EEPROM does not support the DM API. Fixed by removing this option
when DM_I2C is used without DM_I2C_COMPAT
- i2c_get_chip_for_busnum() does not work when OF_CONTROL is not used
(as is the case with am33xx SPL).
- The I2C driver do not support DM_I2C without OF_CONTROL.
- Most of the PMIC drivers do not support the I2C DM API.
- Board detection is done prior DM initialization. Fixed by moving it after
DM is initialized. That move breaks the DRA7 platforms (The fixes for
that are at the last 5 patches this series)
When all this is taken care of DM_I2C_COMPAT can be removed and DM_I2C
enabled in the SPL.
This has been tested with the following boards:
- am437x SK
- am335x SK
- am335x beaglebone (both DM and non-DM config)
- dra76 evm
- am572 evm
- k2g evm
The following targets may be impacted by the changes related to
SPL_OF_CONTROL and SPL_OF_PLATDATA:
- am3517_evm_defconfig
- omap3_logic_defconfig
- chromebit_mickey_defconfig
- chromebook_jerry_defconfig
- chromebook_minnie_defconfig
- evb-rk3399_defconfig
- rock_defconfig
It would be nice it some of you could try to boot them.
Changes in v2:
- Add missing commit log to the commit disabling CMD_EEPROM when non-DM API
is not available
- don't use the DT to find the req_seq number if SPL_OF_PLATDATA is used.
Instead do it as if SPL_OF_CONTROL is not defined.
- Also add DM_I2C support to the twl6030 driver
- remove the remaining non-DM I2C API call for pdu001 board.
- Fixed warning in power_init_board() for the am43xx ti boards.
Andreas Dannenberg (1):
ti: common: board_detect: Allow DM I2C without CONFIG_DM_I2C_COMPAT
Jean-Jacques Hiblot (17):
cmd: Kconfig: Do not include EEPROM if DM_I2C is used without
DM_I2C_COMPAT
dm: i2c: Add dm_i2c_probe_device() to test the presence of a chip
dm: device: Allow using uclass_find_device_by_seq() without OF_CONTROL
configs: am335x: am57x: dra7x: Enable CONFIG_SPL_DM_SEQ_ALIAS
i2c: omap24xx_i2c: Use platdata to probe the device
am335x: Register the I2C controllers if DM_I2C is used.
dts: am43x: omap5: Add node for I2C in SPL
omap: detect the board after DM is available
power: make most tps drivers and the twl4030 driver compatible with
DM_I2C
configs: am335x_pdu001: remove CONFIG_DM_I2C_COMPAT
ti: remove usage of DM_I2C_COMPAT and don't disable DM_I2C in SPL
am57xx: remove non-DM I2C code
configs: dra7xx-evm: increase the size of the malloc's pool before
relocation
lib: fdtdec: Add function re-setup the fdt more effeciently
drivers: core: Add the option SPL_DM_DEVICE_REMOVE to the Kconfig
drivers: core: nullify gd->dm_root after dm_uninit()
dra7: Allow selecting a new dtb after board detection.
Vignesh R (1):
i2c: omap24xx_i2c: Move away from SoC specific headers for reg offset
arch/arm/dts/am437x-gp-evm-u-boot.dtsi | 4 +
arch/arm/dts/omap5-u-boot.dtsi | 4 +
arch/arm/include/asm/arch-am33xx/i2c.h | 47 +--
arch/arm/include/asm/arch-omap3/i2c.h | 47 ---
arch/arm/include/asm/arch-omap4/i2c.h | 45 ---
arch/arm/include/asm/arch-omap5/i2c.h | 45 ---
arch/arm/include/asm/omap_i2c.h | 24 ++
arch/arm/mach-keystone/ddr3_spd.c | 7 +
arch/arm/mach-omap2/am33xx/board.c | 24 +-
arch/arm/mach-omap2/am33xx/clk_synthesizer.c | 56 +++-
arch/arm/mach-omap2/clocks-common.c | 2 +
arch/arm/mach-omap2/hwinit-common.c | 23 +-
board/eets/pdu001/board.c | 1 -
board/ti/am335x/board.c | 17 +-
board/ti/am335x/mux.c | 14 +
board/ti/am43xx/board.c | 46 ++-
board/ti/am57xx/board.c | 25 +-
board/ti/common/board_detect.c | 110 +++----
board/ti/ks2_evm/board_k2g.c | 11 +
cmd/Kconfig | 1 +
configs/am335x_pdu001_defconfig | 1 +
configs/am57xx_evm_defconfig | 1 +
configs/am57xx_hs_evm_defconfig | 1 +
configs/dra7xx_evm_defconfig | 4 +-
configs/dra7xx_hs_evm_defconfig | 1 +
configs/omap3_logic_defconfig | 1 +
drivers/core/Kconfig | 12 +-
drivers/core/device.c | 10 +-
drivers/core/root.c | 1 +
drivers/core/uclass.c | 24 ++
drivers/i2c/i2c-uclass.c | 8 +
drivers/i2c/omap24xx_i2c.c | 467 ++++++++++++++++++---------
drivers/power/palmas.c | 39 +++
drivers/power/pmic/pmic_tps62362.c | 27 ++
drivers/power/pmic/pmic_tps65217.c | 47 ++-
drivers/power/pmic/pmic_tps65218.c | 88 +++++
drivers/power/pmic/pmic_tps65910.c | 60 +++-
drivers/power/twl4030.c | 39 +++
drivers/power/twl6030.c | 39 +++
include/asm-generic/global_data.h | 4 +
include/configs/am43xx_evm.h | 2 +
include/configs/pdu001.h | 6 -
include/configs/ti_armv7_common.h | 18 +-
include/dm/uclass-internal.h | 13 +
include/fdtdec.h | 17 +
include/i2c.h | 13 +
include/palmas.h | 5 +
include/power/tps65217.h | 2 +
include/power/tps65910.h | 1 +
include/twl4030.h | 6 +-
include/twl6030.h | 5 +
lib/fdtdec.c | 38 ++-
52 files changed, 1081 insertions(+), 472 deletions(-)
create mode 100644 arch/arm/include/asm/omap_i2c.h
--
2.7.4
More information about the U-Boot
mailing list