Message ID | 1540217577-11651-1-git-send-email-jjhiblot@ti.com |
---|---|
Headers | show |
Series | DM_I2C_COMPAT removal for all ti platforms | expand |
On Mon, Oct 22, 2018 at 9:13 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 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 applied the entire 19-patch series and it worked for me. Thanks! Tested-by Adam Ford <aford173@gmail.com> #omap3_logic & am3517_evm adam > Changes in v3: > - removed commit introducing dm_i2c_probe_device(). Instead probe the > presence of the chip on the I2C bus in i2c_get_chip_for_busnum(). > - fdtdec_resetup() need not call fdtdec_setup() when only a single DTB is > used. > - Add documentation in README-fdt-control explaining why and how to use > fdtdec_resetup() > > 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: Make i2c_get_chip_for_busnum() fail if the chip is not > detected > 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 | 11 + > 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 + > doc/README.fdt-control | 18 ++ > drivers/core/Kconfig | 12 +- > drivers/core/device.c | 10 +- > drivers/core/root.c | 1 + > drivers/core/uclass.c | 24 ++ > drivers/i2c/i2c-uclass.c | 11 + > drivers/i2c/omap24xx_i2c.c | 467 ++++++++++++++++++--------- > drivers/power/palmas.c | 39 +++ > drivers/power/pmic/pmic_tps62362.c | 24 ++ > drivers/power/pmic/pmic_tps65217.c | 44 ++- > drivers/power/pmic/pmic_tps65218.c | 85 +++++ > drivers/power/pmic/pmic_tps65910.c | 57 +++- > 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 | 21 ++ > 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 | 43 ++- > 52 files changed, 1083 insertions(+), 472 deletions(-) > create mode 100644 arch/arm/include/asm/omap_i2c.h > > -- > 2.7.4 >
On Sat, Oct 27, 2018 at 4:46 PM Adam Ford <aford173@gmail.com> wrote: > > On Mon, Oct 22, 2018 at 9:13 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 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 applied the entire 19-patch series and it worked for me. Thanks! > > Tested-by Adam Ford <aford173@gmail.com> #omap3_logic & am3517_evm > Out of curiosity, are there any pending reasons we cannot apply this? I was hoping to see the warning reminding me that DM_I2C_COMPAT should be removed, and this seems to address that. thanks adam > > adam > > Changes in v3: > > - removed commit introducing dm_i2c_probe_device(). Instead probe the > > presence of the chip on the I2C bus in i2c_get_chip_for_busnum(). > > - fdtdec_resetup() need not call fdtdec_setup() when only a single DTB is > > used. > > - Add documentation in README-fdt-control explaining why and how to use > > fdtdec_resetup() > > > > 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: Make i2c_get_chip_for_busnum() fail if the chip is not > > detected > > 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 | 11 + > > 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 + > > doc/README.fdt-control | 18 ++ > > drivers/core/Kconfig | 12 +- > > drivers/core/device.c | 10 +- > > drivers/core/root.c | 1 + > > drivers/core/uclass.c | 24 ++ > > drivers/i2c/i2c-uclass.c | 11 + > > drivers/i2c/omap24xx_i2c.c | 467 ++++++++++++++++++--------- > > drivers/power/palmas.c | 39 +++ > > drivers/power/pmic/pmic_tps62362.c | 24 ++ > > drivers/power/pmic/pmic_tps65217.c | 44 ++- > > drivers/power/pmic/pmic_tps65218.c | 85 +++++ > > drivers/power/pmic/pmic_tps65910.c | 57 +++- > > 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 | 21 ++ > > 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 | 43 ++- > > 52 files changed, 1083 insertions(+), 472 deletions(-) > > create mode 100644 arch/arm/include/asm/omap_i2c.h > > > > -- > > 2.7.4 > >
Hello Adam, Am 26.11.2018 um 20:18 schrieb Adam Ford: > On Sat, Oct 27, 2018 at 4:46 PM Adam Ford <aford173@gmail.com> wrote: >> >> On Mon, Oct 22, 2018 at 9:13 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 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 applied the entire 19-patch series and it worked for me. Thanks! >> >> Tested-by Adam Ford <aford173@gmail.com> #omap3_logic & am3517_evm >> > > Out of curiosity, are there any pending reasons we cannot apply this? > I was hoping to see the warning reminding me that DM_I2C_COMPAT should > be removed, and this seems to address that. Yes, good question ... v3 looks good to me ... Hmm... I cannot find your patches in patchwork, may this is the reason, why I missed them! Aha, just saved your email to a file ... and see: [...] Subject: [U-Boot] [PATCH v3 01/19] cmd: Kconfig: Do not include EEPROM if DM_I2C is used without DM_I2C_COMPAT X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 [...] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" <u-boot-bounces@lists.denx.de> VGhlIGltcGxlbWVudGF0aW9uIG9mIHRoZSBFRVBST00gY29tbWFuZHMgZG9lcyBub3Qgc3VwcG9y dCB0aGUgRE0gSTJDIEFQSS4KUHJldmVudCBjb21waWxhdGlvbiBicmVha2FnZSBieSBub3QgZW5h [...] May patchwork has problems with: Content-Transfer-Encoding: base64 I also have to find out now, how te get to your patch ... Hmm, seems when I mark all the text in my EMail client and than copy&paste the text into a file, this works ... but doing this is errorprone and makes a lot of work ... May I ask you, if you can resend your series in plain text ? Beside of this I am fine with this patchseries, many thanks for doing this work! You can add my Reviewed-by: Heiko Schocher <hs@denx.de> bye, Heiko > > thanks > > adam >> >> adam >>> Changes in v3: >>> - removed commit introducing dm_i2c_probe_device(). Instead probe the >>> presence of the chip on the I2C bus in i2c_get_chip_for_busnum(). >>> - fdtdec_resetup() need not call fdtdec_setup() when only a single DTB is >>> used. >>> - Add documentation in README-fdt-control explaining why and how to use >>> fdtdec_resetup() >>> >>> 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: Make i2c_get_chip_for_busnum() fail if the chip is not >>> detected >>> 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 | 11 + >>> 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 + >>> doc/README.fdt-control | 18 ++ >>> drivers/core/Kconfig | 12 +- >>> drivers/core/device.c | 10 +- >>> drivers/core/root.c | 1 + >>> drivers/core/uclass.c | 24 ++ >>> drivers/i2c/i2c-uclass.c | 11 + >>> drivers/i2c/omap24xx_i2c.c | 467 ++++++++++++++++++--------- >>> drivers/power/palmas.c | 39 +++ >>> drivers/power/pmic/pmic_tps62362.c | 24 ++ >>> drivers/power/pmic/pmic_tps65217.c | 44 ++- >>> drivers/power/pmic/pmic_tps65218.c | 85 +++++ >>> drivers/power/pmic/pmic_tps65910.c | 57 +++- >>> 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 | 21 ++ >>> 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 | 43 ++- >>> 52 files changed, 1083 insertions(+), 472 deletions(-) >>> create mode 100644 arch/arm/include/asm/omap_i2c.h >>> >>> -- >>> 2.7.4 >>> >
On Tue, Nov 27, 2018 at 11:04 PM Heiko Schocher <hs@denx.de> wrote: > > Hello Adam, > > Am 26.11.2018 um 20:18 schrieb Adam Ford: > > On Sat, Oct 27, 2018 at 4:46 PM Adam Ford <aford173@gmail.com> wrote: > >> > >> On Mon, Oct 22, 2018 at 9:13 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 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 applied the entire 19-patch series and it worked for me. Thanks! > >> > >> Tested-by Adam Ford <aford173@gmail.com> #omap3_logic & am3517_evm > >> > > > > Out of curiosity, are there any pending reasons we cannot apply this? > > I was hoping to see the warning reminding me that DM_I2C_COMPAT should > > be removed, and this seems to address that. > > Yes, good question ... v3 looks good to me ... Hmm... I cannot find > your patches in patchwork, may this is the reason, why I missed them! > > Aha, just saved your email to a file ... and see: > [...] > Subject: [U-Boot] [PATCH v3 01/19] cmd: Kconfig: Do not include EEPROM if DM_I2C is used > without DM_I2C_COMPAT > X-BeenThere: u-boot@lists.denx.de > X-Mailman-Version: 2.1.18 > [...] > Content-Type: text/plain; charset="utf-8" > Content-Transfer-Encoding: base64 > Errors-To: u-boot-bounces@lists.denx.de > Sender: "U-Boot" <u-boot-bounces@lists.denx.de> > > VGhlIGltcGxlbWVudGF0aW9uIG9mIHRoZSBFRVBST00gY29tbWFuZHMgZG9lcyBub3Qgc3VwcG9y > dCB0aGUgRE0gSTJDIEFQSS4KUHJldmVudCBjb21waWxhdGlvbiBicmVha2FnZSBieSBub3QgZW5h > [...] > > May patchwork has problems with: > > Content-Transfer-Encoding: base64 > > I also have to find out now, how te get to your patch ... Hmm, > seems when I mark all the text in my EMail client and than copy&paste > the text into a file, this works ... but doing this is errorprone > and makes a lot of work ... > > May I ask you, if you can resend your series in plain text ? > Jean-Jacques - Can you comment and/or resend? I'd love to see these patches applied. Thanks adam > Beside of this I am fine with this patchseries, many thanks for > doing this work! You can add my > > Reviewed-by: Heiko Schocher <hs@denx.de> > > bye, > Heiko > > > > thanks > > > > adam > >> > >> adam > >>> Changes in v3: > >>> - removed commit introducing dm_i2c_probe_device(). Instead probe the > >>> presence of the chip on the I2C bus in i2c_get_chip_for_busnum(). > >>> - fdtdec_resetup() need not call fdtdec_setup() when only a single DTB is > >>> used. > >>> - Add documentation in README-fdt-control explaining why and how to use > >>> fdtdec_resetup() > >>> > >>> 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: Make i2c_get_chip_for_busnum() fail if the chip is not > >>> detected > >>> 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 | 11 + > >>> 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 + > >>> doc/README.fdt-control | 18 ++ > >>> drivers/core/Kconfig | 12 +- > >>> drivers/core/device.c | 10 +- > >>> drivers/core/root.c | 1 + > >>> drivers/core/uclass.c | 24 ++ > >>> drivers/i2c/i2c-uclass.c | 11 + > >>> drivers/i2c/omap24xx_i2c.c | 467 ++++++++++++++++++--------- > >>> drivers/power/palmas.c | 39 +++ > >>> drivers/power/pmic/pmic_tps62362.c | 24 ++ > >>> drivers/power/pmic/pmic_tps65217.c | 44 ++- > >>> drivers/power/pmic/pmic_tps65218.c | 85 +++++ > >>> drivers/power/pmic/pmic_tps65910.c | 57 +++- > >>> 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 | 21 ++ > >>> 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 | 43 ++- > >>> 52 files changed, 1083 insertions(+), 472 deletions(-) > >>> create mode 100644 arch/arm/include/asm/omap_i2c.h > >>> > >>> -- > >>> 2.7.4 > >>> > > > > -- > DENX Software Engineering GmbH, Managing Director: Wolfgang Denk > HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany > Phone: +49-8142-66989-52 Fax: +49-8142-66989-80 Email: hs@denx.de
On 06/12/2018 19:40, Adam Ford wrote: > On Tue, Nov 27, 2018 at 11:04 PM Heiko Schocher <hs@denx.de> wrote: >> Hello Adam, >> >> Am 26.11.2018 um 20:18 schrieb Adam Ford: >>> On Sat, Oct 27, 2018 at 4:46 PM Adam Ford <aford173@gmail.com> wrote: >>>> On Mon, Oct 22, 2018 at 9:13 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 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 applied the entire 19-patch series and it worked for me. Thanks! >>>> >>>> Tested-by Adam Ford <aford173@gmail.com> #omap3_logic & am3517_evm >>>> >>> Out of curiosity, are there any pending reasons we cannot apply this? >>> I was hoping to see the warning reminding me that DM_I2C_COMPAT should >>> be removed, and this seems to address that. >> Yes, good question ... v3 looks good to me ... Hmm... I cannot find >> your patches in patchwork, may this is the reason, why I missed them! >> >> Aha, just saved your email to a file ... and see: >> [...] >> Subject: [U-Boot] [PATCH v3 01/19] cmd: Kconfig: Do not include EEPROM if DM_I2C is used >> without DM_I2C_COMPAT >> X-BeenThere: u-boot@lists.denx.de >> X-Mailman-Version: 2.1.18 >> [...] >> Content-Type: text/plain; charset="utf-8" >> Content-Transfer-Encoding: base64 >> Errors-To: u-boot-bounces@lists.denx.de >> Sender: "U-Boot" <u-boot-bounces@lists.denx.de> >> >> VGhlIGltcGxlbWVudGF0aW9uIG9mIHRoZSBFRVBST00gY29tbWFuZHMgZG9lcyBub3Qgc3VwcG9y >> dCB0aGUgRE0gSTJDIEFQSS4KUHJldmVudCBjb21waWxhdGlvbiBicmVha2FnZSBieSBub3QgZW5h >> [...] >> >> May patchwork has problems with: >> >> Content-Transfer-Encoding: base64 >> >> I also have to find out now, how te get to your patch ... Hmm, >> seems when I mark all the text in my EMail client and than copy&paste >> the text into a file, this works ... but doing this is errorprone >> and makes a lot of work ... >> >> May I ask you, if you can resend your series in plain text ? >> > Jean-Jacques - > > Can you comment and/or resend? > > I'd love to see these patches applied. Me too. resending this series now. JJ > > Thanks > > adam >> Beside of this I am fine with this patchseries, many thanks for >> doing this work! You can add my >> >> Reviewed-by: Heiko Schocher <hs@denx.de> >> >> bye, >> Heiko >>> thanks >>> >>> adam >>>> adam >>>>> Changes in v3: >>>>> - removed commit introducing dm_i2c_probe_device(). Instead probe the >>>>> presence of the chip on the I2C bus in i2c_get_chip_for_busnum(). >>>>> - fdtdec_resetup() need not call fdtdec_setup() when only a single DTB is >>>>> used. >>>>> - Add documentation in README-fdt-control explaining why and how to use >>>>> fdtdec_resetup() >>>>> >>>>> 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: Make i2c_get_chip_for_busnum() fail if the chip is not >>>>> detected >>>>> 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 | 11 + >>>>> 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 + >>>>> doc/README.fdt-control | 18 ++ >>>>> drivers/core/Kconfig | 12 +- >>>>> drivers/core/device.c | 10 +- >>>>> drivers/core/root.c | 1 + >>>>> drivers/core/uclass.c | 24 ++ >>>>> drivers/i2c/i2c-uclass.c | 11 + >>>>> drivers/i2c/omap24xx_i2c.c | 467 ++++++++++++++++++--------- >>>>> drivers/power/palmas.c | 39 +++ >>>>> drivers/power/pmic/pmic_tps62362.c | 24 ++ >>>>> drivers/power/pmic/pmic_tps65217.c | 44 ++- >>>>> drivers/power/pmic/pmic_tps65218.c | 85 +++++ >>>>> drivers/power/pmic/pmic_tps65910.c | 57 +++- >>>>> 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 | 21 ++ >>>>> 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 | 43 ++- >>>>> 52 files changed, 1083 insertions(+), 472 deletions(-) >>>>> create mode 100644 arch/arm/include/asm/omap_i2c.h >>>>> >>>>> -- >>>>> 2.7.4 >>>>> >> -- >> DENX Software Engineering GmbH, Managing Director: Wolfgang Denk >> HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany >> Phone: +49-8142-66989-52 Fax: +49-8142-66989-80 Email: hs@denx.de