[U-Boot] [PATCH v2 3/7] i.MX6DL: mamoj: Add PFUZE100 support

Stefano Babic sbabic at denx.de
Thu Apr 26 07:18:47 UTC 2018


On 11/04/2018 14:36, Jagan Teki wrote:
> MX6DL Mamoj boards has Freescale PFUZE100 PMIC, add support
> for it through DM_PMIC dt definition.
> 
> pmic log:
> ========
> => pmic list
> | Name                            | Parent name         | Parent uclass @ seq
> | pfuze100 at 08                     | i2c at 021f8000        | i2c @ 3
> => pmic dev pfuze100 at 08
> dev: 0 @ pfuze100 at 08
> => pmic dump
> Dump pmic: pfuze100 at 08 registers
> 
> 0x00: 10 00 00 21 00 01 3f 01 00 7f 00 00 00 00 00 81
> 0x10: 00 00 3f 00 00 00 00 00 00 00 00 10 00 00 00 00
> 0x20: 2b 2b 2b 08 c4 00 00 00 00 00 00 00 00 00 2b 2b
> 0x30: 2b 08 c4 00 00 72 72 72 08 d4 00 00 2c 2c 2c 08
> 0x40: e4 00 00 2c 2c 2c 08 e4 00 00 6f 6f 6f 08 f4 00
> 0x50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 0x60: 00 00 00 00 00 00 48 00 00 00 10 06 1e 1e 17 10
> 0x70: 1a 1f 00 00 00 00 00 00 00 00 00 00 00 00 00
> 
> Signed-off-by: Jagan Teki <jagan at amarulasolutions.com>
> Signed-off-by: Simone CIANNI <simone.cianni at bticino.it>
> Signed-off-by: Raffaele RECALCATI <raffaele.recalcati at bticino.it>
> ---
>  arch/arm/dts/imx6dl-mamoj.dts  | 113 +++++++++++++++++++++++++++++++++++++++++
>  arch/arm/mach-imx/mx6/Kconfig  |   2 +
>  configs/imx6dl_mamoj_defconfig |   1 +
>  3 files changed, 116 insertions(+)
> 
> diff --git a/arch/arm/dts/imx6dl-mamoj.dts b/arch/arm/dts/imx6dl-mamoj.dts
> index 558043445b..3f6d8aa4a2 100644
> --- a/arch/arm/dts/imx6dl-mamoj.dts
> +++ b/arch/arm/dts/imx6dl-mamoj.dts
> @@ -33,6 +33,119 @@
>  	pinctrl-names = "default";
>  	pinctrl-0 = <&pinctrl_i2c4>;
>  	status = "okay";
> +
> +	pmic: pfuze100 at 08 {
> +		compatible = "fsl,pfuze100";
> +		reg = <0x08>;
> +
> +		regulators {
> +			/* CPU vdd_arm core */
> +			sw1a_reg: sw1ab {
> +				regulator-min-microvolt = <300000>;
> +				regulator-max-microvolt = <1875000>;
> +				regulator-boot-on;
> +				regulator-always-on;
> +				regulator-ramp-delay = <6250>;
> +			};
> +
> +			/* SOC vdd_soc */
> +			sw1c_reg: sw1c {
> +				regulator-min-microvolt = <300000>;
> +				regulator-max-microvolt = <1875000>;
> +				regulator-boot-on;
> +				regulator-always-on;
> +				regulator-ramp-delay = <6250>;
> +			};
> +
> +			/* I/O power GEN_3V3 */
> +			sw2_reg: sw2 {
> +				regulator-min-microvolt = <800000>;
> +				regulator-max-microvolt = <3300000>;
> +				regulator-boot-on;
> +				regulator-always-on;
> +			};
> +
> +			/* DDR memory */
> +			sw3a_reg: sw3a {
> +				regulator-min-microvolt = <400000>;
> +				regulator-max-microvolt = <1975000>;
> +				regulator-boot-on;
> +				regulator-always-on;
> +			};
> +
> +			/* DDR memory */
> +			sw3b_reg: sw3b {
> +				regulator-min-microvolt = <400000>;
> +				regulator-max-microvolt = <1975000>;
> +				regulator-boot-on;
> +				regulator-always-on;
> +			};
> +
> +			/* not used */
> +			sw4_reg: sw4 {
> +				regulator-min-microvolt = <800000>;
> +				regulator-max-microvolt = <3300000>;
> +			};
> +
> +			/* not used */
> +			swbst_reg: swbst {
> +				regulator-min-microvolt = <5000000>;
> +				regulator-max-microvolt = <5150000>;
> +			};
> +
> +			/* PMIC vsnvs. EX boot mode */
> +			snvs_reg: vsnvs {
> +				regulator-min-microvolt = <1000000>;
> +				regulator-max-microvolt = <3000000>;
> +				regulator-boot-on;
> +				regulator-always-on;
> +			};
> +
> +			vref_reg: vrefddr {
> +				regulator-boot-on;
> +				regulator-always-on;
> +			};
> +
> +			/* not used */
> +			vgen1_reg: vgen1 {
> +				regulator-min-microvolt = <800000>;
> +				regulator-max-microvolt = <1550000>;
> +			};
> +
> +			/* not used */
> +			vgen2_reg: vgen2 {
> +				regulator-min-microvolt = <800000>;
> +				regulator-max-microvolt = <1550000>;
> +			};
> +
> +			/* not used */
> +			vgen3_reg: vgen3 {
> +				regulator-min-microvolt = <1800000>;
> +				regulator-max-microvolt = <3300000>;
> +			};
> +
> +			/* 1v8 general power */
> +			vgen4_reg: vgen4 {
> +				regulator-min-microvolt = <1800000>;
> +				regulator-max-microvolt = <3300000>;
> +				regulator-always-on;
> +			};
> +
> +			/* 2v8 general power IMX6 */
> +			vgen5_reg: vgen5 {
> +				regulator-min-microvolt = <1800000>;
> +				regulator-max-microvolt = <3300000>;
> +				regulator-always-on;
> +			};
> +
> +			/* 3v3 Ethernet */
> +			vgen6_reg: vgen6 {
> +				regulator-min-microvolt = <1800000>;
> +				regulator-max-microvolt = <3300000>;
> +				regulator-always-on;
> +			};
> +		};
> +	};
>  };
>  
>  &uart3 {
> diff --git a/arch/arm/mach-imx/mx6/Kconfig b/arch/arm/mach-imx/mx6/Kconfig
> index 5007fe3941..ccc754b123 100644
> --- a/arch/arm/mach-imx/mx6/Kconfig
> +++ b/arch/arm/mach-imx/mx6/Kconfig
> @@ -235,6 +235,8 @@ config TARGET_MX6DL_MAMOJ
>  	select DM_GPIO
>  	select DM_I2C
>  	select DM_MMC
> +	select DM_PMIC
> +	select DM_PMIC_PFUZE100
>  	select DM_THERMAL
>  	select SPL
>  	select SUPPORT_SPL
> diff --git a/configs/imx6dl_mamoj_defconfig b/configs/imx6dl_mamoj_defconfig
> index e2a18d2c30..362962fdf3 100644
> --- a/configs/imx6dl_mamoj_defconfig
> +++ b/configs/imx6dl_mamoj_defconfig
> @@ -16,6 +16,7 @@ CONFIG_CMD_I2C=y
>  CONFIG_CMD_MMC=y
>  CONFIG_CMD_MII=y
>  CONFIG_CMD_PING=y
> +CONFIG_CMD_PMIC=y
>  CONFIG_CMD_CACHE=y
>  CONFIG_CMD_EXT2=y
>  CONFIG_CMD_EXT4=y
> 

Reviewed-by: Stefano Babic <sbabic at denx.de>

Best regards,
Stefano Babic

-- 
=====================================================================
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de
=====================================================================


More information about the U-Boot mailing list