| // SPDX-License-Identifier: GPL-2.0+ | 
 | // | 
 | // Copyright 2012 Freescale Semiconductor, Inc. | 
 | // Copyright 2011 Linaro Ltd. | 
 |  | 
 | #include <dt-bindings/gpio/gpio.h> | 
 | #include <dt-bindings/input/input.h> | 
 |  | 
 | / { | 
 | 	chosen { | 
 | 		stdout-path = &uart4; | 
 | 	}; | 
 |  | 
 | 	memory@10000000 { | 
 | 		device_type = "memory"; | 
 | 		reg = <0x10000000 0x80000000>; | 
 | 	}; | 
 |  | 
 | 	leds { | 
 | 		compatible = "gpio-leds"; | 
 | 		pinctrl-names = "default"; | 
 | 		pinctrl-0 = <&pinctrl_gpio_leds>; | 
 |  | 
 | 		user { | 
 | 			label = "debug"; | 
 | 			gpios = <&gpio5 15 GPIO_ACTIVE_HIGH>; | 
 | 		}; | 
 | 	}; | 
 |  | 
 | 	gpio-keys { | 
 | 		compatible = "gpio-keys"; | 
 | 		pinctrl-names = "default"; | 
 | 		pinctrl-0 = <&pinctrl_gpio_keys>; | 
 |  | 
 | 		home { | 
 | 			label = "Home"; | 
 | 			gpios = <&gpio1 11 GPIO_ACTIVE_LOW>; | 
 | 			linux,code = <KEY_HOME>; | 
 | 			wakeup-source; | 
 | 		}; | 
 |  | 
 | 		back { | 
 | 			label = "Back"; | 
 | 			gpios = <&gpio1 12 GPIO_ACTIVE_LOW>; | 
 | 			linux,code = <KEY_BACK>; | 
 | 			wakeup-source; | 
 | 		}; | 
 |  | 
 | 		program { | 
 | 			label = "Program"; | 
 | 			gpios = <&gpio2 12 GPIO_ACTIVE_LOW>; | 
 | 			linux,code = <KEY_PROGRAM>; | 
 | 			wakeup-source; | 
 | 		}; | 
 |  | 
 | 		volume-up { | 
 | 			label = "Volume Up"; | 
 | 			gpios = <&gpio2 15 GPIO_ACTIVE_LOW>; | 
 | 			linux,code = <KEY_VOLUMEUP>; | 
 | 			wakeup-source; | 
 | 		}; | 
 |  | 
 | 		volume-down { | 
 | 			label = "Volume Down"; | 
 | 			gpios = <&gpio5 14 GPIO_ACTIVE_LOW>; | 
 | 			linux,code = <KEY_VOLUMEDOWN>; | 
 | 			wakeup-source; | 
 | 		}; | 
 | 	}; | 
 |  | 
 | 	clocks { | 
 | 		codec_osc: anaclk2 { | 
 | 			compatible = "fixed-clock"; | 
 | 			#clock-cells = <0>; | 
 | 			clock-frequency = <24576000>; | 
 | 		}; | 
 | 	}; | 
 |  | 
 | 	reg_audio: regulator-audio { | 
 | 		compatible = "regulator-fixed"; | 
 | 		regulator-name = "cs42888_supply"; | 
 | 		regulator-min-microvolt = <3300000>; | 
 | 		regulator-max-microvolt = <3300000>; | 
 | 		regulator-always-on; | 
 | 	}; | 
 |  | 
 | 	reg_usb_h1_vbus: regulator-usb-h1-vbus { | 
 | 		compatible = "regulator-fixed"; | 
 | 		regulator-name = "usb_h1_vbus"; | 
 | 		regulator-min-microvolt = <5000000>; | 
 | 		regulator-max-microvolt = <5000000>; | 
 | 		gpio = <&max7310_b 7 GPIO_ACTIVE_HIGH>; | 
 | 		enable-active-high; | 
 | 	}; | 
 |  | 
 | 	reg_usb_otg_vbus: regulator-usb-otg-vbus { | 
 | 		compatible = "regulator-fixed"; | 
 | 		regulator-name = "usb_otg_vbus"; | 
 | 		regulator-min-microvolt = <5000000>; | 
 | 		regulator-max-microvolt = <5000000>; | 
 | 		gpio = <&max7310_c 1 GPIO_ACTIVE_HIGH>; | 
 | 		enable-active-high; | 
 | 	}; | 
 |  | 
 | 	reg_can_en: regulator-can-en { | 
 | 		compatible = "regulator-fixed"; | 
 | 		regulator-name = "can-en"; | 
 | 		regulator-min-microvolt = <3300000>; | 
 | 		regulator-max-microvolt = <3300000>; | 
 | 		gpio = <&max7310_b 6 GPIO_ACTIVE_HIGH>; | 
 | 		enable-active-high; | 
 | 	}; | 
 |  | 
 | 	reg_can_stby: regulator-can-stby { | 
 | 		compatible = "regulator-fixed"; | 
 | 		regulator-name = "can-stby"; | 
 | 		regulator-min-microvolt = <3300000>; | 
 | 		regulator-max-microvolt = <3300000>; | 
 | 		gpio = <&max7310_b 5 GPIO_ACTIVE_HIGH>; | 
 | 		enable-active-high; | 
 | 		vin-supply = <®_can_en>; | 
 | 	}; | 
 |  | 
 | 	sound-cs42888 { | 
 | 		compatible = "fsl,imx6-sabreauto-cs42888", | 
 | 			"fsl,imx-audio-cs42888"; | 
 | 		model = "imx-cs42888"; | 
 | 		audio-cpu = <&esai>; | 
 | 		audio-asrc = <&asrc>; | 
 | 		audio-codec = <&codec>; | 
 | 		audio-routing = | 
 | 			"Line Out Jack", "AOUT1L", | 
 | 			"Line Out Jack", "AOUT1R", | 
 | 			"Line Out Jack", "AOUT2L", | 
 | 			"Line Out Jack", "AOUT2R", | 
 | 			"Line Out Jack", "AOUT3L", | 
 | 			"Line Out Jack", "AOUT3R", | 
 | 			"Line Out Jack", "AOUT4L", | 
 | 			"Line Out Jack", "AOUT4R", | 
 | 			"AIN1L", "Line In Jack", | 
 | 			"AIN1R", "Line In Jack", | 
 | 			"AIN2L", "Line In Jack", | 
 | 			"AIN2R", "Line In Jack"; | 
 | 	}; | 
 |  | 
 | 	sound-spdif { | 
 | 		compatible = "fsl,imx-audio-spdif", | 
 | 			   "fsl,imx-sabreauto-spdif"; | 
 | 		model = "imx-spdif"; | 
 | 		spdif-controller = <&spdif>; | 
 | 		spdif-in; | 
 | 	}; | 
 |  | 
 | 	backlight { | 
 | 		compatible = "pwm-backlight"; | 
 | 		pwms = <&pwm3 0 5000000>; | 
 | 		brightness-levels = <0 4 8 16 32 64 128 255>; | 
 | 		default-brightness-level = <7>; | 
 | 		status = "okay"; | 
 | 	}; | 
 |  | 
 | 	i2cmux { | 
 | 		compatible = "i2c-mux-gpio"; | 
 | 		#address-cells = <1>; | 
 | 		#size-cells = <0>; | 
 | 		pinctrl-names = "default"; | 
 | 		pinctrl-0 = <&pinctrl_i2c3mux>; | 
 | 		mux-gpios = <&gpio5 4 0>; | 
 | 		i2c-parent = <&i2c3>; | 
 | 		idle-state = <0>; | 
 |  | 
 | 		i2c@1 { | 
 | 			#address-cells = <1>; | 
 | 			#size-cells = <0>; | 
 | 			reg = <1>; | 
 |  | 
 | 			adv7180: camera@21 { | 
 | 				compatible = "adi,adv7180"; | 
 | 				reg = <0x21>; | 
 | 				powerdown-gpios = <&max7310_b 2 GPIO_ACTIVE_LOW>; | 
 | 				interrupt-parent = <&gpio1>; | 
 | 				interrupts = <27 IRQ_TYPE_LEVEL_LOW>; | 
 |  | 
 | 				port { | 
 | 					adv7180_to_ipu1_csi0_mux: endpoint { | 
 | 						remote-endpoint = <&ipu1_csi0_mux_from_parallel_sensor>; | 
 | 						bus-width = <8>; | 
 | 					}; | 
 | 				}; | 
 | 			}; | 
 |  | 
 | 			max7310_a: gpio@30 { | 
 | 				compatible = "maxim,max7310"; | 
 | 				reg = <0x30>; | 
 | 				gpio-controller; | 
 | 				#gpio-cells = <2>; | 
 | 			}; | 
 |  | 
 | 			max7310_b: gpio@32 { | 
 | 				compatible = "maxim,max7310"; | 
 | 				reg = <0x32>; | 
 | 				gpio-controller; | 
 | 				#gpio-cells = <2>; | 
 | 				pinctrl-names = "default"; | 
 | 				pinctrl-0 = <&pinctrl_max7310>; | 
 | 				reset-gpios = <&gpio1 15 GPIO_ACTIVE_LOW>; | 
 | 			}; | 
 |  | 
 | 			max7310_c: gpio@34 { | 
 | 				compatible = "maxim,max7310"; | 
 | 				reg = <0x34>; | 
 | 				gpio-controller; | 
 | 				#gpio-cells = <2>; | 
 | 			}; | 
 |  | 
 | 			light-sensor@44 { | 
 | 				compatible = "isil,isl29023"; | 
 | 				reg = <0x44>; | 
 | 				interrupt-parent = <&gpio5>; | 
 | 				interrupts = <17 IRQ_TYPE_EDGE_FALLING>; | 
 | 			}; | 
 |  | 
 | 			magnetometer@e { | 
 | 				compatible = "fsl,mag3110"; | 
 | 				reg = <0x0e>; | 
 | 				interrupt-parent = <&gpio2>; | 
 | 				interrupts = <29 IRQ_TYPE_EDGE_RISING>; | 
 | 			}; | 
 |  | 
 | 			accelerometer@1c { | 
 | 				compatible = "fsl,mma8451"; | 
 | 				reg = <0x1c>; | 
 | 				pinctrl-names = "default"; | 
 | 				pinctrl-0 = <&pinctrl_mma8451_int>; | 
 | 				interrupt-parent = <&gpio6>; | 
 | 				interrupts = <31 IRQ_TYPE_LEVEL_LOW>; | 
 | 			}; | 
 | 		}; | 
 | 	}; | 
 | }; | 
 |  | 
 | &ipu1_csi0_from_ipu1_csi0_mux { | 
 | 	bus-width = <8>; | 
 | }; | 
 |  | 
 | &ipu1_csi0_mux_from_parallel_sensor { | 
 | 	remote-endpoint = <&adv7180_to_ipu1_csi0_mux>; | 
 | 	bus-width = <8>; | 
 | }; | 
 |  | 
 | &ipu1_csi0 { | 
 | 	pinctrl-names = "default"; | 
 | 	pinctrl-0 = <&pinctrl_ipu1_csi0>; | 
 | }; | 
 |  | 
 | &clks { | 
 | 	assigned-clocks = <&clks IMX6QDL_PLL4_BYPASS_SRC>, | 
 | 			  <&clks IMX6QDL_PLL4_BYPASS>, | 
 | 			  <&clks IMX6QDL_CLK_LDB_DI0_SEL>, | 
 | 			  <&clks IMX6QDL_CLK_LDB_DI1_SEL>, | 
 | 			  <&clks IMX6QDL_CLK_PLL4_POST_DIV>; | 
 | 	assigned-clock-parents = <&clks IMX6QDL_CLK_LVDS2_IN>, | 
 | 				 <&clks IMX6QDL_PLL4_BYPASS_SRC>, | 
 | 				 <&clks IMX6QDL_CLK_PLL3_USB_OTG>, | 
 | 				 <&clks IMX6QDL_CLK_PLL3_USB_OTG>; | 
 | 	assigned-clock-rates = <0>, <0>, <0>, <0>, <24576000>; | 
 | }; | 
 |  | 
 | &ecspi1 { | 
 | 	cs-gpios = <&gpio3 19 GPIO_ACTIVE_LOW>; | 
 | 	pinctrl-names = "default"; | 
 | 	pinctrl-0 = <&pinctrl_ecspi1 &pinctrl_ecspi1_cs>; | 
 | 	status = "disabled"; /* pin conflict with WEIM NOR */ | 
 |  | 
 | 	flash: m25p80@0 { | 
 | 		#address-cells = <1>; | 
 | 		#size-cells = <1>; | 
 | 		compatible = "st,m25p32", "jedec,spi-nor"; | 
 | 		spi-max-frequency = <20000000>; | 
 | 		reg = <0>; | 
 | 	}; | 
 | }; | 
 |  | 
 | &esai { | 
 | 	pinctrl-names = "default"; | 
 | 	pinctrl-0 = <&pinctrl_esai>; | 
 | 	assigned-clocks = <&clks IMX6QDL_CLK_ESAI_SEL>, | 
 | 			  <&clks IMX6QDL_CLK_ESAI_EXTAL>; | 
 | 	assigned-clock-parents = <&clks IMX6QDL_CLK_PLL4_AUDIO_DIV>; | 
 | 	assigned-clock-rates = <0>, <24576000>; | 
 | 	status = "okay"; | 
 | }; | 
 |  | 
 | &fec { | 
 | 	pinctrl-names = "default"; | 
 | 	pinctrl-0 = <&pinctrl_enet>; | 
 | 	phy-mode = "rgmii-id"; | 
 | 	interrupts-extended = <&gpio1 6 IRQ_TYPE_LEVEL_HIGH>, | 
 | 			      <&intc 0 119 IRQ_TYPE_LEVEL_HIGH>; | 
 | 	fsl,err006687-workaround-present; | 
 | 	status = "okay"; | 
 | }; | 
 |  | 
 | &can1 { | 
 | 	pinctrl-names = "default"; | 
 | 	pinctrl-0 = <&pinctrl_flexcan1>; | 
 | 	xceiver-supply = <®_can_stby>; | 
 | 	status = "disabled"; /* pin conflict with fec */ | 
 | }; | 
 |  | 
 | &can2 { | 
 | 	pinctrl-names = "default"; | 
 | 	pinctrl-0 = <&pinctrl_flexcan2>; | 
 | 	xceiver-supply = <®_can_stby>; | 
 | 	status = "okay"; | 
 | }; | 
 |  | 
 | &gpmi { | 
 | 	pinctrl-names = "default"; | 
 | 	pinctrl-0 = <&pinctrl_gpmi_nand>; | 
 | 	status = "okay"; | 
 | }; | 
 |  | 
 | &hdmi { | 
 | 	pinctrl-names = "default"; | 
 | 	pinctrl-0 = <&pinctrl_hdmi_cec>; | 
 | 	ddc-i2c-bus = <&i2c2>; | 
 | 	status = "okay"; | 
 | }; | 
 |  | 
 | &i2c2 { | 
 | 	clock-frequency = <100000>; | 
 | 	pinctrl-names = "default"; | 
 | 	pinctrl-0 = <&pinctrl_i2c2>; | 
 | 	status = "okay"; | 
 |  | 
 | 	pmic: pfuze100@8 { | 
 | 		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>; | 
 | 			}; | 
 |  | 
 | 			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; | 
 | 			}; | 
 | 		}; | 
 | 	}; | 
 |  | 
 | 	codec: cs42888@48 { | 
 | 		compatible = "cirrus,cs42888"; | 
 | 		reg = <0x48>; | 
 | 		clocks = <&codec_osc>; | 
 | 		clock-names = "mclk"; | 
 | 		VA-supply = <®_audio>; | 
 | 		VD-supply = <®_audio>; | 
 | 		VLS-supply = <®_audio>; | 
 | 		VLC-supply = <®_audio>; | 
 | 	}; | 
 |  | 
 | 	touchscreen@4 { | 
 | 		compatible = "eeti,egalax_ts"; | 
 | 		reg = <0x04>; | 
 | 		pinctrl-names = "default"; | 
 | 		pinctrl-0 = <&pinctrl_egalax_int>; | 
 | 		interrupt-parent = <&gpio2>; | 
 | 		interrupts = <28 IRQ_TYPE_EDGE_FALLING>; | 
 | 		wakeup-gpios = <&gpio2 28 GPIO_ACTIVE_HIGH>; | 
 | 	}; | 
 | }; | 
 |  | 
 | &i2c3 { | 
 | 	pinctrl-names = "default"; | 
 | 	pinctrl-0 = <&pinctrl_i2c3>; | 
 | 	status = "okay"; | 
 | }; | 
 |  | 
 | &iomuxc { | 
 | 	pinctrl-names = "default"; | 
 | 	pinctrl-0 = <&pinctrl_hog>; | 
 |  | 
 | 	imx6qdl-sabreauto { | 
 | 		pinctrl_hog: hoggrp { | 
 | 			fsl,pins = < | 
 | 				MX6QDL_PAD_NANDF_CS2__GPIO6_IO15 0x80000000 | 
 | 				MX6QDL_PAD_SD2_DAT2__GPIO1_IO13  0x80000000 | 
 | 				MX6QDL_PAD_GPIO_18__SD3_VSELECT 0x17059 | 
 | 			>; | 
 | 		}; | 
 |  | 
 | 		pinctrl_ecspi1: ecspi1grp { | 
 | 			fsl,pins = < | 
 | 				MX6QDL_PAD_EIM_D17__ECSPI1_MISO		0x100b1 | 
 | 				MX6QDL_PAD_EIM_D18__ECSPI1_MOSI		0x100b1 | 
 | 				MX6QDL_PAD_EIM_D16__ECSPI1_SCLK		0x100b1 | 
 | 			>; | 
 | 		}; | 
 |  | 
 | 		pinctrl_ecspi1_cs: ecspi1cs { | 
 | 			fsl,pins = < | 
 | 				MX6QDL_PAD_EIM_D19__GPIO3_IO19 0x80000000 | 
 | 			>; | 
 | 		}; | 
 |  | 
 | 		pinctrl_egalax_int: egalax-intgrp { | 
 | 			fsl,pins = < | 
 | 				MX6QDL_PAD_EIM_EB0__GPIO2_IO28		0xb0b1 | 
 | 			>; | 
 | 		}; | 
 |  | 
 | 		pinctrl_enet: enetgrp { | 
 | 			fsl,pins = < | 
 | 				MX6QDL_PAD_KEY_COL1__ENET_MDIO		0x1b0b0 | 
 | 				MX6QDL_PAD_KEY_COL2__ENET_MDC		0x1b0b0 | 
 | 				MX6QDL_PAD_RGMII_TXC__RGMII_TXC		0x1b030 | 
 | 				MX6QDL_PAD_RGMII_TD0__RGMII_TD0		0x1b030 | 
 | 				MX6QDL_PAD_RGMII_TD1__RGMII_TD1		0x1b030 | 
 | 				MX6QDL_PAD_RGMII_TD2__RGMII_TD2		0x1b030 | 
 | 				MX6QDL_PAD_RGMII_TD3__RGMII_TD3		0x1b030 | 
 | 				MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL	0x1b030 | 
 | 				MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK	0x1b0b0 | 
 | 				MX6QDL_PAD_RGMII_RXC__RGMII_RXC		0x1b030 | 
 | 				MX6QDL_PAD_RGMII_RD0__RGMII_RD0		0x1b030 | 
 | 				MX6QDL_PAD_RGMII_RD1__RGMII_RD1		0x1b030 | 
 | 				MX6QDL_PAD_RGMII_RD2__RGMII_RD2		0x1b030 | 
 | 				MX6QDL_PAD_RGMII_RD3__RGMII_RD3		0x1b030 | 
 | 				MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL	0x1b030 | 
 | 				MX6QDL_PAD_GPIO_6__ENET_IRQ		0x000b1 | 
 | 			>; | 
 | 		}; | 
 |  | 
 | 		pinctrl_esai: esaigrp { | 
 | 			fsl,pins = < | 
 | 				MX6QDL_PAD_ENET_CRS_DV__ESAI_TX_CLK 0x1b030 | 
 | 				MX6QDL_PAD_ENET_RXD1__ESAI_TX_FS    0x1b030 | 
 | 				MX6QDL_PAD_ENET_TX_EN__ESAI_TX3_RX2 0x1b030 | 
 | 				MX6QDL_PAD_GPIO_5__ESAI_TX2_RX3     0x1b030 | 
 | 				MX6QDL_PAD_ENET_TXD0__ESAI_TX4_RX1  0x1b030 | 
 | 				MX6QDL_PAD_ENET_MDC__ESAI_TX5_RX0   0x1b030 | 
 | 				MX6QDL_PAD_GPIO_17__ESAI_TX0        0x1b030 | 
 | 				MX6QDL_PAD_NANDF_CS3__ESAI_TX1      0x1b030 | 
 | 				MX6QDL_PAD_ENET_MDIO__ESAI_RX_CLK   0x1b030 | 
 | 				MX6QDL_PAD_GPIO_9__ESAI_RX_FS       0x1b030 | 
 | 			>; | 
 | 		}; | 
 |  | 
 | 		pinctrl_flexcan1: flexcan1grp { | 
 | 			fsl,pins = < | 
 | 				MX6QDL_PAD_KEY_ROW2__FLEXCAN1_RX        0x17059 | 
 | 				MX6QDL_PAD_KEY_COL2__FLEXCAN1_TX	0x17059 | 
 | 			>; | 
 | 		}; | 
 |  | 
 | 		pinctrl_flexcan2: flexcan2grp { | 
 | 			fsl,pins = < | 
 | 				MX6QDL_PAD_KEY_COL4__FLEXCAN2_TX	0x17059 | 
 | 				MX6QDL_PAD_KEY_ROW4__FLEXCAN2_RX	0x17059 | 
 | 			>; | 
 | 		}; | 
 |  | 
 | 		pinctrl_gpio_keys: gpiokeysgrp { | 
 | 			fsl,pins = < | 
 | 				MX6QDL_PAD_SD2_CMD__GPIO1_IO11		0x1b0b0 | 
 | 				MX6QDL_PAD_SD2_DAT3__GPIO1_IO12		0x1b0b0 | 
 | 				MX6QDL_PAD_SD4_DAT4__GPIO2_IO12		0x1b0b0 | 
 | 				MX6QDL_PAD_SD4_DAT7__GPIO2_IO15		0x1b0b0 | 
 | 				MX6QDL_PAD_DISP0_DAT20__GPIO5_IO14	0x1b0b0 | 
 | 			>; | 
 | 		}; | 
 |  | 
 | 		pinctrl_gpio_leds: gpioledsgrp { | 
 | 			fsl,pins = < | 
 | 				MX6QDL_PAD_DISP0_DAT21__GPIO5_IO15	0x80000000 | 
 | 			>; | 
 | 		}; | 
 |  | 
 | 		pinctrl_gpmi_nand: gpminandgrp { | 
 | 			fsl,pins = < | 
 | 				MX6QDL_PAD_NANDF_CLE__NAND_CLE		0xb0b1 | 
 | 				MX6QDL_PAD_NANDF_ALE__NAND_ALE		0xb0b1 | 
 | 				MX6QDL_PAD_NANDF_WP_B__NAND_WP_B	0xb0b1 | 
 | 				MX6QDL_PAD_NANDF_RB0__NAND_READY_B	0xb000 | 
 | 				MX6QDL_PAD_NANDF_CS0__NAND_CE0_B	0xb0b1 | 
 | 				MX6QDL_PAD_NANDF_CS1__NAND_CE1_B	0xb0b1 | 
 | 				MX6QDL_PAD_SD4_CMD__NAND_RE_B		0xb0b1 | 
 | 				MX6QDL_PAD_SD4_CLK__NAND_WE_B		0xb0b1 | 
 | 				MX6QDL_PAD_NANDF_D0__NAND_DATA00	0xb0b1 | 
 | 				MX6QDL_PAD_NANDF_D1__NAND_DATA01	0xb0b1 | 
 | 				MX6QDL_PAD_NANDF_D2__NAND_DATA02	0xb0b1 | 
 | 				MX6QDL_PAD_NANDF_D3__NAND_DATA03	0xb0b1 | 
 | 				MX6QDL_PAD_NANDF_D4__NAND_DATA04	0xb0b1 | 
 | 				MX6QDL_PAD_NANDF_D5__NAND_DATA05	0xb0b1 | 
 | 				MX6QDL_PAD_NANDF_D6__NAND_DATA06	0xb0b1 | 
 | 				MX6QDL_PAD_NANDF_D7__NAND_DATA07	0xb0b1 | 
 | 				MX6QDL_PAD_SD4_DAT0__NAND_DQS		0x00b1 | 
 | 			>; | 
 | 		}; | 
 |  | 
 | 		pinctrl_hdmi_cec: hdmicecgrp { | 
 | 			fsl,pins = < | 
 | 				MX6QDL_PAD_EIM_A25__HDMI_TX_CEC_LINE	0x1f8b0 | 
 | 			>; | 
 | 		}; | 
 |  | 
 | 		pinctrl_i2c2: i2c2grp { | 
 | 			fsl,pins = < | 
 | 				MX6QDL_PAD_EIM_EB2__I2C2_SCL	0x4001b8b1 | 
 | 				MX6QDL_PAD_KEY_ROW3__I2C2_SDA	0x4001b8b1 | 
 | 			>; | 
 | 		}; | 
 |  | 
 | 		pinctrl_i2c3: i2c3grp { | 
 | 			fsl,pins = < | 
 | 				MX6QDL_PAD_GPIO_3__I2C3_SCL  0x4001b8b1 | 
 | 				MX6QDL_PAD_EIM_D18__I2C3_SDA 0x4001b8b1 | 
 | 			>; | 
 | 		}; | 
 |  | 
 | 		pinctrl_i2c3mux: i2c3muxgrp { | 
 | 			fsl,pins = < | 
 | 				MX6QDL_PAD_EIM_A24__GPIO5_IO04 0x0b0b1 | 
 | 			>; | 
 | 		}; | 
 |  | 
 | 		pinctrl_ipu1_csi0: ipu1csi0grp { | 
 | 			fsl,pins = < | 
 | 				MX6QDL_PAD_CSI0_DAT12__IPU1_CSI0_DATA12  0x1b0b0 | 
 | 				MX6QDL_PAD_CSI0_DAT13__IPU1_CSI0_DATA13  0x1b0b0 | 
 | 				MX6QDL_PAD_CSI0_DAT14__IPU1_CSI0_DATA14  0x1b0b0 | 
 | 				MX6QDL_PAD_CSI0_DAT15__IPU1_CSI0_DATA15  0x1b0b0 | 
 | 				MX6QDL_PAD_CSI0_DAT16__IPU1_CSI0_DATA16  0x1b0b0 | 
 | 				MX6QDL_PAD_CSI0_DAT17__IPU1_CSI0_DATA17  0x1b0b0 | 
 | 				MX6QDL_PAD_CSI0_DAT18__IPU1_CSI0_DATA18  0x1b0b0 | 
 | 				MX6QDL_PAD_CSI0_DAT19__IPU1_CSI0_DATA19  0x1b0b0 | 
 | 				MX6QDL_PAD_CSI0_PIXCLK__IPU1_CSI0_PIXCLK 0x1b0b0 | 
 | 				MX6QDL_PAD_CSI0_MCLK__IPU1_CSI0_HSYNC    0x1b0b0 | 
 | 				MX6QDL_PAD_CSI0_VSYNC__IPU1_CSI0_VSYNC   0x1b0b0 | 
 | 			>; | 
 | 		}; | 
 |  | 
 | 		pinctrl_max7310: max7310grp { | 
 | 			fsl,pins = < | 
 | 				MX6QDL_PAD_SD2_DAT0__GPIO1_IO15 0x1b0b0 | 
 | 			>; | 
 | 		}; | 
 |  | 
 | 		pinctrl_mma8451_int: mma8451intgrp { | 
 | 			fsl,pins = < | 
 | 				MX6QDL_PAD_EIM_BCLK__GPIO6_IO31		0xb0b1 | 
 | 			>; | 
 | 		}; | 
 |  | 
 | 		pinctrl_pwm3: pwm1grp { | 
 | 			fsl,pins = < | 
 | 				MX6QDL_PAD_SD4_DAT1__PWM3_OUT		0x1b0b1 | 
 | 			>; | 
 | 		}; | 
 |  | 
 | 		pinctrl_gpt_input_capture0: gptinputcapture0grp { | 
 | 			fsl,pins = < | 
 | 				MX6QDL_PAD_SD1_DAT0__GPT_CAPTURE1	0x1b0b0 | 
 | 			>; | 
 | 		}; | 
 |  | 
 | 		pinctrl_gpt_input_capture1: gptinputcapture1grp { | 
 | 			fsl,pins = < | 
 | 				MX6QDL_PAD_SD1_DAT1__GPT_CAPTURE2	0x1b0b0 | 
 | 			>; | 
 | 		}; | 
 |  | 
 | 		pinctrl_spdif: spdifgrp { | 
 | 			fsl,pins = < | 
 | 				MX6QDL_PAD_KEY_COL3__SPDIF_IN 0x1b0b0 | 
 | 			>; | 
 | 		}; | 
 |  | 
 | 		pinctrl_uart4: uart4grp { | 
 | 			fsl,pins = < | 
 | 				MX6QDL_PAD_KEY_COL0__UART4_TX_DATA	0x1b0b1 | 
 | 				MX6QDL_PAD_KEY_ROW0__UART4_RX_DATA	0x1b0b1 | 
 | 			>; | 
 | 		}; | 
 |  | 
 | 		pinctrl_usbotg: usbotggrp { | 
 | 			fsl,pins = < | 
 | 				MX6QDL_PAD_ENET_RX_ER__USB_OTG_ID 0x17059 | 
 | 			>; | 
 | 		}; | 
 |  | 
 | 		pinctrl_usdhc3: usdhc3grp { | 
 | 			fsl,pins = < | 
 | 				MX6QDL_PAD_SD3_CMD__SD3_CMD		0x17059 | 
 | 				MX6QDL_PAD_SD3_CLK__SD3_CLK		0x10059 | 
 | 				MX6QDL_PAD_SD3_DAT0__SD3_DATA0		0x17059 | 
 | 				MX6QDL_PAD_SD3_DAT1__SD3_DATA1		0x17059 | 
 | 				MX6QDL_PAD_SD3_DAT2__SD3_DATA2		0x17059 | 
 | 				MX6QDL_PAD_SD3_DAT3__SD3_DATA3		0x17059 | 
 | 				MX6QDL_PAD_SD3_DAT4__SD3_DATA4		0x17059 | 
 | 				MX6QDL_PAD_SD3_DAT5__SD3_DATA5		0x17059 | 
 | 				MX6QDL_PAD_SD3_DAT6__SD3_DATA6		0x17059 | 
 | 				MX6QDL_PAD_SD3_DAT7__SD3_DATA7		0x17059 | 
 | 			>; | 
 | 		}; | 
 |  | 
 | 		pinctrl_usdhc3_100mhz: usdhc3grp100mhz { | 
 | 			fsl,pins = < | 
 | 				MX6QDL_PAD_SD3_CMD__SD3_CMD		0x170b9 | 
 | 				MX6QDL_PAD_SD3_CLK__SD3_CLK		0x100b9 | 
 | 				MX6QDL_PAD_SD3_DAT0__SD3_DATA0		0x170b9 | 
 | 				MX6QDL_PAD_SD3_DAT1__SD3_DATA1		0x170b9 | 
 | 				MX6QDL_PAD_SD3_DAT2__SD3_DATA2		0x170b9 | 
 | 				MX6QDL_PAD_SD3_DAT3__SD3_DATA3		0x170b9 | 
 | 				MX6QDL_PAD_SD3_DAT4__SD3_DATA4		0x170b9 | 
 | 				MX6QDL_PAD_SD3_DAT5__SD3_DATA5		0x170b9 | 
 | 				MX6QDL_PAD_SD3_DAT6__SD3_DATA6		0x170b9 | 
 | 				MX6QDL_PAD_SD3_DAT7__SD3_DATA7		0x170b9 | 
 | 			>; | 
 | 		}; | 
 |  | 
 | 		pinctrl_usdhc3_200mhz: usdhc3grp200mhz { | 
 | 			fsl,pins = < | 
 | 				MX6QDL_PAD_SD3_CMD__SD3_CMD		0x170f9 | 
 | 				MX6QDL_PAD_SD3_CLK__SD3_CLK		0x100f9 | 
 | 				MX6QDL_PAD_SD3_DAT0__SD3_DATA0		0x170f9 | 
 | 				MX6QDL_PAD_SD3_DAT1__SD3_DATA1		0x170f9 | 
 | 				MX6QDL_PAD_SD3_DAT2__SD3_DATA2		0x170f9 | 
 | 				MX6QDL_PAD_SD3_DAT3__SD3_DATA3		0x170f9 | 
 | 				MX6QDL_PAD_SD3_DAT4__SD3_DATA4		0x170f9 | 
 | 				MX6QDL_PAD_SD3_DAT5__SD3_DATA5		0x170f9 | 
 | 				MX6QDL_PAD_SD3_DAT6__SD3_DATA6		0x170f9 | 
 | 				MX6QDL_PAD_SD3_DAT7__SD3_DATA7		0x170f9 | 
 | 			>; | 
 | 		}; | 
 |  | 
 | 		pinctrl_weim_cs0: weimcs0grp { | 
 | 			fsl,pins = < | 
 | 				MX6QDL_PAD_EIM_CS0__EIM_CS0_B		0xb0b1 | 
 | 			>; | 
 | 		}; | 
 |  | 
 | 		pinctrl_weim_nor: weimnorgrp { | 
 | 			fsl,pins = < | 
 | 				MX6QDL_PAD_EIM_OE__EIM_OE_B		0xb0b1 | 
 | 				MX6QDL_PAD_EIM_RW__EIM_RW		0xb0b1 | 
 | 				MX6QDL_PAD_EIM_WAIT__EIM_WAIT_B		0xb060 | 
 | 				MX6QDL_PAD_EIM_D16__EIM_DATA16		0x1b0b0 | 
 | 				MX6QDL_PAD_EIM_D17__EIM_DATA17		0x1b0b0 | 
 | 				MX6QDL_PAD_EIM_D18__EIM_DATA18		0x1b0b0 | 
 | 				MX6QDL_PAD_EIM_D19__EIM_DATA19		0x1b0b0 | 
 | 				MX6QDL_PAD_EIM_D20__EIM_DATA20		0x1b0b0 | 
 | 				MX6QDL_PAD_EIM_D21__EIM_DATA21		0x1b0b0 | 
 | 				MX6QDL_PAD_EIM_D22__EIM_DATA22		0x1b0b0 | 
 | 				MX6QDL_PAD_EIM_D23__EIM_DATA23		0x1b0b0 | 
 | 				MX6QDL_PAD_EIM_D24__EIM_DATA24		0x1b0b0 | 
 | 				MX6QDL_PAD_EIM_D25__EIM_DATA25		0x1b0b0 | 
 | 				MX6QDL_PAD_EIM_D26__EIM_DATA26		0x1b0b0 | 
 | 				MX6QDL_PAD_EIM_D27__EIM_DATA27		0x1b0b0 | 
 | 				MX6QDL_PAD_EIM_D28__EIM_DATA28		0x1b0b0 | 
 | 				MX6QDL_PAD_EIM_D29__EIM_DATA29		0x1b0b0 | 
 | 				MX6QDL_PAD_EIM_D30__EIM_DATA30		0x1b0b0 | 
 | 				MX6QDL_PAD_EIM_D31__EIM_DATA31		0x1b0b0 | 
 | 				MX6QDL_PAD_EIM_A23__EIM_ADDR23		0xb0b1 | 
 | 				MX6QDL_PAD_EIM_A22__EIM_ADDR22		0xb0b1 | 
 | 				MX6QDL_PAD_EIM_A21__EIM_ADDR21		0xb0b1 | 
 | 				MX6QDL_PAD_EIM_A20__EIM_ADDR20		0xb0b1 | 
 | 				MX6QDL_PAD_EIM_A19__EIM_ADDR19		0xb0b1 | 
 | 				MX6QDL_PAD_EIM_A18__EIM_ADDR18		0xb0b1 | 
 | 				MX6QDL_PAD_EIM_A17__EIM_ADDR17		0xb0b1 | 
 | 				MX6QDL_PAD_EIM_A16__EIM_ADDR16		0xb0b1 | 
 | 				MX6QDL_PAD_EIM_DA15__EIM_AD15		0xb0b1 | 
 | 				MX6QDL_PAD_EIM_DA14__EIM_AD14		0xb0b1 | 
 | 				MX6QDL_PAD_EIM_DA13__EIM_AD13		0xb0b1 | 
 | 				MX6QDL_PAD_EIM_DA12__EIM_AD12		0xb0b1 | 
 | 				MX6QDL_PAD_EIM_DA11__EIM_AD11		0xb0b1 | 
 | 				MX6QDL_PAD_EIM_DA10__EIM_AD10		0xb0b1 | 
 | 				MX6QDL_PAD_EIM_DA9__EIM_AD09		0xb0b1 | 
 | 				MX6QDL_PAD_EIM_DA8__EIM_AD08		0xb0b1 | 
 | 				MX6QDL_PAD_EIM_DA7__EIM_AD07		0xb0b1 | 
 | 				MX6QDL_PAD_EIM_DA6__EIM_AD06		0xb0b1 | 
 | 				MX6QDL_PAD_EIM_DA5__EIM_AD05		0xb0b1 | 
 | 				MX6QDL_PAD_EIM_DA4__EIM_AD04		0xb0b1 | 
 | 				MX6QDL_PAD_EIM_DA3__EIM_AD03		0xb0b1 | 
 | 				MX6QDL_PAD_EIM_DA2__EIM_AD02		0xb0b1 | 
 | 				MX6QDL_PAD_EIM_DA1__EIM_AD01		0xb0b1 | 
 | 				MX6QDL_PAD_EIM_DA0__EIM_AD00		0xb0b1 | 
 | 			>; | 
 | 		}; | 
 | 	}; | 
 | }; | 
 |  | 
 | &ldb { | 
 | 	status = "okay"; | 
 |  | 
 | 	lvds-channel@0 { | 
 | 		fsl,data-mapping = "spwg"; | 
 | 		fsl,data-width = <18>; | 
 | 		status = "okay"; | 
 |  | 
 | 		display-timings { | 
 | 			native-mode = <&timing0>; | 
 | 			timing0: hsd100pxn1 { | 
 | 				clock-frequency = <65000000>; | 
 | 				hactive = <1024>; | 
 | 				vactive = <768>; | 
 | 				hback-porch = <220>; | 
 | 				hfront-porch = <40>; | 
 | 				vback-porch = <21>; | 
 | 				vfront-porch = <7>; | 
 | 				hsync-len = <60>; | 
 | 				vsync-len = <10>; | 
 | 			}; | 
 | 		}; | 
 | 	}; | 
 | }; | 
 |  | 
 | &pwm3 { | 
 | 	#pwm-cells = <2>; | 
 | 	pinctrl-names = "default"; | 
 | 	pinctrl-0 = <&pinctrl_pwm3>; | 
 | 	status = "okay"; | 
 | }; | 
 |  | 
 | &pcie { | 
 | 	status = "okay"; | 
 | }; | 
 |  | 
 | &spdif { | 
 | 	pinctrl-names = "default"; | 
 | 	pinctrl-0 = <&pinctrl_spdif>; | 
 | 	status = "okay"; | 
 | }; | 
 |  | 
 | &uart4 { | 
 | 	pinctrl-names = "default"; | 
 | 	pinctrl-0 = <&pinctrl_uart4>; | 
 | 	status = "okay"; | 
 | }; | 
 |  | 
 | &usbh1 { | 
 | 	vbus-supply = <®_usb_h1_vbus>; | 
 | 	status = "okay"; | 
 | }; | 
 |  | 
 | &usbotg { | 
 | 	vbus-supply = <®_usb_otg_vbus>; | 
 | 	pinctrl-names = "default"; | 
 | 	pinctrl-0 = <&pinctrl_usbotg>; | 
 | 	status = "okay"; | 
 | }; | 
 |  | 
 | &usdhc3 { | 
 | 	pinctrl-names = "default", "state_100mhz", "state_200mhz"; | 
 | 	pinctrl-0 = <&pinctrl_usdhc3>; | 
 | 	pinctrl-1 = <&pinctrl_usdhc3_100mhz>; | 
 | 	pinctrl-2 = <&pinctrl_usdhc3_200mhz>; | 
 | 	cd-gpios = <&gpio6 15 GPIO_ACTIVE_LOW>; | 
 | 	wp-gpios = <&gpio1 13 GPIO_ACTIVE_HIGH>; | 
 | 	status = "okay"; | 
 | }; | 
 |  | 
 | &weim { | 
 | 	pinctrl-names = "default"; | 
 | 	pinctrl-0 = <&pinctrl_weim_nor &pinctrl_weim_cs0>; | 
 | 	ranges = <0 0 0x08000000 0x08000000>; | 
 | 	status = "disabled"; /* pin conflict with SPI NOR */ | 
 |  | 
 | 	nor@0,0 { | 
 | 		compatible = "cfi-flash"; | 
 | 		reg = <0 0 0x02000000>; | 
 | 		#address-cells = <1>; | 
 | 		#size-cells = <1>; | 
 | 		bank-width = <2>; | 
 | 		fsl,weim-cs-timing = <0x00620081 0x00000001 0x1c022000 | 
 | 				0x0000c000 0x1404a38e 0x00000000>; | 
 | 	}; | 
 | }; |