[U-Boot] [PATCH v2 00/19] DM_I2C_COMPAT removal for all ti platforms

Adam Ford aford173 at gmail.com
Fri Oct 5 16:53:02 UTC 2018


On Fri, Oct 5, 2018 at 11:45 AM Jean-Jacques Hiblot <jjhiblot at ti.com> wrote:
>
> 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.

I was planning on running some tests this afternoon.  IIRC, the
PLATDATA was required in SPL on omap3_logic because the OF code didn't
fit into the limited space.  I was also going to see if that's
changed. Ideally, I'd like to lose the PLATDATA flag as well, but it's
been a few releases, and GCC is newer now, so things may have changed.
:-)

Once I've run those build tests on omap3_logic and am3517_evm, I'll
run some additional tests on the TWL4030 to see if the reset of the
features work (like USB tranceiver), and I'll report back my findings.
If you've got it building, then I have a much better shot.

adam
>
>
> 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