401 lines
		
	
	
		
			9.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			401 lines
		
	
	
		
			9.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| // SPDX-License-Identifier: GPL-2.0+
 | |
| /*
 | |
|  * Copyright 2017 NXP
 | |
|  */
 | |
| 
 | |
| /dts-v1/;
 | |
| 
 | |
| #include "imx7d.dtsi"
 | |
| 
 | |
| / {
 | |
| 	model = "Freescale i.MX7 SabreSD Board";
 | |
| 	compatible = "fsl,imx7d-sdb", "fsl,imx7d";
 | |
| 
 | |
| 	aliases {
 | |
| 		spi5 = &soft_spi;
 | |
| 	};
 | |
| 
 | |
| 	memory {
 | |
| 		reg = <0x80000000 0x80000000>;
 | |
| 	};
 | |
| 
 | |
| 	soft_spi: soft-spi {
 | |
| 		compatible = "spi-gpio";
 | |
| 		pinctrl-names = "default";
 | |
| 		pinctrl-0 = <&pinctrl_spi1>;
 | |
| 		status = "okay";
 | |
| 		gpio-sck = <&gpio1 13 0>;
 | |
| 		gpio-mosi = <&gpio1 9 0>;
 | |
| 		cs-gpios = <&gpio1 12 0>;
 | |
| 		num-chipselects = <1>;
 | |
| 		#address-cells = <1>;
 | |
| 		#size-cells = <0>;
 | |
| 
 | |
| 		gpio_spi: gpio_spi@0 {
 | |
| 			compatible = "fairchild,74hc595";
 | |
| 			gpio-controller;
 | |
| 			#gpio-cells = <2>;
 | |
| 			reg = <0>;
 | |
| 			registers-number = <1>;
 | |
| 			registers-default = /bits/ 8 <0x74>; /* Enable PERI_3V3, SENSOR_RST_B and HDMI_RST*/
 | |
| 			spi-max-frequency = <100000>;
 | |
| 		};
 | |
| 	};
 | |
| 
 | |
| 	regulators {
 | |
| 		compatible = "simple-bus";
 | |
| 		#address-cells = <1>;
 | |
| 		#size-cells = <0>;
 | |
| 
 | |
| 		reg_usb_otg1_vbus: regulator@0 {
 | |
| 			compatible = "regulator-fixed";
 | |
| 			reg = <0>;
 | |
| 			regulator-name = "usb_otg1_vbus";
 | |
| 			regulator-min-microvolt = <5000000>;
 | |
| 			regulator-max-microvolt = <5000000>;
 | |
| 			gpio = <&gpio1 5 GPIO_ACTIVE_HIGH>;
 | |
| 			enable-active-high;
 | |
| 		};
 | |
| 
 | |
| 		reg_usb_otg2_vbus: regulator@1 {
 | |
| 			compatible = "regulator-fixed";
 | |
| 			reg = <1>;
 | |
| 			regulator-name = "usb_otg2_vbus";
 | |
| 			regulator-min-microvolt = <5000000>;
 | |
| 			regulator-max-microvolt = <5000000>;
 | |
| 			gpio = <&gpio1 7 GPIO_ACTIVE_HIGH>;
 | |
| 			enable-active-high;
 | |
| 		};
 | |
| 
 | |
| 		reg_sd1_vmmc: regulator@3 {
 | |
| 			compatible = "regulator-fixed";
 | |
| 			regulator-name = "VDD_SD1";
 | |
| 			regulator-min-microvolt = <3300000>;
 | |
| 			regulator-max-microvolt = <3300000>;
 | |
| 			gpio = <&gpio5 2 GPIO_ACTIVE_HIGH>;
 | |
| 			startup-delay-us = <200000>;
 | |
| 			enable-active-high;
 | |
| 		};
 | |
| 	};
 | |
| };
 | |
| 
 | |
| &iomuxc {
 | |
| 	imx7d-sdb {
 | |
| 		pinctrl_spi1: spi1grp {
 | |
| 			fsl,pins = <
 | |
| 				MX7D_PAD_GPIO1_IO09__GPIO1_IO9	0x59
 | |
| 				MX7D_PAD_GPIO1_IO12__GPIO1_IO12	0x59
 | |
| 				MX7D_PAD_GPIO1_IO13__GPIO1_IO13	0x59
 | |
| 			>;
 | |
| 		};
 | |
| 
 | |
| 		pinctrl_i2c1: i2c1grp {
 | |
| 			fsl,pins = <
 | |
| 				MX7D_PAD_I2C1_SDA__I2C1_SDA	0x4000007f
 | |
| 				MX7D_PAD_I2C1_SCL__I2C1_SCL	0x4000007f
 | |
| 			>;
 | |
| 		};
 | |
| 
 | |
| 		pinctrl_i2c2: i2c2grp {
 | |
| 			fsl,pins = <
 | |
| 				MX7D_PAD_I2C2_SDA__I2C2_SDA	0x4000007f
 | |
| 				MX7D_PAD_I2C2_SCL__I2C2_SCL	0x4000007f
 | |
| 			>;
 | |
| 		};
 | |
| 
 | |
| 		pinctrl_i2c3: i2c3grp {
 | |
| 			fsl,pins = <
 | |
| 				MX7D_PAD_I2C3_SDA__I2C3_SDA	0x4000007f
 | |
| 				MX7D_PAD_I2C3_SCL__I2C3_SCL	0x4000007f
 | |
| 			>;
 | |
| 		};
 | |
| 
 | |
| 		pinctrl_i2c4: i2c4grp {
 | |
| 			fsl,pins = <
 | |
| 				MX7D_PAD_SAI1_RX_BCLK__I2C4_SDA	0x4000007f
 | |
| 				MX7D_PAD_SAI1_RX_SYNC__I2C4_SCL	0x4000007f
 | |
| 			>;
 | |
| 		};
 | |
| 
 | |
| 		pinctrl_usdhc1_gpio: usdhc1_gpiogrp {
 | |
| 			fsl,pins = <
 | |
| 				MX7D_PAD_SD1_CD_B__GPIO5_IO0		0x59 /* CD */
 | |
| 				MX7D_PAD_SD1_WP__GPIO5_IO1		0x59 /* WP */
 | |
| 				MX7D_PAD_SD1_RESET_B__GPIO5_IO2		0x59 /* vmmc */
 | |
| 				MX7D_PAD_GPIO1_IO08__SD1_VSELECT	0x59 /* VSELECT */
 | |
| 			>;
 | |
| 		};
 | |
| 
 | |
| 		pinctrl_usdhc1: usdhc1grp {
 | |
| 			fsl,pins = <
 | |
| 				MX7D_PAD_SD1_CMD__SD1_CMD		0x59
 | |
| 				MX7D_PAD_SD1_CLK__SD1_CLK		0x19
 | |
| 				MX7D_PAD_SD1_DATA0__SD1_DATA0		0x59
 | |
| 				MX7D_PAD_SD1_DATA1__SD1_DATA1		0x59
 | |
| 				MX7D_PAD_SD1_DATA2__SD1_DATA2		0x59
 | |
| 				MX7D_PAD_SD1_DATA3__SD1_DATA3		0x59
 | |
| 			>;
 | |
| 		};
 | |
| 
 | |
| 		pinctrl_usdhc1_100mhz: usdhc1grp_100mhz {
 | |
| 			fsl,pins = <
 | |
| 				MX7D_PAD_SD1_CMD__SD1_CMD		0x5a
 | |
| 				MX7D_PAD_SD1_CLK__SD1_CLK		0x1a
 | |
| 				MX7D_PAD_SD1_DATA0__SD1_DATA0		0x5a
 | |
| 				MX7D_PAD_SD1_DATA1__SD1_DATA1		0x5a
 | |
| 				MX7D_PAD_SD1_DATA2__SD1_DATA2		0x5a
 | |
| 				MX7D_PAD_SD1_DATA3__SD1_DATA3		0x5a
 | |
| 			>;
 | |
| 		};
 | |
| 
 | |
| 		pinctrl_usdhc1_200mhz: usdhc1grp_200mhz {
 | |
| 			fsl,pins = <
 | |
| 				MX7D_PAD_SD1_CMD__SD1_CMD		0x5b
 | |
| 				MX7D_PAD_SD1_CLK__SD1_CLK		0x1b
 | |
| 				MX7D_PAD_SD1_DATA0__SD1_DATA0		0x5b
 | |
| 				MX7D_PAD_SD1_DATA1__SD1_DATA1		0x5b
 | |
| 				MX7D_PAD_SD1_DATA2__SD1_DATA2		0x5b
 | |
| 				MX7D_PAD_SD1_DATA3__SD1_DATA3		0x5b
 | |
| 			>;
 | |
| 		};
 | |
| 
 | |
| 		pinctrl_usdhc2: usdhc2grp {
 | |
| 			fsl,pins = <
 | |
| 				MX7D_PAD_SD2_CMD__SD2_CMD       0x59
 | |
| 				MX7D_PAD_SD2_CLK__SD2_CLK       0x19
 | |
| 				MX7D_PAD_SD2_DATA0__SD2_DATA0   0x59
 | |
| 				MX7D_PAD_SD2_DATA1__SD2_DATA1   0x59
 | |
| 				MX7D_PAD_SD2_DATA2__SD2_DATA2   0x59
 | |
| 				MX7D_PAD_SD2_DATA3__SD2_DATA3   0x59
 | |
| 				MX7D_PAD_ECSPI2_MOSI__GPIO4_IO21	0x19 /* WL_REG_ON */
 | |
| 				MX7D_PAD_ECSPI2_SCLK__GPIO4_IO20	0x19 /* WL_HOST_WAKE */
 | |
| 			>;
 | |
| 		};
 | |
| 
 | |
| 		pinctrl_usdhc2_100mhz: usdhc2grp_100mhz {
 | |
| 			fsl,pins = <
 | |
| 				MX7D_PAD_SD2_CMD__SD2_CMD		0x5a
 | |
| 				MX7D_PAD_SD2_CLK__SD2_CLK		0x1a
 | |
| 				MX7D_PAD_SD2_DATA0__SD2_DATA0		0x5a
 | |
| 				MX7D_PAD_SD2_DATA1__SD2_DATA1		0x5a
 | |
| 				MX7D_PAD_SD2_DATA2__SD2_DATA2		0x5a
 | |
| 				MX7D_PAD_SD2_DATA3__SD2_DATA3		0x5a
 | |
| 			>;
 | |
| 		};
 | |
| 
 | |
| 		pinctrl_usdhc2_200mhz: usdhc2grp_200mhz {
 | |
| 			fsl,pins = <
 | |
| 				MX7D_PAD_SD2_CMD__SD2_CMD		0x5b
 | |
| 				MX7D_PAD_SD2_CLK__SD2_CLK		0x1b
 | |
| 				MX7D_PAD_SD2_DATA0__SD2_DATA0		0x5b
 | |
| 				MX7D_PAD_SD2_DATA1__SD2_DATA1		0x5b
 | |
| 				MX7D_PAD_SD2_DATA2__SD2_DATA2		0x5b
 | |
| 				MX7D_PAD_SD2_DATA3__SD2_DATA3		0x5b
 | |
| 			>;
 | |
| 		};
 | |
| 
 | |
| 		pinctrl_usdhc3: usdhc3grp {
 | |
| 			fsl,pins = <
 | |
| 				MX7D_PAD_SD3_CMD__SD3_CMD		0x59
 | |
| 				MX7D_PAD_SD3_CLK__SD3_CLK		0x19
 | |
| 				MX7D_PAD_SD3_DATA0__SD3_DATA0		0x59
 | |
| 				MX7D_PAD_SD3_DATA1__SD3_DATA1		0x59
 | |
| 				MX7D_PAD_SD3_DATA2__SD3_DATA2		0x59
 | |
| 				MX7D_PAD_SD3_DATA3__SD3_DATA3		0x59
 | |
| 				MX7D_PAD_SD3_DATA4__SD3_DATA4		0x59
 | |
| 				MX7D_PAD_SD3_DATA5__SD3_DATA5		0x59
 | |
| 				MX7D_PAD_SD3_DATA6__SD3_DATA6		0x59
 | |
| 				MX7D_PAD_SD3_DATA7__SD3_DATA7		0x59
 | |
| 				MX7D_PAD_SD3_STROBE__SD3_STROBE         0x19
 | |
| 			>;
 | |
| 		};
 | |
| 
 | |
| 		pinctrl_usdhc3_100mhz: usdhc3grp_100mhz {
 | |
| 			fsl,pins = <
 | |
| 				MX7D_PAD_SD3_CMD__SD3_CMD		0x5a
 | |
| 				MX7D_PAD_SD3_CLK__SD3_CLK		0x1a
 | |
| 				MX7D_PAD_SD3_DATA0__SD3_DATA0		0x5a
 | |
| 				MX7D_PAD_SD3_DATA1__SD3_DATA1		0x5a
 | |
| 				MX7D_PAD_SD3_DATA2__SD3_DATA2		0x5a
 | |
| 				MX7D_PAD_SD3_DATA3__SD3_DATA3		0x5a
 | |
| 				MX7D_PAD_SD3_DATA4__SD3_DATA4		0x5a
 | |
| 				MX7D_PAD_SD3_DATA5__SD3_DATA5		0x5a
 | |
| 				MX7D_PAD_SD3_DATA6__SD3_DATA6		0x5a
 | |
| 				MX7D_PAD_SD3_DATA7__SD3_DATA7		0x5a
 | |
| 				MX7D_PAD_SD3_STROBE__SD3_STROBE		0x1a
 | |
| 			>;
 | |
| 		};
 | |
| 
 | |
| 		pinctrl_usdhc3_200mhz: usdhc3grp_200mhz {
 | |
| 			fsl,pins = <
 | |
| 				MX7D_PAD_SD3_CMD__SD3_CMD		0x5b
 | |
| 				MX7D_PAD_SD3_CLK__SD3_CLK		0x1b
 | |
| 				MX7D_PAD_SD3_DATA0__SD3_DATA0		0x5b
 | |
| 				MX7D_PAD_SD3_DATA1__SD3_DATA1		0x5b
 | |
| 				MX7D_PAD_SD3_DATA2__SD3_DATA2		0x5b
 | |
| 				MX7D_PAD_SD3_DATA3__SD3_DATA3		0x5b
 | |
| 				MX7D_PAD_SD3_DATA4__SD3_DATA4		0x5b
 | |
| 				MX7D_PAD_SD3_DATA5__SD3_DATA5		0x5b
 | |
| 				MX7D_PAD_SD3_DATA6__SD3_DATA6		0x5b
 | |
| 				MX7D_PAD_SD3_DATA7__SD3_DATA7		0x5b
 | |
| 				MX7D_PAD_SD3_STROBE__SD3_STROBE		0x1b
 | |
| 			>;
 | |
| 		};
 | |
| 	};
 | |
| };
 | |
| 
 | |
| &i2c1 {
 | |
| 	clock-frequency = <100000>;
 | |
| 	pinctrl-names = "default";
 | |
| 	pinctrl-0 = <&pinctrl_i2c1>;
 | |
| 	status = "okay";
 | |
| 
 | |
| 	pmic: pfuze3000@08 {
 | |
| 		compatible = "fsl,pfuze3000";
 | |
| 		reg = <0x08>;
 | |
| 
 | |
| 		regulators {
 | |
| 			sw1a_reg: sw1a {
 | |
| 				regulator-min-microvolt = <700000>;
 | |
| 				regulator-max-microvolt = <3300000>;
 | |
| 				regulator-boot-on;
 | |
| 				regulator-always-on;
 | |
| 				regulator-ramp-delay = <6250>;
 | |
| 			};
 | |
| 
 | |
| 			/* use sw1c_reg to align with pfuze100/pfuze200 */
 | |
| 			sw1c_reg: sw1b {
 | |
| 				regulator-min-microvolt = <700000>;
 | |
| 				regulator-max-microvolt = <1475000>;
 | |
| 				regulator-boot-on;
 | |
| 				regulator-always-on;
 | |
| 				regulator-ramp-delay = <6250>;
 | |
| 			};
 | |
| 
 | |
| 			sw2_reg: sw2 {
 | |
| 				regulator-min-microvolt = <1500000>;
 | |
| 				regulator-max-microvolt = <1850000>;
 | |
| 				regulator-boot-on;
 | |
| 				regulator-always-on;
 | |
| 			};
 | |
| 
 | |
| 			sw3a_reg: sw3 {
 | |
| 				regulator-min-microvolt = <900000>;
 | |
| 				regulator-max-microvolt = <1650000>;
 | |
| 				regulator-boot-on;
 | |
| 				regulator-always-on;
 | |
| 			};
 | |
| 
 | |
| 			swbst_reg: swbst {
 | |
| 				regulator-min-microvolt = <5000000>;
 | |
| 				regulator-max-microvolt = <5150000>;
 | |
| 			};
 | |
| 
 | |
| 			snvs_reg: vsnvs {
 | |
| 				regulator-min-microvolt = <1000000>;
 | |
| 				regulator-max-microvolt = <3000000>;
 | |
| 				regulator-boot-on;
 | |
| 				regulator-always-on;
 | |
| 			};
 | |
| 
 | |
| 			vref_reg: vrefddr {
 | |
| 				regulator-boot-on;
 | |
| 				regulator-always-on;
 | |
| 			};
 | |
| 
 | |
| 			vgen1_reg: vldo1 {
 | |
| 				regulator-min-microvolt = <1800000>;
 | |
| 				regulator-max-microvolt = <3300000>;
 | |
| 				regulator-always-on;
 | |
| 			};
 | |
| 
 | |
| 			vgen2_reg: vldo2 {
 | |
| 				regulator-min-microvolt = <800000>;
 | |
| 				regulator-max-microvolt = <1550000>;
 | |
| 				regulator-always-on;
 | |
| 			};
 | |
| 
 | |
| 			vgen3_reg: vccsd {
 | |
| 				regulator-min-microvolt = <2850000>;
 | |
| 				regulator-max-microvolt = <3300000>;
 | |
| 				regulator-always-on;
 | |
| 			};
 | |
| 
 | |
| 			vgen4_reg: v33 {
 | |
| 				regulator-min-microvolt = <2850000>;
 | |
| 				regulator-max-microvolt = <3300000>;
 | |
| 				regulator-always-on;
 | |
| 			};
 | |
| 
 | |
| 			vgen5_reg: vldo3 {
 | |
| 				regulator-min-microvolt = <1800000>;
 | |
| 				regulator-max-microvolt = <3300000>;
 | |
| 				regulator-always-on;
 | |
| 			};
 | |
| 
 | |
| 			vgen6_reg: vldo4 {
 | |
| 				regulator-min-microvolt = <1800000>;
 | |
| 				regulator-max-microvolt = <3300000>;
 | |
| 				regulator-always-on;
 | |
| 			};
 | |
| 		};
 | |
| 	};
 | |
| };
 | |
| 
 | |
| &i2c2 {
 | |
| 	clock-frequency = <100000>;
 | |
| 	pinctrl-names = "default";
 | |
| 	pinctrl-0 = <&pinctrl_i2c2>;
 | |
| 	status = "okay";
 | |
| };
 | |
| 
 | |
| &i2c3 {
 | |
| 	clock-frequency = <100000>;
 | |
| 	pinctrl-names = "default";
 | |
| 	pinctrl-0 = <&pinctrl_i2c3>;
 | |
| 	status = "okay";
 | |
| };
 | |
| 
 | |
| &i2c4 {
 | |
| 	clock-frequency = <100000>;
 | |
| 	pinctrl-names = "default";
 | |
| 	pinctrl-0 = <&pinctrl_i2c4>;
 | |
| 	status = "okay";
 | |
| };
 | |
| 
 | |
| &usdhc1 {
 | |
| 	pinctrl-names = "default", "state_100mhz", "state_200mhz";
 | |
| 	pinctrl-0 = <&pinctrl_usdhc1>, <&pinctrl_usdhc1_gpio>;
 | |
| 	pinctrl-1 = <&pinctrl_usdhc1_100mhz>, <&pinctrl_usdhc1_gpio>;
 | |
| 	pinctrl-2 = <&pinctrl_usdhc1_200mhz>, <&pinctrl_usdhc1_gpio>;
 | |
| 	cd-gpios = <&gpio5 0 GPIO_ACTIVE_LOW>;
 | |
| 	wp-gpios = <&gpio5 1 GPIO_ACTIVE_HIGH>;
 | |
| 	vmmc-supply = <®_sd1_vmmc>;
 | |
| 	fsl,tuning-start-tap = <20>;
 | |
| 	fsl,tuning-step= <2>;
 | |
| 	status = "okay";
 | |
| };
 | |
| 
 | |
| &usdhc2 {
 | |
| 	pinctrl-names = "default", "state_100mhz", "state_200mhz";
 | |
| 	pinctrl-0 = <&pinctrl_usdhc2>;
 | |
| 	pinctrl-1 = <&pinctrl_usdhc2_100mhz>;
 | |
| 	pinctrl-2 = <&pinctrl_usdhc2_200mhz>;
 | |
| 	non-removable;
 | |
| 	fsl,tuning-start-tap = <20>;
 | |
| 	fsl,tuning-step= <2>;
 | |
| 	status = "okay";
 | |
| };
 | |
| 
 | |
| &usdhc3 {
 | |
| 	pinctrl-names = "default", "state_100mhz", "state_200mhz";
 | |
| 	pinctrl-0 = <&pinctrl_usdhc3>;
 | |
| 	pinctrl-1 = <&pinctrl_usdhc3_100mhz>;
 | |
| 	pinctrl-2 = <&pinctrl_usdhc3_200mhz>;
 | |
| 	bus-width = <8>;
 | |
| 	non-removable;
 | |
| 	fsl,tuning-start-tap = <20>;
 | |
| 	fsl,tuning-step= <2>;
 | |
| 	status = "okay";
 | |
| };
 | 
