1*724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0 2*724ba675SRob Herring// 3*724ba675SRob Herring// Copyright (C) 2019 Logic PD, Inc. 4*724ba675SRob Herring 5*724ba675SRob Herring#include <dt-bindings/gpio/gpio.h> 6*724ba675SRob Herring#include <dt-bindings/input/input.h> 7*724ba675SRob Herring 8*724ba675SRob Herring/ { 9*724ba675SRob Herring chosen { 10*724ba675SRob Herring stdout-path = &uart1; 11*724ba675SRob Herring }; 12*724ba675SRob Herring 13*724ba675SRob Herring memory@10000000 { 14*724ba675SRob Herring device_type = "memory"; 15*724ba675SRob Herring reg = <0x10000000 0x80000000>; 16*724ba675SRob Herring }; 17*724ba675SRob Herring 18*724ba675SRob Herring reg_wl18xx_vmmc: regulator-wl18xx { 19*724ba675SRob Herring compatible = "regulator-fixed"; 20*724ba675SRob Herring regulator-name = "vwl1837"; 21*724ba675SRob Herring regulator-min-microvolt = <3300000>; 22*724ba675SRob Herring regulator-max-microvolt = <3300000>; 23*724ba675SRob Herring gpio = <&gpio7 0 GPIO_ACTIVE_HIGH>; 24*724ba675SRob Herring startup-delay-us = <70000>; 25*724ba675SRob Herring enable-active-high; 26*724ba675SRob Herring }; 27*724ba675SRob Herring}; 28*724ba675SRob Herring 29*724ba675SRob Herring&clks { 30*724ba675SRob Herring assigned-clocks = <&clks IMX6QDL_CLK_LDB_DI0_SEL>, 31*724ba675SRob Herring <&clks IMX6QDL_CLK_LDB_DI1_SEL>; 32*724ba675SRob Herring assigned-clock-parents = <&clks IMX6QDL_CLK_PLL3_USB_OTG>, 33*724ba675SRob Herring <&clks IMX6QDL_CLK_PLL3_USB_OTG>; 34*724ba675SRob Herring}; 35*724ba675SRob Herring 36*724ba675SRob Herring&gpmi { 37*724ba675SRob Herring pinctrl-names = "default"; 38*724ba675SRob Herring pinctrl-0 = <&pinctrl_gpmi_nand>; 39*724ba675SRob Herring nand-on-flash-bbt; 40*724ba675SRob Herring status = "okay"; 41*724ba675SRob Herring}; 42*724ba675SRob Herring 43*724ba675SRob Herring&i2c3 { 44*724ba675SRob Herring clock-frequency = <100000>; 45*724ba675SRob Herring pinctrl-names = "default"; 46*724ba675SRob Herring pinctrl-0 = <&pinctrl_i2c3>; 47*724ba675SRob Herring status = "okay"; 48*724ba675SRob Herring 49*724ba675SRob Herring pfuze100: pmic@8 { 50*724ba675SRob Herring compatible = "fsl,pfuze100"; 51*724ba675SRob Herring reg = <0x08>; 52*724ba675SRob Herring 53*724ba675SRob Herring regulators { 54*724ba675SRob Herring sw1a_reg: sw1ab { 55*724ba675SRob Herring regulator-min-microvolt = <725000>; 56*724ba675SRob Herring regulator-max-microvolt = <1450000>; 57*724ba675SRob Herring regulator-name = "vddcore"; 58*724ba675SRob Herring regulator-boot-on; 59*724ba675SRob Herring regulator-always-on; 60*724ba675SRob Herring regulator-ramp-delay = <6250>; 61*724ba675SRob Herring }; 62*724ba675SRob Herring 63*724ba675SRob Herring sw1c_reg: sw1c { 64*724ba675SRob Herring regulator-min-microvolt = <725000>; 65*724ba675SRob Herring regulator-max-microvolt = <1450000>; 66*724ba675SRob Herring regulator-name = "vddsoc"; 67*724ba675SRob Herring regulator-boot-on; 68*724ba675SRob Herring regulator-always-on; 69*724ba675SRob Herring regulator-ramp-delay = <6250>; 70*724ba675SRob Herring }; 71*724ba675SRob Herring 72*724ba675SRob Herring sw2_reg: sw2 { 73*724ba675SRob Herring regulator-min-microvolt = <3300000>; 74*724ba675SRob Herring regulator-max-microvolt = <3300000>; 75*724ba675SRob Herring regulator-name = "gen_3v3"; 76*724ba675SRob Herring regulator-boot-on; 77*724ba675SRob Herring }; 78*724ba675SRob Herring 79*724ba675SRob Herring sw3a_reg: sw3a { 80*724ba675SRob Herring regulator-min-microvolt = <1350000>; 81*724ba675SRob Herring regulator-max-microvolt = <1350000>; 82*724ba675SRob Herring regulator-name = "sw3a_vddr"; 83*724ba675SRob Herring regulator-boot-on; 84*724ba675SRob Herring regulator-always-on; 85*724ba675SRob Herring }; 86*724ba675SRob Herring 87*724ba675SRob Herring sw3b_reg: sw3b { 88*724ba675SRob Herring regulator-min-microvolt = <1350000>; 89*724ba675SRob Herring regulator-max-microvolt = <1350000>; 90*724ba675SRob Herring regulator-name = "sw3b_vddr"; 91*724ba675SRob Herring regulator-boot-on; 92*724ba675SRob Herring regulator-always-on; 93*724ba675SRob Herring }; 94*724ba675SRob Herring 95*724ba675SRob Herring sw4_reg: sw4 { 96*724ba675SRob Herring regulator-min-microvolt = <1800000>; 97*724ba675SRob Herring regulator-max-microvolt = <3300000>; 98*724ba675SRob Herring regulator-name = "gen_rgmii"; 99*724ba675SRob Herring }; 100*724ba675SRob Herring 101*724ba675SRob Herring swbst_reg: swbst { 102*724ba675SRob Herring regulator-min-microvolt = <5000000>; 103*724ba675SRob Herring regulator-max-microvolt = <5150000>; 104*724ba675SRob Herring regulator-name = "gen_5v0"; 105*724ba675SRob Herring }; 106*724ba675SRob Herring 107*724ba675SRob Herring snvs_reg: vsnvs { 108*724ba675SRob Herring regulator-min-microvolt = <1000000>; 109*724ba675SRob Herring regulator-max-microvolt = <3000000>; 110*724ba675SRob Herring regulator-name = "gen_vsns"; 111*724ba675SRob Herring regulator-boot-on; 112*724ba675SRob Herring regulator-always-on; 113*724ba675SRob Herring }; 114*724ba675SRob Herring 115*724ba675SRob Herring vref_reg: vrefddr { 116*724ba675SRob Herring regulator-boot-on; 117*724ba675SRob Herring regulator-always-on; 118*724ba675SRob Herring }; 119*724ba675SRob Herring 120*724ba675SRob Herring vgen1_reg: vgen1 { 121*724ba675SRob Herring regulator-min-microvolt = <1500000>; 122*724ba675SRob Herring regulator-max-microvolt = <1500000>; 123*724ba675SRob Herring regulator-name = "gen_1v5"; 124*724ba675SRob Herring }; 125*724ba675SRob Herring 126*724ba675SRob Herring vgen2_reg: vgen2 { 127*724ba675SRob Herring regulator-name = "vgen2"; 128*724ba675SRob Herring regulator-min-microvolt = <800000>; 129*724ba675SRob Herring regulator-max-microvolt = <1550000>; 130*724ba675SRob Herring }; 131*724ba675SRob Herring 132*724ba675SRob Herring vgen3_reg: vgen3 { 133*724ba675SRob Herring regulator-name = "gen_vadj_0"; 134*724ba675SRob Herring regulator-min-microvolt = <1800000>; 135*724ba675SRob Herring regulator-max-microvolt = <3300000>; 136*724ba675SRob Herring }; 137*724ba675SRob Herring 138*724ba675SRob Herring vgen4_reg: vgen4 { 139*724ba675SRob Herring regulator-name = "gen_1v8"; 140*724ba675SRob Herring regulator-min-microvolt = <1800000>; 141*724ba675SRob Herring regulator-max-microvolt = <1800000>; 142*724ba675SRob Herring regulator-always-on; 143*724ba675SRob Herring }; 144*724ba675SRob Herring 145*724ba675SRob Herring vgen5_reg: vgen5 { 146*724ba675SRob Herring regulator-name = "gen_vadj_1"; 147*724ba675SRob Herring regulator-min-microvolt = <1800000>; 148*724ba675SRob Herring regulator-max-microvolt = <3300000>; 149*724ba675SRob Herring regulator-always-on; 150*724ba675SRob Herring }; 151*724ba675SRob Herring 152*724ba675SRob Herring vgen6_reg: vgen6 { 153*724ba675SRob Herring regulator-name = "gen_2v5"; 154*724ba675SRob Herring regulator-min-microvolt = <2500000>; 155*724ba675SRob Herring regulator-max-microvolt = <2500000>; 156*724ba675SRob Herring regulator-always-on; 157*724ba675SRob Herring }; 158*724ba675SRob Herring 159*724ba675SRob Herring coin_reg: coin { 160*724ba675SRob Herring regulator-min-microvolt = <2500000>; 161*724ba675SRob Herring regulator-max-microvolt = <3000000>; 162*724ba675SRob Herring regulator-always-on; 163*724ba675SRob Herring }; 164*724ba675SRob Herring }; 165*724ba675SRob Herring }; 166*724ba675SRob Herring 167*724ba675SRob Herring temperature-sensor@49 { 168*724ba675SRob Herring compatible = "ti,tmp102"; 169*724ba675SRob Herring reg = <0x49>; 170*724ba675SRob Herring interrupt-parent = <&gpio6>; 171*724ba675SRob Herring interrupts = <15 IRQ_TYPE_LEVEL_LOW>; 172*724ba675SRob Herring #thermal-sensor-cells = <1>; 173*724ba675SRob Herring }; 174*724ba675SRob Herring 175*724ba675SRob Herring temperature-sensor@4a { 176*724ba675SRob Herring compatible = "ti,tmp102"; 177*724ba675SRob Herring reg = <0x4a>; 178*724ba675SRob Herring pinctrl-names = "default"; 179*724ba675SRob Herring pinctrl-0 = <&pinctrl_tempsense>; 180*724ba675SRob Herring interrupt-parent = <&gpio6>; 181*724ba675SRob Herring interrupts = <15 IRQ_TYPE_LEVEL_LOW>; 182*724ba675SRob Herring #thermal-sensor-cells = <1>; 183*724ba675SRob Herring }; 184*724ba675SRob Herring 185*724ba675SRob Herring eeprom@51 { 186*724ba675SRob Herring compatible = "atmel,24c64"; 187*724ba675SRob Herring pagesize = <32>; 188*724ba675SRob Herring read-only; /* Manufacturing EEPROM programmed at factory */ 189*724ba675SRob Herring reg = <0x51>; 190*724ba675SRob Herring }; 191*724ba675SRob Herring 192*724ba675SRob Herring eeprom@52 { 193*724ba675SRob Herring compatible = "atmel,24c64"; 194*724ba675SRob Herring pagesize = <32>; 195*724ba675SRob Herring reg = <0x52>; 196*724ba675SRob Herring }; 197*724ba675SRob Herring}; 198*724ba675SRob Herring 199*724ba675SRob Herring/* Reroute power feeding the CPU to come from the external PMIC */ 200*724ba675SRob Herring®_arm 201*724ba675SRob Herring{ 202*724ba675SRob Herring vin-supply = <&sw1a_reg>; 203*724ba675SRob Herring}; 204*724ba675SRob Herring 205*724ba675SRob Herring®_soc 206*724ba675SRob Herring{ 207*724ba675SRob Herring vin-supply = <&sw1c_reg>; 208*724ba675SRob Herring}; 209*724ba675SRob Herring 210*724ba675SRob Herring&snvs_poweroff { 211*724ba675SRob Herring status = "okay"; 212*724ba675SRob Herring}; 213*724ba675SRob Herring 214*724ba675SRob Herring&iomuxc { 215*724ba675SRob Herring pinctrl-names = "default"; 216*724ba675SRob Herring pinctrl-0 = <&pinctrl_hog>; 217*724ba675SRob Herring 218*724ba675SRob Herring pinctrl_gpmi_nand: gpmi-nandgrp { 219*724ba675SRob Herring fsl,pins = < 220*724ba675SRob Herring MX6QDL_PAD_NANDF_CLE__NAND_CLE 0x0b0b1 221*724ba675SRob Herring MX6QDL_PAD_NANDF_ALE__NAND_ALE 0x0b0b1 222*724ba675SRob Herring MX6QDL_PAD_NANDF_WP_B__NAND_WP_B 0x0b0b1 223*724ba675SRob Herring MX6QDL_PAD_NANDF_RB0__NAND_READY_B 0x0b000 224*724ba675SRob Herring MX6QDL_PAD_NANDF_CS0__NAND_CE0_B 0x0b0b1 225*724ba675SRob Herring MX6QDL_PAD_SD4_CMD__NAND_RE_B 0x0b0b1 226*724ba675SRob Herring MX6QDL_PAD_SD4_CLK__NAND_WE_B 0x0b0b1 227*724ba675SRob Herring MX6QDL_PAD_NANDF_D0__NAND_DATA00 0x0b0b1 228*724ba675SRob Herring MX6QDL_PAD_NANDF_D1__NAND_DATA01 0x0b0b1 229*724ba675SRob Herring MX6QDL_PAD_NANDF_D2__NAND_DATA02 0x0b0b1 230*724ba675SRob Herring MX6QDL_PAD_NANDF_D3__NAND_DATA03 0x0b0b1 231*724ba675SRob Herring MX6QDL_PAD_NANDF_D4__NAND_DATA04 0x0b0b1 232*724ba675SRob Herring MX6QDL_PAD_NANDF_D5__NAND_DATA05 0x0b0b1 233*724ba675SRob Herring MX6QDL_PAD_NANDF_D6__NAND_DATA06 0x0b0b1 234*724ba675SRob Herring MX6QDL_PAD_NANDF_D7__NAND_DATA07 0x0b0b1 235*724ba675SRob Herring >; 236*724ba675SRob Herring }; 237*724ba675SRob Herring 238*724ba675SRob Herring pinctrl_hog: hoggrp { 239*724ba675SRob Herring fsl,pins = < /* Enable ARM Debugger */ 240*724ba675SRob Herring MX6QDL_PAD_CSI0_MCLK__ARM_TRACE_CTL 0x1b0b0 241*724ba675SRob Herring MX6QDL_PAD_CSI0_PIXCLK__ARM_EVENTO 0x1b0b0 242*724ba675SRob Herring MX6QDL_PAD_CSI0_VSYNC__ARM_TRACE00 0x1b0b0 243*724ba675SRob Herring MX6QDL_PAD_CSI0_DATA_EN__ARM_TRACE_CLK 0x1b0b0 244*724ba675SRob Herring MX6QDL_PAD_CSI0_DAT4__ARM_TRACE01 0x1b0b0 245*724ba675SRob Herring MX6QDL_PAD_CSI0_DAT5__ARM_TRACE02 0x1b0b0 246*724ba675SRob Herring MX6QDL_PAD_CSI0_DAT6__ARM_TRACE03 0x1b0b0 247*724ba675SRob Herring MX6QDL_PAD_CSI0_DAT7__ARM_TRACE04 0x1b0b0 248*724ba675SRob Herring MX6QDL_PAD_CSI0_DAT8__ARM_TRACE05 0x1b0b0 249*724ba675SRob Herring MX6QDL_PAD_CSI0_DAT9__ARM_TRACE06 0x1b0b0 250*724ba675SRob Herring MX6QDL_PAD_CSI0_DAT10__ARM_TRACE07 0x1b0b0 251*724ba675SRob Herring MX6QDL_PAD_CSI0_DAT11__ARM_TRACE08 0x1b0b0 252*724ba675SRob Herring MX6QDL_PAD_CSI0_DAT12__ARM_TRACE09 0x1b0b0 253*724ba675SRob Herring MX6QDL_PAD_CSI0_DAT13__ARM_TRACE10 0x1b0b0 254*724ba675SRob Herring MX6QDL_PAD_CSI0_DAT14__ARM_TRACE11 0x1b0b0 255*724ba675SRob Herring MX6QDL_PAD_CSI0_DAT15__ARM_TRACE12 0x1b0b0 256*724ba675SRob Herring MX6QDL_PAD_CSI0_DAT16__ARM_TRACE13 0x1b0b0 257*724ba675SRob Herring MX6QDL_PAD_CSI0_DAT17__ARM_TRACE14 0x1b0b0 258*724ba675SRob Herring MX6QDL_PAD_CSI0_DAT18__ARM_TRACE15 0x1b0b0 259*724ba675SRob Herring MX6QDL_PAD_GPIO_0__CCM_CLKO1 0x130b0 260*724ba675SRob Herring >; 261*724ba675SRob Herring }; 262*724ba675SRob Herring 263*724ba675SRob Herring pinctrl_i2c3: i2c3grp { 264*724ba675SRob Herring fsl,pins = < 265*724ba675SRob Herring MX6QDL_PAD_EIM_D17__I2C3_SCL 0x4001b8b1 266*724ba675SRob Herring MX6QDL_PAD_EIM_D18__I2C3_SDA 0x4001b8b1 267*724ba675SRob Herring >; 268*724ba675SRob Herring }; 269*724ba675SRob Herring 270*724ba675SRob Herring pinctrl_tempsense: tempsensegrp { 271*724ba675SRob Herring fsl,pins = < 272*724ba675SRob Herring MX6QDL_PAD_NANDF_CS2__GPIO6_IO15 0x1b0b0 273*724ba675SRob Herring >; 274*724ba675SRob Herring }; 275*724ba675SRob Herring 276*724ba675SRob Herring pinctrl_uart1: uart1grp { 277*724ba675SRob Herring fsl,pins = < 278*724ba675SRob Herring MX6QDL_PAD_SD3_DAT6__UART1_RX_DATA 0x1b0b1 279*724ba675SRob Herring MX6QDL_PAD_SD3_DAT7__UART1_TX_DATA 0x1b0b1 280*724ba675SRob Herring >; 281*724ba675SRob Herring }; 282*724ba675SRob Herring 283*724ba675SRob Herring pinctrl_uart2: uart2grp { 284*724ba675SRob Herring fsl,pins = < 285*724ba675SRob Herring MX6QDL_PAD_SD3_RST__GPIO7_IO08 0x13059 /* BT_EN */ 286*724ba675SRob Herring MX6QDL_PAD_SD4_DAT4__UART2_RX_DATA 0x1b0b1 287*724ba675SRob Herring MX6QDL_PAD_SD4_DAT5__UART2_RTS_B 0x1b0b1 288*724ba675SRob Herring MX6QDL_PAD_SD4_DAT6__UART2_CTS_B 0x1b0b1 289*724ba675SRob Herring MX6QDL_PAD_SD4_DAT7__UART2_TX_DATA 0x1b0b1 290*724ba675SRob Herring >; 291*724ba675SRob Herring }; 292*724ba675SRob Herring 293*724ba675SRob Herring pinctrl_usdhc1: usdhc1grp { 294*724ba675SRob Herring fsl,pins = < 295*724ba675SRob Herring MX6QDL_PAD_SD1_CMD__SD1_CMD 0x170B9 296*724ba675SRob Herring MX6QDL_PAD_SD1_CLK__SD1_CLK 0x100B9 297*724ba675SRob Herring MX6QDL_PAD_SD1_DAT0__SD1_DATA0 0x170B9 298*724ba675SRob Herring MX6QDL_PAD_SD1_DAT1__SD1_DATA1 0x170B9 299*724ba675SRob Herring MX6QDL_PAD_SD1_DAT2__SD1_DATA2 0x170B9 300*724ba675SRob Herring MX6QDL_PAD_SD1_DAT3__SD1_DATA3 0x170B9 301*724ba675SRob Herring >; 302*724ba675SRob Herring }; 303*724ba675SRob Herring 304*724ba675SRob Herring pinctrl_usdhc3: usdhc3grp { 305*724ba675SRob Herring fsl,pins = < 306*724ba675SRob Herring MX6QDL_PAD_SD3_CMD__SD3_CMD 0x17049 307*724ba675SRob Herring MX6QDL_PAD_SD3_CLK__SD3_CLK 0x10049 308*724ba675SRob Herring MX6QDL_PAD_SD3_DAT0__SD3_DATA0 0x17049 309*724ba675SRob Herring MX6QDL_PAD_SD3_DAT1__SD3_DATA1 0x17049 310*724ba675SRob Herring MX6QDL_PAD_SD3_DAT2__SD3_DATA2 0x17049 311*724ba675SRob Herring MX6QDL_PAD_SD3_DAT3__SD3_DATA3 0x17049 312*724ba675SRob Herring MX6QDL_PAD_SD3_DAT4__GPIO7_IO01 0x130b0 /* WL_IRQ */ 313*724ba675SRob Herring MX6QDL_PAD_SD3_DAT5__GPIO7_IO00 0x17059 /* WLAN_EN */ 314*724ba675SRob Herring >; 315*724ba675SRob Herring }; 316*724ba675SRob Herring}; 317*724ba675SRob Herring 318*724ba675SRob Herring&snvs_poweroff { 319*724ba675SRob Herring status = "okay"; 320*724ba675SRob Herring}; 321*724ba675SRob Herring 322*724ba675SRob Herring&uart1 { 323*724ba675SRob Herring pinctrl-names = "default"; 324*724ba675SRob Herring pinctrl-0 = <&pinctrl_uart1>; 325*724ba675SRob Herring status = "okay"; 326*724ba675SRob Herring}; 327*724ba675SRob Herring 328*724ba675SRob Herring&uart2 { 329*724ba675SRob Herring pinctrl-names = "default"; 330*724ba675SRob Herring pinctrl-0 = <&pinctrl_uart2>; 331*724ba675SRob Herring uart-has-rtscts; 332*724ba675SRob Herring status = "okay"; 333*724ba675SRob Herring 334*724ba675SRob Herring bluetooth { 335*724ba675SRob Herring compatible = "ti,wl1837-st"; 336*724ba675SRob Herring enable-gpios = <&gpio7 8 GPIO_ACTIVE_HIGH>; 337*724ba675SRob Herring }; 338*724ba675SRob Herring}; 339*724ba675SRob Herring 340*724ba675SRob Herring&usdhc1 { 341*724ba675SRob Herring pinctrl-names = "default", "state_100mhz", "state_200mhz"; 342*724ba675SRob Herring pinctrl-0 = <&pinctrl_usdhc1>; 343*724ba675SRob Herring non-removable; 344*724ba675SRob Herring keep-power-in-suspend; 345*724ba675SRob Herring wakeup-source; 346*724ba675SRob Herring vmmc-supply = <&sw2_reg>; 347*724ba675SRob Herring status = "okay"; 348*724ba675SRob Herring}; 349*724ba675SRob Herring 350*724ba675SRob Herring&usdhc3 { 351*724ba675SRob Herring pinctrl-names = "default"; 352*724ba675SRob Herring pinctrl-0 = <&pinctrl_usdhc3>; 353*724ba675SRob Herring non-removable; 354*724ba675SRob Herring cap-power-off-card; 355*724ba675SRob Herring keep-power-in-suspend; 356*724ba675SRob Herring wakeup-source; 357*724ba675SRob Herring vmmc-supply = <®_wl18xx_vmmc>; 358*724ba675SRob Herring #address-cells = <1>; 359*724ba675SRob Herring #size-cells = <0>; 360*724ba675SRob Herring status = "okay"; 361*724ba675SRob Herring 362*724ba675SRob Herring wlcore: wlcore@2 { 363*724ba675SRob Herring compatible = "ti,wl1837"; 364*724ba675SRob Herring reg = <2>; 365*724ba675SRob Herring interrupt-parent = <&gpio7>; 366*724ba675SRob Herring interrupts = <1 IRQ_TYPE_LEVEL_HIGH>; 367*724ba675SRob Herring tcxo-clock-frequency = <26000000>; 368*724ba675SRob Herring }; 369*724ba675SRob Herring}; 370