
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