1896d2e82SPeng Fan/* 2896d2e82SPeng Fan * Copyright 2017 NXP 3896d2e82SPeng Fan * 4896d2e82SPeng Fan * SPDX-License-Identifier: GPL-2.0+ 5896d2e82SPeng Fan */ 6896d2e82SPeng Fan 7896d2e82SPeng Fan/dts-v1/; 8896d2e82SPeng Fan 9896d2e82SPeng Fan#include "imx7d.dtsi" 10896d2e82SPeng Fan 11896d2e82SPeng Fan/ { 12896d2e82SPeng Fan model = "Freescale i.MX7 SabreSD Board"; 13896d2e82SPeng Fan compatible = "fsl,imx7d-sdb", "fsl,imx7d"; 14896d2e82SPeng Fan 15896d2e82SPeng Fan memory { 16896d2e82SPeng Fan reg = <0x80000000 0x80000000>; 17896d2e82SPeng Fan }; 18896d2e82SPeng Fan 199880eed8SPeng Fan spi4 { 209880eed8SPeng Fan compatible = "spi-gpio"; 219880eed8SPeng Fan pinctrl-names = "default"; 229880eed8SPeng Fan pinctrl-0 = <&pinctrl_spi1>; 239880eed8SPeng Fan status = "okay"; 249880eed8SPeng Fan gpio-sck = <&gpio1 13 0>; 259880eed8SPeng Fan gpio-mosi = <&gpio1 9 0>; 269880eed8SPeng Fan cs-gpios = <&gpio1 12 0>; 279880eed8SPeng Fan num-chipselects = <1>; 289880eed8SPeng Fan #address-cells = <1>; 299880eed8SPeng Fan #size-cells = <0>; 309880eed8SPeng Fan 319880eed8SPeng Fan gpio_spi: gpio_spi@0 { 329880eed8SPeng Fan compatible = "fairchild,74hc595"; 339880eed8SPeng Fan gpio-controller; 349880eed8SPeng Fan #gpio-cells = <2>; 359880eed8SPeng Fan reg = <0>; 369880eed8SPeng Fan registers-number = <1>; 379880eed8SPeng Fan registers-default = /bits/ 8 <0x74>; /* Enable PERI_3V3, SENSOR_RST_B and HDMI_RST*/ 389880eed8SPeng Fan spi-max-frequency = <100000>; 399880eed8SPeng Fan }; 409880eed8SPeng Fan }; 4163f3401dSPeng Fan 4263f3401dSPeng Fan regulators { 4363f3401dSPeng Fan compatible = "simple-bus"; 4463f3401dSPeng Fan #address-cells = <1>; 4563f3401dSPeng Fan #size-cells = <0>; 4663f3401dSPeng Fan 4763f3401dSPeng Fan reg_usb_otg1_vbus: regulator@0 { 4863f3401dSPeng Fan compatible = "regulator-fixed"; 4963f3401dSPeng Fan reg = <0>; 5063f3401dSPeng Fan regulator-name = "usb_otg1_vbus"; 5163f3401dSPeng Fan regulator-min-microvolt = <5000000>; 5263f3401dSPeng Fan regulator-max-microvolt = <5000000>; 5363f3401dSPeng Fan gpio = <&gpio1 5 GPIO_ACTIVE_HIGH>; 5463f3401dSPeng Fan enable-active-high; 5563f3401dSPeng Fan }; 5663f3401dSPeng Fan 5763f3401dSPeng Fan reg_usb_otg2_vbus: regulator@1 { 5863f3401dSPeng Fan compatible = "regulator-fixed"; 5963f3401dSPeng Fan reg = <1>; 6063f3401dSPeng Fan regulator-name = "usb_otg2_vbus"; 6163f3401dSPeng Fan regulator-min-microvolt = <5000000>; 6263f3401dSPeng Fan regulator-max-microvolt = <5000000>; 6363f3401dSPeng Fan gpio = <&gpio1 7 GPIO_ACTIVE_HIGH>; 6463f3401dSPeng Fan enable-active-high; 6563f3401dSPeng Fan }; 6663f3401dSPeng Fan 6763f3401dSPeng Fan reg_sd1_vmmc: regulator@3 { 6863f3401dSPeng Fan compatible = "regulator-fixed"; 6963f3401dSPeng Fan regulator-name = "VDD_SD1"; 7063f3401dSPeng Fan regulator-min-microvolt = <3300000>; 7163f3401dSPeng Fan regulator-max-microvolt = <3300000>; 7263f3401dSPeng Fan gpio = <&gpio5 2 GPIO_ACTIVE_HIGH>; 7363f3401dSPeng Fan startup-delay-us = <200000>; 7463f3401dSPeng Fan enable-active-high; 7563f3401dSPeng Fan }; 7663f3401dSPeng Fan }; 779880eed8SPeng Fan}; 789880eed8SPeng Fan 799880eed8SPeng Fan&iomuxc { 809880eed8SPeng Fan imx7d-sdb { 819880eed8SPeng Fan pinctrl_spi1: spi1grp { 829880eed8SPeng Fan fsl,pins = < 839880eed8SPeng Fan MX7D_PAD_GPIO1_IO09__GPIO1_IO9 0x59 849880eed8SPeng Fan MX7D_PAD_GPIO1_IO12__GPIO1_IO12 0x59 859880eed8SPeng Fan MX7D_PAD_GPIO1_IO13__GPIO1_IO13 0x59 869880eed8SPeng Fan >; 879880eed8SPeng Fan }; 8800ad3a9fSPeng Fan 8900ad3a9fSPeng Fan pinctrl_i2c1: i2c1grp { 9000ad3a9fSPeng Fan fsl,pins = < 9100ad3a9fSPeng Fan MX7D_PAD_I2C1_SDA__I2C1_SDA 0x4000007f 9200ad3a9fSPeng Fan MX7D_PAD_I2C1_SCL__I2C1_SCL 0x4000007f 9300ad3a9fSPeng Fan >; 949880eed8SPeng Fan }; 959880eed8SPeng Fan 9600ad3a9fSPeng Fan pinctrl_i2c2: i2c2grp { 9700ad3a9fSPeng Fan fsl,pins = < 9800ad3a9fSPeng Fan MX7D_PAD_I2C2_SDA__I2C2_SDA 0x4000007f 9900ad3a9fSPeng Fan MX7D_PAD_I2C2_SCL__I2C2_SCL 0x4000007f 10000ad3a9fSPeng Fan >; 10100ad3a9fSPeng Fan }; 10200ad3a9fSPeng Fan 10300ad3a9fSPeng Fan pinctrl_i2c3: i2c3grp { 10400ad3a9fSPeng Fan fsl,pins = < 10500ad3a9fSPeng Fan MX7D_PAD_I2C3_SDA__I2C3_SDA 0x4000007f 10600ad3a9fSPeng Fan MX7D_PAD_I2C3_SCL__I2C3_SCL 0x4000007f 10700ad3a9fSPeng Fan >; 10800ad3a9fSPeng Fan }; 10900ad3a9fSPeng Fan 11000ad3a9fSPeng Fan pinctrl_i2c4: i2c4grp { 11100ad3a9fSPeng Fan fsl,pins = < 11200ad3a9fSPeng Fan MX7D_PAD_SAI1_RX_BCLK__I2C4_SDA 0x4000007f 11300ad3a9fSPeng Fan MX7D_PAD_SAI1_RX_SYNC__I2C4_SCL 0x4000007f 11400ad3a9fSPeng Fan >; 11500ad3a9fSPeng Fan }; 116*e02ec19fSPeng Fan 117*e02ec19fSPeng Fan pinctrl_usdhc1_gpio: usdhc1_gpiogrp { 118*e02ec19fSPeng Fan fsl,pins = < 119*e02ec19fSPeng Fan MX7D_PAD_SD1_CD_B__GPIO5_IO0 0x59 /* CD */ 120*e02ec19fSPeng Fan MX7D_PAD_SD1_WP__GPIO5_IO1 0x59 /* WP */ 121*e02ec19fSPeng Fan MX7D_PAD_SD1_RESET_B__GPIO5_IO2 0x59 /* vmmc */ 122*e02ec19fSPeng Fan MX7D_PAD_GPIO1_IO08__SD1_VSELECT 0x59 /* VSELECT */ 123*e02ec19fSPeng Fan >; 124*e02ec19fSPeng Fan }; 125*e02ec19fSPeng Fan 126*e02ec19fSPeng Fan pinctrl_usdhc1: usdhc1grp { 127*e02ec19fSPeng Fan fsl,pins = < 128*e02ec19fSPeng Fan MX7D_PAD_SD1_CMD__SD1_CMD 0x59 129*e02ec19fSPeng Fan MX7D_PAD_SD1_CLK__SD1_CLK 0x19 130*e02ec19fSPeng Fan MX7D_PAD_SD1_DATA0__SD1_DATA0 0x59 131*e02ec19fSPeng Fan MX7D_PAD_SD1_DATA1__SD1_DATA1 0x59 132*e02ec19fSPeng Fan MX7D_PAD_SD1_DATA2__SD1_DATA2 0x59 133*e02ec19fSPeng Fan MX7D_PAD_SD1_DATA3__SD1_DATA3 0x59 134*e02ec19fSPeng Fan >; 135*e02ec19fSPeng Fan }; 136*e02ec19fSPeng Fan 137*e02ec19fSPeng Fan pinctrl_usdhc2: usdhc2grp { 138*e02ec19fSPeng Fan fsl,pins = < 139*e02ec19fSPeng Fan MX7D_PAD_SD2_CMD__SD2_CMD 0x59 140*e02ec19fSPeng Fan MX7D_PAD_SD2_CLK__SD2_CLK 0x19 141*e02ec19fSPeng Fan MX7D_PAD_SD2_DATA0__SD2_DATA0 0x59 142*e02ec19fSPeng Fan MX7D_PAD_SD2_DATA1__SD2_DATA1 0x59 143*e02ec19fSPeng Fan MX7D_PAD_SD2_DATA2__SD2_DATA2 0x59 144*e02ec19fSPeng Fan MX7D_PAD_SD2_DATA3__SD2_DATA3 0x59 145*e02ec19fSPeng Fan MX7D_PAD_ECSPI2_MOSI__GPIO4_IO21 0x19 /* WL_REG_ON */ 146*e02ec19fSPeng Fan MX7D_PAD_ECSPI2_SCLK__GPIO4_IO20 0x19 /* WL_HOST_WAKE */ 147*e02ec19fSPeng Fan >; 148*e02ec19fSPeng Fan }; 149*e02ec19fSPeng Fan 150*e02ec19fSPeng Fan pinctrl_usdhc3: usdhc3grp { 151*e02ec19fSPeng Fan fsl,pins = < 152*e02ec19fSPeng Fan MX7D_PAD_SD3_CMD__SD3_CMD 0x59 153*e02ec19fSPeng Fan MX7D_PAD_SD3_CLK__SD3_CLK 0x19 154*e02ec19fSPeng Fan MX7D_PAD_SD3_DATA0__SD3_DATA0 0x59 155*e02ec19fSPeng Fan MX7D_PAD_SD3_DATA1__SD3_DATA1 0x59 156*e02ec19fSPeng Fan MX7D_PAD_SD3_DATA2__SD3_DATA2 0x59 157*e02ec19fSPeng Fan MX7D_PAD_SD3_DATA3__SD3_DATA3 0x59 158*e02ec19fSPeng Fan MX7D_PAD_SD3_DATA4__SD3_DATA4 0x59 159*e02ec19fSPeng Fan MX7D_PAD_SD3_DATA5__SD3_DATA5 0x59 160*e02ec19fSPeng Fan MX7D_PAD_SD3_DATA6__SD3_DATA6 0x59 161*e02ec19fSPeng Fan MX7D_PAD_SD3_DATA7__SD3_DATA7 0x59 162*e02ec19fSPeng Fan MX7D_PAD_SD3_STROBE__SD3_STROBE 0x19 163*e02ec19fSPeng Fan >; 164*e02ec19fSPeng Fan }; 16500ad3a9fSPeng Fan }; 16600ad3a9fSPeng Fan}; 16700ad3a9fSPeng Fan 16800ad3a9fSPeng Fan&i2c1 { 16900ad3a9fSPeng Fan clock-frequency = <100000>; 17000ad3a9fSPeng Fan pinctrl-names = "default"; 17100ad3a9fSPeng Fan pinctrl-0 = <&pinctrl_i2c1>; 17200ad3a9fSPeng Fan status = "okay"; 17300ad3a9fSPeng Fan 17400ad3a9fSPeng Fan pmic: pfuze3000@08 { 17500ad3a9fSPeng Fan compatible = "fsl,pfuze3000"; 17600ad3a9fSPeng Fan reg = <0x08>; 17700ad3a9fSPeng Fan 17800ad3a9fSPeng Fan regulators { 17900ad3a9fSPeng Fan sw1a_reg: sw1a { 18000ad3a9fSPeng Fan regulator-min-microvolt = <700000>; 18100ad3a9fSPeng Fan regulator-max-microvolt = <3300000>; 18200ad3a9fSPeng Fan regulator-boot-on; 18300ad3a9fSPeng Fan regulator-always-on; 18400ad3a9fSPeng Fan regulator-ramp-delay = <6250>; 18500ad3a9fSPeng Fan }; 18600ad3a9fSPeng Fan 18700ad3a9fSPeng Fan /* use sw1c_reg to align with pfuze100/pfuze200 */ 18800ad3a9fSPeng Fan sw1c_reg: sw1b { 18900ad3a9fSPeng Fan regulator-min-microvolt = <700000>; 19000ad3a9fSPeng Fan regulator-max-microvolt = <1475000>; 19100ad3a9fSPeng Fan regulator-boot-on; 19200ad3a9fSPeng Fan regulator-always-on; 19300ad3a9fSPeng Fan regulator-ramp-delay = <6250>; 19400ad3a9fSPeng Fan }; 19500ad3a9fSPeng Fan 19600ad3a9fSPeng Fan sw2_reg: sw2 { 19700ad3a9fSPeng Fan regulator-min-microvolt = <1500000>; 19800ad3a9fSPeng Fan regulator-max-microvolt = <1850000>; 19900ad3a9fSPeng Fan regulator-boot-on; 20000ad3a9fSPeng Fan regulator-always-on; 20100ad3a9fSPeng Fan }; 20200ad3a9fSPeng Fan 20300ad3a9fSPeng Fan sw3a_reg: sw3 { 20400ad3a9fSPeng Fan regulator-min-microvolt = <900000>; 20500ad3a9fSPeng Fan regulator-max-microvolt = <1650000>; 20600ad3a9fSPeng Fan regulator-boot-on; 20700ad3a9fSPeng Fan regulator-always-on; 20800ad3a9fSPeng Fan }; 20900ad3a9fSPeng Fan 21000ad3a9fSPeng Fan swbst_reg: swbst { 21100ad3a9fSPeng Fan regulator-min-microvolt = <5000000>; 21200ad3a9fSPeng Fan regulator-max-microvolt = <5150000>; 21300ad3a9fSPeng Fan }; 21400ad3a9fSPeng Fan 21500ad3a9fSPeng Fan snvs_reg: vsnvs { 21600ad3a9fSPeng Fan regulator-min-microvolt = <1000000>; 21700ad3a9fSPeng Fan regulator-max-microvolt = <3000000>; 21800ad3a9fSPeng Fan regulator-boot-on; 21900ad3a9fSPeng Fan regulator-always-on; 22000ad3a9fSPeng Fan }; 22100ad3a9fSPeng Fan 22200ad3a9fSPeng Fan vref_reg: vrefddr { 22300ad3a9fSPeng Fan regulator-boot-on; 22400ad3a9fSPeng Fan regulator-always-on; 22500ad3a9fSPeng Fan }; 22600ad3a9fSPeng Fan 22700ad3a9fSPeng Fan vgen1_reg: vldo1 { 22800ad3a9fSPeng Fan regulator-min-microvolt = <1800000>; 22900ad3a9fSPeng Fan regulator-max-microvolt = <3300000>; 23000ad3a9fSPeng Fan regulator-always-on; 23100ad3a9fSPeng Fan }; 23200ad3a9fSPeng Fan 23300ad3a9fSPeng Fan vgen2_reg: vldo2 { 23400ad3a9fSPeng Fan regulator-min-microvolt = <800000>; 23500ad3a9fSPeng Fan regulator-max-microvolt = <1550000>; 23600ad3a9fSPeng Fan regulator-always-on; 23700ad3a9fSPeng Fan }; 23800ad3a9fSPeng Fan 23900ad3a9fSPeng Fan vgen3_reg: vccsd { 24000ad3a9fSPeng Fan regulator-min-microvolt = <2850000>; 24100ad3a9fSPeng Fan regulator-max-microvolt = <3300000>; 24200ad3a9fSPeng Fan regulator-always-on; 24300ad3a9fSPeng Fan }; 24400ad3a9fSPeng Fan 24500ad3a9fSPeng Fan vgen4_reg: v33 { 24600ad3a9fSPeng Fan regulator-min-microvolt = <2850000>; 24700ad3a9fSPeng Fan regulator-max-microvolt = <3300000>; 24800ad3a9fSPeng Fan regulator-always-on; 24900ad3a9fSPeng Fan }; 25000ad3a9fSPeng Fan 25100ad3a9fSPeng Fan vgen5_reg: vldo3 { 25200ad3a9fSPeng Fan regulator-min-microvolt = <1800000>; 25300ad3a9fSPeng Fan regulator-max-microvolt = <3300000>; 25400ad3a9fSPeng Fan regulator-always-on; 25500ad3a9fSPeng Fan }; 25600ad3a9fSPeng Fan 25700ad3a9fSPeng Fan vgen6_reg: vldo4 { 25800ad3a9fSPeng Fan regulator-min-microvolt = <1800000>; 25900ad3a9fSPeng Fan regulator-max-microvolt = <3300000>; 26000ad3a9fSPeng Fan regulator-always-on; 26100ad3a9fSPeng Fan }; 26200ad3a9fSPeng Fan }; 26300ad3a9fSPeng Fan }; 26400ad3a9fSPeng Fan}; 26500ad3a9fSPeng Fan 26600ad3a9fSPeng Fan&i2c2 { 26700ad3a9fSPeng Fan clock-frequency = <100000>; 26800ad3a9fSPeng Fan pinctrl-names = "default"; 26900ad3a9fSPeng Fan pinctrl-0 = <&pinctrl_i2c2>; 27000ad3a9fSPeng Fan status = "okay"; 27100ad3a9fSPeng Fan}; 27200ad3a9fSPeng Fan 27300ad3a9fSPeng Fan&i2c3 { 27400ad3a9fSPeng Fan clock-frequency = <100000>; 27500ad3a9fSPeng Fan pinctrl-names = "default"; 27600ad3a9fSPeng Fan pinctrl-0 = <&pinctrl_i2c3>; 27700ad3a9fSPeng Fan status = "okay"; 27800ad3a9fSPeng Fan}; 27900ad3a9fSPeng Fan 28000ad3a9fSPeng Fan&i2c4 { 28100ad3a9fSPeng Fan clock-frequency = <100000>; 28200ad3a9fSPeng Fan pinctrl-names = "default"; 28300ad3a9fSPeng Fan pinctrl-0 = <&pinctrl_i2c4>; 28400ad3a9fSPeng Fan status = "okay"; 285896d2e82SPeng Fan}; 286*e02ec19fSPeng Fan 287*e02ec19fSPeng Fan&usdhc1 { 288*e02ec19fSPeng Fan pinctrl-names = "default", "state_100mhz", "state_200mhz"; 289*e02ec19fSPeng Fan pinctrl-0 = <&pinctrl_usdhc1>, <&pinctrl_usdhc1_gpio>; 290*e02ec19fSPeng Fan cd-gpios = <&gpio5 0 GPIO_ACTIVE_LOW>; 291*e02ec19fSPeng Fan wp-gpios = <&gpio5 1 GPIO_ACTIVE_HIGH>; 292*e02ec19fSPeng Fan vmmc-supply = <®_sd1_vmmc>; 293*e02ec19fSPeng Fan status = "okay"; 294*e02ec19fSPeng Fan}; 295*e02ec19fSPeng Fan 296*e02ec19fSPeng Fan&usdhc2 { 297*e02ec19fSPeng Fan pinctrl-names = "default", "state_100mhz", "state_200mhz"; 298*e02ec19fSPeng Fan pinctrl-0 = <&pinctrl_usdhc2>; 299*e02ec19fSPeng Fan non-removable; 300*e02ec19fSPeng Fan status = "okay"; 301*e02ec19fSPeng Fan}; 302*e02ec19fSPeng Fan 303*e02ec19fSPeng Fan&usdhc3 { 304*e02ec19fSPeng Fan pinctrl-names = "default", "state_100mhz", "state_200mhz"; 305*e02ec19fSPeng Fan pinctrl-0 = <&pinctrl_usdhc3>; 306*e02ec19fSPeng Fan bus-width = <8>; 307*e02ec19fSPeng Fan non-removable; 308*e02ec19fSPeng Fan status = "okay"; 309*e02ec19fSPeng Fan}; 310