aboutsummaryrefslogblamecommitdiffstats
path: root/arch/arm/boot/dts/imx6sx-17x17-arm2.dts
blob: 3f958702cfc76dff05e860fff3c6068517e03524 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16















                                                                       






                                                             







                                                     






                                                          




                                                                          









                                                            
 







                                                            
















                                                            






                                                            

          


                                              




                                                        
                                  








                                                   









                                      



                                       

  















                                                             



                                       
                     

                              
                                                               
                         






                                       
                     

                              
                                                               
                         
                        

  

















                                                     







                                                                   





                                                        




                                      



































































































                                                                    






                                      
 
                            





                                             
 







                                             






                                            
















                                      






                                         

                                                                               
                                                                                  
                                               
                                                                               
                                                   
                                                                               
                                                
                                                                               
                                                
                                                                               

                                                                               
                          



                  































                                                             





                                                         





                                      



                        





















                                               





                                      





                                       




                               











                                       








                                         



















                                                               


                                        
                      






                                                            









                                                                  
                                      

                        









                                                            
/*
 * Copyright (C) 2014 Freescale Semiconductor, Inc.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation.
 */

/dts-v1/;

#include "imx6sx.dtsi"

/ {
	model = "Freescale i.MX6 SoloX 17x17 ARM2 Board";
	compatible = "fsl,imx6sx-17x17-arm2", "fsl,imx6sx";

	backlight {
		compatible = "pwm-backlight";
		pwms = <&pwm3 0 5000000>;
		brightness-levels = <0 4 8 16 32 64 128 255>;
		default-brightness-level = <6>;
	};

	clocks {
	        codec_osc: codec_osc {
		        #clock-cells = <0>;
		        compatible = "fixed-clock";
		        clock-frequency = <12000000>;
		};
	};

	max7322_reset: max7322-reset {
		compatible = "gpio-reset";
		reset-gpios = <&gpio4 22 GPIO_ACTIVE_LOW>;
		reset-delay-us = <1>;
		#reset-cells = <0>;
	};

	pxp_v4l2_out {
		compatible = "fsl,imx6sx-pxp-v4l2", "fsl,imx6sl-pxp-v4l2";
		status = "okay";
	};

	regulators {
		compatible = "simple-bus";

		reg_3p3v: 3p3v {
			compatible = "regulator-fixed";
			regulator-name = "3P3V";
			regulator-min-microvolt = <3300000>;
			regulator-max-microvolt = <3300000>;
			regulator-always-on;
		};

		reg_sdb_vmmc: sdb_vmmc{
			compatible = "regulator-fixed";
			regulator-name = "SD2_SPWR";
			regulator-min-microvolt = <3300000>;
			regulator-max-microvolt = <3300000>;
			gpio = <&gpio2 11 GPIO_ACTIVE_LOW>;
		};

		reg_usb_otg1_vbus: usb_otg1_vbus {
			compatible = "regulator-fixed";
			regulator-name = "usb_otg1_vbus";
			regulator-min-microvolt = <5000000>;
			regulator-max-microvolt = <5000000>;
			gpio = <&gpio1 9 0>;
			enable-active-high;
		};

		reg_usb_otg2_vbus: usb_otg2_vbus {
			compatible = "regulator-fixed";
			regulator-name = "usb_otg2_vbus";
			regulator-min-microvolt = <5000000>;
			regulator-max-microvolt = <5000000>;
			gpio = <&gpio1 12 0>;
			enable-active-high;
		};

		reg_vref_3v3: regulator@0 {
			compatible = "regulator-fixed";
			regulator-name = "vref-3v3";
			regulator-min-microvolt = <3300000>;
			regulator-max-microvolt = <3300000>;
		};
	};

	memory {
		reg = <0x80000000 0x40000000>;
	};

	sound {
		compatible = "fsl,imx6sx-arm2-sgtl5000",
			   "fsl,imx-audio-sgtl5000";
		model = "imx6sx-arm2-sgtl5000";
		cpu-dai = <&ssi1>;
		audio-codec = <&codec>;
		audio-routing =
			"LINE_IN", "Line In Jack",
			"Headphone Jack", "HP_OUT";
		mux-int-port = <1>;
		mux-ext-port = <4>;
	};
};

&adc1 {
	vref-supply = <&reg_vref_3v3>;
	status = "okay";
};

&adc2 {
	vref-supply = <&reg_vref_3v3>;
	status = "okay";
};

&audmux {
       pinctrl-names = "default";
       pinctrl-0 = <&pinctrl_audmux_2>;
       status = "okay";
};

&ecspi4 {
	fsl,spi-num-chipselects = <1>;
	cs-gpios = <&gpio7 4 0>;
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_ecspi4_1 &pinctrl_ecspi4_cs_1>;
	status = "disabled"; /* pin conflict with USDHC3 */

	flash: m25p80@0 {
		#address-cells = <1>;
		#size-cells = <1>;
		compatible = "st,m25p32";
		spi-max-frequency = <20000000>;
		reg = <0>;
	};
};

&fec1 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_enet1_1>;
	phy-mode = "rgmii";
	phy-id = <1>;
	fsl,num_tx_queues=<3>;
	fsl,num_rx_queues=<3>;
	pinctrl-assert-gpios = <&max7322_1 0 GPIO_ACTIVE_HIGH>;
	fsl,magic-packet;
	status = "okay";
};

&fec2 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_enet2_1>;
	phy-mode = "rgmii";
	phy-id = <0>;
	fsl,num_tx_queues=<3>;
	fsl,num_rx_queues=<3>;
	pinctrl-assert-gpios = <&max7322_2 0 GPIO_ACTIVE_HIGH>;
	fsl,magic-packet;
	status = "okay";
};

&flexcan1 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_flexcan1_1>;
	trx-en-gpio = <&gpio4 25 GPIO_ACTIVE_HIGH>;
	trx-stby-gpio = <&gpio4 27 GPIO_ACTIVE_HIGH>;
	trx-err-gpio = <&gpio4 24 GPIO_ACTIVE_HIGH>;
	status = "okay";
};

&flexcan2 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_flexcan2_1>;
	trx-en-gpio = <&gpio4 25 GPIO_ACTIVE_HIGH>;
	trx-stby-gpio = <&gpio4 27 GPIO_ACTIVE_HIGH>;
	trx-err-gpio = <&gpio4 30 GPIO_ACTIVE_HIGH>;
	status = "okay";
};

&gpc {
	fsl,cpu_pupscr_sw2iso = <0xf>;
	fsl,cpu_pupscr_sw = <0xf>;
	fsl,cpu_pdnscr_iso2sw = <0x1>;
	fsl,cpu_pdnscr_iso = <0x1>;
	fsl,wdog-reset = <1>; /* watchdog select of reset source */
};

&gpmi {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_gpmi_nand_1>;
	status = "disabled"; /* pin conflict with qspi*/
};

&i2c1 {
        clock-frequency = <100000>;
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_i2c1_1>;
        status = "okay";

	pmic: pfuze100@08 {
		compatible = "fsl,pfuze100";
		reg = <0x08>;

		regulators {
			sw1a_reg: sw1ab {
				regulator-min-microvolt = <300000>;
				regulator-max-microvolt = <1875000>;
				regulator-boot-on;
				regulator-always-on;
				regulator-ramp-delay = <6250>;
			};

			sw1c_reg: sw1c {
				regulator-min-microvolt = <300000>;
				regulator-max-microvolt = <1875000>;
				regulator-boot-on;
				regulator-always-on;
				regulator-ramp-delay = <6250>;
			};

			sw2_reg: sw2 {
				regulator-min-microvolt = <800000>;
				regulator-max-microvolt = <3300000>;
				regulator-boot-on;
				regulator-always-on;
			};

			sw3a_reg: sw3a {
				regulator-min-microvolt = <400000>;
				regulator-max-microvolt = <1975000>;
				regulator-boot-on;
				regulator-always-on;
			};

			sw3b_reg: sw3b {
				regulator-min-microvolt = <400000>;
				regulator-max-microvolt = <1975000>;
				regulator-boot-on;
				regulator-always-on;
			};

			sw4_reg: sw4 {
				regulator-min-microvolt = <800000>;
				regulator-max-microvolt = <3300000>;
			};

			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: vgen1 {
				regulator-min-microvolt = <800000>;
				regulator-max-microvolt = <1550000>;
			};

			vgen2_reg: vgen2 {
				regulator-min-microvolt = <800000>;
				regulator-max-microvolt = <1550000>;
			};

			vgen3_reg: vgen3 {
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <3300000>;
				regulator-always-on;
			};

			vgen4_reg: vgen4 {
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <3300000>;
				regulator-always-on;
			};

			vgen5_reg: vgen5 {
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <3300000>;
				regulator-always-on;
			};

			vgen6_reg: vgen6 {
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <3300000>;
				regulator-always-on;
			};
		};
	};
};

&i2c2 {
        clock-frequency = <100000>;
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_i2c2_1>;
        status = "okay";

	max7322_1: gpio@68 {
		compatible = "maxim,max7322";
		reg = <0x68>;
		gpio-controller;
		#gpio-cells = <2>;
		resets = <&max7322_reset>;
	};

	max7322_2: gpio@69 {
		compatible = "maxim,max7322";
		reg = <0x69>;
		gpio-controller;
		#gpio-cells = <2>;
		resets = <&max7322_reset>;
	};

	codec: sgtl5000@0a {
		compatible = "fsl,sgtl5000";
		reg = <0x0a>;
		clocks = <&codec_osc>;
		VDDA-supply = <&vgen4_reg>;
		VDDIO-supply = <&reg_3p3v>;
	};
};


&i2c3 {
        clock-frequency = <100000>;
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_i2c3_1>;
        status = "okay";
};

&i2c4 {
        clock-frequency = <100000>;
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_i2c4_1>;
        status = "okay";
};

&iomuxc {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_hog_1>;

	hog {
		pinctrl_hog_1: hoggrp-1 {
			fsl,pins = <
				MX6SX_PAD_KEY_COL0__GPIO2_IO_10		0x1f059
				MX6SX_PAD_KEY_ROW0__GPIO2_IO_15		0x1f059
				MX6SX_PAD_QSPI1A_SS0_B__GPIO4_IO_22     0x80000000
				/* CAN1_2_EN */
				MX6SX_PAD_QSPI1B_DATA1__GPIO4_IO_25     0x17059
				/* CAN1_2_STBY_B */
				MX6SX_PAD_QSPI1B_DATA3__GPIO4_IO_27     0x17059
				/* CAN1_ERR_B */
				MX6SX_PAD_QSPI1B_DATA0__GPIO4_IO_24	0x17059
				/* CAN2_ERR_B */
				MX6SX_PAD_QSPI1B_SS0_B__GPIO4_IO_30     0x17059
				/* SD2_PWROFF */
				MX6SX_PAD_KEY_COL1__GPIO2_IO_11		0x17059
			>;
		};
	};
};

&lcdif1 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_lcdif_dat_0
		     &pinctrl_lcdif_ctrl_0>;
	display = <&display>;
	status = "okay";

	display: display {
		bits-per-pixel = <16>;
		bus-width = <24>;

		display-timings {
			native-mode = <&timing0>;
			timing0: timing0 {
				clock-frequency = <33500000>;
				hactive = <800>;
				vactive = <480>;
				hback-porch = <89>;
				hfront-porch = <164>;
				vback-porch = <23>;
				vfront-porch = <10>;
				hsync-len = <10>;
				vsync-len = <10>;
				hsync-active = <0>;
				vsync-active = <0>;
				de-active = <1>;
				pixelclk-active = <0>;
			};
		};
	};
};

&mlb {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_mlb_1>;
	status = "disabled";/* pin conflict with usdhc2*/
};

&pwm3 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_pwm3_0>;
	status = "okay";
};

&pxp {
	status = "okay";
};

&qspi2 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_qspi2_1>;
	status = "okay";

	flash0: n25q256a@0 {
		#address-cells = <1>;
		#size-cells = <1>;
		compatible = "micron,n25q256a";
		spi-max-frequency = <53000000>;
		reg = <0>;
	};

	flash1: n25q256a@1 {
		#address-cells = <1>;
		#size-cells = <1>;
		compatible = "micron,n25q256a";
		spi-max-frequency = <53000000>;
		reg = <1>;
	};
};

&sai2 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_sai2_1>;
	status = "disabled";
};

&spdif {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_spdif_1>;
	status = "disabled";
};

&ssi1 {
	fsl,mode = "i2s-slave";
	status = "okay";
};

&uart1 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_uart1_1>;
	status = "okay";
};

&uart2 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_uart2_1>;
	status = "okay";
};

&usbh {
	pinctrl-names = "idle", "active";
	pinctrl-0 = <&pinctrl_usbh_1>;
	pinctrl-1 = <&pinctrl_usbh_2>;
	osc-clkgate-delay = <0x3>;
	pad-supply = <&vgen1_reg>;
	status = "okay";
};

&usbotg1 {
	vbus-supply = <&reg_usb_otg1_vbus>;
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_usbotg1_1>;
	disable-over-current;
	status = "okay";
};

&usbotg2 {
	/*
	 * Pin conflict with others, need to switch R580 & R579
	 * to B and disable pwm3 to enable it.
	 */
	vbus-supply = <&reg_usb_otg2_vbus>;
	disable-over-current;
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_usbotg2_1>;
	status = "disabled";
};

&usdhc2 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_usdhc2_1>;
	non-removable;
	/* need hw rework to enable signal voltage switch */
	no-1-8-v;
	keep-power-in-suspend;
	enable-sdio-wakeup;
	status = "okay";
};

&usdhc3 {
	pinctrl-names = "default", "state_100mhz", "state_200mhz";
	pinctrl-0 = <&pinctrl_usdhc3_1>;
	pinctrl-1 = <&pinctrl_usdhc3_1_100mhz>;
	pinctrl-2 = <&pinctrl_usdhc3_1_200mhz>;
	bus-width = <8>;
	cd-gpios = <&gpio2 10 0>;
	wp-gpios = <&gpio2 15 0>;
	keep-power-in-suspend;
	enable-sdio-wakeup;
	vmmc-supply = <&reg_sdb_vmmc>;
	status = "okay";
};

&usdhc4 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_usdhc4_1>;
	bus-width = <8>;
	non-removable;
	/* need hw rework to enable signal voltage switch */
	no-1-8-v;
	status = "okay";
};