[U-Boot] [PATCH 0/6] trats2: remove the unused codes

Trats2 didn't support the driver-model fully. This patchset is a first step to support driver-model. First, remove the unused codes and functions. Second, enable the configuration relevant to pmic.
NOTE: In future, other legacy model will be convert to driver-model.
Jaehoon Chung (6): arm: dts: trats2: add the i2c-gpio nodes board: samsung: trats2: remove the board_i2c_init() function configs: trats2: enable CONFIG_DM_I2C_GPIO board: samsung: trats2: remove the unused functions configs: trats2: enable the configuration relevant to PMIC board: samsung: trats2: remove the board_power_init() function
arch/arm/dts/exynos4412-trats2.dts | 18 +++++++ board/samsung/trats2/trats2.c | 104 ------------------------------------- configs/trats2_defconfig | 4 ++ 3 files changed, 22 insertions(+), 104 deletions(-)

Add the i2c-gpio nodes for fuelgauge and max77693. There are i2c8 and i2c9.
Signed-off-by: Jaehoon Chung jh80.chung@samsung.com --- arch/arm/dts/exynos4412-trats2.dts | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+)
diff --git a/arch/arm/dts/exynos4412-trats2.dts b/arch/arm/dts/exynos4412-trats2.dts index 1fbcf89..fd9e48c 100644 --- a/arch/arm/dts/exynos4412-trats2.dts +++ b/arch/arm/dts/exynos4412-trats2.dts @@ -27,6 +27,8 @@ i2c5 = "/i2c@138b0000"; i2c6 = "/i2c@138c0000"; i2c7 = "/i2c@138d0000"; + i2c8 = &i2c_fg; + i2c9 = &i2c_max77693; serial0 = "/serial@13800000"; console = "/serial@13820000"; mmc0 = "/sdhci@12510000"; @@ -34,6 +36,22 @@ mshc0 = "/dwmmc@12550000"; };
+ i2c_fg: fuel-gauge { + compatible = "i2c-gpio"; + gpios = <&gpf1 5 0>, /* sda */ + <&gpf1 4 0>; /* scl */ + i2c-gpio,delay-us = <2>; /* ~100 kHz */ + status = "okay"; + }; + + i2c_max77693: max77693 { + compatible = "i2c-gpio"; + gpio = <&gpm2 0 0>, /* sda */ + <&gpm2 1 0>; /* scl */ + i2c-gpio,delay-us = <2>; /* ~100 kHz */ + status = "okay"; + }; + i2c@138d0000 { samsung,i2c-sda-delay = <100>; samsung,i2c-slave-addr = <0x10>;

Remove the board_i2c_init() function. i2c should be initialized with device-tree file.
Signed-off-by: Jaehoon Chung jh80.chung@samsung.com --- board/samsung/trats2/trats2.c | 29 ----------------------------- 1 file changed, 29 deletions(-)
diff --git a/board/samsung/trats2/trats2.c b/board/samsung/trats2/trats2.c index 150503e..2920619 100644 --- a/board/samsung/trats2/trats2.c +++ b/board/samsung/trats2/trats2.c @@ -100,32 +100,6 @@ static void board_external_gpio_init(void) gpio_set_pull(EXYNOS4X12_GPIO_X37, S5P_GPIO_PULL_NONE); /* HDMI_HPD */ }
-#ifdef CONFIG_SYS_I2C_INIT_BOARD -static void board_init_i2c(void) -{ - int err; - - /* I2C_7 */ - err = exynos_pinmux_config(PERIPH_ID_I2C7, PINMUX_FLAG_NONE); - if (err) { - debug("I2C%d not configured\n", (I2C_7)); - return; - } - - /* I2C_8 */ - gpio_request(EXYNOS4X12_GPIO_F14, "i2c8_clk"); - gpio_request(EXYNOS4X12_GPIO_F15, "i2c8_data"); - gpio_direction_output(EXYNOS4X12_GPIO_F14, 1); - gpio_direction_output(EXYNOS4X12_GPIO_F15, 1); - - /* I2C_9 */ - gpio_request(EXYNOS4X12_GPIO_M21, "i2c9_clk"); - gpio_request(EXYNOS4X12_GPIO_M20, "i2c9_data"); - gpio_direction_output(EXYNOS4X12_GPIO_M21, 1); - gpio_direction_output(EXYNOS4X12_GPIO_M20, 1); -} -#endif - #ifdef CONFIG_SYS_I2C_SOFT int get_soft_i2c_scl_pin(void) { @@ -179,9 +153,6 @@ int exynos_power_init(void) struct power_battery *pb; struct pmic *p_chrg, *p_muic, *p_fg, *p_bat;
-#ifdef CONFIG_SYS_I2C_INIT_BOARD - board_init_i2c(); -#endif pmic_init(I2C_7); /* I2C adapter 7 - bus name s3c24x0_7 */ pmic_init_max77686(); pmic_init_max77693(I2C_10); /* I2C adapter 10 - bus name soft1 */

Enable the CONFIG_DM_I2C_GPIO for using i2c-gpio.
Signed-off-by: Jaehoon Chung jh80.chung@samsung.com --- configs/trats2_defconfig | 1 + 1 file changed, 1 insertion(+)
diff --git a/configs/trats2_defconfig b/configs/trats2_defconfig index ab76aa3..6c7b341 100644 --- a/configs/trats2_defconfig +++ b/configs/trats2_defconfig @@ -34,6 +34,7 @@ CONFIG_CMD_FAT=y CONFIG_CMD_FS_GENERIC=y CONFIG_ISO_PARTITION=y CONFIG_OF_CONTROL=y +CONFIG_DM_I2C_GPIO=y CONFIG_DFU_MMC=y CONFIG_MMC_DW=y CONFIG_MMC_SDHCI=y

Remove the unused functions. Never call the get_soft_i2c_scl/sda_pin() aynwhere.
Signed-off-by: Jaehoon Chung jh80.chung@samsung.com --- board/samsung/trats2/trats2.c | 18 ------------------ 1 file changed, 18 deletions(-)
diff --git a/board/samsung/trats2/trats2.c b/board/samsung/trats2/trats2.c index 2920619..30877e9 100644 --- a/board/samsung/trats2/trats2.c +++ b/board/samsung/trats2/trats2.c @@ -100,24 +100,6 @@ static void board_external_gpio_init(void) gpio_set_pull(EXYNOS4X12_GPIO_X37, S5P_GPIO_PULL_NONE); /* HDMI_HPD */ }
-#ifdef CONFIG_SYS_I2C_SOFT -int get_soft_i2c_scl_pin(void) -{ - if (I2C_ADAP_HWNR) - return EXYNOS4X12_GPIO_M21; /* I2C9 */ - else - return EXYNOS4X12_GPIO_F14; /* I2C8 */ -} - -int get_soft_i2c_sda_pin(void) -{ - if (I2C_ADAP_HWNR) - return EXYNOS4X12_GPIO_M20; /* I2C9 */ - else - return EXYNOS4X12_GPIO_F15; /* I2C8 */ -} -#endif - int exynos_early_init_f(void) { board_external_gpio_init();

Enable CONFIG_DM_I2C, CONFIG_DM_PMIC_MAX77686 and CONFIG_SYS_I2C_S3C24X0.
Signed-off-by: Jaehoon Chung jh80.chung@samsung.com --- configs/trats2_defconfig | 3 +++ 1 file changed, 3 insertions(+)
diff --git a/configs/trats2_defconfig b/configs/trats2_defconfig index 6c7b341..6f9bdb2 100644 --- a/configs/trats2_defconfig +++ b/configs/trats2_defconfig @@ -40,6 +40,9 @@ CONFIG_MMC_DW=y CONFIG_MMC_SDHCI=y CONFIG_MMC_SDHCI_SDMA=y CONFIG_MMC_SDHCI_S5P=y +CONFIG_DM_PMIC=y +CONFIG_DM_PMIC_MAX77686=y +CONFIG_SYS_I2C_S3C24X0=y CONFIG_USB=y CONFIG_DM_USB=y CONFIG_USB_GADGET=y

Remove the board_power_init() function. It will be initialized with device-tree. In future, it will be controlled with regulator API.
Signed-off-by: Jaehoon Chung jh80.chung@samsung.com --- board/samsung/trats2/trats2.c | 57 ------------------------------------------- 1 file changed, 57 deletions(-)
diff --git a/board/samsung/trats2/trats2.c b/board/samsung/trats2/trats2.c index 30877e9..f9acbd3 100644 --- a/board/samsung/trats2/trats2.c +++ b/board/samsung/trats2/trats2.c @@ -135,8 +135,6 @@ int exynos_power_init(void) struct power_battery *pb; struct pmic *p_chrg, *p_muic, *p_fg, *p_bat;
- pmic_init(I2C_7); /* I2C adapter 7 - bus name s3c24x0_7 */ - pmic_init_max77686(); pmic_init_max77693(I2C_10); /* I2C adapter 10 - bus name soft1 */ power_muic_init(I2C_10); /* I2C adapter 10 - bus name soft1 */ power_fg_init(I2C_9); /* I2C adapter 9 - bus name soft0 */ @@ -284,61 +282,6 @@ int g_dnl_board_usb_cable_connected(void) } #endif
-#ifndef CONFIG_DM_I2C /* TODO(maintainer): Convert to driver model */ -static int pmic_init_max77686(void) -{ - struct pmic *p = pmic_get("MAX77686_PMIC"); - - if (pmic_probe(p)) - return -1; - - /* BUCK/LDO Output Voltage */ - max77686_set_ldo_voltage(p, 21, 2800000); /* LDO21 VTF_2.8V */ - max77686_set_ldo_voltage(p, 23, 3300000); /* LDO23 TSP_AVDD_3.3V*/ - max77686_set_ldo_voltage(p, 24, 1800000); /* LDO24 TSP_VDD_1.8V */ - - /* BUCK/LDO Output Mode */ - max77686_set_buck_mode(p, 1, OPMODE_STANDBY); /* BUCK1 VMIF_1.1V_AP */ - max77686_set_buck_mode(p, 2, OPMODE_ON); /* BUCK2 VARM_1.0V_AP */ - max77686_set_buck_mode(p, 3, OPMODE_ON); /* BUCK3 VINT_1.0V_AP */ - max77686_set_buck_mode(p, 4, OPMODE_ON); /* BUCK4 VG3D_1.0V_AP */ - max77686_set_buck_mode(p, 5, OPMODE_ON); /* BUCK5 VMEM_1.2V_AP */ - max77686_set_buck_mode(p, 6, OPMODE_ON); /* BUCK6 VCC_SUB_1.35V*/ - max77686_set_buck_mode(p, 7, OPMODE_ON); /* BUCK7 VCC_SUB_2.0V */ - max77686_set_buck_mode(p, 8, OPMODE_OFF); /* VMEM_VDDF_2.85V */ - max77686_set_buck_mode(p, 9, OPMODE_OFF); /* CAM_ISP_CORE_1.2V*/ - - max77686_set_ldo_mode(p, 1, OPMODE_LPM); /* LDO1 VALIVE_1.0V_AP*/ - max77686_set_ldo_mode(p, 2, OPMODE_STANDBY); /* LDO2 VM1M2_1.2V_AP */ - max77686_set_ldo_mode(p, 3, OPMODE_LPM); /* LDO3 VCC_1.8V_AP */ - max77686_set_ldo_mode(p, 4, OPMODE_LPM); /* LDO4 VCC_2.8V_AP */ - max77686_set_ldo_mode(p, 5, OPMODE_OFF); /* LDO5_VCC_1.8V_IO */ - max77686_set_ldo_mode(p, 6, OPMODE_STANDBY); /* LDO6 VMPLL_1.0V_AP */ - max77686_set_ldo_mode(p, 7, OPMODE_STANDBY); /* LDO7 VPLL_1.0V_AP */ - max77686_set_ldo_mode(p, 8, OPMODE_LPM); /* LDO8 VMIPI_1.0V_AP */ - max77686_set_ldo_mode(p, 9, OPMODE_OFF); /* CAM_ISP_MIPI_1.2*/ - max77686_set_ldo_mode(p, 10, OPMODE_LPM); /* LDO10 VMIPI_1.8V_AP*/ - max77686_set_ldo_mode(p, 11, OPMODE_STANDBY); /* LDO11 VABB1_1.8V_AP*/ - max77686_set_ldo_mode(p, 12, OPMODE_LPM); /* LDO12 VUOTG_3.0V_AP*/ - max77686_set_ldo_mode(p, 13, OPMODE_OFF); /* LDO13 VC2C_1.8V_AP */ - max77686_set_ldo_mode(p, 14, OPMODE_STANDBY); /* VABB02_1.8V_AP */ - max77686_set_ldo_mode(p, 15, OPMODE_STANDBY); /* LDO15 VHSIC_1.0V_AP*/ - max77686_set_ldo_mode(p, 16, OPMODE_STANDBY); /* LDO16 VHSIC_1.8V_AP*/ - max77686_set_ldo_mode(p, 17, OPMODE_OFF); /* CAM_SENSOR_CORE_1.2*/ - max77686_set_ldo_mode(p, 18, OPMODE_OFF); /* CAM_ISP_SEN_IO_1.8V*/ - max77686_set_ldo_mode(p, 19, OPMODE_OFF); /* LDO19 VT_CAM_1.8V */ - max77686_set_ldo_mode(p, 20, OPMODE_ON); /* LDO20 VDDQ_PRE_1.8V*/ - max77686_set_ldo_mode(p, 21, OPMODE_OFF); /* LDO21 VTF_2.8V */ - max77686_set_ldo_mode(p, 22, OPMODE_OFF); /* LDO22 VMEM_VDD_2.8V*/ - max77686_set_ldo_mode(p, 23, OPMODE_OFF); /* LDO23 TSP_AVDD_3.3V*/ - max77686_set_ldo_mode(p, 24, OPMODE_OFF); /* LDO24 TSP_VDD_1.8V */ - max77686_set_ldo_mode(p, 25, OPMODE_OFF); /* LDO25 VCC_3.3V_LCD */ - max77686_set_ldo_mode(p, 26, OPMODE_OFF); /*LDO26 VCC_3.0V_MOTOR*/ - - return 0; -} -#endif - /* * LCD */

Hi Jaehoon,
Trats2 didn't support the driver-model fully. This patchset is a first step to support driver-model. First, remove the unused codes and functions. Second, enable the configuration relevant to pmic.
Acked-by: Lukasz Majewski lukma@denx.de
NOTE: In future, other legacy model will be convert to driver-model.
Jaehoon Chung (6): arm: dts: trats2: add the i2c-gpio nodes board: samsung: trats2: remove the board_i2c_init() function configs: trats2: enable CONFIG_DM_I2C_GPIO board: samsung: trats2: remove the unused functions configs: trats2: enable the configuration relevant to PMIC board: samsung: trats2: remove the board_power_init() function
arch/arm/dts/exynos4412-trats2.dts | 18 +++++++ board/samsung/trats2/trats2.c | 104
configs/trats2_defconfig | 4 ++ 3 files changed, 22 insertions(+), 104 deletions(-)
Best regards,
Lukasz Majewski
--
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd@denx.de

Hi,
2017년 4월 3일 (월) 19:52, Lukasz Majewski lukma@denx.de님이 작성:
Hi Jaehoon,
Trats2 didn't support the driver-model fully. This patchset is a first step to support driver-model. First, remove the unused codes and functions. Second, enable the configuration relevant to pmic.
Acked-by: Lukasz Majewski lukma@denx.de
NOTE: In future, other legacy model will be convert to driver-model.
Jaehoon Chung (6): arm: dts: trats2: add the i2c-gpio nodes board: samsung: trats2: remove the board_i2c_init() function configs: trats2: enable CONFIG_DM_I2C_GPIO board: samsung: trats2: remove the unused functions configs: trats2: enable the configuration relevant to PMIC board: samsung: trats2: remove the board_power_init() function
arch/arm/dts/exynos4412-trats2.dts | 18 +++++++ board/samsung/trats2/trats2.c | 104
configs/trats2_defconfig | 4 ++ 3 files changed, 22 insertions(+), 104 deletions(-)
Best regards,
Lukasz Majewski
--
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd@denx.de _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
applied to u-boot-samsung
Thanks, Minkyu Kang
participants (3)
-
Jaehoon Chung
-
Lukasz Majewski
-
Minkyu Kang