diff --git a/external/packages/pack-uboot/sun50iw2/bin/boot_package.cfg b/external/packages/pack-uboot/sun50iw2/bin/boot_package.cfg new file mode 100755 index 000000000000..860655b265ab --- /dev/null +++ b/external/packages/pack-uboot/sun50iw2/bin/boot_package.cfg @@ -0,0 +1,6 @@ +[package] +;item=Item_TOC_name, Item_filename, +item=u-boot, u-boot.fex +item=monitor, monitor.fex +item=scp, scp.fex + diff --git a/external/packages/pack-uboot/sun50iw2/bin/boot_package.fex b/external/packages/pack-uboot/sun50iw2/bin/boot_package.fex new file mode 100755 index 000000000000..4eb4a863f063 --- /dev/null +++ b/external/packages/pack-uboot/sun50iw2/bin/boot_package.fex @@ -0,0 +1 @@ +boot_package.fex diff --git a/external/packages/pack-uboot/sun50iw2/bin/dts/orangepipc2-u-boot.dts b/external/packages/pack-uboot/sun50iw2/bin/dts/orangepipc2-u-boot.dts new file mode 100755 index 000000000000..76d764c3a9a4 --- /dev/null +++ b/external/packages/pack-uboot/sun50iw2/bin/dts/orangepipc2-u-boot.dts @@ -0,0 +1,3699 @@ +/dts-v1/; + +/memreserve/ 0x0000000040020000 0x0000000000000800; +/memreserve/ 0x0000000048000000 0x0000000001000000; +/memreserve/ 0x0000000048100000 0x0000000000004000; +/memreserve/ 0x0000000048104000 0x0000000000001000; +/memreserve/ 0x0000000048105000 0x0000000000001000; +/ { + model = "Orange Pi Pc 2"; + compatible = "arm,sun50iw2p1"; + interrupt-parent = <0x1>; + #address-cells = <0x2>; + #size-cells = <0x2>; + + clocks { + compatible = "allwinner,sunxi-clk-init"; + device_type = "clocks"; + #address-cells = <0x2>; + #size-cells = <0x2>; + ranges; + reg = <0x0 0x1c20000 0x0 0x324 0x0 0x1f01400 0x0 0x1d4 0x0 0x1f00060 0x0 0x4>; + + losc { + #clock-cells = <0x0>; + compatible = "allwinner,fixed-clock"; + clock-frequency = <0x8000>; + clock-output-names = "losc"; + linux,phandle = <0xb>; + phandle = <0xb>; + }; + + iosc { + #clock-cells = <0x0>; + compatible = "allwinner,fixed-clock"; + clock-frequency = <0xf42400>; + clock-output-names = "iosc"; + linux,phandle = <0xc>; + phandle = <0xc>; + }; + + hosc { + #clock-cells = <0x0>; + compatible = "allwinner,fixed-clock"; + clock-frequency = <0x16e3600>; + clock-output-names = "hosc"; + linux,phandle = <0x6>; + phandle = <0x6>; + }; + + pll_cpu { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-pll-clock"; + lock-mode = "none"; + clock-output-names = "pll_cpu"; + }; + + pll_audio { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-pll-clock"; + lock-mode = "none"; + assigned-clock-rates = <0x1770000>; + clock-output-names = "pll_audio"; + linux,phandle = <0x2>; + phandle = <0x2>; + }; + + pll_video { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-pll-clock"; + lock-mode = "none"; + assigned-clock-rates = <0x11b3dc40>; + clock-output-names = "pll_video"; + linux,phandle = <0x3>; + phandle = <0x3>; + }; + + pll_ve { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-pll-clock"; + device_type = "clk_pll_ve"; + lock-mode = "none"; + assigned-clock-rates = <0x1908b100>; + clock-output-names = "pll_ve"; + linux,phandle = <0x15>; + phandle = <0x15>; + }; + + pll_ddr { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-pll-clock"; + lock-mode = "none"; + clock-output-names = "pll_ddr"; + linux,phandle = <0x99>; + phandle = <0x99>; + }; + + pll_periph0 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-pll-clock"; + lock-mode = "none"; + clock-output-names = "pll_periph0"; + linux,phandle = <0x4>; + phandle = <0x4>; + }; + + pll_periph1 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-pll-clock"; + lock-mode = "none"; + clock-output-names = "pll_periph1"; + linux,phandle = <0x5>; + phandle = <0x5>; + }; + + pll_gpu { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-pll-clock"; + lock-mode = "none"; + clock-output-names = "pll_gpu"; + linux,phandle = <0x9b>; + phandle = <0x9b>; + }; + + pll_de { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-pll-clock"; + lock-mode = "none"; + assigned-clock-rates = <0x337f9800>; + clock-output-names = "pll_de"; + linux,phandle = <0x7>; + phandle = <0x7>; + }; + + pll_audiox8 { + #clock-cells = <0x0>; + compatible = "allwinner,fixed-factor-clock"; + clocks = <0x2>; + clock-mult = <0x8>; + clock-div = <0x1>; + clock-output-names = "pll_audiox8"; + }; + + pll_audiox4 { + #clock-cells = <0x0>; + compatible = "allwinner,fixed-factor-clock"; + clocks = <0x2>; + clock-mult = <0x8>; + clock-div = <0x2>; + clock-output-names = "pll_audiox4"; + }; + + pll_audiox2 { + #clock-cells = <0x0>; + compatible = "allwinner,fixed-factor-clock"; + clocks = <0x2>; + clock-mult = <0x8>; + clock-div = <0x4>; + clock-output-names = "pll_audiox2"; + }; + + pll_videox2 { + #clock-cells = <0x0>; + compatible = "allwinner,fixed-factor-clock"; + clocks = <0x3>; + clock-mult = <0x2>; + clock-div = <0x1>; + clock-output-names = "pll_videox2"; + }; + + pll_periph0x2 { + #clock-cells = <0x0>; + compatible = "allwinner,fixed-factor-clock"; + clocks = <0x4>; + clock-mult = <0x2>; + clock-div = <0x1>; + clock-output-names = "pll_periph0x2"; + }; + + pll_periph1x2 { + #clock-cells = <0x0>; + compatible = "allwinner,fixed-factor-clock"; + clocks = <0x5>; + clock-mult = <0x2>; + clock-div = <0x1>; + clock-output-names = "pll_periph1x2"; + linux,phandle = <0x53>; + phandle = <0x53>; + }; + + pll_periph0d2 { + #clock-cells = <0x0>; + compatible = "allwinner,fixed-factor-clock"; + clocks = <0x4>; + clock-mult = <0x1>; + clock-div = <0x2>; + clock-output-names = "pll_periph0d2"; + }; + + hoscd2 { + #clock-cells = <0x0>; + compatible = "allwinner,fixed-factor-clock"; + clocks = <0x6>; + clock-mult = <0x1>; + clock-div = <0x2>; + clock-output-names = "hoscd2"; + }; + + hoscx2 { + #clock-cells = <0x0>; + compatible = "allwinner,fixed-factor-clock"; + clocks = <0x6>; + clock-mult = <0x2>; + clock-div = <0x1>; + clock-output-names = "hoscx2"; + }; + + cpu { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "cpu"; + }; + + cpuapb { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "cpuapb"; + }; + + axi { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "axi"; + }; + + pll_periphahb0 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "pll_periphahb0"; + }; + + ahb1 { + #clock-cells = <0x0>; + assigned-clock-rates = <0xbebc200>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "ahb1"; + linux,phandle = <0x9a>; + phandle = <0x9a>; + }; + + apb1 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "apb1"; + }; + + apb2 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "apb2"; + linux,phandle = <0x74>; + phandle = <0x74>; + }; + + ahb2 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "ahb2"; + }; + + ths { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "ths"; + linux,phandle = <0x89>; + phandle = <0x89>; + }; + + nand { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "nand"; + linux,phandle = <0x7c>; + phandle = <0x7c>; + }; + + sdmmc0_mod { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "sdmmc0_mod"; + linux,phandle = <0x59>; + phandle = <0x59>; + }; + + sdmmc0_bus { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "sdmmc0_bus"; + linux,phandle = <0x5a>; + phandle = <0x5a>; + }; + + sdmmc0_rst { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "sdmmc0_rst"; + linux,phandle = <0x5b>; + phandle = <0x5b>; + }; + + sdmmc1_mod { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "sdmmc1_mod"; + linux,phandle = <0x5e>; + phandle = <0x5e>; + }; + + sdmmc1_bus { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "sdmmc1_bus"; + linux,phandle = <0x5f>; + phandle = <0x5f>; + }; + + sdmmc1_rst { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "sdmmc1_rst"; + linux,phandle = <0x60>; + phandle = <0x60>; + }; + + sdmmc2_mod { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "sdmmc2_mod"; + linux,phandle = <0x54>; + phandle = <0x54>; + }; + + sdmmc2_bus { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "sdmmc2_bus"; + linux,phandle = <0x55>; + phandle = <0x55>; + }; + + sdmmc2_rst { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "sdmmc2_rst"; + linux,phandle = <0x56>; + phandle = <0x56>; + }; + + ts { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "ts"; + linux,phandle = <0x80>; + phandle = <0x80>; + }; + + ce { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "ce"; + linux,phandle = <0x71>; + phandle = <0x71>; + }; + + spi0 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "spi0"; + linux,phandle = <0x4b>; + phandle = <0x4b>; + }; + + spi1 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "spi1"; + linux,phandle = <0x4f>; + phandle = <0x4f>; + }; + + i2s0 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "i2s0"; + linux,phandle = <0x3b>; + phandle = <0x3b>; + }; + + i2s1 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "i2s1"; + linux,phandle = <0x40>; + phandle = <0x40>; + }; + + i2s2 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "i2s2"; + linux,phandle = <0x41>; + phandle = <0x41>; + }; + + spdif { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "spdif"; + linux,phandle = <0x42>; + phandle = <0x42>; + }; + + usbphy0 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "usbphy0"; + linux,phandle = <0x2c>; + phandle = <0x2c>; + }; + + usbphy1 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "usbphy1"; + linux,phandle = <0x30>; + phandle = <0x30>; + }; + + usbphy2 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "usbphy2"; + linux,phandle = <0x33>; + phandle = <0x33>; + }; + + usbphy3 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "usbphy3"; + linux,phandle = <0x36>; + phandle = <0x36>; + }; + + usbohci0 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "usbohci0"; + linux,phandle = <0x2f>; + phandle = <0x2f>; + }; + + usbohci1 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "usbohci1"; + linux,phandle = <0x32>; + phandle = <0x32>; + }; + + usbohci2 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "usbohci2"; + linux,phandle = <0x35>; + phandle = <0x35>; + }; + + usbohci3 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "usbohci3"; + linux,phandle = <0x38>; + phandle = <0x38>; + }; + + de { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + assigned-clock-parents = <0x7>; + assigned-clock-rates = <0x19bfcc00>; + clock-output-names = "de"; + linux,phandle = <0x63>; + phandle = <0x63>; + }; + + tcon0 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + assigned-clock-parents = <0x3>; + clock-output-names = "tcon0"; + linux,phandle = <0x64>; + phandle = <0x64>; + }; + + tcon1 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "tcon1"; + linux,phandle = <0x65>; + phandle = <0x65>; + }; + + tve { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + assigned-clock-parents = <0x7>; + clock-output-names = "tve"; + linux,phandle = <0x68>; + phandle = <0x68>; + }; + + deinterlace { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "deinterlace"; + linux,phandle = <0x72>; + phandle = <0x72>; + }; + + csi_s { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "csi_s"; + linux,phandle = <0x6b>; + phandle = <0x6b>; + }; + + csi_m { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "csi_m"; + linux,phandle = <0x6c>; + phandle = <0x6c>; + }; + + csi_misc { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "csi_misc"; + linux,phandle = <0x6d>; + phandle = <0x6d>; + }; + + ve { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "ve"; + linux,phandle = <0x16>; + phandle = <0x16>; + }; + + adda { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "adda"; + linux,phandle = <0x39>; + phandle = <0x39>; + }; + + avs { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "avs"; + }; + + hdmi { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + assigned-clock-parents = <0x3>; + clock-output-names = "hdmi"; + linux,phandle = <0x66>; + phandle = <0x66>; + }; + + hdmi_slow { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "hdmi_slow"; + linux,phandle = <0x67>; + phandle = <0x67>; + }; + + mbus { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "mbus"; + }; + + gpu { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "gpu"; + linux,phandle = <0x9c>; + phandle = <0x9c>; + }; + + usbehci0 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "usbehci0"; + linux,phandle = <0x2e>; + phandle = <0x2e>; + }; + + usbehci1 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "usbehci1"; + linux,phandle = <0x31>; + phandle = <0x31>; + }; + + usbehci2 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "usbehci2"; + linux,phandle = <0x34>; + phandle = <0x34>; + }; + + usbehci3 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "usbehci3"; + linux,phandle = <0x37>; + phandle = <0x37>; + }; + + usbotg { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "usbotg"; + linux,phandle = <0x2d>; + phandle = <0x2d>; + }; + + gmac { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "gmac"; + linux,phandle = <0x94>; + phandle = <0x94>; + }; + + ephy { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "ephy"; + linux,phandle = <0x95>; + phandle = <0x95>; + }; + + sdram { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "sdram"; + }; + + dma { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "dma"; + linux,phandle = <0xa>; + phandle = <0xa>; + }; + + hwspinlock_rst { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "hwspinlock_rst"; + linux,phandle = <0xe>; + phandle = <0xe>; + }; + + hwspinlock_bus { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "hwspinlock_bus"; + linux,phandle = <0xf>; + phandle = <0xf>; + }; + + msgbox { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "msgbox"; + linux,phandle = <0xd>; + phandle = <0xd>; + }; + + uart0 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "uart0"; + linux,phandle = <0x17>; + phandle = <0x17>; + }; + + uart1 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "uart1"; + linux,phandle = <0x1a>; + phandle = <0x1a>; + }; + + uart2 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "uart2"; + linux,phandle = <0x1d>; + phandle = <0x1d>; + }; + + uart3 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "uart3"; + linux,phandle = <0x20>; + phandle = <0x20>; + }; + + scr0 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "scr0"; + linux,phandle = <0x73>; + phandle = <0x73>; + }; + + scr1 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "scr1"; + linux,phandle = <0x78>; + phandle = <0x78>; + }; + + twi0 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "twi0"; + linux,phandle = <0x23>; + phandle = <0x23>; + }; + + twi1 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "twi1"; + linux,phandle = <0x26>; + phandle = <0x26>; + }; + + twi2 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "twi2"; + linux,phandle = <0x29>; + phandle = <0x29>; + }; + + pio { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "pio"; + linux,phandle = <0x9>; + phandle = <0x9>; + }; + + cpurcir { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-cpus-clock"; + clock-output-names = "cpurcir"; + linux,phandle = <0x11>; + phandle = <0x11>; + }; + + cpurpio { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-cpus-clock"; + clock-output-names = "cpurpio"; + linux,phandle = <0x8>; + phandle = <0x8>; + }; + + cpurpll_peri0 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-cpus-clock"; + clock-output-names = "cpurpll_peri0"; + }; + + cpurcpus { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-cpus-clock"; + clock-output-names = "cpurcpus"; + }; + + cpurahbs { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-cpus-clock"; + clock-output-names = "cpurahbs"; + }; + + cpurapbs { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-cpus-clock"; + clock-output-names = "cpurapbs"; + }; + + losc_out { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-cpus-clock"; + clock-output-names = "losc_out"; + linux,phandle = <0x9d>; + phandle = <0x9d>; + }; + }; + + soc@01c00000 { + compatible = "simple-bus"; + #address-cells = <0x2>; + #size-cells = <0x2>; + ranges; + device_type = "soc"; + + pinctrl@01f02c00 { + compatible = "allwinner,sun50iw2p1-r-pinctrl"; + reg = <0x0 0x1f02c00 0x0 0x400>; + interrupts = <0x0 0x2d 0x4>; + clocks = <0x8>; + device_type = "r_pio"; + gpio-controller; + interrupt-controller; + #interrupt-cells = <0x2>; + #size-cells = <0x0>; + #gpio-cells = <0x6>; + linux,phandle = <0x9e>; + phandle = <0x9e>; + + s_twi0@0 { + allwinner,pins = "PL0", "PL1"; + allwinner,function = "s_twi0"; + allwinner,muxsel = <0x2>; + allwinner,drive = <0x2>; + allwinner,pull = <0x1>; + linux,phandle = <0x13>; + phandle = <0x13>; + }; + + s_cir0@0 { + allwinner,pins = "PL11"; + allwinner,function = "s_cir0"; + allwinner,muxsel = <0x2>; + allwinner,drive = <0x2>; + allwinner,pull = <0x1>; + linux,phandle = <0x10>; + phandle = <0x10>; + }; + + twi_para@0 { + linux,phandle = <0xa2>; + phandle = <0xa2>; + allwinner,pins = "PL0", "PL1"; + allwinner,function = "twi_para"; + allwinner,pname = "twi_scl", "twi_sda"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0xffffffff>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + pwm16@0 { + linux,phandle = <0xc3>; + phandle = <0xc3>; + allwinner,pins = "PL10"; + allwinner,function = "pwm16"; + allwinner,pname = "pwm_positive"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0x0>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + pwm16@1 { + linux,phandle = <0xc4>; + phandle = <0xc4>; + allwinner,pins = "PL10"; + allwinner,function = "pwm16"; + allwinner,pname = "pwm_positive"; + allwinner,muxsel = <0x7>; + allwinner,pull = <0x0>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + s_uart0@0 { + linux,phandle = <0xc9>; + phandle = <0xc9>; + allwinner,pins = "PL2", "PL3"; + allwinner,function = "s_uart0"; + allwinner,pname = "s_uart0_tx", "s_uart0_rx"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0xffffffff>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + s_rsb0@0 { + linux,phandle = <0xca>; + phandle = <0xca>; + allwinner,pins = "PL0", "PL1"; + allwinner,function = "s_rsb0"; + allwinner,pname = "s_rsb0_sck", "s_rsb0_sda"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0x1>; + allwinner,drive = <0x2>; + allwinner,data = <0xffffffff>; + }; + + s_jtag0@0 { + linux,phandle = <0xcb>; + phandle = <0xcb>; + allwinner,pins = "PL4", "PL5", "PL6", "PL7"; + allwinner,function = "s_jtag0"; + allwinner,pname = "s_jtag0_tms", "s_jtag0_tck", "s_jtag0_tdo", "s_jtag0_tdi"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0x1>; + allwinner,drive = <0x2>; + allwinner,data = <0xffffffff>; + }; + }; + + pinctrl@01c20800 { + compatible = "allwinner,sun50iw2p1-pinctrl"; + reg = <0x0 0x1c20800 0x0 0x400>; + interrupts = <0x0 0xb 0x4 0x0 0x11 0x4 0x0 0x17 0x4>; + device_type = "pio"; + clocks = <0x9>; + gpio-controller; + interrupt-controller; + #interrupt-cells = <0x2>; + #size-cells = <0x0>; + #gpio-cells = <0x6>; + linux,phandle = <0x3a>; + phandle = <0x3a>; + + ts0@0 { + allwinner,pins = "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11"; + allwinner,pname = "ts0_clk", "ts0_err", "ts0_sync", "ts0_dvld", "ts0_d0", "ts0_d1", "ts0_d2", "ts0_d3", "ts0_d4", "ts0_d5", "ts0_d6", "ts0_d7"; + allwinner,function = "ts0"; + allwinner,muxsel = <0x3>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x81>; + phandle = <0x81>; + }; + + ts0_sleep@0 { + allwinner,pins = "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11"; + allwinner,pname = "ts0_clk", "ts0_err", "ts0_sync", "ts0_dvld", "ts0_d0", "ts0_d1", "ts0_d2", "ts0_d3", "ts0_d4", "ts0_d5", "ts0_d6", "ts0_d7"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x85>; + phandle = <0x85>; + }; + + ts1@0 { + allwinner,pins = "PE7", "PE8", "PE9", "PE10", "PE11"; + allwinner,pname = "ts1_clk", "ts1_err", "ts1_sync", "ts1_dvld", "ts1_d0"; + allwinner,function = "ts1"; + allwinner,muxsel = <0x4>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x82>; + phandle = <0x82>; + }; + + ts1_sleep@0 { + allwinner,pins = "PE7", "PE8", "PE9", "PE10", "PE11"; + allwinner,pname = "ts1_clk", "ts1_err", "ts1_sync", "ts1_dvld", "ts1_d0"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x86>; + phandle = <0x86>; + }; + + ts2@0 { + allwinner,pins = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11"; + allwinner,pname = "ts2_clk", "ts2_err", "ts2_sync", "ts2_dvld", "ts2_d0", "ts2_d1", "ts2_d2", "ts2_d3", "ts2_d4", "ts2_d5", "ts2_d6", "ts2_d7"; + allwinner,function = "ts2"; + allwinner,muxsel = <0x4>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x83>; + phandle = <0x83>; + }; + + ts2_sleep@0 { + allwinner,pins = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11"; + allwinner,pname = "ts2_clk", "ts2_err", "ts2_sync", "ts2_dvld", "ts2_d0", "ts2_d1", "ts2_d2", "ts2_d3", "ts2_d4", "ts2_d5", "ts2_d6", "ts2_d7"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x87>; + phandle = <0x87>; + }; + + ts3@0 { + allwinner,pins = "PD7", "PD8", "PD9", "PD10", "PD11"; + allwinner,pname = "ts3_clk", "ts3_err", "ts3_sync", "ts3_dvld", "ts3_d0"; + allwinner,function = "ts3"; + allwinner,muxsel = <0x5>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x84>; + phandle = <0x84>; + }; + + ts3_sleep@0 { + allwinner,pins = "PD7", "PD8", "PD9", "PD10", "PD11"; + allwinner,pname = "ts3_clk", "ts3_err", "ts3_sync", "ts3_dvld", "ts3_d0"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x88>; + phandle = <0x88>; + }; + + sdc0@1 { + allwinner,pins = "PF0", "PF1", "PF2", "PF3", "PF4", "PF5"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,drive = <0x1>; + allwinner,pull = <0x1>; + linux,phandle = <0x5d>; + phandle = <0x5d>; + }; + + sdc1@1 { + allwinner,pins = "PG0", "PG1", "PG2", "PG3", "PG4", "PG5"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,drive = <0x1>; + allwinner,pull = <0x1>; + linux,phandle = <0x62>; + phandle = <0x62>; + }; + + sdc2@1 { + allwinner,pins = "PC1", "PC5", "PC6", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PC16"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,drive = <0x1>; + allwinner,pull = <0x1>; + linux,phandle = <0x58>; + phandle = <0x58>; + }; + + daudio0@0 { + allwinner,pins = "PA20", "PA6", "PA18", "PA19", "PA21"; + allwinner,function = "pcm0"; + allwinner,muxsel = <0x3>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x3c>; + phandle = <0x3c>; + }; + + daudio0_sleep@0 { + allwinner,pins = "PA20", "PA6", "PA18", "PA19", "PA21"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x3d>; + phandle = <0x3d>; + }; + + daudio1@0 { + allwinner,pins = "PG10", "PG11", "PG12", "PG13"; + allwinner,function = "pcm1"; + allwinner,muxsel = <0x2>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x3e>; + phandle = <0x3e>; + }; + + daudio1_sleep@0 { + allwinner,pins = "PG10", "PG11", "PG12", "PG13"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x3f>; + phandle = <0x3f>; + }; + + spdif@0 { + allwinner,pins = "PA17"; + allwinner,function = "spdif0"; + allwinner,muxsel = <0x2>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x43>; + phandle = <0x43>; + }; + + spdif_sleep@0 { + allwinner,pins = "PA17"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x44>; + phandle = <0x44>; + }; + + csi0_sleep@0 { + allwinner,pins = "PE0", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13"; + allwinner,pname = "csi0_pck", "csi0_hsync", "csi0_vsync", "csi0_d0", "csi0_d1", "csi0_d2", "csi0_d3", "csi0_d4", "csi0_d5", "csi0_d6", "csi0_d7", "csi0_sck", "csi0_sda"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + allwinner,data = <0x0>; + linux,phandle = <0x6f>; + phandle = <0x6f>; + }; + + scr0@0 { + allwinner,pins = "PA9", "PA10", "PA6", "PA7", "PA8"; + allwinner,pname = "scr0_rst", "scr0_det", "scr0_vccen", "scr0_sck", "scr0_sda"; + allwinner,function = "sim0"; + allwinner,muxsel = <0x2>; + allwinner,drive = <0x1>; + allwinner,pull = <0x1>; + linux,phandle = <0x75>; + phandle = <0x75>; + }; + + scr0@1 { + allwinner,pins = "PA20", "PA21"; + allwinner,pname = "scr0_vppen", "scr0_vppp"; + allwinner,function = "sim0"; + allwinner,muxsel = <0x3>; + allwinner,drive = <0x1>; + allwinner,pull = <0x1>; + linux,phandle = <0x76>; + phandle = <0x76>; + }; + + scr0@2 { + allwinner,pins = "PA9", "PA10", "PA6", "PA7", "PA8", "PA20", "PA21"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x77>; + phandle = <0x77>; + }; + + scr1@0 { + allwinner,pins = "PD15", "PD16", "PD12", "PD13", "PD14"; + allwinner,pname = "scr1_rst", "scr1_det", "scr1_vccen", "scr1_sck", "scr1_sda"; + allwinner,function = "sim1"; + allwinner,muxsel = <0x4>; + allwinner,drive = <0x1>; + allwinner,pull = <0x1>; + linux,phandle = <0x79>; + phandle = <0x79>; + }; + + scr1@1 { + allwinner,pins = "PE14", "PE15"; + allwinner,pname = "scr1_vppen", "scr1_vppp"; + allwinner,function = "sim1"; + allwinner,muxsel = <0x3>; + allwinner,drive = <0x1>; + allwinner,pull = <0x1>; + linux,phandle = <0x7a>; + phandle = <0x7a>; + }; + + scr1@2 { + allwinner,pins = "PD15", "PD16", "PD12", "PD13", "PD14", "PE14", "PE15"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x7b>; + phandle = <0x7b>; + }; + + nand0@2 { + allwinner,pins = "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PC16", "PC17", "PC18"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x7f>; + phandle = <0x7f>; + }; + + gmac@0 { + allwinner,pins = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD7", "PD8", "PD9", "PD10", "PD12", "PD13", "PD15", "PD16", "PD17"; + allwinner,function = "gmac0"; + allwinner,muxsel = <0x2>; + allwinner,drive = <0x3>; + allwinner,pull = <0x0>; + linux,phandle = <0x93>; + phandle = <0x93>; + }; + + card0_boot_para@0 { + linux,phandle = <0x9f>; + phandle = <0x9f>; + allwinner,pins = "PF0", "PF1", "PF2", "PF3", "PF4", "PF5"; + allwinner,function = "card0_boot_para"; + allwinner,pname = "sdc_d1", "sdc_d0", "sdc_clk", "sdc_cmd", "sdc_d3", "sdc_d2"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0x1>; + allwinner,drive = <0x2>; + allwinner,data = <0xffffffff>; + }; + + card2_boot_para@0 { + linux,phandle = <0xa0>; + phandle = <0xa0>; + allwinner,pins = "PC1"; + allwinner,function = "card2_boot_para"; + allwinner,pname = "sdc_ds"; + allwinner,muxsel = <0x4>; + allwinner,pull = <0x1>; + allwinner,drive = <0x3>; + allwinner,data = <0xffffffff>; + }; + + card2_boot_para@1 { + linux,phandle = <0xa1>; + phandle = <0xa1>; + allwinner,pins = "PC5", "PC6", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PC16"; + allwinner,function = "card2_boot_para"; + allwinner,pname = "sdc_clk", "sdc_cmd", "sdc_d0", "sdc_d1", "sdc_d2", "sdc_d3", "sdc_d4", "sdc_d5", "sdc_d6", "sdc_d7", "sdc_emmc_rst"; + allwinner,muxsel = <0x3>; + allwinner,pull = <0x1>; + allwinner,drive = <0x3>; + allwinner,data = <0xffffffff>; + }; + + uart_para@0 { + linux,phandle = <0xa3>; + phandle = <0xa3>; + allwinner,pins = "PA4", "PA5"; + allwinner,function = "uart_para"; + allwinner,pname = "uart_debug_tx", "uart_debug_rx"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0x1>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + jtag_para@0 { + linux,phandle = <0xa4>; + phandle = <0xa4>; + allwinner,pins = "PB0", "PB1", "PB2", "PB3"; + allwinner,function = "jtag_para"; + allwinner,pname = "jtag_ms", "jtag_ck", "jtag_do", "jtag_di"; + allwinner,muxsel = <0x4>; + allwinner,pull = <0xffffffff>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + twi0@0 { + linux,phandle = <0xa5>; + phandle = <0xa5>; + allwinner,pins = "PA11", "PA12"; + allwinner,function = "twi0"; + allwinner,pname = "twi0_scl", "twi0_sda"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0xffffffff>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + twi0@1 { + linux,phandle = <0xa6>; + phandle = <0xa6>; + allwinner,pins = "PA11", "PA12"; + allwinner,function = "twi0"; + allwinner,pname = "twi0_scl", "twi0_sda"; + allwinner,muxsel = <0x7>; + allwinner,pull = <0xffffffff>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + twi1@0 { + linux,phandle = <0xa7>; + phandle = <0xa7>; + allwinner,pins = "PA18", "PA19"; + allwinner,function = "twi1"; + allwinner,pname = "twi1_scl", "twi1_sda"; + allwinner,muxsel = <0x3>; + allwinner,pull = <0xffffffff>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + twi1@1 { + linux,phandle = <0xa8>; + phandle = <0xa8>; + allwinner,pins = "PA18", "PA19"; + allwinner,function = "twi1"; + allwinner,pname = "twi1_scl", "twi1_sda"; + allwinner,muxsel = <0x7>; + allwinner,pull = <0xffffffff>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + twi2@0 { + linux,phandle = <0xa9>; + phandle = <0xa9>; + allwinner,pins = "PE12", "PE13"; + allwinner,function = "twi2"; + allwinner,pname = "twi2_scl", "twi2_sda"; + allwinner,muxsel = <0x3>; + allwinner,pull = <0xffffffff>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + twi2@1 { + linux,phandle = <0xaa>; + phandle = <0xaa>; + allwinner,pins = "PE12", "PE13"; + allwinner,function = "twi2"; + allwinner,pname = "twi2_scl", "twi2_sda"; + allwinner,muxsel = <0x7>; + allwinner,pull = <0xffffffff>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + uart0@0 { + linux,phandle = <0xab>; + phandle = <0xab>; + allwinner,pins = "PA4", "PA5"; + allwinner,function = "uart0"; + allwinner,pname = "uart0_tx", "uart0_rx"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0x1>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + uart0@1 { + linux,phandle = <0xac>; + phandle = <0xac>; + allwinner,pins = "PA4", "PA5"; + allwinner,function = "uart0"; + allwinner,pname = "uart0_tx", "uart0_rx"; + allwinner,muxsel = <0x7>; + allwinner,pull = <0x1>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + uart1@0 { + linux,phandle = <0xad>; + phandle = <0xad>; + allwinner,pins = "PG6", "PG7", "PG8", "PG9"; + allwinner,function = "uart1"; + allwinner,pname = "uart1_tx", "uart1_rx", "uart1_rts", "uart1_cts"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0x1>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + uart1@1 { + linux,phandle = <0xae>; + phandle = <0xae>; + allwinner,pins = "PG6", "PG7", "PG8", "PG9"; + allwinner,function = "uart1"; + allwinner,pname = "uart1_tx", "uart1_rx", "uart1_rts", "uart1_cts"; + allwinner,muxsel = <0x7>; + allwinner,pull = <0x1>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + uart2@0 { + linux,phandle = <0xaf>; + phandle = <0xaf>; + allwinner,pins = "PA0", "PA1", "PA2", "PA3"; + allwinner,function = "uart2"; + allwinner,pname = "uart2_tx", "uart2_rx", "uart2_rts", "uart2_cts"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0x1>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + uart2@1 { + linux,phandle = <0xb0>; + phandle = <0xb0>; + allwinner,pins = "PA0", "PA1", "PA2", "PA3"; + allwinner,function = "uart2"; + allwinner,pname = "uart2_tx", "uart2_rx", "uart2_rts", "uart2_cts"; + allwinner,muxsel = <0x7>; + allwinner,pull = <0x1>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + uart3@0 { + linux,phandle = <0xb1>; + phandle = <0xb1>; + allwinner,pins = "PA13", "PA14", "PA15", "PA16"; + allwinner,function = "uart3"; + allwinner,pname = "uart3_tx", "uart3_rx", "uart3_rts", "uart3_cts"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0x1>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + uart3@1 { + linux,phandle = <0xb2>; + phandle = <0xb2>; + allwinner,pins = "PA13", "PA14", "PA15", "PA16"; + allwinner,function = "uart3"; + allwinner,pname = "uart3_tx", "uart3_rx", "uart3_rts", "uart3_cts"; + allwinner,muxsel = <0x7>; + allwinner,pull = <0x1>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + spi0@0 { + linux,phandle = <0xb3>; + phandle = <0xb3>; + allwinner,pins = "PC3"; + allwinner,function = "spi0"; + allwinner,pname = "spi0_cs0"; + allwinner,muxsel = <0x3>; + allwinner,pull = <0x1>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + spi0@1 { + linux,phandle = <0xb4>; + phandle = <0xb4>; + allwinner,pins = "PC2", "PC0"; + allwinner,function = "spi0"; + allwinner,pname = "spi0_sclk", "spi0_mosi"; + allwinner,muxsel = <0x3>; + allwinner,pull = <0xffffffff>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + spi0@3 { + linux,phandle = <0xb5>; + phandle = <0xb5>; + allwinner,pins = "PC1"; + allwinner,function = "spi0"; + allwinner,pname = "spi0_miso"; + allwinner,muxsel = <0x4>; + allwinner,pull = <0xffffffff>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + spi0@2 { + linux,phandle = <0xb6>; + phandle = <0xb6>; + allwinner,pins = "PC3"; + allwinner,function = "spi0"; + allwinner,pname = "spi0_cs0"; + allwinner,muxsel = <0x7>; + allwinner,pull = <0x1>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + spi0@4 { + linux,phandle = <0xb7>; + phandle = <0xb7>; + allwinner,pins = "PC2", "PC0", "PC1"; + allwinner,function = "spi0"; + allwinner,pname = "spi0_sclk", "spi0_mosi", "spi0_miso"; + allwinner,muxsel = <0x7>; + allwinner,pull = <0xffffffff>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + spi1@0 { + linux,phandle = <0xb8>; + phandle = <0xb8>; + allwinner,pins = "PA13"; + allwinner,function = "spi1"; + allwinner,pname = "spi1_cs0"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0x1>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + spi1@1 { + linux,phandle = <0xb9>; + phandle = <0xb9>; + allwinner,pins = "PA14", "PA15", "PA16"; + allwinner,function = "spi1"; + allwinner,pname = "spi1_sclk", "spi1_mosi", "spi1_miso"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0xffffffff>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + spi1@2 { + linux,phandle = <0xba>; + phandle = <0xba>; + allwinner,pins = "PA13"; + allwinner,function = "spi1"; + allwinner,pname = "spi1_cs0"; + allwinner,muxsel = <0x7>; + allwinner,pull = <0x1>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + spi1@3 { + linux,phandle = <0xbb>; + phandle = <0xbb>; + allwinner,pins = "PA14", "PA15", "PA16"; + allwinner,function = "spi1"; + allwinner,pname = "spi1_sclk", "spi1_mosi", "spi1_miso"; + allwinner,muxsel = <0x7>; + allwinner,pull = <0xffffffff>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + nand0@0 { + linux,phandle = <0xbd>; + phandle = <0xbd>; + allwinner,pins = "PC0", "PC1", "PC2", "PC5", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PC16"; + allwinner,function = "nand0"; + allwinner,pname = "nand0_we", "nand0_ale", "nand0_cle", "nand0_nre", "nand0_d0", "nand0_d1", "nand0_d2", "nand0_d3", "nand0_d4", "nand0_d5", "nand0_d6", "nand0_d7", "nand0_ndqs"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0x0>; + allwinner,drive = <0x1>; + allwinner,data = <0xffffffff>; + }; + + nand0@1 { + linux,phandle = <0xbe>; + phandle = <0xbe>; + allwinner,pins = "PC3", "PC4", "PC6", "PC7", "PC17", "PC18"; + allwinner,function = "nand0"; + allwinner,pname = "nand0_ce1", "nand0_ce0", "nand0_rb0", "nand0_rb1", "nand0_ce2", "nand0_ce3"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0x1>; + allwinner,drive = <0x1>; + allwinner,data = <0xffffffff>; + }; + + lcd0@0 { + linux,phandle = <0xbf>; + phandle = <0xbf>; + allwinner,pins = "PD12", "PD13", "PD14", "PD15", "PD16", "PD17", "PD18", "PD19", "PD20", "PD21"; + allwinner,function = "lcd0"; + allwinner,pname = "lcdd0", "lcdd1", "lcdd2", "lcdd3", "lcdd4", "lcdd5", "lcdd6", "lcdd7", "lcdd8", "lcdd9"; + allwinner,muxsel = <0x3>; + allwinner,pull = <0x0>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + lcd0@1 { + linux,phandle = <0xc0>; + phandle = <0xc0>; + allwinner,pins = "PD12", "PD13", "PD14", "PD15", "PD16", "PD17", "PD18", "PD19", "PD20", "PD21"; + allwinner,function = "lcd0"; + allwinner,pname = "lcdd0", "lcdd1", "lcdd2", "lcdd3", "lcdd4", "lcdd5", "lcdd6", "lcdd7", "lcdd8", "lcdd9"; + allwinner,muxsel = <0x7>; + allwinner,pull = <0x0>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + pwm0@0 { + linux,phandle = <0xc1>; + phandle = <0xc1>; + allwinner,pins = "PD22"; + allwinner,function = "pwm0"; + allwinner,pname = "pwm_positive"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0x0>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + pwm0@1 { + linux,phandle = <0xc2>; + phandle = <0xc2>; + allwinner,pins = "PD22"; + allwinner,function = "pwm0"; + allwinner,pname = "pwm_positive"; + allwinner,muxsel = <0x7>; + allwinner,pull = <0x0>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + csi0@0 { + linux,phandle = <0xc5>; + phandle = <0xc5>; + allwinner,pins = "PE0", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13"; + allwinner,function = "csi0"; + allwinner,pname = "csi0_pck", "csi0_hsync", "csi0_vsync", "csi0_d0", "csi0_d1", "csi0_d2", "csi0_d3", "csi0_d4", "csi0_d5", "csi0_d6", "csi0_d7", "csi0_sck", "csi0_sda"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0xffffffff>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + sdc0@0 { + linux,phandle = <0xc6>; + phandle = <0xc6>; + allwinner,pins = "PF0", "PF1", "PF2", "PF3", "PF4", "PF5"; + allwinner,function = "sdc0"; + allwinner,pname = "sdc0_d1", "sdc0_d0", "sdc0_clk", "sdc0_cmd", "sdc0_d3", "sdc0_d2"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0x1>; + allwinner,drive = <0x2>; + allwinner,data = <0xffffffff>; + }; + + sdc1@0 { + linux,phandle = <0xc7>; + phandle = <0xc7>; + allwinner,pins = "PG0", "PG1", "PG2", "PG3", "PG4", "PG5"; + allwinner,function = "sdc1"; + allwinner,pname = "sdc1_clk", "sdc1_cmd", "sdc1_d0", "sdc1_d1", "sdc1_d2", "sdc1_d3"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0x1>; + allwinner,drive = <0x3>; + allwinner,data = <0xffffffff>; + }; + + sdc2@0 { + linux,phandle = <0xc8>; + phandle = <0xc8>; + allwinner,pins = "PC1", "PC5", "PC6", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PC16"; + allwinner,function = "sdc2"; + allwinner,pname = "sdc2_ds", "sdc2_clk", "sdc2_cmd", "sdc2_d0", "sdc2_d1", "sdc2_d2", "sdc2_d3", "sdc2_d4", "sdc2_d5", "sdc2_d6", "sdc2_d7", "sdc2_emmc_rst"; + allwinner,muxsel = <0x3>; + allwinner,pull = <0x1>; + allwinner,drive = <0x3>; + allwinner,data = <0xffffffff>; + }; + + Vdevice@0 { + linux,phandle = <0xcc>; + phandle = <0xcc>; + allwinner,pins = "PA1", "PA2"; + allwinner,function = "Vdevice"; + allwinner,pname = "Vdevice_0", "Vdevice_1"; + allwinner,muxsel = <0x5>; + allwinner,pull = <0x1>; + allwinner,drive = <0x2>; + allwinner,data = <0xffffffff>; + }; + }; + + dma-controller@01c02000 { + compatible = "allwinner,sun50i-dma"; + reg = <0x0 0x1c02000 0x0 0x1000>; + interrupts = <0x0 0x32 0x4>; + clocks = <0xa>; + #dma-cells = <0x1>; + }; + + mbus-controller@01c62000 { + compatible = "allwinner,sun50i-mbus"; + reg = <0x0 0x1c62000 0x0 0x110>; + #mbus-cells = <0x1>; + }; + + arisc { + compatible = "allwinner,sunxi-arisc"; + #address-cells = <0x2>; + #size-cells = <0x2>; + clocks = <0xb 0xc 0x6 0x4>; + clock-names = "losc", "iosc", "hosc", "pll_periph0"; + powchk_used = <0x0>; + power_reg = <0x2309621>; + system_power = <0x32>; + }; + + arisc_space { + compatible = "allwinner,arisc_space"; + space1 = <0x48040000 0x0 0x14000>; + space2 = <0x48100000 0x18000 0x4000>; + space3 = <0x48104000 0x0 0x1000>; + space4 = <0x48105000 0x0 0x1000>; + }; + + standby_space { + compatible = "allwinner,standby_space"; + space1 = <0x40020000 0x0 0x800>; + }; + + msgbox@1c17000 { + compatible = "allwinner,msgbox"; + clocks = <0xd>; + clock-names = "clk_msgbox"; + reg = <0x0 0x1c17000 0x0 0x1000>; + interrupts = <0x0 0x31 0x1>; + status = "okay"; + }; + + hwspinlock@1c18000 { + compatible = "allwinner,sunxi-hwspinlock"; + clocks = <0xe 0xf>; + clock-names = "clk_hwspinlock_rst", "clk_hwspinlock_bus"; + reg = <0x0 0x1c18000 0x0 0x1000>; + num-locks = <0x8>; + status = "okay"; + }; + + s_cir@1f02000 { + compatible = "allwinner,s_cir"; + reg = <0x0 0x1f02000 0x0 0x400>; + interrupts = <0x0 0x25 0x4>; + pinctrl-names = "default"; + pinctrl-0 = <0x10>; + clocks = <0x6 0x11>; + supply = "vcc-pl"; + supply_vol = <0x325aa0>; + status = "okay"; + device_type = "s_cir0"; + ir_power_key_code0 = <0x57>; + ir_addr_code0 = <0x9f00>; + ir_power_key_code1 = <0x1a>; + ir_addr_code1 = <0xfb04>; + ir_power_key_code2 = <0x14>; + ir_addr_code2 = <0x7f80>; + ir_power_key_code3 = <0x15>; + ir_addr_code3 = <0x7f80>; + ir_power_key_code4 = <0xb>; + ir_addr_code4 = <0xf708>; + ir_power_key_code5 = <0x3>; + ir_addr_code5 = <0xef>; + ir_power_key_code6 = <0xdc>; + ir_addr_code6 = <0x4cb3>; + ir_power_key_code7 = <0xa>; + ir_addr_code7 = <0x7748>; + ir_power_key_code8 = <0x45>; + ir_addr_code8 = <0xbd02>; + ir_power_key_code9 = <0x4d>; + ir_addr_code9 = <0xde21>; + ir_power_key_code10 = <0x18>; + ir_addr_code10 = <0xfe01>; + ir_power_key_code11 = <0x57>; + ir_addr_code11 = <0xff00>; + ir_power_key_code12 = <0x4d>; + ir_addr_code12 = <0xff40>; + ir_power_key_code13 = <0x88>; + ir_addr_code13 = <0xdd22>; + ir_power_key_code14 = <0xd>; + ir_addr_code14 = <0xbc00>; + ir_power_key_code15 = <0xd>; + ir_addr_code15 = <0xfc00>; + }; + + s_uart@1f02800 { + compatible = "allwinner,s_uart"; + reg = <0x0 0x1f02800 0x0 0x400>; + interrupts = <0x0 0x26 0x4>; + pinctrl-names = "default"; + status = "disabled"; + device_type = "s_uart0"; + pinctrl-0 = <0xc9>; + }; + + s_twi@1f03400 { + compatible = "allwinner,s_twi"; + reg = <0x0 0x1f02400 0x0 0x20>; + interrupts = <0x0 0x2c 0x4>; + pinctrl-names = "default"; + pinctrl-0 = <0x13>; + status = "okay"; + }; + + s_jtag0 { + compatible = "allwinner,s_jtag"; + pinctrl-names = "default"; + status = "disabled"; + device_type = "s_jtag0"; + pinctrl-0 = <0xcb>; + }; + + box_start_os0 { + compatible = "allwinner,box_start_os"; + start_type = <0x1>; + irkey_used = <0x1>; + pmukey_used = <0x0>; + pmukey_num = <0x0>; + led_power = <0x0>; + led_state = <0x0>; + status = "okay"; + device_type = "box_start_os"; + }; + + timer@1c20c00 { + compatible = "allwinner,sunxi-timer"; + device_type = "timer"; + reg = <0x0 0x1c20c00 0x0 0x90>; + interrupts = <0x0 0x12 0x1>; + clock-frequency = <0x16e3600>; + timer-prescale = <0x10>; + }; + + rtc@01f00000 { + compatible = "allwinner,sun50i-rtc"; + device_type = "rtc"; + reg = <0x0 0x1f00000 0x0 0x218>; + interrupts = <0x0 0x28 0x4>; + gpr_offset = <0x100>; + gpr_len = <0x4>; + }; + + watchdog@01c20ca0 { + compatible = "allwinner,sun50i-wdt"; + reg = <0x0 0x1c20ca0 0x0 0x20>; + interrupts = <0x0 0x19 0x4>; + }; + + ve@01c0e000 { + compatible = "allwinner,sunxi-cedar-ve"; + reg = <0x0 0x1c0e000 0x0 0x1000 0x0 0x1c00000 0x0 0x10 0x0 0x1c20000 0x0 0x800>; + interrupts = <0x0 0x3a 0x4>; + clocks = <0x15 0x16>; + }; + + uart@01c28000 { + compatible = "allwinner,sun50i-uart"; + device_type = "uart0"; + reg = <0x0 0x1c28000 0x0 0x400>; + interrupts = <0x0 0x0 0x4>; + clocks = <0x17>; + pinctrl-names = "default", "sleep"; + uart0_port = <0x0>; + uart0_type = <0x2>; + status = "okay"; + pinctrl-0 = <0xab>; + pinctrl-1 = <0xac>; + }; + + uart@01c28400 { + compatible = "allwinner,sun50i-uart"; + device_type = "uart1"; + reg = <0x0 0x1c28400 0x0 0x400>; + interrupts = <0x0 0x1 0x4>; + clocks = <0x1a>; + pinctrl-names = "default", "sleep"; + uart1_port = <0x1>; + uart1_type = <0x4>; + status = "okay"; + pinctrl-0 = <0xad>; + pinctrl-1 = <0xae>; + }; + + uart@01c28800 { + compatible = "allwinner,sun50i-uart"; + device_type = "uart2"; + reg = <0x0 0x1c28800 0x0 0x400>; + interrupts = <0x0 0x2 0x4>; + clocks = <0x1d>; + pinctrl-names = "default", "sleep"; + uart2_port = <0x2>; + uart2_type = <0x4>; + status = "okay"; + pinctrl-0 = <0xaf>; + pinctrl-1 = <0xb0>; + }; + + uart@01c28c00 { + compatible = "allwinner,sun50i-uart"; + device_type = "uart3"; + reg = <0x0 0x1c28c00 0x0 0x400>; + interrupts = <0x0 0x3 0x4>; + clocks = <0x20>; + pinctrl-names = "default", "sleep"; + uart3_port = <0x3>; + uart3_type = <0x4>; + status = "disabled"; + pinctrl-0 = <0xb1>; + pinctrl-1 = <0xb2>; + }; + + twi@0x01c2ac00 { + #address-cells = <0x1>; + #size-cells = <0x0>; + compatible = "allwinner,sun50i-twi"; + device_type = "twi0"; + reg = <0x0 0x1c2ac00 0x0 0x400>; + interrupts = <0x0 0x6 0x4>; + clocks = <0x23>; + clock-frequency = <0x61a80>; + pinctrl-names = "default", "sleep"; + status = "okay"; + pinctrl-0 = <0xa5>; + pinctrl-1 = <0xa6>; + }; + + twi@0x01c2b000 { + #address-cells = <0x1>; + #size-cells = <0x0>; + compatible = "allwinner,sun50i-twi"; + device_type = "twi1"; + reg = <0x0 0x1c2b000 0x0 0x400>; + interrupts = <0x0 0x7 0x4>; + clocks = <0x26>; + clock-frequency = <0x30d40>; + pinctrl-names = "default", "sleep"; + status = "okay"; + pinctrl-0 = <0xa7>; + pinctrl-1 = <0xa8>; + }; + + twi@0x01c2b400 { + #address-cells = <0x1>; + #size-cells = <0x0>; + compatible = "allwinner,sun50i-twi"; + device_type = "twi2"; + reg = <0x0 0x1c2b400 0x0 0x400>; + interrupts = <0x0 0x8 0x4>; + clocks = <0x29>; + clock-frequency = <0x30d40>; + pinctrl-names = "default", "sleep"; + status = "disabled"; + pinctrl-0 = <0xa9>; + pinctrl-1 = <0xaa>; + }; + + usbc0@0 { + device_type = "usbc0"; + compatible = "allwinner,sunxi-otg-manager"; + usb_port_type = <0x2>; + usb_detect_type = <0x0>; + usb_host_init_state = <0x1>; + usb_regulator_io = "nocare"; + usb_wakeup_suspend = <0x0>; + usb_luns = <0x3>; + usb_serial_unique = <0x0>; + usb_serial_number = "20080411"; + rndis_wceis = <0x1>; + status = "okay"; + usb_detect_mode = <0x0>; + usb_id_gpio = <0x3a 0x6 0xc 0x0 0x1 0xffffffff 0xffffffff>; + usb_det_vbus_gpio; + usb_drv_vbus_gpio = <0x9e 0xb 0x2 0x1 0x0 0xffffffff 0x0>; + }; + + udc-controller@0x01c19000 { + compatible = "allwinner,sunxi-udc"; + reg = <0x0 0x1c19000 0x0 0x1000 0x0 0x1c00000 0x0 0x100>; + interrupts = <0x0 0x47 0x4>; + clocks = <0x2c 0x2d>; + status = "okay"; + }; + + ehci0-controller@0x01c1a000 { + compatible = "allwinner,sunxi-ehci0"; + reg = <0x0 0x1c1a000 0x0 0xfff 0x0 0x1c00000 0x0 0x100 0x0 0x1c19000 0x0 0x1000>; + interrupts = <0x0 0x48 0x4>; + clocks = <0x2c 0x2e>; + hci_ctrl_no = <0x0>; + status = "okay"; + }; + + ohci0-controller@0x01c1a400 { + compatible = "allwinner,sunxi-ohci0"; + reg = <0x0 0x1c1a000 0x0 0xfff 0x0 0x1c00000 0x0 0x100 0x0 0x1c19000 0x0 0x1000>; + interrupts = <0x0 0x49 0x4>; + clocks = <0x2c 0x2f>; + hci_ctrl_no = <0x0>; + status = "okay"; + }; + + usbc1@0 { + device_type = "usbc1"; + usb_host_init_state = <0x1>; + usb_regulator_io = "nocare"; + usb_wakeup_suspend = <0x0>; + status = "okay"; + usb_drv_vbus_gpio; + }; + + ehci1-controller@0x01c1b000 { + compatible = "allwinner,sunxi-ehci1"; + reg = <0x0 0x1c1b000 0x0 0xfff 0x0 0x1c00000 0x0 0x100 0x0 0x1c19000 0x0 0x1000>; + interrupts = <0x0 0x4a 0x4>; + clocks = <0x30 0x31>; + hci_ctrl_no = <0x1>; + status = "okay"; + }; + + ohci1-controller@0x01c1b400 { + compatible = "allwinner,sunxi-ohci1"; + reg = <0x0 0x1c1b000 0x0 0xfff 0x0 0x1c00000 0x0 0x100 0x0 0x1c19000 0x0 0x1000>; + interrupts = <0x0 0x4b 0x4>; + clocks = <0x30 0x32>; + hci_ctrl_no = <0x1>; + status = "okay"; + }; + + usbc2@0 { + device_type = "usbc2"; + usb_host_init_state = <0x1>; + usb_regulator_io = "nocare"; + usb_wakeup_suspend = <0x0>; + status = "okay"; + usb_drv_vbus_gpio; + }; + + ehci2-controller@0x01c1c000 { + compatible = "allwinner,sunxi-ehci2"; + reg = <0x0 0x1c1c000 0x0 0xfff 0x0 0x1c00000 0x0 0x100 0x0 0x1c19000 0x0 0x1000>; + interrupts = <0x0 0x4c 0x4>; + clocks = <0x33 0x34>; + hci_ctrl_no = <0x2>; + status = "okay"; + }; + + ohci2-controller@0x01c1c400 { + compatible = "allwinner,sunxi-ohci2"; + reg = <0x0 0x1c1c000 0x0 0xfff 0x0 0x1c00000 0x0 0x100 0x0 0x1c19000 0x0 0x1000>; + interrupts = <0x0 0x4d 0x4>; + clocks = <0x33 0x35>; + hci_ctrl_no = <0x2>; + status = "okay"; + }; + + usbc3@0 { + device_type = "usbc3"; + usb_host_init_state = <0x1>; + usb_regulator_io = "nocare"; + usb_wakeup_suspend = <0x0>; + status = "okay"; + usb_drv_vbus_gpio; + }; + + ehci3-controller@0x01c1d000 { + compatible = "allwinner,sunxi-ehci3"; + reg = <0x0 0x1c1d000 0x0 0xfff 0x0 0x1c00000 0x0 0x100 0x0 0x1c19000 0x0 0x1000>; + interrupts = <0x0 0x4e 0x4>; + clocks = <0x36 0x37>; + hci_ctrl_no = <0x3>; + status = "okay"; + }; + + ohci3-controller@0x01c1d400 { + compatible = "allwinner,sunxi-ohci3"; + reg = <0x0 0x1c1d000 0x0 0xfff 0x0 0x1c00000 0x0 0x100 0x0 0x1c19000 0x0 0x1000>; + interrupts = <0x0 0x4f 0x4>; + clocks = <0x36 0x38>; + hci_ctrl_no = <0x3>; + status = "okay"; + }; + + codec@0x01c22c00 { + compatible = "allwinner,sunxi-internal-codec"; + reg = <0x0 0x1c22c00 0x0 0x478 0x0 0x1f015c0 0x0 0x0>; + clocks = <0x2 0x39>; + gpio-spk = <0x3a 0x0 0x10 0x1 0x1 0x1 0x1>; + spkervol = <0x1f>; + maingain = <0x4>; + adcagc_cfg = <0x0>; + adcdrc_cfg = <0x0>; + adchpf_cfg = <0x0>; + dacdrc_cfg = <0x0>; + dachpf_cfg = <0x0>; + pa_sleep_time = <0x32>; + dac_digital_vol = <0xa0a0>; + status = "okay"; + linux,phandle = <0x46>; + phandle = <0x46>; + device_type = "codec"; + headphonevol = <0x3b>; + }; + + cpudai0-controller@0x01c22c00 { + compatible = "allwinner,sunxi-internal-cpudai"; + reg = <0x0 0x1c22c00 0x0 0x2bc>; + status = "okay"; + linux,phandle = <0x45>; + phandle = <0x45>; + }; + + daudio@0x01c22000 { + compatible = "allwinner,sunxi-daudio"; + reg = <0x0 0x1c22000 0x0 0x58>; + clocks = <0x2 0x3b>; + pinctrl-names = "default", "sleep"; + pinctrl-0 = <0x3c>; + pinctrl-1 = <0x3d>; + pcm_lrck_period = <0x20>; + pcm_lrckr_period = <0x1>; + slot_width_select = <0x20>; + pcm_lsb_first = <0x0>; + tx_data_mode = <0x0>; + rx_data_mode = <0x0>; + daudio_master = <0x4>; + audio_format = <0x1>; + signal_inversion = <0x1>; + frametype = <0x0>; + tdm_config = <0x1>; + tdm_num = <0x0>; + mclk_div = <0x0>; + status = "disabled"; + linux,phandle = <0x47>; + phandle = <0x47>; + device_type = "daudio0"; + }; + + daudio@0x01c22400 { + compatible = "allwinner,sunxi-daudio"; + reg = <0x0 0x1c22400 0x0 0x58>; + pinctrl-names = "default", "sleep"; + pinctrl-0 = <0x3e>; + pinctrl-1 = <0x3f>; + clocks = <0x2 0x40>; + pcm_lrck_period = <0x20>; + pcm_lrckr_period = <0x1>; + slot_width_select = <0x20>; + pcm_lsb_first = <0x0>; + tx_data_mode = <0x0>; + rx_data_mode = <0x0>; + daudio_master = <0x4>; + audio_format = <0x1>; + signal_inversion = <0x1>; + frametype = <0x0>; + tdm_config = <0x1>; + tdm_num = <0x1>; + mclk_div = <0x0>; + status = "disabled"; + linux,phandle = <0x48>; + phandle = <0x48>; + device_type = "daudio1"; + }; + + daudio@0x01c22800 { + compatible = "allwinner,sunxi-tdmhdmi"; + reg = <0x0 0x1c22800 0x0 0x58>; + clocks = <0x2 0x41>; + status = "okay"; + linux,phandle = <0x49>; + phandle = <0x49>; + device_type = "daudio2"; + }; + + spdif-controller@0x01c21000 { + compatible = "allwinner,sunxi-spdif"; + reg = <0x0 0x1c21000 0x0 0x38>; + clocks = <0x2 0x42>; + pinctrl-names = "default", "sleep"; + pinctrl-0 = <0x43>; + pinctrl-1 = <0x44>; + status = "disabled"; + linux,phandle = <0x4a>; + phandle = <0x4a>; + device_type = "spdif"; + }; + + sound@0 { + compatible = "allwinner,sunxi-codec-machine"; + sunxi,cpudai-controller = <0x45>; + sunxi,audio-codec = <0x46>; + status = "okay"; + device_type = "sndcodec"; + }; + + sound@1 { + compatible = "allwinner,sunxi-daudio0-machine"; + sunxi,daudio0-controller = <0x47>; + status = "disabled"; + device_type = "snddaudio0"; + }; + + sound@2 { + compatible = "allwinner,sunxi-daudio1-machine"; + sunxi,daudio1-controller = <0x48>; + status = "disabled"; + device_type = "snddaudio1"; + }; + + sound@3 { + compatible = "allwinner,sunxi-hdmi-machine"; + sunxi,hdmi-controller = <0x49>; + status = "okay"; + device_type = "sndhdmi"; + }; + + sound@4 { + compatible = "allwinner,sunxi-spdif-machine"; + sunxi,spdif-controller = <0x4a>; + status = "disabled"; + device_type = "sndspdif"; + }; + + spi@01c68000 { + #address-cells = <0x1>; + #size-cells = <0x0>; + compatible = "allwinner,sun50i-spi"; + device_type = "spi0"; + reg = <0x0 0x1c68000 0x0 0x1000>; + interrupts = <0x0 0x41 0x4>; + clocks = <0x4 0x4b>; + clock-frequency = <0x5f5e100>; + pinctrl-names = "default", "sleep"; + spi0_cs_number = <0x1>; + spi0_cs_bitmap = <0x1>; + status = "okay"; + pinctrl-0 = <0xb3 0xb4 0xb5>; + pinctrl-1 = <0xb6 0xb7>; + + spi_board0 { + device_type = "spi_board0"; + compatible = "rohm,dh2228fv"; + spi-max-frequency = <50000000>; + reg = <0x0>; + }; + + }; + + spi@01c69000 { + #address-cells = <0x1>; + #size-cells = <0x0>; + compatible = "allwinner,sun50i-spi"; + device_type = "spi1"; + reg = <0x0 0x1c69000 0x0 0x1000>; + interrupts = <0x0 0x42 0x4>; + clocks = <0x4 0x4f>; + clock-frequency = <10000000>; + pinctrl-names = "default", "sleep"; + spi1_cs_number = <0x1>; + spi1_cs_bitmap = <0x1>; + status = "okay"; + pinctrl-0 = <0xb8 0xb9>; + pinctrl-1 = <0xba 0xbb>; + + spi_board1 { + device_type = "spi_board1"; + compatible = "rohm,dh2228fv"; + spi-max-frequency = <10000000>; + reg = <0x0>; + }; + }; + + sdmmc@01C11000 { + compatible = "allwinner,sunxi-mmc-v4p5x"; + device_type = "sdc2"; + reg = <0x0 0x1c11000 0x0 0x1000>; + interrupts = <0x0 0x3e 0x104>; + clocks = <0x6 0x53 0x54 0x55 0x56>; + clock-names = "osc24m", "pll_periph", "mmc", "ahb", "rst"; + pinctrl-names = "default", "sleep"; + pinctrl-1 = <0x58>; + bus-width = <0x8>; + max-frequency = <0x2faf080>; + sdc_tm4_sm0_freq0 = <0x0>; + sdc_tm4_sm0_freq1 = <0x0>; + sdc_tm4_sm1_freq0 = <0x0>; + sdc_tm4_sm1_freq1 = <0x0>; + sdc_tm4_sm2_freq0 = <0x0>; + sdc_tm4_sm2_freq1 = <0x0>; + sdc_tm4_sm3_freq0 = <0x5000000>; + sdc_tm4_sm3_freq1 = <0x405>; + sdc_tm4_sm4_freq0 = <0x50000>; + sdc_tm4_sm4_freq1 = <0x408>; + status = "disabled"; + non-removable; + pinctrl-0 = <0xc8>; + cd-gpios; + sunxi-power-save-mode; + sunxi-dis-signal-vol-sw; + vmmc = "vcc-emmcv"; + vqmmc = "vcc-emmcvq18"; + vdmmc = "none"; + }; + + sdmmc@01c0f000 { + compatible = "allwinner,sunxi-mmc-v4p1x"; + device_type = "sdc0"; + reg = <0x0 0x1c0f000 0x0 0x1000>; + interrupts = <0x0 0x3c 0x104>; + clocks = <0x6 0x53 0x59 0x5a 0x5b>; + clock-names = "osc24m", "pll_periph", "mmc", "ahb", "rst"; + pinctrl-names = "default", "sleep"; + pinctrl-1 = <0x5d>; + max-frequency = <0x2faf080>; + bus-width = <0x4>; + status = "okay"; + pinctrl-0 = <0xc6>; + cd-gpios = <0x3a 0x5 0x6 0x0 0x1 0x2 0xffffffff>; + sunxi-power-save-mode; + sunxi-dis-signal-vol-sw; + vmmc = "vcc-sdcv"; + vqmmc = "vcc-sdcvq33"; + vdmmc = "vcc-sdcvd"; + }; + + sdmmc@1C10000 { + compatible = "allwinner,sunxi-mmc-v4p1x"; + device_type = "sdc1"; + reg = <0x0 0x1c10000 0x0 0x1000>; + interrupts = <0x0 0x3d 0x104>; + clocks = <0x6 0x53 0x5e 0x5f 0x60>; + clock-names = "osc24m", "pll_periph", "mmc", "ahb", "rst"; + pinctrl-names = "default", "sleep"; + pinctrl-1 = <0x62>; + max-frequency = <0x8f0d180>; + bus-width = <0x4>; + sunxi-dly-52M-ddr4 = <0x1 0x0 0x0 0x0 0x2>; + sunxi-dly-104M = <0x1 0x0 0x0 0x0 0x1>; + sunxi-dly-208M = <0x1 0x0 0x0 0x0 0x1>; + status = "disabled"; + pinctrl-0 = <0xc7>; + sd-uhs-sdr50; + sd-uhs-ddr50; + sd-uhs-sdr104; + cap-sdio-irq = <0x1>; + keep-power-in-suspend; + ignore-pm-notify; + }; + + disp@01000000 { + compatible = "allwinner,sunxi-disp"; + reg = <0x0 0x1000000 0x0 0x300000 0x0 0x1c0c000 0x0 0x7fc 0x0 0x1c0d000 0x0 0x7fc>; + interrupts = <0x0 0x56 0x104 0x0 0x57 0x104>; + clocks = <0x63 0x64 0x65>; + boot_disp = <0x0>; + fb_base = <0x0>; + status = "okay"; + device_type = "disp"; + disp_init_enable = <0x1>; + disp_mode = <0x0>; + screen0_output_type = <0x3>; + screen0_output_mode = <0x4>; + screen1_output_type = <0x2>; + screen1_output_mode = <0xb>; + dev0_output_type = <0x4>; + dev0_output_mode = <0x4>; + dev0_screen_id = <0x0>; + dev0_do_hpd = <0x1>; + dev1_output_type = <0x2>; + dev1_output_mode = <0xb>; + dev1_screen_id = <0x1>; + dev1_do_hpd = <0x1>; + dev2_output_type = <0x0>; + def_output_dev = <0x0>; + hdmi_mode_check = <0x1>; + fb0_format = <0x0>; + fb0_width = <0x500>; + fb0_height = <0x2d0>; + fb1_format = <0x0>; + fb1_width = <0x0>; + fb1_height = <0x0>; + }; + + lcd0@01c0c000 { + compatible = "allwinner,sunxi-lcd0"; + pinctrl-names = "active", "sleep"; + status = "okay"; + device_type = "lcd0"; + lcd_used = <0x0>; + lcd_driver_name = "default_lcd"; + lcd_backlight = <0x32>; + lcd_if = <0x3>; + lcd_x = <0x500>; + lcd_y = <0x320>; + lcd_width = <0x96>; + lcd_height = <0x5e>; + lcd_dclk_freq = <0x46>; + lcd_pwm_used = <0x1>; + lcd_pwm_ch = <0x0>; + lcd_pwm_freq = <0xc350>; + lcd_pwm_pol = <0x1>; + lcd_pwm_max_limit = <0xff>; + lcd_hbp = <0x14>; + lcd_ht = <0x58a>; + lcd_hspw = <0xa>; + lcd_vbp = <0xa>; + lcd_vt = <0x32e>; + lcd_vspw = <0x5>; + lcd_lvds_if = <0x0>; + lcd_lvds_colordepth = <0x1>; + lcd_lvds_mode = <0x0>; + lcd_frm = <0x1>; + lcd_hv_clk_phase = <0x0>; + lcd_hv_sync_polarity = <0x0>; + lcd_gamma_en = <0x0>; + lcd_bright_curve_en = <0x0>; + lcd_cmap_en = <0x0>; + lcd_bl_en = <0x3a 0x3 0x17 0x1 0x0 0xffffffff 0x1>; + lcd_bl_en_power = "none"; + lcd_power = "vcc-lcd-0"; + lcd_fix_power = "vcc-dsi-33"; + pinctrl-0 = <0xbf>; + lcd_pin_power = "vcc-pd"; + pinctrl-1 = <0xc0>; + }; + + hdmi@01ee0000 { + compatible = "allwinner,sunxi-hdmi"; + reg = <0x0 0x1ee0000 0x0 0x20000>; + clocks = <0x66 0x67>; + device_type = "hdmi"; + status = "okay"; + hdmi_hdcp_enable = <0x0>; + hdmi_cts_compatibility = <0x0>; + hdmi_cec_support = <0x1>; + }; + + tv0@01c94000 { + compatible = "allwinner,sunxi-tv"; + reg = <0x0 0x1e40000 0x0 0x1000>; + clocks = <0x68>; + status = "disabled"; + device_type = "tv0"; + dac_src0 = <0x0>; + dac_type0 = <0x0>; + interface = <0x1>; + }; + + tr@01000000 { + compatible = "allwinner,sun50i-tr"; + reg = <0x0 0x1000000 0x0 0x200bc>; + interrupts = <0x0 0x60 0x104>; + clocks = <0x63>; + status = "okay"; + }; + + pwm@01c21400 { + compatible = "allwinner,sunxi-pwm"; + reg = <0x0 0x1c21400 0x0 0x3c>; + pwm-number = <0x1>; + pwm-base = <0x0>; + pwms = <0x69>; + }; + + pwm0@01c21400 { + compatible = "allwinner,sunxi-pwm0"; + pinctrl-names = "active", "sleep"; + reg_base = <0x1c21400>; + reg_busy_offset = <0x0>; + reg_busy_shift = <0x1c>; + reg_enable_offset = <0x0>; + reg_enable_shift = <0x4>; + reg_clk_gating_offset = <0x0>; + reg_clk_gating_shift = <0x6>; + reg_bypass_offset = <0x0>; + reg_bypass_shift = <0x9>; + reg_pulse_start_offset = <0x0>; + reg_pulse_start_shift = <0x8>; + reg_mode_offset = <0x0>; + reg_mode_shift = <0x7>; + reg_polarity_offset = <0x0>; + reg_polarity_shift = <0x5>; + reg_period_offset = <0x4>; + reg_period_shift = <0x10>; + reg_period_width = <0x10>; + reg_active_offset = <0x4>; + reg_active_shift = <0x0>; + reg_active_width = <0x10>; + reg_prescal_offset = <0x0>; + reg_prescal_shift = <0x0>; + reg_prescal_width = <0x4>; + linux,phandle = <0x69>; + phandle = <0x69>; + device_type = "pwm0"; + pwm_used = <0x0>; + pinctrl-0 = <0xc1>; + pinctrl-1 = <0xc2>; + }; + + s_pwm@1f03800 { + compatible = "allwinner,sunxi-s_pwm"; + reg = <0x0 0x1f03800 0x0 0x3c>; + pwm-number = <0x1>; + pwm-base = <0x10>; + pwms = <0x6a>; + }; + + spwm0@0x01f03800 { + compatible = "allwinner,sunxi-pwm16"; + pinctrl-names = "active", "sleep"; + reg_base = <0x1f03800>; + reg_busy_offset = <0x0>; + reg_busy_shift = <0x1c>; + reg_enable_offset = <0x0>; + reg_enable_shift = <0x4>; + reg_clk_gating_offset = <0x0>; + reg_clk_gating_shift = <0x6>; + reg_bypass_offset = <0x0>; + reg_bypass_shift = <0x9>; + reg_pulse_start_offset = <0x0>; + reg_pulse_start_shift = <0x8>; + reg_mode_offset = <0x0>; + reg_mode_shift = <0x7>; + reg_polarity_offset = <0x0>; + reg_polarity_shift = <0x5>; + reg_period_offset = <0x4>; + reg_period_shift = <0x10>; + reg_period_width = <0x10>; + reg_active_offset = <0x4>; + reg_active_shift = <0x0>; + reg_active_width = <0x10>; + reg_prescal_offset = <0x0>; + reg_prescal_shift = <0x0>; + reg_prescal_width = <0x4>; + linux,phandle = <0x6a>; + phandle = <0x6a>; + }; + + boot_disp { + compatible = "allwinner,boot_disp"; + }; + + ac200 { + compatible = "allwinner,sunxi-ac200"; + clocks = <0x64>; + pinctrl-names = "active", "sleep"; + status = "okay"; + }; + + cci@0x01cb3000 { + compatible = "allwinner,sunxi-csi_cci"; + reg = <0x0 0x1cb3000 0x0 0x1000>; + interrupts = <0x0 0x55 0x4>; + status = "okay"; + }; + + csi_res@0x01cb0000 { + compatible = "allwinner,sunxi-csi"; + reg = <0x0 0x1cb0000 0x0 0x1000>; + clocks = <0x6b 0x6c 0x6d 0x4 0x6 0x5>; + clocks-index = <0x0 0x1 0x2 0x3 0x4 0x5>; + status = "okay"; + }; + + isp@0x01cb8000 { + compatible = "allwinner,sunxi-isp"; + reg = <0x0 0x1cb8000 0x0 0x1000>; + status = "okay"; + }; + + vfe@0 { + device_type = "csi0"; + compatible = "allwinner,sunxi-vfe"; + interrupts = <0x0 0x54 0x4>; + pinctrl-names = "default", "sleep"; + pinctrl-1 = <0x6f>; + cci_sel = <0x0>; + csi_sel = <0x0>; + mipi_sel = <0x0>; + isp_sel = <0x0>; + csi0_sensor_list = <0x0>; + status = "okay"; + pinctrl-0 = <0xc5>; + csi0_mck = <0x3a 0x4 0x1 0x1 0xffffffff 0xffffffff 0xffffffff>; + + dev@0 { + csi0_dev0_mname = "gc2035"; + csi0_dev0_twi_addr = <0x78>; + csi0_dev0_pos = "rear"; + csi0_dev0_isp_used = <0x1>; + csi0_dev0_fmt = <0x0>; + csi0_dev0_stby_mode = <0x0>; + csi0_dev0_vflip = <0x0>; + csi0_dev0_hflip = <0x0>; + csi0_dev0_iovdd_vol = <0x2ab980>; + csi0_dev0_avdd_vol = <0x2ab980>; + csi0_dev0_dvdd_vol = <0x16e360>; + csi0_dev0_afvdd_vol = <0x2ab980>; + csi0_dev0_flash_used = <0x0>; + csi0_dev0_flash_type = <0x2>; + csi0_dev0_act_used = <0x0>; + csi0_dev0_act_name = "ad5820_act"; + csi0_dev0_act_slave = <0x18>; + status = "okay"; + device_type = "csi0_dev0"; + csi0_dev0_iovdd; + csi0_dev0_avdd; + csi0_dev0_dvdd; + csi0_dev0_afvdd; + csi0_dev0_power_en = <0x3a 0x0 0x11 0x1 0x0 0x1 0x0>; + csi0_dev0_reset = <0x3a 0x4 0xe 0x1 0x0 0x1 0x0>; + csi0_dev0_pwdn = <0x3a 0x4 0xf 0x1 0x0 0x1 0x0>; + csi0_dev0_flash_en; + csi0_dev0_flash_mode; + csi0_dev0_flvdd; + csi0_dev0_flvdd_vol; + csi0_dev0_af_pwdn; + }; + + dev@1 { + csi0_dev1_twi_addr = <0x78>; + csi0_dev1_pos = "rear"; + csi0_dev1_isp_used = <0x1>; + csi0_dev1_fmt = <0x0>; + csi0_dev1_stby_mode = <0x0>; + csi0_dev1_vflip = <0x0>; + csi0_dev1_hflip = <0x0>; + csi0_dev1_iovdd = "iovdd-csi"; + csi0_dev1_iovdd_vol = <0x2ab980>; + csi0_dev1_avdd = "avdd-csi"; + csi0_dev1_avdd_vol = <0x2ab980>; + csi0_dev1_dvdd = "dvdd-csi-18"; + csi0_dev1_dvdd_vol = <0x16e360>; + csi0_dev1_afvdd = "afvcc-csi"; + csi0_dev1_afvdd_vol = <0x2ab980>; + csi0_dev1_flash_used = <0x0>; + csi0_dev1_flash_type = <0x2>; + csi0_dev1_act_used = <0x0>; + csi0_dev1_act_name = "ad5820_act"; + csi0_dev1_act_slave = <0x18>; + status = "disabled"; + device_type = "csi0_dev1"; + csi0_dev1_mname; + csi0_dev1_power_en; + csi0_dev1_reset; + csi0_dev1_pwdn; + csi0_dev1_flash_en; + csi0_dev1_flash_mode; + csi0_dev1_flvdd; + csi0_dev1_flvdd_vol; + csi0_dev1_af_pwdn; + }; + }; + + vdevice@0 { + compatible = "allwinner,sun50i-vdevice"; + device_type = "Vdevice"; + pinctrl-names = "default"; + test-gpios = <0x3a 0x0 0x0 0x1 0x2 0x2 0x1>; + status = "disabled"; + pinctrl-0 = <0xcc>; + }; + + ce@1c15000 { + compatible = "allwinner,sunxi-ce"; + reg = <0x0 0x1c15000 0x0 0x80 0x0 0x1c15800 0x0 0x80>; + interrupts = <0x0 0x5e 0xff01 0x0 0x50 0xff01>; + clock-frequency = <0x11e1a300 0xbebc200>; + clocks = <0x71 0x4>; + }; + + deinterlace@0x01e00000 { + #address-cells = <0x1>; + #size-cells = <0x0>; + compatible = "allwinner,sunxi-deinterlace"; + reg = <0x0 0x1e00000 0x0 0x77c>; + interrupts = <0x0 0x5d 0x4>; + clocks = <0x72 0x4>; + status = "okay"; + device_type = "di"; + }; + + smartcard@0x01c2c400 { + #address-cells = <0x1>; + #size-cells = <0x0>; + compatible = "allwinner,sunxi-scr"; + device_type = "scr0"; + reg = <0x0 0x1c2c400 0x0 0x400>; + interrupts = <0x0 0x53 0x4>; + clocks = <0x73 0x74>; + clock-frequency = <0x16e3600>; + pinctrl-names = "default", "sleep"; + pinctrl-0 = <0x75 0x76>; + pinctrl-1 = <0x77>; + status = "okay"; + }; + + smartcard@0x01c2c800 { + #address-cells = <0x1>; + #size-cells = <0x0>; + compatible = "allwinner,sunxi-scr"; + device_type = "scr1"; + reg = <0x0 0x1c2c800 0x0 0x400>; + interrupts = <0x0 0x59 0x4>; + clocks = <0x78 0x74>; + clock-frequency = <0x16e3600>; + pinctrl-names = "default", "sleep"; + pinctrl-0 = <0x79 0x7a>; + pinctrl-1 = <0x7b>; + status = "disabled"; + }; + + pmu@0 { + interrupts = <0x0 0x20 0x4>; + status = "okay"; + device_type = "pmu0"; + compatible = "axpdummy"; + pmu_id = <0x83>; + + powerkey@0 { + status = "okay"; + }; + + regulator@0 { + status = "okay"; + device_type = "regulator0"; + compatible = "axpdummy-regulator"; + regulator_count = <0x6>; + regulator1 = "axpdummy_ldo1 none avcc vcc-pll vcc-tv"; + regulator2 = "axpdummy_ldo2 none vcc-dram"; + regulator3 = "axpdummy_ldo3 none vdd-sys vdd-ehpy"; + regulator4 = "axpdummy_ldo4 none vdd-cpua"; + regulator5 = "axpdummy_ldo5 none vcc-wifi"; + regulator6 = "axpdummy_ldo6 none vcc-rtc vdd-cpus vcc-io vcc-efuse vcc-sdc vcc-nand vcc-usb vcc-uartx vcc-feled vcc-key vcc-audio vcc-ir"; + }; + + axp_gpio@0 { + gpio-controller; + #size-cells = <0x0>; + #gpio-cells = <0x6>; + status = "okay"; + device_type = "axp_pio"; + linux,phandle = <0xbc>; + phandle = <0xbc>; + }; + + charger@0 { + status = "disabled"; + }; + }; + + nmi@0x01f00c00 { + #address-cells = <0x1>; + #size-cells = <0x0>; + compatible = "allwinner,sunxi-nmi"; + reg = <0x0 0x1f00c00 0x0 0x50>; + nmi_irq_ctrl = <0xc>; + nmi_irq_en = <0x40>; + nmi_irq_status = <0x10>; + nmi_irq_mask = <0x50>; + status = "okay"; + }; + + nand0@01c03000 { + compatible = "allwinner,sun50iw2-nand"; + device_type = "nand0"; + reg = <0x0 0x1c03000 0x0 0x1000>; + interrupts = <0x0 0x46 0x4>; + clocks = <0x4 0x7c>; + pinctrl-names = "default", "sleep"; + pinctrl-1 = <0x7f>; + nand0_regulator1 = "vcc-nand"; + nand0_regulator2 = "none"; + nand0_cache_level = <0x55aaaa55>; + nand0_flush_cache_num = <0x55aaaa55>; + nand0_capacity_level = <0x55aaaa55>; + nand0_id_number_ctl = <0x55aaaa55>; + nand0_print_level = <0x55aaaa55>; + nand0_p0 = <0x55aaaa55>; + nand0_p1 = <0x55aaaa55>; + nand0_p2 = <0x55aaaa55>; + nand0_p3 = <0x55aaaa55>; + status = "disabled"; + nand0_support_2ch = <0x0>; + pinctrl-0 = <0xbd 0xbe>; + }; + + ts0@01c06000 { + compatible = "allwinner,sun50i-tsc"; + device_type = "ts0"; + reg = <0x0 0x1c06000 0x0 0x1000>; + interrupts = <0x0 0x51 0x4>; + clocks = <0x4 0x80>; + pinctrl-names = "ts0-default", "ts1-default", "ts2-default", "ts3-default", "ts0-sleep", "ts1-sleep", "ts2-sleep", "ts3-sleep"; + pinctrl-0 = <0x81>; + pinctrl-1 = <0x82>; + pinctrl-2 = <0x83>; + pinctrl-3 = <0x84>; + pinctrl-4 = <0x85>; + pinctrl-5 = <0x86>; + pinctrl-6 = <0x87>; + pinctrl-7 = <0x88>; + ts0config = <0x1>; + ts1config = <0x0>; + ts2config = <0x1>; + ts3config = <0x0>; + status = "okay"; + }; + + thermal_sensor { + compatible = "allwinner,thermal_sensor"; + reg = <0x0 0x1c25000 0x0 0x84>; + interrupts = <0x0 0x1f 0x0>; + clocks = <0x6 0x89>; + sensor_num = <0x2>; + shut_temp = <0x6e>; + status = "okay"; + + combine0 { + #thermal-sensor-cells = <0x1>; + combine_cnt = <0x2>; + combine_type = "max"; + combine_chn = <0x0 0x1>; + linux,phandle = <0x8a>; + phandle = <0x8a>; + }; + }; + + cpu_budget_cool { + compatible = "allwinner,budget_cooling"; + #cooling-cells = <0x2>; + status = "okay"; + state_cnt = <0x5>; + cluster_num = <0x1>; + state0 = <0xf6180 0x4>; + state1 = <0xc7380 0x4>; + state2 = <0x9e340 0x2>; + state3 = <0x75300 0x2>; + state4 = <0x75300 0x1>; + linux,phandle = <0x8c>; + phandle = <0x8c>; + }; + + gpu_cooling { + compatible = "allwinner,gpu_cooling"; + reg = <0x0 0x0 0x0 0x0>; + #cooling-cells = <0x2>; + status = "okay"; + state_cnt = <0x4>; + state0 = <0x1c8>; + state1 = <0x180>; + state2 = <0x108>; + state3 = <0x90>; + linux,phandle = <0x90>; + phandle = <0x90>; + }; + + thermal-zones { + + soc_thermal { + polling-delay-passive = <0x3e8>; + polling-delay = <0x2710>; + thermal-sensors = <0x8a 0x0>; + + trips { + + t0 { + temperature = <0x5a>; + type = "passive"; + hysteresis = <0x0>; + linux,phandle = <0x8b>; + phandle = <0x8b>; + }; + + t1 { + temperature = <0x64>; + type = "passive"; + hysteresis = <0x0>; + linux,phandle = <0x8d>; + phandle = <0x8d>; + }; + + t2 { + temperature = <0x6e>; + type = "passive"; + hysteresis = <0x0>; + linux,phandle = <0x8e>; + phandle = <0x8e>; + }; + + t3 { + temperature = <0x50>; + type = "passive"; + hysteresis = <0x0>; + linux,phandle = <0x8f>; + phandle = <0x8f>; + }; + + t4 { + temperature = <0x5a>; + type = "passive"; + hysteresis = <0x0>; + linux,phandle = <0x91>; + phandle = <0x91>; + }; + + t5 { + temperature = <0x64>; + type = "passive"; + hysteresis = <0x0>; + linux,phandle = <0x92>; + phandle = <0x92>; + }; + + t6 { + temperature = <0x73>; + type = "critical"; + hysteresis = <0x0>; + }; + }; + + cooling-maps { + + bind0 { + contribution = <0x0>; + trip = <0x8b>; + cooling-device = <0x8c 0x1 0x1>; + }; + + bind1 { + contribution = <0x0>; + trip = <0x8d>; + cooling-device = <0x8c 0x2 0x2>; + }; + + bind2 { + contribution = <0x0>; + trip = <0x8e>; + cooling-device = <0x8c 0x3 0x4>; + }; + + bind3 { + contribution = <0x0>; + trip = <0x8f>; + cooling-device = <0x90 0x1 0x1>; + }; + + bind4 { + contribution = <0x0>; + trip = <0x91>; + cooling-device = <0x90 0x2 0x2>; + }; + + bind5 { + contribution = <0x0>; + trip = <0x92>; + cooling-device = <0x90 0x3 0x3>; + }; + }; + }; + }; + + keyboard { + compatible = "allwinner,keyboard_2000mv"; + reg = <0x0 0x1c21800 0x0 0x400>; + interrupts = <0x0 0x1e 0x0>; + status = "okay"; + key_cnt = <0x5>; + key1 = <0xf0 0x73>; + key2 = <0x1f4 0x72>; + key3 = <0x2bc 0x8b>; + key4 = <0x37a 0x1c>; + key5 = <0x7d0 0x66>; + }; + + eth@01c30000 { + compatible = "allwinner,sunxi-gmac"; + reg = <0x0 0x1c30000 0x0 0x4000 0x0 0x1c00030 0x0 0x1>; + pinctrl-names = "default"; + pinctrl-0 = <0x93>; + interrupts = <0x0 0x52 0x4>; + interrupt-names = "gmacirq"; + clocks = <0x94 0x95>; + clock-names = "gmac", "ephy"; + phy-mode = "rgmii"; + tx-delay = <0x0>; + rx-delay = <0x0>; + phy_power_on = <0x3a 0x3 0x6 0x1 0x0 0x0 0x0>; + status = "okay"; + device_type = "gmac0"; + gmac_power1; + gmac_power2; + gmac_power3; + }; + + product { + device_type = "product"; + version = "100"; + machine = "cheetah-p1"; + }; + + platform { + device_type = "platform"; + debug_mode = <0x1>; + }; + + target { + device_type = "target"; + boot_clock = <0x3f0>; + storage_type = <0xffffffff>; + burn_key = <0x0>; + dragonboard_test = <0x0>; + power_mode = <0x1>; + }; + + power_sply { + device_type = "power_sply"; + dcdcb_vol = <0xf472c>; + dcdcc_vol = <0xf46f0>; + aldo2_vol = <0xf4f24>; + }; + + ir_boot_recovery { + device_type = "ir_boot_recovery"; + status = "disabled"; + ir_recovery_key_code0 = <0x57>; + ir_addr_code0 = <0x9f00>; + ir_recovery_key_code1 = <0x15>; + ir_addr_code1 = <0xbc00>; + }; + + card_boot { + device_type = "card_boot"; + logical_start = <0xa000>; + sprite_gpio0 = <0x9e 0xb 0xa 0x1 0xffffffff 0xffffffff 0x1>; + next_work = <0x3>; + }; + + recovery_para { + device_type = "recovery_para"; + status = "okay"; + mode = <0x1>; + recovery_key = <0x9e 0xb 0x4 0x0 0xffffffff 0xffffffff 0xffffffff>; + }; + + boot_init_gpio { + device_type = "boot_init_gpio"; + status = "okay"; + gpio0 = <0x9e 0xb 0xa 0x1 0xffffffff 0xffffffff 0x0>; + gpio1 = <0x3a 0x0 0x14 0x1 0xffffffff 0xffffffff 0x1>; + }; + + pm_para { + device_type = "pm_para"; + standby_mode = <0x1>; + }; + + card0_boot_para { + device_type = "card0_boot_para"; + card_ctrl = <0x0>; + card_high_speed = <0x1>; + card_line = <0x4>; + pinctrl-0 = <0x9f>; + }; + + card2_boot_para { + device_type = "card2_boot_para"; + card_ctrl = <0x2>; + card_high_speed = <0x1>; + card_line = <0x8>; + pinctrl-0 = <0xa0 0xa1>; + sdc_ex_dly_used = <0x2>; + }; + + twi_para { + device_type = "twi_para"; + twi_port = <0x0>; + pinctrl-0 = <0xa2>; + }; + + uart_para { + device_type = "uart_para"; + uart_debug_port = <0x0>; + pinctrl-0 = <0xa3>; + }; + + jtag_para { + device_type = "jtag_para"; + jtag_enable = <0x0>; + pinctrl-0 = <0xa4>; + }; + + clock { + device_type = "clock"; + pll4 = <0x12c>; + pll6 = <0x258>; + pll8 = <0x168>; + pll9 = <0x129>; + pll10 = <0x108>; + }; + + rtp_para { + device_type = "rtp_para"; + rtp_used = <0x0>; + rtp_screen_size = <0x5>; + rtp_regidity_level = <0x5>; + rtp_press_threshold_enable = <0x0>; + rtp_press_threshold = <0x1f40>; + rtp_sensitive_level = <0xf>; + rtp_exchange_x_y_flag = <0x0>; + }; + + ctp { + device_type = "ctp"; + compatible = "allwinner,sun50i-ctp-para"; + status = "disabled"; + ctp_twi_id = <0x0>; + ctp_twi_addr = <0x5d>; + ctp_screen_max_x = <0x500>; + ctp_screen_max_y = <0x320>; + ctp_revert_x_flag = <0x1>; + ctp_revert_y_flag = <0x1>; + ctp_exchange_x_y_flag = <0x1>; + ctp_int_port = <0x3a 0x7 0x4 0x6 0xffffffff 0xffffffff 0xffffffff>; + ctp_wakeup = <0x3a 0x7 0x8 0x1 0xffffffff 0xffffffff 0x1>; + ctp_power_ldo = "vcc-ctp"; + ctp_power_ldo_vol = <0xce4>; + ctp_power_io; + }; + + ctp_list { + device_type = "ctp_list"; + compatible = "allwinner,sun50i-ctp-list"; + ctp_det_used = <0x1>; + ft5x_ts = <0x1>; + gt82x = <0x1>; + gslX680 = <0x1>; + gt9xx_ts = <0x0>; + gt9xxnew_ts = <0x1>; + gt811 = <0x1>; + zet622x = <0x1>; + aw5306_ts = <0x1>; + }; + + tkey_para { + device_type = "tkey_para"; + tkey_used = <0x0>; + tkey_twi_id; + tkey_twi_addr; + tkey_int; + }; + + motor_para { + device_type = "motor_para"; + motor_used = <0x1>; + motor_shake = <0xbc 0xfffe 0x3 0x1 0xffffffff 0xffffffff 0x1>; + }; + + pwm16 { + device_type = "pwm16"; + s_pwm0_used = <0x0>; + pinctrl-0 = <0xc3>; + pinctrl-1 = <0xc4>; + }; + + tvout_para { + device_type = "tvout_para"; + tvout_used; + tvout_channel_num; + tv_en; + }; + + tvin_para { + device_type = "tvin_para"; + tvin_used; + tvin_channel_num; + }; + + smc { + device_type = "smc"; + smc_used; + smc_rst; + smc_vppen; + smc_vppp; + smc_det; + smc_vccen; + smc_sck; + smc_sda; + }; + + leds { + compatible = "gpio-leds"; + + pwr { + label = "orangepi:green:pwr"; + gpios = <0x9e 0xb 0xa 0x1 0xffffffff 0xffffffff 0x0>; + default-state = "on"; + }; + + status { + label = "orangepi:red:status"; + gpios = <0x3a 0x0 0x14 0x1 0xffffffff 0xffffffff 0x0>; + default-state = "off"; + }; + }; + + gpio_para { + device_type = "gpio_para"; + compatible = "allwinner,sunxi-init-gpio"; + gpio_used = <0x1>; + gpio_num = <0x2>; + gpio_pin_1 = <0x3a 0x6 0xb 0x1 0xffffffff 0xffffffff 0x1>; + gpio_pin_2 = <0x3a 0x6 0xd 0x1 0xffffffff 0xffffffff 0x1>; + }; + + serial_feature { + device_type = "serial_feature"; + sn_filename = "sn.txt"; + }; + + gsensor { + device_type = "gsensor"; + compatible = "allwinner,sun50i-gsensor-para"; + status = "disabled"; + gsensor_twi_id = <0x1>; + gsensor_twi_addr = <0x18>; + gsensor_int1 = <0x3a 0x0 0x9 0x6 0x1 0xffffffff 0xffffffff>; + gsensor_int2; + gsensor_vcc_io = "vcc-deviceio"; + gsensor_vcc_io_val = <0xc1c>; + }; + + gsensor_list_para { + device_type = "gsensor_list_para"; + compatible = "allwinner,sun50i-gsensor-list-para"; + gsensor_det_used = <0x0>; + lsm9ds0_acc_mag = <0x1>; + bma250 = <0x1>; + mma8452 = <0x1>; + mma7660 = <0x1>; + mma865x = <0x1>; + afa750 = <0x1>; + lis3de_acc = <0x1>; + lis3dh_acc = <0x1>; + kxtik = <0x1>; + dmard10 = <0x0>; + dmard06 = <0x1>; + mxc622x = <0x1>; + fxos8700 = <0x1>; + lsm303d = <0x0>; + }; + + 3g_para { + device_type = "3g_para"; + 3g_used = <0x0>; + 3g_usbc_num = <0x2>; + 3g_uart_num = <0x0>; + bb_vbat = <0x9e 0xb 0x3 0x1 0xffffffff 0xffffffff 0x0>; + bb_host_wake = <0x9e 0xc 0x0 0x1 0xffffffff 0xffffffff 0x0>; + bb_on = <0x9e 0xc 0x1 0x1 0xffffffff 0xffffffff 0x0>; + bb_pwr_on = <0x9e 0xc 0x3 0x1 0xffffffff 0xffffffff 0x0>; + bb_wake = <0x9e 0xc 0x4 0x1 0xffffffff 0xffffffff 0x0>; + bb_rf_dis = <0x9e 0xc 0x5 0x1 0xffffffff 0xffffffff 0x0>; + bb_rst = <0x9e 0xc 0x6 0x1 0xffffffff 0xffffffff 0x0>; + 3g_int; + }; + + gy_para { + device_type = "gy_para"; + compatible = "allwinner,sun50i-gyr_sensors-para"; + gy_used = <0x0>; + gy_twi_id = <0x2>; + gy_twi_addr = <0x6a>; + gy_int1 = <0x3a 0x0 0xa 0x6 0x1 0xffffffff 0xffffffff>; + gy_int2; + }; + + gy_list_para { + device_type = "gy_list_para"; + compatible = "allwinner,sun50i-gyr_sensors-list-para"; + gy_det_used = <0x0>; + lsm9ds0_gyr = <0x1>; + l3gd20_gyr = <0x0>; + bmg160_gyr = <0x1>; + }; + + ls_para { + device_type = "ls_para"; + compatible = "allwinner,sun50i-lsensors-para"; + ls_used = <0x0>; + ls_twi_id = <0x2>; + ls_twi_addr = <0x23>; + ls_int = <0x3a 0x0 0xc 0x6 0x1 0xffffffff 0xffffffff>; + }; + + ls_list_para { + device_type = "ls_list_para"; + compatible = "allwinner,sun50i-lsensors-list-para"; + ls_det_used = <0x0>; + ltr_501als = <0x1>; + jsa1212 = <0x0>; + jsa1127 = <0x1>; + }; + + compass_para { + device_type = "compass_para"; + compatible = "allwinner,sun50i-compass-para"; + compass_used = <0x0>; + compass_twi_id = <0x2>; + compass_twi_addr = <0xd>; + compass_int = <0x3a 0x0 0xb 0x6 0x1 0xffffffff 0xffffffff>; + }; + + compass_list_para { + device_type = "compass_list_para"; + compatible = "allwinner,sun50i-compass-list-para"; + compass_det_used = <0x0>; + lsm9ds0 = <0x1>; + lsm303d = <0x0>; + akm8963 = <0x1>; + }; + + s_rsb0 { + device_type = "s_rsb0"; + status = "okay"; + pinctrl-0 = <0xca>; + }; + + box_standby_led { + device_type = "box_standby_led"; + gpio0 = <0x9e 0xb 0xa 0x1 0xffffffff 0xffffffff 0x1>; + gpio1 = <0x3a 0x0 0x14 0x1 0xffffffff 0xffffffff 0x0>; + }; + + gpio_power_key { + device_type = "gpio_power_key"; + key_io = <0x9e 0xb 0x3 0x6 0xffffffff 0xffffffff 0x0>; + }; + }; + + aliases { + serial0 = "/soc@01c00000/uart@01c28000"; + serial1 = "/soc@01c00000/uart@01c28400"; + serial2 = "/soc@01c00000/uart@01c28800"; + serial3 = "/soc@01c00000/uart@01c28c00"; + twi0 = "/soc@01c00000/twi@0x01c2ac00"; + twi1 = "/soc@01c00000/twi@0x01c2b000"; + twi2 = "/soc@01c00000/twi@0x01c2b400"; + spi0 = "/soc@01c00000/spi@01c68000"; + spi1 = "/soc@01c00000/spi@01c69000"; + scr0 = "/soc@01c00000/smartcard@0x01c2c400"; + scr1 = "/soc@01c00000/smartcard@0x01c2c800"; + global_timer0 = "/soc@01c00000/timer@1c20c00"; + cci0 = "/soc@01c00000/cci@0x01cb3000"; + csi_res0 = "/soc@01c00000/csi_res@0x01cb0000"; + isp0 = "/soc@01c00000/isp@0x01cb8000"; + vfe0 = "/soc@01c00000/vfe@0"; + mmc0 = "/soc@01c00000/sdmmc@01c0f000"; + mmc2 = "/soc@01c00000/sdmmc@01C11000"; + nand0 = "/soc@01c00000/nand0@01c03000"; + disp = "/soc@01c00000/disp@01000000"; + lcd0 = "/soc@01c00000/lcd0@01c0c000"; + hdmi = "/soc@01c00000/hdmi@01ee0000"; + pwm = "/soc@01c00000/pwm@01c21400"; + pwm0 = "/soc@01c00000/pwm0@01c21400"; + tv0 = "/soc@01c00000/tv0@01c94000"; + s_pwm = "/soc@01c00000/s_pwm@1f03800"; + spwm0 = "/soc@01c00000/spwm0@0x01f03800"; + boot_disp = "/soc@01c00000/boot_disp"; + charger0 = "/soc@01c00000/pmu@0/charger@0"; + regulator0 = "/soc@01c00000/pmu@0/regulator@0"; + }; + + chosen { + bootargs = "earlyprintk=sunxi-uart,0x01c28000 loglevel=8 initcall_debug=1 console=ttyS0 init=/init"; + linux,initrd-start = <0x0 0x0>; + linux,initrd-end = <0x0 0x0>; + }; + + cpus { + #address-cells = <0x2>; + #size-cells = <0x0>; + + cpu@0 { + device_type = "cpu"; + compatible = "arm,cortex-a53", "arm,armv8"; + reg = <0x0 0x0>; + enable-method = "psci"; + cpufreq_tbl = <0x75300 0x9e340 0xafc80 0xc7380 0xdea80 0xf6180 0x10d880 0x119400 0x124f80>; + clock-latency = <0x1e8480>; + clock-frequency = <0x3c14dc00>; + cpu-idle-states = <0x96 0x97 0x98>; + }; + + cpu@1 { + device_type = "cpu"; + compatible = "arm,cortex-a53", "arm,armv8"; + reg = <0x0 0x1>; + enable-method = "psci"; + clock-frequency = <0x3c14dc00>; + cpu-idle-states = <0x96 0x97 0x98>; + }; + + cpu@2 { + device_type = "cpu"; + compatible = "arm,cortex-a53", "arm,armv8"; + reg = <0x0 0x2>; + enable-method = "psci"; + clock-frequency = <0x3c14dc00>; + cpu-idle-states = <0x96 0x97 0x98>; + }; + + cpu@3 { + device_type = "cpu"; + compatible = "arm,cortex-a53", "arm,armv8"; + reg = <0x0 0x3>; + enable-method = "psci"; + clock-frequency = <0x3c14dc00>; + cpu-idle-states = <0x96 0x97 0x98>; + }; + + idle-states { + entry-method = "arm,psci"; + + cpu-sleep-0 { + compatible = "arm,idle-state"; + arm,psci-suspend-param = <0x10000>; + entry-latency-us = <0x28>; + exit-latency-us = <0x64>; + min-residency-us = <0x96>; + linux,phandle = <0x96>; + phandle = <0x96>; + }; + + cluster-sleep-0 { + compatible = "arm,idle-state"; + arm,psci-suspend-param = <0x1010000>; + entry-latency-us = <0x1f4>; + exit-latency-us = <0x3e8>; + min-residency-us = <0x9c4>; + linux,phandle = <0x97>; + phandle = <0x97>; + }; + + sys-sleep-0 { + compatible = "arm,idle-state"; + arm,psci-suspend-param = <0x2010000>; + entry-latency-us = <0x3e8>; + exit-latency-us = <0x7d0>; + min-residency-us = <0x1194>; + linux,phandle = <0x98>; + phandle = <0x98>; + }; + }; + }; + + psci { + compatible = "arm,psci-0.2"; + method = "smc"; + psci_version = <0x84000000>; + cpu_suspend = <0xc4000001>; + cpu_off = <0x84000002>; + cpu_on = <0xc4000003>; + affinity_info = <0xc4000004>; + migrate = <0xc4000005>; + migrate_info_type = <0x84000006>; + migrate_info_up_cpu = <0xc4000007>; + system_off = <0x84000008>; + system_reset = <0x84000009>; + }; + + n_brom { + compatible = "allwinner,n-brom"; + reg = <0x0 0x0 0x0 0xc000>; + }; + + s_brom { + compatible = "allwinner,s-brom"; + reg = <0x0 0x0 0x0 0x10000>; + }; + + sram_ctrl { + device_type = "sram_ctrl"; + compatible = "allwinner,sram_ctrl"; + reg = <0x0 0x1c00000 0x0 0x100>; + }; + + sram_a1 { + compatible = "allwinner,sram_a1"; + reg = <0x0 0x10000 0x0 0x10000>; + }; + + sram_a2 { + compatible = "allwinner,sram_a2"; + reg = <0x0 0x40000 0x0 0x14000>; + }; + + prcm { + compatible = "allwinner,prcm"; + reg = <0x0 0x1f01400 0x0 0x400>; + }; + + cpuscfg { + compatible = "allwinner,cpuscfg"; + reg = <0x0 0x1f01c00 0x0 0x400>; + }; + + ion { + compatible = "allwinner,sunxi-ion"; + + system { + type = <0x0>; + }; + + system_contig { + type = <0x1>; + }; + + cma { + type = <0x4>; + }; + }; + + dram { + compatible = "allwinner,dram"; + clocks = <0x99>; + clock-names = "pll_ddr"; + dram_clk = <0x2a0>; + dram_type = <0x3>; + dram_zq = <0x3b3bf9>; + dram_odt_en = <0x1>; + dram_para1 = <0x10f410f4>; + dram_para2 = <0x0>; + dram_mr0 = <0x1840>; + dram_mr1 = <0x40>; + dram_mr2 = <0x18>; + dram_mr3 = <0x2>; + dram_tpr0 = <0x48a192>; + dram_tpr1 = <0x1b1a94b>; + dram_tpr2 = <0x61043>; + dram_tpr3 = <0xb4787896>; + dram_tpr4 = <0x0>; + dram_tpr5 = <0x0>; + dram_tpr6 = <0x64>; + dram_tpr7 = <0x1e08a1e0>; + dram_tpr8 = <0x0>; + dram_tpr9 = <0x0>; + dram_tpr10 = <0x2535>; + dram_tpr11 = <0x23330000>; + dram_tpr12 = <0x8897>; + dram_tpr13 = <0x4002910>; + device_type = "dram"; + }; + + memory@40000000 { + device_type = "memory"; + reg = <0x0 0x41000000 0x0 0x3f000000>; + }; + + interrupt-controller@1c81000 { + compatible = "arm,cortex-a15-gic", "arm,cortex-a9-gic"; + #interrupt-cells = <0x3>; + #address-cells = <0x0>; + device_type = "gic"; + interrupt-controller; + reg = <0x0 0x1c81000 0x0 0x1000 0x0 0x1c82000 0x0 0x2000 0x0 0x1c84000 0x0 0x2000 0x0 0x1c86000 0x0 0x2000>; + interrupts = <0x1 0x9 0xf04>; + linux,phandle = <0x1>; + phandle = <0x1>; + }; + + sunxi-sid@1c14000 { + compatible = "allwinner,sunxi-sid"; + device_type = "sid"; + reg = <0x0 0x1c14000 0x0 0x200>; + }; + + sunxi-chipid@1c14200 { + compatible = "allwinner,sunxi-chipid"; + device_type = "chipid"; + reg = <0x0 0x1c14200 0x0 0x200>; + }; + + timer { + compatible = "arm,armv8-timer"; + interrupts = <0x1 0xd 0xff01 0x1 0xe 0xff01 0x1 0xb 0xff01 0x1 0xa 0xff01>; + clock-frequency = <0x16e3600>; + }; + + pmu { + compatible = "arm,armv8-pmuv3"; + interrupts = <0x0 0x78 0x4 0x0 0x79 0x4 0x0 0x7a 0x4 0x0 0x7b 0x4>; + }; + + dvfs_table { + compatible = "allwinner,dvfs_table"; + max_freq = <0x3c14dc00>; + min_freq = <0x1c9c3800>; + lv_count = <0x8>; + lv1_freq = <0x44aa2000>; + lv1_volt = <0x44c>; + lv2_freq = <0x41cdb400>; + lv2_volt = <0x44c>; + lv3_freq = <0x3c14dc00>; + lv3_volt = <0x44c>; + lv4_freq = <0x30a32c00>; + lv4_volt = <0x44c>; + lv5_freq = "%1|"; + lv5_volt = <0x44c>; + lv6_freq = <0x0>; + lv6_volt = <0x44c>; + lv7_freq = <0x0>; + lv7_volt = <0x44c>; + lv8_freq = <0x0>; + lv8_volt = <0x44c>; + device_type = "dvfs_table"; + }; + + dramfreq { + compatible = "allwinner,sunxi-dramfreq"; + reg = <0x0 0x1c62000 0x0 0x1000 0x0 0x1c63000 0x0 0x1000 0x0 0x1c20000 0x0 0x800>; + interrupts = <0x0 0x45 0x4>; + clocks = <0x99 0x4 0x9a>; + status = "okay"; + }; + + uboot { + }; + + gpu@0x01E80000 { + compatible = "arm,mali-450", "arm,mali-utgard"; + reg = <0x0 0x1e80000 0x0 0x30000>; + interrupts = <0x0 0x60 0x4 0x0 0x61 0x4 0x0 0x63 0x4 0x0 0x64 0x4 0x0 0x65 0x4 0x0 0x66 0x4 0x0 0x67 0x4 0x0 0x68 0x4 0x0 0x69 0x4 0x0 0x6a 0x4 0x0 0x6b 0x4>; + interrupt-names = "IRQGP", "IRQGPMMU", "IRQPP", "IRQPP0", "IRQPPMMU0", "IRQPP1", "IRQPPMMU1", "IRQPP2", "IRQPPMMU2", "IRQPP3", "IRQPPMMU3"; + clocks = <0x9b 0x9c>; + device_type = "gpu_mali450_0"; + regulator_id = "vdd-gpu"; + dvfs_status = <0x0>; + temp_ctrl_status = <0x1>; + scene_ctrl_status = <0x1>; + max_level = <0x3>; + begin_level = <0x3>; + lv0_freq = <0x90>; + lv0_volt = <0x4b0>; + lv1_freq = <0x108>; + lv1_volt = <0x4b0>; + lv2_freq = <0x180>; + lv2_volt = <0x4b0>; + lv3_freq = <0x1c8>; + lv3_volt = <0x4b0>; + }; + + wlan { + compatible = "allwinner,sunxi-wlan"; + clocks = "&clk_losc_out"; + wlan_power = "vcc-wifi"; + wlan_io_regulator = "vcc-wifi-io"; + wlan_busnum = <0x1>; + status = "disabled"; + device_type = "wlan"; + wlan_usbnum = <0x3>; + wlan_regon = <0x3a 0x2 0xe 0x1 0xffffffff 0xffffffff 0x0>; + wlan_hostwake = <0x9e 0xb 0x7 0x0 0xffffffff 0xffffffff 0x0>; + }; + + bt { + compatible = "allwinner,sunxi-bt"; + clocks = <0x9d>; + bt_power = "vcc-wifi"; + bt_io_regulator = "vcc-wifi-io"; + status = "disabled"; + device_type = "bt"; + bt_rst_n = <0x3a 0x2 0x10 0x1 0xffffffff 0xffffffff 0x0>; + }; + + btlpm { + compatible = "allwinner,sunxi-btlpm"; + uart_index = <0x1>; + status = "disabled"; + device_type = "btlpm"; + bt_wake = <0x3a 0x2 0xf 0x1 0xffffffff 0xffffffff 0x1>; + bt_hostwake = <0x9e 0xb 0x6 0x6 0xffffffff 0xffffffff 0x0>; + }; +}; diff --git a/external/packages/pack-uboot/sun50iw2/bin/dts/orangepiprime-u-boot.dts b/external/packages/pack-uboot/sun50iw2/bin/dts/orangepiprime-u-boot.dts new file mode 100644 index 000000000000..618a965549f7 --- /dev/null +++ b/external/packages/pack-uboot/sun50iw2/bin/dts/orangepiprime-u-boot.dts @@ -0,0 +1,3590 @@ +/dts-v1/; + +/memreserve/ 0x0000000040020000 0x0000000000000800; +/memreserve/ 0x0000000048000000 0x0000000001000000; +/memreserve/ 0x0000000048100000 0x0000000000004000; +/memreserve/ 0x0000000048104000 0x0000000000001000; +/memreserve/ 0x0000000048105000 0x0000000000001000; +/ { + model = "Orange Pi Prime"; + compatible = "arm,sun50iw2p1"; + interrupt-parent = <0x1>; + #address-cells = <0x2>; + #size-cells = <0x2>; + + clocks { + compatible = "allwinner,sunxi-clk-init"; + device_type = "clocks"; + #address-cells = <0x2>; + #size-cells = <0x2>; + ranges; + reg = <0x0 0x1c20000 0x0 0x324 0x0 0x1f01400 0x0 0x1d4 0x0 0x1f00060 0x0 0x4>; + + losc { + #clock-cells = <0x0>; + compatible = "allwinner,fixed-clock"; + clock-frequency = <0x8000>; + clock-output-names = "losc"; + linux,phandle = <0xb>; + phandle = <0xb>; + }; + + iosc { + #clock-cells = <0x0>; + compatible = "allwinner,fixed-clock"; + clock-frequency = <0xf42400>; + clock-output-names = "iosc"; + linux,phandle = <0xc>; + phandle = <0xc>; + }; + + hosc { + #clock-cells = <0x0>; + compatible = "allwinner,fixed-clock"; + clock-frequency = <0x16e3600>; + clock-output-names = "hosc"; + linux,phandle = <0x6>; + phandle = <0x6>; + }; + + pll_cpu { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-pll-clock"; + lock-mode = "none"; + clock-output-names = "pll_cpu"; + }; + + pll_audio { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-pll-clock"; + lock-mode = "none"; + assigned-clock-rates = <0x1770000>; + clock-output-names = "pll_audio"; + linux,phandle = <0x2>; + phandle = <0x2>; + }; + + pll_video { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-pll-clock"; + lock-mode = "none"; + assigned-clock-rates = <0x11b3dc40>; + clock-output-names = "pll_video"; + linux,phandle = <0x3>; + phandle = <0x3>; + }; + + pll_ve { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-pll-clock"; + device_type = "clk_pll_ve"; + lock-mode = "none"; + assigned-clock-rates = <0x1908b100>; + clock-output-names = "pll_ve"; + linux,phandle = <0x15>; + phandle = <0x15>; + }; + + pll_ddr { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-pll-clock"; + lock-mode = "none"; + clock-output-names = "pll_ddr"; + linux,phandle = <0x90>; + phandle = <0x90>; + }; + + pll_periph0 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-pll-clock"; + lock-mode = "none"; + clock-output-names = "pll_periph0"; + linux,phandle = <0x4>; + phandle = <0x4>; + }; + + pll_periph1 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-pll-clock"; + lock-mode = "none"; + clock-output-names = "pll_periph1"; + linux,phandle = <0x5>; + phandle = <0x5>; + }; + + pll_gpu { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-pll-clock"; + lock-mode = "none"; + clock-output-names = "pll_gpu"; + linux,phandle = <0x92>; + phandle = <0x92>; + }; + + pll_de { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-pll-clock"; + lock-mode = "none"; + assigned-clock-rates = <0x337f9800>; + clock-output-names = "pll_de"; + linux,phandle = <0x7>; + phandle = <0x7>; + }; + + pll_audiox8 { + #clock-cells = <0x0>; + compatible = "allwinner,fixed-factor-clock"; + clocks = <0x2>; + clock-mult = <0x8>; + clock-div = <0x1>; + clock-output-names = "pll_audiox8"; + }; + + pll_audiox4 { + #clock-cells = <0x0>; + compatible = "allwinner,fixed-factor-clock"; + clocks = <0x2>; + clock-mult = <0x8>; + clock-div = <0x2>; + clock-output-names = "pll_audiox4"; + }; + + pll_audiox2 { + #clock-cells = <0x0>; + compatible = "allwinner,fixed-factor-clock"; + clocks = <0x2>; + clock-mult = <0x8>; + clock-div = <0x4>; + clock-output-names = "pll_audiox2"; + }; + + pll_videox2 { + #clock-cells = <0x0>; + compatible = "allwinner,fixed-factor-clock"; + clocks = <0x3>; + clock-mult = <0x2>; + clock-div = <0x1>; + clock-output-names = "pll_videox2"; + }; + + pll_periph0x2 { + #clock-cells = <0x0>; + compatible = "allwinner,fixed-factor-clock"; + clocks = <0x4>; + clock-mult = <0x2>; + clock-div = <0x1>; + clock-output-names = "pll_periph0x2"; + }; + + pll_periph1x2 { + #clock-cells = <0x0>; + compatible = "allwinner,fixed-factor-clock"; + clocks = <0x5>; + clock-mult = <0x2>; + clock-div = <0x1>; + clock-output-names = "pll_periph1x2"; + linux,phandle = <0x53>; + phandle = <0x53>; + }; + + pll_periph0d2 { + #clock-cells = <0x0>; + compatible = "allwinner,fixed-factor-clock"; + clocks = <0x4>; + clock-mult = <0x1>; + clock-div = <0x2>; + clock-output-names = "pll_periph0d2"; + }; + + hoscd2 { + #clock-cells = <0x0>; + compatible = "allwinner,fixed-factor-clock"; + clocks = <0x6>; + clock-mult = <0x1>; + clock-div = <0x2>; + clock-output-names = "hoscd2"; + }; + + hoscx2 { + #clock-cells = <0x0>; + compatible = "allwinner,fixed-factor-clock"; + clocks = <0x6>; + clock-mult = <0x2>; + clock-div = <0x1>; + clock-output-names = "hoscx2"; + }; + + cpu { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "cpu"; + }; + + cpuapb { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "cpuapb"; + }; + + axi { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "axi"; + }; + + pll_periphahb0 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "pll_periphahb0"; + }; + + ahb1 { + #clock-cells = <0x0>; + assigned-clock-rates = <0xbebc200>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "ahb1"; + linux,phandle = <0x91>; + phandle = <0x91>; + }; + + apb1 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "apb1"; + }; + + apb2 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "apb2"; + linux,phandle = <0x74>; + phandle = <0x74>; + }; + + ahb2 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "ahb2"; + }; + + ths { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "ths"; + linux,phandle = <0x80>; + phandle = <0x80>; + }; + + nand { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "nand"; + linux,phandle = <0x7c>; + phandle = <0x7c>; + }; + + sdmmc0_mod { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "sdmmc0_mod"; + linux,phandle = <0x59>; + phandle = <0x59>; + }; + + sdmmc0_bus { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "sdmmc0_bus"; + linux,phandle = <0x5a>; + phandle = <0x5a>; + }; + + sdmmc0_rst { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "sdmmc0_rst"; + linux,phandle = <0x5b>; + phandle = <0x5b>; + }; + + sdmmc1_mod { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "sdmmc1_mod"; + linux,phandle = <0x5e>; + phandle = <0x5e>; + }; + + sdmmc1_bus { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "sdmmc1_bus"; + linux,phandle = <0x5f>; + phandle = <0x5f>; + }; + + sdmmc1_rst { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "sdmmc1_rst"; + linux,phandle = <0x60>; + phandle = <0x60>; + }; + + sdmmc2_mod { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "sdmmc2_mod"; + linux,phandle = <0x54>; + phandle = <0x54>; + }; + + sdmmc2_bus { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "sdmmc2_bus"; + linux,phandle = <0x55>; + phandle = <0x55>; + }; + + sdmmc2_rst { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "sdmmc2_rst"; + linux,phandle = <0x56>; + phandle = <0x56>; + }; + + ts { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "ts"; + }; + + ce { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "ce"; + linux,phandle = <0x71>; + phandle = <0x71>; + }; + + spi0 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "spi0"; + linux,phandle = <0x4b>; + phandle = <0x4b>; + }; + + spi1 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "spi1"; + linux,phandle = <0x4f>; + phandle = <0x4f>; + }; + + i2s0 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "i2s0"; + linux,phandle = <0x3b>; + phandle = <0x3b>; + }; + + i2s1 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "i2s1"; + linux,phandle = <0x40>; + phandle = <0x40>; + }; + + i2s2 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "i2s2"; + linux,phandle = <0x41>; + phandle = <0x41>; + }; + + spdif { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "spdif"; + linux,phandle = <0x42>; + phandle = <0x42>; + }; + + usbphy0 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "usbphy0"; + linux,phandle = <0x2c>; + phandle = <0x2c>; + }; + + usbphy1 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "usbphy1"; + linux,phandle = <0x30>; + phandle = <0x30>; + }; + + usbphy2 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "usbphy2"; + linux,phandle = <0x33>; + phandle = <0x33>; + }; + + usbphy3 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "usbphy3"; + linux,phandle = <0x36>; + phandle = <0x36>; + }; + + usbohci0 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "usbohci0"; + linux,phandle = <0x2f>; + phandle = <0x2f>; + }; + + usbohci1 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "usbohci1"; + linux,phandle = <0x32>; + phandle = <0x32>; + }; + + usbohci2 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "usbohci2"; + linux,phandle = <0x35>; + phandle = <0x35>; + }; + + usbohci3 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "usbohci3"; + linux,phandle = <0x38>; + phandle = <0x38>; + }; + + de { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + assigned-clock-parents = <0x7>; + assigned-clock-rates = <0x19bfcc00>; + clock-output-names = "de"; + linux,phandle = <0x63>; + phandle = <0x63>; + }; + + tcon0 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + assigned-clock-parents = <0x3>; + clock-output-names = "tcon0"; + linux,phandle = <0x64>; + phandle = <0x64>; + }; + + tcon1 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "tcon1"; + linux,phandle = <0x65>; + phandle = <0x65>; + }; + + tve { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + assigned-clock-parents = <0x7>; + clock-output-names = "tve"; + linux,phandle = <0x68>; + phandle = <0x68>; + }; + + deinterlace { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "deinterlace"; + linux,phandle = <0x72>; + phandle = <0x72>; + }; + + csi_s { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "csi_s"; + linux,phandle = <0x6b>; + phandle = <0x6b>; + }; + + csi_m { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "csi_m"; + linux,phandle = <0x6c>; + phandle = <0x6c>; + }; + + csi_misc { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "csi_misc"; + linux,phandle = <0x6d>; + phandle = <0x6d>; + }; + + ve { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "ve"; + linux,phandle = <0x16>; + phandle = <0x16>; + }; + + adda { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "adda"; + linux,phandle = <0x39>; + phandle = <0x39>; + }; + + avs { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "avs"; + }; + + hdmi { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + assigned-clock-parents = <0x3>; + clock-output-names = "hdmi"; + linux,phandle = <0x66>; + phandle = <0x66>; + }; + + hdmi_slow { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "hdmi_slow"; + linux,phandle = <0x67>; + phandle = <0x67>; + }; + + mbus { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "mbus"; + }; + + gpu { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "gpu"; + linux,phandle = <0x93>; + phandle = <0x93>; + }; + + usbehci0 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "usbehci0"; + linux,phandle = <0x2e>; + phandle = <0x2e>; + }; + + usbehci1 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "usbehci1"; + linux,phandle = <0x31>; + phandle = <0x31>; + }; + + usbehci2 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "usbehci2"; + linux,phandle = <0x34>; + phandle = <0x34>; + }; + + usbehci3 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "usbehci3"; + linux,phandle = <0x37>; + phandle = <0x37>; + }; + + usbotg { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "usbotg"; + linux,phandle = <0x2d>; + phandle = <0x2d>; + }; + + gmac { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "gmac"; + linux,phandle = <0x8b>; + phandle = <0x8b>; + }; + + ephy { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "ephy"; + linux,phandle = <0x8c>; + phandle = <0x8c>; + }; + + sdram { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "sdram"; + }; + + dma { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "dma"; + linux,phandle = <0xa>; + phandle = <0xa>; + }; + + hwspinlock_rst { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "hwspinlock_rst"; + linux,phandle = <0xe>; + phandle = <0xe>; + }; + + hwspinlock_bus { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "hwspinlock_bus"; + linux,phandle = <0xf>; + phandle = <0xf>; + }; + + msgbox { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "msgbox"; + linux,phandle = <0xd>; + phandle = <0xd>; + }; + + uart0 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "uart0"; + linux,phandle = <0x17>; + phandle = <0x17>; + }; + + uart1 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "uart1"; + linux,phandle = <0x1a>; + phandle = <0x1a>; + }; + + uart2 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "uart2"; + linux,phandle = <0x1d>; + phandle = <0x1d>; + }; + + uart3 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "uart3"; + linux,phandle = <0x20>; + phandle = <0x20>; + }; + + scr0 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "scr0"; + linux,phandle = <0x73>; + phandle = <0x73>; + }; + + scr1 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "scr1"; + linux,phandle = <0x78>; + phandle = <0x78>; + }; + + twi0 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "twi0"; + linux,phandle = <0x23>; + phandle = <0x23>; + }; + + twi1 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "twi1"; + linux,phandle = <0x26>; + phandle = <0x26>; + }; + + twi2 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "twi2"; + linux,phandle = <0x29>; + phandle = <0x29>; + }; + + pio { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "pio"; + linux,phandle = <0x9>; + phandle = <0x9>; + }; + + cpurcir { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-cpus-clock"; + clock-output-names = "cpurcir"; + linux,phandle = <0x11>; + phandle = <0x11>; + }; + + cpurpio { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-cpus-clock"; + clock-output-names = "cpurpio"; + linux,phandle = <0x8>; + phandle = <0x8>; + }; + + cpurpll_peri0 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-cpus-clock"; + clock-output-names = "cpurpll_peri0"; + }; + + cpurcpus { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-cpus-clock"; + clock-output-names = "cpurcpus"; + }; + + cpurahbs { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-cpus-clock"; + clock-output-names = "cpurahbs"; + }; + + cpurapbs { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-cpus-clock"; + clock-output-names = "cpurapbs"; + }; + + losc_out { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-cpus-clock"; + clock-output-names = "losc_out"; + linux,phandle = <0x94>; + phandle = <0x94>; + }; + }; + + soc@01c00000 { + compatible = "simple-bus"; + #address-cells = <0x2>; + #size-cells = <0x2>; + ranges; + device_type = "soc"; + + pinctrl@01f02c00 { + compatible = "allwinner,sun50iw2p1-r-pinctrl"; + reg = <0x0 0x1f02c00 0x0 0x400>; + interrupts = <0x0 0x2d 0x4>; + clocks = <0x8>; + device_type = "r_pio"; + gpio-controller; + interrupt-controller; + #interrupt-cells = <0x2>; + #size-cells = <0x0>; + #gpio-cells = <0x6>; + linux,phandle = <0x95>; + phandle = <0x95>; + + s_twi0@0 { + allwinner,pins = "PL0", "PL1"; + allwinner,function = "s_twi0"; + allwinner,muxsel = <0x2>; + allwinner,drive = <0x2>; + allwinner,pull = <0x1>; + linux,phandle = <0x13>; + phandle = <0x13>; + }; + + s_cir0@0 { + allwinner,pins = "PL11"; + allwinner,function = "s_cir0"; + allwinner,muxsel = <0x2>; + allwinner,drive = <0x2>; + allwinner,pull = <0x1>; + linux,phandle = <0x10>; + phandle = <0x10>; + }; + + twi_para@0 { + linux,phandle = <0x99>; + phandle = <0x99>; + allwinner,pins = "PL0", "PL1"; + allwinner,function = "twi_para"; + allwinner,pname = "twi_scl", "twi_sda"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0xffffffff>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + pwm16@0 { + linux,phandle = <0xba>; + phandle = <0xba>; + allwinner,pins = "PL10"; + allwinner,function = "pwm16"; + allwinner,pname = "pwm_positive"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0x0>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + pwm16@1 { + linux,phandle = <0xbb>; + phandle = <0xbb>; + allwinner,pins = "PL10"; + allwinner,function = "pwm16"; + allwinner,pname = "pwm_positive"; + allwinner,muxsel = <0x7>; + allwinner,pull = <0x0>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + s_uart0@0 { + linux,phandle = <0xc0>; + phandle = <0xc0>; + allwinner,pins = "PL2", "PL3"; + allwinner,function = "s_uart0"; + allwinner,pname = "s_uart0_tx", "s_uart0_rx"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0xffffffff>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + s_rsb0@0 { + linux,phandle = <0xc1>; + phandle = <0xc1>; + allwinner,pins = "PL0", "PL1"; + allwinner,function = "s_rsb0"; + allwinner,pname = "s_rsb0_sck", "s_rsb0_sda"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0x1>; + allwinner,drive = <0x2>; + allwinner,data = <0xffffffff>; + }; + + s_jtag0@0 { + linux,phandle = <0xc2>; + phandle = <0xc2>; + allwinner,pins = "PL4", "PL5", "PL6", "PL7"; + allwinner,function = "s_jtag0"; + allwinner,pname = "s_jtag0_tms", "s_jtag0_tck", "s_jtag0_tdo", "s_jtag0_tdi"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0x1>; + allwinner,drive = <0x2>; + allwinner,data = <0xffffffff>; + }; + }; + + pinctrl@01c20800 { + compatible = "allwinner,sun50iw2p1-pinctrl"; + reg = <0x0 0x1c20800 0x0 0x400>; + interrupts = <0x0 0xb 0x4 0x0 0x11 0x4 0x0 0x17 0x4>; + device_type = "pio"; + clocks = <0x9>; + gpio-controller; + interrupt-controller; + #interrupt-cells = <0x2>; + #size-cells = <0x0>; + #gpio-cells = <0x6>; + linux,phandle = <0x3a>; + phandle = <0x3a>; + + sdc0@1 { + allwinner,pins = "PF0", "PF1", "PF2", "PF3", "PF4", "PF5"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,drive = <0x1>; + allwinner,pull = <0x1>; + linux,phandle = <0x5d>; + phandle = <0x5d>; + }; + + sdc1@1 { + allwinner,pins = "PG0", "PG1", "PG2", "PG3", "PG4", "PG5"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,drive = <0x1>; + allwinner,pull = <0x1>; + linux,phandle = <0x62>; + phandle = <0x62>; + }; + + sdc2@1 { + allwinner,pins = "PC1", "PC5", "PC6", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PC16"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,drive = <0x1>; + allwinner,pull = <0x1>; + linux,phandle = <0x58>; + phandle = <0x58>; + }; + + daudio0@0 { + allwinner,pins = "PA20", "PA6", "PA18", "PA19", "PA21"; + allwinner,function = "pcm0"; + allwinner,muxsel = <0x3>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x3c>; + phandle = <0x3c>; + }; + + daudio0_sleep@0 { + allwinner,pins = "PA20", "PA6", "PA18", "PA19", "PA21"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x3d>; + phandle = <0x3d>; + }; + + daudio1@0 { + allwinner,pins = "PG10", "PG11", "PG12", "PG13"; + allwinner,function = "pcm1"; + allwinner,muxsel = <0x2>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x3e>; + phandle = <0x3e>; + }; + + daudio1_sleep@0 { + allwinner,pins = "PG10", "PG11", "PG12", "PG13"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x3f>; + phandle = <0x3f>; + }; + + spdif@0 { + allwinner,pins = "PA17"; + allwinner,function = "spdif0"; + allwinner,muxsel = <0x2>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x43>; + phandle = <0x43>; + }; + + spdif_sleep@0 { + allwinner,pins = "PA17"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x44>; + phandle = <0x44>; + }; + + csi0_sleep@0 { + allwinner,pins = "PE0", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13"; + allwinner,pname = "csi0_pck", "csi0_hsync", "csi0_vsync", "csi0_d0", "csi0_d1", "csi0_d2", "csi0_d3", "csi0_d4", "csi0_d5", "csi0_d6", "csi0_d7", "csi0_sck", "csi0_sda"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + allwinner,data = <0x0>; + linux,phandle = <0x6f>; + phandle = <0x6f>; + }; + + scr0@0 { + allwinner,pins = "PA9", "PA10", "PA6", "PA7", "PA8"; + allwinner,pname = "scr0_rst", "scr0_det", "scr0_vccen", "scr0_sck", "scr0_sda"; + allwinner,function = "sim0"; + allwinner,muxsel = <0x2>; + allwinner,drive = <0x1>; + allwinner,pull = <0x1>; + linux,phandle = <0x75>; + phandle = <0x75>; + }; + + scr0@1 { + allwinner,pins = "PA20", "PA21"; + allwinner,pname = "scr0_vppen", "scr0_vppp"; + allwinner,function = "sim0"; + allwinner,muxsel = <0x3>; + allwinner,drive = <0x1>; + allwinner,pull = <0x1>; + linux,phandle = <0x76>; + phandle = <0x76>; + }; + + scr0@2 { + allwinner,pins = "PA9", "PA10", "PA6", "PA7", "PA8", "PA20", "PA21"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x77>; + phandle = <0x77>; + }; + + scr1@0 { + allwinner,pins = "PD15", "PD16", "PD12", "PD13", "PD14"; + allwinner,pname = "scr1_rst", "scr1_det", "scr1_vccen", "scr1_sck", "scr1_sda"; + allwinner,function = "sim1"; + allwinner,muxsel = <0x4>; + allwinner,drive = <0x1>; + allwinner,pull = <0x1>; + linux,phandle = <0x79>; + phandle = <0x79>; + }; + + scr1@1 { + allwinner,pins = "PE14", "PE15"; + allwinner,pname = "scr1_vppen", "scr1_vppp"; + allwinner,function = "sim1"; + allwinner,muxsel = <0x3>; + allwinner,drive = <0x1>; + allwinner,pull = <0x1>; + linux,phandle = <0x7a>; + phandle = <0x7a>; + }; + + scr1@2 { + allwinner,pins = "PD15", "PD16", "PD12", "PD13", "PD14", "PE14", "PE15"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x7b>; + phandle = <0x7b>; + }; + + nand0@2 { + allwinner,pins = "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PC16", "PC17", "PC18"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x7f>; + phandle = <0x7f>; + }; + + gmac@0 { + allwinner,pins = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD7", "PD8", "PD9", "PD10", "PD12", "PD13", "PD15", "PD16", "PD17"; + allwinner,function = "gmac0"; + allwinner,muxsel = <0x2>; + allwinner,drive = <0x3>; + allwinner,pull = <0x0>; + linux,phandle = <0x8a>; + phandle = <0x8a>; + }; + + card0_boot_para@0 { + linux,phandle = <0x96>; + phandle = <0x96>; + allwinner,pins = "PF0", "PF1", "PF2", "PF3", "PF4", "PF5"; + allwinner,function = "card0_boot_para"; + allwinner,pname = "sdc_d1", "sdc_d0", "sdc_clk", "sdc_cmd", "sdc_d3", "sdc_d2"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0x1>; + allwinner,drive = <0x2>; + allwinner,data = <0xffffffff>; + }; + + card2_boot_para@0 { + linux,phandle = <0x97>; + phandle = <0x97>; + allwinner,pins = "PC1"; + allwinner,function = "card2_boot_para"; + allwinner,pname = "sdc_ds"; + allwinner,muxsel = <0x4>; + allwinner,pull = <0x1>; + allwinner,drive = <0x3>; + allwinner,data = <0xffffffff>; + }; + + card2_boot_para@1 { + linux,phandle = <0x98>; + phandle = <0x98>; + allwinner,pins = "PC5", "PC6", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PC16"; + allwinner,function = "card2_boot_para"; + allwinner,pname = "sdc_clk", "sdc_cmd", "sdc_d0", "sdc_d1", "sdc_d2", "sdc_d3", "sdc_d4", "sdc_d5", "sdc_d6", "sdc_d7", "sdc_emmc_rst"; + allwinner,muxsel = <0x3>; + allwinner,pull = <0x1>; + allwinner,drive = <0x3>; + allwinner,data = <0xffffffff>; + }; + + uart_para@0 { + linux,phandle = <0x9a>; + phandle = <0x9a>; + allwinner,pins = "PA4", "PA5"; + allwinner,function = "uart_para"; + allwinner,pname = "uart_debug_tx", "uart_debug_rx"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0x1>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + jtag_para@0 { + linux,phandle = <0x9b>; + phandle = <0x9b>; + allwinner,pins = "PB0", "PB1", "PB2", "PB3"; + allwinner,function = "jtag_para"; + allwinner,pname = "jtag_ms", "jtag_ck", "jtag_do", "jtag_di"; + allwinner,muxsel = <0x4>; + allwinner,pull = <0xffffffff>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + twi0@0 { + linux,phandle = <0x9c>; + phandle = <0x9c>; + allwinner,pins = "PA11", "PA12"; + allwinner,function = "twi0"; + allwinner,pname = "twi0_scl", "twi0_sda"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0xffffffff>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + twi0@1 { + linux,phandle = <0x9d>; + phandle = <0x9d>; + allwinner,pins = "PA11", "PA12"; + allwinner,function = "twi0"; + allwinner,pname = "twi0_scl", "twi0_sda"; + allwinner,muxsel = <0x7>; + allwinner,pull = <0xffffffff>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + twi1@0 { + linux,phandle = <0x9e>; + phandle = <0x9e>; + allwinner,pins = "PA18", "PA19"; + allwinner,function = "twi1"; + allwinner,pname = "twi1_scl", "twi1_sda"; + allwinner,muxsel = <0x3>; + allwinner,pull = <0xffffffff>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + twi1@1 { + linux,phandle = <0x9f>; + phandle = <0x9f>; + allwinner,pins = "PA18", "PA19"; + allwinner,function = "twi1"; + allwinner,pname = "twi1_scl", "twi1_sda"; + allwinner,muxsel = <0x7>; + allwinner,pull = <0xffffffff>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + twi2@0 { + linux,phandle = <0xa0>; + phandle = <0xa0>; + allwinner,pins = "PE12", "PE13"; + allwinner,function = "twi2"; + allwinner,pname = "twi2_scl", "twi2_sda"; + allwinner,muxsel = <0x3>; + allwinner,pull = <0xffffffff>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + twi2@1 { + linux,phandle = <0xa1>; + phandle = <0xa1>; + allwinner,pins = "PE12", "PE13"; + allwinner,function = "twi2"; + allwinner,pname = "twi2_scl", "twi2_sda"; + allwinner,muxsel = <0x7>; + allwinner,pull = <0xffffffff>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + uart0@0 { + linux,phandle = <0xa2>; + phandle = <0xa2>; + allwinner,pins = "PA4", "PA5"; + allwinner,function = "uart0"; + allwinner,pname = "uart0_tx", "uart0_rx"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0x1>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + uart0@1 { + linux,phandle = <0xa3>; + phandle = <0xa3>; + allwinner,pins = "PA4", "PA5"; + allwinner,function = "uart0"; + allwinner,pname = "uart0_tx", "uart0_rx"; + allwinner,muxsel = <0x7>; + allwinner,pull = <0x1>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + uart1@0 { + linux,phandle = <0xa4>; + phandle = <0xa4>; + allwinner,pins = "PG6", "PG7", "PG8", "PG9"; + allwinner,function = "uart1"; + allwinner,pname = "uart1_tx", "uart1_rx", "uart1_rts", "uart1_cts"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0x1>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + uart1@1 { + linux,phandle = <0xa5>; + phandle = <0xa5>; + allwinner,pins = "PG6", "PG7", "PG8", "PG9"; + allwinner,function = "uart1"; + allwinner,pname = "uart1_tx", "uart1_rx", "uart1_rts", "uart1_cts"; + allwinner,muxsel = <0x7>; + allwinner,pull = <0x1>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + uart2@0 { + linux,phandle = <0xa6>; + phandle = <0xa6>; + allwinner,pins = "PA0", "PA1", "PA2", "PA3"; + allwinner,function = "uart2"; + allwinner,pname = "uart2_tx", "uart2_rx", "uart2_rts", "uart2_cts"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0x1>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + uart2@1 { + linux,phandle = <0xa7>; + phandle = <0xa7>; + allwinner,pins = "PA0", "PA1", "PA2", "PA3"; + allwinner,function = "uart2"; + allwinner,pname = "uart2_tx", "uart2_rx", "uart2_rts", "uart2_cts"; + allwinner,muxsel = <0x7>; + allwinner,pull = <0x1>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + uart3@0 { + linux,phandle = <0xa8>; + phandle = <0xa8>; + allwinner,pins = "PA13", "PA14", "PA15", "PA16"; + allwinner,function = "uart3"; + allwinner,pname = "uart3_tx", "uart3_rx", "uart3_rts", "uart3_cts"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0x1>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + uart3@1 { + linux,phandle = <0xa9>; + phandle = <0xa9>; + allwinner,pins = "PA13", "PA14", "PA15", "PA16"; + allwinner,function = "uart3"; + allwinner,pname = "uart3_tx", "uart3_rx", "uart3_rts", "uart3_cts"; + allwinner,muxsel = <0x7>; + allwinner,pull = <0x1>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + spi0@0 { + linux,phandle = <0xaa>; + phandle = <0xaa>; + allwinner,pins = "PC3"; + allwinner,function = "spi0"; + allwinner,pname = "spi0_cs0"; + allwinner,muxsel = <0x3>; + allwinner,pull = <0x1>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + spi0@1 { + linux,phandle = <0xab>; + phandle = <0xab>; + allwinner,pins = "PC2", "PC0"; + allwinner,function = "spi0"; + allwinner,pname = "spi0_sclk", "spi0_mosi"; + allwinner,muxsel = <0x3>; + allwinner,pull = <0xffffffff>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + spi0@3 { + linux,phandle = <0xac>; + phandle = <0xac>; + allwinner,pins = "PC1"; + allwinner,function = "spi0"; + allwinner,pname = "spi0_miso"; + allwinner,muxsel = <0x4>; + allwinner,pull = <0xffffffff>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + spi0@2 { + linux,phandle = <0xad>; + phandle = <0xad>; + allwinner,pins = "PC3"; + allwinner,function = "spi0"; + allwinner,pname = "spi0_cs0"; + allwinner,muxsel = <0x7>; + allwinner,pull = <0x1>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + spi0@4 { + linux,phandle = <0xae>; + phandle = <0xae>; + allwinner,pins = "PC2", "PC0", "PC1"; + allwinner,function = "spi0"; + allwinner,pname = "spi0_sclk", "spi0_mosi", "spi0_miso"; + allwinner,muxsel = <0x7>; + allwinner,pull = <0xffffffff>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + spi1@0 { + linux,phandle = <0xaf>; + phandle = <0xaf>; + allwinner,pins = "PA13"; + allwinner,function = "spi1"; + allwinner,pname = "spi1_cs0"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0x1>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + spi1@1 { + linux,phandle = <0xb0>; + phandle = <0xb0>; + allwinner,pins = "PA14", "PA15", "PA16"; + allwinner,function = "spi1"; + allwinner,pname = "spi1_sclk", "spi1_mosi", "spi1_miso"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0xffffffff>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + spi1@2 { + linux,phandle = <0xb1>; + phandle = <0xb1>; + allwinner,pins = "PA13"; + allwinner,function = "spi1"; + allwinner,pname = "spi1_cs0"; + allwinner,muxsel = <0x7>; + allwinner,pull = <0x1>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + spi1@3 { + linux,phandle = <0xb2>; + phandle = <0xb2>; + allwinner,pins = "PA14", "PA15", "PA16"; + allwinner,function = "spi1"; + allwinner,pname = "spi1_sclk", "spi1_mosi", "spi1_miso"; + allwinner,muxsel = <0x7>; + allwinner,pull = <0xffffffff>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + nand0@0 { + linux,phandle = <0xb4>; + phandle = <0xb4>; + allwinner,pins = "PC0", "PC1", "PC2", "PC5", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PC16"; + allwinner,function = "nand0"; + allwinner,pname = "nand0_we", "nand0_ale", "nand0_cle", "nand0_nre", "nand0_d0", "nand0_d1", "nand0_d2", "nand0_d3", "nand0_d4", "nand0_d5", "nand0_d6", "nand0_d7", "nand0_ndqs"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0x0>; + allwinner,drive = <0x1>; + allwinner,data = <0xffffffff>; + }; + + nand0@1 { + linux,phandle = <0xb5>; + phandle = <0xb5>; + allwinner,pins = "PC3", "PC4", "PC6", "PC7", "PC17", "PC18"; + allwinner,function = "nand0"; + allwinner,pname = "nand0_ce1", "nand0_ce0", "nand0_rb0", "nand0_rb1", "nand0_ce2", "nand0_ce3"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0x1>; + allwinner,drive = <0x1>; + allwinner,data = <0xffffffff>; + }; + + lcd0@0 { + linux,phandle = <0xb6>; + phandle = <0xb6>; + allwinner,pins = "PD12", "PD13", "PD14", "PD15", "PD16", "PD17", "PD18", "PD19", "PD20", "PD21"; + allwinner,function = "lcd0"; + allwinner,pname = "lcdd0", "lcdd1", "lcdd2", "lcdd3", "lcdd4", "lcdd5", "lcdd6", "lcdd7", "lcdd8", "lcdd9"; + allwinner,muxsel = <0x3>; + allwinner,pull = <0x0>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + lcd0@1 { + linux,phandle = <0xb7>; + phandle = <0xb7>; + allwinner,pins = "PD12", "PD13", "PD14", "PD15", "PD16", "PD17", "PD18", "PD19", "PD20", "PD21"; + allwinner,function = "lcd0"; + allwinner,pname = "lcdd0", "lcdd1", "lcdd2", "lcdd3", "lcdd4", "lcdd5", "lcdd6", "lcdd7", "lcdd8", "lcdd9"; + allwinner,muxsel = <0x7>; + allwinner,pull = <0x0>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + pwm0@0 { + linux,phandle = <0xb8>; + phandle = <0xb8>; + allwinner,pins = "PD22"; + allwinner,function = "pwm0"; + allwinner,pname = "pwm_positive"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0x0>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + pwm0@1 { + linux,phandle = <0xb9>; + phandle = <0xb9>; + allwinner,pins = "PD22"; + allwinner,function = "pwm0"; + allwinner,pname = "pwm_positive"; + allwinner,muxsel = <0x7>; + allwinner,pull = <0x0>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + csi0@0 { + linux,phandle = <0xbc>; + phandle = <0xbc>; + allwinner,pins = "PE0", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13"; + allwinner,function = "csi0"; + allwinner,pname = "csi0_pck", "csi0_hsync", "csi0_vsync", "csi0_d0", "csi0_d1", "csi0_d2", "csi0_d3", "csi0_d4", "csi0_d5", "csi0_d6", "csi0_d7", "csi0_sck", "csi0_sda"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0xffffffff>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + sdc0@0 { + linux,phandle = <0xbd>; + phandle = <0xbd>; + allwinner,pins = "PF0", "PF1", "PF2", "PF3", "PF4", "PF5"; + allwinner,function = "sdc0"; + allwinner,pname = "sdc0_d1", "sdc0_d0", "sdc0_clk", "sdc0_cmd", "sdc0_d3", "sdc0_d2"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0x1>; + allwinner,drive = <0x2>; + allwinner,data = <0xffffffff>; + }; + + sdc1@0 { + linux,phandle = <0xbe>; + phandle = <0xbe>; + allwinner,pins = "PG0", "PG1", "PG2", "PG3", "PG4", "PG5"; + allwinner,function = "sdc1"; + allwinner,pname = "sdc1_clk", "sdc1_cmd", "sdc1_d0", "sdc1_d1", "sdc1_d2", "sdc1_d3"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0x1>; + allwinner,drive = <0x3>; + allwinner,data = <0xffffffff>; + }; + + sdc2@0 { + linux,phandle = <0xbf>; + phandle = <0xbf>; + allwinner,pins = "PC1", "PC5", "PC6", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PC16"; + allwinner,function = "sdc2"; + allwinner,pname = "sdc2_ds", "sdc2_clk", "sdc2_cmd", "sdc2_d0", "sdc2_d1", "sdc2_d2", "sdc2_d3", "sdc2_d4", "sdc2_d5", "sdc2_d6", "sdc2_d7", "sdc2_emmc_rst"; + allwinner,muxsel = <0x3>; + allwinner,pull = <0x1>; + allwinner,drive = <0x3>; + allwinner,data = <0xffffffff>; + }; + + Vdevice@0 { + linux,phandle = <0xc3>; + phandle = <0xc3>; + allwinner,pins = "PA1", "PA2"; + allwinner,function = "Vdevice"; + allwinner,pname = "Vdevice_0", "Vdevice_1"; + allwinner,muxsel = <0x5>; + allwinner,pull = <0x1>; + allwinner,drive = <0x2>; + allwinner,data = <0xffffffff>; + }; + }; + + dma-controller@01c02000 { + compatible = "allwinner,sun50i-dma"; + reg = <0x0 0x1c02000 0x0 0x1000>; + interrupts = <0x0 0x32 0x4>; + clocks = <0xa>; + #dma-cells = <0x1>; + }; + + mbus-controller@01c62000 { + compatible = "allwinner,sun50i-mbus"; + reg = <0x0 0x1c62000 0x0 0x110>; + #mbus-cells = <0x1>; + }; + + arisc { + compatible = "allwinner,sunxi-arisc"; + #address-cells = <0x2>; + #size-cells = <0x2>; + clocks = <0xb 0xc 0x6 0x4>; + clock-names = "losc", "iosc", "hosc", "pll_periph0"; + powchk_used = <0x0>; + power_reg = <0x2309621>; + system_power = <0x32>; + }; + + arisc_space { + compatible = "allwinner,arisc_space"; + space1 = <0x48040000 0x0 0x14000>; + space2 = <0x48100000 0x18000 0x4000>; + space3 = <0x48104000 0x0 0x1000>; + space4 = <0x48105000 0x0 0x1000>; + }; + + standby_space { + compatible = "allwinner,standby_space"; + space1 = <0x40020000 0x0 0x800>; + }; + + msgbox@1c17000 { + compatible = "allwinner,msgbox"; + clocks = <0xd>; + clock-names = "clk_msgbox"; + reg = <0x0 0x1c17000 0x0 0x1000>; + interrupts = <0x0 0x31 0x1>; + status = "okay"; + }; + + hwspinlock@1c18000 { + compatible = "allwinner,sunxi-hwspinlock"; + clocks = <0xe 0xf>; + clock-names = "clk_hwspinlock_rst", "clk_hwspinlock_bus"; + reg = <0x0 0x1c18000 0x0 0x1000>; + num-locks = <0x8>; + status = "okay"; + }; + + s_cir@1f02000 { + compatible = "allwinner,s_cir"; + reg = <0x0 0x1f02000 0x0 0x400>; + interrupts = <0x0 0x25 0x4>; + pinctrl-names = "default"; + pinctrl-0 = <0x10>; + clocks = <0x6 0x11>; + supply = "vcc-pl"; + supply_vol = <0x325aa0>; + status = "okay"; + device_type = "s_cir0"; + ir_power_key_code0 = <0x57>; + ir_addr_code0 = <0x9f00>; + ir_power_key_code1 = <0x1a>; + ir_addr_code1 = <0xfb04>; + ir_power_key_code2 = <0x14>; + ir_addr_code2 = <0x7f80>; + ir_power_key_code3 = <0x15>; + ir_addr_code3 = <0x7f80>; + ir_power_key_code4 = <0xb>; + ir_addr_code4 = <0xf708>; + ir_power_key_code5 = <0x3>; + ir_addr_code5 = <0xef>; + ir_power_key_code6 = <0xdc>; + ir_addr_code6 = <0x4cb3>; + ir_power_key_code7 = <0xa>; + ir_addr_code7 = <0x7748>; + ir_power_key_code8 = <0x45>; + ir_addr_code8 = <0xbd02>; + ir_power_key_code9 = <0x4d>; + ir_addr_code9 = <0xde21>; + ir_power_key_code10 = <0x18>; + ir_addr_code10 = <0xfe01>; + ir_power_key_code11 = <0x57>; + ir_addr_code11 = <0xff00>; + ir_power_key_code12 = <0x4d>; + ir_addr_code12 = <0xff40>; + ir_power_key_code13 = <0x88>; + ir_addr_code13 = <0xdd22>; + ir_power_key_code14 = <0xd>; + ir_addr_code14 = <0xbc00>; + ir_power_key_code15 = <0xd>; + ir_addr_code15 = <0xfc00>; + }; + + s_uart@1f02800 { + compatible = "allwinner,s_uart"; + reg = <0x0 0x1f02800 0x0 0x400>; + interrupts = <0x0 0x26 0x4>; + pinctrl-names = "default"; + status = "disabled"; + device_type = "s_uart0"; + pinctrl-0 = <0xc0>; + }; + + s_twi@1f03400 { + compatible = "allwinner,s_twi"; + reg = <0x0 0x1f02400 0x0 0x20>; + interrupts = <0x0 0x2c 0x4>; + pinctrl-names = "default"; + pinctrl-0 = <0x13>; + status = "okay"; + }; + + s_jtag0 { + compatible = "allwinner,s_jtag"; + pinctrl-names = "default"; + status = "disabled"; + device_type = "s_jtag0"; + pinctrl-0 = <0xc2>; + }; + + box_start_os0 { + compatible = "allwinner,box_start_os"; + start_type = <0x1>; + irkey_used = <0x1>; + pmukey_used = <0x0>; + pmukey_num = <0x0>; + led_power = <0x0>; + led_state = <0x0>; + status = "okay"; + device_type = "box_start_os"; + }; + + timer@1c20c00 { + compatible = "allwinner,sunxi-timer"; + device_type = "timer"; + reg = <0x0 0x1c20c00 0x0 0x90>; + interrupts = <0x0 0x12 0x1>; + clock-frequency = <0x16e3600>; + timer-prescale = <0x10>; + }; + + rtc@01f00000 { + compatible = "allwinner,sun50i-rtc"; + device_type = "rtc"; + reg = <0x0 0x1f00000 0x0 0x218>; + interrupts = <0x0 0x28 0x4>; + gpr_offset = <0x100>; + gpr_len = <0x4>; + }; + + watchdog@01c20ca0 { + compatible = "allwinner,sun50i-wdt"; + reg = <0x0 0x1c20ca0 0x0 0x20>; + interrupts = <0x0 0x19 0x4>; + }; + + ve@01c0e000 { + compatible = "allwinner,sunxi-cedar-ve"; + reg = <0x0 0x1c0e000 0x0 0x1000 0x0 0x1c00000 0x0 0x10 0x0 0x1c20000 0x0 0x800>; + interrupts = <0x0 0x3a 0x4>; + clocks = <0x15 0x16>; + }; + + uart@01c28000 { + compatible = "allwinner,sun50i-uart"; + device_type = "uart0"; + reg = <0x0 0x1c28000 0x0 0x400>; + interrupts = <0x0 0x0 0x4>; + clocks = <0x17>; + pinctrl-names = "default", "sleep"; + uart0_port = <0x0>; + uart0_type = <0x2>; + status = "okay"; + pinctrl-0 = <0xa2>; + pinctrl-1 = <0xa3>; + }; + + uart@01c28400 { + compatible = "allwinner,sun50i-uart"; + device_type = "uart1"; + reg = <0x0 0x1c28400 0x0 0x400>; + interrupts = <0x0 0x1 0x4>; + clocks = <0x1a>; + pinctrl-names = "default", "sleep"; + uart1_port = <0x1>; + uart1_type = <0x4>; + status = "okay"; + pinctrl-0 = <0xa4>; + pinctrl-1 = <0xa5>; + }; + + uart@01c28800 { + compatible = "allwinner,sun50i-uart"; + device_type = "uart2"; + reg = <0x0 0x1c28800 0x0 0x400>; + interrupts = <0x0 0x2 0x4>; + clocks = <0x1d>; + pinctrl-names = "default", "sleep"; + uart2_port = <0x2>; + uart2_type = <0x4>; + status = "okay"; + pinctrl-0 = <0xa6>; + pinctrl-1 = <0xa7>; + }; + + uart@01c28c00 { + compatible = "allwinner,sun50i-uart"; + device_type = "uart3"; + reg = <0x0 0x1c28c00 0x0 0x400>; + interrupts = <0x0 0x3 0x4>; + clocks = <0x20>; + pinctrl-names = "default", "sleep"; + uart3_port = <0x3>; + uart3_type = <0x4>; + status = "disabled"; + pinctrl-0 = <0xa8>; + pinctrl-1 = <0xa9>; + }; + + twi@0x01c2ac00 { + #address-cells = <0x1>; + #size-cells = <0x0>; + compatible = "allwinner,sun50i-twi"; + device_type = "twi0"; + reg = <0x0 0x1c2ac00 0x0 0x400>; + interrupts = <0x0 0x6 0x4>; + clocks = <0x23>; + clock-frequency = <0x61a80>; + pinctrl-names = "default", "sleep"; + status = "okay"; + pinctrl-0 = <0x9c>; + pinctrl-1 = <0x9d>; + }; + + twi@0x01c2b000 { + #address-cells = <0x1>; + #size-cells = <0x0>; + compatible = "allwinner,sun50i-twi"; + device_type = "twi1"; + reg = <0x0 0x1c2b000 0x0 0x400>; + interrupts = <0x0 0x7 0x4>; + clocks = <0x26>; + clock-frequency = <0x30d40>; + pinctrl-names = "default", "sleep"; + status = "okay"; + pinctrl-0 = <0x9e>; + pinctrl-1 = <0x9f>; + }; + + twi@0x01c2b400 { + #address-cells = <0x1>; + #size-cells = <0x0>; + compatible = "allwinner,sun50i-twi"; + device_type = "twi2"; + reg = <0x0 0x1c2b400 0x0 0x400>; + interrupts = <0x0 0x8 0x4>; + clocks = <0x29>; + clock-frequency = <0x30d40>; + pinctrl-names = "default", "sleep"; + status = "disabled"; + pinctrl-0 = <0xa0>; + pinctrl-1 = <0xa1>; + }; + + usbc0@0 { + device_type = "usbc0"; + compatible = "allwinner,sunxi-otg-manager"; + usb_port_type = <0x2>; + usb_detect_type = <0x0>; + usb_host_init_state = <0x1>; + usb_regulator_io = "nocare"; + usb_wakeup_suspend = <0x0>; + usb_luns = <0x3>; + usb_serial_unique = <0x0>; + usb_serial_number = "20080411"; + rndis_wceis = <0x1>; + status = "okay"; + usb_detect_mode = <0x0>; + usb_id_gpio = <0x3a 0x0 0x15 0x0 0x1 0xffffffff 0xffffffff>; + usb_det_vbus_gpio = <0x3a 0x0 0x15 0x0 0x1 0xffffffff 0xffffffff>; + usb_drv_vbus_gpio = <0x95 0xb 0x2 0x1 0x0 0xffffffff 0x0>; + }; + + udc-controller@0x01c19000 { + compatible = "allwinner,sunxi-udc"; + reg = <0x0 0x1c19000 0x0 0x1000 0x0 0x1c00000 0x0 0x100>; + interrupts = <0x0 0x47 0x4>; + clocks = <0x2c 0x2d>; + status = "okay"; + }; + + ehci0-controller@0x01c1a000 { + compatible = "allwinner,sunxi-ehci0"; + reg = <0x0 0x1c1a000 0x0 0xfff 0x0 0x1c00000 0x0 0x100 0x0 0x1c19000 0x0 0x1000>; + interrupts = <0x0 0x48 0x4>; + clocks = <0x2c 0x2e>; + hci_ctrl_no = <0x0>; + status = "okay"; + }; + + ohci0-controller@0x01c1a400 { + compatible = "allwinner,sunxi-ohci0"; + reg = <0x0 0x1c1a000 0x0 0xfff 0x0 0x1c00000 0x0 0x100 0x0 0x1c19000 0x0 0x1000>; + interrupts = <0x0 0x49 0x4>; + clocks = <0x2c 0x2f>; + hci_ctrl_no = <0x0>; + status = "okay"; + }; + + usbc1@0 { + device_type = "usbc1"; + usb_host_init_state = <0x1>; + usb_regulator_io = "nocare"; + usb_wakeup_suspend = <0x0>; + status = "okay"; + usb_drv_vbus_gpio; + }; + + ehci1-controller@0x01c1b000 { + compatible = "allwinner,sunxi-ehci1"; + reg = <0x0 0x1c1b000 0x0 0xfff 0x0 0x1c00000 0x0 0x100 0x0 0x1c19000 0x0 0x1000>; + interrupts = <0x0 0x4a 0x4>; + clocks = <0x30 0x31>; + hci_ctrl_no = <0x1>; + status = "okay"; + }; + + ohci1-controller@0x01c1b400 { + compatible = "allwinner,sunxi-ohci1"; + reg = <0x0 0x1c1b000 0x0 0xfff 0x0 0x1c00000 0x0 0x100 0x0 0x1c19000 0x0 0x1000>; + interrupts = <0x0 0x4b 0x4>; + clocks = <0x30 0x32>; + hci_ctrl_no = <0x1>; + status = "okay"; + }; + + usbc2@0 { + device_type = "usbc2"; + usb_host_init_state = <0x1>; + usb_regulator_io = "nocare"; + usb_wakeup_suspend = <0x0>; + status = "okay"; + usb_drv_vbus_gpio; + }; + + ehci2-controller@0x01c1c000 { + compatible = "allwinner,sunxi-ehci2"; + reg = <0x0 0x1c1c000 0x0 0xfff 0x0 0x1c00000 0x0 0x100 0x0 0x1c19000 0x0 0x1000>; + interrupts = <0x0 0x4c 0x4>; + clocks = <0x33 0x34>; + hci_ctrl_no = <0x2>; + status = "okay"; + }; + + ohci2-controller@0x01c1c400 { + compatible = "allwinner,sunxi-ohci2"; + reg = <0x0 0x1c1c000 0x0 0xfff 0x0 0x1c00000 0x0 0x100 0x0 0x1c19000 0x0 0x1000>; + interrupts = <0x0 0x4d 0x4>; + clocks = <0x33 0x35>; + hci_ctrl_no = <0x2>; + status = "okay"; + }; + + usbc3@0 { + device_type = "usbc3"; + usb_host_init_state = <0x1>; + usb_regulator_io = "nocare"; + usb_wakeup_suspend = <0x0>; + status = "okay"; + usb_drv_vbus_gpio; + }; + + ehci3-controller@0x01c1d000 { + compatible = "allwinner,sunxi-ehci3"; + reg = <0x0 0x1c1d000 0x0 0xfff 0x0 0x1c00000 0x0 0x100 0x0 0x1c19000 0x0 0x1000>; + interrupts = <0x0 0x4e 0x4>; + clocks = <0x36 0x37>; + hci_ctrl_no = <0x3>; + status = "okay"; + }; + + ohci3-controller@0x01c1d400 { + compatible = "allwinner,sunxi-ohci3"; + reg = <0x0 0x1c1d000 0x0 0xfff 0x0 0x1c00000 0x0 0x100 0x0 0x1c19000 0x0 0x1000>; + interrupts = <0x0 0x4f 0x4>; + clocks = <0x36 0x38>; + hci_ctrl_no = <0x3>; + status = "okay"; + }; + + codec@0x01c22c00 { + compatible = "allwinner,sunxi-internal-codec"; + reg = <0x0 0x1c22c00 0x0 0x478 0x0 0x1f015c0 0x0 0x0>; + clocks = <0x2 0x39>; + gpio-spk = <0x3a 0x0 0x10 0x1 0x1 0x1 0x1>; + spkervol = <0x1f>; + maingain = <0x4>; + adcagc_cfg = <0x0>; + adcdrc_cfg = <0x0>; + adchpf_cfg = <0x0>; + dacdrc_cfg = <0x0>; + dachpf_cfg = <0x0>; + pa_sleep_time = <0x32>; + dac_digital_vol = <0xa0a0>; + status = "okay"; + linux,phandle = <0x46>; + phandle = <0x46>; + device_type = "codec"; + headphonevol = <0x3b>; + }; + + cpudai0-controller@0x01c22c00 { + compatible = "allwinner,sunxi-internal-cpudai"; + reg = <0x0 0x1c22c00 0x0 0x2bc>; + status = "okay"; + linux,phandle = <0x45>; + phandle = <0x45>; + }; + + daudio@0x01c22000 { + compatible = "allwinner,sunxi-daudio"; + reg = <0x0 0x1c22000 0x0 0x58>; + clocks = <0x2 0x3b>; + pinctrl-names = "default", "sleep"; + pinctrl-0 = <0x3c>; + pinctrl-1 = <0x3d>; + pcm_lrck_period = <0x20>; + pcm_lrckr_period = <0x1>; + slot_width_select = <0x20>; + pcm_lsb_first = <0x0>; + tx_data_mode = <0x0>; + rx_data_mode = <0x0>; + daudio_master = <0x4>; + audio_format = <0x1>; + signal_inversion = <0x1>; + frametype = <0x0>; + tdm_config = <0x1>; + tdm_num = <0x0>; + mclk_div = <0x0>; + status = "disabled"; + linux,phandle = <0x47>; + phandle = <0x47>; + device_type = "daudio0"; + }; + + daudio@0x01c22400 { + compatible = "allwinner,sunxi-daudio"; + reg = <0x0 0x1c22400 0x0 0x58>; + pinctrl-names = "default", "sleep"; + pinctrl-0 = <0x3e>; + pinctrl-1 = <0x3f>; + clocks = <0x2 0x40>; + pcm_lrck_period = <0x20>; + pcm_lrckr_period = <0x1>; + slot_width_select = <0x20>; + pcm_lsb_first = <0x0>; + tx_data_mode = <0x0>; + rx_data_mode = <0x0>; + daudio_master = <0x4>; + audio_format = <0x1>; + signal_inversion = <0x1>; + frametype = <0x0>; + tdm_config = <0x1>; + tdm_num = <0x1>; + mclk_div = <0x0>; + status = "disabled"; + linux,phandle = <0x48>; + phandle = <0x48>; + device_type = "daudio1"; + }; + + daudio@0x01c22800 { + compatible = "allwinner,sunxi-tdmhdmi"; + reg = <0x0 0x1c22800 0x0 0x58>; + clocks = <0x2 0x41>; + status = "okay"; + linux,phandle = <0x49>; + phandle = <0x49>; + device_type = "daudio2"; + }; + + spdif-controller@0x01c21000 { + compatible = "allwinner,sunxi-spdif"; + reg = <0x0 0x1c21000 0x0 0x38>; + clocks = <0x2 0x42>; + pinctrl-names = "default", "sleep"; + pinctrl-0 = <0x43>; + pinctrl-1 = <0x44>; + status = "disabled"; + linux,phandle = <0x4a>; + phandle = <0x4a>; + device_type = "spdif"; + }; + + sound@0 { + compatible = "allwinner,sunxi-codec-machine"; + sunxi,cpudai-controller = <0x45>; + sunxi,audio-codec = <0x46>; + status = "okay"; + device_type = "sndcodec"; + }; + + sound@1 { + compatible = "allwinner,sunxi-daudio0-machine"; + sunxi,daudio0-controller = <0x47>; + status = "disabled"; + device_type = "snddaudio0"; + }; + + sound@2 { + compatible = "allwinner,sunxi-daudio1-machine"; + sunxi,daudio1-controller = <0x48>; + status = "disabled"; + device_type = "snddaudio1"; + }; + + sound@3 { + compatible = "allwinner,sunxi-hdmi-machine"; + sunxi,hdmi-controller = <0x49>; + status = "okay"; + device_type = "sndhdmi"; + }; + + sound@4 { + compatible = "allwinner,sunxi-spdif-machine"; + sunxi,spdif-controller = <0x4a>; + status = "okay"; + device_type = "sndspdif"; + }; + + spi@01c68000 { + #address-cells = <0x1>; + #size-cells = <0x0>; + compatible = "allwinner,sun50i-spi"; + device_type = "spi0"; + reg = <0x0 0x1c68000 0x0 0x1000>; + interrupts = <0x0 0x41 0x4>; + clocks = <0x4 0x4b>; + clock-frequency = <0x5f5e100>; + pinctrl-names = "default", "sleep"; + spi0_cs_number = <0x1>; + spi0_cs_bitmap = <0x1>; + status = "okay"; + pinctrl-0 = <0xaa 0xab 0xac>; + pinctrl-1 = <0xad 0xae>; + + spi_board1 { + device_type = "spi_board1"; + compatible = "rohm,dh2228fv"; + spi-max-frequency = <10000000>; + reg = <0x0>; + }; + }; + + spi@01c69000 { + #address-cells = <0x1>; + #size-cells = <0x0>; + compatible = "allwinner,sun50i-spi"; + device_type = "spi1"; + reg = <0x0 0x1c69000 0x0 0x1000>; + interrupts = <0x0 0x42 0x4>; + clocks = <0x4 0x4f>; + clock-frequency = <8000000>; + pinctrl-names = "default", "sleep"; + spi1_cs_number = <0x1>; + spi1_cs_bitmap = <0x1>; + status = "okay"; + pinctrl-0 = <0xaf 0xb0>; + pinctrl-1 = <0xb1 0xb2>; + + spi_board1 { + device_type = "spi_board1"; + compatible = "rohm,dh2228fv"; + spi-max-frequency = <8000000>; + reg = <0x0>; + }; + }; + + sdmmc@01C11000 { + compatible = "allwinner,sunxi-mmc-v4p5x"; + device_type = "sdc2"; + reg = <0x0 0x1c11000 0x0 0x1000>; + interrupts = <0x0 0x3e 0x104>; + clocks = <0x6 0x53 0x54 0x55 0x56>; + clock-names = "osc24m", "pll_periph", "mmc", "ahb", "rst"; + pinctrl-names = "default", "sleep"; + pinctrl-1 = <0x58>; + bus-width = <0x8>; + max-frequency = <0x2faf080>; + sdc_tm4_sm0_freq0 = <0x0>; + sdc_tm4_sm0_freq1 = <0x0>; + sdc_tm4_sm1_freq0 = <0x0>; + sdc_tm4_sm1_freq1 = <0x0>; + sdc_tm4_sm2_freq0 = <0x0>; + sdc_tm4_sm2_freq1 = <0x0>; + sdc_tm4_sm3_freq0 = <0x5000000>; + sdc_tm4_sm3_freq1 = <0x405>; + sdc_tm4_sm4_freq0 = <0x50000>; + sdc_tm4_sm4_freq1 = <0x408>; + status = "disabled"; + non-removable; + pinctrl-0 = <0xbf>; + cd-gpios; + sunxi-power-save-mode; + sunxi-dis-signal-vol-sw; + vmmc = "vcc-emmcv"; + vqmmc = "vcc-emmcvq18"; + vdmmc = "none"; + }; + + sdmmc@01c0f000 { + compatible = "allwinner,sunxi-mmc-v4p1x"; + device_type = "sdc0"; + reg = <0x0 0x1c0f000 0x0 0x1000>; + interrupts = <0x0 0x3c 0x104>; + clocks = <0x6 0x53 0x59 0x5a 0x5b>; + clock-names = "osc24m", "pll_periph", "mmc", "ahb", "rst"; + pinctrl-names = "default", "sleep"; + pinctrl-1 = <0x5d>; + max-frequency = <0x2faf080>; + bus-width = <0x4>; + status = "okay"; + pinctrl-0 = <0xbd>; + cd-gpios = <0x3a 0x5 0x6 0x0 0x1 0x2 0xffffffff>; + sunxi-power-save-mode; + sunxi-dis-signal-vol-sw; + vmmc = "vcc-sdcv"; + vqmmc = "vcc-sdcvq33"; + vdmmc = "vcc-sdcvd"; + }; + + sdmmc@1C10000 { + compatible = "allwinner,sunxi-mmc-v4p1x"; + device_type = "sdc1"; + reg = <0x0 0x1c10000 0x0 0x1000>; + interrupts = <0x0 0x3d 0x104>; + clocks = <0x6 0x53 0x5e 0x5f 0x60>; + clock-names = "osc24m", "pll_periph", "mmc", "ahb", "rst"; + pinctrl-names = "default", "sleep"; + pinctrl-1 = <0x62>; + max-frequency = <0x8f0d180>; + bus-width = <0x4>; + sunxi-dly-52M-ddr4 = <0x1 0x0 0x0 0x0 0x2>; + sunxi-dly-104M = <0x1 0x0 0x0 0x0 0x1>; + sunxi-dly-208M = <0x1 0x0 0x0 0x0 0x1>; + status = "okay"; + pinctrl-0 = <0xbe>; + sd-uhs-sdr50; + sd-uhs-ddr50; + sd-uhs-sdr104; + cap-sdio-irq = <0x1>; + keep-power-in-suspend; + ignore-pm-notify; + }; + + disp@01000000 { + compatible = "allwinner,sunxi-disp"; + reg = <0x0 0x1000000 0x0 0x300000 0x0 0x1c0c000 0x0 0x7fc 0x0 0x1c0d000 0x0 0x7fc>; + interrupts = <0x0 0x56 0x104 0x0 0x57 0x104>; + clocks = <0x63 0x64 0x65>; + boot_disp = <0x0>; + fb_base = <0x0>; + status = "okay"; + device_type = "disp"; + disp_init_enable = <0x1>; + disp_mode = <0x0>; + screen0_output_type = <0x3>; + screen0_output_mode = <0x10>; + screen1_output_type = <0x2>; + screen1_output_mode = <0xb>; + dev0_output_type = <0x4>; + dev0_output_mode = <0x10>; + dev0_screen_id = <0x0>; + dev0_do_hpd = <0x1>; + dev1_output_type = <0x2>; + dev1_output_mode = <0xb>; + dev1_screen_id = <0x1>; + dev1_do_hpd = <0x1>; + dev2_output_type = <0x0>; + def_output_dev = <0x0>; + hdmi_mode_check = <0x1>; + fb0_format = <0x0>; + fb0_width = <0x500>; + fb0_height = <0x2d0>; + fb1_format = <0x0>; + fb1_width = <0x0>; + fb1_height = <0x0>; + }; + + lcd0@01c0c000 { + compatible = "allwinner,sunxi-lcd0"; + pinctrl-names = "active", "sleep"; + status = "okay"; + device_type = "lcd0"; + lcd_used = <0x0>; + lcd_driver_name = "default_lcd"; + lcd_backlight = <0x32>; + lcd_if = <0x3>; + lcd_x = <0x500>; + lcd_y = <0x320>; + lcd_width = <0x96>; + lcd_height = <0x5e>; + lcd_dclk_freq = <0x46>; + lcd_pwm_used = <0x1>; + lcd_pwm_ch = <0x0>; + lcd_pwm_freq = <0xc350>; + lcd_pwm_pol = <0x1>; + lcd_pwm_max_limit = <0xff>; + lcd_hbp = <0x14>; + lcd_ht = <0x58a>; + lcd_hspw = <0xa>; + lcd_vbp = <0xa>; + lcd_vt = <0x32e>; + lcd_vspw = <0x5>; + lcd_lvds_if = <0x0>; + lcd_lvds_colordepth = <0x1>; + lcd_lvds_mode = <0x0>; + lcd_frm = <0x1>; + lcd_hv_clk_phase = <0x0>; + lcd_hv_sync_polarity = <0x0>; + lcd_gamma_en = <0x0>; + lcd_bright_curve_en = <0x0>; + lcd_cmap_en = <0x0>; + lcd_bl_en = <0x3a 0x3 0x17 0x1 0x0 0xffffffff 0x1>; + lcd_bl_en_power = "none"; + lcd_power = "vcc-lcd-0"; + lcd_fix_power = "vcc-dsi-33"; + pinctrl-0 = <0xb6>; + lcd_pin_power = "vcc-pd"; + pinctrl-1 = <0xb7>; + }; + + hdmi@01ee0000 { + compatible = "allwinner,sunxi-hdmi"; + reg = <0x0 0x1ee0000 0x0 0x20000>; + clocks = <0x66 0x67>; + device_type = "hdmi"; + status = "okay"; + hdmi_hdcp_enable = <0x0>; + hdmi_cts_compatibility = <0x0>; + hdmi_cec_support = <0x1>; + }; + + tv0@01c94000 { + compatible = "allwinner,sunxi-tv"; + reg = <0x0 0x1e40000 0x0 0x1000>; + clocks = <0x68>; + status = "okay"; + device_type = "tv0"; + dac_src0 = <0x0>; + dac_type0 = <0x0>; + interface = <0x1>; + }; + + tr@01000000 { + compatible = "allwinner,sun50i-tr"; + reg = <0x0 0x1000000 0x0 0x200bc>; + interrupts = <0x0 0x60 0x104>; + clocks = <0x63>; + status = "okay"; + }; + + pwm@01c21400 { + compatible = "allwinner,sunxi-pwm"; + reg = <0x0 0x1c21400 0x0 0x3c>; + pwm-number = <0x1>; + pwm-base = <0x0>; + pwms = <0x69>; + }; + + pwm0@01c21400 { + compatible = "allwinner,sunxi-pwm0"; + pinctrl-names = "active", "sleep"; + reg_base = <0x1c21400>; + reg_busy_offset = <0x0>; + reg_busy_shift = <0x1c>; + reg_enable_offset = <0x0>; + reg_enable_shift = <0x4>; + reg_clk_gating_offset = <0x0>; + reg_clk_gating_shift = <0x6>; + reg_bypass_offset = <0x0>; + reg_bypass_shift = <0x9>; + reg_pulse_start_offset = <0x0>; + reg_pulse_start_shift = <0x8>; + reg_mode_offset = <0x0>; + reg_mode_shift = <0x7>; + reg_polarity_offset = <0x0>; + reg_polarity_shift = <0x5>; + reg_period_offset = <0x4>; + reg_period_shift = <0x10>; + reg_period_width = <0x10>; + reg_active_offset = <0x4>; + reg_active_shift = <0x0>; + reg_active_width = <0x10>; + reg_prescal_offset = <0x0>; + reg_prescal_shift = <0x0>; + reg_prescal_width = <0x4>; + linux,phandle = <0x69>; + phandle = <0x69>; + device_type = "pwm0"; + pwm_used = <0x0>; + pinctrl-0 = <0xb8>; + pinctrl-1 = <0xb9>; + }; + + s_pwm@1f03800 { + compatible = "allwinner,sunxi-s_pwm"; + reg = <0x0 0x1f03800 0x0 0x3c>; + pwm-number = <0x1>; + pwm-base = <0x10>; + pwms = <0x6a>; + }; + + spwm0@0x01f03800 { + compatible = "allwinner,sunxi-pwm16"; + pinctrl-names = "active", "sleep"; + reg_base = <0x1f03800>; + reg_busy_offset = <0x0>; + reg_busy_shift = <0x1c>; + reg_enable_offset = <0x0>; + reg_enable_shift = <0x4>; + reg_clk_gating_offset = <0x0>; + reg_clk_gating_shift = <0x6>; + reg_bypass_offset = <0x0>; + reg_bypass_shift = <0x9>; + reg_pulse_start_offset = <0x0>; + reg_pulse_start_shift = <0x8>; + reg_mode_offset = <0x0>; + reg_mode_shift = <0x7>; + reg_polarity_offset = <0x0>; + reg_polarity_shift = <0x5>; + reg_period_offset = <0x4>; + reg_period_shift = <0x10>; + reg_period_width = <0x10>; + reg_active_offset = <0x4>; + reg_active_shift = <0x0>; + reg_active_width = <0x10>; + reg_prescal_offset = <0x0>; + reg_prescal_shift = <0x0>; + reg_prescal_width = <0x4>; + linux,phandle = <0x6a>; + phandle = <0x6a>; + }; + + boot_disp { + compatible = "allwinner,boot_disp"; + }; + + ac200 { + compatible = "allwinner,sunxi-ac200"; + clocks = <0x64>; + pinctrl-names = "active", "sleep"; + status = "okay"; + }; + + cci@0x01cb3000 { + compatible = "allwinner,sunxi-csi_cci"; + reg = <0x0 0x1cb3000 0x0 0x1000>; + interrupts = <0x0 0x55 0x4>; + status = "okay"; + }; + + csi_res@0x01cb0000 { + compatible = "allwinner,sunxi-csi"; + reg = <0x0 0x1cb0000 0x0 0x1000>; + clocks = <0x6b 0x6c 0x6d 0x4 0x6 0x5>; + clocks-index = <0x0 0x1 0x2 0x3 0x4 0x5>; + status = "okay"; + }; + + isp@0x01cb8000 { + compatible = "allwinner,sunxi-isp"; + reg = <0x0 0x1cb8000 0x0 0x1000>; + status = "okay"; + }; + + vfe@0 { + device_type = "csi0"; + compatible = "allwinner,sunxi-vfe"; + interrupts = <0x0 0x54 0x4>; + pinctrl-names = "default", "sleep"; + pinctrl-1 = <0x6f>; + cci_sel = <0x0>; + csi_sel = <0x0>; + mipi_sel = <0x0>; + isp_sel = <0x0>; + csi0_sensor_list = <0x0>; + status = "okay"; + pinctrl-0 = <0xbc>; + csi0_mck = <0x3a 0x4 0x1 0x1 0xffffffff 0xffffffff 0xffffffff>; + + dev@0 { + csi0_dev0_mname = "gc2035"; + csi0_dev0_twi_addr = <0x78>; + csi0_dev0_pos = "rear"; + csi0_dev0_isp_used = <0x1>; + csi0_dev0_fmt = <0x0>; + csi0_dev0_stby_mode = <0x0>; + csi0_dev0_vflip = <0x0>; + csi0_dev0_hflip = <0x0>; + csi0_dev0_iovdd_vol = <0x2ab980>; + csi0_dev0_avdd_vol = <0x2ab980>; + csi0_dev0_dvdd_vol = <0x16e360>; + csi0_dev0_afvdd_vol = <0x2ab980>; + csi0_dev0_flash_used = <0x0>; + csi0_dev0_flash_type = <0x2>; + csi0_dev0_act_used = <0x0>; + csi0_dev0_act_name = "ad5820_act"; + csi0_dev0_act_slave = <0x18>; + status = "okay"; + device_type = "csi0_dev0"; + csi0_dev0_iovdd; + csi0_dev0_avdd; + csi0_dev0_dvdd; + csi0_dev0_afvdd; + csi0_dev0_power_en = <0x3a 0x0 0x11 0x1 0x0 0x1 0x0>; + csi0_dev0_reset = <0x3a 0x4 0xe 0x1 0x0 0x1 0x0>; + csi0_dev0_pwdn = <0x3a 0x4 0xf 0x1 0x0 0x1 0x0>; + csi0_dev0_flash_en; + csi0_dev0_flash_mode; + csi0_dev0_flvdd; + csi0_dev0_flvdd_vol; + csi0_dev0_af_pwdn; + }; + + dev@1 { + csi0_dev1_twi_addr = <0x78>; + csi0_dev1_pos = "rear"; + csi0_dev1_isp_used = <0x1>; + csi0_dev1_fmt = <0x0>; + csi0_dev1_stby_mode = <0x0>; + csi0_dev1_vflip = <0x0>; + csi0_dev1_hflip = <0x0>; + csi0_dev1_iovdd = "iovdd-csi"; + csi0_dev1_iovdd_vol = <0x2ab980>; + csi0_dev1_avdd = "avdd-csi"; + csi0_dev1_avdd_vol = <0x2ab980>; + csi0_dev1_dvdd = "dvdd-csi-18"; + csi0_dev1_dvdd_vol = <0x16e360>; + csi0_dev1_afvdd = "afvcc-csi"; + csi0_dev1_afvdd_vol = <0x2ab980>; + csi0_dev1_flash_used = <0x0>; + csi0_dev1_flash_type = <0x2>; + csi0_dev1_act_used = <0x0>; + csi0_dev1_act_name = "ad5820_act"; + csi0_dev1_act_slave = <0x18>; + status = "disabled"; + device_type = "csi0_dev1"; + csi0_dev1_mname; + csi0_dev1_power_en; + csi0_dev1_reset; + csi0_dev1_pwdn; + csi0_dev1_flash_en; + csi0_dev1_flash_mode; + csi0_dev1_flvdd; + csi0_dev1_flvdd_vol; + csi0_dev1_af_pwdn; + }; + }; + + vdevice@0 { + compatible = "allwinner,sun50i-vdevice"; + device_type = "Vdevice"; + pinctrl-names = "default"; + test-gpios = <0x3a 0x0 0x0 0x1 0x2 0x2 0x1>; + status = "disabled"; + pinctrl-0 = <0xc3>; + }; + + ce@1c15000 { + compatible = "allwinner,sunxi-ce"; + reg = <0x0 0x1c15000 0x0 0x80 0x0 0x1c15800 0x0 0x80>; + interrupts = <0x0 0x5e 0xff01 0x0 0x50 0xff01>; + clock-frequency = <0x11e1a300 0xbebc200>; + clocks = <0x71 0x4>; + }; + + deinterlace@0x01e00000 { + #address-cells = <0x1>; + #size-cells = <0x0>; + compatible = "allwinner,sunxi-deinterlace"; + reg = <0x0 0x1e00000 0x0 0x77c>; + interrupts = <0x0 0x5d 0x4>; + clocks = <0x72 0x4>; + status = "okay"; + device_type = "di"; + }; + + smartcard@0x01c2c400 { + #address-cells = <0x1>; + #size-cells = <0x0>; + compatible = "allwinner,sunxi-scr"; + device_type = "scr0"; + reg = <0x0 0x1c2c400 0x0 0x400>; + interrupts = <0x0 0x53 0x4>; + clocks = <0x73 0x74>; + clock-frequency = <0x16e3600>; + pinctrl-names = "default", "sleep"; + pinctrl-0 = <0x75 0x76>; + pinctrl-1 = <0x77>; + status = "okay"; + }; + + smartcard@0x01c2c800 { + #address-cells = <0x1>; + #size-cells = <0x0>; + compatible = "allwinner,sunxi-scr"; + device_type = "scr1"; + reg = <0x0 0x1c2c800 0x0 0x400>; + interrupts = <0x0 0x59 0x4>; + clocks = <0x78 0x74>; + clock-frequency = <0x16e3600>; + pinctrl-names = "default", "sleep"; + pinctrl-0 = <0x79 0x7a>; + pinctrl-1 = <0x7b>; + status = "disabled"; + }; + + pmu@0 { + interrupts = <0x0 0x20 0x4>; + status = "okay"; + device_type = "pmu0"; + compatible = "axpdummy"; + pmu_id = <0x83>; + + powerkey@0 { + status = "okay"; + }; + + regulator@0 { + status = "okay"; + device_type = "regulator0"; + compatible = "axpdummy-regulator"; + regulator_count = <0x6>; + regulator1 = "axpdummy_ldo1 none avcc vcc-pll vcc-tv"; + regulator2 = "axpdummy_ldo2 none vcc-dram"; + regulator3 = "axpdummy_ldo3 none vdd-sys vdd-ehpy"; + regulator4 = "axpdummy_ldo4 none vdd-cpua"; + regulator5 = "axpdummy_ldo5 none vcc-wifi"; + regulator6 = "axpdummy_ldo6 none vcc-rtc vdd-cpus vcc-io vcc-efuse vcc-sdc vcc-nand vcc-usb vcc-uartx vcc-feled vcc-key vcc-audio vcc-ir"; + }; + + axp_gpio@0 { + gpio-controller; + #size-cells = <0x0>; + #gpio-cells = <0x6>; + status = "okay"; + device_type = "axp_pio"; + linux,phandle = <0xb3>; + phandle = <0xb3>; + }; + + charger@0 { + status = "disabled"; + }; + }; + + nmi@0x01f00c00 { + #address-cells = <0x1>; + #size-cells = <0x0>; + compatible = "allwinner,sunxi-nmi"; + reg = <0x0 0x1f00c00 0x0 0x50>; + nmi_irq_ctrl = <0xc>; + nmi_irq_en = <0x40>; + nmi_irq_status = <0x10>; + nmi_irq_mask = <0x50>; + status = "okay"; + }; + + nand0@01c03000 { + compatible = "allwinner,sun50iw2-nand"; + device_type = "nand0"; + reg = <0x0 0x1c03000 0x0 0x1000>; + interrupts = <0x0 0x46 0x4>; + clocks = <0x4 0x7c>; + pinctrl-names = "default", "sleep"; + pinctrl-1 = <0x7f>; + nand0_regulator1 = "vcc-nand"; + nand0_regulator2 = "none"; + nand0_cache_level = <0x55aaaa55>; + nand0_flush_cache_num = <0x55aaaa55>; + nand0_capacity_level = <0x55aaaa55>; + nand0_id_number_ctl = <0x55aaaa55>; + nand0_print_level = <0x55aaaa55>; + nand0_p0 = <0x55aaaa55>; + nand0_p1 = <0x55aaaa55>; + nand0_p2 = <0x55aaaa55>; + nand0_p3 = <0x55aaaa55>; + status = "disabled"; + nand0_support_2ch = <0x0>; + pinctrl-0 = <0xb4 0xb5>; + }; + + thermal_sensor { + compatible = "allwinner,thermal_sensor"; + reg = <0x0 0x1c25000 0x0 0x84>; + interrupts = <0x0 0x1f 0x0>; + clocks = <0x6 0x80>; + sensor_num = <0x2>; + shut_temp = <0x6e>; + status = "okay"; + + combine0 { + #thermal-sensor-cells = <0x1>; + combine_cnt = <0x2>; + combine_type = "max"; + combine_chn = <0x0 0x1>; + linux,phandle = <0x81>; + phandle = <0x81>; + }; + }; + + cpu_budget_cool { + compatible = "allwinner,budget_cooling"; + #cooling-cells = <0x2>; + status = "okay"; + state_cnt = <0x5>; + cluster_num = <0x1>; + state0 = <0xf6180 0x4>; + state1 = <0xc7380 0x4>; + state2 = <0x9e340 0x2>; + state3 = <0x75300 0x2>; + state4 = <0x75300 0x1>; + linux,phandle = <0x83>; + phandle = <0x83>; + }; + + gpu_cooling { + compatible = "allwinner,gpu_cooling"; + reg = <0x0 0x0 0x0 0x0>; + #cooling-cells = <0x2>; + status = "okay"; + state_cnt = <0x4>; + state0 = <0x1c8>; + state1 = <0x180>; + state2 = <0x108>; + state3 = <0x90>; + linux,phandle = <0x87>; + phandle = <0x87>; + }; + + thermal-zones { + + soc_thermal { + polling-delay-passive = <0x3e8>; + polling-delay = <0x2710>; + thermal-sensors = <0x81 0x0>; + + trips { + + t0 { + temperature = <0x5a>; + type = "passive"; + hysteresis = <0x0>; + linux,phandle = <0x82>; + phandle = <0x82>; + }; + + t1 { + temperature = <0x64>; + type = "passive"; + hysteresis = <0x0>; + linux,phandle = <0x84>; + phandle = <0x84>; + }; + + t2 { + temperature = <0x6e>; + type = "passive"; + hysteresis = <0x0>; + linux,phandle = <0x85>; + phandle = <0x85>; + }; + + t3 { + temperature = <0x50>; + type = "passive"; + hysteresis = <0x0>; + linux,phandle = <0x86>; + phandle = <0x86>; + }; + + t4 { + temperature = <0x5a>; + type = "passive"; + hysteresis = <0x0>; + linux,phandle = <0x88>; + phandle = <0x88>; + }; + + t5 { + temperature = <0x64>; + type = "passive"; + hysteresis = <0x0>; + linux,phandle = <0x89>; + phandle = <0x89>; + }; + + t6 { + temperature = <0x73>; + type = "critical"; + hysteresis = <0x0>; + }; + }; + + cooling-maps { + + bind0 { + contribution = <0x0>; + trip = <0x82>; + cooling-device = <0x83 0x1 0x1>; + }; + + bind1 { + contribution = <0x0>; + trip = <0x84>; + cooling-device = <0x83 0x2 0x2>; + }; + + bind2 { + contribution = <0x0>; + trip = <0x85>; + cooling-device = <0x83 0x3 0x4>; + }; + + bind3 { + contribution = <0x0>; + trip = <0x86>; + cooling-device = <0x87 0x1 0x1>; + }; + + bind4 { + contribution = <0x0>; + trip = <0x88>; + cooling-device = <0x87 0x2 0x2>; + }; + + bind5 { + contribution = <0x0>; + trip = <0x89>; + cooling-device = <0x87 0x3 0x3>; + }; + }; + }; + }; + + keyboard { + compatible = "allwinner,keyboard_2000mv"; + reg = <0x0 0x1c21800 0x0 0x400>; + interrupts = <0x0 0x1e 0x0>; + status = "okay"; + key_cnt = <0x5>; + key1 = <0xf0 0x73>; + key2 = <0x1f4 0x72>; + key3 = <0x2bc 0x8b>; + key4 = <0x37a 0x1c>; + key5 = <0x7d0 0x66>; + }; + + eth@01c30000 { + compatible = "allwinner,sunxi-gmac"; + reg = <0x0 0x1c30000 0x0 0x4000 0x0 0x1c00030 0x0 0x1>; + pinctrl-names = "default"; + pinctrl-0 = <0x8a>; + interrupts = <0x0 0x52 0x4>; + interrupt-names = "gmacirq"; + clocks = <0x8b 0x8c>; + clock-names = "gmac", "ephy"; + phy-mode = "rgmii"; + tx-delay = <0x0>; + rx-delay = <0x0>; + phy_power_on = <0x3a 0x3 0x6 0x1 0x0 0x0 0x0>; + status = "okay"; + device_type = "gmac0"; + gmac_power1; + gmac_power2; + gmac_power3; + }; + + product { + device_type = "product"; + version = "100"; + machine = "cheetah-p1"; + }; + + platform { + device_type = "platform"; + debug_mode = <0x1>; + }; + + target { + device_type = "target"; + boot_clock = <0x3f0>; + storage_type = <0xffffffff>; + burn_key = <0x0>; + dragonboard_test = <0x0>; + power_mode = <0x1>; + }; + + power_sply { + device_type = "power_sply"; + dcdcb_vol = <0xf472c>; + dcdcc_vol = <0xf46f0>; + aldo2_vol = <0xf4f24>; + }; + + ir_boot_recovery { + device_type = "ir_boot_recovery"; + status = "disabled"; + ir_recovery_key_code0 = <0x57>; + ir_addr_code0 = <0x9f00>; + ir_recovery_key_code1 = <0x15>; + ir_addr_code1 = <0xbc00>; + }; + + card_boot { + device_type = "card_boot"; + logical_start = <0xa000>; + sprite_gpio0 = <0x95 0xb 0xa 0x1 0xffffffff 0xffffffff 0x1>; + next_work = <0x3>; + }; + + recovery_para { + device_type = "recovery_para"; + status = "okay"; + mode = <0x1>; + recovery_key = <0x95 0xb 0x4 0x0 0xffffffff 0xffffffff 0xffffffff>; + }; + + boot_init_gpio { + device_type = "boot_init_gpio"; + status = "okay"; + gpio0 = <0x95 0xb 0xa 0x1 0xffffffff 0xffffffff 0x0>; + gpio1 = <0x3a 0x0 0x14 0x1 0xffffffff 0xffffffff 0x1>; + }; + + pm_para { + device_type = "pm_para"; + standby_mode = <0x1>; + }; + + card0_boot_para { + device_type = "card0_boot_para"; + card_ctrl = <0x0>; + card_high_speed = <0x1>; + card_line = <0x4>; + pinctrl-0 = <0x96>; + }; + + card2_boot_para { + device_type = "card2_boot_para"; + card_ctrl = <0x2>; + card_high_speed = <0x1>; + card_line = <0x8>; + pinctrl-0 = <0x97 0x98>; + sdc_ex_dly_used = <0x0>; + }; + + twi_para { + device_type = "twi_para"; + twi_port = <0x0>; + pinctrl-0 = <0x99>; + }; + + uart_para { + device_type = "uart_para"; + uart_debug_port = <0x0>; + pinctrl-0 = <0x9a>; + }; + + jtag_para { + device_type = "jtag_para"; + jtag_enable = <0x0>; + pinctrl-0 = <0x9b>; + }; + + clock { + device_type = "clock"; + pll4 = <0x12c>; + pll6 = <0x258>; + pll8 = <0x168>; + pll9 = <0x129>; + pll10 = <0x108>; + }; + + rtp_para { + device_type = "rtp_para"; + rtp_used = <0x0>; + rtp_screen_size = <0x5>; + rtp_regidity_level = <0x5>; + rtp_press_threshold_enable = <0x0>; + rtp_press_threshold = <0x1f40>; + rtp_sensitive_level = <0xf>; + rtp_exchange_x_y_flag = <0x0>; + }; + + ctp { + device_type = "ctp"; + compatible = "allwinner,sun50i-ctp-para"; + status = "disabled"; + ctp_twi_id = <0x0>; + ctp_twi_addr = <0x5d>; + ctp_screen_max_x = <0x500>; + ctp_screen_max_y = <0x320>; + ctp_revert_x_flag = <0x1>; + ctp_revert_y_flag = <0x1>; + ctp_exchange_x_y_flag = <0x1>; + ctp_int_port = <0x3a 0x7 0x4 0x6 0xffffffff 0xffffffff 0xffffffff>; + ctp_wakeup = <0x3a 0x7 0x8 0x1 0xffffffff 0xffffffff 0x1>; + ctp_power_ldo = "vcc-ctp"; + ctp_power_ldo_vol = <0xce4>; + ctp_power_io; + }; + + ctp_list { + device_type = "ctp_list"; + compatible = "allwinner,sun50i-ctp-list"; + ctp_det_used = <0x1>; + ft5x_ts = <0x1>; + gt82x = <0x1>; + gslX680 = <0x1>; + gt9xx_ts = <0x0>; + gt9xxnew_ts = <0x1>; + gt811 = <0x1>; + zet622x = <0x1>; + aw5306_ts = <0x1>; + }; + + tkey_para { + device_type = "tkey_para"; + tkey_used = <0x0>; + tkey_twi_id; + tkey_twi_addr; + tkey_int; + }; + + motor_para { + device_type = "motor_para"; + motor_used = <0x1>; + motor_shake = <0xb3 0xfffe 0x3 0x1 0xffffffff 0xffffffff 0x1>; + }; + + pwm16 { + device_type = "pwm16"; + s_pwm0_used = <0x0>; + pinctrl-0 = <0xba>; + pinctrl-1 = <0xbb>; + }; + + tvout_para { + device_type = "tvout_para"; + tvout_used = <0x1>; + tvout_channel_num; + tv_en; + }; + + tvin_para { + device_type = "tvin_para"; + tvin_used; + tvin_channel_num; + }; + + smc { + device_type = "smc"; + smc_used; + smc_rst; + smc_vppen; + smc_vppp; + smc_det; + smc_vccen; + smc_sck; + smc_sda; + }; + + leds { + compatible = "gpio-leds"; + + pwr { + label = "orangepi:green:pwr"; + gpios = <0x95 0xb 0xa 0x1 0xffffffff 0xffffffff 0x0>; + default-state = "on"; + }; + + status { + label = "orangepi:red:status"; + gpios = <0x3a 0x0 0x14 0x1 0xffffffff 0xffffffff 0x0>; + default-state = "off"; + }; + }; + + gpio_para { + device_type = "gpio_para"; + compatible = "allwinner,sunxi-init-gpio"; + gpio_used = <0x1>; + gpio_num = <0x1>; + //gpio_pin_1 = <0x95 0xb 0xa 0x1 0xffffffff 0xffffffff 0x1>; + //gpio_pin_2 = <0x3a 0x0 0x14 0x1 0xffffffff 0xffffffff 0x0>; + gpio_pin_1 = <0x3a 0x2 0xd 0x1 0xffffffff 0xffffffff 0x1>; + //normal_led = <0x95 0xb 0xa 0x1 0xffffffff 0xffffffff 0x1>; + //standby_led = <0x3a 0x0 0x14 0x1 0xffffffff 0xffffffff 0x0>; + }; + + serial_feature { + device_type = "serial_feature"; + sn_filename = "sn.txt"; + }; + + gsensor { + device_type = "gsensor"; + compatible = "allwinner,sun50i-gsensor-para"; + status = "disabled"; + gsensor_twi_id = <0x1>; + gsensor_twi_addr = <0x18>; + gsensor_int1 = <0x3a 0x0 0x9 0x6 0x1 0xffffffff 0xffffffff>; + gsensor_int2; + gsensor_vcc_io = "vcc-deviceio"; + gsensor_vcc_io_val = <0xc1c>; + }; + + gsensor_list_para { + device_type = "gsensor_list_para"; + compatible = "allwinner,sun50i-gsensor-list-para"; + gsensor_det_used = <0x0>; + lsm9ds0_acc_mag = <0x1>; + bma250 = <0x1>; + mma8452 = <0x1>; + mma7660 = <0x1>; + mma865x = <0x1>; + afa750 = <0x1>; + lis3de_acc = <0x1>; + lis3dh_acc = <0x1>; + kxtik = <0x1>; + dmard10 = <0x0>; + dmard06 = <0x1>; + mxc622x = <0x1>; + fxos8700 = <0x1>; + lsm303d = <0x0>; + }; + + 3g_para { + device_type = "3g_para"; + 3g_used = <0x0>; + 3g_usbc_num = <0x2>; + 3g_uart_num = <0x0>; + bb_vbat = <0x95 0xb 0x3 0x1 0xffffffff 0xffffffff 0x0>; + bb_host_wake = <0x95 0xc 0x0 0x1 0xffffffff 0xffffffff 0x0>; + bb_on = <0x95 0xc 0x1 0x1 0xffffffff 0xffffffff 0x0>; + bb_pwr_on = <0x95 0xc 0x3 0x1 0xffffffff 0xffffffff 0x0>; + bb_wake = <0x95 0xc 0x4 0x1 0xffffffff 0xffffffff 0x0>; + bb_rf_dis = <0x95 0xc 0x5 0x1 0xffffffff 0xffffffff 0x0>; + bb_rst = <0x95 0xc 0x6 0x1 0xffffffff 0xffffffff 0x0>; + 3g_int; + }; + + gy_para { + device_type = "gy_para"; + compatible = "allwinner,sun50i-gyr_sensors-para"; + gy_used = <0x0>; + gy_twi_id = <0x2>; + gy_twi_addr = <0x6a>; + gy_int1 = <0x3a 0x0 0xa 0x6 0x1 0xffffffff 0xffffffff>; + gy_int2; + }; + + gy_list_para { + device_type = "gy_list_para"; + compatible = "allwinner,sun50i-gyr_sensors-list-para"; + gy_det_used = <0x0>; + lsm9ds0_gyr = <0x1>; + l3gd20_gyr = <0x0>; + bmg160_gyr = <0x1>; + }; + + ls_para { + device_type = "ls_para"; + compatible = "allwinner,sun50i-lsensors-para"; + ls_used = <0x0>; + ls_twi_id = <0x2>; + ls_twi_addr = <0x23>; + ls_int = <0x3a 0x0 0xc 0x6 0x1 0xffffffff 0xffffffff>; + }; + + ls_list_para { + device_type = "ls_list_para"; + compatible = "allwinner,sun50i-lsensors-list-para"; + ls_det_used = <0x0>; + ltr_501als = <0x1>; + jsa1212 = <0x0>; + jsa1127 = <0x1>; + }; + + compass_para { + device_type = "compass_para"; + compatible = "allwinner,sun50i-compass-para"; + compass_used = <0x0>; + compass_twi_id = <0x2>; + compass_twi_addr = <0xd>; + compass_int = <0x3a 0x0 0xb 0x6 0x1 0xffffffff 0xffffffff>; + }; + + compass_list_para { + device_type = "compass_list_para"; + compatible = "allwinner,sun50i-compass-list-para"; + compass_det_used = <0x0>; + lsm9ds0 = <0x1>; + lsm303d = <0x0>; + akm8963 = <0x1>; + }; + + s_rsb0 { + device_type = "s_rsb0"; + status = "disabled"; + pinctrl-0 = <0xc1>; + }; + + box_standby_led { + device_type = "box_standby_led"; + gpio0 = <0x95 0xb 0xa 0x1 0xffffffff 0xffffffff 0x0>; + gpio1 = <0x3a 0x0 0x14 0x1 0xffffffff 0xffffffff 0x1>; + }; + + gpio_power_key { + device_type = "gpio_power_key"; + key_io = <0x95 0xb 0x3 0x6 0xffffffff 0xffffffff 0x0>; + }; + }; + + aliases { + serial0 = "/soc@01c00000/uart@01c28000"; + serial1 = "/soc@01c00000/uart@01c28400"; + serial2 = "/soc@01c00000/uart@01c28800"; + serial3 = "/soc@01c00000/uart@01c28c00"; + twi0 = "/soc@01c00000/twi@0x01c2ac00"; + twi1 = "/soc@01c00000/twi@0x01c2b000"; + twi2 = "/soc@01c00000/twi@0x01c2b400"; + spi0 = "/soc@01c00000/spi@01c68000"; + spi1 = "/soc@01c00000/spi@01c69000"; + scr0 = "/soc@01c00000/smartcard@0x01c2c400"; + scr1 = "/soc@01c00000/smartcard@0x01c2c800"; + global_timer0 = "/soc@01c00000/timer@1c20c00"; + cci0 = "/soc@01c00000/cci@0x01cb3000"; + csi_res0 = "/soc@01c00000/csi_res@0x01cb0000"; + isp0 = "/soc@01c00000/isp@0x01cb8000"; + vfe0 = "/soc@01c00000/vfe@0"; + mmc0 = "/soc@01c00000/sdmmc@01c0f000"; + mmc2 = "/soc@01c00000/sdmmc@01C11000"; + nand0 = "/soc@01c00000/nand0@01c03000"; + disp = "/soc@01c00000/disp@01000000"; + lcd0 = "/soc@01c00000/lcd0@01c0c000"; + hdmi = "/soc@01c00000/hdmi@01ee0000"; + pwm = "/soc@01c00000/pwm@01c21400"; + pwm0 = "/soc@01c00000/pwm0@01c21400"; + tv0 = "/soc@01c00000/tv0@01c94000"; + s_pwm = "/soc@01c00000/s_pwm@1f03800"; + spwm0 = "/soc@01c00000/spwm0@0x01f03800"; + boot_disp = "/soc@01c00000/boot_disp"; + charger0 = "/soc@01c00000/pmu@0/charger@0"; + regulator0 = "/soc@01c00000/pmu@0/regulator@0"; + }; + + chosen { + bootargs = "earlyprintk=sunxi-uart,0x01c28000 loglevel=8 initcall_debug=1 console=ttyS0 init=/init"; + linux,initrd-start = <0x0 0x0>; + linux,initrd-end = <0x0 0x0>; + }; + + cpus { + #address-cells = <0x2>; + #size-cells = <0x0>; + + cpu@0 { + device_type = "cpu"; + compatible = "arm,cortex-a53", "arm,armv8"; + reg = <0x0 0x0>; + enable-method = "psci"; + cpufreq_tbl = <0x75300 0x9e340 0xafc80 0xc7380 0xdea80 0xf6180 0x10d880 0x119400 0x124f80>; + clock-latency = <0x1e8480>; + clock-frequency = <0x3c14dc00>; + cpu-idle-states = <0x8d 0x8e 0x8f>; + }; + + cpu@1 { + device_type = "cpu"; + compatible = "arm,cortex-a53", "arm,armv8"; + reg = <0x0 0x1>; + enable-method = "psci"; + clock-frequency = <0x3c14dc00>; + cpu-idle-states = <0x8d 0x8e 0x8f>; + }; + + cpu@2 { + device_type = "cpu"; + compatible = "arm,cortex-a53", "arm,armv8"; + reg = <0x0 0x2>; + enable-method = "psci"; + clock-frequency = <0x3c14dc00>; + cpu-idle-states = <0x8d 0x8e 0x8f>; + }; + + cpu@3 { + device_type = "cpu"; + compatible = "arm,cortex-a53", "arm,armv8"; + reg = <0x0 0x3>; + enable-method = "psci"; + clock-frequency = <0x3c14dc00>; + cpu-idle-states = <0x8d 0x8e 0x8f>; + }; + + idle-states { + entry-method = "arm,psci"; + + cpu-sleep-0 { + compatible = "arm,idle-state"; + arm,psci-suspend-param = <0x10000>; + entry-latency-us = <0x28>; + exit-latency-us = <0x64>; + min-residency-us = <0x96>; + linux,phandle = <0x8d>; + phandle = <0x8d>; + }; + + cluster-sleep-0 { + compatible = "arm,idle-state"; + arm,psci-suspend-param = <0x1010000>; + entry-latency-us = <0x1f4>; + exit-latency-us = <0x3e8>; + min-residency-us = <0x9c4>; + linux,phandle = <0x8e>; + phandle = <0x8e>; + }; + + sys-sleep-0 { + compatible = "arm,idle-state"; + arm,psci-suspend-param = <0x2010000>; + entry-latency-us = <0x3e8>; + exit-latency-us = <0x7d0>; + min-residency-us = <0x1194>; + linux,phandle = <0x8f>; + phandle = <0x8f>; + }; + }; + }; + + psci { + compatible = "arm,psci-0.2"; + method = "smc"; + psci_version = <0x84000000>; + cpu_suspend = <0xc4000001>; + cpu_off = <0x84000002>; + cpu_on = <0xc4000003>; + affinity_info = <0xc4000004>; + migrate = <0xc4000005>; + migrate_info_type = <0x84000006>; + migrate_info_up_cpu = <0xc4000007>; + system_off = <0x84000008>; + system_reset = <0x84000009>; + }; + + n_brom { + compatible = "allwinner,n-brom"; + reg = <0x0 0x0 0x0 0xc000>; + }; + + s_brom { + compatible = "allwinner,s-brom"; + reg = <0x0 0x0 0x0 0x10000>; + }; + + sram_ctrl { + device_type = "sram_ctrl"; + compatible = "allwinner,sram_ctrl"; + reg = <0x0 0x1c00000 0x0 0x100>; + }; + + sram_a1 { + compatible = "allwinner,sram_a1"; + reg = <0x0 0x10000 0x0 0x10000>; + }; + + sram_a2 { + compatible = "allwinner,sram_a2"; + reg = <0x0 0x40000 0x0 0x14000>; + }; + + prcm { + compatible = "allwinner,prcm"; + reg = <0x0 0x1f01400 0x0 0x400>; + }; + + cpuscfg { + compatible = "allwinner,cpuscfg"; + reg = <0x0 0x1f01c00 0x0 0x400>; + }; + + ion { + compatible = "allwinner,sunxi-ion"; + + system { + type = <0x0>; + }; + + system_contig { + type = <0x1>; + }; + + cma { + type = <0x4>; + }; + }; + + dram { + compatible = "allwinner,dram"; + clocks = <0x90>; + clock-names = "pll_ddr"; + dram_clk = <0x2a0>; + dram_type = <0x3>; + dram_zq = <0x3b3bfb>; + dram_odt_en = <0x1>; + dram_para1 = <0x10f410f4>; + dram_para2 = <0x0>; + dram_mr0 = <0x1840>; + dram_mr1 = <0x4>; + dram_mr2 = <0x18>; + dram_mr3 = <0x2>; + dram_tpr0 = <0x48a192>; + dram_tpr1 = <0x1b1a94b>; + dram_tpr2 = <0x61043>; + dram_tpr3 = <0xb4787896>; + dram_tpr4 = <0x0>; + dram_tpr5 = <0x0>; + dram_tpr6 = <0x64>; + dram_tpr7 = <0x1e08a1e0>; + dram_tpr8 = <0x0>; + dram_tpr9 = <0x0>; + dram_tpr10 = <0x0>; + dram_tpr11 = <0x34440000>; + dram_tpr12 = <0xa897>; + dram_tpr13 = <0xc002190>; + device_type = "dram"; + clk = <0x288>; + }; + + memory@40000000 { + device_type = "memory"; + reg = <0x0 0x41000000 0x0 0x3f000000>; + }; + + interrupt-controller@1c81000 { + compatible = "arm,cortex-a15-gic", "arm,cortex-a9-gic"; + #interrupt-cells = <0x3>; + #address-cells = <0x0>; + device_type = "gic"; + interrupt-controller; + reg = <0x0 0x1c81000 0x0 0x1000 0x0 0x1c82000 0x0 0x2000 0x0 0x1c84000 0x0 0x2000 0x0 0x1c86000 0x0 0x2000>; + interrupts = <0x1 0x9 0xf04>; + linux,phandle = <0x1>; + phandle = <0x1>; + }; + + sunxi-sid@1c14000 { + compatible = "allwinner,sunxi-sid"; + device_type = "sid"; + reg = <0x0 0x1c14000 0x0 0x200>; + }; + + sunxi-chipid@1c14200 { + compatible = "allwinner,sunxi-chipid"; + device_type = "chipid"; + reg = <0x0 0x1c14200 0x0 0x200>; + }; + + timer { + compatible = "arm,armv8-timer"; + interrupts = <0x1 0xd 0xff01 0x1 0xe 0xff01 0x1 0xb 0xff01 0x1 0xa 0xff01>; + clock-frequency = <0x16e3600>; + }; + + pmu { + compatible = "arm,armv8-pmuv3"; + interrupts = <0x0 0x78 0x4 0x0 0x79 0x4 0x0 0x7a 0x4 0x0 0x7b 0x4>; + }; + + dvfs_table { + compatible = "allwinner,dvfs_table"; + max_freq = <0x3c14dc00>; + min_freq = <0x1c9c3800>; + lv_count = <0x8>; + lv1_freq = <0x44aa2000>; + lv1_volt = <0x44c>; + lv2_freq = <0x41cdb400>; + lv2_volt = <0x44c>; + lv3_freq = <0x3c14dc00>; + lv3_volt = <0x44c>; + lv4_freq = <0x30a32c00>; + lv4_volt = <0x44c>; + lv5_freq = "%1|"; + lv5_volt = <0x44c>; + lv6_freq = <0x0>; + lv6_volt = <0x44c>; + lv7_freq = <0x0>; + lv7_volt = <0x44c>; + lv8_freq = <0x0>; + lv8_volt = <0x44c>; + device_type = "dvfs_table"; + }; + + dramfreq { + compatible = "allwinner,sunxi-dramfreq"; + reg = <0x0 0x1c62000 0x0 0x1000 0x0 0x1c63000 0x0 0x1000 0x0 0x1c20000 0x0 0x800>; + interrupts = <0x0 0x45 0x4>; + clocks = <0x90 0x4 0x91>; + status = "okay"; + }; + + uboot { + }; + + gpu@0x01E80000 { + compatible = "arm,mali-450", "arm,mali-utgard"; + reg = <0x0 0x1e80000 0x0 0x30000>; + interrupts = <0x0 0x60 0x4 0x0 0x61 0x4 0x0 0x63 0x4 0x0 0x64 0x4 0x0 0x65 0x4 0x0 0x66 0x4 0x0 0x67 0x4 0x0 0x68 0x4 0x0 0x69 0x4 0x0 0x6a 0x4 0x0 0x6b 0x4>; + interrupt-names = "IRQGP", "IRQGPMMU", "IRQPP", "IRQPP0", "IRQPPMMU0", "IRQPP1", "IRQPPMMU1", "IRQPP2", "IRQPPMMU2", "IRQPP3", "IRQPPMMU3"; + clocks = <0x92 0x93>; + device_type = "gpu_mali450_0"; + regulator_id = "vdd-gpu"; + dvfs_status = <0x0>; + temp_ctrl_status = <0x1>; + scene_ctrl_status = <0x1>; + max_level = <0x3>; + begin_level = <0x3>; + lv0_freq = <0x90>; + lv0_volt = <0x4b0>; + lv1_freq = <0x108>; + lv1_volt = <0x4b0>; + lv2_freq = <0x180>; + lv2_volt = <0x4b0>; + lv3_freq = <0x1c8>; + lv3_volt = <0x4b0>; + }; + + wlan { + compatible = "allwinner,sunxi-wlan"; + clocks = "&clk_losc_out"; + wlan_power = "vcc-wifi"; + wlan_io_regulator = "vcc-wifi-io"; + wlan_busnum = <0x1>; + status = "okay"; + device_type = "wlan"; + wlan_usbnum = <0x3>; + wlan_regon = <0x3a 0x2 0xe 0x1 0xffffffff 0xffffffff 0x0>; + wlan_hostwake = <0x95 0xb 0x7 0x6 0xffffffff 0xffffffff 0x0>; + }; + + bt { + compatible = "allwinner,sunxi-bt"; + clocks = <0x94>; + bt_power = "vcc-wifi"; + bt_io_regulator = "vcc-wifi-io"; + status = "okay"; + device_type = "bt"; + bt_rst_n = <0x3a 0x2 0x10 0x1 0xffffffff 0xffffffff 0x1>; + }; + + btlpm { + compatible = "allwinner,sunxi-btlpm"; + uart_index = <0x1>; + status = "okay"; + device_type = "btlpm"; + bt_wake = <0x3a 0x2 0xf 0x1 0xffffffff 0xffffffff 0x1>; + bt_hostwake = <0x95 0xb 0x6 0x6 0xffffffff 0xffffffff 0x0>; + }; +}; diff --git a/external/packages/pack-uboot/sun50iw2/bin/dts/orangepizeroplus-u-boot.dts b/external/packages/pack-uboot/sun50iw2/bin/dts/orangepizeroplus-u-boot.dts new file mode 100755 index 000000000000..d707a9f7432a --- /dev/null +++ b/external/packages/pack-uboot/sun50iw2/bin/dts/orangepizeroplus-u-boot.dts @@ -0,0 +1,3694 @@ +/dts-v1/; + +/memreserve/ 0x0000000040020000 0x0000000000000800; +/memreserve/ 0x0000000048000000 0x0000000001000000; +/memreserve/ 0x0000000048100000 0x0000000000004000; +/memreserve/ 0x0000000048104000 0x0000000000001000; +/memreserve/ 0x0000000048105000 0x0000000000001000; +/ { + model = "Orange Pi Zero Plus"; + compatible = "arm,sun50iw2p1"; + interrupt-parent = <0x1>; + #address-cells = <0x2>; + #size-cells = <0x2>; + + clocks { + compatible = "allwinner,sunxi-clk-init"; + device_type = "clocks"; + #address-cells = <0x2>; + #size-cells = <0x2>; + ranges; + reg = <0x0 0x1c20000 0x0 0x324 0x0 0x1f01400 0x0 0x1d4 0x0 0x1f00060 0x0 0x4>; + + losc { + #clock-cells = <0x0>; + compatible = "allwinner,fixed-clock"; + clock-frequency = <0x8000>; + clock-output-names = "losc"; + linux,phandle = <0xb>; + phandle = <0xb>; + }; + + iosc { + #clock-cells = <0x0>; + compatible = "allwinner,fixed-clock"; + clock-frequency = <0xf42400>; + clock-output-names = "iosc"; + linux,phandle = <0xc>; + phandle = <0xc>; + }; + + hosc { + #clock-cells = <0x0>; + compatible = "allwinner,fixed-clock"; + clock-frequency = <0x16e3600>; + clock-output-names = "hosc"; + linux,phandle = <0x6>; + phandle = <0x6>; + }; + + pll_cpu { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-pll-clock"; + lock-mode = "none"; + clock-output-names = "pll_cpu"; + }; + + pll_audio { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-pll-clock"; + lock-mode = "none"; + assigned-clock-rates = <0x1770000>; + clock-output-names = "pll_audio"; + linux,phandle = <0x2>; + phandle = <0x2>; + }; + + pll_video { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-pll-clock"; + lock-mode = "none"; + assigned-clock-rates = <0x11b3dc40>; + clock-output-names = "pll_video"; + linux,phandle = <0x3>; + phandle = <0x3>; + }; + + pll_ve { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-pll-clock"; + device_type = "clk_pll_ve"; + lock-mode = "none"; + assigned-clock-rates = <0x1908b100>; + clock-output-names = "pll_ve"; + linux,phandle = <0x15>; + phandle = <0x15>; + }; + + pll_ddr { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-pll-clock"; + lock-mode = "none"; + clock-output-names = "pll_ddr"; + linux,phandle = <0x99>; + phandle = <0x99>; + }; + + pll_periph0 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-pll-clock"; + lock-mode = "none"; + clock-output-names = "pll_periph0"; + linux,phandle = <0x4>; + phandle = <0x4>; + }; + + pll_periph1 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-pll-clock"; + lock-mode = "none"; + clock-output-names = "pll_periph1"; + linux,phandle = <0x5>; + phandle = <0x5>; + }; + + pll_gpu { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-pll-clock"; + lock-mode = "none"; + clock-output-names = "pll_gpu"; + linux,phandle = <0x9b>; + phandle = <0x9b>; + }; + + pll_de { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-pll-clock"; + lock-mode = "none"; + assigned-clock-rates = <0x337f9800>; + clock-output-names = "pll_de"; + linux,phandle = <0x7>; + phandle = <0x7>; + }; + + pll_audiox8 { + #clock-cells = <0x0>; + compatible = "allwinner,fixed-factor-clock"; + clocks = <0x2>; + clock-mult = <0x8>; + clock-div = <0x1>; + clock-output-names = "pll_audiox8"; + }; + + pll_audiox4 { + #clock-cells = <0x0>; + compatible = "allwinner,fixed-factor-clock"; + clocks = <0x2>; + clock-mult = <0x8>; + clock-div = <0x2>; + clock-output-names = "pll_audiox4"; + }; + + pll_audiox2 { + #clock-cells = <0x0>; + compatible = "allwinner,fixed-factor-clock"; + clocks = <0x2>; + clock-mult = <0x8>; + clock-div = <0x4>; + clock-output-names = "pll_audiox2"; + }; + + pll_videox2 { + #clock-cells = <0x0>; + compatible = "allwinner,fixed-factor-clock"; + clocks = <0x3>; + clock-mult = <0x2>; + clock-div = <0x1>; + clock-output-names = "pll_videox2"; + }; + + pll_periph0x2 { + #clock-cells = <0x0>; + compatible = "allwinner,fixed-factor-clock"; + clocks = <0x4>; + clock-mult = <0x2>; + clock-div = <0x1>; + clock-output-names = "pll_periph0x2"; + }; + + pll_periph1x2 { + #clock-cells = <0x0>; + compatible = "allwinner,fixed-factor-clock"; + clocks = <0x5>; + clock-mult = <0x2>; + clock-div = <0x1>; + clock-output-names = "pll_periph1x2"; + linux,phandle = <0x53>; + phandle = <0x53>; + }; + + pll_periph0d2 { + #clock-cells = <0x0>; + compatible = "allwinner,fixed-factor-clock"; + clocks = <0x4>; + clock-mult = <0x1>; + clock-div = <0x2>; + clock-output-names = "pll_periph0d2"; + }; + + hoscd2 { + #clock-cells = <0x0>; + compatible = "allwinner,fixed-factor-clock"; + clocks = <0x6>; + clock-mult = <0x1>; + clock-div = <0x2>; + clock-output-names = "hoscd2"; + }; + + hoscx2 { + #clock-cells = <0x0>; + compatible = "allwinner,fixed-factor-clock"; + clocks = <0x6>; + clock-mult = <0x2>; + clock-div = <0x1>; + clock-output-names = "hoscx2"; + }; + + cpu { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "cpu"; + }; + + cpuapb { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "cpuapb"; + }; + + axi { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "axi"; + }; + + pll_periphahb0 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "pll_periphahb0"; + }; + + ahb1 { + #clock-cells = <0x0>; + assigned-clock-rates = <0xbebc200>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "ahb1"; + linux,phandle = <0x9a>; + phandle = <0x9a>; + }; + + apb1 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "apb1"; + }; + + apb2 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "apb2"; + linux,phandle = <0x74>; + phandle = <0x74>; + }; + + ahb2 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "ahb2"; + }; + + ths { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "ths"; + linux,phandle = <0x89>; + phandle = <0x89>; + }; + + nand { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "nand"; + linux,phandle = <0x7c>; + phandle = <0x7c>; + }; + + sdmmc0_mod { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "sdmmc0_mod"; + linux,phandle = <0x59>; + phandle = <0x59>; + }; + + sdmmc0_bus { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "sdmmc0_bus"; + linux,phandle = <0x5a>; + phandle = <0x5a>; + }; + + sdmmc0_rst { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "sdmmc0_rst"; + linux,phandle = <0x5b>; + phandle = <0x5b>; + }; + + sdmmc1_mod { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "sdmmc1_mod"; + linux,phandle = <0x5e>; + phandle = <0x5e>; + }; + + sdmmc1_bus { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "sdmmc1_bus"; + linux,phandle = <0x5f>; + phandle = <0x5f>; + }; + + sdmmc1_rst { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "sdmmc1_rst"; + linux,phandle = <0x60>; + phandle = <0x60>; + }; + + sdmmc2_mod { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "sdmmc2_mod"; + linux,phandle = <0x54>; + phandle = <0x54>; + }; + + sdmmc2_bus { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "sdmmc2_bus"; + linux,phandle = <0x55>; + phandle = <0x55>; + }; + + sdmmc2_rst { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "sdmmc2_rst"; + linux,phandle = <0x56>; + phandle = <0x56>; + }; + + ts { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "ts"; + linux,phandle = <0x80>; + phandle = <0x80>; + }; + + ce { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "ce"; + linux,phandle = <0x71>; + phandle = <0x71>; + }; + + spi0 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "spi0"; + linux,phandle = <0x4b>; + phandle = <0x4b>; + }; + + spi1 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "spi1"; + linux,phandle = <0x4f>; + phandle = <0x4f>; + }; + + i2s0 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "i2s0"; + linux,phandle = <0x3b>; + phandle = <0x3b>; + }; + + i2s1 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "i2s1"; + linux,phandle = <0x40>; + phandle = <0x40>; + }; + + i2s2 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "i2s2"; + linux,phandle = <0x41>; + phandle = <0x41>; + }; + + spdif { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "spdif"; + linux,phandle = <0x42>; + phandle = <0x42>; + }; + + usbphy0 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "usbphy0"; + linux,phandle = <0x2c>; + phandle = <0x2c>; + }; + + usbphy1 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "usbphy1"; + linux,phandle = <0x30>; + phandle = <0x30>; + }; + + usbphy2 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "usbphy2"; + linux,phandle = <0x33>; + phandle = <0x33>; + }; + + usbphy3 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "usbphy3"; + linux,phandle = <0x36>; + phandle = <0x36>; + }; + + usbohci0 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "usbohci0"; + linux,phandle = <0x2f>; + phandle = <0x2f>; + }; + + usbohci1 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "usbohci1"; + linux,phandle = <0x32>; + phandle = <0x32>; + }; + + usbohci2 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "usbohci2"; + linux,phandle = <0x35>; + phandle = <0x35>; + }; + + usbohci3 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "usbohci3"; + linux,phandle = <0x38>; + phandle = <0x38>; + }; + + de { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + assigned-clock-parents = <0x7>; + assigned-clock-rates = <0x19bfcc00>; + clock-output-names = "de"; + linux,phandle = <0x63>; + phandle = <0x63>; + }; + + tcon0 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + assigned-clock-parents = <0x3>; + clock-output-names = "tcon0"; + linux,phandle = <0x64>; + phandle = <0x64>; + }; + + tcon1 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "tcon1"; + linux,phandle = <0x65>; + phandle = <0x65>; + }; + + tve { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + assigned-clock-parents = <0x7>; + clock-output-names = "tve"; + linux,phandle = <0x68>; + phandle = <0x68>; + }; + + deinterlace { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "deinterlace"; + linux,phandle = <0x72>; + phandle = <0x72>; + }; + + csi_s { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "csi_s"; + linux,phandle = <0x6b>; + phandle = <0x6b>; + }; + + csi_m { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "csi_m"; + linux,phandle = <0x6c>; + phandle = <0x6c>; + }; + + csi_misc { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "csi_misc"; + linux,phandle = <0x6d>; + phandle = <0x6d>; + }; + + ve { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "ve"; + linux,phandle = <0x16>; + phandle = <0x16>; + }; + + adda { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "adda"; + linux,phandle = <0x39>; + phandle = <0x39>; + }; + + avs { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "avs"; + }; + + hdmi { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + assigned-clock-parents = <0x3>; + clock-output-names = "hdmi"; + linux,phandle = <0x66>; + phandle = <0x66>; + }; + + hdmi_slow { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "hdmi_slow"; + linux,phandle = <0x67>; + phandle = <0x67>; + }; + + mbus { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "mbus"; + }; + + gpu { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "gpu"; + linux,phandle = <0x9c>; + phandle = <0x9c>; + }; + + usbehci0 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "usbehci0"; + linux,phandle = <0x2e>; + phandle = <0x2e>; + }; + + usbehci1 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "usbehci1"; + linux,phandle = <0x31>; + phandle = <0x31>; + }; + + usbehci2 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "usbehci2"; + linux,phandle = <0x34>; + phandle = <0x34>; + }; + + usbehci3 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "usbehci3"; + linux,phandle = <0x37>; + phandle = <0x37>; + }; + + usbotg { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "usbotg"; + linux,phandle = <0x2d>; + phandle = <0x2d>; + }; + + gmac { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "gmac"; + linux,phandle = <0x94>; + phandle = <0x94>; + }; + + ephy { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "ephy"; + linux,phandle = <0x95>; + phandle = <0x95>; + }; + + sdram { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "sdram"; + }; + + dma { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "dma"; + linux,phandle = <0xa>; + phandle = <0xa>; + }; + + hwspinlock_rst { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "hwspinlock_rst"; + linux,phandle = <0xe>; + phandle = <0xe>; + }; + + hwspinlock_bus { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "hwspinlock_bus"; + linux,phandle = <0xf>; + phandle = <0xf>; + }; + + msgbox { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "msgbox"; + linux,phandle = <0xd>; + phandle = <0xd>; + }; + + uart0 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "uart0"; + linux,phandle = <0x17>; + phandle = <0x17>; + }; + + uart1 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "uart1"; + linux,phandle = <0x1a>; + phandle = <0x1a>; + }; + + uart2 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "uart2"; + linux,phandle = <0x1d>; + phandle = <0x1d>; + }; + + uart3 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "uart3"; + linux,phandle = <0x20>; + phandle = <0x20>; + }; + + scr0 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "scr0"; + linux,phandle = <0x73>; + phandle = <0x73>; + }; + + scr1 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "scr1"; + linux,phandle = <0x78>; + phandle = <0x78>; + }; + + twi0 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "twi0"; + linux,phandle = <0x23>; + phandle = <0x23>; + }; + + twi1 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "twi1"; + linux,phandle = <0x26>; + phandle = <0x26>; + }; + + twi2 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "twi2"; + linux,phandle = <0x29>; + phandle = <0x29>; + }; + + pio { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "pio"; + linux,phandle = <0x9>; + phandle = <0x9>; + }; + + cpurcir { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-cpus-clock"; + clock-output-names = "cpurcir"; + linux,phandle = <0x11>; + phandle = <0x11>; + }; + + cpurpio { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-cpus-clock"; + clock-output-names = "cpurpio"; + linux,phandle = <0x8>; + phandle = <0x8>; + }; + + cpurpll_peri0 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-cpus-clock"; + clock-output-names = "cpurpll_peri0"; + }; + + cpurcpus { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-cpus-clock"; + clock-output-names = "cpurcpus"; + }; + + cpurahbs { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-cpus-clock"; + clock-output-names = "cpurahbs"; + }; + + cpurapbs { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-cpus-clock"; + clock-output-names = "cpurapbs"; + }; + + losc_out { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-cpus-clock"; + clock-output-names = "losc_out"; + linux,phandle = <0x9d>; + phandle = <0x9d>; + }; + }; + + soc@01c00000 { + compatible = "simple-bus"; + #address-cells = <0x2>; + #size-cells = <0x2>; + ranges; + device_type = "soc"; + + pinctrl@01f02c00 { + compatible = "allwinner,sun50iw2p1-r-pinctrl"; + reg = <0x0 0x1f02c00 0x0 0x400>; + interrupts = <0x0 0x2d 0x4>; + clocks = <0x8>; + device_type = "r_pio"; + gpio-controller; + interrupt-controller; + #interrupt-cells = <0x2>; + #size-cells = <0x0>; + #gpio-cells = <0x6>; + linux,phandle = <0x9e>; + phandle = <0x9e>; + + s_twi0@0 { + allwinner,pins = "PL0", "PL1"; + allwinner,function = "s_twi0"; + allwinner,muxsel = <0x2>; + allwinner,drive = <0x2>; + allwinner,pull = <0x1>; + linux,phandle = <0x13>; + phandle = <0x13>; + }; + + s_cir0@0 { + allwinner,pins = "PL11"; + allwinner,function = "s_cir0"; + allwinner,muxsel = <0x2>; + allwinner,drive = <0x2>; + allwinner,pull = <0x1>; + linux,phandle = <0x10>; + phandle = <0x10>; + }; + + twi_para@0 { + linux,phandle = <0xa2>; + phandle = <0xa2>; + allwinner,pins = "PL0", "PL1"; + allwinner,function = "twi_para"; + allwinner,pname = "twi_scl", "twi_sda"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0xffffffff>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + pwm16@0 { + linux,phandle = <0xc3>; + phandle = <0xc3>; + allwinner,pins = "PL10"; + allwinner,function = "pwm16"; + allwinner,pname = "pwm_positive"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0x0>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + pwm16@1 { + linux,phandle = <0xc4>; + phandle = <0xc4>; + allwinner,pins = "PL10"; + allwinner,function = "pwm16"; + allwinner,pname = "pwm_positive"; + allwinner,muxsel = <0x7>; + allwinner,pull = <0x0>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + s_uart0@0 { + linux,phandle = <0xc9>; + phandle = <0xc9>; + allwinner,pins = "PL2", "PL3"; + allwinner,function = "s_uart0"; + allwinner,pname = "s_uart0_tx", "s_uart0_rx"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0xffffffff>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + s_rsb0@0 { + linux,phandle = <0xca>; + phandle = <0xca>; + allwinner,pins = "PL0", "PL1"; + allwinner,function = "s_rsb0"; + allwinner,pname = "s_rsb0_sck", "s_rsb0_sda"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0x1>; + allwinner,drive = <0x2>; + allwinner,data = <0xffffffff>; + }; + + s_jtag0@0 { + linux,phandle = <0xcb>; + phandle = <0xcb>; + allwinner,pins = "PL4", "PL5", "PL6", "PL7"; + allwinner,function = "s_jtag0"; + allwinner,pname = "s_jtag0_tms", "s_jtag0_tck", "s_jtag0_tdo", "s_jtag0_tdi"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0x1>; + allwinner,drive = <0x2>; + allwinner,data = <0xffffffff>; + }; + }; + + pinctrl@01c20800 { + compatible = "allwinner,sun50iw2p1-pinctrl"; + reg = <0x0 0x1c20800 0x0 0x400>; + interrupts = <0x0 0xb 0x4 0x0 0x11 0x4 0x0 0x17 0x4>; + device_type = "pio"; + clocks = <0x9>; + gpio-controller; + interrupt-controller; + #interrupt-cells = <0x2>; + #size-cells = <0x0>; + #gpio-cells = <0x6>; + linux,phandle = <0x3a>; + phandle = <0x3a>; + + ts0@0 { + allwinner,pins = "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11"; + allwinner,pname = "ts0_clk", "ts0_err", "ts0_sync", "ts0_dvld", "ts0_d0", "ts0_d1", "ts0_d2", "ts0_d3", "ts0_d4", "ts0_d5", "ts0_d6", "ts0_d7"; + allwinner,function = "ts0"; + allwinner,muxsel = <0x3>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x81>; + phandle = <0x81>; + }; + + ts0_sleep@0 { + allwinner,pins = "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11"; + allwinner,pname = "ts0_clk", "ts0_err", "ts0_sync", "ts0_dvld", "ts0_d0", "ts0_d1", "ts0_d2", "ts0_d3", "ts0_d4", "ts0_d5", "ts0_d6", "ts0_d7"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x85>; + phandle = <0x85>; + }; + + ts1@0 { + allwinner,pins = "PE7", "PE8", "PE9", "PE10", "PE11"; + allwinner,pname = "ts1_clk", "ts1_err", "ts1_sync", "ts1_dvld", "ts1_d0"; + allwinner,function = "ts1"; + allwinner,muxsel = <0x4>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x82>; + phandle = <0x82>; + }; + + ts1_sleep@0 { + allwinner,pins = "PE7", "PE8", "PE9", "PE10", "PE11"; + allwinner,pname = "ts1_clk", "ts1_err", "ts1_sync", "ts1_dvld", "ts1_d0"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x86>; + phandle = <0x86>; + }; + + ts2@0 { + allwinner,pins = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11"; + allwinner,pname = "ts2_clk", "ts2_err", "ts2_sync", "ts2_dvld", "ts2_d0", "ts2_d1", "ts2_d2", "ts2_d3", "ts2_d4", "ts2_d5", "ts2_d6", "ts2_d7"; + allwinner,function = "ts2"; + allwinner,muxsel = <0x4>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x83>; + phandle = <0x83>; + }; + + ts2_sleep@0 { + allwinner,pins = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11"; + allwinner,pname = "ts2_clk", "ts2_err", "ts2_sync", "ts2_dvld", "ts2_d0", "ts2_d1", "ts2_d2", "ts2_d3", "ts2_d4", "ts2_d5", "ts2_d6", "ts2_d7"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x87>; + phandle = <0x87>; + }; + + ts3@0 { + allwinner,pins = "PD7", "PD8", "PD9", "PD10", "PD11"; + allwinner,pname = "ts3_clk", "ts3_err", "ts3_sync", "ts3_dvld", "ts3_d0"; + allwinner,function = "ts3"; + allwinner,muxsel = <0x5>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x84>; + phandle = <0x84>; + }; + + ts3_sleep@0 { + allwinner,pins = "PD7", "PD8", "PD9", "PD10", "PD11"; + allwinner,pname = "ts3_clk", "ts3_err", "ts3_sync", "ts3_dvld", "ts3_d0"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x88>; + phandle = <0x88>; + }; + + sdc0@1 { + allwinner,pins = "PF0", "PF1", "PF2", "PF3", "PF4", "PF5"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,drive = <0x1>; + allwinner,pull = <0x1>; + linux,phandle = <0x5d>; + phandle = <0x5d>; + }; + + sdc1@1 { + allwinner,pins = "PG0", "PG1", "PG2", "PG3", "PG4", "PG5"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,drive = <0x1>; + allwinner,pull = <0x1>; + linux,phandle = <0x62>; + phandle = <0x62>; + }; + + sdc2@1 { + allwinner,pins = "PC1", "PC5", "PC6", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PC16"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,drive = <0x1>; + allwinner,pull = <0x1>; + linux,phandle = <0x58>; + phandle = <0x58>; + }; + + daudio0@0 { + allwinner,pins = "PA20", "PA6", "PA18", "PA19", "PA21"; + allwinner,function = "pcm0"; + allwinner,muxsel = <0x3>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x3c>; + phandle = <0x3c>; + }; + + daudio0_sleep@0 { + allwinner,pins = "PA20", "PA6", "PA18", "PA19", "PA21"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x3d>; + phandle = <0x3d>; + }; + + daudio1@0 { + allwinner,pins = "PG10", "PG11", "PG12", "PG13"; + allwinner,function = "pcm1"; + allwinner,muxsel = <0x2>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x3e>; + phandle = <0x3e>; + }; + + daudio1_sleep@0 { + allwinner,pins = "PG10", "PG11", "PG12", "PG13"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x3f>; + phandle = <0x3f>; + }; + + spdif@0 { + allwinner,pins = "PA17"; + allwinner,function = "spdif0"; + allwinner,muxsel = <0x2>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x43>; + phandle = <0x43>; + }; + + spdif_sleep@0 { + allwinner,pins = "PA17"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x44>; + phandle = <0x44>; + }; + + csi0_sleep@0 { + allwinner,pins = "PE0", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13"; + allwinner,pname = "csi0_pck", "csi0_hsync", "csi0_vsync", "csi0_d0", "csi0_d1", "csi0_d2", "csi0_d3", "csi0_d4", "csi0_d5", "csi0_d6", "csi0_d7", "csi0_sck", "csi0_sda"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + allwinner,data = <0x0>; + linux,phandle = <0x6f>; + phandle = <0x6f>; + }; + + scr0@0 { + allwinner,pins = "PA9", "PA10", "PA6", "PA7", "PA8"; + allwinner,pname = "scr0_rst", "scr0_det", "scr0_vccen", "scr0_sck", "scr0_sda"; + allwinner,function = "sim0"; + allwinner,muxsel = <0x2>; + allwinner,drive = <0x1>; + allwinner,pull = <0x1>; + linux,phandle = <0x75>; + phandle = <0x75>; + }; + + scr0@1 { + allwinner,pins = "PA20", "PA21"; + allwinner,pname = "scr0_vppen", "scr0_vppp"; + allwinner,function = "sim0"; + allwinner,muxsel = <0x3>; + allwinner,drive = <0x1>; + allwinner,pull = <0x1>; + linux,phandle = <0x76>; + phandle = <0x76>; + }; + + scr0@2 { + allwinner,pins = "PA9", "PA10", "PA6", "PA7", "PA8", "PA20", "PA21"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x77>; + phandle = <0x77>; + }; + + scr1@0 { + allwinner,pins = "PD15", "PD16", "PD12", "PD13", "PD14"; + allwinner,pname = "scr1_rst", "scr1_det", "scr1_vccen", "scr1_sck", "scr1_sda"; + allwinner,function = "sim1"; + allwinner,muxsel = <0x4>; + allwinner,drive = <0x1>; + allwinner,pull = <0x1>; + linux,phandle = <0x79>; + phandle = <0x79>; + }; + + scr1@1 { + allwinner,pins = "PE14", "PE15"; + allwinner,pname = "scr1_vppen", "scr1_vppp"; + allwinner,function = "sim1"; + allwinner,muxsel = <0x3>; + allwinner,drive = <0x1>; + allwinner,pull = <0x1>; + linux,phandle = <0x7a>; + phandle = <0x7a>; + }; + + scr1@2 { + allwinner,pins = "PD15", "PD16", "PD12", "PD13", "PD14", "PE14", "PE15"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x7b>; + phandle = <0x7b>; + }; + + nand0@2 { + allwinner,pins = "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PC16", "PC17", "PC18"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x7f>; + phandle = <0x7f>; + }; + + gmac@0 { + allwinner,pins = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD7", "PD8", "PD9", "PD10", "PD12", "PD13", "PD15", "PD16", "PD17"; + allwinner,function = "gmac0"; + allwinner,muxsel = <0x2>; + allwinner,drive = <0x3>; + allwinner,pull = <0x0>; + linux,phandle = <0x93>; + phandle = <0x93>; + }; + + card0_boot_para@0 { + linux,phandle = <0x9f>; + phandle = <0x9f>; + allwinner,pins = "PF0", "PF1", "PF2", "PF3", "PF4", "PF5"; + allwinner,function = "card0_boot_para"; + allwinner,pname = "sdc_d1", "sdc_d0", "sdc_clk", "sdc_cmd", "sdc_d3", "sdc_d2"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0x1>; + allwinner,drive = <0x2>; + allwinner,data = <0xffffffff>; + }; + + card2_boot_para@0 { + linux,phandle = <0xa0>; + phandle = <0xa0>; + allwinner,pins = "PC1"; + allwinner,function = "card2_boot_para"; + allwinner,pname = "sdc_ds"; + allwinner,muxsel = <0x4>; + allwinner,pull = <0x1>; + allwinner,drive = <0x3>; + allwinner,data = <0xffffffff>; + }; + + card2_boot_para@1 { + linux,phandle = <0xa1>; + phandle = <0xa1>; + allwinner,pins = "PC5", "PC6", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PC16"; + allwinner,function = "card2_boot_para"; + allwinner,pname = "sdc_clk", "sdc_cmd", "sdc_d0", "sdc_d1", "sdc_d2", "sdc_d3", "sdc_d4", "sdc_d5", "sdc_d6", "sdc_d7", "sdc_emmc_rst"; + allwinner,muxsel = <0x3>; + allwinner,pull = <0x1>; + allwinner,drive = <0x3>; + allwinner,data = <0xffffffff>; + }; + + uart_para@0 { + linux,phandle = <0xa3>; + phandle = <0xa3>; + allwinner,pins = "PA4", "PA5"; + allwinner,function = "uart_para"; + allwinner,pname = "uart_debug_tx", "uart_debug_rx"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0x1>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + jtag_para@0 { + linux,phandle = <0xa4>; + phandle = <0xa4>; + allwinner,pins = "PB0", "PB1", "PB2", "PB3"; + allwinner,function = "jtag_para"; + allwinner,pname = "jtag_ms", "jtag_ck", "jtag_do", "jtag_di"; + allwinner,muxsel = <0x4>; + allwinner,pull = <0xffffffff>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + twi0@0 { + linux,phandle = <0xa5>; + phandle = <0xa5>; + allwinner,pins = "PA11", "PA12"; + allwinner,function = "twi0"; + allwinner,pname = "twi0_scl", "twi0_sda"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0xffffffff>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + twi0@1 { + linux,phandle = <0xa6>; + phandle = <0xa6>; + allwinner,pins = "PA11", "PA12"; + allwinner,function = "twi0"; + allwinner,pname = "twi0_scl", "twi0_sda"; + allwinner,muxsel = <0x7>; + allwinner,pull = <0xffffffff>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + twi1@0 { + linux,phandle = <0xa7>; + phandle = <0xa7>; + allwinner,pins = "PA18", "PA19"; + allwinner,function = "twi1"; + allwinner,pname = "twi1_scl", "twi1_sda"; + allwinner,muxsel = <0x3>; + allwinner,pull = <0xffffffff>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + twi1@1 { + linux,phandle = <0xa8>; + phandle = <0xa8>; + allwinner,pins = "PA18", "PA19"; + allwinner,function = "twi1"; + allwinner,pname = "twi1_scl", "twi1_sda"; + allwinner,muxsel = <0x7>; + allwinner,pull = <0xffffffff>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + twi2@0 { + linux,phandle = <0xa9>; + phandle = <0xa9>; + allwinner,pins = "PE12", "PE13"; + allwinner,function = "twi2"; + allwinner,pname = "twi2_scl", "twi2_sda"; + allwinner,muxsel = <0x3>; + allwinner,pull = <0xffffffff>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + twi2@1 { + linux,phandle = <0xaa>; + phandle = <0xaa>; + allwinner,pins = "PE12", "PE13"; + allwinner,function = "twi2"; + allwinner,pname = "twi2_scl", "twi2_sda"; + allwinner,muxsel = <0x7>; + allwinner,pull = <0xffffffff>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + uart0@0 { + linux,phandle = <0xab>; + phandle = <0xab>; + allwinner,pins = "PA4", "PA5"; + allwinner,function = "uart0"; + allwinner,pname = "uart0_tx", "uart0_rx"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0x1>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + uart0@1 { + linux,phandle = <0xac>; + phandle = <0xac>; + allwinner,pins = "PA4", "PA5"; + allwinner,function = "uart0"; + allwinner,pname = "uart0_tx", "uart0_rx"; + allwinner,muxsel = <0x7>; + allwinner,pull = <0x1>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + uart1@0 { + linux,phandle = <0xad>; + phandle = <0xad>; + allwinner,pins = "PG6", "PG7", "PG8", "PG9"; + allwinner,function = "uart1"; + allwinner,pname = "uart1_tx", "uart1_rx", "uart1_rts", "uart1_cts"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0x1>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + uart1@1 { + linux,phandle = <0xae>; + phandle = <0xae>; + allwinner,pins = "PG6", "PG7", "PG8", "PG9"; + allwinner,function = "uart1"; + allwinner,pname = "uart1_tx", "uart1_rx", "uart1_rts", "uart1_cts"; + allwinner,muxsel = <0x7>; + allwinner,pull = <0x1>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + uart2@0 { + linux,phandle = <0xaf>; + phandle = <0xaf>; + allwinner,pins = "PA0", "PA1", "PA2", "PA3"; + allwinner,function = "uart2"; + allwinner,pname = "uart2_tx", "uart2_rx", "uart2_rts", "uart2_cts"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0x1>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + uart2@1 { + linux,phandle = <0xb0>; + phandle = <0xb0>; + allwinner,pins = "PA0", "PA1", "PA2", "PA3"; + allwinner,function = "uart2"; + allwinner,pname = "uart2_tx", "uart2_rx", "uart2_rts", "uart2_cts"; + allwinner,muxsel = <0x7>; + allwinner,pull = <0x1>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + uart3@0 { + linux,phandle = <0xb1>; + phandle = <0xb1>; + allwinner,pins = "PA13", "PA14", "PA15", "PA16"; + allwinner,function = "uart3"; + allwinner,pname = "uart3_tx", "uart3_rx", "uart3_rts", "uart3_cts"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0x1>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + uart3@1 { + linux,phandle = <0xb2>; + phandle = <0xb2>; + allwinner,pins = "PA13", "PA14", "PA15", "PA16"; + allwinner,function = "uart3"; + allwinner,pname = "uart3_tx", "uart3_rx", "uart3_rts", "uart3_cts"; + allwinner,muxsel = <0x7>; + allwinner,pull = <0x1>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + spi0@0 { + linux,phandle = <0xb3>; + phandle = <0xb3>; + allwinner,pins = "PC3"; + allwinner,function = "spi0"; + allwinner,pname = "spi0_cs0"; + allwinner,muxsel = <0x3>; + allwinner,pull = <0x1>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + spi0@1 { + linux,phandle = <0xb4>; + phandle = <0xb4>; + allwinner,pins = "PC2", "PC0"; + allwinner,function = "spi0"; + allwinner,pname = "spi0_sclk", "spi0_mosi"; + allwinner,muxsel = <0x3>; + allwinner,pull = <0xffffffff>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + spi0@3 { + linux,phandle = <0xb5>; + phandle = <0xb5>; + allwinner,pins = "PC1"; + allwinner,function = "spi0"; + allwinner,pname = "spi0_miso"; + allwinner,muxsel = <0x4>; + allwinner,pull = <0xffffffff>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + spi0@2 { + linux,phandle = <0xb6>; + phandle = <0xb6>; + allwinner,pins = "PC3"; + allwinner,function = "spi0"; + allwinner,pname = "spi0_cs0"; + allwinner,muxsel = <0x7>; + allwinner,pull = <0x1>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + spi0@4 { + linux,phandle = <0xb7>; + phandle = <0xb7>; + allwinner,pins = "PC2", "PC0", "PC1"; + allwinner,function = "spi0"; + allwinner,pname = "spi0_sclk", "spi0_mosi", "spi0_miso"; + allwinner,muxsel = <0x7>; + allwinner,pull = <0xffffffff>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + spi1@0 { + linux,phandle = <0xb8>; + phandle = <0xb8>; + allwinner,pins = "PA13"; + allwinner,function = "spi1"; + allwinner,pname = "spi1_cs0"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0x1>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + spi1@1 { + linux,phandle = <0xb9>; + phandle = <0xb9>; + allwinner,pins = "PA14", "PA15", "PA16"; + allwinner,function = "spi1"; + allwinner,pname = "spi1_sclk", "spi1_mosi", "spi1_miso"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0xffffffff>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + spi1@2 { + linux,phandle = <0xba>; + phandle = <0xba>; + allwinner,pins = "PA13"; + allwinner,function = "spi1"; + allwinner,pname = "spi1_cs0"; + allwinner,muxsel = <0x7>; + allwinner,pull = <0x1>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + spi1@3 { + linux,phandle = <0xbb>; + phandle = <0xbb>; + allwinner,pins = "PA14", "PA15", "PA16"; + allwinner,function = "spi1"; + allwinner,pname = "spi1_sclk", "spi1_mosi", "spi1_miso"; + allwinner,muxsel = <0x7>; + allwinner,pull = <0xffffffff>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + nand0@0 { + linux,phandle = <0xbd>; + phandle = <0xbd>; + allwinner,pins = "PC0", "PC1", "PC2", "PC5", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PC16"; + allwinner,function = "nand0"; + allwinner,pname = "nand0_we", "nand0_ale", "nand0_cle", "nand0_nre", "nand0_d0", "nand0_d1", "nand0_d2", "nand0_d3", "nand0_d4", "nand0_d5", "nand0_d6", "nand0_d7", "nand0_ndqs"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0x0>; + allwinner,drive = <0x1>; + allwinner,data = <0xffffffff>; + }; + + nand0@1 { + linux,phandle = <0xbe>; + phandle = <0xbe>; + allwinner,pins = "PC3", "PC4", "PC6", "PC7", "PC17", "PC18"; + allwinner,function = "nand0"; + allwinner,pname = "nand0_ce1", "nand0_ce0", "nand0_rb0", "nand0_rb1", "nand0_ce2", "nand0_ce3"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0x1>; + allwinner,drive = <0x1>; + allwinner,data = <0xffffffff>; + }; + + lcd0@0 { + linux,phandle = <0xbf>; + phandle = <0xbf>; + allwinner,pins = "PD12", "PD13", "PD14", "PD15", "PD16", "PD17", "PD18", "PD19", "PD20", "PD21"; + allwinner,function = "lcd0"; + allwinner,pname = "lcdd0", "lcdd1", "lcdd2", "lcdd3", "lcdd4", "lcdd5", "lcdd6", "lcdd7", "lcdd8", "lcdd9"; + allwinner,muxsel = <0x3>; + allwinner,pull = <0x0>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + lcd0@1 { + linux,phandle = <0xc0>; + phandle = <0xc0>; + allwinner,pins = "PD12", "PD13", "PD14", "PD15", "PD16", "PD17", "PD18", "PD19", "PD20", "PD21"; + allwinner,function = "lcd0"; + allwinner,pname = "lcdd0", "lcdd1", "lcdd2", "lcdd3", "lcdd4", "lcdd5", "lcdd6", "lcdd7", "lcdd8", "lcdd9"; + allwinner,muxsel = <0x7>; + allwinner,pull = <0x0>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + pwm0@0 { + linux,phandle = <0xc1>; + phandle = <0xc1>; + allwinner,pins = "PD22"; + allwinner,function = "pwm0"; + allwinner,pname = "pwm_positive"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0x0>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + pwm0@1 { + linux,phandle = <0xc2>; + phandle = <0xc2>; + allwinner,pins = "PD22"; + allwinner,function = "pwm0"; + allwinner,pname = "pwm_positive"; + allwinner,muxsel = <0x7>; + allwinner,pull = <0x0>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + csi0@0 { + linux,phandle = <0xc5>; + phandle = <0xc5>; + allwinner,pins = "PE0", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13"; + allwinner,function = "csi0"; + allwinner,pname = "csi0_pck", "csi0_hsync", "csi0_vsync", "csi0_d0", "csi0_d1", "csi0_d2", "csi0_d3", "csi0_d4", "csi0_d5", "csi0_d6", "csi0_d7", "csi0_sck", "csi0_sda"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0xffffffff>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + sdc0@0 { + linux,phandle = <0xc6>; + phandle = <0xc6>; + allwinner,pins = "PF0", "PF1", "PF2", "PF3", "PF4", "PF5"; + allwinner,function = "sdc0"; + allwinner,pname = "sdc0_d1", "sdc0_d0", "sdc0_clk", "sdc0_cmd", "sdc0_d3", "sdc0_d2"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0x1>; + allwinner,drive = <0x2>; + allwinner,data = <0xffffffff>; + }; + + sdc1@0 { + linux,phandle = <0xc7>; + phandle = <0xc7>; + allwinner,pins = "PG0", "PG1", "PG2", "PG3", "PG4", "PG5"; + allwinner,function = "sdc1"; + allwinner,pname = "sdc1_clk", "sdc1_cmd", "sdc1_d0", "sdc1_d1", "sdc1_d2", "sdc1_d3"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0x1>; + allwinner,drive = <0x3>; + allwinner,data = <0xffffffff>; + }; + + sdc2@0 { + linux,phandle = <0xc8>; + phandle = <0xc8>; + allwinner,pins = "PC1", "PC5", "PC6", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PC16"; + allwinner,function = "sdc2"; + allwinner,pname = "sdc2_ds", "sdc2_clk", "sdc2_cmd", "sdc2_d0", "sdc2_d1", "sdc2_d2", "sdc2_d3", "sdc2_d4", "sdc2_d5", "sdc2_d6", "sdc2_d7", "sdc2_emmc_rst"; + allwinner,muxsel = <0x3>; + allwinner,pull = <0x1>; + allwinner,drive = <0x3>; + allwinner,data = <0xffffffff>; + }; + + Vdevice@0 { + linux,phandle = <0xcc>; + phandle = <0xcc>; + allwinner,pins = "PA1", "PA2"; + allwinner,function = "Vdevice"; + allwinner,pname = "Vdevice_0", "Vdevice_1"; + allwinner,muxsel = <0x5>; + allwinner,pull = <0x1>; + allwinner,drive = <0x2>; + allwinner,data = <0xffffffff>; + }; + }; + + dma-controller@01c02000 { + compatible = "allwinner,sun50i-dma"; + reg = <0x0 0x1c02000 0x0 0x1000>; + interrupts = <0x0 0x32 0x4>; + clocks = <0xa>; + #dma-cells = <0x1>; + }; + + mbus-controller@01c62000 { + compatible = "allwinner,sun50i-mbus"; + reg = <0x0 0x1c62000 0x0 0x110>; + #mbus-cells = <0x1>; + }; + + arisc { + compatible = "allwinner,sunxi-arisc"; + #address-cells = <0x2>; + #size-cells = <0x2>; + clocks = <0xb 0xc 0x6 0x4>; + clock-names = "losc", "iosc", "hosc", "pll_periph0"; + powchk_used = <0x0>; + power_reg = <0x2309621>; + system_power = <0x32>; + }; + + arisc_space { + compatible = "allwinner,arisc_space"; + space1 = <0x48040000 0x0 0x14000>; + space2 = <0x48100000 0x18000 0x4000>; + space3 = <0x48104000 0x0 0x1000>; + space4 = <0x48105000 0x0 0x1000>; + }; + + standby_space { + compatible = "allwinner,standby_space"; + space1 = <0x40020000 0x0 0x800>; + }; + + msgbox@1c17000 { + compatible = "allwinner,msgbox"; + clocks = <0xd>; + clock-names = "clk_msgbox"; + reg = <0x0 0x1c17000 0x0 0x1000>; + interrupts = <0x0 0x31 0x1>; + status = "okay"; + }; + + hwspinlock@1c18000 { + compatible = "allwinner,sunxi-hwspinlock"; + clocks = <0xe 0xf>; + clock-names = "clk_hwspinlock_rst", "clk_hwspinlock_bus"; + reg = <0x0 0x1c18000 0x0 0x1000>; + num-locks = <0x8>; + status = "okay"; + }; + + s_cir@1f02000 { + compatible = "allwinner,s_cir"; + reg = <0x0 0x1f02000 0x0 0x400>; + interrupts = <0x0 0x25 0x4>; + pinctrl-names = "default"; + pinctrl-0 = <0x10>; + clocks = <0x6 0x11>; + supply = "vcc-pl"; + supply_vol = <0x325aa0>; + status = "okay"; + device_type = "s_cir0"; + ir_power_key_code0 = <0x57>; + ir_addr_code0 = <0x9f00>; + ir_power_key_code1 = <0x1a>; + ir_addr_code1 = <0xfb04>; + ir_power_key_code2 = <0x14>; + ir_addr_code2 = <0x7f80>; + ir_power_key_code3 = <0x15>; + ir_addr_code3 = <0x7f80>; + ir_power_key_code4 = <0xb>; + ir_addr_code4 = <0xf708>; + ir_power_key_code5 = <0x3>; + ir_addr_code5 = <0xef>; + ir_power_key_code6 = <0xdc>; + ir_addr_code6 = <0x4cb3>; + ir_power_key_code7 = <0xa>; + ir_addr_code7 = <0x7748>; + ir_power_key_code8 = <0x45>; + ir_addr_code8 = <0xbd02>; + ir_power_key_code9 = <0x4d>; + ir_addr_code9 = <0xde21>; + ir_power_key_code10 = <0x18>; + ir_addr_code10 = <0xfe01>; + ir_power_key_code11 = <0x57>; + ir_addr_code11 = <0xff00>; + ir_power_key_code12 = <0x4d>; + ir_addr_code12 = <0xff40>; + ir_power_key_code13 = <0x88>; + ir_addr_code13 = <0xdd22>; + ir_power_key_code14 = <0xd>; + ir_addr_code14 = <0xbc00>; + ir_power_key_code15 = <0xd>; + ir_addr_code15 = <0xfc00>; + }; + + s_uart@1f02800 { + compatible = "allwinner,s_uart"; + reg = <0x0 0x1f02800 0x0 0x400>; + interrupts = <0x0 0x26 0x4>; + pinctrl-names = "default"; + status = "disabled"; + device_type = "s_uart0"; + pinctrl-0 = <0xc9>; + }; + + s_twi@1f03400 { + compatible = "allwinner,s_twi"; + reg = <0x0 0x1f02400 0x0 0x20>; + interrupts = <0x0 0x2c 0x4>; + pinctrl-names = "default"; + pinctrl-0 = <0x13>; + status = "disabled"; + }; + + s_jtag0 { + compatible = "allwinner,s_jtag"; + pinctrl-names = "default"; + status = "disabled"; + device_type = "s_jtag0"; + pinctrl-0 = <0xcb>; + }; + + box_start_os0 { + compatible = "allwinner,box_start_os"; + start_type = <0x1>; + irkey_used = <0x1>; + pmukey_used = <0x0>; + pmukey_num = <0x0>; + led_power = <0x0>; + led_state = <0x0>; + status = "okay"; + device_type = "box_start_os"; + }; + + timer@1c20c00 { + compatible = "allwinner,sunxi-timer"; + device_type = "timer"; + reg = <0x0 0x1c20c00 0x0 0x90>; + interrupts = <0x0 0x12 0x1>; + clock-frequency = <0x16e3600>; + timer-prescale = <0x10>; + }; + + rtc@01f00000 { + compatible = "allwinner,sun50i-rtc"; + device_type = "rtc"; + reg = <0x0 0x1f00000 0x0 0x218>; + interrupts = <0x0 0x28 0x4>; + gpr_offset = <0x100>; + gpr_len = <0x4>; + }; + + watchdog@01c20ca0 { + compatible = "allwinner,sun50i-wdt"; + reg = <0x0 0x1c20ca0 0x0 0x20>; + interrupts = <0x0 0x19 0x4>; + }; + + ve@01c0e000 { + compatible = "allwinner,sunxi-cedar-ve"; + reg = <0x0 0x1c0e000 0x0 0x1000 0x0 0x1c00000 0x0 0x10 0x0 0x1c20000 0x0 0x800>; + interrupts = <0x0 0x3a 0x4>; + clocks = <0x15 0x16>; + }; + + uart@01c28000 { + compatible = "allwinner,sun50i-uart"; + device_type = "uart0"; + reg = <0x0 0x1c28000 0x0 0x400>; + interrupts = <0x0 0x0 0x4>; + clocks = <0x17>; + pinctrl-names = "default", "sleep"; + uart0_port = <0x0>; + uart0_type = <0x2>; + status = "okay"; + pinctrl-0 = <0xab>; + pinctrl-1 = <0xac>; + }; + + uart@01c28400 { + compatible = "allwinner,sun50i-uart"; + device_type = "uart1"; + reg = <0x0 0x1c28400 0x0 0x400>; + interrupts = <0x0 0x1 0x4>; + clocks = <0x1a>; + pinctrl-names = "default", "sleep"; + uart1_port = <0x1>; + uart1_type = <0x4>; + status = "okay"; + pinctrl-0 = <0xad>; + pinctrl-1 = <0xae>; + }; + + uart@01c28800 { + compatible = "allwinner,sun50i-uart"; + device_type = "uart2"; + reg = <0x0 0x1c28800 0x0 0x400>; + interrupts = <0x0 0x2 0x4>; + clocks = <0x1d>; + pinctrl-names = "default", "sleep"; + uart2_port = <0x2>; + uart2_type = <0x4>; + status = "okay"; + pinctrl-0 = <0xaf>; + pinctrl-1 = <0xb0>; + }; + + uart@01c28c00 { + compatible = "allwinner,sun50i-uart"; + device_type = "uart3"; + reg = <0x0 0x1c28c00 0x0 0x400>; + interrupts = <0x0 0x3 0x4>; + clocks = <0x20>; + pinctrl-names = "default", "sleep"; + uart3_port = <0x3>; + uart3_type = <0x4>; + status = "disabled"; + pinctrl-0 = <0xb1>; + pinctrl-1 = <0xb2>; + }; + + twi@0x01c2ac00 { + #address-cells = <0x1>; + #size-cells = <0x0>; + compatible = "allwinner,sun50i-twi"; + device_type = "twi0"; + reg = <0x0 0x1c2ac00 0x0 0x400>; + interrupts = <0x0 0x6 0x4>; + clocks = <0x23>; + clock-frequency = <0x61a80>; + pinctrl-names = "default", "sleep"; + status = "okay"; + pinctrl-0 = <0xa5>; + pinctrl-1 = <0xa6>; + }; + + twi@0x01c2b000 { + #address-cells = <0x1>; + #size-cells = <0x0>; + compatible = "allwinner,sun50i-twi"; + device_type = "twi1"; + reg = <0x0 0x1c2b000 0x0 0x400>; + interrupts = <0x0 0x7 0x4>; + clocks = <0x26>; + clock-frequency = <0x30d40>; + pinctrl-names = "default", "sleep"; + status = "okay"; + pinctrl-0 = <0xa7>; + pinctrl-1 = <0xa8>; + }; + + twi@0x01c2b400 { + #address-cells = <0x1>; + #size-cells = <0x0>; + compatible = "allwinner,sun50i-twi"; + device_type = "twi2"; + reg = <0x0 0x1c2b400 0x0 0x400>; + interrupts = <0x0 0x8 0x4>; + clocks = <0x29>; + clock-frequency = <0x30d40>; + pinctrl-names = "default", "sleep"; + status = "disabled"; + pinctrl-0 = <0xa9>; + pinctrl-1 = <0xaa>; + }; + + usbc0@0 { + device_type = "usbc0"; + compatible = "allwinner,sunxi-otg-manager"; + usb_port_type = <0x2>; + usb_detect_type = <0x0>; + usb_host_init_state = <0x1>; + usb_regulator_io = "nocare"; + usb_wakeup_suspend = <0x0>; + usb_luns = <0x3>; + usb_serial_unique = <0x0>; + usb_serial_number = "20080411"; + rndis_wceis = <0x1>; + status = "okay"; + usb_detect_mode = <0x0>; + usb_id_gpio = <0x3a 0x6 0xc 0x0 0x1 0xffffffff 0xffffffff>; + usb_det_vbus_gpio; + usb_drv_vbus_gpio = <0x9e 0xb 0x2 0x1 0x0 0xffffffff 0x0>; + }; + + udc-controller@0x01c19000 { + compatible = "allwinner,sunxi-udc"; + reg = <0x0 0x1c19000 0x0 0x1000 0x0 0x1c00000 0x0 0x100>; + interrupts = <0x0 0x47 0x4>; + clocks = <0x2c 0x2d>; + status = "okay"; + }; + + ehci0-controller@0x01c1a000 { + compatible = "allwinner,sunxi-ehci0"; + reg = <0x0 0x1c1a000 0x0 0xfff 0x0 0x1c00000 0x0 0x100 0x0 0x1c19000 0x0 0x1000>; + interrupts = <0x0 0x48 0x4>; + clocks = <0x2c 0x2e>; + hci_ctrl_no = <0x0>; + status = "okay"; + }; + + ohci0-controller@0x01c1a400 { + compatible = "allwinner,sunxi-ohci0"; + reg = <0x0 0x1c1a000 0x0 0xfff 0x0 0x1c00000 0x0 0x100 0x0 0x1c19000 0x0 0x1000>; + interrupts = <0x0 0x49 0x4>; + clocks = <0x2c 0x2f>; + hci_ctrl_no = <0x0>; + status = "okay"; + }; + + usbc1@0 { + device_type = "usbc1"; + usb_host_init_state = <0x1>; + usb_regulator_io = "nocare"; + usb_wakeup_suspend = <0x0>; + status = "okay"; + usb_drv_vbus_gpio; + }; + + ehci1-controller@0x01c1b000 { + compatible = "allwinner,sunxi-ehci1"; + reg = <0x0 0x1c1b000 0x0 0xfff 0x0 0x1c00000 0x0 0x100 0x0 0x1c19000 0x0 0x1000>; + interrupts = <0x0 0x4a 0x4>; + clocks = <0x30 0x31>; + hci_ctrl_no = <0x1>; + status = "okay"; + }; + + ohci1-controller@0x01c1b400 { + compatible = "allwinner,sunxi-ohci1"; + reg = <0x0 0x1c1b000 0x0 0xfff 0x0 0x1c00000 0x0 0x100 0x0 0x1c19000 0x0 0x1000>; + interrupts = <0x0 0x4b 0x4>; + clocks = <0x30 0x32>; + hci_ctrl_no = <0x1>; + status = "okay"; + }; + + usbc2@0 { + device_type = "usbc2"; + usb_host_init_state = <0x1>; + usb_regulator_io = "nocare"; + usb_wakeup_suspend = <0x0>; + status = "okay"; + usb_drv_vbus_gpio; + }; + + ehci2-controller@0x01c1c000 { + compatible = "allwinner,sunxi-ehci2"; + reg = <0x0 0x1c1c000 0x0 0xfff 0x0 0x1c00000 0x0 0x100 0x0 0x1c19000 0x0 0x1000>; + interrupts = <0x0 0x4c 0x4>; + clocks = <0x33 0x34>; + hci_ctrl_no = <0x2>; + status = "okay"; + }; + + ohci2-controller@0x01c1c400 { + compatible = "allwinner,sunxi-ohci2"; + reg = <0x0 0x1c1c000 0x0 0xfff 0x0 0x1c00000 0x0 0x100 0x0 0x1c19000 0x0 0x1000>; + interrupts = <0x0 0x4d 0x4>; + clocks = <0x33 0x35>; + hci_ctrl_no = <0x2>; + status = "okay"; + }; + + usbc3@0 { + device_type = "usbc3"; + usb_host_init_state = <0x1>; + usb_regulator_io = "nocare"; + usb_wakeup_suspend = <0x0>; + status = "okay"; + usb_drv_vbus_gpio; + }; + + ehci3-controller@0x01c1d000 { + compatible = "allwinner,sunxi-ehci3"; + reg = <0x0 0x1c1d000 0x0 0xfff 0x0 0x1c00000 0x0 0x100 0x0 0x1c19000 0x0 0x1000>; + interrupts = <0x0 0x4e 0x4>; + clocks = <0x36 0x37>; + hci_ctrl_no = <0x3>; + status = "okay"; + }; + + ohci3-controller@0x01c1d400 { + compatible = "allwinner,sunxi-ohci3"; + reg = <0x0 0x1c1d000 0x0 0xfff 0x0 0x1c00000 0x0 0x100 0x0 0x1c19000 0x0 0x1000>; + interrupts = <0x0 0x4f 0x4>; + clocks = <0x36 0x38>; + hci_ctrl_no = <0x3>; + status = "okay"; + }; + + codec@0x01c22c00 { + compatible = "allwinner,sunxi-internal-codec"; + reg = <0x0 0x1c22c00 0x0 0x478 0x0 0x1f015c0 0x0 0x0>; + clocks = <0x2 0x39>; + gpio-spk = <0x3a 0x0 0x10 0x1 0x1 0x1 0x1>; + spkervol = <0x1f>; + maingain = <0x4>; + adcagc_cfg = <0x0>; + adcdrc_cfg = <0x0>; + adchpf_cfg = <0x0>; + dacdrc_cfg = <0x0>; + dachpf_cfg = <0x0>; + pa_sleep_time = <0x32>; + dac_digital_vol = <0xa0a0>; + status = "okay"; + linux,phandle = <0x46>; + phandle = <0x46>; + device_type = "codec"; + headphonevol = <0x3b>; + }; + + cpudai0-controller@0x01c22c00 { + compatible = "allwinner,sunxi-internal-cpudai"; + reg = <0x0 0x1c22c00 0x0 0x2bc>; + status = "okay"; + linux,phandle = <0x45>; + phandle = <0x45>; + }; + + daudio@0x01c22000 { + compatible = "allwinner,sunxi-daudio"; + reg = <0x0 0x1c22000 0x0 0x58>; + clocks = <0x2 0x3b>; + pinctrl-names = "default", "sleep"; + pinctrl-0 = <0x3c>; + pinctrl-1 = <0x3d>; + pcm_lrck_period = <0x20>; + pcm_lrckr_period = <0x1>; + slot_width_select = <0x20>; + pcm_lsb_first = <0x0>; + tx_data_mode = <0x0>; + rx_data_mode = <0x0>; + daudio_master = <0x4>; + audio_format = <0x1>; + signal_inversion = <0x1>; + frametype = <0x0>; + tdm_config = <0x1>; + tdm_num = <0x0>; + mclk_div = <0x0>; + status = "disabled"; + linux,phandle = <0x47>; + phandle = <0x47>; + device_type = "daudio0"; + }; + + daudio@0x01c22400 { + compatible = "allwinner,sunxi-daudio"; + reg = <0x0 0x1c22400 0x0 0x58>; + pinctrl-names = "default", "sleep"; + pinctrl-0 = <0x3e>; + pinctrl-1 = <0x3f>; + clocks = <0x2 0x40>; + pcm_lrck_period = <0x20>; + pcm_lrckr_period = <0x1>; + slot_width_select = <0x20>; + pcm_lsb_first = <0x0>; + tx_data_mode = <0x0>; + rx_data_mode = <0x0>; + daudio_master = <0x4>; + audio_format = <0x1>; + signal_inversion = <0x1>; + frametype = <0x0>; + tdm_config = <0x1>; + tdm_num = <0x1>; + mclk_div = <0x0>; + status = "disabled"; + linux,phandle = <0x48>; + phandle = <0x48>; + device_type = "daudio1"; + }; + + daudio@0x01c22800 { + compatible = "allwinner,sunxi-tdmhdmi"; + reg = <0x0 0x1c22800 0x0 0x58>; + clocks = <0x2 0x41>; + status = "disabled"; + linux,phandle = <0x49>; + phandle = <0x49>; + device_type = "daudio2"; + }; + + spdif-controller@0x01c21000 { + compatible = "allwinner,sunxi-spdif"; + reg = <0x0 0x1c21000 0x0 0x38>; + clocks = <0x2 0x42>; + pinctrl-names = "default", "sleep"; + pinctrl-0 = <0x43>; + pinctrl-1 = <0x44>; + status = "disabled"; + linux,phandle = <0x4a>; + phandle = <0x4a>; + device_type = "spdif"; + }; + + sound@0 { + compatible = "allwinner,sunxi-codec-machine"; + sunxi,cpudai-controller = <0x45>; + sunxi,audio-codec = <0x46>; + status = "okay"; + device_type = "sndcodec"; + }; + + sound@1 { + compatible = "allwinner,sunxi-daudio0-machine"; + sunxi,daudio0-controller = <0x47>; + status = "disabled"; + device_type = "snddaudio0"; + }; + + sound@2 { + compatible = "allwinner,sunxi-daudio1-machine"; + sunxi,daudio1-controller = <0x48>; + status = "disabled"; + device_type = "snddaudio1"; + }; + + sound@3 { + compatible = "allwinner,sunxi-hdmi-machine"; + sunxi,hdmi-controller = <0x49>; + status = "disabled"; + device_type = "sndhdmi"; + }; + + sound@4 { + compatible = "allwinner,sunxi-spdif-machine"; + sunxi,spdif-controller = <0x4a>; + status = "disabled"; + device_type = "sndspdif"; + }; + + spi@01c68000 { + #address-cells = <0x1>; + #size-cells = <0x0>; + compatible = "allwinner,sun50i-spi"; + device_type = "spi0"; + reg = <0x0 0x1c68000 0x0 0x1000>; + interrupts = <0x0 0x41 0x4>; + clocks = <0x4 0x4b>; + clock-frequency = <0x5f5e100>; + pinctrl-names = "default", "sleep"; + spi0_cs_number = <0x1>; + spi0_cs_bitmap = <0x1>; + status = "okay"; + pinctrl-0 = <0xb3 0xb4 0xb5>; + pinctrl-1 = <0xb6 0xb7>; + + spi_board0 { + device_type = "spi_board0"; + compatible = "rohm,dh2228fv"; + spi-max-frequency = <50000000>; + reg = <0x0>; + }; + + }; + + spi@01c69000 { + #address-cells = <0x1>; + #size-cells = <0x0>; + compatible = "allwinner,sun50i-spi"; + device_type = "spi1"; + reg = <0x0 0x1c69000 0x0 0x1000>; + interrupts = <0x0 0x42 0x4>; + clocks = <0x4 0x4f>; + clock-frequency = <10000000>; + pinctrl-names = "default", "sleep"; + spi1_cs_number = <0x1>; + spi1_cs_bitmap = <0x1>; + status = "okay"; + pinctrl-0 = <0xb8 0xb9>; + pinctrl-1 = <0xba 0xbb>; + + spi_board1 { + device_type = "spi_board1"; + compatible = "rohm,dh2228fv"; + spi-max-frequency = <10000000>; + reg = <0x0>; + }; + }; + + sdmmc@01C11000 { + compatible = "allwinner,sunxi-mmc-v4p5x"; + device_type = "sdc2"; + reg = <0x0 0x1c11000 0x0 0x1000>; + interrupts = <0x0 0x3e 0x104>; + clocks = <0x6 0x53 0x54 0x55 0x56>; + clock-names = "osc24m", "pll_periph", "mmc", "ahb", "rst"; + pinctrl-names = "default", "sleep"; + pinctrl-1 = <0x58>; + bus-width = <0x8>; + max-frequency = <0x2faf080>; + sdc_tm4_sm0_freq0 = <0x0>; + sdc_tm4_sm0_freq1 = <0x0>; + sdc_tm4_sm1_freq0 = <0x0>; + sdc_tm4_sm1_freq1 = <0x0>; + sdc_tm4_sm2_freq0 = <0x0>; + sdc_tm4_sm2_freq1 = <0x0>; + sdc_tm4_sm3_freq0 = <0x5000000>; + sdc_tm4_sm3_freq1 = <0x405>; + sdc_tm4_sm4_freq0 = <0x50000>; + sdc_tm4_sm4_freq1 = <0x408>; + status = "disabled"; + non-removable; + pinctrl-0 = <0xc8>; + cd-gpios; + sunxi-power-save-mode; + sunxi-dis-signal-vol-sw; + vmmc = "vcc-emmcv"; + vqmmc = "vcc-emmcvq18"; + vdmmc = "none"; + }; + + sdmmc@01c0f000 { + compatible = "allwinner,sunxi-mmc-v4p1x"; + device_type = "sdc0"; + reg = <0x0 0x1c0f000 0x0 0x1000>; + interrupts = <0x0 0x3c 0x104>; + clocks = <0x6 0x53 0x59 0x5a 0x5b>; + clock-names = "osc24m", "pll_periph", "mmc", "ahb", "rst"; + pinctrl-names = "default", "sleep"; + pinctrl-1 = <0x5d>; + max-frequency = <0x2faf080>; + bus-width = <0x4>; + status = "okay"; + pinctrl-0 = <0xc6>; + cd-gpios = <0x3a 0x5 0x6 0x0 0x1 0x2 0xffffffff>; + sunxi-power-save-mode; + sunxi-dis-signal-vol-sw; + vmmc = "vcc-sdcv"; + vqmmc = "vcc-sdcvq33"; + vdmmc = "vcc-sdcvd"; + }; + + sdmmc@1C10000 { + compatible = "allwinner,sunxi-mmc-v4p1x"; + device_type = "sdc1"; + reg = <0x0 0x1c10000 0x0 0x1000>; + interrupts = <0x0 0x3d 0x104>; + clocks = <0x6 0x53 0x5e 0x5f 0x60>; + clock-names = "osc24m", "pll_periph", "mmc", "ahb", "rst"; + pinctrl-names = "default", "sleep"; + pinctrl-1 = <0x62>; + max-frequency = <0x8f0d180>; + bus-width = <0x4>; + sunxi-dly-52M-ddr4 = <0x1 0x0 0x0 0x0 0x2>; + sunxi-dly-104M = <0x1 0x0 0x0 0x0 0x1>; + sunxi-dly-208M = <0x1 0x0 0x0 0x0 0x1>; + status = "okay"; + pinctrl-0 = <0xc7>; + sd-uhs-sdr50; + sd-uhs-ddr50; + sd-uhs-sdr104; + cap-sdio-irq = <0x1>; + keep-power-in-suspend; + ignore-pm-notify; + }; + + disp@01000000 { + compatible = "allwinner,sunxi-disp"; + reg = <0x0 0x1000000 0x0 0x300000 0x0 0x1c0c000 0x0 0x7fc 0x0 0x1c0d000 0x0 0x7fc>; + interrupts = <0x0 0x56 0x104 0x0 0x57 0x104>; + clocks = <0x63 0x64 0x65>; + boot_disp = <0x0>; + fb_base = <0x0>; + status = "okay"; + device_type = "disp"; + disp_init_enable = <0x1>; + disp_mode = <0x0>; + screen0_output_type = <0x2>; + screen0_output_mode = <11>; + screen1_output_type = <0x2>; + screen1_output_mode = <11>; + dev0_output_type = <0x4>; + dev0_output_mode = <0x4>; + dev0_screen_id = <0x0>; + dev0_do_hpd = <0x1>; + dev1_output_type = <0x2>; + dev1_output_mode = <0xb>; + dev1_screen_id = <0x1>; + dev1_do_hpd = <0x1>; + dev2_output_type = <0x0>; + def_output_dev = <0x0>; + hdmi_mode_check = <0x0>; + fb0_format = <0x0>; + fb0_width = <0x500>; + fb0_height = <0x2d0>; + fb1_format = <0x0>; + fb1_width = <0x0>; + fb1_height = <0x0>; + }; + + lcd0@01c0c000 { + compatible = "allwinner,sunxi-lcd0"; + pinctrl-names = "active", "sleep"; + status = "okay"; + device_type = "lcd0"; + lcd_used = <0x0>; + lcd_driver_name = "default_lcd"; + lcd_backlight = <0x32>; + lcd_if = <0x3>; + lcd_x = <0x500>; + lcd_y = <0x320>; + lcd_width = <0x96>; + lcd_height = <0x5e>; + lcd_dclk_freq = <0x46>; + lcd_pwm_used = <0x1>; + lcd_pwm_ch = <0x0>; + lcd_pwm_freq = <0xc350>; + lcd_pwm_pol = <0x1>; + lcd_pwm_max_limit = <0xff>; + lcd_hbp = <0x14>; + lcd_ht = <0x58a>; + lcd_hspw = <0xa>; + lcd_vbp = <0xa>; + lcd_vt = <0x32e>; + lcd_vspw = <0x5>; + lcd_lvds_if = <0x0>; + lcd_lvds_colordepth = <0x1>; + lcd_lvds_mode = <0x0>; + lcd_frm = <0x1>; + lcd_hv_clk_phase = <0x0>; + lcd_hv_sync_polarity = <0x0>; + lcd_gamma_en = <0x0>; + lcd_bright_curve_en = <0x0>; + lcd_cmap_en = <0x0>; + lcd_bl_en = <0x3a 0x3 0x17 0x1 0x0 0xffffffff 0x1>; + lcd_bl_en_power = "none"; + lcd_power = "vcc-lcd-0"; + lcd_fix_power = "vcc-dsi-33"; + pinctrl-0 = <0xbf>; + lcd_pin_power = "vcc-pd"; + pinctrl-1 = <0xc0>; + }; + + hdmi@01ee0000 { + compatible = "allwinner,sunxi-hdmi"; + reg = <0x0 0x1ee0000 0x0 0x20000>; + clocks = <0x66 0x67>; + device_type = "hdmi"; + status = "disabled"; + hdmi_hdcp_enable = <0x0>; + hdmi_cts_compatibility = <0x0>; + hdmi_cec_support = <0x1>; + }; + + tv0@01c94000 { + compatible = "allwinner,sunxi-tv"; + reg = <0x0 0x1e40000 0x0 0x1000>; + clocks = <0x68>; + status = "okay"; + device_type = "tv0"; + dac_src0 = <0x0>; + dac_type0 = <0x0>; + interface = <0x1>; + }; + + tr@01000000 { + compatible = "allwinner,sun50i-tr"; + reg = <0x0 0x1000000 0x0 0x200bc>; + interrupts = <0x0 0x60 0x104>; + clocks = <0x63>; + status = "okay"; + }; + + pwm@01c21400 { + compatible = "allwinner,sunxi-pwm"; + reg = <0x0 0x1c21400 0x0 0x3c>; + pwm-number = <0x1>; + pwm-base = <0x0>; + pwms = <0x69>; + }; + + pwm0@01c21400 { + compatible = "allwinner,sunxi-pwm0"; + pinctrl-names = "active", "sleep"; + reg_base = <0x1c21400>; + reg_busy_offset = <0x0>; + reg_busy_shift = <0x1c>; + reg_enable_offset = <0x0>; + reg_enable_shift = <0x4>; + reg_clk_gating_offset = <0x0>; + reg_clk_gating_shift = <0x6>; + reg_bypass_offset = <0x0>; + reg_bypass_shift = <0x9>; + reg_pulse_start_offset = <0x0>; + reg_pulse_start_shift = <0x8>; + reg_mode_offset = <0x0>; + reg_mode_shift = <0x7>; + reg_polarity_offset = <0x0>; + reg_polarity_shift = <0x5>; + reg_period_offset = <0x4>; + reg_period_shift = <0x10>; + reg_period_width = <0x10>; + reg_active_offset = <0x4>; + reg_active_shift = <0x0>; + reg_active_width = <0x10>; + reg_prescal_offset = <0x0>; + reg_prescal_shift = <0x0>; + reg_prescal_width = <0x4>; + linux,phandle = <0x69>; + phandle = <0x69>; + device_type = "pwm0"; + pwm_used = <0x0>; + pinctrl-0 = <0xc1>; + pinctrl-1 = <0xc2>; + }; + + s_pwm@1f03800 { + compatible = "allwinner,sunxi-s_pwm"; + reg = <0x0 0x1f03800 0x0 0x3c>; + pwm-number = <0x1>; + pwm-base = <0x10>; + pwms = <0x6a>; + }; + + spwm0@0x01f03800 { + compatible = "allwinner,sunxi-pwm16"; + pinctrl-names = "active", "sleep"; + reg_base = <0x1f03800>; + reg_busy_offset = <0x0>; + reg_busy_shift = <0x1c>; + reg_enable_offset = <0x0>; + reg_enable_shift = <0x4>; + reg_clk_gating_offset = <0x0>; + reg_clk_gating_shift = <0x6>; + reg_bypass_offset = <0x0>; + reg_bypass_shift = <0x9>; + reg_pulse_start_offset = <0x0>; + reg_pulse_start_shift = <0x8>; + reg_mode_offset = <0x0>; + reg_mode_shift = <0x7>; + reg_polarity_offset = <0x0>; + reg_polarity_shift = <0x5>; + reg_period_offset = <0x4>; + reg_period_shift = <0x10>; + reg_period_width = <0x10>; + reg_active_offset = <0x4>; + reg_active_shift = <0x0>; + reg_active_width = <0x10>; + reg_prescal_offset = <0x0>; + reg_prescal_shift = <0x0>; + reg_prescal_width = <0x4>; + linux,phandle = <0x6a>; + phandle = <0x6a>; + }; + + boot_disp { + compatible = "allwinner,boot_disp"; + }; + + ac200 { + compatible = "allwinner,sunxi-ac200"; + clocks = <0x64>; + pinctrl-names = "active", "sleep"; + status = "okay"; + }; + + cci@0x01cb3000 { + compatible = "allwinner,sunxi-csi_cci"; + reg = <0x0 0x1cb3000 0x0 0x1000>; + interrupts = <0x0 0x55 0x4>; + status = "okay"; + }; + + csi_res@0x01cb0000 { + compatible = "allwinner,sunxi-csi"; + reg = <0x0 0x1cb0000 0x0 0x1000>; + clocks = <0x6b 0x6c 0x6d 0x4 0x6 0x5>; + clocks-index = <0x0 0x1 0x2 0x3 0x4 0x5>; + status = "okay"; + }; + + isp@0x01cb8000 { + compatible = "allwinner,sunxi-isp"; + reg = <0x0 0x1cb8000 0x0 0x1000>; + status = "okay"; + }; + + vfe@0 { + device_type = "csi0"; + compatible = "allwinner,sunxi-vfe"; + interrupts = <0x0 0x54 0x4>; + pinctrl-names = "default", "sleep"; + pinctrl-1 = <0x6f>; + cci_sel = <0x0>; + csi_sel = <0x0>; + mipi_sel = <0x0>; + isp_sel = <0x0>; + csi0_sensor_list = <0x0>; + status = "disabled"; + pinctrl-0 = <0xc5>; + csi0_mck = <0x3a 0x4 0x1 0x1 0x0 0x1 0x0>; + + dev@0 { + csi0_dev0_mname = "gc2035"; + csi0_dev0_twi_addr = <0x78>; + csi0_dev0_pos = "rear"; + csi0_dev0_isp_used = <0x1>; + csi0_dev0_fmt = <0x0>; + csi0_dev0_stby_mode = <0x0>; + csi0_dev0_vflip = <0x0>; + csi0_dev0_hflip = <0x0>; + csi0_dev0_iovdd = "iovdd-csi"; + csi0_dev0_iovdd_vol = <0x2ab980>; + csi0_dev0_avdd = "avdd-csi"; + csi0_dev0_avdd_vol = <0x2ab980>; + csi0_dev0_dvdd = "dvdd-csi-18"; + csi0_dev0_dvdd_vol = <0x16e360>; + csi0_dev0_afvdd = "afvcc-csi"; + csi0_dev0_afvdd_vol = <0x2ab980>; + csi0_dev0_flash_used = <0x0>; + csi0_dev0_flash_type = <0x2>; + csi0_dev0_act_used = <0x0>; + csi0_dev0_act_name = "ad5820_act"; + csi0_dev0_act_slave = <0x18>; + status = "disabled"; + device_type = "csi0_dev0"; + csi0_dev0_power_en; + csi0_dev0_reset = <0x3a 0x4 0xe 0x1 0x0 0x1 0x0>; + csi0_dev0_pwdn = <0x3a 0x4 0xf 0x1 0x0 0x1 0x0>; + csi0_dev0_flash_en; + csi0_dev0_flash_mode; + csi0_dev0_flvdd; + csi0_dev0_flvdd_vol; + csi0_dev0_af_pwdn; + }; + + dev@1 { + csi0_dev1_twi_addr = <0x78>; + csi0_dev1_pos = "rear"; + csi0_dev1_isp_used = <0x1>; + csi0_dev1_fmt = <0x0>; + csi0_dev1_stby_mode = <0x0>; + csi0_dev1_vflip = <0x0>; + csi0_dev1_hflip = <0x0>; + csi0_dev1_iovdd = "iovdd-csi"; + csi0_dev1_iovdd_vol = <0x2ab980>; + csi0_dev1_avdd = "avdd-csi"; + csi0_dev1_avdd_vol = <0x2ab980>; + csi0_dev1_dvdd = "dvdd-csi-18"; + csi0_dev1_dvdd_vol = <0x16e360>; + csi0_dev1_afvdd = "afvcc-csi"; + csi0_dev1_afvdd_vol = <0x2ab980>; + csi0_dev1_flash_used = <0x0>; + csi0_dev1_flash_type = <0x2>; + csi0_dev1_act_used = <0x0>; + csi0_dev1_act_name = "ad5820_act"; + csi0_dev1_act_slave = <0x18>; + status = "disabled"; + device_type = "csi0_dev1"; + csi0_dev1_mname; + csi0_dev1_power_en; + csi0_dev1_reset; + csi0_dev1_pwdn; + csi0_dev1_flash_en; + csi0_dev1_flash_mode; + csi0_dev1_flvdd; + csi0_dev1_flvdd_vol; + csi0_dev1_af_pwdn; + }; + }; + + vdevice@0 { + compatible = "allwinner,sun50i-vdevice"; + device_type = "Vdevice"; + pinctrl-names = "default"; + test-gpios = <0x3a 0x0 0x0 0x1 0x2 0x2 0x1>; + status = "disabled"; + pinctrl-0 = <0xcc>; + }; + + ce@1c15000 { + compatible = "allwinner,sunxi-ce"; + reg = <0x0 0x1c15000 0x0 0x80 0x0 0x1c15800 0x0 0x80>; + interrupts = <0x0 0x5e 0xff01 0x0 0x50 0xff01>; + clock-frequency = <0x11e1a300 0xbebc200>; + clocks = <0x71 0x4>; + }; + + deinterlace@0x01e00000 { + #address-cells = <0x1>; + #size-cells = <0x0>; + compatible = "allwinner,sunxi-deinterlace"; + reg = <0x0 0x1e00000 0x0 0x77c>; + interrupts = <0x0 0x5d 0x4>; + clocks = <0x72 0x4>; + status = "okay"; + device_type = "di"; + }; + + smartcard@0x01c2c400 { + #address-cells = <0x1>; + #size-cells = <0x0>; + compatible = "allwinner,sunxi-scr"; + device_type = "scr0"; + reg = <0x0 0x1c2c400 0x0 0x400>; + interrupts = <0x0 0x53 0x4>; + clocks = <0x73 0x74>; + clock-frequency = <0x16e3600>; + pinctrl-names = "default", "sleep"; + pinctrl-0 = <0x75 0x76>; + pinctrl-1 = <0x77>; + status = "okay"; + }; + + smartcard@0x01c2c800 { + #address-cells = <0x1>; + #size-cells = <0x0>; + compatible = "allwinner,sunxi-scr"; + device_type = "scr1"; + reg = <0x0 0x1c2c800 0x0 0x400>; + interrupts = <0x0 0x59 0x4>; + clocks = <0x78 0x74>; + clock-frequency = <0x16e3600>; + pinctrl-names = "default", "sleep"; + pinctrl-0 = <0x79 0x7a>; + pinctrl-1 = <0x7b>; + status = "disabled"; + }; + + pmu@0 { + interrupts = <0x0 0x20 0x4>; + status = "okay"; + device_type = "pmu0"; + compatible = "axpdummy"; + pmu_id = <0x83>; + + powerkey@0 { + status = "okay"; + }; + + regulator@0 { + status = "okay"; + device_type = "regulator0"; + compatible = "axpdummy-regulator"; + regulator_count = <0x6>; + regulator1 = "axpdummy_ldo1 none avcc vcc-pll vcc-tv"; + regulator2 = "axpdummy_ldo2 none vcc-dram"; + regulator3 = "axpdummy_ldo3 none vdd-sys vdd-ehpy"; + regulator4 = "axpdummy_ldo4 none vdd-cpua"; + regulator5 = "axpdummy_ldo5 none vcc-wifi"; + regulator6 = "axpdummy_ldo6 none vcc-rtc vdd-cpus vcc-io vcc-efuse vcc-sdc vcc-nand vcc-usb vcc-uartx vcc-feled vcc-key vcc-audio vcc-ir"; + }; + + axp_gpio@0 { + gpio-controller; + #size-cells = <0x0>; + #gpio-cells = <0x6>; + status = "okay"; + device_type = "axp_pio"; + linux,phandle = <0xbc>; + phandle = <0xbc>; + }; + + charger@0 { + status = "disabled"; + }; + }; + + nmi@0x01f00c00 { + #address-cells = <0x1>; + #size-cells = <0x0>; + compatible = "allwinner,sunxi-nmi"; + reg = <0x0 0x1f00c00 0x0 0x50>; + nmi_irq_ctrl = <0xc>; + nmi_irq_en = <0x40>; + nmi_irq_status = <0x10>; + nmi_irq_mask = <0x50>; + status = "okay"; + }; + + nand0@01c03000 { + compatible = "allwinner,sun50iw2-nand"; + device_type = "nand0"; + reg = <0x0 0x1c03000 0x0 0x1000>; + interrupts = <0x0 0x46 0x4>; + clocks = <0x4 0x7c>; + pinctrl-names = "default", "sleep"; + pinctrl-1 = <0x7f>; + nand0_regulator1 = "vcc-nand"; + nand0_regulator2 = "none"; + nand0_cache_level = <0x55aaaa55>; + nand0_flush_cache_num = <0x55aaaa55>; + nand0_capacity_level = <0x55aaaa55>; + nand0_id_number_ctl = <0x55aaaa55>; + nand0_print_level = <0x55aaaa55>; + nand0_p0 = <0x55aaaa55>; + nand0_p1 = <0x55aaaa55>; + nand0_p2 = <0x55aaaa55>; + nand0_p3 = <0x55aaaa55>; + status = "disabled"; + nand0_support_2ch = <0x0>; + pinctrl-0 = <0xbd 0xbe>; + }; + + ts0@01c06000 { + compatible = "allwinner,sun50i-tsc"; + device_type = "ts0"; + reg = <0x0 0x1c06000 0x0 0x1000>; + interrupts = <0x0 0x51 0x4>; + clocks = <0x4 0x80>; + pinctrl-names = "ts0-default", "ts1-default", "ts2-default", "ts3-default", "ts0-sleep", "ts1-sleep", "ts2-sleep", "ts3-sleep"; + pinctrl-0 = <0x81>; + pinctrl-1 = <0x82>; + pinctrl-2 = <0x83>; + pinctrl-3 = <0x84>; + pinctrl-4 = <0x85>; + pinctrl-5 = <0x86>; + pinctrl-6 = <0x87>; + pinctrl-7 = <0x88>; + ts0config = <0x1>; + ts1config = <0x0>; + ts2config = <0x1>; + ts3config = <0x0>; + status = "okay"; + }; + + thermal_sensor { + compatible = "allwinner,thermal_sensor"; + reg = <0x0 0x1c25000 0x0 0x84>; + interrupts = <0x0 0x1f 0x0>; + clocks = <0x6 0x89>; + sensor_num = <0x2>; + shut_temp = <0x6e>; + status = "okay"; + + combine0 { + #thermal-sensor-cells = <0x1>; + combine_cnt = <0x2>; + combine_type = "max"; + combine_chn = <0x0 0x1>; + linux,phandle = <0x8a>; + phandle = <0x8a>; + }; + }; + + cpu_budget_cool { + compatible = "allwinner,budget_cooling"; + #cooling-cells = <0x2>; + status = "okay"; + state_cnt = <0x5>; + cluster_num = <0x1>; + state0 = <0xf6180 0x4>; + state1 = <0xc7380 0x4>; + state2 = <0x9e340 0x2>; + state3 = <0x75300 0x2>; + state4 = <0x75300 0x1>; + linux,phandle = <0x8c>; + phandle = <0x8c>; + }; + + gpu_cooling { + compatible = "allwinner,gpu_cooling"; + reg = <0x0 0x0 0x0 0x0>; + #cooling-cells = <0x2>; + status = "okay"; + state_cnt = <0x4>; + state0 = <0x1c8>; + state1 = <0x180>; + state2 = <0x108>; + state3 = <0x90>; + linux,phandle = <0x90>; + phandle = <0x90>; + }; + + thermal-zones { + + soc_thermal { + polling-delay-passive = <0x3e8>; + polling-delay = <0x2710>; + thermal-sensors = <0x8a 0x0>; + + trips { + + t0 { + temperature = <0x5a>; + type = "passive"; + hysteresis = <0x0>; + linux,phandle = <0x8b>; + phandle = <0x8b>; + }; + + t1 { + temperature = <0x64>; + type = "passive"; + hysteresis = <0x0>; + linux,phandle = <0x8d>; + phandle = <0x8d>; + }; + + t2 { + temperature = <0x6e>; + type = "passive"; + hysteresis = <0x0>; + linux,phandle = <0x8e>; + phandle = <0x8e>; + }; + + t3 { + temperature = <0x50>; + type = "passive"; + hysteresis = <0x0>; + linux,phandle = <0x8f>; + phandle = <0x8f>; + }; + + t4 { + temperature = <0x5a>; + type = "passive"; + hysteresis = <0x0>; + linux,phandle = <0x91>; + phandle = <0x91>; + }; + + t5 { + temperature = <0x64>; + type = "passive"; + hysteresis = <0x0>; + linux,phandle = <0x92>; + phandle = <0x92>; + }; + + t6 { + temperature = <0x73>; + type = "critical"; + hysteresis = <0x0>; + }; + }; + + cooling-maps { + + bind0 { + contribution = <0x0>; + trip = <0x8b>; + cooling-device = <0x8c 0x1 0x1>; + }; + + bind1 { + contribution = <0x0>; + trip = <0x8d>; + cooling-device = <0x8c 0x2 0x2>; + }; + + bind2 { + contribution = <0x0>; + trip = <0x8e>; + cooling-device = <0x8c 0x3 0x4>; + }; + + bind3 { + contribution = <0x0>; + trip = <0x8f>; + cooling-device = <0x90 0x1 0x1>; + }; + + bind4 { + contribution = <0x0>; + trip = <0x91>; + cooling-device = <0x90 0x2 0x2>; + }; + + bind5 { + contribution = <0x0>; + trip = <0x92>; + cooling-device = <0x90 0x3 0x3>; + }; + }; + }; + }; + + keyboard { + compatible = "allwinner,keyboard_2000mv"; + reg = <0x0 0x1c21800 0x0 0x400>; + interrupts = <0x0 0x1e 0x0>; + status = "okay"; + key_cnt = <0x5>; + key1 = <0xf0 0x73>; + key2 = <0x1f4 0x72>; + key3 = <0x2bc 0x8b>; + key4 = <0x37a 0x1c>; + key5 = <0x7d0 0x66>; + }; + + eth@01c30000 { + compatible = "allwinner,sunxi-gmac"; + reg = <0x0 0x1c30000 0x0 0x4000 0x0 0x1c00030 0x0 0x1>; + pinctrl-names = "default"; + pinctrl-0 = <0x93>; + interrupts = <0x0 0x52 0x4>; + interrupt-names = "gmacirq"; + clocks = <0x94 0x95>; + clock-names = "gmac", "ephy"; + phy-mode = "rgmii"; + tx-delay = <0x0>; + rx-delay = <0x0>; + phy_power_on = <0x3a 0x3 0x6 0x1 0x0 0x0 0x0>; + status = "okay"; + device_type = "gmac0"; + gmac_power1; + gmac_power2; + gmac_power3; + }; + + product { + device_type = "product"; + version = "100"; + machine = "cheetah-p1"; + }; + + platform { + device_type = "platform"; + debug_mode = <0x1>; + }; + + target { + device_type = "target"; + boot_clock = <0x3f0>; + storage_type = <0xffffffff>; + burn_key = <0x0>; + dragonboard_test = <0x0>; + power_mode = <0x1>; + }; + + power_sply { + device_type = "power_sply"; + dcdcb_vol = <0xf472c>; + dcdcc_vol = <0xf46f0>; + aldo2_vol = <0xf4f24>; + }; + + ir_boot_recovery { + device_type = "ir_boot_recovery"; + status = "disabled"; + ir_recovery_key_code0 = <0x57>; + ir_addr_code0 = <0x9f00>; + ir_recovery_key_code1 = <0x15>; + ir_addr_code1 = <0xbc00>; + }; + + card_boot { + device_type = "card_boot"; + logical_start = <0xa000>; + sprite_gpio0 = <0x9e 0xb 0xa 0x1 0xffffffff 0xffffffff 0x1>; + next_work = <0x3>; + }; + + recovery_para { + device_type = "recovery_para"; + status = "okay"; + mode = <0x1>; + recovery_key = <0x9e 0xb 0x4 0x0 0xffffffff 0xffffffff 0xffffffff>; + }; + + boot_init_gpio { + device_type = "boot_init_gpio"; + status = "okay"; + gpio0 = <0x9e 0xb 0xa 0x1 0xffffffff 0xffffffff 0x0>; + gpio1 = <0x3a 0x0 0x11 0x1 0xffffffff 0xffffffff 0x1>; + }; + + pm_para { + device_type = "pm_para"; + standby_mode = <0x1>; + }; + + card0_boot_para { + device_type = "card0_boot_para"; + card_ctrl = <0x0>; + card_high_speed = <0x1>; + card_line = <0x4>; + pinctrl-0 = <0x9f>; + }; + + card2_boot_para { + device_type = "card2_boot_para"; + card_ctrl = <0x2>; + card_high_speed = <0x1>; + card_line = <0x8>; + pinctrl-0 = <0xa0 0xa1>; + sdc_ex_dly_used = <0x2>; + }; + + twi_para { + device_type = "twi_para"; + twi_port = <0x0>; + pinctrl-0 = <0xa2>; + }; + + uart_para { + device_type = "uart_para"; + uart_debug_port = <0x0>; + pinctrl-0 = <0xa3>; + }; + + jtag_para { + device_type = "jtag_para"; + jtag_enable = <0x0>; + pinctrl-0 = <0xa4>; + }; + + clock { + device_type = "clock"; + pll4 = <0x12c>; + pll6 = <0x258>; + pll8 = <0x168>; + pll9 = <0x129>; + pll10 = <0x108>; + }; + + rtp_para { + device_type = "rtp_para"; + rtp_used = <0x0>; + rtp_screen_size = <0x5>; + rtp_regidity_level = <0x5>; + rtp_press_threshold_enable = <0x0>; + rtp_press_threshold = <0x1f40>; + rtp_sensitive_level = <0xf>; + rtp_exchange_x_y_flag = <0x0>; + }; + + ctp { + device_type = "ctp"; + compatible = "allwinner,sun50i-ctp-para"; + status = "disabled"; + ctp_twi_id = <0x0>; + ctp_twi_addr = <0x5d>; + ctp_screen_max_x = <0x500>; + ctp_screen_max_y = <0x320>; + ctp_revert_x_flag = <0x1>; + ctp_revert_y_flag = <0x1>; + ctp_exchange_x_y_flag = <0x1>; + ctp_int_port = <0x3a 0x7 0x4 0x6 0xffffffff 0xffffffff 0xffffffff>; + ctp_wakeup = <0x3a 0x7 0x8 0x1 0xffffffff 0xffffffff 0x1>; + ctp_power_ldo = "vcc-ctp"; + ctp_power_ldo_vol = <0xce4>; + ctp_power_io; + }; + + ctp_list { + device_type = "ctp_list"; + compatible = "allwinner,sun50i-ctp-list"; + ctp_det_used = <0x1>; + ft5x_ts = <0x1>; + gt82x = <0x1>; + gslX680 = <0x1>; + gt9xx_ts = <0x0>; + gt9xxnew_ts = <0x1>; + gt811 = <0x1>; + zet622x = <0x1>; + aw5306_ts = <0x1>; + }; + + tkey_para { + device_type = "tkey_para"; + tkey_used = <0x0>; + tkey_twi_id; + tkey_twi_addr; + tkey_int; + }; + + motor_para { + device_type = "motor_para"; + motor_used = <0x1>; + motor_shake = <0xbc 0xfffe 0x3 0x1 0xffffffff 0xffffffff 0x1>; + }; + + pwm16 { + device_type = "pwm16"; + s_pwm0_used = <0x0>; + pinctrl-0 = <0xc3>; + pinctrl-1 = <0xc4>; + }; + + tvout_para { + device_type = "tvout_para"; + tvout_used; + tvout_channel_num; + tv_en; + }; + + tvin_para { + device_type = "tvin_para"; + tvin_used; + tvin_channel_num; + }; + + smc { + device_type = "smc"; + smc_used; + smc_rst; + smc_vppen; + smc_vppp; + smc_det; + smc_vccen; + smc_sck; + smc_sda; + }; + + leds { + compatible = "gpio-leds"; + + pwr { + label = "orangepi:green:pwr"; + gpios = <0x9e 0xb 0xa 0x1 0xffffffff 0xffffffff 0x0>; + default-state = "on"; + }; + + status { + label = "orangepi:red:status"; + gpios = <0x3a 0x0 0x11 0x1 0xffffffff 0xffffffff 0x0>; + default-state = "on"; + }; + }; + + gpio_para { + device_type = "gpio_para"; + compatible = "allwinner,sunxi-init-gpio"; + gpio_used = <0x1>; + gpio_num = <0x2>; + gpio_pin_1 = <0x9e 0xb 0xa 0x1 0xffffffff 0xffffffff 0x1>; + gpio_pin_2 = <0x3a 0x0 0x11 0x1 0xffffffff 0xffffffff 0x0>; + }; + + serial_feature { + device_type = "serial_feature"; + sn_filename = "sn.txt"; + }; + + gsensor { + device_type = "gsensor"; + compatible = "allwinner,sun50i-gsensor-para"; + status = "disabled"; + gsensor_twi_id = <0x1>; + gsensor_twi_addr = <0x18>; + gsensor_int1 = <0x3a 0x0 0x9 0x6 0x1 0xffffffff 0xffffffff>; + gsensor_int2; + gsensor_vcc_io = "vcc-deviceio"; + gsensor_vcc_io_val = <0xc1c>; + }; + + gsensor_list_para { + device_type = "gsensor_list_para"; + compatible = "allwinner,sun50i-gsensor-list-para"; + gsensor_det_used = <0x0>; + lsm9ds0_acc_mag = <0x1>; + bma250 = <0x1>; + mma8452 = <0x1>; + mma7660 = <0x1>; + mma865x = <0x1>; + afa750 = <0x1>; + lis3de_acc = <0x1>; + lis3dh_acc = <0x1>; + kxtik = <0x1>; + dmard10 = <0x0>; + dmard06 = <0x1>; + mxc622x = <0x1>; + fxos8700 = <0x1>; + lsm303d = <0x0>; + }; + + 3g_para { + device_type = "3g_para"; + 3g_used = <0x0>; + 3g_usbc_num = <0x2>; + 3g_uart_num = <0x0>; + bb_vbat = <0x9e 0xb 0x3 0x1 0xffffffff 0xffffffff 0x0>; + bb_host_wake = <0x9e 0xc 0x0 0x1 0xffffffff 0xffffffff 0x0>; + bb_on = <0x9e 0xc 0x1 0x1 0xffffffff 0xffffffff 0x0>; + bb_pwr_on = <0x9e 0xc 0x3 0x1 0xffffffff 0xffffffff 0x0>; + bb_wake = <0x9e 0xc 0x4 0x1 0xffffffff 0xffffffff 0x0>; + bb_rf_dis = <0x9e 0xc 0x5 0x1 0xffffffff 0xffffffff 0x0>; + bb_rst = <0x9e 0xc 0x6 0x1 0xffffffff 0xffffffff 0x0>; + 3g_int; + }; + + gy_para { + device_type = "gy_para"; + compatible = "allwinner,sun50i-gyr_sensors-para"; + gy_used = <0x0>; + gy_twi_id = <0x2>; + gy_twi_addr = <0x6a>; + gy_int1 = <0x3a 0x0 0xa 0x6 0x1 0xffffffff 0xffffffff>; + gy_int2; + }; + + gy_list_para { + device_type = "gy_list_para"; + compatible = "allwinner,sun50i-gyr_sensors-list-para"; + gy_det_used = <0x0>; + lsm9ds0_gyr = <0x1>; + l3gd20_gyr = <0x0>; + bmg160_gyr = <0x1>; + }; + + ls_para { + device_type = "ls_para"; + compatible = "allwinner,sun50i-lsensors-para"; + ls_used = <0x0>; + ls_twi_id = <0x2>; + ls_twi_addr = <0x23>; + ls_int = <0x3a 0x0 0xc 0x6 0x1 0xffffffff 0xffffffff>; + }; + + ls_list_para { + device_type = "ls_list_para"; + compatible = "allwinner,sun50i-lsensors-list-para"; + ls_det_used = <0x0>; + ltr_501als = <0x1>; + jsa1212 = <0x0>; + jsa1127 = <0x1>; + }; + + compass_para { + device_type = "compass_para"; + compatible = "allwinner,sun50i-compass-para"; + compass_used = <0x0>; + compass_twi_id = <0x2>; + compass_twi_addr = <0xd>; + compass_int = <0x3a 0x0 0xb 0x6 0x1 0xffffffff 0xffffffff>; + }; + + compass_list_para { + device_type = "compass_list_para"; + compatible = "allwinner,sun50i-compass-list-para"; + compass_det_used = <0x0>; + lsm9ds0 = <0x1>; + lsm303d = <0x0>; + akm8963 = <0x1>; + }; + + s_rsb0 { + device_type = "s_rsb0"; + status = "okay"; + pinctrl-0 = <0xca>; + }; + + box_standby_led { + device_type = "box_standby_led"; + //gpio0 = <0x9e 0xb 0xa 0x1 0xffffffff 0xffffffff 0x1>; + //gpio1 = <0x3a 0x0 0x11 0x1 0xffffffff 0xffffffff 0x0>; + }; + }; + + aliases { + serial0 = "/soc@01c00000/uart@01c28000"; + serial1 = "/soc@01c00000/uart@01c28400"; + serial2 = "/soc@01c00000/uart@01c28800"; + serial3 = "/soc@01c00000/uart@01c28c00"; + twi0 = "/soc@01c00000/twi@0x01c2ac00"; + twi1 = "/soc@01c00000/twi@0x01c2b000"; + twi2 = "/soc@01c00000/twi@0x01c2b400"; + spi0 = "/soc@01c00000/spi@01c68000"; + spi1 = "/soc@01c00000/spi@01c69000"; + scr0 = "/soc@01c00000/smartcard@0x01c2c400"; + scr1 = "/soc@01c00000/smartcard@0x01c2c800"; + global_timer0 = "/soc@01c00000/timer@1c20c00"; + cci0 = "/soc@01c00000/cci@0x01cb3000"; + csi_res0 = "/soc@01c00000/csi_res@0x01cb0000"; + isp0 = "/soc@01c00000/isp@0x01cb8000"; + vfe0 = "/soc@01c00000/vfe@0"; + mmc0 = "/soc@01c00000/sdmmc@01c0f000"; + mmc2 = "/soc@01c00000/sdmmc@01C11000"; + nand0 = "/soc@01c00000/nand0@01c03000"; + disp = "/soc@01c00000/disp@01000000"; + lcd0 = "/soc@01c00000/lcd0@01c0c000"; + hdmi = "/soc@01c00000/hdmi@01ee0000"; + pwm = "/soc@01c00000/pwm@01c21400"; + pwm0 = "/soc@01c00000/pwm0@01c21400"; + tv0 = "/soc@01c00000/tv0@01c94000"; + s_pwm = "/soc@01c00000/s_pwm@1f03800"; + spwm0 = "/soc@01c00000/spwm0@0x01f03800"; + boot_disp = "/soc@01c00000/boot_disp"; + charger0 = "/soc@01c00000/pmu@0/charger@0"; + regulator0 = "/soc@01c00000/pmu@0/regulator@0"; + }; + + chosen { + bootargs = "earlyprintk=sunxi-uart,0x01c28000 loglevel=8 initcall_debug=1 console=ttyS0 init=/init"; + linux,initrd-start = <0x0 0x0>; + linux,initrd-end = <0x0 0x0>; + }; + + cpus { + #address-cells = <0x2>; + #size-cells = <0x0>; + + cpu@0 { + device_type = "cpu"; + compatible = "arm,cortex-a53", "arm,armv8"; + reg = <0x0 0x0>; + enable-method = "psci"; + cpufreq_tbl = <0x75300 0x9e340 0xafc80 0xc7380 0xdea80 0xf6180 0x10d880 0x119400 0x124f80>; + clock-latency = <0x1e8480>; + clock-frequency = <0x3c14dc00>; + cpu-idle-states = <0x96 0x97 0x98>; + }; + + cpu@1 { + device_type = "cpu"; + compatible = "arm,cortex-a53", "arm,armv8"; + reg = <0x0 0x1>; + enable-method = "psci"; + clock-frequency = <0x3c14dc00>; + cpu-idle-states = <0x96 0x97 0x98>; + }; + + cpu@2 { + device_type = "cpu"; + compatible = "arm,cortex-a53", "arm,armv8"; + reg = <0x0 0x2>; + enable-method = "psci"; + clock-frequency = <0x3c14dc00>; + cpu-idle-states = <0x96 0x97 0x98>; + }; + + cpu@3 { + device_type = "cpu"; + compatible = "arm,cortex-a53", "arm,armv8"; + reg = <0x0 0x3>; + enable-method = "psci"; + clock-frequency = <0x3c14dc00>; + cpu-idle-states = <0x96 0x97 0x98>; + }; + + idle-states { + entry-method = "arm,psci"; + + cpu-sleep-0 { + compatible = "arm,idle-state"; + arm,psci-suspend-param = <0x10000>; + entry-latency-us = <0x28>; + exit-latency-us = <0x64>; + min-residency-us = <0x96>; + linux,phandle = <0x96>; + phandle = <0x96>; + }; + + cluster-sleep-0 { + compatible = "arm,idle-state"; + arm,psci-suspend-param = <0x1010000>; + entry-latency-us = <0x1f4>; + exit-latency-us = <0x3e8>; + min-residency-us = <0x9c4>; + linux,phandle = <0x97>; + phandle = <0x97>; + }; + + sys-sleep-0 { + compatible = "arm,idle-state"; + arm,psci-suspend-param = <0x2010000>; + entry-latency-us = <0x3e8>; + exit-latency-us = <0x7d0>; + min-residency-us = <0x1194>; + linux,phandle = <0x98>; + phandle = <0x98>; + }; + }; + }; + + psci { + compatible = "arm,psci-0.2"; + method = "smc"; + psci_version = <0x84000000>; + cpu_suspend = <0xc4000001>; + cpu_off = <0x84000002>; + cpu_on = <0xc4000003>; + affinity_info = <0xc4000004>; + migrate = <0xc4000005>; + migrate_info_type = <0x84000006>; + migrate_info_up_cpu = <0xc4000007>; + system_off = <0x84000008>; + system_reset = <0x84000009>; + }; + + n_brom { + compatible = "allwinner,n-brom"; + reg = <0x0 0x0 0x0 0xc000>; + }; + + s_brom { + compatible = "allwinner,s-brom"; + reg = <0x0 0x0 0x0 0x10000>; + }; + + sram_ctrl { + device_type = "sram_ctrl"; + compatible = "allwinner,sram_ctrl"; + reg = <0x0 0x1c00000 0x0 0x100>; + }; + + sram_a1 { + compatible = "allwinner,sram_a1"; + reg = <0x0 0x10000 0x0 0x10000>; + }; + + sram_a2 { + compatible = "allwinner,sram_a2"; + reg = <0x0 0x40000 0x0 0x14000>; + }; + + prcm { + compatible = "allwinner,prcm"; + reg = <0x0 0x1f01400 0x0 0x400>; + }; + + cpuscfg { + compatible = "allwinner,cpuscfg"; + reg = <0x0 0x1f01c00 0x0 0x400>; + }; + + ion { + compatible = "allwinner,sunxi-ion"; + + system { + type = <0x0>; + }; + + system_contig { + type = <0x1>; + }; + + cma { + type = <0x4>; + }; + }; + + dram { + compatible = "allwinner,dram"; + clocks = <0x99>; + clock-names = "pll_ddr"; + dram_clk = <0x2a0>; + dram_type = <0x3>; + dram_zq = <0x3b3bf9>; + dram_odt_en = <0x1>; + dram_para1 = <0x10f410f4>; + dram_para2 = <0x0>; + dram_mr0 = <0x1840>; + dram_mr1 = <0x40>; + dram_mr2 = <0x18>; + dram_mr3 = <0x2>; + dram_tpr0 = <0x48a192>; + dram_tpr1 = <0x1b1a94b>; + dram_tpr2 = <0x61043>; + dram_tpr3 = <0xb4787896>; + dram_tpr4 = <0x0>; + dram_tpr5 = <0x0>; + dram_tpr6 = <0x64>; + dram_tpr7 = <0x1e08a1e0>; + dram_tpr8 = <0x0>; + dram_tpr9 = <0x0>; + dram_tpr10 = <0x2535>; + dram_tpr11 = <0x23330000>; + dram_tpr12 = <0x8897>; + dram_tpr13 = <0x4002990>; + device_type = "dram"; + }; + + memory@40000000 { + device_type = "memory"; + reg = <0x0 0x41000000 0x0 0x3f000000>; + }; + + interrupt-controller@1c81000 { + compatible = "arm,cortex-a15-gic", "arm,cortex-a9-gic"; + #interrupt-cells = <0x3>; + #address-cells = <0x0>; + device_type = "gic"; + interrupt-controller; + reg = <0x0 0x1c81000 0x0 0x1000 0x0 0x1c82000 0x0 0x2000 0x0 0x1c84000 0x0 0x2000 0x0 0x1c86000 0x0 0x2000>; + interrupts = <0x1 0x9 0xf04>; + linux,phandle = <0x1>; + phandle = <0x1>; + }; + + sunxi-sid@1c14000 { + compatible = "allwinner,sunxi-sid"; + device_type = "sid"; + reg = <0x0 0x1c14000 0x0 0x200>; + }; + + sunxi-chipid@1c14200 { + compatible = "allwinner,sunxi-chipid"; + device_type = "chipid"; + reg = <0x0 0x1c14200 0x0 0x200>; + }; + + timer { + compatible = "arm,armv8-timer"; + interrupts = <0x1 0xd 0xff01 0x1 0xe 0xff01 0x1 0xb 0xff01 0x1 0xa 0xff01>; + clock-frequency = <0x16e3600>; + }; + + pmu { + compatible = "arm,armv8-pmuv3"; + interrupts = <0x0 0x78 0x4 0x0 0x79 0x4 0x0 0x7a 0x4 0x0 0x7b 0x4>; + }; + + dvfs_table { + compatible = "allwinner,dvfs_table"; + max_freq = <0x3c14dc00>; + min_freq = <0x1c9c3800>; + lv_count = <0x8>; + lv1_freq = <0x44aa2000>; + lv1_volt = <0x44c>; + lv2_freq = <0x41cdb400>; + lv2_volt = <0x44c>; + lv3_freq = <0x3c14dc00>; + lv3_volt = <0x44c>; + lv4_freq = <0x30a32c00>; + lv4_volt = <0x44c>; + lv5_freq = "%1|"; + lv5_volt = <0x44c>; + lv6_freq = <0x0>; + lv6_volt = <0x44c>; + lv7_freq = <0x0>; + lv7_volt = <0x44c>; + lv8_freq = <0x0>; + lv8_volt = <0x44c>; + device_type = "dvfs_table"; + }; + + dramfreq { + compatible = "allwinner,sunxi-dramfreq"; + reg = <0x0 0x1c62000 0x0 0x1000 0x0 0x1c63000 0x0 0x1000 0x0 0x1c20000 0x0 0x800>; + interrupts = <0x0 0x45 0x4>; + clocks = <0x99 0x4 0x9a>; + status = "okay"; + }; + + uboot { + }; + + gpu@0x01E80000 { + compatible = "arm,mali-450", "arm,mali-utgard"; + reg = <0x0 0x1e80000 0x0 0x30000>; + interrupts = <0x0 0x60 0x4 0x0 0x61 0x4 0x0 0x63 0x4 0x0 0x64 0x4 0x0 0x65 0x4 0x0 0x66 0x4 0x0 0x67 0x4 0x0 0x68 0x4 0x0 0x69 0x4 0x0 0x6a 0x4 0x0 0x6b 0x4>; + interrupt-names = "IRQGP", "IRQGPMMU", "IRQPP", "IRQPP0", "IRQPPMMU0", "IRQPP1", "IRQPPMMU1", "IRQPP2", "IRQPPMMU2", "IRQPP3", "IRQPPMMU3"; + clocks = <0x9b 0x9c>; + device_type = "gpu_mali450_0"; + regulator_id = "vdd-gpu"; + dvfs_status = <0x0>; + temp_ctrl_status = <0x1>; + scene_ctrl_status = <0x1>; + max_level = <0x3>; + begin_level = <0x3>; + lv0_freq = <0x90>; + lv0_volt = <0x4b0>; + lv1_freq = <0x108>; + lv1_volt = <0x4b0>; + lv2_freq = <0x180>; + lv2_volt = <0x4b0>; + lv3_freq = <0x1c8>; + lv3_volt = <0x4b0>; + }; + + wlan { + compatible = "allwinner,sunxi-wlan"; + clocks = <0x9d>; + wlan_power = "vcc-wifi"; + wlan_io_regulator = "vcc-wifi-io"; + wlan_busnum = <0x1>; + status = "okay"; + device_type = "wlan"; + wlan_usbnum = <0x3>; + wlan_regon = <0x9e 0xb 0x7 0x1 0xffffffff 0xffffffff 0x0>; + wlan_hostwake = <0x3a 0x6 0xa 0x6 0xffffffff 0xffffffff 0x0>; + }; + + bt { + compatible = "allwinner,sunxi-bt"; + clocks = <0x9d>; + bt_power = "vcc-wifi"; + bt_io_regulator = "vcc-wifi-io"; + status = "disabled"; + device_type = "bt"; + bt_rst_n = <0x9e 0xb 0x1 0x1 0xffffffff 0xffffffff 0x0>; + }; + + btlpm { + compatible = "allwinner,sunxi-btlpm"; + uart_index = <0x1>; + status = "disabled"; + device_type = "btlpm"; + bt_wake = <0x3a 0x0 0xc 0x1 0xffffffff 0xffffffff 0x1>; + bt_hostwake = <0x9e 0xb 0x6 0x6 0xffffffff 0xffffffff 0x0>; + }; +}; diff --git a/external/packages/pack-uboot/sun50iw2/bin/dts/orangepizeroplus2h5-u-boot.dts b/external/packages/pack-uboot/sun50iw2/bin/dts/orangepizeroplus2h5-u-boot.dts new file mode 100755 index 000000000000..6a7c04c95bd7 --- /dev/null +++ b/external/packages/pack-uboot/sun50iw2/bin/dts/orangepizeroplus2h5-u-boot.dts @@ -0,0 +1,3693 @@ +/dts-v1/; + +/memreserve/ 0x0000000040020000 0x0000000000000800; +/memreserve/ 0x0000000048000000 0x0000000001000000; +/memreserve/ 0x0000000048100000 0x0000000000004000; +/memreserve/ 0x0000000048104000 0x0000000000001000; +/memreserve/ 0x0000000048105000 0x0000000000001000; +/ { + model = "Orange Pi Zero Plus 2 H5"; + compatible = "arm,sun50iw2p1"; + interrupt-parent = <0x1>; + #address-cells = <0x2>; + #size-cells = <0x2>; + + clocks { + compatible = "allwinner,sunxi-clk-init"; + device_type = "clocks"; + #address-cells = <0x2>; + #size-cells = <0x2>; + ranges; + reg = <0x0 0x1c20000 0x0 0x324 0x0 0x1f01400 0x0 0x1d4 0x0 0x1f00060 0x0 0x4>; + + losc { + #clock-cells = <0x0>; + compatible = "allwinner,fixed-clock"; + clock-frequency = <0x8000>; + clock-output-names = "losc"; + linux,phandle = <0xb>; + phandle = <0xb>; + }; + + iosc { + #clock-cells = <0x0>; + compatible = "allwinner,fixed-clock"; + clock-frequency = <0xf42400>; + clock-output-names = "iosc"; + linux,phandle = <0xc>; + phandle = <0xc>; + }; + + hosc { + #clock-cells = <0x0>; + compatible = "allwinner,fixed-clock"; + clock-frequency = <0x16e3600>; + clock-output-names = "hosc"; + linux,phandle = <0x6>; + phandle = <0x6>; + }; + + pll_cpu { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-pll-clock"; + lock-mode = "none"; + clock-output-names = "pll_cpu"; + }; + + pll_audio { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-pll-clock"; + lock-mode = "none"; + assigned-clock-rates = <0x1770000>; + clock-output-names = "pll_audio"; + linux,phandle = <0x2>; + phandle = <0x2>; + }; + + pll_video { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-pll-clock"; + lock-mode = "none"; + assigned-clock-rates = <0x11b3dc40>; + clock-output-names = "pll_video"; + linux,phandle = <0x3>; + phandle = <0x3>; + }; + + pll_ve { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-pll-clock"; + device_type = "clk_pll_ve"; + lock-mode = "none"; + assigned-clock-rates = <0x1908b100>; + clock-output-names = "pll_ve"; + linux,phandle = <0x15>; + phandle = <0x15>; + }; + + pll_ddr { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-pll-clock"; + lock-mode = "none"; + clock-output-names = "pll_ddr"; + linux,phandle = <0x99>; + phandle = <0x99>; + }; + + pll_periph0 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-pll-clock"; + lock-mode = "none"; + clock-output-names = "pll_periph0"; + linux,phandle = <0x4>; + phandle = <0x4>; + }; + + pll_periph1 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-pll-clock"; + lock-mode = "none"; + clock-output-names = "pll_periph1"; + linux,phandle = <0x5>; + phandle = <0x5>; + }; + + pll_gpu { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-pll-clock"; + lock-mode = "none"; + clock-output-names = "pll_gpu"; + linux,phandle = <0x9b>; + phandle = <0x9b>; + }; + + pll_de { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-pll-clock"; + lock-mode = "none"; + assigned-clock-rates = <0x337f9800>; + clock-output-names = "pll_de"; + linux,phandle = <0x7>; + phandle = <0x7>; + }; + + pll_audiox8 { + #clock-cells = <0x0>; + compatible = "allwinner,fixed-factor-clock"; + clocks = <0x2>; + clock-mult = <0x8>; + clock-div = <0x1>; + clock-output-names = "pll_audiox8"; + }; + + pll_audiox4 { + #clock-cells = <0x0>; + compatible = "allwinner,fixed-factor-clock"; + clocks = <0x2>; + clock-mult = <0x8>; + clock-div = <0x2>; + clock-output-names = "pll_audiox4"; + }; + + pll_audiox2 { + #clock-cells = <0x0>; + compatible = "allwinner,fixed-factor-clock"; + clocks = <0x2>; + clock-mult = <0x8>; + clock-div = <0x4>; + clock-output-names = "pll_audiox2"; + }; + + pll_videox2 { + #clock-cells = <0x0>; + compatible = "allwinner,fixed-factor-clock"; + clocks = <0x3>; + clock-mult = <0x2>; + clock-div = <0x1>; + clock-output-names = "pll_videox2"; + }; + + pll_periph0x2 { + #clock-cells = <0x0>; + compatible = "allwinner,fixed-factor-clock"; + clocks = <0x4>; + clock-mult = <0x2>; + clock-div = <0x1>; + clock-output-names = "pll_periph0x2"; + }; + + pll_periph1x2 { + #clock-cells = <0x0>; + compatible = "allwinner,fixed-factor-clock"; + clocks = <0x5>; + clock-mult = <0x2>; + clock-div = <0x1>; + clock-output-names = "pll_periph1x2"; + linux,phandle = <0x53>; + phandle = <0x53>; + }; + + pll_periph0d2 { + #clock-cells = <0x0>; + compatible = "allwinner,fixed-factor-clock"; + clocks = <0x4>; + clock-mult = <0x1>; + clock-div = <0x2>; + clock-output-names = "pll_periph0d2"; + }; + + hoscd2 { + #clock-cells = <0x0>; + compatible = "allwinner,fixed-factor-clock"; + clocks = <0x6>; + clock-mult = <0x1>; + clock-div = <0x2>; + clock-output-names = "hoscd2"; + }; + + hoscx2 { + #clock-cells = <0x0>; + compatible = "allwinner,fixed-factor-clock"; + clocks = <0x6>; + clock-mult = <0x2>; + clock-div = <0x1>; + clock-output-names = "hoscx2"; + }; + + cpu { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "cpu"; + }; + + cpuapb { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "cpuapb"; + }; + + axi { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "axi"; + }; + + pll_periphahb0 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "pll_periphahb0"; + }; + + ahb1 { + #clock-cells = <0x0>; + assigned-clock-rates = <0xbebc200>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "ahb1"; + linux,phandle = <0x9a>; + phandle = <0x9a>; + }; + + apb1 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "apb1"; + }; + + apb2 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "apb2"; + linux,phandle = <0x74>; + phandle = <0x74>; + }; + + ahb2 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "ahb2"; + }; + + ths { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "ths"; + linux,phandle = <0x89>; + phandle = <0x89>; + }; + + nand { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "nand"; + linux,phandle = <0x7c>; + phandle = <0x7c>; + }; + + sdmmc0_mod { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "sdmmc0_mod"; + linux,phandle = <0x59>; + phandle = <0x59>; + }; + + sdmmc0_bus { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "sdmmc0_bus"; + linux,phandle = <0x5a>; + phandle = <0x5a>; + }; + + sdmmc0_rst { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "sdmmc0_rst"; + linux,phandle = <0x5b>; + phandle = <0x5b>; + }; + + sdmmc1_mod { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "sdmmc1_mod"; + linux,phandle = <0x5e>; + phandle = <0x5e>; + }; + + sdmmc1_bus { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "sdmmc1_bus"; + linux,phandle = <0x5f>; + phandle = <0x5f>; + }; + + sdmmc1_rst { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "sdmmc1_rst"; + linux,phandle = <0x60>; + phandle = <0x60>; + }; + + sdmmc2_mod { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "sdmmc2_mod"; + linux,phandle = <0x54>; + phandle = <0x54>; + }; + + sdmmc2_bus { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "sdmmc2_bus"; + linux,phandle = <0x55>; + phandle = <0x55>; + }; + + sdmmc2_rst { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "sdmmc2_rst"; + linux,phandle = <0x56>; + phandle = <0x56>; + }; + + ts { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "ts"; + linux,phandle = <0x80>; + phandle = <0x80>; + }; + + ce { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "ce"; + linux,phandle = <0x71>; + phandle = <0x71>; + }; + + spi0 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "spi0"; + linux,phandle = <0x4b>; + phandle = <0x4b>; + }; + + spi1 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "spi1"; + linux,phandle = <0x4f>; + phandle = <0x4f>; + }; + + i2s0 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "i2s0"; + linux,phandle = <0x3b>; + phandle = <0x3b>; + }; + + i2s1 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "i2s1"; + linux,phandle = <0x40>; + phandle = <0x40>; + }; + + i2s2 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "i2s2"; + linux,phandle = <0x41>; + phandle = <0x41>; + }; + + spdif { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "spdif"; + linux,phandle = <0x42>; + phandle = <0x42>; + }; + + usbphy0 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "usbphy0"; + linux,phandle = <0x2c>; + phandle = <0x2c>; + }; + + usbphy1 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "usbphy1"; + linux,phandle = <0x30>; + phandle = <0x30>; + }; + + usbphy2 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "usbphy2"; + linux,phandle = <0x33>; + phandle = <0x33>; + }; + + usbphy3 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "usbphy3"; + linux,phandle = <0x36>; + phandle = <0x36>; + }; + + usbohci0 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "usbohci0"; + linux,phandle = <0x2f>; + phandle = <0x2f>; + }; + + usbohci1 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "usbohci1"; + linux,phandle = <0x32>; + phandle = <0x32>; + }; + + usbohci2 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "usbohci2"; + linux,phandle = <0x35>; + phandle = <0x35>; + }; + + usbohci3 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "usbohci3"; + linux,phandle = <0x38>; + phandle = <0x38>; + }; + + de { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + assigned-clock-parents = <0x7>; + assigned-clock-rates = <0x19bfcc00>; + clock-output-names = "de"; + linux,phandle = <0x63>; + phandle = <0x63>; + }; + + tcon0 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + assigned-clock-parents = <0x3>; + clock-output-names = "tcon0"; + linux,phandle = <0x64>; + phandle = <0x64>; + }; + + tcon1 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "tcon1"; + linux,phandle = <0x65>; + phandle = <0x65>; + }; + + tve { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + assigned-clock-parents = <0x7>; + clock-output-names = "tve"; + linux,phandle = <0x68>; + phandle = <0x68>; + }; + + deinterlace { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "deinterlace"; + linux,phandle = <0x72>; + phandle = <0x72>; + }; + + csi_s { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "csi_s"; + linux,phandle = <0x6b>; + phandle = <0x6b>; + }; + + csi_m { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "csi_m"; + linux,phandle = <0x6c>; + phandle = <0x6c>; + }; + + csi_misc { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "csi_misc"; + linux,phandle = <0x6d>; + phandle = <0x6d>; + }; + + ve { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "ve"; + linux,phandle = <0x16>; + phandle = <0x16>; + }; + + adda { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "adda"; + linux,phandle = <0x39>; + phandle = <0x39>; + }; + + avs { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "avs"; + }; + + hdmi { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + assigned-clock-parents = <0x3>; + clock-output-names = "hdmi"; + linux,phandle = <0x66>; + phandle = <0x66>; + }; + + hdmi_slow { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "hdmi_slow"; + linux,phandle = <0x67>; + phandle = <0x67>; + }; + + mbus { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "mbus"; + }; + + gpu { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "gpu"; + linux,phandle = <0x9c>; + phandle = <0x9c>; + }; + + usbehci0 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "usbehci0"; + linux,phandle = <0x2e>; + phandle = <0x2e>; + }; + + usbehci1 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "usbehci1"; + linux,phandle = <0x31>; + phandle = <0x31>; + }; + + usbehci2 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "usbehci2"; + linux,phandle = <0x34>; + phandle = <0x34>; + }; + + usbehci3 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "usbehci3"; + linux,phandle = <0x37>; + phandle = <0x37>; + }; + + usbotg { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "usbotg"; + linux,phandle = <0x2d>; + phandle = <0x2d>; + }; + + gmac { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "gmac"; + linux,phandle = <0x94>; + phandle = <0x94>; + }; + + ephy { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "ephy"; + linux,phandle = <0x95>; + phandle = <0x95>; + }; + + sdram { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "sdram"; + }; + + dma { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "dma"; + linux,phandle = <0xa>; + phandle = <0xa>; + }; + + hwspinlock_rst { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "hwspinlock_rst"; + linux,phandle = <0xe>; + phandle = <0xe>; + }; + + hwspinlock_bus { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "hwspinlock_bus"; + linux,phandle = <0xf>; + phandle = <0xf>; + }; + + msgbox { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "msgbox"; + linux,phandle = <0xd>; + phandle = <0xd>; + }; + + uart0 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "uart0"; + linux,phandle = <0x17>; + phandle = <0x17>; + }; + + uart1 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "uart1"; + linux,phandle = <0x1a>; + phandle = <0x1a>; + }; + + uart2 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "uart2"; + linux,phandle = <0x1d>; + phandle = <0x1d>; + }; + + uart3 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "uart3"; + linux,phandle = <0x20>; + phandle = <0x20>; + }; + + scr0 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "scr0"; + linux,phandle = <0x73>; + phandle = <0x73>; + }; + + scr1 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "scr1"; + linux,phandle = <0x78>; + phandle = <0x78>; + }; + + twi0 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "twi0"; + linux,phandle = <0x23>; + phandle = <0x23>; + }; + + twi1 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "twi1"; + linux,phandle = <0x26>; + phandle = <0x26>; + }; + + twi2 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "twi2"; + linux,phandle = <0x29>; + phandle = <0x29>; + }; + + pio { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-clock"; + clock-output-names = "pio"; + linux,phandle = <0x9>; + phandle = <0x9>; + }; + + cpurcir { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-cpus-clock"; + clock-output-names = "cpurcir"; + linux,phandle = <0x11>; + phandle = <0x11>; + }; + + cpurpio { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-cpus-clock"; + clock-output-names = "cpurpio"; + linux,phandle = <0x8>; + phandle = <0x8>; + }; + + cpurpll_peri0 { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-cpus-clock"; + clock-output-names = "cpurpll_peri0"; + }; + + cpurcpus { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-cpus-clock"; + clock-output-names = "cpurcpus"; + }; + + cpurahbs { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-cpus-clock"; + clock-output-names = "cpurahbs"; + }; + + cpurapbs { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-cpus-clock"; + clock-output-names = "cpurapbs"; + }; + + losc_out { + #clock-cells = <0x0>; + compatible = "allwinner,sunxi-periph-cpus-clock"; + clock-output-names = "losc_out"; + linux,phandle = <0x9d>; + phandle = <0x9d>; + }; + }; + + soc@01c00000 { + compatible = "simple-bus"; + #address-cells = <0x2>; + #size-cells = <0x2>; + ranges; + device_type = "soc"; + + pinctrl@01f02c00 { + compatible = "allwinner,sun50iw2p1-r-pinctrl"; + reg = <0x0 0x1f02c00 0x0 0x400>; + interrupts = <0x0 0x2d 0x4>; + clocks = <0x8>; + device_type = "r_pio"; + gpio-controller; + interrupt-controller; + #interrupt-cells = <0x2>; + #size-cells = <0x0>; + #gpio-cells = <0x6>; + linux,phandle = <0x9e>; + phandle = <0x9e>; + + s_twi0@0 { + allwinner,pins = "PL0", "PL1"; + allwinner,function = "s_twi0"; + allwinner,muxsel = <0x2>; + allwinner,drive = <0x2>; + allwinner,pull = <0x1>; + linux,phandle = <0x13>; + phandle = <0x13>; + }; + + s_cir0@0 { + allwinner,pins = "PL11"; + allwinner,function = "s_cir0"; + allwinner,muxsel = <0x2>; + allwinner,drive = <0x2>; + allwinner,pull = <0x1>; + linux,phandle = <0x10>; + phandle = <0x10>; + }; + + twi_para@0 { + linux,phandle = <0xa2>; + phandle = <0xa2>; + allwinner,pins = "PL0", "PL1"; + allwinner,function = "twi_para"; + allwinner,pname = "twi_scl", "twi_sda"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0xffffffff>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + pwm16@0 { + linux,phandle = <0xc3>; + phandle = <0xc3>; + allwinner,pins = "PL10"; + allwinner,function = "pwm16"; + allwinner,pname = "pwm_positive"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0x0>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + pwm16@1 { + linux,phandle = <0xc4>; + phandle = <0xc4>; + allwinner,pins = "PL10"; + allwinner,function = "pwm16"; + allwinner,pname = "pwm_positive"; + allwinner,muxsel = <0x7>; + allwinner,pull = <0x0>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + s_uart0@0 { + linux,phandle = <0xc9>; + phandle = <0xc9>; + allwinner,pins = "PL2", "PL3"; + allwinner,function = "s_uart0"; + allwinner,pname = "s_uart0_tx", "s_uart0_rx"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0xffffffff>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + s_rsb0@0 { + linux,phandle = <0xca>; + phandle = <0xca>; + allwinner,pins = "PL0", "PL1"; + allwinner,function = "s_rsb0"; + allwinner,pname = "s_rsb0_sck", "s_rsb0_sda"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0x1>; + allwinner,drive = <0x2>; + allwinner,data = <0xffffffff>; + }; + + s_jtag0@0 { + linux,phandle = <0xcb>; + phandle = <0xcb>; + allwinner,pins = "PL4", "PL5", "PL6", "PL7"; + allwinner,function = "s_jtag0"; + allwinner,pname = "s_jtag0_tms", "s_jtag0_tck", "s_jtag0_tdo", "s_jtag0_tdi"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0x1>; + allwinner,drive = <0x2>; + allwinner,data = <0xffffffff>; + }; + }; + + pinctrl@01c20800 { + compatible = "allwinner,sun50iw2p1-pinctrl"; + reg = <0x0 0x1c20800 0x0 0x400>; + interrupts = <0x0 0xb 0x4 0x0 0x11 0x4 0x0 0x17 0x4>; + device_type = "pio"; + clocks = <0x9>; + gpio-controller; + interrupt-controller; + #interrupt-cells = <0x2>; + #size-cells = <0x0>; + #gpio-cells = <0x6>; + linux,phandle = <0x3a>; + phandle = <0x3a>; + + ts0@0 { + allwinner,pins = "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11"; + allwinner,pname = "ts0_clk", "ts0_err", "ts0_sync", "ts0_dvld", "ts0_d0", "ts0_d1", "ts0_d2", "ts0_d3", "ts0_d4", "ts0_d5", "ts0_d6", "ts0_d7"; + allwinner,function = "ts0"; + allwinner,muxsel = <0x3>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x81>; + phandle = <0x81>; + }; + + ts0_sleep@0 { + allwinner,pins = "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11"; + allwinner,pname = "ts0_clk", "ts0_err", "ts0_sync", "ts0_dvld", "ts0_d0", "ts0_d1", "ts0_d2", "ts0_d3", "ts0_d4", "ts0_d5", "ts0_d6", "ts0_d7"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x85>; + phandle = <0x85>; + }; + + ts1@0 { + allwinner,pins = "PE7", "PE8", "PE9", "PE10", "PE11"; + allwinner,pname = "ts1_clk", "ts1_err", "ts1_sync", "ts1_dvld", "ts1_d0"; + allwinner,function = "ts1"; + allwinner,muxsel = <0x4>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x82>; + phandle = <0x82>; + }; + + ts1_sleep@0 { + allwinner,pins = "PE7", "PE8", "PE9", "PE10", "PE11"; + allwinner,pname = "ts1_clk", "ts1_err", "ts1_sync", "ts1_dvld", "ts1_d0"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x86>; + phandle = <0x86>; + }; + + ts2@0 { + allwinner,pins = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11"; + allwinner,pname = "ts2_clk", "ts2_err", "ts2_sync", "ts2_dvld", "ts2_d0", "ts2_d1", "ts2_d2", "ts2_d3", "ts2_d4", "ts2_d5", "ts2_d6", "ts2_d7"; + allwinner,function = "ts2"; + allwinner,muxsel = <0x4>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x83>; + phandle = <0x83>; + }; + + ts2_sleep@0 { + allwinner,pins = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11"; + allwinner,pname = "ts2_clk", "ts2_err", "ts2_sync", "ts2_dvld", "ts2_d0", "ts2_d1", "ts2_d2", "ts2_d3", "ts2_d4", "ts2_d5", "ts2_d6", "ts2_d7"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x87>; + phandle = <0x87>; + }; + + ts3@0 { + allwinner,pins = "PD7", "PD8", "PD9", "PD10", "PD11"; + allwinner,pname = "ts3_clk", "ts3_err", "ts3_sync", "ts3_dvld", "ts3_d0"; + allwinner,function = "ts3"; + allwinner,muxsel = <0x5>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x84>; + phandle = <0x84>; + }; + + ts3_sleep@0 { + allwinner,pins = "PD7", "PD8", "PD9", "PD10", "PD11"; + allwinner,pname = "ts3_clk", "ts3_err", "ts3_sync", "ts3_dvld", "ts3_d0"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x88>; + phandle = <0x88>; + }; + + sdc0@1 { + allwinner,pins = "PF0", "PF1", "PF2", "PF3", "PF4", "PF5"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,drive = <0x1>; + allwinner,pull = <0x1>; + linux,phandle = <0x5d>; + phandle = <0x5d>; + }; + + sdc1@1 { + allwinner,pins = "PG0", "PG1", "PG2", "PG3", "PG4", "PG5"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,drive = <0x1>; + allwinner,pull = <0x1>; + linux,phandle = <0x62>; + phandle = <0x62>; + }; + + sdc2@1 { + allwinner,pins = "PC1", "PC5", "PC6", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PC16"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,drive = <0x1>; + allwinner,pull = <0x1>; + linux,phandle = <0x58>; + phandle = <0x58>; + }; + + daudio0@0 { + allwinner,pins = "PA20", "PA6", "PA18", "PA19", "PA21"; + allwinner,function = "pcm0"; + allwinner,muxsel = <0x3>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x3c>; + phandle = <0x3c>; + }; + + daudio0_sleep@0 { + allwinner,pins = "PA20", "PA6", "PA18", "PA19", "PA21"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x3d>; + phandle = <0x3d>; + }; + + daudio1@0 { + allwinner,pins = "PG10", "PG11", "PG12", "PG13"; + allwinner,function = "pcm1"; + allwinner,muxsel = <0x2>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x3e>; + phandle = <0x3e>; + }; + + daudio1_sleep@0 { + allwinner,pins = "PG10", "PG11", "PG12", "PG13"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x3f>; + phandle = <0x3f>; + }; + + spdif@0 { + allwinner,pins = "PA17"; + allwinner,function = "spdif0"; + allwinner,muxsel = <0x2>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x43>; + phandle = <0x43>; + }; + + spdif_sleep@0 { + allwinner,pins = "PA17"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x44>; + phandle = <0x44>; + }; + + csi0_sleep@0 { + allwinner,pins = "PE0", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13"; + allwinner,pname = "csi0_pck", "csi0_hsync", "csi0_vsync", "csi0_d0", "csi0_d1", "csi0_d2", "csi0_d3", "csi0_d4", "csi0_d5", "csi0_d6", "csi0_d7", "csi0_sck", "csi0_sda"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + allwinner,data = <0x0>; + linux,phandle = <0x6f>; + phandle = <0x6f>; + }; + + scr0@0 { + allwinner,pins = "PA9", "PA10", "PA6", "PA7", "PA8"; + allwinner,pname = "scr0_rst", "scr0_det", "scr0_vccen", "scr0_sck", "scr0_sda"; + allwinner,function = "sim0"; + allwinner,muxsel = <0x2>; + allwinner,drive = <0x1>; + allwinner,pull = <0x1>; + linux,phandle = <0x75>; + phandle = <0x75>; + }; + + scr0@1 { + allwinner,pins = "PA20", "PA21"; + allwinner,pname = "scr0_vppen", "scr0_vppp"; + allwinner,function = "sim0"; + allwinner,muxsel = <0x3>; + allwinner,drive = <0x1>; + allwinner,pull = <0x1>; + linux,phandle = <0x76>; + phandle = <0x76>; + }; + + scr0@2 { + allwinner,pins = "PA9", "PA10", "PA6", "PA7", "PA8", "PA20", "PA21"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x77>; + phandle = <0x77>; + }; + + scr1@0 { + allwinner,pins = "PD15", "PD16", "PD12", "PD13", "PD14"; + allwinner,pname = "scr1_rst", "scr1_det", "scr1_vccen", "scr1_sck", "scr1_sda"; + allwinner,function = "sim1"; + allwinner,muxsel = <0x4>; + allwinner,drive = <0x1>; + allwinner,pull = <0x1>; + linux,phandle = <0x79>; + phandle = <0x79>; + }; + + scr1@1 { + allwinner,pins = "PE14", "PE15"; + allwinner,pname = "scr1_vppen", "scr1_vppp"; + allwinner,function = "sim1"; + allwinner,muxsel = <0x3>; + allwinner,drive = <0x1>; + allwinner,pull = <0x1>; + linux,phandle = <0x7a>; + phandle = <0x7a>; + }; + + scr1@2 { + allwinner,pins = "PD15", "PD16", "PD12", "PD13", "PD14", "PE14", "PE15"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x7b>; + phandle = <0x7b>; + }; + + nand0@2 { + allwinner,pins = "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PC16", "PC17", "PC18"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x7f>; + phandle = <0x7f>; + }; + + gmac@0 { + allwinner,pins = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD7", "PD8", "PD9", "PD10", "PD12", "PD13", "PD15", "PD16", "PD17"; + allwinner,function = "gmac0"; + allwinner,muxsel = <0x2>; + allwinner,drive = <0x3>; + allwinner,pull = <0x0>; + linux,phandle = <0x93>; + phandle = <0x93>; + }; + + card0_boot_para@0 { + linux,phandle = <0x9f>; + phandle = <0x9f>; + allwinner,pins = "PF0", "PF1", "PF2", "PF3", "PF4", "PF5"; + allwinner,function = "card0_boot_para"; + allwinner,pname = "sdc_d1", "sdc_d0", "sdc_clk", "sdc_cmd", "sdc_d3", "sdc_d2"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0x1>; + allwinner,drive = <0x2>; + allwinner,data = <0xffffffff>; + }; + + card2_boot_para@0 { + linux,phandle = <0xa0>; + phandle = <0xa0>; + allwinner,pins = "PC1"; + allwinner,function = "card2_boot_para"; + allwinner,pname = "sdc_ds"; + allwinner,muxsel = <0x4>; + allwinner,pull = <0x1>; + allwinner,drive = <0x3>; + allwinner,data = <0xffffffff>; + }; + + card2_boot_para@1 { + linux,phandle = <0xa1>; + phandle = <0xa1>; + allwinner,pins = "PC5", "PC6", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PC16"; + allwinner,function = "card2_boot_para"; + allwinner,pname = "sdc_clk", "sdc_cmd", "sdc_d0", "sdc_d1", "sdc_d2", "sdc_d3", "sdc_d4", "sdc_d5", "sdc_d6", "sdc_d7", "sdc_emmc_rst"; + allwinner,muxsel = <0x3>; + allwinner,pull = <0x1>; + allwinner,drive = <0x3>; + allwinner,data = <0xffffffff>; + }; + + uart_para@0 { + linux,phandle = <0xa3>; + phandle = <0xa3>; + allwinner,pins = "PA4", "PA5"; + allwinner,function = "uart_para"; + allwinner,pname = "uart_debug_tx", "uart_debug_rx"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0x1>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + jtag_para@0 { + linux,phandle = <0xa4>; + phandle = <0xa4>; + allwinner,pins = "PB0", "PB1", "PB2", "PB3"; + allwinner,function = "jtag_para"; + allwinner,pname = "jtag_ms", "jtag_ck", "jtag_do", "jtag_di"; + allwinner,muxsel = <0x4>; + allwinner,pull = <0xffffffff>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + twi0@0 { + linux,phandle = <0xa5>; + phandle = <0xa5>; + allwinner,pins = "PA11", "PA12"; + allwinner,function = "twi0"; + allwinner,pname = "twi0_scl", "twi0_sda"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0xffffffff>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + twi0@1 { + linux,phandle = <0xa6>; + phandle = <0xa6>; + allwinner,pins = "PA11", "PA12"; + allwinner,function = "twi0"; + allwinner,pname = "twi0_scl", "twi0_sda"; + allwinner,muxsel = <0x7>; + allwinner,pull = <0xffffffff>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + twi1@0 { + linux,phandle = <0xa7>; + phandle = <0xa7>; + allwinner,pins = "PA18", "PA19"; + allwinner,function = "twi1"; + allwinner,pname = "twi1_scl", "twi1_sda"; + allwinner,muxsel = <0x3>; + allwinner,pull = <0xffffffff>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + twi1@1 { + linux,phandle = <0xa8>; + phandle = <0xa8>; + allwinner,pins = "PA18", "PA19"; + allwinner,function = "twi1"; + allwinner,pname = "twi1_scl", "twi1_sda"; + allwinner,muxsel = <0x7>; + allwinner,pull = <0xffffffff>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + twi2@0 { + linux,phandle = <0xa9>; + phandle = <0xa9>; + allwinner,pins = "PE12", "PE13"; + allwinner,function = "twi2"; + allwinner,pname = "twi2_scl", "twi2_sda"; + allwinner,muxsel = <0x3>; + allwinner,pull = <0xffffffff>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + twi2@1 { + linux,phandle = <0xaa>; + phandle = <0xaa>; + allwinner,pins = "PE12", "PE13"; + allwinner,function = "twi2"; + allwinner,pname = "twi2_scl", "twi2_sda"; + allwinner,muxsel = <0x7>; + allwinner,pull = <0xffffffff>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + uart0@0 { + linux,phandle = <0xab>; + phandle = <0xab>; + allwinner,pins = "PA4", "PA5"; + allwinner,function = "uart0"; + allwinner,pname = "uart0_tx", "uart0_rx"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0x1>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + uart0@1 { + linux,phandle = <0xac>; + phandle = <0xac>; + allwinner,pins = "PA4", "PA5"; + allwinner,function = "uart0"; + allwinner,pname = "uart0_tx", "uart0_rx"; + allwinner,muxsel = <0x7>; + allwinner,pull = <0x1>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + uart1@0 { + linux,phandle = <0xad>; + phandle = <0xad>; + allwinner,pins = "PG6", "PG7", "PG8", "PG9"; + allwinner,function = "uart1"; + allwinner,pname = "uart1_tx", "uart1_rx", "uart1_rts", "uart1_cts"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0x1>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + uart1@1 { + linux,phandle = <0xae>; + phandle = <0xae>; + allwinner,pins = "PG6", "PG7", "PG8", "PG9"; + allwinner,function = "uart1"; + allwinner,pname = "uart1_tx", "uart1_rx", "uart1_rts", "uart1_cts"; + allwinner,muxsel = <0x7>; + allwinner,pull = <0x1>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + uart2@0 { + linux,phandle = <0xaf>; + phandle = <0xaf>; + allwinner,pins = "PA0", "PA1", "PA2", "PA3"; + allwinner,function = "uart2"; + allwinner,pname = "uart2_tx", "uart2_rx", "uart2_rts", "uart2_cts"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0x1>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + uart2@1 { + linux,phandle = <0xb0>; + phandle = <0xb0>; + allwinner,pins = "PA0", "PA1", "PA2", "PA3"; + allwinner,function = "uart2"; + allwinner,pname = "uart2_tx", "uart2_rx", "uart2_rts", "uart2_cts"; + allwinner,muxsel = <0x7>; + allwinner,pull = <0x1>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + uart3@0 { + linux,phandle = <0xb1>; + phandle = <0xb1>; + allwinner,pins = "PA13", "PA14", "PA15", "PA16"; + allwinner,function = "uart3"; + allwinner,pname = "uart3_tx", "uart3_rx", "uart3_rts", "uart3_cts"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0x1>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + uart3@1 { + linux,phandle = <0xb2>; + phandle = <0xb2>; + allwinner,pins = "PA13", "PA14", "PA15", "PA16"; + allwinner,function = "uart3"; + allwinner,pname = "uart3_tx", "uart3_rx", "uart3_rts", "uart3_cts"; + allwinner,muxsel = <0x7>; + allwinner,pull = <0x1>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + spi0@0 { + linux,phandle = <0xb3>; + phandle = <0xb3>; + allwinner,pins = "PC3"; + allwinner,function = "spi0"; + allwinner,pname = "spi0_cs0"; + allwinner,muxsel = <0x3>; + allwinner,pull = <0x1>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + spi0@1 { + linux,phandle = <0xb4>; + phandle = <0xb4>; + allwinner,pins = "PC2", "PC0"; + allwinner,function = "spi0"; + allwinner,pname = "spi0_sclk", "spi0_mosi"; + allwinner,muxsel = <0x3>; + allwinner,pull = <0xffffffff>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + spi0@3 { + linux,phandle = <0xb5>; + phandle = <0xb5>; + allwinner,pins = "PC1"; + allwinner,function = "spi0"; + allwinner,pname = "spi0_miso"; + allwinner,muxsel = <0x4>; + allwinner,pull = <0xffffffff>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + spi0@2 { + linux,phandle = <0xb6>; + phandle = <0xb6>; + allwinner,pins = "PC3"; + allwinner,function = "spi0"; + allwinner,pname = "spi0_cs0"; + allwinner,muxsel = <0x7>; + allwinner,pull = <0x1>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + spi0@4 { + linux,phandle = <0xb7>; + phandle = <0xb7>; + allwinner,pins = "PC2", "PC0", "PC1"; + allwinner,function = "spi0"; + allwinner,pname = "spi0_sclk", "spi0_mosi", "spi0_miso"; + allwinner,muxsel = <0x7>; + allwinner,pull = <0xffffffff>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + spi1@0 { + linux,phandle = <0xb8>; + phandle = <0xb8>; + allwinner,pins = "PA13"; + allwinner,function = "spi1"; + allwinner,pname = "spi1_cs0"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0x1>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + spi1@1 { + linux,phandle = <0xb9>; + phandle = <0xb9>; + allwinner,pins = "PA14", "PA15", "PA16"; + allwinner,function = "spi1"; + allwinner,pname = "spi1_sclk", "spi1_mosi", "spi1_miso"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0xffffffff>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + spi1@2 { + linux,phandle = <0xba>; + phandle = <0xba>; + allwinner,pins = "PA13"; + allwinner,function = "spi1"; + allwinner,pname = "spi1_cs0"; + allwinner,muxsel = <0x7>; + allwinner,pull = <0x1>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + spi1@3 { + linux,phandle = <0xbb>; + phandle = <0xbb>; + allwinner,pins = "PA14", "PA15", "PA16"; + allwinner,function = "spi1"; + allwinner,pname = "spi1_sclk", "spi1_mosi", "spi1_miso"; + allwinner,muxsel = <0x7>; + allwinner,pull = <0xffffffff>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + nand0@0 { + linux,phandle = <0xbd>; + phandle = <0xbd>; + allwinner,pins = "PC0", "PC1", "PC2", "PC5", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PC16"; + allwinner,function = "nand0"; + allwinner,pname = "nand0_we", "nand0_ale", "nand0_cle", "nand0_nre", "nand0_d0", "nand0_d1", "nand0_d2", "nand0_d3", "nand0_d4", "nand0_d5", "nand0_d6", "nand0_d7", "nand0_ndqs"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0x0>; + allwinner,drive = <0x1>; + allwinner,data = <0xffffffff>; + }; + + nand0@1 { + linux,phandle = <0xbe>; + phandle = <0xbe>; + allwinner,pins = "PC3", "PC4", "PC6", "PC7", "PC17", "PC18"; + allwinner,function = "nand0"; + allwinner,pname = "nand0_ce1", "nand0_ce0", "nand0_rb0", "nand0_rb1", "nand0_ce2", "nand0_ce3"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0x1>; + allwinner,drive = <0x1>; + allwinner,data = <0xffffffff>; + }; + + lcd0@0 { + linux,phandle = <0xbf>; + phandle = <0xbf>; + allwinner,pins = "PD12", "PD13", "PD14", "PD15", "PD16", "PD17", "PD18", "PD19", "PD20", "PD21"; + allwinner,function = "lcd0"; + allwinner,pname = "lcdd0", "lcdd1", "lcdd2", "lcdd3", "lcdd4", "lcdd5", "lcdd6", "lcdd7", "lcdd8", "lcdd9"; + allwinner,muxsel = <0x3>; + allwinner,pull = <0x0>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + lcd0@1 { + linux,phandle = <0xc0>; + phandle = <0xc0>; + allwinner,pins = "PD12", "PD13", "PD14", "PD15", "PD16", "PD17", "PD18", "PD19", "PD20", "PD21"; + allwinner,function = "lcd0"; + allwinner,pname = "lcdd0", "lcdd1", "lcdd2", "lcdd3", "lcdd4", "lcdd5", "lcdd6", "lcdd7", "lcdd8", "lcdd9"; + allwinner,muxsel = <0x7>; + allwinner,pull = <0x0>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + pwm0@0 { + linux,phandle = <0xc1>; + phandle = <0xc1>; + allwinner,pins = "PD22"; + allwinner,function = "pwm0"; + allwinner,pname = "pwm_positive"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0x0>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + pwm0@1 { + linux,phandle = <0xc2>; + phandle = <0xc2>; + allwinner,pins = "PD22"; + allwinner,function = "pwm0"; + allwinner,pname = "pwm_positive"; + allwinner,muxsel = <0x7>; + allwinner,pull = <0x0>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + csi0@0 { + linux,phandle = <0xc5>; + phandle = <0xc5>; + allwinner,pins = "PE0", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13"; + allwinner,function = "csi0"; + allwinner,pname = "csi0_pck", "csi0_hsync", "csi0_vsync", "csi0_d0", "csi0_d1", "csi0_d2", "csi0_d3", "csi0_d4", "csi0_d5", "csi0_d6", "csi0_d7", "csi0_sck", "csi0_sda"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0xffffffff>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + sdc0@0 { + linux,phandle = <0xc6>; + phandle = <0xc6>; + allwinner,pins = "PF0", "PF1", "PF2", "PF3", "PF4", "PF5"; + allwinner,function = "sdc0"; + allwinner,pname = "sdc0_d1", "sdc0_d0", "sdc0_clk", "sdc0_cmd", "sdc0_d3", "sdc0_d2"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0x1>; + allwinner,drive = <0x2>; + allwinner,data = <0xffffffff>; + }; + + sdc1@0 { + linux,phandle = <0xc7>; + phandle = <0xc7>; + allwinner,pins = "PG0", "PG1", "PG2", "PG3", "PG4", "PG5"; + allwinner,function = "sdc1"; + allwinner,pname = "sdc1_clk", "sdc1_cmd", "sdc1_d0", "sdc1_d1", "sdc1_d2", "sdc1_d3"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0x1>; + allwinner,drive = <0x3>; + allwinner,data = <0xffffffff>; + }; + + sdc2@0 { + linux,phandle = <0xc8>; + phandle = <0xc8>; + allwinner,pins = "PC1", "PC5", "PC6", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PC16"; + allwinner,function = "sdc2"; + allwinner,pname = "sdc2_ds", "sdc2_clk", "sdc2_cmd", "sdc2_d0", "sdc2_d1", "sdc2_d2", "sdc2_d3", "sdc2_d4", "sdc2_d5", "sdc2_d6", "sdc2_d7", "sdc2_emmc_rst"; + allwinner,muxsel = <0x3>; + allwinner,pull = <0x1>; + allwinner,drive = <0x3>; + allwinner,data = <0xffffffff>; + }; + + Vdevice@0 { + linux,phandle = <0xcc>; + phandle = <0xcc>; + allwinner,pins = "PA1", "PA2"; + allwinner,function = "Vdevice"; + allwinner,pname = "Vdevice_0", "Vdevice_1"; + allwinner,muxsel = <0x5>; + allwinner,pull = <0x1>; + allwinner,drive = <0x2>; + allwinner,data = <0xffffffff>; + }; + }; + + dma-controller@01c02000 { + compatible = "allwinner,sun50i-dma"; + reg = <0x0 0x1c02000 0x0 0x1000>; + interrupts = <0x0 0x32 0x4>; + clocks = <0xa>; + #dma-cells = <0x1>; + }; + + mbus-controller@01c62000 { + compatible = "allwinner,sun50i-mbus"; + reg = <0x0 0x1c62000 0x0 0x110>; + #mbus-cells = <0x1>; + }; + + arisc { + compatible = "allwinner,sunxi-arisc"; + #address-cells = <0x2>; + #size-cells = <0x2>; + clocks = <0xb 0xc 0x6 0x4>; + clock-names = "losc", "iosc", "hosc", "pll_periph0"; + powchk_used = <0x0>; + power_reg = <0x2309621>; + system_power = <0x32>; + }; + + arisc_space { + compatible = "allwinner,arisc_space"; + space1 = <0x48040000 0x0 0x14000>; + space2 = <0x48100000 0x18000 0x4000>; + space3 = <0x48104000 0x0 0x1000>; + space4 = <0x48105000 0x0 0x1000>; + }; + + standby_space { + compatible = "allwinner,standby_space"; + space1 = <0x40020000 0x0 0x800>; + }; + + msgbox@1c17000 { + compatible = "allwinner,msgbox"; + clocks = <0xd>; + clock-names = "clk_msgbox"; + reg = <0x0 0x1c17000 0x0 0x1000>; + interrupts = <0x0 0x31 0x1>; + status = "okay"; + }; + + hwspinlock@1c18000 { + compatible = "allwinner,sunxi-hwspinlock"; + clocks = <0xe 0xf>; + clock-names = "clk_hwspinlock_rst", "clk_hwspinlock_bus"; + reg = <0x0 0x1c18000 0x0 0x1000>; + num-locks = <0x8>; + status = "okay"; + }; + + s_cir@1f02000 { + compatible = "allwinner,s_cir"; + reg = <0x0 0x1f02000 0x0 0x400>; + interrupts = <0x0 0x25 0x4>; + pinctrl-names = "default"; + pinctrl-0 = <0x10>; + clocks = <0x6 0x11>; + supply = "vcc-pl"; + supply_vol = <0x325aa0>; + status = "okay"; + device_type = "s_cir0"; + ir_power_key_code0 = <0x57>; + ir_addr_code0 = <0x9f00>; + ir_power_key_code1 = <0x1a>; + ir_addr_code1 = <0xfb04>; + ir_power_key_code2 = <0x14>; + ir_addr_code2 = <0x7f80>; + ir_power_key_code3 = <0x15>; + ir_addr_code3 = <0x7f80>; + ir_power_key_code4 = <0xb>; + ir_addr_code4 = <0xf708>; + ir_power_key_code5 = <0x3>; + ir_addr_code5 = <0xef>; + ir_power_key_code6 = <0xdc>; + ir_addr_code6 = <0x4cb3>; + ir_power_key_code7 = <0xa>; + ir_addr_code7 = <0x7748>; + ir_power_key_code8 = <0x45>; + ir_addr_code8 = <0xbd02>; + ir_power_key_code9 = <0x4d>; + ir_addr_code9 = <0xde21>; + ir_power_key_code10 = <0x18>; + ir_addr_code10 = <0xfe01>; + ir_power_key_code11 = <0x57>; + ir_addr_code11 = <0xff00>; + ir_power_key_code12 = <0x4d>; + ir_addr_code12 = <0xff40>; + ir_power_key_code13 = <0x88>; + ir_addr_code13 = <0xdd22>; + ir_power_key_code14 = <0xd>; + ir_addr_code14 = <0xbc00>; + ir_power_key_code15 = <0xd>; + ir_addr_code15 = <0xfc00>; + }; + + s_uart@1f02800 { + compatible = "allwinner,s_uart"; + reg = <0x0 0x1f02800 0x0 0x400>; + interrupts = <0x0 0x26 0x4>; + pinctrl-names = "default"; + status = "disabled"; + device_type = "s_uart0"; + pinctrl-0 = <0xc9>; + }; + + s_twi@1f03400 { + compatible = "allwinner,s_twi"; + reg = <0x0 0x1f02400 0x0 0x20>; + interrupts = <0x0 0x2c 0x4>; + pinctrl-names = "default"; + pinctrl-0 = <0x13>; + status = "okay"; + }; + + s_jtag0 { + compatible = "allwinner,s_jtag"; + pinctrl-names = "default"; + status = "disabled"; + device_type = "s_jtag0"; + pinctrl-0 = <0xcb>; + }; + + box_start_os0 { + compatible = "allwinner,box_start_os"; + start_type = <0x1>; + irkey_used = <0x1>; + pmukey_used = <0x0>; + pmukey_num = <0x0>; + led_power = <0x0>; + led_state = <0x0>; + status = "okay"; + device_type = "box_start_os"; + }; + + timer@1c20c00 { + compatible = "allwinner,sunxi-timer"; + device_type = "timer"; + reg = <0x0 0x1c20c00 0x0 0x90>; + interrupts = <0x0 0x12 0x1>; + clock-frequency = <0x16e3600>; + timer-prescale = <0x10>; + }; + + rtc@01f00000 { + compatible = "allwinner,sun50i-rtc"; + device_type = "rtc"; + reg = <0x0 0x1f00000 0x0 0x218>; + interrupts = <0x0 0x28 0x4>; + gpr_offset = <0x100>; + gpr_len = <0x4>; + }; + + watchdog@01c20ca0 { + compatible = "allwinner,sun50i-wdt"; + reg = <0x0 0x1c20ca0 0x0 0x20>; + interrupts = <0x0 0x19 0x4>; + }; + + ve@01c0e000 { + compatible = "allwinner,sunxi-cedar-ve"; + reg = <0x0 0x1c0e000 0x0 0x1000 0x0 0x1c00000 0x0 0x10 0x0 0x1c20000 0x0 0x800>; + interrupts = <0x0 0x3a 0x4>; + clocks = <0x15 0x16>; + }; + + uart@01c28000 { + compatible = "allwinner,sun50i-uart"; + device_type = "uart0"; + reg = <0x0 0x1c28000 0x0 0x400>; + interrupts = <0x0 0x0 0x4>; + clocks = <0x17>; + pinctrl-names = "default", "sleep"; + uart0_port = <0x0>; + uart0_type = <0x2>; + status = "okay"; + pinctrl-0 = <0xab>; + pinctrl-1 = <0xac>; + }; + + uart@01c28400 { + compatible = "allwinner,sun50i-uart"; + device_type = "uart1"; + reg = <0x0 0x1c28400 0x0 0x400>; + interrupts = <0x0 0x1 0x4>; + clocks = <0x1a>; + pinctrl-names = "default", "sleep"; + uart1_port = <0x1>; + uart1_type = <0x4>; + status = "okay"; + pinctrl-0 = <0xad>; + pinctrl-1 = <0xae>; + }; + + uart@01c28800 { + compatible = "allwinner,sun50i-uart"; + device_type = "uart2"; + reg = <0x0 0x1c28800 0x0 0x400>; + interrupts = <0x0 0x2 0x4>; + clocks = <0x1d>; + pinctrl-names = "default", "sleep"; + uart2_port = <0x2>; + uart2_type = <0x4>; + status = "okay"; + pinctrl-0 = <0xaf>; + pinctrl-1 = <0xb0>; + }; + + uart@01c28c00 { + compatible = "allwinner,sun50i-uart"; + device_type = "uart3"; + reg = <0x0 0x1c28c00 0x0 0x400>; + interrupts = <0x0 0x3 0x4>; + clocks = <0x20>; + pinctrl-names = "default", "sleep"; + uart3_port = <0x3>; + uart3_type = <0x4>; + status = "disabled"; + pinctrl-0 = <0xb1>; + pinctrl-1 = <0xb2>; + }; + + twi@0x01c2ac00 { + #address-cells = <0x1>; + #size-cells = <0x0>; + compatible = "allwinner,sun50i-twi"; + device_type = "twi0"; + reg = <0x0 0x1c2ac00 0x0 0x400>; + interrupts = <0x0 0x6 0x4>; + clocks = <0x23>; + clock-frequency = <0x61a80>; + pinctrl-names = "default", "sleep"; + status = "okay"; + pinctrl-0 = <0xa5>; + pinctrl-1 = <0xa6>; + }; + + twi@0x01c2b000 { + #address-cells = <0x1>; + #size-cells = <0x0>; + compatible = "allwinner,sun50i-twi"; + device_type = "twi1"; + reg = <0x0 0x1c2b000 0x0 0x400>; + interrupts = <0x0 0x7 0x4>; + clocks = <0x26>; + clock-frequency = <0x30d40>; + pinctrl-names = "default", "sleep"; + status = "okay"; + pinctrl-0 = <0xa7>; + pinctrl-1 = <0xa8>; + }; + + twi@0x01c2b400 { + #address-cells = <0x1>; + #size-cells = <0x0>; + compatible = "allwinner,sun50i-twi"; + device_type = "twi2"; + reg = <0x0 0x1c2b400 0x0 0x400>; + interrupts = <0x0 0x8 0x4>; + clocks = <0x29>; + clock-frequency = <0x30d40>; + pinctrl-names = "default", "sleep"; + status = "disabled"; + pinctrl-0 = <0xa9>; + pinctrl-1 = <0xaa>; + }; + + usbc0@0 { + device_type = "usbc0"; + compatible = "allwinner,sunxi-otg-manager"; + usb_port_type = <0x2>; + usb_detect_type = <0x0>; + usb_host_init_state = <0x1>; + usb_regulator_io = "nocare"; + usb_wakeup_suspend = <0x0>; + usb_luns = <0x3>; + usb_serial_unique = <0x0>; + usb_serial_number = "20080411"; + rndis_wceis = <0x1>; + status = "okay"; + usb_detect_mode = <0x0>; + usb_id_gpio = <0x3a 0x6 0xc 0x0 0x1 0xffffffff 0xffffffff>; + usb_det_vbus_gpio = <0x3a 0x6 0xc 0x0 0x1 0xffffffff 0xffffffff>; + usb_drv_vbus_gpio; + }; + + udc-controller@0x01c19000 { + compatible = "allwinner,sunxi-udc"; + reg = <0x0 0x1c19000 0x0 0x1000 0x0 0x1c00000 0x0 0x100>; + interrupts = <0x0 0x47 0x4>; + clocks = <0x2c 0x2d>; + status = "okay"; + }; + + ehci0-controller@0x01c1a000 { + compatible = "allwinner,sunxi-ehci0"; + reg = <0x0 0x1c1a000 0x0 0xfff 0x0 0x1c00000 0x0 0x100 0x0 0x1c19000 0x0 0x1000>; + interrupts = <0x0 0x48 0x4>; + clocks = <0x2c 0x2e>; + hci_ctrl_no = <0x0>; + status = "okay"; + }; + + ohci0-controller@0x01c1a400 { + compatible = "allwinner,sunxi-ohci0"; + reg = <0x0 0x1c1a000 0x0 0xfff 0x0 0x1c00000 0x0 0x100 0x0 0x1c19000 0x0 0x1000>; + interrupts = <0x0 0x49 0x4>; + clocks = <0x2c 0x2f>; + hci_ctrl_no = <0x0>; + status = "okay"; + }; + + usbc1@0 { + device_type = "usbc1"; + usb_host_init_state = <0x1>; + usb_regulator_io = "nocare"; + usb_wakeup_suspend = <0x0>; + status = "okay"; + usb_drv_vbus_gpio; + }; + + ehci1-controller@0x01c1b000 { + compatible = "allwinner,sunxi-ehci1"; + reg = <0x0 0x1c1b000 0x0 0xfff 0x0 0x1c00000 0x0 0x100 0x0 0x1c19000 0x0 0x1000>; + interrupts = <0x0 0x4a 0x4>; + clocks = <0x30 0x31>; + hci_ctrl_no = <0x1>; + status = "okay"; + }; + + ohci1-controller@0x01c1b400 { + compatible = "allwinner,sunxi-ohci1"; + reg = <0x0 0x1c1b000 0x0 0xfff 0x0 0x1c00000 0x0 0x100 0x0 0x1c19000 0x0 0x1000>; + interrupts = <0x0 0x4b 0x4>; + clocks = <0x30 0x32>; + hci_ctrl_no = <0x1>; + status = "okay"; + }; + + usbc2@0 { + device_type = "usbc2"; + usb_host_init_state = <0x1>; + usb_regulator_io = "nocare"; + usb_wakeup_suspend = <0x0>; + status = "okay"; + usb_drv_vbus_gpio; + }; + + ehci2-controller@0x01c1c000 { + compatible = "allwinner,sunxi-ehci2"; + reg = <0x0 0x1c1c000 0x0 0xfff 0x0 0x1c00000 0x0 0x100 0x0 0x1c19000 0x0 0x1000>; + interrupts = <0x0 0x4c 0x4>; + clocks = <0x33 0x34>; + hci_ctrl_no = <0x2>; + status = "okay"; + }; + + ohci2-controller@0x01c1c400 { + compatible = "allwinner,sunxi-ohci2"; + reg = <0x0 0x1c1c000 0x0 0xfff 0x0 0x1c00000 0x0 0x100 0x0 0x1c19000 0x0 0x1000>; + interrupts = <0x0 0x4d 0x4>; + clocks = <0x33 0x35>; + hci_ctrl_no = <0x2>; + status = "okay"; + }; + + usbc3@0 { + device_type = "usbc3"; + usb_host_init_state = <0x1>; + usb_regulator_io = "nocare"; + usb_wakeup_suspend = <0x0>; + status = "okay"; + usb_drv_vbus_gpio; + }; + + ehci3-controller@0x01c1d000 { + compatible = "allwinner,sunxi-ehci3"; + reg = <0x0 0x1c1d000 0x0 0xfff 0x0 0x1c00000 0x0 0x100 0x0 0x1c19000 0x0 0x1000>; + interrupts = <0x0 0x4e 0x4>; + clocks = <0x36 0x37>; + hci_ctrl_no = <0x3>; + status = "okay"; + }; + + ohci3-controller@0x01c1d400 { + compatible = "allwinner,sunxi-ohci3"; + reg = <0x0 0x1c1d000 0x0 0xfff 0x0 0x1c00000 0x0 0x100 0x0 0x1c19000 0x0 0x1000>; + interrupts = <0x0 0x4f 0x4>; + clocks = <0x36 0x38>; + hci_ctrl_no = <0x3>; + status = "okay"; + }; + + codec@0x01c22c00 { + compatible = "allwinner,sunxi-internal-codec"; + reg = <0x0 0x1c22c00 0x0 0x478 0x0 0x1f015c0 0x0 0x0>; + clocks = <0x2 0x39>; + gpio-spk = <0x3a 0x0 0x10 0x1 0x1 0x1 0x1>; + spkervol = <0x1f>; + maingain = <0x4>; + adcagc_cfg = <0x0>; + adcdrc_cfg = <0x0>; + adchpf_cfg = <0x0>; + dacdrc_cfg = <0x0>; + dachpf_cfg = <0x0>; + pa_sleep_time = <0x32>; + dac_digital_vol = <0xa0a0>; + status = "okay"; + linux,phandle = <0x46>; + phandle = <0x46>; + device_type = "codec"; + headphonevol = <0x3b>; + }; + + cpudai0-controller@0x01c22c00 { + compatible = "allwinner,sunxi-internal-cpudai"; + reg = <0x0 0x1c22c00 0x0 0x2bc>; + status = "okay"; + linux,phandle = <0x45>; + phandle = <0x45>; + }; + + daudio@0x01c22000 { + compatible = "allwinner,sunxi-daudio"; + reg = <0x0 0x1c22000 0x0 0x58>; + clocks = <0x2 0x3b>; + pinctrl-names = "default", "sleep"; + pinctrl-0 = <0x3c>; + pinctrl-1 = <0x3d>; + pcm_lrck_period = <0x20>; + pcm_lrckr_period = <0x1>; + slot_width_select = <0x20>; + pcm_lsb_first = <0x0>; + tx_data_mode = <0x0>; + rx_data_mode = <0x0>; + daudio_master = <0x4>; + audio_format = <0x1>; + signal_inversion = <0x1>; + frametype = <0x0>; + tdm_config = <0x1>; + tdm_num = <0x0>; + mclk_div = <0x0>; + status = "disabled"; + linux,phandle = <0x47>; + phandle = <0x47>; + device_type = "daudio0"; + }; + + daudio@0x01c22400 { + compatible = "allwinner,sunxi-daudio"; + reg = <0x0 0x1c22400 0x0 0x58>; + pinctrl-names = "default", "sleep"; + pinctrl-0 = <0x3e>; + pinctrl-1 = <0x3f>; + clocks = <0x2 0x40>; + pcm_lrck_period = <0x20>; + pcm_lrckr_period = <0x1>; + slot_width_select = <0x20>; + pcm_lsb_first = <0x0>; + tx_data_mode = <0x0>; + rx_data_mode = <0x0>; + daudio_master = <0x4>; + audio_format = <0x1>; + signal_inversion = <0x1>; + frametype = <0x0>; + tdm_config = <0x1>; + tdm_num = <0x1>; + mclk_div = <0x0>; + status = "disabled"; + linux,phandle = <0x48>; + phandle = <0x48>; + device_type = "daudio1"; + }; + + daudio@0x01c22800 { + compatible = "allwinner,sunxi-tdmhdmi"; + reg = <0x0 0x1c22800 0x0 0x58>; + clocks = <0x2 0x41>; + status = "okay"; + linux,phandle = <0x49>; + phandle = <0x49>; + device_type = "daudio2"; + }; + + spdif-controller@0x01c21000 { + compatible = "allwinner,sunxi-spdif"; + reg = <0x0 0x1c21000 0x0 0x38>; + clocks = <0x2 0x42>; + pinctrl-names = "default", "sleep"; + pinctrl-0 = <0x43>; + pinctrl-1 = <0x44>; + status = "disabled"; + linux,phandle = <0x4a>; + phandle = <0x4a>; + device_type = "spdif"; + }; + + sound@0 { + compatible = "allwinner,sunxi-codec-machine"; + sunxi,cpudai-controller = <0x45>; + sunxi,audio-codec = <0x46>; + status = "okay"; + device_type = "sndcodec"; + }; + + sound@1 { + compatible = "allwinner,sunxi-daudio0-machine"; + sunxi,daudio0-controller = <0x47>; + status = "disabled"; + device_type = "snddaudio0"; + }; + + sound@2 { + compatible = "allwinner,sunxi-daudio1-machine"; + sunxi,daudio1-controller = <0x48>; + status = "disabled"; + device_type = "snddaudio1"; + }; + + sound@3 { + compatible = "allwinner,sunxi-hdmi-machine"; + sunxi,hdmi-controller = <0x49>; + status = "okay"; + device_type = "sndhdmi"; + }; + + sound@4 { + compatible = "allwinner,sunxi-spdif-machine"; + sunxi,spdif-controller = <0x4a>; + status = "disabled"; + device_type = "sndspdif"; + }; + + spi@01c68000 { + #address-cells = <0x1>; + #size-cells = <0x0>; + compatible = "allwinner,sun50i-spi"; + device_type = "spi0"; + reg = <0x0 0x1c68000 0x0 0x1000>; + interrupts = <0x0 0x41 0x4>; + clocks = <0x4 0x4b>; + clock-frequency = <0x5f5e100>; + pinctrl-names = "default", "sleep"; + spi0_cs_number = <0x1>; + spi0_cs_bitmap = <0x1>; + status = "disabled"; + pinctrl-0 = <0xb3 0xb4 0xb5>; + pinctrl-1 = <0xb6 0xb7>; + }; + + spi@01c69000 { + #address-cells = <0x1>; + #size-cells = <0x0>; + compatible = "allwinner,sun50i-spi"; + device_type = "spi1"; + reg = <0x0 0x1c69000 0x0 0x1000>; + interrupts = <0x0 0x42 0x4>; + clocks = <0x4 0x4f>; + clock-frequency = <10000000>; + pinctrl-names = "default", "sleep"; + spi1_cs_number = <0x1>; + spi1_cs_bitmap = <0x1>; + status = "okay"; + pinctrl-0 = <0xb8 0xb9>; + pinctrl-1 = <0xba 0xbb>; + + spi_board1 { + device_type = "spi_board1"; + compatible = "rohm,dh2228fv"; + spi-max-frequency = <10000000>; + reg = <0x0>; + }; + }; + + sdmmc@01C11000 { + compatible = "allwinner,sunxi-mmc-v4p5x"; + device_type = "sdc2"; + reg = <0x0 0x1c11000 0x0 0x1000>; + interrupts = <0x0 0x3e 0x104>; + clocks = <0x6 0x53 0x54 0x55 0x56>; + clock-names = "osc24m", "pll_periph", "mmc", "ahb", "rst"; + pinctrl-names = "default", "sleep"; + pinctrl-1 = <0x58>; + bus-width = <0x8>; + max-frequency = <0x2faf080>; + sdc_tm4_sm0_freq0 = <0x0>; + sdc_tm4_sm0_freq1 = <0x0>; + sdc_tm4_sm1_freq0 = <0x0>; + sdc_tm4_sm1_freq1 = <0x0>; + sdc_tm4_sm2_freq0 = <0x0>; + sdc_tm4_sm2_freq1 = <0x0>; + sdc_tm4_sm3_freq0 = <0x5000000>; + sdc_tm4_sm3_freq1 = <0x405>; + sdc_tm4_sm4_freq0 = <0x50000>; + sdc_tm4_sm4_freq1 = <0x408>; + status = "okay"; + non-removable; + pinctrl-0 = <0xc8>; + cd-gpios; + sunxi-power-save-mode; + sunxi-dis-signal-vol-sw; + vmmc = "vcc-emmcv"; + vqmmc = "vcc-emmcvq33"; + vdmmc = "none"; + }; + + sdmmc@01c0f000 { + compatible = "allwinner,sunxi-mmc-v4p1x"; + device_type = "sdc0"; + reg = <0x0 0x1c0f000 0x0 0x1000>; + interrupts = <0x0 0x3c 0x104>; + clocks = <0x6 0x53 0x59 0x5a 0x5b>; + clock-names = "osc24m", "pll_periph", "mmc", "ahb", "rst"; + pinctrl-names = "default", "sleep"; + pinctrl-1 = <0x5d>; + max-frequency = <0x2faf080>; + bus-width = <0x4>; + status = "okay"; + pinctrl-0 = <0xc6>; + cd-gpios = <0x3a 0x5 0x6 0x0 0x1 0x2 0xffffffff>; + sunxi-power-save-mode; + sunxi-dis-signal-vol-sw; + vmmc = "vcc-sdcv"; + vqmmc = "vcc-sdcvq33"; + vdmmc = "vcc-sdcvd"; + }; + + sdmmc@1C10000 { + compatible = "allwinner,sunxi-mmc-v4p1x"; + device_type = "sdc1"; + reg = <0x0 0x1c10000 0x0 0x1000>; + interrupts = <0x0 0x3d 0x104>; + clocks = <0x6 0x53 0x5e 0x5f 0x60>; + clock-names = "osc24m", "pll_periph", "mmc", "ahb", "rst"; + pinctrl-names = "default", "sleep"; + pinctrl-1 = <0x62>; + max-frequency = <0x8f0d180>; + bus-width = <0x4>; + sunxi-dly-52M-ddr4 = <0x1 0x0 0x0 0x0 0x2>; + sunxi-dly-104M = <0x1 0x0 0x0 0x0 0x1>; + sunxi-dly-208M = <0x1 0x0 0x0 0x0 0x1>; + status = "okay"; + pinctrl-0 = <0xc7>; + sd-uhs-sdr50; + sd-uhs-ddr50; + sd-uhs-sdr104; + cap-sdio-irq = <0x1>; + keep-power-in-suspend; + ignore-pm-notify; + }; + + disp@01000000 { + compatible = "allwinner,sunxi-disp"; + reg = <0x0 0x1000000 0x0 0x300000 0x0 0x1c0c000 0x0 0x7fc 0x0 0x1c0d000 0x0 0x7fc>; + interrupts = <0x0 0x56 0x104 0x0 0x57 0x104>; + clocks = <0x63 0x64 0x65>; + boot_disp = <0x0>; + fb_base = <0x0>; + status = "okay"; + device_type = "disp"; + disp_init_enable = <0x1>; + disp_mode = <0x0>; + screen0_output_type = <0x3>; + screen0_output_mode = <0x4>; + screen1_output_type = <0x2>; + screen1_output_mode = <0xb>; + dev0_output_type = <0x4>; + dev0_output_mode = <0x4>; + dev0_screen_id = <0x0>; + dev0_do_hpd = <0x1>; + dev1_output_type = <0x2>; + dev1_output_mode = <0xb>; + dev1_screen_id = <0x1>; + dev1_do_hpd = <0x1>; + dev2_output_type = <0x0>; + def_output_dev = <0x0>; + hdmi_mode_check = <0x1>; + fb0_format = <0x0>; + fb0_width = <0x500>; + fb0_height = <0x2d0>; + fb1_format = <0x0>; + fb1_width = <0x0>; + fb1_height = <0x0>; + }; + + lcd0@01c0c000 { + compatible = "allwinner,sunxi-lcd0"; + pinctrl-names = "active", "sleep"; + status = "okay"; + device_type = "lcd0"; + lcd_used = <0x0>; + lcd_driver_name = "default_lcd"; + lcd_backlight = <0x32>; + lcd_if = <0x3>; + lcd_x = <0x500>; + lcd_y = <0x320>; + lcd_width = <0x96>; + lcd_height = <0x5e>; + lcd_dclk_freq = <0x46>; + lcd_pwm_used = <0x1>; + lcd_pwm_ch = <0x0>; + lcd_pwm_freq = <0xc350>; + lcd_pwm_pol = <0x1>; + lcd_pwm_max_limit = <0xff>; + lcd_hbp = <0x14>; + lcd_ht = <0x58a>; + lcd_hspw = <0xa>; + lcd_vbp = <0xa>; + lcd_vt = <0x32e>; + lcd_vspw = <0x5>; + lcd_lvds_if = <0x0>; + lcd_lvds_colordepth = <0x1>; + lcd_lvds_mode = <0x0>; + lcd_frm = <0x1>; + lcd_hv_clk_phase = <0x0>; + lcd_hv_sync_polarity = <0x0>; + lcd_gamma_en = <0x0>; + lcd_bright_curve_en = <0x0>; + lcd_cmap_en = <0x0>; + lcd_bl_en = <0x3a 0x3 0x17 0x1 0x0 0xffffffff 0x1>; + lcd_bl_en_power = "none"; + lcd_power = "vcc-lcd-0"; + lcd_fix_power = "vcc-dsi-33"; + pinctrl-0 = <0xbf>; + lcd_pin_power = "vcc-pd"; + pinctrl-1 = <0xc0>; + }; + + hdmi@01ee0000 { + compatible = "allwinner,sunxi-hdmi"; + reg = <0x0 0x1ee0000 0x0 0x20000>; + clocks = <0x66 0x67>; + device_type = "hdmi"; + status = "okay"; + hdmi_hdcp_enable = <0x0>; + hdmi_cts_compatibility = <0x0>; + hdmi_cec_support = <0x1>; + }; + + tv0@01c94000 { + compatible = "allwinner,sunxi-tv"; + reg = <0x0 0x1e40000 0x0 0x1000>; + clocks = <0x68>; + status = "disabled"; + device_type = "tv0"; + dac_src0 = <0x0>; + dac_type0 = <0x0>; + interface = <0x1>; + }; + + tr@01000000 { + compatible = "allwinner,sun50i-tr"; + reg = <0x0 0x1000000 0x0 0x200bc>; + interrupts = <0x0 0x60 0x104>; + clocks = <0x63>; + status = "okay"; + }; + + pwm@01c21400 { + compatible = "allwinner,sunxi-pwm"; + reg = <0x0 0x1c21400 0x0 0x3c>; + pwm-number = <0x1>; + pwm-base = <0x0>; + pwms = <0x69>; + }; + + pwm0@01c21400 { + compatible = "allwinner,sunxi-pwm0"; + pinctrl-names = "active", "sleep"; + reg_base = <0x1c21400>; + reg_busy_offset = <0x0>; + reg_busy_shift = <0x1c>; + reg_enable_offset = <0x0>; + reg_enable_shift = <0x4>; + reg_clk_gating_offset = <0x0>; + reg_clk_gating_shift = <0x6>; + reg_bypass_offset = <0x0>; + reg_bypass_shift = <0x9>; + reg_pulse_start_offset = <0x0>; + reg_pulse_start_shift = <0x8>; + reg_mode_offset = <0x0>; + reg_mode_shift = <0x7>; + reg_polarity_offset = <0x0>; + reg_polarity_shift = <0x5>; + reg_period_offset = <0x4>; + reg_period_shift = <0x10>; + reg_period_width = <0x10>; + reg_active_offset = <0x4>; + reg_active_shift = <0x0>; + reg_active_width = <0x10>; + reg_prescal_offset = <0x0>; + reg_prescal_shift = <0x0>; + reg_prescal_width = <0x4>; + linux,phandle = <0x69>; + phandle = <0x69>; + device_type = "pwm0"; + pwm_used = <0x0>; + pinctrl-0 = <0xc1>; + pinctrl-1 = <0xc2>; + }; + + s_pwm@1f03800 { + compatible = "allwinner,sunxi-s_pwm"; + reg = <0x0 0x1f03800 0x0 0x3c>; + pwm-number = <0x1>; + pwm-base = <0x10>; + pwms = <0x6a>; + }; + + spwm0@0x01f03800 { + compatible = "allwinner,sunxi-pwm16"; + pinctrl-names = "active", "sleep"; + reg_base = <0x1f03800>; + reg_busy_offset = <0x0>; + reg_busy_shift = <0x1c>; + reg_enable_offset = <0x0>; + reg_enable_shift = <0x4>; + reg_clk_gating_offset = <0x0>; + reg_clk_gating_shift = <0x6>; + reg_bypass_offset = <0x0>; + reg_bypass_shift = <0x9>; + reg_pulse_start_offset = <0x0>; + reg_pulse_start_shift = <0x8>; + reg_mode_offset = <0x0>; + reg_mode_shift = <0x7>; + reg_polarity_offset = <0x0>; + reg_polarity_shift = <0x5>; + reg_period_offset = <0x4>; + reg_period_shift = <0x10>; + reg_period_width = <0x10>; + reg_active_offset = <0x4>; + reg_active_shift = <0x0>; + reg_active_width = <0x10>; + reg_prescal_offset = <0x0>; + reg_prescal_shift = <0x0>; + reg_prescal_width = <0x4>; + linux,phandle = <0x6a>; + phandle = <0x6a>; + }; + + boot_disp { + compatible = "allwinner,boot_disp"; + }; + + ac200 { + compatible = "allwinner,sunxi-ac200"; + clocks = <0x64>; + pinctrl-names = "active", "sleep"; + status = "okay"; + }; + + cci@0x01cb3000 { + compatible = "allwinner,sunxi-csi_cci"; + reg = <0x0 0x1cb3000 0x0 0x1000>; + interrupts = <0x0 0x55 0x4>; + status = "okay"; + }; + + csi_res@0x01cb0000 { + compatible = "allwinner,sunxi-csi"; + reg = <0x0 0x1cb0000 0x0 0x1000>; + clocks = <0x6b 0x6c 0x6d 0x4 0x6 0x5>; + clocks-index = <0x0 0x1 0x2 0x3 0x4 0x5>; + status = "okay"; + }; + + isp@0x01cb8000 { + compatible = "allwinner,sunxi-isp"; + reg = <0x0 0x1cb8000 0x0 0x1000>; + status = "okay"; + }; + + vfe@0 { + device_type = "csi0"; + compatible = "allwinner,sunxi-vfe"; + interrupts = <0x0 0x54 0x4>; + pinctrl-names = "default", "sleep"; + pinctrl-1 = <0x6f>; + cci_sel = <0x0>; + csi_sel = <0x0>; + mipi_sel = <0x0>; + isp_sel = <0x0>; + csi0_sensor_list = <0x0>; + status = "okay"; + pinctrl-0 = <0xc5>; + csi0_mck = <0x3a 0x4 0x1 0x1 0xffffffff 0xffffffff 0xffffffff>; + + dev@0 { + csi0_dev0_mname = "gc2035"; + csi0_dev0_twi_addr = <0x78>; + csi0_dev0_pos = "rear"; + csi0_dev0_isp_used = <0x1>; + csi0_dev0_fmt = <0x0>; + csi0_dev0_stby_mode = <0x0>; + csi0_dev0_vflip = <0x0>; + csi0_dev0_hflip = <0x0>; + csi0_dev0_iovdd_vol = <0x2ab980>; + csi0_dev0_avdd_vol = <0x2ab980>; + csi0_dev0_dvdd_vol = <0x16e360>; + csi0_dev0_afvdd_vol = <0x2ab980>; + csi0_dev0_flash_used = <0x0>; + csi0_dev0_flash_type = <0x2>; + csi0_dev0_act_used = <0x0>; + csi0_dev0_act_name = "ad5820_act"; + csi0_dev0_act_slave = <0x18>; + status = "okay"; + device_type = "csi0_dev0"; + csi0_dev0_iovdd; + csi0_dev0_avdd; + csi0_dev0_dvdd; + csi0_dev0_afvdd; + csi0_dev0_power_en = <0x3a 0x0 0x8 0x1 0x0 0x1 0x0>; + csi0_dev0_reset = <0x3a 0x4 0xe 0x1 0x0 0x1 0x0>; + csi0_dev0_pwdn = <0x3a 0x4 0xf 0x1 0x0 0x1 0x0>; + csi0_dev0_flash_en; + csi0_dev0_flash_mode; + csi0_dev0_flvdd; + csi0_dev0_flvdd_vol; + csi0_dev0_af_pwdn; + }; + + dev@1 { + csi0_dev1_twi_addr = <0x78>; + csi0_dev1_pos = "rear"; + csi0_dev1_isp_used = <0x1>; + csi0_dev1_fmt = <0x0>; + csi0_dev1_stby_mode = <0x0>; + csi0_dev1_vflip = <0x0>; + csi0_dev1_hflip = <0x0>; + csi0_dev1_iovdd = "iovdd-csi"; + csi0_dev1_iovdd_vol = <0x2ab980>; + csi0_dev1_avdd = "avdd-csi"; + csi0_dev1_avdd_vol = <0x2ab980>; + csi0_dev1_dvdd = "dvdd-csi-18"; + csi0_dev1_dvdd_vol = <0x16e360>; + csi0_dev1_afvdd = "afvcc-csi"; + csi0_dev1_afvdd_vol = <0x2ab980>; + csi0_dev1_flash_used = <0x0>; + csi0_dev1_flash_type = <0x2>; + csi0_dev1_act_used = <0x0>; + csi0_dev1_act_name = "ad5820_act"; + csi0_dev1_act_slave = <0x18>; + status = "disabled"; + device_type = "csi0_dev1"; + csi0_dev1_mname; + csi0_dev1_power_en; + csi0_dev1_reset; + csi0_dev1_pwdn; + csi0_dev1_flash_en; + csi0_dev1_flash_mode; + csi0_dev1_flvdd; + csi0_dev1_flvdd_vol; + csi0_dev1_af_pwdn; + }; + }; + + vdevice@0 { + compatible = "allwinner,sun50i-vdevice"; + device_type = "Vdevice"; + pinctrl-names = "default"; + test-gpios = <0x3a 0x0 0x0 0x1 0x2 0x2 0x1>; + status = "disabled"; + pinctrl-0 = <0xcc>; + }; + + ce@1c15000 { + compatible = "allwinner,sunxi-ce"; + reg = <0x0 0x1c15000 0x0 0x80 0x0 0x1c15800 0x0 0x80>; + interrupts = <0x0 0x5e 0xff01 0x0 0x50 0xff01>; + clock-frequency = <0x11e1a300 0xbebc200>; + clocks = <0x71 0x4>; + }; + + deinterlace@0x01e00000 { + #address-cells = <0x1>; + #size-cells = <0x0>; + compatible = "allwinner,sunxi-deinterlace"; + reg = <0x0 0x1e00000 0x0 0x77c>; + interrupts = <0x0 0x5d 0x4>; + clocks = <0x72 0x4>; + status = "okay"; + device_type = "di"; + }; + + smartcard@0x01c2c400 { + #address-cells = <0x1>; + #size-cells = <0x0>; + compatible = "allwinner,sunxi-scr"; + device_type = "scr0"; + reg = <0x0 0x1c2c400 0x0 0x400>; + interrupts = <0x0 0x53 0x4>; + clocks = <0x73 0x74>; + clock-frequency = <0x16e3600>; + pinctrl-names = "default", "sleep"; + pinctrl-0 = <0x75 0x76>; + pinctrl-1 = <0x77>; + status = "okay"; + }; + + smartcard@0x01c2c800 { + #address-cells = <0x1>; + #size-cells = <0x0>; + compatible = "allwinner,sunxi-scr"; + device_type = "scr1"; + reg = <0x0 0x1c2c800 0x0 0x400>; + interrupts = <0x0 0x59 0x4>; + clocks = <0x78 0x74>; + clock-frequency = <0x16e3600>; + pinctrl-names = "default", "sleep"; + pinctrl-0 = <0x79 0x7a>; + pinctrl-1 = <0x7b>; + status = "disabled"; + }; + + pmu@0 { + interrupts = <0x0 0x20 0x4>; + status = "okay"; + device_type = "pmu0"; + compatible = "axpdummy"; + pmu_id = <0x83>; + + powerkey@0 { + status = "okay"; + }; + + regulator@0 { + status = "okay"; + device_type = "regulator0"; + compatible = "axpdummy-regulator"; + regulator_count = <0x6>; + regulator1 = "axpdummy_ldo1 none avcc vcc-pll vcc-tv"; + regulator2 = "axpdummy_ldo2 none vcc-dram"; + regulator3 = "axpdummy_ldo3 none vdd-sys vdd-ehpy"; + regulator4 = "axpdummy_ldo4 none vdd-cpua"; + regulator5 = "axpdummy_ldo5 none vcc-wifi"; + regulator6 = "axpdummy_ldo6 none vcc-rtc vdd-cpus vcc-io vcc-efuse vcc-sdc vcc-nand vcc-usb vcc-uartx vcc-feled vcc-key vcc-audio vcc-ir"; + }; + + axp_gpio@0 { + gpio-controller; + #size-cells = <0x0>; + #gpio-cells = <0x6>; + status = "okay"; + device_type = "axp_pio"; + linux,phandle = <0xbc>; + phandle = <0xbc>; + }; + + charger@0 { + status = "disabled"; + }; + }; + + nmi@0x01f00c00 { + #address-cells = <0x1>; + #size-cells = <0x0>; + compatible = "allwinner,sunxi-nmi"; + reg = <0x0 0x1f00c00 0x0 0x50>; + nmi_irq_ctrl = <0xc>; + nmi_irq_en = <0x40>; + nmi_irq_status = <0x10>; + nmi_irq_mask = <0x50>; + status = "okay"; + }; + + nand0@01c03000 { + compatible = "allwinner,sun50iw2-nand"; + device_type = "nand0"; + reg = <0x0 0x1c03000 0x0 0x1000>; + interrupts = <0x0 0x46 0x4>; + clocks = <0x4 0x7c>; + pinctrl-names = "default", "sleep"; + pinctrl-1 = <0x7f>; + nand0_regulator1 = "vcc-nand"; + nand0_regulator2 = "none"; + nand0_cache_level = <0x55aaaa55>; + nand0_flush_cache_num = <0x55aaaa55>; + nand0_capacity_level = <0x55aaaa55>; + nand0_id_number_ctl = <0x55aaaa55>; + nand0_print_level = <0x55aaaa55>; + nand0_p0 = <0x55aaaa55>; + nand0_p1 = <0x55aaaa55>; + nand0_p2 = <0x55aaaa55>; + nand0_p3 = <0x55aaaa55>; + status = "disabled"; + nand0_support_2ch = <0x0>; + pinctrl-0 = <0xbd 0xbe>; + }; + + ts0@01c06000 { + compatible = "allwinner,sun50i-tsc"; + device_type = "ts0"; + reg = <0x0 0x1c06000 0x0 0x1000>; + interrupts = <0x0 0x51 0x4>; + clocks = <0x4 0x80>; + pinctrl-names = "ts0-default", "ts1-default", "ts2-default", "ts3-default", "ts0-sleep", "ts1-sleep", "ts2-sleep", "ts3-sleep"; + pinctrl-0 = <0x81>; + pinctrl-1 = <0x82>; + pinctrl-2 = <0x83>; + pinctrl-3 = <0x84>; + pinctrl-4 = <0x85>; + pinctrl-5 = <0x86>; + pinctrl-6 = <0x87>; + pinctrl-7 = <0x88>; + ts0config = <0x1>; + ts1config = <0x0>; + ts2config = <0x1>; + ts3config = <0x0>; + status = "okay"; + }; + + thermal_sensor { + compatible = "allwinner,thermal_sensor"; + reg = <0x0 0x1c25000 0x0 0x84>; + interrupts = <0x0 0x1f 0x0>; + clocks = <0x6 0x89>; + sensor_num = <0x2>; + shut_temp = <0x6e>; + status = "okay"; + + combine0 { + #thermal-sensor-cells = <0x1>; + combine_cnt = <0x2>; + combine_type = "max"; + combine_chn = <0x0 0x1>; + linux,phandle = <0x8a>; + phandle = <0x8a>; + }; + }; + + cpu_budget_cool { + compatible = "allwinner,budget_cooling"; + #cooling-cells = <0x2>; + status = "okay"; + state_cnt = <0x5>; + cluster_num = <0x1>; + state0 = <0xf6180 0x4>; + state1 = <0xc7380 0x4>; + state2 = <0x9e340 0x2>; + state3 = <0x75300 0x2>; + state4 = <0x75300 0x1>; + linux,phandle = <0x8c>; + phandle = <0x8c>; + }; + + gpu_cooling { + compatible = "allwinner,gpu_cooling"; + reg = <0x0 0x0 0x0 0x0>; + #cooling-cells = <0x2>; + status = "okay"; + state_cnt = <0x4>; + state0 = <0x1c8>; + state1 = <0x180>; + state2 = <0x108>; + state3 = <0x90>; + linux,phandle = <0x90>; + phandle = <0x90>; + }; + + thermal-zones { + + soc_thermal { + polling-delay-passive = <0x3e8>; + polling-delay = <0x2710>; + thermal-sensors = <0x8a 0x0>; + + trips { + + t0 { + temperature = <0x5a>; + type = "passive"; + hysteresis = <0x0>; + linux,phandle = <0x8b>; + phandle = <0x8b>; + }; + + t1 { + temperature = <0x64>; + type = "passive"; + hysteresis = <0x0>; + linux,phandle = <0x8d>; + phandle = <0x8d>; + }; + + t2 { + temperature = <0x6e>; + type = "passive"; + hysteresis = <0x0>; + linux,phandle = <0x8e>; + phandle = <0x8e>; + }; + + t3 { + temperature = <0x50>; + type = "passive"; + hysteresis = <0x0>; + linux,phandle = <0x8f>; + phandle = <0x8f>; + }; + + t4 { + temperature = <0x5a>; + type = "passive"; + hysteresis = <0x0>; + linux,phandle = <0x91>; + phandle = <0x91>; + }; + + t5 { + temperature = <0x64>; + type = "passive"; + hysteresis = <0x0>; + linux,phandle = <0x92>; + phandle = <0x92>; + }; + + t6 { + temperature = <0x73>; + type = "critical"; + hysteresis = <0x0>; + }; + }; + + cooling-maps { + + bind0 { + contribution = <0x0>; + trip = <0x8b>; + cooling-device = <0x8c 0x1 0x1>; + }; + + bind1 { + contribution = <0x0>; + trip = <0x8d>; + cooling-device = <0x8c 0x2 0x2>; + }; + + bind2 { + contribution = <0x0>; + trip = <0x8e>; + cooling-device = <0x8c 0x3 0x4>; + }; + + bind3 { + contribution = <0x0>; + trip = <0x8f>; + cooling-device = <0x90 0x1 0x1>; + }; + + bind4 { + contribution = <0x0>; + trip = <0x91>; + cooling-device = <0x90 0x2 0x2>; + }; + + bind5 { + contribution = <0x0>; + trip = <0x92>; + cooling-device = <0x90 0x3 0x3>; + }; + }; + }; + }; + + keyboard { + compatible = "allwinner,keyboard_2000mv"; + reg = <0x0 0x1c21800 0x0 0x400>; + interrupts = <0x0 0x1e 0x0>; + status = "okay"; + key_cnt = <0x5>; + key1 = <0xf0 0x73>; + key2 = <0x1f4 0x72>; + key3 = <0x2bc 0x8b>; + key4 = <0x37a 0x1c>; + key5 = <0x7d0 0x66>; + }; + + eth@01c30000 { + compatible = "allwinner,sunxi-gmac"; + reg = <0x0 0x1c30000 0x0 0x4000 0x0 0x1c00030 0x0 0x1>; + pinctrl-names = "default"; + pinctrl-0 = <0x93>; + interrupts = <0x0 0x52 0x4>; + interrupt-names = "gmacirq"; + clocks = <0x94 0x95>; + clock-names = "gmac", "ephy"; + phy-mode = "rgmii"; + tx-delay = <0x0>; + rx-delay = <0x0>; + phy_power_on = <0x3a 0x3 0x6 0x1 0x0 0x0 0x0>; + status = "disabled"; + device_type = "gmac0"; + gmac_power1; + gmac_power2; + gmac_power3; + }; + + product { + device_type = "product"; + version = "100"; + machine = "cheetah-p1"; + }; + + platform { + device_type = "platform"; + eraseflag = <0x1>; + }; + + target { + device_type = "target"; + boot_clock = <0x3f0>; + storage_type = <0xffffffff>; + burn_key = <0x0>; + dragonboard_test = <0x0>; + power_mode = <0x1>; + }; + + power_sply { + device_type = "power_sply"; + dcdcb_vol = <0xf472c>; + dcdcc_vol = <0xf46f0>; + aldo2_vol = <0xf4f24>; + }; + + ir_boot_recovery { + device_type = "ir_boot_recovery"; + status = "disabled"; + ir_recovery_key_code0 = <0x57>; + ir_addr_code0 = <0x9f00>; + ir_recovery_key_code1 = <0x15>; + ir_addr_code1 = <0xbc00>; + }; + + card_boot { + device_type = "card_boot"; + logical_start = <0xa000>; + sprite_gpio0 = <0x9e 0xb 0xa 0x1 0xffffffff 0xffffffff 0x1>; + next_work = <0x3>; + }; + + recovery_para { + device_type = "recovery_para"; + status = "okay"; + mode = <0x1>; + recovery_key = <0x9e 0xb 0x4 0x0 0xffffffff 0xffffffff 0xffffffff>; + }; + + boot_init_gpio { + device_type = "boot_init_gpio"; + status = "okay"; + gpio0 = <0x9e 0xb 0xa 0x1 0xffffffff 0xffffffff 0x0>; + gpio1 = <0x3a 0x0 0x11 0x1 0xffffffff 0xffffffff 0x1>; + }; + + pm_para { + device_type = "pm_para"; + standby_mode = <0x1>; + }; + + card0_boot_para { + device_type = "card0_boot_para"; + card_ctrl = <0x0>; + card_high_speed = <0x1>; + card_line = <0x4>; + pinctrl-0 = <0x9f>; + }; + + card2_boot_para { + device_type = "card2_boot_para"; + card_ctrl = <0x2>; + card_high_speed = <0x1>; + card_line = <0x8>; + pinctrl-0 = <0xa0 0xa1>; + sdc_ex_dly_used = <0x2>; + }; + + twi_para { + device_type = "twi_para"; + twi_port = <0x0>; + pinctrl-0 = <0xa2>; + }; + + uart_para { + device_type = "uart_para"; + uart_debug_port = <0x0>; + pinctrl-0 = <0xa3>; + }; + + jtag_para { + device_type = "jtag_para"; + jtag_enable = <0x0>; + pinctrl-0 = <0xa4>; + }; + + clock { + device_type = "clock"; + pll4 = <0x12c>; + pll6 = <0x258>; + pll8 = <0x168>; + pll9 = <0x129>; + pll10 = <0x108>; + }; + + rtp_para { + device_type = "rtp_para"; + rtp_used = <0x0>; + rtp_screen_size = <0x5>; + rtp_regidity_level = <0x5>; + rtp_press_threshold_enable = <0x0>; + rtp_press_threshold = <0x1f40>; + rtp_sensitive_level = <0xf>; + rtp_exchange_x_y_flag = <0x0>; + }; + + ctp { + device_type = "ctp"; + compatible = "allwinner,sun50i-ctp-para"; + status = "disabled"; + ctp_twi_id = <0x0>; + ctp_twi_addr = <0x5d>; + ctp_screen_max_x = <0x500>; + ctp_screen_max_y = <0x320>; + ctp_revert_x_flag = <0x1>; + ctp_revert_y_flag = <0x1>; + ctp_exchange_x_y_flag = <0x1>; + ctp_int_port = <0x3a 0x7 0x4 0x6 0xffffffff 0xffffffff 0xffffffff>; + ctp_wakeup = <0x3a 0x7 0x8 0x1 0xffffffff 0xffffffff 0x1>; + ctp_power_ldo = "vcc-ctp"; + ctp_power_ldo_vol = <0xce4>; + ctp_power_io; + }; + + ctp_list { + device_type = "ctp_list"; + compatible = "allwinner,sun50i-ctp-list"; + ctp_det_used = <0x1>; + ft5x_ts = <0x1>; + gt82x = <0x1>; + gslX680 = <0x1>; + gt9xx_ts = <0x0>; + gt9xxnew_ts = <0x1>; + gt811 = <0x1>; + zet622x = <0x1>; + aw5306_ts = <0x1>; + }; + + tkey_para { + device_type = "tkey_para"; + tkey_used = <0x0>; + tkey_twi_id; + tkey_twi_addr; + tkey_int; + }; + + motor_para { + device_type = "motor_para"; + motor_used = <0x1>; + motor_shake = <0xbc 0xfffe 0x3 0x1 0xffffffff 0xffffffff 0x1>; + }; + + pwm16 { + device_type = "pwm16"; + s_pwm0_used = <0x0>; + pinctrl-0 = <0xc3>; + pinctrl-1 = <0xc4>; + }; + + tvout_para { + device_type = "tvout_para"; + tvout_used; + tvout_channel_num; + tv_en; + }; + + tvin_para { + device_type = "tvin_para"; + tvin_used; + tvin_channel_num; + }; + + smc { + device_type = "smc"; + smc_used; + smc_rst; + smc_vppen; + smc_vppp; + smc_det; + smc_vccen; + smc_sck; + smc_sda; + }; + + leds { + compatible = "gpio-leds"; + + pwr { + label = "orangepi:green:pwr"; + gpios = <0x9e 0xb 0xa 0x1 0xffffffff 0xffffffff 0x0>; + default-state = "on"; + }; + + status { + label = "orangepi:red:status"; + gpios = <0x3a 0x0 0x11 0x1 0xffffffff 0xffffffff 0x0>; + default-state = "on"; + }; + }; + + + gpio_para { + device_type = "gpio_para"; + compatible = "allwinner,sunxi-init-gpio"; + gpio_used = <0x1>; + gpio_num = <0x2>; + gpio_pin_1 = <0x9e 0xb 0x6 0x1 0xffffffff 0xffffffff 0x1>; + gpio_pin_2 = <0x3a 0x0 0x7 0x1 0xffffffff 0xffffffff 0x1>; + normal_led = "gpio_pin_1"; + standby_led = "gpio_pin_2"; + }; + + serial_feature { + device_type = "serial_feature"; + sn_filename = "sn.txt"; + }; + + gsensor { + device_type = "gsensor"; + compatible = "allwinner,sun50i-gsensor-para"; + status = "disabled"; + gsensor_twi_id = <0x1>; + gsensor_twi_addr = <0x18>; + gsensor_int1 = <0x3a 0x0 0x9 0x6 0x1 0xffffffff 0xffffffff>; + gsensor_int2; + gsensor_vcc_io = "vcc-deviceio"; + gsensor_vcc_io_val = <0xc1c>; + }; + + gsensor_list_para { + device_type = "gsensor_list_para"; + compatible = "allwinner,sun50i-gsensor-list-para"; + gsensor_det_used = <0x0>; + lsm9ds0_acc_mag = <0x1>; + bma250 = <0x1>; + mma8452 = <0x1>; + mma7660 = <0x1>; + mma865x = <0x1>; + afa750 = <0x1>; + lis3de_acc = <0x1>; + lis3dh_acc = <0x1>; + kxtik = <0x1>; + dmard10 = <0x0>; + dmard06 = <0x1>; + mxc622x = <0x1>; + fxos8700 = <0x1>; + lsm303d = <0x0>; + }; + + 3g_para { + device_type = "3g_para"; + 3g_used = <0x0>; + 3g_usbc_num = <0x2>; + 3g_uart_num = <0x0>; + bb_vbat = <0x9e 0xb 0x3 0x1 0xffffffff 0xffffffff 0x0>; + bb_host_wake = <0x9e 0xc 0x0 0x1 0xffffffff 0xffffffff 0x0>; + bb_on = <0x9e 0xc 0x1 0x1 0xffffffff 0xffffffff 0x0>; + bb_pwr_on = <0x9e 0xc 0x3 0x1 0xffffffff 0xffffffff 0x0>; + bb_wake = <0x9e 0xc 0x4 0x1 0xffffffff 0xffffffff 0x0>; + bb_rf_dis = <0x9e 0xc 0x5 0x1 0xffffffff 0xffffffff 0x0>; + bb_rst = <0x9e 0xc 0x6 0x1 0xffffffff 0xffffffff 0x0>; + 3g_int; + }; + + gy_para { + device_type = "gy_para"; + compatible = "allwinner,sun50i-gyr_sensors-para"; + gy_used = <0x0>; + gy_twi_id = <0x2>; + gy_twi_addr = <0x6a>; + gy_int1 = <0x3a 0x0 0xa 0x6 0x1 0xffffffff 0xffffffff>; + gy_int2; + }; + + gy_list_para { + device_type = "gy_list_para"; + compatible = "allwinner,sun50i-gyr_sensors-list-para"; + gy_det_used = <0x0>; + lsm9ds0_gyr = <0x1>; + l3gd20_gyr = <0x0>; + bmg160_gyr = <0x1>; + }; + + ls_para { + device_type = "ls_para"; + compatible = "allwinner,sun50i-lsensors-para"; + ls_used = <0x0>; + ls_twi_id = <0x2>; + ls_twi_addr = <0x23>; + ls_int = <0x3a 0x0 0xc 0x6 0x1 0xffffffff 0xffffffff>; + }; + + ls_list_para { + device_type = "ls_list_para"; + compatible = "allwinner,sun50i-lsensors-list-para"; + ls_det_used = <0x0>; + ltr_501als = <0x1>; + jsa1212 = <0x0>; + jsa1127 = <0x1>; + }; + + compass_para { + device_type = "compass_para"; + compatible = "allwinner,sun50i-compass-para"; + compass_used = <0x0>; + compass_twi_id = <0x2>; + compass_twi_addr = <0xd>; + compass_int = <0x3a 0x0 0xb 0x6 0x1 0xffffffff 0xffffffff>; + }; + + compass_list_para { + device_type = "compass_list_para"; + compatible = "allwinner,sun50i-compass-list-para"; + compass_det_used = <0x0>; + lsm9ds0 = <0x1>; + lsm303d = <0x0>; + akm8963 = <0x1>; + }; + + s_rsb0 { + device_type = "s_rsb0"; + status = "okay"; + pinctrl-0 = <0xca>; + }; + + box_standby_led { + device_type = "box_standby_led"; + gpio0 = <0x9e 0xb 0xa 0x1 0xffffffff 0xffffffff 0x1>; + }; + + gpio_power_key { + device_type = "gpio_power_key"; + key_io = <0x9e 0xb 0x3 0x6 0xffffffff 0xffffffff 0x0>; + }; + }; + + aliases { + serial0 = "/soc@01c00000/uart@01c28000"; + serial1 = "/soc@01c00000/uart@01c28400"; + serial2 = "/soc@01c00000/uart@01c28800"; + serial3 = "/soc@01c00000/uart@01c28c00"; + twi0 = "/soc@01c00000/twi@0x01c2ac00"; + twi1 = "/soc@01c00000/twi@0x01c2b000"; + twi2 = "/soc@01c00000/twi@0x01c2b400"; + spi0 = "/soc@01c00000/spi@01c68000"; + spi1 = "/soc@01c00000/spi@01c69000"; + scr0 = "/soc@01c00000/smartcard@0x01c2c400"; + scr1 = "/soc@01c00000/smartcard@0x01c2c800"; + global_timer0 = "/soc@01c00000/timer@1c20c00"; + cci0 = "/soc@01c00000/cci@0x01cb3000"; + csi_res0 = "/soc@01c00000/csi_res@0x01cb0000"; + isp0 = "/soc@01c00000/isp@0x01cb8000"; + vfe0 = "/soc@01c00000/vfe@0"; + mmc0 = "/soc@01c00000/sdmmc@01c0f000"; + mmc2 = "/soc@01c00000/sdmmc@01C11000"; + nand0 = "/soc@01c00000/nand0@01c03000"; + disp = "/soc@01c00000/disp@01000000"; + lcd0 = "/soc@01c00000/lcd0@01c0c000"; + hdmi = "/soc@01c00000/hdmi@01ee0000"; + pwm = "/soc@01c00000/pwm@01c21400"; + pwm0 = "/soc@01c00000/pwm0@01c21400"; + tv0 = "/soc@01c00000/tv0@01c94000"; + s_pwm = "/soc@01c00000/s_pwm@1f03800"; + spwm0 = "/soc@01c00000/spwm0@0x01f03800"; + boot_disp = "/soc@01c00000/boot_disp"; + charger0 = "/soc@01c00000/pmu@0/charger@0"; + regulator0 = "/soc@01c00000/pmu@0/regulator@0"; + }; + + chosen { + bootargs = "earlyprintk=sunxi-uart,0x01c28000 loglevel=8 initcall_debug=1 console=ttyS0 init=/init"; + linux,initrd-start = <0x0 0x0>; + linux,initrd-end = <0x0 0x0>; + }; + + cpus { + #address-cells = <0x2>; + #size-cells = <0x0>; + + cpu@0 { + device_type = "cpu"; + compatible = "arm,cortex-a53", "arm,armv8"; + reg = <0x0 0x0>; + enable-method = "psci"; + cpufreq_tbl = <0x75300 0x9e340 0xafc80 0xc7380 0xdea80 0xf6180 0x10d880 0x119400 0x124f80>; + clock-latency = <0x1e8480>; + clock-frequency = <0x3c14dc00>; + cpu-idle-states = <0x96 0x97 0x98>; + }; + + cpu@1 { + device_type = "cpu"; + compatible = "arm,cortex-a53", "arm,armv8"; + reg = <0x0 0x1>; + enable-method = "psci"; + clock-frequency = <0x3c14dc00>; + cpu-idle-states = <0x96 0x97 0x98>; + }; + + cpu@2 { + device_type = "cpu"; + compatible = "arm,cortex-a53", "arm,armv8"; + reg = <0x0 0x2>; + enable-method = "psci"; + clock-frequency = <0x3c14dc00>; + cpu-idle-states = <0x96 0x97 0x98>; + }; + + cpu@3 { + device_type = "cpu"; + compatible = "arm,cortex-a53", "arm,armv8"; + reg = <0x0 0x3>; + enable-method = "psci"; + clock-frequency = <0x3c14dc00>; + cpu-idle-states = <0x96 0x97 0x98>; + }; + + idle-states { + entry-method = "arm,psci"; + + cpu-sleep-0 { + compatible = "arm,idle-state"; + arm,psci-suspend-param = <0x10000>; + entry-latency-us = <0x28>; + exit-latency-us = <0x64>; + min-residency-us = <0x96>; + linux,phandle = <0x96>; + phandle = <0x96>; + }; + + cluster-sleep-0 { + compatible = "arm,idle-state"; + arm,psci-suspend-param = <0x1010000>; + entry-latency-us = <0x1f4>; + exit-latency-us = <0x3e8>; + min-residency-us = <0x9c4>; + linux,phandle = <0x97>; + phandle = <0x97>; + }; + + sys-sleep-0 { + compatible = "arm,idle-state"; + arm,psci-suspend-param = <0x2010000>; + entry-latency-us = <0x3e8>; + exit-latency-us = <0x7d0>; + min-residency-us = <0x1194>; + linux,phandle = <0x98>; + phandle = <0x98>; + }; + }; + }; + + psci { + compatible = "arm,psci-0.2"; + method = "smc"; + psci_version = <0x84000000>; + cpu_suspend = <0xc4000001>; + cpu_off = <0x84000002>; + cpu_on = <0xc4000003>; + affinity_info = <0xc4000004>; + migrate = <0xc4000005>; + migrate_info_type = <0x84000006>; + migrate_info_up_cpu = <0xc4000007>; + system_off = <0x84000008>; + system_reset = <0x84000009>; + }; + + n_brom { + compatible = "allwinner,n-brom"; + reg = <0x0 0x0 0x0 0xc000>; + }; + + s_brom { + compatible = "allwinner,s-brom"; + reg = <0x0 0x0 0x0 0x10000>; + }; + + sram_ctrl { + device_type = "sram_ctrl"; + compatible = "allwinner,sram_ctrl"; + reg = <0x0 0x1c00000 0x0 0x100>; + }; + + sram_a1 { + compatible = "allwinner,sram_a1"; + reg = <0x0 0x10000 0x0 0x10000>; + }; + + sram_a2 { + compatible = "allwinner,sram_a2"; + reg = <0x0 0x40000 0x0 0x14000>; + }; + + prcm { + compatible = "allwinner,prcm"; + reg = <0x0 0x1f01400 0x0 0x400>; + }; + + cpuscfg { + compatible = "allwinner,cpuscfg"; + reg = <0x0 0x1f01c00 0x0 0x400>; + }; + + ion { + compatible = "allwinner,sunxi-ion"; + + system { + type = <0x0>; + }; + + system_contig { + type = <0x1>; + }; + + cma { + type = <0x4>; + }; + }; + + dram { + compatible = "allwinner,dram"; + clocks = <0x99>; + clock-names = "pll_ddr"; + dram_clk = <0x2a0>; + dram_type = <0x3>; + dram_zq = <0x3b3bf9>; + dram_odt_en = <0x1>; + dram_para1 = <0x10f410f4>; + dram_para2 = <0x0>; + dram_mr0 = <0x1840>; + dram_mr1 = <0x40>; + dram_mr2 = <0x18>; + dram_mr3 = <0x2>; + dram_tpr0 = <0x48a192>; + dram_tpr1 = <0x1b1a94b>; + dram_tpr2 = <0x61043>; + dram_tpr3 = <0xb4787896>; + dram_tpr4 = <0x0>; + dram_tpr5 = <0x0>; + dram_tpr6 = <0x64>; + dram_tpr7 = <0x1e08a1e0>; + dram_tpr8 = <0x0>; + dram_tpr9 = <0x0>; + dram_tpr10 = <0x2535>; + dram_tpr11 = <0x23330000>; + dram_tpr12 = <0x8897>; + dram_tpr13 = <0x4002910>; + device_type = "dram"; + }; + + memory@40000000 { + device_type = "memory"; + reg = <0x0 0x41000000 0x0 0x3f000000>; + }; + + interrupt-controller@1c81000 { + compatible = "arm,cortex-a15-gic", "arm,cortex-a9-gic"; + #interrupt-cells = <0x3>; + #address-cells = <0x0>; + device_type = "gic"; + interrupt-controller; + reg = <0x0 0x1c81000 0x0 0x1000 0x0 0x1c82000 0x0 0x2000 0x0 0x1c84000 0x0 0x2000 0x0 0x1c86000 0x0 0x2000>; + interrupts = <0x1 0x9 0xf04>; + linux,phandle = <0x1>; + phandle = <0x1>; + }; + + sunxi-sid@1c14000 { + compatible = "allwinner,sunxi-sid"; + device_type = "sid"; + reg = <0x0 0x1c14000 0x0 0x200>; + }; + + sunxi-chipid@1c14200 { + compatible = "allwinner,sunxi-chipid"; + device_type = "chipid"; + reg = <0x0 0x1c14200 0x0 0x200>; + }; + + timer { + compatible = "arm,armv8-timer"; + interrupts = <0x1 0xd 0xff01 0x1 0xe 0xff01 0x1 0xb 0xff01 0x1 0xa 0xff01>; + clock-frequency = <0x16e3600>; + }; + + pmu { + compatible = "arm,armv8-pmuv3"; + interrupts = <0x0 0x78 0x4 0x0 0x79 0x4 0x0 0x7a 0x4 0x0 0x7b 0x4>; + }; + + dvfs_table { + compatible = "allwinner,dvfs_table"; + max_freq = <0x3c14dc00>; + min_freq = <0x1c9c3800>; + lv_count = <0x8>; + lv1_freq = <0x44aa2000>; + lv1_volt = <0x44c>; + lv2_freq = <0x41cdb400>; + lv2_volt = <0x44c>; + lv3_freq = <0x3c14dc00>; + lv3_volt = <0x44c>; + lv4_freq = <0x30a32c00>; + lv4_volt = <0x44c>; + lv5_freq = "%1|"; + lv5_volt = <0x44c>; + lv6_freq = <0x0>; + lv6_volt = <0x44c>; + lv7_freq = <0x0>; + lv7_volt = <0x44c>; + lv8_freq = <0x0>; + lv8_volt = <0x44c>; + device_type = "dvfs_table"; + }; + + dramfreq { + compatible = "allwinner,sunxi-dramfreq"; + reg = <0x0 0x1c62000 0x0 0x1000 0x0 0x1c63000 0x0 0x1000 0x0 0x1c20000 0x0 0x800>; + interrupts = <0x0 0x45 0x4>; + clocks = <0x99 0x4 0x9a>; + status = "okay"; + }; + + uboot { + }; + + gpu@0x01E80000 { + compatible = "arm,mali-450", "arm,mali-utgard"; + reg = <0x0 0x1e80000 0x0 0x30000>; + interrupts = <0x0 0x60 0x4 0x0 0x61 0x4 0x0 0x63 0x4 0x0 0x64 0x4 0x0 0x65 0x4 0x0 0x66 0x4 0x0 0x67 0x4 0x0 0x68 0x4 0x0 0x69 0x4 0x0 0x6a 0x4 0x0 0x6b 0x4>; + interrupt-names = "IRQGP", "IRQGPMMU", "IRQPP", "IRQPP0", "IRQPPMMU0", "IRQPP1", "IRQPPMMU1", "IRQPP2", "IRQPPMMU2", "IRQPP3", "IRQPPMMU3"; + clocks = <0x9b 0x9c>; + device_type = "gpu_mali450_0"; + regulator_id = "vdd-gpu"; + dvfs_status = <0x0>; + temp_ctrl_status = <0x1>; + scene_ctrl_status = <0x1>; + max_level = <0x3>; + begin_level = <0x3>; + lv0_freq = <0x90>; + lv0_volt = <0x4b0>; + lv1_freq = <0x108>; + lv1_volt = <0x4b0>; + lv2_freq = <0x180>; + lv2_volt = <0x4b0>; + lv3_freq = <0x1c8>; + lv3_volt = <0x4b0>; + }; + + wlan { + compatible = "allwinner,sunxi-wlan"; + clocks = "&clk_losc_out"; + wlan_power = "vcc-wifi"; + wlan_io_regulator = "vcc-wifi-io"; + wlan_busnum = <0x1>; + status = "okay"; + device_type = "wlan"; + wlan_usbnum = <0x3>; + wlan_regon = <0x3a 0x0 0x9 0x1 0xffffffff 0xffffffff 0x0>; + wlan_hostwake = <0x9e 0xb 0x7 0x6 0xffffffff 0xffffffff 0x0>; + }; + + bt { + compatible = "allwinner,sunxi-bt"; + clocks = <0x9d>; + bt_power = "vcc-wifi"; + bt_io_regulator = "vcc-wifi-io"; + status = "okay"; + device_type = "bt"; + bt_rst_n = <0x3a 0x0 0xa 0x1 0xffffffff 0xffffffff 0x0>; + }; + + btlpm { + compatible = "allwinner,sunxi-btlpm"; + uart_index = <0x1>; + status = "okay"; + device_type = "btlpm"; + bt_wake = <0x3a 0x0 0x14 0x1 0xffffffff 0xffffffff 0x1>; + bt_hostwake = <0x9e 0xb 0x2 0x6 0xffffffff 0xffffffff 0x0>; + }; +}; diff --git a/external/packages/pack-uboot/sun50iw2/bin/monitor.fex b/external/packages/pack-uboot/sun50iw2/bin/monitor.fex new file mode 100644 index 000000000000..ad0e6a9a4173 Binary files /dev/null and b/external/packages/pack-uboot/sun50iw2/bin/monitor.fex differ diff --git a/external/packages/pack-uboot/sun50iw2/bin/scp.fex b/external/packages/pack-uboot/sun50iw2/bin/scp.fex new file mode 100644 index 000000000000..6fc22d116c36 Binary files /dev/null and b/external/packages/pack-uboot/sun50iw2/bin/scp.fex differ diff --git a/external/packages/pack-uboot/sun50iw2/bin/sys_config/sys_config_orangepipc2.fex b/external/packages/pack-uboot/sun50iw2/bin/sys_config/sys_config_orangepipc2.fex new file mode 100755 index 000000000000..29232d5e9e5f --- /dev/null +++ b/external/packages/pack-uboot/sun50iw2/bin/sys_config/sys_config_orangepipc2.fex @@ -0,0 +1,1518 @@ +;sun50iw2p1 application +;--------------------------------------------------------------------------------------------------------- +; 说明: 脚本中的字符串区分大小写,用户可以修改"="后面的数值,但是不要修改前面的字符串 +; 描述gpio的形式:Port:端口+组内序号<功能分配><内部电阻状态><驱动能力><输出电平状态> +;--------------------------------------------------------------------------------------------------------- +; Platform: OrangePi PC2 + +[product] +version = "100" +machine = "cheetah-p1" + +[platform] +debug_mode = 1 +;eraseflag = 1 + +;---------------------------------------------------------------------------------- +; burn_key: 0-do not use dragonKey 1-use dragonKey +; dragonboard_test: 0-build dragonboard for flash boot 1-build dragonboard for TF boot +;---------------------------------------------------------------------------------- +[target] +boot_clock = 1008 +storage_type = -1 +burn_key = 0 +dragonboard_test = 0 +power_mode = 1 + +[power_sply] +dcdcb_vol = 1001260 +dcdcc_vol = 1001200 +aldo2_vol = 1003300 + +;---------------------------------------------------------------------------------- +; goto android recovery when press the ir key +; ir_boot_recovery_used: 0-not used, 1-used +; ir_recovery_key_codex: the ir recovery key code value +; ir_addr_codex: the ir addr value +;---------------------------------------------------------------------------------- +[ir_boot_recovery] +ir_boot_recovery_used = 0 +ir_recovery_key_code0 = 0x57 +ir_addr_code0 = 0x9f00 +ir_recovery_key_code1 = 0x15 +ir_addr_code1 = 0xbc00 + +;---------------------------------------------------------------------------------- +; sprite_gpio0: led that indicates the state of card product +; next_work: the action after finishing card product 2-reboot 3-shutdown +;---------------------------------------------------------------------------------- +[card_boot] +logical_start = 40960 +sprite_gpio0 = port:PL10<1><1> +next_work = 3 + +;---------------------------------------------------------------------------------- +; used: 模块使能端 1:开启模块 0:关闭模块 +; mode: 模式选择 1:一键进入OTA升级 2:一键恢复(通过sysrecovery分区来恢复) 其他值:无效 +; recovery_key : 按键配置 (例如:recovery_key= port:PH16<0>) +;---------------------------------------------------------------------------------- +[recovery_para] +used = 1 +mode = 1 +recovery_key = port:PL04<0> + +[boot_init_gpio] +boot_init_gpio_used = 1 +gpio0 = port:PL10<1><1> +gpio1 = port:PA20<1><1> + + +;--------------------------------------------------------------------------------------------------------- +; if 1 == standby_mode, then support super standby; +; else, support normal standby. +;--------------------------------------------------------------------------------------------------------- +[pm_para] +standby_mode = 1 + +[card0_boot_para] +card_ctrl = 0 +card_high_speed = 1 +card_line = 4 +sdc_d1 = port:PF00<2><1><2> +sdc_d0 = port:PF01<2><1><2> +sdc_clk = port:PF02<2><1><2> +sdc_cmd = port:PF03<2><1><2> +sdc_d3 = port:PF04<2><1><2> +sdc_d2 = port:PF05<2><1><2> + +[card2_boot_para] +card_ctrl = 2 +card_high_speed = 1 +card_line = 8 +sdc_ds = port:PC1<4><1><3> +sdc_clk = port:PC5<3><1><3> +sdc_cmd = port:PC6<3><1><3> +sdc_d0 = port:PC8<3><1><3> +sdc_d1 = port:PC9<3><1><3> +sdc_d2 = port:PC10<3><1><3> +sdc_d3 = port:PC11<3><1><3> +sdc_d4 = port:PC12<3><1><3> +sdc_d5 = port:PC13<3><1><3> +sdc_d6 = port:PC14<3><1><3> +sdc_d7 = port:PC15<3><1><3> +sdc_emmc_rst = port:PC16<3><1><3> +sdc_ex_dly_used = 2 + + +[twi_para] +twi_port = 0 +twi_scl = port:PL0<2> +twi_sda = port:PL1<2> + +[uart_para] +uart_debug_port = 0 +uart_debug_tx = port:PA4<2><1> +uart_debug_rx = port:PA5<2><1> + +[jtag_para] +jtag_enable = 0 +jtag_ms = port:PB0<4> +jtag_ck = port:PB1<4> +jtag_do = port:PB2<4> +jtag_di = port:PB3<4> + +[clock] +pll4 = 300 +pll6 = 600 +pll8 = 360 +pll9 = 297 +pll10 = 264 + +;***************************************************************************** +;sdram configuration +; +;***************************************************************************** +[dram_para] +;dram_clk = 672 +;dram_type = 3 +;dram_zq = 0x3b3b3b +;dram_odt_en = 0x1 +;dram_para1 = 283377664 +;dram_para2 = 0x0000 +;dram_mr0 = 6208 +;dram_mr1 = 64 +;dram_mr2 = 24 +;dram_mr3 = 0x2 +;dram_tpr0 = 0x0048A192 +;dram_tpr1 = 0x01c2418d +;dram_tpr2 = 0x00076051 +;dram_tpr3 = 0x0 +;dram_tpr4 = 0x0000 +;dram_tpr5 = 0x0 +;dram_tpr6 = 0x64 +;dram_tpr7 = 0x0 +;dram_tpr8 = 0x0 +;dram_tpr9 = 0 +;dram_tpr10 = 0x0 +;dram_tpr11 = 0x6aaa0000 +;dram_tpr12 = 0x00007979 +;dram_tpr13 = 0x800800 + +dram_clk = 672 +dram_type = 3 +dram_zq = 0x3b3bf9 +dram_odt_en = 0x1 +dram_para1 = 0x10f410f4 +dram_para2 = 0x0000 +dram_mr0 = 0x1840 +dram_mr1 = 0x40 +dram_mr2 = 0x18 +dram_mr3 = 0x2 +dram_tpr0 = 0x0048A192 +dram_tpr1 = 0x01b1a94b +dram_tpr2 = 0x00061043 +dram_tpr3 = 0xB4787896 +dram_tpr4 = 0x0000 +dram_tpr5 = 0x0 +dram_tpr6 = 0x64 +dram_tpr7 = 0x1e08a1e0 +dram_tpr8 = 0x0 +dram_tpr9 = 0 +dram_tpr10 = 0x2535 +dram_tpr11 = 0x23330000 +dram_tpr12 = 0x00008897 +dram_tpr13 = 0x4002910 +;---------------------------------------------------------------------------------- +;os life cycle para configuration +;---------------------------------------------------------------------------------- + +;------------------------------------------------------------------------------; +; 10/100/100Mbps Ethernet MAC Controller Configure ; +;------------------------------------------------------------------------------; +; 配置选项: ; +; gmac_used --- 1: gmac used, 0: not used ; +; gmac_powerx -- A[:B] A: axp channel, B: voltage value ; +; phy-mode -- rgmii, rmii, mii ; +; tx-delay -- transmit clock delay: 0~7 ; +; rx-delay -- receive clock delay: 0~31 ; +;------------------------------------------------------------------------------; +[gmac0] +gmac0_used = 1 +phy-mode = "rgmii" +;gmac_rxd3 = port:PD00<2><3> +;gmac_rxd2 = port:PD01<2><3> +;gmac_rxd1 = port:PD02<2><3> +;gmac_rxd0 = port:PD03<2><3> +;gmac_rxdv = port:PD05<2><3> +;gmac_rxclk = port:PD04<2><3> +;gmac_rxerr = port:PD06<2><3> +;gmac_txd3 = port:PD07<2><3> +;gmac_txd2 = port:PD08<2><3> +;gmac_txd1 = port:PD09<2><3> +;gmac_txd0 = port:PD10<2><3> +;gmac_txclk = port:PD12<2><3> +;gmac_txen = port:PD13<2><3> +;gmac_clkin = port:PD15<2><3> +;gmac_mdc = port:PD16<2><3> +;gmac_mdio = port:PD17<2><3> +gmac_power1 = +gmac_power2 = +gmac_power3 = +tx-delay = 0 +rx-delay = 0 + +;---------------------------------------------------------------------------------- +;i2c configuration +;---------------------------------------------------------------------------------- +[twi0] +twi0_used = 1 +twi0_scl = port:PA11<2> +twi0_sda = port:PA12<2> + +[twi0_suspend] +twi0_scl = port:PA11<7> +twi0_sda = port:PA12<7> + +[twi1] +twi1_used = 1 +twi1_scl = port:PA18<3> +twi1_sda = port:PA19<3> + +[twi1_suspend] +twi1_scl = port:PA18<7> +twi1_sda = port:PA19<7> + +[twi2] +twi2_used = 0 +twi2_scl = port:PE12<3> +twi2_sda = port:PE13<3> + +[twi2_suspend] +twi2_scl = port:PE12<7> +twi2_sda = port:PE13<7> + +;---------------------------------------------------------------------------------- +;TWI device configuration +;compatible --- device name +;reg --- device address +;---------------------------------------------------------------------------------- +;[twi0/twi_board0] +;compatible = +;reg = + +;---------------------------------------------------------------------------------- +;uart configuration +;uart_port --- x (/dev/ttySx, x=0,1,2,...) +;uart_type --- 2 (2 wire), 4 (4 wire), 8 (8 wire, full function) +;---------------------------------------------------------------------------------- +[uart0] +uart0_used = 1 +uart0_port = 0 +uart0_type = 2 +uart0_tx = port:PA4<2><1> +uart0_rx = port:PA5<2><1> + +[uart0_suspend] +uart0_tx = port:PA4<7><1> +uart0_rx = port:PA5<7><1> + +[uart1] +uart1_used = 1 +uart1_port = 1 +uart1_type = 4 +uart1_tx = port:PG6<2><1> +uart1_rx = port:PG7<2><1> +uart1_rts = port:PG8<2><1> +uart1_cts = port:PG9<2><1> + +[uart1_suspend] +uart1_tx = port:PG6<7><1> +uart1_rx = port:PG7<7><1> +uart1_rts = port:PG8<7><1> +uart1_cts = port:PG9<7><1> + +[uart2] +uart2_used = 1 +uart2_port = 2 +uart2_type = 4 +uart2_tx = port:PA0<2><1> +uart2_rx = port:PA1<2><1> +uart2_rts = port:PA2<2><1> +uart2_cts = port:PA3<2><1> + +[uart2_suspend] +uart2_tx = port:PA0<7><1> +uart2_rx = port:PA1<7><1> +uart2_rts = port:PA2<7><1> +uart2_cts = port:PA3<7><1> + +[uart3] +uart3_used = 0 +uart3_port = 3 +uart3_type = 4 +uart3_tx = port:PA13<2><1> +uart3_rx = port:PA14<2><1> +uart3_rts = port:PA15<2><1> +uart3_cts = port:PA16<2><1> + +[uart3_suspend] +uart3_tx = port:PA13<7><1> +uart3_rx = port:PA14<7><1> +uart3_rts = port:PA15<7><1> +uart3_cts = port:PA16<7><1> + +;---------------------------------------------------------------------------------- +;SPI controller configuration +;---------------------------------------------------------------------------------- +[spi0] +spi0_used = 1 +spi0_cs_number = 1 +spi0_cs_bitmap = 1 +spi0_cs0 = port:PC3<3><1> +spi0_sclk = port:PC2<3> +spi0_mosi = port:PC0<3> +spi0_miso = port:PC1<4> + +[spi0_suspend] +spi0_cs0 = port:PC3<7><1> +spi0_sclk = port:PC2<7> +spi0_mosi = port:PC0<7> +spi0_miso = port:PC1<7> + +[spi1] +spi1_used = 1 +spi1_cs_number = 1 +spi1_cs_bitmap = 1 +spi1_cs0 = port:PA13<2><1> +spi1_sclk = port:PA14<2> +spi1_mosi = port:PA15<2> +spi1_miso = port:PA16<2> + +[spi1_suspend] +spi1_cs0 = port:PA13<7><1> +spi1_sclk = port:PA14<7> +spi1_mosi = port:PA15<7> +spi1_miso = port:PA16<7> + +;---------------------------------------------------------------------------------- +;SPI device configuration +;compatible --- device name +;spi-max-frequency --- work frequency +;reg --- chip select +;optional properties: spi-cpha, spi-cpol, spi-cs-high +;---------------------------------------------------------------------------------- +;[spi0/spi_board0] +;compatible = +;spi-max-frequency = +;reg = +;spi-cpha +;spi-cpol +;spi-cs-high + +;---------------------------------------------------------------------------------- +;resistance tp configuration +;---------------------------------------------------------------------------------- +[rtp_para] +rtp_used = 0 +rtp_screen_size = 5 +rtp_regidity_level = 5 +rtp_press_threshold_enable = 0 +rtp_press_threshold = 0x1f40 +rtp_sensitive_level = 0xf +rtp_exchange_x_y_flag = 0 + +;---------------------------------------------------------------------------------- +;capacitor tp configuration +;external int function +;wakeup output function +;notice --- tp_int_port & tp_io_port use the same port +;---------------------------------------------------------------------------------- +[ctp] +compatible = "allwinner,sun50i-ctp-para" +ctp_used = 0 +ctp_twi_id = 0 +ctp_twi_addr = 0x5d +ctp_screen_max_x = 1280 +ctp_screen_max_y = 800 +ctp_revert_x_flag = 1 +ctp_revert_y_flag = 1 +ctp_exchange_x_y_flag = 1 + +ctp_int_port = port:PH04<6> +ctp_wakeup = port:PH08<1><1> +ctp_power_ldo = "vcc-ctp" +ctp_power_ldo_vol = 3300 +ctp_power_io = + +;-------------------------------------------------------------------------------- +; CTP automatic detection configuration +;ctp_detect_used --- Whether startup automatic inspection function. 1:used,0:unused +;Module name postposition 1 said detection, 0 means no detection. +;-------------------------------------------------------------------------------- +[ctp_list] +compatible = "allwinner,sun50i-ctp-list" +ctp_det_used = 1 +ft5x_ts = 1 +gt82x = 1 +gslX680 = 1 +gt9xx_ts = 0 +gt9xxnew_ts = 1 +gt811 = 1 +zet622x = 1 +aw5306_ts = 1 + +;---------------------------------------------------------------------------------- +;touch key configuration +;---------------------------------------------------------------------------------- +[tkey_para] +tkey_used = 0 +tkey_twi_id = +tkey_twi_addr = +tkey_int = + +;---------------------------------------------------------------------------------- +;motor configuration +;---------------------------------------------------------------------------------- +[motor_para] +motor_used = 1 +motor_shake = port:power3<1><1> + +[nand0_para] +nand0_support_2ch = 0 + +nand0_used = 0 +nand0_we = port:PC00<2><0><1> +nand0_ale = port:PC01<2><0><1> +nand0_cle = port:PC02<2><0><1> +nand0_ce1 = port:PC03<2><1><1> +nand0_ce0 = port:PC04<2><1><1> +nand0_nre = port:PC05<2><0><1> +nand0_rb0 = port:PC06<2><1><1> +nand0_rb1 = port:PC07<2><1><1> +nand0_d0 = port:PC08<2><0><1> +nand0_d1 = port:PC09<2><0><1> +nand0_d2 = port:PC10<2><0><1> +nand0_d3 = port:PC11<2><0><1> +nand0_d4 = port:PC12<2><0><1> +nand0_d5 = port:PC13<2><0><1> +nand0_d6 = port:PC14<2><0><1> +nand0_d7 = port:PC15<2><0><1> +nand0_ndqs = port:PC16<2><0><1> +nand0_ce2 = port:PC17<2><1><1> +nand0_ce3 = port:PC18<2><1><1> + +nand0_regulator1 = "vcc-nand" +nand0_regulator2 = "none" +nand0_cache_level = 0x55aaaa55 +nand0_flush_cache_num = 0x55aaaa55 +nand0_capacity_level = 0x55aaaa55 +nand0_id_number_ctl = 0x55aaaa55 +nand0_print_level = 0x55aaaa55 +nand0_p0 = 0x55aaaa55 +nand0_p1 = 0x55aaaa55 +nand0_p2 = 0x55aaaa55 +nand0_p3 = 0x55aaaa55 + +;---------------------------------------------------------------------------------- +;disp init configuration +; +;disp_mode (0:screen0) +;screenx_output_type (0:none; 1:lcd; 3:hdmi;) +;screenx_output_mode (used for hdmi output, 0:480i 1:576i 2:480p 3:576p 4:720p50) +; (5:720p60 6:1080i50 7:1080i60 8:1080p24 9:1080p50 10:1080p60) +;fbx format (0:ARGB 1:ABGR 2:RGBA 3:BGRA 5:RGB565 8:RGB888 12:ARGB4444 16:ARGB1555 18:RGBA5551) +;fbx_width,fbx_height (framebuffer horizontal/vertical pixels, fix to output resolution while equal 0) +;---------------------------------------------------------------------------------- +[disp] +disp_init_enable = 1 +disp_mode = 0 + +screen0_output_type = 3 +screen0_output_mode = 4 + +screen1_output_type = 2 +screen1_output_mode = 11 + +dev0_output_type = 4 +dev0_output_mode = 4 +dev0_screen_id = 0 +dev0_do_hpd = 1 + +dev1_output_type = 2 +dev1_output_mode = 11 +dev1_screen_id = 1 +dev1_do_hpd = 1 + +dev2_output_type = 0 +def_output_dev = 0 +hdmi_mode_check = 1 + +fb0_format = 0 +fb0_width = 1280 +fb0_height = 720 + +fb1_format = 0 +fb1_width = 0 +fb1_height = 0 + +;---------------------------------------------------------------------------------- +;lcd0 configuration + +;lcd_if: 0:hv(sync+de); 1:8080; 2:ttl; 3:lvds; 4:dsi; 5:edp +;lcd_backlight lcd init backlight +;lcd_x: lcd horizontal resolution +;lcd_y: lcd vertical resolution +;lcd_width: width of lcd in mm +;lcd_height: height of lcd in mm +;lcd_dclk_freq: in MHZ unit +;lcd_pwm_freq: in HZ unit +;lcd_pwm_pol: lcd backlight PWM polarity +;lcd_pwm_max_limit lcd backlight PWM max limit(<=255) +;lcd_hbp: hsync back porch +;lcd_ht: hsync total cycle +;lcd_vbp: vsync back porch +;lcd_vt: vysnc total cycle +;lcd_hspw: hsync plus width +;lcd_vspw: vysnc plus width +;lcd_lvds_if: 0:single link; 1:dual link +;lcd_lvds_colordepth: 0:8bit; 1:6bit +;lcd_lvds_mode: 0:NS mode; 1:JEIDA mode +;lcd_frm: 0:disable; 1:enable rgb666 dither; 2:enable rgb656 dither +;lcd_hv_clk_phase lcd hv panel lock phase, 0:0 degree; 1:90 degree; 2: 180 degree; 3: 270 degree +;lcd_hv_sync_polarity lcd hv panel sync signals polarity +; 0:vsync active low, hsync active low; 1:vsync active high, hsync active low +; 2:vsync active low, hsync active high; 3:vsync active high, hsync active high +;lcd_gamma_en lcd gamma correction enable +;lcd_bright_curve_en lcd bright curve correction enable +;lcd_cmap_en lcd color map function enable +;---------------------------------------------------------------------------------- +[lcd0] +lcd_used = 0 + +lcd_driver_name = "default_lcd" +lcd_backlight = 50 +lcd_if = 3 +lcd_x = 1280 +lcd_y = 800 +lcd_width = 150 +lcd_height = 94 +lcd_dclk_freq = 70 +lcd_pwm_used = 1 +lcd_pwm_ch = 0 +lcd_pwm_freq = 50000 +lcd_pwm_pol = 1 +lcd_pwm_max_limit = 255 +lcd_hbp = 20 +lcd_ht = 1418 +lcd_hspw = 10 +lcd_vbp = 10 +lcd_vt = 814 +lcd_vspw = 5 +lcd_lvds_if = 0 +lcd_lvds_colordepth = 1 +lcd_lvds_mode = 0 +lcd_frm = 1 +lcd_hv_clk_phase = 0 +lcd_hv_sync_polarity= 0 +lcd_gamma_en = 0 +lcd_bright_curve_en = 0 +lcd_cmap_en = 0 + +lcd_bl_en = port:PD23<1><0><1> +lcd_bl_en_power = "none" +lcd_power = "vcc-lcd-0" +lcd_fix_power = "vcc-dsi-33" + +lcdd0 = port:PD12<3><0> +lcdd1 = port:PD13<3><0> +lcdd2 = port:PD14<3><0> +lcdd3 = port:PD15<3><0> +lcdd4 = port:PD16<3><0> +lcdd5 = port:PD17<3><0> +lcdd6 = port:PD18<3><0> +lcdd7 = port:PD19<3><0> +lcdd8 = port:PD20<3><0> +lcdd9 = port:PD21<3><0> +lcd_pin_power = "vcc-pd" + +[lcd0_suspend] +lcdd0 = port:PD12<7><0> +lcdd1 = port:PD13<7><0> +lcdd2 = port:PD14<7><0> +lcdd3 = port:PD15<7><0> +lcdd4 = port:PD16<7><0> +lcdd5 = port:PD17<7><0> +lcdd6 = port:PD18<7><0> +lcdd7 = port:PD19<7><0> +lcdd8 = port:PD20<7><0> +lcdd9 = port:PD21<7><0> + +[hdmi] +hdmi_used = 1 +;hdmi_power = "vcc3v3-hdmi" +hdmi_hdcp_enable = 0 +hdmi_cts_compatibility = 0 +hdmi_cec_support = 1 + +;---------------------------------------------------------------------------------- +;tv configuration +;dac_src (dac no,support dac_src0~dac_src3,dac num max is 4) +;interface (interface type,1<->cvbs,2<->YPBPR,4<->SVIDEO) +;dac_type (0<->composite,1<->luma,2<->chroma,3<->reserved,4<->y/green, +; 5<->u/pb/blue,6<->v/pr/red) +;NOTE: tv0,tv1 can not use the same dac_src. +;---------------------------------------------------------------------------------- + +[tv0] +used = 1 +dac_src0 = 0 +dac_type0 = 0 +interface = 1 + +;---------------------------------------------------------------------------------- +;pwm config +;---------------------------------------------------------------------------------- +[pwm0] +pwm_used = 0 +pwm_positive = port:PD22<2><0> + +[pwm0_suspend] +pwm_positive = port:PD22<7><0> + +[pwm16] +s_pwm0_used = 0 +pwm_positive = port:PL10<2><0> + +[pwm16_suspend] +pwm_positive = port:PL10<7><0> + +;----------------------------------------------------------------- +;auto_hpd - 1:need hotplud for hdmi/tv; 0:don't hotplud for lcd +;output_type - 0:none; 1:lcd; 2:tv; 3:hdmi; 4:vga (as default config in homlet) +;hdmi_channel - the display channel for hdmi (as default config in homlet) +;cvbs_channel - the display channel for cvbs (as default config in homlet) +;hdmi_mode - as default config for output of hdmi in homlet +;cvbs_mode - as default config for output of tv in homlet. 11:PAL; 14:NTSC +;hdmi_mode_check - disable/enable the function of checking hdmi mode, 0 is disable, 1 is enable +;----------------------------------------------------------------- +;[boot_disp] +;auto_hpd = 1 +;output_disp = 0 +;output_type = 3 +;output_mode = 4 +;hdmi_channel = 0 +;hdmi_mode = 4 +;cvbs_channel = 1 +;cvbs_mode = 11 +;hdmi_mode_check = 1 +;output_full = 1 + +;-------------------------------------------------------------------------------- +;csi (COMS Sensor Interface) configuration +;csi(x)_dev(x)_used: 0:disable 1:enable +;csi(x)_dev(x)_isp_used 0:not use isp 1:use isp +;csi(x)_dev(x)_fmt: 0:yuv 1:bayer raw rgb +;csi(x)_dev(x)_stby_mode: 0:not shut down power at standby 1:shut down power at standby +;csi(x)_dev(x)_vflip: flip in vertical direction 0:disable 1:enable +;csi(x)_dev(x)_hflip: flip in horizontal direction 0:disable 1:enable +;csi(x)_dev(x)_iovdd: camera module io power handle string, pmu power supply +;csi(x)_dev(x)_iovdd_vol: camera module io power voltage, pmu power supply +;csi(x)_dev(x)_avdd: camera module analog power handle string, pmu power supply +;csi(x)_dev(x)_avdd_vol: camera module analog power voltage, pmu power supply +;csi(x)_dev(x)_dvdd: camera module core power handle string, pmu power supply +;csi(x)_dev(x)_dvdd_vol: camera module core power voltage, pmu power supply +;csi(x)_dev(x)_afvdd: camera module vcm power handle string, pmu power supply +;csi(x)_dev(x)_afvdd_vol: camera module vcm power voltage, pmu power supply +;fill voltage in uV, e.g. iovdd = 2.8V, csix_iovdd_vol = 2800000 +;fill handle string as below: +;axp22_eldo3 +;axp22_dldo4 +;axp22_eldo2 +;fill handle string "" when not using any pmu power supply +;-------------------------------------------------------------------------------- + +[csi0] +csi0_used = 1 +csi0_sensor_list = 0 +csi0_pck = port:PE00<2> +csi0_mck = port:PE01<1> +csi0_hsync = port:PE02<2> +csi0_vsync = port:PE03<2> +csi0_d0 = port:PE04<2> +csi0_d1 = port:PE05<2> +csi0_d2 = port:PE06<2> +csi0_d3 = port:PE07<2> +csi0_d4 = port:PE08<2> +csi0_d5 = port:PE09<2> +csi0_d6 = port:PE10<2> +csi0_d7 = port:PE11<2> +csi0_sck = port:PE12<2> +csi0_sda = port:PE13<2> + +[csi0/csi0_dev0] +csi0_dev0_used = 1 +csi0_dev0_mname = "gc2035" +csi0_dev0_twi_addr = 0x78 +csi0_dev0_pos = "rear" +csi0_dev0_isp_used = 1 +csi0_dev0_fmt = 0 +csi0_dev0_stby_mode = 0 +csi0_dev0_vflip = 0 +csi0_dev0_hflip = 0 +;csi0_dev0_iovdd = "iovdd-csi" +csi0_dev0_iovdd = "" +csi0_dev0_iovdd_vol = 2800000 +;csi0_dev0_avdd = "avdd-csi" +csi0_dev0_avdd = "" +csi0_dev0_avdd_vol = 2800000 +;csi0_dev0_dvdd = "dvdd-csi-18" +csi0_dev0_dvdd = "" +csi0_dev0_dvdd_vol = 1500000 +;csi0_dev0_afvdd = "afvcc-csi" +csi0_dev0_afvdd = "" +csi0_dev0_afvdd_vol = 2800000 +;csi0_dev0_power_en = port:PB04<1><0><1><0> +csi0_dev0_power_en = port:PA17<1><0><1><0> +csi0_dev0_reset = port:PE14<1><0><1><0> +csi0_dev0_pwdn = port:PE15<1><0><1><0> +csi0_dev0_flash_used = 0 +csi0_dev0_flash_type = 2 +csi0_dev0_flash_en = +csi0_dev0_flash_mode = +csi0_dev0_flvdd = "" +csi0_dev0_flvdd_vol = +csi0_dev0_af_pwdn = +csi0_dev0_act_used = 0 +csi0_dev0_act_name = "ad5820_act" +csi0_dev0_act_slave = 0x18 + +[csi0/csi0_dev1] +csi0_dev1_used = 0 +csi0_dev1_mname = "" +csi0_dev1_twi_addr = 0x78 +csi0_dev1_pos = "rear" +csi0_dev1_isp_used = 1 +csi0_dev1_fmt = 0 +csi0_dev1_stby_mode = 0 +csi0_dev1_vflip = 0 +csi0_dev1_hflip = 0 +csi0_dev1_iovdd = "iovdd-csi" +csi0_dev1_iovdd_vol = 2800000 +csi0_dev1_avdd = "avdd-csi" +csi0_dev1_avdd_vol = 2800000 +csi0_dev1_dvdd = "dvdd-csi-18" +csi0_dev1_dvdd_vol = 1500000 +csi0_dev1_afvdd = "afvcc-csi" +csi0_dev1_afvdd_vol = 2800000 +csi0_dev1_power_en = +csi0_dev1_reset = +csi0_dev1_pwdn = +csi0_dev1_flash_used = 0 +csi0_dev1_flash_type = 2 +csi0_dev1_flash_en = +csi0_dev1_flash_mode = +csi0_dev1_flvdd = "" +csi0_dev1_flvdd_vol = +csi0_dev1_af_pwdn = +csi0_dev1_act_used = 0 +csi0_dev1_act_name = "ad5820_act" +csi0_dev1_act_slave = 0x18 + +;-------------------------------------------------------------------------------- +;tv configuration +; +;-------------------------------------------------------------------------------- +[tvout_para] +tvout_used = +tvout_channel_num = +tv_en = + +[tvin_para] +tvin_used = +tvin_channel_num = + +; ------------------------------------------------------------------------------| +; de-interlace configuration +;-------------------------------------------------------------------------------- +[di] +di_used = 1 + +;-------------------------------------------------------------------------------- +; SDMMC PINS MAPPING | +; ------------------------------------------------------------------------------| +; Config Guide | +; sdc_used: 1-enable card, 0-disable card | +; non-removable:if you use as main memory,you should set it,for example eMMC | +; bus-width: card bus width, 1-1bit, 4-4bit, 8-8bit | +; sunxi-power-save-mode: if use sdio card,should not set it | +; vmmc:regulator for card/emmc power | +; vqmmc:regulator for card/emmc io power | +; vdmmc:regulator for card detect pin pull up power | +; other: GPIO Mapping configuration | +; ------------------------------------------------------------------------------| +; Note: | +; | +; | +; | +; | +; | +; | +;-------------------------------------------------------------------------------- +[sdc0] +sdc0_used = 1 +bus-width = 4 +sdc0_d1 = port:PF00<2><1><2> +sdc0_d0 = port:PF01<2><1><2> +sdc0_clk = port:PF02<2><1><2> +sdc0_cmd = port:PF03<2><1><2> +sdc0_d3 = port:PF04<2><1><2> +sdc0_d2 = port:PF05<2><1><2> +cd-gpios = port:PF06<0><1><2> +sunxi-power-save-mode = +sunxi-dis-signal-vol-sw = +vmmc="vcc-sdcv" +vqmmc="vcc-sdcvq33" +vdmmc="vcc-sdcvd" + + +[sdc1] +sdc1_used = 0 +bus-width = 4 +sdc1_clk = port:PG00<2><1><3> +sdc1_cmd = port:PG01<2><1><3> +sdc1_d0 = port:PG02<2><1><3> +sdc1_d1 = port:PG03<2><1><3> +sdc1_d2 = port:PG04<2><1><3> +sdc1_d3 = port:PG05<2><1><3> +;sunxi-power-save-mode = +sd-uhs-sdr50 = +sd-uhs-ddr50 = +sd-uhs-sdr104 = +cap-sdio-irq = 1 +keep-power-in-suspend = +ignore-pm-notify = +max-frequency = 150000000 + +[sdc2] +sdc2_used = 0 +non-removable = +bus-width = 8 +sdc2_ds = port:PC01<3><1><3> +sdc2_clk = port:PC05<3><1><3> +sdc2_cmd = port:PC06<3><1><3> +sdc2_d0 = port:PC08<3><1><3> +sdc2_d1 = port:PC09<3><1><3> +sdc2_d2 = port:PC10<3><1><3> +sdc2_d3 = port:PC11<3><1><3> +sdc2_d4 = port:PC12<3><1><3> +sdc2_d5 = port:PC13<3><1><3> +sdc2_d6 = port:PC14<3><1><3> +sdc2_d7 = port:PC15<3><1><3> +sdc2_emmc_rst = port:PC16<3><1><3> +cd-gpios = +sunxi-power-save-mode = +sunxi-dis-signal-vol-sw = +;mmc-ddr-1_8v = +;mmc-hs200-1_8v = +;mmc-hs400-1_8v = +;max-frequency = 150000000 +sdc_tm4_sm0_freq0 = 0 +sdc_tm4_sm0_freq1 = 0 +sdc_tm4_sm1_freq0 = 0x00000000 +sdc_tm4_sm1_freq1 = 0 +sdc_tm4_sm2_freq0 = 0x00000000 +sdc_tm4_sm2_freq1 = 0 +sdc_tm4_sm3_freq0 = 0x05000000 +sdc_tm4_sm3_freq1 = 0x00000405 +sdc_tm4_sm4_freq0 = 0x00050000 +sdc_tm4_sm4_freq1 = 0x00000408 +vmmc="vcc-emmcv" +;vqmmc="vcc-emmcvq33" +vqmmc="vcc-emmcvq18" +vdmmc="none" + + +;[mmc3] +;mmc3_used = 0 +;mmc3_detmode = 2 +;mmc3_buswidth = 4 +;mmc3_clk = port:PA10<2><1><2> +;mmc3_cmd = port:PA09<2><1><2> +;mmc3_d0 = port:PA11<2><1><2> +;mmc3_d1 = port:PA12<2><1><2> +;mmc3_d2 = port:PA13<2><1><2> +;mmc3_d3 = port:PA14<2><1><2> +;mmc3_det = +;mmc3_use_wp = 0 +;mmc3_wp = +;mmc3_isio = 0 +;mmc3_regulator = "none" + +; ------------------------------------------------------------------------------| +; sim card configuration +;-------------------------------------------------------------------------------- +[smc] +smc_used = +smc_rst = +smc_vppen = +smc_vppp = +smc_det = +smc_vccen = +smc_sck = +smc_sda = + +;------------------------------------------------------------------------------- +;userspace gpio interface for android +;---------------------------------------------------------------------------------- +[gpio_para] +compatible = "allwinner,sunxi-init-gpio" +gpio_used = 0 +gpio_num = 0 +;gpio_pin_1 = port:PL10<1><0> +;gpio_pin_2 = port:PA20<1><1> +;gpio_pin_3 = port:PA13<1><1> +;normal_led = "gpio_pin_1" +;standby_led = "gpio_pin_2" +;network_led = "gpio_pin_3" + +;-------------------------------- +;[usbc0]: usbc0 configuration. +;usb_used: usb controller enable. 0-disable, 1-enable. +;usb_port_type: usb mode. 0-device, 1-host, 2-otg. +;usb_detect_type: usb hotplug detect mode. 0-none, 1-vbus/id detect, 2-id/dpdm detect. +;usb_detect_mode: usb otg switch has two config. 0-thread scan, 1-id gpio interrupt. +;usb_id_gpio: usb id detect IO. +;usb_det_vbus_gpio: USB DET_VBUS has two config. (1)gpio pin; (2)"axp_ctrl", use axp intf. +;usb_drv_vbus_gpio: USB DRY_VBUS has two config. (1)gpio pin; (2)"axp_ctrl", use axp intf. +;-------------------------------- +;-------------------------------- +;--- USB0 CONFIG +;-------------------------------- +[usbc0] +usbc0_used = 1 +usb_port_type = 2 +usb_detect_type = 0 +usb_detect_mode = 0 +usb_id_gpio = port:PG12<0><1> +usb_det_vbus_gpio = port:PG12<0><1> +usb_drv_vbus_gpio = port:PL02<1><0><0> +usb_host_init_state = 1 +usb_regulator_io = "nocare" +usb_wakeup_suspend = 0 +;--- USB Device +usb_luns = 3 +usb_serial_unique = 0 +usb_serial_number = "20080411" +rndis_wceis = 1 + +;-------------------------------- +;--- USB1 CONFIG +;-------------------------------- +[usbc1] +usbc1_used = 1 +usb_drv_vbus_gpio = +usb_host_init_state = 1 +usb_regulator_io = "nocare" +usb_wakeup_suspend = 0 + +;-------------------------------- +;--- USB2 CONFIG +;-------------------------------- +[usbc2] +usbc2_used = 1 +usb_drv_vbus_gpio = +usb_host_init_state = 1 +usb_regulator_io = "nocare" +usb_wakeup_suspend = 0 + +;-------------------------------- +;--- USB3 CONFIG +;-------------------------------- +[usbc3] +usbc3_used = 1 +usb_drv_vbus_gpio = +usb_host_init_state = 1 +usb_regulator_io = "nocare" +usb_wakeup_suspend = 0 + +;-------------------------------- +;--- serial number flag +;-------------------------------- +[serial_feature] +sn_filename = "sn.txt" + +;-------------------------------------------------------------------------------- +; G sensor configuration +; gs_twi_id --- TWI ID for controlling Gsensor (0: TWI0, 1: TWI1, 2: TWI2) +;-------------------------------------------------------------------------------- +[gsensor] +compatible = "allwinner,sun50i-gsensor-para"; +gsensor_used = 0 +gsensor_twi_id = 1 +gsensor_twi_addr = 0x18 +gsensor_int1 = port:PA09<6><1> +gsensor_int2 = +gsensor_vcc_io = "vcc-deviceio" +gsensor_vcc_io_val = 3100 + +;-------------------------------------------------------------------------------- +; G sensor automatic detection configuration +;gsensor_detect_used --- Whether startup automatic inspection function. 1:used,0:unused +;Module name postposition 1 said detection, 0 means no detection. +;-------------------------------------------------------------------------------- +[gsensor_list_para] +compatible = "allwinner,sun50i-gsensor-list-para" +gsensor_det_used = 0 +lsm9ds0_acc_mag = 1 +bma250 = 1 +mma8452 = 1 +mma7660 = 1 +mma865x = 1 +afa750 = 1 +lis3de_acc = 1 +lis3dh_acc = 1 +kxtik = 1 +dmard10 = 0 +dmard06 = 1 +mxc622x = 1 +fxos8700 = 1 +lsm303d = 0 + +;-------------------------------------------------------------------------------- +;wlan configuration +;wlan_used: 0-not use, 1- use +;wlan_busnum: sdio/usb index +;clocks: external low power clock input (32.768KHz) +;wlan_power: input supply voltage +;wlan_io_regulator: wlan/sdio I/O voltage +;wlan_regon: power up/down internal regulators used by wifi section +;wlan_hostwake: wlan to wake-up host +;-------------------------------------------------------------------------------- +[wlan] +wlan_used = 0 +wlan_busnum = 1 +wlan_usbnum = 3 +clocks = "&clk_losc_out" +wlan_power = "vcc-wifi" +wlan_io_regulator = "vcc-wifi-io" +;wlan_en = port:PC14<1><0> +wlan_regon = port:PC14<1><0> +wlan_hostwake = port:PL07<0><0> + +;-------------------------------------------------------------------------------- +;bluetooth configuration +;bt_used: 0- no used, 1- used +;clocks: external low power clock input (32.768KHz) +;bt_power: input supply voltage +;bt_io_regulator: bluetooth I/O voltage +;bt_rst_n: power up/down internal regulators used by BT section +;-------------------------------------------------------------------------------- +[bt] +bt_used = 0 +;clocks = "&clk_losc_out" +bt_power = "vcc-wifi" +bt_io_regulator = "vcc-wifi-io" +bt_rst_n = port:PC16<1><0> + +;-------------------------------------------------------------------------------- +;bluetooth lpm configuration +;btlpm_used: 0- no used, 1- used +;uart_index: 0- uart0, 1- uart1, 2- uart2 +;bt_wake: host wake-up bluetooth device +;bt_hostwake: bt device wake-up host +;-------------------------------------------------------------------------------- +[btlpm] +btlpm_used = 0 +uart_index = 1 +bt_wake = port:PC15<1><1> +bt_hostwake = port:PL06<6><0> + +;-------------------------------------------------------------------------------- +;3G configuration +;-------------------------------------------------------------------------------- +[3g_para] +3g_used = 0 +3g_usbc_num = 2 +3g_uart_num = 0 +bb_vbat = port:PL03<1><0> +bb_host_wake = port:PM00<1><0> +bb_on = port:PM01<1><0> +bb_pwr_on = port:PM03<1><0> +bb_wake = port:PM04<1><0> +bb_rf_dis = port:PM05<1><0> +bb_rst = port:PM06<1><0> +3g_int = + +;-------------------------------------------------------------------------------- +;gyroscope +;-------------------------------------------------------------------------------- +[gy_para] +compatible ="allwinner,sun50i-gyr_sensors-para" +gy_used = 0 +gy_twi_id = 2 +gy_twi_addr = 0x6a +gy_int1 = port:PA10<6><1> +gy_int2 = + +;-------------------------------------------------------------------------------- +; Gyro automatic detection configuration +;gy_detect_used --- Whether startup automatic inspection function. 1:used,0:unused +;Module name postposition 1 said detection, 0 means no detection. +;-------------------------------------------------------------------------------- +[gy_list_para] +compatible = "allwinner,sun50i-gyr_sensors-list-para" +gy_det_used = 0 +lsm9ds0_gyr = 1 +l3gd20_gyr = 0 +bmg160_gyr = 1 + +;-------------------------------------------------------------------------------- +;light sensor +;-------------------------------------------------------------------------------- +[ls_para] +compatible = "allwinner,sun50i-lsensors-para" +ls_used = 0 +ls_twi_id = 2 +ls_twi_addr = 0x23 +ls_int = port:PA12<6><1> + +;-------------------------------------------------------------------------------- +; lsensor automatic detection configuration +;ls_detect_used --- Whether startup automatic inspection function. 1:used,0:unused +;Module name postposition 1 said detection, 0 means no detection. +;-------------------------------------------------------------------------------- +[ls_list_para] +compatible = "allwinner,sun50i-lsensors-list-para" +ls_det_used = 0 +ltr_501als = 1 +jsa1212 = 0 +jsa1127 = 1 + +;-------------------------------------------------------------------------------- +;compass +;-------------------------------------------------------------------------------- +[compass_para] +compatible ="allwinner,sun50i-compass-para" +compass_used = 0 +compass_twi_id = 2 +compass_twi_addr = 0x0d +compass_int = port:PA11<6><1> + +;-------------------------------------------------------------------------------- +; compass sensor automatic detection configuration +;compass_detect_used --- Whether startup automatic inspection function. 1:used,0:unused +;Module name postposition 1 said detection, 0 means no detection. +;-------------------------------------------------------------------------------- +[compass_list_para] +compatible ="allwinner,sun50i-compass-list-para" +compass_det_used = 0 +lsm9ds0 = 1 +lsm303d = 0 +akm8963 = 1 + +;-------------------------------------------------------------------------------- +; NOTE :Make sure spdif_used = 0x1,spdifmach_used = 0x1, +; if register the sound card spdif. +;-------------------------------------------------------------------------------- +[spdif] +spdif_used = 0 +[sndspdif] +sndspdif_used = 0 +;---------------------------------------------------------------------------------- +; NOTE :Make sure daudio2_used = 0x1,sndhdmi_used = 0x1, +; if register the sound card hdmi. +;--------------------------------------------------------------------------------- +[daudio2] +daudio2_used = 1 +[sndhdmi] +sndhdmi_used = 1 +;-------------------------------------------------------------------------------- +;allwinner,pcm_lrck_period :16/32/64/128/256 +;allwinner,pcm_lrckr_period :no use +;allwinner,slot_width_select :16bits/20bits/24bits/32bits +;allwinner,pcm_lsb_first :0: msb first; 1: lsb first +;allwinner,tx_data_mode :0: 16bit linear PCM; 1: 8bit linear PCM; 2: 8bit u-law; 3: 8bit a-law +;allwinner,rx_data_mode :0: 16bit linear PCM; 1: 8bit linear PCM; 2: 8bit u-law; 3: 8bit a-law +;allwinner,daudio_master :1: SND_SOC_DAIFMT_CBM_CFM(codec clk & FRM master) use +; 2: SND_SOC_DAIFMT_CBS_CFM(codec clk slave & FRM master) not use +; 3: SND_SOC_DAIFMT_CBM_CFS(codec clk master & frame slave) not use +; 4: SND_SOC_DAIFMT_CBS_CFS(codec clk & FRM slave) use +;allwinner,audio_format: 1:SND_SOC_DAIFMT_I2S(standard i2s format). use +; 2:SND_SOC_DAIFMT_RIGHT_J(right justfied format). +; 3:SND_SOC_DAIFMT_LEFT_J(left justfied format) +; 4:SND_SOC_DAIFMT_DSP_A(pcm. MSB is available on 2nd BCLK rising edge after LRC rising edge). use +; 5:SND_SOC_DAIFMT_DSP_B(pcm. MSB is available on 1nd BCLK rising edge after LRC rising edge) +;allwinner,signal_inversion:1:SND_SOC_DAIFMT_NB_NF(normal bit clock + frame) use +; 2:SND_SOC_DAIFMT_NB_IF(normal BCLK + inv FRM) +; 3:SND_SOC_DAIFMT_IB_NF(invert BCLK + nor FRM) use +; 4:SND_SOC_DAIFMT_IB_IF(invert BCLK + FRM) +;allwinner,frametype :0:short frame = 1 clock width; 1: long frame = 2 clock width +;allwinner,tdm_config :0:pcm 1:i2s +;allwinner,mclk_div :0: not output(normal setting this) 1/2/4/6/8/12/16/24/32/48/64/96/128/176/192: +; setting mclk as input clock to external codec, freq is pll_audio/mclk_div +;allwinner,daudio0_used :0:not use 1:use + +;-------------------------------------------------------------------------------- +; NOTE :Make sure snddaudio0_used = 0x1,daudio1_used = 0x1, +; if register the sound card DAUDIO1. +;-------------------------------------------------------------------------------- +[snddaudio0] +snddaudio0_used = 0 +;----------------------------------------------------------------------------- +[daudio0] +pcm_lrck_period = 0x20 +pcm_lrckr_period = 0x01 +slot_width_select = 0x20 +pcm_lsb_first = 0x0 +tx_data_mode = 0x0 +rx_data_mode = 0x0 +daudio_master = 0x04 +audio_format = 0x01 +signal_inversion = 0x01 +frametype = 0x0 +tdm_config = 0x01 +mclk_div = 0x0 +daudio0_used = 0 + +;------------------------------------------------------------------------------- +; NOTE :Make sure snddaudio1_used = 0x1,daudio0_used = 0x1, +; if register the sound card DAUDIO0. +;-------------------------------------------------------------------------------- +[snddaudio1] +snddaudio1_used = 0 +;----------------------------------------------------------------------------- +[daudio1] +pcm_lrck_period = 0x20 +pcm_lrckr_period = 0x01 +slot_width_select = 0x20 +pcm_lsb_first = 0x0 +tx_data_mode = 0x0 +rx_data_mode = 0x0 +daudio_master = 0x04 +audio_format = 0x01 +signal_inversion = 0x01 +frametype = 0x0 +tdm_config = 0x01 +mclk_div = 0x0 +daudio1_used = 0 +;---------------------------------------------------------------------------------------------------------- +;-------------------------------------------------------------------------------------- +;allwinner,headphonevol :headphone volume:0x0--0x3f 0db--(-62db) 1db/step +;allwinner,spkervol : speaker volume:0x0--0x1f 0db-(-43.5db) 1.5db/step +;allwinner,earpiecevol : earpiece volume:0x0--0x1f 0db-(-43.5db) 1.5db/step +;allwinner,maingain : mainmic gain:0x0---0x7 0x0-0db 0x1:24db 3db/step +;allwinner,headsetmicgain : headphonemic gain:0x0---0x7 0x0-0db 0x1:24db 3db/step +;allwinner,adcagc_cfg : 1:use adcagc 0:no use +;allwinner,adcdrc_cfg : 1:use adcdrc 0:no use +;allwinner,adchpf_cfg : 1:use adchpf 0:no use +;allwinner,dacdrc_cfg : 1:use adcdrc 0:no use +;allwinner,dachpf_cfg : 1:use adchpf 0:no use +;allwinner,aif2config : 1:use aif2 0:no use +;allwinner,aif3config : 1:use aif3 0:no use +;allwinner,hp_detect_case :0:low 1:high +;-------------------------------------------------------------------------------- +; NOTE :Make sure sndcodec_used = 0x1,i2s_used = 0x1 +; codec_used = 0x1,if register the sound card audiocodec. +;--------------------------------------------------------------------------------- +[sndcodec] +sndcodec_used = 0x1 +;------------------------------------------------------------------------------ +;------------------------------------------------------------------------------- +[codec] +codec_used = 1 +headphonevol = 0x3b +spkervol = 0x1f +maingain = 0x4 +adcagc_cfg = 0x0 +adcdrc_cfg = 0x0 +adchpf_cfg = 0x0 +dacdrc_cfg = 0x0 +dachpf_cfg = 0x0 +pa_sleep_time = 0x32 +;gpio-spk = port:PA16<1><1> + +;---------------------------------------------------------------------------------- +;ir --- infra remote configuration +;---------------------------------------------------------------------------------- +[s_cir0] +s_cir0_used = 1 +ir_power_key_code0 = 0x57 +ir_addr_code0 = 0x9f00 +ir_power_key_code1 = 0x1a +ir_addr_code1 = 0xfb04 +ir_power_key_code2 = 0x14 +ir_addr_code2 = 0x7F80 +ir_power_key_code3 = 0x15 +ir_addr_code3 = 0x7F80 +ir_power_key_code4 = 0x0b +ir_addr_code4 = 0xF708 +ir_power_key_code5 = 0x03 +ir_addr_code5 = 0x00EF +ir_power_key_code6 = 0xdc +ir_addr_code6 = 0x4cb3 +ir_power_key_code7 = 0x0a +ir_addr_code7 = 0x7748 +ir_power_key_code8 = 0x45 +ir_addr_code8 = 0xbd02 +ir_power_key_code9 = 0x4d +ir_addr_code9 = 0xde21 +ir_power_key_code10 = 0x18 +ir_addr_code10 = 0xfe01 +ir_power_key_code11 = 0x57 +ir_addr_code11 = 0xff00 +ir_power_key_code12 = 0x4d +ir_addr_code12 = 0xff40 +ir_power_key_code13 = 0x88 +ir_addr_code13 = 0xdd22 +ir_power_key_code14 = 0x0d +ir_addr_code14 = 0xbc00 +ir_power_key_code15 = 0x0d +ir_addr_code15 = 0xfc00 + +;-------------------------------------------------------------------------------------------------------- +;compatible ---pmu0 name, axpdummy is a dummy axp +;used ---0:not used,1:used +;pmu_id ---if bit7 is 1, then is a dummy axp; else 0:axp19x,1:axp209,2:axp22x,3:axp806,4:axp808,5:axp809,6:axp803,7:axp813,8:axp157 +;-------------------------------------------------------------------------------------------------------- +[pmu0] +compatible = "axpdummy" +used = 1 +pmu_id = 0x83 + +;-------------------------------------------------------------------------------------------------------- +;pmu_bat_unused ---0:used,1: charger unsupported on this pmu +;pmu_pwroff_vol ---set protect voltage when system start up,mV,2600/2700/2800/2900/3000/3100/3200/3300 +;power_start ---when system is in charging, shutdown is power off or resart;0:restart 1:poweroff +;-------------------------------------------------------------------------------------------------------- +;[charger0] +;pmu_bat_unused = 1 +;pmu_pwroff_vol = 3300 +;power_start = 0 + +;-------------------------------------------------------------------------------------------------------- +;compatible ---regulator0 name, support:axpdummy-regulator +;regulator_count ---pmu ldo count, changed with different pmu +;regulator(1~regulator_count) ---ldo details +;-------------------------------------------------------------------------------------------------------- +[regulator0] +compatible = "axpdummy-regulator" +regulator_count = 6 +regulator1 = "axpdummy_ldo1 none avcc vcc-pll vcc-tv" +regulator2 = "axpdummy_ldo2 none vcc-dram" +regulator3 = "axpdummy_ldo3 none vdd-sys vdd-ehpy" +regulator4 = "axpdummy_ldo4 none vdd-cpua" +regulator5 = "axpdummy_ldo5 none vcc-wifi" +regulator6 = "axpdummy_ldo6 none vcc-rtc vdd-cpus vcc-io vcc-efuse vcc-sdc vcc-nand vcc-usb vcc-uartx vcc-feled vcc-key vcc-audio vcc-ir" + +;---------------------------------------------------------------------------------- +; dvfs voltage-frequency table configuration +; +; max_freq: cpu maximum frequency, based on Hz +; min_freq: cpu minimum frequency, based on Hz +; +; lv_count: count of lv_freq/lv_volt, must be < 16 +; +; lv1: core vdd is 1.30v if cpu frequency is (1104Mhz, 1152Mhz] +; lv2: core vdd is 1.26v if cpu frequency is (1008Mhz, 1104Mhz] +; lv3: core vdd is 1.20v if cpu frequency is (816Mhz, 1008Mhz] +; lv4: core vdd is 1.10v if cpu frequency is (648Mhz, 816Mhz] +; lv5: core vdd is 1.04v if cpu frequency is (480Mhz, 648Mhz] +; lv6: core vdd is 1.04v if cpu frequency is (480Mhz, 648Mhz] +; lv7: core vdd is 1.04v if cpu frequency is (480Mhz, 648Mhz] +; lv8: core vdd is 1.04v if cpu frequency is (480Mhz, 648Mhz] +; +;---------------------------------------------------------------------------------- +[dvfs_table] +;extremity_freq = 1344000000 +max_freq = 1008000000 +min_freq = 480000000 + +lv_count = 8 +lv1_freq = 1152000000 +lv1_volt = 1100 + +lv2_freq = 1104000000 +lv2_volt = 1100 + +lv3_freq = 1008000000 +lv3_volt = 1100 + +lv4_freq = 816000000 +lv4_volt = 1100 + +lv5_freq = 624000000 +lv5_volt = 1100 + +lv6_freq = 0 +lv6_volt = 1100 + +lv7_freq = 0 +lv7_volt = 1100 + +lv8_freq = 0 +lv8_volt = 1100 + +;---------------------------------------------------------------------------------- +;s_uart0 config parameters +;s_uart0_used --s_uart0 whether used for arisc debugging +; +;---------------------------------------------------------------------------------- +[s_uart0] +s_uart0_used = 0 +s_uart0_tx = port:PL02<2> +s_uart0_rx = port:PL03<2> + +;---------------------------------------------------------------------------------- +;s_rsb0 config parameters +;s_rsb0_used --s_rsb0 whether used for arisc +; +;---------------------------------------------------------------------------------- +[s_rsb0] +s_rsb0_used = 1 +s_rsb0_sck = port:PL00<2><1><2> +s_rsb0_sda = port:PL01<2><1><2> + +;---------------------------------------------------------------------------------- +;s_jtag0 config parameters +;s_jtag0_used --s_jtag0 whether used for arisc +; +;---------------------------------------------------------------------------------- +[s_jtag0] +s_jtag0_used = 0 +s_jtag0_tms = port:PL04<2><1><2> +s_jtag0_tck = port:PL05<2><1><2> +s_jtag0_tdo = port:PL06<2><1><2> +s_jtag0_tdi = port:PL07<2><1><2> + +;---------------------------------------------------------------------------------- +;virtual device +;virtual device for pinctrl testing +;device have pin PA1 PA2 +;---------------------------------------------------------------------------------- +[Vdevice] +Vdevice_used = 0 +Vdevice_0 = port:PA01<5><1><2> +Vdevice_1 = port:PA02<5><1><2> + +;---------------------------------------------------------------------------------- +;mali450 parameters +;regulator_id : the regulator id GPU used. +;dvfs_status : dvfs status, if this is enabled, DVFS will work. +;temp_ctrl_status : temperature control status, if this is enabled, the gpu frequency +; will drop down if the temperature of gpu is too high. +;scene_ctrl_status: scene control status, if this is enabled, android layer can ask +; gpu driver to change frequency in certain scene. +;max_level : maximum level, which is used when thermal system does not restrict +; GPU power consumption. +;begin_level : the corresponding frequency and voltage will be used during GPU +; initialization. +;lvfreq : frequency in MHz of certain level. +;lvvolt : voltage in mV of certain level. +;---------------------------------------------------------------------------------- +[gpu_mali450_0] +regulator_id = "vdd-gpu" +dvfs_status = 0 +temp_ctrl_status = 1 +scene_ctrl_status = 1 + +max_level = 3 +begin_level = 3 + +lv0_freq = 144 +lv0_volt = 1200 + +lv1_freq = 264 +lv1_volt = 1200 + +lv2_freq = 384 +lv2_volt = 1200 + +lv3_freq = 456 +lv3_volt = 1200 + +;--------------------------------------------------------------------------------- +; used 1: box 0:pad +; start_type 1: start system directly when power supply 0: wait IR/KEY to power on +; irkey_used 1: ir key used 0: not +; pmukey_used 1: physical button used, 0: not, the key is link to PMU PWROK +;--------------------------------------------------------------------------------- +[box_start_os] +used = 1 +start_type = 1 +irkey_used = 1 +pmukey_used = 0 + +;--------------------------------------------------------------------------------- +; the module used when box_start_os is used, the this module is to support on/off +; led when box into box standby, the gpio is only support PL and AXP gpio(0/1) +;--------------------------------------------------------------------------------- +[box_standby_led] +gpio0 = port:PL10<1><1> +gpio1 = port:PA20<1><0> + +;-------------------------------------------------------------------------------- +; +; support power key on Orangepi +;-------------------------------------------------------------------------------- +[gpio_power_key] +key_io = port:PL03<6><0> diff --git a/external/packages/pack-uboot/sun50iw2/bin/sys_config/sys_config_orangepiprime.fex b/external/packages/pack-uboot/sun50iw2/bin/sys_config/sys_config_orangepiprime.fex new file mode 100755 index 000000000000..7f354ccb7973 --- /dev/null +++ b/external/packages/pack-uboot/sun50iw2/bin/sys_config/sys_config_orangepiprime.fex @@ -0,0 +1,1518 @@ +;sun50iw2p1 application +;--------------------------------------------------------------------------------------------------------- +; 说明: 脚本中的字符串区分大小写,用户可以修改"="后面的数值,但是不要修改前面的字符串 +; 描述gpio的形式:Port:端口+组内序号<功能分配><内部电阻状态><驱动能力><输出电平状态> +;--------------------------------------------------------------------------------------------------------- +; Platform: OrangePi Prime + +[product] +version = "100" +machine = "cheetah-p1" + +[platform] +debug_mode = 1 +;eraseflag = 1 + +;---------------------------------------------------------------------------------- +; burn_key: 0-do not use dragonKey 1-use dragonKey +; dragonboard_test: 0-build dragonboard for flash boot 1-build dragonboard for TF boot +;---------------------------------------------------------------------------------- +[target] +boot_clock = 1008 +storage_type = -1 +burn_key = 0 +dragonboard_test = 0 +power_mode = 1 + +[power_sply] +dcdcb_vol = 1001260 +dcdcc_vol = 1001200 +aldo2_vol = 1003300 + +;---------------------------------------------------------------------------------- +; goto android recovery when press the ir key +; ir_boot_recovery_used: 0-not used, 1-used +; ir_recovery_key_codex: the ir recovery key code value +; ir_addr_codex: the ir addr value +;---------------------------------------------------------------------------------- +[ir_boot_recovery] +ir_boot_recovery_used = 0 +ir_recovery_key_code0 = 0x57 +ir_addr_code0 = 0x9f00 +ir_recovery_key_code1 = 0x15 +ir_addr_code1 = 0xbc00 + +;---------------------------------------------------------------------------------- +; sprite_gpio0: led that indicates the state of card product +; next_work: the action after finishing card product 2-reboot 3-shutdown +;---------------------------------------------------------------------------------- +[card_boot] +logical_start = 40960 +sprite_gpio0 = port:PL10<1><0> +next_work = 3 + +;---------------------------------------------------------------------------------- +; used: 模块使能端 1:开启模块 0:关闭模块 +; mode: 模式选择 1:一键进入OTA升级 2:一键恢复(通过sysrecovery分区来恢复) 其他值:无效 +; recovery_key : 按键配置 (例如:recovery_key= port:PH16<0>) +;---------------------------------------------------------------------------------- +[recovery_para] +used = 1 +mode = 1 +recovery_key = port:PL04<0> + +[boot_init_gpio] +boot_init_gpio_used = 1 +gpio0 = port:PL10<1><0> +gpio1 = port:PA20<1><1> + + +;--------------------------------------------------------------------------------------------------------- +; if 1 == standby_mode, then support super standby; +; else, support normal standby. +;--------------------------------------------------------------------------------------------------------- +[pm_para] +standby_mode = 1 + +[card0_boot_para] +card_ctrl = 0 +card_high_speed = 1 +card_line = 4 +sdc_d1 = port:PF00<2><1><2> +sdc_d0 = port:PF01<2><1><2> +sdc_clk = port:PF02<2><1><2> +sdc_cmd = port:PF03<2><1><2> +sdc_d3 = port:PF04<2><1><2> +sdc_d2 = port:PF05<2><1><2> + +[card2_boot_para] +card_ctrl = 2 +card_high_speed = 1 +card_line = 8 +sdc_ds = port:PC1<4><1><3> +sdc_clk = port:PC5<3><1><3> +sdc_cmd = port:PC6<3><1><3> +sdc_d0 = port:PC8<3><1><3> +sdc_d1 = port:PC9<3><1><3> +sdc_d2 = port:PC10<3><1><3> +sdc_d3 = port:PC11<3><1><3> +sdc_d4 = port:PC12<3><1><3> +sdc_d5 = port:PC13<3><1><3> +sdc_d6 = port:PC14<3><1><3> +sdc_d7 = port:PC15<3><1><3> +sdc_emmc_rst = port:PC16<3><1><3> +sdc_ex_dly_used = 2 + + +[twi_para] +twi_port = 0 +twi_scl = port:PL0<2> +twi_sda = port:PL1<2> + +[uart_para] +uart_debug_port = 0 +uart_debug_tx = port:PA4<2><1> +uart_debug_rx = port:PA5<2><1> + +[jtag_para] +jtag_enable = 0 +jtag_ms = port:PB0<4> +jtag_ck = port:PB1<4> +jtag_do = port:PB2<4> +jtag_di = port:PB3<4> + +[clock] +pll4 = 300 +pll6 = 600 +pll8 = 360 +pll9 = 297 +pll10 = 264 + +;***************************************************************************** +;sdram configuration +; +;***************************************************************************** +[dram_para] +dram_clk = 624 +;dram_clk = 480 +dram_type = 3 +dram_zq = 0x3b3bf9 +dram_odt_en = 0x1 +dram_para1 = 0x10f410f4 +dram_para2 = 0x0000 +dram_mr0 = 0x1840 +dram_mr1 = 0x40 +dram_mr2 = 0x18 +dram_mr3 = 0x2 +dram_tpr0 = 0x0048A192 +dram_tpr1 = 0x01b1a94b +dram_tpr2 = 0x00061043 +dram_tpr3 = 0xB4787896 +dram_tpr4 = 0x0000 +dram_tpr5 = 0x0 +dram_tpr6 = 100 +dram_tpr7 = 0x1e08a1e0 +dram_tpr8 = 0x0 +dram_tpr9 = 0 +dram_tpr10 = 0x2535 +dram_tpr11 = 0x68660000 +dram_tpr12 = 0x00008897 +dram_tpr13 = 0x4002910 + +;dram_clk = 672 +;dram_type = 3 +;dram_zq = 0x3b3bfb +;dram_odt_en = 0x1 +;dram_para1 = 285476864 +;dram_para2 = 0x0000 +;dram_mr0 = 7280 +;dram_mr1 = 0x40 +;dram_mr2 = 0x18 +;dram_mr3 = 0 +;dram_tpr0 = 0x0048A192 +;dram_tpr1 = 0x01c2418d +;dram_tpr2 = 0x76051 +;dram_tpr3 = 0 +;dram_tpr4 = 0x0000 +;dram_tpr5 = 0x0 +;dram_tpr6 = 0x64 +;dram_tpr7 = 0x0 +;dram_tpr8 = 0x0 +;dram_tpr9 = 0 +;dram_tpr10 = 0 +;dram_tpr11 = 0x6aaa0000 +;dram_tpr12 = 0x7979 +;dram_tpr13 = 0x1800801 +;---------------------------------------------------------------------------------- +;os life cycle para configuration +;---------------------------------------------------------------------------------- + +;------------------------------------------------------------------------------; +; 10/100/100Mbps Ethernet MAC Controller Configure ; +;------------------------------------------------------------------------------; +; 配置选项: ; +; gmac_used --- 1: gmac used, 0: not used ; +; gmac_powerx -- A[:B] A: axp channel, B: voltage value ; +; phy-mode -- rgmii, rmii, mii ; +; tx-delay -- transmit clock delay: 0~7 ; +; rx-delay -- receive clock delay: 0~31 ; +;------------------------------------------------------------------------------; +[gmac0] +gmac0_used = 1 +phy-mode = "rgmii" +;gmac_rxd3 = port:PD00<2><3> +;gmac_rxd2 = port:PD01<2><3> +;gmac_rxd1 = port:PD02<2><3> +;gmac_rxd0 = port:PD03<2><3> +;gmac_rxdv = port:PD05<2><3> +;gmac_rxclk = port:PD04<2><3> +;gmac_rxerr = port:PD06<2><3> +;gmac_txd3 = port:PD07<2><3> +;gmac_txd2 = port:PD08<2><3> +;gmac_txd1 = port:PD09<2><3> +;gmac_txd0 = port:PD10<2><3> +;gmac_txclk = port:PD12<2><3> +;gmac_txen = port:PD13<2><3> +;gmac_clkin = port:PD15<2><3> +;gmac_mdc = port:PD16<2><3> +;gmac_mdio = port:PD17<2><3> +gmac_power1 = +gmac_power2 = +gmac_power3 = +tx-delay = 0 +rx-delay = 0 + +;---------------------------------------------------------------------------------- +;i2c configuration +;---------------------------------------------------------------------------------- +[twi0] +twi0_used = 1 +twi0_scl = port:PA11<2> +twi0_sda = port:PA12<2> + +[twi0_suspend] +twi0_scl = port:PA11<7> +twi0_sda = port:PA12<7> + +[twi1] +twi1_used = 1 +twi1_scl = port:PA18<3> +twi1_sda = port:PA19<3> + +[twi1_suspend] +twi1_scl = port:PA18<7> +twi1_sda = port:PA19<7> + +[twi2] +twi2_used = 0 +twi2_scl = port:PE12<3> +twi2_sda = port:PE13<3> + +[twi2_suspend] +twi2_scl = port:PE12<7> +twi2_sda = port:PE13<7> + +;---------------------------------------------------------------------------------- +;TWI device configuration +;compatible --- device name +;reg --- device address +;---------------------------------------------------------------------------------- +;[twi0/twi_board0] +;compatible = +;reg = + +;---------------------------------------------------------------------------------- +;uart configuration +;uart_port --- x (/dev/ttySx, x=0,1,2,...) +;uart_type --- 2 (2 wire), 4 (4 wire), 8 (8 wire, full function) +;---------------------------------------------------------------------------------- +[uart0] +uart0_used = 1 +uart0_port = 0 +uart0_type = 2 +uart0_tx = port:PA4<2><1> +uart0_rx = port:PA5<2><1> + +[uart0_suspend] +uart0_tx = port:PA4<7><1> +uart0_rx = port:PA5<7><1> + +[uart1] +uart1_used = 1 +uart1_port = 1 +uart1_type = 4 +uart1_tx = port:PG6<2><1> +uart1_rx = port:PG7<2><1> +uart1_rts = port:PG8<2><1> +uart1_cts = port:PG9<2><1> + +[uart1_suspend] +uart1_tx = port:PG6<7><1> +uart1_rx = port:PG7<7><1> +uart1_rts = port:PG8<7><1> +uart1_cts = port:PG9<7><1> + +[uart2] +uart2_used = 1 +uart2_port = 2 +uart2_type = 4 +uart2_tx = port:PA0<2><1> +uart2_rx = port:PA1<2><1> +uart2_rts = port:PA2<2><1> +uart2_cts = port:PA3<2><1> + +[uart2_suspend] +uart2_tx = port:PA0<7><1> +uart2_rx = port:PA1<7><1> +uart2_rts = port:PA2<7><1> +uart2_cts = port:PA3<7><1> + +[uart3] +uart3_used = 0 +uart3_port = 3 +uart3_type = 4 +uart3_tx = port:PA13<2><1> +uart3_rx = port:PA14<2><1> +uart3_rts = port:PA15<2><1> +uart3_cts = port:PA16<2><1> + +[uart3_suspend] +uart3_tx = port:PA13<7><1> +uart3_rx = port:PA14<7><1> +uart3_rts = port:PA15<7><1> +uart3_cts = port:PA16<7><1> + +;---------------------------------------------------------------------------------- +;SPI controller configuration +;---------------------------------------------------------------------------------- +[spi0] +spi0_used = 0 +spi0_cs_number = 1 +spi0_cs_bitmap = 1 +spi0_cs0 = port:PC3<3><1> +spi0_sclk = port:PC2<3> +spi0_mosi = port:PC0<3> +spi0_miso = port:PC1<4> + +[spi0_suspend] +spi0_cs0 = port:PC3<7><1> +spi0_sclk = port:PC2<7> +spi0_mosi = port:PC0<7> +spi0_miso = port:PC1<7> + +[spi1] +spi1_used = 1 +spi1_cs_number = 1 +spi1_cs_bitmap = 1 +spi1_cs0 = port:PA13<2><1> +spi1_sclk = port:PA14<2> +spi1_mosi = port:PA15<2> +spi1_miso = port:PA16<2> + +[spi1_suspend] +spi1_cs0 = port:PA13<7><1> +spi1_sclk = port:PA14<7> +spi1_mosi = port:PA15<7> +spi1_miso = port:PA16<7> + +;---------------------------------------------------------------------------------- +;SPI device configuration +;compatible --- device name +;spi-max-frequency --- work frequency +;reg --- chip select +;optional properties: spi-cpha, spi-cpol, spi-cs-high +;---------------------------------------------------------------------------------- +[spi1/spi_board0] +compatible = "spidev" +spi-max-frequency = 1200000 +reg = 0 +;spi-cpha = 0 +;spi-cpol = 0 +;spi-cs-high = 0 + +;---------------------------------------------------------------------------------- +;resistance tp configuration +;---------------------------------------------------------------------------------- +[rtp_para] +rtp_used = 0 +rtp_screen_size = 5 +rtp_regidity_level = 5 +rtp_press_threshold_enable = 0 +rtp_press_threshold = 0x1f40 +rtp_sensitive_level = 0xf +rtp_exchange_x_y_flag = 0 + +;---------------------------------------------------------------------------------- +;capacitor tp configuration +;external int function +;wakeup output function +;notice --- tp_int_port & tp_io_port use the same port +;---------------------------------------------------------------------------------- +[ctp] +compatible = "allwinner,sun50i-ctp-para" +ctp_used = 0 +ctp_twi_id = 0 +ctp_twi_addr = 0x5d +ctp_screen_max_x = 1280 +ctp_screen_max_y = 800 +ctp_revert_x_flag = 1 +ctp_revert_y_flag = 1 +ctp_exchange_x_y_flag = 1 + +ctp_int_port = port:PH04<6> +ctp_wakeup = port:PH08<1><1> +ctp_power_ldo = "vcc-ctp" +ctp_power_ldo_vol = 3300 +ctp_power_io = + +;-------------------------------------------------------------------------------- +; CTP automatic detection configuration +;ctp_detect_used --- Whether startup automatic inspection function. 1:used,0:unused +;Module name postposition 1 said detection, 0 means no detection. +;-------------------------------------------------------------------------------- +[ctp_list] +compatible = "allwinner,sun50i-ctp-list" +ctp_det_used = 1 +ft5x_ts = 1 +gt82x = 1 +gslX680 = 1 +gt9xx_ts = 0 +gt9xxnew_ts = 1 +gt811 = 1 +zet622x = 1 +aw5306_ts = 1 + +;---------------------------------------------------------------------------------- +;touch key configuration +;---------------------------------------------------------------------------------- +[tkey_para] +tkey_used = 0 +tkey_twi_id = +tkey_twi_addr = +tkey_int = + +;---------------------------------------------------------------------------------- +;motor configuration +;---------------------------------------------------------------------------------- +[motor_para] +motor_used = 1 +motor_shake = port:power3<1><1> + +[nand0_para] +nand0_support_2ch = 0 + +nand0_used = 0 +nand0_we = port:PC00<2><0><1> +nand0_ale = port:PC01<2><0><1> +nand0_cle = port:PC02<2><0><1> +nand0_ce1 = port:PC03<2><1><1> +nand0_ce0 = port:PC04<2><1><1> +nand0_nre = port:PC05<2><0><1> +nand0_rb0 = port:PC06<2><1><1> +nand0_rb1 = port:PC07<2><1><1> +nand0_d0 = port:PC08<2><0><1> +nand0_d1 = port:PC09<2><0><1> +nand0_d2 = port:PC10<2><0><1> +nand0_d3 = port:PC11<2><0><1> +nand0_d4 = port:PC12<2><0><1> +nand0_d5 = port:PC13<2><0><1> +nand0_d6 = port:PC14<2><0><1> +nand0_d7 = port:PC15<2><0><1> +nand0_ndqs = port:PC16<2><0><1> +nand0_ce2 = port:PC17<2><1><1> +nand0_ce3 = port:PC18<2><1><1> + +nand0_regulator1 = "vcc-nand" +nand0_regulator2 = "none" +nand0_cache_level = 0x55aaaa55 +nand0_flush_cache_num = 0x55aaaa55 +nand0_capacity_level = 0x55aaaa55 +nand0_id_number_ctl = 0x55aaaa55 +nand0_print_level = 0x55aaaa55 +nand0_p0 = 0x55aaaa55 +nand0_p1 = 0x55aaaa55 +nand0_p2 = 0x55aaaa55 +nand0_p3 = 0x55aaaa55 + +;---------------------------------------------------------------------------------- +;disp init configuration +; +;disp_mode (0:screen0) +;screenx_output_type (0:none; 1:lcd; 3:hdmi;) +;screenx_output_mode (used for hdmi output, 0:480i 1:576i 2:480p 3:576p 4:720p50) +; (5:720p60 6:1080i50 7:1080i60 8:1080p24 9:1080p50 10:1080p60) +;fbx format (0:ARGB 1:ABGR 2:RGBA 3:BGRA 5:RGB565 8:RGB888 12:ARGB4444 16:ARGB1555 18:RGBA5551) +;fbx_width,fbx_height (framebuffer horizontal/vertical pixels, fix to output resolution while equal 0) +;---------------------------------------------------------------------------------- +[disp] +disp_init_enable = 1 +disp_mode = 0 + +screen0_output_type = 3 +screen0_output_mode = 4 + +screen1_output_type = 2 +screen1_output_mode = 11 + +dev0_output_type = 0 +;dev0_output_mode = 4 +;dev0_screen_id = 0 +;dev0_do_hpd = 1 + +dev1_output_type = 0 +;dev1_output_mode = 11 +;dev1_screen_id = 1 +;dev1_do_hpd = 1 + +dev2_output_type = 0 +def_output_dev = 0 +hdmi_mode_check = 1 + +fb0_format = 0 +fb0_width = 0 +fb0_height = 0 + +fb1_format = 0 +fb1_width = 0 +fb1_height = 0 + +;---------------------------------------------------------------------------------- +;lcd0 configuration + +;lcd_if: 0:hv(sync+de); 1:8080; 2:ttl; 3:lvds; 4:dsi; 5:edp +;lcd_backlight lcd init backlight +;lcd_x: lcd horizontal resolution +;lcd_y: lcd vertical resolution +;lcd_width: width of lcd in mm +;lcd_height: height of lcd in mm +;lcd_dclk_freq: in MHZ unit +;lcd_pwm_freq: in HZ unit +;lcd_pwm_pol: lcd backlight PWM polarity +;lcd_pwm_max_limit lcd backlight PWM max limit(<=255) +;lcd_hbp: hsync back porch +;lcd_ht: hsync total cycle +;lcd_vbp: vsync back porch +;lcd_vt: vysnc total cycle +;lcd_hspw: hsync plus width +;lcd_vspw: vysnc plus width +;lcd_lvds_if: 0:single link; 1:dual link +;lcd_lvds_colordepth: 0:8bit; 1:6bit +;lcd_lvds_mode: 0:NS mode; 1:JEIDA mode +;lcd_frm: 0:disable; 1:enable rgb666 dither; 2:enable rgb656 dither +;lcd_hv_clk_phase lcd hv panel lock phase, 0:0 degree; 1:90 degree; 2: 180 degree; 3: 270 degree +;lcd_hv_sync_polarity lcd hv panel sync signals polarity +; 0:vsync active low, hsync active low; 1:vsync active high, hsync active low +; 2:vsync active low, hsync active high; 3:vsync active high, hsync active high +;lcd_gamma_en lcd gamma correction enable +;lcd_bright_curve_en lcd bright curve correction enable +;lcd_cmap_en lcd color map function enable +;---------------------------------------------------------------------------------- +[lcd0] +lcd_used = 0 + +lcd_driver_name = "default_lcd" +lcd_backlight = 50 +lcd_if = 3 +lcd_x = 1280 +lcd_y = 800 +lcd_width = 150 +lcd_height = 94 +lcd_dclk_freq = 70 +lcd_pwm_used = 1 +lcd_pwm_ch = 0 +lcd_pwm_freq = 50000 +lcd_pwm_pol = 1 +lcd_pwm_max_limit = 255 +lcd_hbp = 20 +lcd_ht = 1418 +lcd_hspw = 10 +lcd_vbp = 10 +lcd_vt = 814 +lcd_vspw = 5 +lcd_lvds_if = 0 +lcd_lvds_colordepth = 1 +lcd_lvds_mode = 0 +lcd_frm = 1 +lcd_hv_clk_phase = 0 +lcd_hv_sync_polarity= 0 +lcd_gamma_en = 0 +lcd_bright_curve_en = 0 +lcd_cmap_en = 0 + +lcd_bl_en = port:PD23<1><0><1> +lcd_bl_en_power = "none" +lcd_power = "vcc-lcd-0" +lcd_fix_power = "vcc-dsi-33" + +lcdd0 = port:PD12<3><0> +lcdd1 = port:PD13<3><0> +lcdd2 = port:PD14<3><0> +lcdd3 = port:PD15<3><0> +lcdd4 = port:PD16<3><0> +lcdd5 = port:PD17<3><0> +lcdd6 = port:PD18<3><0> +lcdd7 = port:PD19<3><0> +lcdd8 = port:PD20<3><0> +lcdd9 = port:PD21<3><0> +lcd_pin_power = "vcc-pd" + +[lcd0_suspend] +lcdd0 = port:PD12<7><0> +lcdd1 = port:PD13<7><0> +lcdd2 = port:PD14<7><0> +lcdd3 = port:PD15<7><0> +lcdd4 = port:PD16<7><0> +lcdd5 = port:PD17<7><0> +lcdd6 = port:PD18<7><0> +lcdd7 = port:PD19<7><0> +lcdd8 = port:PD20<7><0> +lcdd9 = port:PD21<7><0> + +[hdmi] +hdmi_used = 1 +;hdmi_power = "vcc3v3-hdmi" +hdmi_hdcp_enable = 0 +hdmi_cts_compatibility = 0 +hdmi_cec_support = 1 + +;---------------------------------------------------------------------------------- +;tv configuration +;dac_src (dac no,support dac_src0~dac_src3,dac num max is 4) +;interface (interface type,1<->cvbs,2<->YPBPR,4<->SVIDEO) +;dac_type (0<->composite,1<->luma,2<->chroma,3<->reserved,4<->y/green, +; 5<->u/pb/blue,6<->v/pr/red) +;NOTE: tv0,tv1 can not use the same dac_src. +;---------------------------------------------------------------------------------- + +[tv0] +used = 1 +dac_src0 = 0 +dac_type0 = 0 +interface = 1 + +;---------------------------------------------------------------------------------- +;pwm config +;---------------------------------------------------------------------------------- +[pwm0] +pwm_used = 0 +pwm_positive = port:PD22<2><0> + +[pwm0_suspend] +pwm_positive = port:PD22<7><0> + +[pwm16] +s_pwm0_used = 0 +pwm_positive = port:PL10<2><0> + +[pwm16_suspend] +pwm_positive = port:PL10<7><0> + +;----------------------------------------------------------------- +;auto_hpd - 1:need hotplud for hdmi/tv; 0:don't hotplud for lcd +;output_type - 0:none; 1:lcd; 2:tv; 3:hdmi; 4:vga (as default config in homlet) +;hdmi_channel - the display channel for hdmi (as default config in homlet) +;cvbs_channel - the display channel for cvbs (as default config in homlet) +;hdmi_mode - as default config for output of hdmi in homlet +;cvbs_mode - as default config for output of tv in homlet. 11:PAL; 14:NTSC +;hdmi_mode_check - disable/enable the function of checking hdmi mode, 0 is disable, 1 is enable +;----------------------------------------------------------------- +;[boot_disp] +;auto_hpd = 1 +;output_disp = 0 +;output_type = 3 +;output_mode = 4 +;hdmi_channel = 0 +;hdmi_mode = 4 +;cvbs_channel = 1 +;cvbs_mode = 11 +;hdmi_mode_check = 1 +;output_full = 1 + +;-------------------------------------------------------------------------------- +;csi (COMS Sensor Interface) configuration +;csi(x)_dev(x)_used: 0:disable 1:enable +;csi(x)_dev(x)_isp_used 0:not use isp 1:use isp +;csi(x)_dev(x)_fmt: 0:yuv 1:bayer raw rgb +;csi(x)_dev(x)_stby_mode: 0:not shut down power at standby 1:shut down power at standby +;csi(x)_dev(x)_vflip: flip in vertical direction 0:disable 1:enable +;csi(x)_dev(x)_hflip: flip in horizontal direction 0:disable 1:enable +;csi(x)_dev(x)_iovdd: camera module io power handle string, pmu power supply +;csi(x)_dev(x)_iovdd_vol: camera module io power voltage, pmu power supply +;csi(x)_dev(x)_avdd: camera module analog power handle string, pmu power supply +;csi(x)_dev(x)_avdd_vol: camera module analog power voltage, pmu power supply +;csi(x)_dev(x)_dvdd: camera module core power handle string, pmu power supply +;csi(x)_dev(x)_dvdd_vol: camera module core power voltage, pmu power supply +;csi(x)_dev(x)_afvdd: camera module vcm power handle string, pmu power supply +;csi(x)_dev(x)_afvdd_vol: camera module vcm power voltage, pmu power supply +;fill voltage in uV, e.g. iovdd = 2.8V, csix_iovdd_vol = 2800000 +;fill handle string as below: +;axp22_eldo3 +;axp22_dldo4 +;axp22_eldo2 +;fill handle string "" when not using any pmu power supply +;-------------------------------------------------------------------------------- + +[csi0] +csi0_used = 1 +csi0_sensor_list = 0 +csi0_pck = port:PE00<2> +csi0_mck = port:PE01<1> +csi0_hsync = port:PE02<2> +csi0_vsync = port:PE03<2> +csi0_d0 = port:PE04<2> +csi0_d1 = port:PE05<2> +csi0_d2 = port:PE06<2> +csi0_d3 = port:PE07<2> +csi0_d4 = port:PE08<2> +csi0_d5 = port:PE09<2> +csi0_d6 = port:PE10<2> +csi0_d7 = port:PE11<2> +csi0_sck = port:PE12<2> +csi0_sda = port:PE13<2> + +[csi0/csi0_dev0] +csi0_dev0_used = 1 +csi0_dev0_mname = "gc2035" +csi0_dev0_twi_addr = 0x78 +csi0_dev0_pos = "rear" +csi0_dev0_isp_used = 1 +csi0_dev0_fmt = 0 +csi0_dev0_stby_mode = 0 +csi0_dev0_vflip = 0 +csi0_dev0_hflip = 0 +;csi0_dev0_iovdd = "iovdd-csi" +csi0_dev0_iovdd = "" +csi0_dev0_iovdd_vol = 2800000 +;csi0_dev0_avdd = "avdd-csi" +csi0_dev0_avdd = "" +csi0_dev0_avdd_vol = 2800000 +;csi0_dev0_dvdd = "dvdd-csi-18" +csi0_dev0_dvdd = "" +csi0_dev0_dvdd_vol = 1500000 +;csi0_dev0_afvdd = "afvcc-csi" +csi0_dev0_afvdd = "" +csi0_dev0_afvdd_vol = 2800000 +;csi0_dev0_power_en = port:PB04<1><0><1><0> +csi0_dev0_power_en = port:PA17<1><0><1><0> +csi0_dev0_reset = port:PE14<1><0><1><0> +csi0_dev0_pwdn = port:PE15<1><0><1><0> +csi0_dev0_flash_used = 0 +csi0_dev0_flash_type = 2 +csi0_dev0_flash_en = +csi0_dev0_flash_mode = +csi0_dev0_flvdd = "" +csi0_dev0_flvdd_vol = +csi0_dev0_af_pwdn = +csi0_dev0_act_used = 0 +csi0_dev0_act_name = "ad5820_act" +csi0_dev0_act_slave = 0x18 + +[csi0/csi0_dev1] +csi0_dev1_used = 0 +csi0_dev1_mname = "" +csi0_dev1_twi_addr = 0x78 +csi0_dev1_pos = "rear" +csi0_dev1_isp_used = 1 +csi0_dev1_fmt = 0 +csi0_dev1_stby_mode = 0 +csi0_dev1_vflip = 0 +csi0_dev1_hflip = 0 +csi0_dev1_iovdd = "iovdd-csi" +csi0_dev1_iovdd_vol = 2800000 +csi0_dev1_avdd = "avdd-csi" +csi0_dev1_avdd_vol = 2800000 +csi0_dev1_dvdd = "dvdd-csi-18" +csi0_dev1_dvdd_vol = 1500000 +csi0_dev1_afvdd = "afvcc-csi" +csi0_dev1_afvdd_vol = 2800000 +csi0_dev1_power_en = +csi0_dev1_reset = +csi0_dev1_pwdn = +csi0_dev1_flash_used = 0 +csi0_dev1_flash_type = 2 +csi0_dev1_flash_en = +csi0_dev1_flash_mode = +csi0_dev1_flvdd = "" +csi0_dev1_flvdd_vol = +csi0_dev1_af_pwdn = +csi0_dev1_act_used = 0 +csi0_dev1_act_name = "ad5820_act" +csi0_dev1_act_slave = 0x18 + +;-------------------------------------------------------------------------------- +;tv configuration +; +;-------------------------------------------------------------------------------- +[tvout_para] +tvout_used = 1 +tvout_channel_num = +tv_en = + +[tvin_para] +tvin_used = +tvin_channel_num = + +; ------------------------------------------------------------------------------| +; de-interlace configuration +;-------------------------------------------------------------------------------- +[di] +di_used = 1 + +;-------------------------------------------------------------------------------- +; SDMMC PINS MAPPING | +; ------------------------------------------------------------------------------| +; Config Guide | +; sdc_used: 1-enable card, 0-disable card | +; non-removable:if you use as main memory,you should set it,for example eMMC | +; bus-width: card bus width, 1-1bit, 4-4bit, 8-8bit | +; sunxi-power-save-mode: if use sdio card,should not set it | +; vmmc:regulator for card/emmc power | +; vqmmc:regulator for card/emmc io power | +; vdmmc:regulator for card detect pin pull up power | +; other: GPIO Mapping configuration | +; ------------------------------------------------------------------------------| +; Note: | +; | +; | +; | +; | +; | +; | +;-------------------------------------------------------------------------------- +[sdc0] +sdc0_used = 1 +bus-width = 4 +sdc0_d1 = port:PF00<2><1><2> +sdc0_d0 = port:PF01<2><1><2> +sdc0_clk = port:PF02<2><1><2> +sdc0_cmd = port:PF03<2><1><2> +sdc0_d3 = port:PF04<2><1><2> +sdc0_d2 = port:PF05<2><1><2> +cd-gpios = port:PF06<0><1><2> +sunxi-power-save-mode = +sunxi-dis-signal-vol-sw = +vmmc="vcc-sdcv" +vqmmc="vcc-sdcvq33" +vdmmc="vcc-sdcvd" + + +[sdc1] +sdc1_used = 1 +bus-width = 4 +sdc1_clk = port:PG00<2><1><3> +sdc1_cmd = port:PG01<2><1><3> +sdc1_d0 = port:PG02<2><1><3> +sdc1_d1 = port:PG03<2><1><3> +sdc1_d2 = port:PG04<2><1><3> +sdc1_d3 = port:PG05<2><1><3> +;sunxi-power-save-mode = +sd-uhs-sdr50 = +sd-uhs-ddr50 = +sd-uhs-sdr104 = +cap-sdio-irq = 1 +keep-power-in-suspend = +ignore-pm-notify = +max-frequency = 150000000 + +[sdc2] +sdc2_used = 0 +non-removable = +bus-width = 8 +sdc2_ds = port:PC01<3><1><3> +sdc2_clk = port:PC05<3><1><3> +sdc2_cmd = port:PC06<3><1><3> +sdc2_d0 = port:PC08<3><1><3> +sdc2_d1 = port:PC09<3><1><3> +sdc2_d2 = port:PC10<3><1><3> +sdc2_d3 = port:PC11<3><1><3> +sdc2_d4 = port:PC12<3><1><3> +sdc2_d5 = port:PC13<3><1><3> +sdc2_d6 = port:PC14<3><1><3> +sdc2_d7 = port:PC15<3><1><3> +sdc2_emmc_rst = port:PC16<3><1><3> +cd-gpios = +sunxi-power-save-mode = +sunxi-dis-signal-vol-sw = +;mmc-ddr-1_8v = +;mmc-hs200-1_8v = +;mmc-hs400-1_8v = +;max-frequency = 150000000 +sdc_tm4_sm0_freq0 = 0 +sdc_tm4_sm0_freq1 = 0 +sdc_tm4_sm1_freq0 = 0x00000000 +sdc_tm4_sm1_freq1 = 0 +sdc_tm4_sm2_freq0 = 0x00000000 +sdc_tm4_sm2_freq1 = 0 +sdc_tm4_sm3_freq0 = 0x05000000 +sdc_tm4_sm3_freq1 = 0x00000405 +sdc_tm4_sm4_freq0 = 0x00050000 +sdc_tm4_sm4_freq1 = 0x00000408 +vmmc="vcc-emmcv" +;vqmmc="vcc-emmcvq33" +vqmmc="vcc-emmcvq18" +vdmmc="none" + + +;[mmc3] +;mmc3_used = 0 +;mmc3_detmode = 2 +;mmc3_buswidth = 4 +;mmc3_clk = port:PA10<2><1><2> +;mmc3_cmd = port:PA09<2><1><2> +;mmc3_d0 = port:PA11<2><1><2> +;mmc3_d1 = port:PA12<2><1><2> +;mmc3_d2 = port:PA13<2><1><2> +;mmc3_d3 = port:PA14<2><1><2> +;mmc3_det = +;mmc3_use_wp = 0 +;mmc3_wp = +;mmc3_isio = 0 +;mmc3_regulator = "none" + +; ------------------------------------------------------------------------------| +; sim card configuration +;-------------------------------------------------------------------------------- +[smc] +smc_used = +smc_rst = +smc_vppen = +smc_vppp = +smc_det = +smc_vccen = +smc_sck = +smc_sda = + +;------------------------------------------------------------------------------- +;userspace gpio interface for android +;---------------------------------------------------------------------------------- +[gpio_para] +compatible = "allwinner,sunxi-init-gpio" +gpio_used = 1 +gpio_num = 2 +gpio_pin_1 = port:PL10<1><1> +gpio_pin_2 = port:PA20<1><0> +normal_led = "gpio_pin_1" +standby_led = "gpio_pin_2" +;network_led = "gpio_pin_3" + +;-------------------------------- +;[usbc0]: usbc0 configuration. +;usb_used: usb controller enable. 0-disable, 1-enable. +;usb_port_type: usb mode. 0-device, 1-host, 2-otg. +;usb_detect_type: usb hotplug detect mode. 0-none, 1-vbus/id detect, 2-id/dpdm detect. +;usb_detect_mode: usb otg switch has two config. 0-thread scan, 1-id gpio interrupt. +;usb_id_gpio: usb id detect IO. +;usb_det_vbus_gpio: USB DET_VBUS has two config. (1)gpio pin; (2)"axp_ctrl", use axp intf. +;usb_drv_vbus_gpio: USB DRY_VBUS has two config. (1)gpio pin; (2)"axp_ctrl", use axp intf. +;-------------------------------- +;-------------------------------- +;--- USB0 CONFIG +;-------------------------------- +[usbc0] +usbc0_used = 1 +usb_port_type = 1 +usb_detect_type = 0 +usb_detect_mode = 0 +usb_id_gpio = port:PA21<0><1> +usb_det_vbus_gpio = port:PA21<0><1> +usb_drv_vbus_gpio = port:PL02<1><0><0> +usb_host_init_state = 1 +usb_regulator_io = "nocare" +usb_wakeup_suspend = 0 +;--- USB Device +usb_luns = 3 +usb_serial_unique = 0 +usb_serial_number = "20080411" +rndis_wceis = 1 + +;-------------------------------- +;--- USB1 CONFIG +;-------------------------------- +[usbc1] +usbc1_used = 1 +usb_drv_vbus_gpio = +usb_host_init_state = 1 +usb_regulator_io = "nocare" +usb_wakeup_suspend = 0 + +;-------------------------------- +;--- USB2 CONFIG +;-------------------------------- +[usbc2] +usbc2_used = 1 +usb_drv_vbus_gpio = +usb_host_init_state = 1 +usb_regulator_io = "nocare" +usb_wakeup_suspend = 0 + +;-------------------------------- +;--- USB3 CONFIG +;-------------------------------- +[usbc3] +usbc3_used = 1 +usb_drv_vbus_gpio = +usb_host_init_state = 1 +usb_regulator_io = "nocare" +usb_wakeup_suspend = 0 + +;-------------------------------- +;--- serial number flag +;-------------------------------- +[serial_feature] +sn_filename = "sn.txt" + +;-------------------------------------------------------------------------------- +; G sensor configuration +; gs_twi_id --- TWI ID for controlling Gsensor (0: TWI0, 1: TWI1, 2: TWI2) +;-------------------------------------------------------------------------------- +[gsensor] +compatible = "allwinner,sun50i-gsensor-para"; +gsensor_used = 0 +gsensor_twi_id = 1 +gsensor_twi_addr = 0x18 +gsensor_int1 = port:PA09<6><1> +gsensor_int2 = +gsensor_vcc_io = "vcc-deviceio" +gsensor_vcc_io_val = 3100 + +;-------------------------------------------------------------------------------- +; G sensor automatic detection configuration +;gsensor_detect_used --- Whether startup automatic inspection function. 1:used,0:unused +;Module name postposition 1 said detection, 0 means no detection. +;-------------------------------------------------------------------------------- +[gsensor_list_para] +compatible = "allwinner,sun50i-gsensor-list-para" +gsensor_det_used = 0 +lsm9ds0_acc_mag = 1 +bma250 = 1 +mma8452 = 1 +mma7660 = 1 +mma865x = 1 +afa750 = 1 +lis3de_acc = 1 +lis3dh_acc = 1 +kxtik = 1 +dmard10 = 0 +dmard06 = 1 +mxc622x = 1 +fxos8700 = 1 +lsm303d = 0 + +;-------------------------------------------------------------------------------- +;wlan configuration +;wlan_used: 0-not use, 1- use +;wlan_busnum: sdio/usb index +;clocks: external low power clock input (32.768KHz) +;wlan_power: input supply voltage +;wlan_io_regulator: wlan/sdio I/O voltage +;wlan_regon: power up/down internal regulators used by wifi section +;wlan_hostwake: wlan to wake-up host +;-------------------------------------------------------------------------------- +[wlan] +wlan_used = 1 +wlan_busnum = 1 +wlan_usbnum = 3 +clocks = "&clk_losc_out" +wlan_power = "vcc-wifi" +wlan_io_regulator = "vcc-wifi-io" +;wlan_en = port:PC14<1><0> +wlan_regon = port:PC14<1><0> +wlan_hostwake = port:PL07<6><0> + +;-------------------------------------------------------------------------------- +;bluetooth configuration +;bt_used: 0- no used, 1- used +;clocks: external low power clock input (32.768KHz) +;bt_power: input supply voltage +;bt_io_regulator: bluetooth I/O voltage +;bt_rst_n: power up/down internal regulators used by BT section +;-------------------------------------------------------------------------------- +[bt] +bt_used = 1 +;clocks = "&clk_losc_out" +bt_power = "vcc-wifi" +bt_io_regulator = "vcc-wifi-io" +bt_rst_n = port:PC16<1><0> + +;-------------------------------------------------------------------------------- +;bluetooth lpm configuration +;btlpm_used: 0- no used, 1- used +;uart_index: 0- uart0, 1- uart1, 2- uart2 +;bt_wake: host wake-up bluetooth device +;bt_hostwake: bt device wake-up host +;-------------------------------------------------------------------------------- +[btlpm] +btlpm_used = 1 +uart_index = 1 +bt_wake = port:PC15<1><1> +bt_hostwake = port:PL06<6><0> + +;-------------------------------------------------------------------------------- +;3G configuration +;-------------------------------------------------------------------------------- +[3g_para] +3g_used = 0 +3g_usbc_num = 2 +3g_uart_num = 0 +bb_vbat = port:PL03<1><0> +bb_host_wake = port:PM00<1><0> +bb_on = port:PM01<1><0> +bb_pwr_on = port:PM03<1><0> +bb_wake = port:PM04<1><0> +bb_rf_dis = port:PM05<1><0> +bb_rst = port:PM06<1><0> +3g_int = + +;-------------------------------------------------------------------------------- +;gyroscope +;-------------------------------------------------------------------------------- +[gy_para] +compatible ="allwinner,sun50i-gyr_sensors-para" +gy_used = 0 +gy_twi_id = 2 +gy_twi_addr = 0x6a +gy_int1 = port:PA10<6><1> +gy_int2 = + +;-------------------------------------------------------------------------------- +; Gyro automatic detection configuration +;gy_detect_used --- Whether startup automatic inspection function. 1:used,0:unused +;Module name postposition 1 said detection, 0 means no detection. +;-------------------------------------------------------------------------------- +[gy_list_para] +compatible = "allwinner,sun50i-gyr_sensors-list-para" +gy_det_used = 0 +lsm9ds0_gyr = 1 +l3gd20_gyr = 0 +bmg160_gyr = 1 + +;-------------------------------------------------------------------------------- +;light sensor +;-------------------------------------------------------------------------------- +[ls_para] +compatible = "allwinner,sun50i-lsensors-para" +ls_used = 0 +ls_twi_id = 2 +ls_twi_addr = 0x23 +ls_int = port:PA12<6><1> + +;-------------------------------------------------------------------------------- +; lsensor automatic detection configuration +;ls_detect_used --- Whether startup automatic inspection function. 1:used,0:unused +;Module name postposition 1 said detection, 0 means no detection. +;-------------------------------------------------------------------------------- +[ls_list_para] +compatible = "allwinner,sun50i-lsensors-list-para" +ls_det_used = 0 +ltr_501als = 1 +jsa1212 = 0 +jsa1127 = 1 + +;-------------------------------------------------------------------------------- +;compass +;-------------------------------------------------------------------------------- +[compass_para] +compatible ="allwinner,sun50i-compass-para" +compass_used = 0 +compass_twi_id = 2 +compass_twi_addr = 0x0d +compass_int = port:PA11<6><1> + +;-------------------------------------------------------------------------------- +; compass sensor automatic detection configuration +;compass_detect_used --- Whether startup automatic inspection function. 1:used,0:unused +;Module name postposition 1 said detection, 0 means no detection. +;-------------------------------------------------------------------------------- +[compass_list_para] +compatible ="allwinner,sun50i-compass-list-para" +compass_det_used = 0 +lsm9ds0 = 1 +lsm303d = 0 +akm8963 = 1 + +;-------------------------------------------------------------------------------- +; NOTE :Make sure spdif_used = 0x1,spdifmach_used = 0x1, +; if register the sound card spdif. +;-------------------------------------------------------------------------------- +[spdif] +spdif_used = 0 +[sndspdif] +sndspdif_used = 0 +;---------------------------------------------------------------------------------- +; NOTE :Make sure daudio2_used = 0x1,sndhdmi_used = 0x1, +; if register the sound card hdmi. +;--------------------------------------------------------------------------------- +[daudio2] +daudio2_used = 1 +[sndhdmi] +sndhdmi_used = 1 +;-------------------------------------------------------------------------------- +;allwinner,pcm_lrck_period :16/32/64/128/256 +;allwinner,pcm_lrckr_period :no use +;allwinner,slot_width_select :16bits/20bits/24bits/32bits +;allwinner,pcm_lsb_first :0: msb first; 1: lsb first +;allwinner,tx_data_mode :0: 16bit linear PCM; 1: 8bit linear PCM; 2: 8bit u-law; 3: 8bit a-law +;allwinner,rx_data_mode :0: 16bit linear PCM; 1: 8bit linear PCM; 2: 8bit u-law; 3: 8bit a-law +;allwinner,daudio_master :1: SND_SOC_DAIFMT_CBM_CFM(codec clk & FRM master) use +; 2: SND_SOC_DAIFMT_CBS_CFM(codec clk slave & FRM master) not use +; 3: SND_SOC_DAIFMT_CBM_CFS(codec clk master & frame slave) not use +; 4: SND_SOC_DAIFMT_CBS_CFS(codec clk & FRM slave) use +;allwinner,audio_format: 1:SND_SOC_DAIFMT_I2S(standard i2s format). use +; 2:SND_SOC_DAIFMT_RIGHT_J(right justfied format). +; 3:SND_SOC_DAIFMT_LEFT_J(left justfied format) +; 4:SND_SOC_DAIFMT_DSP_A(pcm. MSB is available on 2nd BCLK rising edge after LRC rising edge). use +; 5:SND_SOC_DAIFMT_DSP_B(pcm. MSB is available on 1nd BCLK rising edge after LRC rising edge) +;allwinner,signal_inversion:1:SND_SOC_DAIFMT_NB_NF(normal bit clock + frame) use +; 2:SND_SOC_DAIFMT_NB_IF(normal BCLK + inv FRM) +; 3:SND_SOC_DAIFMT_IB_NF(invert BCLK + nor FRM) use +; 4:SND_SOC_DAIFMT_IB_IF(invert BCLK + FRM) +;allwinner,frametype :0:short frame = 1 clock width; 1: long frame = 2 clock width +;allwinner,tdm_config :0:pcm 1:i2s +;allwinner,mclk_div :0: not output(normal setting this) 1/2/4/6/8/12/16/24/32/48/64/96/128/176/192: +; setting mclk as input clock to external codec, freq is pll_audio/mclk_div +;allwinner,daudio0_used :0:not use 1:use + +;-------------------------------------------------------------------------------- +; NOTE :Make sure snddaudio0_used = 0x1,daudio1_used = 0x1, +; if register the sound card DAUDIO1. +;-------------------------------------------------------------------------------- +[snddaudio0] +snddaudio0_used = 0 +;----------------------------------------------------------------------------- +[daudio0] +pcm_lrck_period = 0x20 +pcm_lrckr_period = 0x01 +slot_width_select = 0x20 +pcm_lsb_first = 0x0 +tx_data_mode = 0x0 +rx_data_mode = 0x0 +daudio_master = 0x04 +audio_format = 0x01 +signal_inversion = 0x01 +frametype = 0x0 +tdm_config = 0x01 +mclk_div = 0x0 +daudio0_used = 0 + +;------------------------------------------------------------------------------- +; NOTE :Make sure snddaudio1_used = 0x1,daudio0_used = 0x1, +; if register the sound card DAUDIO0. +;-------------------------------------------------------------------------------- +[snddaudio1] +snddaudio1_used = 0 +;----------------------------------------------------------------------------- +[daudio1] +pcm_lrck_period = 0x20 +pcm_lrckr_period = 0x01 +slot_width_select = 0x20 +pcm_lsb_first = 0x0 +tx_data_mode = 0x0 +rx_data_mode = 0x0 +daudio_master = 0x04 +audio_format = 0x01 +signal_inversion = 0x01 +frametype = 0x0 +tdm_config = 0x01 +mclk_div = 0x0 +daudio1_used = 0 +;---------------------------------------------------------------------------------------------------------- +;-------------------------------------------------------------------------------------- +;allwinner,headphonevol :headphone volume:0x0--0x3f 0db--(-62db) 1db/step +;allwinner,spkervol : speaker volume:0x0--0x1f 0db-(-43.5db) 1.5db/step +;allwinner,earpiecevol : earpiece volume:0x0--0x1f 0db-(-43.5db) 1.5db/step +;allwinner,maingain : mainmic gain:0x0---0x7 0x0-0db 0x1:24db 3db/step +;allwinner,headsetmicgain : headphonemic gain:0x0---0x7 0x0-0db 0x1:24db 3db/step +;allwinner,adcagc_cfg : 1:use adcagc 0:no use +;allwinner,adcdrc_cfg : 1:use adcdrc 0:no use +;allwinner,adchpf_cfg : 1:use adchpf 0:no use +;allwinner,dacdrc_cfg : 1:use adcdrc 0:no use +;allwinner,dachpf_cfg : 1:use adchpf 0:no use +;allwinner,aif2config : 1:use aif2 0:no use +;allwinner,aif3config : 1:use aif3 0:no use +;allwinner,hp_detect_case :0:low 1:high +;-------------------------------------------------------------------------------- +; NOTE :Make sure sndcodec_used = 0x1,i2s_used = 0x1 +; codec_used = 0x1,if register the sound card audiocodec. +;--------------------------------------------------------------------------------- +[sndcodec] +sndcodec_used = 0x1 +;------------------------------------------------------------------------------ +;------------------------------------------------------------------------------- +[codec] +codec_used = 1 +headphonevol = 0x3b +spkervol = 0x1f +maingain = 0x4 +adcagc_cfg = 0x0 +adcdrc_cfg = 0x0 +adchpf_cfg = 0x0 +dacdrc_cfg = 0x0 +dachpf_cfg = 0x0 +pa_sleep_time = 0x32 +;gpio-spk = port:PA16<1><1> + +;---------------------------------------------------------------------------------- +;ir --- infra remote configuration +;---------------------------------------------------------------------------------- +[s_cir0] +s_cir0_used = 1 +ir_power_key_code0 = 0x57 +ir_addr_code0 = 0x9f00 +ir_power_key_code1 = 0x1a +ir_addr_code1 = 0xfb04 +ir_power_key_code2 = 0x14 +ir_addr_code2 = 0x7F80 +ir_power_key_code3 = 0x15 +ir_addr_code3 = 0x7F80 +ir_power_key_code4 = 0x0b +ir_addr_code4 = 0xF708 +ir_power_key_code5 = 0x03 +ir_addr_code5 = 0x00EF +ir_power_key_code6 = 0xdc +ir_addr_code6 = 0x4cb3 +ir_power_key_code7 = 0x0a +ir_addr_code7 = 0x7748 +ir_power_key_code8 = 0x45 +ir_addr_code8 = 0xbd02 +ir_power_key_code9 = 0x4d +ir_addr_code9 = 0xde21 +ir_power_key_code10 = 0x18 +ir_addr_code10 = 0xfe01 +ir_power_key_code11 = 0x57 +ir_addr_code11 = 0xff00 +ir_power_key_code12 = 0x4d +ir_addr_code12 = 0xff40 +ir_power_key_code13 = 0x88 +ir_addr_code13 = 0xdd22 +ir_power_key_code14 = 0x0d +ir_addr_code14 = 0xbc00 +ir_power_key_code15 = 0x0d +ir_addr_code15 = 0xfc00 + +;-------------------------------------------------------------------------------------------------------- +;compatible ---pmu0 name, axpdummy is a dummy axp +;used ---0:not used,1:used +;pmu_id ---if bit7 is 1, then is a dummy axp; else 0:axp19x,1:axp209,2:axp22x,3:axp806,4:axp808,5:axp809,6:axp803,7:axp813,8:axp157 +;-------------------------------------------------------------------------------------------------------- +[pmu0] +compatible = "axpdummy" +used = 1 +pmu_id = 0x83 + +;-------------------------------------------------------------------------------------------------------- +;pmu_bat_unused ---0:used,1: charger unsupported on this pmu +;pmu_pwroff_vol ---set protect voltage when system start up,mV,2600/2700/2800/2900/3000/3100/3200/3300 +;power_start ---when system is in charging, shutdown is power off or resart;0:restart 1:poweroff +;-------------------------------------------------------------------------------------------------------- +;[charger0] +;pmu_bat_unused = 1 +;pmu_pwroff_vol = 3300 +;power_start = 0 + +;-------------------------------------------------------------------------------------------------------- +;compatible ---regulator0 name, support:axpdummy-regulator +;regulator_count ---pmu ldo count, changed with different pmu +;regulator(1~regulator_count) ---ldo details +;-------------------------------------------------------------------------------------------------------- +[regulator0] +compatible = "axpdummy-regulator" +regulator_count = 6 +regulator1 = "axpdummy_ldo1 none avcc vcc-pll vcc-tv" +regulator2 = "axpdummy_ldo2 none vcc-dram" +regulator3 = "axpdummy_ldo3 none vdd-sys vdd-ehpy" +regulator4 = "axpdummy_ldo4 none vdd-cpua" +regulator5 = "axpdummy_ldo5 none vcc-wifi" +regulator6 = "axpdummy_ldo6 none vcc-rtc vdd-cpus vcc-io vcc-efuse vcc-sdc vcc-nand vcc-usb vcc-uartx vcc-feled vcc-key vcc-audio vcc-ir" + +;---------------------------------------------------------------------------------- +; dvfs voltage-frequency table configuration +; +; max_freq: cpu maximum frequency, based on Hz +; min_freq: cpu minimum frequency, based on Hz +; +; lv_count: count of lv_freq/lv_volt, must be < 16 +; +; lv1: core vdd is 1.30v if cpu frequency is (1104Mhz, 1152Mhz] +; lv2: core vdd is 1.26v if cpu frequency is (1008Mhz, 1104Mhz] +; lv3: core vdd is 1.20v if cpu frequency is (816Mhz, 1008Mhz] +; lv4: core vdd is 1.10v if cpu frequency is (648Mhz, 816Mhz] +; lv5: core vdd is 1.04v if cpu frequency is (480Mhz, 648Mhz] +; lv6: core vdd is 1.04v if cpu frequency is (480Mhz, 648Mhz] +; lv7: core vdd is 1.04v if cpu frequency is (480Mhz, 648Mhz] +; lv8: core vdd is 1.04v if cpu frequency is (480Mhz, 648Mhz] +; +;---------------------------------------------------------------------------------- +[dvfs_table] +;extremity_freq = 1344000000 +max_freq = 1008000000 +min_freq = 480000000 + +lv_count = 8 +lv1_freq = 1152000000 +lv1_volt = 1100 + +lv2_freq = 1104000000 +lv2_volt = 1100 + +lv3_freq = 1008000000 +lv3_volt = 1100 + +lv4_freq = 816000000 +lv4_volt = 1100 + +lv5_freq = 624000000 +lv5_volt = 1100 + +lv6_freq = 0 +lv6_volt = 1100 + +lv7_freq = 0 +lv7_volt = 1100 + +lv8_freq = 0 +lv8_volt = 1100 + +;---------------------------------------------------------------------------------- +;s_uart0 config parameters +;s_uart0_used --s_uart0 whether used for arisc debugging +; +;---------------------------------------------------------------------------------- +[s_uart0] +s_uart0_used = 0 +s_uart0_tx = port:PL02<2> +s_uart0_rx = port:PL03<2> + +;---------------------------------------------------------------------------------- +;s_rsb0 config parameters +;s_rsb0_used --s_rsb0 whether used for arisc +; +;---------------------------------------------------------------------------------- +[s_rsb0] +s_rsb0_used = 1 +s_rsb0_sck = port:PL00<2><1><2> +s_rsb0_sda = port:PL01<2><1><2> + +;---------------------------------------------------------------------------------- +;s_jtag0 config parameters +;s_jtag0_used --s_jtag0 whether used for arisc +; +;---------------------------------------------------------------------------------- +[s_jtag0] +s_jtag0_used = 0 +s_jtag0_tms = port:PL04<2><1><2> +s_jtag0_tck = port:PL05<2><1><2> +s_jtag0_tdo = port:PL06<2><1><2> +s_jtag0_tdi = port:PL07<2><1><2> + +;---------------------------------------------------------------------------------- +;virtual device +;virtual device for pinctrl testing +;device have pin PA1 PA2 +;---------------------------------------------------------------------------------- +[Vdevice] +Vdevice_used = 0 +Vdevice_0 = port:PA01<5><1><2> +Vdevice_1 = port:PA02<5><1><2> + +;---------------------------------------------------------------------------------- +;mali450 parameters +;regulator_id : the regulator id GPU used. +;dvfs_status : dvfs status, if this is enabled, DVFS will work. +;temp_ctrl_status : temperature control status, if this is enabled, the gpu frequency +; will drop down if the temperature of gpu is too high. +;scene_ctrl_status: scene control status, if this is enabled, android layer can ask +; gpu driver to change frequency in certain scene. +;max_level : maximum level, which is used when thermal system does not restrict +; GPU power consumption. +;begin_level : the corresponding frequency and voltage will be used during GPU +; initialization. +;lvfreq : frequency in MHz of certain level. +;lvvolt : voltage in mV of certain level. +;---------------------------------------------------------------------------------- +[gpu_mali450_0] +regulator_id = "vdd-gpu" +dvfs_status = 0 +temp_ctrl_status = 1 +scene_ctrl_status = 1 + +max_level = 3 +begin_level = 3 + +lv0_freq = 144 +lv0_volt = 1200 + +lv1_freq = 264 +lv1_volt = 1200 + +lv2_freq = 384 +lv2_volt = 1200 + +lv3_freq = 456 +lv3_volt = 1200 + +;--------------------------------------------------------------------------------- +; used 1: box 0:pad +; start_type 1: start system directly when power supply 0: wait IR/KEY to power on +; irkey_used 1: ir key used 0: not +; pmukey_used 1: physical button used, 0: not, the key is link to PMU PWROK +;--------------------------------------------------------------------------------- +[box_start_os] +used = 1 +start_type = 1 +irkey_used = 1 +pmukey_used = 0 + +;--------------------------------------------------------------------------------- +; the module used when box_start_os is used, the this module is to support on/off +; led when box into box standby, the gpio is only support PL and AXP gpio(0/1) +;--------------------------------------------------------------------------------- +[box_standby_led] +gpio0 = port:PL10<1><1> +gpio1 = port:PA20<1><0> + +;-------------------------------------------------------------------------------- +; +; support power key on Orangepi +;-------------------------------------------------------------------------------- +[gpio_power_key] +key_io = port:PL03<6><0> diff --git a/external/packages/pack-uboot/sun50iw2/bin/sys_config/sys_config_orangepizeroplus.fex b/external/packages/pack-uboot/sun50iw2/bin/sys_config/sys_config_orangepizeroplus.fex new file mode 100755 index 000000000000..0edf7519b03e --- /dev/null +++ b/external/packages/pack-uboot/sun50iw2/bin/sys_config/sys_config_orangepizeroplus.fex @@ -0,0 +1,1469 @@ +;sun50iw2p1 application +;--------------------------------------------------------------------------------------------------------- +; 说明: 脚本中的字符串区分大小写,用户可以修改"="后面的数值,但是不要修改前面的字符串 +; 描述gpio的形式:Port:端口+组内序号<功能分配><内部电阻状态><驱动能力><输出电平状态> +;--------------------------------------------------------------------------------------------------------- + +[product] +version = "100" +machine = "cheetah-p1" + +[platform] +eraseflag = 1 +;---------------------------------------------------------------------------------- +; burn_key: 0-do not use dragonKey 1-use dragonKey +; dragonboard_test: 0-build dragonboard for flash boot 1-build dragonboard for TF boot +;---------------------------------------------------------------------------------- +[target] +boot_clock = 1008 +storage_type = -1 +burn_key = 0 +dragonboard_test = 0 +power_mode = 1 + +[power_sply] +dcdcb_vol = 1001260 +dcdcc_vol = 1001200 +aldo2_vol = 1003300 + +;---------------------------------------------------------------------------------- +; goto android recovery when press the ir key +; ir_boot_recovery_used: 0-not used, 1-used +; ir_recovery_key_codex: the ir recovery key code value +; ir_addr_codex: the ir addr value +;---------------------------------------------------------------------------------- +[ir_boot_recovery] +ir_boot_recovery_used = 0 +ir_recovery_key_code0 = 0x57 +ir_addr_code0 = 0x9f00 +ir_recovery_key_code1 = 0x15 +ir_addr_code1 = 0xbc00 + +;---------------------------------------------------------------------------------- +; sprite_gpio0: led that indicates the state of card product +; next_work: the action after finishing card product 2-reboot 3-shutdown +;---------------------------------------------------------------------------------- +[card_boot] +logical_start = 40960 +sprite_gpio0 = port:PL10<1><1> +next_work = 3 + +;---------------------------------------------------------------------------------- +; used: 模块使能端 1:开启模块 0:关闭模块 +; mode: 模式选择 1:一键进入OTA升级 2:一键恢复(通过sysrecovery分区来恢复) 其他值:无效 +; recovery_key : 按键配置 (例如:recovery_key= port:PH16<0>) +;---------------------------------------------------------------------------------- +[recovery_para] +used = 1 +mode = 1 +recovery_key = port:PL04<0> + +[boot_init_gpio] +boot_init_gpio_used = 1 +gpio0 = port:PL10<1><0> +gpio1 = port:PA17<1><1> + +;--------------------------------------------------------------------------------------------------------- +; if 1 == standby_mode, then support super standby; +; else, support normal standby. +;--------------------------------------------------------------------------------------------------------- +[pm_para] +standby_mode = 1 + +[card0_boot_para] +card_ctrl = 0 +card_high_speed = 1 +card_line = 4 +sdc_d1 = port:PF00<2><1><2> +sdc_d0 = port:PF01<2><1><2> +sdc_clk = port:PF02<2><1><2> +sdc_cmd = port:PF03<2><1><2> +sdc_d3 = port:PF04<2><1><2> +sdc_d2 = port:PF05<2><1><2> + +[card2_boot_para] +card_ctrl = 2 +card_high_speed = 1 +card_line = 8 +sdc_ds = port:PC1<4><1><3> +sdc_clk = port:PC5<3><1><3> +sdc_cmd = port:PC6<3><1><3> +sdc_d0 = port:PC8<3><1><3> +sdc_d1 = port:PC9<3><1><3> +sdc_d2 = port:PC10<3><1><3> +sdc_d3 = port:PC11<3><1><3> +sdc_d4 = port:PC12<3><1><3> +sdc_d5 = port:PC13<3><1><3> +sdc_d6 = port:PC14<3><1><3> +sdc_d7 = port:PC15<3><1><3> +sdc_emmc_rst = port:PC16<3><1><3> +sdc_ex_dly_used = 2 + + +[twi_para] +twi_port = 0 +twi_scl = port:PL0<2> +twi_sda = port:PL1<2> + +[uart_para] +uart_debug_port = 0 +uart_debug_tx = port:PA4<2><1> +uart_debug_rx = port:PA5<2><1> + +[jtag_para] +jtag_enable = 0 +jtag_ms = port:PB0<4> +jtag_ck = port:PB1<4> +jtag_do = port:PB2<4> +jtag_di = port:PB3<4> + +[clock] +pll4 = 300 +pll6 = 600 +pll8 = 360 +pll9 = 297 +pll10 = 264 + +;***************************************************************************** +;sdram configuration +; +;***************************************************************************** +[dram_para] +dram_clk = 672 +dram_type = 3 +dram_zq = 0x3b3bf9 +dram_odt_en = 0x1 +dram_para1 = 0x10f410f4 +dram_para2 = 0x0000 +dram_mr0 = 0x1840 +dram_mr1 = 0x40 +dram_mr2 = 0x18 +dram_mr3 = 0x2 +dram_tpr0 = 0x0048A192 +dram_tpr1 = 0x01b1a94b +dram_tpr2 = 0x00061043 +dram_tpr3 = 0xB4787896 +dram_tpr4 = 0x0000 +dram_tpr5 = 0x0 +dram_tpr6 = 100 +dram_tpr7 = 0x1e08a1e0 +dram_tpr8 = 0x0 +dram_tpr9 = 0 +dram_tpr10 = 0x2535 +dram_tpr11 = 0x23330000 +dram_tpr12 = 0x00008897 +dram_tpr13 = 0x4002990 +;---------------------------------------------------------------------------------- +;os life cycle para configuration +;---------------------------------------------------------------------------------- + +;------------------------------------------------------------------------------; +; 10/100/100Mbps Ethernet MAC Controller Configure ; +;------------------------------------------------------------------------------; +; 配置选项: ; +; gmac_used --- 1: gmac used, 0: not used ; +; gmac_powerx -- A[:B] A: axp channel, B: voltage value ; +; phy-mode -- rgmii, rmii, mii ; +; tx-delay -- transmit clock delay: 0~7 ; +; rx-delay -- receive clock delay: 0~31 ; +;------------------------------------------------------------------------------; +[gmac0] +gmac0_used = 1 +phy-mode = "rgmii" +;gmac_rxd3 = port:PD00<2><3> +;gmac_rxd2 = port:PD01<2><3> +;gmac_rxd1 = port:PD02<2><3> +;gmac_rxd0 = port:PD03<2><3> +;gmac_rxdv = port:PD05<2><3> +;gmac_rxclk = port:PD04<2><3> +;gmac_rxerr = port:PD06<2><3> +;gmac_txd3 = port:PD07<2><3> +;gmac_txd2 = port:PD08<2><3> +;gmac_txd1 = port:PD09<2><3> +;gmac_txd0 = port:PD10<2><3> +;gmac_txclk = port:PD12<2><3> +;gmac_txen = port:PD13<2><3> +;gmac_clkin = port:PD15<2><3> +;gmac_mdc = port:PD16<2><3> +;gmac_mdio = port:PD17<2><3> +gmac_power1 = +gmac_power2 = +gmac_power3 = +tx-delay = 0 +rx-delay = 0 + +;---------------------------------------------------------------------------------- +;i2c configuration +;---------------------------------------------------------------------------------- +[twi0] +twi0_used = 1 +twi0_scl = port:PA11<2> +twi0_sda = port:PA12<2> + +[twi0_suspend] +twi0_scl = port:PA11<7> +twi0_sda = port:PA12<7> + +[twi1] +twi1_used = 1 +twi1_scl = port:PA18<3> +twi1_sda = port:PA19<3> + +[twi1_suspend] +twi1_scl = port:PA18<7> +twi1_sda = port:PA19<7> + +[twi2] +twi2_used = 0 +twi2_scl = port:PE12<3> +twi2_sda = port:PE13<3> + +[twi2_suspend] +twi2_scl = port:PE12<7> +twi2_sda = port:PE13<7> + +;---------------------------------------------------------------------------------- +;TWI device configuration +;compatible --- device name +;reg --- device address +;---------------------------------------------------------------------------------- +;[twi0/twi_board0] +;compatible = +;reg = + +;---------------------------------------------------------------------------------- +;uart configuration +;uart_port --- x (/dev/ttySx, x=0,1,2,...) +;uart_type --- 2 (2 wire), 4 (4 wire), 8 (8 wire, full function) +;---------------------------------------------------------------------------------- +[uart0] +uart0_used = 1 +uart0_port = 0 +uart0_type = 2 +uart0_tx = port:PA4<2><1> +uart0_rx = port:PA5<2><1> + +[uart0_suspend] +uart0_tx = port:PA4<7><1> +uart0_rx = port:PA5<7><1> + +[uart1] +uart1_used = 1 +uart1_port = 1 +uart1_type = 4 +uart1_tx = port:PG6<2><1> +uart1_rx = port:PG7<2><1> +uart1_rts = port:PG8<2><1> +uart1_cts = port:PG9<2><1> + +[uart1_suspend] +uart1_tx = port:PG6<7><1> +uart1_rx = port:PG7<7><1> +uart1_rts = port:PG8<7><1> +uart1_cts = port:PG9<7><1> + +[uart2] +uart2_used = 1 +uart2_port = 2 +uart2_type = 4 +uart2_tx = port:PA0<2><1> +uart2_rx = port:PA1<2><1> +uart2_rts = port:PA2<2><1> +uart2_cts = port:PA3<2><1> + +[uart2_suspend] +uart2_tx = port:PA0<7><1> +uart2_rx = port:PA1<7><1> +uart2_rts = port:PA2<7><1> +uart2_cts = port:PA3<7><1> + +[uart3] +uart3_used = 0 +uart3_port = 3 +uart3_type = 4 +uart3_tx = port:PA13<2><1> +uart3_rx = port:PA14<2><1> +uart3_rts = port:PA15<2><1> +uart3_cts = port:PA16<2><1> + +[uart3_suspend] +uart3_tx = port:PA13<7><1> +uart3_rx = port:PA14<7><1> +uart3_rts = port:PA15<7><1> +uart3_cts = port:PA16<7><1> + +;---------------------------------------------------------------------------------- +;SPI controller configuration +;---------------------------------------------------------------------------------- +[spi0] +spi0_used = 0 +spi0_cs_number = 1 +spi0_cs_bitmap = 1 +spi0_cs0 = port:PC3<3><1> +spi0_sclk = port:PC2<3> +spi0_mosi = port:PC0<3> +spi0_miso = port:PC1<4> + +[spi0_suspend] +spi0_cs0 = port:PC3<7><1> +spi0_sclk = port:PC2<7> +spi0_mosi = port:PC0<7> +spi0_miso = port:PC1<7> + +[spi1] +spi1_used = 1 +spi1_cs_number = 1 +spi1_cs_bitmap = 1 +spi1_cs0 = port:PA13<2><1> +spi1_sclk = port:PA14<2> +spi1_mosi = port:PA15<2> +spi1_miso = port:PA16<2> + +[spi1_suspend] +spi1_cs0 = port:PA13<7><1> +spi1_sclk = port:PA14<7> +spi1_mosi = port:PA15<7> +spi1_miso = port:PA16<7> + +;---------------------------------------------------------------------------------- +;SPI device configuration +;compatible --- device name +;spi-max-frequency --- work frequency +;reg --- chip select +;optional properties: spi-cpha, spi-cpol, spi-cs-high +;---------------------------------------------------------------------------------- +;[spi0/spi_board0] +;compatible = +;spi-max-frequency = +;reg = +;spi-cpha +;spi-cpol +;spi-cs-high + +;---------------------------------------------------------------------------------- +;resistance tp configuration +;---------------------------------------------------------------------------------- +[rtp_para] +rtp_used = 0 +rtp_screen_size = 5 +rtp_regidity_level = 5 +rtp_press_threshold_enable = 0 +rtp_press_threshold = 0x1f40 +rtp_sensitive_level = 0xf +rtp_exchange_x_y_flag = 0 + +;---------------------------------------------------------------------------------- +;capacitor tp configuration +;external int function +;wakeup output function +;notice --- tp_int_port & tp_io_port use the same port +;---------------------------------------------------------------------------------- +[ctp] +compatible = "allwinner,sun50i-ctp-para" +ctp_used = 0 +ctp_twi_id = 0 +ctp_twi_addr = 0x5d +ctp_screen_max_x = 1280 +ctp_screen_max_y = 800 +ctp_revert_x_flag = 1 +ctp_revert_y_flag = 1 +ctp_exchange_x_y_flag = 1 + +ctp_int_port = port:PH04<6> +ctp_wakeup = port:PH08<1><1> +ctp_power_ldo = "vcc-ctp" +ctp_power_ldo_vol = 3300 +ctp_power_io = + +;-------------------------------------------------------------------------------- +; CTP automatic detection configuration +;ctp_detect_used --- Whether startup automatic inspection function. 1:used,0:unused +;Module name postposition 1 said detection, 0 means no detection. +;-------------------------------------------------------------------------------- +[ctp_list] +compatible = "allwinner,sun50i-ctp-list" +ctp_det_used = 1 +ft5x_ts = 1 +gt82x = 1 +gslX680 = 1 +gt9xx_ts = 0 +gt9xxnew_ts = 1 +gt811 = 1 +zet622x = 1 +aw5306_ts = 1 + +;---------------------------------------------------------------------------------- +;touch key configuration +;---------------------------------------------------------------------------------- +[tkey_para] +tkey_used = 0 +tkey_twi_id = +tkey_twi_addr = +tkey_int = + +;---------------------------------------------------------------------------------- +;motor configuration +;---------------------------------------------------------------------------------- +[motor_para] +motor_used = 1 +motor_shake = port:power3<1><1> + +[nand0_para] +nand0_support_2ch = 0 + +nand0_used = 1 +nand0_we = port:PC00<2><0><1> +nand0_ale = port:PC01<2><0><1> +nand0_cle = port:PC02<2><0><1> +nand0_ce1 = port:PC03<2><1><1> +nand0_ce0 = port:PC04<2><1><1> +nand0_nre = port:PC05<2><0><1> +nand0_rb0 = port:PC06<2><1><1> +nand0_rb1 = port:PC07<2><1><1> +nand0_d0 = port:PC08<2><0><1> +nand0_d1 = port:PC09<2><0><1> +nand0_d2 = port:PC10<2><0><1> +nand0_d3 = port:PC11<2><0><1> +nand0_d4 = port:PC12<2><0><1> +nand0_d5 = port:PC13<2><0><1> +nand0_d6 = port:PC14<2><0><1> +nand0_d7 = port:PC15<2><0><1> +nand0_ndqs = port:PC16<2><0><1> +nand0_ce2 = port:PC17<2><1><1> +nand0_ce3 = port:PC18<2><1><1> + +nand0_regulator1 = "vcc-nand" +nand0_regulator2 = "none" +nand0_cache_level = 0x55aaaa55 +nand0_flush_cache_num = 0x55aaaa55 +nand0_capacity_level = 0x55aaaa55 +nand0_id_number_ctl = 0x55aaaa55 +nand0_print_level = 0x55aaaa55 +nand0_p0 = 0x55aaaa55 +nand0_p1 = 0x55aaaa55 +nand0_p2 = 0x55aaaa55 +nand0_p3 = 0x55aaaa55 + +;---------------------------------------------------------------------------------- +;disp init configuration +; +;disp_mode (0:screen0) +;screenx_output_type (0:none; 1:lcd; 3:hdmi;) +;screenx_output_mode (used for hdmi output, 0:480i 1:576i 2:480p 3:576p 4:720p50) +; (5:720p60 6:1080i50 7:1080i60 8:1080p24 9:1080p50 10:1080p60) +;fbx format (0:ARGB 1:ABGR 2:RGBA 3:BGRA 5:RGB565 8:RGB888 12:ARGB4444 16:ARGB1555 18:RGBA5551) +;fbx_width,fbx_height (framebuffer horizontal/vertical pixels, fix to output resolution while equal 0) +;---------------------------------------------------------------------------------- +[disp] +disp_init_enable = 1 +disp_mode = 0 + +screen0_output_type = 2 +screen0_output_mode = 11 + +screen1_output_type = 2 +screen1_output_mode = 11 + +dev0_output_type = 4 +dev0_output_mode = 4 +dev0_screen_id = 0 +dev0_do_hpd = 1 + +dev1_output_type = 2 +dev1_output_mode = 11 +dev1_screen_id = 1 +dev1_do_hpd = 1 + +dev2_output_type = 0 +def_output_dev = 0 +hdmi_mode_check = 0 + +fb0_format = 0 +fb0_width = 1280 +fb0_height = 720 + +fb1_format = 0 +fb1_width = 0 +fb1_height = 0 + +;---------------------------------------------------------------------------------- +;lcd0 configuration + +;lcd_if: 0:hv(sync+de); 1:8080; 2:ttl; 3:lvds; 4:dsi; 5:edp +;lcd_backlight lcd init backlight +;lcd_x: lcd horizontal resolution +;lcd_y: lcd vertical resolution +;lcd_width: width of lcd in mm +;lcd_height: height of lcd in mm +;lcd_dclk_freq: in MHZ unit +;lcd_pwm_freq: in HZ unit +;lcd_pwm_pol: lcd backlight PWM polarity +;lcd_pwm_max_limit lcd backlight PWM max limit(<=255) +;lcd_hbp: hsync back porch +;lcd_ht: hsync total cycle +;lcd_vbp: vsync back porch +;lcd_vt: vysnc total cycle +;lcd_hspw: hsync plus width +;lcd_vspw: vysnc plus width +;lcd_lvds_if: 0:single link; 1:dual link +;lcd_lvds_colordepth: 0:8bit; 1:6bit +;lcd_lvds_mode: 0:NS mode; 1:JEIDA mode +;lcd_frm: 0:disable; 1:enable rgb666 dither; 2:enable rgb656 dither +;lcd_hv_clk_phase lcd hv panel lock phase, 0:0 degree; 1:90 degree; 2: 180 degree; 3: 270 degree +;lcd_hv_sync_polarity lcd hv panel sync signals polarity +; 0:vsync active low, hsync active low; 1:vsync active high, hsync active low +; 2:vsync active low, hsync active high; 3:vsync active high, hsync active high +;lcd_gamma_en lcd gamma correction enable +;lcd_bright_curve_en lcd bright curve correction enable +;lcd_cmap_en lcd color map function enable +;---------------------------------------------------------------------------------- +[lcd0] +lcd_used = 0 + +lcd_driver_name = "default_lcd" +lcd_backlight = 50 +lcd_if = 3 +lcd_x = 1280 +lcd_y = 800 +lcd_width = 150 +lcd_height = 94 +lcd_dclk_freq = 70 +lcd_pwm_used = 1 +lcd_pwm_ch = 0 +lcd_pwm_freq = 50000 +lcd_pwm_pol = 1 +lcd_pwm_max_limit = 255 +lcd_hbp = 20 +lcd_ht = 1418 +lcd_hspw = 10 +lcd_vbp = 10 +lcd_vt = 814 +lcd_vspw = 5 +lcd_lvds_if = 0 +lcd_lvds_colordepth = 1 +lcd_lvds_mode = 0 +lcd_frm = 1 +lcd_hv_clk_phase = 0 +lcd_hv_sync_polarity= 0 +lcd_gamma_en = 0 +lcd_bright_curve_en = 0 +lcd_cmap_en = 0 + +lcd_bl_en = port:PD23<1><0><1> +lcd_bl_en_power = "none" +lcd_power = "vcc-lcd-0" +lcd_fix_power = "vcc-dsi-33" + +lcdd0 = port:PD12<3><0> +lcdd1 = port:PD13<3><0> +lcdd2 = port:PD14<3><0> +lcdd3 = port:PD15<3><0> +lcdd4 = port:PD16<3><0> +lcdd5 = port:PD17<3><0> +lcdd6 = port:PD18<3><0> +lcdd7 = port:PD19<3><0> +lcdd8 = port:PD20<3><0> +lcdd9 = port:PD21<3><0> +lcd_pin_power = "vcc-pd" + +[lcd0_suspend] +lcdd0 = port:PD12<7><0> +lcdd1 = port:PD13<7><0> +lcdd2 = port:PD14<7><0> +lcdd3 = port:PD15<7><0> +lcdd4 = port:PD16<7><0> +lcdd5 = port:PD17<7><0> +lcdd6 = port:PD18<7><0> +lcdd7 = port:PD19<7><0> +lcdd8 = port:PD20<7><0> +lcdd9 = port:PD21<7><0> + +[hdmi] +hdmi_used = 0 +;hdmi_power = "vcc3v3-hdmi" +hdmi_hdcp_enable = 0 +hdmi_cts_compatibility = 0 +hdmi_cec_support = 1 + +;---------------------------------------------------------------------------------- +;tv configuration +;dac_src (dac no,support dac_src0~dac_src3,dac num max is 4) +;interface (interface type,1<->cvbs,2<->YPBPR,4<->SVIDEO) +;dac_type (0<->composite,1<->luma,2<->chroma,3<->reserved,4<->y/green, +; 5<->u/pb/blue,6<->v/pr/red) +;NOTE: tv0,tv1 can not use the same dac_src. +;---------------------------------------------------------------------------------- + +[tv0] +used = 1 +dac_src0 = 0 +dac_type0 = 0 +interface = 1 + +;---------------------------------------------------------------------------------- +;pwm config +;---------------------------------------------------------------------------------- +[pwm0] +pwm_used = 0 +pwm_positive = port:PD22<2><0> + +[pwm0_suspend] +pwm_positive = port:PD22<7><0> + +[pwm16] +s_pwm0_used = 0 +pwm_positive = port:PL10<2><0> + +[pwm16_suspend] +pwm_positive = port:PL10<7><0> + +;----------------------------------------------------------------- +;auto_hpd - 1:need hotplud for hdmi/tv; 0:don't hotplud for lcd +;output_type - 0:none; 1:lcd; 2:tv; 3:hdmi; 4:vga (as default config in homlet) +;hdmi_channel - the display channel for hdmi (as default config in homlet) +;cvbs_channel - the display channel for cvbs (as default config in homlet) +;hdmi_mode - as default config for output of hdmi in homlet +;cvbs_mode - as default config for output of tv in homlet. 11:PAL; 14:NTSC +;hdmi_mode_check - disable/enable the function of checking hdmi mode, 0 is disable, 1 is enable +;----------------------------------------------------------------- +;[boot_disp] +;auto_hpd = 1 +;output_disp = 0 +;output_type = 3 +;output_mode = 4 +;hdmi_channel = 0 +;hdmi_mode = 4 +;cvbs_channel = 1 +;cvbs_mode = 11 +;hdmi_mode_check = 1 +;output_full = 1 + +;-------------------------------------------------------------------------------- +;csi (COMS Sensor Interface) configuration +;csi(x)_dev(x)_used: 0:disable 1:enable +;csi(x)_dev(x)_isp_used 0:not use isp 1:use isp +;csi(x)_dev(x)_fmt: 0:yuv 1:bayer raw rgb +;csi(x)_dev(x)_stby_mode: 0:not shut down power at standby 1:shut down power at standby +;csi(x)_dev(x)_vflip: flip in vertical direction 0:disable 1:enable +;csi(x)_dev(x)_hflip: flip in horizontal direction 0:disable 1:enable +;csi(x)_dev(x)_iovdd: camera module io power handle string, pmu power supply +;csi(x)_dev(x)_iovdd_vol: camera module io power voltage, pmu power supply +;csi(x)_dev(x)_avdd: camera module analog power handle string, pmu power supply +;csi(x)_dev(x)_avdd_vol: camera module analog power voltage, pmu power supply +;csi(x)_dev(x)_dvdd: camera module core power handle string, pmu power supply +;csi(x)_dev(x)_dvdd_vol: camera module core power voltage, pmu power supply +;csi(x)_dev(x)_afvdd: camera module vcm power handle string, pmu power supply +;csi(x)_dev(x)_afvdd_vol: camera module vcm power voltage, pmu power supply +;fill voltage in uV, e.g. iovdd = 2.8V, csix_iovdd_vol = 2800000 +;fill handle string as below: +;axp22_eldo3 +;axp22_dldo4 +;axp22_eldo2 +;fill handle string "" when not using any pmu power supply +;-------------------------------------------------------------------------------- + +[csi0] +csi0_used = 0 +csi0_sensor_list = 0 +csi0_pck = port:PE00<2> +csi0_mck = port:PE01<1><0><1><0> +csi0_hsync = port:PE02<2> +csi0_vsync = port:PE03<2> +csi0_d0 = port:PE04<2> +csi0_d1 = port:PE05<2> +csi0_d2 = port:PE06<2> +csi0_d3 = port:PE07<2> +csi0_d4 = port:PE08<2> +csi0_d5 = port:PE09<2> +csi0_d6 = port:PE10<2> +csi0_d7 = port:PE11<2> +csi0_sck = port:PE12<2> +csi0_sda = port:PE13<2> + +[csi0/csi0_dev0] +csi0_dev0_used = 0 +csi0_dev0_mname = "ov5640" +csi0_dev0_twi_addr = 0x78 +csi0_dev0_pos = "rear" +csi0_dev0_isp_used = 1 +csi0_dev0_fmt = 0 +csi0_dev0_stby_mode = 0 +csi0_dev0_vflip = 0 +csi0_dev0_hflip = 0 +csi0_dev0_iovdd = "iovdd-csi" +csi0_dev0_iovdd_vol = 2800000 +csi0_dev0_avdd = "avdd-csi" +csi0_dev0_avdd_vol = 2800000 +csi0_dev0_dvdd = "dvdd-csi-18" +csi0_dev0_dvdd_vol = 1500000 +csi0_dev0_afvdd = "afvcc-csi" +csi0_dev0_afvdd_vol = 2800000 +;csi0_dev0_power_en = port:PB04<1><0><1><0> +csi0_dev0_power_en = +csi0_dev0_reset = port:PE14<1><0><1><0> +csi0_dev0_pwdn = port:PE15<1><0><1><0> +csi0_dev0_flash_used = 0 +csi0_dev0_flash_type = 2 +csi0_dev0_flash_en = +csi0_dev0_flash_mode = +csi0_dev0_flvdd = "" +csi0_dev0_flvdd_vol = +csi0_dev0_af_pwdn = +csi0_dev0_act_used = 0 +csi0_dev0_act_name = "ad5820_act" +csi0_dev0_act_slave = 0x18 + +[csi0/csi0_dev1] +csi0_dev1_used = 0 +csi0_dev1_mname = "" +csi0_dev1_twi_addr = 0x78 +csi0_dev1_pos = "rear" +csi0_dev1_isp_used = 1 +csi0_dev1_fmt = 0 +csi0_dev1_stby_mode = 0 +csi0_dev1_vflip = 0 +csi0_dev1_hflip = 0 +csi0_dev1_iovdd = "iovdd-csi" +csi0_dev1_iovdd_vol = 2800000 +csi0_dev1_avdd = "avdd-csi" +csi0_dev1_avdd_vol = 2800000 +csi0_dev1_dvdd = "dvdd-csi-18" +csi0_dev1_dvdd_vol = 1500000 +csi0_dev1_afvdd = "afvcc-csi" +csi0_dev1_afvdd_vol = 2800000 +csi0_dev1_power_en = +csi0_dev1_reset = +csi0_dev1_pwdn = +csi0_dev1_flash_used = 0 +csi0_dev1_flash_type = 2 +csi0_dev1_flash_en = +csi0_dev1_flash_mode = +csi0_dev1_flvdd = "" +csi0_dev1_flvdd_vol = +csi0_dev1_af_pwdn = +csi0_dev1_act_used = 0 +csi0_dev1_act_name = "ad5820_act" +csi0_dev1_act_slave = 0x18 + +;-------------------------------------------------------------------------------- +;tv configuration +; +;-------------------------------------------------------------------------------- +[tvout_para] +tvout_used = +tvout_channel_num = +tv_en = + +[tvin_para] +tvin_used = +tvin_channel_num = + +; ------------------------------------------------------------------------------| +; de-interlace configuration +;-------------------------------------------------------------------------------- +[di] +di_used = 1 + +;-------------------------------------------------------------------------------- +; SDMMC PINS MAPPING | +; ------------------------------------------------------------------------------| +; Config Guide | +; sdc_used: 1-enable card, 0-disable card | +; non-removable:if you use as main memory,you should set it,for example eMMC | +; bus-width: card bus width, 1-1bit, 4-4bit, 8-8bit | +; sunxi-power-save-mode: if use sdio card,should not set it | +; vmmc:regulator for card/emmc power | +; vqmmc:regulator for card/emmc io power | +; vdmmc:regulator for card detect pin pull up power | +; other: GPIO Mapping configuration | +; ------------------------------------------------------------------------------| +; Note: | +; | +; | +; | +; | +; | +; | +;-------------------------------------------------------------------------------- +[sdc0] +sdc0_used = 1 +bus-width = 4 +sdc0_d1 = port:PF00<2><1><2> +sdc0_d0 = port:PF01<2><1><2> +sdc0_clk = port:PF02<2><1><2> +sdc0_cmd = port:PF03<2><1><2> +sdc0_d3 = port:PF04<2><1><2> +sdc0_d2 = port:PF05<2><1><2> +cd-gpios = port:PF06<0><1><2> +sunxi-power-save-mode = +sunxi-dis-signal-vol-sw = +vmmc="vcc-sdcv" +vqmmc="vcc-sdcvq33" +vdmmc="vcc-sdcvd" + + +[sdc1] +sdc1_used = 1 +bus-width = 4 +sdc1_clk = port:PG00<2><1><3> +sdc1_cmd = port:PG01<2><1><3> +sdc1_d0 = port:PG02<2><1><3> +sdc1_d1 = port:PG03<2><1><3> +sdc1_d2 = port:PG04<2><1><3> +sdc1_d3 = port:PG05<2><1><3> +;sunxi-power-save-mode = +sd-uhs-sdr50 = +sd-uhs-ddr50 = +sd-uhs-sdr104 = +cap-sdio-irq = 1 +keep-power-in-suspend = +ignore-pm-notify = +max-frequency = 150000000 + +[sdc2] +sdc2_used = 0 +non-removable = +bus-width = 8 +sdc2_ds = port:PC01<3><1><3> +sdc2_clk = port:PC05<3><1><3> +sdc2_cmd = port:PC06<3><1><3> +sdc2_d0 = port:PC08<3><1><3> +sdc2_d1 = port:PC09<3><1><3> +sdc2_d2 = port:PC10<3><1><3> +sdc2_d3 = port:PC11<3><1><3> +sdc2_d4 = port:PC12<3><1><3> +sdc2_d5 = port:PC13<3><1><3> +sdc2_d6 = port:PC14<3><1><3> +sdc2_d7 = port:PC15<3><1><3> +sdc2_emmc_rst = port:PC16<3><1><3> +cd-gpios = +sunxi-power-save-mode = +sunxi-dis-signal-vol-sw = +;mmc-ddr-1_8v = +;mmc-hs200-1_8v = +;mmc-hs400-1_8v = +;max-frequency = 150000000 +sdc_tm4_sm0_freq0 = 0 +sdc_tm4_sm0_freq1 = 0 +sdc_tm4_sm1_freq0 = 0x00000000 +sdc_tm4_sm1_freq1 = 0 +sdc_tm4_sm2_freq0 = 0x00000000 +sdc_tm4_sm2_freq1 = 0 +sdc_tm4_sm3_freq0 = 0x05000000 +sdc_tm4_sm3_freq1 = 0x00000405 +sdc_tm4_sm4_freq0 = 0x00050000 +sdc_tm4_sm4_freq1 = 0x00000408 +vmmc="vcc-emmcv" +;vqmmc="vcc-emmcvq33" +vqmmc="vcc-emmcvq18" +vdmmc="none" + + +;[mmc3] +;mmc3_used = 0 +;mmc3_detmode = 2 +;mmc3_buswidth = 4 +;mmc3_clk = port:PA10<2><1><2> +;mmc3_cmd = port:PA09<2><1><2> +;mmc3_d0 = port:PA11<2><1><2> +;mmc3_d1 = port:PA12<2><1><2> +;mmc3_d2 = port:PA13<2><1><2> +;mmc3_d3 = port:PA14<2><1><2> +;mmc3_det = +;mmc3_use_wp = 0 +;mmc3_wp = +;mmc3_isio = 0 +;mmc3_regulator = "none" + +; ------------------------------------------------------------------------------| +; sim card configuration +;-------------------------------------------------------------------------------- +[smc] +smc_used = +smc_rst = +smc_vppen = +smc_vppp = +smc_det = +smc_vccen = +smc_sck = +smc_sda = + +;------------------------------------------------------------------------------- +;userspace gpio interface for android +;---------------------------------------------------------------------------------- +[gpio_para] +compatible = "allwinner,sunxi-init-gpio" +gpio_used = 0 +gpio_num = 0 +;gpio_pin_1 = port:PL10<1><0> +;gpio_pin_2 = port:PA17<1><1> + +;-------------------------------- +;[usbc0]: usbc0 configuration. +;usb_used: usb controller enable. 0-disable, 1-enable. +;usb_port_type: usb mode. 0-device, 1-host, 2-otg. +;usb_detect_type: usb hotplug detect mode. 0-none, 1-vbus/id detect, 2-id/dpdm detect. +;usb_detect_mode: usb otg switch has two config. 0-thread scan, 1-id gpio interrupt. +;usb_id_gpio: usb id detect IO. +;usb_det_vbus_gpio: USB DET_VBUS has two config. (1)gpio pin; (2)"axp_ctrl", use axp intf. +;usb_drv_vbus_gpio: USB DRY_VBUS has two config. (1)gpio pin; (2)"axp_ctrl", use axp intf. +;-------------------------------- +;-------------------------------- +;--- USB0 CONFIG +;-------------------------------- +[usbc0] +usbc0_used = 1 +usb_port_type = 0 +usb_detect_type = 1 +usb_detect_mode = 0 +usb_id_gpio = port:PG12<0><1> +usb_det_vbus_gpio = port:PG12<0><1> +usb_drv_vbus_gpio = +usb_host_init_state = 1 +usb_regulator_io = "nocare" +usb_wakeup_suspend = 0 +;--- USB Device +usb_luns = 3 +usb_serial_unique = 0 +usb_serial_number = "20080411" +rndis_wceis = 1 + +;-------------------------------- +;--- USB1 CONFIG +;-------------------------------- +[usbc1] +usbc1_used = 1 +usb_drv_vbus_gpio = +usb_host_init_state = 1 +usb_regulator_io = "nocare" +usb_wakeup_suspend = 0 + +;-------------------------------- +;--- USB2 CONFIG +;-------------------------------- +[usbc2] +usbc2_used = 1 +usb_drv_vbus_gpio = +usb_host_init_state = 1 +usb_regulator_io = "nocare" +usb_wakeup_suspend = 0 + +;-------------------------------- +;--- USB3 CONFIG +;-------------------------------- +[usbc3] +usbc3_used = 1 +usb_drv_vbus_gpio = +usb_host_init_state = 1 +usb_regulator_io = "nocare" +usb_wakeup_suspend = 0 + +;-------------------------------- +;--- serial number flag +;-------------------------------- +[serial_feature] +sn_filename = "sn.txt" + +;-------------------------------------------------------------------------------- +; G sensor configuration +; gs_twi_id --- TWI ID for controlling Gsensor (0: TWI0, 1: TWI1, 2: TWI2) +;-------------------------------------------------------------------------------- +[gsensor] +compatible = "allwinner,sun50i-gsensor-para"; +gsensor_used = 0 +gsensor_twi_id = 1 +gsensor_twi_addr = 0x18 +gsensor_int1 = port:PA09<6><1> +gsensor_int2 = +gsensor_vcc_io = "vcc-deviceio" +gsensor_vcc_io_val = 3100 + +;-------------------------------------------------------------------------------- +; G sensor automatic detection configuration +;gsensor_detect_used --- Whether startup automatic inspection function. 1:used,0:unused +;Module name postposition 1 said detection, 0 means no detection. +;-------------------------------------------------------------------------------- +[gsensor_list_para] +compatible = "allwinner,sun50i-gsensor-list-para" +gsensor_det_used = 0 +lsm9ds0_acc_mag = 1 +bma250 = 1 +mma8452 = 1 +mma7660 = 1 +mma865x = 1 +afa750 = 1 +lis3de_acc = 1 +lis3dh_acc = 1 +kxtik = 1 +dmard10 = 0 +dmard06 = 1 +mxc622x = 1 +fxos8700 = 1 +lsm303d = 0 + +;-------------------------------------------------------------------------------- +;wlan configuration +;wlan_used: 0-not use, 1- use +;wlan_busnum: sdio/usb index +;clocks: external low power clock input (32.768KHz) +;wlan_power: input supply voltage +;wlan_io_regulator: wlan/sdio I/O voltage +;wlan_regon: power up/down internal regulators used by wifi section +;wlan_hostwake: wlan to wake-up host +;-------------------------------------------------------------------------------- +[wlan] +wlan_used = 1 +wlan_busnum = 1 +wlan_usbnum = 3 +;clocks = "&clk_losc_out" +wlan_power = "vcc-wifi" +wlan_io_regulator = "vcc-wifi-io" +;wlan_en = port:PL07<1><0> +wlan_regon = port:PL07<1><0> +wlan_hostwake = port:PG10<6><0> + +;-------------------------------------------------------------------------------- +;bluetooth configuration +;bt_used: 0- no used, 1- used +;clocks: external low power clock input (32.768KHz) +;bt_power: input supply voltage +;bt_io_regulator: bluetooth I/O voltage +;bt_rst_n: power up/down internal regulators used by BT section +;-------------------------------------------------------------------------------- +[bt] +bt_used = 0 +;clocks = "&clk_losc_out" +bt_power = "vcc-wifi" +bt_io_regulator = "vcc-wifi-io" +bt_rst_n = port:PL01<1><0> + +;-------------------------------------------------------------------------------- +;bluetooth lpm configuration +;btlpm_used: 0- no used, 1- used +;uart_index: 0- uart0, 1- uart1, 2- uart2 +;bt_wake: host wake-up bluetooth device +;bt_hostwake: bt device wake-up host +;-------------------------------------------------------------------------------- +[btlpm] +btlpm_used = 0 +uart_index = 1 +bt_wake = port:PA12<1><1> +bt_hostwake = port:PL06<6><0> + +;-------------------------------------------------------------------------------- +;3G configuration +;-------------------------------------------------------------------------------- +[3g_para] +3g_used = 0 +3g_usbc_num = 2 +3g_uart_num = 0 +bb_vbat = port:PL03<1><0> +bb_host_wake = port:PM00<1><0> +bb_on = port:PM01<1><0> +bb_pwr_on = port:PM03<1><0> +bb_wake = port:PM04<1><0> +bb_rf_dis = port:PM05<1><0> +bb_rst = port:PM06<1><0> +3g_int = + +;-------------------------------------------------------------------------------- +;gyroscope +;-------------------------------------------------------------------------------- +[gy_para] +compatible ="allwinner,sun50i-gyr_sensors-para" +gy_used = 0 +gy_twi_id = 2 +gy_twi_addr = 0x6a +gy_int1 = port:PA10<6><1> +gy_int2 = + +;-------------------------------------------------------------------------------- +; Gyro automatic detection configuration +;gy_detect_used --- Whether startup automatic inspection function. 1:used,0:unused +;Module name postposition 1 said detection, 0 means no detection. +;-------------------------------------------------------------------------------- +[gy_list_para] +compatible = "allwinner,sun50i-gyr_sensors-list-para" +gy_det_used = 0 +lsm9ds0_gyr = 1 +l3gd20_gyr = 0 +bmg160_gyr = 1 + +;-------------------------------------------------------------------------------- +;light sensor +;-------------------------------------------------------------------------------- +[ls_para] +compatible = "allwinner,sun50i-lsensors-para" +ls_used = 0 +ls_twi_id = 2 +ls_twi_addr = 0x23 +ls_int = port:PA12<6><1> + +;-------------------------------------------------------------------------------- +; lsensor automatic detection configuration +;ls_detect_used --- Whether startup automatic inspection function. 1:used,0:unused +;Module name postposition 1 said detection, 0 means no detection. +;-------------------------------------------------------------------------------- +[ls_list_para] +compatible = "allwinner,sun50i-lsensors-list-para" +ls_det_used = 0 +ltr_501als = 1 +jsa1212 = 0 +jsa1127 = 1 + +;-------------------------------------------------------------------------------- +;compass +;-------------------------------------------------------------------------------- +[compass_para] +compatible ="allwinner,sun50i-compass-para" +compass_used = 0 +compass_twi_id = 2 +compass_twi_addr = 0x0d +compass_int = port:PA11<6><1> + +;-------------------------------------------------------------------------------- +; compass sensor automatic detection configuration +;compass_detect_used --- Whether startup automatic inspection function. 1:used,0:unused +;Module name postposition 1 said detection, 0 means no detection. +;-------------------------------------------------------------------------------- +[compass_list_para] +compatible ="allwinner,sun50i-compass-list-para" +compass_det_used = 0 +lsm9ds0 = 1 +lsm303d = 0 +akm8963 = 1 + +;-------------------------------------------------------------------------------- +; NOTE :Make sure spdif_used = 0x1,spdifmach_used = 0x1, +; if register the sound card spdif. +;-------------------------------------------------------------------------------- +[spdif] +spdif_used = 0 +[sndspdif] +sndspdif_used = 0 +;---------------------------------------------------------------------------------- +; NOTE :Make sure daudio2_used = 0x1,sndhdmi_used = 0x1, +; if register the sound card hdmi. +;--------------------------------------------------------------------------------- +[daudio2] +daudio2_used = 0 +[sndhdmi] +sndhdmi_used = 0 +;-------------------------------------------------------------------------------- +;allwinner,pcm_lrck_period :16/32/64/128/256 +;allwinner,pcm_lrckr_period :no use +;allwinner,slot_width_select :16bits/20bits/24bits/32bits +;allwinner,pcm_lsb_first :0: msb first; 1: lsb first +;allwinner,tx_data_mode :0: 16bit linear PCM; 1: 8bit linear PCM; 2: 8bit u-law; 3: 8bit a-law +;allwinner,rx_data_mode :0: 16bit linear PCM; 1: 8bit linear PCM; 2: 8bit u-law; 3: 8bit a-law +;allwinner,daudio_master :1: SND_SOC_DAIFMT_CBM_CFM(codec clk & FRM master) use +; 2: SND_SOC_DAIFMT_CBS_CFM(codec clk slave & FRM master) not use +; 3: SND_SOC_DAIFMT_CBM_CFS(codec clk master & frame slave) not use +; 4: SND_SOC_DAIFMT_CBS_CFS(codec clk & FRM slave) use +;allwinner,audio_format: 1:SND_SOC_DAIFMT_I2S(standard i2s format). use +; 2:SND_SOC_DAIFMT_RIGHT_J(right justfied format). +; 3:SND_SOC_DAIFMT_LEFT_J(left justfied format) +; 4:SND_SOC_DAIFMT_DSP_A(pcm. MSB is available on 2nd BCLK rising edge after LRC rising edge). use +; 5:SND_SOC_DAIFMT_DSP_B(pcm. MSB is available on 1nd BCLK rising edge after LRC rising edge) +;allwinner,signal_inversion:1:SND_SOC_DAIFMT_NB_NF(normal bit clock + frame) use +; 2:SND_SOC_DAIFMT_NB_IF(normal BCLK + inv FRM) +; 3:SND_SOC_DAIFMT_IB_NF(invert BCLK + nor FRM) use +; 4:SND_SOC_DAIFMT_IB_IF(invert BCLK + FRM) +;allwinner,frametype :0:short frame = 1 clock width; 1: long frame = 2 clock width +;allwinner,tdm_config :0:pcm 1:i2s +;allwinner,mclk_div :0: not output(normal setting this) 1/2/4/6/8/12/16/24/32/48/64/96/128/176/192: +; setting mclk as input clock to external codec, freq is pll_audio/mclk_div +;allwinner,daudio0_used :0:not use 1:use + +;-------------------------------------------------------------------------------- +; NOTE :Make sure snddaudio0_used = 0x1,daudio1_used = 0x1, +; if register the sound card DAUDIO1. +;-------------------------------------------------------------------------------- +[snddaudio0] +snddaudio0_used = 0 +;----------------------------------------------------------------------------- +[daudio0] +pcm_lrck_period = 0x20 +pcm_lrckr_period = 0x01 +slot_width_select = 0x20 +pcm_lsb_first = 0x0 +tx_data_mode = 0x0 +rx_data_mode = 0x0 +daudio_master = 0x04 +audio_format = 0x01 +signal_inversion = 0x01 +frametype = 0x0 +tdm_config = 0x01 +mclk_div = 0x0 +daudio0_used = 0 + +;------------------------------------------------------------------------------- +; NOTE :Make sure snddaudio1_used = 0x1,daudio0_used = 0x1, +; if register the sound card DAUDIO0. +;-------------------------------------------------------------------------------- +[snddaudio1] +snddaudio1_used = 0 +;----------------------------------------------------------------------------- +[daudio1] +pcm_lrck_period = 0x20 +pcm_lrckr_period = 0x01 +slot_width_select = 0x20 +pcm_lsb_first = 0x0 +tx_data_mode = 0x0 +rx_data_mode = 0x0 +daudio_master = 0x04 +audio_format = 0x01 +signal_inversion = 0x01 +frametype = 0x0 +tdm_config = 0x01 +mclk_div = 0x0 +daudio1_used = 0 +;---------------------------------------------------------------------------------------------------------- +;-------------------------------------------------------------------------------------- +;allwinner,headphonevol :headphone volume:0x0--0x3f 0db--(-62db) 1db/step +;allwinner,spkervol : speaker volume:0x0--0x1f 0db-(-43.5db) 1.5db/step +;allwinner,earpiecevol : earpiece volume:0x0--0x1f 0db-(-43.5db) 1.5db/step +;allwinner,maingain : mainmic gain:0x0---0x7 0x0-0db 0x1:24db 3db/step +;allwinner,headsetmicgain : headphonemic gain:0x0---0x7 0x0-0db 0x1:24db 3db/step +;allwinner,adcagc_cfg : 1:use adcagc 0:no use +;allwinner,adcdrc_cfg : 1:use adcdrc 0:no use +;allwinner,adchpf_cfg : 1:use adchpf 0:no use +;allwinner,dacdrc_cfg : 1:use adcdrc 0:no use +;allwinner,dachpf_cfg : 1:use adchpf 0:no use +;allwinner,aif2config : 1:use aif2 0:no use +;allwinner,aif3config : 1:use aif3 0:no use +;allwinner,hp_detect_case :0:low 1:high +;-------------------------------------------------------------------------------- +; NOTE :Make sure sndcodec_used = 0x1,i2s_used = 0x1 +; codec_used = 0x1,if register the sound card audiocodec. +;--------------------------------------------------------------------------------- +[sndcodec] +sndcodec_used = 0x1 +;------------------------------------------------------------------------------ +;------------------------------------------------------------------------------- +[codec] +codec_used = 1 +headphonevol = 0x3b +spkervol = 0x1f +maingain = 0x4 +adcagc_cfg = 0x0 +adcdrc_cfg = 0x0 +adchpf_cfg = 0x0 +dacdrc_cfg = 0x0 +dachpf_cfg = 0x0 +pa_sleep_time = 0x32 +;gpio-spk = port:PA16<1><1> + +;---------------------------------------------------------------------------------- +;ir --- infra remote configuration +;---------------------------------------------------------------------------------- +[s_cir0] +s_cir0_used = 1 +ir_power_key_code0 = 0x57 +ir_addr_code0 = 0x9f00 +ir_power_key_code1 = 0x1a +ir_addr_code1 = 0xfb04 +ir_power_key_code2 = 0x14 +ir_addr_code2 = 0x7F80 +ir_power_key_code3 = 0x15 +ir_addr_code3 = 0x7F80 +ir_power_key_code4 = 0x0b +ir_addr_code4 = 0xF708 +ir_power_key_code5 = 0x03 +ir_addr_code5 = 0x00EF +ir_power_key_code6 = 0xdc +ir_addr_code6 = 0x4cb3 +ir_power_key_code7 = 0x0a +ir_addr_code7 = 0x7748 +ir_power_key_code8 = 0x45 +ir_addr_code8 = 0xbd02 +ir_power_key_code9 = 0x4d +ir_addr_code9 = 0xde21 +ir_power_key_code10 = 0x18 +ir_addr_code10 = 0xfe01 +ir_power_key_code11 = 0x57 +ir_addr_code11 = 0xff00 +ir_power_key_code12 = 0x4d +ir_addr_code12 = 0xff40 +ir_power_key_code13 = 0x88 +ir_addr_code13 = 0xdd22 +ir_power_key_code14 = 0x0d +ir_addr_code14 = 0xbc00 +ir_power_key_code15 = 0x0d +ir_addr_code15 = 0xfc00 + +;-------------------------------------------------------------------------------------------------------- +;compatible ---pmu0 name, axpdummy is a dummy axp +;used ---0:not used,1:used +;pmu_id ---if bit7 is 1, then is a dummy axp; else 0:axp19x,1:axp209,2:axp22x,3:axp806,4:axp808,5:axp809,6:axp803,7:axp813,8:axp157 +;-------------------------------------------------------------------------------------------------------- +[pmu0] +compatible = "axpdummy" +used = 1 +pmu_id = 0x83 + +;-------------------------------------------------------------------------------------------------------- +;pmu_bat_unused ---0:used,1: charger unsupported on this pmu +;pmu_pwroff_vol ---set protect voltage when system start up,mV,2600/2700/2800/2900/3000/3100/3200/3300 +;power_start ---when system is in charging, shutdown is power off or resart;0:restart 1:poweroff +;-------------------------------------------------------------------------------------------------------- +;[charger0] +;pmu_bat_unused = 1 +;pmu_pwroff_vol = 3300 +;power_start = 0 + +;-------------------------------------------------------------------------------------------------------- +;compatible ---regulator0 name, support:axpdummy-regulator +;regulator_count ---pmu ldo count, changed with different pmu +;regulator(1~regulator_count) ---ldo details +;-------------------------------------------------------------------------------------------------------- +[regulator0] +compatible = "axpdummy-regulator" +regulator_count = 6 +regulator1 = "axpdummy_ldo1 none avcc vcc-pll vcc-tv" +regulator2 = "axpdummy_ldo2 none vcc-dram" +regulator3 = "axpdummy_ldo3 none vdd-sys vdd-ehpy" +regulator4 = "axpdummy_ldo4 none vdd-cpua" +regulator5 = "axpdummy_ldo5 none vcc-wifi" +regulator6 = "axpdummy_ldo6 none vcc-rtc vdd-cpus vcc-io vcc-efuse vcc-sdc vcc-nand vcc-usb vcc-uartx vcc-feled vcc-key vcc-audio vcc-ir" + +;---------------------------------------------------------------------------------- +; dvfs voltage-frequency table configuration +; +; max_freq: cpu maximum frequency, based on Hz +; min_freq: cpu minimum frequency, based on Hz +; +; lv_count: count of lv_freq/lv_volt, must be < 16 +; +; lv1: core vdd is 1.30v if cpu frequency is (1104Mhz, 1152Mhz] +; lv2: core vdd is 1.26v if cpu frequency is (1008Mhz, 1104Mhz] +; lv3: core vdd is 1.20v if cpu frequency is (816Mhz, 1008Mhz] +; lv4: core vdd is 1.10v if cpu frequency is (648Mhz, 816Mhz] +; lv5: core vdd is 1.04v if cpu frequency is (480Mhz, 648Mhz] +; lv6: core vdd is 1.04v if cpu frequency is (480Mhz, 648Mhz] +; lv7: core vdd is 1.04v if cpu frequency is (480Mhz, 648Mhz] +; lv8: core vdd is 1.04v if cpu frequency is (480Mhz, 648Mhz] +; +;---------------------------------------------------------------------------------- +[dvfs_table] +max_freq = 1008000000 +min_freq = 648000000 + +lv_count = 6 +lv1_freq = 1008000000 +lv1_volt = 1300 + +lv2_freq = 1008000000 +lv2_volt = 1300 + +lv3_freq = 816000000 +lv3_volt = 1100 + +lv4_freq = 816000000 +lv4_volt = 1100 + +lv5_freq = 648000000 +lv5_volt = 1040 + +lv6_freq = 648000000 +lv6_volt = 1040 + + +;---------------------------------------------------------------------------------- +;s_uart0 config parameters +;s_uart0_used --s_uart0 whether used for arisc debugging +; +;---------------------------------------------------------------------------------- +[s_uart0] +s_uart0_used = 0 +s_uart0_tx = port:PL02<2> +s_uart0_rx = port:PL03<2> + +;---------------------------------------------------------------------------------- +;s_rsb0 config parameters +;s_rsb0_used --s_rsb0 whether used for arisc +; +;---------------------------------------------------------------------------------- +[s_rsb0] +s_rsb0_used = 1 +s_rsb0_sck = port:PL00<2><1><2> +s_rsb0_sda = port:PL01<2><1><2> + +;---------------------------------------------------------------------------------- +;s_jtag0 config parameters +;s_jtag0_used --s_jtag0 whether used for arisc +; +;---------------------------------------------------------------------------------- +[s_jtag0] +s_jtag0_used = 0 +s_jtag0_tms = port:PL04<2><1><2> +s_jtag0_tck = port:PL05<2><1><2> +s_jtag0_tdo = port:PL06<2><1><2> +s_jtag0_tdi = port:PL07<2><1><2> + +;---------------------------------------------------------------------------------- +;virtual device +;virtual device for pinctrl testing +;device have pin PA1 PA2 +;---------------------------------------------------------------------------------- +[Vdevice] +Vdevice_used = 0 +Vdevice_0 = port:PA01<5><1><2> +Vdevice_1 = port:PA02<5><1><2> + +;---------------------------------------------------------------------------------- +;mali450 parameters +;regulator_id : the regulator id GPU used. +;dvfs_status : dvfs status, if this is enabled, DVFS will work. +;temp_ctrl_status : temperature control status, if this is enabled, the gpu frequency +; will drop down if the temperature of gpu is too high. +;scene_ctrl_status: scene control status, if this is enabled, android layer can ask +; gpu driver to change frequency in certain scene. +;max_level : maximum level, which is used when thermal system does not restrict +; GPU power consumption. +;begin_level : the corresponding frequency and voltage will be used during GPU +; initialization. +;lvfreq : frequency in MHz of certain level. +;lvvolt : voltage in mV of certain level. +;---------------------------------------------------------------------------------- +[gpu_mali450_0] +regulator_id = "vdd-gpu" +dvfs_status = 0 +temp_ctrl_status = 1 +scene_ctrl_status = 1 + +max_level = 3 +begin_level = 3 + +lv0_freq = 456 +lv0_volt = 1200 + +lv1_freq = 456 +lv1_volt = 1200 + +lv2_freq = 456 +lv2_volt = 1200 + +lv3_freq = 456 +lv3_volt = 1200 + +;--------------------------------------------------------------------------------- +; used 1: box 0:pad +; start_type 1: start system directly when power supply 0: wait IR/KEY to power on +; irkey_used 1: ir key used 0: not +; pmukey_used 1: physical button used, 0: not, the key is link to PMU PWROK +;--------------------------------------------------------------------------------- +[box_start_os] +used = 1 +start_type = 1 +irkey_used = 1 +pmukey_used = 0 + +;--------------------------------------------------------------------------------- +; the module used when box_start_os is used, the this module is to support on/off +; led when box into box standby, the gpio is only support PL and AXP gpio(0/1) +;--------------------------------------------------------------------------------- +[box_standby_led] +gpio0 = port:PL10<1><1> +gpio1 = port:PA17<1><0> + diff --git a/external/packages/pack-uboot/sun50iw2/bin/sys_config/sys_config_orangepizeroplus2h5.fex b/external/packages/pack-uboot/sun50iw2/bin/sys_config/sys_config_orangepizeroplus2h5.fex new file mode 100755 index 000000000000..7895bb012a04 --- /dev/null +++ b/external/packages/pack-uboot/sun50iw2/bin/sys_config/sys_config_orangepizeroplus2h5.fex @@ -0,0 +1,1506 @@ +;sun50iw2p1 application +;--------------------------------------------------------------------------------------------------------- +; 说明: 脚本中的字符串区分大小写,用户可以修改"="后面的数值,但是不要修改前面的字符串 +; 描述gpio的形式:Port:端口+组内序号<功能分配><内部电阻状态><驱动能力><输出电平状态> +;--------------------------------------------------------------------------------------------------------- +; Platform: OrangePiH5 Zero Plus2 + +[product] +version = "100" +machine = "cheetah-p1" + +[platform] +eraseflag = 1 +;---------------------------------------------------------------------------------- +; burn_key: 0-do not use dragonKey 1-use dragonKey +; dragonboard_test: 0-build dragonboard for flash boot 1-build dragonboard for TF boot +;---------------------------------------------------------------------------------- +[target] +boot_clock = 1008 +storage_type = -1 +burn_key = 0 +dragonboard_test = 0 +power_mode = 1 + +[power_sply] +dcdcb_vol = 1001260 +dcdcc_vol = 1001200 +aldo2_vol = 1003300 + +;---------------------------------------------------------------------------------- +; goto android recovery when press the ir key +; ir_boot_recovery_used: 0-not used, 1-used +; ir_recovery_key_codex: the ir recovery key code value +; ir_addr_codex: the ir addr value +;---------------------------------------------------------------------------------- +[ir_boot_recovery] +ir_boot_recovery_used = 0 +ir_recovery_key_code0 = 0x57 +ir_addr_code0 = 0x9f00 +ir_recovery_key_code1 = 0x15 +ir_addr_code1 = 0xbc00 + +;---------------------------------------------------------------------------------- +; sprite_gpio0: led that indicates the state of card product +; next_work: the action after finishing card product 2-reboot 3-shutdown +;---------------------------------------------------------------------------------- +[card_boot] +logical_start = 40960 +sprite_gpio0 = port:PL10<1><1> +next_work = 3 + +;---------------------------------------------------------------------------------- +; used: 模块使能端 1:开启模块 0:关闭模块 +; mode: 模式选择 1:一键进入OTA升级 2:一键恢复(通过sysrecovery分区来恢复) 其他值:无效 +; recovery_key : 按键配置 (例如:recovery_key= port:PH16<0>) +;---------------------------------------------------------------------------------- +[recovery_para] +used = 1 +mode = 1 +recovery_key = port:PL04<0> + +[boot_init_gpio] +boot_init_gpio_used = 1 +gpio0 = port:PL10<1><0> +gpio1 = port:PA17<1><1> + + +;--------------------------------------------------------------------------------------------------------- +; if 1 == standby_mode, then support super standby; +; else, support normal standby. +;--------------------------------------------------------------------------------------------------------- +[pm_para] +standby_mode = 1 + +[card0_boot_para] +card_ctrl = 0 +card_high_speed = 1 +card_line = 4 +sdc_d1 = port:PF00<2><1><2> +sdc_d0 = port:PF01<2><1><2> +sdc_clk = port:PF02<2><1><2> +sdc_cmd = port:PF03<2><1><2> +sdc_d3 = port:PF04<2><1><2> +sdc_d2 = port:PF05<2><1><2> + +[card2_boot_para] +card_ctrl = 2 +card_high_speed = 1 +card_line = 8 +sdc_ds = port:PC1<4><1><3> +sdc_clk = port:PC5<3><1><3> +sdc_cmd = port:PC6<3><1><3> +sdc_d0 = port:PC8<3><1><3> +sdc_d1 = port:PC9<3><1><3> +sdc_d2 = port:PC10<3><1><3> +sdc_d3 = port:PC11<3><1><3> +sdc_d4 = port:PC12<3><1><3> +sdc_d5 = port:PC13<3><1><3> +sdc_d6 = port:PC14<3><1><3> +sdc_d7 = port:PC15<3><1><3> +sdc_emmc_rst = port:PC16<3><1><3> +sdc_ex_dly_used = 2 + + +[twi_para] +twi_port = 0 +twi_scl = port:PL0<2> +twi_sda = port:PL1<2> + +[uart_para] +uart_debug_port = 0 +uart_debug_tx = port:PA4<2><1> +uart_debug_rx = port:PA5<2><1> + +[jtag_para] +jtag_enable = 0 +jtag_ms = port:PB0<4> +jtag_ck = port:PB1<4> +jtag_do = port:PB2<4> +jtag_di = port:PB3<4> + +[clock] +pll4 = 300 +pll6 = 600 +pll8 = 360 +pll9 = 297 +pll10 = 264 + +;***************************************************************************** +;sdram configuration +; +;***************************************************************************** +[dram_para] +;dram_clk = 672 +;dram_type = 3 +;dram_zq = 0x3b3b3b +;dram_odt_en = 0x1 +;dram_para1 = 283377664 +;dram_para2 = 0x0000 +;dram_mr0 = 6208 +;dram_mr1 = 64 +;dram_mr2 = 24 +;dram_mr3 = 0x2 +;dram_tpr0 = 0x0048A192 +;dram_tpr1 = 0x01c2418d +;dram_tpr2 = 0x00076051 +;dram_tpr3 = 0x0 +;dram_tpr4 = 0x0000 +;dram_tpr5 = 0x0 +;dram_tpr6 = 0x64 +;dram_tpr7 = 0x0 +;dram_tpr8 = 0x0 +;dram_tpr9 = 0 +;dram_tpr10 = 0x0 +;dram_tpr11 = 0x6aaa0000 +;dram_tpr12 = 0x00007979 +;dram_tpr13 = 0x800800 + +dram_clk = 672 +dram_type = 3 +dram_zq = 0x3b3bf9 +dram_odt_en = 0x1 +dram_para1 = 0x10f410f4 +dram_para2 = 0x0000 +dram_mr0 = 0x1840 +dram_mr1 = 0x40 +dram_mr2 = 0x18 +dram_mr3 = 0x2 +dram_tpr0 = 0x0048A192 +dram_tpr1 = 0x01b1a94b +dram_tpr2 = 0x00061043 +dram_tpr3 = 0xB4787896 +dram_tpr4 = 0x0000 +dram_tpr5 = 0x0 +dram_tpr6 = 0x64 +dram_tpr7 = 0x1e08a1e0 +dram_tpr8 = 0x0 +dram_tpr9 = 0 +dram_tpr10 = 0x2535 +dram_tpr11 = 0x23330000 +dram_tpr12 = 0x00008897 +dram_tpr13 = 0x4002910 +;---------------------------------------------------------------------------------- +;os life cycle para configuration +;---------------------------------------------------------------------------------- + +;------------------------------------------------------------------------------; +; 10/100/100Mbps Ethernet MAC Controller Configure ; +;------------------------------------------------------------------------------; +; 配置选项: ; +; gmac_used --- 1: gmac used, 0: not used ; +; gmac_powerx -- A[:B] A: axp channel, B: voltage value ; +; phy-mode -- rgmii, rmii, mii ; +; tx-delay -- transmit clock delay: 0~7 ; +; rx-delay -- receive clock delay: 0~31 ; +;------------------------------------------------------------------------------; +[gmac0] +gmac0_used = 0 +phy-mode = "rgmii" +;gmac_rxd3 = port:PD00<2><3> +;gmac_rxd2 = port:PD01<2><3> +;gmac_rxd1 = port:PD02<2><3> +;gmac_rxd0 = port:PD03<2><3> +;gmac_rxdv = port:PD05<2><3> +;gmac_rxclk = port:PD04<2><3> +;gmac_rxerr = port:PD06<2><3> +;gmac_txd3 = port:PD07<2><3> +;gmac_txd2 = port:PD08<2><3> +;gmac_txd1 = port:PD09<2><3> +;gmac_txd0 = port:PD10<2><3> +;gmac_txclk = port:PD12<2><3> +;gmac_txen = port:PD13<2><3> +;gmac_clkin = port:PD15<2><3> +;gmac_mdc = port:PD16<2><3> +;gmac_mdio = port:PD17<2><3> +gmac_power1 = +gmac_power2 = +gmac_power3 = +tx-delay = 0 +rx-delay = 0 + +;---------------------------------------------------------------------------------- +;i2c configuration +;---------------------------------------------------------------------------------- +[twi0] +twi0_used = 1 +twi0_scl = port:PA11<2> +twi0_sda = port:PA12<2> + +[twi0_suspend] +twi0_scl = port:PA11<7> +twi0_sda = port:PA12<7> + +[twi1] +twi1_used = 1 +twi1_scl = port:PA18<3> +twi1_sda = port:PA19<3> + +[twi1_suspend] +twi1_scl = port:PA18<7> +twi1_sda = port:PA19<7> + +[twi2] +twi2_used = 0 +twi2_scl = port:PE12<3> +twi2_sda = port:PE13<3> + +[twi2_suspend] +twi2_scl = port:PE12<7> +twi2_sda = port:PE13<7> + +;---------------------------------------------------------------------------------- +;TWI device configuration +;compatible --- device name +;reg --- device address +;---------------------------------------------------------------------------------- +;[twi0/twi_board0] +;compatible = +;reg = + +;---------------------------------------------------------------------------------- +;uart configuration +;uart_port --- x (/dev/ttySx, x=0,1,2,...) +;uart_type --- 2 (2 wire), 4 (4 wire), 8 (8 wire, full function) +;---------------------------------------------------------------------------------- +[uart0] +uart0_used = 1 +uart0_port = 0 +uart0_type = 2 +uart0_tx = port:PA4<2><1> +uart0_rx = port:PA5<2><1> + +[uart0_suspend] +uart0_tx = port:PA4<7><1> +uart0_rx = port:PA5<7><1> + +[uart1] +uart1_used = 1 +uart1_port = 1 +uart1_type = 4 +uart1_tx = port:PG6<2><1> +uart1_rx = port:PG7<2><1> +uart1_rts = port:PG8<2><1> +uart1_cts = port:PG9<2><1> + +[uart1_suspend] +uart1_tx = port:PG6<7><1> +uart1_rx = port:PG7<7><1> +uart1_rts = port:PG8<7><1> +uart1_cts = port:PG9<7><1> + +[uart2] +uart2_used = 1 +uart2_port = 2 +uart2_type = 4 +uart2_tx = port:PA0<2><1> +uart2_rx = port:PA1<2><1> +uart2_rts = port:PA2<2><1> +uart2_cts = port:PA3<2><1> + +[uart2_suspend] +uart2_tx = port:PA0<7><1> +uart2_rx = port:PA1<7><1> +uart2_rts = port:PA2<7><1> +uart2_cts = port:PA3<7><1> + +[uart3] +uart3_used = 0 +uart3_port = 3 +uart3_type = 4 +uart3_tx = port:PA13<2><1> +uart3_rx = port:PA14<2><1> +uart3_rts = port:PA15<2><1> +uart3_cts = port:PA16<2><1> + +[uart3_suspend] +uart3_tx = port:PA13<7><1> +uart3_rx = port:PA14<7><1> +uart3_rts = port:PA15<7><1> +uart3_cts = port:PA16<7><1> + +;---------------------------------------------------------------------------------- +;SPI controller configuration +;---------------------------------------------------------------------------------- +[spi0] +spi0_used = 0 +spi0_cs_number = 1 +spi0_cs_bitmap = 1 +spi0_cs0 = port:PC3<3><1> +spi0_sclk = port:PC2<3> +spi0_mosi = port:PC0<3> +spi0_miso = port:PC1<4> + +[spi0_suspend] +spi0_cs0 = port:PC3<7><1> +spi0_sclk = port:PC2<7> +spi0_mosi = port:PC0<7> +spi0_miso = port:PC1<7> + +[spi1] +spi1_used = 1 +spi1_cs_number = 1 +spi1_cs_bitmap = 1 +spi1_cs0 = port:PA13<2><1> +spi1_sclk = port:PA14<2> +spi1_mosi = port:PA15<2> +spi1_miso = port:PA16<2> + +[spi1_suspend] +spi1_cs0 = port:PA13<7><1> +spi1_sclk = port:PA14<7> +spi1_mosi = port:PA15<7> +spi1_miso = port:PA16<7> + +;---------------------------------------------------------------------------------- +;SPI device configuration +;compatible --- device name +;spi-max-frequency --- work frequency +;reg --- chip select +;optional properties: spi-cpha, spi-cpol, spi-cs-high +;---------------------------------------------------------------------------------- +;[spi0/spi_board0] +;compatible = +;spi-max-frequency = +;reg = +;spi-cpha +;spi-cpol +;spi-cs-high + +;---------------------------------------------------------------------------------- +;resistance tp configuration +;---------------------------------------------------------------------------------- +[rtp_para] +rtp_used = 0 +rtp_screen_size = 5 +rtp_regidity_level = 5 +rtp_press_threshold_enable = 0 +rtp_press_threshold = 0x1f40 +rtp_sensitive_level = 0xf +rtp_exchange_x_y_flag = 0 + +;---------------------------------------------------------------------------------- +;capacitor tp configuration +;external int function +;wakeup output function +;notice --- tp_int_port & tp_io_port use the same port +;---------------------------------------------------------------------------------- +[ctp] +compatible = "allwinner,sun50i-ctp-para" +ctp_used = 0 +ctp_twi_id = 0 +ctp_twi_addr = 0x5d +ctp_screen_max_x = 1280 +ctp_screen_max_y = 800 +ctp_revert_x_flag = 1 +ctp_revert_y_flag = 1 +ctp_exchange_x_y_flag = 1 + +ctp_int_port = port:PH04<6> +ctp_wakeup = port:PH08<1><1> +ctp_power_ldo = "vcc-ctp" +ctp_power_ldo_vol = 3300 +ctp_power_io = + +;-------------------------------------------------------------------------------- +; CTP automatic detection configuration +;ctp_detect_used --- Whether startup automatic inspection function. 1:used,0:unused +;Module name postposition 1 said detection, 0 means no detection. +;-------------------------------------------------------------------------------- +[ctp_list] +compatible = "allwinner,sun50i-ctp-list" +ctp_det_used = 1 +ft5x_ts = 1 +gt82x = 1 +gslX680 = 1 +gt9xx_ts = 0 +gt9xxnew_ts = 1 +gt811 = 1 +zet622x = 1 +aw5306_ts = 1 + +;---------------------------------------------------------------------------------- +;touch key configuration +;---------------------------------------------------------------------------------- +[tkey_para] +tkey_used = 0 +tkey_twi_id = +tkey_twi_addr = +tkey_int = + +;---------------------------------------------------------------------------------- +;motor configuration +;---------------------------------------------------------------------------------- +[motor_para] +motor_used = 1 +motor_shake = port:power3<1><1> + +[nand0_para] +nand0_support_2ch = 0 + +nand0_used = 1 +nand0_we = port:PC00<2><0><1> +nand0_ale = port:PC01<2><0><1> +nand0_cle = port:PC02<2><0><1> +nand0_ce1 = port:PC03<2><1><1> +nand0_ce0 = port:PC04<2><1><1> +nand0_nre = port:PC05<2><0><1> +nand0_rb0 = port:PC06<2><1><1> +nand0_rb1 = port:PC07<2><1><1> +nand0_d0 = port:PC08<2><0><1> +nand0_d1 = port:PC09<2><0><1> +nand0_d2 = port:PC10<2><0><1> +nand0_d3 = port:PC11<2><0><1> +nand0_d4 = port:PC12<2><0><1> +nand0_d5 = port:PC13<2><0><1> +nand0_d6 = port:PC14<2><0><1> +nand0_d7 = port:PC15<2><0><1> +nand0_ndqs = port:PC16<2><0><1> +nand0_ce2 = port:PC17<2><1><1> +nand0_ce3 = port:PC18<2><1><1> + +nand0_regulator1 = "vcc-nand" +nand0_regulator2 = "none" +nand0_cache_level = 0x55aaaa55 +nand0_flush_cache_num = 0x55aaaa55 +nand0_capacity_level = 0x55aaaa55 +nand0_id_number_ctl = 0x55aaaa55 +nand0_print_level = 0x55aaaa55 +nand0_p0 = 0x55aaaa55 +nand0_p1 = 0x55aaaa55 +nand0_p2 = 0x55aaaa55 +nand0_p3 = 0x55aaaa55 + +;---------------------------------------------------------------------------------- +;disp init configuration +; +;disp_mode (0:screen0) +;screenx_output_type (0:none; 1:lcd; 3:hdmi;) +;screenx_output_mode (used for hdmi output, 0:480i 1:576i 2:480p 3:576p 4:720p50) +; (5:720p60 6:1080i50 7:1080i60 8:1080p24 9:1080p50 10:1080p60) +;fbx format (0:ARGB 1:ABGR 2:RGBA 3:BGRA 5:RGB565 8:RGB888 12:ARGB4444 16:ARGB1555 18:RGBA5551) +;fbx_width,fbx_height (framebuffer horizontal/vertical pixels, fix to output resolution while equal 0) +;---------------------------------------------------------------------------------- +[disp] +disp_init_enable = 1 +disp_mode = 0 + +screen0_output_type = 3 +screen0_output_mode = 4 + +screen1_output_type = 2 +screen1_output_mode = 11 + +dev0_output_type = 4 +dev0_output_mode = 4 +dev0_screen_id = 0 +dev0_do_hpd = 1 + +dev1_output_type = 2 +dev1_output_mode = 11 +dev1_screen_id = 1 +dev1_do_hpd = 1 + +dev2_output_type = 0 +def_output_dev = 0 +hdmi_mode_check = 1 + +fb0_format = 0 +fb0_width = 1280 +fb0_height = 720 + +fb1_format = 0 +fb1_width = 0 +fb1_height = 0 + +;---------------------------------------------------------------------------------- +;lcd0 configuration + +;lcd_if: 0:hv(sync+de); 1:8080; 2:ttl; 3:lvds; 4:dsi; 5:edp +;lcd_backlight lcd init backlight +;lcd_x: lcd horizontal resolution +;lcd_y: lcd vertical resolution +;lcd_width: width of lcd in mm +;lcd_height: height of lcd in mm +;lcd_dclk_freq: in MHZ unit +;lcd_pwm_freq: in HZ unit +;lcd_pwm_pol: lcd backlight PWM polarity +;lcd_pwm_max_limit lcd backlight PWM max limit(<=255) +;lcd_hbp: hsync back porch +;lcd_ht: hsync total cycle +;lcd_vbp: vsync back porch +;lcd_vt: vysnc total cycle +;lcd_hspw: hsync plus width +;lcd_vspw: vysnc plus width +;lcd_lvds_if: 0:single link; 1:dual link +;lcd_lvds_colordepth: 0:8bit; 1:6bit +;lcd_lvds_mode: 0:NS mode; 1:JEIDA mode +;lcd_frm: 0:disable; 1:enable rgb666 dither; 2:enable rgb656 dither +;lcd_hv_clk_phase lcd hv panel lock phase, 0:0 degree; 1:90 degree; 2: 180 degree; 3: 270 degree +;lcd_hv_sync_polarity lcd hv panel sync signals polarity +; 0:vsync active low, hsync active low; 1:vsync active high, hsync active low +; 2:vsync active low, hsync active high; 3:vsync active high, hsync active high +;lcd_gamma_en lcd gamma correction enable +;lcd_bright_curve_en lcd bright curve correction enable +;lcd_cmap_en lcd color map function enable +;---------------------------------------------------------------------------------- +[lcd0] +lcd_used = 0 + +lcd_driver_name = "default_lcd" +lcd_backlight = 50 +lcd_if = 3 +lcd_x = 1280 +lcd_y = 800 +lcd_width = 150 +lcd_height = 94 +lcd_dclk_freq = 70 +lcd_pwm_used = 1 +lcd_pwm_ch = 0 +lcd_pwm_freq = 50000 +lcd_pwm_pol = 1 +lcd_pwm_max_limit = 255 +lcd_hbp = 20 +lcd_ht = 1418 +lcd_hspw = 10 +lcd_vbp = 10 +lcd_vt = 814 +lcd_vspw = 5 +lcd_lvds_if = 0 +lcd_lvds_colordepth = 1 +lcd_lvds_mode = 0 +lcd_frm = 1 +lcd_hv_clk_phase = 0 +lcd_hv_sync_polarity= 0 +lcd_gamma_en = 0 +lcd_bright_curve_en = 0 +lcd_cmap_en = 0 + +lcd_bl_en = port:PD23<1><0><1> +lcd_bl_en_power = "none" +lcd_power = "vcc-lcd-0" +lcd_fix_power = "vcc-dsi-33" + +lcdd0 = port:PD12<3><0> +lcdd1 = port:PD13<3><0> +lcdd2 = port:PD14<3><0> +lcdd3 = port:PD15<3><0> +lcdd4 = port:PD16<3><0> +lcdd5 = port:PD17<3><0> +lcdd6 = port:PD18<3><0> +lcdd7 = port:PD19<3><0> +lcdd8 = port:PD20<3><0> +lcdd9 = port:PD21<3><0> +lcd_pin_power = "vcc-pd" + +[lcd0_suspend] +lcdd0 = port:PD12<7><0> +lcdd1 = port:PD13<7><0> +lcdd2 = port:PD14<7><0> +lcdd3 = port:PD15<7><0> +lcdd4 = port:PD16<7><0> +lcdd5 = port:PD17<7><0> +lcdd6 = port:PD18<7><0> +lcdd7 = port:PD19<7><0> +lcdd8 = port:PD20<7><0> +lcdd9 = port:PD21<7><0> + +[hdmi] +hdmi_used = 1 +;hdmi_power = "vcc3v3-hdmi" +hdmi_hdcp_enable = 0 +hdmi_cts_compatibility = 0 +hdmi_cec_support = 1 + +;---------------------------------------------------------------------------------- +;tv configuration +;dac_src (dac no,support dac_src0~dac_src3,dac num max is 4) +;interface (interface type,1<->cvbs,2<->YPBPR,4<->SVIDEO) +;dac_type (0<->composite,1<->luma,2<->chroma,3<->reserved,4<->y/green, +; 5<->u/pb/blue,6<->v/pr/red) +;NOTE: tv0,tv1 can not use the same dac_src. +;---------------------------------------------------------------------------------- + +[tv0] +used = 1 +dac_src0 = 0 +dac_type0 = 0 +interface = 1 + +;---------------------------------------------------------------------------------- +;pwm config +;---------------------------------------------------------------------------------- +[pwm0] +pwm_used = 0 +pwm_positive = port:PD22<2><0> + +[pwm0_suspend] +pwm_positive = port:PD22<7><0> + +[pwm16] +s_pwm0_used = 0 +pwm_positive = port:PL10<2><0> + +[pwm16_suspend] +pwm_positive = port:PL10<7><0> + +;----------------------------------------------------------------- +;auto_hpd - 1:need hotplud for hdmi/tv; 0:don't hotplud for lcd +;output_type - 0:none; 1:lcd; 2:tv; 3:hdmi; 4:vga (as default config in homlet) +;hdmi_channel - the display channel for hdmi (as default config in homlet) +;cvbs_channel - the display channel for cvbs (as default config in homlet) +;hdmi_mode - as default config for output of hdmi in homlet +;cvbs_mode - as default config for output of tv in homlet. 11:PAL; 14:NTSC +;hdmi_mode_check - disable/enable the function of checking hdmi mode, 0 is disable, 1 is enable +;----------------------------------------------------------------- +;[boot_disp] +;auto_hpd = 1 +;output_disp = 0 +;output_type = 3 +;output_mode = 4 +;hdmi_channel = 0 +;hdmi_mode = 4 +;cvbs_channel = 1 +;cvbs_mode = 11 +;hdmi_mode_check = 1 +;output_full = 1 + +;-------------------------------------------------------------------------------- +;csi (COMS Sensor Interface) configuration +;csi(x)_dev(x)_used: 0:disable 1:enable +;csi(x)_dev(x)_isp_used 0:not use isp 1:use isp +;csi(x)_dev(x)_fmt: 0:yuv 1:bayer raw rgb +;csi(x)_dev(x)_stby_mode: 0:not shut down power at standby 1:shut down power at standby +;csi(x)_dev(x)_vflip: flip in vertical direction 0:disable 1:enable +;csi(x)_dev(x)_hflip: flip in horizontal direction 0:disable 1:enable +;csi(x)_dev(x)_iovdd: camera module io power handle string, pmu power supply +;csi(x)_dev(x)_iovdd_vol: camera module io power voltage, pmu power supply +;csi(x)_dev(x)_avdd: camera module analog power handle string, pmu power supply +;csi(x)_dev(x)_avdd_vol: camera module analog power voltage, pmu power supply +;csi(x)_dev(x)_dvdd: camera module core power handle string, pmu power supply +;csi(x)_dev(x)_dvdd_vol: camera module core power voltage, pmu power supply +;csi(x)_dev(x)_afvdd: camera module vcm power handle string, pmu power supply +;csi(x)_dev(x)_afvdd_vol: camera module vcm power voltage, pmu power supply +;fill voltage in uV, e.g. iovdd = 2.8V, csix_iovdd_vol = 2800000 +;fill handle string as below: +;axp22_eldo3 +;axp22_dldo4 +;axp22_eldo2 +;fill handle string "" when not using any pmu power supply +;-------------------------------------------------------------------------------- + +[csi0] +csi0_used = 1 +csi0_sensor_list = 0 +csi0_pck = port:PE00<2> +csi0_mck = port:PE01<1> +csi0_hsync = port:PE02<2> +csi0_vsync = port:PE03<2> +csi0_d0 = port:PE04<2> +csi0_d1 = port:PE05<2> +csi0_d2 = port:PE06<2> +csi0_d3 = port:PE07<2> +csi0_d4 = port:PE08<2> +csi0_d5 = port:PE09<2> +csi0_d6 = port:PE10<2> +csi0_d7 = port:PE11<2> +csi0_sck = port:PE12<2> +csi0_sda = port:PE13<2> + +[csi0/csi0_dev0] +csi0_dev0_used = 1 +csi0_dev0_mname = "ov5640" +csi0_dev0_twi_addr = 0x78 +csi0_dev0_pos = "rear" +csi0_dev0_isp_used = 1 +csi0_dev0_fmt = 0 +csi0_dev0_stby_mode = 0 +csi0_dev0_vflip = 0 +csi0_dev0_hflip = 0 +;csi0_dev0_iovdd = "iovdd-csi" +csi0_dev0_iovdd = "" +csi0_dev0_iovdd_vol = 2800000 +;csi0_dev0_avdd = "avdd-csi" +csi0_dev0_avdd = "" +csi0_dev0_avdd_vol = 2800000 +;csi0_dev0_dvdd = "dvdd-csi-18" +csi0_dev0_dvdd = "" +csi0_dev0_dvdd_vol = 1500000 +;csi0_dev0_afvdd = "afvcc-csi" +csi0_dev0_afvdd = "" +csi0_dev0_afvdd_vol = 2800000 +;csi0_dev0_power_en = port:PB04<1><0><1><0> +csi0_dev0_power_en = port:PA08<1><0><1><0> +csi0_dev0_reset = port:PE14<1><0><1><0> +csi0_dev0_pwdn = port:PE15<1><0><1><0> +csi0_dev0_flash_used = 0 +csi0_dev0_flash_type = 2 +csi0_dev0_flash_en = +csi0_dev0_flash_mode = +csi0_dev0_flvdd = "" +csi0_dev0_flvdd_vol = +csi0_dev0_af_pwdn = +csi0_dev0_act_used = 0 +csi0_dev0_act_name = "ad5820_act" +csi0_dev0_act_slave = 0x18 + +[csi0/csi0_dev1] +csi0_dev1_used = 0 +csi0_dev1_mname = "" +csi0_dev1_twi_addr = 0x78 +csi0_dev1_pos = "rear" +csi0_dev1_isp_used = 1 +csi0_dev1_fmt = 0 +csi0_dev1_stby_mode = 0 +csi0_dev1_vflip = 0 +csi0_dev1_hflip = 0 +csi0_dev1_iovdd = "iovdd-csi" +csi0_dev1_iovdd_vol = 2800000 +csi0_dev1_avdd = "avdd-csi" +csi0_dev1_avdd_vol = 2800000 +csi0_dev1_dvdd = "dvdd-csi-18" +csi0_dev1_dvdd_vol = 1500000 +csi0_dev1_afvdd = "afvcc-csi" +csi0_dev1_afvdd_vol = 2800000 +csi0_dev1_power_en = +csi0_dev1_reset = +csi0_dev1_pwdn = +csi0_dev1_flash_used = 0 +csi0_dev1_flash_type = 2 +csi0_dev1_flash_en = +csi0_dev1_flash_mode = +csi0_dev1_flvdd = "" +csi0_dev1_flvdd_vol = +csi0_dev1_af_pwdn = +csi0_dev1_act_used = 0 +csi0_dev1_act_name = "ad5820_act" +csi0_dev1_act_slave = 0x18 + +;-------------------------------------------------------------------------------- +;tv configuration +; +;-------------------------------------------------------------------------------- +[tvout_para] +tvout_used = +tvout_channel_num = +tv_en = + +[tvin_para] +tvin_used = +tvin_channel_num = + +; ------------------------------------------------------------------------------| +; de-interlace configuration +;-------------------------------------------------------------------------------- +[di] +di_used = 1 + +;-------------------------------------------------------------------------------- +; SDMMC PINS MAPPING | +; ------------------------------------------------------------------------------| +; Config Guide | +; sdc_used: 1-enable card, 0-disable card | +; non-removable:if you use as main memory,you should set it,for example eMMC | +; bus-width: card bus width, 1-1bit, 4-4bit, 8-8bit | +; sunxi-power-save-mode: if use sdio card,should not set it | +; vmmc:regulator for card/emmc power | +; vqmmc:regulator for card/emmc io power | +; vdmmc:regulator for card detect pin pull up power | +; other: GPIO Mapping configuration | +; ------------------------------------------------------------------------------| +; Note: | +; | +; | +; | +; | +; | +; | +;-------------------------------------------------------------------------------- +[sdc0] +sdc0_used = 1 +bus-width = 4 +sdc0_d1 = port:PF00<2><1><2> +sdc0_d0 = port:PF01<2><1><2> +sdc0_clk = port:PF02<2><1><2> +sdc0_cmd = port:PF03<2><1><2> +sdc0_d3 = port:PF04<2><1><2> +sdc0_d2 = port:PF05<2><1><2> +cd-gpios = port:PF06<0><1><2> +sunxi-power-save-mode = +sunxi-dis-signal-vol-sw = +vmmc="vcc-sdcv" +vqmmc="vcc-sdcvq33" +vdmmc="vcc-sdcvd" + + +[sdc1] +sdc1_used = 1 +bus-width = 4 +sdc1_clk = port:PG00<2><1><3> +sdc1_cmd = port:PG01<2><1><3> +sdc1_d0 = port:PG02<2><1><3> +sdc1_d1 = port:PG03<2><1><3> +sdc1_d2 = port:PG04<2><1><3> +sdc1_d3 = port:PG05<2><1><3> +;sunxi-power-save-mode = +sd-uhs-sdr50 = +sd-uhs-ddr50 = +sd-uhs-sdr104 = +cap-sdio-irq = 1 +keep-power-in-suspend = +ignore-pm-notify = +max-frequency = 150000000 + +[sdc2] +sdc2_used = 1 +non-removable = +bus-width = 8 +sdc2_ds = port:PC01<3><1><3> +sdc2_clk = port:PC05<3><1><3> +sdc2_cmd = port:PC06<3><1><3> +sdc2_d0 = port:PC08<3><1><3> +sdc2_d1 = port:PC09<3><1><3> +sdc2_d2 = port:PC10<3><1><3> +sdc2_d3 = port:PC11<3><1><3> +sdc2_d4 = port:PC12<3><1><3> +sdc2_d5 = port:PC13<3><1><3> +sdc2_d6 = port:PC14<3><1><3> +sdc2_d7 = port:PC15<3><1><3> +sdc2_emmc_rst = port:PC16<3><1><3> +cd-gpios = +sunxi-power-save-mode = +sunxi-dis-signal-vol-sw = +;mmc-ddr-1_8v = +;mmc-hs200-1_8v = +;mmc-hs400-1_8v = +;max-frequency = 150000000 +sdc_tm4_sm0_freq0 = 0 +sdc_tm4_sm0_freq1 = 0 +sdc_tm4_sm1_freq0 = 0x00000000 +sdc_tm4_sm1_freq1 = 0 +sdc_tm4_sm2_freq0 = 0x00000000 +sdc_tm4_sm2_freq1 = 0 +sdc_tm4_sm3_freq0 = 0x05000000 +sdc_tm4_sm3_freq1 = 0x00000405 +sdc_tm4_sm4_freq0 = 0x00050000 +sdc_tm4_sm4_freq1 = 0x00000408 +vmmc="vcc-emmcv" +vqmmc="vcc-emmcvq33" +;vqmmc="vcc-emmcvq18" +vdmmc="none" + + +;[mmc3] +;mmc3_used = 0 +;mmc3_detmode = 2 +;mmc3_buswidth = 4 +;mmc3_clk = port:PA10<2><1><2> +;mmc3_cmd = port:PA09<2><1><2> +;mmc3_d0 = port:PA11<2><1><2> +;mmc3_d1 = port:PA12<2><1><2> +;mmc3_d2 = port:PA13<2><1><2> +;mmc3_d3 = port:PA14<2><1><2> +;mmc3_det = +;mmc3_use_wp = 0 +;mmc3_wp = +;mmc3_isio = 0 +;mmc3_regulator = "none" + +; ------------------------------------------------------------------------------| +; sim card configuration +;-------------------------------------------------------------------------------- +[smc] +smc_used = +smc_rst = +smc_vppen = +smc_vppp = +smc_det = +smc_vccen = +smc_sck = +smc_sda = + +;------------------------------------------------------------------------------- +;userspace gpio interface for android +;---------------------------------------------------------------------------------- +[gpio_para] +compatible = "allwinner,sunxi-init-gpio" +gpio_used = 1 +gpio_num = 2 +gpio_pin_1 = port:PL06<1><1> +gpio_pin_2 = port:PA07<1><1> + +;-------------------------------- +;[usbc0]: usbc0 configuration. +;usb_used: usb controller enable. 0-disable, 1-enable. +;usb_port_type: usb mode. 0-device, 1-host, 2-otg. +;usb_detect_type: usb hotplug detect mode. 0-none, 1-vbus/id detect, 2-id/dpdm detect. +;usb_detect_mode: usb otg switch has two config. 0-thread scan, 1-id gpio interrupt. +;usb_id_gpio: usb id detect IO. +;usb_det_vbus_gpio: USB DET_VBUS has two config. (1)gpio pin; (2)"axp_ctrl", use axp intf. +;usb_drv_vbus_gpio: USB DRY_VBUS has two config. (1)gpio pin; (2)"axp_ctrl", use axp intf. +;-------------------------------- +;-------------------------------- +;--- USB0 CONFIG +;-------------------------------- +[usbc0] +usbc0_used = 1 +usb_port_type = 2 +usb_detect_type = 0 +usb_detect_mode = 0 +usb_id_gpio = port:PG12<0><1> +usb_det_vbus_gpio = port:PG12<0><1> +usb_drv_vbus_gpio = +usb_host_init_state = 1 +usb_regulator_io = "nocare" +usb_wakeup_suspend = 0 +;--- USB Device +usb_luns = 3 +usb_serial_unique = 0 +usb_serial_number = "20080411" +rndis_wceis = 1 + +;-------------------------------- +;--- USB1 CONFIG +;-------------------------------- +[usbc1] +usbc1_used = 1 +usb_drv_vbus_gpio = +usb_host_init_state = 1 +usb_regulator_io = "nocare" +usb_wakeup_suspend = 0 + +;-------------------------------- +;--- USB2 CONFIG +;-------------------------------- +[usbc2] +usbc2_used = 1 +usb_drv_vbus_gpio = +usb_host_init_state = 1 +usb_regulator_io = "nocare" +usb_wakeup_suspend = 0 + +;-------------------------------- +;--- USB3 CONFIG +;-------------------------------- +[usbc3] +usbc3_used = 1 +usb_drv_vbus_gpio = +usb_host_init_state = 1 +usb_regulator_io = "nocare" +usb_wakeup_suspend = 0 + +;-------------------------------- +;--- serial number flag +;-------------------------------- +[serial_feature] +sn_filename = "sn.txt" + +;-------------------------------------------------------------------------------- +; G sensor configuration +; gs_twi_id --- TWI ID for controlling Gsensor (0: TWI0, 1: TWI1, 2: TWI2) +;-------------------------------------------------------------------------------- +[gsensor] +compatible = "allwinner,sun50i-gsensor-para"; +gsensor_used = 0 +gsensor_twi_id = 1 +gsensor_twi_addr = 0x18 +gsensor_int1 = port:PA09<6><1> +gsensor_int2 = +gsensor_vcc_io = "vcc-deviceio" +gsensor_vcc_io_val = 3100 + +;-------------------------------------------------------------------------------- +; G sensor automatic detection configuration +;gsensor_detect_used --- Whether startup automatic inspection function. 1:used,0:unused +;Module name postposition 1 said detection, 0 means no detection. +;-------------------------------------------------------------------------------- +[gsensor_list_para] +compatible = "allwinner,sun50i-gsensor-list-para" +gsensor_det_used = 0 +lsm9ds0_acc_mag = 1 +bma250 = 1 +mma8452 = 1 +mma7660 = 1 +mma865x = 1 +afa750 = 1 +lis3de_acc = 1 +lis3dh_acc = 1 +kxtik = 1 +dmard10 = 0 +dmard06 = 1 +mxc622x = 1 +fxos8700 = 1 +lsm303d = 0 + +;-------------------------------------------------------------------------------- +;wlan configuration +;wlan_used: 0-not use, 1- use +;wlan_busnum: sdio/usb index +;clocks: external low power clock input (32.768KHz) +;wlan_power: input supply voltage +;wlan_io_regulator: wlan/sdio I/O voltage +;wlan_regon: power up/down internal regulators used by wifi section +;wlan_hostwake: wlan to wake-up host +;-------------------------------------------------------------------------------- +[wlan] +wlan_used = 1 +wlan_busnum = 1 +wlan_usbnum = 3 +clocks = "&clk_losc_out" +wlan_power = "vcc-wifi" +wlan_io_regulator = "vcc-wifi-io" +;wlan_en = port:PC14<1><0> +wlan_regon = port:PA09<1><0> +wlan_hostwake = port:PL07<6><0> + +;-------------------------------------------------------------------------------- +;bluetooth configuration +;bt_used: 0- no used, 1- used +;clocks: external low power clock input (32.768KHz) +;bt_power: input supply voltage +;bt_io_regulator: bluetooth I/O voltage +;bt_rst_n: power up/down internal regulators used by BT section +;-------------------------------------------------------------------------------- +[bt] +bt_used = 1 +;clocks = "&clk_losc_out" +bt_power = "vcc-wifi" +bt_io_regulator = "vcc-wifi-io" +bt_rst_n = port:PA10<1><0> + +;-------------------------------------------------------------------------------- +;bluetooth lpm configuration +;btlpm_used: 0- no used, 1- used +;uart_index: 0- uart0, 1- uart1, 2- uart2 +;bt_wake: host wake-up bluetooth device +;bt_hostwake: bt device wake-up host +;-------------------------------------------------------------------------------- +[btlpm] +btlpm_used = 1 +uart_index = 1 +bt_wake = port:PA20<1><1> +bt_hostwake = port:PL02<6><0> + +;-------------------------------------------------------------------------------- +;3G configuration +;-------------------------------------------------------------------------------- +[3g_para] +3g_used = 0 +3g_usbc_num = 2 +3g_uart_num = 0 +bb_vbat = port:PL03<1><0> +bb_host_wake = port:PM00<1><0> +bb_on = port:PM01<1><0> +bb_pwr_on = port:PM03<1><0> +bb_wake = port:PM04<1><0> +bb_rf_dis = port:PM05<1><0> +bb_rst = port:PM06<1><0> +3g_int = + +;-------------------------------------------------------------------------------- +;gyroscope +;-------------------------------------------------------------------------------- +[gy_para] +compatible ="allwinner,sun50i-gyr_sensors-para" +gy_used = 0 +gy_twi_id = 2 +gy_twi_addr = 0x6a +gy_int1 = port:PA10<6><1> +gy_int2 = + +;-------------------------------------------------------------------------------- +; Gyro automatic detection configuration +;gy_detect_used --- Whether startup automatic inspection function. 1:used,0:unused +;Module name postposition 1 said detection, 0 means no detection. +;-------------------------------------------------------------------------------- +[gy_list_para] +compatible = "allwinner,sun50i-gyr_sensors-list-para" +gy_det_used = 0 +lsm9ds0_gyr = 1 +l3gd20_gyr = 0 +bmg160_gyr = 1 + +;-------------------------------------------------------------------------------- +;light sensor +;-------------------------------------------------------------------------------- +[ls_para] +compatible = "allwinner,sun50i-lsensors-para" +ls_used = 0 +ls_twi_id = 2 +ls_twi_addr = 0x23 +ls_int = port:PA12<6><1> + +;-------------------------------------------------------------------------------- +; lsensor automatic detection configuration +;ls_detect_used --- Whether startup automatic inspection function. 1:used,0:unused +;Module name postposition 1 said detection, 0 means no detection. +;-------------------------------------------------------------------------------- +[ls_list_para] +compatible = "allwinner,sun50i-lsensors-list-para" +ls_det_used = 0 +ltr_501als = 1 +jsa1212 = 0 +jsa1127 = 1 + +;-------------------------------------------------------------------------------- +;compass +;-------------------------------------------------------------------------------- +[compass_para] +compatible ="allwinner,sun50i-compass-para" +compass_used = 0 +compass_twi_id = 2 +compass_twi_addr = 0x0d +compass_int = port:PA11<6><1> + +;-------------------------------------------------------------------------------- +; compass sensor automatic detection configuration +;compass_detect_used --- Whether startup automatic inspection function. 1:used,0:unused +;Module name postposition 1 said detection, 0 means no detection. +;-------------------------------------------------------------------------------- +[compass_list_para] +compatible ="allwinner,sun50i-compass-list-para" +compass_det_used = 0 +lsm9ds0 = 1 +lsm303d = 0 +akm8963 = 1 + +;-------------------------------------------------------------------------------- +; NOTE :Make sure spdif_used = 0x1,spdifmach_used = 0x1, +; if register the sound card spdif. +;-------------------------------------------------------------------------------- +[spdif] +spdif_used = 0 +[sndspdif] +sndspdif_used = 0 +;---------------------------------------------------------------------------------- +; NOTE :Make sure daudio2_used = 0x1,sndhdmi_used = 0x1, +; if register the sound card hdmi. +;--------------------------------------------------------------------------------- +[daudio2] +daudio2_used = 1 +[sndhdmi] +sndhdmi_used = 1 +;-------------------------------------------------------------------------------- +;allwinner,pcm_lrck_period :16/32/64/128/256 +;allwinner,pcm_lrckr_period :no use +;allwinner,slot_width_select :16bits/20bits/24bits/32bits +;allwinner,pcm_lsb_first :0: msb first; 1: lsb first +;allwinner,tx_data_mode :0: 16bit linear PCM; 1: 8bit linear PCM; 2: 8bit u-law; 3: 8bit a-law +;allwinner,rx_data_mode :0: 16bit linear PCM; 1: 8bit linear PCM; 2: 8bit u-law; 3: 8bit a-law +;allwinner,daudio_master :1: SND_SOC_DAIFMT_CBM_CFM(codec clk & FRM master) use +; 2: SND_SOC_DAIFMT_CBS_CFM(codec clk slave & FRM master) not use +; 3: SND_SOC_DAIFMT_CBM_CFS(codec clk master & frame slave) not use +; 4: SND_SOC_DAIFMT_CBS_CFS(codec clk & FRM slave) use +;allwinner,audio_format: 1:SND_SOC_DAIFMT_I2S(standard i2s format). use +; 2:SND_SOC_DAIFMT_RIGHT_J(right justfied format). +; 3:SND_SOC_DAIFMT_LEFT_J(left justfied format) +; 4:SND_SOC_DAIFMT_DSP_A(pcm. MSB is available on 2nd BCLK rising edge after LRC rising edge). use +; 5:SND_SOC_DAIFMT_DSP_B(pcm. MSB is available on 1nd BCLK rising edge after LRC rising edge) +;allwinner,signal_inversion:1:SND_SOC_DAIFMT_NB_NF(normal bit clock + frame) use +; 2:SND_SOC_DAIFMT_NB_IF(normal BCLK + inv FRM) +; 3:SND_SOC_DAIFMT_IB_NF(invert BCLK + nor FRM) use +; 4:SND_SOC_DAIFMT_IB_IF(invert BCLK + FRM) +;allwinner,frametype :0:short frame = 1 clock width; 1: long frame = 2 clock width +;allwinner,tdm_config :0:pcm 1:i2s +;allwinner,mclk_div :0: not output(normal setting this) 1/2/4/6/8/12/16/24/32/48/64/96/128/176/192: +; setting mclk as input clock to external codec, freq is pll_audio/mclk_div +;allwinner,daudio0_used :0:not use 1:use + +;-------------------------------------------------------------------------------- +; NOTE :Make sure snddaudio0_used = 0x1,daudio1_used = 0x1, +; if register the sound card DAUDIO1. +;-------------------------------------------------------------------------------- +[snddaudio0] +snddaudio0_used = 0 +;----------------------------------------------------------------------------- +[daudio0] +pcm_lrck_period = 0x20 +pcm_lrckr_period = 0x01 +slot_width_select = 0x20 +pcm_lsb_first = 0x0 +tx_data_mode = 0x0 +rx_data_mode = 0x0 +daudio_master = 0x04 +audio_format = 0x01 +signal_inversion = 0x01 +frametype = 0x0 +tdm_config = 0x01 +mclk_div = 0x0 +daudio0_used = 0 + +;------------------------------------------------------------------------------- +; NOTE :Make sure snddaudio1_used = 0x1,daudio0_used = 0x1, +; if register the sound card DAUDIO0. +;-------------------------------------------------------------------------------- +[snddaudio1] +snddaudio1_used = 0 +;----------------------------------------------------------------------------- +[daudio1] +pcm_lrck_period = 0x20 +pcm_lrckr_period = 0x01 +slot_width_select = 0x20 +pcm_lsb_first = 0x0 +tx_data_mode = 0x0 +rx_data_mode = 0x0 +daudio_master = 0x04 +audio_format = 0x01 +signal_inversion = 0x01 +frametype = 0x0 +tdm_config = 0x01 +mclk_div = 0x0 +daudio1_used = 0 +;---------------------------------------------------------------------------------------------------------- +;-------------------------------------------------------------------------------------- +;allwinner,headphonevol :headphone volume:0x0--0x3f 0db--(-62db) 1db/step +;allwinner,spkervol : speaker volume:0x0--0x1f 0db-(-43.5db) 1.5db/step +;allwinner,earpiecevol : earpiece volume:0x0--0x1f 0db-(-43.5db) 1.5db/step +;allwinner,maingain : mainmic gain:0x0---0x7 0x0-0db 0x1:24db 3db/step +;allwinner,headsetmicgain : headphonemic gain:0x0---0x7 0x0-0db 0x1:24db 3db/step +;allwinner,adcagc_cfg : 1:use adcagc 0:no use +;allwinner,adcdrc_cfg : 1:use adcdrc 0:no use +;allwinner,adchpf_cfg : 1:use adchpf 0:no use +;allwinner,dacdrc_cfg : 1:use adcdrc 0:no use +;allwinner,dachpf_cfg : 1:use adchpf 0:no use +;allwinner,aif2config : 1:use aif2 0:no use +;allwinner,aif3config : 1:use aif3 0:no use +;allwinner,hp_detect_case :0:low 1:high +;-------------------------------------------------------------------------------- +; NOTE :Make sure sndcodec_used = 0x1,i2s_used = 0x1 +; codec_used = 0x1,if register the sound card audiocodec. +;--------------------------------------------------------------------------------- +[sndcodec] +sndcodec_used = 0x1 +;------------------------------------------------------------------------------ +;------------------------------------------------------------------------------- +[codec] +codec_used = 1 +headphonevol = 0x3b +spkervol = 0x1f +maingain = 0x4 +adcagc_cfg = 0x0 +adcdrc_cfg = 0x0 +adchpf_cfg = 0x0 +dacdrc_cfg = 0x0 +dachpf_cfg = 0x0 +pa_sleep_time = 0x32 +;gpio-spk = port:PA16<1><1> + +;---------------------------------------------------------------------------------- +;ir --- infra remote configuration +;---------------------------------------------------------------------------------- +[s_cir0] +s_cir0_used = 1 +ir_power_key_code0 = 0x57 +ir_addr_code0 = 0x9f00 +ir_power_key_code1 = 0x1a +ir_addr_code1 = 0xfb04 +ir_power_key_code2 = 0x14 +ir_addr_code2 = 0x7F80 +ir_power_key_code3 = 0x15 +ir_addr_code3 = 0x7F80 +ir_power_key_code4 = 0x0b +ir_addr_code4 = 0xF708 +ir_power_key_code5 = 0x03 +ir_addr_code5 = 0x00EF +ir_power_key_code6 = 0xdc +ir_addr_code6 = 0x4cb3 +ir_power_key_code7 = 0x0a +ir_addr_code7 = 0x7748 +ir_power_key_code8 = 0x45 +ir_addr_code8 = 0xbd02 +ir_power_key_code9 = 0x4d +ir_addr_code9 = 0xde21 +ir_power_key_code10 = 0x18 +ir_addr_code10 = 0xfe01 +ir_power_key_code11 = 0x57 +ir_addr_code11 = 0xff00 +ir_power_key_code12 = 0x4d +ir_addr_code12 = 0xff40 +ir_power_key_code13 = 0x88 +ir_addr_code13 = 0xdd22 +ir_power_key_code14 = 0x0d +ir_addr_code14 = 0xbc00 +ir_power_key_code15 = 0x0d +ir_addr_code15 = 0xfc00 + +;-------------------------------------------------------------------------------------------------------- +;compatible ---pmu0 name, axpdummy is a dummy axp +;used ---0:not used,1:used +;pmu_id ---if bit7 is 1, then is a dummy axp; else 0:axp19x,1:axp209,2:axp22x,3:axp806,4:axp808,5:axp809,6:axp803,7:axp813,8:axp157 +;-------------------------------------------------------------------------------------------------------- +[pmu0] +compatible = "axpdummy" +used = 1 +pmu_id = 0x83 + +;-------------------------------------------------------------------------------------------------------- +;pmu_bat_unused ---0:used,1: charger unsupported on this pmu +;pmu_pwroff_vol ---set protect voltage when system start up,mV,2600/2700/2800/2900/3000/3100/3200/3300 +;power_start ---when system is in charging, shutdown is power off or resart;0:restart 1:poweroff +;-------------------------------------------------------------------------------------------------------- +;[charger0] +;pmu_bat_unused = 1 +;pmu_pwroff_vol = 3300 +;power_start = 0 + +;-------------------------------------------------------------------------------------------------------- +;compatible ---regulator0 name, support:axpdummy-regulator +;regulator_count ---pmu ldo count, changed with different pmu +;regulator(1~regulator_count) ---ldo details +;-------------------------------------------------------------------------------------------------------- +[regulator0] +compatible = "axpdummy-regulator" +regulator_count = 6 +regulator1 = "axpdummy_ldo1 none avcc vcc-pll vcc-tv" +regulator2 = "axpdummy_ldo2 none vcc-dram" +regulator3 = "axpdummy_ldo3 none vdd-sys vdd-ehpy" +regulator4 = "axpdummy_ldo4 none vdd-cpua" +regulator5 = "axpdummy_ldo5 none vcc-wifi" +regulator6 = "axpdummy_ldo6 none vcc-rtc vdd-cpus vcc-io vcc-efuse vcc-sdc vcc-nand vcc-usb vcc-uartx vcc-feled vcc-key vcc-audio vcc-ir" + +;---------------------------------------------------------------------------------- +; dvfs voltage-frequency table configuration +; +; max_freq: cpu maximum frequency, based on Hz +; min_freq: cpu minimum frequency, based on Hz +; +; lv_count: count of lv_freq/lv_volt, must be < 16 +; +; lv1: core vdd is 1.30v if cpu frequency is (1104Mhz, 1152Mhz] +; lv2: core vdd is 1.26v if cpu frequency is (1008Mhz, 1104Mhz] +; lv3: core vdd is 1.20v if cpu frequency is (816Mhz, 1008Mhz] +; lv4: core vdd is 1.10v if cpu frequency is (648Mhz, 816Mhz] +; lv5: core vdd is 1.04v if cpu frequency is (480Mhz, 648Mhz] +; lv6: core vdd is 1.04v if cpu frequency is (480Mhz, 648Mhz] +; lv7: core vdd is 1.04v if cpu frequency is (480Mhz, 648Mhz] +; lv8: core vdd is 1.04v if cpu frequency is (480Mhz, 648Mhz] +; +;---------------------------------------------------------------------------------- +[dvfs_table] +max_freq = 816000000 +min_freq = 648000000 + +lv_count = 6 +lv1_freq = 816000000 +lv1_volt = 1300 + +lv2_freq = 816000000 +lv2_volt = 1300 + +lv3_freq = 816000000 +lv3_volt = 1100 + +lv4_freq = 816000000 +lv4_volt = 1100 + +lv5_freq = 648000000 +lv5_volt = 1100 + +lv6_freq = 648000000 +lv6_volt = 1100 + + +;---------------------------------------------------------------------------------- +;s_uart0 config parameters +;s_uart0_used --s_uart0 whether used for arisc debugging +; +;---------------------------------------------------------------------------------- +[s_uart0] +s_uart0_used = 0 +s_uart0_tx = port:PL02<2> +s_uart0_rx = port:PL03<2> + +;---------------------------------------------------------------------------------- +;s_rsb0 config parameters +;s_rsb0_used --s_rsb0 whether used for arisc +; +;---------------------------------------------------------------------------------- +[s_rsb0] +s_rsb0_used = 1 +s_rsb0_sck = port:PL00<2><1><2> +s_rsb0_sda = port:PL01<2><1><2> + +;---------------------------------------------------------------------------------- +;s_jtag0 config parameters +;s_jtag0_used --s_jtag0 whether used for arisc +; +;---------------------------------------------------------------------------------- +[s_jtag0] +s_jtag0_used = 0 +s_jtag0_tms = port:PL04<2><1><2> +s_jtag0_tck = port:PL05<2><1><2> +s_jtag0_tdo = port:PL06<2><1><2> +s_jtag0_tdi = port:PL07<2><1><2> + +;---------------------------------------------------------------------------------- +;virtual device +;virtual device for pinctrl testing +;device have pin PA1 PA2 +;---------------------------------------------------------------------------------- +[Vdevice] +Vdevice_used = 0 +Vdevice_0 = port:PA01<5><1><2> +Vdevice_1 = port:PA02<5><1><2> + +;---------------------------------------------------------------------------------- +;mali450 parameters +;regulator_id : the regulator id GPU used. +;dvfs_status : dvfs status, if this is enabled, DVFS will work. +;temp_ctrl_status : temperature control status, if this is enabled, the gpu frequency +; will drop down if the temperature of gpu is too high. +;scene_ctrl_status: scene control status, if this is enabled, android layer can ask +; gpu driver to change frequency in certain scene. +;max_level : maximum level, which is used when thermal system does not restrict +; GPU power consumption. +;begin_level : the corresponding frequency and voltage will be used during GPU +; initialization. +;lvfreq : frequency in MHz of certain level. +;lvvolt : voltage in mV of certain level. +;---------------------------------------------------------------------------------- +[gpu_mali450_0] +regulator_id = "vdd-gpu" +dvfs_status = 0 +temp_ctrl_status = 1 +scene_ctrl_status = 1 + +max_level = 3 +begin_level = 3 + +lv0_freq = 384 +lv0_volt = 1200 + +lv1_freq = 384 +lv1_volt = 1200 + +lv2_freq = 456 +lv2_volt = 1200 + +lv3_freq = 456 +lv3_volt = 1200 + +;--------------------------------------------------------------------------------- +; used 1: box 0:pad +; start_type 1: start system directly when power supply 0: wait IR/KEY to power on +; irkey_used 1: ir key used 0: not +; pmukey_used 1: physical button used, 0: not, the key is link to PMU PWROK +;--------------------------------------------------------------------------------- +[box_start_os] +used = 1 +start_type = 1 +irkey_used = 1 +pmukey_used = 0 + +;--------------------------------------------------------------------------------- +; the module used when box_start_os is used, the this module is to support on/off +; led when box into box standby, the gpio is only support PL and AXP gpio(0/1) +;--------------------------------------------------------------------------------- +[box_standby_led] +gpio0 = port:PL10<1><1> +;gpio1 = port:PA20<1><0> + +;-------------------------------------------------------------------------------- +; +; support power key on Orangepi +;-------------------------------------------------------------------------------- +[gpio_power_key] +key_io = port:PL03<6><0> diff --git a/external/packages/pack-uboot/sun50iw2/tools/dragonsecboot b/external/packages/pack-uboot/sun50iw2/tools/dragonsecboot new file mode 100755 index 000000000000..65cc51983c39 Binary files /dev/null and b/external/packages/pack-uboot/sun50iw2/tools/dragonsecboot differ diff --git a/external/packages/pack-uboot/sun50iw2/tools/dtc b/external/packages/pack-uboot/sun50iw2/tools/dtc new file mode 100755 index 000000000000..486de0eb42b9 Binary files /dev/null and b/external/packages/pack-uboot/sun50iw2/tools/dtc differ diff --git a/external/packages/pack-uboot/sun50iw2/tools/script b/external/packages/pack-uboot/sun50iw2/tools/script new file mode 100755 index 000000000000..1a70a6c7adc4 Binary files /dev/null and b/external/packages/pack-uboot/sun50iw2/tools/script differ diff --git a/external/packages/pack-uboot/sun50iw2/tools/update_boot0 b/external/packages/pack-uboot/sun50iw2/tools/update_boot0 new file mode 100755 index 000000000000..8695708a577a Binary files /dev/null and b/external/packages/pack-uboot/sun50iw2/tools/update_boot0 differ diff --git a/external/packages/pack-uboot/sun50iw2/tools/update_scp b/external/packages/pack-uboot/sun50iw2/tools/update_scp new file mode 100755 index 000000000000..27ebdcbbd58f Binary files /dev/null and b/external/packages/pack-uboot/sun50iw2/tools/update_scp differ diff --git a/external/packages/pack-uboot/sun50iw2/tools/update_uboot b/external/packages/pack-uboot/sun50iw2/tools/update_uboot new file mode 100755 index 000000000000..a91c3dad3af0 Binary files /dev/null and b/external/packages/pack-uboot/sun50iw2/tools/update_uboot differ diff --git a/external/packages/pack-uboot/sun50iw2/tools/update_uboot_fdt b/external/packages/pack-uboot/sun50iw2/tools/update_uboot_fdt new file mode 100755 index 000000000000..1322c7bb6c28 Binary files /dev/null and b/external/packages/pack-uboot/sun50iw2/tools/update_uboot_fdt differ diff --git a/external/packages/pack-uboot/sun50iw2/tools/update_uboot_v2 b/external/packages/pack-uboot/sun50iw2/tools/update_uboot_v2 new file mode 100755 index 000000000000..00d6ebbd69b6 Binary files /dev/null and b/external/packages/pack-uboot/sun50iw2/tools/update_uboot_v2 differ