Message ID | 20190103014444.11134-9-bryan.odonoghue@linaro.org |
---|---|
State | Superseded |
Headers | show |
Series | Convert i.MX7 WaRP7 ports to DM | expand |
> -----Original Message----- > From: Bryan O'Donoghue [mailto:bryan.odonoghue@linaro.org] > Sent: 2019年1月3日 9:45 > To: u-boot@lists.denx.de > Cc: Fabio Estevam <fabio.estevam@nxp.com>; Peng Fan > <peng.fan@nxp.com>; Bryan O'Donoghue <bryan.odonoghue@linaro.org>; > Stefano Babic <sbabic@denx.de> > Subject: [PATCH 8/8] arm: imx7s-warp: Convert to DM PMIC > > This patch converts the warp7 and warp7_bl33 board ports over to using the > DM PMIC model. > > Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org> > Cc: Peng Fan <peng.fan@nxp.com> > Cc: Fabio Estevam <fabio.estevam@nxp.com> > Cc: Stefano Babic <sbabic@denx.de> > --- > board/warp7/warp7.c | 27 +++++++++++---------------- > configs/warp7_bl33_defconfig | 6 ++++++ > configs/warp7_defconfig | 6 ++++++ > include/configs/warp7.h | 6 ------ > 4 files changed, 23 insertions(+), 22 deletions(-) > > diff --git a/board/warp7/warp7.c b/board/warp7/warp7.c index > 19f0df4d09..6ebeb08e33 100644 > --- a/board/warp7/warp7.c > +++ b/board/warp7/warp7.c > @@ -64,29 +64,24 @@ int board_early_init_f(void) > return 0; > } > > -#ifdef CONFIG_POWER > -#define I2C_PMIC 0 > -static struct pmic *pfuze; > +#ifdef CONFIG_DM_PMIC > int power_init_board(void) > { > - int ret; > - unsigned int reg, rev_id; > + struct udevice *dev; > + int ret, dev_id, rev_id; > > - ret = power_pfuze3000_init(I2C_PMIC); > - if (ret) > + ret = pmic_get("pfuze3000", &dev); > + if (ret == -ENODEV) > + return 0; > + if (ret != 0) > return ret; > > - pfuze = pmic_get("PFUZE3000"); > - ret = pmic_probe(pfuze); > - if (ret) > - return ret; > - > - pmic_reg_read(pfuze, PFUZE3000_DEVICEID, ®); > - pmic_reg_read(pfuze, PFUZE3000_REVID, &rev_id); > - printf("PMIC: PFUZE3000 DEV_ID=0x%x REV_ID=0x%x\n", reg, rev_id); > + dev_id = pmic_reg_read(dev, PFUZE3000_DEVICEID); > + rev_id = pmic_reg_read(dev, PFUZE3000_REVID); > + printf("PMIC: PFUZE3000 DEV_ID=0x%x REV_ID=0x%x\n", dev_id, > rev_id); > > /* disable Low Power Mode during standby mode */ > - pmic_reg_write(pfuze, PFUZE3000_LDOGCTL, 0x1); > + pmic_clrsetbits(dev, PFUZE3000_LDOGCTL, 0, 1); > > return 0; > } > diff --git a/configs/warp7_bl33_defconfig b/configs/warp7_bl33_defconfig > index 2e80011cbc..7b40bfbd6d 100644 > --- a/configs/warp7_bl33_defconfig > +++ b/configs/warp7_bl33_defconfig > @@ -45,3 +45,9 @@ CONFIG_PINCTRL=y > CONFIG_PINCTRL_IMX7=y > CONFIG_DM_GPIO=y > CONFIG_DM_I2C=y > +CONFIG_DM_PMIC=y > +CONFIG_DM_PMIC_PFUZE100=y > +CONFIG_DM_REGULATOR=y > +CONFIG_DM_REGULATOR_PFUZE100=y > +CONFIG_DM_REGULATOR_FIXED=y > +CONFIG_DM_REGULATOR_GPIO=y > diff --git a/configs/warp7_defconfig b/configs/warp7_defconfig index > 9f7dc73a11..d1c8e403a7 100644 > --- a/configs/warp7_defconfig > +++ b/configs/warp7_defconfig > @@ -58,3 +58,9 @@ CONFIG_PINCTRL=y > CONFIG_PINCTRL_IMX7=y > CONFIG_DM_GPIO=y > CONFIG_DM_I2C=y > +CONFIG_DM_PMIC=y > +CONFIG_DM_PMIC_PFUZE100=y > +CONFIG_DM_REGULATOR=y > +CONFIG_DM_REGULATOR_PFUZE100=y > +CONFIG_DM_REGULATOR_FIXED=y > +CONFIG_DM_REGULATOR_GPIO=y > diff --git a/include/configs/warp7.h b/include/configs/warp7.h index > 41eb8d7e1d..043f2861b6 100644 > --- a/include/configs/warp7.h > +++ b/include/configs/warp7.h > @@ -129,12 +129,6 @@ > #define CONFIG_SYS_I2C_MXC > #define CONFIG_SYS_I2C_SPEED 100000 > > -/* PMIC */ > -#define CONFIG_POWER > -#define CONFIG_POWER_I2C > -#define CONFIG_POWER_PFUZE3000 > -#define CONFIG_POWER_PFUZE3000_I2C_ADDR 0x08 > - > /* environment organization */ > #define CONFIG_ENV_SIZE SZ_8K > Reviewed-by: Peng Fan <peng.fan@nxp.com> > -- > 2.20.0
diff --git a/board/warp7/warp7.c b/board/warp7/warp7.c index 19f0df4d09..6ebeb08e33 100644 --- a/board/warp7/warp7.c +++ b/board/warp7/warp7.c @@ -64,29 +64,24 @@ int board_early_init_f(void) return 0; } -#ifdef CONFIG_POWER -#define I2C_PMIC 0 -static struct pmic *pfuze; +#ifdef CONFIG_DM_PMIC int power_init_board(void) { - int ret; - unsigned int reg, rev_id; + struct udevice *dev; + int ret, dev_id, rev_id; - ret = power_pfuze3000_init(I2C_PMIC); - if (ret) + ret = pmic_get("pfuze3000", &dev); + if (ret == -ENODEV) + return 0; + if (ret != 0) return ret; - pfuze = pmic_get("PFUZE3000"); - ret = pmic_probe(pfuze); - if (ret) - return ret; - - pmic_reg_read(pfuze, PFUZE3000_DEVICEID, ®); - pmic_reg_read(pfuze, PFUZE3000_REVID, &rev_id); - printf("PMIC: PFUZE3000 DEV_ID=0x%x REV_ID=0x%x\n", reg, rev_id); + dev_id = pmic_reg_read(dev, PFUZE3000_DEVICEID); + rev_id = pmic_reg_read(dev, PFUZE3000_REVID); + printf("PMIC: PFUZE3000 DEV_ID=0x%x REV_ID=0x%x\n", dev_id, rev_id); /* disable Low Power Mode during standby mode */ - pmic_reg_write(pfuze, PFUZE3000_LDOGCTL, 0x1); + pmic_clrsetbits(dev, PFUZE3000_LDOGCTL, 0, 1); return 0; } diff --git a/configs/warp7_bl33_defconfig b/configs/warp7_bl33_defconfig index 2e80011cbc..7b40bfbd6d 100644 --- a/configs/warp7_bl33_defconfig +++ b/configs/warp7_bl33_defconfig @@ -45,3 +45,9 @@ CONFIG_PINCTRL=y CONFIG_PINCTRL_IMX7=y CONFIG_DM_GPIO=y CONFIG_DM_I2C=y +CONFIG_DM_PMIC=y +CONFIG_DM_PMIC_PFUZE100=y +CONFIG_DM_REGULATOR=y +CONFIG_DM_REGULATOR_PFUZE100=y +CONFIG_DM_REGULATOR_FIXED=y +CONFIG_DM_REGULATOR_GPIO=y diff --git a/configs/warp7_defconfig b/configs/warp7_defconfig index 9f7dc73a11..d1c8e403a7 100644 --- a/configs/warp7_defconfig +++ b/configs/warp7_defconfig @@ -58,3 +58,9 @@ CONFIG_PINCTRL=y CONFIG_PINCTRL_IMX7=y CONFIG_DM_GPIO=y CONFIG_DM_I2C=y +CONFIG_DM_PMIC=y +CONFIG_DM_PMIC_PFUZE100=y +CONFIG_DM_REGULATOR=y +CONFIG_DM_REGULATOR_PFUZE100=y +CONFIG_DM_REGULATOR_FIXED=y +CONFIG_DM_REGULATOR_GPIO=y diff --git a/include/configs/warp7.h b/include/configs/warp7.h index 41eb8d7e1d..043f2861b6 100644 --- a/include/configs/warp7.h +++ b/include/configs/warp7.h @@ -129,12 +129,6 @@ #define CONFIG_SYS_I2C_MXC #define CONFIG_SYS_I2C_SPEED 100000 -/* PMIC */ -#define CONFIG_POWER -#define CONFIG_POWER_I2C -#define CONFIG_POWER_PFUZE3000 -#define CONFIG_POWER_PFUZE3000_I2C_ADDR 0x08 - /* environment organization */ #define CONFIG_ENV_SIZE SZ_8K
This patch converts the warp7 and warp7_bl33 board ports over to using the DM PMIC model. Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org> Cc: Peng Fan <peng.fan@nxp.com> Cc: Fabio Estevam <fabio.estevam@nxp.com> Cc: Stefano Babic <sbabic@denx.de> --- board/warp7/warp7.c | 27 +++++++++++---------------- configs/warp7_bl33_defconfig | 6 ++++++ configs/warp7_defconfig | 6 ++++++ include/configs/warp7.h | 6 ------ 4 files changed, 23 insertions(+), 22 deletions(-)