From patchwork Mon Oct 22 14:12:38 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jean-Jacques Hiblot X-Patchwork-Id: 987759 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=quarantine dis=none) header.from=ti.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=ti.com header.i=@ti.com header.b="HpZ/NV3R"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 42dzKx10NZz9sDr for ; Tue, 23 Oct 2018 01:24:21 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id DB4C4C21E08; Mon, 22 Oct 2018 14:20:46 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=KHOP_BIG_TO_CC, T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id 24031C21DF8; Mon, 22 Oct 2018 14:18:16 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id EEA17C21C2C; Mon, 22 Oct 2018 14:13:33 +0000 (UTC) Received: from lelv0143.ext.ti.com (lelv0143.ext.ti.com [198.47.23.248]) by lists.denx.de (Postfix) with ESMTPS id 30A5BC21CB1 for ; Mon, 22 Oct 2018 14:13:29 +0000 (UTC) Received: from dlelxv90.itg.ti.com ([172.17.2.17]) by lelv0143.ext.ti.com (8.15.2/8.15.2) with ESMTP id w9MED0Rh091309; Mon, 22 Oct 2018 09:13:00 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ti.com; s=ti-com-17Q1; t=1540217580; bh=6eQ7IJWcKNKs1JxGyxCQcAGl/OYiaZV+V06Auh5ofU4=; h=From:To:CC:Subject:Date; b=HpZ/NV3RTpbTTc8q/zhAGUfQew8xZNpHw5gcZsMgb2QXnwNNcOoctaSZCOiN5dW6F SvRmbCGByzGt1DUng+lAijyOUloZyFdb/iqw7qw+Peye/ShnkNFOMbeM8YCGptZX5S /HlptmyhbMS4mkezjrvfV2y5Hc5ktpkw9gz3uAKQ= Received: from DFLE109.ent.ti.com (dfle109.ent.ti.com [10.64.6.30]) by dlelxv90.itg.ti.com (8.14.3/8.13.8) with ESMTP id w9MED03E015534; Mon, 22 Oct 2018 09:13:00 -0500 Received: from DFLE114.ent.ti.com (10.64.6.35) by DFLE109.ent.ti.com (10.64.6.30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1466.3; Mon, 22 Oct 2018 09:13:00 -0500 Received: from dflp32.itg.ti.com (10.64.6.15) by DFLE114.ent.ti.com (10.64.6.35) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.1466.3 via Frontend Transport; Mon, 22 Oct 2018 09:13:00 -0500 Received: from localhost (ileax41-snat.itg.ti.com [10.172.224.153]) by dflp32.itg.ti.com (8.14.3/8.13.8) with ESMTP id w9MECxSX013618; Mon, 22 Oct 2018 09:12:59 -0500 From: Jean-Jacques Hiblot To: , Date: Mon, 22 Oct 2018 16:12:38 +0200 Message-ID: <1540217577-11651-1-git-send-email-jjhiblot@ti.com> X-Mailer: git-send-email 2.7.4 MIME-Version: 1.0 X-EXCLAIMER-MD-CONFIG: e1e8a2fd-e40a-4ac6-ac9b-f7e9cc9ee180 X-Mailman-Approved-At: Mon, 22 Oct 2018 14:18:13 +0000 Cc: Joe Hershberger , Miquel Raynal , Chris Packham , Jagan Teki , Michal Simek , Russ Dill , Nicholas Faustini , Vitaly Andrianov , Vadim Bendebury , u-boot@lists.denx.de, Tero Kristo , Heinrich Schuchardt , Maxime Ripard Subject: [U-Boot] [PATCH v3 00/19] DM_I2C_COMPAT removal for all ti platforms X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" 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. 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 Reviewed-by: Heiko Schocher