162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-or-later OR MIT 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * Copyright 2021-2022 TQ-Systems GmbH 462306a36Sopenharmony_ci * Author: Alexander Stein <alexander.stein@tq-group.com> 562306a36Sopenharmony_ci */ 662306a36Sopenharmony_ci 762306a36Sopenharmony_ci#include "imx8mp.dtsi" 862306a36Sopenharmony_ci 962306a36Sopenharmony_ci/ { 1062306a36Sopenharmony_ci model = "TQ-Systems i.MX8MPlus TQMa8MPxL"; 1162306a36Sopenharmony_ci compatible = "tq,imx8mp-tqma8mpql", "fsl,imx8mp"; 1262306a36Sopenharmony_ci 1362306a36Sopenharmony_ci memory@40000000 { 1462306a36Sopenharmony_ci device_type = "memory"; 1562306a36Sopenharmony_ci reg = <0x0 0x40000000 0 0x80000000>; 1662306a36Sopenharmony_ci }; 1762306a36Sopenharmony_ci 1862306a36Sopenharmony_ci /* identical to buck4_reg, but should never change */ 1962306a36Sopenharmony_ci reg_vcc3v3: regulator-vcc3v3 { 2062306a36Sopenharmony_ci compatible = "regulator-fixed"; 2162306a36Sopenharmony_ci regulator-name = "VCC3V3"; 2262306a36Sopenharmony_ci regulator-min-microvolt = <3300000>; 2362306a36Sopenharmony_ci regulator-max-microvolt = <3300000>; 2462306a36Sopenharmony_ci regulator-always-on; 2562306a36Sopenharmony_ci }; 2662306a36Sopenharmony_ci 2762306a36Sopenharmony_ci /* e-MMC IO, needed for HS modes */ 2862306a36Sopenharmony_ci reg_vcc1v8: regulator-vcc1v8 { 2962306a36Sopenharmony_ci compatible = "regulator-fixed"; 3062306a36Sopenharmony_ci regulator-name = "VCC1V8"; 3162306a36Sopenharmony_ci regulator-min-microvolt = <1800000>; 3262306a36Sopenharmony_ci regulator-max-microvolt = <1800000>; 3362306a36Sopenharmony_ci regulator-always-on; 3462306a36Sopenharmony_ci }; 3562306a36Sopenharmony_ci}; 3662306a36Sopenharmony_ci 3762306a36Sopenharmony_ci&A53_0 { 3862306a36Sopenharmony_ci cpu-supply = <&buck2_reg>; 3962306a36Sopenharmony_ci}; 4062306a36Sopenharmony_ci 4162306a36Sopenharmony_ci&flexspi { 4262306a36Sopenharmony_ci pinctrl-names = "default"; 4362306a36Sopenharmony_ci pinctrl-0 = <&pinctrl_flexspi0>; 4462306a36Sopenharmony_ci status = "okay"; 4562306a36Sopenharmony_ci 4662306a36Sopenharmony_ci flash0: flash@0 { 4762306a36Sopenharmony_ci reg = <0>; 4862306a36Sopenharmony_ci #address-cells = <1>; 4962306a36Sopenharmony_ci #size-cells = <1>; 5062306a36Sopenharmony_ci compatible = "jedec,spi-nor"; 5162306a36Sopenharmony_ci spi-max-frequency = <80000000>; 5262306a36Sopenharmony_ci spi-tx-bus-width = <1>; 5362306a36Sopenharmony_ci spi-rx-bus-width = <4>; 5462306a36Sopenharmony_ci }; 5562306a36Sopenharmony_ci}; 5662306a36Sopenharmony_ci 5762306a36Sopenharmony_ci&i2c1 { 5862306a36Sopenharmony_ci clock-frequency = <384000>; 5962306a36Sopenharmony_ci pinctrl-names = "default", "gpio"; 6062306a36Sopenharmony_ci pinctrl-0 = <&pinctrl_i2c1>; 6162306a36Sopenharmony_ci pinctrl-1 = <&pinctrl_i2c1_gpio>; 6262306a36Sopenharmony_ci scl-gpios = <&gpio5 14 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 6362306a36Sopenharmony_ci sda-gpios = <&gpio5 15 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 6462306a36Sopenharmony_ci status = "okay"; 6562306a36Sopenharmony_ci 6662306a36Sopenharmony_ci se97: temperature-sensor@1b { 6762306a36Sopenharmony_ci compatible = "nxp,se97b", "jedec,jc-42.4-temp"; 6862306a36Sopenharmony_ci reg = <0x1b>; 6962306a36Sopenharmony_ci }; 7062306a36Sopenharmony_ci 7162306a36Sopenharmony_ci pmic: pmic@25 { 7262306a36Sopenharmony_ci reg = <0x25>; 7362306a36Sopenharmony_ci compatible = "nxp,pca9450c"; 7462306a36Sopenharmony_ci 7562306a36Sopenharmony_ci /* PMIC PCA9450 PMIC_nINT GPIO1_IO08 */ 7662306a36Sopenharmony_ci pinctrl-0 = <&pinctrl_pmic>; 7762306a36Sopenharmony_ci pinctrl-names = "default"; 7862306a36Sopenharmony_ci interrupt-parent = <&gpio1>; 7962306a36Sopenharmony_ci interrupts = <8 IRQ_TYPE_LEVEL_LOW>; 8062306a36Sopenharmony_ci 8162306a36Sopenharmony_ci regulators { 8262306a36Sopenharmony_ci /* V_0V85_SOC: 0.85 .. 0.95 */ 8362306a36Sopenharmony_ci buck1_reg: BUCK1 { 8462306a36Sopenharmony_ci regulator-name = "BUCK1"; 8562306a36Sopenharmony_ci regulator-min-microvolt = <850000>; 8662306a36Sopenharmony_ci regulator-max-microvolt = <950000>; 8762306a36Sopenharmony_ci regulator-boot-on; 8862306a36Sopenharmony_ci regulator-always-on; 8962306a36Sopenharmony_ci regulator-ramp-delay = <3125>; 9062306a36Sopenharmony_ci }; 9162306a36Sopenharmony_ci 9262306a36Sopenharmony_ci /* VDD_ARM */ 9362306a36Sopenharmony_ci buck2_reg: BUCK2 { 9462306a36Sopenharmony_ci regulator-name = "BUCK2"; 9562306a36Sopenharmony_ci regulator-min-microvolt = <850000>; 9662306a36Sopenharmony_ci regulator-max-microvolt = <1000000>; 9762306a36Sopenharmony_ci regulator-boot-on; 9862306a36Sopenharmony_ci regulator-always-on; 9962306a36Sopenharmony_ci nxp,dvs-run-voltage = <950000>; 10062306a36Sopenharmony_ci nxp,dvs-standby-voltage = <850000>; 10162306a36Sopenharmony_ci regulator-ramp-delay = <3125>; 10262306a36Sopenharmony_ci }; 10362306a36Sopenharmony_ci 10462306a36Sopenharmony_ci /* VCC3V3 -> VMMC, ... must not be changed */ 10562306a36Sopenharmony_ci buck4_reg: BUCK4 { 10662306a36Sopenharmony_ci regulator-name = "BUCK4"; 10762306a36Sopenharmony_ci regulator-min-microvolt = <3300000>; 10862306a36Sopenharmony_ci regulator-max-microvolt = <3300000>; 10962306a36Sopenharmony_ci regulator-boot-on; 11062306a36Sopenharmony_ci regulator-always-on; 11162306a36Sopenharmony_ci }; 11262306a36Sopenharmony_ci 11362306a36Sopenharmony_ci /* V_1V8 -> VQMMC, SPI-NOR, ... must not be changed */ 11462306a36Sopenharmony_ci buck5_reg: BUCK5 { 11562306a36Sopenharmony_ci regulator-name = "BUCK5"; 11662306a36Sopenharmony_ci regulator-min-microvolt = <1800000>; 11762306a36Sopenharmony_ci regulator-max-microvolt = <1800000>; 11862306a36Sopenharmony_ci regulator-boot-on; 11962306a36Sopenharmony_ci regulator-always-on; 12062306a36Sopenharmony_ci }; 12162306a36Sopenharmony_ci 12262306a36Sopenharmony_ci /* V_1V1 -> RAM, ... must not be changed */ 12362306a36Sopenharmony_ci buck6_reg: BUCK6 { 12462306a36Sopenharmony_ci regulator-name = "BUCK6"; 12562306a36Sopenharmony_ci regulator-min-microvolt = <1100000>; 12662306a36Sopenharmony_ci regulator-max-microvolt = <1100000>; 12762306a36Sopenharmony_ci regulator-boot-on; 12862306a36Sopenharmony_ci regulator-always-on; 12962306a36Sopenharmony_ci }; 13062306a36Sopenharmony_ci 13162306a36Sopenharmony_ci /* V_1V8_SNVS */ 13262306a36Sopenharmony_ci ldo1_reg: LDO1 { 13362306a36Sopenharmony_ci regulator-name = "LDO1"; 13462306a36Sopenharmony_ci regulator-min-microvolt = <1800000>; 13562306a36Sopenharmony_ci regulator-max-microvolt = <1800000>; 13662306a36Sopenharmony_ci regulator-boot-on; 13762306a36Sopenharmony_ci regulator-always-on; 13862306a36Sopenharmony_ci }; 13962306a36Sopenharmony_ci 14062306a36Sopenharmony_ci /* V_1V8_ANA */ 14162306a36Sopenharmony_ci ldo3_reg: LDO3 { 14262306a36Sopenharmony_ci regulator-name = "LDO3"; 14362306a36Sopenharmony_ci regulator-min-microvolt = <1800000>; 14462306a36Sopenharmony_ci regulator-max-microvolt = <1800000>; 14562306a36Sopenharmony_ci regulator-boot-on; 14662306a36Sopenharmony_ci regulator-always-on; 14762306a36Sopenharmony_ci }; 14862306a36Sopenharmony_ci 14962306a36Sopenharmony_ci /* unused */ 15062306a36Sopenharmony_ci ldo4_reg: LDO4 { 15162306a36Sopenharmony_ci regulator-name = "LDO4"; 15262306a36Sopenharmony_ci regulator-min-microvolt = <800000>; 15362306a36Sopenharmony_ci regulator-max-microvolt = <3300000>; 15462306a36Sopenharmony_ci }; 15562306a36Sopenharmony_ci 15662306a36Sopenharmony_ci /* VCC SD IO - switched using SD2 VSELECT */ 15762306a36Sopenharmony_ci ldo5_reg: LDO5 { 15862306a36Sopenharmony_ci regulator-name = "LDO5"; 15962306a36Sopenharmony_ci regulator-min-microvolt = <1800000>; 16062306a36Sopenharmony_ci regulator-max-microvolt = <3300000>; 16162306a36Sopenharmony_ci }; 16262306a36Sopenharmony_ci }; 16362306a36Sopenharmony_ci }; 16462306a36Sopenharmony_ci 16562306a36Sopenharmony_ci pcf85063: rtc@51 { 16662306a36Sopenharmony_ci compatible = "nxp,pcf85063a"; 16762306a36Sopenharmony_ci reg = <0x51>; 16862306a36Sopenharmony_ci }; 16962306a36Sopenharmony_ci 17062306a36Sopenharmony_ci at24c02: eeprom@53 { 17162306a36Sopenharmony_ci compatible = "nxp,se97b", "atmel,24c02"; 17262306a36Sopenharmony_ci read-only; 17362306a36Sopenharmony_ci reg = <0x53>; 17462306a36Sopenharmony_ci pagesize = <16>; 17562306a36Sopenharmony_ci vcc-supply = <®_vcc3v3>; 17662306a36Sopenharmony_ci }; 17762306a36Sopenharmony_ci 17862306a36Sopenharmony_ci m24c64: eeprom@57 { 17962306a36Sopenharmony_ci compatible = "atmel,24c64"; 18062306a36Sopenharmony_ci reg = <0x57>; 18162306a36Sopenharmony_ci pagesize = <32>; 18262306a36Sopenharmony_ci vcc-supply = <®_vcc3v3>; 18362306a36Sopenharmony_ci }; 18462306a36Sopenharmony_ci}; 18562306a36Sopenharmony_ci 18662306a36Sopenharmony_ci&usdhc3 { 18762306a36Sopenharmony_ci pinctrl-names = "default", "state_100mhz", "state_200mhz"; 18862306a36Sopenharmony_ci pinctrl-0 = <&pinctrl_usdhc3>; 18962306a36Sopenharmony_ci pinctrl-1 = <&pinctrl_usdhc3_100mhz>; 19062306a36Sopenharmony_ci pinctrl-2 = <&pinctrl_usdhc3_200mhz>; 19162306a36Sopenharmony_ci bus-width = <8>; 19262306a36Sopenharmony_ci non-removable; 19362306a36Sopenharmony_ci no-sd; 19462306a36Sopenharmony_ci no-sdio; 19562306a36Sopenharmony_ci vmmc-supply = <®_vcc3v3>; 19662306a36Sopenharmony_ci vqmmc-supply = <®_vcc1v8>; 19762306a36Sopenharmony_ci status = "okay"; 19862306a36Sopenharmony_ci}; 19962306a36Sopenharmony_ci 20062306a36Sopenharmony_ci&wdog1 { 20162306a36Sopenharmony_ci pinctrl-names = "default"; 20262306a36Sopenharmony_ci pinctrl-0 = <&pinctrl_wdog>; 20362306a36Sopenharmony_ci fsl,ext-reset-output; 20462306a36Sopenharmony_ci status = "okay"; 20562306a36Sopenharmony_ci}; 20662306a36Sopenharmony_ci 20762306a36Sopenharmony_ci&iomuxc { 20862306a36Sopenharmony_ci pinctrl_flexspi0: flexspi0grp { 20962306a36Sopenharmony_ci fsl,pins = <MX8MP_IOMUXC_NAND_ALE__FLEXSPI_A_SCLK 0x142>, 21062306a36Sopenharmony_ci <MX8MP_IOMUXC_NAND_CE0_B__FLEXSPI_A_SS0_B 0x82>, 21162306a36Sopenharmony_ci <MX8MP_IOMUXC_NAND_DATA00__FLEXSPI_A_DATA00 0x82>, 21262306a36Sopenharmony_ci <MX8MP_IOMUXC_NAND_DATA01__FLEXSPI_A_DATA01 0x82>, 21362306a36Sopenharmony_ci <MX8MP_IOMUXC_NAND_DATA02__FLEXSPI_A_DATA02 0x82>, 21462306a36Sopenharmony_ci <MX8MP_IOMUXC_NAND_DATA03__FLEXSPI_A_DATA03 0x82>; 21562306a36Sopenharmony_ci }; 21662306a36Sopenharmony_ci 21762306a36Sopenharmony_ci pinctrl_i2c1: i2c1grp { 21862306a36Sopenharmony_ci fsl,pins = <MX8MP_IOMUXC_I2C1_SCL__I2C1_SCL 0x400001e2>, 21962306a36Sopenharmony_ci <MX8MP_IOMUXC_I2C1_SDA__I2C1_SDA 0x400001e2>; 22062306a36Sopenharmony_ci }; 22162306a36Sopenharmony_ci 22262306a36Sopenharmony_ci pinctrl_i2c1_gpio: i2c1-gpiogrp { 22362306a36Sopenharmony_ci fsl,pins = <MX8MP_IOMUXC_I2C1_SCL__GPIO5_IO14 0x400001e2>, 22462306a36Sopenharmony_ci <MX8MP_IOMUXC_I2C1_SDA__GPIO5_IO15 0x400001e2>; 22562306a36Sopenharmony_ci }; 22662306a36Sopenharmony_ci 22762306a36Sopenharmony_ci pinctrl_pmic: pmicirqgrp { 22862306a36Sopenharmony_ci fsl,pins = <MX8MP_IOMUXC_GPIO1_IO08__GPIO1_IO08 0x1c0>; 22962306a36Sopenharmony_ci }; 23062306a36Sopenharmony_ci 23162306a36Sopenharmony_ci pinctrl_reg_usdhc2_vmmc: regusdhc2vmmcgrp { 23262306a36Sopenharmony_ci fsl,pins = <MX8MP_IOMUXC_SD2_RESET_B__GPIO2_IO19 0x10>; 23362306a36Sopenharmony_ci }; 23462306a36Sopenharmony_ci 23562306a36Sopenharmony_ci pinctrl_usdhc3: usdhc3grp { 23662306a36Sopenharmony_ci fsl,pins = <MX8MP_IOMUXC_NAND_WE_B__USDHC3_CLK 0x194>, 23762306a36Sopenharmony_ci <MX8MP_IOMUXC_NAND_WP_B__USDHC3_CMD 0x1d4>, 23862306a36Sopenharmony_ci <MX8MP_IOMUXC_NAND_DATA04__USDHC3_DATA0 0x1d4>, 23962306a36Sopenharmony_ci <MX8MP_IOMUXC_NAND_DATA05__USDHC3_DATA1 0x1d4>, 24062306a36Sopenharmony_ci <MX8MP_IOMUXC_NAND_DATA06__USDHC3_DATA2 0x1d4>, 24162306a36Sopenharmony_ci <MX8MP_IOMUXC_NAND_DATA07__USDHC3_DATA3 0x1d4>, 24262306a36Sopenharmony_ci <MX8MP_IOMUXC_NAND_RE_B__USDHC3_DATA4 0x1d4>, 24362306a36Sopenharmony_ci <MX8MP_IOMUXC_NAND_CE2_B__USDHC3_DATA5 0x1d4>, 24462306a36Sopenharmony_ci <MX8MP_IOMUXC_NAND_CE3_B__USDHC3_DATA6 0x1d4>, 24562306a36Sopenharmony_ci <MX8MP_IOMUXC_NAND_CLE__USDHC3_DATA7 0x1d4>, 24662306a36Sopenharmony_ci <MX8MP_IOMUXC_NAND_CE1_B__USDHC3_STROBE 0x84>, 24762306a36Sopenharmony_ci <MX8MP_IOMUXC_NAND_READY_B__USDHC3_RESET_B 0x84>; 24862306a36Sopenharmony_ci }; 24962306a36Sopenharmony_ci 25062306a36Sopenharmony_ci pinctrl_usdhc3_100mhz: usdhc3-100mhzgrp { 25162306a36Sopenharmony_ci fsl,pins = <MX8MP_IOMUXC_NAND_WE_B__USDHC3_CLK 0x194>, 25262306a36Sopenharmony_ci <MX8MP_IOMUXC_NAND_WP_B__USDHC3_CMD 0x1d4>, 25362306a36Sopenharmony_ci <MX8MP_IOMUXC_NAND_DATA04__USDHC3_DATA0 0x1d4>, 25462306a36Sopenharmony_ci <MX8MP_IOMUXC_NAND_DATA05__USDHC3_DATA1 0x1d4>, 25562306a36Sopenharmony_ci <MX8MP_IOMUXC_NAND_DATA06__USDHC3_DATA2 0x1d4>, 25662306a36Sopenharmony_ci <MX8MP_IOMUXC_NAND_DATA07__USDHC3_DATA3 0x1d4>, 25762306a36Sopenharmony_ci <MX8MP_IOMUXC_NAND_RE_B__USDHC3_DATA4 0x1d4>, 25862306a36Sopenharmony_ci <MX8MP_IOMUXC_NAND_CE2_B__USDHC3_DATA5 0x1d4>, 25962306a36Sopenharmony_ci <MX8MP_IOMUXC_NAND_CE3_B__USDHC3_DATA6 0x1d4>, 26062306a36Sopenharmony_ci <MX8MP_IOMUXC_NAND_CLE__USDHC3_DATA7 0x1d4>, 26162306a36Sopenharmony_ci <MX8MP_IOMUXC_NAND_CE1_B__USDHC3_STROBE 0x84>, 26262306a36Sopenharmony_ci <MX8MP_IOMUXC_NAND_READY_B__USDHC3_RESET_B 0x84>; 26362306a36Sopenharmony_ci }; 26462306a36Sopenharmony_ci 26562306a36Sopenharmony_ci pinctrl_usdhc3_200mhz: usdhc3-200mhzgrp { 26662306a36Sopenharmony_ci fsl,pins = <MX8MP_IOMUXC_NAND_WE_B__USDHC3_CLK 0x194>, 26762306a36Sopenharmony_ci <MX8MP_IOMUXC_NAND_WP_B__USDHC3_CMD 0x1d4>, 26862306a36Sopenharmony_ci <MX8MP_IOMUXC_NAND_DATA04__USDHC3_DATA0 0x1d4>, 26962306a36Sopenharmony_ci <MX8MP_IOMUXC_NAND_DATA05__USDHC3_DATA1 0x1d4>, 27062306a36Sopenharmony_ci <MX8MP_IOMUXC_NAND_DATA06__USDHC3_DATA2 0x1d4>, 27162306a36Sopenharmony_ci <MX8MP_IOMUXC_NAND_DATA07__USDHC3_DATA3 0x1d4>, 27262306a36Sopenharmony_ci <MX8MP_IOMUXC_NAND_RE_B__USDHC3_DATA4 0x1d4>, 27362306a36Sopenharmony_ci <MX8MP_IOMUXC_NAND_CE2_B__USDHC3_DATA5 0x1d4>, 27462306a36Sopenharmony_ci <MX8MP_IOMUXC_NAND_CE3_B__USDHC3_DATA6 0x1d4>, 27562306a36Sopenharmony_ci <MX8MP_IOMUXC_NAND_CLE__USDHC3_DATA7 0x1d4>, 27662306a36Sopenharmony_ci <MX8MP_IOMUXC_NAND_CE1_B__USDHC3_STROBE 0x84>, 27762306a36Sopenharmony_ci <MX8MP_IOMUXC_NAND_READY_B__USDHC3_RESET_B 0x84>; 27862306a36Sopenharmony_ci }; 27962306a36Sopenharmony_ci 28062306a36Sopenharmony_ci pinctrl_wdog: wdoggrp { 28162306a36Sopenharmony_ci fsl,pins = <MX8MP_IOMUXC_GPIO1_IO02__WDOG1_WDOG_B 0x1c4>; 28262306a36Sopenharmony_ci }; 28362306a36Sopenharmony_ci}; 284