diff options
author | Tim Harvey <tharvey@gateworks.com> | 2015-05-08 18:28:37 -0700 |
---|---|---|
committer | Stefano Babic <sbabic@denx.de> | 2015-05-15 19:21:25 +0200 |
commit | 6d38f3a85d9bfee387c4509d3d927beb4c110901 (patch) | |
tree | f4e1052ef9ba5aa902a0b983df8b011f0c8774b2 | |
parent | 2d833c8528afa1d080f29597bae732c6d048c316 (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.c | 10 | ||||
-rw-r--r-- | board/gateworks/gw_ventana/common.h | 2 | ||||
-rw-r--r-- | board/gateworks/gw_ventana/gw_ventana.c | 2 |
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; } |