1*21baf0b4SMarco Felsch// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2*21baf0b4SMarco Felsch/* 3*21baf0b4SMarco Felsch * Copyright 2019 NXP 4*21baf0b4SMarco Felsch * Copyright (C) 2023 Pengutronix, Marco Felsch <kernel@pengutronix.de> 5*21baf0b4SMarco Felsch */ 6*21baf0b4SMarco Felsch 7*21baf0b4SMarco Felsch#include "imx8mp.dtsi" 8*21baf0b4SMarco Felsch 9*21baf0b4SMarco Felsch/ { 10*21baf0b4SMarco Felsch model = "Polyhex i.MX8MPlus Debix SOM A"; 11*21baf0b4SMarco Felsch compatible = "polyhex,imx8mp-debix-som-a", "fsl,imx8mp"; 12*21baf0b4SMarco Felsch 13*21baf0b4SMarco Felsch reg_usdhc2_vmmc: regulator-usdhc2 { 14*21baf0b4SMarco Felsch compatible = "regulator-fixed"; 15*21baf0b4SMarco Felsch pinctrl-names = "default"; 16*21baf0b4SMarco Felsch pinctrl-0 = <&pinctrl_reg_usdhc2_vmmc>; 17*21baf0b4SMarco Felsch regulator-name = "VSD_3V3"; 18*21baf0b4SMarco Felsch regulator-min-microvolt = <3300000>; 19*21baf0b4SMarco Felsch regulator-max-microvolt = <3300000>; 20*21baf0b4SMarco Felsch gpio = <&gpio2 19 GPIO_ACTIVE_HIGH>; 21*21baf0b4SMarco Felsch enable-active-high; 22*21baf0b4SMarco Felsch }; 23*21baf0b4SMarco Felsch}; 24*21baf0b4SMarco Felsch 25*21baf0b4SMarco Felsch&A53_0 { 26*21baf0b4SMarco Felsch cpu-supply = <&buck2>; 27*21baf0b4SMarco Felsch}; 28*21baf0b4SMarco Felsch 29*21baf0b4SMarco Felsch&A53_1 { 30*21baf0b4SMarco Felsch cpu-supply = <&buck2>; 31*21baf0b4SMarco Felsch}; 32*21baf0b4SMarco Felsch 33*21baf0b4SMarco Felsch&A53_2 { 34*21baf0b4SMarco Felsch cpu-supply = <&buck2>; 35*21baf0b4SMarco Felsch}; 36*21baf0b4SMarco Felsch 37*21baf0b4SMarco Felsch&A53_3 { 38*21baf0b4SMarco Felsch cpu-supply = <&buck2>; 39*21baf0b4SMarco Felsch}; 40*21baf0b4SMarco Felsch 41*21baf0b4SMarco Felsch&i2c1 { 42*21baf0b4SMarco Felsch clock-frequency = <400000>; 43*21baf0b4SMarco Felsch pinctrl-names = "default"; 44*21baf0b4SMarco Felsch pinctrl-0 = <&pinctrl_i2c1>; 45*21baf0b4SMarco Felsch status = "okay"; 46*21baf0b4SMarco Felsch 47*21baf0b4SMarco Felsch pmic@25 { 48*21baf0b4SMarco Felsch compatible = "nxp,pca9450c"; 49*21baf0b4SMarco Felsch reg = <0x25>; 50*21baf0b4SMarco Felsch pinctrl-names = "default"; 51*21baf0b4SMarco Felsch pinctrl-0 = <&pinctrl_pmic>; 52*21baf0b4SMarco Felsch interrupt-parent = <&gpio1>; 53*21baf0b4SMarco Felsch interrupts = <3 IRQ_TYPE_LEVEL_LOW>; 54*21baf0b4SMarco Felsch 55*21baf0b4SMarco Felsch regulators { 56*21baf0b4SMarco Felsch buck1: BUCK1 { 57*21baf0b4SMarco Felsch regulator-name = "BUCK1"; 58*21baf0b4SMarco Felsch regulator-min-microvolt = <600000>; 59*21baf0b4SMarco Felsch regulator-max-microvolt = <2187500>; 60*21baf0b4SMarco Felsch regulator-boot-on; 61*21baf0b4SMarco Felsch regulator-always-on; 62*21baf0b4SMarco Felsch regulator-ramp-delay = <3125>; 63*21baf0b4SMarco Felsch }; 64*21baf0b4SMarco Felsch 65*21baf0b4SMarco Felsch buck2: BUCK2 { 66*21baf0b4SMarco Felsch regulator-name = "BUCK2"; 67*21baf0b4SMarco Felsch regulator-min-microvolt = <600000>; 68*21baf0b4SMarco Felsch regulator-max-microvolt = <2187500>; 69*21baf0b4SMarco Felsch regulator-boot-on; 70*21baf0b4SMarco Felsch regulator-always-on; 71*21baf0b4SMarco Felsch regulator-ramp-delay = <3125>; 72*21baf0b4SMarco Felsch nxp,dvs-run-voltage = <950000>; 73*21baf0b4SMarco Felsch nxp,dvs-standby-voltage = <850000>; 74*21baf0b4SMarco Felsch }; 75*21baf0b4SMarco Felsch 76*21baf0b4SMarco Felsch buck4: BUCK4 { 77*21baf0b4SMarco Felsch regulator-name = "BUCK4"; 78*21baf0b4SMarco Felsch regulator-min-microvolt = <600000>; 79*21baf0b4SMarco Felsch regulator-max-microvolt = <3400000>; 80*21baf0b4SMarco Felsch regulator-boot-on; 81*21baf0b4SMarco Felsch regulator-always-on; 82*21baf0b4SMarco Felsch }; 83*21baf0b4SMarco Felsch 84*21baf0b4SMarco Felsch buck5: BUCK5 { 85*21baf0b4SMarco Felsch regulator-name = "BUCK5"; 86*21baf0b4SMarco Felsch regulator-min-microvolt = <600000>; 87*21baf0b4SMarco Felsch regulator-max-microvolt = <3400000>; 88*21baf0b4SMarco Felsch regulator-boot-on; 89*21baf0b4SMarco Felsch regulator-always-on; 90*21baf0b4SMarco Felsch }; 91*21baf0b4SMarco Felsch 92*21baf0b4SMarco Felsch buck6: BUCK6 { 93*21baf0b4SMarco Felsch regulator-name = "BUCK6"; 94*21baf0b4SMarco Felsch regulator-min-microvolt = <600000>; 95*21baf0b4SMarco Felsch regulator-max-microvolt = <3400000>; 96*21baf0b4SMarco Felsch regulator-boot-on; 97*21baf0b4SMarco Felsch regulator-always-on; 98*21baf0b4SMarco Felsch }; 99*21baf0b4SMarco Felsch 100*21baf0b4SMarco Felsch ldo1: LDO1 { 101*21baf0b4SMarco Felsch regulator-name = "LDO1"; 102*21baf0b4SMarco Felsch regulator-min-microvolt = <1600000>; 103*21baf0b4SMarco Felsch regulator-max-microvolt = <3300000>; 104*21baf0b4SMarco Felsch regulator-boot-on; 105*21baf0b4SMarco Felsch regulator-always-on; 106*21baf0b4SMarco Felsch }; 107*21baf0b4SMarco Felsch 108*21baf0b4SMarco Felsch ldo2: LDO2 { 109*21baf0b4SMarco Felsch regulator-name = "LDO2"; 110*21baf0b4SMarco Felsch regulator-min-microvolt = <800000>; 111*21baf0b4SMarco Felsch regulator-max-microvolt = <1150000>; 112*21baf0b4SMarco Felsch regulator-boot-on; 113*21baf0b4SMarco Felsch regulator-always-on; 114*21baf0b4SMarco Felsch }; 115*21baf0b4SMarco Felsch 116*21baf0b4SMarco Felsch ldo3: LDO3 { 117*21baf0b4SMarco Felsch regulator-name = "LDO3"; 118*21baf0b4SMarco Felsch regulator-min-microvolt = <800000>; 119*21baf0b4SMarco Felsch regulator-max-microvolt = <3300000>; 120*21baf0b4SMarco Felsch regulator-boot-on; 121*21baf0b4SMarco Felsch regulator-always-on; 122*21baf0b4SMarco Felsch }; 123*21baf0b4SMarco Felsch 124*21baf0b4SMarco Felsch ldo4: LDO4 { 125*21baf0b4SMarco Felsch regulator-name = "LDO4"; 126*21baf0b4SMarco Felsch regulator-min-microvolt = <800000>; 127*21baf0b4SMarco Felsch regulator-max-microvolt = <3300000>; 128*21baf0b4SMarco Felsch regulator-boot-on; 129*21baf0b4SMarco Felsch regulator-always-on; 130*21baf0b4SMarco Felsch }; 131*21baf0b4SMarco Felsch 132*21baf0b4SMarco Felsch ldo5: LDO5 { 133*21baf0b4SMarco Felsch regulator-name = "LDO5"; 134*21baf0b4SMarco Felsch regulator-min-microvolt = <1800000>; 135*21baf0b4SMarco Felsch regulator-max-microvolt = <3300000>; 136*21baf0b4SMarco Felsch regulator-boot-on; 137*21baf0b4SMarco Felsch regulator-always-on; 138*21baf0b4SMarco Felsch }; 139*21baf0b4SMarco Felsch }; 140*21baf0b4SMarco Felsch }; 141*21baf0b4SMarco Felsch}; 142*21baf0b4SMarco Felsch 143*21baf0b4SMarco Felsch&i2c4 { 144*21baf0b4SMarco Felsch clock-frequency = <400000>; 145*21baf0b4SMarco Felsch pinctrl-names = "default"; 146*21baf0b4SMarco Felsch pinctrl-0 = <&pinctrl_i2c4>; 147*21baf0b4SMarco Felsch status = "okay"; 148*21baf0b4SMarco Felsch 149*21baf0b4SMarco Felsch adc@48 { 150*21baf0b4SMarco Felsch compatible = "ti,ads1115"; 151*21baf0b4SMarco Felsch reg = <0x48>; 152*21baf0b4SMarco Felsch #address-cells = <1>; 153*21baf0b4SMarco Felsch #size-cells = <0>; 154*21baf0b4SMarco Felsch 155*21baf0b4SMarco Felsch channel@4 { 156*21baf0b4SMarco Felsch reg = <4>; 157*21baf0b4SMarco Felsch ti,gain = <1>; 158*21baf0b4SMarco Felsch ti,datarate = <7>; 159*21baf0b4SMarco Felsch }; 160*21baf0b4SMarco Felsch 161*21baf0b4SMarco Felsch channel@5 { 162*21baf0b4SMarco Felsch reg = <5>; 163*21baf0b4SMarco Felsch ti,gain = <1>; 164*21baf0b4SMarco Felsch ti,datarate = <7>; 165*21baf0b4SMarco Felsch }; 166*21baf0b4SMarco Felsch 167*21baf0b4SMarco Felsch channel@6 { 168*21baf0b4SMarco Felsch reg = <6>; 169*21baf0b4SMarco Felsch ti,gain = <1>; 170*21baf0b4SMarco Felsch ti,datarate = <7>; 171*21baf0b4SMarco Felsch }; 172*21baf0b4SMarco Felsch 173*21baf0b4SMarco Felsch channel@7 { 174*21baf0b4SMarco Felsch reg = <7>; 175*21baf0b4SMarco Felsch ti,gain = <1>; 176*21baf0b4SMarco Felsch ti,datarate = <7>; 177*21baf0b4SMarco Felsch }; 178*21baf0b4SMarco Felsch }; 179*21baf0b4SMarco Felsch}; 180*21baf0b4SMarco Felsch 181*21baf0b4SMarco Felsch&snvs_pwrkey { 182*21baf0b4SMarco Felsch status = "okay"; 183*21baf0b4SMarco Felsch}; 184*21baf0b4SMarco Felsch 185*21baf0b4SMarco Felsch/* eMMC */ 186*21baf0b4SMarco Felsch&usdhc3 { 187*21baf0b4SMarco Felsch pinctrl-names = "default", "state_100mhz", "state_200mhz"; 188*21baf0b4SMarco Felsch pinctrl-0 = <&pinctrl_usdhc3>; 189*21baf0b4SMarco Felsch pinctrl-1 = <&pinctrl_usdhc3_100mhz>; 190*21baf0b4SMarco Felsch pinctrl-2 = <&pinctrl_usdhc3_200mhz>; 191*21baf0b4SMarco Felsch assigned-clocks = <&clk IMX8MP_CLK_USDHC3>; 192*21baf0b4SMarco Felsch assigned-clock-rates = <400000000>; 193*21baf0b4SMarco Felsch bus-width = <8>; 194*21baf0b4SMarco Felsch non-removable; 195*21baf0b4SMarco Felsch status = "okay"; 196*21baf0b4SMarco Felsch}; 197*21baf0b4SMarco Felsch 198*21baf0b4SMarco Felsch&wdog1 { 199*21baf0b4SMarco Felsch pinctrl-names = "default"; 200*21baf0b4SMarco Felsch pinctrl-0 = <&pinctrl_wdog>; 201*21baf0b4SMarco Felsch fsl,ext-reset-output; 202*21baf0b4SMarco Felsch status = "okay"; 203*21baf0b4SMarco Felsch}; 204*21baf0b4SMarco Felsch 205*21baf0b4SMarco Felsch&iomuxc { 206*21baf0b4SMarco Felsch pinctrl_i2c1: i2c1grp { 207*21baf0b4SMarco Felsch fsl,pins = < 208*21baf0b4SMarco Felsch MX8MP_IOMUXC_I2C1_SCL__I2C1_SCL 0x400001c2 209*21baf0b4SMarco Felsch MX8MP_IOMUXC_I2C1_SDA__I2C1_SDA 0x400001c2 210*21baf0b4SMarco Felsch >; 211*21baf0b4SMarco Felsch }; 212*21baf0b4SMarco Felsch 213*21baf0b4SMarco Felsch pinctrl_i2c4: i2c4grp { 214*21baf0b4SMarco Felsch fsl,pins = < 215*21baf0b4SMarco Felsch MX8MP_IOMUXC_I2C4_SCL__I2C4_SCL 0x400001c3 216*21baf0b4SMarco Felsch MX8MP_IOMUXC_I2C4_SDA__I2C4_SDA 0x400001c3 217*21baf0b4SMarco Felsch >; 218*21baf0b4SMarco Felsch }; 219*21baf0b4SMarco Felsch 220*21baf0b4SMarco Felsch pinctrl_pmic: pmicgrp { 221*21baf0b4SMarco Felsch fsl,pins = < 222*21baf0b4SMarco Felsch MX8MP_IOMUXC_GPIO1_IO03__GPIO1_IO03 0x41 223*21baf0b4SMarco Felsch >; 224*21baf0b4SMarco Felsch }; 225*21baf0b4SMarco Felsch 226*21baf0b4SMarco Felsch pinctrl_reg_usdhc2_vmmc: regusdhc2vmmcgrp { 227*21baf0b4SMarco Felsch fsl,pins = < 228*21baf0b4SMarco Felsch MX8MP_IOMUXC_SD2_RESET_B__GPIO2_IO19 0x41 229*21baf0b4SMarco Felsch >; 230*21baf0b4SMarco Felsch }; 231*21baf0b4SMarco Felsch 232*21baf0b4SMarco Felsch pinctrl_usdhc3: usdhc3grp { 233*21baf0b4SMarco Felsch fsl,pins = < 234*21baf0b4SMarco Felsch MX8MP_IOMUXC_NAND_WE_B__USDHC3_CLK 0x190 235*21baf0b4SMarco Felsch MX8MP_IOMUXC_NAND_WP_B__USDHC3_CMD 0x1d0 236*21baf0b4SMarco Felsch MX8MP_IOMUXC_NAND_DATA04__USDHC3_DATA0 0x1d0 237*21baf0b4SMarco Felsch MX8MP_IOMUXC_NAND_DATA05__USDHC3_DATA1 0x1d0 238*21baf0b4SMarco Felsch MX8MP_IOMUXC_NAND_DATA06__USDHC3_DATA2 0x1d0 239*21baf0b4SMarco Felsch MX8MP_IOMUXC_NAND_DATA07__USDHC3_DATA3 0x1d0 240*21baf0b4SMarco Felsch MX8MP_IOMUXC_NAND_RE_B__USDHC3_DATA4 0x1d0 241*21baf0b4SMarco Felsch MX8MP_IOMUXC_NAND_CE2_B__USDHC3_DATA5 0x1d0 242*21baf0b4SMarco Felsch MX8MP_IOMUXC_NAND_CE3_B__USDHC3_DATA6 0x1d0 243*21baf0b4SMarco Felsch MX8MP_IOMUXC_NAND_CLE__USDHC3_DATA7 0x1d0 244*21baf0b4SMarco Felsch MX8MP_IOMUXC_NAND_CE1_B__USDHC3_STROBE 0x190 245*21baf0b4SMarco Felsch >; 246*21baf0b4SMarco Felsch }; 247*21baf0b4SMarco Felsch 248*21baf0b4SMarco Felsch pinctrl_usdhc3_100mhz: usdhc3-100mhzgrp { 249*21baf0b4SMarco Felsch fsl,pins = < 250*21baf0b4SMarco Felsch MX8MP_IOMUXC_NAND_WE_B__USDHC3_CLK 0x194 251*21baf0b4SMarco Felsch MX8MP_IOMUXC_NAND_WP_B__USDHC3_CMD 0x1d4 252*21baf0b4SMarco Felsch MX8MP_IOMUXC_NAND_DATA04__USDHC3_DATA0 0x1d4 253*21baf0b4SMarco Felsch MX8MP_IOMUXC_NAND_DATA05__USDHC3_DATA1 0x1d4 254*21baf0b4SMarco Felsch MX8MP_IOMUXC_NAND_DATA06__USDHC3_DATA2 0x1d4 255*21baf0b4SMarco Felsch MX8MP_IOMUXC_NAND_DATA07__USDHC3_DATA3 0x1d4 256*21baf0b4SMarco Felsch MX8MP_IOMUXC_NAND_RE_B__USDHC3_DATA4 0x1d4 257*21baf0b4SMarco Felsch MX8MP_IOMUXC_NAND_CE2_B__USDHC3_DATA5 0x1d4 258*21baf0b4SMarco Felsch MX8MP_IOMUXC_NAND_CE3_B__USDHC3_DATA6 0x1d4 259*21baf0b4SMarco Felsch MX8MP_IOMUXC_NAND_CLE__USDHC3_DATA7 0x1d4 260*21baf0b4SMarco Felsch MX8MP_IOMUXC_NAND_CE1_B__USDHC3_STROBE 0x194 261*21baf0b4SMarco Felsch >; 262*21baf0b4SMarco Felsch }; 263*21baf0b4SMarco Felsch 264*21baf0b4SMarco Felsch pinctrl_usdhc3_200mhz: usdhc3-200mhzgrp { 265*21baf0b4SMarco Felsch fsl,pins = < 266*21baf0b4SMarco Felsch MX8MP_IOMUXC_NAND_WE_B__USDHC3_CLK 0x196 267*21baf0b4SMarco Felsch MX8MP_IOMUXC_NAND_WP_B__USDHC3_CMD 0x1d6 268*21baf0b4SMarco Felsch MX8MP_IOMUXC_NAND_DATA04__USDHC3_DATA0 0x1d6 269*21baf0b4SMarco Felsch MX8MP_IOMUXC_NAND_DATA05__USDHC3_DATA1 0x1d6 270*21baf0b4SMarco Felsch MX8MP_IOMUXC_NAND_DATA06__USDHC3_DATA2 0x1d6 271*21baf0b4SMarco Felsch MX8MP_IOMUXC_NAND_DATA07__USDHC3_DATA3 0x1d6 272*21baf0b4SMarco Felsch MX8MP_IOMUXC_NAND_RE_B__USDHC3_DATA4 0x1d6 273*21baf0b4SMarco Felsch MX8MP_IOMUXC_NAND_CE2_B__USDHC3_DATA5 0x1d6 274*21baf0b4SMarco Felsch MX8MP_IOMUXC_NAND_CE3_B__USDHC3_DATA6 0x1d6 275*21baf0b4SMarco Felsch MX8MP_IOMUXC_NAND_CLE__USDHC3_DATA7 0x1d6 276*21baf0b4SMarco Felsch MX8MP_IOMUXC_NAND_CE1_B__USDHC3_STROBE 0x196 277*21baf0b4SMarco Felsch >; 278*21baf0b4SMarco Felsch }; 279*21baf0b4SMarco Felsch 280*21baf0b4SMarco Felsch pinctrl_wdog: wdoggrp { 281*21baf0b4SMarco Felsch fsl,pins = < 282*21baf0b4SMarco Felsch MX8MP_IOMUXC_GPIO1_IO02__WDOG1_WDOG_B 0xc6 283*21baf0b4SMarco Felsch >; 284*21baf0b4SMarco Felsch }; 285*21baf0b4SMarco Felsch}; 286