1b97ee269SEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0-or-later OR MIT 2b97ee269SEmmanuel Vadot/* 3b97ee269SEmmanuel Vadot * Copyright 2021-2022 TQ-Systems GmbH 4b97ee269SEmmanuel Vadot * Author: Alexander Stein <alexander.stein@tq-group.com> 5b97ee269SEmmanuel Vadot */ 6b97ee269SEmmanuel Vadot 7b97ee269SEmmanuel Vadot#include "imx8mp.dtsi" 8b97ee269SEmmanuel Vadot 9b97ee269SEmmanuel Vadot/ { 10b97ee269SEmmanuel Vadot model = "TQ-Systems i.MX8MPlus TQMa8MPxL"; 11b97ee269SEmmanuel Vadot compatible = "tq,imx8mp-tqma8mpql", "fsl,imx8mp"; 12b97ee269SEmmanuel Vadot 13b97ee269SEmmanuel Vadot memory@40000000 { 14b97ee269SEmmanuel Vadot device_type = "memory"; 15b97ee269SEmmanuel Vadot reg = <0x0 0x40000000 0 0x80000000>; 16b97ee269SEmmanuel Vadot }; 17b97ee269SEmmanuel Vadot 18b97ee269SEmmanuel Vadot /* identical to buck4_reg, but should never change */ 19b97ee269SEmmanuel Vadot reg_vcc3v3: regulator-vcc3v3 { 20b97ee269SEmmanuel Vadot compatible = "regulator-fixed"; 21b97ee269SEmmanuel Vadot regulator-name = "VCC3V3"; 22b97ee269SEmmanuel Vadot regulator-min-microvolt = <3300000>; 23b97ee269SEmmanuel Vadot regulator-max-microvolt = <3300000>; 24b97ee269SEmmanuel Vadot regulator-always-on; 25b97ee269SEmmanuel Vadot }; 26b97ee269SEmmanuel Vadot 27b97ee269SEmmanuel Vadot /* e-MMC IO, needed for HS modes */ 28b97ee269SEmmanuel Vadot reg_vcc1v8: regulator-vcc1v8 { 29b97ee269SEmmanuel Vadot compatible = "regulator-fixed"; 30b97ee269SEmmanuel Vadot regulator-name = "VCC1V8"; 31b97ee269SEmmanuel Vadot regulator-min-microvolt = <1800000>; 32b97ee269SEmmanuel Vadot regulator-max-microvolt = <1800000>; 33b97ee269SEmmanuel Vadot regulator-always-on; 34b97ee269SEmmanuel Vadot }; 35b97ee269SEmmanuel Vadot}; 36b97ee269SEmmanuel Vadot 37b97ee269SEmmanuel Vadot&A53_0 { 38b97ee269SEmmanuel Vadot cpu-supply = <&buck2_reg>; 39b97ee269SEmmanuel Vadot}; 40b97ee269SEmmanuel Vadot 41b97ee269SEmmanuel Vadot&flexspi { 42b97ee269SEmmanuel Vadot pinctrl-names = "default"; 43b97ee269SEmmanuel Vadot pinctrl-0 = <&pinctrl_flexspi0>; 44b97ee269SEmmanuel Vadot status = "okay"; 45b97ee269SEmmanuel Vadot 46b97ee269SEmmanuel Vadot flash0: flash@0 { 47b97ee269SEmmanuel Vadot reg = <0>; 48b97ee269SEmmanuel Vadot #address-cells = <1>; 49b97ee269SEmmanuel Vadot #size-cells = <1>; 50b97ee269SEmmanuel Vadot compatible = "jedec,spi-nor"; 51b97ee269SEmmanuel Vadot spi-max-frequency = <80000000>; 52b97ee269SEmmanuel Vadot spi-tx-bus-width = <1>; 53b97ee269SEmmanuel Vadot spi-rx-bus-width = <4>; 54b97ee269SEmmanuel Vadot }; 55b97ee269SEmmanuel Vadot}; 56b97ee269SEmmanuel Vadot 57b97ee269SEmmanuel Vadot&i2c1 { 58b97ee269SEmmanuel Vadot clock-frequency = <384000>; 59b97ee269SEmmanuel Vadot pinctrl-names = "default", "gpio"; 60b97ee269SEmmanuel Vadot pinctrl-0 = <&pinctrl_i2c1>; 61b97ee269SEmmanuel Vadot pinctrl-1 = <&pinctrl_i2c1_gpio>; 62b97ee269SEmmanuel Vadot scl-gpios = <&gpio5 14 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 63b97ee269SEmmanuel Vadot sda-gpios = <&gpio5 15 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 64b97ee269SEmmanuel Vadot status = "okay"; 65b97ee269SEmmanuel Vadot 66*cb7aa33aSEmmanuel Vadot se97: temperature-sensor@1b { 67*cb7aa33aSEmmanuel Vadot compatible = "nxp,se97b", "jedec,jc-42.4-temp"; 68b97ee269SEmmanuel Vadot reg = <0x1b>; 69b97ee269SEmmanuel Vadot }; 70b97ee269SEmmanuel Vadot 71b97ee269SEmmanuel Vadot pmic: pmic@25 { 72b97ee269SEmmanuel Vadot reg = <0x25>; 73b97ee269SEmmanuel Vadot compatible = "nxp,pca9450c"; 74b97ee269SEmmanuel Vadot 75b97ee269SEmmanuel Vadot /* PMIC PCA9450 PMIC_nINT GPIO1_IO08 */ 76b97ee269SEmmanuel Vadot pinctrl-0 = <&pinctrl_pmic>; 77b97ee269SEmmanuel Vadot pinctrl-names = "default"; 78b97ee269SEmmanuel Vadot interrupt-parent = <&gpio1>; 79b97ee269SEmmanuel Vadot interrupts = <8 IRQ_TYPE_LEVEL_LOW>; 80b97ee269SEmmanuel Vadot 81b97ee269SEmmanuel Vadot regulators { 82b97ee269SEmmanuel Vadot /* V_0V85_SOC: 0.85 .. 0.95 */ 83b97ee269SEmmanuel Vadot buck1_reg: BUCK1 { 84b97ee269SEmmanuel Vadot regulator-name = "BUCK1"; 85b97ee269SEmmanuel Vadot regulator-min-microvolt = <850000>; 86b97ee269SEmmanuel Vadot regulator-max-microvolt = <950000>; 87b97ee269SEmmanuel Vadot regulator-boot-on; 88b97ee269SEmmanuel Vadot regulator-always-on; 89b97ee269SEmmanuel Vadot regulator-ramp-delay = <3125>; 90b97ee269SEmmanuel Vadot }; 91b97ee269SEmmanuel Vadot 92b97ee269SEmmanuel Vadot /* VDD_ARM */ 93b97ee269SEmmanuel Vadot buck2_reg: BUCK2 { 94b97ee269SEmmanuel Vadot regulator-name = "BUCK2"; 95b97ee269SEmmanuel Vadot regulator-min-microvolt = <850000>; 96b97ee269SEmmanuel Vadot regulator-max-microvolt = <1000000>; 97b97ee269SEmmanuel Vadot regulator-boot-on; 98b97ee269SEmmanuel Vadot regulator-always-on; 99b97ee269SEmmanuel Vadot nxp,dvs-run-voltage = <950000>; 100b97ee269SEmmanuel Vadot nxp,dvs-standby-voltage = <850000>; 101b97ee269SEmmanuel Vadot regulator-ramp-delay = <3125>; 102b97ee269SEmmanuel Vadot }; 103b97ee269SEmmanuel Vadot 104b97ee269SEmmanuel Vadot /* VCC3V3 -> VMMC, ... must not be changed */ 105b97ee269SEmmanuel Vadot buck4_reg: BUCK4 { 106b97ee269SEmmanuel Vadot regulator-name = "BUCK4"; 107b97ee269SEmmanuel Vadot regulator-min-microvolt = <3300000>; 108b97ee269SEmmanuel Vadot regulator-max-microvolt = <3300000>; 109b97ee269SEmmanuel Vadot regulator-boot-on; 110b97ee269SEmmanuel Vadot regulator-always-on; 111b97ee269SEmmanuel Vadot }; 112b97ee269SEmmanuel Vadot 113b97ee269SEmmanuel Vadot /* V_1V8 -> VQMMC, SPI-NOR, ... must not be changed */ 114b97ee269SEmmanuel Vadot buck5_reg: BUCK5 { 115b97ee269SEmmanuel Vadot regulator-name = "BUCK5"; 116b97ee269SEmmanuel Vadot regulator-min-microvolt = <1800000>; 117b97ee269SEmmanuel Vadot regulator-max-microvolt = <1800000>; 118b97ee269SEmmanuel Vadot regulator-boot-on; 119b97ee269SEmmanuel Vadot regulator-always-on; 120b97ee269SEmmanuel Vadot }; 121b97ee269SEmmanuel Vadot 122b97ee269SEmmanuel Vadot /* V_1V1 -> RAM, ... must not be changed */ 123b97ee269SEmmanuel Vadot buck6_reg: BUCK6 { 124b97ee269SEmmanuel Vadot regulator-name = "BUCK6"; 125b97ee269SEmmanuel Vadot regulator-min-microvolt = <1100000>; 126b97ee269SEmmanuel Vadot regulator-max-microvolt = <1100000>; 127b97ee269SEmmanuel Vadot regulator-boot-on; 128b97ee269SEmmanuel Vadot regulator-always-on; 129b97ee269SEmmanuel Vadot }; 130b97ee269SEmmanuel Vadot 131b97ee269SEmmanuel Vadot /* V_1V8_SNVS */ 132b97ee269SEmmanuel Vadot ldo1_reg: LDO1 { 133b97ee269SEmmanuel Vadot regulator-name = "LDO1"; 134b97ee269SEmmanuel Vadot regulator-min-microvolt = <1800000>; 135b97ee269SEmmanuel Vadot regulator-max-microvolt = <1800000>; 136b97ee269SEmmanuel Vadot regulator-boot-on; 137b97ee269SEmmanuel Vadot regulator-always-on; 138b97ee269SEmmanuel Vadot }; 139b97ee269SEmmanuel Vadot 140b97ee269SEmmanuel Vadot /* V_1V8_ANA */ 141b97ee269SEmmanuel Vadot ldo3_reg: LDO3 { 142b97ee269SEmmanuel Vadot regulator-name = "LDO3"; 143b97ee269SEmmanuel Vadot regulator-min-microvolt = <1800000>; 144b97ee269SEmmanuel Vadot regulator-max-microvolt = <1800000>; 145b97ee269SEmmanuel Vadot regulator-boot-on; 146b97ee269SEmmanuel Vadot regulator-always-on; 147b97ee269SEmmanuel Vadot }; 148b97ee269SEmmanuel Vadot 149b97ee269SEmmanuel Vadot /* unused */ 150b97ee269SEmmanuel Vadot ldo4_reg: LDO4 { 151b97ee269SEmmanuel Vadot regulator-name = "LDO4"; 152b97ee269SEmmanuel Vadot regulator-min-microvolt = <800000>; 153b97ee269SEmmanuel Vadot regulator-max-microvolt = <3300000>; 154b97ee269SEmmanuel Vadot }; 155b97ee269SEmmanuel Vadot 156b97ee269SEmmanuel Vadot /* VCC SD IO - switched using SD2 VSELECT */ 157b97ee269SEmmanuel Vadot ldo5_reg: LDO5 { 158b97ee269SEmmanuel Vadot regulator-name = "LDO5"; 159b97ee269SEmmanuel Vadot regulator-min-microvolt = <1800000>; 160b97ee269SEmmanuel Vadot regulator-max-microvolt = <3300000>; 161b97ee269SEmmanuel Vadot }; 162b97ee269SEmmanuel Vadot }; 163b97ee269SEmmanuel Vadot }; 164b97ee269SEmmanuel Vadot 165b97ee269SEmmanuel Vadot pcf85063: rtc@51 { 166b97ee269SEmmanuel Vadot compatible = "nxp,pcf85063a"; 167b97ee269SEmmanuel Vadot reg = <0x51>; 168b97ee269SEmmanuel Vadot }; 169b97ee269SEmmanuel Vadot 170b97ee269SEmmanuel Vadot at24c02: eeprom@53 { 171b97ee269SEmmanuel Vadot compatible = "nxp,se97b", "atmel,24c02"; 172b97ee269SEmmanuel Vadot read-only; 173b97ee269SEmmanuel Vadot reg = <0x53>; 174b97ee269SEmmanuel Vadot pagesize = <16>; 175b97ee269SEmmanuel Vadot vcc-supply = <®_vcc3v3>; 176b97ee269SEmmanuel Vadot }; 177b97ee269SEmmanuel Vadot 178b97ee269SEmmanuel Vadot m24c64: eeprom@57 { 179b97ee269SEmmanuel Vadot compatible = "atmel,24c64"; 180b97ee269SEmmanuel Vadot reg = <0x57>; 181b97ee269SEmmanuel Vadot pagesize = <32>; 182b97ee269SEmmanuel Vadot vcc-supply = <®_vcc3v3>; 183b97ee269SEmmanuel Vadot }; 184b97ee269SEmmanuel Vadot}; 185b97ee269SEmmanuel Vadot 186b97ee269SEmmanuel Vadot&usdhc3 { 187b97ee269SEmmanuel Vadot pinctrl-names = "default", "state_100mhz", "state_200mhz"; 188b97ee269SEmmanuel Vadot pinctrl-0 = <&pinctrl_usdhc3>; 189b97ee269SEmmanuel Vadot pinctrl-1 = <&pinctrl_usdhc3_100mhz>; 190b97ee269SEmmanuel Vadot pinctrl-2 = <&pinctrl_usdhc3_200mhz>; 191b97ee269SEmmanuel Vadot bus-width = <8>; 192b97ee269SEmmanuel Vadot non-removable; 193b97ee269SEmmanuel Vadot no-sd; 194b97ee269SEmmanuel Vadot no-sdio; 195b97ee269SEmmanuel Vadot vmmc-supply = <®_vcc3v3>; 196b97ee269SEmmanuel Vadot vqmmc-supply = <®_vcc1v8>; 197b97ee269SEmmanuel Vadot status = "okay"; 198b97ee269SEmmanuel Vadot}; 199b97ee269SEmmanuel Vadot 200b97ee269SEmmanuel Vadot&wdog1 { 201b97ee269SEmmanuel Vadot pinctrl-names = "default"; 202b97ee269SEmmanuel Vadot pinctrl-0 = <&pinctrl_wdog>; 203b97ee269SEmmanuel Vadot fsl,ext-reset-output; 204b97ee269SEmmanuel Vadot status = "okay"; 205b97ee269SEmmanuel Vadot}; 206b97ee269SEmmanuel Vadot 207b97ee269SEmmanuel Vadot&iomuxc { 208b97ee269SEmmanuel Vadot pinctrl_flexspi0: flexspi0grp { 209b97ee269SEmmanuel Vadot fsl,pins = <MX8MP_IOMUXC_NAND_ALE__FLEXSPI_A_SCLK 0x142>, 210b97ee269SEmmanuel Vadot <MX8MP_IOMUXC_NAND_CE0_B__FLEXSPI_A_SS0_B 0x82>, 211b97ee269SEmmanuel Vadot <MX8MP_IOMUXC_NAND_DATA00__FLEXSPI_A_DATA00 0x82>, 212b97ee269SEmmanuel Vadot <MX8MP_IOMUXC_NAND_DATA01__FLEXSPI_A_DATA01 0x82>, 213b97ee269SEmmanuel Vadot <MX8MP_IOMUXC_NAND_DATA02__FLEXSPI_A_DATA02 0x82>, 214b97ee269SEmmanuel Vadot <MX8MP_IOMUXC_NAND_DATA03__FLEXSPI_A_DATA03 0x82>; 215b97ee269SEmmanuel Vadot }; 216b97ee269SEmmanuel Vadot 217b97ee269SEmmanuel Vadot pinctrl_i2c1: i2c1grp { 218b97ee269SEmmanuel Vadot fsl,pins = <MX8MP_IOMUXC_I2C1_SCL__I2C1_SCL 0x400001e2>, 219b97ee269SEmmanuel Vadot <MX8MP_IOMUXC_I2C1_SDA__I2C1_SDA 0x400001e2>; 220b97ee269SEmmanuel Vadot }; 221b97ee269SEmmanuel Vadot 222b97ee269SEmmanuel Vadot pinctrl_i2c1_gpio: i2c1-gpiogrp { 223b97ee269SEmmanuel Vadot fsl,pins = <MX8MP_IOMUXC_I2C1_SCL__GPIO5_IO14 0x400001e2>, 224b97ee269SEmmanuel Vadot <MX8MP_IOMUXC_I2C1_SDA__GPIO5_IO15 0x400001e2>; 225b97ee269SEmmanuel Vadot }; 226b97ee269SEmmanuel Vadot 227b97ee269SEmmanuel Vadot pinctrl_pmic: pmicirqgrp { 228b97ee269SEmmanuel Vadot fsl,pins = <MX8MP_IOMUXC_GPIO1_IO08__GPIO1_IO08 0x1c0>; 229b97ee269SEmmanuel Vadot }; 230b97ee269SEmmanuel Vadot 231b97ee269SEmmanuel Vadot pinctrl_reg_usdhc2_vmmc: regusdhc2vmmcgrp { 232b97ee269SEmmanuel Vadot fsl,pins = <MX8MP_IOMUXC_SD2_RESET_B__GPIO2_IO19 0x10>; 233b97ee269SEmmanuel Vadot }; 234b97ee269SEmmanuel Vadot 235b97ee269SEmmanuel Vadot pinctrl_usdhc3: usdhc3grp { 236b97ee269SEmmanuel Vadot fsl,pins = <MX8MP_IOMUXC_NAND_WE_B__USDHC3_CLK 0x194>, 237b97ee269SEmmanuel Vadot <MX8MP_IOMUXC_NAND_WP_B__USDHC3_CMD 0x1d4>, 238b97ee269SEmmanuel Vadot <MX8MP_IOMUXC_NAND_DATA04__USDHC3_DATA0 0x1d4>, 239b97ee269SEmmanuel Vadot <MX8MP_IOMUXC_NAND_DATA05__USDHC3_DATA1 0x1d4>, 240b97ee269SEmmanuel Vadot <MX8MP_IOMUXC_NAND_DATA06__USDHC3_DATA2 0x1d4>, 241b97ee269SEmmanuel Vadot <MX8MP_IOMUXC_NAND_DATA07__USDHC3_DATA3 0x1d4>, 242b97ee269SEmmanuel Vadot <MX8MP_IOMUXC_NAND_RE_B__USDHC3_DATA4 0x1d4>, 243b97ee269SEmmanuel Vadot <MX8MP_IOMUXC_NAND_CE2_B__USDHC3_DATA5 0x1d4>, 244b97ee269SEmmanuel Vadot <MX8MP_IOMUXC_NAND_CE3_B__USDHC3_DATA6 0x1d4>, 245b97ee269SEmmanuel Vadot <MX8MP_IOMUXC_NAND_CLE__USDHC3_DATA7 0x1d4>, 246b97ee269SEmmanuel Vadot <MX8MP_IOMUXC_NAND_CE1_B__USDHC3_STROBE 0x84>, 247b97ee269SEmmanuel Vadot <MX8MP_IOMUXC_NAND_READY_B__USDHC3_RESET_B 0x84>; 248b97ee269SEmmanuel Vadot }; 249b97ee269SEmmanuel Vadot 250b97ee269SEmmanuel Vadot pinctrl_usdhc3_100mhz: usdhc3-100mhzgrp { 251b97ee269SEmmanuel Vadot fsl,pins = <MX8MP_IOMUXC_NAND_WE_B__USDHC3_CLK 0x194>, 252b97ee269SEmmanuel Vadot <MX8MP_IOMUXC_NAND_WP_B__USDHC3_CMD 0x1d4>, 253b97ee269SEmmanuel Vadot <MX8MP_IOMUXC_NAND_DATA04__USDHC3_DATA0 0x1d4>, 254b97ee269SEmmanuel Vadot <MX8MP_IOMUXC_NAND_DATA05__USDHC3_DATA1 0x1d4>, 255b97ee269SEmmanuel Vadot <MX8MP_IOMUXC_NAND_DATA06__USDHC3_DATA2 0x1d4>, 256b97ee269SEmmanuel Vadot <MX8MP_IOMUXC_NAND_DATA07__USDHC3_DATA3 0x1d4>, 257b97ee269SEmmanuel Vadot <MX8MP_IOMUXC_NAND_RE_B__USDHC3_DATA4 0x1d4>, 258b97ee269SEmmanuel Vadot <MX8MP_IOMUXC_NAND_CE2_B__USDHC3_DATA5 0x1d4>, 259b97ee269SEmmanuel Vadot <MX8MP_IOMUXC_NAND_CE3_B__USDHC3_DATA6 0x1d4>, 260b97ee269SEmmanuel Vadot <MX8MP_IOMUXC_NAND_CLE__USDHC3_DATA7 0x1d4>, 261b97ee269SEmmanuel Vadot <MX8MP_IOMUXC_NAND_CE1_B__USDHC3_STROBE 0x84>, 262b97ee269SEmmanuel Vadot <MX8MP_IOMUXC_NAND_READY_B__USDHC3_RESET_B 0x84>; 263b97ee269SEmmanuel Vadot }; 264b97ee269SEmmanuel Vadot 265b97ee269SEmmanuel Vadot pinctrl_usdhc3_200mhz: usdhc3-200mhzgrp { 266b97ee269SEmmanuel Vadot fsl,pins = <MX8MP_IOMUXC_NAND_WE_B__USDHC3_CLK 0x194>, 267b97ee269SEmmanuel Vadot <MX8MP_IOMUXC_NAND_WP_B__USDHC3_CMD 0x1d4>, 268b97ee269SEmmanuel Vadot <MX8MP_IOMUXC_NAND_DATA04__USDHC3_DATA0 0x1d4>, 269b97ee269SEmmanuel Vadot <MX8MP_IOMUXC_NAND_DATA05__USDHC3_DATA1 0x1d4>, 270b97ee269SEmmanuel Vadot <MX8MP_IOMUXC_NAND_DATA06__USDHC3_DATA2 0x1d4>, 271b97ee269SEmmanuel Vadot <MX8MP_IOMUXC_NAND_DATA07__USDHC3_DATA3 0x1d4>, 272b97ee269SEmmanuel Vadot <MX8MP_IOMUXC_NAND_RE_B__USDHC3_DATA4 0x1d4>, 273b97ee269SEmmanuel Vadot <MX8MP_IOMUXC_NAND_CE2_B__USDHC3_DATA5 0x1d4>, 274b97ee269SEmmanuel Vadot <MX8MP_IOMUXC_NAND_CE3_B__USDHC3_DATA6 0x1d4>, 275b97ee269SEmmanuel Vadot <MX8MP_IOMUXC_NAND_CLE__USDHC3_DATA7 0x1d4>, 276b97ee269SEmmanuel Vadot <MX8MP_IOMUXC_NAND_CE1_B__USDHC3_STROBE 0x84>, 277b97ee269SEmmanuel Vadot <MX8MP_IOMUXC_NAND_READY_B__USDHC3_RESET_B 0x84>; 278b97ee269SEmmanuel Vadot }; 279b97ee269SEmmanuel Vadot 280b97ee269SEmmanuel Vadot pinctrl_wdog: wdoggrp { 281b97ee269SEmmanuel Vadot fsl,pins = <MX8MP_IOMUXC_GPIO1_IO02__WDOG1_WDOG_B 0x1c4>; 282b97ee269SEmmanuel Vadot }; 283b97ee269SEmmanuel Vadot}; 284