[8/8] arm: imx7s-warp: Convert to DM PMIC

Message ID 20190103014444.11134-9-bryan.odonoghue@linaro.org
State Superseded
Headers show
Series
  • Convert i.MX7 WaRP7 ports to DM
Related show

Commit Message

Bryan O'Donoghue Jan. 3, 2019, 1:44 a.m.
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(-)

Comments

Peng Fan Jan. 8, 2019, 1:29 p.m. | #1
> -----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, &reg);

> -	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

Patch

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, &reg);
-	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