xref: /rk3399_rockchip-uboot/arch/arm/dts/imx7d-sdb.dts (revision a375ff8e14bea0a5cbfff99d6456aa8d9a3320ab)
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 = <&reg_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