Message ID | 1538660864-30399-1-git-send-email-jjhiblot@ti.com |
---|---|
Headers | show |
Series | DM_I2C_COMPAT removal for all ti platforms | expand |
On Thu, Oct 4, 2018 at 8:48 AM Jean-Jacques Hiblot <jjhiblot@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. Thanks for doing that, but I have some bad news. I started testing omap3_logic from a fresh pull of master, and I applied the entire 19 patch series. I did a distclean, then make omap3_logic, but I am getting build errors: drivers/built-in.o: In function `dev_read_alias_seq': /home/aford/src/u-boot/include/dm/read.h:600: undefined reference to `fdtdec_get_alias_seq' scripts/Makefile.spl:357: recipe for target 'spl/u-boot-spl' failed make[1]: *** [spl/u-boot-spl] Error 1 Makefile:1534: recipe for target 'spl/u-boot-spl' failed make: *** [spl/u-boot-spl] Error 2 The good news is that the main U-Boot built, and I was able to test a few of the PMIC features (like poweroff), but I haven't had a chance to test other PMIC features (like the USB transceiver yet), but I'll do a more thorough test once SPL can correctly build. adam > > 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 > > > > 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: Explicitly enable CONFIG_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/ti/am335x/board.c | 17 +- > board/ti/am335x/mux.c | 14 + > board/ti/am43xx/board.c | 35 +- > 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 | 2 + > 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 +++ > include/asm-generic/global_data.h | 4 + > include/configs/am43xx_evm.h | 2 + > 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 +- > lib/fdtdec.c | 38 ++- > 48 files changed, 1033 insertions(+), 459 deletions(-) > create mode 100644 arch/arm/include/asm/omap_i2c.h > > -- > 2.7.4 >
Adam, On 04/10/2018 23:55, Adam Ford wrote: > On Thu, Oct 4, 2018 at 8:48 AM Jean-Jacques Hiblot <jjhiblot@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. > Thanks for doing that, but I have some bad news. I started testing > omap3_logic from a fresh pull of master, and I applied the entire 19 > patch series. I did a distclean, then make omap3_logic, but I am > getting build errors: > > drivers/built-in.o: In function `dev_read_alias_seq': > /home/aford/src/u-boot/include/dm/read.h:600: undefined reference to > `fdtdec_get_alias_seq' > scripts/Makefile.spl:357: recipe for target 'spl/u-boot-spl' failed > make[1]: *** [spl/u-boot-spl] Error 1 > Makefile:1534: recipe for target 'spl/u-boot-spl' failed > make: *** [spl/u-boot-spl] Error 2 > > The good news is that the main U-Boot built, and I was able to test a > few of the PMIC features (like poweroff), but I haven't had a chance > to test other PMIC features (like the USB transceiver yet), but I'll > do a more thorough test once SPL can correctly build. The quick fix is --- a/drivers/core/device.c +++ b/drivers/core/device.c @@ -79,7 +79,7 @@ static int device_bind_common(struct udevice *parent, const struct driver *drv, * This is just a 'requested' sequence, and will be * resolved (and ->seq updated) when the device is probed. */ - if (CONFIG_IS_ENABLED(OF_CONTROL)) { + if (CONFIG_IS_ENABLED(OF_CONTROL) && !CONFIG_IS_ENABLED(OF_PLATDATA)) { if (uc->uc_drv->name && ofnode_valid(node)) dev_read_alias_seq(dev, &dev->req_seq); } else { --- a/drivers/core/uclass.c +++ b/drivers/core/uclass.c @@ -269,7 +269,7 @@ int uclass_find_device_by_name(enum uclass_id id, const char *name, return -ENODEV; } -#if !CONFIG_IS_ENABLED(OF_CONTROL) +#if !CONFIG_IS_ENABLED(OF_CONTROL) || CONFIG_IS_ENABLED(OF_PLATDATA) int uclass_find_next_free_req_seq(enum uclass_id id) { struct uclass *uc; It will be part of a v2. Thanks for catching this. Can you also try to boot without OF_CONTROL and OF_PLATDATA (basically reverting e3b1aaa4 and 6931ab2f) ? Thanks, JJ > > adam > >> 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 >> >> >> >> 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: Explicitly enable CONFIG_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/ti/am335x/board.c | 17 +- >> board/ti/am335x/mux.c | 14 + >> board/ti/am43xx/board.c | 35 +- >> 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 | 2 + >> 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 +++ >> include/asm-generic/global_data.h | 4 + >> include/configs/am43xx_evm.h | 2 + >> 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 +- >> lib/fdtdec.c | 38 ++- >> 48 files changed, 1033 insertions(+), 459 deletions(-) >> create mode 100644 arch/arm/include/asm/omap_i2c.h >> >> -- >> 2.7.4 >>
Hi JJ, On Thursday 04 October 2018 07:17 PM, Jean-Jacques Hiblot 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 I triggered a Travis-CI buid[1] for this series and there are 2 build failures. Can you check? [1] https://travis-ci.org/lokeshvutla/u-boot/builds/437487725 Thanks and regards, Lokesh
On 05/10/2018 13:59, Lokesh Vutla wrote: > Hi JJ, > > On Thursday 04 October 2018 07:17 PM, Jean-Jacques Hiblot 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 > > I triggered a Travis-CI buid[1] for this series and there are 2 build > failures. Can you check? Should be fixed in the v2. It passes buildman on my machine, but we may not have the same default compiler flags. Thanks, JJ > > [1] https://travis-ci.org/lokeshvutla/u-boot/builds/437487725 > > Thanks and regards, > Lokesh >
On Thu, Oct 4, 2018 at 8:48 AM Jean-Jacques Hiblot <jjhiblot@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 whole series applied and Tested-by: Adam Ford <aford173@gmail.com> #omap3_logic adam > 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: Explicitly enable CONFIG_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/ti/am335x/board.c | 17 +- > board/ti/am335x/mux.c | 14 + > board/ti/am43xx/board.c | 35 +- > 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 | 2 + > 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 +++ > include/asm-generic/global_data.h | 4 + > include/configs/am43xx_evm.h | 2 + > 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 +- > lib/fdtdec.c | 38 ++- > 48 files changed, 1033 insertions(+), 459 deletions(-) > create mode 100644 arch/arm/include/asm/omap_i2c.h > > -- > 2.7.4 >
On 06/10/2018 03:22, Adam Ford wrote: > On Thu, Oct 4, 2018 at 8:48 AM Jean-Jacques Hiblot <jjhiblot@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 whole series applied and > > Tested-by: Adam Ford <aford173@gmail.com> #omap3_logic Thanks for testing but I guess you meant that for v2 not v1 ? JJ > > adam >> 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: Explicitly enable CONFIG_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/ti/am335x/board.c | 17 +- >> board/ti/am335x/mux.c | 14 + >> board/ti/am43xx/board.c | 35 +- >> 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 | 2 + >> 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 +++ >> include/asm-generic/global_data.h | 4 + >> include/configs/am43xx_evm.h | 2 + >> 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 +- >> lib/fdtdec.c | 38 ++- >> 48 files changed, 1033 insertions(+), 459 deletions(-) >> create mode 100644 arch/arm/include/asm/omap_i2c.h >> >> -- >> 2.7.4 >>
On Mon, Oct 8, 2018 at 4:36 AM Jean-Jacques Hiblot <jjhiblot@ti.com> wrote: > > > > On 06/10/2018 03:22, Adam Ford wrote: > > On Thu, Oct 4, 2018 at 8:48 AM Jean-Jacques Hiblot <jjhiblot@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 whole series applied and > > > > Tested-by: Adam Ford <aford173@gmail.com> #omap3_logic > Thanks for testing > but I guess you meant that for v2 not v1 ? Sorry. I did intend that for the V2 patch. Thanks for doing that. I had started on it for the twl4030, but your implemention was a little cleaner than what I was doing. adam > JJ > > > > adam > >> 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: Explicitly enable CONFIG_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/ti/am335x/board.c | 17 +- > >> board/ti/am335x/mux.c | 14 + > >> board/ti/am43xx/board.c | 35 +- > >> 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 | 2 + > >> 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 +++ > >> include/asm-generic/global_data.h | 4 + > >> include/configs/am43xx_evm.h | 2 + > >> 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 +- > >> lib/fdtdec.c | 38 ++- > >> 48 files changed, 1033 insertions(+), 459 deletions(-) > >> create mode 100644 arch/arm/include/asm/omap_i2c.h > >> > >> -- > >> 2.7.4 > >> >