zefie icon

sun5i-a13-dreamcatcher.dts (unofficial)

zefie | PRO | 04/10/19 12:23:48 AM UTC | 0 ⭐ | 975 👁️ | Never ⏰ | []
text |

32.16 KB

|

None

|

0 👍

/

0 👎

/dts-v1/;
 / {
	#address-cells = <0x1>;
	#size-cells = <0x1>;
	compatible = "othernet,a13-dreamcatcher", "allwinner,sun5i-a13";
	interrupt-parent = <0x1>;
	model = "Othernet A13-Dreamcatcher";
 	__symbols__ {
		spi0_cs0_pins_a = "/soc@01c00000/pinctrl@01c20800/spi0-cs0@0";
		spi0_pins_a = "/soc@01c00000/pinctrl@01c20800/spi0@0";
		spi1_cs0_pins_a = "/soc@01c00000/pinctrl@01c20800/spi1-cs0@0";
		spi1_pins_a = "/soc@01c00000/pinctrl@01c20800/spi1@0";
		spi2_cs0_pins_a = "/soc@01c00000/pinctrl@01c20800/spi2-cs0@0";
		spi2_pins_a = "/soc@01c00000/pinctrl@01c20800/spi2@0";
	};
 	ahci-5v {
		compatible = "regulator-fixed";
		enable-active-high;
		gpio = <0x1e 0x1 0x8 0x0>;
		pinctrl-0 = <0x3c>;
		pinctrl-names = "default";
		regulator-boot-on;
		regulator-max-microvolt = <0x4c4b40>;
		regulator-min-microvolt = <0x4c4b40>;
		regulator-name = "ahci-5v";
		status = "disabled";
	};
 	aliases {
		serial0 = "/soc@01c00000/serial@01c28400";
	};
 	backlight: backlight {
		compatible = "gpio-backlight";
		gpios = <0x1e 0x3 0x17 0x0>;
	};
 	bridge {
		#address-cells = <0x1>;
		#size-cells = <0x0>;
		compatible = "dumb-vga-dac";
 		ports {
			#address-cells = <0x1>;
			#size-cells = <0x0>;
 			port@1 {
				reg = <0x1>;
 				endpoint {
					linux,phandle = <0x42>;
					phandle = <0x42>;
					remote-endpoint = <0x41>;
				};
			};
		};
	};
 	chosen {
		#address-cells = <0x1>;
		#size-cells = <0x1>;
		ranges;
		stdout-path = "serial0:115200n8";
 		framebuffer@0 {
			allwinner,pipeline = "de_be0-lcd0";
			clocks = <0x2 0x24 0x2 0x2c 0x3 0x4 0x5 0x1a>;
			compatible = "allwinner,simple-framebuffer", "simple-framebuffer";
//			status = "disabled";
		};
	};
 	clocks {
		#address-cells = <0x1>;
		#size-cells = <0x1>;
		ranges;
 		ahb@01c20054 {
			#clock-cells = <0x0>;
			assigned-clock-parents = <0xf 0x1>;
			assigned-clocks = <0x10>;
			clock-output-names = "ahb";
			clocks = <0xe 0x6 0xf 0x1>;
			compatible = "allwinner,sun5i-a13-ahb-clk";
			linux,phandle = <0x10>;
			phandle = <0x10>;
			reg = <0x1c20054 0x4>;
		};
 		apb0@01c20054 {
			#clock-cells = <0x0>;
			clock-output-names = "apb0";
			clocks = <0x10>;
			compatible = "allwinner,sun4i-a10-apb0-clk";
			linux,phandle = <0x13>;
			phandle = <0x13>;
			reg = <0x1c20054 0x4>;
		};
 		axi@01c20054 {
			#clock-cells = <0x0>;
			clock-output-names = "axi";
			clocks = <0x6>;
			compatible = "allwinner,sun4i-a10-axi-clk";
			linux,phandle = <0xe>;
			phandle = <0xe>;
			reg = <0x1c20054 0x4>;
		};
 		clk@0 {
			#clock-cells = <0x0>;
			clock-frequency = <0x8000>;
			clock-output-names = "osc32k";
			compatible = "fixed-clock";
			linux,phandle = <0xb>;
			phandle = <0xb>;
		};
 		clk@01c20000 {
			#clock-cells = <0x0>;
			clock-output-names = "pll1";
			clocks = <0x7>;
			compatible = "allwinner,sun4i-a10-pll1-clk";
			linux,phandle = <0xc>;
			phandle = <0xc>;
			reg = <0x1c20000 0x4>;
		};
 		clk@01c20008 {
			#clock-cells = <0x1>;
			clock-output-names = "pll2-1x", "pll2-2x", "pll2-4x", "pll2-8x";
			clocks = <0x7>;
			compatible = "allwinner,sun5i-a13-pll2-clk";
			linux,phandle = <0x12>;
			phandle = <0x12>;
			reg = <0x1c20008 0x8>;
		};
 		clk@01c20010 {
			#clock-cells = <0x0>;
			clock-output-names = "pll3";
			clocks = <0x8>;
			compatible = "allwinner,sun4i-a10-pll3-clk";
			linux,phandle = <0x9>;
			phandle = <0x9>;
			reg = <0x1c20010 0x4>;
		};
 		clk@01c20018 {
			#clock-cells = <0x0>;
			clock-output-names = "pll4";
			clocks = <0x7>;
			compatible = "allwinner,sun4i-a10-pll1-clk";
			reg = <0x1c20018 0x4>;
		};
 		clk@01c20020 {
			#clock-cells = <0x1>;
			clock-output-names = "pll5_ddr", "pll5_other";
			clocks = <0x7>;
			compatible = "allwinner,sun4i-a10-pll5-clk";
			linux,phandle = <0x11>;
			phandle = <0x11>;
			reg = <0x1c20020 0x4>;
		};
 		clk@01c20028 {
			#clock-cells = <0x1>;
			clock-output-names = "pll6_sata", "pll6_other", "pll6";
			clocks = <0x7>;
			compatible = "allwinner,sun4i-a10-pll6-clk";
			linux,phandle = <0xf>;
			phandle = <0xf>;
			reg = <0x1c20028 0x4>;
		};
 		clk@01c20030 {
			#clock-cells = <0x0>;
			clock-output-names = "pll7";
			clocks = <0x8>;
			compatible = "allwinner,sun4i-a10-pll3-clk";
			linux,phandle = <0xa>;
			phandle = <0xa>;
			reg = <0x1c20030 0x4>;
		};
 		clk@01c20050 {
			#clock-cells = <0x0>;
			clock-frequency = <0x16e3600>;
			clock-output-names = "osc24M";
			compatible = "allwinner,sun4i-a10-osc-clk";
			linux,phandle = <0x7>;
			phandle = <0x7>;
			reg = <0x1c20050 0x4>;
		};
 		clk@01c20058 {
			#clock-cells = <0x0>;
			clock-output-names = "apb1";
			clocks = <0x7 0xf 0x1 0xb>;
			compatible = "allwinner,sun4i-a10-apb1-clk";
			linux,phandle = <0x14>;
			phandle = <0x14>;
			reg = <0x1c20058 0x4>;
		};
 		clk@01c2005c {
			#clock-cells = <0x1>;
			clock-indices = <0x0>;
			clock-output-names = "axi_dram";
			clocks = <0xe>;
			compatible = "allwinner,sun4i-a10-axi-gates-clk";
			reg = <0x1c2005c 0x4>;
		};
 		clk@01c20060 {
			#clock-cells = <0x1>;
			clock-indices = <0x0 0x1 0x2 0x5 0x6 0x7 0x8 0x9 0xa 0xd 0xe 0x14 0x15 0x16 0x1c 0x20 0x22 0x24 0x28 0x2c 0x2e 0x33 0x34>;
			clock-output-names = "ahb_usbotg", "ahb_ehci", "ahb_ohci", "ahb_ss", "ahb_dma", "ahb_bist", "ahb_mmc0", "ahb_mmc1", "ahb_mmc2", "ahb_nand", "ahb_sdram", "ahb_spi0", "ahb_spi1", "ahb_spi2", "ahb_stimer", "ahb_ve", "ahb_tve", "ahb_lcd", "ahb_csi", "ahb_de_be", "ahb_de_fe", "ahb_iep", "ahb_mali400";
			clocks = <0x10>;
			compatible = "allwinner,sun5i-a13-ahb-gates-clk";
			linux,phandle = <0x2>;
			phandle = <0x2>;
			reg = <0x1c20060 0x8>;
		};
 		clk@01c20068 {
			#clock-cells = <0x1>;
			clock-indices = <0x0 0x5 0x6>;
			clock-output-names = "apb0_codec", "apb0_pio", "apb0_ir";
			clocks = <0x13>;
			compatible = "allwinner,sun5i-a13-apb0-gates-clk";
			linux,phandle = <0x2b>;
			phandle = <0x2b>;
			reg = <0x1c20068 0x4>;
		};
 		clk@01c2006c {
			#clock-cells = <0x1>;
			clock-indices = <0x0 0x1 0x2 0x11 0x13>;
			clock-output-names = "apb1_i2c0", "apb1_i2c1", "apb1_i2c2", "apb1_uart1", "apb1_uart3";
			clocks = <0x14>;
			compatible = "allwinner,sun5i-a13-apb1-gates-clk";
			linux,phandle = <0x2d>;
			phandle = <0x2d>;
			reg = <0x1c2006c 0x4>;
		};
 		clk@01c20080 {
			#clock-cells = <0x0>;
			clock-output-names = "nand";
			clocks = <0x7 0xf 0x1 0x11 0x1>;
			compatible = "allwinner,sun4i-a10-mod0-clk";
			reg = <0x1c20080 0x4>;
		};
 		clk@01c20084 {
			#clock-cells = <0x0>;
			clock-output-names = "ms";
			clocks = <0x7 0xf 0x1 0x11 0x1>;
			compatible = "allwinner,sun4i-a10-mod0-clk";
			reg = <0x1c20084 0x4>;
		};
 		clk@01c20088 {
			#clock-cells = <0x1>;
			clock-output-names = "mmc0", "mmc0_output", "mmc0_sample";
			clocks = <0x7 0xf 0x1 0x11 0x1>;
			compatible = "allwinner,sun4i-a10-mmc-clk";
			linux,phandle = <0x1a>;
			phandle = <0x1a>;
			reg = <0x1c20088 0x4>;
		};
 		clk@01c2008c {
			#clock-cells = <0x1>;
			clock-output-names = "mmc1", "mmc1_output", "mmc1_sample";
			clocks = <0x7 0xf 0x1 0x11 0x1>;
			compatible = "allwinner,sun4i-a10-mmc-clk";
			linux,phandle = <0x1f>;
			phandle = <0x1f>;
			reg = <0x1c2008c 0x4>;
		};
 		clk@01c20090 {
			#clock-cells = <0x1>;
			clock-output-names = "mmc2", "mmc2_output", "mmc2_sample";
			clocks = <0x7 0xf 0x1 0x11 0x1>;
			compatible = "allwinner,sun4i-a10-mmc-clk";
			linux,phandle = <0x20>;
			phandle = <0x20>;
			reg = <0x1c20090 0x4>;
		};
 		clk@01c20098 {
			#clock-cells = <0x0>;
			clock-output-names = "ts";
			clocks = <0x7 0xf 0x1 0x11 0x1>;
			compatible = "allwinner,sun4i-a10-mod0-clk";
			reg = <0x1c20098 0x4>;
		};
 		clk@01c2009c {
			#clock-cells = <0x0>;
			clock-output-names = "ss";
			clocks = <0x7 0xf 0x1 0x11 0x1>;
			compatible = "allwinner,sun4i-a10-mod0-clk";
			reg = <0x1c2009c 0x4>;
		};
 		clk@01c200a0 {
			#clock-cells = <0x0>;
			clock-output-names = "spi0";
			clocks = <0x7 0xf 0x1 0x11 0x1>;
			compatible = "allwinner,sun4i-a10-mod0-clk";
			linux,phandle = <0x17>;
			phandle = <0x17>;
			reg = <0x1c200a0 0x4>;
		};
 		clk@01c200a4 {
			#clock-cells = <0x0>;
			clock-output-names = "spi1";
			clocks = <0x7 0xf 0x1 0x11 0x1>;
			compatible = "allwinner,sun4i-a10-mod0-clk";
			linux,phandle = <0x19>;
			phandle = <0x19>;
			reg = <0x1c200a4 0x4>;
		};
 		clk@01c200a8 {
			#clock-cells = <0x0>;
			clock-output-names = "spi2";
			clocks = <0x7 0xf 0x1 0x11 0x1>;
			compatible = "allwinner,sun4i-a10-mod0-clk";
			linux,phandle = <0x2a>;
			phandle = <0x2a>;
			reg = <0x1c200a8 0x4>;
		};
 		clk@01c200b0 {
			#clock-cells = <0x0>;
			clock-output-names = "ir0";
			clocks = <0x7 0xf 0x1 0x11 0x1>;
			compatible = "allwinner,sun4i-a10-mod0-clk";
			reg = <0x1c200b0 0x4>;
		};
 		clk@01c200cc {
			#clock-cells = <0x1>;
			#reset-cells = <0x1>;
			clock-output-names = "usb_ohci0", "usb_phy";
			clocks = <0xf 0x1>;
			compatible = "allwinner,sun5i-a13-usb-clk";
			linux,phandle = <0x25>;
			phandle = <0x25>;
			reg = <0x1c200cc 0x4>;
		};
 		clk@01c20100 {
			#clock-cells = <0x1>;
			clock-indices = <0x0 0x1 0x19 0x1a 0x1d 0x1f>;
			clock-output-names = "dram_ve", "dram_csi", "dram_de_fe", "dram_de_be", "dram_ace", "dram_iep";
			clocks = <0x11 0x0>;
			compatible = "allwinner,sun5i-a13-dram-gates-clk", "allwinner,sun4i-a10-gates-clk";
			linux,phandle = <0x5>;
			phandle = <0x5>;
			reg = <0x1c20100 0x4>;
		};
 		clk@01c20104 {
			#clock-cells = <0x0>;
			#reset-cells = <0x0>;
			clock-output-names = "de-be";
			clocks = <0x9 0xa 0x11 0x1>;
			compatible = "allwinner,sun4i-a10-display-clk";
			linux,phandle = <0x3>;
			phandle = <0x3>;
			reg = <0x1c20104 0x4>;
		};
 		clk@01c2010c {
			#clock-cells = <0x0>;
			#reset-cells = <0x0>;
			clock-output-names = "de-fe";
			clocks = <0x9 0xa 0x11 0x1>;
			compatible = "allwinner,sun4i-a10-display-clk";
			linux,phandle = <0x34>;
			phandle = <0x34>;
			reg = <0x1c2010c 0x4>;
		};
 		clk@01c20118 {
			#clock-cells = <0x0>;
			#reset-cells = <0x1>;
			clock-output-names = "tcon-ch0-sclk";
			clocks = <0x9 0xa 0x15 0x16>;
			compatible = "allwinner,sun4i-a10-tcon-ch0-clk";
			linux,phandle = <0x4>;
			phandle = <0x4>;
			reg = <0x1c20118 0x4>;
		};
 		clk@01c2012c {
			#clock-cells = <0x0>;
			clock-output-names = "tcon-ch1-sclk";
			clocks = <0x9 0xa 0x15 0x16>;
			compatible = "allwinner,sun4i-a10-tcon-ch1-clk";
			linux,phandle = <0x32>;
			phandle = <0x32>;
			reg = <0x1c2012c 0x4>;
		};
 		clk@01c20140 {
			#clock-cells = <0x0>;
			clock-output-names = "codec";
			clocks = <0x12 0x0>;
			compatible = "allwinner,sun4i-a10-codec-clk";
			linux,phandle = <0x2c>;
			phandle = <0x2c>;
			reg = <0x1c20140 0x4>;
		};
 		clk@01c2015c {
			#clock-cells = <0x0>;
			clock-output-names = "mbus";
			clocks = <0x7 0xf 0x1 0x11 0x1>;
			compatible = "allwinner,sun5i-a13-mbus-clk";
			reg = <0x1c2015c 0x4>;
		};
 		cpu@01c20054 {
			#clock-cells = <0x0>;
			clock-output-names = "cpu";
			clocks = <0xb 0x7 0xc 0xd>;
			compatible = "allwinner,sun4i-a10-cpu-clk";
			linux,phandle = <0x6>;
			phandle = <0x6>;
			reg = <0x1c20054 0x4>;
		};
 		dummy {
			#clock-cells = <0x0>;
			clock-frequency = <0x0>;
			compatible = "fixed-clock";
			linux,phandle = <0xd>;
			phandle = <0xd>;
		};
 		osc3M_clk {
			#clock-cells = <0x0>;
			clock-div = <0x8>;
			clock-mult = <0x1>;
			clock-output-names = "osc3M";
			clocks = <0x7>;
			compatible = "fixed-factor-clock";
			linux,phandle = <0x8>;
			phandle = <0x8>;
		};
 		pll3x2_clk {
			#clock-cells = <0x0>;
			clock-div = <0x1>;
			clock-mult = <0x2>;
			clock-output-names = "pll3-2x";
			clocks = <0x9>;
			compatible = "allwinner,sun4i-a10-pll3-2x-clk", "fixed-factor-clock";
			linux,phandle = <0x15>;
			phandle = <0x15>;
		};
 		pll7x2_clk {
			#clock-cells = <0x0>;
			clock-div = <0x1>;
			clock-mult = <0x2>;
			clock-output-names = "pll7-2x";
			clocks = <0xa>;
			compatible = "fixed-factor-clock";
			linux,phandle = <0x16>;
			phandle = <0x16>;
		};
	};
 	cpus {
		#address-cells = <0x1>;
		#size-cells = <0x0>;
 		cpu@0 {
			#cooling-cells = <0x2>;
			clock-latency = <0x3b9b0>;
			clocks = <0x6>;
			compatible = "arm,cortex-a8";
			cooling-max-level = <0x5>;
			cooling-min-level = <0x0>;
			device_type = "cpu";
			linux,phandle = <0x3a>;
			operating-points = <0x10d880 0x155cc0 0xf6180 0x155cc0 0x8b2900 0x149970 0xd2f00 0x13d620 0x98580 0x124f80 0x8ca00 0x124f80 0x69780 0x124f80>;
			phandle = <0x3a>;
			reg = <0x0>;
		};
	};
 	display-engine {
		allwinner,pipelines = <&fe0>;
		compatible = "allwinner,sun5i-a13-display-engine";
	};
 	leds {
		compatible = "gpio-leds";
		pinctrl-0 = <0x40>;
		pinctrl-names = "default";
 		heartbeat {
			gpios = <0x1e 0x3 0xc 0x0>;
			linux,default-trigger = "heartbeat";
		};
 		storage {
			gpios = <0x1e 0x3 0xd 0x0>;
			linux,default-trigger = "mmc0";
		};
	};
 	memory {
		device_type = "memory";
		reg = <0x0 0x0>;
	};
 	soc@01c00000 {
		#address-cells = <0x1>;
		#size-cells = <0x1>;
		compatible = "simple-bus";
		ranges;
 		codec@01c22c00 {
			#sound-dai-cells = <0x0>;
			clock-names = "apb", "codec";
			clocks = <0x2b 0x0 0x2c>;
			compatible = "allwinner,sun4i-a10-codec";
			dma-names = "rx", "tx";
			dmas = <0x18 0x0 0x13 0x18 0x0 0x13>;
			interrupts = <0x1e>;
			reg = <0x1c22c00 0x40>;
			status = "okay";
		};
 		be0: display-backend@01e60000 {
			assigned-clock-rates = <0x11e1a300>;
			assigned-clocks = <0x3>;
			clock-names = "ahb", "mod", "ram";
			clocks = <0x2 0x2c 0x3 0x5 0x1a>;
			compatible = "allwinner,sun5i-a13-display-backend";
			reg = <0x1e60000 0x10000>;
			resets = <0x3>;
			status = "okay";
 			ports {
				#address-cells = <0x1>;
				#size-cells = <0x0>;
 				be0_in: port@0 {
					#address-cells = <0x1>;
					#size-cells = <0x0>;
					reg = <0x0>;
 					be0_in_fe0: endpoint@0 {
						linux,phandle = <0x35>;
						phandle = <0x35>;
						reg = <0x0>;
						remote-endpoint = <&fe0_out_be0>;
					};
				};
 				be0_out: port@1 {
					#address-cells = <0x1>;
					#size-cells = <0x0>;
					reg = <0x1>;
 					be0_out_tcon0: endpoint@0 {
						linux,phandle = <0x33>;
						phandle = <0x33>;
						reg = <0x0>;
						remote-endpoint = <&tcon0_in_be0>;
					};
				};
			};
		};
 		fe0: display-frontend@01e00000 {
			clock-names = "ahb", "mod", "ram";
			clocks = <0x2 0x2e 0x34 0x5 0x19>;
			compatible = "allwinner,sun5i-a13-display-frontend";
			interrupts = <0x2f>;
			linux,phandle = <0x3b>;
			phandle = <0x3b>;
			reg = <0x1e00000 0x20000>;
			resets = <0x34>;
 			ports {
				#address-cells = <0x1>;
				#size-cells = <0x0>;
 				fe0_out: port@1 {
					#address-cells = <0x1>;
					#size-cells = <0x0>;
					reg = <0x1>;
 					fe0_out_be0: endpoint@0 {
						linux,phandle = <0x36>;
						phandle = <0x36>;
						reg = <0x0>;
						remote-endpoint = <&be0_in_fe0>;
					};
				};
			};
		};
 		dma-controller@01c02000 {
			#dma-cells = <0x2>;
			clocks = <0x2 0x6>;
			compatible = "allwinner,sun4i-a10-dma";
			interrupts = <0x1b>;
			linux,phandle = <0x18>;
			phandle = <0x18>;
			reg = <0x1c02000 0x1000>;
		};
 		eeprom@01c23800 {
			compatible = "allwinner,sun4i-a10-sid";
			reg = <0x1c23800 0x10>;
		};
 		i2c@01c2ac00 {
			#address-cells = <0x1>;
			#size-cells = <0x0>;
			clocks = <0x2d 0x0>;
			compatible = "allwinner,sun4i-a10-i2c";
			interrupts = <0x7>;
			pinctrl-0 = <0x2f>;
			pinctrl-names = "default";
			reg = <0x1c2ac00 0x400>;
			status = "okay";
 			pmic@34 {
				#interrupt-cells = <0x1>;
				compatible = "x-powers,axp209";
				interrupt-controller;
				interrupts = <0x0>;
				reg = <0x34>;
			};
		};
 		i2c@01c2b000 {
			#address-cells = <0x1>;
			#size-cells = <0x0>;
			clocks = <0x2d 0x1>;
			compatible = "allwinner,sun4i-a10-i2c";
			interrupts = <0x8>;
			pinctrl-0 = <0x30>;
			pinctrl-names = "default";
			reg = <0x1c2b000 0x400>;
			status = "okay";
		};
 		i2c@01c2b400 {
			#address-cells = <0x1>;
			#size-cells = <0x0>;
			clocks = <0x2d 0x2>;
			compatible = "allwinner,sun4i-a10-i2c";
			interrupts = <0x9>;
			pinctrl-0 = <0x31>;
			pinctrl-names = "default";
			reg = <0x1c2b400 0x400>;
			status = "okay";
		};
 		interrupt-controller@01c20400 {
			#interrupt-cells = <0x1>;
			compatible = "allwinner,sun4i-a10-ic";
			interrupt-controller;
			linux,phandle = <0x1>;
			phandle = <0x1>;
			reg = <0x1c20400 0x400>;
		};
 		lcd-controller@01c0c000 {
			clock-names = "ahb", "tcon-ch0", "tcon-ch1";
			clock-output-names = "tcon-pixel-clock";
			clocks = <0x2 0x24 0x4 0x32>;
			compatible = "allwinner,sun5i-a13-tcon";
			interrupts = <0x2c>;
			reg = <0x1c0c000 0x1000>;
			reset-names = "lcd";
			resets = <0x4 0x1>;
 			ports {
				#address-cells = <0x1>;
				#size-cells = <0x0>;
 				tcon0_in: port@0 {
					#address-cells = <0x1>;
					#size-cells = <0x0>;
					reg = <0x0>;
 					tcon0_in_be0: endpoint@0 {
						linux,phandle = <0x37>;
						phandle = <0x37>;
						reg = <0x0>;
						remote-endpoint = <0x33>;
					};
				};
 				tcon0_out: port@1 {
					#address-cells = <0x1>;
					#size-cells = <0x0>;
					reg = <0x1>;
					tcon0_out_panel: endpoint@0 {
						reg = <0>;
						remote-endpoint = <&panel_input>;
					};
				};
			};
		};
 		lradc@01c22800 {
			compatible = "allwinner,sun4i-a10-lradc-keys";
			interrupts = <0x1f>;
			reg = <0x1c22800 0x100>;
			status = "disabled";
		};
 		mmc@01c0f000 {
			#address-cells = <0x1>;
			#size-cells = <0x0>;
			bus-width = <0x4>;
			cd-gpios = <0x1e 0x6 0x0 0x0>;
			cd-inverted;
			clock-names = "ahb", "mmc", "output", "sample";
			clocks = <0x2 0x8 0x1a 0x0 0x1a 0x1 0x1a 0x2>;
			compatible = "allwinner,sun5i-a13-mmc";
			interrupts = <0x20>;
			pinctrl-0 = <0x1b 0x1c>;
			pinctrl-names = "default";
			reg = <0x1c0f000 0x1000>;
			status = "okay";
			vmmc-supply = <0x1d>;
		};
 		mmc@01c10000 {
			#address-cells = <0x1>;
			#size-cells = <0x0>;
			clock-names = "ahb", "mmc", "output", "sample";
			clocks = <0x2 0x9 0x1f 0x0 0x1f 0x1 0x1f 0x2>;
			compatible = "allwinner,sun5i-a13-mmc";
			interrupts = <0x21>;
			reg = <0x1c10000 0x1000>;
			status = "disabled";
		};
 		mmc@01c11000 {
			#address-cells = <0x1>;
			#size-cells = <0x0>;
			bus-width = <0x4>;
			cd-gpios = <0x1e 0x2 0xc 0x0>;
			cd-inverted;
			clock-names = "ahb", "mmc", "output", "sample";
			clocks = <0x2 0xa 0x20 0x0 0x20 0x1 0x20 0x2>;
			compatible = "allwinner,sun5i-a13-mmc";
			interrupts = <0x22>;
			pinctrl-0 = <0x21 0x22>;
			pinctrl-names = "default";
			reg = <0x1c11000 0x1000>;
			status = "okay";
			vmmc-supply = <0x1d>;
 			mmccard@0 {
				broken-hpi;
				compatible = "mmc-card";
				reg = <0x0>;
			};
		};
 		phy@01c13400 {
			#phy-cells = <0x1>;
			clock-names = "usb_phy";
			clocks = <0x25 0x8>;
			compatible = "allwinner,sun5i-a13-usb-phy";
			linux,phandle = <0x23>;
			phandle = <0x23>;
			pinctrl-0 = <0x26 0x27>;
			pinctrl-names = "default";
			reg = <0x1c13400 0x10 0x1c14800 0x4>;
			reg-names = "phy_ctrl", "pmu1";
			reset-names = "usb0_reset", "usb1_reset";
			resets = <0x25 0x0 0x25 0x1>;
			status = "okay";
			usb0_id_det-gpio = <0x1e 0x6 0x2 0x0>;
			usb0_vbus-supply = <0x28>;
			usb0_vbus_det-gpio = <0x1e 0x6 0x1 0x0>;
			usb1_vbus-supply = <0x29>;
		};
 		pinctrl@01c20800 {
			#gpio-cells = <0x3>;
			#interrupt-cells = <0x3>;
			clock-names = "apb", "hosc", "losc";
			clocks = <0x2b 0x5 0x7 0xb>;
			compatible = "allwinner,sun5i-a13-pinctrl";
			gpio-controller;
			interrupt-controller;
			interrupts = <0x1c>;
			linux,phandle = <0x1e>;
			phandle = <0x1e>;
			reg = <0x1c20800 0x400>;
 			ahci_pwr_pin@0 {
				allwinner,drive = <0x0>;
				allwinner,function = "gpio_out";
				allwinner,pins = "PB8";
				allwinner,pull = <0x0>;
				linux,phandle = <0x3c>;
				phandle = <0x3c>;
			};
 			i2c0@0 {
				allwinner,drive = <0x0>;
				allwinner,function = "i2c0";
				allwinner,pins = "PB0", "PB1";
				allwinner,pull = <0x0>;
				linux,phandle = <0x2f>;
				phandle = <0x2f>;
			};
 			i2c1@0 {
				allwinner,drive = <0x0>;
				allwinner,function = "i2c1";
				allwinner,pins = "PB15", "PB16";
				allwinner,pull = <0x0>;
				linux,phandle = <0x30>;
				phandle = <0x30>;
			};
 			i2c2@0 {
				allwinner,drive = <0x0>;
				allwinner,function = "i2c2";
				allwinner,pins = "PB17", "PB18";
				allwinner,pull = <0x0>;
				linux,phandle = <0x31>;
				phandle = <0x31>;
			};
 			lcd_rgb565@0 {
				allwinner,drive = <0x0>;
				allwinner,function = "lcd0";
				allwinner,pins = "PD3", "PD4", "PD5", "PD6", "PD7", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PD19", "PD20", "PD21", "PD22", "PD23", "PD24", "PD25", "PD26", "PD27";
				allwinner,pull = <0x0>;
			};
 			lcd_rgb666@0 {
				allwinner,drive = <0x0>;
				allwinner,function = "lcd0";
				allwinner,pins = "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PD18", "PD19", "PD20", "PD21", "PD22", "PD23", "PD24", "PD25", "PD26", "PD27";
				allwinner,pull = <0x0>;
			};
 			led_pins@0 {
				allwinner,drive = <0x1>;
				allwinner,function = "gpio_out";
				allwinner,pins = "PD4", "PD5", "PD6", "PD7", "PD10", "PD11", "PD12", "PD13", "PD14", "PD21", "PD22";
				allwinner,pull = <0x0>;
				linux,phandle = <0x40>;
				phandle = <0x40>;
			};
 			mmc0@0 {
				allwinner,drive = <0x2>;
				allwinner,function = "mmc0";
				allwinner,pins = "PF0", "PF1", "PF2", "PF3", "PF4", "PF5";
				allwinner,pull = <0x0>;
				linux,phandle = <0x1b>;
				phandle = <0x1b>;
			};
 			mmc0_cd_pin@0 {
				allwinner,drive = <0x0>;
				allwinner,function = "gpio_in";
				allwinner,pins = "PG0";
				allwinner,pull = <0x1>;
				linux,phandle = <0x1c>;
				phandle = <0x1c>;
			};
 			mmc2@0 {
				allwinner,drive = <0x2>;
				allwinner,function = "mmc2";
				allwinner,pins = "PC6", "PC7", "PC8", "PC9", "PC10", "PC11";
				allwinner,pull = <0x0>;
				linux,phandle = <0x21>;
				phandle = <0x21>;
			};
 			mmc2_cd_pin@0 {
				allwinner,drive = <0x0>;
				allwinner,function = "gpio_in";
				allwinner,pins = "PC12";
				allwinner,pull = <0x1>;
				linux,phandle = <0x22>;
				phandle = <0x22>;
			};
 			backlight_pwm: pwm0 {
				allwinner,drive = <0x0>;
				allwinner,function = "pwm";
				allwinner,pins = "PB2";
				allwinner,pull = <0x0>;
			};
 			spi0-cs0@0 {
				allwinner,drive = <0x0>;
				allwinner,function = "spi0";
				allwinner,pins = "PC3";
				allwinner,pull = <0x0>;
				linux,phandle = <0x44>;
				phandle = <0x44>;
			};
 			spi0@0 {
				allwinner,drive = <0x0>;
				allwinner,function = "spi0";
				allwinner,pins = "PC2", "PC0", "PC1";
				allwinner,pull = <0x0>;
				linux,phandle = <0x43>;
				phandle = <0x43>;
			};
 			spi1-cs0@0 {
				allwinner,drive = <0x0>;
				allwinner,function = "spi1";
				allwinner,pins = "PG9";
				allwinner,pull = <0x0>;
				linux,phandle = <0x46>;
				phandle = <0x46>;
			};
 			spi1@0 {
				allwinner,drive = <0x0>;
				allwinner,function = "spi1";
				allwinner,pins = "PG10", "PG11", "PG12";
				allwinner,pull = <0x0>;
				linux,phandle = <0x45>;
				phandle = <0x45>;
			};
 			spi2-cs0@0 {
				allwinner,drive = <0x0>;
				allwinner,function = "spi2";
				allwinner,pins = "PE0";
				allwinner,pull = <0x0>;
				linux,phandle = <0x48>;
				phandle = <0x48>;
			};
 			spi2@0 {
				allwinner,drive = <0x0>;
				allwinner,function = "spi2";
				allwinner,pins = "PE1", "PE2", "PE3";
				allwinner,pull = <0x0>;
				linux,phandle = <0x47>;
				phandle = <0x47>;
			};
 			uart1@0 {
				allwinner,drive = <0x0>;
				allwinner,function = "uart1";
				allwinner,pins = "PE10", "PE11";
				allwinner,pull = <0x0>;
			};
 			uart1@1 {
				allwinner,drive = <0x0>;
				allwinner,function = "uart1";
				allwinner,pins = "PG3", "PG4";
				allwinner,pull = <0x0>;
				linux,phandle = <0x2e>;
				phandle = <0x2e>;
			};
 			usb0_id_detect_pin@0 {
				allwinner,drive = <0x0>;
				allwinner,function = "gpio_in";
				allwinner,pins = "PG2";
				allwinner,pull = <0x1>;
				linux,phandle = <0x26>;
				phandle = <0x26>;
			};
 			usb0_vbus_detect_pin@0 {
				allwinner,drive = <0x0>;
				allwinner,function = "gpio_in";
				allwinner,pins = "PG1";
				allwinner,pull = <0x2>;
				linux,phandle = <0x27>;
				phandle = <0x27>;
			};
 			usb0_vbus_pin@0 {
				allwinner,drive = <0x0>;
				allwinner,function = "gpio_out";
				allwinner,pins = "PD15";
				allwinner,pull = <0x0>;
				linux,phandle = <0x3d>;
				phandle = <0x3d>;
			};
 			usb1_vbus_pin@0 {
				allwinner,drive = <0x0>;
				allwinner,function = "gpio_out";
				allwinner,pins = "PD26";
				allwinner,pull = <0x0>;
				linux,phandle = <0x3e>;
				phandle = <0x3e>;
			};
 			usb2_vbus_pin@0 {
				allwinner,drive = <0x0>;
				allwinner,function = "gpio_out";
				allwinner,pins = "PH3";
				allwinner,pull = <0x0>;
				linux,phandle = <0x3f>;
				phandle = <0x3f>;
			};
		};
 		pwm: pwm@01c20e00 {
			#pwm-cells = <0x3>;
			clocks = <0x7>;
			compatible = "allwinner,sun5i-a13-pwm";
			reg = <0x1c20e00 0xc>;
			status = "disabled";
		};
 		rtp@01c25000 {
			#thermal-sensor-cells = <0x0>;
			compatible = "allwinner,sun5i-a13-ts";
			interrupts = <0x1d>;
			linux,phandle = <0x38>;
			phandle = <0x38>;
			reg = <0x1c25000 0x100>;
		};
 		serial@01c28400 {
			clocks = <0x2d 0x11>;
			compatible = "snps,dw-apb-uart";
			interrupts = <0x2>;
			pinctrl-0 = <0x2e>;
			pinctrl-names = "default";
			reg = <0x1c28400 0x400>;
			reg-io-width = <0x4>;
			reg-shift = <0x2>;
			status = "okay";
		};
 		serial@01c28c00 {
			clocks = <0x2d 0x13>;
			compatible = "snps,dw-apb-uart";
			interrupts = <0x4>;
			reg = <0x1c28c00 0x400>;
			reg-io-width = <0x4>;
			reg-shift = <0x2>;
			status = "disabled";
		};
 		spi0: spi@01c05000 {
			#address-cells = <0x1>;
			#size-cells = <0x0>;
			clock-names = "ahb", "mod";
			clocks = <0x2 0x14 0x17>;
			compatible = "allwinner,sun4i-a10-spi";
			dma-names = "rx", "tx";
			dmas = <0x18 0x1 0x1b 0x18 0x1 0x1a>;
			interrupts = <0xa>;
			pinctrl-0 = <0x43 0x44>;
			pinctrl-names = "default";
			reg = <0x1c05000 0x1000>;
			status = "okay";
 			touchscreen@0 {
				compatible = "ti,ads7846";
				reg = <0>;
 				spi-max-frequency = <2000000>;
				pendown-gpio = <0x1e 0x1 0xd 0x0>;
				ti,x-plate-ohms = /bits/ 16 <100>;
				ti,pressure-max = /bits/ 16 <255>;
			};
		};
 		spi1: spi@01c06000 {
			#address-cells = <0x1>;
			#size-cells = <0x0>;
			clock-names = "ahb", "mod";
			clocks = <0x2 0x15 0x19>;
			compatible = "allwinner,sun4i-a10-spi";
			dma-names = "rx", "tx";
			dmas = <0x18 0x1 0x9 0x18 0x1 0x8>;
			interrupts = <0xb>;
			pinctrl-0 = <0x45 0x46>;
			pinctrl-names = "default";
			reg = <0x1c06000 0x1000>;
			status = "okay";
/*
// tinydrm mode
 			mi0283qt@0{
				compatible = "mi,mi0283qt";
 				reg = <0>;
				spi-max-frequency = <32000000>;
				rotation = <180>;
				bgr;
				buswidth = <8>;
				reset-gpios = <0x1e 0x3 0x15 0x0>;
				dc-gpios = <0x1e 0x3 0x7 0x0>;
				backlight = <&backlight>;
				debug = <3>;
			};
*/
// fbtft mode
 			ili9341@0{
				compatible = "ilitek,ili9341";
 				reg = <0>;
				spi-max-frequency = <32000000>;
				rotate = <270>;
				fps = <30>;
				bgr;
				buswidth = <8>;
				backlight = <&backlight>;
//				reset-gpios = <0x1e 0x1 0x2 0x0>; // testing because this driver returns gpio# on err
				reset-gpios = <0x1e 0x3 0x15 0x1>;
				dc-gpios = <0x1e 0x3 0x7 0x1>;
				debug = <3>;
			};
 		};
 		spi2: spi@01c17000 {
			#address-cells = <0x1>;
			#size-cells = <0x0>;
			clock-names = "ahb", "mod";
			clocks = <0x2 0x16 0x2a>;
			compatible = "allwinner,sun4i-a10-spi";
			dma-names = "rx", "tx";
			dmas = <0x18 0x1 0x1d 0x18 0x1 0x1c>;
			interrupts = <0xc>;
			pinctrl-0 = <0x47 0x48>;
			pinctrl-names = "default";
			reg = <0x1c17000 0x1000>;
			status = "okay";
 			spidev@0 {
				compatible = "rohm,dh2228fv";
				reg = <0x0>;
				spi-max-frequency = <0x989680>;
			};
		};
 		sram-controller@01c00000 {
			#address-cells = <0x1>;
			#size-cells = <0x1>;
			compatible = "allwinner,sun4i-a10-sram-controller";
			ranges;
			reg = <0x1c00000 0x30>;
 			sram@00000000 {
				#address-cells = <0x1>;
				#size-cells = <0x1>;
				compatible = "mmio-sram";
				ranges = <0x0 0x0 0xc000>;
				reg = <0x0 0xc000>;
			};
 			sram@00010000 {
				#address-cells = <0x1>;
				#size-cells = <0x1>;
				compatible = "mmio-sram";
				ranges = <0x0 0x10000 0x1000>;
				reg = <0x10000 0x1000>;
 				sram-section@0000 {
					compatible = "allwinner,sun4i-a10-sram-d";
					linux,phandle = <0x24>;
					phandle = <0x24>;
					reg = <0x0 0x1000>;
					status = "okay";
				};
			};
		};
 		timer@01c20c00 {
			clocks = <0x7>;
			compatible = "allwinner,sun4i-a10-timer";
			interrupts = <0x16>;
			reg = <0x1c20c00 0x90>;
		};
 		timer@01c60000 {
			clocks = <0x2 0x1c>;
			compatible = "allwinner,sun5i-a13-hstimer";
			interrupts = <0x52 0x53>;
			reg = <0x1c60000 0x1000>;
		};
 		usb@01c13000 {
			allwinner,sram = <0x24 0x1>;
			clocks = <0x2 0x0>;
			compatible = "allwinner,sun4i-a10-musb";
			dr_mode = "otg";
			extcon = <0x23 0x0>;
			interrupt-names = "mc";
			interrupts = <0x26>;
			phy-names = "usb";
			phys = <0x23 0x0>;
			reg = <0x1c13000 0x400>;
			status = "okay";
		};
 		usb@01c14000 {
			clocks = <0x2 0x1>;
			compatible = "allwinner,sun5i-a13-ehci", "generic-ehci";
			interrupts = <0x27>;
			phy-names = "usb";
			phys = <0x23 0x1>;
			reg = <0x1c14000 0x100>;
			status = "okay";
		};
 		usb@01c14400 {
			clocks = <0x25 0x6 0x2 0x2>;
			compatible = "allwinner,sun5i-a13-ohci", "generic-ohci";
			interrupts = <0x28>;
			phy-names = "usb";
			phys = <0x23 0x1>;
			reg = <0x1c14400 0x100>;
			status = "okay";
		};
 		watchdog@01c20c90 {
			compatible = "allwinner,sun4i-a10-wdt";
			reg = <0x1c20c90 0x10>;
		};
	};
 	thermal-zones {
 		cpu_thermal {
			polling-delay = <0x3e8>;
			polling-delay-passive = <0xfa>;
			thermal-sensors = <0x38>;
 			cooling-maps {
 				map0 {
					cooling-device = <0x3a 0xffffffff 0xffffffff>;
					trip = <0x39>;
				};
			};
 			trips {
 				cpu_alert0 {
					hysteresis = <0x7d0>;
					linux,phandle = <0x39>;
					phandle = <0x39>;
					temperature = <0x14c08>;
					type = "passive";
				};
 				cpu_crit {
					hysteresis = <0x7d0>;
					temperature = <0x186a0>;
					type = "critical";
				};
			};
		};
	};
 	usb0-vbus {
		compatible = "regulator-fixed";
		enable-active-high;
		gpio = <0x1e 0x3 0xf 0x0>;
		linux,phandle = <0x28>;
		phandle = <0x28>;
		pinctrl-0 = <0x3d>;
		pinctrl-names = "default";
		regulator-max-microvolt = <0x4c4b40>;
		regulator-min-microvolt = <0x4c4b40>;
		regulator-name = "usb0-vbus";
		status = "okay";
	};
 	usb1-vbus {
		compatible = "regulator-fixed";
		enable-active-high;
		gpio = <0x1e 0x3 0x1a 0x0>;
		linux,phandle = <0x29>;
		phandle = <0x29>;
		pinctrl-0 = <0x3e>;
		pinctrl-names = "default";
		regulator-boot-on;
		regulator-max-microvolt = <0x4c4b40>;
		regulator-min-microvolt = <0x4c4b40>;
		regulator-name = "usb1-vbus";
		status = "okay";
	};
 	usb2-vbus {
		compatible = "regulator-fixed";
		enable-active-high;
		gpio = <0x1e 0x7 0x3 0x0>;
		pinctrl-0 = <0x3f>;
		pinctrl-names = "default";
		regulator-boot-on;
		regulator-max-microvolt = <0x4c4b40>;
		regulator-min-microvolt = <0x4c4b40>;
		regulator-name = "usb2-vbus";
		status = "disabled";
	};
 	vcc3v0 {
		compatible = "regulator-fixed";
		regulator-max-microvolt = <0x2dc6c0>;
		regulator-min-microvolt = <0x2dc6c0>;
		regulator-name = "vcc3v0";
	};
 	vcc3v3 {
		compatible = "regulator-fixed";
		linux,phandle = <0x1d>;
		phandle = <0x1d>;
		regulator-max-microvolt = <0x325aa0>;
		regulator-min-microvolt = <0x325aa0>;
		regulator-name = "vcc3v3";
	};
 	vcc5v0 {
		compatible = "regulator-fixed";
		regulator-max-microvolt = <0x4c4b40>;
		regulator-min-microvolt = <0x4c4b40>;
		regulator-name = "vcc5v0";
	};
 	panel: panel {
		compatible = "mi,mi0283qt";
 		port {
			panel_input: endpoint {
				linux,phandle = <0x41>;
				phandle = <0x41>;
				remote-endpoint = <&tcon0_out_panel>;
			};
		};
	};
};

Comments