Add devicetree for the revision B imx8mm-EVK, which comes with a different PMIC. The regulator min/max values are taken from the evk's schematic: 8MMINILPD4-CPU SPF-31399_C2.pdf Reviewed-by: Shawn Guo <shawnguo@xxxxxxxxxx> Signed-off-by: Johannes Schneider <johannes.schneider@xxxxxxxxxxxxxxxxxxxx> --- arch/arm64/boot/dts/freescale/Makefile | 1 + .../boot/dts/freescale/imx8mm-evk-revb.dts | 134 ++++++++++++++++++ 2 files changed, 135 insertions(+) create mode 100644 arch/arm64/boot/dts/freescale/imx8mm-evk-revb.dts diff --git a/arch/arm64/boot/dts/freescale/Makefile b/arch/arm64/boot/dts/freescale/Makefile index 3ea9edc87909..5264f762386c 100644 --- a/arch/arm64/boot/dts/freescale/Makefile +++ b/arch/arm64/boot/dts/freescale/Makefile @@ -55,6 +55,7 @@ dtb-$(CONFIG_ARCH_MXC) += imx8mm-data-modul-edm-sbc.dtb dtb-$(CONFIG_ARCH_MXC) += imx8mm-ddr4-evk.dtb dtb-$(CONFIG_ARCH_MXC) += imx8mm-emcon-avari.dtb dtb-$(CONFIG_ARCH_MXC) += imx8mm-evk.dtb +dtb-$(CONFIG_ARCH_MXC) += imx8mm-evk-revb.dtb dtb-$(CONFIG_ARCH_MXC) += imx8mm-icore-mx8mm-ctouch2.dtb dtb-$(CONFIG_ARCH_MXC) += imx8mm-icore-mx8mm-edimm2.2.dtb dtb-$(CONFIG_ARCH_MXC) += imx8mm-kontron-bl.dtb diff --git a/arch/arm64/boot/dts/freescale/imx8mm-evk-revb.dts b/arch/arm64/boot/dts/freescale/imx8mm-evk-revb.dts new file mode 100644 index 000000000000..2eabefb9cdc3 --- /dev/null +++ b/arch/arm64/boot/dts/freescale/imx8mm-evk-revb.dts @@ -0,0 +1,134 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Copyright 2019-2022 NXP + */ + +/dts-v1/; + +#include "imx8mm-evk.dts" + +/ { + model = "FSL i.MX8MM EVK Revision B"; /* with PCA9450 PMIC */ + compatible = "fsl,imx8mm-evk-revb", "fsl,imx8mm"; +}; + +&i2c1 { + /* + * replace "rohm,bd71847" pmic found on previous evks + * with "nxp,pca9450a" + */ + /delete-node/ pmic@4b; + + pmic: pmic@25 { + compatible = "nxp,pca9450a"; + reg = <0x25>; + pinctrl-0 = <&pinctrl_pmic>; + pinctrl-names = "default"; + interrupt-parent = <&gpio1>; + interrupts = <3 IRQ_TYPE_LEVEL_LOW>; + + regulators { + /* VDD_SOC_0V8 */ + buck1_reg: BUCK1 { + regulator-name = "BUCK1"; + regulator-min-microvolt = <780000>; + regulator-max-microvolt = <900000>; + regulator-boot-on; + regulator-always-on; + regulator-ramp-delay = <1250>; + }; + + /* VDD_ARM_0V9 */ + buck2_reg: BUCK2 { + regulator-name = "BUCK2"; + regulator-min-microvolt = <805000>; + regulator-max-microvolt = <1050000>; + regulator-boot-on; + regulator-always-on; + regulator-ramp-delay = <1250>; + nxp,dvs-standby-voltage = <850000>; + }; + + /* VDD_DRAM&PU_0V9 (BUCK5 in datasheet) */ + buck3_reg: BUCK3 { + regulator-name = "BUCK3"; + regulator-min-microvolt = <805000>; + regulator-max-microvolt = <1000000>; + regulator-boot-on; + regulator-always-on; + }; + + /* VDD_3V3/NVCC_3V3 (BUCK6 in datasheet) */ + buck4_reg: BUCK4 { + regulator-name = "BUCK4"; + regulator-min-microvolt = <3000000>; + regulator-max-microvolt = <3600000>; + regulator-boot-on; + regulator-always-on; + }; + + /* VDD_1V8/NVCC_1V8 (BUCK7 in datasheet) */ + buck5_reg: BUCK5 { + regulator-name = "BUCK5"; + regulator-min-microvolt = <1650000>; + regulator-max-microvolt = <1950000>; + regulator-boot-on; + regulator-always-on; + }; + + /* NVCC_DRAM_1V1 (BUCK8 in datasheet) */ + buck6_reg: BUCK6 { + regulator-name = "BUCK6"; + regulator-min-microvolt = <1060000>; + regulator-max-microvolt = <1140000>; + regulator-boot-on; + regulator-always-on; + }; + + /* NVCC_SNVS_1V8 */ + ldo1_reg: LDO1 { + regulator-name = "LDO1"; + regulator-min-microvolt = <1620000>; + regulator-max-microvolt = <19800000>; + regulator-boot-on; + regulator-always-on; + }; + + /* VDD_SNVS_0V8 */ + ldo2_reg: LDO2 { + regulator-name = "LDO2"; + regulator-min-microvolt = <760000>; + regulator-max-microvolt = <900000>; + regulator-boot-on; + regulator-always-on; + }; + + /* VDDA_1V8 */ + ldo3_reg: LDO3 { + regulator-name = "LDO3"; + regulator-min-microvolt = <1710000>; + regulator-max-microvolt = <1890000>; + regulator-boot-on; + regulator-always-on; + }; + + /* VDD_PHY_0V9 */ + ldo4_reg: LDO4 { + regulator-name = "LDO4"; + regulator-min-microvolt = <855000>; + regulator-max-microvolt = <1000000>; + regulator-boot-on; + regulator-always-on; + }; + + /* VDD_PHY_1V2 (LDO6 in datasheet) */ + ldo5_reg: LDO5 { + regulator-name = "LDO5"; + regulator-min-microvolt = <1140000>; + regulator-max-microvolt = <1260000>; + regulator-boot-on; + regulator-always-on; + }; + }; + }; +}; -- 2.25.1