On 05/10/2018 18:53, Adam Ford wrote:
On Fri, Oct 5, 2018 at 11:45 AM Jean-Jacques Hiblot <jjhib...@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.
Thanks for testing.
You shouldn't need either SPL_OF_CONTROL or SPL_OF_PLATDATA: the dtb produced for the SPL of omap3_logic_defconfig is empty
You can check with: dtc -I dtb -O dts spl/u-boot-spl.dtb

JJ

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


_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot

Reply via email to