/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>; }; }; }; };