Re: Fwd: Barebox 2017.02 works great but no Linux Framebuffer... :-/

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello Lucas, Sascha and the barebox mailing list guys!

I am back with the new boards batch release (now QuadPlus and DualLite iMX6)

Now I adapted barebox to fit both processors and it works quite well.

From Barebox point-of-view the ldb node of the device-tree is using three timings and they are working good depending on which panel bridge board I am connecting to (1280x800, 1024x600 and 800x480).

The custom startup code of barebox is looking for a special eeprom on the panel-bridge and set the device tree accordingly, i.e. setting the native-mode node to the correct display-timing.

The same device-tree is used in Linux (as in attachment) as you can see the ldb section and the panel section, using a simple-panel and a correct panel timing using the innolux,g101ice_l01 panel driver timings.


No, Linux does not support DT defined modes in the panel. You need a
panel with a proper compatible and driver.

See drivers/gpu/drm/panel. For most LVDS panels simple-panel is what you
want to use.


They are ignored in the Barebox starup (as you know barebox can use the display-timings in the ldb section) but the panel section is used in linux.

Nevertheless it does not work.

The panel phandle is correctly set and the ldb is pointing with the fsl,panel node to it. (as used in the imx6q-b650v3.dts in the kernel dts file)

	panel-lvds0 {
		compatible = "innolux,g121x1-l03";
		backlight = <&backlight_lvds>;
		power-supply = <&reg_lvds>;

		port {
			panel_in_lvds0: endpoint {
				remote-endpoint = <&lvds0_out>;
			};
		};
	};

&ldb {
	status = "okay";

	lvds0: lvds-channel@0 {
		fsl,data-mapping = "spwg";
		fsl,data-width = <24>;
		status = "okay";

		port@4 {
			reg = <4>;

			lvds0_out: endpoint {
				remote-endpoint = <&panel_in_lvds0>;
			};
		};
	};
};


I do not see any difference, apart the display-timings in the ldb section.

In my dts file:

	panel: panel {
		compatible = "innolux,g101ice_l01", "simple-panel";
		backlight = <&backlight_lvds>;
		status = "okay";
		port {
			in_lvds0: endpoint {
				remote-endpoint = <&lvds0_out>;
			};
		};
	};


&ldb {
	#address-cells = <1>;
	#size-cells = <0>;
	status = "okay";

	lvds0: lvds-channel@0 {
		fsl,data-mapping = "spwg";
		fsl,data-width = <24>;
		fsl,panel = <&panel>;
		status = "okay";

		display-timings {
			native-mode = <&am1024600l>;
			ph800480t013: ph800480t013 {
				clock-frequency = <33300000>;
				hactive = <800>;
				vactive = <480>;
				hback-porch = <46>;
				hfront-porch = <210>;
				vback-porch = <23>;
				vfront-porch = <22>;
				hsync-len = <1>;
				vsync-len = <1>;
				hsync-active = <0>;
				vsync-active = <0>;
				de-active = <1>;
				pixelclk-active = <0>;
			};
			am1024600l: am1024600l {
				clock-frequency = <51200000>;
				hactive = <1024>;
				vactive = <600>;
				hback-porch = <0>;
				hfront-porch = <320>;
				vback-porch = <0>;
				vfront-porch = <35>;
				hsync-len = <1>;
				vsync-len = <1>;
				hsync-active = <0>;
				vsync-active = <0>;
				de-active = <1>;
				pixelclk-active = <0>;
			};
			am128080n3tz: am1280800n3tz {
				clock-frequency = <71000000>;
				hactive = <1280>;
				vactive = <800>;
				hback-porch = <50>;
				hfront-porch = <50>;
				vback-porch = <5>;
				vfront-porch = <5>;
				hsync-len = <60>;
				vsync-len = <13>;
				hsync-active = <0>;
				vsync-active = <0>;
				de-active = <1>;
				pixelclk-active = <0>;
			};
		};

		port@4 {
			reg = <4>;
			lvds0_out: endpoint {
				remote-endpoint = <&in_lvds0>;
			};
		};

	};
};

Can you figure out why?


--
Eurek s.r.l.                          |
Electronic Engineering                | http://www.eurek.it
via Celletta 8/B, 40026 Imola, Italy  | Phone: +39-(0)542-609120
p.iva 00690621206 - c.f. 04020030377  | Fax:   +39-(0)542-609212
/dts-v1/;

/ {
	compatible = "eurek,ek360", "fsl,imx6dl";
	model = "Eurek EK360 i.MX6DL";
	#address-cells = <0x1>;
	#size-cells = <0x1>;

	gpu-subsystem {
		compatible = "fsl,imx-gpu-subsystem";
		cores = <0x44 0x45>;
	};

	clocks {
		#address-cells = <0x1>;
		#size-cells = <0x0>;

		osc {
			compatible = "fsl,imx-osc", "fixed-clock";
			#clock-cells = <0x0>;
			clock-frequency = <0x16e3600>;
		};

		ckih1 {
			compatible = "fsl,imx-ckih1", "fixed-clock";
			#clock-cells = <0x0>;
			clock-frequency = <0x0>;
		};

		ckil {
			compatible = "fsl,imx-ckil", "fixed-clock";
			#clock-cells = <0x0>;
			clock-frequency = <0x8000>;
		};
	};

	display-subsystem {
		compatible = "fsl,imx-display-subsystem";
		ports = <0x42 0x43>;
	};

	backlight-lvds {
		compatible = "pwm-backlight";
		default-brightness-level = <0x6>;
		brightness-levels = <0x0 0x4 0x8 0x10 0x20 0x40 0x80 0xff>;
		status = "okay";
		phandle = <0x4c>;
		pinctrl-0 = <0x48>;
		pwms = <0x49 0x0 0x65b9aa>;
		linux,phandle = <0x4c>;
		power-supply = <0x24>;
		pinctrl-names = "default";
	};

	soc {
		compatible = "simple-bus";
		ranges;
		interrupt-parent = <0x1>;
		#address-cells = <0x1>;
		#size-cells = <0x1>;

		sram@00900000 {
			compatible = "mmio-sram";
			clocks = <0x2 0x8e>;
			phandle = <0xc>;
			reg = <0x900000 0x20000>;
			linux,phandle = <0xc>;
		};

		gpu@00130000 {
			power-domains = <0x1 0x1>;
			compatible = "vivante,gc";
			clocks = <0x2 0x1b 0x2 0x7a 0x2 0x4a>;
			clock-names = "bus", "core", "shader";
			interrupts = <0x0 0x9 0x4>;
			phandle = <0x45>;
			reg = <0x130000 0x4000>;
			linux,phandle = <0x45>;
		};

		timer@00a00600 {
			compatible = "arm,cortex-a9-twd-timer";
			clocks = <0x2 0xf>;
			interrupt-parent = <0x8>;
			interrupts = <0x1 0xd 0xf01>;
			reg = <0xa00600 0x20>;
		};

		dma-apbh@00110000 {
			#dma-cells = <0x1>;
			compatible = "fsl,imx6q-dma-apbh", "fsl,imx28-dma-apbh";
			clocks = <0x2 0x6a>;
			dma-channels = <0x4>;
			interrupts = <0x0 0xd 0x4 0x0 0xd 0x4 0x0 0xd 0x4 0x0 0xd 0x4>;
			phandle = <0x3>;
			reg = <0x110000 0x2000>;
			linux,phandle = <0x3>;
			interrupt-names = "gpmi0", "gpmi1", "gpmi2", "gpmi3";
		};

		pcie@0x01000000 {
			compatible = "fsl,imx6q-pcie", "snps,dw-pcie";
			clocks = <0x2 0x90 0x2 0xce 0x2 0xbd>;
			reg-names = "dbi", "config";
			device_type = "pci";
			num-lanes = <0x1>;
			clock-names = "pcie", "pcie_bus", "pcie_phy";
			interrupt-map-mask = <0x0 0x0 0x0 0x7>;
			ranges = <0x81000000 0x0 0x0 0x1f80000 0x0 0x10000 0x82000000 0x0 0x1000000 0x1000000 0x0 0xf00000>;
			status = "disabled";
			#interrupt-cells = <0x1>;
			#address-cells = <0x3>;
			interrupts = <0x0 0x78 0x4>;
			interrupt-map = <0x0 0x0 0x0 0x1 0x1 0x0 0x7b 0x4 0x0 0x0 0x0 0x2 0x1 0x0 0x7a 0x4 0x0 0x0 0x0 0x3 0x1 0x0 0x79 0x4 0x0 0x0 0x0 0x4 0x1 0x0 0x78 0x4>;
			#size-cells = <0x2>;
			reg = <0x1ffc000 0x4000 0x1f00000 0x80000>;
			interrupt-names = "msi";
		};

		aips-bus@02100000 {
			compatible = "fsl,aips-bus", "simple-bus";
			ranges;
			#address-cells = <0x1>;
			#size-cells = <0x1>;
			reg = <0x2100000 0x100000>;

			i2c@021a8000 {
				compatible = "fsl,imx6q-i2c", "fsl,imx21-i2c";
				clocks = <0x2 0x7f>;
				status = "okay";
				#address-cells = <0x1>;
				interrupts = <0x0 0x26 0x4>;
				#size-cells = <0x0>;
				reg = <0x21a8000 0x4000>;
				clock-frequency = <0x186a0>;
				pinctrl-0 = <0x31>;
				pinctrl-names = "default";
			};

			usbmisc@02184800 {
				compatible = "fsl,imx6q-usbmisc";
				clocks = <0x2 0xa2>;
				#index-cells = <0x1>;
				phandle = <0x1c>;
				reg = <0x2184800 0x200>;
				linux,phandle = <0x1c>;
			};

			mlb@0218c000 {
				interrupts = <0x0 0x35 0x4 0x0 0x75 0x4 0x0 0x7e 0x4>;
				reg = <0x218c000 0x4000>;
			};

			mmdc@021b4000 {
				reg = <0x21b4000 0x4000>;
			};

			usdhc@02190000 {
				compatible = "fsl,imx6q-usdhc";
				clocks = <0x2 0xa3 0x2 0xa3 0x2 0xa3>;
				clock-names = "ipg", "ahb", "per";
				status = "disabled";
				interrupts = <0x0 0x16 0x4>;
				bus-width = <0x4>;
				reg = <0x2190000 0x4000>;
			};

			usb@02184000 {
				vbus-supply = <0x1d>;
				compatible = "fsl,imx6q-usb", "fsl,imx27-usb";
				clocks = <0x2 0xa2>;
				fsl,usbmisc = <0x1c 0x0>;
				fsl,usbphy = <0x1b>;
				status = "okay";
				interrupts = <0x0 0x2b 0x4>;
				tx-burst-size-dword = <0x10>;
				ahb-burst-config = <0x0>;
				rx-burst-size-dword = <0x10>;
				reg = <0x2184000 0x200>;
				pinctrl-0 = <0x1e 0x1f>;
				dr_mode = "otg";
				pinctrl-names = "default";
			};

			mipi@021dc000 {
				reg = <0x21dc000 0x4000>;
			};

			ocotp@021bc000 {
				compatible = "fsl,imx6q-ocotp", "syscon";
				clocks = <0x2 0x80>;
				phandle = <0x11>;
				reg = <0x21bc000 0x4000>;
				linux,phandle = <0x11>;
			};

			weim@021b8000 {
				compatible = "fsl,imx6q-weim";
				clocks = <0x2 0xc4>;
				interrupts = <0x0 0xe 0x4>;
				reg = <0x21b8000 0x4000>;
			};

			i2c@021f8000 {
				compatible = "fsl,imx6q-i2c", "fsl,imx21-i2c";
				clocks = <0x2 0x74>;
				status = "disabled";
				#address-cells = <0x1>;
				interrupts = <0x0 0x23 0x4>;
				#size-cells = <0x0>;
				reg = <0x21f8000 0x4000>;
			};

			usb@02184600 {
				compatible = "fsl,imx6q-usb", "fsl,imx27-usb";
				clocks = <0x2 0xa2>;
				fsl,usbmisc = <0x1c 0x3>;
				status = "disabled";
				interrupts = <0x0 0x2a 0x4>;
				tx-burst-size-dword = <0x10>;
				ahb-burst-config = <0x0>;
				rx-burst-size-dword = <0x10>;
				reg = <0x2184600 0x200>;
				dr_mode = "host";
			};

			usdhc@02198000 {
				compatible = "fsl,imx6q-usdhc";
				clocks = <0x2 0xa5 0x2 0xa5 0x2 0xa5>;
				voltage-ranges = <0xce4 0xce4>;
				clock-names = "ipg", "ahb", "per";
				cd-gpios = <0x2a 0x0 0x1>;
				status = "okay";
				interrupts = <0x0 0x18 0x4>;
				no-1-8-v;
				bus-width = <0x4>;
				reg = <0x2198000 0x4000>;
				pinctrl-0 = <0x29>;
				vmmc-supply = <0x24>;
				vqmmc-supply = <0x24>;
				pinctrl-names = "default";
			};

			i2c@021a4000 {
				compatible = "fsl,imx6q-i2c", "fsl,imx21-i2c";
				clocks = <0x2 0x7e>;
				status = "okay";
				#address-cells = <0x1>;
				interrupts = <0x0 0x25 0x4>;
				#size-cells = <0x0>;
				phandle = <0x5>;
				reg = <0x21a4000 0x4000>;
				clock-frequency = <0x186a0>;
				pinctrl-0 = <0x30>;
				linux,phandle = <0x5>;
				pinctrl-names = "default";
			};

			caam@2100000 {
				compatible = "fsl,sec-v4.0";
				clocks = <0x2 0xf1 0x2 0xf2 0x2 0xf3 0x2 0xc4>;
				clock-names = "mem", "aclk", "ipg", "emi_slow";
				ranges = <0x0 0x2100000 0x10000>;
				#address-cells = <0x1>;
				#size-cells = <0x1>;
				reg = <0x2100000 0x10000>;
				fsl,sec-era = <0x4>;

				jr1@2000 {
					compatible = "fsl,sec-v4.0-job-ring";
					interrupts = <0x0 0x6a 0x4>;
					reg = <0x2000 0x1000>;
				};

				jr0@1000 {
					compatible = "fsl,sec-v4.0-job-ring";
					interrupts = <0x0 0x69 0x4>;
					reg = <0x1000 0x1000>;
				};
			};

			mmdc@021b0000 {
				compatible = "fsl,imx6q-mmdc";
				reg = <0x21b0000 0x4000>;
			};

			serial@021ec000 {
				compatible = "fsl,imx6q-uart", "fsl,imx21-uart";
				clocks = <0x2 0xa0 0x2 0xa1>;
				clock-names = "ipg", "per";
				status = "okay";
				interrupts = <0x0 0x1c 0x4>;
				dma-names = "rx", "tx";
				reg = <0x21ec000 0x4000>;
				pinctrl-0 = <0x36>;
				dmas = <0x9 0x1d 0x4 0x0 0x9 0x1e 0x4 0x0>;
				pinctrl-names = "default";
			};

			romcp@021ac000 {
				reg = <0x21ac000 0x4000>;
			};

			audmux@021d8000 {
				compatible = "fsl,imx6q-audmux", "fsl,imx31-audmux";
				status = "okay";
				reg = <0x21d8000 0x4000>;
				pinctrl-0 = <0x32>;
				pinctrl-names = "default";
			};

			tzasc@021d4000 {
				interrupts = <0x0 0x6d 0x4>;
				reg = <0x21d4000 0x4000>;
			};

			serial@021f4000 {
				compatible = "fsl,imx6q-uart", "fsl,imx21-uart";
				clocks = <0x2 0xa0 0x2 0xa1>;
				clock-names = "ipg", "per";
				status = "disabled";
				interrupts = <0x0 0x1e 0x4>;
				dma-names = "rx", "tx";
				reg = <0x21f4000 0x4000>;
				dmas = <0x9 0x21 0x4 0x0 0x9 0x22 0x4 0x0>;
			};

			usb@02184200 {
				vbus-supply = <0x21>;
				compatible = "fsl,imx6q-usb", "fsl,imx27-usb";
				clocks = <0x2 0xa2>;
				fsl,usbmisc = <0x1c 0x1>;
				fsl,usbphy = <0x20>;
				status = "okay";
				interrupts = <0x0 0x28 0x4>;
				tx-burst-size-dword = <0x10>;
				ahb-burst-config = <0x0>;
				rx-burst-size-dword = <0x10>;
				reg = <0x2184200 0x200>;
				pinctrl-0 = <0x22 0x23>;
				dr_mode = "host";
				pinctrl-names = "default";
			};

			vdoa@021e4000 {
				interrupts = <0x0 0x12 0x4>;
				reg = <0x21e4000 0x4000>;
			};

			mipi@021e0000 {
				status = "disabled";
				#address-cells = <0x1>;
				#size-cells = <0x0>;
				reg = <0x21e0000 0x4000>;

				ports {
					#address-cells = <0x1>;
					#size-cells = <0x0>;

					port@1 {
						reg = <0x1>;

						endpoint {
							remote-endpoint = <0x34>;
							phandle = <0x3c>;
							linux,phandle = <0x3c>;
						};
					};

					port@0 {
						reg = <0x0>;

						endpoint {
							remote-endpoint = <0x33>;
							phandle = <0x38>;
							linux,phandle = <0x38>;
						};
					};
				};
			};

			usdhc@02194000 {
				compatible = "fsl,imx6q-usdhc";
				clocks = <0x2 0xa4 0x2 0xa4 0x2 0xa4>;
				voltage-ranges = <0xce4 0xce4>;
				clock-names = "ipg", "ahb", "per";
				status = "okay";
				interrupts = <0x0 0x17 0x4>;
				no-1-8-v;
				bus-width = <0x4>;
				reg = <0x2194000 0x4000>;
				pinctrl-0 = <0x27>;
				vmmc-supply = <0x28>;
				non-removable;
				max-frequency = <0x17d7840>;
				vqmmc-supply = <0x24>;
				pinctrl-names = "default";
			};

			i2c@021a0000 {
				compatible = "fsl,imx6q-i2c", "fsl,imx21-i2c";
				clocks = <0x2 0x7d>;
				status = "okay";
				#address-cells = <0x1>;
				interrupts = <0x0 0x24 0x4>;
				#size-cells = <0x0>;
				reg = <0x21a0000 0x4000>;
				clock-frequency = <0x186a0>;
				pinctrl-0 = <0x2c>;
				pinctrl-names = "default";

				touchscreen@48 {
					compatible = "eurek,sx8656-ek";
					status = "okay";
					interrupt-parent = <0x2f>;
					interrupts = <0x11 0x2>;
					reg = <0x48>;
					pinctrl-0 = <0x2e>;
					pinctrl-names = "default";
				};

				at24@50 {
					compatible = "at24,24c64";
					status = "okay";
					pagesize = <0x40>;
					reg = <0x50>;
				};

				sgtl5000@0a {
					VDDIO-supply = <0x24>;
					compatible = "fsl,sgtl5000";
					clocks = <0x2 0xc9>;
					VDDA-supply = <0x24>;
					status = "okay";
					phandle = <0x4b>;
					reg = <0xa>;
					VDDD-supply = <0x2d>;
					linux,phandle = <0x4b>;
				};

				rtc@51 {
					compatible = "phg,pcf8563";
					status = "okay";
					reg = <0x51>;
				};
			};

			tzasc@021d0000 {
				interrupts = <0x0 0x6c 0x4>;
				reg = <0x21d0000 0x4000>;
			};

			serial@021f0000 {
				compatible = "fsl,imx6q-uart", "fsl,imx21-uart";
				clocks = <0x2 0xa0 0x2 0xa1>;
				clock-names = "ipg", "per";
				status = "disabled";
				interrupts = <0x0 0x1d 0x4>;
				dma-names = "rx", "tx";
				reg = <0x21f0000 0x4000>;
				dmas = <0x9 0x1f 0x4 0x0 0x9 0x20 0x4 0x0>;
			};

			usdhc@0219c000 {
				compatible = "fsl,imx6q-usdhc";
				clocks = <0x2 0xa6 0x2 0xa6 0x2 0xa6>;
				voltage-ranges = <0xce4 0xce4>;
				clock-names = "ipg", "ahb", "per";
				status = "okay";
				interrupts = <0x0 0x19 0x4>;
				no-1-8-v;
				bus-width = <0x8>;
				reg = <0x219c000 0x4000>;
				pinctrl-0 = <0x2b>;
				vmmc-supply = <0x24>;
				non-removable;
				vqmmc-supply = <0x24>;
				pinctrl-names = "default";
			};

			ethernet@02188000 {
				txd1-skew-ps = <0x0>;
				interrupts-extended = <0x8 0x0 0x76 0x4 0x8 0x0 0x77 0x4>;
				compatible = "fsl,imx6q-fec";
				clocks = <0x2 0x75 0x2 0x75 0x2 0xbe>;
				txc-skew-ps = <0xbb8>;
				rxd3-skew-ps = <0x0>;
				clock-names = "ipg", "ahb", "ptp";
				rxd0-skew-ps = <0x0>;
				txd2-skew-ps = <0x0>;
				phy-supply = <0x24>;
				rxc-skew-ps = <0xbb8>;
				status = "okay";
				rxd1-skew-ps = <0x0>;
				txd3-skew-ps = <0x0>;
				rxdv-skew-ps = <0x0>;
				txd0-skew-ps = <0x0>;
				reg = <0x2188000 0x4000>;
				phy-mode = "rgmii";
				pinctrl-0 = <0x25>;
				phy-reset-duration = <0x64>;
				phy-reset-gpios = <0x26 0x17 0x0>;
				txen-skew-ps = <0x0>;
				rxd2-skew-ps = <0x0>;
				pinctrl-names = "default";
			};

			serial@021e8000 {
				compatible = "eurek,imx6-ek-uart";
				clocks = <0x2 0xa0 0x2 0xa1>;
				rs485-rts-delay = <0x0 0x0>;
				linux,rs485-enabled-at-boot-time;
				clock-names = "ipg", "per";
				rts-gpio = <0x26 0x12 0x1>;
				status = "okay";
				interrupts = <0x0 0x1b 0x4>;
				dma-names = "rx", "tx";
				rs485-rts-active-low;
				reg = <0x21e8000 0x4000>;
				pinctrl-0 = <0x35>;
				dmas = <0x9 0x1b 0x4 0x0 0x9 0x1c 0x4 0x0>;
				pinctrl-names = "default";
			};

			usb@02184400 {
				compatible = "fsl,imx6q-usb", "fsl,imx27-usb";
				clocks = <0x2 0xa2>;
				fsl,usbmisc = <0x1c 0x2>;
				status = "disabled";
				interrupts = <0x0 0x29 0x4>;
				tx-burst-size-dword = <0x10>;
				ahb-burst-config = <0x0>;
				rx-burst-size-dword = <0x10>;
				reg = <0x2184400 0x200>;
				dr_mode = "host";
			};

			aipstz@0217c000 {
				reg = <0x217c000 0x4000>;
			};
		};

		aips-bus@02000000 {
			compatible = "fsl,aips-bus", "simple-bus";
			ranges;
			#address-cells = <0x1>;
			#size-cells = <0x1>;
			reg = <0x2000000 0x100000>;

			lcdif@020f8000 {
				interrupts = <0x0 0x27 0x4>;
				reg = <0x20f8000 0x4000>;
			};

			usbphy@020ca000 {
				compatible = "fsl,imx6q-usbphy", "fsl,imx23-usbphy";
				clocks = <0x2 0xb7>;
				interrupts = <0x0 0x2d 0x4>;
				phandle = <0x20>;
				fsl,anatop = <0x10>;
				reg = <0x20ca000 0x1000>;
				linux,phandle = <0x20>;
			};

			dcic@020e4000 {
				interrupts = <0x0 0x7c 0x4>;
				reg = <0x20e4000 0x4000>;
			};

			aipstz@0207c000 {
				reg = <0x207c000 0x4000>;
			};

			gpc@020dc000 {
				compatible = "fsl,imx6q-gpc";
				clocks = <0x2 0x7a 0x2 0x4a 0x2 0x79 0x2 0x1a 0x2 0x8f 0x2 0xa8>;
				#interrupt-cells = <0x3>;
				interrupt-parent = <0x8>;
				interrupts = <0x0 0x59 0x4 0x0 0x5a 0x4>;
				phandle = <0x1>;
				reg = <0x20dc000 0x4000>;
				pu-supply = <0x13>;
				linux,phandle = <0x1>;
				#power-domain-cells = <0x1>;
				interrupt-controller;
			};

			flexcan@02094000 {
				compatible = "fsl,imx6q-flexcan";
				clocks = <0x2 0x6e 0x2 0x6f>;
				clock-names = "ipg", "per";
				status = "disabled";
				interrupts = <0x0 0x6f 0x4>;
				reg = <0x2094000 0x4000>;
			};

			ccm@020c4000 {
				compatible = "fsl,imx6q-ccm";
				interrupts = <0x0 0x57 0x4 0x0 0x58 0x4>;
				#clock-cells = <0x1>;
				phandle = <0x2>;
				reg = <0x20c4000 0x4000>;
				linux,phandle = <0x2>;
			};

			gpio@020a4000 {
				compatible = "fsl,imx6q-gpio", "fsl,imx35-gpio";
				gpio-controller;
				gpio-ranges = <0xf 0x0 0x61 0x2 0xf 0x2 0x69 0x8 0xf 0xa 0x63 0x6 0xf 0x10 0x51 0x10>;
				#interrupt-cells = <0x2>;
				interrupts = <0x0 0x46 0x4 0x0 0x47 0x4>;
				phandle = <0x26>;
				reg = <0x20a4000 0x4000>;
				#gpio-cells = <0x2>;
				linux,phandle = <0x26>;
				interrupt-controller;
			};

			anatop@020c8000 {
				compatible = "fsl,imx6q-anatop", "syscon", "simple-bus";
				interrupts = <0x0 0x31 0x4 0x0 0x36 0x4 0x0 0x7f 0x4>;
				phandle = <0x10>;
				reg = <0x20c8000 0x1000>;
				linux,phandle = <0x10>;

				regulator-vddpu {
					regulator-enable-ramp-delay = <0x96>;
					anatop-delay-bit-shift = <0x1a>;
					compatible = "fsl,anatop-regulator";
					anatop-max-voltage = <0x162010>;
					anatop-vol-bit-shift = <0x9>;
					anatop-delay-reg-offset = <0x170>;
					anatop-delay-bit-width = <0x2>;
					anatop-min-voltage = <0xb1008>;
					phandle = <0x13>;
					regulator-min-microvolt = <0xb1008>;
					regulator-max-microvolt = <0x162010>;
					anatop-vol-bit-width = <0x5>;
					anatop-min-bit-val = <0x1>;
					anatop-reg-offset = <0x140>;
					regulator-name = "vddpu";
					linux,phandle = <0x13>;
				};

				regulator-2p5 {
					compatible = "fsl,anatop-regulator";
					anatop-max-voltage = <0x29f630>;
					anatop-vol-bit-shift = <0x8>;
					anatop-min-voltage = <0x1e8480>;
					regulator-min-microvolt = <0x1e8480>;
					regulator-max-microvolt = <0x29f630>;
					anatop-vol-bit-width = <0x5>;
					regulator-always-on;
					anatop-min-bit-val = <0x0>;
					anatop-reg-offset = <0x130>;
					regulator-name = "vdd2p5";
				};

				regulator-vddcore {
					anatop-delay-bit-shift = <0x18>;
					compatible = "fsl,anatop-regulator";
					anatop-max-voltage = <0x162010>;
					anatop-vol-bit-shift = <0x0>;
					anatop-delay-reg-offset = <0x170>;
					anatop-delay-bit-width = <0x2>;
					anatop-min-voltage = <0xb1008>;
					phandle = <0x40>;
					regulator-min-microvolt = <0xb1008>;
					regulator-max-microvolt = <0x162010>;
					anatop-vol-bit-width = <0x5>;
					regulator-always-on;
					anatop-min-bit-val = <0x1>;
					anatop-reg-offset = <0x140>;
					regulator-name = "vddarm";
					linux,phandle = <0x40>;
				};

				regulator-3p0 {
					compatible = "fsl,anatop-regulator";
					anatop-max-voltage = <0x33e140>;
					anatop-vol-bit-shift = <0x8>;
					anatop-min-voltage = <0x280de8>;
					regulator-min-microvolt = <0x2ab980>;
					regulator-max-microvolt = <0x3010b0>;
					anatop-vol-bit-width = <0x5>;
					regulator-always-on;
					anatop-min-bit-val = <0x0>;
					anatop-reg-offset = <0x120>;
					regulator-name = "vdd3p0";
				};

				regulator-1p1 {
					compatible = "fsl,anatop-regulator";
					anatop-max-voltage = <0x14fb18>;
					anatop-vol-bit-shift = <0x8>;
					anatop-min-voltage = <0xc3500>;
					regulator-min-microvolt = <0xc3500>;
					regulator-max-microvolt = <0x14fb18>;
					anatop-vol-bit-width = <0x5>;
					regulator-always-on;
					anatop-min-bit-val = <0x4>;
					anatop-reg-offset = <0x110>;
					regulator-name = "vdd1p1";
				};

				regulator-vddsoc {
					anatop-delay-bit-shift = <0x1c>;
					compatible = "fsl,anatop-regulator";
					anatop-max-voltage = <0x162010>;
					anatop-vol-bit-shift = <0x12>;
					anatop-delay-reg-offset = <0x170>;
					anatop-delay-bit-width = <0x2>;
					anatop-min-voltage = <0xb1008>;
					phandle = <0x41>;
					regulator-min-microvolt = <0xb1008>;
					regulator-max-microvolt = <0x162010>;
					anatop-vol-bit-width = <0x5>;
					regulator-always-on;
					anatop-min-bit-val = <0x1>;
					anatop-reg-offset = <0x140>;
					regulator-name = "vddsoc";
					linux,phandle = <0x41>;
				};
			};

			pwm@02084000 {
				compatible = "fsl,imx6q-pwm", "fsl,imx27-pwm";
				clocks = <0x2 0x3e 0x2 0x92>;
				clock-names = "ipg", "per";
				status = "disabled";
				interrupts = <0x0 0x54 0x4>;
				reg = <0x2084000 0x4000>;
				#pwm-cells = <0x2>;
			};

			wdog@020bc000 {
				compatible = "fsl,imx6q-wdt", "fsl,imx21-wdt";
				clocks = <0x2 0x0>;
				interrupts = <0x0 0x50 0x4>;
				reg = <0x20bc000 0x4000>;
			};

			epit@020d0000 {
				interrupts = <0x0 0x38 0x4>;
				reg = <0x20d0000 0x4000>;
			};

			gpio@020ac000 {
				compatible = "fsl,imx6q-gpio", "fsl,imx35-gpio";
				gpio-controller;
				gpio-ranges = <0xf 0x0 0x78 0x1 0xf 0x2 0x4d 0x1 0xf 0x4 0x4c 0x1 0xf 0x5 0x2f 0x9 0xf 0xe 0x39 0x4 0xf 0x12 0x25 0x1 0xf 0x13 0x24 0x1 0xf 0x14 0x23 0x1 0xf 0x15 0x26 0x1 0xf 0x16 0x1d 0x6 0xf 0x1c 0x13 0x4>;
				#interrupt-cells = <0x2>;
				interrupts = <0x0 0x4a 0x4 0x0 0x4b 0x4>;
				phandle = <0x47>;
				reg = <0x20ac000 0x4000>;
				#gpio-cells = <0x2>;
				linux,phandle = <0x47>;
				interrupt-controller;
			};

			gpio@020b4000 {
				compatible = "fsl,imx6q-gpio", "fsl,imx35-gpio";
				gpio-controller;
				gpio-ranges = <0xf 0x0 0xca 0x1 0xf 0x1 0xc9 0x1 0xf 0x2 0xc4 0x1 0xf 0x3 0xc3 0x1 0xf 0x4 0xc5 0x4 0xf 0x8 0xcd 0x1 0xf 0x9 0xcf 0x1 0xf 0xa 0xce 0x1 0xf 0xb 0x85 0x3>;
				#interrupt-cells = <0x2>;
				interrupts = <0x0 0x4e 0x4 0x0 0x4f 0x4>;
				reg = <0x20b4000 0x4000>;
				#gpio-cells = <0x2>;
				interrupt-controller;
			};

			pwm@0208c000 {
				compatible = "fsl,imx6q-pwm", "fsl,imx27-pwm";
				clocks = <0x2 0x3e 0x2 0x94>;
				clock-names = "ipg", "per";
				status = "disabled";
				interrupts = <0x0 0x56 0x4>;
				reg = <0x208c000 0x4000>;
				#pwm-cells = <0x2>;
			};

			vpu@02040000 {
				power-domains = <0x1 0x1>;
				compatible = "fsl,imx6dl-vpu", "cnm,coda960";
				clocks = <0x2 0xa8 0x2 0x8c>;
				resets = <0xb 0x1>;
				iram = <0xc>;
				clock-names = "per", "ahb";
				interrupts = <0x0 0xc 0x4 0x0 0x3 0x4>;
				reg = <0x2040000 0x3c000>;
				interrupt-names = "bit", "jpeg";
			};

			ldb@020e0008 {
				compatible = "fsl,imx6q-ldb", "fsl,imx53-ldb";
				clocks = <0x2 0x21 0x2 0x22 0x2 0x27 0x2 0x28 0x2 0x87 0x2 0x88>;
				clock-names = "di0_pll", "di1_pll", "di0_sel", "di1_sel", "di0", "di1";
				#address-cells = <0x1>;
				#size-cells = <0x0>;
				gpr = <0x4>;

				lvds-channel@0 {
					fsl,data-mapping = "spwg";
					fsl,panel = <0x14>;
					status = "okay";
					#address-cells = <0x1>;
					#size-cells = <0x0>;
					reg = <0x0>;
					fsl,data-width = <0x18>;

					port@1 {
						reg = <0x1>;

						endpoint {
							remote-endpoint = <0x16>;
							phandle = <0x3d>;
							linux,phandle = <0x3d>;
						};
					};

					port@4 {
						reg = <0x4>;

						endpoint {
							remote-endpoint = <0x18>;
							phandle = <0x4d>;
							linux,phandle = <0x4d>;
						};
					};

					display-timings {
						native-mode = <0x4e>;

						am1280800n3tz {
							hsync-active = <0x0>;
							vsync-active = <0x0>;
							hsync-len = <0x3c>;
							hfront-porch = <0x32>;
							vfront-porch = <0x5>;
							pixelclk-active = <0x0>;
							vsync-len = <0xd>;
							de-active = <0x1>;
							vactive = <0x320>;
							phandle = <0x4e>;
							hback-porch = <0x32>;
							clock-frequency = <0x43b5fc0>;
							hactive = <0x500>;
							vback-porch = <0x5>;
						};

						am1024600l {
							hsync-active = <0x0>;
							vsync-active = <0x0>;
							hsync-len = <0x1>;
							hfront-porch = <0x140>;
							vfront-porch = <0x23>;
							pixelclk-active = <0x0>;
							vsync-len = <0x1>;
							de-active = <0x1>;
							vactive = <0x258>;
							phandle = <0x17>;
							hback-porch = <0x0>;
							clock-frequency = <0x30d4000>;
							hactive = <0x400>;
							vback-porch = <0x0>;
							linux,phandle = <0x17>;
						};

						ph800480t013 {
							hsync-active = <0x0>;
							vsync-active = <0x0>;
							hsync-len = <0x1>;
							hfront-porch = <0xd2>;
							vfront-porch = <0x16>;
							pixelclk-active = <0x0>;
							vsync-len = <0x1>;
							de-active = <0x1>;
							vactive = <0x1e0>;
							hback-porch = <0x2e>;
							clock-frequency = <0x1fc1e20>;
							hactive = <0x320>;
							vback-porch = <0x17>;
						};
					};

					port@0 {
						reg = <0x0>;

						endpoint {
							remote-endpoint = <0x15>;
							phandle = <0x39>;
							linux,phandle = <0x39>;
						};
					};
				};

				lvds-channel@1 {
					status = "disabled";
					#address-cells = <0x1>;
					#size-cells = <0x0>;
					reg = <0x1>;

					port@1 {
						reg = <0x1>;

						endpoint {
							remote-endpoint = <0x1a>;
							phandle = <0x3e>;
							linux,phandle = <0x3e>;
						};
					};

					port@0 {
						reg = <0x0>;

						endpoint {
							remote-endpoint = <0x19>;
							phandle = <0x3a>;
							linux,phandle = <0x3a>;
						};
					};
				};
			};

			epdc@020f4000 {
				interrupts = <0x0 0x61 0x4>;
				reg = <0x20f4000 0x4000>;
			};

			flexcan@02090000 {
				compatible = "fsl,imx6q-flexcan";
				clocks = <0x2 0x6c 0x2 0x6d>;
				clock-names = "ipg", "per";
				status = "okay";
				interrupts = <0x0 0x6e 0x4>;
				reg = <0x2090000 0x4000>;
				pinctrl-0 = <0xd>;
				xceiver-supply = <0xe>;
				pinctrl-names = "default";
			};

			gpt@02098000 {
				compatible = "fsl,imx6dl-gpt";
				clocks = <0x2 0x77 0x2 0x78 0x2 0xed>;
				clock-names = "ipg", "per", "osc_per";
				interrupts = <0x0 0x37 0x4>;
				reg = <0x2098000 0x4000>;
			};

			usbphy@020c9000 {
				compatible = "fsl,imx6q-usbphy", "fsl,imx23-usbphy";
				clocks = <0x2 0xb6>;
				interrupts = <0x0 0x2c 0x4>;
				phandle = <0x1b>;
				fsl,anatop = <0x10>;
				reg = <0x20c9000 0x1000>;
				linux,phandle = <0x1b>;
			};

			iomuxc@020e0000 {
				compatible = "fsl,imx6dl-iomuxc";
				phandle = <0xf>;
				reg = <0x20e0000 0x4000>;
				linux,phandle = <0xf>;
				pinctrl-names = "default";

				imx6dl-ek360 {

					touchscreengrp {
						fsl,pins = <0x2e8 0x6d0 0x0 0x5 0x0 0x1b0b1>;
						phandle = <0x2e>;
						linux,phandle = <0x2e>;
					};

					usdhc4grp {
						fsl,pins = <0x33c 0x724 0x0 0x0 0x0 0x17059 0x338 0x720 0x938 0x0 0x1 0x10059 0x340 0x728 0x0 0x1 0x0 0x17059 0x344 0x72c 0x0 0x1 0x0 0x17059 0x348 0x730 0x0 0x1 0x0 0x17059 0x34c 0x734 0x0 0x1 0x0 0x17059 0x350 0x738 0x0 0x1 0x0 0x17059 0x354 0x73c 0x0 0x1 0x0 0x17059 0x358 0x740 0x0 0x1 0x0 0x17059 0x35c 0x744 0x0 0x1 0x0 0x17059>;
						phandle = <0x2b>;
						linux,phandle = <0x2b>;
					};

					uart1grp {
						fsl,pins = <0x4c 0x360 0x0 0x3 0x0 0x1b0b1 0x50 0x364 0x8fc 0x3 0x1 0x1b0b1>;
						phandle = <0xa>;
						linux,phandle = <0xa>;
					};

					usbh1vccgrp {
						fsl,pins = <0x180 0x550 0x0 0x5 0x0 0x1b0b0>;
						phandle = <0x23>;
						linux,phandle = <0x23>;
					};

					i2c2grp {
						fsl,pins = <0x264 0x64c 0x874 0x4 0x1 0x4001b8b1 0x250 0x638 0x870 0x4 0x1 0x4001b8b1>;
						phandle = <0x30>;
						linux,phandle = <0x30>;
					};

					ledgrp {
						fsl,pins = <0xd4 0x3e8 0x0 0x5 0x0 0x1b0b1>;
						phandle = <0x46>;
						linux,phandle = <0x46>;
					};

					enetgrp {
						fsl,pins = <0x2c0 0x6a8 0x814 0x1 0x1 0x1b0b0 0x2ac 0x694 0x818 0x1 0x1 0x1b0b0 0x2b0 0x698 0x81c 0x1 0x1 0x1b0b0 0x2b4 0x69c 0x820 0x1 0x1 0x1b0b0 0x2b8 0x6a0 0x824 0x1 0x1 0x1b0b0 0x2bc 0x6a4 0x828 0x1 0x1 0x1b0b0 0x2d8 0x6c0 0x0 0x1 0x0 0x1b0b0 0x2c4 0x6ac 0x0 0x1 0x0 0x1b0b0 0x2c8 0x6b0 0x0 0x1 0x0 0x1b0b0 0x2cc 0x6b4 0x0 0x1 0x0 0x1b0b0 0x2d0 0x6b8 0x0 0x1 0x0 0x1b0b0 0x2d4 0x6bc 0x0 0x1 0x0 0x1b0b0 0x1f0 0x5c0 0x0 0x1 0x0 0x1b0b0 0x1ec 0x5bc 0x810 0x1 0x0 0x1b0b0 0x1e8 0x5b8 0x0 0x1 0x0 0x1b0b0 0x160 0x530 0x0 0x5 0x0 0x80000000>;
						phandle = <0x25>;
						linux,phandle = <0x25>;
					};

					audmuxgrp {
						fsl,pins = <0x20c 0x5dc 0x0 0x0 0x0 0x30b0 0x74 0x388 0x0 0x4 0x0 0x130b0 0x78 0x38c 0x0 0x4 0x0 0x110b0 0x7c 0x390 0x0 0x4 0x0 0x130b0 0x80 0x394 0x0 0x4 0x0 0x130b0>;
						phandle = <0x32>;
						linux,phandle = <0x32>;
					};

					uart3grp {
						fsl,pins = <0x164 0x534 0x0 0x2 0x0 0x1b0b1 0x168 0x538 0x90c 0x2 0x1 0x1b0b1>;
						phandle = <0x36>;
						linux,phandle = <0x36>;
					};

					usdhc3grp {
						fsl,pins = <0x310 0x6f8 0x0 0x0 0x0 0x17059 0x30c 0x6f4 0x934 0x0 0x1 0x10059 0x314 0x6fc 0x0 0x0 0x0 0x17059 0x318 0x700 0x0 0x0 0x0 0x17059 0x31c 0x704 0x0 0x0 0x0 0x17059 0x320 0x708 0x0 0x0 0x0 0x17059 0x284 0x66c 0x0 0x5 0x0 0x1f071 0x288 0x670 0x0 0x5 0x0 0x1f071>;
						phandle = <0x29>;
						linux,phandle = <0x29>;
					};

					usbotgvccgrp {
						fsl,pins = <0x15c 0x52c 0x0 0x5 0x0 0x1b0b1>;
						phandle = <0x1f>;
						linux,phandle = <0x1f>;
					};

					usbh1grp {
						fsl,pins = <0x17c 0x54c 0x924 0x6 0x0 0x1b0b0>;
						phandle = <0x22>;
						linux,phandle = <0x22>;
					};

					flexcan1grp {
						fsl,pins = <0x238 0x608 0x0 0x3 0x0 0x1b0b0 0x23c 0x60c 0x7c8 0x3 0x0 0x1b0b0>;
						phandle = <0xd>;
						linux,phandle = <0xd>;
					};

					i2c1grp {
						fsl,pins = <0x84 0x398 0x86c 0x4 0x0 0x4001b8b1 0x88 0x39c 0x868 0x4 0x0 0x4001b8b1>;
						phandle = <0x2c>;
						linux,phandle = <0x2c>;
					};

					usbotggrp {
						fsl,pins = <0x210 0x5e0 0x790 0x3 0x1 0x17059 0x158 0x528 0x920 0x4 0x0 0x1b0b0>;
						phandle = <0x1e>;
						linux,phandle = <0x1e>;
					};

					dispgrp {
						fsl,pins = <0x2dc 0x6c4 0x0 0x5 0x0 0x1b0b1 0x2ec 0x6d4 0x0 0x5 0x0 0x1b0b1>;
					};

					uart2grp {
						fsl,pins = <0x16c 0x53c 0x0 0x4 0x0 0x1b0b1 0x170 0x540 0x904 0x4 0x1 0x1b0b1 0x14c 0x51c 0x0 0x5 0x0 0x1b0b1>;
						phandle = <0x35>;
						linux,phandle = <0x35>;
					};

					usdhc2grp {
						fsl,pins = <0x2f8 0x6e0 0x0 0x0 0x0 0x17059 0x2f4 0x6dc 0x930 0x0 0x1 0x10059 0x2fc 0x6e4 0x0 0x0 0x0 0x17059 0x300 0x6e8 0x0 0x0 0x0 0x17059 0x304 0x6ec 0x0 0x0 0x0 0x17059 0x308 0x6f0 0x0 0x0 0x0 0x17059 0x290 0x678 0x0 0x5 0x0 0x1b0b1>;
						phandle = <0x27>;
						linux,phandle = <0x27>;
					};

					i2c3grp {
						fsl,pins = <0x234 0x604 0x87c 0x2 0x2 0x4001b8b1 0x228 0x5f8 0x878 0x2 0x1 0x4001b8b1>;
						phandle = <0x31>;
						linux,phandle = <0x31>;
					};

					pwm1grp {
						fsl,pins = <0x2f0 0x6d8 0x0 0x3 0x0 0x1b0b1>;
						phandle = <0x48>;
						linux,phandle = <0x48>;
					};
				};
			};

			gpio@020a0000 {
				compatible = "fsl,imx6q-gpio", "fsl,imx35-gpio";
				gpio-controller;
				gpio-ranges = <0xf 0x0 0xa1 0x8 0xf 0x8 0xd0 0x8 0xf 0x10 0x4a 0x1 0xf 0x11 0x49 0x1 0xf 0x12 0x48 0x1 0xf 0x13 0x47 0x1 0xf 0x14 0x46 0x1 0xf 0x15 0x45 0x1 0xf 0x16 0x44 0x1 0xf 0x17 0x4f 0x2 0xf 0x19 0x76 0x2 0xf 0x1b 0x75 0x1 0xf 0x1c 0x71 0x4>;
				#interrupt-cells = <0x2>;
				interrupts = <0x0 0x44 0x4 0x0 0x45 0x4>;
				phandle = <0x2a>;
				reg = <0x20a0000 0x4000>;
				#gpio-cells = <0x2>;
				linux,phandle = <0x2a>;
				interrupt-controller;
			};

			iomuxc-gpr@020e0000 {
				compatible = "fsl,imx6q-iomuxc-gpr", "syscon";
				phandle = <0x4>;
				reg = <0x20e0000 0x38>;
				linux,phandle = <0x4>;
			};

			pwm@02080000 {
				compatible = "fsl,imx6q-pwm", "fsl,imx27-pwm";
				clocks = <0x2 0x3e 0x2 0x91>;
				clock-names = "ipg", "per";
				status = "okay";
				interrupts = <0x0 0x53 0x4>;
				phandle = <0x49>;
				reg = <0x2080000 0x4000>;
				linux,phandle = <0x49>;
				#pwm-cells = <0x2>;
			};

			spba-bus@02000000 {
				compatible = "fsl,spba-bus", "simple-bus";
				ranges;
				#address-cells = <0x1>;
				#size-cells = <0x1>;
				reg = <0x2000000 0x40000>;

				spba@0203c000 {
					reg = <0x203c000 0x4000>;
				};

				ssi@02030000 {
					fsl,fifo-depth = <0xf>;
					compatible = "fsl,imx6q-ssi", "fsl,imx51-ssi";
					clocks = <0x2 0xb4 0x2 0x9f>;
					#sound-dai-cells = <0x0>;
					clock-names = "ipg", "baud";
					status = "disabled";
					interrupts = <0x0 0x30 0x4>;
					dma-names = "rx", "tx";
					reg = <0x2030000 0x4000>;
					dmas = <0x9 0x2d 0x1 0x0 0x9 0x2e 0x1 0x0>;
				};

				ssi@02028000 {
					fsl,fifo-depth = <0xf>;
					compatible = "fsl,imx6q-ssi", "fsl,imx51-ssi";
					clocks = <0x2 0xb2 0x2 0x9d>;
					#sound-dai-cells = <0x0>;
					clock-names = "ipg", "baud";
					status = "okay";
					interrupts = <0x0 0x2e 0x4>;
					dma-names = "rx", "tx";
					phandle = <0x4a>;
					reg = <0x2028000 0x4000>;
					dmas = <0x9 0x25 0x1 0x0 0x9 0x26 0x1 0x0>;
					linux,phandle = <0x4a>;
				};

				asrc@02034000 {
					compatible = "fsl,imx53-asrc";
					clocks = <0x2 0xd2 0x2 0xd3 0x2 0x0 0x2 0x0 0x2 0x0 0x2 0x0 0x2 0x0 0x2 0x0 0x2 0x0 0x2 0x0 0x2 0x0 0x2 0x0 0x2 0x0 0x2 0x0 0x2 0x0 0x2 0x6b 0x2 0x0 0x2 0x0 0x2 0x9c>;
					clock-names = "mem", "ipg", "asrck_0", "asrck_1", "asrck_2", "asrck_3", "asrck_4", "asrck_5", "asrck_6", "asrck_7", "asrck_8", "asrck_9", "asrck_a", "asrck_b", "asrck_c", "asrck_d", "asrck_e", "asrck_f", "spba";
					fsl,asrc-rate = <0xbb80>;
					fsl,asrc-width = <0x10>;
					status = "okay";
					interrupts = <0x0 0x32 0x4>;
					dma-names = "rxa", "rxb", "rxc", "txa", "txb", "txc";
					reg = <0x2034000 0x4000>;
					dmas = <0x9 0x11 0x17 0x1 0x9 0x12 0x17 0x1 0x9 0x13 0x17 0x1 0x9 0x14 0x17 0x1 0x9 0x15 0x17 0x1 0x9 0x16 0x17 0x1>;
				};

				esai@02024000 {
					compatible = "fsl,imx35-esai";
					clocks = <0x2 0xd0 0x2 0xd1 0x2 0x76 0x2 0xd0 0x2 0x9c>;
					#sound-dai-cells = <0x0>;
					clock-names = "core", "mem", "extal", "fsys", "spba";
					status = "disabled";
					interrupts = <0x0 0x33 0x4>;
					dma-names = "rx", "tx";
					reg = <0x2024000 0x4000>;
					dmas = <0x9 0x17 0x15 0x0 0x9 0x18 0x15 0x0>;
				};

				ecspi@02010000 {
					compatible = "fsl,imx6q-ecspi", "fsl,imx51-ecspi";
					clocks = <0x2 0x72 0x2 0x72>;
					clock-names = "ipg", "per";
					status = "disabled";
					#address-cells = <0x1>;
					interrupts = <0x0 0x21 0x4>;
					#size-cells = <0x0>;
					dma-names = "rx", "tx";
					reg = <0x2010000 0x4000>;
					dmas = <0x9 0x7 0x8 0x1 0x9 0x8 0x8 0x2>;
				};

				ecspi@02008000 {
					compatible = "fsl,imx6q-ecspi", "fsl,imx51-ecspi";
					clocks = <0x2 0x70 0x2 0x70>;
					clock-names = "ipg", "per";
					status = "disabled";
					#address-cells = <0x1>;
					interrupts = <0x0 0x1f 0x4>;
					#size-cells = <0x0>;
					dma-names = "rx", "tx";
					reg = <0x2008000 0x4000>;
					dmas = <0x9 0x3 0x8 0x1 0x9 0x4 0x8 0x2>;
				};

				serial@02020000 {
					compatible = "fsl,imx6q-uart", "fsl,imx21-uart";
					clocks = <0x2 0xa0 0x2 0xa1>;
					clock-names = "ipg", "per";
					status = "okay";
					interrupts = <0x0 0x1a 0x4>;
					dma-names = "rx", "tx";
					reg = <0x2020000 0x4000>;
					pinctrl-0 = <0xa>;
					dmas = <0x9 0x19 0x4 0x0 0x9 0x1a 0x4 0x0>;
					pinctrl-names = "default";
				};

				ssi@0202c000 {
					fsl,fifo-depth = <0xf>;
					compatible = "fsl,imx6q-ssi", "fsl,imx51-ssi";
					clocks = <0x2 0xb3 0x2 0x9e>;
					#sound-dai-cells = <0x0>;
					clock-names = "ipg", "baud";
					status = "disabled";
					interrupts = <0x0 0x2f 0x4>;
					dma-names = "rx", "tx";
					reg = <0x202c000 0x4000>;
					dmas = <0x9 0x29 0x1 0x0 0x9 0x2a 0x1 0x0>;
				};

				ecspi@0200c000 {
					compatible = "fsl,imx6q-ecspi", "fsl,imx51-ecspi";
					clocks = <0x2 0x71 0x2 0x71>;
					clock-names = "ipg", "per";
					status = "disabled";
					#address-cells = <0x1>;
					interrupts = <0x0 0x20 0x4>;
					#size-cells = <0x0>;
					dma-names = "rx", "tx";
					reg = <0x200c000 0x4000>;
					dmas = <0x9 0x5 0x8 0x1 0x9 0x6 0x8 0x2>;
				};

				spdif@02004000 {
					compatible = "fsl,imx35-spdif";
					clocks = <0x2 0xf4 0x2 0x3 0x2 0xc5 0x2 0x6b 0x2 0x0 0x2 0x76 0x2 0x3e 0x2 0x0 0x2 0x0 0x2 0x9c>;
					clock-names = "core", "rxtx0", "rxtx1", "rxtx2", "rxtx3", "rxtx4", "rxtx5", "rxtx6", "rxtx7", "spba";
					status = "disabled";
					interrupts = <0x0 0x34 0x4>;
					dma-names = "rx", "tx";
					reg = <0x2004000 0x4000>;
					dmas = <0x9 0xe 0x12 0x0 0x9 0xf 0x12 0x0>;
				};

				ecspi@02014000 {
					compatible = "fsl,imx6q-ecspi", "fsl,imx51-ecspi";
					clocks = <0x2 0x73 0x2 0x73>;
					clock-names = "ipg", "per";
					status = "disabled";
					#address-cells = <0x1>;
					interrupts = <0x0 0x22 0x4>;
					#size-cells = <0x0>;
					dma-names = "rx", "tx";
					reg = <0x2014000 0x4000>;
					dmas = <0x9 0x9 0x8 0x1 0x9 0xa 0x8 0x2>;
				};
			};

			sdma@020ec000 {
				#dma-cells = <0x3>;
				compatible = "fsl,imx6q-sdma", "fsl,imx35-sdma";
				clocks = <0x2 0x9b 0x2 0x9b>;
				fsl,sdma-ram-script-name = "imx/sdma/sdma-imx6q.bin";
				clock-names = "ipg", "ahb";
				interrupts = <0x0 0x2 0x4>;
				phandle = <0x9>;
				reg = <0x20ec000 0x4000>;
				linux,phandle = <0x9>;
			};

			wdog@020c0000 {
				compatible = "fsl,imx6q-wdt", "fsl,imx21-wdt";
				clocks = <0x2 0x0>;
				status = "disabled";
				interrupts = <0x0 0x51 0x4>;
				reg = <0x20c0000 0x4000>;
			};

			kpp@020b8000 {
				compatible = "fsl,imx6q-kpp", "fsl,imx21-kpp";
				clocks = <0x2 0x3e>;
				status = "disabled";
				interrupts = <0x0 0x52 0x4>;
				reg = <0x20b8000 0x4000>;
			};

			dcic@020e8000 {
				interrupts = <0x0 0x7d 0x4>;
				reg = <0x20e8000 0x4000>;
			};

			pxp@020f0000 {
				interrupts = <0x0 0x62 0x4>;
				reg = <0x20f0000 0x4000>;
			};

			gpio@020b0000 {
				compatible = "fsl,imx6q-gpio", "fsl,imx35-gpio";
				gpio-controller;
				gpio-ranges = <0xf 0x0 0x17 0x6 0xf 0x6 0x4b 0x1 0xf 0x7 0x9c 0x1 0xf 0x8 0x9b 0x1 0xf 0x9 0xaa 0x1 0xf 0xa 0xa9 0x1 0xf 0xb 0x9d 0x1 0xf 0xe 0x9e 0x3 0xf 0x11 0xcc 0x1 0xf 0x12 0xcb 0x1 0xf 0x13 0xb6 0x1 0xf 0x14 0xb1 0x4 0xf 0x18 0xaf 0x1 0xf 0x19 0xab 0x1 0xf 0x1a 0xb5 0x1 0xf 0x1b 0xac 0x3 0xf 0x1e 0xb0 0x1 0xf 0x1f 0x4e 0x1>;
				#interrupt-cells = <0x2>;
				interrupts = <0x0 0x4c 0x4 0x0 0x4d 0x4>;
				reg = <0x20b0000 0x4000>;
				#gpio-cells = <0x2>;
				interrupt-controller;
			};

			gpio@020a8000 {
				compatible = "fsl,imx6q-gpio", "fsl,imx35-gpio";
				gpio-controller;
				gpio-ranges = <0xf 0x5 0x88 0x1 0xf 0x6 0x91 0x1 0xf 0x7 0x96 0x1 0xf 0x8 0x92 0x1 0xf 0x9 0x97 0x1 0xf 0xa 0x93 0x1 0xf 0xb 0x97 0x1 0xf 0xc 0x94 0x1 0xf 0xd 0x99 0x1 0xf 0xe 0x95 0x1 0xf 0xf 0x9a 0x1 0xf 0x10 0x27 0x7 0xf 0x17 0x38 0x1 0xf 0x18 0x3d 0x7 0xf 0x1f 0x2e 0x1>;
				#interrupt-cells = <0x2>;
				interrupts = <0x0 0x48 0x4 0x0 0x49 0x4>;
				reg = <0x20a8000 0x4000>;
				#gpio-cells = <0x2>;
				interrupt-controller;
			};

			snvs@020cc000 {
				compatible = "fsl,sec-v4.0-mon", "syscon", "simple-mfd";
				phandle = <0x12>;
				reg = <0x20cc000 0x4000>;
				linux,phandle = <0x12>;

				snvs-poweroff {
					compatible = "syscon-poweroff";
					mask = <0x60>;
					offset = <0x38>;
					status = "disabled";
					regmap = <0x12>;
				};

				snvs-rtc-lp {
					compatible = "fsl,sec-v4.0-mon-rtc-lp";
					offset = <0x34>;
					interrupts = <0x0 0x13 0x4 0x0 0x14 0x4>;
					regmap = <0x12>;
				};
			};

			pwm@02088000 {
				compatible = "fsl,imx6q-pwm", "fsl,imx27-pwm";
				clocks = <0x2 0x3e 0x2 0x93>;
				clock-names = "ipg", "per";
				status = "disabled";
				interrupts = <0x0 0x55 0x4>;
				reg = <0x2088000 0x4000>;
				#pwm-cells = <0x2>;
			};

			tempmon {
				compatible = "fsl,imx6q-tempmon";
				clocks = <0x2 0xac>;
				interrupts = <0x0 0x31 0x4>;
				fsl,tempmon = <0x10>;
				fsl,tempmon-data = <0x11>;
			};

			src@020d8000 {
				compatible = "fsl,imx6q-src", "fsl,imx51-src";
				#reset-cells = <0x1>;
				interrupts = <0x0 0x5b 0x4 0x0 0x60 0x4>;
				phandle = <0xb>;
				reg = <0x20d8000 0x4000>;
				linux,phandle = <0xb>;
			};

			gpio@0209c000 {
				compatible = "fsl,imx6q-gpio", "fsl,imx35-gpio";
				gpio-controller;
				gpio-ranges = <0xf 0x0 0x83 0x2 0xf 0x2 0x89 0x8 0xf 0xa 0xbd 0x2 0xf 0xc 0xc2 0x1 0xf 0xd 0xc1 0x1 0xf 0xe 0xc0 0x1 0xf 0xf 0xbf 0x1 0xf 0x10 0xb9 0x2 0xf 0x12 0xb8 0x1 0xf 0x13 0xbb 0x1 0xf 0x14 0xb7 0x1 0xf 0x15 0xbc 0x1 0xf 0x16 0x7b 0x3 0xf 0x19 0x79 0x1 0xf 0x1a 0x7f 0x1 0xf 0x1b 0x7e 0x1 0xf 0x1c 0x80 0x1 0xf 0x1d 0x82 0x1 0xf 0x1e 0x81 0x1 0xf 0x1f 0x7a 0x1>;
				#interrupt-cells = <0x2>;
				interrupts = <0x0 0x42 0x4 0x0 0x43 0x4>;
				phandle = <0x2f>;
				reg = <0x209c000 0x4000>;
				#gpio-cells = <0x2>;
				linux,phandle = <0x2f>;
				interrupt-controller;
			};

			epit@020d4000 {
				interrupts = <0x0 0x39 0x4>;
				reg = <0x20d4000 0x4000>;
			};
		};

		interrupt-controller@00a01000 {
			compatible = "arm,cortex-a9-gic";
			#interrupt-cells = <0x3>;
			interrupt-parent = <0x8>;
			phandle = <0x8>;
			reg = <0xa01000 0x1000 0xa00100 0x100>;
			linux,phandle = <0x8>;
			interrupt-controller;
		};

		gpu@00134000 {
			power-domains = <0x1 0x1>;
			compatible = "vivante,gc";
			clocks = <0x2 0x1a 0x2 0x79>;
			clock-names = "bus", "core";
			interrupts = <0x0 0xa 0x4>;
			phandle = <0x44>;
			reg = <0x134000 0x4000>;
			linux,phandle = <0x44>;
		};

		pmu {
			compatible = "arm,cortex-a9-pmu";
			interrupts = <0x0 0x5e 0x4>;
		};

		hdmi@0120000 {
			compatible = "fsl,imx6dl-hdmi";
			clocks = <0x2 0x7b 0x2 0x7c>;
			clock-names = "iahb", "isfr";
			status = "disabled";
			#address-cells = <0x1>;
			interrupts = <0x0 0x73 0x4>;
			#size-cells = <0x0>;
			reg = <0x120000 0x9000>;
			ddc-i2c-bus = <0x5>;
			gpr = <0x4>;

			port@1 {
				reg = <0x1>;

				endpoint {
					remote-endpoint = <0x7>;
					phandle = <0x3b>;
					linux,phandle = <0x3b>;
				};
			};

			port@0 {
				reg = <0x0>;

				endpoint {
					remote-endpoint = <0x6>;
					phandle = <0x37>;
					linux,phandle = <0x37>;
				};
			};
		};

		gpmi-nand@00112000 {
			compatible = "fsl,imx6q-gpmi-nand";
			clocks = <0x2 0x98 0x2 0x99 0x2 0x97 0x2 0x96 0x2 0x95>;
			reg-names = "gpmi-nand", "bch";
			clock-names = "gpmi_io", "gpmi_apb", "gpmi_bch", "gpmi_bch_apb", "per1_bch";
			status = "disabled";
			#address-cells = <0x1>;
			interrupts = <0x0 0xf 0x4>;
			#size-cells = <0x1>;
			dma-names = "rx-tx";
			reg = <0x112000 0x2000 0x114000 0x2000>;
			dmas = <0x3 0x0>;
			interrupt-names = "bch";
		};

		l2-cache@00a02000 {
			compatible = "arm,pl310-cache";
			cache-level = <0x2>;
			arm,shared-override;
			cache-unified;
			arm,data-latency = <0x4 0x2 0x3>;
			interrupts = <0x0 0x5c 0x4>;
			phandle = <0x3f>;
			reg = <0xa02000 0x1000>;
			linux,phandle = <0x3f>;
			arm,tag-latency = <0x4 0x2 0x3>;
		};

		ipu@02400000 {
			compatible = "fsl,imx6q-ipu";
			clocks = <0x2 0x82 0x2 0x83 0x2 0x84>;
			resets = <0xb 0x2>;
			clock-names = "bus", "di0", "di1";
			#address-cells = <0x1>;
			interrupts = <0x0 0x6 0x4 0x0 0x5 0x4>;
			#size-cells = <0x0>;
			reg = <0x2400000 0x400000>;

			port@3 {
				#address-cells = <0x1>;
				#size-cells = <0x0>;
				phandle = <0x43>;
				reg = <0x3>;
				linux,phandle = <0x43>;

				lvds1-endpoint {
					remote-endpoint = <0x3e>;
					phandle = <0x1a>;
					linux,phandle = <0x1a>;
				};

				mipi-endpoint {
					remote-endpoint = <0x3c>;
					phandle = <0x34>;
					linux,phandle = <0x34>;
				};

				hdmi-endpoint {
					remote-endpoint = <0x3b>;
					phandle = <0x7>;
					linux,phandle = <0x7>;
				};

				disp1-endpoint {
				};

				lvds0-endpoint {
					remote-endpoint = <0x3d>;
					phandle = <0x16>;
					linux,phandle = <0x16>;
				};
			};

			port@1 {
				reg = <0x1>;
			};

			port@2 {
				#address-cells = <0x1>;
				#size-cells = <0x0>;
				phandle = <0x42>;
				reg = <0x2>;
				linux,phandle = <0x42>;

				lvds1-endpoint {
					remote-endpoint = <0x3a>;
					phandle = <0x19>;
					linux,phandle = <0x19>;
				};

				disp0-endpoint {
				};

				mipi-endpoint {
					remote-endpoint = <0x38>;
					phandle = <0x33>;
					linux,phandle = <0x33>;
				};

				hdmi-endpoint {
					remote-endpoint = <0x37>;
					phandle = <0x6>;
					linux,phandle = <0x6>;
				};

				lvds0-endpoint {
					remote-endpoint = <0x39>;
					phandle = <0x15>;
					linux,phandle = <0x15>;
				};
			};

			port@0 {
				reg = <0x0>;
			};
		};
	};

	leds {
		compatible = "gpio-leds";
		status = "okay";
		pinctrl-0 = <0x46>;
		pinctrl-names = "default";

		led0 {
			gpios = <0x47 0xb 0x1>;
			label = "led";
			default-state = "off";
		};
	};

	aliases {
		i2c3 = "/soc/aips-bus@02100000/i2c@021f8000";
		gpio2 = "/soc/aips-bus@02000000/gpio@020a4000";
		spi2 = "/soc/aips-bus@02000000/spba-bus@02000000/ecspi@02010000";
		i2c1 = "/soc/aips-bus@02100000/i2c@021a4000";
		mmc3 = "/soc/aips-bus@02100000/usdhc@0219c000";
		gpio0 = "/soc/aips-bus@02000000/gpio@0209c000";
		spi0 = "/soc/aips-bus@02000000/spba-bus@02000000/ecspi@02008000";
		mmc1 = "/soc/aips-bus@02100000/usdhc@02194000";
		ethernet0 = "/soc/aips-bus@02100000/ethernet@02188000";
		serial3 = "/soc/aips-bus@02100000/serial@021f0000";
		usbphy1 = "/soc/aips-bus@02000000/usbphy@020ca000";
		gpio5 = "/soc/aips-bus@02000000/gpio@020b0000";
		serial1 = "/soc/aips-bus@02100000/serial@021e8000";
		gpio3 = "/soc/aips-bus@02000000/gpio@020a8000";
		can0 = "/soc/aips-bus@02000000/flexcan@02090000";
		spi3 = "/soc/aips-bus@02000000/spba-bus@02000000/ecspi@02014000";
		i2c2 = "/soc/aips-bus@02100000/i2c@021a8000";
		gpio1 = "/soc/aips-bus@02000000/gpio@020a0000";
		spi1 = "/soc/aips-bus@02000000/spba-bus@02000000/ecspi@0200c000";
		i2c0 = "/soc/aips-bus@02100000/i2c@021a0000";
		mmc2 = "/soc/aips-bus@02100000/usdhc@02198000";
		mmc0 = "/soc/aips-bus@02100000/usdhc@02190000";
		serial4 = "/soc/aips-bus@02100000/serial@021f4000";
		gpio6 = "/soc/aips-bus@02000000/gpio@020b4000";
		serial2 = "/soc/aips-bus@02100000/serial@021ec000";
		usbphy0 = "/soc/aips-bus@02000000/usbphy@020c9000";
		ipu0 = "/soc/ipu@02400000";
		gpio4 = "/soc/aips-bus@02000000/gpio@020ac000";
		can1 = "/soc/aips-bus@02000000/flexcan@02094000";
		serial0 = "/soc/aips-bus@02000000/spba-bus@02000000/serial@02020000";
	};

	chosen {
		bootargs = "console=ttymxc2,115200 rootwait noswap ip=none noinitrd rootfstype=nilfs2 root=/dev/mmcblk1p3 fec.macaddr=0x00,0x1b,0xc5,0x08,0xd1,0x10 system_rev=0xe3600000 system_serialnr=0x12345678 lcd_type=am1280800n3tz fastboot quiet loglevel=3 console=tty0  video=mxcfb0:dev=ldb,if=RGB24,bpp=32  fbmem=32M vmalloc=400M ";
		linux,stdout-path = "/soc/aips-bus@02100000/serial@021ec000";
	};

	regulators {
		compatible = "simple-bus";
		#address-cells = <0x1>;
		#size-cells = <0x0>;

		regulator@3 {
			compatible = "regulator-fixed";
			phandle = <0x24>;
			regulator-min-microvolt = <0x325aa0>;
			reg = <0x3>;
			regulator-max-microvolt = <0x325aa0>;
			regulator-always-on;
			regulator-name = "3P3V";
			linux,phandle = <0x24>;
		};

		regulator@1 {
			compatible = "regulator-fixed";
			regulator-min-microvolt = <0x16e360>;
			reg = <0x1>;
			regulator-max-microvolt = <0x16e360>;
			regulator-always-on;
			regulator-name = "1P5V";
		};

		regulator@6 {
			compatible = "regulator-fixed";
			enable-active-high;
			gpio = <0x2a 0x3 0x0>;
			phandle = <0x28>;
			regulator-min-microvolt = <0x1f78a40>;
			reg = <0x6>;
			regulator-max-microvolt = <0x1f78a40>;
			regulator-always-on;
			regulator-name = "sdio_en";
			linux,phandle = <0x28>;
		};

		regulator@4 {
			compatible = "regulator-fixed";
			enable-active-low;
			gpio = <0x26 0x16 0x1>;
			phandle = <0x1d>;
			regulator-min-microvolt = <0x4c4b40>;
			reg = <0x4>;
			regulator-max-microvolt = <0x4c4b40>;
			regulator-name = "usb_otg_vbus";
			linux,phandle = <0x1d>;
		};

		regulator@2 {
			compatible = "regulator-fixed";
			regulator-min-microvolt = <0x2625a0>;
			reg = <0x2>;
			regulator-max-microvolt = <0x2625a0>;
			regulator-always-on;
			regulator-name = "2P5V";
		};

		regulator@0 {
			compatible = "regulator-fixed";
			phandle = <0x2d>;
			regulator-min-microvolt = <0x124f80>;
			reg = <0x0>;
			regulator-max-microvolt = <0x124f80>;
			regulator-always-on;
			regulator-name = "1P2V";
			linux,phandle = <0x2d>;
		};

		regulator@7 {
			compatible = "regulator-fixed";
			phandle = <0xe>;
			regulator-min-microvolt = <0x4c4b40>;
			reg = <0x7>;
			regulator-max-microvolt = <0x4c4b40>;
			regulator-always-on;
			regulator-name = "5P0V";
			linux,phandle = <0xe>;
		};

		regulator@5 {
			compatible = "regulator-fixed";
			enable-active-low;
			gpio = <0x26 0x1f 0x1>;
			phandle = <0x21>;
			regulator-min-microvolt = <0x4c4b40>;
			reg = <0x5>;
			regulator-max-microvolt = <0x4c4b40>;
			regulator-always-on;
			regulator-name = "usb_h1_vbus";
			linux,phandle = <0x21>;
		};
	};

	sound {
		compatible = "fsl,imx6-ek360-sgtl5000", "fsl,imx-audio-sgtl5000";
		ssi-controller = <0x4a>;
		model = "imx6-ek360-sgtl5000";
		micbias-voltage-m-volts = <0xbb8>;
		mux-int-port = <0x1>;
		status = "okay";
		mux-ext-port = <0x3>;
		micbias-resistor-k-ohms = <0x2>;
		audio-routing = "MIC_IN", "Mic Jack", "Mic Jack", "Mic Bias", "Headphone Jack", "HP_OUT";
		audio-codec = <0x4b>;
	};

	memory {
		device_type = "memory";
		reg = <0x10000000 0x40000000>;
	};

	cpus {
		#address-cells = <0x1>;
		#size-cells = <0x0>;

		cpu@1 {
			compatible = "arm,cortex-a9";
			device_type = "cpu";
			next-level-cache = <0x3f>;
			reg = <0x1>;
		};

		cpu@0 {
			compatible = "arm,cortex-a9";
			clocks = <0x2 0x68 0x2 0x6 0x2 0x10 0x2 0x11 0x2 0xaa>;
			device_type = "cpu";
			soc-supply = <0x41>;
			arm-supply = <0x40>;
			clock-names = "arm", "pll2_pfd2_396m", "step", "pll1_sw", "pll1_sys";
			fsl,soc-operating-points = <0xf32a0 0x11edd8 0xc15c0 0x11edd8 0x60ae0 0x11edd8>;
			next-level-cache = <0x3f>;
			reg = <0x0>;
			operating-points = <0xf32a0 0x1312d0 0xc15c0 0x11edd8 0x60ae0 0x118c30>;
			pu-supply = <0x13>;
			clock-latency = <0xee6c>;
		};
	};

	panel {
		compatible = "innolux,g101ice_l01", "simple-panel";
		status = "okay";
		phandle = <0x14>;
		linux,phandle = <0x14>;
		backlight = <0x4c>;

		port {

			endpoint {
				remote-endpoint = <0x4d>;
				phandle = <0x18>;
				linux,phandle = <0x18>;
			};
		};
	};
};
_______________________________________________
barebox mailing list
barebox@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/barebox

[Index of Archives]     [Linux Embedded]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux