diff mbox

[U-Boot,6/6] cros_ec: exynos: Use the correct tps65090 driver in each case

Message ID 1404749802-22450-6-git-send-email-sjg@chromium.org
State Superseded
Delegated to: Minkyu Kang
Headers show

Commit Message

Simon Glass July 7, 2014, 4:16 p.m. UTC
Exynos 5250 boards (snow, spring) use the I2C driver but Exynos 5420 boards
cannot due to a hardware design decision. Select out the correct driver to
use in each case.

Signed-off-by: Simon Glass <sjg@chromium.org>
---

 board/samsung/common/board.c    | 6 ++++++
 drivers/power/pmic/Makefile     | 2 +-
 include/configs/exynos5250-dt.h | 1 +
 include/configs/peach-pit.h     | 2 ++
 include/configs/smdk5420.h      | 2 ++
 5 files changed, 12 insertions(+), 1 deletion(-)

Comments

Ajay kumar July 8, 2014, 6:13 a.m. UTC | #1
On Mon, Jul 7, 2014 at 9:46 PM, Simon Glass <sjg@chromium.org> wrote:
> Exynos 5250 boards (snow, spring) use the I2C driver but Exynos 5420 boards
> cannot due to a hardware design decision. Select out the correct driver to
> use in each case.
>
> Signed-off-by: Simon Glass <sjg@chromium.org>
> ---
>
>  board/samsung/common/board.c    | 6 ++++++
>  drivers/power/pmic/Makefile     | 2 +-
>  include/configs/exynos5250-dt.h | 1 +
>  include/configs/peach-pit.h     | 2 ++
>  include/configs/smdk5420.h      | 2 ++
>  5 files changed, 12 insertions(+), 1 deletion(-)
>
> diff --git a/board/samsung/common/board.c b/board/samsung/common/board.c
> index 9dc7c83..108c82b 100644
> --- a/board/samsung/common/board.c
> +++ b/board/samsung/common/board.c
> @@ -21,6 +21,7 @@
>  #include <asm/arch/pinmux.h>
>  #include <asm/arch/power.h>
>  #include <power/pmic.h>
> +#include <power/tps65090_pmic.h>
>  #include <asm/arch/sromc.h>
>  #include <lcd.h>
>  #include <samsung/misc.h>
> @@ -157,6 +158,11 @@ int power_init_board(void)
>  {
>         set_ps_hold_ctrl();
>
> +#ifdef CONFIG_POWER_TPS65090
> +       tps65090_fet_enable(1); /* Enable FET1, backlight */
> +       tps65090_fet_enable(6); /* Enable FET6, lcd panel */
> +#endif
> +
>         return exynos_power_init();
>  }
>  #endif
> diff --git a/drivers/power/pmic/Makefile b/drivers/power/pmic/Makefile
> index 0b76611..e7b07eb 100644
> --- a/drivers/power/pmic/Makefile
> +++ b/drivers/power/pmic/Makefile
> @@ -11,7 +11,7 @@ obj-$(CONFIG_POWER_MAX8997) += pmic_max8997.o
>  obj-$(CONFIG_POWER_MUIC_MAX8997) += muic_max8997.o
>  obj-$(CONFIG_POWER_MAX77686) += pmic_max77686.o
>  obj-$(CONFIG_POWER_PFUZE100) += pmic_pfuze100.o
> -obj-$(CONFIG_POWER_TPS65090) += pmic_tps65090.o
> +obj-$(CONFIG_POWER_TPS65090_I2C) += pmic_tps65090.o
>  obj-$(CONFIG_POWER_TPS65090_EC) += pmic_tps65090_ec.o
>  obj-$(CONFIG_POWER_TPS65217) += pmic_tps65217.o
>  obj-$(CONFIG_POWER_TPS65218) += pmic_tps65218.o
> diff --git a/include/configs/exynos5250-dt.h b/include/configs/exynos5250-dt.h
> index 74e72a5..2c0df29 100644
> --- a/include/configs/exynos5250-dt.h
> +++ b/include/configs/exynos5250-dt.h
> @@ -42,6 +42,7 @@
>
>  /* PMIC */
>  #define CONFIG_POWER_MAX77686
> +#define CONFIG_POWER_TPS65090_I2C
>
>  /* Sound */
>  #define CONFIG_CMD_SOUND
> diff --git a/include/configs/peach-pit.h b/include/configs/peach-pit.h
> index 76b8d7a..41ccd10 100644
> --- a/include/configs/peach-pit.h
> +++ b/include/configs/peach-pit.h
> @@ -22,4 +22,6 @@
>  #define CONFIG_SYS_PROMPT      "Peach # "
>  #define CONFIG_IDENT_STRING    " for Peach"
>
> +#define CONFIG_POWER_TPS65090_EC
> +
>  #endif /* __CONFIG_PEACH_PIT_H */
> diff --git a/include/configs/smdk5420.h b/include/configs/smdk5420.h
> index 606739b..39d235c 100644
> --- a/include/configs/smdk5420.h
> +++ b/include/configs/smdk5420.h
> @@ -24,4 +24,6 @@
>  #define CONFIG_SYS_PROMPT      "SMDK5420 # "
>  #define CONFIG_IDENT_STRING    " for SMDK5420"
>
> +#define CONFIG_POWER_TPS65090_EC
> +
>  #endif /* __CONFIG_SMDK5420_H */
> --
> 2.0.0.526.g5318336
>
> _______________________________________________
> U-Boot mailing list
> U-Boot@lists.denx.de
> http://lists.denx.de/mailman/listinfo/u-boot
Able to test display on peach_pit(which needs tps65090) with these patches.
Also, crosec commands from u-boot prompt works as expected on peach_pit.

Tested-by: Ajay Kumar <ajaykumar.rs@samsung.com>
diff mbox

Patch

diff --git a/board/samsung/common/board.c b/board/samsung/common/board.c
index 9dc7c83..108c82b 100644
--- a/board/samsung/common/board.c
+++ b/board/samsung/common/board.c
@@ -21,6 +21,7 @@ 
 #include <asm/arch/pinmux.h>
 #include <asm/arch/power.h>
 #include <power/pmic.h>
+#include <power/tps65090_pmic.h>
 #include <asm/arch/sromc.h>
 #include <lcd.h>
 #include <samsung/misc.h>
@@ -157,6 +158,11 @@  int power_init_board(void)
 {
 	set_ps_hold_ctrl();
 
+#ifdef CONFIG_POWER_TPS65090
+	tps65090_fet_enable(1); /* Enable FET1, backlight */
+	tps65090_fet_enable(6); /* Enable FET6, lcd panel */
+#endif
+
 	return exynos_power_init();
 }
 #endif
diff --git a/drivers/power/pmic/Makefile b/drivers/power/pmic/Makefile
index 0b76611..e7b07eb 100644
--- a/drivers/power/pmic/Makefile
+++ b/drivers/power/pmic/Makefile
@@ -11,7 +11,7 @@  obj-$(CONFIG_POWER_MAX8997) += pmic_max8997.o
 obj-$(CONFIG_POWER_MUIC_MAX8997) += muic_max8997.o
 obj-$(CONFIG_POWER_MAX77686) += pmic_max77686.o
 obj-$(CONFIG_POWER_PFUZE100) += pmic_pfuze100.o
-obj-$(CONFIG_POWER_TPS65090) += pmic_tps65090.o
+obj-$(CONFIG_POWER_TPS65090_I2C) += pmic_tps65090.o
 obj-$(CONFIG_POWER_TPS65090_EC) += pmic_tps65090_ec.o
 obj-$(CONFIG_POWER_TPS65217) += pmic_tps65217.o
 obj-$(CONFIG_POWER_TPS65218) += pmic_tps65218.o
diff --git a/include/configs/exynos5250-dt.h b/include/configs/exynos5250-dt.h
index 74e72a5..2c0df29 100644
--- a/include/configs/exynos5250-dt.h
+++ b/include/configs/exynos5250-dt.h
@@ -42,6 +42,7 @@ 
 
 /* PMIC */
 #define CONFIG_POWER_MAX77686
+#define CONFIG_POWER_TPS65090_I2C
 
 /* Sound */
 #define CONFIG_CMD_SOUND
diff --git a/include/configs/peach-pit.h b/include/configs/peach-pit.h
index 76b8d7a..41ccd10 100644
--- a/include/configs/peach-pit.h
+++ b/include/configs/peach-pit.h
@@ -22,4 +22,6 @@ 
 #define CONFIG_SYS_PROMPT	"Peach # "
 #define CONFIG_IDENT_STRING	" for Peach"
 
+#define CONFIG_POWER_TPS65090_EC
+
 #endif	/* __CONFIG_PEACH_PIT_H */
diff --git a/include/configs/smdk5420.h b/include/configs/smdk5420.h
index 606739b..39d235c 100644
--- a/include/configs/smdk5420.h
+++ b/include/configs/smdk5420.h
@@ -24,4 +24,6 @@ 
 #define CONFIG_SYS_PROMPT	"SMDK5420 # "
 #define CONFIG_IDENT_STRING	" for SMDK5420"
 
+#define CONFIG_POWER_TPS65090_EC
+
 #endif	/* __CONFIG_SMDK5420_H */