Skip to content
Snippets Groups Projects
Commit 6d38f3a8 authored by Tim Harvey's avatar Tim Harvey Committed by Stefano Babic
Browse files

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: default avatarTim Harvey <tharvey@gateworks.com>
parent 2d833c85
No related branches found
No related tags found
No related merge requests found
...@@ -759,13 +759,16 @@ void setup_board_gpio(int board, struct ventana_board_info *info) ...@@ -759,13 +759,16 @@ void setup_board_gpio(int board, struct ventana_board_info *info)
} }
/* setup board specific PMIC */ /* setup board specific PMIC */
void setup_pmic(int board) void setup_pmic(void)
{ {
struct pmic *p; struct pmic *p;
u32 reg; u32 reg;
i2c_set_bus_num(CONFIG_I2C_PMIC);
/* configure PFUZE100 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); power_pfuze100_init(CONFIG_I2C_PMIC);
p = pmic_get("PFUZE100"); p = pmic_get("PFUZE100");
if (p && !pmic_probe(p)) { if (p && !pmic_probe(p)) {
...@@ -787,7 +790,8 @@ void setup_pmic(int board) ...@@ -787,7 +790,8 @@ void setup_pmic(int board)
} }
/* configure LTC3676 PMIC */ /* 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); power_ltc3676_init(CONFIG_I2C_PMIC);
p = pmic_get("LTC3676_PMIC"); p = pmic_get("LTC3676_PMIC");
if (p && !pmic_probe(p)) { if (p && !pmic_probe(p)) {
......
...@@ -89,7 +89,7 @@ void setup_ventana_i2c(void); ...@@ -89,7 +89,7 @@ void setup_ventana_i2c(void);
/* configure uart iomux */ /* configure uart iomux */
void setup_iomux_uart(void); void setup_iomux_uart(void);
/* conifgure PMIC */ /* conifgure PMIC */
void setup_pmic(int board); void setup_pmic(void);
/* configure gpio iomux/defaults */ /* configure gpio iomux/defaults */
void setup_iomux_gpio(int board, struct ventana_board_info *); void setup_iomux_gpio(int board, struct ventana_board_info *);
/* late setup of GPIO (configuration per baseboard and env) */ /* late setup of GPIO (configuration per baseboard and env) */
......
...@@ -468,7 +468,7 @@ static void setup_display(void) ...@@ -468,7 +468,7 @@ static void setup_display(void)
/* setup board specific PMIC */ /* setup board specific PMIC */
int power_init_board(void) int power_init_board(void)
{ {
setup_pmic(board_type); setup_pmic();
return 0; return 0;
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment