summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Harvey <tharvey@gateworks.com>2015-05-08 18:28:37 -0700
committerStefano Babic <sbabic@denx.de>2015-05-15 19:21:25 +0200
commit6d38f3a85d9bfee387c4509d3d927beb4c110901 (patch)
treef4e1052ef9ba5aa902a0b983df8b011f0c8774b2
parent2d833c8528afa1d080f29597bae732c6d048c316 (diff)
imx: ventana: detect pmic using i2c probe instead of board model
Avoid requiring board-model and probe pmic by its i2c address. This is in preparation for being able to call pmic_setup() from SPL and not need board type. Signed-off-by: Tim Harvey <tharvey@gateworks.com>
-rw-r--r--board/gateworks/gw_ventana/common.c10
-rw-r--r--board/gateworks/gw_ventana/common.h2
-rw-r--r--board/gateworks/gw_ventana/gw_ventana.c2
3 files changed, 9 insertions, 5 deletions
diff --git a/board/gateworks/gw_ventana/common.c b/board/gateworks/gw_ventana/common.c
index 45c5b4c976..5fa5d6a4de 100644
--- a/board/gateworks/gw_ventana/common.c
+++ b/board/gateworks/gw_ventana/common.c
@@ -759,13 +759,16 @@ void setup_board_gpio(int board, struct ventana_board_info *info)
}
/* setup board specific PMIC */
-void setup_pmic(int board)
+void setup_pmic(void)
{
struct pmic *p;
u32 reg;
+ i2c_set_bus_num(CONFIG_I2C_PMIC);
+
/* configure PFUZE100 PMIC */
- if (board == GW54xx || board == GW54proto) {
+ if (!i2c_probe(CONFIG_POWER_PFUZE100_I2C_ADDR)) {
+ debug("probed PFUZE100@0x%x\n", CONFIG_POWER_PFUZE100_I2C_ADDR);
power_pfuze100_init(CONFIG_I2C_PMIC);
p = pmic_get("PFUZE100");
if (p && !pmic_probe(p)) {
@@ -787,7 +790,8 @@ void setup_pmic(int board)
}
/* configure LTC3676 PMIC */
- else {
+ else if (!i2c_probe(CONFIG_POWER_LTC3676_I2C_ADDR)) {
+ debug("probed LTC3676@0x%x\n", CONFIG_POWER_LTC3676_I2C_ADDR);
power_ltc3676_init(CONFIG_I2C_PMIC);
p = pmic_get("LTC3676_PMIC");
if (p && !pmic_probe(p)) {
diff --git a/board/gateworks/gw_ventana/common.h b/board/gateworks/gw_ventana/common.h
index a303b5511f..b7c0e96f2d 100644
--- a/board/gateworks/gw_ventana/common.h
+++ b/board/gateworks/gw_ventana/common.h
@@ -89,7 +89,7 @@ void setup_ventana_i2c(void);
/* configure uart iomux */
void setup_iomux_uart(void);
/* conifgure PMIC */
-void setup_pmic(int board);
+void setup_pmic(void);
/* configure gpio iomux/defaults */
void setup_iomux_gpio(int board, struct ventana_board_info *);
/* late setup of GPIO (configuration per baseboard and env) */
diff --git a/board/gateworks/gw_ventana/gw_ventana.c b/board/gateworks/gw_ventana/gw_ventana.c
index 8c6f4692fb..22f3b3860b 100644
--- a/board/gateworks/gw_ventana/gw_ventana.c
+++ b/board/gateworks/gw_ventana/gw_ventana.c
@@ -468,7 +468,7 @@ static void setup_display(void)
/* setup board specific PMIC */
int power_init_board(void)
{
- setup_pmic(board_type);
+ setup_pmic();
return 0;
}