diff --git a/external/packages/pack-uboot/sun50iw6/bin/H6.dts b/external/packages/pack-uboot/sun50iw6/bin/H6.dts deleted file mode 100644 index 6df1688..0000000 --- a/external/packages/pack-uboot/sun50iw6/bin/H6.dts +++ /dev/null @@ -1,4594 +0,0 @@ -/dts-v1/; -// magic: 0xd00dfeed -// totalsize: 0x17fef (98287) -// off_dt_struct: 0x88 -// off_dt_strings: 0x15740 -// off_mem_rsvmap: 0x28 -// version: 17 -// last_comp_version: 16 -// boot_cpuid_phys: 0x0 -// size_dt_strings: 0x28af -// size_dt_struct: 0x156b8 - -/memreserve/ 0x40020000 0x800; -/memreserve/ 0x48000000 0x1000000; -/memreserve/ 0x48100000 0x4000; -/memreserve/ 0x48104000 0x1000; -/memreserve/ 0x48105000 0x1000; -/ { - model = "sun50iw6"; - compatible = "arm,sun50iw6p1"; - interrupt-parent = <0x00000001>; - #address-cells = <0x00000002>; - #size-cells = <0x00000002>; - clocks { - compatible = "allwinner,clk-init"; - device_type = "clocks"; - #address-cells = <0x00000002>; - #size-cells = <0x00000002>; - ranges; - reg = <0x00000000 0x03001000 0x00000000 0x00001000 0x00000000 0x07010000 0x00000000 0x00000400 0x00000000 0x07000000 0x00000000 0x00000004>; - losc { - #clock-cells = <0x00000000>; - compatible = "allwinner,fixed-clock"; - clock-frequency = <0x00008000>; - clock-output-names = "losc"; - linux,phandle = <0x00000015>; - phandle = <0x00000015>; - }; - iosc { - #clock-cells = <0x00000000>; - compatible = "allwinner,fixed-clock"; - clock-frequency = <0x00f42400>; - clock-output-names = "iosc"; - linux,phandle = <0x00000016>; - phandle = <0x00000016>; - }; - hosc { - #clock-cells = <0x00000000>; - compatible = "allwinner,fixed-clock"; - clock-frequency = <0x016e3600>; - clock-output-names = "hosc"; - linux,phandle = <0x00000007>; - phandle = <0x00000007>; - }; - osc48m { - #clock-cells = <0x00000000>; - compatible = "allwinner,fixed-clock"; - clock-frequency = <0x02dc6c00>; - clock-output-names = "osc48m"; - linux,phandle = <0x00000008>; - phandle = <0x00000008>; - }; - pll_cpu { - #clock-cells = <0x00000000>; - compatible = "allwinner,pll-clock"; - lock-mode = "new"; - clock-output-names = "pll_cpu"; - linux,phandle = <0x000000d7>; - phandle = <0x000000d7>; - }; - pll_ddr0 { - #clock-cells = <0x00000000>; - compatible = "allwinner,pll-clock"; - lock-mode = "new"; - clock-output-names = "pll_ddr0"; - linux,phandle = <0x000000de>; - phandle = <0x000000de>; - }; - pll_periph0 { - #clock-cells = <0x00000000>; - compatible = "allwinner,pll-clock"; - assigned-clock-rates = <0x23c34600>; - lock-mode = "new"; - clock-output-names = "pll_periph0"; - linux,phandle = <0x00000002>; - phandle = <0x00000002>; - }; - pll_periph1 { - #clock-cells = <0x00000000>; - compatible = "allwinner,pll-clock"; - assigned-clock-rates = <0x23c34600>; - lock-mode = "new"; - clock-output-names = "pll_periph1"; - linux,phandle = <0x00000003>; - phandle = <0x00000003>; - }; - pll_gpu { - #clock-cells = <0x00000000>; - compatible = "allwinner,pll-clock"; - lock-mode = "new"; - clock-output-names = "pll_gpu"; - linux,phandle = <0x000000e0>; - phandle = <0x000000e0>; - }; - pll_video0 { - #clock-cells = <0x00000000>; - compatible = "allwinner,pll-clock"; - lock-mode = "new"; - clock-output-names = "pll_video0"; - linux,phandle = <0x00000005>; - phandle = <0x00000005>; - }; - pll_video1 { - #clock-cells = <0x00000000>; - compatible = "allwinner,pll-clock"; - lock-mode = "new"; - assigned-clock-rates = <0x2367b880>; - clock-output-names = "pll_video1"; - linux,phandle = <0x00000006>; - phandle = <0x00000006>; - }; - pll_ve { - #clock-cells = <0x00000000>; - compatible = "allwinner,pll-clock"; - device_type = "clk_pll_ve"; - lock-mode = "new"; - clock-output-names = "pll_ve"; - linux,phandle = <0x0000001f>; - phandle = <0x0000001f>; - }; - pll_de { - #clock-cells = <0x00000000>; - compatible = "allwinner,pll-clock"; - assigned-clock-rates = <0x297c1e00>; - lock-mode = "new"; - clock-output-names = "pll_de"; - linux,phandle = <0x00000009>; - phandle = <0x00000009>; - }; - pll_hsic { - #clock-cells = <0x00000000>; - compatible = "allwinner,pll-clock"; - lock-mode = "new"; - clock-output-names = "pll_hsic"; - linux,phandle = <0x00000047>; - phandle = <0x00000047>; - }; - pll_audio { - #clock-cells = <0x00000000>; - compatible = "allwinner,pll-clock"; - lock-mode = "new"; - clock-output-names = "pll_audio"; - linux,phandle = <0x00000004>; - phandle = <0x00000004>; - }; - pll_periph0x2 { - #clock-cells = <0x00000000>; - compatible = "allwinner,fixed-factor-clock"; - clocks = <0x00000002>; - clock-mult = <0x00000002>; - clock-div = <0x00000001>; - clock-output-names = "pll_periph0x2"; - linux,phandle = <0x00000023>; - phandle = <0x00000023>; - }; - pll_periph0x4 { - #clock-cells = <0x00000000>; - compatible = "allwinner,fixed-factor-clock"; - clocks = <0x00000002>; - clock-mult = <0x00000004>; - clock-div = <0x00000001>; - clock-output-names = "pll_periph0x4"; - }; - periph32k { - #clock-cells = <0x00000000>; - compatible = "allwinner,fixed-factor-clock"; - clocks = <0x00000002>; - clock-mult = <0x00000002>; - clock-div = <0x00008f0d>; - clock-output-names = "periph32k"; - }; - pll_periph1x2 { - #clock-cells = <0x00000000>; - compatible = "allwinner,fixed-factor-clock"; - clocks = <0x00000003>; - clock-mult = <0x00000002>; - clock-div = <0x00000001>; - clock-output-names = "pll_periph1x2"; - linux,phandle = <0x0000007b>; - phandle = <0x0000007b>; - }; - pll_audiox4 { - #clock-cells = <0x00000000>; - compatible = "allwinner,fixed-factor-clock"; - clocks = <0x00000004>; - clock-mult = <0x00000004>; - clock-div = <0x00000001>; - clock-output-names = "pll_audiox4"; - }; - pll_audiox2 { - #clock-cells = <0x00000000>; - compatible = "allwinner,fixed-factor-clock"; - clocks = <0x00000004>; - clock-mult = <0x00000002>; - clock-div = <0x00000001>; - clock-output-names = "pll_audiox2"; - }; - pll_video0x4 { - #clock-cells = <0x00000000>; - compatible = "allwinner,fixed-factor-clock"; - clocks = <0x00000005>; - clock-mult = <0x00000004>; - clock-div = <0x00000001>; - clock-output-names = "pll_video0x4"; - }; - pll_video1x4 { - #clock-cells = <0x00000000>; - compatible = "allwinner,fixed-factor-clock"; - clocks = <0x00000006>; - clock-mult = <0x00000004>; - clock-div = <0x00000001>; - clock-output-names = "pll_video1x4"; - }; - hoscd2 { - #clock-cells = <0x00000000>; - compatible = "allwinner,fixed-factor-clock"; - clocks = <0x00000007>; - clock-mult = <0x00000001>; - clock-div = <0x00000002>; - clock-output-names = "hoscd2"; - }; - osc48md4 { - #clock-cells = <0x00000000>; - compatible = "allwinner,fixed-factor-clock"; - clocks = <0x00000008>; - clock-mult = <0x00000001>; - clock-div = <0x00000004>; - clock-output-names = "osc48md4"; - linux,phandle = <0x00000041>; - phandle = <0x00000041>; - }; - pll_periph0d6 { - #clock-cells = <0x00000000>; - compatible = "allwinner,fixed-factor-clock"; - clocks = <0x00000002>; - clock-mult = <0x00000001>; - clock-div = <0x00000006>; - clock-output-names = "pll_periph0d6"; - }; - cpu { - #clock-cells = <0x00000000>; - compatible = "allwinner,periph-clock"; - clock-output-names = "cpu"; - }; - axi { - #clock-cells = <0x00000000>; - compatible = "allwinner,periph-clock"; - clock-output-names = "axi"; - }; - cpuapb { - #clock-cells = <0x00000000>; - compatible = "allwinner,periph-clock"; - clock-output-names = "cpuapb"; - }; - psi { - #clock-cells = <0x00000000>; - compatible = "allwinner,periph-clock"; - clock-output-names = "psi"; - }; - ahb1 { - #clock-cells = <0x00000000>; - compatible = "allwinner,periph-clock"; - clock-output-names = "ahb1"; - }; - ahb2 { - #clock-cells = <0x00000000>; - compatible = "allwinner,periph-clock"; - clock-output-names = "ahb2"; - }; - ahb3 { - #clock-cells = <0x00000000>; - compatible = "allwinner,periph-clock"; - clock-output-names = "ahb3"; - }; - apb1 { - #clock-cells = <0x00000000>; - compatible = "allwinner,periph-clock"; - clock-output-names = "apb1"; - }; - apb2 { - #clock-cells = <0x00000000>; - compatible = "allwinner,periph-clock"; - clock-output-names = "apb2"; - linux,phandle = <0x000000ae>; - phandle = <0x000000ae>; - }; - mbus { - #clock-cells = <0x00000000>; - compatible = "allwinner,periph-clock"; - clock-output-names = "mbus"; - }; - de { - #clock-cells = <0x00000000>; - compatible = "allwinner,periph-clock"; - assigned-clock-parents = <0x00000009>; - assigned-clock-rates = <0x297c1e00>; - assigned-clocks = <0x0000000a>; - clock-output-names = "de"; - linux,phandle = <0x0000000a>; - phandle = <0x0000000a>; - }; - di { - #clock-cells = <0x00000000>; - compatible = "allwinner,periph-clock"; - clock-output-names = "di"; - linux,phandle = <0x000000ac>; - phandle = <0x000000ac>; - }; - gpu { - #clock-cells = <0x00000000>; - compatible = "allwinner,periph-clock"; - clock-output-names = "gpu"; - linux,phandle = <0x000000e1>; - phandle = <0x000000e1>; - }; - ce { - #clock-cells = <0x00000000>; - compatible = "allwinner,periph-clock"; - clock-output-names = "ce"; - linux,phandle = <0x000000ab>; - phandle = <0x000000ab>; - }; - ve { - #clock-cells = <0x00000000>; - compatible = "allwinner,periph-clock"; - clock-output-names = "ve"; - linux,phandle = <0x00000020>; - phandle = <0x00000020>; - }; - emce { - #clock-cells = <0x00000000>; - compatible = "allwinner,periph-clock"; - clock-output-names = "emce"; - linux,phandle = <0x000000aa>; - phandle = <0x000000aa>; - }; - vp9 { - #clock-cells = <0x00000000>; - compatible = "allwinner,periph-clock"; - clock-output-names = "vp9"; - linux,phandle = <0x00000022>; - phandle = <0x00000022>; - }; - dma { - #clock-cells = <0x00000000>; - compatible = "allwinner,periph-clock"; - clock-output-names = "dma"; - linux,phandle = <0x00000014>; - phandle = <0x00000014>; - }; - msgbox { - #clock-cells = <0x00000000>; - compatible = "allwinner,periph-clock"; - clock-output-names = "msgbox"; - linux,phandle = <0x00000017>; - phandle = <0x00000017>; - }; - hwspinlock_rst { - #clock-cells = <0x00000000>; - compatible = "allwinner,periph-clock"; - clock-output-names = "hwspinlock_rst"; - linux,phandle = <0x00000018>; - phandle = <0x00000018>; - }; - hwspinlock_bus { - #clock-cells = <0x00000000>; - compatible = "allwinner,periph-clock"; - clock-output-names = "hwspinlock_bus"; - linux,phandle = <0x00000019>; - phandle = <0x00000019>; - }; - hstimer { - #clock-cells = <0x00000000>; - compatible = "allwinner,periph-clock"; - clock-output-names = "hstimer"; - }; - avs { - #clock-cells = <0x00000000>; - compatible = "allwinner,periph-clock"; - clock-output-names = "avs"; - }; - dbgsys { - #clock-cells = <0x00000000>; - compatible = "allwinner,periph-clock"; - clock-output-names = "dbgsys"; - }; - pwm { - #clock-cells = <0x00000000>; - compatible = "allwinner,periph-clock"; - clock-output-names = "pwm"; - linux,phandle = <0x00000093>; - phandle = <0x00000093>; - }; - iommu { - #clock-cells = <0x00000000>; - compatible = "allwinner,periph-clock"; - clock-output-names = "iommu"; - linux,phandle = <0x000000df>; - phandle = <0x000000df>; - }; - sdram { - #clock-cells = <0x00000000>; - compatible = "allwinner,periph-clock"; - clock-output-names = "sdram"; - }; - nand0 { - #clock-cells = <0x00000000>; - compatible = "allwinner,periph-clock"; - clock-output-names = "nand0"; - linux,phandle = <0x000000b6>; - phandle = <0x000000b6>; - }; - nand1 { - #clock-cells = <0x00000000>; - compatible = "allwinner,periph-clock"; - clock-output-names = "nand1"; - linux,phandle = <0x000000b7>; - phandle = <0x000000b7>; - }; - sdmmc0_mod { - #clock-cells = <0x00000000>; - compatible = "allwinner,periph-clock"; - clock-output-names = "sdmmc0_mod"; - linux,phandle = <0x00000081>; - phandle = <0x00000081>; - }; - sdmmc0_bus { - #clock-cells = <0x00000000>; - compatible = "allwinner,periph-clock"; - clock-output-names = "sdmmc0_bus"; - linux,phandle = <0x00000082>; - phandle = <0x00000082>; - }; - sdmmc0_rst { - #clock-cells = <0x00000000>; - compatible = "allwinner,periph-clock"; - clock-output-names = "sdmmc0_rst"; - linux,phandle = <0x00000083>; - phandle = <0x00000083>; - }; - sdmmc1_mod { - #clock-cells = <0x00000000>; - compatible = "allwinner,periph-clock"; - clock-output-names = "sdmmc1_mod"; - linux,phandle = <0x00000088>; - phandle = <0x00000088>; - }; - sdmmc1_bus { - #clock-cells = <0x00000000>; - compatible = "allwinner,periph-clock"; - clock-output-names = "sdmmc1_bus"; - linux,phandle = <0x00000089>; - phandle = <0x00000089>; - }; - sdmmc1_rst { - #clock-cells = <0x00000000>; - compatible = "allwinner,periph-clock"; - clock-output-names = "sdmmc1_rst"; - linux,phandle = <0x0000008a>; - phandle = <0x0000008a>; - }; - sdmmc2_mod { - #clock-cells = <0x00000000>; - compatible = "allwinner,periph-clock"; - clock-output-names = "sdmmc2_mod"; - linux,phandle = <0x0000007c>; - phandle = <0x0000007c>; - }; - sdmmc2_bus { - #clock-cells = <0x00000000>; - compatible = "allwinner,periph-clock"; - clock-output-names = "sdmmc2_bus"; - linux,phandle = <0x0000007d>; - phandle = <0x0000007d>; - }; - sdmmc2_rst { - #clock-cells = <0x00000000>; - compatible = "allwinner,periph-clock"; - clock-output-names = "sdmmc2_rst"; - linux,phandle = <0x0000007e>; - phandle = <0x0000007e>; - }; - uart0 { - #clock-cells = <0x00000000>; - compatible = "allwinner,periph-clock"; - clock-output-names = "uart0"; - linux,phandle = <0x00000024>; - phandle = <0x00000024>; - }; - uart1 { - #clock-cells = <0x00000000>; - compatible = "allwinner,periph-clock"; - clock-output-names = "uart1"; - linux,phandle = <0x00000027>; - phandle = <0x00000027>; - }; - uart2 { - #clock-cells = <0x00000000>; - compatible = "allwinner,periph-clock"; - clock-output-names = "uart2"; - linux,phandle = <0x0000002a>; - phandle = <0x0000002a>; - }; - uart3 { - #clock-cells = <0x00000000>; - compatible = "allwinner,periph-clock"; - clock-output-names = "uart3"; - linux,phandle = <0x0000002d>; - phandle = <0x0000002d>; - }; - twi0 { - #clock-cells = <0x00000000>; - compatible = "allwinner,periph-clock"; - clock-output-names = "twi0"; - linux,phandle = <0x00000030>; - phandle = <0x00000030>; - }; - twi1 { - #clock-cells = <0x00000000>; - compatible = "allwinner,periph-clock"; - clock-output-names = "twi1"; - linux,phandle = <0x00000033>; - phandle = <0x00000033>; - }; - twi2 { - #clock-cells = <0x00000000>; - compatible = "allwinner,periph-clock"; - clock-output-names = "twi2"; - linux,phandle = <0x00000036>; - phandle = <0x00000036>; - }; - twi3 { - #clock-cells = <0x00000000>; - compatible = "allwinner,periph-clock"; - clock-output-names = "twi3"; - linux,phandle = <0x00000039>; - phandle = <0x00000039>; - }; - scr0 { - #clock-cells = <0x00000000>; - compatible = "allwinner,periph-clock"; - clock-output-names = "scr0"; - linux,phandle = <0x000000ad>; - phandle = <0x000000ad>; - }; - scr1 { - #clock-cells = <0x00000000>; - compatible = "allwinner,periph-clock"; - clock-output-names = "scr1"; - linux,phandle = <0x000000b2>; - phandle = <0x000000b2>; - }; - spi0 { - #clock-cells = <0x00000000>; - compatible = "allwinner,periph-clock"; - clock-output-names = "spi0"; - linux,phandle = <0x0000006f>; - phandle = <0x0000006f>; - }; - spi1 { - #clock-cells = <0x00000000>; - compatible = "allwinner,periph-clock"; - clock-output-names = "spi1"; - linux,phandle = <0x00000073>; - phandle = <0x00000073>; - }; - gmac { - #clock-cells = <0x00000000>; - compatible = "allwinner,periph-clock"; - clock-output-names = "gmac"; - linux,phandle = <0x000000d2>; - phandle = <0x000000d2>; - }; - sata { - #clock-cells = <0x00000000>; - compatible = "allwinner,periph-clock"; - clock-output-names = "sata"; - }; - sata_24m { - #clock-cells = <0x00000000>; - compatible = "allwinner,periph-clock"; - clock-output-names = "sata_24m"; - }; - ts { - #clock-cells = <0x00000000>; - compatible = "allwinner,periph-clock"; - clock-output-names = "ts"; - linux,phandle = <0x000000bb>; - phandle = <0x000000bb>; - }; - irtx { - #clock-cells = <0x00000000>; - compatible = "allwinner,periph-clock"; - clock-output-names = "irtx"; - }; - ths { - #clock-cells = <0x00000000>; - compatible = "allwinner,periph-clock"; - clock-output-names = "ths"; - linux,phandle = <0x000000c4>; - phandle = <0x000000c4>; - }; - i2s0 { - #clock-cells = <0x00000000>; - compatible = "allwinner,periph-clock"; - clock-output-names = "i2s0"; - linux,phandle = <0x0000004a>; - phandle = <0x0000004a>; - }; - i2s1 { - #clock-cells = <0x00000000>; - compatible = "allwinner,periph-clock"; - clock-output-names = "i2s1"; - linux,phandle = <0x0000004d>; - phandle = <0x0000004d>; - }; - i2s2 { - #clock-cells = <0x00000000>; - compatible = "allwinner,periph-clock"; - clock-output-names = "i2s2"; - linux,phandle = <0x0000004e>; - phandle = <0x0000004e>; - }; - i2s3 { - #clock-cells = <0x00000000>; - compatible = "allwinner,periph-clock"; - clock-output-names = "i2s3"; - linux,phandle = <0x00000051>; - phandle = <0x00000051>; - }; - spdif { - #clock-cells = <0x00000000>; - compatible = "allwinner,periph-clock"; - clock-output-names = "spdif"; - linux,phandle = <0x00000054>; - phandle = <0x00000054>; - }; - dmic { - #clock-cells = <0x00000000>; - compatible = "allwinner,periph-clock"; - clock-output-names = "dmic"; - linux,phandle = <0x00000057>; - phandle = <0x00000057>; - }; - ahub { - #clock-cells = <0x00000000>; - compatible = "allwinner,periph-clock"; - clock-output-names = "ahub"; - linux,phandle = <0x0000005a>; - phandle = <0x0000005a>; - }; - usbphy0 { - #clock-cells = <0x00000000>; - compatible = "allwinner,periph-clock"; - clock-output-names = "usbphy0"; - linux,phandle = <0x0000003c>; - phandle = <0x0000003c>; - }; - usbphy1 { - #clock-cells = <0x00000000>; - compatible = "allwinner,periph-clock"; - clock-output-names = "usbphy1"; - linux,phandle = <0x00000042>; - phandle = <0x00000042>; - }; - usbphy3 { - #clock-cells = <0x00000000>; - compatible = "allwinner,periph-clock"; - clock-output-names = "usbphy3"; - linux,phandle = <0x00000044>; - phandle = <0x00000044>; - }; - usbohci0 { - #clock-cells = <0x00000000>; - compatible = "allwinner,periph-clock"; - clock-output-names = "usbohci0"; - linux,phandle = <0x0000003f>; - phandle = <0x0000003f>; - }; - usbohci0_12m { - #clock-cells = <0x00000000>; - compatible = "allwinner,periph-clock"; - clock-output-names = "usbohci0_12m"; - linux,phandle = <0x00000040>; - phandle = <0x00000040>; - }; - usbohci3 { - #clock-cells = <0x00000000>; - compatible = "allwinner,periph-clock"; - clock-output-names = "usbohci3"; - linux,phandle = <0x00000048>; - phandle = <0x00000048>; - }; - usbohci3_12m { - #clock-cells = <0x00000000>; - compatible = "allwinner,periph-clock"; - clock-output-names = "usbohci3_12m"; - linux,phandle = <0x00000049>; - phandle = <0x00000049>; - }; - usbehci0 { - #clock-cells = <0x00000000>; - compatible = "allwinner,periph-clock"; - clock-output-names = "usbehci0"; - linux,phandle = <0x0000003e>; - phandle = <0x0000003e>; - }; - usbehci3 { - #clock-cells = <0x00000000>; - compatible = "allwinner,periph-clock"; - clock-output-names = "usbehci3"; - linux,phandle = <0x00000045>; - phandle = <0x00000045>; - }; - usb3_0_host { - #clock-cells = <0x00000000>; - compatible = "allwinner,periph-clock"; - clock-output-names = "usb3_0_host"; - linux,phandle = <0x00000043>; - phandle = <0x00000043>; - }; - usbotg { - #clock-cells = <0x00000000>; - compatible = "allwinner,periph-clock"; - clock-output-names = "usbotg"; - linux,phandle = <0x0000003d>; - phandle = <0x0000003d>; - }; - usbhsic { - #clock-cells = <0x00000000>; - compatible = "allwinner,periph-clock"; - clock-output-names = "usbhsic"; - linux,phandle = <0x00000046>; - phandle = <0x00000046>; - }; - pcieref { - #clock-cells = <0x00000000>; - compatible = "allwinner,periph-clock"; - clock-output-names = "pcieref"; - linux,phandle = <0x00000077>; - phandle = <0x00000077>; - }; - pciemaxi { - #clock-cells = <0x00000000>; - compatible = "allwinner,periph-clock"; - assigned-clocks = <0x0000000b>; - assigned-clock-rates = <0x0bebc200>; - clock-output-names = "pciemaxi"; - linux,phandle = <0x0000000b>; - phandle = <0x0000000b>; - }; - pcieaux { - #clock-cells = <0x00000000>; - compatible = "allwinner,periph-clock"; - assigned-clock-rates = <0x000f4240>; - assigned-clocks = <0x0000000c>; - clock-output-names = "pcieaux"; - linux,phandle = <0x0000000c>; - phandle = <0x0000000c>; - }; - pcie_bus { - #clock-cells = <0x00000000>; - compatible = "allwinner,periph-clock"; - clock-output-names = "pcie_bus"; - linux,phandle = <0x00000078>; - phandle = <0x00000078>; - }; - pcie_power { - #clock-cells = <0x00000000>; - compatible = "allwinner,periph-clock"; - clock-output-names = "pcie_power"; - linux,phandle = <0x00000079>; - phandle = <0x00000079>; - }; - pcie_rst { - #clock-cells = <0x00000000>; - compatible = "allwinner,periph-clock"; - clock-output-names = "pcie_rst"; - linux,phandle = <0x0000007a>; - phandle = <0x0000007a>; - }; - hdmi { - #clock-cells = <0x00000000>; - compatible = "allwinner,periph-clock"; - assigned-clock-parents = <0x00000006>; - assigned-clocks = <0x0000000d>; - clock-output-names = "hdmi"; - linux,phandle = <0x0000000d>; - phandle = <0x0000000d>; - }; - hdmi_slow { - #clock-cells = <0x00000000>; - compatible = "allwinner,periph-clock"; - assigned-clocks = <0x0000000e>; - clock-output-names = "hdmi_slow"; - linux,phandle = <0x0000000e>; - phandle = <0x0000000e>; - }; - hdmi_cec { - #clock-cells = <0x00000000>; - compatible = "allwinner,periph-clock"; - assigned-clocks = <0x0000000f>; - clock-output-names = "hdmi_cec"; - linux,phandle = <0x0000000f>; - phandle = <0x0000000f>; - }; - display_top { - #clock-cells = <0x00000000>; - compatible = "allwinner,periph-clock"; - clock-output-names = "display_top"; - linux,phandle = <0x0000008d>; - phandle = <0x0000008d>; - }; - tcon_lcd { - #clock-cells = <0x00000000>; - compatible = "allwinner,periph-clock"; - clock-output-names = "tcon_lcd"; - linux,phandle = <0x0000008e>; - phandle = <0x0000008e>; - }; - tcon_tv { - #clock-cells = <0x00000000>; - compatible = "allwinner,periph-clock"; - assigned-clock-parents = <0x00000006>; - assigned-clocks = <0x00000010>; - clock-output-names = "tcon_tv"; - linux,phandle = <0x00000010>; - phandle = <0x00000010>; - }; - csi_misc { - #clock-cells = <0x00000000>; - compatible = "allwinner,periph-clock"; - clock-output-names = "csi_misc"; - linux,phandle = <0x0000009e>; - phandle = <0x0000009e>; - }; - csi_top { - #clock-cells = <0x00000000>; - compatible = "allwinner,periph-clock"; - clock-output-names = "csi_top"; - linux,phandle = <0x0000009a>; - phandle = <0x0000009a>; - }; - csi_master0 { - #clock-cells = <0x00000000>; - compatible = "allwinner,periph-clock"; - clock-output-names = "csi_master0"; - linux,phandle = <0x0000009b>; - phandle = <0x0000009b>; - }; - hdmi_hdcp { - #clock-cells = <0x00000000>; - compatible = "allwinner,periph-clock"; - assigned-clock-parents = <0x00000003>; - assigned-clocks = <0x00000011>; - clock-output-names = "hdmi_hdcp"; - linux,phandle = <0x00000011>; - phandle = <0x00000011>; - }; - pio { - #clock-cells = <0x00000000>; - compatible = "allwinner,periph-clock"; - clock-output-names = "pio"; - linux,phandle = <0x00000013>; - phandle = <0x00000013>; - }; - cpurcir { - #clock-cells = <0x00000000>; - compatible = "allwinner,periph-cpus-clock"; - clock-output-names = "cpurcir"; - linux,phandle = <0x0000001b>; - phandle = <0x0000001b>; - }; - losc_out { - #clock-cells = <0x00000000>; - compatible = "allwinner,periph-cpus-clock"; - clock-output-names = "losc_out"; - linux,phandle = <0x000000d5>; - phandle = <0x000000d5>; - }; - cpurcpus_pll { - #clock-cells = <0x00000000>; - compatible = "allwinner,periph-cpus-clock"; - clock-output-names = "cpurcpus_pll"; - }; - cpurcpus { - #clock-cells = <0x00000000>; - compatible = "allwinner,periph-cpus-clock"; - clock-output-names = "cpurcpus"; - }; - cpurahbs { - #clock-cells = <0x00000000>; - compatible = "allwinner,periph-cpus-clock"; - clock-output-names = "cpurahbs"; - }; - cpurapbs1 { - #clock-cells = <0x00000000>; - compatible = "allwinner,periph-cpus-clock"; - clock-output-names = "cpurapbs1"; - }; - cpurapbs2_pll { - #clock-cells = <0x00000000>; - compatible = "allwinner,periph-cpus-clock"; - clock-output-names = "cpurapbs2_pll"; - }; - cpurapbs2 { - #clock-cells = <0x00000000>; - compatible = "allwinner,periph-cpus-clock"; - clock-output-names = "cpurapbs2"; - }; - cpurpio { - #clock-cells = <0x00000000>; - compatible = "allwinner,periph-cpus-clock"; - clock-output-names = "cpurpio"; - linux,phandle = <0x00000012>; - phandle = <0x00000012>; - }; - spwm { - #clock-cells = <0x00000000>; - compatible = "allwinner,periph-cpus-clock"; - clock-output-names = "spwm"; - linux,phandle = <0x00000096>; - phandle = <0x00000096>; - }; - dcxo_out { - #clock-cells = <0x00000000>; - compatible = "allwinner,periph-cpus-clock"; - clock-output-names = "dcxo_out"; - }; - }; - soc@03000000 { - compatible = "simple-bus"; - #address-cells = <0x00000002>; - #size-cells = <0x00000002>; - ranges; - device_type = "soc"; - pinctrl@07022000 { - compatible = "allwinner,sun50iw6p1-r-pinctrl"; - reg = <0x00000000 0x07022000 0x00000000 0x00000400>; - interrupts = <0x00000000 0x00000069 0x00000004 0x00000000 0x0000006f 0x00000004>; - clocks = <0x00000012>; - device_type = "r_pio"; - gpio-controller; - interrupt-controller; - #interrupt-cells = <0x00000002>; - #size-cells = <0x00000000>; - #gpio-cells = <0x00000006>; - linux,phandle = <0x000000d6>; - phandle = <0x000000d6>; - s_twi0@0 { - allwinner,pins = "PL0", "PL1"; - allwinner,function = "s_twi0"; - allwinner,muxsel = <0x00000003>; - allwinner,drive = <0x00000000>; - allwinner,pull = <0x00000001>; - linux,phandle = <0x0000001d>; - phandle = <0x0000001d>; - }; - s_cir0@0 { - allwinner,pins = "PL9"; - allwinner,function = "s_cir0"; - allwinner,muxsel = <0x00000002>; - allwinner,drive = <0x00000002>; - allwinner,pull = <0x00000001>; - linux,phandle = <0x0000001a>; - phandle = <0x0000001a>; - }; - twi_para@0 { - linux,phandle = <0x000000e4>; - phandle = <0x000000e4>; - allwinner,pins = "PL0", "PL1"; - allwinner,function = "twi_para"; - allwinner,pname = "twi_scl", "twi_sda"; - allwinner,muxsel = <0x00000003>; - allwinner,pull = <0x00000001>; - allwinner,drive = <0x00000000>; - allwinner,data = <0xffffffff>; - }; - pwm16@0 { - linux,phandle = <0x0000010b>; - phandle = <0x0000010b>; - allwinner,pins = "PL8"; - allwinner,function = "pwm16"; - allwinner,pname = "pwm_positive"; - allwinner,muxsel = <0x00000002>; - allwinner,pull = <0x00000000>; - allwinner,drive = <0xffffffff>; - allwinner,data = <0xffffffff>; - }; - pwm16@1 { - linux,phandle = <0x0000010c>; - phandle = <0x0000010c>; - allwinner,pins = "PL8"; - allwinner,function = "pwm16"; - allwinner,pname = "pwm_positive"; - allwinner,muxsel = <0x00000007>; - allwinner,pull = <0x00000000>; - allwinner,drive = <0xffffffff>; - allwinner,data = <0xffffffff>; - }; - s_uart0@0 { - linux,phandle = <0x00000112>; - phandle = <0x00000112>; - allwinner,pins = "PL2", "PL3"; - allwinner,function = "s_uart0"; - allwinner,pname = "s_uart0_tx", "s_uart0_rx"; - allwinner,muxsel = <0x00000002>; - allwinner,pull = <0xffffffff>; - allwinner,drive = <0xffffffff>; - allwinner,data = <0xffffffff>; - }; - s_rsb0@0 { - linux,phandle = <0x00000113>; - phandle = <0x00000113>; - allwinner,pins = "PL0", "PL1"; - allwinner,function = "s_rsb0"; - allwinner,pname = "s_rsb0_sck", "s_rsb0_sda"; - allwinner,muxsel = <0x00000002>; - allwinner,pull = <0x00000001>; - allwinner,drive = <0x00000002>; - allwinner,data = <0xffffffff>; - }; - s_jtag0@0 { - linux,phandle = <0x00000114>; - phandle = <0x00000114>; - 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 = <0x00000002>; - allwinner,pull = <0x00000001>; - allwinner,drive = <0x00000002>; - allwinner,data = <0xffffffff>; - }; - }; - pinctrl@0300b000 { - compatible = "allwinner,sun50iw6p1-pinctrl"; - reg = <0x00000000 0x0300b000 0x00000000 0x00000400>; - interrupts = <0x00000000 0x00000033 0x00000004 0x00000000 0x00000035 0x00000004 0x00000000 0x00000036 0x00000004 0x00000000 0x0000003b 0x00000004>; - device_type = "pio"; - clocks = <0x00000013>; - gpio-controller; - interrupt-controller; - #interrupt-cells = <0x00000002>; - #size-cells = <0x00000000>; - #gpio-cells = <0x00000006>; - linux,phandle = <0x00000087>; - phandle = <0x00000087>; - twi3@1 { - allwinner,pins = "PB17", "PB18"; - allwinner,function = "io_disabled"; - allwinner,muxsel = <0x00000007>; - allwinner,drive = <0x00000001>; - allwinner,pull = <0x00000000>; - linux,phandle = <0x0000003b>; - phandle = <0x0000003b>; - }; - ts0@0 { - allwinner,pins = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11"; - 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 = <0x00000003>; - allwinner,drive = <0x00000001>; - allwinner,pull = <0x00000000>; - linux,phandle = <0x000000bc>; - phandle = <0x000000bc>; - }; - ts0_sleep@0 { - allwinner,pins = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11"; - 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 = <0x00000007>; - allwinner,drive = <0x00000001>; - allwinner,pull = <0x00000000>; - linux,phandle = <0x000000c0>; - phandle = <0x000000c0>; - }; - ts1@0 { - allwinner,pins = "PD12", "PD13", "PD14", "PD15", "PD16"; - allwinner,pname = "ts1_clk", "ts1_err", "ts1_sync", "ts1_dvld", "ts1_d0"; - allwinner,function = "ts1"; - allwinner,muxsel = <0x00000003>; - allwinner,drive = <0x00000001>; - allwinner,pull = <0x00000000>; - linux,phandle = <0x000000bd>; - phandle = <0x000000bd>; - }; - ts1_sleep@0 { - allwinner,pins = "PD12", "PD13", "PD14", "PD15", "PD16"; - allwinner,pname = "ts1_clk", "ts1_err", "ts1_sync", "ts1_dvld", "ts1_d0"; - allwinner,function = "io_disabled"; - allwinner,muxsel = <0x00000007>; - allwinner,drive = <0x00000001>; - allwinner,pull = <0x00000000>; - linux,phandle = <0x000000c1>; - phandle = <0x000000c1>; - }; - ts2@0 { - allwinner,pins = "PD17", "PD18", "PD19", "PD20", "PD21"; - allwinner,pname = "ts2_clk", "ts2_err", "ts2_sync", "ts2_dvld", "ts2_d0"; - allwinner,function = "ts2"; - allwinner,muxsel = <0x00000003>; - allwinner,drive = <0x00000001>; - allwinner,pull = <0x00000000>; - linux,phandle = <0x000000be>; - phandle = <0x000000be>; - }; - ts2_sleep@0 { - allwinner,pins = "PD17", "PD18", "PD19", "PD20", "PD21"; - allwinner,pname = "ts2_clk", "ts2_err", "ts2_sync", "ts2_dvld", "ts2_d0"; - allwinner,function = "io_disabled"; - allwinner,muxsel = <0x00000007>; - allwinner,drive = <0x00000001>; - allwinner,pull = <0x00000000>; - linux,phandle = <0x000000c2>; - phandle = <0x000000c2>; - }; - ts3@0 { - allwinner,pins = "PD22", "PD23", "PD24", "PD25", "PD26"; - allwinner,pname = "ts3_clk", "ts3_err", "ts3_sync", "ts3_dvld", "ts3_d0"; - allwinner,function = "ts3"; - allwinner,muxsel = <0x00000003>; - allwinner,drive = <0x00000001>; - allwinner,pull = <0x00000000>; - linux,phandle = <0x000000bf>; - phandle = <0x000000bf>; - }; - ts3_sleep@0 { - allwinner,pins = "PD22", "PD23", "PD24", "PD25", "PD26"; - allwinner,pname = "ts3_clk", "ts3_err", "ts3_sync", "ts3_dvld", "ts3_d0"; - allwinner,function = "io_disabled"; - allwinner,muxsel = <0x00000007>; - allwinner,drive = <0x00000001>; - allwinner,pull = <0x00000000>; - linux,phandle = <0x000000c3>; - phandle = <0x000000c3>; - }; - sdc0@1 { - allwinner,pins = "PF0", "PF1", "PF2", "PF3", "PF4", "PF5"; - allwinner,function = "io_disabled"; - allwinner,muxsel = <0x00000007>; - allwinner,drive = <0x00000001>; - allwinner,pull = <0x00000001>; - linux,phandle = <0x00000085>; - phandle = <0x00000085>; - }; - sdc0@2 { - allwinner,pins = "PF0", "PF1", "PF2", "PF3", "PF4", "PF5"; - allwinner,function = "uart0_jtag"; - allwinner,muxsel = <0x00000003>; - allwinner,drive = <0x00000001>; - allwinner,pull = <0x00000001>; - linux,phandle = <0x00000086>; - phandle = <0x00000086>; - }; - sdc1@1 { - allwinner,pins = "PG0", "PG1", "PG2", "PG3", "PG4", "PG5"; - allwinner,function = "io_disabled"; - allwinner,muxsel = <0x00000007>; - allwinner,drive = <0x00000001>; - allwinner,pull = <0x00000001>; - linux,phandle = <0x0000008c>; - phandle = <0x0000008c>; - }; - sdc2@1 { - allwinner,pins = "PC1", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14"; - allwinner,function = "io_disabled"; - allwinner,muxsel = <0x00000007>; - allwinner,drive = <0x00000001>; - allwinner,pull = <0x00000001>; - linux,phandle = <0x00000080>; - phandle = <0x00000080>; - }; - daudio0@0 { - allwinner,pins = "PH0", "PH1", "PH2", "PH3", "PH4"; - allwinner,function = "pcm0"; - allwinner,muxsel = <0x00000003>; - allwinner,drive = <0x00000001>; - allwinner,pull = <0x00000000>; - linux,phandle = <0x0000004b>; - phandle = <0x0000004b>; - }; - daudio0_sleep@0 { - allwinner,pins = "PH0", "PH1", "PH2", "PH3", "PH4"; - allwinner,function = "io_disabled"; - allwinner,muxsel = <0x00000007>; - allwinner,drive = <0x00000001>; - allwinner,pull = <0x00000000>; - linux,phandle = <0x0000004c>; - phandle = <0x0000004c>; - }; - daudio2@0 { - allwinner,pins = "PG10", "PG11", "PG12", "PG13", "PG14"; - allwinner,function = "pcm2"; - allwinner,muxsel = <0x00000002>; - allwinner,drive = <0x00000001>; - allwinner,pull = <0x00000000>; - linux,phandle = <0x0000004f>; - phandle = <0x0000004f>; - }; - daudio2_sleep@0 { - allwinner,pins = "PG10", "PG11", "PG12", "PG13", "PG14"; - allwinner,function = "io_disabled"; - allwinner,muxsel = <0x00000007>; - allwinner,drive = <0x00000001>; - allwinner,pull = <0x00000000>; - linux,phandle = <0x00000050>; - phandle = <0x00000050>; - }; - daudio3@0 { - allwinner,pins = "PB12", "PB13", "PB14", "PB15", "PB16"; - allwinner,function = "pcm3"; - allwinner,muxsel = <0x00000002>; - allwinner,driver = <0x00000001>; - allwinner,pull = <0x00000000>; - linux,phandle = <0x00000052>; - phandle = <0x00000052>; - }; - daudio3_sleep@0 { - allwinner,pins = "PB12", "PB13", "PB14", "PB15", "PB16"; - allwinner,function = "io_disabled"; - allwinner,muxsel = <0x00000007>; - allwinner,driver = <0x00000001>; - allwinner,pull = <0x00000000>; - linux,phandle = <0x00000053>; - phandle = <0x00000053>; - }; - spdif@0 { - allwinner,pins = "PH5", "PH6", "PH7"; - allwinner,function = "spdif0"; - allwinner,muxsel = <0x00000003>; - allwinner,drive = <0x00000001>; - allwinner,pull = <0x00000000>; - linux,phandle = <0x00000055>; - phandle = <0x00000055>; - }; - spdif_sleep@0 { - allwinner,pins = "PH5", "PH6", "PH7"; - allwinner,function = "io_disabled"; - allwinner,muxsel = <0x00000007>; - allwinner,drive = <0x00000001>; - allwinner,pull = <0x00000000>; - linux,phandle = <0x00000056>; - phandle = <0x00000056>; - }; - dmic@0 { - allwinner,pins = "PD14", "PD15", "PD16", "PD17", "PD18"; - allwinner,function = "dmic"; - allwinner,muxsel = <0x00000004>; - allwinner,driver = <0x00000001>; - allwinner,pull = <0x00000000>; - linux,phandle = <0x00000058>; - phandle = <0x00000058>; - }; - dmic_sleep@0 { - allwinner,pins = "PD14", "PD15", "PD16", "PD17", "PD18"; - allwinner,function = "io_disabled"; - allwinner,muxsel = <0x00000007>; - allwinner,driver = <0x00000001>; - allwinner,pull = <0x00000000>; - linux,phandle = <0x00000059>; - phandle = <0x00000059>; - }; - ahub_daudio0@0 { - allwinner,pins = "PH0", "PH1", "PH2", "PH3", "PH4"; - allwinner,function = "h_pcm0"; - allwinner,muxsel = <0x00000004>; - allwinner,driver = <0x00000001>; - allwinner,pull = <0x00000000>; - linux,phandle = <0x0000005b>; - phandle = <0x0000005b>; - }; - ahub_daudio0_sleep@0 { - allwinner,pins = "PH0", "PH1", "PH2", "PH3", "PH4"; - allwinner,function = "io_disabled"; - allwinner,muxsel = <0x00000007>; - allwinner,driver = <0x00000001>; - allwinner,pull = <0x00000000>; - linux,phandle = <0x0000005c>; - phandle = <0x0000005c>; - }; - ahub_daudio2@0 { - allwinner,pins = "PG10", "PG11", "PG12", "PG13", "PG14"; - allwinner,function = "h_pcm2"; - allwinner,muxsel = <0x00000003>; - allwinner,drive = <0x00000001>; - allwinner,pull = <0x00000000>; - linux,phandle = <0x0000005d>; - phandle = <0x0000005d>; - }; - ahub_daudio2_sleep@0 { - allwinner,pins = "PG10", "PG11", "PG12", "PG13", "PG14"; - allwinner,function = "io_disabled"; - allwinner,muxsel = <0x00000007>; - allwinner,drive = <0x00000001>; - allwinner,pull = <0x00000000>; - linux,phandle = <0x0000005e>; - phandle = <0x0000005e>; - }; - ahub_daudio3@0 { - allwinner,pins = "PB12", "PB13", "PB14", "PB15", "PB16"; - allwinner,function = "h_pcm3"; - allwinner,muxsel = <0x00000004>; - allwinner,driver = <0x00000001>; - allwinner,pull = <0x00000000>; - linux,phandle = <0x0000005f>; - phandle = <0x0000005f>; - }; - ahub_daudio3_sleep@0 { - allwinner,pins = "PB12", "PB13", "PB14", "PB15", "PB16"; - allwinner,function = "io_disabled"; - allwinner,muxsel = <0x00000007>; - allwinner,driver = <0x00000001>; - allwinner,pull = <0x00000000>; - linux,phandle = <0x00000060>; - phandle = <0x00000060>; - }; - csi0@1 { - allwinner,pins = "PD0", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11"; - allwinner,pname = "csi0_pck", "csi0_hsync", "csi0_vsync", "csi0_d0", "csi0_d1", "csi0_d2", "csi0_d3", "csi0_d4", "csi0_d5", "csi0_d6", "csi0_d7"; - allwinner,function = "io_disabled"; - allwinner,muxsel = <0x00000007>; - allwinner,drive = <0x00000001>; - allwinner,pull = <0x00000000>; - allwinner,data = <0x00000000>; - linux,phandle = <0x000000a2>; - phandle = <0x000000a2>; - }; - csi_mclk0@0 { - allwinner,pins = "PD1"; - allwinner,pname = "csi_mclk0"; - allwinner,function = "csi_mclk0"; - allwinner,muxsel = <0x00000004>; - allwinner,drive = <0x00000001>; - allwinner,pull = <0x00000000>; - allwinner,data = <0x00000000>; - linux,phandle = <0x0000009c>; - phandle = <0x0000009c>; - }; - csi_mclk0@1 { - allwinner,pins = "PD1"; - allwinner,pname = "csi_mclk0"; - allwinner,function = "io_disabled"; - allwinner,muxsel = <0x00000007>; - allwinner,drive = <0x00000001>; - allwinner,pull = <0x00000000>; - allwinner,data = <0x00000000>; - linux,phandle = <0x0000009d>; - phandle = <0x0000009d>; - }; - csi_cci0@1 { - allwinner,pins = "PD12", "PD13"; - allwinner,pname = "csi_cci0_sck", "csi_cci0_sda"; - allwinner,function = "io_disabled"; - allwinner,muxsel = <0x00000007>; - allwinner,drive = <0x00000001>; - allwinner,pull = <0x00000000>; - allwinner,data = <0x00000000>; - linux,phandle = <0x000000a0>; - phandle = <0x000000a0>; - }; - scr0@0 { - allwinner,pins = "PG13", "PG14", "PG10", "PG11", "PG12"; - allwinner,pname = "scr0_rst", "scr0_det", "scr0_vccen", "scr0_sck", "scr0_sda"; - allwinner,function = "sim0"; - allwinner,muxsel = <0x00000004>; - allwinner,drive = <0x00000000>; - allwinner,pull = <0x00000001>; - linux,phandle = <0x000000af>; - phandle = <0x000000af>; - }; - scr0@1 { - allwinner,pins = "PG8", "PG9"; - allwinner,pname = "scr0_vppen", "scr0_vppp"; - allwinner,function = "sim0"; - allwinner,muxsel = <0x00000004>; - allwinner,drive = <0x00000000>; - allwinner,pull = <0x00000001>; - linux,phandle = <0x000000b0>; - phandle = <0x000000b0>; - }; - scr0@2 { - allwinner,pins = "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14"; - allwinner,function = "io_disabled"; - allwinner,muxsel = <0x00000007>; - allwinner,drive = <0x00000000>; - allwinner,pull = <0x00000000>; - linux,phandle = <0x000000b1>; - phandle = <0x000000b1>; - }; - scr1@0 { - allwinner,pins = "PH5", "PH6", "PH2", "PH3", "PH4"; - allwinner,pname = "scr1_rst", "scr1_det", "scr1_vccen", "scr1_sck", "scr1_sda"; - allwinner,function = "sim1"; - allwinner,muxsel = <0x00000005>; - allwinner,drive = <0x00000001>; - allwinner,pull = <0x00000001>; - linux,phandle = <0x000000b3>; - phandle = <0x000000b3>; - }; - scr1@1 { - allwinner,pins = "PH0", "PH1"; - allwinner,pname = "scr1_vppen", "scr1_vppp"; - allwinner,function = "sim1"; - allwinner,muxsel = <0x00000005>; - allwinner,drive = <0x00000001>; - allwinner,pull = <0x00000001>; - linux,phandle = <0x000000b4>; - phandle = <0x000000b4>; - }; - scr1@2 { - allwinner,pins = "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6"; - allwinner,function = "io_disabled"; - allwinner,muxsel = <0x00000007>; - allwinner,drive = <0x00000001>; - allwinner,pull = <0x00000000>; - linux,phandle = <0x000000b5>; - phandle = <0x000000b5>; - }; - nand0@2 { - allwinner,pins = "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PC16"; - allwinner,function = "io_disabled"; - allwinner,muxsel = <0x00000007>; - allwinner,drive = <0x00000001>; - allwinner,pull = <0x00000000>; - linux,phandle = <0x000000ba>; - phandle = <0x000000ba>; - }; - hdmi@1 { - allwinner,pins = "PH8", "PH9"; - allwinner,function = "io_disabled"; - allwinner,muxsel = <0x00000007>; - allwinner,drive = <0x00000001>; - allwinner,pull = <0x00000000>; - linux,phandle = <0x00000090>; - phandle = <0x00000090>; - }; - hdmi@2 { - allwinner,pins = "PH10"; - allwinner,function = "hcec0"; - allwinner,muxsel = <0x00000002>; - allwinner,drive = <0x00000001>; - allwinner,pull = <0x00000000>; - linux,phandle = <0x00000091>; - phandle = <0x00000091>; - }; - hdmi@3 { - allwinner,pins = "PH10"; - allwinner,function = "io_disabled"; - allwinner,muxsel = <0x00000007>; - allwinner,drive = <0x00000001>; - allwinner,pull = <0x00000000>; - linux,phandle = <0x00000092>; - phandle = <0x00000092>; - }; - ac200@2 { - allwinner,pins = "PB0"; - allwinner,function = "ac200"; - allwinner,muxsel = <0x00000002>; - allwinner,drive = <0x00000000>; - allwinner,pull = <0x00000000>; - linux,phandle = <0x00000098>; - phandle = <0x00000098>; - }; - ac200@3 { - allwinner,pins = "PB0"; - allwinner,function = "io_disabled"; - allwinner,muxsel = <0x00000007>; - allwinner,drive = <0x00000000>; - allwinner,pull = <0x00000000>; - linux,phandle = <0x00000099>; - phandle = <0x00000099>; - }; - gmac@1 { - allwinner,pins = "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9"; - allwinner,function = "io_disabled"; - allwinner,muxsel = <0x00000007>; - allwinner,drive = <0x00000003>; - allwinner,pull = <0x00000000>; - linux,phandle = <0x000000d4>; - phandle = <0x000000d4>; - }; - card0_boot_para@0 { - linux,phandle = <0x000000e2>; - phandle = <0x000000e2>; - 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 = <0x00000002>; - allwinner,pull = <0x00000001>; - allwinner,drive = <0x00000002>; - allwinner,data = <0xffffffff>; - }; - card2_boot_para@0 { - linux,phandle = <0x000000e3>; - phandle = <0x000000e3>; - allwinner,pins = "PC1", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14"; - allwinner,function = "card2_boot_para"; - allwinner,pname = "sdc_ds", "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 = <0x00000003>; - allwinner,pull = <0x00000001>; - allwinner,drive = <0x00000003>; - allwinner,data = <0xffffffff>; - }; - uart_para@0 { - linux,phandle = <0x000000e5>; - phandle = <0x000000e5>; - allwinner,pins = "PH0", "PH1"; - allwinner,function = "uart_para"; - allwinner,pname = "uart_debug_tx", "uart_debug_rx"; - allwinner,muxsel = <0x00000002>; - allwinner,pull = <0x00000001>; - allwinner,drive = <0xffffffff>; - allwinner,data = <0xffffffff>; - }; - jtag_para@0 { - linux,phandle = <0x000000e6>; - phandle = <0x000000e6>; - allwinner,pins = "PD23", "PD24", "PD25", "PD26"; - allwinner,function = "jtag_para"; - allwinner,pname = "jtag_ms", "jtag_ck", "jtag_do", "jtag_di"; - allwinner,muxsel = <0x00000005>; - allwinner,pull = <0xffffffff>; - allwinner,drive = <0xffffffff>; - allwinner,data = <0xffffffff>; - }; - gmac0@0 { - linux,phandle = <0x000000e7>; - phandle = <0x000000e7>; - allwinner,pins = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD19", "PD20"; - allwinner,function = "gmac0"; - allwinner,pname = "gmac_rxd3", "gmac_rxd2", "gmac_rxd1", "gmac_rxd0", "gmac_rxck", "gmac_rxctl", "gmac_txd3", "gmac_txd2", "gmac_txd1", "gmac_txd0", "gmac_txck", "gmac_txctl", "gmac_clkin", "gmac_ephyrst", "gmac_mdc", "gmac_mdio"; - allwinner,muxsel = <0x00000005>; - allwinner,pull = <0xffffffff>; - allwinner,drive = <0x00000003>; - allwinner,data = <0xffffffff>; - }; - twi0@0 { - linux,phandle = <0x000000e8>; - phandle = <0x000000e8>; - allwinner,pins = "PD25", "PD26"; - allwinner,function = "twi0"; - allwinner,pname = "twi0_scl", "twi0_sda"; - allwinner,muxsel = <0x00000002>; - allwinner,pull = <0xffffffff>; - allwinner,drive = <0xffffffff>; - allwinner,data = <0xffffffff>; - }; - twi0@1 { - linux,phandle = <0x000000e9>; - phandle = <0x000000e9>; - allwinner,pins = "PD25", "PD26"; - allwinner,function = "twi0"; - allwinner,pname = "twi0_scl", "twi0_sda"; - allwinner,muxsel = <0x00000007>; - allwinner,pull = <0xffffffff>; - allwinner,drive = <0xffffffff>; - allwinner,data = <0xffffffff>; - }; - twi1@0 { - linux,phandle = <0x000000ea>; - phandle = <0x000000ea>; - allwinner,pins = "PH5", "PH6"; - allwinner,function = "twi1"; - allwinner,pname = "twi1_scl", "twi1_sda"; - allwinner,muxsel = <0x00000004>; - allwinner,pull = <0xffffffff>; - allwinner,drive = <0xffffffff>; - allwinner,data = <0xffffffff>; - }; - twi1@1 { - linux,phandle = <0x000000eb>; - phandle = <0x000000eb>; - allwinner,pins = "PH5", "PH6"; - allwinner,function = "twi1"; - allwinner,pname = "twi1_scl", "twi1_sda"; - allwinner,muxsel = <0x00000007>; - allwinner,pull = <0xffffffff>; - allwinner,drive = <0xffffffff>; - allwinner,data = <0xffffffff>; - }; - twi2@0 { - linux,phandle = <0x000000ec>; - phandle = <0x000000ec>; - allwinner,pins = "PD23", "PD24"; - allwinner,function = "twi2"; - allwinner,pname = "twi2_scl", "twi2_sda"; - allwinner,muxsel = <0x00000002>; - allwinner,pull = <0xffffffff>; - allwinner,drive = <0xffffffff>; - allwinner,data = <0xffffffff>; - }; - twi2@1 { - linux,phandle = <0x000000ed>; - phandle = <0x000000ed>; - allwinner,pins = "PD23", "PD24"; - allwinner,function = "twi2"; - allwinner,pname = "twi2_scl", "twi2_sda"; - allwinner,muxsel = <0x00000007>; - allwinner,pull = <0xffffffff>; - allwinner,drive = <0xffffffff>; - allwinner,data = <0xffffffff>; - }; - twi3@0 { - linux,phandle = <0x000000ee>; - phandle = <0x000000ee>; - allwinner,pins = "PB17", "PB18"; - allwinner,function = "twi3"; - allwinner,pname = "twi3_scl", "twi3_sda"; - allwinner,muxsel = <0x00000002>; - allwinner,pull = <0xffffffff>; - allwinner,drive = <0xffffffff>; - allwinner,data = <0xffffffff>; - }; - uart0@0 { - linux,phandle = <0x000000ef>; - phandle = <0x000000ef>; - allwinner,pins = "PH0", "PH1"; - allwinner,function = "uart0"; - allwinner,pname = "uart0_tx", "uart0_rx"; - allwinner,muxsel = <0x00000002>; - allwinner,pull = <0x00000001>; - allwinner,drive = <0xffffffff>; - allwinner,data = <0xffffffff>; - }; - uart0@1 { - linux,phandle = <0x000000f0>; - phandle = <0x000000f0>; - allwinner,pins = "PH0", "PH1"; - allwinner,function = "uart0"; - allwinner,pname = "uart0_tx", "uart0_rx"; - allwinner,muxsel = <0x00000007>; - allwinner,pull = <0x00000001>; - allwinner,drive = <0xffffffff>; - allwinner,data = <0xffffffff>; - }; - uart1@0 { - linux,phandle = <0x000000f1>; - phandle = <0x000000f1>; - allwinner,pins = "PG6", "PG7", "PG8", "PG9"; - allwinner,function = "uart1"; - allwinner,pname = "uart1_tx", "uart1_rx", "uart1_rts", "uart1_cts"; - allwinner,muxsel = <0x00000002>; - allwinner,pull = <0x00000001>; - allwinner,drive = <0xffffffff>; - allwinner,data = <0xffffffff>; - }; - uart1@1 { - linux,phandle = <0x000000f2>; - phandle = <0x000000f2>; - allwinner,pins = "PG6", "PG7", "PG8", "PG9"; - allwinner,function = "uart1"; - allwinner,pname = "uart1_tx", "uart1_rx", "uart1_rts", "uart1_cts"; - allwinner,muxsel = <0x00000007>; - allwinner,pull = <0x00000001>; - allwinner,drive = <0xffffffff>; - allwinner,data = <0xffffffff>; - }; - uart2@0 { - linux,phandle = <0x000000f3>; - phandle = <0x000000f3>; - allwinner,pins = "PD19", "PD20", "PD21", "PD22"; - allwinner,function = "uart2"; - allwinner,pname = "uart2_tx", "uart2_rx", "uart2_rts", "uart2_cts"; - allwinner,muxsel = <0x00000004>; - allwinner,pull = <0x00000001>; - allwinner,drive = <0xffffffff>; - allwinner,data = <0xffffffff>; - }; - uart2@1 { - linux,phandle = <0x000000f4>; - phandle = <0x000000f4>; - allwinner,pins = "PD19", "PD20", "PD21", "PD22"; - allwinner,function = "uart2"; - allwinner,pname = "uart2_tx", "uart2_rx", "uart2_rts", "uart2_cts"; - allwinner,muxsel = <0x00000007>; - allwinner,pull = <0x00000001>; - allwinner,drive = <0xffffffff>; - allwinner,data = <0xffffffff>; - }; - uart3@0 { - linux,phandle = <0x000000f5>; - phandle = <0x000000f5>; - allwinner,pins = "PD23", "PD24"; - allwinner,function = "uart3"; - allwinner,pname = "uart3_tx", "uart3_rx"; - allwinner,muxsel = <0x00000004>; - allwinner,pull = <0x00000001>; - allwinner,drive = <0xffffffff>; - allwinner,data = <0xffffffff>; - }; - uart3@1 { - linux,phandle = <0x000000f6>; - phandle = <0x000000f6>; - allwinner,pins = "PD23", "PD24"; - allwinner,function = "uart3"; - allwinner,pname = "uart3_tx", "uart3_rx"; - allwinner,muxsel = <0x00000007>; - allwinner,pull = <0x00000001>; - allwinner,drive = <0xffffffff>; - allwinner,data = <0xffffffff>; - }; - spi0@0 { - linux,phandle = <0x000000f7>; - phandle = <0x000000f7>; - allwinner,pins = "PC5"; - allwinner,function = "spi0"; - allwinner,pname = "spi0_cs0"; - allwinner,muxsel = <0x00000004>; - allwinner,pull = <0x00000001>; - allwinner,drive = <0xffffffff>; - allwinner,data = <0xffffffff>; - }; - spi0@1 { - linux,phandle = <0x000000f8>; - phandle = <0x000000f8>; - allwinner,pins = "PC0", "PC2", "PC3"; - allwinner,function = "spi0"; - allwinner,pname = "spi0_sclk", "spi0_mosi", "spi0_miso"; - allwinner,muxsel = <0x00000004>; - allwinner,pull = <0xffffffff>; - allwinner,drive = <0xffffffff>; - allwinner,data = <0xffffffff>; - }; - spi0@2 { - linux,phandle = <0x000000f9>; - phandle = <0x000000f9>; - allwinner,pins = "PC5"; - allwinner,function = "spi0"; - allwinner,pname = "spi0_cs0"; - allwinner,muxsel = <0x00000007>; - allwinner,pull = <0x00000001>; - allwinner,drive = <0xffffffff>; - allwinner,data = <0xffffffff>; - }; - spi0@3 { - linux,phandle = <0x000000fa>; - phandle = <0x000000fa>; - allwinner,pins = "PC0", "PC2", "PC3"; - allwinner,function = "spi0"; - allwinner,pname = "spi0_sclk", "spi0_mosi", "spi0_miso"; - allwinner,muxsel = <0x00000007>; - allwinner,pull = <0xffffffff>; - allwinner,drive = <0xffffffff>; - allwinner,data = <0xffffffff>; - }; - spi1@0 { - linux,phandle = <0x000000fb>; - phandle = <0x000000fb>; - allwinner,pins = "PH3"; - allwinner,function = "spi1"; - allwinner,pname = "spi1_cs0"; - allwinner,muxsel = <0x00000002>; - allwinner,pull = <0x00000001>; - allwinner,drive = <0xffffffff>; - allwinner,data = <0xffffffff>; - }; - spi1@1 { - linux,phandle = <0x000000fc>; - phandle = <0x000000fc>; - allwinner,pins = "PH4", "PH5", "PH6"; - allwinner,function = "spi1"; - allwinner,pname = "spi1_sclk", "spi1_mosi", "spi1_miso"; - allwinner,muxsel = <0x00000002>; - allwinner,pull = <0xffffffff>; - allwinner,drive = <0xffffffff>; - allwinner,data = <0xffffffff>; - }; - spi1@2 { - linux,phandle = <0x000000fd>; - phandle = <0x000000fd>; - allwinner,pins = "PH3"; - allwinner,function = "spi1"; - allwinner,pname = "spi1_cs0"; - allwinner,muxsel = <0x00000007>; - allwinner,pull = <0x00000001>; - allwinner,drive = <0xffffffff>; - allwinner,data = <0xffffffff>; - }; - spi1@3 { - linux,phandle = <0x000000fe>; - phandle = <0x000000fe>; - allwinner,pins = "PH4", "PH5", "PH6"; - allwinner,function = "spi1"; - allwinner,pname = "spi1_sclk", "spi1_mosi", "spi1_miso"; - allwinner,muxsel = <0x00000007>; - allwinner,pull = <0xffffffff>; - allwinner,drive = <0xffffffff>; - allwinner,data = <0xffffffff>; - }; - nand0@0 { - linux,phandle = <0x00000100>; - phandle = <0x00000100>; - allwinner,pins = "PC0", "PC1", "PC2", "PC4", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14"; - 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 = <0x00000002>; - allwinner,pull = <0x00000000>; - allwinner,drive = <0x00000001>; - allwinner,data = <0xffffffff>; - }; - nand0@1 { - linux,phandle = <0x00000101>; - phandle = <0x00000101>; - allwinner,pins = "PC15", "PC3", "PC5", "PC16"; - allwinner,function = "nand0"; - allwinner,pname = "nand0_ce1", "nand0_ce0", "nand0_rb0", "nand0_rb1"; - allwinner,muxsel = <0x00000002>; - allwinner,pull = <0x00000001>; - allwinner,drive = <0x00000001>; - allwinner,data = <0xffffffff>; - }; - lcd0@0 { - linux,phandle = <0x00000102>; - phandle = <0x00000102>; - 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 = <0x00000003>; - allwinner,pull = <0x00000000>; - allwinner,drive = <0xffffffff>; - allwinner,data = <0xffffffff>; - }; - lcd0@1 { - linux,phandle = <0x00000103>; - phandle = <0x00000103>; - 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 = <0x00000007>; - allwinner,pull = <0x00000000>; - allwinner,drive = <0xffffffff>; - allwinner,data = <0xffffffff>; - }; - hdmi@0 { - linux,phandle = <0x00000104>; - phandle = <0x00000104>; - allwinner,pins = "PH8", "PH9", "PH10"; - allwinner,function = "hdmi"; - allwinner,pname = "ddc_scl", "ddc_sda", "cec_io"; - allwinner,muxsel = <0x00000002>; - allwinner,pull = <0xffffffff>; - allwinner,drive = <0x00000001>; - allwinner,data = <0xffffffff>; - }; - ac200@0 { - linux,phandle = <0x00000105>; - phandle = <0x00000105>; - allwinner,pins = "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11"; - allwinner,function = "ac200"; - allwinner,pname = "ccir_clk", "ccir_de", "ccir_hs", "ccir_vs", "ccir_do0", "ccir_do1", "ccir_do2", "ccir_do3", "ccir_do4", "ccir_do5", "ccir_do6", "ccir_do7"; - allwinner,muxsel = <0x00000002>; - allwinner,pull = <0x00000000>; - allwinner,drive = <0xffffffff>; - allwinner,data = <0xffffffff>; - }; - ac200@1 { - linux,phandle = <0x00000106>; - phandle = <0x00000106>; - allwinner,pins = "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11"; - allwinner,function = "ac200"; - allwinner,pname = "ccir_de", "ccir_hs", "ccir_vs", "ccir_do0", "ccir_do1", "ccir_do2", "ccir_do3", "ccir_do4", "ccir_do5", "ccir_do6", "ccir_do7"; - allwinner,muxsel = <0x00000007>; - allwinner,pull = <0x00000000>; - allwinner,drive = <0xffffffff>; - allwinner,data = <0xffffffff>; - }; - pwm0@0 { - linux,phandle = <0x00000107>; - phandle = <0x00000107>; - allwinner,pins = "PD22"; - allwinner,function = "pwm0"; - allwinner,pname = "pwm_positive"; - allwinner,muxsel = <0x00000002>; - allwinner,pull = <0x00000000>; - allwinner,drive = <0xffffffff>; - allwinner,data = <0xffffffff>; - }; - pwm0@1 { - linux,phandle = <0x00000108>; - phandle = <0x00000108>; - allwinner,pins = "PD22"; - allwinner,function = "pwm0"; - allwinner,pname = "pwm_positive"; - allwinner,muxsel = <0x00000007>; - allwinner,pull = <0x00000000>; - allwinner,drive = <0xffffffff>; - allwinner,data = <0xffffffff>; - }; - pwm1@0 { - linux,phandle = <0x00000109>; - phandle = <0x00000109>; - allwinner,pins = "PB19"; - allwinner,function = "pwm1"; - allwinner,pname = "pwm_positive"; - allwinner,muxsel = <0x00000002>; - allwinner,pull = <0x00000000>; - allwinner,drive = <0xffffffff>; - allwinner,data = <0xffffffff>; - }; - pwm1@1 { - linux,phandle = <0x0000010a>; - phandle = <0x0000010a>; - allwinner,pins = "PB19"; - allwinner,function = "pwm1"; - allwinner,pname = "pwm_positive"; - allwinner,muxsel = <0x00000007>; - allwinner,pull = <0x00000000>; - allwinner,drive = <0xffffffff>; - allwinner,data = <0xffffffff>; - }; - csi0@0 { - linux,phandle = <0x0000010d>; - phandle = <0x0000010d>; - allwinner,pins = "PD0", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11"; - 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"; - allwinner,muxsel = <0x00000004>; - allwinner,pull = <0xffffffff>; - allwinner,drive = <0xffffffff>; - allwinner,data = <0xffffffff>; - }; - csi_cci0@0 { - linux,phandle = <0x0000010e>; - phandle = <0x0000010e>; - allwinner,pins = "PD12", "PD13"; - allwinner,function = "csi_cci0"; - allwinner,pname = "csi_cci0_sck", "csi_cci0_sda"; - allwinner,muxsel = <0x00000004>; - allwinner,pull = <0xffffffff>; - allwinner,drive = <0xffffffff>; - allwinner,data = <0xffffffff>; - }; - sdc0@0 { - linux,phandle = <0x0000010f>; - phandle = <0x0000010f>; - 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 = <0x00000002>; - allwinner,pull = <0x00000001>; - allwinner,drive = <0x00000002>; - allwinner,data = <0xffffffff>; - }; - sdc1@0 { - linux,phandle = <0x00000110>; - phandle = <0x00000110>; - 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 = <0x00000002>; - allwinner,pull = <0x00000001>; - allwinner,drive = <0x00000003>; - allwinner,data = <0xffffffff>; - }; - sdc2@0 { - linux,phandle = <0x00000111>; - phandle = <0x00000111>; - allwinner,pins = "PC1", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14"; - 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 = <0x00000003>; - allwinner,pull = <0x00000001>; - allwinner,drive = <0x00000003>; - allwinner,data = <0xffffffff>; - }; - Vdevice@0 { - linux,phandle = <0x00000115>; - phandle = <0x00000115>; - allwinner,pins = "PH9", "PH10"; - allwinner,function = "Vdevice"; - allwinner,pname = "Vdevice_0", "Vdevice_1"; - allwinner,muxsel = <0x00000005>; - allwinner,pull = <0x00000001>; - allwinner,drive = <0x00000002>; - allwinner,data = <0xffffffff>; - }; - }; - dma-controller@03002000 { - compatible = "allwinner,sun50i-dma"; - reg = <0x00000000 0x03002000 0x00000000 0x00001000>; - interrupts = <0x00000000 0x0000002b 0x00000004>; - clocks = <0x00000014>; - #dma-cells = <0x00000001>; - }; - mbus-controller@04002000 { - compatible = "allwinner,sun50i-mbus"; - reg = <0x00000000 0x04002000 0x00000000 0x00001000>; - #mbus-cells = <0x00000001>; - }; - arisc { - compatible = "allwinner,sunxi-arisc"; - #address-cells = <0x00000002>; - #size-cells = <0x00000002>; - clocks = <0x00000015 0x00000016 0x00000007 0x00000002>; - clock-names = "losc", "iosc", "hosc", "pll_periph0"; - powchk_used = <0x00000000>; - power_reg = <0x02309621>; - system_power = <0x00000032>; - }; - arisc_space { - compatible = "allwinner,arisc_space"; - space1 = <0x48040000 0x00000000 0x00014000>; - space2 = <0x48100000 0x00018000 0x00004000>; - space3 = <0x48104000 0x00000000 0x00001000>; - space4 = <0x48105000 0x00000000 0x00001000>; - }; - standby_space@040020000 { - compatible = "allwinner,sun50iw6-usbstandby"; - space1 = <0x40020000 0x00000000 0x00000800>; - }; - msgbox@03003000 { - compatible = "allwinner,msgbox"; - clocks = <0x00000017>; - clock-names = "clk_msgbox"; - reg = <0x00000000 0x03003000 0x00000000 0x00001000>; - interrupts = <0x00000000 0x00000027 0x00000001>; - status = "okay"; - }; - hwspinlock@3004000 { - compatible = "allwinner,sunxi-hwspinlock"; - clocks = <0x00000018 0x00000019>; - clock-names = "clk_hwspinlock_rst", "clk_hwspinlock_bus"; - reg = <0x00000000 0x03004000 0x00000000 0x00001000>; - num-locks = <0x00000008>; - status = "okay"; - }; - s_cir@07040000 { - compatible = "allwinner,s_cir"; - reg = <0x00000000 0x07040000 0x00000000 0x00000400>; - interrupts = <0x00000000 0x0000006d 0x00000004>; - pinctrl-names = "default"; - pinctrl-0 = <0x0000001a>; - clocks = <0x00000007 0x0000001b>; - supply = "vcc-pl"; - supply_vol = "3300000"; - status = "okay"; - device_type = "s_cir0"; - ir_protocol_used = <0x00000000>; - ir_power_key_code0 = <0x00000057>; - ir_addr_code0 = <0x00009f00>; - ir_power_key_code1 = <0x0000001a>; - ir_addr_code1 = <0x0000fb04>; - ir_power_key_code2 = <0x00000014>; - ir_addr_code2 = <0x00007f80>; - ir_power_key_code3 = <0x00000015>; - ir_addr_code3 = <0x00007f80>; - ir_power_key_code4 = <0x0000000b>; - ir_addr_code4 = <0x0000f708>; - ir_power_key_code5 = <0x00000003>; - ir_addr_code5 = <0x000000ef>; - ir_power_key_code6 = <0x000000dc>; - ir_addr_code6 = <0x00004cb3>; - ir_power_key_code7 = <0x0000000a>; - ir_addr_code7 = <0x00007748>; - ir_power_key_code8 = <0x00000045>; - ir_addr_code8 = <0x0000bd02>; - ir_power_key_code9 = <0x0000004d>; - ir_addr_code9 = <0x0000de21>; - ir_power_key_code10 = <0x00000018>; - ir_addr_code10 = <0x0000fe01>; - ir_power_key_code11 = <0x00000018>; - ir_addr_code11 = <0x0000ff00>; - ir_power_key_code12 = <0x0000004d>; - ir_addr_code12 = <0x0000ff40>; - ir_power_key_code13 = <0x00000088>; - ir_addr_code13 = <0x0000dd22>; - ir_power_key_code14 = <0x0000000d>; - ir_addr_code14 = <0x0000bc00>; - ir_power_key_code15 = <0x0000000d>; - ir_addr_code15 = <0x0000fc00>; - rc5_ir_power_key_code0 = <0x00000001>; - rc5_ir_addr_code0 = <0x00000004>; - }; - s_uart@7080000 { - compatible = "allwinner,s_uart"; - reg = <0x00000000 0x07080000 0x00000000 0x000000d0>; - interrupts = <0x00000000 0x0000006a 0x00000004>; - pinctrl-names = "default"; - status = "disabled"; - device_type = "s_uart0"; - pinctrl-0 = <0x00000112>; - }; - s_twi@1f03400 { - compatible = "allwinner,s_twi"; - reg = <0x00000000 0x01f02400 0x00000000 0x00000020>; - interrupts = <0x00000000 0x0000002c 0x00000004>; - pinctrl-names = "default"; - pinctrl-0 = <0x0000001d>; - status = "okay"; - }; - s_jtag0 { - compatible = "allwinner,s_jtag"; - pinctrl-names = "default"; - status = "disabled"; - device_type = "s_jtag0"; - pinctrl-0 = <0x00000114>; - }; - box_start_os0 { - compatible = "allwinner,box_start_os"; - start_type = <0x00000001>; - irkey_used = <0x00000001>; - pmukey_used = <0x00000001>; - pmukey_num = <0x00000000>; - led_power = <0x00000000>; - led_state = <0x00000000>; - status = "okay"; - device_type = "box_start_os"; - }; - timer@03009000 { - compatible = "allwinner,sun4i-a10-timer"; - device_type = "timer"; - reg = <0x00000000 0x03009000 0x00000000 0x00000400>; - interrupts = <0x00000000 0x00000030 0x00000004>; - clock-frequency = <0x016e3600>; - timer-prescale = <0x00000010>; - }; - rtc@07000000 { - compatible = "allwinner,sun50iw6-rtc"; - device_type = "rtc"; - reg = <0x00000000 0x07000000 0x00000000 0x00000200>; - interrupts = <0x00000000 0x00000065 0x00000004>; - gpr_offset = <0x00000100>; - gpr_len = <0x00000008>; - gpr_cur_pos = <0x00000006>; - }; - watchdog@030090a0 { - compatible = "allwinner,sun50i-wdt"; - reg = <0x00000000 0x030090a0 0x00000000 0x00000020>; - interrupts = <0x00000000 0x00000032 0x00000004>; - }; - ve@01c0e000 { - compatible = "allwinner,sunxi-cedar-ve"; - reg = <0x00000000 0x01c0e000 0x00000000 0x00001000 0x00000000 0x03000000 0x00000000 0x00000010 0x00000000 0x03001000 0x00000000 0x00001000>; - interrupts = <0x00000000 0x00000059 0x00000004>; - clocks = <0x0000001f 0x00000020>; - iommus = <0x00000021 0x00000003 0x00000001>; - }; - vp9@01c00000 { - compatible = "allwinner,sunxi-google-vp9"; - reg = <0x00000000 0x01c00000 0x00000000 0x00001000 0x00000000 0x03000000 0x00000000 0x00000010 0x00000000 0x03001000 0x00000000 0x00001000>; - interrupts = <0x00000000 0x0000005a 0x00000004>; - clocks = <0x0000001f 0x00000022>; - #clocks = <0x00000023 0x00000022>; - iommus = <0x00000021 0x00000005 0x00000001>; - }; - uart@05000000 { - compatible = "allwinner,sun50i-uart"; - device_type = "uart0"; - reg = <0x00000000 0x05000000 0x00000000 0x00000400>; - interrupts = <0x00000000 0x00000000 0x00000004>; - clocks = <0x00000024>; - pinctrl-names = "default", "sleep"; - uart0_port = <0x00000000>; - uart0_type = <0x00000002>; - status = "okay"; - pinctrl-0 = <0x000000ef>; - pinctrl-1 = <0x000000f0>; - }; - uart@05000400 { - compatible = "allwinner,sun50i-uart"; - device_type = "uart1"; - reg = <0x00000000 0x05000400 0x00000000 0x00000400>; - interrupts = <0x00000000 0x00000001 0x00000004>; - clocks = <0x00000027>; - pinctrl-names = "default", "sleep"; - uart1_port = <0x00000001>; - uart1_type = <0x00000004>; - status = "okay"; - pinctrl-0 = <0x000000f1>; - uart1_bt = <0x00000001>; - pinctrl-1 = <0x000000f2>; - }; - uart@05000800 { - compatible = "allwinner,sun50i-uart"; - device_type = "uart2"; - reg = <0x00000000 0x05000800 0x00000000 0x00000400>; - interrupts = <0x00000000 0x00000002 0x00000004>; - clocks = <0x0000002a>; - pinctrl-names = "default", "sleep"; - uart2_port = <0x00000002>; - uart2_type = <0x00000004>; - status = "disabled"; - pinctrl-0 = <0x000000f3>; - pinctrl-1 = <0x000000f4>; - }; - uart@05000c00 { - compatible = "allwinner,sun50i-uart"; - device_type = "uart3"; - reg = <0x00000000 0x05000c00 0x00000000 0x00000400>; - interrupts = <0x00000000 0x00000003 0x00000004>; - clocks = <0x0000002d>; - pinctrl-names = "default", "sleep"; - uart3_port = <0x00000003>; - uart3_type = <0x00000002>; - status = "okay"; - pinctrl-0 = <0x000000f5>; - pinctrl-1 = <0x000000f6>; - }; - twi@0x05002000 { - #address-cells = <0x00000001>; - #size-cells = <0x00000000>; - compatible = "allwinner,sun50i-twi"; - device_type = "twi0"; - reg = <0x00000000 0x05002000 0x00000000 0x00000400>; - interrupts = <0x00000000 0x00000004 0x00000004>; - clocks = <0x00000030>; - clock-frequency = <0x00061a80>; - pinctrl-names = "default", "sleep"; - status = "okay"; - pinctrl-0 = <0x000000e8>; - pinctrl-1 = <0x000000e9>; - }; - twi@0x05002400 { - #address-cells = <0x00000001>; - #size-cells = <0x00000000>; - compatible = "allwinner,sun50i-twi"; - device_type = "twi1"; - reg = <0x00000000 0x05002400 0x00000000 0x00000400>; - interrupts = <0x00000000 0x00000005 0x00000004>; - clocks = <0x00000033>; - clock-frequency = <0x00030d40>; - pinctrl-names = "default", "sleep"; - status = "disabled"; - pinctrl-0 = <0x000000ea>; - pinctrl-1 = <0x000000eb>; - }; - twi@0x05002800 { - #address-cells = <0x00000001>; - #size-cells = <0x00000000>; - compatible = "allwinner,sun50i-twi"; - device_type = "twi2"; - reg = <0x00000000 0x05002800 0x00000000 0x00000400>; - interrupts = <0x00000000 0x00000006 0x00000004>; - clocks = <0x00000036>; - clock-frequency = <0x00030d40>; - pinctrl-names = "default", "sleep"; - status = "disabled"; - pinctrl-0 = <0x000000ec>; - pinctrl-1 = <0x000000ed>; - }; - twi@0x05002c00 { - #address-cells = <0x00000001>; - #size-cells = <0x00000000>; - compatible = "allwinner,sun50i-twi"; - device_type = "twi3"; - reg = <0x00000000 0x05002c00 0x00000000 0x00000400>; - interrupts = <0x00000000 0x00000007 0x00000004>; - clocks = <0x00000039>; - clock-frequency = <0x00030d40>; - pinctrl-names = "default", "sleep"; - pinctrl-1 = <0x0000003b>; - status = "okay"; - pinctrl-0 = <0x000000ee>; - }; - usbc0@0 { - device_type = "usbc0"; - compatible = "allwinner,sunxi-otg-manager"; - usb_port_type = <0x00000002>; - usb_detect_type = <0x00000001>; - usb_host_init_state = <0x00000001>; - usb_regulator_io = "nocare"; - usb_wakeup_suspend = <0x00000000>; - usb_luns = <0x00000003>; - usb_serial_unique = <0x00000000>; - usb_serial_number = "20080411"; - rndis_wceis = <0x00000001>; - status = "okay"; - usb_detect_mode = <0x00000000>; - usb_id_gpio; - usb_det_vbus_gpio; - usb_drv_vbus_gpio = <0x000000d6 0x0000000b 0x00000005 0x00000001 0x00000000 0xffffffff 0x00000001>; - }; - udc-controller@0x05100000 { - compatible = "allwinner,sunxi-udc"; - reg = <0x00000000 0x05100000 0x00000000 0x00001000 0x00000000 0x00000000 0x00000000 0x00000100>; - interrupts = <0x00000000 0x00000017 0x00000004>; - clocks = <0x0000003c 0x0000003d>; - status = "okay"; - }; - ehci0-controller@0x05101000 { - compatible = "allwinner,sunxi-ehci0"; - reg = <0x00000000 0x05101000 0x00000000 0x00000fff 0x00000000 0x00000000 0x00000000 0x00000100 0x00000000 0x05100000 0x00000000 0x00001000>; - interrupts = <0x00000000 0x00000018 0x00000004>; - clocks = <0x0000003c 0x0000003e>; - hci_ctrl_no = <0x00000000>; - status = "okay"; - }; - ohci0-controller@0x05101400 { - compatible = "allwinner,sunxi-ohci0"; - reg = <0x00000000 0x05101000 0x00000000 0x00000fff 0x00000000 0x00000000 0x00000000 0x00000100 0x00000000 0x05100000 0x00000000 0x00001000>; - interrupts = <0x00000000 0x00000019 0x00000004>; - clocks = <0x0000003c 0x0000003f 0x00000040 0x00000041 0x00000007 0x00000015>; - hci_ctrl_no = <0x00000000>; - status = "okay"; - }; - usbc1@0 { - device_type = "usbc1"; - usb_host_init_state = <0x00000001>; - usb_regulator_io = "nocare"; - usb_wakeup_suspend = <0x00000000>; - status = "okay"; - usb_drv_vbus_gpio = <0x000000d6 0x0000000b 0x00000005 0x00000001 0x00000000 0xffffffff 0x00000001>; - }; - xhci-controller@0x05200000 { - compatible = "allwinner,sunxi-xhci"; - reg = <0x00000000 0x05200000 0x00000000 0x000fffff 0x00000000 0x00000000 0x00000000 0x00000100 0x00000000 0x05100000 0x00000000 0x00001000>; - interrupts = <0x00000000 0x0000001a 0x00000004>; - clocks = <0x00000042 0x00000043>; - hci_ctrl_no = <0x00000001>; - status = "okay"; - }; - usbc2@0 { - device_type = "usbc2"; - usb_host_init_state = <0x00000001>; - usb_regulator_io = "nocare"; - usb_wakeup_suspend = <0x00000000>; - status = "disabled"; - usb_drv_vbus_gpio; - }; - ehci3-controller@0x05311000 { - compatible = "allwinner,sunxi-ehci3"; - reg = <0x00000000 0x05311000 0x00000000 0x00000fff 0x00000000 0x00000000 0x00000000 0x00000100 0x00000000 0x05100000 0x00000000 0x00001000>; - interrupts = <0x00000000 0x0000001c 0x00000004>; - clocks = <0x00000044 0x00000045 0x00000046 0x00000046 0x00000047>; - hci_ctrl_no = <0x00000003>; - status = "okay"; - }; - ohci3-controller@0x05311400 { - compatible = "allwinner,sunxi-ohci3"; - reg = <0x00000000 0x05311000 0x00000000 0x00000fff 0x00000000 0x00000000 0x00000000 0x00000100 0x00000000 0x05100000 0x00000000 0x00001000>; - interrupts = <0x00000000 0x0000001d 0x00000004>; - clocks = <0x00000044 0x00000048 0x00000049 0x00000041 0x00000007 0x00000015>; - hci_ctrl_no = <0x00000003>; - status = "okay"; - }; - ac200_codec { - compatible = "allwinner,ac200_codec"; - status = "okay"; - device_type = "ac200_codec"; - gpio-spk = <0x000000d6 0x0000000b 0x00000006 0x00000001 0x00000001 0xffffffff 0xffffffff>; - }; - daudio@0x05090000 { - compatible = "allwinner,sunxi-daudio"; - reg = <0x00000000 0x05090000 0x00000000 0x00000074>; - clocks = <0x00000004 0x0000004a>; - pinctrl-names = "default", "sleep"; - pinctrl-0 = <0x0000004b>; - pinctrl-1 = <0x0000004c>; - pcm_lrck_period = <0x00000020>; - slot_width_select = <0x00000020>; - daudio_master = <0x00000004>; - audio_format = <0x00000001>; - signal_inversion = <0x00000001>; - tdm_config = <0x00000001>; - frametype = <0x00000000>; - tdm_num = <0x00000000>; - mclk_div = <0x00000000>; - status = "disabled"; - linux,phandle = <0x00000061>; - phandle = <0x00000061>; - device_type = "daudio0"; - }; - daudio@0x05091000 { - compatible = "allwinner,sunxi-tdmhdmi"; - reg = <0x00000000 0x05091000 0x00000000 0x00000074>; - clocks = <0x00000004 0x0000004d>; - status = "okay"; - linux,phandle = <0x00000063>; - phandle = <0x00000063>; - device_type = "audiohdmi"; - }; - daudio@0x05092000 { - compatible = "allwinner,sunxi-daudio"; - reg = <0x00000000 0x05092000 0x00000000 0x00000074>; - clocks = <0x00000004 0x0000004e>; - pinctrl-names = "default", "sleep"; - pinctrl-0 = <0x0000004f>; - pinctrl-1 = <0x00000050>; - pcm_lrck_period = <0x00000040>; - slot_width_select = <0x00000020>; - daudio_master = <0x00000004>; - audio_format = <0x00000004>; - signal_inversion = <0x00000003>; - tdm_config = <0x00000001>; - frametype = <0x00000000>; - tdm_num = <0x00000002>; - mclk_div = <0x00000001>; - status = "okay"; - linux,phandle = <0x00000065>; - phandle = <0x00000065>; - device_type = "daudio2"; - }; - daudio@0x0508f000 { - compatible = "allwinner,sunxi-daudio"; - reg = <0x00000000 0x0508f000 0x00000000 0x00000074>; - clocks = <0x00000004 0x00000051>; - pinctrl-names = "default", "sleep"; - pinctrl-0 = <0x00000052>; - pinctrl-1 = <0x00000053>; - pcm_lrck_period = <0x00000020>; - slot_width_select = <0x00000020>; - daudio_master = <0x00000004>; - audio_format = <0x00000001>; - signal_inversion = <0x00000001>; - tdm_config = <0x00000001>; - frametype = <0x00000000>; - tdm_num = <0x00000003>; - mclk_div = <0x00000001>; - status = "okay"; - linux,phandle = <0x00000067>; - phandle = <0x00000067>; - device_type = "daudio3"; - }; - spdif-controller@0x05093000 { - compatible = "allwinner,sunxi-spdif"; - reg = <0x00000000 0x05093000 0x00000000 0x00000040>; - clocks = <0x00000004 0x00000054>; - pinctrl-names = "default", "sleep"; - pinctrl-0 = <0x00000055>; - pinctrl-1 = <0x00000056>; - status = "disabled"; - linux,phandle = <0x00000069>; - phandle = <0x00000069>; - device_type = "spdif"; - }; - dmic-controller@0x05095000 { - compatible = "allwinner,sunxi-dmic"; - reg = <0x00000000 0x05095000 0x00000000 0x00000050>; - clocks = <0x00000004 0x00000057>; - pinctrl-names = "default", "sleep"; - pinctrl-0 = <0x00000058>; - pinctrl-1 = <0x00000059>; - status = "disabled"; - linux,phandle = <0x0000006a>; - phandle = <0x0000006a>; - device_type = "dmic"; - }; - cpudai0-controller@0x05097000 { - compatible = "allwinner,sunxi-ahub-cpudai"; - reg = <0x00000000 0x05097000 0x00000000 0x00000adf>; - id = <0x00000000>; - status = "okay"; - linux,phandle = <0x0000006b>; - phandle = <0x0000006b>; - }; - cpudai1-controller@0x05097000 { - compatible = "allwinner,sunxi-ahub-cpudai"; - reg = <0x00000000 0x05097000 0x00000000 0x00000adf>; - id = <0x00000001>; - status = "okay"; - linux,phandle = <0x0000006c>; - phandle = <0x0000006c>; - }; - cpudai2-controller@0x05097000 { - compatible = "allwinner,sunxi-ahub-cpudai"; - reg = <0x00000000 0x05097000 0x00000000 0x00000adf>; - id = <0x00000002>; - status = "okay"; - linux,phandle = <0x0000006d>; - phandle = <0x0000006d>; - }; - ahub_codec@0x05097000 { - compatible = "allwinner,sunxi-ahub"; - reg = <0x00000000 0x05097000 0x00000000 0x00000adf>; - clocks = <0x00000004 0x0000005a>; - status = "okay"; - linux,phandle = <0x0000006e>; - phandle = <0x0000006e>; - }; - ahub_daudio0@0x05097000 { - compatible = "allwinner,sunxi-ahub-daudio"; - reg = <0x00000000 0x05097000 0x00000000 0x00000adf>; - clocks = <0x00000004 0x0000005a>; - pinctrl-names = "default", "sleep"; - pinctrl-0 = <0x0000005b>; - pinctrl-1 = <0x0000005c>; - pinconfig = <0x00000001>; - frametype = <0x00000000>; - pcm_lrck_period = <0x00000020>; - slot_width_select = <0x00000020>; - daudio_master = <0x00000004>; - audio_format = <0x00000001>; - signal_inversion = <0x00000001>; - tdm_config = <0x00000001>; - tdm_num = <0x00000000>; - mclk_div = <0x00000000>; - status = "disabled"; - linux,phandle = <0x00000062>; - phandle = <0x00000062>; - device_type = "ahub_daudio0"; - }; - ahub_daudio1@0x05097000 { - compatible = "allwinner,sunxi-ahub-daudio"; - reg = <0x00000000 0x05097000 0x00000000 0x00000adf>; - clocks = <0x00000004 0x0000005a>; - pinconfig = <0x00000000>; - frametype = <0x00000000>; - pcm_lrck_period = <0x00000020>; - slot_width_select = <0x00000020>; - daudio_master = <0x00000004>; - audio_format = <0x00000001>; - signal_inversion = <0x00000001>; - tdm_config = <0x00000001>; - tdm_num = <0x00000001>; - mclk_div = <0x00000001>; - status = "okay"; - linux,phandle = <0x00000064>; - phandle = <0x00000064>; - device_type = "ahub_daudio1"; - }; - ahub_daudio2@0x05097000 { - compatible = "allwinner,sunxi-ahub-daudio"; - reg = <0x00000000 0x05097000 0x00000000 0x00000adf>; - clocks = <0x00000004 0x0000005a>; - pinctrl-names = "default", "sleep"; - pinctrl-0 = <0x0000005d>; - pinctrl-1 = <0x0000005e>; - pinconfig = <0x00000001>; - frametype = <0x00000000>; - pcm_lrck_period = <0x00000020>; - slot_width_select = <0x00000020>; - daudio_master = <0x00000004>; - audio_format = <0x00000001>; - signal_inversion = <0x00000001>; - tdm_config = <0x00000001>; - tdm_num = <0x00000002>; - mclk_div = <0x00000001>; - status = "okay"; - linux,phandle = <0x00000066>; - phandle = <0x00000066>; - device_type = "ahub_daudio2"; - }; - ahub_daudio3@0x05097000 { - compatible = "allwinner,sunxi-ahub-daudio"; - reg = <0x00000000 0x05097000 0x00000000 0x00000adf>; - clocks = <0x00000004 0x0000005a>; - pinctrl-names = "default", "sleep"; - pinctrl-0 = <0x0000005f>; - pinctrl-1 = <0x00000060>; - pinconfig = <0x00000001>; - frametype = <0x00000000>; - pcm_lrck_period = <0x00000020>; - slot_width_select = <0x00000020>; - daudio_master = <0x00000004>; - audio_format = <0x00000001>; - signal_inversion = <0x00000001>; - tdm_config = <0x00000001>; - tdm_num = <0x00000003>; - mclk_div = <0x00000004>; - status = "okay"; - linux,phandle = <0x00000068>; - phandle = <0x00000068>; - device_type = "ahub_daudio3"; - }; - sound@0 { - compatible = "allwinner,sunxi-daudio0-machine"; - sunxi,daudio-controller = <0x00000061>; - sunxi,cpudai-controller = <0x00000062>; - status = "disabled"; - device_type = "snddaudio0"; - }; - sound@1 { - compatible = "allwinner,sunxi-hdmi-machine"; - sunxi,hdmi-controller = <0x00000063>; - sunxi,cpudai-controller = <0x00000064>; - status = "okay"; - device_type = "sndhdmi"; - }; - sound@2 { - compatible = "allwinner,sunxi-daudio2-machine"; - sunxi,daudio-controller = <0x00000065>; - sunxi,cpudai-controller = <0x00000066>; - status = "disabled"; - device_type = "snddaudio2"; - }; - sound@3 { - compatible = "allwinner,sunxi-daudio3-machine"; - sunxi,daudio-controller = <0x00000067>; - sunxi,cpudai-controller = <0x00000068>; - sunxi,snddaudio-codec = "acx00-codec"; - sunxi,snddaudio-codec-dai = "acx00-dai"; - status = "okay"; - device_type = "snddaudio3"; - }; - sound@4 { - compatible = "allwinner,sunxi-spdif-machine"; - sunxi,spdif-controller = <0x00000069>; - status = "disabled"; - device_type = "sndspdif"; - }; - sound@5 { - compatible = "allwinner,sunxi-dmic-machine"; - sunxi,dmic-controller = <0x0000006a>; - status = "disabled"; - device_type = "snddmic"; - }; - sound@6 { - compatible = "allwinner,sunxi-ahub-machine"; - sunxi,cpudai-controller0 = <0x0000006b>; - sunxi,cpudai-controller1 = <0x0000006c>; - sunxi,cpudai-controller2 = <0x0000006d>; - sunxi,audio-codec = <0x0000006e>; - status = "okay"; - device_type = "sndahub"; - }; - spi@05010000 { - #address-cells = <0x00000001>; - #size-cells = <0x00000000>; - compatible = "allwinner,sun50i-spi"; - device_type = "spi0"; - reg = <0x00000000 0x05010000 0x00000000 0x00001000>; - interrupts = <0x00000000 0x0000000a 0x00000004>; - clocks = <0x00000002 0x0000006f>; - clock-frequency = <0x05f5e100>; - pinctrl-names = "default", "sleep"; - spi0_cs_number = <0x00000001>; - spi0_cs_bitmap = <0x00000001>; - status = "disabled"; - pinctrl-0 = <0x000000f7 0x000000f8>; - pinctrl-1 = <0x000000f9 0x000000fa>; - }; - spi@05011000 { - #address-cells = <0x00000001>; - #size-cells = <0x00000000>; - compatible = "allwinner,sun50i-spi"; - device_type = "spi1"; - reg = <0x00000000 0x05011000 0x00000000 0x00001000>; - interrupts = <0x00000000 0x0000000b 0x00000004>; - clocks = <0x00000002 0x00000073>; - clock-frequency = <0x05f5e100>; - pinctrl-names = "default", "sleep"; - spi1_cs_number = <0x00000001>; - spi1_cs_bitmap = <0x00000001>; - status = "okay"; - pinctrl-0 = <0x000000fb 0x000000fc>; - pinctrl-1 = <0x000000fd 0x000000fe>; - spi_board0 { - device_type = "spi_board0"; - compatible = "spidev"; - spi-max-frequency = <0x00124f80>; - reg = <0x00000000>; - }; - }; - pcie@0x05400000 { - #address-cells = <0x00000003>; - #size-cells = <0x00000002>; - compatible = "allwinner,sun50i-pcie"; - reg = <0x00000000 0x05400000 0x00000000 0x00002000 0x00000000 0x05410000 0x00000000 0x00010000>; - reg-names = "dbi", "config"; - device_type = "pci"; - ranges = <0x00000800 0x00000000 0x05410000 0x00000000 0x05410000 0x00000000 0x00010000 0x81000000 0x00000000 0x00000000 0x00000000 0x05e00000 0x00000000 0x00010000 0x82000000 0x00000000 0x05500000 0x00000000 0x05500000 0x00000000 0x00800000>; - num-lanes = <0x00000001>; - interrupts = <0x00000000 0x0000007f 0x00000004 0x00000000 0x0000007e 0x00000004>; - interrupt-names = "msi"; - clocks = <0x00000077 0x0000000b 0x0000000c 0x00000078 0x00000079 0x0000007a>; - #interrupt-cells = <0x00000001>; - interrupt-map-mask = <0x00000000 0x00000000 0x00000000 0x00000000>; - interrupt-map = <0x00000000 0x00000000 0x00000000 0x00000001 0x00000001 0x00000000 0x0000007f 0x00000004>; - status = "okay"; - pcie_rest; - pcie_power = <0x00000087 0x00000003 0x00000011 0x00000001 0xffffffff 0xffffffff 0xffffffff>; - pcie_reg; - pcie_iodvdd = <0x00000708>; - pcie_speed_gen = <0x00000002>; - pcie_vdd = "vdd_pcie"; - pcie_vdd_vol = <0x000dbba0>; - pcie_vcc = "vcc-pcie"; - pcie_vcc_vol = <0x001b7740>; - pcie_vcc_slot = "vcc-pcie-slot"; - pcie_vcc_slot_vol = <0x00325aa0>; - }; - sdmmc@04022000 { - compatible = "allwinner,sunxi-mmc-v4p6x"; - device_type = "sdc2"; - reg = <0x00000000 0x04022000 0x00000000 0x00001000>; - interrupts = <0x00000000 0x00000025 0x00000104>; - clocks = <0x00000007 0x0000007b 0x0000007c 0x0000007d 0x0000007e>; - clock-names = "osc24m", "pll_periph", "mmc", "ahb", "rst"; - pinctrl-names = "default", "sleep"; - pinctrl-1 = <0x00000080>; - bus-width = <0x00000008>; - max-frequency = <0x02faf080>; - cap-sd-highspeed; - cap-mmc-highspeed; - cap-erase; - mmc-high-capacity-erase-size; - no-sdio; - no-sd; - sdc_tm4_sm0_freq0 = <0x00000000>; - sdc_tm4_sm0_freq1 = <0x00000000>; - sdc_tm4_sm1_freq0 = <0x00000000>; - sdc_tm4_sm1_freq1 = <0x00000000>; - sdc_tm4_sm2_freq0 = <0x00000000>; - sdc_tm4_sm2_freq1 = <0x00000000>; - sdc_tm4_sm3_freq0 = <0x05000000>; - sdc_tm4_sm3_freq1 = <0x00000405>; - sdc_tm4_sm4_freq0 = <0x00050000>; - sdc_tm4_sm4_freq1 = <0x00000408>; - status = "okay"; - non-removable; - pinctrl-0 = <0x00000111>; - cd-gpios; - sunxi-power-save-mode; - sunxi-dis-signal-vol-sw; - mmc-ddr-1_8v; - mmc-hs200-1_8v; - mmc-hs400-1_8v; - vmmc = "vcc-emmcv"; - vqmmc = "vcc-emmcvq18"; - vdmmc = "none"; - }; - sdmmc@04020000 { - compatible = "allwinner,sunxi-mmc-v4p1x"; - device_type = "sdc0"; - reg = <0x00000000 0x04020000 0x00000000 0x00001000>; - interrupts = <0x00000000 0x00000023 0x00000104>; - clocks = <0x00000007 0x0000007b 0x00000081 0x00000082 0x00000083>; - clock-names = "osc24m", "pll_periph", "mmc", "ahb", "rst"; - pinctrl-names = "default", "sleep", "uart_jtag"; - pinctrl-1 = <0x00000085>; - pinctrl-2 = <0x00000086>; - max-frequency = <0x02faf080>; - bus-width = <0x00000004>; - cap-sd-highspeed; - cap-mmc-highspeed; - no-sdio; - no-mmc; - status = "okay"; - pinctrl-0 = <0x0000010f>; - cd-gpios = <0x00000087 0x00000005 0x00000006 0x00000000 0x00000001 0x00000002 0xffffffff>; - sunxi-power-save-mode; - sunxi-dis-signal-vol-sw; - vmmc = "vcc-sdcv"; - vqmmc = "vcc-sdcvq33"; - vdmmc = "vcc-sdcvd"; - ctl-spec-caps = <0x00000080>; - }; - sdmmc@04021000 { - compatible = "allwinner,sunxi-mmc-v4p1x"; - device_type = "sdc1"; - reg = <0x00000000 0x04021000 0x00000000 0x00001000>; - interrupts = <0x00000000 0x00000024 0x00000104>; - clocks = <0x00000007 0x0000007b 0x00000088 0x00000089 0x0000008a>; - clock-names = "osc24m", "pll_periph", "mmc", "ahb", "rst"; - pinctrl-names = "default", "sleep"; - pinctrl-1 = <0x0000008c>; - max-frequency = <0x08f0d180>; - bus-width = <0x00000004>; - cap-sd-highspeed; - cap-mmc-highspeed; - no-mmc; - sunxi-dly-52M-ddr4 = <0x00000001 0x00000000 0x00000000 0x00000000 0x00000002>; - sunxi-dly-104M = <0x00000001 0x00000000 0x00000000 0x00000000 0x00000001>; - sunxi-dly-208M = <0x00000001 0x00000000 0x00000000 0x00000000 0x00000001>; - status = "okay"; - pinctrl-0 = <0x00000110>; - sd-uhs-sdr50; - sd-uhs-ddr50; - sd-uhs-sdr104; - cap-sdio-irq; - keep-power-in-suspend; - ignore-pm-notify; - }; - disp@01000000 { - compatible = "allwinner,sunxi-disp"; - reg = <0x00000000 0x01000000 0x00000000 0x01400000 0x00000000 0x06510000 0x00000000 0x00000100 0x00000000 0x06511000 0x00000000 0x00000800 0x00000000 0x06515000 0x00000000 0x00000800>; - interrupts = <0x00000000 0x00000041 0x00000104 0x00000000 0x00000042 0x00000104>; - clocks = <0x0000000a 0x0000008d 0x0000008e 0x00000010>; - boot_disp = <0x00000000>; - boot_disp1 = <0x00000000>; - boot_disp2 = <0x00000000>; - fb_base = <0x00000000>; - iommus = <0x00000021 0x00000000 0x00000000>; - status = "okay"; - device_type = "disp"; - disp_init_enable = <0x00000001>; - disp_mode = <0x00000000>; - screen0_output_type = <0x00000003>; - screen0_output_mode = <0x0000000a>; - screen0_output_format = <0x00000001>; - screen0_output_bits = <0x00000000>; - screen0_output_eotf = <0x00000004>; - screen0_output_cs = <0x00000101>; - screen0_output_dvi_hdmi = <0x00000002>; - screen0_output_range = <0x00000002>; - screen0_output_scan = <0x00000000>; - screen0_output_aspect_ratio = <0x00000008>; - screen1_output_type = <0x00000000>; - screen1_output_mode = <0x00000002>; - screen1_output_format = <0x00000001>; - screen1_output_bits = <0x00000000>; - screen1_output_eotf = <0x00000004>; - screen1_output_cs = <0x00000104>; - screen1_output_dvi_hdmi = <0x00000002>; - screen1_output_range = <0x00000002>; - screen1_output_scan = <0x00000000>; - screen1_output_aspect_ratio = <0x00000008>; - dev0_output_type = <0x00000004>; - dev0_output_mode = <0x0000000a>; - dev0_screen_id = <0x00000000>; - dev0_do_hpd = <0x00000001>; - dev1_output_type = <0x00000000>; - dev1_output_mode = <0x0000000b>; - dev1_screen_id = <0x00000001>; - dev1_do_hpd = <0x00000001>; - dev2_output_type = <0x00000000>; - def_output_dev = <0x00000000>; - hdmi_mode_check = <0x00000001>; - fb0_format = <0x00000000>; - fb0_width = <0x00000000>; - fb0_height = <0x00000000>; - fb1_format = <0x00000000>; - fb1_width = <0x00000000>; - fb1_height = <0x00000000>; - disp_para_zone = <0x00000001>; - }; - lcd0@01c0c000 { - compatible = "allwinner,sunxi-lcd0"; - pinctrl-names = "active", "sleep"; - status = "okay"; - device_type = "lcd0"; - lcd_used = <0x00000000>; - lcd_driver_name = "default_lcd"; - lcd_backlight = <0x00000032>; - lcd_if = <0x00000003>; - lcd_x = <0x00000500>; - lcd_y = <0x00000320>; - lcd_width = <0x00000096>; - lcd_height = <0x0000005e>; - lcd_dclk_freq = <0x00000046>; - lcd_pwm_used = <0x00000001>; - lcd_pwm_ch = <0x00000000>; - lcd_pwm_freq = <0x0000c350>; - lcd_pwm_pol = <0x00000001>; - lcd_pwm_max_limit = <0x000000ff>; - lcd_hbp = <0x00000014>; - lcd_ht = <0x0000058a>; - lcd_hspw = <0x0000000a>; - lcd_vbp = <0x0000000a>; - lcd_vt = <0x0000032e>; - lcd_vspw = <0x00000005>; - lcd_lvds_if = <0x00000000>; - lcd_lvds_colordepth = <0x00000001>; - lcd_lvds_mode = <0x00000000>; - lcd_frm = <0x00000001>; - lcd_hv_clk_phase = <0x00000000>; - lcd_hv_sync_polarity = <0x00000000>; - lcd_gamma_en = <0x00000000>; - lcd_bright_curve_en = <0x00000000>; - lcd_cmap_en = <0x00000000>; - lcd_bl_en = <0x00000087 0x00000003 0x00000017 0x00000001 0x00000000 0xffffffff 0x00000001>; - lcd_bl_en_power = "none"; - lcd_power = "vcc-lcd-0"; - lcd_fix_power = "vcc-dsi-33"; - pinctrl-0 = <0x00000102>; - lcd_pin_power = "vcc-pd"; - pinctrl-1 = <0x00000103>; - }; - lcd1@01c0c001 { - compatible = "allwinner,sunxi-lcd1"; - pinctrl-names = "active", "sleep"; - status = "okay"; - }; - hdmi@06000000 { - compatible = "allwinner,sunxi-hdmi"; - reg = <0x00000000 0x06000000 0x00000000 0x00100000>; - interrupts = <0x00000000 0x00000040 0x00000000>; - clocks = <0x0000000d 0x0000000e 0x00000011 0x0000000f>; - pinctrl-names = "ddc_active", "ddc_sleep", "cec_active", "cec_sleep"; - pinctrl-1 = <0x00000090>; - pinctrl-2 = <0x00000091>; - pinctrl-3 = <0x00000092>; - status = "okay"; - device_type = "hdmi"; - hdmi_hdcp_enable = <0x00000000>; - hdmi_hdcp22_enable = <0x00000000>; - hdmi_cts_compatibility = <0x00000000>; - hdmi_cec_support = <0x00000001>; - hdmi_skip_bootedid = <0x00000001>; - pinctrl-0 = <0x00000104>; - ddc_en_io_ctrl = <0x00000001>; - ddc_io_ctrl = <0x00000087 0x00000007 0x00000002 0x00000001 0xffffffff 0xffffffff 0x00000000>; - }; - tv0@01c94000 { - compatible = "allwinner,sunxi-tv"; - reg = <0x00000000 0x01e40000 0x00000000 0x00001000>; - status = "disabled"; - device_type = "tv0"; - dac_src0 = <0x00000000>; - dac_type0 = <0x00000000>; - interface = <0x00000001>; - }; - tr@01000000 { - compatible = "allwinner,sun50i-tr"; - reg = <0x00000000 0x01000000 0x00000000 0x000200bc>; - interrupts = <0x00000000 0x00000060 0x00000104>; - clocks = <0x0000000a>; - status = "okay"; - }; - pwm@0300a000 { - compatible = "allwinner,sunxi-pwm"; - reg = <0x00000000 0x0300a000 0x00000000 0x0000003c>; - clocks = <0x00000093>; - pwm-number = <0x00000002>; - pwm-base = <0x00000000>; - pwms = <0x00000094 0x00000095>; - }; - pwm0@0300a000 { - compatible = "allwinner,sunxi-pwm0"; - pinctrl-names = "active", "sleep"; - reg_base = <0x0300a000>; - reg_busy_offset = <0x00000000>; - reg_busy_shift = <0x0000001c>; - reg_enable_offset = <0x00000000>; - reg_enable_shift = <0x00000004>; - reg_clk_gating_offset = <0x00000000>; - reg_clk_gating_shift = <0x00000006>; - reg_bypass_offset = <0x00000000>; - reg_bypass_shift = <0x00000009>; - reg_pulse_start_offset = <0x00000000>; - reg_pulse_start_shift = <0x00000008>; - reg_mode_offset = <0x00000000>; - reg_mode_shift = <0x00000007>; - reg_polarity_offset = <0x00000000>; - reg_polarity_shift = <0x00000005>; - reg_period_offset = <0x00000004>; - reg_period_shift = <0x00000010>; - reg_period_width = <0x00000010>; - reg_active_offset = <0x00000004>; - reg_active_shift = <0x00000000>; - reg_active_width = <0x00000010>; - reg_prescal_offset = <0x00000000>; - reg_prescal_shift = <0x00000000>; - reg_prescal_width = <0x00000004>; - linux,phandle = <0x00000094>; - phandle = <0x00000094>; - device_type = "pwm0"; - pwm_used = <0x00000001>; - pinctrl-0 = <0x00000107>; - pinctrl-1 = <0x00000108>; - }; - pwm1@0300a000 { - compatible = "allwinner,sunxi-pwm1"; - pinctrl-names = "active", "sleep"; - reg_base = <0x0300a000>; - reg_busy_offset = <0x00000000>; - reg_busy_shift = <0x0000001d>; - reg_enable_offset = <0x00000000>; - reg_enable_shift = <0x00000013>; - reg_clk_gating_offset = <0x00000000>; - reg_clk_gating_shift = <0x00000015>; - reg_bypass_offset = <0x00000000>; - reg_bypass_shift = <0x00000018>; - reg_pulse_start_offset = <0x00000000>; - reg_pulse_start_shift = <0x00000017>; - reg_mode_offset = <0x00000000>; - reg_mode_shift = <0x00000016>; - reg_polarity_offset = <0x00000000>; - reg_polarity_shift = <0x00000014>; - reg_period_offset = <0x00000008>; - reg_period_shift = <0x00000010>; - reg_period_width = <0x00000010>; - reg_active_offset = <0x00000008>; - reg_active_shift = <0x00000000>; - reg_active_width = <0x00000010>; - reg_prescal_offset = <0x00000000>; - reg_prescal_shift = <0x0000000f>; - reg_prescal_width = <0x00000004>; - linux,phandle = <0x00000095>; - phandle = <0x00000095>; - device_type = "pwm1"; - pwm_used = <0x00000000>; - pinctrl-0 = <0x00000109>; - pinctrl-1 = <0x0000010a>; - }; - s_pwm@07020c00 { - compatible = "allwinner,sunxi-s_pwm"; - reg = <0x00000000 0x07020c00 0x00000000 0x0000003c>; - clocks = <0x00000096>; - pwm-number = <0x00000001>; - pwm-base = <0x00000010>; - pwms = <0x00000097>; - }; - spwm0@07020c00 { - compatible = "allwinner,sunxi-pwm16"; - pinctrl-names = "active", "sleep"; - reg_base = <0x07020c00>; - reg_busy_offset = <0x00000000>; - reg_busy_shift = <0x0000001c>; - reg_enable_offset = <0x00000000>; - reg_enable_shift = <0x00000004>; - reg_clk_gating_offset = <0x00000000>; - reg_clk_gating_shift = <0x00000006>; - reg_bypass_offset = <0x00000000>; - reg_bypass_shift = <0x00000009>; - reg_pulse_start_offset = <0x00000000>; - reg_pulse_start_shift = <0x00000008>; - reg_mode_offset = <0x00000000>; - reg_mode_shift = <0x00000007>; - reg_polarity_offset = <0x00000000>; - reg_polarity_shift = <0x00000005>; - reg_period_offset = <0x00000004>; - reg_period_shift = <0x00000010>; - reg_period_width = <0x00000010>; - reg_active_offset = <0x00000004>; - reg_active_shift = <0x00000000>; - reg_active_width = <0x00000010>; - reg_prescal_offset = <0x00000000>; - reg_prescal_shift = <0x00000000>; - reg_prescal_width = <0x00000004>; - linux,phandle = <0x00000097>; - phandle = <0x00000097>; - }; - boot_disp { - compatible = "allwinner,boot_disp"; - device_type = "boot_disp"; - auto_hpd = <0x00000001>; - output_disp = <0x00000000>; - output_type = <0x00000003>; - output_mode = <0x0000000b>; - hdmi_channel = <0x00000000>; - hdmi_mode = <0x00000004>; - }; - ac200 { - compatible = "allwinner,sunxi-ac200"; - clocks = <0x0000008e>; - pinctrl-names = "active", "sleep", "ccir_clk_active", "ccir_clk_sleep"; - pinctrl-2 = <0x00000098>; - pinctrl-3 = <0x00000099>; - status = "okay"; - device_type = "ac200"; - tv_used = <0x00000001>; - tv_module_name = "tv_ac200"; - tv_twi_used = <0x00000001>; - tv_twi_id = <0x00000003>; - tv_twi_addr = <0x00000010>; - tv_pwm_ch = <0x00000001>; - tv_clk_div = <0x00000005>; - tv_regulator_name = "vcc-audio-33"; - pinctrl-0 = <0x00000105>; - pinctrl-1 = <0x00000106>; - }; - vind@0 { - compatible = "allwinner,sunxi-vin-media", "simple-bus"; - #address-cells = <0x00000002>; - #size-cells = <0x00000002>; - ranges; - device_id = <0x00000000>; - reg = <0x00000000 0x06620000 0x00000000 0x00001000>; - clocks = <0x0000009a 0x00000002 0x0000009b 0x00000007 0x00000002>; - pinctrl-names = "mclk0-default", "mclk0-sleep"; - pinctrl-0 = <0x0000009c>; - pinctrl-1 = <0x0000009d>; - status = "disabled"; - device_type = "vind0"; - cci@0x0662e000 { - compatible = "allwinner,sunxi-csi_cci"; - reg = <0x00000000 0x0662e000 0x00000000 0x00001000>; - interrupts = <0x00000000 0x00000048 0x00000004>; - clocks = <0x0000009e>; - pinctrl-names = "default", "sleep"; - pinctrl-1 = <0x000000a0>; - device_id = <0x00000000>; - status = "disabled"; - device_type = "csi_cci0"; - pinctrl-0 = <0x0000010e>; - }; - csi@0x06621000 { - device_type = "csi0"; - compatible = "allwinner,sunxi-csi"; - reg = <0x00000000 0x06621000 0x00000000 0x00001000>; - interrupts = <0x00000000 0x00000046 0x00000004>; - pinctrl-names = "default", "sleep"; - pinctrl-1 = <0x000000a2>; - device_id = <0x00000000>; - iommus = <0x00000021 0x00000004 0x00000001>; - status = "disabled"; - pinctrl-0 = <0x0000010d>; - }; - csi@1 { - device_type = "csi1"; - compatible = "allwinner,sunxi-csi"; - device_id = <0x00000001>; - iommus = <0x00000021 0x00000004 0x00000001>; - status = "disabled"; - }; - mipi@0 { - compatible = "allwinner,sunxi-mipi"; - device_id = <0x00000000>; - status = "disabled"; - }; - mipi@1 { - compatible = "allwinner,sunxi-mipi"; - device_id = <0x00000001>; - status = "disabled"; - }; - isp@0 { - compatible = "allwinner,sunxi-isp"; - reg = <0x00000000 0x02100000 0x00000000 0x00000800>; - interrupts = <0x00000000 0x00000056 0x00000004>; - device_id = <0x00000000>; - iommus = <0x00000021 0x00000004 0x00000001>; - status = "okay"; - linux,phandle = <0x000000a5>; - phandle = <0x000000a5>; - }; - isp@1 { - compatible = "allwinner,sunxi-isp"; - reg = <0x00000000 0x02100800 0x00000000 0x00000800>; - device_id = <0x00000001>; - iommus = <0x00000021 0x00000004 0x00000001>; - status = "disabled"; - linux,phandle = <0x000000a6>; - phandle = <0x000000a6>; - }; - scaler@0x02101000 { - compatible = "allwinner,sunxi-scaler"; - reg = <0x00000000 0x02101000 0x00000000 0x00000400>; - device_id = <0x00000000>; - iommus = <0x00000021 0x00000004 0x00000001>; - status = "okay"; - }; - scaler@0x02101400 { - compatible = "allwinner,sunxi-scaler"; - reg = <0x00000000 0x02101400 0x00000000 0x00000400>; - device_id = <0x00000001>; - iommus = <0x00000021 0x00000004 0x00000001>; - status = "okay"; - }; - scaler@2 { - compatible = "allwinner,sunxi-scaler"; - device_id = <0x00000002>; - iommus = <0x00000021 0x00000004 0x00000001>; - status = "disabled"; - }; - scaler@3 { - compatible = "allwinner,sunxi-scaler"; - device_id = <0x00000003>; - iommus = <0x00000021 0x00000004 0x00000001>; - status = "disabled"; - }; - actuator@0 { - device_type = "actuator0"; - compatible = "allwinner,sunxi-actuator"; - actuator0_name = "ad5820_act"; - actuator0_slave = <0x00000018>; - actuator0_afvdd_vol = <0x002ab980>; - status = "disabled"; - linux,phandle = <0x000000a4>; - phandle = <0x000000a4>; - actuator0_af_pwdn; - actuator0_afvdd; - }; - flash@0 { - device_type = "flash0"; - compatible = "allwinner,sunxi-flash"; - flash0_type = <0x00000002>; - device_id = <0x00000000>; - status = "disabled"; - linux,phandle = <0x000000a3>; - phandle = <0x000000a3>; - flash0_en; - flash0_mode; - flash0_flvdd; - flash0_flvdd_vol; - }; - sensor@0 { - device_type = "sensor0"; - sensor0_mname = "gc2035"; - sensor0_twi_cci_id = <0x00000000>; - sensor0_twi_addr = <0x00000078>; - sensor0_pos = "rear"; - sensor0_isp_used = <0x00000000>; - sensor0_fmt = <0x00000000>; - sensor0_stby_mode = <0x00000001>; - sensor0_vflip = <0x00000000>; - sensor0_hflip = <0x00000000>; - sensor0_iovdd_vol = <0x002ab980>; - sensor0_avdd_vol = <0x002ab980>; - sensor0_dvdd_vol = <0x0016e360>; - sensor0_power_en; - flash_handle = <0x000000a3>; - act_handle = <0x000000a4>; - status = "disabled"; - linux,phandle = <0x000000a7>; - phandle = <0x000000a7>; - sensor0_iovdd; - sensor0_avdd; - sensor0_dvdd; - sensor0_reset = <0x00000087 0x00000003 0x0000000e 0x00000001 0x00000000 0x00000003 0x00000000>; - sensor0_pwdn = <0x00000087 0x00000003 0x0000000f 0x00000001 0x00000000 0x00000003 0x00000001>; - }; - sensor@1 { - device_type = "sensor1"; - sensor1_mname = "ov5647"; - sensor1_twi_cci_id = <0x00000000>; - sensor1_twi_addr = <0x0000006c>; - sensor1_pos = "front"; - sensor1_isp_used = <0x00000000>; - sensor1_fmt = <0x00000000>; - sensor1_stby_mode = <0x00000001>; - sensor1_vflip = <0x00000000>; - sensor1_hflip = <0x00000000>; - sensor1_iovdd_vol = <0x002ab980>; - sensor1_avdd_vol = <0x002ab980>; - sensor1_dvdd_vol = <0x001b7740>; - flash_handle; - act_handle; - status = "disabled"; - linux,phandle = <0x000000a8>; - phandle = <0x000000a8>; - sensor1_iovdd; - sensor1_avdd; - sensor1_dvdd; - sensor1_power_en; - sensor1_reset = <0x00000087 0x00000003 0x0000000e 0x00000001 0x00000000 0x00000003 0x00000000>; - sensor1_pwdn = <0x00000087 0x00000003 0x0000000f 0x00000001 0x00000000 0x00000003 0x00000001>; - }; - vinc@0x06623000 { - device_type = "vinc0"; - compatible = "allwinner,sunxi-vin-core"; - reg = <0x00000000 0x06623000 0x00000000 0x00000100>; - interrupts = <0x00000000 0x00000043 0x00000004>; - vinc0_csi_sel = <0x00000000>; - vinc0_mipi_sel = <0x000000ff>; - vinc0_isp_sel = <0x00000000>; - vinc0_sensor_sel = <0x00000000>; - vinc0_sensor_list = <0x00000000>; - isp_handle = <0x000000a5 0x000000a6>; - sensor_handle = <0x000000a7 0x000000a8>; - device_id = <0x00000000>; - iommus = <0x00000021 0x00000004 0x00000001>; - status = "disabled"; - vinc0_rear_sensor_sel = <0x00000000>; - vinc0_front_sensor_sel = <0x00000001>; - }; - vinc@0x06623100 { - device_type = "vinc1"; - compatible = "allwinner,sunxi-vin-core"; - reg = <0x00000000 0x06623100 0x00000000 0x00000100>; - interrupts = <0x00000000 0x00000044 0x00000004>; - vinc1_csi_sel = <0x00000000>; - vinc1_mipi_sel = <0x000000ff>; - vinc1_isp_sel = <0x00000000>; - vinc1_sensor_sel = <0x00000001>; - vinc1_sensor_list = <0x00000000>; - isp_handle = <0x000000a5 0x000000a6>; - sensor_handle = <0x000000a7 0x000000a8>; - device_id = <0x00000001>; - iommus = <0x00000021 0x00000004 0x00000001>; - status = "disabled"; - vinc1_rear_sensor_sel = <0x00000000>; - vinc1_front_sensor_sel = <0x00000001>; - }; - }; - vdevice@0 { - compatible = "allwinner,sun50i-vdevice"; - device_type = "Vdevice"; - pinctrl-names = "default"; - test-gpios = <0x00000087 0x00000001 0x00000000 0x00000001 0x00000002 0x00000002 0x00000001>; - status = "disabled"; - pinctrl-0 = <0x00000115>; - }; - emce@01905000 { - compatible = "allwinner,sunxi-emce"; - device_name = "emce"; - reg = <0x00000000 0x01905000 0x00000000 0x00000100>; - clock-frequency = <0x11e1a300>; - clocks = <0x000000aa 0x00000023>; - }; - ce@1904000 { - compatible = "allwinner,sunxi-ce"; - device_name = "ce"; - reg = <0x00000000 0x01904000 0x00000000 0x000000a0 0x00000000 0x01904800 0x00000000 0x000000a0>; - interrupts = <0x00000000 0x00000057 0x0000ff01 0x00000000 0x00000058 0x0000ff01>; - clock-frequency = <0x11e1a300>; - clocks = <0x000000ab 0x00000023>; - }; - deinterlace@0x01420000 { - #address-cells = <0x00000001>; - #size-cells = <0x00000000>; - compatible = "allwinner,sunxi-deinterlace"; - reg = <0x00000000 0x01420000 0x00000000 0x0000020c>; - interrupts = <0x00000000 0x0000004f 0x00000004>; - clocks = <0x000000ac 0x00000002>; - iommus = <0x00000021 0x00000002 0x00000001>; - status = "okay"; - device_type = "di"; - }; - smartcard@0x05005000 { - #address-cells = <0x00000001>; - #size-cells = <0x00000000>; - compatible = "allwinner,sunxi-scr"; - device_type = "scr0"; - reg = <0x00000000 0x05005000 0x00000000 0x00000400>; - interrupts = <0x00000000 0x00000008 0x00000004>; - clocks = <0x000000ad 0x000000ae>; - clock-frequency = <0x016e3600>; - pinctrl-names = "default", "sleep"; - pinctrl-0 = <0x000000af 0x000000b0>; - pinctrl-1 = <0x000000b1>; - status = "disabled"; - }; - smartcard@0x05005400 { - #address-cells = <0x00000001>; - #size-cells = <0x00000000>; - compatible = "allwinner,sunxi-scr"; - device_type = "scr1"; - reg = <0x00000000 0x05005400 0x00000000 0x00000400>; - interrupts = <0x00000000 0x00000009 0x00000004>; - clocks = <0x000000b2 0x000000ae>; - clock-frequency = <0x016e3600>; - pinctrl-names = "default", "sleep"; - pinctrl-0 = <0x000000b3 0x000000b4>; - pinctrl-1 = <0x000000b5>; - status = "disabled"; - }; - pmu@0 { - interrupts = <0x00000000 0x00000060 0x00000004>; - status = "okay"; - device_type = "pmu0"; - compatible = "axp806"; - pmu_id = <0x00000003>; - pmu_irq_wakeup = <0x00000001>; - pmu_hot_shutdown = <0x00000001>; - powerkey@0 { - status = "okay"; - device_type = "powerkey0"; - compatible = "axp806-powerkey"; - pmu_powkey_off_time = <0x00000bb8>; - pmu_powkey_off_func = <0x00000000>; - pmu_powkey_off_en = <0x00000001>; - pmu_powkey_long_time = <0x000005dc>; - pmu_powkey_on_time = <0x000003e8>; - }; - regulator@0 { - status = "okay"; - device_type = "regulator0"; - compatible = "axp806-regulator"; - regulator_count = <0x00000010>; - regulator1 = "axp806_dcdca none vdd-cpua"; - regulator2 = "axp806_dcdcb none"; - regulator3 = "axp806_dcdcc none vdd-gpu"; - regulator4 = "axp806_dcdcd none vdd-sys vdd-hdmi vdd-pcie vdd-usb"; - regulator5 = "axp806_dcdce none vcc-dram"; - regulator6 = "axp806_aldo1 none vcc-pl vcc-led vcc-ir vcc-pg vcc-pm vcc-ts"; - regulator7 = "axp806_aldo2 none ac-ldoin vcc-audio-33 vcc-ephy usb-dvdd vcc-tv"; - regulator8 = "axp806_aldo3 none vcc-pcie-slot"; - regulator9 = "axp806_bldo1 none vdd-dram-18 vdd-bias vcc-pll"; - regulator10 = "axp806_bldo2 none vcc-emmc-18 vcc-pcie vdd-efuse vcc-hdmi vcc-emmcvq18"; - regulator11 = "axp806_bldo3 none"; - regulator12 = "axp806_bldo4 none"; - regulator13 = "axp806_cldo1 none vcc-io vcc-nand vcc-card vcc-pd vcc-usb vcc-uart vcc-jtagx vcc-emmc-33 vcc-camera-33 vcc-emmcv vcc-sdcv vcc-sdcvq33 vcc-sdcvd"; - regulator14 = "axp806_cldo2 none"; - regulator15 = "axp806_cldo3 none vcc-wifi"; - regulator16 = "axp806_sw none"; - }; - axp_gpio@0 { - gpio-controller; - #size-cells = <0x00000000>; - #gpio-cells = <0x00000006>; - status = "okay"; - device_type = "axp_pio"; - linux,phandle = <0x000000ff>; - phandle = <0x000000ff>; - }; - charger@0 { - status = "disabled"; - device_type = "charger0"; - pmu_bat_unused = <0x00000001>; - pmu_pwroff_vol = <0x00000ce4>; - power_start = <0x00000000>; - }; - }; - nmi@0x01f00c00 { - #address-cells = <0x00000001>; - #size-cells = <0x00000000>; - compatible = "allwinner,sunxi-nmi"; - reg = <0x00000000 0x01f00c00 0x00000000 0x00000050>; - nmi_irq_ctrl = <0x0000000c>; - nmi_irq_en = <0x00000040>; - nmi_irq_status = <0x00000010>; - nmi_irq_mask = <0x00000050>; - status = "okay"; - }; - nand0@04011000 { - compatible = "allwinner,sun50iw6-nand"; - device_type = "nand0"; - reg = <0x00000000 0x04011000 0x00000000 0x00001000>; - interrupts = <0x00000000 0x00000022 0x00000004>; - clocks = <0x00000023 0x000000b6 0x000000b7>; - pinctrl-names = "default", "sleep"; - pinctrl-1 = <0x000000ba>; - 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 = <0x00000000>; - pinctrl-0 = <0x00000100 0x00000101>; - }; - ts0@05060000 { - compatible = "allwinner,sun50i-tsc"; - device_type = "ts0"; - reg = <0x00000000 0x05060000 0x00000000 0x00001000>; - interrupts = <0x00000000 0x0000000e 0x00000004>; - clocks = <0x00000002 0x000000bb>; - clock-frequency = <0x07270e00>; - pinctrl-names = "ts0-default", "ts1-default", "ts2-default", "ts3-default", "ts0-sleep", "ts1-sleep", "ts2-sleep", "ts3-sleep"; - pinctrl-0 = <0x000000bc>; - pinctrl-1 = <0x000000bd>; - pinctrl-2 = <0x000000be>; - pinctrl-3 = <0x000000bf>; - pinctrl-4 = <0x000000c0>; - pinctrl-5 = <0x000000c1>; - pinctrl-6 = <0x000000c2>; - pinctrl-7 = <0x000000c3>; - ts0config = <0x00000001>; - ts1config = <0x00000000>; - ts2config = <0x00000000>; - ts3config = <0x00000000>; - status = "okay"; - }; - thermal_sensor { - compatible = "allwinner,thermal_sensor"; - reg = <0x00000000 0x05070400 0x00000000 0x00000400>; - interrupts = <0x00000000 0x0000000f 0x00000000>; - clocks = <0x00000007 0x000000c4>; - sensor_num = <0x00000002>; - combine_num = <0x00000002>; - alarm_low_temp = <0x00019a28>; - alarm_high_temp = <0x0001adb0>; - alarm_temp_hysteresis = <0x00003a98>; - shut_temp = <0x0001c138>; - status = "okay"; - ths_combine0 { - compatible = "allwinner,ths_combine0"; - #thermal-sensor-cells = <0x00000001>; - combine_sensor_num = <0x00000001>; - combine_sensor_type = "cpu"; - combine_sensor_temp_type = "max"; - combine_sensor_id = <0x00000000>; - linux,phandle = <0x000000c5>; - phandle = <0x000000c5>; - }; - ths_combine1 { - compatible = "allwinner,ths_combine1"; - #thermal-sensor-cells = <0x00000001>; - combine_sensor_num = <0x00000001>; - combine_sensor_type = "gpu"; - combine_sensor_temp_type = "max"; - combine_sensor_id = <0x00000001>; - linux,phandle = <0x000000cd>; - phandle = <0x000000cd>; - }; - }; - cpu_budget_cool { - device_type = "cpu_budget_cool"; - compatible = "allwinner,budget_cooling"; - #cooling-cells = <0x00000002>; - status = "okay"; - state_cnt = <0x00000007>; - cluster_num = <0x00000001>; - state0 = <0x001b7740 0x00000004>; - state1 = <0x0016b480 0x00000004>; - state2 = <0x00142440 0x00000003>; - state3 = <0x00107ac0 0x00000002>; - state4 = <0x000d8cc0 0x00000001>; - state5 = <0x000afc80 0x00000001>; - state6 = <0x00075300 0x00000001>; - linux,phandle = <0x000000c7>; - phandle = <0x000000c7>; - }; - gpu_cooling { - compatible = "allwinner,gpu_cooling"; - reg = <0x00000000 0x00000000 0x00000000 0x00000000>; - #cooling-cells = <0x00000002>; - status = "okay"; - state_cnt = <0x00000004>; - state0 = <0x00000000>; - state1 = <0x00000001>; - state2 = <0x00000002>; - state3 = <0x00000003>; - linux,phandle = <0x000000cf>; - phandle = <0x000000cf>; - }; - thermal-zones { - cpu_thermal_zone { - polling-delay-passive = <0x000003e8>; - polling-delay = <0x000003e8>; - thermal-sensors = <0x000000c5 0x00000000>; - trips { - t0 { - temperature = <0x0000ea60>; - type = "passive"; - hysteresis = <0x00000000>; - linux,phandle = <0x000000c6>; - phandle = <0x000000c6>; - }; - t1 { - temperature = <0x00015f90>; - type = "passive"; - hysteresis = <0x00000000>; - linux,phandle = <0x000000c8>; - phandle = <0x000000c8>; - }; - t2 { - temperature = <0x00017318>; - type = "passive"; - hysteresis = <0x00000000>; - linux,phandle = <0x000000c9>; - phandle = <0x000000c9>; - }; - t3 { - temperature = <0x000186a0>; - type = "passive"; - hysteresis = <0x00000000>; - linux,phandle = <0x000000ca>; - phandle = <0x000000ca>; - }; - t4 { - temperature = <0x00019a28>; - type = "passive"; - hysteresis = <0x00000000>; - linux,phandle = <0x000000cb>; - phandle = <0x000000cb>; - }; - t5 { - temperature = <0x0001adb0>; - type = "passive"; - hysteresis = <0x00000000>; - linux,phandle = <0x000000cc>; - phandle = <0x000000cc>; - }; - t6 { - temperature = <0x0001c138>; - type = "critical"; - hysteresis = <0x00000000>; - }; - }; - cooling-maps { - bind0 { - contribution = <0x00000000>; - trip = <0x000000c6>; - cooling-device = <0x000000c7 0x00000001 0x00000001>; - }; - bind1 { - contribution = <0x00000000>; - trip = <0x000000c8>; - cooling-device = <0x000000c7 0x00000002 0x00000002>; - }; - bind2 { - contribution = <0x00000000>; - trip = <0x000000c9>; - cooling-device = <0x000000c7 0x00000003 0x00000003>; - }; - bind3 { - contribution = <0x00000000>; - trip = <0x000000ca>; - cooling-device = <0x000000c7 0x00000004 0x00000004>; - }; - bind4 { - contribution = <0x00000000>; - trip = <0x000000cb>; - cooling-device = <0x000000c7 0x00000005 0x00000005>; - }; - bind5 { - contribution = <0x00000000>; - trip = <0x000000cc>; - cooling-device = <0x000000c7 0x00000006 0x00000006>; - }; - }; - }; - gpu_thermal_zone { - polling-delay-passive = <0x000003e8>; - polling-delay = <0x000007d0>; - thermal-sensors = <0x000000cd 0x00000001>; - trips { - t0 { - temperature = <0x00017318>; - type = "passive"; - hysteresis = <0x00000000>; - linux,phandle = <0x000000ce>; - phandle = <0x000000ce>; - }; - t1 { - temperature = <0x000186a0>; - type = "passive"; - hysteresis = <0x00000000>; - linux,phandle = <0x000000d0>; - phandle = <0x000000d0>; - }; - t2 { - temperature = <0x00019a28>; - type = "passive"; - hysteresis = <0x00000000>; - linux,phandle = <0x000000d1>; - phandle = <0x000000d1>; - }; - t3 { - temperature = <0x0001c138>; - type = "critical"; - hysteresis = <0x00000000>; - }; - }; - cooling-maps { - bind0 { - contribution = <0x00000000>; - trip = <0x000000ce>; - cooling-device = <0x000000cf 0x00000001 0x00000001>; - }; - bind1 { - contribution = <0x00000000>; - trip = <0x000000d0>; - cooling-device = <0x000000cf 0x00000002 0x00000002>; - }; - bind2 { - contribution = <0x00000000>; - trip = <0x000000d1>; - cooling-device = <0x000000cf 0x00000003 0x00000003>; - }; - }; - }; - }; - keyboard { - compatible = "allwinner,keyboard_1200mv"; - reg = <0x00000000 0x05070800 0x00000000 0x00000400>; - interrupts = <0x00000000 0x00000010 0x00000000>; - status = "okay"; - key_cnt = <0x00000005>; - key0 = <0x00000073 0x00000073>; - key1 = <0x000000eb 0x00000072>; - key2 = <0x0000014a 0x0000008b>; - key3 = <0x000001a4 0x0000001c>; - key4 = <0x00000208 0x00000066>; - }; - eth@05020000 { - compatible = "allwinner,sunxi-gmac"; - reg = <0x00000000 0x05020000 0x00000000 0x00010000 0x00000000 0x03000030 0x00000000 0x00000004>; - interrupts = <0x00000000 0x0000000c 0x00000004>; - interrupt-names = "gmacirq"; - clocks = <0x000000d2>; - clock-names = "gmac"; - pinctrl-1 = <0x000000d4>; - pinctrl-names = "default", "sleep"; - phy-mode = "rgmii"; - tx-delay = <0x00000000>; - rx-delay = <0x00000000>; - phy-rst; - gmac-power0 = "vcc-io"; - gmac-power1 = "axp806_aldo3"; - status = "okay"; - device_type = "gmac0"; - pinctrl-0 = <0x000000e7>; - gmac-power2; - }; - wlan { - compatible = "allwinner,sunxi-wlan"; - clocks = <0x000000d5>; - status = "okay"; - device_type = "wlan"; - wlan_busnum = <0x00000001>; - wlan_usbnum = <0x00000003>; - wlan_io_regulator = "axp806_bldo3"; - wlan_regon = <0x000000d6 0x0000000c 0x00000003 0x00000001 0xffffffff 0xffffffff 0x00000000>; - wlan_hostwake = <0x000000d6 0x0000000c 0x00000000 0x00000000 0xffffffff 0xffffffff 0x00000000>; - }; - bt { - compatible = "allwinner,sunxi-bt"; - clocks = <0x000000d5>; - bt_power = "vcc-wifi"; - bt_io_regulator = "vcc-wifi-io"; - status = "okay"; - device_type = "bt"; - bt_rst_n = <0x000000d6 0x0000000c 0x00000004 0x00000001 0xffffffff 0xffffffff 0x00000000>; - }; - btlpm { - compatible = "allwinner,sunxi-btlpm"; - uart_index = <0x00000001>; - status = "okay"; - device_type = "btlpm"; - bt_hostwake_enable = <0x00000001>; - bt_wake = <0x000000d6 0x0000000c 0x00000002 0x00000001 0xffffffff 0xffffffff 0x00000001>; - bt_hostwake = <0x000000d6 0x0000000c 0x00000001 0x00000000 0xffffffff 0xffffffff 0x00000000>; - }; - product { - device_type = "product"; - version = "100"; - machine = "petrel-p1"; - }; - platform { - device_type = "platform"; - eraseflag = <0x00000001>; - }; - target { - device_type = "target"; - boot_clock = <0x00000528>; - storage_type = <0xffffffff>; - burn_key = <0x00000000>; - dragonboard_test = <0x00000000>; - power_mode = <0x00000000>; - advert_enable = <0x00000000>; - }; - secure { - device_type = "secure"; - dram_region_mbytes = <0x00000040>; - drm_region_mbytes = <0x00000000>; - drm_region_start_mbytes = <0x00000000>; - }; - power_sply { - device_type = "power_sply"; - dcdca_vol = <0x000f4628>; - aldo2_vol = <0x000f4f24>; - bldo3_vol = <0x000f4948>; - cldo2_vol = <0x000f4f24>; - cldo3_vol = <0x000f4f24>; - }; - gpio_bias { - device_type = "gpio_bias"; - pc_bias = "axp806:bldo2:1800"; - pg_bias = "axp806:bldo3:1800"; - }; - ir_boot_recovery { - device_type = "ir_boot_recovery"; - status = "disabled"; - ir_work_mode = <0x00000001>; - ir_press_times = <0x00000001>; - ir_detect_time = <0x000007d0>; - ir_recovery_key_code0 = <0x00000057>; - ir_addr_code0 = <0x00009f00>; - }; - card_boot { - device_type = "card_boot"; - logical_start = <0x0000a000>; - sprite_gpio0 = <0x000000d6 0x0000000b 0x00000004 0x00000001 0xffffffff 0xffffffff 0x00000001>; - next_work = <0x00000003>; - }; - key_boot_recovery { - device_type = "key_boot_recovery"; - status = "disabled"; - press_mode_enable = <0x00000000>; - key_work_mode = <0x00000001>; - short_press_mode = <0x00000000>; - long_press_mode = <0x00000001>; - key_press_time = <0x000007d0>; - recovery_key = <0x00000087 0x00000007 0x00000007 0x00000000 0xffffffff 0xffffffff 0xffffffff>; - }; - boot_init_gpio { - device_type = "boot_init_gpio"; - status = "okay"; - gpio0 = <0x000000d6 0x0000000b 0x00000004 0x00000001 0xffffffff 0xffffffff 0x00000001>; - gpio1 = <0x000000d6 0x0000000b 0x00000007 0x00000001 0xffffffff 0xffffffff 0x00000000>; - gpio2 = <0x00000087 0x00000007 0x00000002 0x00000001 0xffffffff 0xffffffff 0x00000001>; - }; - pm_para { - device_type = "pm_para"; - standby_mode = <0x00000001>; - }; - card0_boot_para { - device_type = "card0_boot_para"; - card_ctrl = <0x00000000>; - card_high_speed = <0x00000001>; - card_line = <0x00000004>; - pinctrl-0 = <0x000000e2>; - }; - card2_boot_para { - device_type = "card2_boot_para"; - card_ctrl = <0x00000002>; - card_high_speed = <0x00000001>; - card_line = <0x00000008>; - pinctrl-0 = <0x000000e3>; - sdc_ex_dly_used = <0x00000002>; - sdc_io_1v8 = <0x00000001>; - sdc_tm4_hs400_max_freq = <0x00000064>; - sdc_tm4_hs200_max_freq = <0x00000096>; - }; - twi_para { - device_type = "twi_para"; - twi_port = <0x00000000>; - pinctrl-0 = <0x000000e4>; - }; - uart_para { - device_type = "uart_para"; - uart_debug_port = <0x00000000>; - pinctrl-0 = <0x000000e5>; - }; - jtag_para { - device_type = "jtag_para"; - jtag_enable = <0x00000000>; - pinctrl-0 = <0x000000e6>; - }; - clock { - device_type = "clock"; - pll4 = <0x0000012c>; - pll6 = <0x00000258>; - pll8 = <0x00000168>; - pll9 = <0x00000129>; - pll10 = <0x00000108>; - }; - rtp_para { - device_type = "rtp_para"; - rtp_used = <0x00000000>; - rtp_screen_size = <0x00000005>; - rtp_regidity_level = <0x00000005>; - rtp_press_threshold_enable = <0x00000000>; - rtp_press_threshold = <0x00001f40>; - rtp_sensitive_level = <0x0000000f>; - rtp_exchange_x_y_flag = <0x00000000>; - }; - ctp { - device_type = "ctp"; - compatible = "allwinner,sun50i-ctp-para"; - status = "disabled"; - ctp_twi_id = <0x00000000>; - ctp_twi_addr = <0x0000005d>; - ctp_screen_max_x = <0x00000500>; - ctp_screen_max_y = <0x00000320>; - ctp_revert_x_flag = <0x00000001>; - ctp_revert_y_flag = <0x00000001>; - ctp_exchange_x_y_flag = <0x00000001>; - ctp_int_port = <0x00000087 0x00000007 0x00000004 0x00000006 0xffffffff 0xffffffff 0xffffffff>; - ctp_wakeup = <0x00000087 0x00000007 0x00000008 0x00000001 0xffffffff 0xffffffff 0x00000001>; - ctp_power_ldo = "vcc-ctp"; - ctp_power_ldo_vol = <0x00000ce4>; - ctp_power_io; - }; - ctp_list { - device_type = "ctp_list"; - compatible = "allwinner,sun50i-ctp-list"; - ctp_det_used = <0x00000000>; - ft5x_ts = <0x00000001>; - gt82x = <0x00000001>; - gslX680 = <0x00000001>; - gt9xx_ts = <0x00000000>; - gt9xxnew_ts = <0x00000001>; - gt811 = <0x00000001>; - zet622x = <0x00000001>; - aw5306_ts = <0x00000001>; - }; - tkey_para { - device_type = "tkey_para"; - tkey_used = <0x00000000>; - tkey_twi_id; - tkey_twi_addr; - tkey_int; - }; - motor_para { - device_type = "motor_para"; - motor_used = <0x00000001>; - motor_shake = <0x000000ff 0x0000fffe 0x00000003 0x00000001 0xffffffff 0xffffffff 0x00000001>; - }; - esm { - device_type = "esm"; - esm_img_size_addr = <0x00000000>; - esm_img_buff_addr = <0x00000000>; - }; - pwm16 { - device_type = "pwm16"; - s_pwm0_used = <0x00000001>; - pinctrl-0 = <0x0000010b>; - pinctrl-1 = <0x0000010c>; - }; - 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; - }; - gpio_para { - device_type = "gpio_para"; - compatible = "allwinner,sunxi-init-gpio"; - gpio_used = <0x00000001>; - gpio_num = <0x00000003>; - gpio_pin_1 = <0x000000d6 0x0000000b 0x00000007 0x00000001 0xffffffff 0xffffffff 0x00000001>; - gpio_pin_2 = <0x000000d6 0x0000000b 0x00000004 0x00000001 0xffffffff 0xffffffff 0x00000000>; - gpio_pin_3 = <0x00000087 0x00000003 0x00000006 0x00000001 0xffffffff 0xffffffff 0x00000001>; - normal_led = "gpio_pin_1"; - standby_led = "gpio_pin_2"; - easy_light_used = <0x00000001>; - normal_led_light = <0x00000001>; - standby_led_light = <0x00000001>; - }; - usbc3 { - device_type = "usbc3"; - status = "okay"; - usb_drv_vbus_gpio; - usb_host_init_state = <0x00000001>; - usb_regulator_io = "nocare"; - usb_wakeup_suspend = <0x00000000>; - }; - serial_feature { - device_type = "serial_feature"; - sn_filename = "sn.txt"; - }; - gsensor { - device_type = "gsensor"; - compatible = "allwinner,sun50i-gsensor-para"; - status = "disabled"; - gsensor_twi_id = <0x00000001>; - gsensor_twi_addr = <0x00000018>; - gsensor_int1 = <0x00000087 0x00000000 0x00000009 0x00000006 0x00000001 0xffffffff 0xffffffff>; - gsensor_int2; - gsensor_vcc_io = "vcc-deviceio"; - gsensor_vcc_io_val = <0x00000c1c>; - }; - gsensor_list_para { - device_type = "gsensor_list_para"; - compatible = "allwinner,sun50i-gsensor-list-para"; - gsensor_det_used = <0x00000000>; - lsm9ds0_acc_mag = <0x00000001>; - bma250 = <0x00000001>; - mma8452 = <0x00000001>; - mma7660 = <0x00000001>; - mma865x = <0x00000001>; - afa750 = <0x00000001>; - lis3de_acc = <0x00000001>; - lis3dh_acc = <0x00000001>; - kxtik = <0x00000001>; - dmard10 = <0x00000000>; - dmard06 = <0x00000001>; - mxc622x = <0x00000001>; - fxos8700 = <0x00000001>; - lsm303d = <0x00000000>; - }; - 3g_para { - device_type = "3g_para"; - 3g_used = <0x00000000>; - 3g_usbc_num = <0x00000002>; - 3g_uart_num = <0x00000000>; - bb_vbat = <0x000000d6 0x0000000b 0x00000003 0x00000001 0xffffffff 0xffffffff 0x00000000>; - bb_host_wake = <0x000000d6 0x0000000c 0x00000000 0x00000001 0xffffffff 0xffffffff 0x00000000>; - bb_on = <0x000000d6 0x0000000c 0x00000001 0x00000001 0xffffffff 0xffffffff 0x00000000>; - bb_pwr_on = <0x000000d6 0x0000000c 0x00000003 0x00000001 0xffffffff 0xffffffff 0x00000000>; - bb_wake = <0x000000d6 0x0000000c 0x00000004 0x00000001 0xffffffff 0xffffffff 0x00000000>; - bb_rf_dis = <0x000000d6 0x0000000c 0x00000005 0x00000001 0xffffffff 0xffffffff 0x00000000>; - bb_rst = <0x000000d6 0x0000000c 0x00000006 0x00000001 0xffffffff 0xffffffff 0x00000000>; - 3g_int; - }; - gy_para { - device_type = "gy_para"; - compatible = "allwinner,sun50i-gyr_sensors-para"; - gy_used = <0x00000000>; - gy_twi_id = <0x00000002>; - gy_twi_addr = <0x0000006a>; - gy_int1 = <0x00000087 0x00000000 0x0000000a 0x00000006 0x00000001 0xffffffff 0xffffffff>; - gy_int2; - }; - gy_list_para { - device_type = "gy_list_para"; - compatible = "allwinner,sun50i-gyr_sensors-list-para"; - gy_det_used = <0x00000001>; - lsm9ds0_gyr = <0x00000001>; - l3gd20_gyr = <0x00000000>; - bmg160_gyr = <0x00000001>; - }; - ls_para { - device_type = "ls_para"; - compatible = "allwinner,sun50i-lsensors-para"; - ls_used = <0x00000000>; - ls_twi_id = <0x00000002>; - ls_twi_addr = <0x00000023>; - ls_int = <0x00000087 0x00000000 0x0000000c 0x00000006 0x00000001 0xffffffff 0xffffffff>; - }; - ls_list_para { - device_type = "ls_list_para"; - compatible = "allwinner,sun50i-lsensors-list-para"; - ls_det_used = <0x00000001>; - ltr_501als = <0x00000001>; - jsa1212 = <0x00000000>; - jsa1127 = <0x00000001>; - }; - compass_para { - device_type = "compass_para"; - compatible = "allwinner,sun50i-compass-para"; - compass_used = <0x00000000>; - compass_twi_id = <0x00000002>; - compass_twi_addr = <0x0000000d>; - compass_int = <0x00000087 0x00000000 0x0000000b 0x00000006 0x00000001 0xffffffff 0xffffffff>; - }; - compass_list_para { - device_type = "compass_list_para"; - compatible = "allwinner,sun50i-compass-list-para"; - compass_det_used = <0x00000001>; - lsm9ds0 = <0x00000001>; - lsm303d = <0x00000000>; - akm8963 = <0x00000001>; - }; - dvfs_table_0 { - device_type = "dvfs_table_0"; - max_freq = <0x6b49d200>; - min_freq = <0x1c9c3800>; - lv_count = <0x00000008>; - lv1_freq = <0x6b49d200>; - lv1_volt = <0x00000488>; - lv2_freq = <0x58b11400>; - lv2_volt = <0x00000424>; - lv3_freq = <0x4ead9a00>; - lv3_volt = <0x000003e8>; - lv4_freq = "@_~"; - lv4_volt = <0x000003ac>; - lv5_freq = <0x34edce00>; - lv5_volt = <0x00000370>; - lv6_freq = <0x00000000>; - lv6_volt = <0x00000370>; - lv7_freq = <0x00000000>; - lv7_volt = <0x00000370>; - lv8_freq = <0x00000000>; - lv8_volt = <0x00000370>; - }; - dvfs_table_1 { - device_type = "dvfs_table_1"; - max_freq = <0x6b49d200>; - min_freq = <0x1c9c3800>; - lv_count = <0x00000008>; - lv1_freq = <0x6b49d200>; - lv1_volt = <0x0000044c>; - lv2_freq = <0x58b11400>; - lv2_volt = <0x000003e8>; - lv3_freq = <0x4ead9a00>; - lv3_volt = <0x000003ac>; - lv4_freq = "@_~"; - lv4_volt = <0x00000370>; - lv5_freq = <0x34edce00>; - lv5_volt = <0x00000334>; - lv6_freq = <0x00000000>; - lv6_volt = <0x00000334>; - lv7_freq = <0x00000000>; - lv7_volt = <0x00000334>; - lv8_freq = <0x00000000>; - lv8_volt = <0x00000334>; - }; - dvfs_table_2 { - device_type = "dvfs_table_2"; - max_freq = <0x6b49d200>; - min_freq = <0x1c9c3800>; - lv_count = <0x00000008>; - lv1_freq = <0x6b49d200>; - lv1_volt = <0x0000044c>; - lv2_freq = <0x58b11400>; - lv2_volt = <0x000003e8>; - lv3_freq = <0x4ead9a00>; - lv3_volt = <0x000003ac>; - lv4_freq = "@_~"; - lv4_volt = <0x00000370>; - lv5_freq = <0x34edce00>; - lv5_volt = <0x00000334>; - lv6_freq = <0x00000000>; - lv6_volt = <0x00000334>; - lv7_freq = <0x00000000>; - lv7_volt = <0x00000334>; - lv8_freq = <0x00000000>; - lv8_volt = <0x00000334>; - }; - s_rsb0 { - device_type = "s_rsb0"; - status = "disabled"; - pinctrl-0 = <0x00000113>; - }; - box_standby_led { - device_type = "box_standby_led"; - gpio0 = <0x000000d6 0x0000000b 0x00000007 0x00000001 0xffffffff 0xffffffff 0x00000000>; - gpio1 = <0x000000d6 0x0000000b 0x00000004 0x00000001 0xffffffff 0xffffffff 0x00000001>; - }; - gpio_power_key { - device_type = "gpio_power_key"; - compatible = "allwinner,sunxi-gpio-power-key"; - status = "disabled"; - key_io = <0x000000d6 0x0000000b 0x00000005 0x00000000 0xffffffff 0xffffffff 0x00000000>; - trigger_mode = <0x00000001>; - }; - }; - aliases { - serial0 = "/soc@03000000/uart@05000000", "/soc@03000000/uart@05000000"; - serial1 = "/soc@03000000/uart@05000400", "/soc@03000000/uart@05000400"; - serial2 = "/soc@03000000/uart@05000800", "/soc@03000000/uart@05000800"; - serial3 = "/soc@03000000/uart@05000c00", "/soc@03000000/uart@05000c00"; - twi0 = "/soc@03000000/twi@0x05002000", "/soc@03000000/twi@0x05002000"; - twi1 = "/soc@03000000/twi@0x05002400", "/soc@03000000/twi@0x05002400"; - twi2 = "/soc@03000000/twi@0x05002800", "/soc@03000000/twi@0x05002800"; - twi3 = "/soc@03000000/twi@0x05002c00", "/soc@03000000/twi@0x05002c00"; - spi0 = "/soc@03000000/spi@05010000", "/soc@03000000/spi@05010000"; - spi1 = "/soc@03000000/spi@05011000", "/soc@03000000/spi@05011000"; - pcie = "/soc@03000000/pcie@0x05400000", "/soc@03000000/pcie@0x05400000"; - scr0 = "/soc@03000000/smartcard@0x05005000", "/soc@03000000/smartcard@0x05005000"; - scr1 = "/soc@03000000/smartcard@0x05005400", "/soc@03000000/smartcard@0x05005400"; - gmac0 = "/soc@03000000/eth@05020000", "/soc@03000000/eth@05020000"; - global_timer0 = "/soc@03000000/timer@03009000", "/soc@03000000/timer@03009000"; - mmc0 = "/soc@03000000/sdmmc@04020000", "/soc@03000000/sdmmc@04020000"; - mmc2 = "/soc@03000000/sdmmc@04022000", "/soc@03000000/sdmmc@04022000"; - nand0 = "/soc@03000000/nand0@04011000", "/soc@03000000/nand0@04011000"; - disp = "/soc@03000000/disp@01000000", "/soc@03000000/disp@01000000"; - lcd0 = "/soc@03000000/lcd0@01c0c000", "/soc@03000000/lcd0@01c0c000"; - lcd1 = "/soc@03000000/lcd1@01c0c001", "/soc@03000000/lcd1@01c0c001"; - hdmi = "/soc@03000000/hdmi@06000000", "/soc@03000000/hdmi@06000000"; - pwm = "/soc@03000000/pwm@0300a000", "/soc@03000000/pwm@0300a000"; - pwm0 = "/soc@03000000/pwm0@0300a000", "/soc@03000000/pwm0@0300a000"; - pwm1 = "/soc@03000000/pwm1@0300a000", "/soc@03000000/pwm1@0300a000"; - tv0 = "/soc@03000000/tv0@01c94000", "/soc@03000000/tv0@01c94000"; - s_pwm = "/soc@03000000/s_pwm@07020c00", "/soc@03000000/s_pwm@07020c00"; - spwm0 = "/soc@03000000/spwm0@07020c00", "/soc@03000000/spwm0@07020c00"; - ac200 = "/soc@03000000/ac200", "/soc@03000000/ac200"; - boot_disp = "/soc@03000000/boot_disp", "/soc@03000000/boot_disp"; - charger0 = "/soc@03000000/pmu@0/charger@0", "/soc@03000000/pmu@0/charger@0"; - regulator0 = "/soc@03000000/pmu@0/regulator@0", "/soc@03000000/pmu@0/regulator@0"; - }; - chosen { - bootargs = "earlyprintk=sunxi-uart,0x05000000 loglevel=8 initcall_debug=1 console=ttyS0 init=/init"; - linux,initrd-start = <0x00000000 0x00000000>; - linux,initrd-end = <0x00000000 0x00000000>; - }; - firmware { - android { - compatible = "android,firmware"; - boot_devices = "soc/sdc0,soc/sdc2,soc"; - fstab { - compatible = "android,fstab"; - vendor { - compatible = "android,vendor"; - dev = "/dev/block/by-name/vendor"; - fsmgr_flags = "wait,recoveryonly"; - mnt_flags = "ro,barrier=1"; - status = "ok"; - type = "ext4"; - }; - }; - }; - optee { - compatible = "linaro,optee-tz"; - method = "smc"; - }; - }; - cpus { - #address-cells = <0x00000002>; - #size-cells = <0x00000000>; - cpu@0 { - device_type = "cpu"; - compatible = "arm,cortex-a53", "arm,armv8"; - reg = <0x00000000 0x00000000>; - enable-method = "psci"; - clocks = <0x000000d7>; - clock-latency = <0x001e8480>; - clock-frequency = <0x4ead9a00>; - operating-points-v2 = <0x000000d8 0x000000d9 0x000000da>; - cpu-idle-states = <0x000000db 0x000000dc 0x000000dd>; - }; - cpu@1 { - device_type = "cpu"; - compatible = "arm,cortex-a53", "arm,armv8"; - reg = <0x00000000 0x00000001>; - enable-method = "psci"; - clocks = <0x000000d7>; - clock-frequency = <0x4ead9a00>; - operating-points-v2 = <0x000000d8 0x000000d9 0x000000da>; - cpu-idle-states = <0x000000db 0x000000dc 0x000000dd>; - }; - cpu@2 { - device_type = "cpu"; - compatible = "arm,cortex-a53", "arm,armv8"; - reg = <0x00000000 0x00000002>; - enable-method = "psci"; - clocks = <0x000000d7>; - clock-frequency = <0x4ead9a00>; - operating-points-v2 = <0x000000d8 0x000000d9 0x000000da>; - cpu-idle-states = <0x000000db 0x000000dc 0x000000dd>; - }; - cpu@3 { - device_type = "cpu"; - compatible = "arm,cortex-a53", "arm,armv8"; - reg = <0x00000000 0x00000003>; - enable-method = "psci"; - clocks = <0x000000d7>; - clock-frequency = <0x4ead9a00>; - operating-points-v2 = <0x000000d8 0x000000d9 0x000000da>; - cpu-idle-states = <0x000000db 0x000000dc 0x000000dd>; - }; - idle-states { - entry-method = "arm,psci"; - cpu-sleep-0 { - compatible = "arm,idle-state"; - arm,psci-suspend-param = <0x00010000>; - entry-latency-us = <0x00000fa0>; - exit-latency-us = <0x00002710>; - min-residency-us = <0x00003a98>; - linux,phandle = <0x000000db>; - phandle = <0x000000db>; - }; - cluster-sleep-0 { - compatible = "arm,idle-state"; - arm,psci-suspend-param = <0x01010000>; - entry-latency-us = <0x0000c350>; - exit-latency-us = <0x000186a0>; - min-residency-us = <0x0003d090>; - linux,phandle = <0x000000dc>; - phandle = <0x000000dc>; - }; - sys-sleep-0 { - compatible = "arm,idle-state"; - arm,psci-suspend-param = <0x02010000>; - entry-latency-us = <0x000186a0>; - exit-latency-us = <0x001e8480>; - min-residency-us = <0x0044aa20>; - linux,phandle = <0x000000dd>; - phandle = <0x000000dd>; - }; - }; - }; - 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 = <0x00000000 0x00000000 0x00000000 0x0000a000>; - }; - s_brom { - compatible = "allwinner,s-brom"; - reg = <0x00000000 0x00000000 0x00000000 0x00010000>; - }; - sram_ctrl { - device_type = "sram_ctrl"; - compatible = "allwinner,sram_ctrl"; - reg = <0x00000000 0x03000000 0x00000000 0x00000100>; - }; - sram_a1 { - compatible = "allwinner,sram_a1"; - reg = <0x00000000 0x00020000 0x00000000 0x00008000>; - }; - sram_a2 { - compatible = "allwinner,sram_a2"; - reg = <0x00000000 0x00100000 0x00000000 0x00014000>; - }; - prcm { - compatible = "allwinner,prcm"; - reg = <0x00000000 0x01f01400 0x00000000 0x00000400>; - }; - s_cpuscfg { - compatible = "allwinner,s_cpuscfg"; - reg = <0x00000000 0x01f01c00 0x00000000 0x00000400>; - }; - ion { - compatible = "allwinner,sunxi-ion"; - heap_sys_user@0 { - compatible = "allwinner,sys_user"; - heap-name = "sys_user"; - heap-id = <0x00000000>; - heap-base = <0x00000000>; - heap-size = <0x00000000>; - heap-type = "ion_system"; - }; - heap_sys_contig@0 { - compatible = "allwinner,sys_contig"; - heap-name = "sys_contig"; - heap-id = <0x00000001>; - heap-base = <0x00000000>; - heap-size = <0x00000000>; - heap-type = "ion_contig"; - }; - heap_cma@0 { - compatible = "allwinner,cma"; - heap-name = "cma"; - heap-id = <0x00000004>; - heap-base = <0x00000000>; - heap-size = <0x00000000>; - heap-type = "ion_cma"; - }; - heap_secure@0 { - compatible = "allwinner,secure"; - heap-name = "secure"; - heap-id = <0x00000006>; - heap-base = <0x00000000>; - heap-size = <0x00000000>; - heap-type = "ion_secure"; - }; - }; - dram { - compatible = "allwinner,dram"; - clocks = <0x000000de>; - clock-names = "pll_ddr"; - dram_clk = <0x00000000>; - dram_type = <0x00000007>; - dram_zq = <0x003b3bfb>; - dram_odt_en = <0x00000031>; - dram_para1 = <0x000030fa>; - dram_para2 = <0x04000000>; - dram_mr0 = <0x00001c70>; - dram_mr1 = <0x00000040>; - dram_mr2 = <0x00000018>; - dram_mr3 = <0x00000001>; - dram_tpr0 = <0x0048a192>; - dram_tpr1 = <0x01b1a94b>; - dram_tpr2 = <0x00061043>; - dram_tpr3 = <0x78787896>; - dram_tpr4 = <0x00000000>; - dram_tpr5 = <0x00000000>; - dram_tpr6 = <0x09090900>; - dram_tpr7 = <0x4d462a3e>; - dram_tpr8 = <0x00000000>; - dram_tpr9 = <0x00000000>; - dram_tpr10 = <0x00000000>; - dram_tpr11 = <0x00440000>; - dram_tpr12 = <0x00000000>; - dram_tpr13 = <0x00000000>; - device_type = "dram"; - dram_mr4 = <0x00000000>; - dram_mr5 = <0x00000400>; - dram_mr6 = <0x00000848>; - }; - memory@40000000 { - device_type = "memory"; - reg = <0x00000000 0x40000000 0x00000000 0x20000000>; - }; - interrupt-controller@03020000 { - compatible = "arm,cortex-a15-gic", "arm,cortex-a9-gic"; - #interrupt-cells = <0x00000003>; - #address-cells = <0x00000000>; - device_type = "gic"; - interrupt-controller; - reg = <0x00000000 0x03021000 0x00000000 0x00001000 0x00000000 0x03022000 0x00000000 0x00002000 0x00000000 0x03024000 0x00000000 0x00002000 0x00000000 0x03026000 0x00000000 0x00002000>; - interrupts = <0x00000001 0x00000009 0x00000f04>; - linux,phandle = <0x00000001>; - phandle = <0x00000001>; - }; - sunxi-sid@03006000 { - compatible = "allwinner,sunxi-sid"; - device_type = "sid"; - reg = <0x00000000 0x03006000 0x00000000 0x00001000>; - }; - sunxi-chipid@03006200 { - compatible = "allwinner,sunxi-chipid"; - device_type = "chipid"; - reg = <0x00000000 0x03006200 0x00000000 0x00000200>; - }; - timer_arch { - compatible = "arm,armv8-timer"; - interrupts = <0x00000001 0x0000000d 0x00000f08 0x00000001 0x0000000e 0x00000f08 0x00000001 0x0000000b 0x00000f08 0x00000001 0x0000000a 0x00000f08>; - clock-frequency = <0x016e3600>; - arm,no-tick-in-suspend; - }; - pmu { - compatible = "arm,armv8-pmuv3"; - interrupts = <0x00000000 0x0000008c 0x00000004 0x00000000 0x0000008d 0x00000004 0x00000000 0x0000008e 0x00000004 0x00000000 0x0000008f 0x00000004>; - }; - opp_dvfs_table { - cluster_num = <0x00000001>; - opp_table_count = <0x00000003>; - opp_l_table0 { - compatible = "allwinner,opp_l_table0"; - opp_count = <0x00000008>; - opp-shared; - linux,phandle = <0x000000d8>; - phandle = <0x000000d8>; - opp00 { - opp-hz = <0x00000000 0x1c9c3800>; - opp-microvolt = <0x000d6d80>; - axi-bus-divide-ratio = <0x00000003>; - clock-latency-ns = <0x001e8480>; - pval = <0x00000af0>; - }; - opp01 { - opp-hz = <0x00000000 0x2aea5400>; - opp-microvolt = <0x000d6d80>; - axi-bus-divide-ratio = <0x00000003>; - clock-latency-ns = <0x001e8480>; - pval = <0x00000af0>; - }; - opp02 { - opp-hz = <0x00000000 0x30a32c00>; - opp-microvolt = <0x000d6d80>; - axi-bus-divide-ratio = <0x00000003>; - clock-latency-ns = <0x001e8480>; - pval = <0x00000af0>; - }; - opp03 { - opp-hz = <0x00000000 0x34edce00>; - opp-microvolt = <0x000d6d80>; - axi-bus-divide-ratio = <0x00000003>; - clock-latency-ns = <0x001e8480>; - pval = <0x00000af0>; - }; - opp04 { - opp-hz = <0x00000000 0x405f7e00>; - opp-microvolt = <0x000e57e0>; - axi-bus-divide-ratio = <0x00000003>; - clock-latency-ns = <0x001e8480>; - pval = <0x00000c1c>; - }; - opp05 { - opp-hz = <0x00000000 0x4ead9a00>; - opp-microvolt = <0x000f4240>; - axi-bus-divide-ratio = <0x00000003>; - clock-latency-ns = <0x001e8480>; - pval = <0x00000e42>; - }; - opp06 { - opp-hz = <0x00000000 0x58b11400>; - opp-microvolt = <0x00102ca0>; - axi-bus-divide-ratio = <0x00000003>; - clock-latency-ns = <0x001e8480>; - pval = <0x00000f6e>; - }; - }; - opp_l_table1 { - compatible = "allwinner,opp_l_table1"; - opp_count = <0x00000008>; - opp-shared; - linux,phandle = <0x000000d9>; - phandle = <0x000000d9>; - opp00 { - opp-hz = <0x00000000 0x1c9c3800>; - opp-microvolt = <0x000c8320>; - axi-bus-divide-ratio = <0x00000003>; - clock-latency-ns = <0x001e8480>; - pval = <0x00000af0>; - }; - opp01 { - opp-hz = <0x00000000 0x2aea5400>; - opp-microvolt = <0x000c8320>; - axi-bus-divide-ratio = <0x00000003>; - clock-latency-ns = <0x001e8480>; - pval = <0x00000af0>; - }; - opp02 { - opp-hz = <0x00000000 0x30a32c00>; - opp-microvolt = <0x000c8320>; - axi-bus-divide-ratio = <0x00000003>; - clock-latency-ns = <0x001e8480>; - pval = <0x00000af0>; - }; - opp03 { - opp-hz = <0x00000000 0x34edce00>; - opp-microvolt = <0x000c8320>; - axi-bus-divide-ratio = <0x00000003>; - clock-latency-ns = <0x001e8480>; - pval = <0x00000af0>; - }; - opp04 { - opp-hz = <0x00000000 0x405f7e00>; - opp-microvolt = <0x000d6d80>; - axi-bus-divide-ratio = <0x00000003>; - clock-latency-ns = <0x001e8480>; - pval = <0x00000c1c>; - }; - opp05 { - opp-hz = <0x00000000 0x4ead9a00>; - opp-microvolt = <0x000e57e0>; - axi-bus-divide-ratio = <0x00000003>; - clock-latency-ns = <0x001e8480>; - pval = <0x00000e42>; - }; - opp06 { - opp-hz = <0x00000000 0x58b11400>; - opp-microvolt = <0x000f4240>; - axi-bus-divide-ratio = <0x00000003>; - clock-latency-ns = <0x001e8480>; - pval = <0x00000f6e>; - }; - }; - opp_l_table2 { - compatible = "allwinner,opp_l_table2"; - opp_count = <0x00000008>; - opp-shared; - linux,phandle = <0x000000da>; - phandle = <0x000000da>; - opp00 { - opp-hz = <0x00000000 0x1c9c3800>; - opp-microvolt = <0x000c3500>; - axi-bus-divide-ratio = <0x00000003>; - clock-latency-ns = <0x001e8480>; - pval = <0x00000af0>; - }; - opp01 { - opp-hz = <0x00000000 0x2aea5400>; - opp-microvolt = <0x000c3500>; - axi-bus-divide-ratio = <0x00000003>; - clock-latency-ns = <0x001e8480>; - pval = <0x00000af0>; - }; - opp02 { - opp-hz = <0x00000000 0x30a32c00>; - opp-microvolt = <0x000c3500>; - axi-bus-divide-ratio = <0x00000003>; - clock-latency-ns = <0x001e8480>; - pval = <0x00000af0>; - }; - opp03 { - opp-hz = <0x00000000 0x34edce00>; - opp-microvolt = <0x000c3500>; - axi-bus-divide-ratio = <0x00000003>; - clock-latency-ns = <0x001e8480>; - pval = <0x00000af0>; - }; - opp04 { - opp-hz = <0x00000000 0x405f7e00>; - opp-microvolt = <0x000cd140>; - axi-bus-divide-ratio = <0x00000003>; - clock-latency-ns = <0x001e8480>; - pval = <0x00000c1c>; - }; - opp05 { - opp-hz = <0x00000000 0x4ead9a00>; - opp-microvolt = <0x000dbba0>; - axi-bus-divide-ratio = <0x00000003>; - clock-latency-ns = <0x001e8480>; - pval = <0x00000e42>; - }; - opp06 { - opp-hz = <0x00000000 0x58b11400>; - opp-microvolt = <0x000ea600>; - axi-bus-divide-ratio = <0x00000003>; - clock-latency-ns = <0x001e8480>; - pval = <0x00000f6e>; - }; - }; - }; - dramfreq { - compatible = "allwinner,sunxi-dramfreq"; - reg = <0x00000000 0x04002000 0x00000000 0x00001000 0x00000000 0x04003000 0x00000000 0x00003000 0x00000000 0x03001000 0x00000000 0x00001000>; - interrupts = <0x00000000 0x00000021 0x00000004>; - clocks = <0x000000de>; - status = "okay"; - }; - uboot { - }; - iommu@030f0000 { - compatible = "allwinner,sunxi-iommu"; - reg = <0x00000000 0x030f0000 0x00000000 0x00001000>; - interrupts = <0x00000000 0x00000039 0x00000004>; - interrupt-names = "iommu-irq"; - clocks = <0x000000df>; - clock-names = "iommu"; - #iommu-cells = <0x00000002>; - status = "okay"; - linux,phandle = <0x00000021>; - phandle = <0x00000021>; - }; - gpu@0x01800000 { - device_type = "gpu"; - compatible = "arm,mali-t720", "arm,mali-midgard"; - reg = <0x00000000 0x01800000 0x00000000 0x00004000>; - interrupts = <0x00000000 0x00000053 0x00000004 0x00000000 0x00000054 0x00000004 0x00000000 0x00000055 0x00000004>; - interrupt-names = "GPU", "JOB", "MMU"; - clocks = <0x000000e0 0x000000e1>; - clock-names = "clk_parent", "clk_mali"; - operating-points = <0x000b8920 0x000fde80 0x00098580 0x000e7ef0 0x0008ca00 0x000e30d0 0x00083d60 0x000de2b0 0x0007b0c0 0x000d9490 0x0006f540 0x000d4670 0x00069780 0x000d1f60 0x000668a0 0x000cf850 0x000639c0 0x000cd140 0x0005dc00 0x000caa30 0x00057e40 0x000c8320 0x00052080 0x000c5c10 0x0004c2c0 0x000c5c10 0x00040740 0x000c5c10 0x00034bc0 0x000c5c10>; - gpu_idle = <0x00000000>; - dvfs_status = <0x00000001>; - temp_ctrl_status = <0x00000001>; - scene_ctrl_status = <0x00000001>; - max_normal_level = <0x0000000d>; - }; -}; diff --git a/external/packages/pack-uboot/sun50iw6/bin/boot_package.cfg b/external/packages/pack-uboot/sun50iw6/bin/boot_package.cfg index 7127ab4..de7b2bc 100755 --- a/external/packages/pack-uboot/sun50iw6/bin/boot_package.cfg +++ b/external/packages/pack-uboot/sun50iw6/bin/boot_package.cfg @@ -1,8 +1,11 @@ -[package] -;item=Item_TOC_name, Item_filename, -item=u-boot, u-boot.fex -item=parameter, parameter.fex -item=monitor, monitor.fex -item=scp, scp.fex -item=soc-cfg, config.fex -item=dtb, sunxi.fex +[package] +;item=Item_TOC_name, Item_filename, +item=u-boot, u-boot.fex +item=parameter, parameter.fex +item=monitor, monitor.fex +item=scp, scp.fex +item=soc-cfg, config.fex +item=dtb, sunxi.fex +;item=board-cfg, board.fex +;item=board-fex, board_config.fex +;item=esm-img, esm.fex diff --git a/external/packages/pack-uboot/sun50iw6/bin/boot_package.fex b/external/packages/pack-uboot/sun50iw6/bin/boot_package.fex deleted file mode 100644 index 9daeafb..0000000 --- a/external/packages/pack-uboot/sun50iw6/bin/boot_package.fex +++ /dev/null @@ -1 +0,0 @@ -test diff --git a/external/packages/pack-uboot/sun50iw6/bin/dtc_src_file b/external/packages/pack-uboot/sun50iw6/bin/dtc_src_file deleted file mode 100644 index 732d9a4..0000000 --- a/external/packages/pack-uboot/sun50iw6/bin/dtc_src_file +++ /dev/null @@ -1,3697 +0,0 @@ -# 1 "arch/arm64/boot/dts/sunxi/sun50iw6p1-soc.dts" -# 1 "" -# 1 "" -# 1 "arch/arm64/boot/dts/sunxi/sun50iw6p1-soc.dts" - - - - - - -/dts-v1/; - -# 1 "arch/arm64/boot/dts/sunxi/sun50iw6p1.dtsi" 1 - - - - - - - -/memreserve/ 0x40020000 0x00000800; -/memreserve/ 0x48000000 0x01000000; - - -/memreserve/ 0x48100000 0x00004000; -/memreserve/ 0x48104000 0x00001000; -/memreserve/ 0x48105000 0x00001000; - -# 1 "./arch/arm64/boot/dts/include/dt-bindings/interrupt-controller/arm-gic.h" 1 - - - - - - - -# 1 "./arch/arm64/boot/dts/include/dt-bindings/interrupt-controller/irq.h" 1 -# 9 "./arch/arm64/boot/dts/include/dt-bindings/interrupt-controller/arm-gic.h" 2 -# 17 "arch/arm64/boot/dts/sunxi/sun50iw6p1.dtsi" 2 -# 1 "./arch/arm64/boot/dts/include/dt-bindings/gpio/gpio.h" 1 -# 18 "arch/arm64/boot/dts/sunxi/sun50iw6p1.dtsi" 2 -# 1 "arch/arm64/boot/dts/sunxi/sun50iw6p1-clk.dtsi" 1 -/{ -clocks { - compatible = "allwinner,clk-init"; - device_type = "clocks"; - #address-cells = <2>; - #size-cells = <2>; - ranges; - reg = <0x0 0x03001000 0x0 0x1000>, - <0x0 0x07010000 0x0 0x400>, - <0x0 0x07000000 0x0 0x4>; - - - clk_losc: losc { - #clock-cells = <0>; - compatible = "allwinner,fixed-clock"; - clock-frequency = <32768>; - clock-output-names = "losc"; - }; - clk_iosc: iosc { - #clock-cells = <0>; - compatible = "allwinner,fixed-clock"; - clock-frequency = <16000000>; - clock-output-names = "iosc"; - }; - clk_hosc: hosc { - #clock-cells = <0>; - compatible = "allwinner,fixed-clock"; - clock-frequency = <24000000>; - clock-output-names = "hosc"; - }; - clk_osc48m: osc48m { - #clock-cells = <0>; - compatible = "allwinner,fixed-clock"; - clock-frequency = <48000000>; - clock-output-names = "osc48m"; - }; - - - clk_pll_cpu: pll_cpu { - #clock-cells = <0>; - compatible = "allwinner,pll-clock"; - lock-mode = "new"; - clock-output-names = "pll_cpu"; - }; - clk_pll_ddr0: pll_ddr0 { - #clock-cells = <0>; - compatible = "allwinner,pll-clock"; - lock-mode = "new"; - clock-output-names = "pll_ddr0"; - }; - clk_pll_periph0: pll_periph0 { - #clock-cells = <0>; - compatible = "allwinner,pll-clock"; - assigned-clock-rates = <600000000>; - lock-mode = "new"; - clock-output-names = "pll_periph0"; - }; - clk_pll_periph1: pll_periph1 { - #clock-cells = <0>; - compatible = "allwinner,pll-clock"; - assigned-clock-rates = <600000000>; - lock-mode = "new"; - clock-output-names = "pll_periph1"; - }; - clk_pll_gpu: pll_gpu { - #clock-cells = <0>; - compatible = "allwinner,pll-clock"; - lock-mode = "new"; - clock-output-names = "pll_gpu"; - }; - clk_pll_video0: pll_video0 { - #clock-cells = <0>; - compatible = "allwinner,pll-clock"; - lock-mode = "new"; - clock-output-names = "pll_video0"; - }; - clk_pll_video1: pll_video1 { - #clock-cells = <0>; - compatible = "allwinner,pll-clock"; - lock-mode = "new"; - assigned-clock-rates = <594000000>; - clock-output-names = "pll_video1"; - }; - clk_pll_ve: pll_ve { - #clock-cells = <0>; - compatible = "allwinner,pll-clock"; - device_type = "clk_pll_ve"; - lock-mode = "new"; - - clock-output-names = "pll_ve"; - }; - clk_pll_de: pll_de { - #clock-cells = <0>; - compatible = "allwinner,pll-clock"; - assigned-clock-rates = <696000000>; - lock-mode = "new"; - clock-output-names = "pll_de"; - }; - clk_pll_hsic: pll_hsic { - #clock-cells = <0>; - compatible = "allwinner,pll-clock"; - lock-mode = "new"; - clock-output-names = "pll_hsic"; - }; - clk_pll_audio: pll_audio { - #clock-cells = <0>; - compatible = "allwinner,pll-clock"; - lock-mode = "new"; - clock-output-names = "pll_audio"; - }; - - - clk_pll_periph0x2: pll_periph0x2 { - #clock-cells = <0>; - compatible = "allwinner,fixed-factor-clock"; - clocks = <&clk_pll_periph0>; - clock-mult = <2>; - clock-div = <1>; - clock-output-names = "pll_periph0x2"; - }; - clk_pll_periph0x4: pll_periph0x4 { - #clock-cells = <0>; - compatible = "allwinner,fixed-factor-clock"; - clocks = <&clk_pll_periph0>; - clock-mult = <4>; - clock-div = <1>; - clock-output-names = "pll_periph0x4"; - }; - clk_periph32k: periph32k { - #clock-cells = <0>; - compatible = "allwinner,fixed-factor-clock"; - clocks = <&clk_pll_periph0>; - clock-mult = <2>; - clock-div = <36621>; - clock-output-names = "periph32k"; - }; - clk_pll_periph1x2: pll_periph1x2 { - #clock-cells = <0>; - compatible = "allwinner,fixed-factor-clock"; - clocks = <&clk_pll_periph1>; - clock-mult = <2>; - clock-div = <1>; - clock-output-names = "pll_periph1x2"; - }; - clk_pll_audiox4: pll_audiox4 { - #clock-cells = <0>; - compatible = "allwinner,fixed-factor-clock"; - clocks = <&clk_pll_audio>; - clock-mult = <4>; - clock-div = <1>; - clock-output-names = "pll_audiox4"; - }; - clk_pll_audiox2: pll_audiox2 { - #clock-cells = <0>; - compatible = "allwinner,fixed-factor-clock"; - clocks = <&clk_pll_audio>; - clock-mult = <2>; - clock-div = <1>; - clock-output-names = "pll_audiox2"; - }; - clk_pll_video0x4: pll_video0x4 { - #clock-cells = <0>; - compatible = "allwinner,fixed-factor-clock"; - clocks = <&clk_pll_video0>; - clock-mult = <4>; - clock-div = <1>; - clock-output-names = "pll_video0x4"; - }; - clk_pll_video1x4: pll_video1x4 { - #clock-cells = <0>; - compatible = "allwinner,fixed-factor-clock"; - clocks = <&clk_pll_video1>; - clock-mult = <4>; - clock-div = <1>; - clock-output-names = "pll_video1x4"; - }; - clk_hoscd2: hoscd2 { - #clock-cells = <0>; - compatible = "allwinner,fixed-factor-clock"; - clocks = <&clk_hosc>; - clock-mult = <1>; - clock-div = <2>; - clock-output-names = "hoscd2"; - }; - clk_osc48md4: osc48md4 { - #clock-cells = <0>; - compatible = "allwinner,fixed-factor-clock"; - clocks = <&clk_osc48m>; - clock-mult = <1>; - clock-div = <4>; - clock-output-names = "osc48md4"; - }; - clk_pll_periph0d6: pll_periph0d6 { - #clock-cells = <0>; - compatible = "allwinner,fixed-factor-clock"; - clocks = <&clk_pll_periph0>; - clock-mult = <1>; - clock-div = <6>; - clock-output-names = "pll_periph0d6"; - }; - - - clk_cpu: cpu { - #clock-cells = <0>; - compatible = "allwinner,periph-clock"; - clock-output-names = "cpu"; - }; - clk_axi: axi { - #clock-cells = <0>; - compatible = "allwinner,periph-clock"; - clock-output-names = "axi"; - }; - clk_cpuapb: cpuapb { - #clock-cells = <0>; - compatible = "allwinner,periph-clock"; - clock-output-names = "cpuapb"; - }; - clk_psi: psi { - #clock-cells = <0>; - compatible = "allwinner,periph-clock"; - clock-output-names = "psi"; - }; - clk_ahb1: ahb1 { - #clock-cells = <0>; - compatible = "allwinner,periph-clock"; - clock-output-names = "ahb1"; - }; - clk_ahb2: ahb2 { - #clock-cells = <0>; - compatible = "allwinner,periph-clock"; - clock-output-names = "ahb2"; - }; - clk_ahb3: ahb3 { - #clock-cells = <0>; - compatible = "allwinner,periph-clock"; - clock-output-names = "ahb3"; - }; - clk_apb1: apb1 { - #clock-cells = <0>; - compatible = "allwinner,periph-clock"; - clock-output-names = "apb1"; - }; - clk_apb2: apb2 { - #clock-cells = <0>; - compatible = "allwinner,periph-clock"; - clock-output-names = "apb2"; - }; - clk_mbus: mbus { - #clock-cells = <0>; - compatible = "allwinner,periph-clock"; - clock-output-names = "mbus"; - }; - clk_de: de { - #clock-cells = <0>; - compatible = "allwinner,periph-clock"; - assigned-clock-parents = <&clk_pll_de>; - assigned-clock-rates = <696000000>; - assigned-clocks = <&clk_de>; - clock-output-names = "de"; - }; - clk_di: di { - #clock-cells = <0>; - compatible = "allwinner,periph-clock"; - clock-output-names = "di"; - }; - clk_gpu: gpu { - #clock-cells = <0>; - compatible = "allwinner,periph-clock"; - clock-output-names = "gpu"; - }; - clk_ce: ce { - #clock-cells = <0>; - compatible = "allwinner,periph-clock"; - clock-output-names = "ce"; - }; - clk_ve: ve { - #clock-cells = <0>; - compatible = "allwinner,periph-clock"; - clock-output-names = "ve"; - }; - clk_emce: emce { - #clock-cells = <0>; - compatible = "allwinner,periph-clock"; - clock-output-names = "emce"; - }; - clk_vp9: vp9 { - #clock-cells = <0>; - compatible = "allwinner,periph-clock"; - clock-output-names = "vp9"; - }; - clk_dma: dma { - #clock-cells = <0>; - compatible = "allwinner,periph-clock"; - clock-output-names = "dma"; - }; - clk_msgbox: msgbox { - #clock-cells = <0>; - compatible = "allwinner,periph-clock"; - clock-output-names = "msgbox"; - }; - clk_hwspinlock_rst: hwspinlock_rst { - #clock-cells = <0>; - compatible = "allwinner,periph-clock"; - clock-output-names = "hwspinlock_rst"; - }; - clk_hwspinlock_bus: hwspinlock_bus { - #clock-cells = <0>; - compatible = "allwinner,periph-clock"; - clock-output-names = "hwspinlock_bus"; - }; - clk_hstimer: hstimer { - #clock-cells = <0>; - compatible = "allwinner,periph-clock"; - clock-output-names = "hstimer"; - }; - clk_avs: avs { - #clock-cells = <0>; - compatible = "allwinner,periph-clock"; - clock-output-names = "avs"; - }; - clk_dbgsys: dbgsys { - #clock-cells = <0>; - compatible = "allwinner,periph-clock"; - clock-output-names = "dbgsys"; - }; - clk_pwm: pwm { - #clock-cells = <0>; - compatible = "allwinner,periph-clock"; - clock-output-names = "pwm"; - }; - clk_iommu: iommu { - #clock-cells = <0>; - compatible = "allwinner,periph-clock"; - clock-output-names = "iommu"; - }; - clk_sdram: sdram { - #clock-cells = <0>; - compatible = "allwinner,periph-clock"; - clock-output-names = "sdram"; - }; - clk_nand0: nand0 { - #clock-cells = <0>; - compatible = "allwinner,periph-clock"; - clock-output-names = "nand0"; - }; - clk_nand1: nand1 { - #clock-cells = <0>; - compatible = "allwinner,periph-clock"; - clock-output-names = "nand1"; - }; - clk_sdmmc0_mod: sdmmc0_mod { - #clock-cells = <0>; - compatible = "allwinner,periph-clock"; - clock-output-names = "sdmmc0_mod"; - }; - clk_sdmmc0_bus: sdmmc0_bus { - #clock-cells = <0>; - compatible = "allwinner,periph-clock"; - clock-output-names = "sdmmc0_bus"; - }; - clk_sdmmc0_rst: sdmmc0_rst { - #clock-cells = <0>; - compatible = "allwinner,periph-clock"; - clock-output-names = "sdmmc0_rst"; - }; - clk_sdmmc1_mod: sdmmc1_mod { - #clock-cells = <0>; - compatible = "allwinner,periph-clock"; - clock-output-names = "sdmmc1_mod"; - }; - clk_sdmmc1_bus: sdmmc1_bus { - #clock-cells = <0>; - compatible = "allwinner,periph-clock"; - clock-output-names = "sdmmc1_bus"; - }; - clk_sdmmc1_rst: sdmmc1_rst { - #clock-cells = <0>; - compatible = "allwinner,periph-clock"; - clock-output-names = "sdmmc1_rst"; - }; - clk_sdmmc2_mod: sdmmc2_mod { - #clock-cells = <0>; - compatible = "allwinner,periph-clock"; - clock-output-names = "sdmmc2_mod"; - }; - clk_sdmmc2_bus: sdmmc2_bus { - #clock-cells = <0>; - compatible = "allwinner,periph-clock"; - clock-output-names = "sdmmc2_bus"; - }; - clk_sdmmc2_rst: sdmmc2_rst { - #clock-cells = <0>; - compatible = "allwinner,periph-clock"; - clock-output-names = "sdmmc2_rst"; - }; - clk_uart0: uart0 { - #clock-cells = <0>; - compatible = "allwinner,periph-clock"; - clock-output-names = "uart0"; - }; - clk_uart1: uart1 { - #clock-cells = <0>; - compatible = "allwinner,periph-clock"; - clock-output-names = "uart1"; - }; - clk_uart2: uart2 { - #clock-cells = <0>; - compatible = "allwinner,periph-clock"; - clock-output-names = "uart2"; - }; - clk_uart3: uart3 { - #clock-cells = <0>; - compatible = "allwinner,periph-clock"; - clock-output-names = "uart3"; - }; - clk_twi0: twi0 { - #clock-cells = <0>; - compatible = "allwinner,periph-clock"; - clock-output-names = "twi0"; - }; - clk_twi1: twi1 { - #clock-cells = <0>; - compatible = "allwinner,periph-clock"; - clock-output-names = "twi1"; - }; - clk_twi2: twi2 { - #clock-cells = <0>; - compatible = "allwinner,periph-clock"; - clock-output-names = "twi2"; - }; - clk_twi3: twi3 { - #clock-cells = <0>; - compatible = "allwinner,periph-clock"; - clock-output-names = "twi3"; - }; - clk_scr0: scr0 { - #clock-cells = <0>; - compatible = "allwinner,periph-clock"; - clock-output-names = "scr0"; - }; - clk_scr1: scr1 { - #clock-cells = <0>; - compatible = "allwinner,periph-clock"; - clock-output-names = "scr1"; - }; - clk_spi0: spi0 { - #clock-cells = <0>; - compatible = "allwinner,periph-clock"; - clock-output-names = "spi0"; - }; - clk_spi1: spi1 { - #clock-cells = <0>; - compatible = "allwinner,periph-clock"; - clock-output-names = "spi1"; - }; - clk_gmac: gmac { - #clock-cells = <0>; - compatible = "allwinner,periph-clock"; - clock-output-names = "gmac"; - }; - clk_sata: sata { - #clock-cells = <0>; - compatible = "allwinner,periph-clock"; - clock-output-names = "sata"; - }; - clk_sata_24m: sata_24m { - #clock-cells = <0>; - compatible = "allwinner,periph-clock"; - clock-output-names = "sata_24m"; - }; - clk_ts: ts { - #clock-cells = <0>; - compatible = "allwinner,periph-clock"; - clock-output-names = "ts"; - }; - clk_irtx: irtx { - #clock-cells = <0>; - compatible = "allwinner,periph-clock"; - clock-output-names = "irtx"; - }; - clk_ths: ths { - #clock-cells = <0>; - compatible = "allwinner,periph-clock"; - clock-output-names = "ths"; - }; - clk_i2s0: i2s0 { - #clock-cells = <0>; - compatible = "allwinner,periph-clock"; - clock-output-names = "i2s0"; - }; - clk_i2s1: i2s1 { - #clock-cells = <0>; - compatible = "allwinner,periph-clock"; - clock-output-names = "i2s1"; - }; - clk_i2s2: i2s2 { - #clock-cells = <0>; - compatible = "allwinner,periph-clock"; - clock-output-names = "i2s2"; - }; - clk_i2s3: i2s3 { - #clock-cells = <0>; - compatible = "allwinner,periph-clock"; - clock-output-names = "i2s3"; - }; - clk_spdif: spdif { - #clock-cells = <0>; - compatible = "allwinner,periph-clock"; - clock-output-names = "spdif"; - }; - clk_dmic: dmic { - #clock-cells = <0>; - compatible = "allwinner,periph-clock"; - clock-output-names = "dmic"; - }; - clk_ahub: ahub { - #clock-cells = <0>; - compatible = "allwinner,periph-clock"; - clock-output-names = "ahub"; - }; - clk_usbphy0: usbphy0 { - #clock-cells = <0>; - compatible = "allwinner,periph-clock"; - clock-output-names = "usbphy0"; - }; - clk_usbphy1: usbphy1 { - #clock-cells = <0>; - compatible = "allwinner,periph-clock"; - clock-output-names = "usbphy1"; - }; - clk_usbphy3: usbphy3 { - #clock-cells = <0>; - compatible = "allwinner,periph-clock"; - clock-output-names = "usbphy3"; - }; - clk_usbohci0: usbohci0 { - #clock-cells = <0>; - compatible = "allwinner,periph-clock"; - clock-output-names = "usbohci0"; - }; - clk_usbohci0_12m: usbohci0_12m { - #clock-cells = <0>; - compatible = "allwinner,periph-clock"; - clock-output-names = "usbohci0_12m"; - }; - clk_usbohci3: usbohci3 { - #clock-cells = <0>; - compatible = "allwinner,periph-clock"; - clock-output-names = "usbohci3"; - }; - clk_usbohci3_12m: usbohci3_12m { - #clock-cells = <0>; - compatible = "allwinner,periph-clock"; - clock-output-names = "usbohci3_12m"; - }; - clk_usbehci0: usbehci0 { - #clock-cells = <0>; - compatible = "allwinner,periph-clock"; - clock-output-names = "usbehci0"; - }; - clk_usbehci3: usbehci3 { - #clock-cells = <0>; - compatible = "allwinner,periph-clock"; - clock-output-names = "usbehci3"; - }; - clk_usb3_0_host: usb3_0_host { - #clock-cells = <0>; - compatible = "allwinner,periph-clock"; - clock-output-names = "usb3_0_host"; - }; - clk_usbotg: usbotg { - #clock-cells = <0>; - compatible = "allwinner,periph-clock"; - clock-output-names = "usbotg"; - }; - clk_usbhsic: usbhsic { - #clock-cells = <0>; - compatible = "allwinner,periph-clock"; - clock-output-names = "usbhsic"; - }; - clk_pcieref: pcieref { - #clock-cells = <0>; - compatible = "allwinner,periph-clock"; - clock-output-names = "pcieref"; - }; - clk_pciemaxi: pciemaxi { - #clock-cells = <0>; - compatible = "allwinner,periph-clock"; - assigned-clocks = <&clk_pciemaxi>; - assigned-clock-rates = <200000000>; - clock-output-names = "pciemaxi"; - }; - clk_pcieaux: pcieaux { - #clock-cells = <0>; - compatible = "allwinner,periph-clock"; - assigned-clock-rates = <1000000>; - assigned-clocks = <&clk_pcieaux>; - clock-output-names = "pcieaux"; - }; - clk_pcie_bus: pcie_bus { - #clock-cells = <0>; - compatible = "allwinner,periph-clock"; - clock-output-names = "pcie_bus"; - }; - clk_pcie_power: pcie_power { - #clock-cells = <0>; - compatible = "allwinner,periph-clock"; - clock-output-names = "pcie_power"; - }; - clk_pcie_rst: pcie_rst { - #clock-cells = <0>; - compatible = "allwinner,periph-clock"; - clock-output-names = "pcie_rst"; - }; - clk_hdmi: hdmi { - #clock-cells = <0>; - compatible = "allwinner,periph-clock"; - assigned-clock-parents = <&clk_pll_video1>; - assigned-clocks = <&clk_hdmi>; - clock-output-names = "hdmi"; - }; - clk_hdmi_slow: hdmi_slow { - #clock-cells = <0>; - compatible = "allwinner,periph-clock"; - assigned-clocks = <&clk_hdmi_slow>; - clock-output-names = "hdmi_slow"; - }; - clk_hdmi_cec: hdmi_cec { - #clock-cells = <0>; - compatible = "allwinner,periph-clock"; - assigned-clocks = <&clk_hdmi_cec>; - clock-output-names = "hdmi_cec"; - }; - clk_display_top: display_top { - #clock-cells = <0>; - compatible = "allwinner,periph-clock"; - clock-output-names = "display_top"; - }; - clk_tcon_lcd: tcon_lcd { - #clock-cells = <0>; - compatible = "allwinner,periph-clock"; - clock-output-names = "tcon_lcd"; - }; - clk_tcon_tv: tcon_tv { - #clock-cells = <0>; - compatible = "allwinner,periph-clock"; - assigned-clock-parents = <&clk_pll_video1>; - assigned-clocks = <&clk_tcon_tv>; - clock-output-names = "tcon_tv"; - }; - clk_csi_misc: csi_misc { - #clock-cells = <0>; - compatible = "allwinner,periph-clock"; - clock-output-names = "csi_misc"; - }; - clk_csi_top: csi_top { - #clock-cells = <0>; - compatible = "allwinner,periph-clock"; - clock-output-names = "csi_top"; - }; - clk_csi_master0: csi_master0 { - #clock-cells = <0>; - compatible = "allwinner,periph-clock"; - clock-output-names = "csi_master0"; - }; - clk_hdmi_hdcp: hdmi_hdcp { - #clock-cells = <0>; - compatible = "allwinner,periph-clock"; - assigned-clock-parents = <&clk_pll_periph1>; - assigned-clocks = <&clk_hdmi_hdcp>; - clock-output-names = "hdmi_hdcp"; - }; - clk_pio: pio { - #clock-cells = <0>; - compatible = "allwinner,periph-clock"; - clock-output-names = "pio"; - }; - - - clk_cpurcir: cpurcir { - #clock-cells = <0>; - compatible = "allwinner,periph-cpus-clock"; - clock-output-names = "cpurcir"; - }; - clk_losc_out: losc_out { - #clock-cells = <0>; - compatible = "allwinner,periph-cpus-clock"; - clock-output-names = "losc_out"; - }; - - clk_cpurcpus_pll: cpurcpus_pll { - #clock-cells = <0>; - compatible = "allwinner,periph-cpus-clock"; - clock-output-names = "cpurcpus_pll"; - }; - clk_cpurcpus: cpurcpus { - #clock-cells = <0>; - compatible = "allwinner,periph-cpus-clock"; - clock-output-names = "cpurcpus"; - }; - clk_cpurahbs: cpurahbs { - #clock-cells = <0>; - compatible = "allwinner,periph-cpus-clock"; - clock-output-names = "cpurahbs"; - }; - clk_cpurapbs1: cpurapbs1 { - #clock-cells = <0>; - compatible = "allwinner,periph-cpus-clock"; - clock-output-names = "cpurapbs1"; - }; - clk_cpurapbs2_pll: cpurapbs2_pll { - #clock-cells = <0>; - compatible = "allwinner,periph-cpus-clock"; - clock-output-names = "cpurapbs2_pll"; - }; - clk_cpurapbs2: cpurapbs2 { - #clock-cells = <0>; - compatible = "allwinner,periph-cpus-clock"; - clock-output-names = "cpurapbs2"; - }; - clk_cpurpio: cpurpio { - #clock-cells = <0>; - compatible = "allwinner,periph-cpus-clock"; - clock-output-names = "cpurpio"; - }; - clk_spwm: spwm { - #clock-cells = <0>; - compatible = "allwinner,periph-cpus-clock"; - clock-output-names = "spwm"; - }; - clk_dcxo_out: dcxo_out { - #clock-cells = <0>; - compatible = "allwinner,periph-cpus-clock"; - clock-output-names = "dcxo_out"; - }; - }; -}; -# 19 "arch/arm64/boot/dts/sunxi/sun50iw6p1.dtsi" 2 -# 1 "arch/arm64/boot/dts/sunxi/sun50iw6p1-pinctrl.dtsi" 1 - - - - -/ { - soc@03000000{ - r_pio: pinctrl@07022000 { - compatible = "allwinner,sun50iw6p1-r-pinctrl"; - reg = <0x0 0x07022000 0x0 0x400>; - interrupts = <0 105 4>, - <0 111 4>; - clocks = <&clk_cpurpio>; - device_type = "r_pio"; - gpio-controller; - interrupt-controller; - #interrupt-cells = <2>; - #size-cells = <0>; - #gpio-cells = <6>; - - s_uart0_pins_a: s_uart0@0 { - allwinner,pins = "PL2", "PL3"; - allwinner,function = "s_uart0"; - allwinner,muxsel = <2>; - allwinner,drive = <1>; - allwinner,pull = <1>; - }; - - s_twi0_pins_a: s_twi0@0 { - allwinner,pins = "PL0", "PL1"; - allwinner,function = "s_twi0"; - allwinner,muxsel = <3>; - allwinner,drive = <0>; - allwinner,pull = <1>; - }; - - s_jtag0_pins_a: s_jtag0@0 { - allwinner,pins = "PL4", "PL5", "PL6", "PL7"; - allwinner,function = "s_jtag0"; - allwinner,muxsel = <2>; - allwinner,drive = <2>; - allwinner,pull = <1>; - }; - - s_cir0_pins_a: s_cir0@0 { - allwinner,pins = "PL9"; - allwinner,function = "s_cir0"; - allwinner,muxsel = <2>; - allwinner,drive = <2>; - allwinner,pull = <1>; - }; - }; - - pio: pinctrl@0300b000 { - compatible = "allwinner,sun50iw6p1-pinctrl"; - reg = <0x0 0x0300b000 0x0 0x400>; - interrupts = <0 51 4>, - <0 53 4>, - <0 54 4>, - <0 59 4>; - device_type = "pio"; - clocks = <&clk_pio>; - gpio-controller; - interrupt-controller; - #interrupt-cells = <2>; - #size-cells = <0>; - #gpio-cells = <6>; - - vdevice_pins_a: vdevice@0 { - allwinner,pins = "PA1", "PA2"; - allwinner,function = "vdevice"; - allwinner,muxsel = <5>; - allwinner,drive = <1>; - allwinner,pull = <1>; - }; - - uart0_pins_a: uart0@0 { - allwinner,pins = "PF2", "PF4"; - allwinner,pname = "uart0_tx", "uart0_rx"; - allwinner,function = "uart0"; - allwinner,muxsel = <3>; - allwinner,drive = <1>; - allwinner,pull = <1>; - }; - - uart0_pins_b: uart0@1 { - allwinner,pins = "PF2", "PF4"; - allwinner,function = "io_disabled"; - allwinner,muxsel = <7>; - allwinner,drive = <1>; - allwinner,pull = <0>; - }; - - uart1_pins_a: uart1@0 { - allwinner,pins = "PG6", "PG7", "PG8", "PG9"; - allwinner,pname = "uart1_tx", "uart1_rx", - "uart1_rts", "uart1_cts"; - allwinner,function = "uart1"; - allwinner,muxsel = <2>; - allwinner,drive = <1>; - allwinner,pull = <1>; - }; - - uart1_pins_b: uart1@1 { - allwinner,pins = "PG6", "PG7", "PG8", "PG9"; - allwinner,function = "io_disabled"; - allwinner,muxsel = <7>; - allwinner,drive = <1>; - allwinner,pull = <0>; - }; - - uart2_pins_a: uart2@0 { - allwinner,pins = "PD19", "PD20", "PD21", "PD22"; - allwinner,pname = "uart2_tx", "uart2_rx", - "uart2_rts", "uart2_cts"; - allwinner,function = "uart2"; - allwinner,muxsel = <4>; - allwinner,drive = <1>; - allwinner,pull = <1>; - }; - - uart2_pins_b: uart2@1 { - allwinner,pins = "PD19", "PD20", "PD21", "PD22"; - allwinner,function = "io_disabled"; - allwinner,muxsel = <7>; - allwinner,drive = <1>; - allwinner,pull = <0>; - }; - - uart3_pins_a: uart3@0 { - allwinner,pins = "PE0", "PE1", "PE2", "PE3"; - allwinner,pname = "uart3_tx", "uart3_rx", - "uart3_rts", "uart3_cts"; - allwinner,function = "uart3"; - allwinner,muxsel = <3>; - allwinner,drive = <1>; - allwinner,pull = <1>; - }; - - uart3_pins_b: uart3@1 { - allwinner,pins = "PE0", "PE1", "PE2", "PE3"; - allwinner,function = "io_disabled"; - allwinner,muxsel = <7>; - allwinner,drive = <1>; - allwinner,pull = <0>; - }; - - twi0_pins_a: twi0@0 { - allwinner,pins = "PD25", "PD26"; - allwinner,pname = "twi0_scl", "twi0_sda"; - allwinner,function = "twi0"; - allwinner,muxsel = <2>; - allwinner,drive = <1>; - allwinner,pull = <0>; - }; - - twi0_pins_b: twi0@1 { - allwinner,pins = "PD25", "PD26"; - allwinner,function = "io_disabled"; - allwinner,muxsel = <7>; - allwinner,drive = <1>; - allwinner,pull = <0>; - }; - - twi1_pins_a: twi1@0 { - allwinner,pins = "PH5", "PH6"; - allwinner,pname = "twi1_scl", "twi1_sda"; - allwinner,function = "twi1"; - allwinner,muxsel = <4>; - allwinner,drive = <1>; - allwinner,pull = <0>; - }; - - twi1_pins_b: twi1@1 { - allwinner,pins = "PH5", "PH6"; - allwinner,function = "io_disabled"; - allwinner,muxsel = <7>; - allwinner,drive = <1>; - allwinner,pull = <0>; - }; - - twi2_pins_a: twi2@0 { - allwinner,pins = "PD23", "PD24"; - allwinner,pname = "twi2_scl", "twi2_sda"; - allwinner,function = "twi2"; - allwinner,muxsel = <2>; - allwinner,drive = <1>; - allwinner,pull = <0>; - }; - - twi2_pins_b: twi2@1 { - allwinner,pins = "PD23", "PD24"; - allwinner,function = "io_disabled"; - allwinner,muxsel = <7>; - allwinner,drive = <1>; - allwinner,pull = <0>; - }; - - twi3_pins_a: twi3@0 { - allwinner,pins = "PB17", "PB18"; - allwinner,pname = "twi3_scl", "twi3_sda"; - allwinner,function = "twi3"; - allwinner,muxsel = <2>; - allwinner,drive = <1>; - allwinner,pull = <0>; - }; - - twi3_pins_b: twi3@1 { - allwinner,pins = "PB17", "PB18"; - allwinner,function = "io_disabled"; - allwinner,muxsel = <7>; - allwinner,drive = <1>; - allwinner,pull = <0>; - }; - - ts0_pins_a: ts0@0 { - allwinner,pins = "PD0", "PD1", "PD2", "PD3", - "PD4", "PD5", "PD6", "PD7", - "PD8", "PD9", "PD10", "PD11"; - 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 = <3>; - allwinner,drive = <1>; - allwinner,pull = <0>; - }; - - ts0_pins_b: ts0_sleep@0 { - allwinner,pins = "PD0", "PD1", "PD2", "PD3", - "PD4", "PD5", "PD6", "PD7", - "PD8", "PD9", "PD10", "PD11"; - 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 = <7>; - allwinner,drive = <1>; - allwinner,pull = <0>; - }; - - ts1_pins_a: ts1@0 { - allwinner,pins = "PD12", "PD13", "PD14", - "PD15", "PD16"; - allwinner,pname = "ts1_clk", "ts1_err", - "ts1_sync", "ts1_dvld", - "ts1_d0"; - allwinner,function = "ts1"; - allwinner,muxsel = <3>; - allwinner,drive = <1>; - allwinner,pull = <0>; - }; - - ts1_pins_b: ts1_sleep@0 { - allwinner,pins = "PD12", "PD13", "PD14", - "PD15", "PD16"; - allwinner,pname = "ts1_clk", "ts1_err", - "ts1_sync", "ts1_dvld", - "ts1_d0"; - allwinner,function = "io_disabled"; - allwinner,muxsel = <7>; - allwinner,drive = <1>; - allwinner,pull = <0>; - }; - - ts2_pins_a: ts2@0 { - allwinner,pins = "PD17", "PD18", "PD19", "PD20", - "PD21"; - allwinner,pname = "ts2_clk", "ts2_err", - "ts2_sync", "ts2_dvld", - "ts2_d0"; - allwinner,function = "ts2"; - allwinner,muxsel = <3>; - allwinner,drive = <1>; - allwinner,pull = <0>; - }; - - ts2_pins_b: ts2_sleep@0 { - allwinner,pins = "PD17", "PD18", "PD19", "PD20", - "PD21"; - allwinner,pname = "ts2_clk", "ts2_err", - "ts2_sync", "ts2_dvld", - "ts2_d0"; - allwinner,function = "io_disabled"; - allwinner,muxsel = <7>; - allwinner,drive = <1>; - allwinner,pull = <0>; - }; - - ts3_pins_a: ts3@0 { - allwinner,pins = "PD22", "PD23", "PD24", - "PD25", "PD26"; - allwinner,pname = "ts3_clk", "ts3_err", - "ts3_sync", "ts3_dvld", - "ts3_d0"; - allwinner,function = "ts3"; - allwinner,muxsel = <3>; - allwinner,drive = <1>; - allwinner,pull = <0>; - }; - - ts3_pins_b: ts3_sleep@0 { - allwinner,pins = "PD22", "PD23", "PD24", - "PD25", "PD26"; - allwinner,pname = "ts3_clk", "ts3_err", - "ts3_sync", "ts3_dvld", - "ts3_d0"; - allwinner,function = "io_disabled"; - allwinner,muxsel = <7>; - allwinner,drive = <1>; - allwinner,pull = <0>; - }; - - spi0_pins_a: spi0@0 { - allwinner,pins = "PC0", "PC2", "PC3"; - allwinner,pname = "spi0_sclk", "spi0_mosi", - "spi0_miso"; - allwinner,function = "spi0"; - allwinner,muxsel = <4>; - allwinner,drive = <1>; - allwinner,pull = <0>; - }; - - spi0_pins_b: spi0@1 { - allwinner,pins = "PC5"; - allwinner,pname = "spi0_cs0"; - allwinner,function = "spi0"; - allwinner,muxsel = <4>; - allwinner,drive = <1>; - allwinner,pull = <1>; - }; - - spi0_pins_c: spi0@2 { - allwinner,pins = "PC0", "PC2", "PC3", "PC5"; - allwinner,function = "io_disabled"; - allwinner,muxsel = <7>; - allwinner,drive = <1>; - allwinner,pull = <0>; - }; - - spi1_pins_a: spi1@0 { - allwinner,pins = "PH4", "PH5", "PH6"; - allwinner,pname = "spi1_sclk", "spi1_mosi", - "spi1_miso"; - allwinner,function = "spi1"; - allwinner,muxsel = <2>; - allwinner,drive = <1>; - allwinner,pull = <0>; - }; - - spi1_pins_b: spi1@1 { - allwinner,pins = "PH3"; - allwinner,pname = "spi1_cs0"; - allwinner,function = "spi1"; - allwinner,muxsel = <2>; - allwinner,drive = <1>; - allwinner,pull = <1>; - }; - - spi1_pins_c: spi1@2 { - allwinner,pins = "PH3", "PH4", "PH5", "PH6"; - allwinner,function = "io_disabled"; - allwinner,muxsel = <7>; - allwinner,drive = <1>; - allwinner,pull = <0>; - }; - - sdc0_pins_a: sdc0@0 { - allwinner,pins = "PF0", "PF1", "PF2", - "PF3", "PF4", "PF5"; - allwinner,function = "sdc0"; - allwinner,muxsel = <2>; - allwinner,drive = <1>; - allwinner,pull = <1>; - }; - - sdc0_pins_b: sdc0@1 { - allwinner,pins = "PF0", "PF1", "PF2", - "PF3", "PF4", "PF5"; - allwinner,function = "io_disabled"; - allwinner,muxsel = <7>; - allwinner,drive = <1>; - allwinner,pull = <1>; - }; - - sdc0_pins_c: sdc0@2 { - allwinner,pins = "PF0", "PF1", "PF2", - "PF3", "PF4", "PF5"; - allwinner,function = "uart0_jtag"; - allwinner,muxsel = <3>; - allwinner,drive = <1>; - allwinner,pull = <1>; - }; - - sdc1_pins_a: sdc1@0 { - allwinner,pins = "PG0", "PG1", "PG2", - "PG3", "PG4", "PG5"; - allwinner,function = "sdc1"; - allwinner,muxsel = <2>; - allwinner,drive = <3>; - allwinner,pull = <1>; - }; - - sdc1_pins_b: sdc1@1 { - allwinner,pins = "PG0", "PG1", "PG2", - "PG3", "PG4", "PG5"; - allwinner,function = "io_disabled"; - allwinner,muxsel = <7>; - allwinner,drive = <1>; - allwinner,pull = <1>; - }; - - sdc2_pins_a: sdc2@0 { - allwinner,pins = "PC1", "PC4", "PC5", "PC6", - "PC7", "PC8", "PC9", "PC10", - "PC11", "PC12", "PC13", "PC14"; - allwinner,function = "sdc2"; - allwinner,muxsel = <3>; - allwinner,drive = <2>; - allwinner,pull = <1>; - }; - - sdc2_pins_b: sdc2@1 { - allwinner,pins = "PC1", "PC4", "PC5", "PC6", - "PC7", "PC8", "PC9", "PC10", - "PC11", "PC12", "PC13", "PC14"; - allwinner,function = "io_disabled"; - allwinner,muxsel = <7>; - allwinner,drive = <1>; - allwinner,pull = <1>; - }; - - daudio0_pins_a: daudio0@0 { - allwinner,pins = "PH0", "PH1", "PH2", "PH3", "PH4"; - allwinner,function = "pcm0"; - allwinner,muxsel = <3>; - allwinner,drive = <1>; - allwinner,pull = <0>; - }; - - daudio0_pins_b: daudio0_sleep@0 { - allwinner,pins = "PH0", "PH1", "PH2", "PH3", "PH4"; - allwinner,function = "io_disabled"; - allwinner,muxsel = <7>; - allwinner,drive = <1>; - allwinner,pull = <0>; - }; - - daudio2_pins_a: daudio2@0 { - allwinner,pins = "PG10", "PG11", "PG12", "PG13", "PG14"; - allwinner,function = "pcm2"; - allwinner,muxsel = <2>; - allwinner,drive = <1>; - allwinner,pull = <0>; - }; - - daudio2_pins_b: daudio2_sleep@0 { - allwinner,pins = "PG10", "PG11", "PG12", "PG13", "PG14"; - allwinner,function = "io_disabled"; - allwinner,muxsel = <7>; - allwinner,drive = <1>; - allwinner,pull = <0>; - }; - - daudio3_pins_a: daudio3@0 { - allwinner,pins = "PB12", "PB13", "PB14", "PB15", "PB16"; - allwinner,function = "pcm3"; - allwinner,muxsel = <2>; - allwinner,driver = <1>; - allwinner,pull = <0>; - }; - - daudio3_pins_b: daudio3_sleep@0 { - allwinner,pins = "PB12", "PB13", "PB14", "PB15", "PB16"; - allwinner,function = "io_disabled"; - allwinner,muxsel = <7>; - allwinner,driver = <1>; - allwinner,pull = <0>; - }; - - spdif_pins_a: spdif@0 { - allwinner,pins = "PH5", "PH6", "PH7"; - allwinner,function = "spdif0"; - allwinner,muxsel = <3>; - allwinner,drive = <1>; - allwinner,pull = <0>; - }; - - spdif_pins_b: spdif_sleep@0 { - allwinner,pins = "PH5", "PH6", "PH7"; - allwinner,function = "io_disabled"; - allwinner,muxsel = <7>; - allwinner,drive = <1>; - allwinner,pull = <0>; - }; - - dmic_pins_a: dmic@0 { - allwinner,pins = "PD14", "PD15", "PD16", "PD17", "PD18"; - allwinner,function = "dmic"; - allwinner,muxsel = <4>; - allwinner,driver = <1>; - allwinner,pull = <0>; - }; - - dmic_pins_b: dmic_sleep@0 { - allwinner,pins = "PD14", "PD15", "PD16", "PD17", "PD18"; - allwinner,function = "io_disabled"; - allwinner,muxsel = <7>; - allwinner,driver = <1>; - allwinner,pull = <0>; - }; - - ahub_daudio0_pins_a: ahub_daudio0@0 { - allwinner,pins = "PH0", "PH1", "PH2", "PH3", "PH4"; - allwinner,function = "h_pcm0"; - allwinner,muxsel = <4>; - allwinner,driver = <1>; - allwinner,pull = <0>; - }; - - ahub_daudio0_pins_b: ahub_daudio0_sleep@0 { - allwinner,pins = "PH0", "PH1", "PH2", "PH3", "PH4"; - allwinner,function = "io_disabled"; - allwinner,muxsel = <7>; - allwinner,driver = <1>; - allwinner,pull = <0>; - }; - - ahub_daudio2_pins_a: ahub_daudio2@0 { - allwinner,pins = "PG10", "PG11", "PG12", "PG13", "PG14"; - allwinner,function = "h_pcm2"; - allwinner,muxsel = <3>; - allwinner,drive = <1>; - allwinner,pull = <0>; - }; - - ahub_daudio2_pins_b: ahub_daudio2_sleep@0 { - allwinner,pins = "PG10", "PG11", "PG12", "PG13", "PG14"; - allwinner,function = "io_disabled"; - allwinner,muxsel = <7>; - allwinner,drive = <1>; - allwinner,pull = <0>; - }; - - ahub_daudio3_pins_a: ahub_daudio3@0 { - allwinner,pins = "PB12", "PB13", "PB14", "PB15", "PB16"; - allwinner,function = "h_pcm3"; - allwinner,muxsel = <4>; - allwinner,driver = <1>; - allwinner,pull = <0>; - }; - - ahub_daudio3_pins_b: ahub_daudio3_sleep@0 { - allwinner,pins = "PB12", "PB13", "PB14", "PB15", "PB16"; - allwinner,function = "io_disabled"; - allwinner,muxsel = <7>; - allwinner,driver = <1>; - allwinner,pull = <0>; - }; - - csi0_pins_a: csi0@0 { - allwinner,pins = "PD0", "PD2", "PD3", "PD4", "PD5", - "PD6", "PD7", "PD8", "PD9", "PD10", "PD11"; - allwinner,pname = "csi0_pck", "csi0_hsync", "csi0_vsync", - "csi0_d0", "csi0_d1", "csi0_d2", "csi0_d3", - "csi0_d4", "csi0_d5", "csi0_d6", "csi0_d7"; - allwinner,function = "csi0"; - allwinner,muxsel = <4>; - allwinner,drive = <1>; - allwinner,pull = <0>; - allwinner,data = <0>; - }; - - csi0_pins_b: csi0@1 { - allwinner,pins = "PD0", "PD2", "PD3", "PD4", "PD5", - "PD6", "PD7", "PD8", "PD9", "PD10", "PD11"; - allwinner,pname = "csi0_pck", "csi0_hsync", "csi0_vsync", - "csi0_d0", "csi0_d1", "csi0_d2", "csi0_d3", - "csi0_d4", "csi0_d5", "csi0_d6", "csi0_d7"; - allwinner,function = "io_disabled"; - allwinner,muxsel = <7>; - allwinner,drive = <1>; - allwinner,pull = <0>; - allwinner,data = <0>; - }; - csi_mclk0_pins_a: csi_mclk0@0 { - allwinner,pins = "PD1"; - allwinner,pname = "csi_mclk0"; - allwinner,function = "csi_mclk0"; - allwinner,muxsel = <4>; - allwinner,drive = <1>; - allwinner,pull = <0>; - allwinner,data = <0>; - }; - csi_mclk0_pins_b: csi_mclk0@1 { - allwinner,pins = "PD1"; - allwinner,pname = "csi_mclk0"; - allwinner,function = "io_disabled"; - allwinner,muxsel = <7>; - allwinner,drive = <1>; - allwinner,pull = <0>; - allwinner,data = <0>; - }; - csi_cci0_pins_a: csi_cci0@0 { - allwinner,pins = "PD12","PD13"; - allwinner,pname = "csi_cci0_sck","csi_cci0_sda"; - allwinner,function = "csi_cci0"; - allwinner,muxsel = <4>; - allwinner,drive = <1>; - allwinner,pull = <0>; - allwinner,data = <0>; - }; - csi_cci0_pins_b: csi_cci0@1 { - allwinner,pins = "PD12","PD13"; - allwinner,pname = "csi_cci0_sck","csi_cci0_sda"; - allwinner,function = "io_disabled"; - allwinner,muxsel = <7>; - allwinner,drive = <1>; - allwinner,pull = <0>; - allwinner,data = <0>; - }; - scr0_pins_a: scr0@0 { - allwinner,pins = "PG13", "PG14", "PG10", "PG11", "PG12"; - allwinner,pname = "scr0_rst", "scr0_det", "scr0_vccen", "scr0_sck", "scr0_sda"; - allwinner,function = "sim0"; - allwinner,muxsel = <4>; - allwinner,drive = <0>; - allwinner,pull = <1>; - }; - - scr0_pins_b: scr0@1 { - allwinner,pins = "PG8", "PG9"; - allwinner,pname = "scr0_vppen", "scr0_vppp"; - allwinner,function = "sim0"; - allwinner,muxsel = <4>; - allwinner,drive = <0>; - allwinner,pull = <1>; - }; - - scr0_pins_c: scr0@2 { - allwinner,pins = "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14"; - allwinner,function = "io_disabled"; - allwinner,muxsel = <7>; - allwinner,drive = <0>; - allwinner,pull = <0>; - }; - - scr1_pins_a: scr1@0 { - allwinner,pins = "PH5", "PH6", "PH2", - "PH3", "PH4"; - allwinner,pname = "scr1_rst", "scr1_det", - "scr1_vccen", "scr1_sck", - "scr1_sda"; - allwinner,function = "sim1"; - allwinner,muxsel = <5>; - allwinner,drive = <1>; - allwinner,pull = <1>; - }; - - scr1_pins_b: scr1@1 { - allwinner,pins = "PH0", "PH1"; - allwinner,pname = "scr1_vppen", "scr1_vppp"; - allwinner,function = "sim1"; - allwinner,muxsel = <5>; - allwinner,drive = <1>; - allwinner,pull = <1>; - }; - - scr1_pins_c: scr1@2 { - allwinner,pins = "PH0", "PH1", "PH2", - "PH3", "PH4", "PH5", - "PH6"; - allwinner,function = "io_disabled"; - allwinner,muxsel = <7>; - allwinner,drive = <1>; - allwinner,pull = <0>; - }; - - nand0_pins_a: nand0@0 { - allwinner,pins = "PC0", "PC1", "PC2", "PC4", - "PC6", "PC7", "PC8", "PC9", - "PC10", "PC11", "PC12", "PC13", - "PC14"; - 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,function = "nand0"; - allwinner,muxsel = <2>; - allwinner,drive = <1>; - allwinner,pull = <0>; - }; - - nand0_pins_b: nand0@1 { - allwinner,pins = "PC3", "PC5", "PC15", "PC16"; - allwinner,pname= "nand0_ce0", "nand0_rb0", "nand0_ce1", "nand0_rb1"; - allwinner,function = "nand0"; - allwinner,muxsel = <2>; - allwinner,drive = <1>; - allwinner,pull = <1>; - }; - - nand0_pins_c: nand0@2 { - allwinner,pins = "PC0", "PC1", "PC2", "PC3", - "PC4", "PC5", "PC6", "PC7", - "PC8", "PC9", "PC10", "PC11", - "PC12", "PC13", "PC14", "PC15", - "PC16"; - allwinner,function = "io_disabled"; - allwinner,muxsel = <7>; - allwinner,drive = <1>; - allwinner,pull = <0>; - }; - - hdmi_ddc_pin_a: hdmi@0 { - allwinner,pins = "PH8","PH9"; - allwinner,function = "ddc"; - allwinner,muxsel = <2>; - allwinner,drive = <1>; - allwinner,pull = <0>; - }; - - hdmi_ddc_pin_b: hdmi@1 { - allwinner,pins = "PH8","PH9"; - allwinner,function = "io_disabled"; - allwinner,muxsel = <7>; - allwinner,drive = <1>; - allwinner,pull = <0>; - }; - - hdmi_cec_pin_a: hdmi@2 { - allwinner,pins = "PH10"; - allwinner,function = "hcec0"; - allwinner,muxsel = <2>; - allwinner,drive = <1>; - allwinner,pull = <0>; - }; - - hdmi_cec_pin_b: hdmi@3 { - allwinner,pins = "PH10"; - allwinner,function = "io_disabled"; - allwinner,muxsel = <7>; - allwinner,drive = <1>; - allwinner,pull = <0>; - }; - - ccir_clk_pin_a: ac200@2 { - allwinner,pins = "PB0"; - allwinner,function = "ac200"; - allwinner,muxsel = <2>; - allwinner,drive = <0>; - allwinner,pull = <0>; - }; - - ccir_clk_pin_b: ac200@3 { - allwinner,pins = "PB0"; - allwinner,function = "io_disabled"; - allwinner,muxsel = <7>; - allwinner,drive = <0>; - allwinner,pull = <0>; - }; - - gmac_pins_a: gmac@0 { - allwinner,pins = "PA0", "PA1", "PA2", "PA3", - "PA4", "PA5", "PA6", "PA7", - "PA8", "PA9"; - allwinner,function = "gmac0"; - allwinner,muxsel = <2>; - allwinner,drive = <3>; - allwinner,pull = <0>; - }; - - gmac_pins_b: gmac@1 { - allwinner,pins = "PA0", "PA1", "PA2", "PA3", - "PA4", "PA5", "PA6", "PA7", - "PA8", "PA9"; - allwinner,function = "io_disabled"; - allwinner,muxsel = <7>; - allwinner,drive = <3>; - allwinner,pull = <0>; - }; - }; - }; -}; -# 20 "arch/arm64/boot/dts/sunxi/sun50iw6p1.dtsi" 2 -/ { - model = "sun50iw6"; - compatible = "arm,sun50iw6p1"; - interrupt-parent = <&gic>; - #address-cells = <2>; - #size-cells = <2>; - - aliases { - serial0 = &uart0; - serial1 = &uart1; - serial2 = &uart2; - serial3 = &uart3; - twi0 = &twi0; - twi1 = &twi1; - twi2 = &twi2; - twi3 = &twi3; - spi0 = &spi0; - spi1 = &spi1; - pcie = &pcie; - scr0 = &scr0; - scr1 = &scr1; - gmac0 = &gmac0; - - global_timer0 = &soc_timer0; - mmc0 = &sdc0; - mmc2 = &sdc2; - nand0 =&nand0; - disp = &disp; - lcd0 = &lcd0; - lcd1 = &lcd1; - hdmi = &hdmi; - pwm = &pwm; - pwm0 = &pwm0; - pwm1 = &pwm1; - tv0 = &tv0; - s_pwm = &s_pwm; - spwm0 = &spwm0; - ac200 = &ac200; - boot_disp = &boot_disp; - charger0 = &charger0; - regulator0 = ®ulator0; - }; - - chosen { - bootargs = "earlyprintk=sunxi-uart,0x05000000 loglevel=8 initcall_debug=1 console=ttyS0 init=/init"; - linux,initrd-start = <0x0 0x0>; - linux,initrd-end = <0x0 0x0>; - }; - - firmware { - android { - compatible = "android,firmware"; - name = "android"; - boot_devices = "soc/sdc0,soc/sdc2,soc"; - fstab { - compatible = "android,fstab"; - name = "fstab"; - vendor { - compatible = "android,vendor"; - dev = "/dev/block/by-name/vendor"; - fsmgr_flags = "wait,recoveryonly"; - mnt_flags = "ro,barrier=1"; - name = "vendor"; - status = "ok"; - type = "ext4"; - }; - }; - }; - optee { - compatible = "linaro,optee-tz"; - method = "smc"; - }; - }; - - cpus { - #address-cells = <2>; - #size-cells = <0>; - - cpu@0 { - device_type = "cpu"; - compatible = "arm,cortex-a53","arm,armv8"; - reg = <0x0 0x0>; - enable-method = "psci"; - clocks = <&clk_pll_cpu>; - clock-latency = <2000000>; - clock-frequency = <1320000000>; - operating-points-v2 = <&cpu_opp_l_table0 &cpu_opp_l_table1 &cpu_opp_l_table2>; - cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0 &SYS_SLEEP_0>; - }; - - cpu@1 { - device_type = "cpu"; - compatible = "arm,cortex-a53","arm,armv8"; - reg = <0x0 0x1>; - enable-method = "psci"; - clocks = <&clk_pll_cpu>; - clock-frequency = <1320000000>; - operating-points-v2 = <&cpu_opp_l_table0 &cpu_opp_l_table1 &cpu_opp_l_table2>; - cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0 &SYS_SLEEP_0>; - }; - - cpu@2 { - device_type = "cpu"; - compatible = "arm,cortex-a53","arm,armv8"; - reg = <0x0 0x2>; - enable-method = "psci"; - clocks = <&clk_pll_cpu>; - clock-frequency = <1320000000>; - operating-points-v2 = <&cpu_opp_l_table0 &cpu_opp_l_table1 &cpu_opp_l_table2>; - cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0 &SYS_SLEEP_0>; - }; - - cpu@3 { - device_type = "cpu"; - compatible = "arm,cortex-a53","arm,armv8"; - reg = <0x0 0x3>; - enable-method = "psci"; - clocks = <&clk_pll_cpu>; - clock-frequency = <1320000000>; - operating-points-v2 = <&cpu_opp_l_table0 &cpu_opp_l_table1 &cpu_opp_l_table2>; - cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0 &SYS_SLEEP_0>; - }; - - idle-states { - entry-method = "arm,psci"; - - CPU_SLEEP_0: cpu-sleep-0 { - compatible = "arm,idle-state"; - arm,psci-suspend-param = <0x0010000>; - entry-latency-us = <4000>; - exit-latency-us = <10000>; - min-residency-us = <15000>; - }; - - CLUSTER_SLEEP_0: cluster-sleep-0 { - compatible = "arm,idle-state"; - arm,psci-suspend-param = <0x1010000>; - entry-latency-us = <50000>; - exit-latency-us = <100000>; - min-residency-us = <250000>; - }; - - SYS_SLEEP_0: sys-sleep-0 { - compatible = "arm,idle-state"; - arm,psci-suspend-param = <0x2010000>; - entry-latency-us = <100000>; - exit-latency-us = <2000000>; - min-residency-us = <4500000>; - }; - }; - }; - - 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 0xa000>; - }; - - s_brom { - compatible = "allwinner,s-brom"; - reg = <0x0 0x0 0x0 0x10000>; - }; - - sram_ctrl { - device_type = "sram_ctrl"; - compatible = "allwinner,sram_ctrl"; - reg = <0x0 0x03000000 0x0 0x100>; - }; - - sram_a1 { - compatible = "allwinner,sram_a1"; - reg = <0x0 0x00020000 0x0 0x8000>; - }; - - sram_a2 { - compatible = "allwinner,sram_a2"; - reg = <0x0 0x00100000 0x0 0x14000>; - }; - - prcm { - compatible = "allwinner,prcm"; - reg = <0x0 0x01f01400 0x0 0x400>; - }; - - s_cpuscfg { - compatible = "allwinner,s_cpuscfg"; - reg = <0x0 0x01f01c00 0x0 0x400>; - }; - - ion { - compatible = "allwinner,sunxi-ion"; -# 233 "arch/arm64/boot/dts/sunxi/sun50iw6p1.dtsi" - heap_sys_user@0{ - compatible = "allwinner,sys_user"; - heap-name = "sys_user"; - heap-id = <0x0>; - heap-base = <0x0>; - heap-size = <0x0>; - heap-type = "ion_system"; - }; - heap_sys_contig@0{ - compatible = "allwinner,sys_contig"; - heap-name = "sys_contig"; - heap-id = <0x1>; - heap-base = <0x0>; - heap-size = <0x0>; - heap-type = "ion_contig"; - }; - heap_cma@0{ - compatible = "allwinner,cma"; - heap-name = "cma"; - heap-id = <0x4>; - heap-base = <0x0>; - heap-size = <0x0>; - heap-type = "ion_cma"; - }; - heap_secure@0{ - compatible = "allwinner,secure"; - heap-name = "secure"; - heap-id = <0x6>; - heap-base = <0x0>; - heap-size = <0x0>; - heap-type = "ion_secure"; - }; - }; - - dram: dram { - compatible = "allwinner,dram"; - clocks = <&clk_pll_ddr0>; - clock-names = "pll_ddr"; - dram_clk = <672>; - dram_type = <3>; - dram_zq = <0x003F3FDD>; - dram_odt_en = <1>; - dram_para1 = <0x10f41000>; - dram_para2 = <0x00001200>; - dram_mr0 = <0x1A50>; - dram_mr1 = <0x40>; - dram_mr2 = <0x10>; - dram_mr3 = <0>; - dram_tpr0 = <0x04E214EA>; - dram_tpr1 = <0x004214AD>; - dram_tpr2 = <0x10A75030>; - dram_tpr3 = <0>; - dram_tpr4 = <0>; - dram_tpr5 = <0>; - dram_tpr6 = <0>; - dram_tpr7 = <0>; - dram_tpr8 = <0>; - dram_tpr9 = <0>; - dram_tpr10 = <0>; - dram_tpr11 = <0>; - dram_tpr12 = <168>; - dram_tpr13 = <0x823>; - }; - - memory@40000000 { - device_type = "memory"; - reg = <0x00000000 0x40000000 0x00000000 0x20000000>; - }; - - gic: interrupt-controller@03020000 { - compatible = "arm,cortex-a15-gic", "arm,cortex-a9-gic"; - #interrupt-cells = <3>; - #address-cells = <0>; - device_type = "gic"; - interrupt-controller; - reg = <0x0 0x03021000 0 0x1000>, - <0x0 0x03022000 0 0x2000>, - <0x0 0x03024000 0 0x2000>, - <0x0 0x03026000 0 0x2000>; - interrupts = <1 9 0xf04>; - }; - - sid: sunxi-sid@03006000 { - compatible = "allwinner,sunxi-sid"; - device_type = "sid"; - reg = <0x0 0x03006000 0 0x1000>; - }; - - chipid: sunxi-chipid@03006200 { - compatible = "allwinner,sunxi-chipid"; - device_type = "chipid"; - reg = <0x0 0x03006200 0 0x0200>; - }; - - timer_arch { - compatible = "arm,armv8-timer"; - interrupts = <1 13 ((((1 << (4)) - 1) << 8) | 8)>, - <1 14 ((((1 << (4)) - 1) << 8) | 8)>, - <1 11 ((((1 << (4)) - 1) << 8) | 8)>, - <1 10 ((((1 << (4)) - 1) << 8) | 8)>; - clock-frequency = <24000000>; - arm,no-tick-in-suspend; - }; - - pmu { - compatible = "arm,armv8-pmuv3"; - interrupts = <0 140 4>, - <0 141 4>, - <0 142 4>, - <0 143 4>; - }; - - opp_dvfs_table:opp_dvfs_table { - cluster_num = <1>; - opp_table_count = <3>; - - cpu_opp_l_table0: opp_l_table0 { - compatible = "allwinner,opp_l_table0"; - opp_count = <8>; - opp-shared; - - opp00 { - opp-hz = /bits/ 64 <480000000>; - opp-microvolt = <880000>; - axi-bus-divide-ratio = <3>; - clock-latency-ns = <2000000>; - pval = <2800>; - }; - opp01 { - opp-hz = /bits/ 64 <720000000>; - opp-microvolt = <880000>; - axi-bus-divide-ratio = <3>; - clock-latency-ns = <2000000>; - pval = <2800>; - }; - opp02 { - opp-hz = /bits/ 64 <816000000>; - opp-microvolt = <880000>; - axi-bus-divide-ratio = <3>; - clock-latency-ns = <2000000>; - pval = <2800>; - }; - opp03 { - opp-hz = /bits/ 64 <888000000>; - opp-microvolt = <880000>; - axi-bus-divide-ratio = <3>; - clock-latency-ns = <2000000>; - pval = <2800>; - }; - opp04 { - opp-hz = /bits/ 64 <1080000000>; - opp-microvolt = <940000>; - axi-bus-divide-ratio = <3>; - clock-latency-ns = <2000000>; - pval = <3100>; - }; - opp05 { - opp-hz = /bits/ 64 <1320000000>; - opp-microvolt = <1000000>; - axi-bus-divide-ratio = <3>; - clock-latency-ns = <2000000>; - pval = <3650>; - }; - opp06 { - opp-hz = /bits/ 64 <1488000000>; - opp-microvolt = <1060000>; - axi-bus-divide-ratio = <3>; - clock-latency-ns = <2000000>; - pval = <3950>; - }; - }; - - cpu_opp_l_table1: opp_l_table1 { - compatible = "allwinner,opp_l_table1"; - opp_count = <8>; - opp-shared; - - opp00 { - opp-hz = /bits/ 64 <480000000>; - opp-microvolt = <820000>; - axi-bus-divide-ratio = <3>; - clock-latency-ns = <2000000>; - pval = <2800>; - }; - opp01 { - opp-hz = /bits/ 64 <720000000>; - opp-microvolt = <820000>; - axi-bus-divide-ratio = <3>; - clock-latency-ns = <2000000>; - pval = <2800>; - }; - opp02 { - opp-hz = /bits/ 64 <816000000>; - opp-microvolt = <820000>; - axi-bus-divide-ratio = <3>; - clock-latency-ns = <2000000>; - pval = <2800>; - }; - opp03 { - opp-hz = /bits/ 64 <888000000>; - opp-microvolt = <820000>; - axi-bus-divide-ratio = <3>; - clock-latency-ns = <2000000>; - pval = <2800>; - }; - opp04 { - opp-hz = /bits/ 64 <1080000000>; - opp-microvolt = <880000>; - axi-bus-divide-ratio = <3>; - clock-latency-ns = <2000000>; - pval = <3100>; - }; - opp05 { - opp-hz = /bits/ 64 <1320000000>; - opp-microvolt = <940000>; - axi-bus-divide-ratio = <3>; - clock-latency-ns = <2000000>; - pval = <3650>; - }; - opp06 { - opp-hz = /bits/ 64 <1488000000>; - opp-microvolt = <1000000>; - axi-bus-divide-ratio = <3>; - clock-latency-ns = <2000000>; - pval = <3950>; - }; - }; - - cpu_opp_l_table2: opp_l_table2 { - compatible = "allwinner,opp_l_table2"; - opp_count = <8>; - opp-shared; - - opp00 { - opp-hz = /bits/ 64 <480000000>; - opp-microvolt = <800000>; - axi-bus-divide-ratio = <3>; - clock-latency-ns = <2000000>; - pval = <2800>; - }; - opp01 { - opp-hz = /bits/ 64 <720000000>; - opp-microvolt = <800000>; - axi-bus-divide-ratio = <3>; - clock-latency-ns = <2000000>; - pval = <2800>; - }; - opp02 { - opp-hz = /bits/ 64 <816000000>; - opp-microvolt = <800000>; - axi-bus-divide-ratio = <3>; - clock-latency-ns = <2000000>; - pval = <2800>; - }; - opp03 { - opp-hz = /bits/ 64 <888000000>; - opp-microvolt = <800000>; - axi-bus-divide-ratio = <3>; - clock-latency-ns = <2000000>; - pval = <2800>; - }; - opp04 { - opp-hz = /bits/ 64 <1080000000>; - opp-microvolt = <840000>; - axi-bus-divide-ratio = <3>; - clock-latency-ns = <2000000>; - pval = <3100>; - }; - opp05 { - opp-hz = /bits/ 64 <1320000000>; - opp-microvolt = <900000>; - axi-bus-divide-ratio = <3>; - clock-latency-ns = <2000000>; - pval = <3650>; - }; - opp06 { - opp-hz = /bits/ 64 <1488000000>; - opp-microvolt = <960000>; - axi-bus-divide-ratio = <3>; - clock-latency-ns = <2000000>; - pval = <3950>; - }; - }; - - }; - - dramfreq { - compatible = "allwinner,sunxi-dramfreq"; - reg = <0x0 0x04002000 0x0 0x1000>, - <0x0 0x04003000 0x0 0x3000>, - <0x0 0x03001000 0x0 0x1000>; - interrupts = <0 33 0x4>; - clocks = <&clk_pll_ddr0>; - status = "okay"; - }; - - uboot: uboot { - }; - - mmu_aw: iommu@030f0000 { - compatible = "allwinner,sunxi-iommu"; - reg = <0x0 0x030f0000 0x0 0x1000>; - interrupts = <0 57 4>; - interrupt-names = "iommu-irq"; - clocks = <&clk_iommu>; - clock-names = "iommu"; - - #iommu-cells = <2>; - status = "okay"; - }; - - soc: soc@03000000 { - compatible = "simple-bus"; - #address-cells = <2>; - #size-cells = <2>; - ranges; - device_type = "soc"; - - dma0:dma-controller@03002000 { - compatible = "allwinner,sun50i-dma"; - reg = <0x0 0x03002000 0x0 0x1000>; - interrupts = <0 43 4>; - clocks = <&clk_dma>; - #dma-cells = <1>; - }; - - mbus0:mbus-controller@04002000 { - compatible = "allwinner,sun50i-mbus"; - reg = <0x0 0x04002000 0x0 0x1000>; - #mbus-cells = <1>; - }; - - arisc { - compatible = "allwinner,sunxi-arisc"; - #address-cells = <2>; - #size-cells = <2>; - clocks = <&clk_losc>, <&clk_iosc>, <&clk_hosc>, <&clk_pll_periph0>; - clock-names = "losc", "iosc", "hosc", "pll_periph0"; - powchk_used = <0x0>; - power_reg = <0x02309621>; - system_power = <50>; - }; - - arisc_space { - compatible = "allwinner,arisc_space"; - - space1 = <0x48040000 0x00000000 0x00014000>; - space2 = <0x48100000 0x00018000 0x00004000>; - space3 = <0x48104000 0x00000000 0x00001000>; - space4 = <0x48105000 0x00000000 0x00001000>; - }; - - standby_space: standby_space@040020000 { - compatible = "allwinner,sun50iw6-usbstandby"; - - space1 = <0x40020000 0x00000000 0x00000800>; - }; - - msgbox: msgbox@03003000 { - compatible = "allwinner,msgbox"; - clocks = <&clk_msgbox>; - clock-names = "clk_msgbox"; - reg = <0x0 0x03003000 0x0 0x1000>; - interrupts = <0 39 1>; - status = "okay"; - }; - - hwspinlock: hwspinlock@3004000 { - compatible = "allwinner,sunxi-hwspinlock"; - clocks = <&clk_hwspinlock_rst>, <&clk_hwspinlock_bus>; - clock-names = "clk_hwspinlock_rst", "clk_hwspinlock_bus"; - reg = <0x0 0x03004000 0x0 0x1000>; - num-locks = <8>; - status = "okay"; - }; - - s_cir0: s_cir@07040000 { - compatible = "allwinner,s_cir"; - reg = <0x0 0x07040000 0x0 0x400>; - interrupts = <0 109 4>; - pinctrl-names = "default"; - pinctrl-0 = <&s_cir0_pins_a>; - clocks = <&clk_hosc>,<&clk_cpurcir>; - supply = "vcc-pl"; - supply_vol = "3300000"; - status = "okay"; - }; - - s_uart0: s_uart@7080000 { - compatible = "allwinner,s_uart"; - reg = <0x0 0x07080000 0x0 0xd0>; - interrupts = <0 106 4>; - pinctrl-names = "default"; - pinctrl-0 = <&s_uart0_pins_a>; - status = "okay"; - }; - - s_twi0: s_twi@1f03400 { - compatible = "allwinner,s_twi"; - reg = <0x0 0x01f02400 0x0 0x20>; - interrupts = <0 44 4>; - pinctrl-names = "default"; - pinctrl-0 = <&s_twi0_pins_a>; - status = "okay"; - }; - - s_jtag0: s_jtag0 { - compatible = "allwinner,s_jtag"; - pinctrl-names = "default"; - pinctrl-0 = <&s_jtag0_pins_a>; - status = "disable"; - }; - - box_start_os: box_start_os0 { - compatible = "allwinner,box_start_os"; - start_type = <0x0>; - irkey_used = <0x0>; - pmukey_used = <0x0>; - pmukey_num = <0x0>; - led_power = <0x0>; - led_state = <0x0>; - status = "disable"; - }; - - soc_timer0: timer@03009000 { - compatible = "allwinner,sun4i-a10-timer"; - device_type = "timer"; - reg = <0x0 0x03009000 0x0 0x400>; - interrupts = <0 48 4>; - clock-frequency = <24000000>; - timer-prescale = <16>; - }; - - rtc: rtc@07000000 { - compatible = "allwinner,sun50iw6-rtc"; - device_type = "rtc"; - reg = <0x0 0x07000000 0x0 0x200>; - interrupts = <0 101 4>; - gpr_offset = <0x100>; - gpr_len = <8>; - gpr_cur_pos = <6>; - }; - - wdt: watchdog@030090a0 { - compatible = "allwinner,sun50i-wdt"; - reg = <0x0 0x030090a0 0x0 0x20>; - interrupts = <0 50 4>; - }; - - ve: ve@01c0e000 { - compatible = "allwinner,sunxi-cedar-ve"; - reg = <0x0 0x01c0e000 0x0 0x1000>, - <0x0 0x03000000 0x0 0x10>, - <0x0 0x03001000 0x0 0x1000>; - interrupts = <0 89 4>; - clocks = <&clk_pll_ve>, <&clk_ve>; - iommus = <&mmu_aw 3 1>; - }; - - vp9: vp9@01c00000 { - compatible = "allwinner,sunxi-google-vp9"; - reg = <0x0 0x01c00000 0x0 0x1000>, - <0x0 0x03000000 0x0 0x10>, - <0x0 0x03001000 0x0 0x1000>; - interrupts = <0 90 4>; - clocks = <&clk_pll_ve>, <&clk_vp9>; - #clocks = <&clk_pll_periph0x2>, <&clk_vp9>; - iommus = <&mmu_aw 5 1>; - }; - - uart0: uart@05000000 { - compatible = "allwinner,sun50i-uart"; - device_type = "uart0"; - reg = <0x0 0x05000000 0x0 0x400>; - interrupts = <0 0 4>; - clocks = <&clk_uart0>; - pinctrl-names = "default", "sleep"; - pinctrl-0 = <&uart0_pins_a>; - pinctrl-1 = <&uart0_pins_b>; - uart0_port = <0>; - uart0_type = <2>; - status = "disabled"; - }; - - uart1: uart@05000400 { - compatible = "allwinner,sun50i-uart"; - device_type = "uart1"; - reg = <0x0 0x05000400 0x0 0x400>; - interrupts = <0 1 4>; - clocks = <&clk_uart1>; - pinctrl-names = "default", "sleep"; - pinctrl-0 = <&uart1_pins_a>; - pinctrl-1 = <&uart1_pins_b>; - uart1_port = <1>; - uart1_type = <4>; - status = "disabled"; - }; - - uart2: uart@05000800 { - compatible = "allwinner,sun50i-uart"; - device_type = "uart2"; - reg = <0x0 0x05000800 0x0 0x400>; - interrupts = <0 2 4>; - clocks = <&clk_uart2>; - pinctrl-names = "default", "sleep"; - pinctrl-0 = <&uart2_pins_a>; - pinctrl-1 = <&uart2_pins_b>; - uart2_port = <2>; - uart2_type = <4>; - status = "okay"; - }; - - uart3: uart@05000c00 { - compatible = "allwinner,sun50i-uart"; - device_type = "uart3"; - reg = <0x0 0x05000c00 0x0 0x400>; - interrupts = <0 3 4>; - clocks = <&clk_uart3>; - pinctrl-names = "default", "sleep"; - pinctrl-0 = <&uart3_pins_a>; - pinctrl-1 = <&uart3_pins_b>; - uart3_port = <3>; - uart3_type = <4>; - status = "disabled"; - }; - - twi0: twi@0x05002000{ - #address-cells = <1>; - #size-cells = <0>; - compatible = "allwinner,sun50i-twi"; - device_type = "twi0"; - reg = <0x0 0x05002000 0x0 0x400>; - interrupts = <0 4 4>; - clocks = <&clk_twi0>; - clock-frequency = <400000>; - pinctrl-names = "default", "sleep"; - pinctrl-0 = <&twi0_pins_a>; - pinctrl-1 = <&twi0_pins_b>; - status = "disabled"; - }; - - twi1: twi@0x05002400{ - #address-cells = <1>; - #size-cells = <0>; - compatible = "allwinner,sun50i-twi"; - device_type = "twi1"; - reg = <0x0 0x05002400 0x0 0x400>; - interrupts = <0 5 4>; - clocks = <&clk_twi1>; - clock-frequency = <200000>; - pinctrl-names = "default", "sleep"; - pinctrl-0 = <&twi1_pins_a>; - pinctrl-1 = <&twi1_pins_b>; - status = "disabled"; - }; - - twi2: twi@0x05002800{ - #address-cells = <1>; - #size-cells = <0>; - compatible = "allwinner,sun50i-twi"; - device_type = "twi2"; - reg = <0x0 0x05002800 0x0 0x400>; - interrupts = <0 6 4>; - clocks = <&clk_twi2>; - clock-frequency = <200000>; - pinctrl-names = "default", "sleep"; - pinctrl-0 = <&twi2_pins_a>; - pinctrl-1 = <&twi2_pins_b>; - status = "disabled"; - }; - twi3: twi@0x05002c00{ - #address-cells = <1>; - #size-cells = <0>; - compatible = "allwinner,sun50i-twi"; - device_type = "twi3"; - reg = <0x0 0x05002c00 0x0 0x400>; - interrupts = <0 7 4>; - clocks = <&clk_twi3>; - clock-frequency = <200000>; - pinctrl-names = "default", "sleep"; - pinctrl-0 = <&twi3_pins_a>; - pinctrl-1 = <&twi3_pins_b>; - status = "disabled"; - }; - - usbc0:usbc0@0 { - device_type = "usbc0"; - compatible = "allwinner,sunxi-otg-manager"; - usb_port_type = <2>; - usb_detect_type = <1>; - usb_id_gpio; - usb_det_vbus_gpio; - usb_drv_vbus_gpio; - usb_host_init_state = <0>; - usb_regulator_io = "nocare"; - usb_wakeup_suspend = <0>; - usb_luns = <3>; - usb_serial_unique = <0>; - usb_serial_number = "20080411"; - rndis_wceis = <1>; - status = "okay"; - }; - - udc:udc-controller@0x05100000 { - compatible = "allwinner,sunxi-udc"; - reg = <0x0 0x05100000 0x0 0x1000>, - <0x0 0x00000000 0x0 0x100>; - interrupts = <0 23 4>; - clocks = <&clk_usbphy0>, <&clk_usbotg>; - status = "okay"; - }; - - ehci0:ehci0-controller@0x05101000 { - compatible = "allwinner,sunxi-ehci0"; - reg = <0x0 0x05101000 0x0 0xFFF>, - <0x0 0x00000000 0x0 0x100>, - <0x0 0x05100000 0x0 0x1000>; - interrupts = <0 24 4>; - clocks = <&clk_usbphy0>, <&clk_usbehci0>; - hci_ctrl_no = <0>; - status = "okay"; - }; - - ohci0:ohci0-controller@0x05101400 { - compatible = "allwinner,sunxi-ohci0"; - reg = <0x0 0x05101000 0x0 0xFFF>, - <0x0 0x00000000 0x0 0x100>, - <0x0 0x05100000 0x0 0x1000>; - interrupts = <0 25 4>; - clocks = <&clk_usbphy0>, <&clk_usbohci0>, <&clk_usbohci0_12m>, <&clk_osc48md4>, <&clk_hosc>, <&clk_losc>; - hci_ctrl_no = <0>; - status = "okay"; - }; - - usbc1:usbc1@0 { - device_type = "usbc1"; - usb_drv_vbus_gpio; - usb_host_init_state = <1>; - usb_regulator_io = "nocare"; - usb_wakeup_suspend = <0>; - status = "okay"; - }; - - xhci:xhci-controller@0x05200000 { - compatible = "allwinner,sunxi-xhci"; - reg = <0x0 0x05200000 0x0 0xFFFFF>, - <0x0 0x00000000 0x0 0x100>, - <0x0 0x05100000 0x0 0x1000>; - interrupts = <0 26 4>; - clocks = <&clk_usbphy1>, <&clk_usb3_0_host>; - hci_ctrl_no = <1>; - status = "okay"; - }; - - usbc2:usbc2@0 { - device_type = "usbc2"; - usb_drv_vbus_gpio; - usb_host_init_state = <1>; - usb_regulator_io = "nocare"; - usb_wakeup_suspend = <0>; - status = "okay"; - }; - - ehci3:ehci3-controller@0x05311000 { - compatible = "allwinner,sunxi-ehci3"; - reg = <0x0 0x05311000 0x0 0xFFF>, - <0x0 0x00000000 0x0 0x100>, - <0x0 0x05100000 0x0 0x1000>; - interrupts = <0 28 4>; - clocks = <&clk_usbphy3>, <&clk_usbehci3>, <&clk_usbhsic>, <&clk_usbhsic>, <&clk_pll_hsic>; - hci_ctrl_no = <3>; - status = "okay"; - }; - - ohci3:ohci3-controller@0x05311400 { - compatible = "allwinner,sunxi-ohci3"; - reg = <0x0 0x05311000 0x0 0xFFF>, - <0x0 0x00000000 0x0 0x100>, - <0x0 0x05100000 0x0 0x1000>; - interrupts = <0 29 4>; - clocks = <&clk_usbphy3>, <&clk_usbohci3>, <&clk_usbohci3_12m>, <&clk_osc48md4>, <&clk_hosc>, <&clk_losc>; - hci_ctrl_no = <3>; - status = "okay"; - }; - - ac200_codec: ac200_codec { - compatible = "allwinner,ac200_codec"; - status = "disabled"; - }; - - daudio0:daudio@0x05090000 { - compatible = "allwinner,sunxi-daudio"; - reg = <0x0 0x05090000 0x0 0x74>; - clocks = <&clk_pll_audio>,<&clk_i2s0>; - pinctrl-names = "default","sleep"; - pinctrl-0 = <&daudio0_pins_a>; - pinctrl-1 = <&daudio0_pins_b>; - pcm_lrck_period = <0x20>; - slot_width_select = <0x20>; - daudio_master = <0x04>; - audio_format = <0x01>; - signal_inversion = <0x01>; - tdm_config = <0x01>; - frametype = <0x00>; - tdm_num = <0x00>; - mclk_div = <0x00>; - status = "disabled"; - }; - - audiohdmi:daudio@0x05091000 { - compatible = "allwinner,sunxi-tdmhdmi"; - reg = <0x0 0x05091000 0x0 0x74>; - clocks = <&clk_pll_audio>,<&clk_i2s1>; - status = "disabled"; - }; - - daudio2:daudio@0x05092000 { - compatible = "allwinner,sunxi-daudio"; - reg = <0x0 0x05092000 0x0 0x74>; - clocks = <&clk_pll_audio>,<&clk_i2s2>; - pinctrl-names = "default","sleep"; - pinctrl-0 = <&daudio2_pins_a>; - pinctrl-1 = <&daudio2_pins_b>; - pcm_lrck_period = <0x20>; - slot_width_select = <0x20>; - daudio_master = <0x04>; - audio_format = <0x01>; - signal_inversion = <0x01>; - tdm_config = <0x01>; - frametype = <0x00>; - tdm_num = <0x2>; - mclk_div = <0x0>; - status = "disabled"; - }; - - daudio3:daudio@0x0508f000{ - compatible = "allwinner,sunxi-daudio"; - reg = <0x0 0x0508f000 0x0 0x74>; - clocks = <&clk_pll_audio>,<&clk_i2s3>; - pinctrl-names = "default","sleep"; - pinctrl-0 = <&daudio3_pins_a>; - pinctrl-1 = <&daudio3_pins_b>; - pcm_lrck_period = <0x20>; - slot_width_select = <0x20>; - daudio_master = <0x04>; - audio_format = <0x01>; - signal_inversion = <0x01>; - tdm_config = <0x01>; - frametype = <0x00>; - tdm_num = <0x3>; - mclk_div = <0x0>; - status = "disabled"; - }; - - spdif:spdif-controller@0x05093000{ - compatible = "allwinner,sunxi-spdif"; - reg = <0x0 0x05093000 0x0 0x40>; - clocks = <&clk_pll_audio>,<&clk_spdif>; - pinctrl-names = "default","sleep"; - pinctrl-0 = <&spdif_pins_a>; - pinctrl-1 = <&spdif_pins_b>; - status = "disabled"; - }; - - dmic:dmic-controller@0x05095000{ - compatible = "allwinner,sunxi-dmic"; - reg = <0x0 0x05095000 0x0 0x50>; - clocks = <&clk_pll_audio>,<&clk_dmic>; - pinctrl-names = "default","sleep"; - pinctrl-0 = <&dmic_pins_a>; - pinctrl-1 = <&dmic_pins_b>; - status = "disabled"; - }; - - ahub_cpudai0:cpudai0-controller@0x05097000 { - compatible = "allwinner,sunxi-ahub-cpudai"; - reg = <0x0 0x05097000 0x0 0xADF>; - id = <0x0>; - status = "okay"; - }; - - ahub_cpudai1:cpudai1-controller@0x05097000 { - compatible = "allwinner,sunxi-ahub-cpudai"; - reg = <0x0 0x05097000 0x0 0xADF>; - id = <0x1>; - status = "okay"; - }; - - ahub_cpudai2:cpudai2-controller@0x05097000 { - compatible = "allwinner,sunxi-ahub-cpudai"; - reg = <0x0 0x05097000 0x0 0xADF>; - id = <0x2>; - status = "okay"; - }; - - ahub_codec:ahub_codec@0x05097000{ - compatible = "allwinner,sunxi-ahub"; - reg = <0x0 0x05097000 0x0 0xADF>; - clocks = <&clk_pll_audio>,<&clk_ahub>; - status = "okay"; - }; - - ahub_daudio0:ahub_daudio0@0x05097000{ - compatible = "allwinner,sunxi-ahub-daudio"; - reg = <0x0 0x05097000 0x0 0xADF>; - clocks = <&clk_pll_audio>,<&clk_ahub>; - pinctrl-names = "default","sleep"; - pinctrl-0 = <&ahub_daudio0_pins_a>; - pinctrl-1 = <&ahub_daudio0_pins_b>; - pinconfig = <0x1>; - frametype = <0x0>; - pcm_lrck_period = <0x20>; - slot_width_select = <0x20>; - daudio_master = <0x04>; - audio_format = <0x01>; - signal_inversion = <0x01>; - tdm_config = <0x01>; - tdm_num = <0x0>; - mclk_div = <0x0>; - status = "disabled"; - }; - - ahub_daudio1:ahub_daudio1@0x05097000{ - compatible = "allwinner,sunxi-ahub-daudio"; - reg = <0x0 0x05097000 0x0 0xADF>; - clocks = <&clk_pll_audio>,<&clk_ahub>; - pinconfig = <0x0>; - frametype = <0x0>; - pcm_lrck_period = <0x20>; - slot_width_select = <0x20>; - daudio_master = <0x04>; - audio_format = <0x01>; - signal_inversion = <0x01>; - tdm_config = <0x01>; - tdm_num = <0x1>; - mclk_div = <0x0>; - status = "okay"; - }; - - ahub_daudio2:ahub_daudio2@0x05097000{ - compatible = "allwinner,sunxi-ahub-daudio"; - reg = <0x0 0x05097000 0x0 0xADF>; - clocks = <&clk_pll_audio>,<&clk_ahub>; - pinctrl-names = "default","sleep"; - pinctrl-0 = <&ahub_daudio2_pins_a>; - pinctrl-1 = <&ahub_daudio2_pins_b>; - pinconfig = <0x1>; - frametype = <0x0>; - pcm_lrck_period = <0x20>; - slot_width_select = <0x20>; - daudio_master = <0x04>; - audio_format = <0x01>; - signal_inversion = <0x01>; - tdm_config = <0x01>; - tdm_num = <0x2>; - mclk_div = <0x0>; - status = "okay"; - }; - - ahub_daudio3:ahub_daudio3@0x05097000{ - compatible = "allwinner,sunxi-ahub-daudio"; - reg = <0x0 0x05097000 0x0 0xADF>; - clocks = <&clk_pll_audio>,<&clk_ahub>; - pinctrl-names = "default","sleep"; - pinctrl-0 = <&ahub_daudio3_pins_a>; - pinctrl-1 = <&ahub_daudio3_pins_b>; - pinconfig = <0x1>; - frametype = <0x0>; - pcm_lrck_period = <0x20>; - slot_width_select = <0x20>; - daudio_master = <0x04>; - audio_format = <0x01>; - signal_inversion = <0x01>; - tdm_config = <0x01>; - tdm_num = <0x3>; - mclk_div = <0x4>; - status = "okay"; - }; - - snddaudio0:sound@0{ - compatible = "allwinner,sunxi-daudio0-machine"; - sunxi,daudio-controller = <&daudio0>; - sunxi,cpudai-controller = <&ahub_daudio0>; - status = "disable"; - }; - - sndhdmi:sound@1{ - compatible = "allwinner,sunxi-hdmi-machine"; - sunxi,hdmi-controller = <&audiohdmi>; - sunxi,cpudai-controller = <&ahub_daudio1>; - status = "okay"; - }; - - snddaudio2:sound@2{ - compatible = "allwinner,sunxi-daudio2-machine"; - sunxi,daudio-controller = <&daudio2>; - sunxi,cpudai-controller = <&ahub_daudio2>; - status = "okay"; - }; - - snddaudio3:sound@3{ - compatible = "allwinner,sunxi-daudio3-machine"; - sunxi,daudio-controller = <&daudio3>; - sunxi,cpudai-controller = <&ahub_daudio3>; - - sunxi,snddaudio-codec = "acx00-codec"; - sunxi,snddaudio-codec-dai = "acx00-dai"; - status = "okay"; - }; - - sndspdif:sound@4{ - compatible = "allwinner,sunxi-spdif-machine"; - sunxi,spdif-controller = <&spdif>; - status = "disabled"; - }; - - snddmic:sound@5{ - compatible = "allwinner,sunxi-dmic-machine"; - sunxi,dmic-controller = <&dmic>; - status = "disabled"; - }; - - sndahub:sound@6{ - compatible = "allwinner,sunxi-ahub-machine"; - sunxi,cpudai-controller0 = <&ahub_cpudai0>; - sunxi,cpudai-controller1 = <&ahub_cpudai1>; - sunxi,cpudai-controller2 = <&ahub_cpudai2>; - sunxi,audio-codec = <&ahub_codec>; - status = "okay"; - }; - - spi0: spi@05010000 { - #address-cells = <1>; - #size-cells = <0>; - compatible = "allwinner,sun50i-spi"; - device_type = "spi0"; - reg = <0x0 0x05010000 0x0 0x1000>; - interrupts = <0 10 4>; - clocks = <&clk_pll_periph0>, <&clk_spi0>; - clock-frequency = <100000000>; - pinctrl-names = "default", "sleep"; - pinctrl-0 = <&spi0_pins_a &spi0_pins_b>; - pinctrl-1 = <&spi0_pins_c>; - spi0_cs_number = <1>; - spi0_cs_bitmap = <1>; - status = "disabled"; - }; - - spi1: spi@05011000 { - #address-cells = <1>; - #size-cells = <0>; - compatible = "allwinner,sun50i-spi"; - device_type = "spi1"; - reg = <0x0 0x05011000 0x0 0x1000>; - interrupts = <0 11 4>; - clocks = <&clk_pll_periph0>, <&clk_spi1>; - clock-frequency = <100000000>; - pinctrl-names = "default", "sleep"; - pinctrl-0 = <&spi1_pins_a &spi1_pins_b>; - pinctrl-1 = <&spi1_pins_c>; - spi1_cs_number = <1>; - spi1_cs_bitmap = <1>; - status = "disabled"; - - spi_board0 { - device_type = "spi_board0"; - compatible = "spidev"; - spi-max-frequency = <0x00124f80>; - reg = <0x00000000>; - }; - - }; - pcie: pcie@0x05400000 { - #address-cells = <3>; - #size-cells = <2>; - compatible = "allwinner,sun50i-pcie"; - reg = <0 0x05400000 0 0x2000>, - <0 0x05410000 0 0x10000>; - reg-names = "dbi", "config"; - device_type = "pci"; - ranges = <0x00000800 0 0x05410000 0 0x05410000 0 0x00010000 - 0x81000000 0 0 0 0x05e00000 0 0x00010000 - 0x82000000 0 0x05500000 0 0x05500000 0 0x00800000>; - num-lanes = <1>; - interrupts = <0 127 4>, - <0 126 4>; - interrupt-names = "msi"; - clocks = <&clk_pcieref>, - <&clk_pciemaxi>, - <&clk_pcieaux>, - <&clk_pcie_bus>, - <&clk_pcie_power>, - <&clk_pcie_rst>; - #interrupt-cells = <1>; - interrupt-map-mask = <0 0 0 0>; - interrupt-map = <0 0 0 1 &gic 0 127 4>; - status = "okay"; - }; - - sdc2: sdmmc@04022000 { - compatible = "allwinner,sunxi-mmc-v4p6x"; - device_type = "sdc2"; - reg = <0x0 0x04022000 0x0 0x1000>; - interrupts = <0 37 0x0104>; - clocks = <&clk_hosc>, - <&clk_pll_periph1x2>, - <&clk_sdmmc2_mod>, - <&clk_sdmmc2_bus>, - <&clk_sdmmc2_rst>; - clock-names = "osc24m","pll_periph","mmc","ahb","rst"; - pinctrl-names = "default","sleep"; - pinctrl-0 = <&sdc2_pins_a>; - pinctrl-1 = <&sdc2_pins_b>; - bus-width = <8>; - - - - - - max-frequency = <50000000>; - cap-sd-highspeed; - cap-mmc-highspeed; - cap-erase; - mmc-high-capacity-erase-size; - no-sdio; - no-sd; -# 1265 "arch/arm64/boot/dts/sunxi/sun50iw6p1.dtsi" - 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 = <0x00000005>; - sdc_tm4_sm4_freq0 = <0x00050000>; - sdc_tm4_sm4_freq1 = <0x00000004>; -# 1284 "arch/arm64/boot/dts/sunxi/sun50iw6p1.dtsi" - status = "okay"; - }; - - sdc0: sdmmc@04020000 { - compatible = "allwinner,sunxi-mmc-v4p1x"; - device_type = "sdc0"; - reg = <0x0 0x04020000 0x0 0x1000>; - interrupts = <0 35 0x0104>; - clocks = <&clk_hosc>, - <&clk_pll_periph1x2>, - <&clk_sdmmc0_mod>, - <&clk_sdmmc0_bus>, - <&clk_sdmmc0_rst>; - clock-names = "osc24m","pll_periph","mmc","ahb","rst"; - pinctrl-names = "default","sleep" ,"uart_jtag"; - pinctrl-0 = <&sdc0_pins_a>; - pinctrl-1 = <&sdc0_pins_b>; - pinctrl-2 = <&sdc0_pins_c>; - max-frequency = <50000000>; - bus-width = <4>; - - - - cd-gpios = <&pio 5 6 0 1 2 0>; - - - - - - - cap-sd-highspeed; - cap-mmc-highspeed; - no-sdio; - no-mmc; -# 1334 "arch/arm64/boot/dts/sunxi/sun50iw6p1.dtsi" - status = "okay"; - }; - - sdc1: sdmmc@04021000 { - compatible = "allwinner,sunxi-mmc-v4p1x"; - device_type = "sdc1"; - reg = <0x0 0x04021000 0x0 0x1000>; - interrupts = <0 36 0x0104>; - clocks = <&clk_hosc>, - <&clk_pll_periph1x2>, - <&clk_sdmmc1_mod>, - <&clk_sdmmc1_bus>, - <&clk_sdmmc1_rst>; - clock-names = "osc24m","pll_periph","mmc","ahb","rst"; - pinctrl-names = "default","sleep"; - pinctrl-0 = <&sdc1_pins_a>; - pinctrl-1 = <&sdc1_pins_b>; - max-frequency = <50000000>; - bus-width = <4>; -# 1362 "arch/arm64/boot/dts/sunxi/sun50iw6p1.dtsi" - cap-sd-highspeed; - cap-mmc-highspeed; - no-mmc; -# 1375 "arch/arm64/boot/dts/sunxi/sun50iw6p1.dtsi" - sunxi-dly-52M-ddr4 = <1 0 0 0 2>; - - sunxi-dly-104M = <1 0 0 0 1>; - - sunxi-dly-208M = <1 0 0 0 1>; - - - - status = "disabled"; - }; - - disp: disp@01000000 { - compatible = "allwinner,sunxi-disp"; - reg = <0x0 0x01000000 0x0 0x01400000>, - <0x0 0x06510000 0x0 0x100>, - <0x0 0x06511000 0x0 0x800>, - <0x0 0x06515000 0x0 0x800>; - interrupts = <0 65 0x0104>, <0 66 0x0104>; - clocks = <&clk_de>, - <&clk_display_top>, - <&clk_tcon_lcd>, - <&clk_tcon_tv>; - boot_disp = <0>; - boot_disp1 = <0>; - boot_disp2 = <0>; - fb_base = <0>; - iommus = <&mmu_aw 0 0>; - status = "okay"; - }; - - lcd0: lcd0@01c0c000 { - compatible = "allwinner,sunxi-lcd0"; - pinctrl-names = "active","sleep"; - - status = "okay"; - }; - - lcd1: lcd1@01c0c001 { - compatible = "allwinner,sunxi-lcd1"; - pinctrl-names = "active","sleep"; - - status = "okay"; - }; - - hdmi: hdmi@06000000 { - compatible = "allwinner,sunxi-hdmi"; - reg = <0x0 0x06000000 0x0 0x100000>; - interrupts = <0 64 0>; - clocks = <&clk_hdmi>,<&clk_hdmi_slow>,<&clk_hdmi_hdcp>,<&clk_hdmi_cec>; - pinctrl-names = "ddc_active","ddc_sleep","cec_active", "cec_sleep"; - pinctrl-0 = <&hdmi_ddc_pin_a>; - pinctrl-1 = <&hdmi_ddc_pin_b>; - pinctrl-2 = <&hdmi_cec_pin_a>; - pinctrl-3 = <&hdmi_cec_pin_b>; - status = "okay"; - }; - - tv0: tv0@01c94000 { - compatible = "allwinner,sunxi-tv"; - reg = <0x0 0x01e40000 0x0 0x1000>; - - status = "disabled"; - }; - - soc_tr: tr@01000000 { - compatible = "allwinner,sun50i-tr"; - reg = <0x0 0x01000000 0x0 0x000200bc>; - interrupts = <0 96 0x0104>; - clocks = <&clk_de>; - status = "okay"; - }; - - pwm: pwm@0300a000 { - compatible = "allwinner,sunxi-pwm"; - reg = <0x0 0x0300a000 0x0 0x3c>; - clocks = <&clk_pwm>; - pwm-number = <2>; - pwm-base = <0x0>; - pwms = <&pwm0>, <&pwm1>; - }; - - pwm0: pwm0@0300a000 { - compatible = "allwinner,sunxi-pwm0"; - pinctrl-names = "active", "sleep"; - reg_base = <0x0300a000>; - reg_busy_offset = <0x00>; - reg_busy_shift = <28>; - reg_enable_offset = <0x00>; - reg_enable_shift = <4>; - reg_clk_gating_offset = <0x00>; - reg_clk_gating_shift = <6>; - reg_bypass_offset = <0x00>; - reg_bypass_shift = <9>; - reg_pulse_start_offset = <0x00>; - reg_pulse_start_shift = <8>; - reg_mode_offset = <0x00>; - reg_mode_shift = <7>; - reg_polarity_offset = <0x00>; - reg_polarity_shift = <5>; - reg_period_offset = <0x04>; - reg_period_shift = <16>; - reg_period_width = <16>; - reg_active_offset = <0x04>; - reg_active_shift = <0>; - reg_active_width = <16>; - reg_prescal_offset = <0x00>; - reg_prescal_shift = <0>; - reg_prescal_width = <4>; - }; - pwm1: pwm1@0300a000 { - compatible = "allwinner,sunxi-pwm1"; - pinctrl-names = "active", "sleep"; - reg_base = <0x0300a000>; - reg_busy_offset = <0x00>; - reg_busy_shift = <29>; - reg_enable_offset = <0x00>; - reg_enable_shift = <19>; - reg_clk_gating_offset = <0x00>; - reg_clk_gating_shift = <21>; - reg_bypass_offset = <0x00>; - reg_bypass_shift = <24>; - reg_pulse_start_offset = <0x00>; - reg_pulse_start_shift = <23>; - reg_mode_offset = <0x00>; - reg_mode_shift = <22>; - reg_polarity_offset = <0x00>; - reg_polarity_shift = <20>; - reg_period_offset = <0x08>; - reg_period_shift = <16>; - reg_period_width = <16>; - reg_active_offset = <0x08>; - reg_active_shift = <0>; - reg_active_width = <16>; - reg_prescal_offset = <0x00>; - reg_prescal_shift = <15>; - reg_prescal_width = <4>; - }; - s_pwm: s_pwm@07020c00 { - compatible = "allwinner,sunxi-s_pwm"; - reg = <0x0 0x07020c00 0x0 0x3c>; - clocks = <&clk_spwm>; - pwm-number = <1>; - pwm-base = <0x10>; - pwms = <&spwm0>; - }; - - spwm0: spwm0@07020c00 { - compatible = "allwinner,sunxi-pwm16"; - pinctrl-names = "active", "sleep"; - reg_base = <0x07020c00>; - reg_busy_offset = <0x00>; - reg_busy_shift = <28>; - reg_enable_offset = <0x00>; - reg_enable_shift = <4>; - reg_clk_gating_offset = <0x00>; - reg_clk_gating_shift = <6>; - reg_bypass_offset = <0x00>; - reg_bypass_shift = <9>; - reg_pulse_start_offset = <0x00>; - reg_pulse_start_shift = <8>; - reg_mode_offset = <0x00>; - reg_mode_shift = <7>; - reg_polarity_offset = <0x00>; - reg_polarity_shift = <5>; - reg_period_offset = <0x04>; - reg_period_shift = <16>; - reg_period_width = <16>; - reg_active_offset = <0x04>; - reg_active_shift = <0>; - reg_active_width = <16>; - reg_prescal_offset = <0x00>; - reg_prescal_shift = <0>; - reg_prescal_width = <4>; - }; - - boot_disp: boot_disp { - compatible = "allwinner,boot_disp"; - }; - - ac200: ac200 { - compatible = "allwinner,sunxi-ac200"; - clocks = <&clk_tcon_lcd>; - pinctrl-names = "active","sleep", "ccir_clk_active", - "ccir_clk_sleep"; - pinctrl-2 = <&ccir_clk_pin_a>; - pinctrl-3 = <&ccir_clk_pin_b>; - status = "okay"; - }; - - vind0:vind@0 { - compatible = "allwinner,sunxi-vin-media", "simple-bus"; - #address-cells = <2>; - #size-cells = <2>; - ranges; - device_id = <0>; - reg = <0x0 0x06620000 0x0 0x1000>; - clocks = <&clk_csi_top>, <&clk_pll_periph0>, - <&clk_csi_master0>, <&clk_hosc>, <&clk_pll_periph0>; - pinctrl-names = "mclk0-default","mclk0-sleep"; - pinctrl-0 = <&csi_mclk0_pins_a>; - pinctrl-1 = <&csi_mclk0_pins_b>; - status = "okay"; - - csi_cci0:cci@0x0662e000 { - compatible = "allwinner,sunxi-csi_cci"; - reg = <0x0 0x0662e000 0x0 0x1000>; - interrupts = <0 72 4>; - clocks = <&clk_csi_misc>; - pinctrl-names = "default","sleep"; - pinctrl-0 = <&csi_cci0_pins_a>; - pinctrl-1 = <&csi_cci0_pins_b>; - device_id = <0>; - status = "okay"; - }; - csi0:csi@0x06621000 { - device_type = "csi0"; - compatible = "allwinner,sunxi-csi"; - reg = <0x0 0x06621000 0x0 0x1000>; - interrupts = <0 70 4>; - pinctrl-names = "default","sleep"; - pinctrl-0 = <&csi0_pins_a>; - pinctrl-1 = <&csi0_pins_b>; - device_id = <0>; - iommus = <&mmu_aw 4 1>; - status = "okay"; - }; - csi1:csi@1 { - device_type = "csi1"; - compatible = "allwinner,sunxi-csi"; - device_id = <1>; - iommus = <&mmu_aw 4 1>; - status = "disabled"; - }; - mipi0:mipi@0 { - compatible = "allwinner,sunxi-mipi"; - device_id = <0>; - status = "disabled"; - }; - mipi1:mipi@1 { - compatible = "allwinner,sunxi-mipi"; - device_id = <1>; - status = "disabled"; - }; - isp0:isp@0 { - compatible = "allwinner,sunxi-isp"; - reg = <0x0 0x02100000 0x0 0x800>; - interrupts = <0 86 4>; - device_id = <0>; - iommus = <&mmu_aw 4 1>; - status = "okay"; - }; - isp1:isp@1 { - compatible = "allwinner,sunxi-isp"; - reg = <0x0 0x02100800 0x0 0x800>; - device_id = <1>; - iommus = <&mmu_aw 4 1>; - status = "disabled"; - }; - scaler0:scaler@0x02101000 { - compatible = "allwinner,sunxi-scaler"; - reg = <0x0 0x02101000 0x0 0x400>; - device_id = <0>; - iommus = <&mmu_aw 4 1>; - status = "okay"; - }; - scaler1:scaler@0x02101400 { - compatible = "allwinner,sunxi-scaler"; - reg = <0x0 0x02101400 0x0 0x400>; - device_id = <1>; - iommus = <&mmu_aw 4 1>; - status = "okay"; - }; - scaler2:scaler@2 { - compatible = "allwinner,sunxi-scaler"; - device_id = <2>; - iommus = <&mmu_aw 4 1>; - status = "disabled"; - }; - scaler3:scaler@3 { - compatible = "allwinner,sunxi-scaler"; - device_id = <3>; - iommus = <&mmu_aw 4 1>; - status = "disabled"; - }; - actuator0:actuator@0 { - device_type = "actuator0"; - compatible = "allwinner,sunxi-actuator"; - actuator0_name = "ad5820_act"; - actuator0_slave = <0x18>; - actuator0_af_pwdn = <>; - actuator0_afvdd = "afvcc-csi"; - actuator0_afvdd_vol = <2800000>; - status = "disabled"; - }; - flash0:flash@0 { - device_type = "flash0"; - compatible = "allwinner,sunxi-flash"; - flash0_type = <2>; - flash0_en = <>; - flash0_mode = <>; - flash0_flvdd = ""; - flash0_flvdd_vol = <>; - device_id = <0>; - status = "disabled"; - }; - sensor0:sensor@0 { - device_type = "sensor0"; - sensor0_mname = "ov5640"; - sensor0_twi_cci_id = <0>; - sensor0_twi_addr = <0x78>; - sensor0_pos = "rear"; - sensor0_isp_used = <0>; - sensor0_fmt = <0>; - sensor0_stby_mode = <0>; - sensor0_vflip = <0>; - sensor0_hflip = <0>; - sensor0_iovdd = "iovdd-csi"; - sensor0_iovdd_vol = <2800000>; - sensor0_avdd = "avdd-csi"; - sensor0_avdd_vol = <2800000>; - sensor0_dvdd = "dvdd-csi-18"; - sensor0_dvdd_vol = <1500000>; - sensor0_power_en = <>; - sensor0_reset = <&pio 4 14 1 0 1 0>; - sensor0_pwdn = <&pio 4 16 1 0 1 0>; - flash_handle = <&flash0>; - act_handle = <&actuator0>; - status = "okay"; - }; - sensor1:sensor@1 { - device_type = "sensor1"; - sensor1_mname = "ov5647"; - sensor1_twi_cci_id = <0>; - sensor1_twi_addr = <0x6c>; - sensor1_pos = "front"; - sensor1_isp_used = <0>; - sensor1_fmt = <0>; - sensor1_stby_mode = <0>; - sensor1_vflip = <0>; - sensor1_hflip = <0>; - sensor1_iovdd = "iovdd-csi"; - sensor1_iovdd_vol = <2800000>; - sensor1_avdd = "avdd-csi"; - sensor1_avdd_vol = <2800000>; - sensor1_dvdd = "dvdd-csi-18"; - sensor1_dvdd_vol = <1500000>; - sensor1_power_en = <>; - sensor1_reset = <&pio 4 14 1 0 1 0>; - sensor1_pwdn = <&pio 4 15 1 0 1 0>; - flash_handle = <>; - act_handle = <>; - status = "okay"; - }; - vinc0:vinc@0x06623000 { - device_type = "vinc0"; - compatible = "allwinner,sunxi-vin-core"; - reg = <0x0 0x06623000 0x0 0x100>; - interrupts = <0 67 4>; - vinc0_csi_sel = <0>; - vinc0_mipi_sel = <0xff>; - vinc0_isp_sel = <0>; - vinc0_sensor_sel = <0>; - vinc0_sensor_list = <0>; - isp_handle = <&isp0 &isp1>; - sensor_handle = <&sensor0 &sensor1>; - device_id = <0>; - iommus = <&mmu_aw 4 1>; - status = "okay"; - }; - vinc1:vinc@0x06623100 { - device_type = "vinc1"; - compatible = "allwinner,sunxi-vin-core"; - reg = <0x0 0x06623100 0x0 0x100>; - interrupts = <0 68 4>; - vinc1_csi_sel = <0>; - vinc1_mipi_sel = <0xff>; - vinc1_isp_sel = <0>; - vinc1_sensor_sel = <1>; - vinc1_sensor_list = <0>; - isp_handle = <&isp0 &isp1>; - sensor_handle = <&sensor0 &sensor1>; - device_id = <1>; - iommus = <&mmu_aw 4 1>; - status = "okay"; - }; - }; - - Vdevice: vdevice@0 { - compatible = "allwinner,sun50i-vdevice"; - device_type = "Vdevice"; - pinctrl-names = "default"; - pinctrl-0 = <&vdevice_pins_a>; - test-gpios = <&pio 1 0 1 2 2 1>; - status = "disabled"; - }; - - emce: emce@01905000 { - compatible = "allwinner,sunxi-emce"; - device_name = "emce"; - reg = <0x0 0x01905000 0 0x100>; - clock-frequency = <300000000>; - clocks = <&clk_emce>, <&clk_pll_periph0x2>; - }; - - cryptoengine: ce@1904000 { - compatible = "allwinner,sunxi-ce"; - device_name = "ce"; - reg = <0x0 0x01904000 0x0 0xa0>, - <0x0 0x01904800 0x0 0xa0>; - interrupts = <0 87 0xff01>, - <0 88 0xff01>; - clock-frequency = <300000000>; - clocks = <&clk_ce>, <&clk_pll_periph0x2>; - }; - - di:deinterlace@0x01420000{ - #address-cells = <1>; - #size-cells = <0>; - compatible = "allwinner,sunxi-deinterlace"; - reg = <0x0 0x01420000 0x0 0x20c>; - interrupts = <0 79 4>; - clocks = <&clk_di> ,<&clk_pll_periph0>; - iommus = <&mmu_aw 2 1>; - status = "okay"; - }; - - scr0:smartcard@0x05005000{ - #address-cells = <1>; - #size-cells = <0>; - compatible = "allwinner,sunxi-scr"; - device_type = "scr0"; - reg = <0x0 0x05005000 0x0 0x400>; - interrupts = <0 8 4>; - clocks = <&clk_scr0>, <&clk_apb2>; - clock-frequency = <24000000>; - pinctrl-names = "default", "sleep"; - pinctrl-0 = <&scr0_pins_a &scr0_pins_b>; - pinctrl-1 = <&scr0_pins_c>; - status = "disabled"; - }; - - scr1:smartcard@0x05005400{ - #address-cells = <1>; - #size-cells = <0>; - compatible = "allwinner,sunxi-scr"; - device_type = "scr1"; - reg = <0x0 0x05005400 0x0 0x400>; - interrupts = <0 9 4>; - clocks = <&clk_scr1>, <&clk_apb2>; - clock-frequency = <24000000>; - pinctrl-names = "default", "sleep"; - pinctrl-0 = <&scr1_pins_a &scr1_pins_b>; - pinctrl-1 = <&scr1_pins_c>; - status = "disabled"; - }; - - pmu0: pmu@0{ - interrupts = <0 96 4>; - status = "okay"; - - powerkey0: powerkey@0{ - status = "okay"; - }; - - regulator0: regulator@0{ - status = "okay"; - }; - - axp_gpio0: axp_gpio@0{ - gpio-controller; - #size-cells = <0>; - #gpio-cells = <6>; - status = "okay"; - device_type = "axp_pio"; - }; - - charger0: charger@0{ - status = "disabled"; - }; - }; - - nmi:nmi@0x01f00c00{ - #address-cells = <1>; - #size-cells = <0>; - compatible = "allwinner,sunxi-nmi"; - reg = <0x0 0x01f00c00 0x0 0x50>; - nmi_irq_ctrl = <0x0c>; - nmi_irq_en = <0x40>; - nmi_irq_status = <0x10>; - nmi_irq_mask = <0x50>; - status = "okay"; - }; - - nand0:nand0@04011000 { - compatible = "allwinner,sun50iw6-nand"; - device_type = "nand0"; - reg = <0x0 0x04011000 0x0 0x1000>; - interrupts = <0 34 0x04>; - clocks = <&clk_pll_periph0x2>,<&clk_nand0>,<&clk_nand1>; - pinctrl-names = "default", "sleep"; - pinctrl-0 = <&nand0_pins_a &nand0_pins_b>; - pinctrl-1 = <&nand0_pins_c>; - 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 = "okay"; - }; - - ts0:ts0@05060000 { - compatible = "allwinner,sun50i-tsc"; - device_type = "ts0"; - reg = <0x0 0x05060000 0x0 0x1000>; - interrupts = <0 14 4>; - clocks = <&clk_pll_periph0>,<&clk_ts>; - clock-frequency = <120000000>; - pinctrl-names = "ts0-default","ts1-default", - "ts2-default","ts3-default", - "ts0-sleep","ts1-sleep", - "ts2-sleep","ts3-sleep"; - pinctrl-0 = <&ts0_pins_a>; - pinctrl-1 = <&ts1_pins_a>; - pinctrl-2 = <&ts2_pins_a>; - pinctrl-3 = <&ts3_pins_a>; - pinctrl-4 = <&ts0_pins_b>; - pinctrl-5 = <&ts1_pins_b>; - pinctrl-6 = <&ts2_pins_b>; - pinctrl-7 = <&ts3_pins_b>; - ts0config = <0x1>; - ts1config = <0x0>; - ts2config = <0x0>; - ts3config = <0x0>; - status = "okay"; - }; - - sunxi_thermal_sensor:thermal_sensor{ - compatible = "allwinner,thermal_sensor"; - reg = <0x0 0x05070400 0x0 0x400>; - interrupts = <0 15 0>; - clocks = <&clk_hosc>,<&clk_ths>; - sensor_num = <2>; - combine_num = <2>; - alarm_low_temp = <105000>; - alarm_high_temp = <110000>; - alarm_temp_hysteresis = <15000>; - shut_temp= <115000>; - status = "okay"; - - ths_combine0:ths_combine0{ - compatible = "allwinner,ths_combine0"; - #thermal-sensor-cells = <1>; - combine_sensor_num = <1>; - combine_sensor_type = "cpu"; - combine_sensor_temp_type = "max"; - combine_sensor_id = <0>; - }; - ths_combine1:ths_combine1{ - compatible = "allwinner,ths_combine1"; - #thermal-sensor-cells = <1>; - combine_sensor_num = <1>; - combine_sensor_type = "gpu"; - combine_sensor_temp_type = "max"; - combine_sensor_id = <1>; - }; - }; - - cpu_budget_cooling:cpu_budget_cool{ - device_type = "cpu_budget_cool"; - compatible = "allwinner,budget_cooling"; - #cooling-cells = <2>; - status = "okay"; - state_cnt = <7>; - cluster_num = <1>; - state0 = <1800000 4>; - state1 = <1488000 4>; - state2 = <1320000 3>; - state3 = <1080000 2>; - state4 = <888000 1>; - state5 = <720000 1>; - state6 = <480000 1>; - }; - - gpu_cooling:gpu_cooling{ - compatible = "allwinner,gpu_cooling"; - reg = <0x0 0x0 0x0 0x0>; - #cooling-cells = <2>; - status = "okay"; - state_cnt = <4>; - state0 = <0>; - state1 = <1>; - state2 = <2>; - state3 = <3>; - }; - - thermal-zones{ - cpu_thermal_zone{ - - polling-delay-passive = <1000>; - polling-delay = <1000>; - thermal-sensors = <&ths_combine0 0>; - - trips{ - cpu_trip0:t0{ - temperature = <60000>; - type = "passive"; - hysteresis = <0>; - }; - cpu_trip1:t1{ - temperature = <90000>; - type = "passive"; - hysteresis = <0>; - }; - cpu_trip2:t2{ - temperature = <95000>; - type = "passive"; - hysteresis = <0>; - }; - cpu_trip3:t3{ - temperature = <100000>; - type = "passive"; - hysteresis = <0>; - }; - cpu_trip4:t4{ - temperature = <105000>; - type = "passive"; - hysteresis = <0>; - }; - cpu_trip5:t5{ - temperature = <110000>; - type = "passive"; - hysteresis = <0>; - }; - crt_trip0:t6{ - temperature = <115000>; - type = "critical"; - hysteresis = <0>; - }; - }; - - cooling-maps{ - bind0{ - contribution = <0>; - trip = <&cpu_trip0>; - cooling-device = <&cpu_budget_cooling 1 1>; - }; - bind1{ - contribution = <0>; - trip = <&cpu_trip1>; - cooling-device = <&cpu_budget_cooling 2 2>; - }; - bind2{ - contribution = <0>; - trip = <&cpu_trip2>; - cooling-device = <&cpu_budget_cooling 3 3>; - }; - bind3{ - contribution = <0>; - trip = <&cpu_trip3>; - cooling-device = - <&cpu_budget_cooling 4 4>; - }; - bind4{ - contribution = <0>; - trip = <&cpu_trip4>; - cooling-device = - <&cpu_budget_cooling 5 5>; - }; - bind5{ - contribution = <0>; - trip = <&cpu_trip5>; - cooling-device = <&cpu_budget_cooling 6 6>; - }; - }; - }; - - gpu_thermal_zone{ - - polling-delay-passive = <1000>; - polling-delay = <2000>; - thermal-sensors = <&ths_combine1 1>; - - trips{ - gpu_trip0:t0{ - temperature = <95000>; - type = "passive"; - hysteresis = <0>; - }; - gpu_trip1:t1{ - temperature = <100000>; - type = "passive"; - hysteresis = <0>; - }; - gpu_trip2:t2{ - temperature = <105000>; - type = "passive"; - hysteresis = <0>; - }; - crt_trip1:t3{ - temperature = <115000>; - type = "critical"; - hysteresis = <0>; - }; - }; - - cooling-maps{ - bind0{ - contribution = <0>; - trip = <&gpu_trip0>; - cooling-device = <&gpu_cooling 1 1>; - }; - bind1{ - contribution = <0>; - trip = <&gpu_trip1>; - cooling-device = <&gpu_cooling 2 2>; - }; - bind2{ - contribution = <0>; - trip = <&gpu_trip2>; - cooling-device = <&gpu_cooling 3 3>; - }; - }; - }; - }; - - keyboard0:keyboard{ - compatible = "allwinner,keyboard_1200mv"; - reg = <0x0 0x05070800 0x0 0x400>; - interrupts = <0 16 0>; - status = "okay"; - key_cnt = <5>; - key0 = <115 115>; - key1 = <235 114>; - key2 = <330 139>; - key3 = <420 28>; - key4 = <520 102>; - }; - - gmac0: eth@05020000 { - compatible = "allwinner,sunxi-gmac"; - reg = <0x0 0x05020000 0x0 0x10000>, - <0x0 0x03000030 0x0 0x4>; - interrupts = <0 12 4>; - interrupt-names = "gmacirq"; - clocks = <&clk_gmac>; - clock-names = "gmac"; - pinctrl-0 = <&gmac_pins_a>; - pinctrl-1 = <&gmac_pins_b>; - pinctrl-names = "default", "sleep"; - phy-mode; - tx-delay = <7>; - rx-delay = <31>; - phy-rst; - gmac-power0; - gmac-power1; - gmac-power2; - status = "disable"; - }; - }; - - gpu: gpu@0x01800000 { - device_type = "gpu"; - compatible = "arm,mali-t720", "arm,mali-midgard"; - reg = <0x0 0x01800000 0x0 0x4000>; - interrupts = <0 83 4>, <0 84 4>, <0 85 4>; - interrupt-names = "GPU", "JOB", "MMU"; - clocks = <&clk_pll_gpu>, <&clk_gpu>; - clock-names = "clk_parent", "clk_mali"; - operating-points = < - - 756000 1040000 - 624000 950000 - 576000 930000 - 540000 910000 - 504000 890000 - 456000 870000 - 432000 860000 - 420000 850000 - 408000 840000 - 384000 830000 - 360000 820000 - 336000 810000 - 312000 810000 - 264000 810000 - 216000 810000 - >; - }; -}; -# 10 "arch/arm64/boot/dts/sunxi/sun50iw6p1-soc.dts" 2 - -/{ - - soc@03000000 { - wlan:wlan { - compatible = "allwinner,sunxi-wlan"; - clocks = <&clk_losc_out>; - status = "okay"; - }; - - bt:bt { - compatible = "allwinner,sunxi-bt"; - clocks = <&clk_losc_out>; - bt_power = "vcc-wifi"; - bt_io_regulator = "vcc-wifi-io"; - bt_rst_n = <&r_pio 12 4 1 0 0 0>; - status = "okay"; - }; - - btlpm:btlpm { - compatible = "allwinner,sunxi-btlpm"; - uart_index = <1>; - bt_wake = <&r_pio 12 2 1 0 0 1>; - bt_hostwake = <&r_pio 12 1 6 0 0 0>; - status = "okay"; - }; - }; -}; diff --git a/external/packages/pack-uboot/sun50iw6/bin/dts/orangepi3-u-boot.dts b/external/packages/pack-uboot/sun50iw6/bin/dts/orangepi3-u-boot.dts new file mode 100644 index 0000000..c079a92 --- /dev/null +++ b/external/packages/pack-uboot/sun50iw6/bin/dts/orangepi3-u-boot.dts @@ -0,0 +1,5199 @@ +/dts-v1/; + +/memreserve/ 0x0000000040020000 0x0000000000000800; +/memreserve/ 0x0000000048000000 0x0000000001000000; +/memreserve/ 0x0000000048100000 0x0000000000004000; +/memreserve/ 0x0000000048104000 0x0000000000001000; +/memreserve/ 0x0000000048105000 0x0000000000001000; +/ { + model = "sun50iw6"; + compatible = "arm,sun50iw6p1"; + interrupt-parent = <0x1>; + #address-cells = <0x2>; + #size-cells = <0x2>; + + clocks { + compatible = "allwinner,clk-init"; + device_type = "clocks"; + #address-cells = <0x2>; + #size-cells = <0x2>; + ranges; + reg = <0x0 0x3001000 0x0 0x1000 0x0 0x7010000 0x0 0x400 0x0 0x7000000 0x0 0x4>; + + losc { + #clock-cells = <0x0>; + compatible = "allwinner,fixed-clock"; + clock-frequency = <0x8000>; + clock-output-names = "losc"; + linux,phandle = <0x15>; + phandle = <0x15>; + }; + + iosc { + #clock-cells = <0x0>; + compatible = "allwinner,fixed-clock"; + clock-frequency = <0xf42400>; + clock-output-names = "iosc"; + linux,phandle = <0x16>; + phandle = <0x16>; + }; + + hosc { + #clock-cells = <0x0>; + compatible = "allwinner,fixed-clock"; + clock-frequency = <0x16e3600>; + clock-output-names = "hosc"; + linux,phandle = <0x7>; + phandle = <0x7>; + }; + + osc48m { + #clock-cells = <0x0>; + compatible = "allwinner,fixed-clock"; + clock-frequency = <0x2dc6c00>; + clock-output-names = "osc48m"; + linux,phandle = <0x8>; + phandle = <0x8>; + }; + + pll_cpu { + #clock-cells = <0x0>; + compatible = "allwinner,pll-clock"; + lock-mode = "new"; + clock-output-names = "pll_cpu"; + linux,phandle = <0xd7>; + phandle = <0xd7>; + }; + + pll_ddr0 { + #clock-cells = <0x0>; + compatible = "allwinner,pll-clock"; + lock-mode = "new"; + clock-output-names = "pll_ddr0"; + linux,phandle = <0xde>; + phandle = <0xde>; + }; + + pll_periph0 { + #clock-cells = <0x0>; + compatible = "allwinner,pll-clock"; + assigned-clock-rates = <0x23c34600>; + lock-mode = "new"; + clock-output-names = "pll_periph0"; + linux,phandle = <0x2>; + phandle = <0x2>; + }; + + pll_periph1 { + #clock-cells = <0x0>; + compatible = "allwinner,pll-clock"; + assigned-clock-rates = <0x23c34600>; + lock-mode = "new"; + clock-output-names = "pll_periph1"; + linux,phandle = <0x3>; + phandle = <0x3>; + }; + + pll_gpu { + #clock-cells = <0x0>; + compatible = "allwinner,pll-clock"; + lock-mode = "new"; + clock-output-names = "pll_gpu"; + linux,phandle = <0xe0>; + phandle = <0xe0>; + }; + + pll_video0 { + #clock-cells = <0x0>; + compatible = "allwinner,pll-clock"; + lock-mode = "new"; + clock-output-names = "pll_video0"; + linux,phandle = <0x5>; + phandle = <0x5>; + }; + + pll_video1 { + #clock-cells = <0x0>; + compatible = "allwinner,pll-clock"; + lock-mode = "new"; + assigned-clock-rates = <0x2367b880>; + clock-output-names = "pll_video1"; + linux,phandle = <0x6>; + phandle = <0x6>; + }; + + pll_ve { + #clock-cells = <0x0>; + compatible = "allwinner,pll-clock"; + device_type = "clk_pll_ve"; + lock-mode = "new"; + clock-output-names = "pll_ve"; + linux,phandle = <0x1f>; + phandle = <0x1f>; + }; + + pll_de { + #clock-cells = <0x0>; + compatible = "allwinner,pll-clock"; + assigned-clock-rates = <0x297c1e00>; + lock-mode = "new"; + clock-output-names = "pll_de"; + linux,phandle = <0x9>; + phandle = <0x9>; + }; + + pll_hsic { + #clock-cells = <0x0>; + compatible = "allwinner,pll-clock"; + lock-mode = "new"; + clock-output-names = "pll_hsic"; + linux,phandle = <0x47>; + phandle = <0x47>; + }; + + pll_audio { + #clock-cells = <0x0>; + compatible = "allwinner,pll-clock"; + lock-mode = "new"; + clock-output-names = "pll_audio"; + linux,phandle = <0x4>; + phandle = <0x4>; + }; + + pll_periph0x2 { + #clock-cells = <0x0>; + compatible = "allwinner,fixed-factor-clock"; + clocks = <0x2>; + clock-mult = <0x2>; + clock-div = <0x1>; + clock-output-names = "pll_periph0x2"; + linux,phandle = <0x23>; + phandle = <0x23>; + }; + + pll_periph0x4 { + #clock-cells = <0x0>; + compatible = "allwinner,fixed-factor-clock"; + clocks = <0x2>; + clock-mult = <0x4>; + clock-div = <0x1>; + clock-output-names = "pll_periph0x4"; + }; + + periph32k { + #clock-cells = <0x0>; + compatible = "allwinner,fixed-factor-clock"; + clocks = <0x2>; + clock-mult = <0x2>; + clock-div = <0x8f0d>; + clock-output-names = "periph32k"; + }; + + pll_periph1x2 { + #clock-cells = <0x0>; + compatible = "allwinner,fixed-factor-clock"; + clocks = <0x3>; + clock-mult = <0x2>; + clock-div = <0x1>; + clock-output-names = "pll_periph1x2"; + linux,phandle = <0x7b>; + phandle = <0x7b>; + }; + + pll_audiox4 { + #clock-cells = <0x0>; + compatible = "allwinner,fixed-factor-clock"; + clocks = <0x4>; + clock-mult = <0x4>; + clock-div = <0x1>; + clock-output-names = "pll_audiox4"; + }; + + pll_audiox2 { + #clock-cells = <0x0>; + compatible = "allwinner,fixed-factor-clock"; + clocks = <0x4>; + clock-mult = <0x2>; + clock-div = <0x1>; + clock-output-names = "pll_audiox2"; + }; + + pll_video0x4 { + #clock-cells = <0x0>; + compatible = "allwinner,fixed-factor-clock"; + clocks = <0x5>; + clock-mult = <0x4>; + clock-div = <0x1>; + clock-output-names = "pll_video0x4"; + }; + + pll_video1x4 { + #clock-cells = <0x0>; + compatible = "allwinner,fixed-factor-clock"; + clocks = <0x6>; + clock-mult = <0x4>; + clock-div = <0x1>; + clock-output-names = "pll_video1x4"; + }; + + hoscd2 { + #clock-cells = <0x0>; + compatible = "allwinner,fixed-factor-clock"; + clocks = <0x7>; + clock-mult = <0x1>; + clock-div = <0x2>; + clock-output-names = "hoscd2"; + }; + + osc48md4 { + #clock-cells = <0x0>; + compatible = "allwinner,fixed-factor-clock"; + clocks = <0x8>; + clock-mult = <0x1>; + clock-div = <0x4>; + clock-output-names = "osc48md4"; + linux,phandle = <0x41>; + phandle = <0x41>; + }; + + pll_periph0d6 { + #clock-cells = <0x0>; + compatible = "allwinner,fixed-factor-clock"; + clocks = <0x2>; + clock-mult = <0x1>; + clock-div = <0x6>; + clock-output-names = "pll_periph0d6"; + }; + + cpu { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "cpu"; + }; + + axi { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "axi"; + }; + + cpuapb { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "cpuapb"; + }; + + psi { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "psi"; + }; + + ahb1 { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "ahb1"; + }; + + ahb2 { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "ahb2"; + }; + + ahb3 { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "ahb3"; + }; + + apb1 { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "apb1"; + }; + + apb2 { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "apb2"; + linux,phandle = <0xae>; + phandle = <0xae>; + }; + + mbus { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "mbus"; + }; + + de { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + assigned-clock-parents = <0x9>; + assigned-clock-rates = <0x297c1e00>; + assigned-clocks = <0xa>; + clock-output-names = "de"; + linux,phandle = <0xa>; + phandle = <0xa>; + }; + + di { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "di"; + linux,phandle = <0xac>; + phandle = <0xac>; + }; + + gpu { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "gpu"; + linux,phandle = <0xe1>; + phandle = <0xe1>; + }; + + ce { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "ce"; + linux,phandle = <0xab>; + phandle = <0xab>; + }; + + ve { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "ve"; + linux,phandle = <0x20>; + phandle = <0x20>; + }; + + emce { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "emce"; + linux,phandle = <0xaa>; + phandle = <0xaa>; + }; + + vp9 { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "vp9"; + linux,phandle = <0x22>; + phandle = <0x22>; + }; + + dma { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "dma"; + linux,phandle = <0x14>; + phandle = <0x14>; + }; + + msgbox { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "msgbox"; + linux,phandle = <0x17>; + phandle = <0x17>; + }; + + hwspinlock_rst { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "hwspinlock_rst"; + linux,phandle = <0x18>; + phandle = <0x18>; + }; + + hwspinlock_bus { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "hwspinlock_bus"; + linux,phandle = <0x19>; + phandle = <0x19>; + }; + + hstimer { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "hstimer"; + }; + + avs { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "avs"; + }; + + dbgsys { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "dbgsys"; + }; + + pwm { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "pwm"; + linux,phandle = <0x93>; + phandle = <0x93>; + }; + + iommu { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "iommu"; + linux,phandle = <0xdf>; + phandle = <0xdf>; + }; + + sdram { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "sdram"; + }; + + nand0 { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "nand0"; + linux,phandle = <0xb6>; + phandle = <0xb6>; + }; + + nand1 { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "nand1"; + linux,phandle = <0xb7>; + phandle = <0xb7>; + }; + + sdmmc0_mod { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "sdmmc0_mod"; + linux,phandle = <0x81>; + phandle = <0x81>; + }; + + sdmmc0_bus { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "sdmmc0_bus"; + linux,phandle = <0x82>; + phandle = <0x82>; + }; + + sdmmc0_rst { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "sdmmc0_rst"; + linux,phandle = <0x83>; + phandle = <0x83>; + }; + + sdmmc1_mod { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "sdmmc1_mod"; + linux,phandle = <0x88>; + phandle = <0x88>; + }; + + sdmmc1_bus { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "sdmmc1_bus"; + linux,phandle = <0x89>; + phandle = <0x89>; + }; + + sdmmc1_rst { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "sdmmc1_rst"; + linux,phandle = <0x8a>; + phandle = <0x8a>; + }; + + sdmmc2_mod { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "sdmmc2_mod"; + linux,phandle = <0x7c>; + phandle = <0x7c>; + }; + + sdmmc2_bus { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "sdmmc2_bus"; + linux,phandle = <0x7d>; + phandle = <0x7d>; + }; + + sdmmc2_rst { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "sdmmc2_rst"; + linux,phandle = <0x7e>; + phandle = <0x7e>; + }; + + uart0 { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "uart0"; + linux,phandle = <0x24>; + phandle = <0x24>; + }; + + uart1 { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "uart1"; + linux,phandle = <0x27>; + phandle = <0x27>; + }; + + uart2 { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "uart2"; + linux,phandle = <0x2a>; + phandle = <0x2a>; + }; + + uart3 { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "uart3"; + linux,phandle = <0x2d>; + phandle = <0x2d>; + }; + + twi0 { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "twi0"; + linux,phandle = <0x30>; + phandle = <0x30>; + }; + + twi1 { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "twi1"; + linux,phandle = <0x33>; + phandle = <0x33>; + }; + + twi2 { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "twi2"; + linux,phandle = <0x36>; + phandle = <0x36>; + }; + + twi3 { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "twi3"; + linux,phandle = <0x39>; + phandle = <0x39>; + }; + + scr0 { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "scr0"; + linux,phandle = <0xad>; + phandle = <0xad>; + }; + + scr1 { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "scr1"; + linux,phandle = <0xb2>; + phandle = <0xb2>; + }; + + spi0 { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "spi0"; + linux,phandle = <0x6f>; + phandle = <0x6f>; + }; + + spi1 { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "spi1"; + linux,phandle = <0x73>; + phandle = <0x73>; + }; + + gmac { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "gmac"; + linux,phandle = <0xd2>; + phandle = <0xd2>; + }; + + sata { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "sata"; + }; + + sata_24m { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "sata_24m"; + }; + + ts { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "ts"; + linux,phandle = <0xbb>; + phandle = <0xbb>; + }; + + irtx { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "irtx"; + }; + + ths { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "ths"; + linux,phandle = <0xc4>; + phandle = <0xc4>; + }; + + i2s0 { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "i2s0"; + linux,phandle = <0x4a>; + phandle = <0x4a>; + }; + + i2s1 { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "i2s1"; + linux,phandle = <0x4d>; + phandle = <0x4d>; + }; + + i2s2 { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "i2s2"; + linux,phandle = <0x4e>; + phandle = <0x4e>; + }; + + i2s3 { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "i2s3"; + linux,phandle = <0x51>; + phandle = <0x51>; + }; + + spdif { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "spdif"; + linux,phandle = <0x54>; + phandle = <0x54>; + }; + + dmic { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "dmic"; + linux,phandle = <0x57>; + phandle = <0x57>; + }; + + ahub { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "ahub"; + linux,phandle = <0x5a>; + phandle = <0x5a>; + }; + + usbphy0 { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "usbphy0"; + linux,phandle = <0x3c>; + phandle = <0x3c>; + }; + + usbphy1 { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "usbphy1"; + linux,phandle = <0x42>; + phandle = <0x42>; + }; + + usbphy3 { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "usbphy3"; + linux,phandle = <0x44>; + phandle = <0x44>; + }; + + usbohci0 { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "usbohci0"; + linux,phandle = <0x3f>; + phandle = <0x3f>; + }; + + usbohci0_12m { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "usbohci0_12m"; + linux,phandle = <0x40>; + phandle = <0x40>; + }; + + usbohci3 { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "usbohci3"; + linux,phandle = <0x48>; + phandle = <0x48>; + }; + + usbohci3_12m { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "usbohci3_12m"; + linux,phandle = <0x49>; + phandle = <0x49>; + }; + + usbehci0 { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "usbehci0"; + linux,phandle = <0x3e>; + phandle = <0x3e>; + }; + + usbehci3 { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "usbehci3"; + linux,phandle = <0x45>; + phandle = <0x45>; + }; + + usb3_0_host { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "usb3_0_host"; + linux,phandle = <0x43>; + phandle = <0x43>; + }; + + usbotg { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "usbotg"; + linux,phandle = <0x3d>; + phandle = <0x3d>; + }; + + usbhsic { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "usbhsic"; + linux,phandle = <0x46>; + phandle = <0x46>; + }; + + pcieref { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "pcieref"; + linux,phandle = <0x77>; + phandle = <0x77>; + }; + + pciemaxi { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + assigned-clocks = <0xb>; + assigned-clock-rates = <0xbebc200>; + clock-output-names = "pciemaxi"; + linux,phandle = <0xb>; + phandle = <0xb>; + }; + + pcieaux { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + assigned-clock-rates = <0xf4240>; + assigned-clocks = <0xc>; + clock-output-names = "pcieaux"; + linux,phandle = <0xc>; + phandle = <0xc>; + }; + + pcie_bus { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "pcie_bus"; + linux,phandle = <0x78>; + phandle = <0x78>; + }; + + pcie_power { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "pcie_power"; + linux,phandle = <0x79>; + phandle = <0x79>; + }; + + pcie_rst { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "pcie_rst"; + linux,phandle = <0x7a>; + phandle = <0x7a>; + }; + + hdmi { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + assigned-clock-parents = <0x6>; + assigned-clocks = <0xd>; + clock-output-names = "hdmi"; + linux,phandle = <0xd>; + phandle = <0xd>; + }; + + hdmi_slow { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + assigned-clocks = <0xe>; + clock-output-names = "hdmi_slow"; + linux,phandle = <0xe>; + phandle = <0xe>; + }; + + hdmi_cec { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + assigned-clocks = <0xf>; + clock-output-names = "hdmi_cec"; + linux,phandle = <0xf>; + phandle = <0xf>; + }; + + display_top { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "display_top"; + linux,phandle = <0x8d>; + phandle = <0x8d>; + }; + + tcon_lcd { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "tcon_lcd"; + linux,phandle = <0x8e>; + phandle = <0x8e>; + }; + + tcon_tv { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + assigned-clock-parents = <0x6>; + assigned-clocks = <0x10>; + clock-output-names = "tcon_tv"; + linux,phandle = <0x10>; + phandle = <0x10>; + }; + + csi_misc { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "csi_misc"; + linux,phandle = <0x9e>; + phandle = <0x9e>; + }; + + csi_top { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "csi_top"; + linux,phandle = <0x9a>; + phandle = <0x9a>; + }; + + csi_master0 { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "csi_master0"; + linux,phandle = <0x9b>; + phandle = <0x9b>; + }; + + hdmi_hdcp { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + assigned-clock-parents = <0x3>; + assigned-clocks = <0x11>; + clock-output-names = "hdmi_hdcp"; + linux,phandle = <0x11>; + phandle = <0x11>; + }; + + pio { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "pio"; + linux,phandle = <0x13>; + phandle = <0x13>; + }; + + cpurcir { + #clock-cells = <0x0>; + compatible = "allwinner,periph-cpus-clock"; + clock-output-names = "cpurcir"; + linux,phandle = <0x1b>; + phandle = <0x1b>; + }; + + losc_out { + #clock-cells = <0x0>; + compatible = "allwinner,periph-cpus-clock"; + clock-output-names = "losc_out"; + linux,phandle = <0xd5>; + phandle = <0xd5>; + }; + + cpurcpus_pll { + #clock-cells = <0x0>; + compatible = "allwinner,periph-cpus-clock"; + clock-output-names = "cpurcpus_pll"; + }; + + cpurcpus { + #clock-cells = <0x0>; + compatible = "allwinner,periph-cpus-clock"; + clock-output-names = "cpurcpus"; + }; + + cpurahbs { + #clock-cells = <0x0>; + compatible = "allwinner,periph-cpus-clock"; + clock-output-names = "cpurahbs"; + }; + + cpurapbs1 { + #clock-cells = <0x0>; + compatible = "allwinner,periph-cpus-clock"; + clock-output-names = "cpurapbs1"; + }; + + cpurapbs2_pll { + #clock-cells = <0x0>; + compatible = "allwinner,periph-cpus-clock"; + clock-output-names = "cpurapbs2_pll"; + }; + + cpurapbs2 { + #clock-cells = <0x0>; + compatible = "allwinner,periph-cpus-clock"; + clock-output-names = "cpurapbs2"; + }; + + cpurpio { + #clock-cells = <0x0>; + compatible = "allwinner,periph-cpus-clock"; + clock-output-names = "cpurpio"; + linux,phandle = <0x12>; + phandle = <0x12>; + }; + + spwm { + #clock-cells = <0x0>; + compatible = "allwinner,periph-cpus-clock"; + clock-output-names = "spwm"; + linux,phandle = <0x96>; + phandle = <0x96>; + }; + + dcxo_out { + #clock-cells = <0x0>; + compatible = "allwinner,periph-cpus-clock"; + clock-output-names = "dcxo_out"; + }; + }; + + soc@03000000 { + compatible = "simple-bus"; + #address-cells = <0x2>; + #size-cells = <0x2>; + ranges; + device_type = "soc"; + + pinctrl@07022000 { + compatible = "allwinner,sun50iw6p1-r-pinctrl"; + reg = <0x0 0x7022000 0x0 0x400>; + interrupts = <0x0 0x69 0x4 0x0 0x6f 0x4>; + clocks = <0x12>; + device_type = "r_pio"; + gpio-controller; + interrupt-controller; + #interrupt-cells = <0x2>; + #size-cells = <0x0>; + #gpio-cells = <0x6>; + linux,phandle = <0xd6>; + phandle = <0xd6>; + + s_twi0@0 { + allwinner,pins = "PL0", "PL1"; + allwinner,function = "s_twi0"; + allwinner,muxsel = <0x3>; + allwinner,drive = <0x0>; + allwinner,pull = <0x1>; + linux,phandle = <0x1d>; + phandle = <0x1d>; + }; + + s_cir0@0 { + allwinner,pins = "PL9"; + allwinner,function = "s_cir0"; + allwinner,muxsel = <0x2>; + allwinner,drive = <0x2>; + allwinner,pull = <0x1>; + linux,phandle = <0x1a>; + phandle = <0x1a>; + }; + + twi_para@0 { + linux,phandle = <0xe4>; + phandle = <0xe4>; + allwinner,pins = "PL0", "PL1"; + allwinner,function = "twi_para"; + allwinner,pname = "twi_scl", "twi_sda"; + allwinner,muxsel = <0x3>; + allwinner,pull = <0x1>; + allwinner,drive = <0x0>; + allwinner,data = <0xffffffff>; + }; + + pwm16@0 { + linux,phandle = <0x10c>; + phandle = <0x10c>; + allwinner,pins = "PL8"; + allwinner,function = "pwm16"; + allwinner,pname = "pwm_positive"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0x0>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + pwm16@1 { + linux,phandle = <0x10d>; + phandle = <0x10d>; + allwinner,pins = "PL8"; + allwinner,function = "pwm16"; + allwinner,pname = "pwm_positive"; + allwinner,muxsel = <0x7>; + allwinner,pull = <0x0>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + s_uart0@0 { + linux,phandle = <0x113>; + phandle = <0x113>; + 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 = <0x114>; + phandle = <0x114>; + 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 = <0x115>; + phandle = <0x115>; + 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@0300b000 { + compatible = "allwinner,sun50iw6p1-pinctrl"; + reg = <0x0 0x300b000 0x0 0x400>; + interrupts = <0x0 0x33 0x4 0x0 0x35 0x4 0x0 0x36 0x4 0x0 0x3b 0x4>; + device_type = "pio"; + clocks = <0x13>; + gpio-controller; + interrupt-controller; + #interrupt-cells = <0x2>; + #size-cells = <0x0>; + #gpio-cells = <0x6>; + linux,phandle = <0x87>; + phandle = <0x87>; + + twi3@1 { + allwinner,pins = "PB17", "PB18"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x3b>; + phandle = <0x3b>; + }; + + ts0@0 { + allwinner,pins = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11"; + 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 = <0xbc>; + phandle = <0xbc>; + }; + + ts0_sleep@0 { + allwinner,pins = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11"; + 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 = <0xc0>; + phandle = <0xc0>; + }; + + ts1@0 { + allwinner,pins = "PD12", "PD13", "PD14", "PD15", "PD16"; + allwinner,pname = "ts1_clk", "ts1_err", "ts1_sync", "ts1_dvld", "ts1_d0"; + allwinner,function = "ts1"; + allwinner,muxsel = <0x3>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0xbd>; + phandle = <0xbd>; + }; + + ts1_sleep@0 { + allwinner,pins = "PD12", "PD13", "PD14", "PD15", "PD16"; + 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 = <0xc1>; + phandle = <0xc1>; + }; + + ts2@0 { + allwinner,pins = "PD17", "PD18", "PD19", "PD20", "PD21"; + allwinner,pname = "ts2_clk", "ts2_err", "ts2_sync", "ts2_dvld", "ts2_d0"; + allwinner,function = "ts2"; + allwinner,muxsel = <0x3>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0xbe>; + phandle = <0xbe>; + }; + + ts2_sleep@0 { + allwinner,pins = "PD17", "PD18", "PD19", "PD20", "PD21"; + allwinner,pname = "ts2_clk", "ts2_err", "ts2_sync", "ts2_dvld", "ts2_d0"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0xc2>; + phandle = <0xc2>; + }; + + ts3@0 { + allwinner,pins = "PD22", "PD23", "PD24", "PD25", "PD26"; + allwinner,pname = "ts3_clk", "ts3_err", "ts3_sync", "ts3_dvld", "ts3_d0"; + allwinner,function = "ts3"; + allwinner,muxsel = <0x3>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0xbf>; + phandle = <0xbf>; + }; + + ts3_sleep@0 { + allwinner,pins = "PD22", "PD23", "PD24", "PD25", "PD26"; + 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 = <0xc3>; + phandle = <0xc3>; + }; + + 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 = <0x85>; + phandle = <0x85>; + }; + + sdc0@2 { + allwinner,pins = "PF0", "PF1", "PF2", "PF3", "PF4", "PF5"; + allwinner,function = "uart0_jtag"; + allwinner,muxsel = <0x3>; + allwinner,drive = <0x1>; + allwinner,pull = <0x1>; + linux,phandle = <0x86>; + phandle = <0x86>; + }; + + 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 = <0x8c>; + phandle = <0x8c>; + }; + + sdc2@1 { + allwinner,pins = "PC1", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,drive = <0x1>; + allwinner,pull = <0x1>; + linux,phandle = <0x80>; + phandle = <0x80>; + }; + + daudio0@0 { + allwinner,pins = "PH0", "PH1", "PH2", "PH3", "PH4"; + allwinner,function = "pcm0"; + allwinner,muxsel = <0x3>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x4b>; + phandle = <0x4b>; + }; + + daudio0_sleep@0 { + allwinner,pins = "PH0", "PH1", "PH2", "PH3", "PH4"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x4c>; + phandle = <0x4c>; + }; + + daudio2@0 { + allwinner,pins = "PG10", "PG11", "PG12", "PG13", "PG14"; + allwinner,function = "pcm2"; + allwinner,muxsel = <0x2>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x4f>; + phandle = <0x4f>; + }; + + daudio2_sleep@0 { + allwinner,pins = "PG10", "PG11", "PG12", "PG13", "PG14"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x50>; + phandle = <0x50>; + }; + + daudio3@0 { + allwinner,pins = "PB12", "PB13", "PB14", "PB15", "PB16"; + allwinner,function = "pcm3"; + allwinner,muxsel = <0x2>; + allwinner,driver = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x52>; + phandle = <0x52>; + }; + + daudio3_sleep@0 { + allwinner,pins = "PB12", "PB13", "PB14", "PB15", "PB16"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,driver = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x53>; + phandle = <0x53>; + }; + + spdif@0 { + allwinner,pins = "PH5", "PH6", "PH7"; + allwinner,function = "spdif0"; + allwinner,muxsel = <0x3>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x55>; + phandle = <0x55>; + }; + + spdif_sleep@0 { + allwinner,pins = "PH5", "PH6", "PH7"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x56>; + phandle = <0x56>; + }; + + dmic@0 { + allwinner,pins = "PD14", "PD15", "PD16", "PD17", "PD18"; + allwinner,function = "dmic"; + allwinner,muxsel = <0x4>; + allwinner,driver = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x58>; + phandle = <0x58>; + }; + + dmic_sleep@0 { + allwinner,pins = "PD14", "PD15", "PD16", "PD17", "PD18"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,driver = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x59>; + phandle = <0x59>; + }; + + ahub_daudio0@0 { + allwinner,pins = "PH0", "PH1", "PH2", "PH3", "PH4"; + allwinner,function = "h_pcm0"; + allwinner,muxsel = <0x4>; + allwinner,driver = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x5b>; + phandle = <0x5b>; + }; + + ahub_daudio0_sleep@0 { + allwinner,pins = "PH0", "PH1", "PH2", "PH3", "PH4"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,driver = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x5c>; + phandle = <0x5c>; + }; + + ahub_daudio2@0 { + allwinner,pins = "PG10", "PG11", "PG12", "PG13", "PG14"; + allwinner,function = "h_pcm2"; + allwinner,muxsel = <0x3>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x5d>; + phandle = <0x5d>; + }; + + ahub_daudio2_sleep@0 { + allwinner,pins = "PG10", "PG11", "PG12", "PG13", "PG14"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x5e>; + phandle = <0x5e>; + }; + + ahub_daudio3@0 { + allwinner,pins = "PB12", "PB13", "PB14", "PB15", "PB16"; + allwinner,function = "h_pcm3"; + allwinner,muxsel = <0x4>; + allwinner,driver = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x5f>; + phandle = <0x5f>; + }; + + ahub_daudio3_sleep@0 { + allwinner,pins = "PB12", "PB13", "PB14", "PB15", "PB16"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,driver = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x60>; + phandle = <0x60>; + }; + + csi0@1 { + allwinner,pins = "PD0", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11"; + allwinner,pname = "csi0_pck", "csi0_hsync", "csi0_vsync", "csi0_d0", "csi0_d1", "csi0_d2", "csi0_d3", "csi0_d4", "csi0_d5", "csi0_d6", "csi0_d7"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + allwinner,data = <0x0>; + linux,phandle = <0xa2>; + phandle = <0xa2>; + }; + + csi_mclk0@0 { + allwinner,pins = "PD1"; + allwinner,pname = "csi_mclk0"; + allwinner,function = "csi_mclk0"; + allwinner,muxsel = <0x4>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + allwinner,data = <0x0>; + linux,phandle = <0x9c>; + phandle = <0x9c>; + }; + + csi_mclk0@1 { + allwinner,pins = "PD1"; + allwinner,pname = "csi_mclk0"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + allwinner,data = <0x0>; + linux,phandle = <0x9d>; + phandle = <0x9d>; + }; + + csi_cci0@0 { + allwinner,pins = "PD12", "PD13"; + allwinner,pname = "csi_cci0_sck", "csi_cci0_sda"; + allwinner,function = "csi_cci0"; + allwinner,muxsel = <0x4>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + allwinner,data = <0x0>; + linux,phandle = <0x9f>; + phandle = <0x9f>; + }; + + csi_cci0@1 { + allwinner,pins = "PD12", "PD13"; + allwinner,pname = "csi_cci0_sck", "csi_cci0_sda"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + allwinner,data = <0x0>; + linux,phandle = <0xa0>; + phandle = <0xa0>; + }; + + scr0@0 { + allwinner,pins = "PG13", "PG14", "PG10", "PG11", "PG12"; + allwinner,pname = "scr0_rst", "scr0_det", "scr0_vccen", "scr0_sck", "scr0_sda"; + allwinner,function = "sim0"; + allwinner,muxsel = <0x4>; + allwinner,drive = <0x0>; + allwinner,pull = <0x1>; + linux,phandle = <0xaf>; + phandle = <0xaf>; + }; + + scr0@1 { + allwinner,pins = "PG8", "PG9"; + allwinner,pname = "scr0_vppen", "scr0_vppp"; + allwinner,function = "sim0"; + allwinner,muxsel = <0x4>; + allwinner,drive = <0x0>; + allwinner,pull = <0x1>; + linux,phandle = <0xb0>; + phandle = <0xb0>; + }; + + scr0@2 { + allwinner,pins = "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,drive = <0x0>; + allwinner,pull = <0x0>; + linux,phandle = <0xb1>; + phandle = <0xb1>; + }; + + scr1@0 { + allwinner,pins = "PH5", "PH6", "PH2", "PH3", "PH4"; + allwinner,pname = "scr1_rst", "scr1_det", "scr1_vccen", "scr1_sck", "scr1_sda"; + allwinner,function = "sim1"; + allwinner,muxsel = <0x5>; + allwinner,drive = <0x1>; + allwinner,pull = <0x1>; + linux,phandle = <0xb3>; + phandle = <0xb3>; + }; + + scr1@1 { + allwinner,pins = "PH0", "PH1"; + allwinner,pname = "scr1_vppen", "scr1_vppp"; + allwinner,function = "sim1"; + allwinner,muxsel = <0x5>; + allwinner,drive = <0x1>; + allwinner,pull = <0x1>; + linux,phandle = <0xb4>; + phandle = <0xb4>; + }; + + scr1@2 { + allwinner,pins = "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0xb5>; + phandle = <0xb5>; + }; + + nand0@2 { + allwinner,pins = "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PC16"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0xba>; + phandle = <0xba>; + }; + + hdmi@1 { + allwinner,pins = "PH8", "PH9"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x90>; + phandle = <0x90>; + }; + + hdmi@2 { + allwinner,pins = "PH10"; + allwinner,function = "hcec0"; + allwinner,muxsel = <0x2>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x91>; + phandle = <0x91>; + }; + + hdmi@3 { + allwinner,pins = "PH10"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x92>; + phandle = <0x92>; + }; + + ac200@2 { + allwinner,pins = "PB0"; + allwinner,function = "ac200"; + allwinner,muxsel = <0x2>; + allwinner,drive = <0x0>; + allwinner,pull = <0x0>; + linux,phandle = <0x98>; + phandle = <0x98>; + }; + + ac200@3 { + allwinner,pins = "PB0"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,drive = <0x0>; + allwinner,pull = <0x0>; + linux,phandle = <0x99>; + phandle = <0x99>; + }; + + gmac@1 { + allwinner,pins = "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,drive = <0x3>; + allwinner,pull = <0x0>; + linux,phandle = <0xd4>; + phandle = <0xd4>; + }; + + card0_boot_para@0 { + linux,phandle = <0xe2>; + phandle = <0xe2>; + 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 = <0xe3>; + phandle = <0xe3>; + allwinner,pins = "PC1", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14"; + allwinner,function = "card2_boot_para"; + allwinner,pname = "sdc_ds", "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 = <0xe5>; + phandle = <0xe5>; + allwinner,pins = "PH0", "PH1"; + 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 = <0xe6>; + phandle = <0xe6>; + allwinner,pins = "PD23", "PD24", "PD25", "PD26"; + allwinner,function = "jtag_para"; + allwinner,pname = "jtag_ms", "jtag_ck", "jtag_do", "jtag_di"; + allwinner,muxsel = <0x5>; + allwinner,pull = <0xffffffff>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + gmac0@0 { + linux,phandle = <0xe7>; + phandle = <0xe7>; + allwinner,pins = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD7", "PD8", "PD9", "PD10", "PD12", "PD14", "PD19", "PD20"; + allwinner,function = "gmac0"; + allwinner,pname = "gmac_rxd3", "gmac_rxd2", "gmac_rxd1", "gmac_rxd0", "gmac_rxck", "gmac_rxctl", "gmac_txd3", "gmac_txd2", "gmac_txd1", "gmac_txd0", "gmac_txctl", "gmac_ephyrst", "gmac_mdc", "gmac_mdio"; + allwinner,muxsel = <0x5>; + allwinner,pull = <0xffffffff>; + allwinner,drive = <0x3>; + allwinner,data = <0xffffffff>; + }; + + gmac0@1 { + linux,phandle = <0xe8>; + phandle = <0xe8>; + allwinner,pins = "PD11", "PD13"; + allwinner,function = "gmac0"; + allwinner,pname = "gmac_txck", "gmac_clkin"; + allwinner,muxsel = <0x5>; + allwinner,pull = <0xffffffff>; + allwinner,drive = <0x0>; + allwinner,data = <0xffffffff>; + }; + + twi0@0 { + linux,phandle = <0xe9>; + phandle = <0xe9>; + allwinner,pins = "PD25", "PD26"; + 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 = <0xea>; + phandle = <0xea>; + allwinner,pins = "PD25", "PD26"; + 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 = <0xeb>; + phandle = <0xeb>; + allwinner,pins = "PH5", "PH6"; + allwinner,function = "twi1"; + allwinner,pname = "twi1_scl", "twi1_sda"; + allwinner,muxsel = <0x4>; + allwinner,pull = <0xffffffff>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + twi1@1 { + linux,phandle = <0xec>; + phandle = <0xec>; + allwinner,pins = "PH5", "PH6"; + 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 = <0xed>; + phandle = <0xed>; + allwinner,pins = "PD23", "PD24"; + allwinner,function = "twi2"; + allwinner,pname = "twi2_scl", "twi2_sda"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0xffffffff>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + twi2@1 { + linux,phandle = <0xee>; + phandle = <0xee>; + allwinner,pins = "PD23", "PD24"; + allwinner,function = "twi2"; + allwinner,pname = "twi2_scl", "twi2_sda"; + allwinner,muxsel = <0x7>; + allwinner,pull = <0xffffffff>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + twi3@0 { + linux,phandle = <0xef>; + phandle = <0xef>; + allwinner,pins = "PB17", "PB18"; + allwinner,function = "twi3"; + allwinner,pname = "twi3_scl", "twi3_sda"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0xffffffff>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + uart0@0 { + linux,phandle = <0xf0>; + phandle = <0xf0>; + allwinner,pins = "PH0", "PH1"; + 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 = <0xf1>; + phandle = <0xf1>; + allwinner,pins = "PH0", "PH1"; + 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 = <0xf2>; + phandle = <0xf2>; + 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 = <0xf3>; + phandle = <0xf3>; + 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 = <0xf4>; + phandle = <0xf4>; + allwinner,pins = "PD19", "PD20", "PD21", "PD22"; + allwinner,function = "uart2"; + allwinner,pname = "uart2_tx", "uart2_rx", "uart2_rts", "uart2_cts"; + allwinner,muxsel = <0x4>; + allwinner,pull = <0x1>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + uart2@1 { + linux,phandle = <0xf5>; + phandle = <0xf5>; + allwinner,pins = "PD19", "PD20", "PD21", "PD22"; + 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 = <0xf6>; + phandle = <0xf6>; + allwinner,pins = "PD23", "PD24"; + allwinner,function = "uart3"; + allwinner,pname = "uart3_tx", "uart3_rx"; + allwinner,muxsel = <0x4>; + allwinner,pull = <0x1>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + uart3@1 { + linux,phandle = <0xf7>; + phandle = <0xf7>; + allwinner,pins = "PD23", "PD24"; + allwinner,function = "uart3"; + allwinner,pname = "uart3_tx", "uart3_rx"; + allwinner,muxsel = <0x7>; + allwinner,pull = <0x1>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + spi0@0 { + linux,phandle = <0xf8>; + phandle = <0xf8>; + allwinner,pins = "PC5"; + allwinner,function = "spi0"; + allwinner,pname = "spi0_cs0"; + allwinner,muxsel = <0x4>; + allwinner,pull = <0x1>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + spi0@1 { + linux,phandle = <0xf9>; + phandle = <0xf9>; + allwinner,pins = "PC0", "PC2", "PC3"; + allwinner,function = "spi0"; + allwinner,pname = "spi0_sclk", "spi0_mosi", "spi0_miso"; + allwinner,muxsel = <0x4>; + allwinner,pull = <0xffffffff>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + spi0@2 { + linux,phandle = <0xfa>; + phandle = <0xfa>; + allwinner,pins = "PC5"; + allwinner,function = "spi0"; + allwinner,pname = "spi0_cs0"; + allwinner,muxsel = <0x7>; + allwinner,pull = <0x1>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + spi0@3 { + linux,phandle = <0xfb>; + phandle = <0xfb>; + allwinner,pins = "PC0", "PC2", "PC3"; + 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 = <0xfc>; + phandle = <0xfc>; + allwinner,pins = "PH3"; + allwinner,function = "spi1"; + allwinner,pname = "spi1_cs0"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0x1>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + spi1@1 { + linux,phandle = <0xfd>; + phandle = <0xfd>; + allwinner,pins = "PH4", "PH5", "PH6"; + 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 = <0xfe>; + phandle = <0xfe>; + allwinner,pins = "PH3"; + allwinner,function = "spi1"; + allwinner,pname = "spi1_cs0"; + allwinner,muxsel = <0x7>; + allwinner,pull = <0x1>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + spi1@3 { + linux,phandle = <0xff>; + phandle = <0xff>; + allwinner,pins = "PH4", "PH5", "PH6"; + 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 = <0x101>; + phandle = <0x101>; + allwinner,pins = "PC0", "PC1", "PC2", "PC4", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14"; + 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 = <0x102>; + phandle = <0x102>; + allwinner,pins = "PC15", "PC3", "PC5", "PC16"; + allwinner,function = "nand0"; + allwinner,pname = "nand0_ce1", "nand0_ce0", "nand0_rb0", "nand0_rb1"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0x1>; + allwinner,drive = <0x1>; + allwinner,data = <0xffffffff>; + }; + + lcd0@0 { + linux,phandle = <0x103>; + phandle = <0x103>; + allwinner,pins = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "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", "lcdd10", "lcdd11", "lcdd12", "lcdd13", "lcdd14", "lcdd15", "lcdd16", "lcdd17", "lcdd18", "lcdd19", "lcdd20", "lcdd21"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0x0>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + lcd0@1 { + linux,phandle = <0x104>; + phandle = <0x104>; + allwinner,pins = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "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", "lcdd10", "lcdd11", "lcdd12", "lcdd13", "lcdd14", "lcdd15", "lcdd16", "lcdd17", "lcdd18", "lcdd19", "lcdd20", "lcdd21"; + allwinner,muxsel = <0x7>; + allwinner,pull = <0x0>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + hdmi@0 { + linux,phandle = <0x105>; + phandle = <0x105>; + allwinner,pins = "PH8", "PH9", "PH10"; + allwinner,function = "hdmi"; + allwinner,pname = "ddc_scl", "ddc_sda", "cec_io"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0xffffffff>; + allwinner,drive = <0x1>; + allwinner,data = <0xffffffff>; + }; + + ac200@0 { + linux,phandle = <0x106>; + phandle = <0x106>; + allwinner,pins = "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11"; + allwinner,function = "ac200"; + allwinner,pname = "ccir_clk", "ccir_de", "ccir_hs", "ccir_vs", "ccir_do0", "ccir_do1", "ccir_do2", "ccir_do3", "ccir_do4", "ccir_do5", "ccir_do6", "ccir_do7"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0x0>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + ac200@1 { + linux,phandle = <0x107>; + phandle = <0x107>; + allwinner,pins = "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11"; + allwinner,function = "ac200"; + allwinner,pname = "ccir_de", "ccir_hs", "ccir_vs", "ccir_do0", "ccir_do1", "ccir_do2", "ccir_do3", "ccir_do4", "ccir_do5", "ccir_do6", "ccir_do7"; + allwinner,muxsel = <0x7>; + allwinner,pull = <0x0>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + pwm0@0 { + linux,phandle = <0x108>; + phandle = <0x108>; + 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 = <0x109>; + phandle = <0x109>; + allwinner,pins = "PD22"; + allwinner,function = "pwm0"; + allwinner,pname = "pwm_positive"; + allwinner,muxsel = <0x7>; + allwinner,pull = <0x0>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + pwm1@0 { + linux,phandle = <0x10a>; + phandle = <0x10a>; + allwinner,pins = "PB19"; + allwinner,function = "pwm1"; + allwinner,pname = "pwm_positive"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0x0>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + pwm1@1 { + linux,phandle = <0x10b>; + phandle = <0x10b>; + allwinner,pins = "PB19"; + allwinner,function = "pwm1"; + allwinner,pname = "pwm_positive"; + allwinner,muxsel = <0x7>; + allwinner,pull = <0x0>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + csi0@0 { + linux,phandle = <0x10e>; + phandle = <0x10e>; + allwinner,pins = "PD0", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13"; + 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 = <0x4>; + allwinner,pull = <0xffffffff>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + csi0@2 { + linux,phandle = <0x10f>; + phandle = <0x10f>; + allwinner,pins = "PD1"; + allwinner,function = "csi0"; + allwinner,pname = "csi0_mck"; + allwinner,muxsel = <0x4>; + allwinner,pull = <0x0>; + allwinner,drive = <0x1>; + allwinner,data = <0x0>; + }; + + sdc0@0 { + linux,phandle = <0x110>; + phandle = <0x110>; + 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 = <0x111>; + phandle = <0x111>; + 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 = <0x112>; + phandle = <0x112>; + allwinner,pins = "PC1", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14"; + 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 = <0x116>; + phandle = <0x116>; + allwinner,pins = "PH9", "PH10"; + allwinner,function = "Vdevice"; + allwinner,pname = "Vdevice_0", "Vdevice_1"; + allwinner,muxsel = <0x5>; + allwinner,pull = <0x1>; + allwinner,drive = <0x2>; + allwinner,data = <0xffffffff>; + }; + }; + + dma-controller@03002000 { + compatible = "allwinner,sun50i-dma"; + reg = <0x0 0x3002000 0x0 0x1000>; + interrupts = <0x0 0x2b 0x4>; + clocks = <0x14>; + #dma-cells = <0x1>; + }; + + mbus-controller@04002000 { + compatible = "allwinner,sun50i-mbus"; + reg = <0x0 0x4002000 0x0 0x1000>; + #mbus-cells = <0x1>; + }; + + arisc { + compatible = "allwinner,sunxi-arisc"; + #address-cells = <0x2>; + #size-cells = <0x2>; + clocks = <0x15 0x16 0x7 0x2>; + 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@040020000 { + compatible = "allwinner,sun50iw6-usbstandby"; + space1 = <0x40020000 0x0 0x800>; + device_type = "standby_space"; + standby_stay_cpu = <0x0>; + }; + + msgbox@03003000 { + compatible = "allwinner,msgbox"; + clocks = <0x17>; + clock-names = "clk_msgbox"; + reg = <0x0 0x3003000 0x0 0x1000>; + interrupts = <0x0 0x27 0x1>; + status = "okay"; + }; + + hwspinlock@3004000 { + compatible = "allwinner,sunxi-hwspinlock"; + clocks = <0x18 0x19>; + clock-names = "clk_hwspinlock_rst", "clk_hwspinlock_bus"; + reg = <0x0 0x3004000 0x0 0x1000>; + num-locks = <0x8>; + status = "okay"; + }; + + s_cir@07040000 { + compatible = "allwinner,s_cir"; + reg = <0x0 0x7040000 0x0 0x400>; + interrupts = <0x0 0x6d 0x4>; + pinctrl-names = "default"; + pinctrl-0 = <0x1a>; + clocks = <0x7 0x1b>; + supply = "vcc-pl"; + supply_vol = "3300000"; + status = "okay"; + device_type = "s_cir0"; + ir_protocol_used = <0x0>; + 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 = <0x18>; + 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>; + ir_power_key_code16 = <0xdc>; + ir_addr_code16 = <0x4cb3>; + ir_power_key_code17 = <0xdc>; + ir_addr_code17 = <0x4db2>; + ir_power_key_code18 = <0x96>; + ir_addr_code18 = <0xc43b>; + ir_power_key_code19 = <0xdc>; + ir_addr_code19 = <0x4cb3>; + ir_power_key_code20 = <0xc>; + ir_addr_code20 = <0x6b86>; + rc5_ir_power_key_code0 = <0x1>; + rc5_ir_addr_code0 = <0x4>; + }; + + s_uart@7080000 { + compatible = "allwinner,s_uart"; + reg = <0x0 0x7080000 0x0 0xd0>; + interrupts = <0x0 0x6a 0x4>; + pinctrl-names = "default"; + status = "disabled"; + device_type = "s_uart0"; + pinctrl-0 = <0x113>; + }; + + s_twi@1f03400 { + compatible = "allwinner,s_twi"; + reg = <0x0 0x1f02400 0x0 0x20>; + interrupts = <0x0 0x2c 0x4>; + pinctrl-names = "default"; + pinctrl-0 = <0x1d>; + status = "okay"; + }; + + s_jtag0 { + compatible = "allwinner,s_jtag"; + pinctrl-names = "default"; + status = "disabled"; + device_type = "s_jtag0"; + pinctrl-0 = <0x115>; + }; + + box_start_os0 { + compatible = "allwinner,box_start_os"; + start_type = <0x1>; + irkey_used = <0x1>; + pmukey_used = <0x1>; + pmukey_num = <0x0>; + led_power = <0x0>; + led_state = <0x0>; + status = "okay"; + device_type = "box_start_os"; + }; + + timer@03009000 { + compatible = "allwinner,sun4i-a10-timer"; + device_type = "timer"; + reg = <0x0 0x3009000 0x0 0x400>; + interrupts = <0x0 0x30 0x4>; + clock-frequency = <0x16e3600>; + timer-prescale = <0x10>; + }; + + rtc@07000000 { + compatible = "allwinner,sun50iw6-rtc"; + device_type = "rtc"; + reg = <0x0 0x7000000 0x0 0x200>; + interrupts = <0x0 0x65 0x4>; + gpr_offset = <0x100>; + gpr_len = <0x8>; + gpr_cur_pos = <0x6>; + }; + + watchdog@030090a0 { + compatible = "allwinner,sun50i-wdt"; + reg = <0x0 0x30090a0 0x0 0x20>; + interrupts = <0x0 0x32 0x4>; + }; + + ve@01c0e000 { + compatible = "allwinner,sunxi-cedar-ve"; + reg = <0x0 0x1c0e000 0x0 0x1000 0x0 0x3000000 0x0 0x10 0x0 0x3001000 0x0 0x1000>; + interrupts = <0x0 0x59 0x4>; + clocks = <0x1f 0x20>; + iommus = <0x21 0x3 0x1>; + }; + + vp9@01c00000 { + compatible = "allwinner,sunxi-google-vp9"; + reg = <0x0 0x1c00000 0x0 0x1000 0x0 0x3000000 0x0 0x10 0x0 0x3001000 0x0 0x1000>; + interrupts = <0x0 0x5a 0x4>; + clocks = <0x1f 0x22>; + #clocks = <0x23 0x22>; + iommus = <0x21 0x5 0x1>; + }; + + uart@05000000 { + compatible = "allwinner,sun50i-uart"; + device_type = "uart0"; + reg = <0x0 0x5000000 0x0 0x400>; + interrupts = <0x0 0x0 0x4>; + clocks = <0x24>; + pinctrl-names = "default", "sleep"; + uart0_port = <0x0>; + uart0_type = <0x2>; + status = "okay"; + pinctrl-0 = <0xf0>; + pinctrl-1 = <0xf1>; + }; + + uart@05000400 { + compatible = "allwinner,sun50i-uart"; + device_type = "uart1"; + reg = <0x0 0x5000400 0x0 0x400>; + interrupts = <0x0 0x1 0x4>; + clocks = <0x27>; + pinctrl-names = "default", "sleep"; + uart1_port = <0x1>; + uart1_type = <0x4>; + status = "okay"; + pinctrl-0 = <0xf2>; + uart1_bt = <0x1>; + pinctrl-1 = <0xf3>; + }; + + uart@05000800 { + compatible = "allwinner,sun50i-uart"; + device_type = "uart2"; + reg = <0x0 0x5000800 0x0 0x400>; + interrupts = <0x0 0x2 0x4>; + clocks = <0x2a>; + pinctrl-names = "default", "sleep"; + uart2_port = <0x2>; + uart2_type = <0x4>; + status = "disabled"; + pinctrl-0 = <0xf4>; + pinctrl-1 = <0xf5>; + }; + + uart@05000c00 { + compatible = "allwinner,sun50i-uart"; + device_type = "uart3"; + reg = <0x0 0x5000c00 0x0 0x400>; + interrupts = <0x0 0x3 0x4>; + clocks = <0x2d>; + pinctrl-names = "default", "sleep"; + uart3_port = <0x3>; + uart3_type = <0x2>; + status = "okay"; + pinctrl-0 = <0xf6>; + pinctrl-1 = <0xf7>; + }; + + twi@0x05002000 { + #address-cells = <0x1>; + #size-cells = <0x0>; + compatible = "allwinner,sun50i-twi"; + device_type = "twi0"; + reg = <0x0 0x5002000 0x0 0x400>; + interrupts = <0x0 0x4 0x4>; + clocks = <0x30>; + clock-frequency = <0x61a80>; + pinctrl-names = "default", "sleep"; + status = "okay"; + pinctrl-0 = <0xe9>; + twi_regulator = "vcc-io"; + pinctrl-1 = <0xea>; + }; + + twi@0x05002400 { + #address-cells = <0x1>; + #size-cells = <0x0>; + compatible = "allwinner,sun50i-twi"; + device_type = "twi1"; + reg = <0x0 0x5002400 0x0 0x400>; + interrupts = <0x0 0x5 0x4>; + clocks = <0x33>; + clock-frequency = <0x30d40>; + pinctrl-names = "default", "sleep"; + status = "disabled"; + pinctrl-0 = <0xeb>; + twi_regulator = "vcc-io"; + pinctrl-1 = <0xec>; + }; + + twi@0x05002800 { + #address-cells = <0x1>; + #size-cells = <0x0>; + compatible = "allwinner,sun50i-twi"; + device_type = "twi2"; + reg = <0x0 0x5002800 0x0 0x400>; + interrupts = <0x0 0x6 0x4>; + clocks = <0x36>; + clock-frequency = <0x30d40>; + pinctrl-names = "default", "sleep"; + status = "disabled"; + pinctrl-0 = <0xed>; + twi_regulator = "vcc-io"; + pinctrl-1 = <0xee>; + }; + + twi@0x05002c00 { + #address-cells = <0x1>; + #size-cells = <0x0>; + compatible = "allwinner,sun50i-twi"; + device_type = "twi3"; + reg = <0x0 0x5002c00 0x0 0x400>; + interrupts = <0x0 0x7 0x4>; + clocks = <0x39>; + clock-frequency = <0x30d40>; + pinctrl-names = "default", "sleep"; + pinctrl-1 = <0x3b>; + status = "okay"; + pinctrl-0 = <0xef>; + twi_regulator = "vcc-io"; + }; + + usbc0@0 { + device_type = "usbc0"; + compatible = "allwinner,sunxi-otg-manager"; + usb_port_type = <0x0>; + usb_detect_type = <0x1>; + 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; + usb_det_vbus_gpio; + usb_drv_vbus_gpio = <0x87 0x2 0xf 0x1 0x0 0xffffffff 0x1>; + }; + + udc-controller@0x05100000 { + compatible = "allwinner,sunxi-udc"; + reg = <0x0 0x5100000 0x0 0x1000 0x0 0x0 0x0 0x100>; + interrupts = <0x0 0x17 0x4>; + clocks = <0x3c 0x3d>; + status = "okay"; + }; + + ehci0-controller@0x05101000 { + compatible = "allwinner,sunxi-ehci0"; + reg = <0x0 0x5101000 0x0 0xfff 0x0 0x0 0x0 0x100 0x0 0x5100000 0x0 0x1000>; + interrupts = <0x0 0x18 0x4>; + clocks = <0x3c 0x3e>; + hci_ctrl_no = <0x0>; + status = "okay"; + }; + + ohci0-controller@0x05101400 { + compatible = "allwinner,sunxi-ohci0"; + reg = <0x0 0x5101000 0x0 0xfff 0x0 0x0 0x0 0x100 0x0 0x5100000 0x0 0x1000>; + interrupts = <0x0 0x19 0x4>; + clocks = <0x3c 0x3f 0x40 0x41 0x7 0x15>; + 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 = <0xd6 0xb 0x5 0x1 0x0 0xffffffff 0x1>; + }; + + xhci-controller@0x05200000 { + compatible = "allwinner,sunxi-xhci"; + reg = <0x0 0x5200000 0x0 0xfffff 0x0 0x0 0x0 0x100 0x0 0x5100000 0x0 0x1000>; + interrupts = <0x0 0x1a 0x4>; + clocks = <0x42 0x43>; + 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 = "disabled"; + usb_drv_vbus_gpio; + }; + + ehci3-controller@0x05311000 { + compatible = "allwinner,sunxi-ehci3"; + reg = <0x0 0x5311000 0x0 0xfff 0x0 0x0 0x0 0x100 0x0 0x5100000 0x0 0x1000>; + interrupts = <0x0 0x1c 0x4>; + clocks = <0x44 0x45 0x46 0x46 0x47>; + hci_ctrl_no = <0x3>; + status = "okay"; + }; + + ohci3-controller@0x05311400 { + compatible = "allwinner,sunxi-ohci3"; + reg = <0x0 0x5311000 0x0 0xfff 0x0 0x0 0x0 0x100 0x0 0x5100000 0x0 0x1000>; + interrupts = <0x0 0x1d 0x4>; + clocks = <0x44 0x48 0x49 0x41 0x7 0x15>; + hci_ctrl_no = <0x3>; + status = "okay"; + }; + + ac200_codec { + compatible = "allwinner,ac200_codec"; + status = "okay"; + device_type = "ac200_codec"; + gpio-spk = <0xd6 0xb 0x6 0x1 0x1 0xffffffff 0xffffffff>; + }; + + daudio@0x05090000 { + compatible = "allwinner,sunxi-daudio"; + reg = <0x0 0x5090000 0x0 0x74>; + clocks = <0x4 0x4a>; + pinctrl-names = "default", "sleep"; + pinctrl-0 = <0x4b>; + pinctrl-1 = <0x4c>; + pcm_lrck_period = <0x20>; + slot_width_select = <0x20>; + daudio_master = <0x4>; + audio_format = <0x1>; + signal_inversion = <0x1>; + tdm_config = <0x1>; + frametype = <0x0>; + tdm_num = <0x0>; + mclk_div = <0x0>; + status = "okay"; + linux,phandle = <0x61>; + phandle = <0x61>; + device_type = "daudio0"; + }; + + daudio@0x05091000 { + compatible = "allwinner,sunxi-tdmhdmi"; + reg = <0x0 0x5091000 0x0 0x74>; + clocks = <0x4 0x4d>; + status = "okay"; + linux,phandle = <0x63>; + phandle = <0x63>; + device_type = "audiohdmi"; + }; + + daudio@0x05092000 { + compatible = "allwinner,sunxi-daudio"; + reg = <0x0 0x5092000 0x0 0x74>; + clocks = <0x4 0x4e>; + pinctrl-names = "default", "sleep"; + pinctrl-0 = <0x4f>; + pinctrl-1 = <0x50>; + pcm_lrck_period = <0x40>; + slot_width_select = <0x20>; + daudio_master = <0x4>; + audio_format = <0x4>; + signal_inversion = <0x3>; + tdm_config = <0x1>; + frametype = <0x0>; + tdm_num = <0x2>; + mclk_div = <0x1>; + status = "disabled"; + linux,phandle = <0x65>; + phandle = <0x65>; + device_type = "daudio2"; + }; + + daudio@0x0508f000 { + compatible = "allwinner,sunxi-daudio"; + reg = <0x0 0x508f000 0x0 0x74>; + clocks = <0x4 0x51>; + pinctrl-names = "default", "sleep"; + pinctrl-0 = <0x52>; + pinctrl-1 = <0x53>; + pcm_lrck_period = <0x20>; + slot_width_select = <0x20>; + daudio_master = <0x4>; + audio_format = <0x1>; + signal_inversion = <0x1>; + tdm_config = <0x1>; + frametype = <0x0>; + tdm_num = <0x3>; + mclk_div = <0x1>; + status = "okay"; + linux,phandle = <0x67>; + phandle = <0x67>; + device_type = "daudio3"; + }; + + spdif-controller@0x05093000 { + compatible = "allwinner,sunxi-spdif"; + reg = <0x0 0x5093000 0x0 0x40>; + clocks = <0x4 0x54>; + pinctrl-names = "default", "sleep"; + pinctrl-0 = <0x55>; + pinctrl-1 = <0x56>; + status = "disabled"; + linux,phandle = <0x69>; + phandle = <0x69>; + device_type = "spdif"; + }; + + dmic-controller@0x05095000 { + compatible = "allwinner,sunxi-dmic"; + reg = <0x0 0x5095000 0x0 0x50>; + clocks = <0x4 0x57>; + pinctrl-names = "default", "sleep"; + pinctrl-0 = <0x58>; + pinctrl-1 = <0x59>; + status = "disabled"; + linux,phandle = <0x6a>; + phandle = <0x6a>; + device_type = "dmic"; + }; + + cpudai0-controller@0x05097000 { + compatible = "allwinner,sunxi-ahub-cpudai"; + reg = <0x0 0x5097000 0x0 0xadf>; + id = <0x0>; + status = "okay"; + linux,phandle = <0x6b>; + phandle = <0x6b>; + }; + + cpudai1-controller@0x05097000 { + compatible = "allwinner,sunxi-ahub-cpudai"; + reg = <0x0 0x5097000 0x0 0xadf>; + id = <0x1>; + status = "okay"; + linux,phandle = <0x6c>; + phandle = <0x6c>; + }; + + cpudai2-controller@0x05097000 { + compatible = "allwinner,sunxi-ahub-cpudai"; + reg = <0x0 0x5097000 0x0 0xadf>; + id = <0x2>; + status = "okay"; + linux,phandle = <0x6d>; + phandle = <0x6d>; + }; + + ahub_codec@0x05097000 { + compatible = "allwinner,sunxi-ahub"; + reg = <0x0 0x5097000 0x0 0xadf>; + clocks = <0x4 0x5a>; + status = "okay"; + linux,phandle = <0x6e>; + phandle = <0x6e>; + }; + + ahub_daudio0@0x05097000 { + compatible = "allwinner,sunxi-ahub-daudio"; + reg = <0x0 0x5097000 0x0 0xadf>; + clocks = <0x4 0x5a>; + pinctrl-names = "default", "sleep"; + pinctrl-0 = <0x5b>; + pinctrl-1 = <0x5c>; + pinconfig = <0x1>; + frametype = <0x0>; + pcm_lrck_period = <0x20>; + slot_width_select = <0x20>; + daudio_master = <0x4>; + audio_format = <0x1>; + signal_inversion = <0x1>; + tdm_config = <0x1>; + tdm_num = <0x0>; + mclk_div = <0x0>; + status = "okay"; + linux,phandle = <0x62>; + phandle = <0x62>; + device_type = "ahub_daudio0"; + }; + + ahub_daudio1@0x05097000 { + compatible = "allwinner,sunxi-ahub-daudio"; + reg = <0x0 0x5097000 0x0 0xadf>; + clocks = <0x4 0x5a>; + pinconfig = <0x0>; + frametype = <0x0>; + pcm_lrck_period = <0x20>; + slot_width_select = <0x20>; + daudio_master = <0x4>; + audio_format = <0x1>; + signal_inversion = <0x1>; + tdm_config = <0x1>; + tdm_num = <0x1>; + mclk_div = <0x1>; + status = "okay"; + linux,phandle = <0x64>; + phandle = <0x64>; + device_type = "ahub_daudio1"; + }; + + ahub_daudio2@0x05097000 { + compatible = "allwinner,sunxi-ahub-daudio"; + reg = <0x0 0x5097000 0x0 0xadf>; + clocks = <0x4 0x5a>; + pinctrl-names = "default", "sleep"; + pinctrl-0 = <0x5d>; + pinctrl-1 = <0x5e>; + pinconfig = <0x1>; + frametype = <0x0>; + pcm_lrck_period = <0x20>; + slot_width_select = <0x20>; + daudio_master = <0x4>; + audio_format = <0x1>; + signal_inversion = <0x1>; + tdm_config = <0x1>; + tdm_num = <0x2>; + mclk_div = <0x1>; + status = "okay"; + linux,phandle = <0x66>; + phandle = <0x66>; + device_type = "ahub_daudio2"; + }; + + ahub_daudio3@0x05097000 { + compatible = "allwinner,sunxi-ahub-daudio"; + reg = <0x0 0x5097000 0x0 0xadf>; + clocks = <0x4 0x5a>; + pinctrl-names = "default", "sleep"; + pinctrl-0 = <0x5f>; + pinctrl-1 = <0x60>; + pinconfig = <0x1>; + frametype = <0x0>; + pcm_lrck_period = <0x20>; + slot_width_select = <0x20>; + daudio_master = <0x4>; + audio_format = <0x1>; + signal_inversion = <0x1>; + tdm_config = <0x1>; + tdm_num = <0x3>; + mclk_div = <0x4>; + status = "okay"; + linux,phandle = <0x68>; + phandle = <0x68>; + device_type = "ahub_daudio3"; + }; + + sound@0 { + compatible = "allwinner,sunxi-daudio0-machine"; + sunxi,daudio-controller = <0x61>; + sunxi,cpudai-controller = <0x62>; + status = "okay"; + device_type = "snddaudio0"; + }; + + sound@1 { + compatible = "allwinner,sunxi-hdmi-machine"; + sunxi,hdmi-controller = <0x63>; + sunxi,cpudai-controller = <0x64>; + status = "okay"; + device_type = "sndhdmi"; + }; + + sound@2 { + compatible = "allwinner,sunxi-daudio2-machine"; + sunxi,daudio-controller = <0x65>; + sunxi,cpudai-controller = <0x66>; + status = "disabled"; + device_type = "snddaudio2"; + }; + + sound@3 { + compatible = "allwinner,sunxi-daudio3-machine"; + sunxi,daudio-controller = <0x67>; + sunxi,cpudai-controller = <0x68>; + sunxi,snddaudio-codec = "acx00-codec"; + sunxi,snddaudio-codec-dai = "acx00-dai"; + status = "okay"; + device_type = "snddaudio3"; + }; + + sound@4 { + compatible = "allwinner,sunxi-spdif-machine"; + sunxi,spdif-controller = <0x69>; + status = "disabled"; + device_type = "sndspdif"; + }; + + sound@5 { + compatible = "allwinner,sunxi-dmic-machine"; + sunxi,dmic-controller = <0x6a>; + status = "disabled"; + device_type = "snddmic"; + }; + + sound@6 { + compatible = "allwinner,sunxi-ahub-machine"; + sunxi,cpudai-controller0 = <0x6b>; + sunxi,cpudai-controller1 = <0x6c>; + sunxi,cpudai-controller2 = <0x6d>; + sunxi,audio-codec = <0x6e>; + status = "okay"; + device_type = "sndahub"; + }; + + spi@05010000 { + #address-cells = <0x1>; + #size-cells = <0x0>; + compatible = "allwinner,sun50i-spi"; + device_type = "spi0"; + reg = <0x0 0x5010000 0x0 0x1000>; + interrupts = <0x0 0xa 0x4>; + clocks = <0x2 0x6f>; + clock-frequency = <0x5f5e100>; + pinctrl-names = "default", "sleep"; + spi0_cs_number = <0x1>; + spi0_cs_bitmap = <0x1>; + status = "disabled"; + pinctrl-0 = <0xf8 0xf9>; + pinctrl-1 = <0xfa 0xfb>; + }; + + spi@05011000 { + #address-cells = <0x1>; + #size-cells = <0x0>; + compatible = "allwinner,sun50i-spi"; + device_type = "spi1"; + reg = <0x0 0x5011000 0x0 0x1000>; + interrupts = <0x0 0xb 0x4>; + clocks = <0x2 0x73>; + clock-frequency = <0x5f5e100>; + pinctrl-names = "default", "sleep"; + spi1_cs_number = <0x1>; + spi1_cs_bitmap = <0x1>; + status = "okay"; + pinctrl-0 = <0xfc 0xfd>; + pinctrl-1 = <0xfe 0xff>; + + spi_board0 { + device_type = "spi_board0"; + compatible = "rohm,dh2228fv"; + spi-max-frequency = <0x124f80>; + reg = <0x0>; + }; + }; + + pcie@0x05400000 { + #address-cells = <0x3>; + #size-cells = <0x2>; + compatible = "allwinner,sun50i-pcie"; + reg = <0x0 0x5400000 0x0 0x2000 0x0 0x5410000 0x0 0x10000>; + reg-names = "dbi", "config"; + device_type = "pci"; + ranges = <0x800 0x0 0x5410000 0x0 0x5410000 0x0 0x10000 0x81000000 0x0 0x0 0x0 0x5e00000 0x0 0x10000 0x82000000 0x0 0x5500000 0x0 0x5500000 0x0 0x800000>; + num-lanes = <0x1>; + interrupts = <0x0 0x7f 0x4 0x0 0x7e 0x4>; + interrupt-names = "msi"; + clocks = <0x77 0xb 0xc 0x78 0x79 0x7a>; + #interrupt-cells = <0x1>; + interrupt-map-mask = <0x0 0x0 0x0 0x0>; + interrupt-map = <0x0 0x0 0x0 0x1 0x1 0x0 0x7f 0x4>; + status = "okay"; + pcie_rest; + pcie_power = <0x87 0x3 0x11 0x1 0xffffffff 0xffffffff 0xffffffff>; + pcie_reg; + pcie_iodvdd = <0x708>; + pcie_speed_gen = <0x2>; + pcie_vdd = "vdd_pcie"; + pcie_vdd_vol = <0xdbba0>; + pcie_vcc = "vcc-pcie"; + pcie_vcc_vol = <0x1b7740>; + pcie_vcc_slot = "vcc-pcie-slot"; + pcie_vcc_slot_vol = <0x325aa0>; + }; + + sdmmc@04022000 { + compatible = "allwinner,sunxi-mmc-v4p6x"; + device_type = "sdc2"; + reg = <0x0 0x4022000 0x0 0x1000>; + interrupts = <0x0 0x25 0x104>; + clocks = <0x7 0x7b 0x7c 0x7d 0x7e>; + clock-names = "osc24m", "pll_periph", "mmc", "ahb", "rst"; + pinctrl-names = "default", "sleep"; + pinctrl-1 = <0x80>; + bus-width = <0x8>; + max-frequency = <0x8f0d180>; + cap-sd-highspeed; + cap-mmc-highspeed; + cap-erase; + mmc-high-capacity-erase-size; + no-sdio; + no-sd; + 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 = <0x112>; + cd-gpios; + sunxi-power-save-mode; + sunxi-dis-signal-vol-sw; + mmc-ddr-1_8v; + mmc-hs200-1_8v; + mmc-hs400-1_8v; + vmmc = "vcc-emmcv"; + vqmmc = "vcc-emmcvq18"; + vdmmc = "none"; + }; + + sdmmc@04020000 { + compatible = "allwinner,sunxi-mmc-v4p1x"; + device_type = "sdc0"; + reg = <0x0 0x4020000 0x0 0x1000>; + interrupts = <0x0 0x23 0x104>; + clocks = <0x7 0x7b 0x81 0x82 0x83>; + clock-names = "osc24m", "pll_periph", "mmc", "ahb", "rst"; + pinctrl-names = "default", "sleep", "uart_jtag"; + pinctrl-1 = <0x85>; + pinctrl-2 = <0x86>; + max-frequency = <0x2faf080>; + bus-width = <0x4>; + cap-sd-highspeed; + cap-mmc-highspeed; + no-sdio; + no-mmc; + status = "okay"; + pinctrl-0 = <0x110>; + cd-gpios = <0x87 0x5 0x6 0x0 0x1 0x2 0xffffffff>; + sunxi-power-save-mode; + sunxi-dis-signal-vol-sw; + vmmc = "vcc-sdcv"; + vqmmc = "vcc-sdcvq33"; + vdmmc = "vcc-sdcvd"; + ctl-spec-caps = <0x80>; + }; + + sdmmc@04021000 { + compatible = "allwinner,sunxi-mmc-v4p1x"; + device_type = "sdc1"; + reg = <0x0 0x4021000 0x0 0x1000>; + interrupts = <0x0 0x24 0x104>; + clocks = <0x7 0x7b 0x88 0x89 0x8a>; + clock-names = "osc24m", "pll_periph", "mmc", "ahb", "rst"; + pinctrl-names = "default", "sleep"; + pinctrl-1 = <0x8c>; + max-frequency = <0x8f0d180>; + bus-width = <0x4>; + cap-sd-highspeed; + cap-mmc-highspeed; + no-mmc; + 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 = <0x111>; + sd-uhs-sdr50; + sd-uhs-ddr50; + sd-uhs-sdr104; + cap-sdio-irq; + keep-power-in-suspend; + ignore-pm-notify; + }; + + disp@01000000 { + compatible = "allwinner,sunxi-disp"; + reg = <0x0 0x1000000 0x0 0x1400000 0x0 0x6510000 0x0 0x100 0x0 0x6511000 0x0 0x800 0x0 0x6515000 0x0 0x800>; + interrupts = <0x0 0x41 0x104 0x0 0x42 0x104>; + clocks = <0xa 0x8d 0x8e 0x10>; + boot_disp = <0x0>; + boot_disp1 = <0x0>; + boot_disp2 = <0x0>; + fb_base = <0x0>; + iommus = <0x21 0x0 0x0>; + status = "okay"; + device_type = "disp"; + disp_init_enable = <0x1>; + disp_mode = <0x0>; + screen0_output_type = <0x3>; + screen0_output_mode = <0xa>; + screen0_output_format = <0x1>; + screen0_output_bits = <0x0>; + screen0_output_eotf = <0x4>; + screen0_output_cs = <0x101>; + screen0_output_dvi_hdmi = <0x2>; + screen0_output_range = <0x2>; + screen0_output_scan = <0x0>; + screen0_output_aspect_ratio = <0x8>; + screen1_output_type = <0x0>; + screen1_output_mode = <0x2>; + screen1_output_format = <0x1>; + screen1_output_bits = <0x0>; + screen1_output_eotf = <0x4>; + screen1_output_cs = <0x104>; + screen1_output_dvi_hdmi = <0x2>; + screen1_output_range = <0x2>; + screen1_output_scan = <0x0>; + screen1_output_aspect_ratio = <0x8>; + dev0_output_type = <0x4>; + dev0_output_mode = <0xa>; + dev0_screen_id = <0x0>; + dev0_do_hpd = <0x1>; + dev1_output_type = <0x0>; + 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 = <0x780>; + fb0_height = <0x438>; + fb1_format = <0x0>; + fb1_width = <0x0>; + fb1_height = <0x0>; + disp_para_zone = <0x1>; + }; + + 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 = <0x0>; + lcd_x = <0x320>; + lcd_y = <0x258>; + lcd_width = <0x96>; + lcd_height = <0x5e>; + lcd_dclk_freq = <0x28>; + lcd_pwm_used = <0x0>; + lcd_pwm_ch = <0x0>; + lcd_pwm_freq = <0xc350>; + lcd_pwm_pol = <0x1>; + lcd_pwm_max_limit = <0xff>; + lcd_hbp = <0xd8>; + lcd_ht = <0x420>; + lcd_hspw = <0x80>; + lcd_vbp = <0x1b>; + lcd_vt = <0x274>; + lcd_vspw = <0x4>; + 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; + lcd_bl_en_power = "none"; + lcd_power = "vcc-lcd-0"; + lcd_fix_power = "vcc-dsi-33"; + pinctrl-0 = <0x103>; + lcd_pin_power = "vcc-pd"; + pinctrl-1 = <0x104>; + }; + + lcd1@01c0c001 { + compatible = "allwinner,sunxi-lcd1"; + pinctrl-names = "active", "sleep"; + status = "okay"; + }; + + hdmi@06000000 { + compatible = "allwinner,sunxi-hdmi"; + reg = <0x0 0x6000000 0x0 0x100000>; + interrupts = <0x0 0x40 0x0>; + clocks = <0xd 0xe 0x11 0xf>; + pinctrl-names = "ddc_active", "ddc_sleep", "cec_active", "cec_sleep"; + pinctrl-1 = <0x90>; + pinctrl-2 = <0x91>; + pinctrl-3 = <0x92>; + status = "okay"; + device_type = "hdmi"; + hdmi_hdcp_enable = <0x0>; + hdmi_hdcp22_enable = <0x0>; + hdmi_cts_compatibility = <0x0>; + hdmi_cec_support = <0x1>; + hdmi_cec_super_standby = <0x1>; + hdmi_skip_bootedid = <0x1>; + pinctrl-0 = <0x105>; + ddc_en_io_ctrl = <0x1>; + ddc_io_ctrl = <0x87 0x7 0x2 0x1 0xffffffff 0xffffffff 0x0>; + }; + + tv0@01c94000 { + compatible = "allwinner,sunxi-tv"; + reg = <0x0 0x1e40000 0x0 0x1000>; + 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 = <0xa>; + status = "okay"; + }; + + pwm@0300a000 { + compatible = "allwinner,sunxi-pwm"; + reg = <0x0 0x300a000 0x0 0x3c>; + clocks = <0x93>; + pwm-number = <0x2>; + pwm-base = <0x0>; + pwms = <0x94 0x95>; + }; + + pwm0@0300a000 { + compatible = "allwinner,sunxi-pwm0"; + pinctrl-names = "active", "sleep"; + reg_base = <0x300a000>; + 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 = <0x94>; + phandle = <0x94>; + device_type = "pwm0"; + pwm_used = <0x1>; + pinctrl-0 = <0x108>; + pinctrl-1 = <0x109>; + }; + + pwm1@0300a000 { + compatible = "allwinner,sunxi-pwm1"; + pinctrl-names = "active", "sleep"; + reg_base = <0x300a000>; + reg_busy_offset = <0x0>; + reg_busy_shift = <0x1d>; + reg_enable_offset = <0x0>; + reg_enable_shift = <0x13>; + reg_clk_gating_offset = <0x0>; + reg_clk_gating_shift = <0x15>; + reg_bypass_offset = <0x0>; + reg_bypass_shift = <0x18>; + reg_pulse_start_offset = <0x0>; + reg_pulse_start_shift = <0x17>; + reg_mode_offset = <0x0>; + reg_mode_shift = <0x16>; + reg_polarity_offset = <0x0>; + reg_polarity_shift = <0x14>; + reg_period_offset = <0x8>; + reg_period_shift = <0x10>; + reg_period_width = <0x10>; + reg_active_offset = <0x8>; + reg_active_shift = <0x0>; + reg_active_width = <0x10>; + reg_prescal_offset = <0x0>; + reg_prescal_shift = <0xf>; + reg_prescal_width = <0x4>; + linux,phandle = <0x95>; + phandle = <0x95>; + device_type = "pwm1"; + pwm_used = <0x0>; + pinctrl-0 = <0x10a>; + pinctrl-1 = <0x10b>; + }; + + s_pwm@07020c00 { + compatible = "allwinner,sunxi-s_pwm"; + reg = <0x0 0x7020c00 0x0 0x3c>; + clocks = <0x96>; + pwm-number = <0x1>; + pwm-base = <0x10>; + pwms = <0x97>; + }; + + spwm0@07020c00 { + compatible = "allwinner,sunxi-pwm16"; + pinctrl-names = "active", "sleep"; + reg_base = <0x7020c00>; + 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 = <0x97>; + phandle = <0x97>; + }; + + boot_disp { + compatible = "allwinner,boot_disp"; + device_type = "boot_disp"; + auto_hpd = <0x1>; + output_disp = <0x0>; + output_type = <0x3>; + output_mode = <0xa>; + output_format = <0x1>; + output_bits = <0x0>; + output_eotf = <0x4>; + output_cs = <0x104>; + hdmi_channel = <0x0>; + hdmi_mode = <0x4>; + }; + + ac200 { + compatible = "allwinner,sunxi-ac200"; + clocks = <0x8e>; + pinctrl-names = "active", "sleep", "ccir_clk_active", "ccir_clk_sleep"; + pinctrl-2 = <0x98>; + pinctrl-3 = <0x99>; + status = "okay"; + device_type = "ac200"; + tv_used = <0x1>; + tv_module_name = "tv_ac200"; + tv_twi_used = <0x1>; + tv_twi_id = <0x3>; + tv_twi_addr = <0x10>; + tv_pwm_ch = <0x1>; + tv_clk_div = <0x5>; + tv_regulator_name = "vcc-audio-33"; + pinctrl-0 = <0x106>; + pinctrl-1 = <0x107>; + }; + + vind@0 { + compatible = "allwinner,sunxi-vin-media", "simple-bus"; + #address-cells = <0x2>; + #size-cells = <0x2>; + ranges; + device_id = <0x0>; + reg = <0x0 0x6620000 0x0 0x1000>; + clocks = <0x9a 0x2 0x9b 0x7 0x2>; + pinctrl-names = "mclk0-default", "mclk0-sleep"; + pinctrl-0 = <0x9c>; + pinctrl-1 = <0x9d>; + status = "disabled"; + + cci@0x0662e000 { + compatible = "allwinner,sunxi-csi_cci"; + reg = <0x0 0x662e000 0x0 0x1000>; + interrupts = <0x0 0x48 0x4>; + clocks = <0x9e>; + pinctrl-names = "default", "sleep"; + pinctrl-0 = <0x9f>; + pinctrl-1 = <0xa0>; + device_id = <0x0>; + status = "disabled"; + }; + + csi@0x06621000 { + device_type = "csi0"; + compatible = "allwinner,sunxi-csi"; + reg = <0x0 0x6621000 0x0 0x1000>; + interrupts = <0x0 0x46 0x4>; + pinctrl-names = "default", "sleep"; + pinctrl-1 = <0xa2>; + device_id = <0x0>; + iommus = <0x21 0x4 0x1>; + status = "disabled"; + csi0_sensor_list = <0x0>; + pinctrl-0 = <0x10e 0x10f>; + + csi0_dev0 { + device_type = "csi0_dev0"; + status = "disabled"; + csi0_dev0_mname = "ov5640"; + csi0_dev0_twi_addr = <0x78>; + csi0_dev0_pos = "rear"; + csi0_dev0_isp_used = <0x0>; + 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_power_en; + csi0_dev0_reset = <0x87 0x4 0xe 0x1 0x0 0x1 0x0>; + csi0_dev0_pwdn = <0x87 0x4 0xf 0x1 0x0 0x1 0x0>; + csi0_dev0_flash_used = <0x0>; + csi0_dev0_flash_type = <0x2>; + csi0_dev0_flash_en; + csi0_dev0_flash_mode; + csi0_dev0_flvdd; + csi0_dev0_flvdd_vol; + csi0_dev0_af_pwdn; + csi0_dev0_act_used = <0x0>; + csi0_dev0_act_name = "ad5820_act"; + csi0_dev0_act_slave = <0x18>; + }; + + csi0_dev1 { + device_type = "csi0_dev1"; + status = "disabled"; + csi0_dev1_mname; + csi0_dev1_twi_addr = <0x78>; + csi0_dev1_pos = "rear"; + csi0_dev1_isp_used = <0x0>; + 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_power_en; + csi0_dev1_reset; + csi0_dev1_pwdn; + csi0_dev1_flash_used = <0x0>; + csi0_dev1_flash_type = <0x2>; + csi0_dev1_flash_en; + csi0_dev1_flash_mode; + csi0_dev1_flvdd; + csi0_dev1_flvdd_vol; + csi0_dev1_af_pwdn; + csi0_dev1_act_used = <0x0>; + csi0_dev1_act_name = "ad5820_act"; + csi0_dev1_act_slave = <0x18>; + }; + }; + + csi@1 { + device_type = "csi1"; + compatible = "allwinner,sunxi-csi"; + device_id = <0x1>; + iommus = <0x21 0x4 0x1>; + status = "disabled"; + }; + + mipi@0 { + compatible = "allwinner,sunxi-mipi"; + device_id = <0x0>; + status = "disabled"; + }; + + mipi@1 { + compatible = "allwinner,sunxi-mipi"; + device_id = <0x1>; + status = "disabled"; + }; + + isp@0 { + compatible = "allwinner,sunxi-isp"; + reg = <0x0 0x2100000 0x0 0x800>; + interrupts = <0x0 0x56 0x4>; + device_id = <0x0>; + iommus = <0x21 0x4 0x1>; + status = "disabled"; + linux,phandle = <0xa5>; + phandle = <0xa5>; + }; + + isp@1 { + compatible = "allwinner,sunxi-isp"; + reg = <0x0 0x2100800 0x0 0x800>; + device_id = <0x1>; + iommus = <0x21 0x4 0x1>; + status = "disabled"; + linux,phandle = <0xa6>; + phandle = <0xa6>; + }; + + scaler@0x02101000 { + compatible = "allwinner,sunxi-scaler"; + reg = <0x0 0x2101000 0x0 0x400>; + device_id = <0x0>; + iommus = <0x21 0x4 0x1>; + status = "disabled"; + }; + + scaler@0x02101400 { + compatible = "allwinner,sunxi-scaler"; + reg = <0x0 0x2101400 0x0 0x400>; + device_id = <0x1>; + iommus = <0x21 0x4 0x1>; + status = "disabled"; + }; + + scaler@2 { + compatible = "allwinner,sunxi-scaler"; + device_id = <0x2>; + iommus = <0x21 0x4 0x1>; + status = "disabled"; + }; + + scaler@3 { + compatible = "allwinner,sunxi-scaler"; + device_id = <0x3>; + iommus = <0x21 0x4 0x1>; + status = "disabled"; + }; + + actuator@0 { + device_type = "actuator0"; + compatible = "allwinner,sunxi-actuator"; + actuator0_name = "ad5820_act"; + actuator0_slave = <0x18>; + actuator0_af_pwdn; + actuator0_afvdd = "afvcc-csi"; + actuator0_afvdd_vol = <0x2ab980>; + status = "disabled"; + linux,phandle = <0xa4>; + phandle = <0xa4>; + }; + + flash@0 { + device_type = "flash0"; + compatible = "allwinner,sunxi-flash"; + flash0_type = <0x2>; + flash0_en; + flash0_mode; + flash0_flvdd = [00]; + flash0_flvdd_vol; + device_id = <0x0>; + status = "disabled"; + linux,phandle = <0xa3>; + phandle = <0xa3>; + }; + + sensor@0 { + device_type = "sensor0"; + sensor0_mname = "ov5640"; + sensor0_twi_cci_id = <0x0>; + sensor0_twi_addr = <0x78>; + sensor0_pos = "rear"; + sensor0_isp_used = <0x0>; + sensor0_fmt = <0x0>; + sensor0_stby_mode = <0x0>; + sensor0_vflip = <0x0>; + sensor0_hflip = <0x0>; + sensor0_iovdd = "iovdd-csi"; + sensor0_iovdd_vol = <0x2ab980>; + sensor0_avdd = "avdd-csi"; + sensor0_avdd_vol = <0x2ab980>; + sensor0_dvdd = "dvdd-csi-18"; + sensor0_dvdd_vol = <0x16e360>; + sensor0_power_en; + sensor0_reset = <0x87 0x4 0xe 0x1 0x0 0x1 0x0>; + sensor0_pwdn = <0x87 0x4 0x10 0x1 0x0 0x1 0x0>; + flash_handle = <0xa3>; + act_handle = <0xa4>; + status = "disabled"; + linux,phandle = <0xa7>; + phandle = <0xa7>; + }; + + sensor@1 { + device_type = "sensor1"; + sensor1_mname = "ov5647"; + sensor1_twi_cci_id = <0x0>; + sensor1_twi_addr = <0x6c>; + sensor1_pos = "front"; + sensor1_isp_used = <0x0>; + sensor1_fmt = <0x0>; + sensor1_stby_mode = <0x0>; + sensor1_vflip = <0x0>; + sensor1_hflip = <0x0>; + sensor1_iovdd = "iovdd-csi"; + sensor1_iovdd_vol = <0x2ab980>; + sensor1_avdd = "avdd-csi"; + sensor1_avdd_vol = <0x2ab980>; + sensor1_dvdd = "dvdd-csi-18"; + sensor1_dvdd_vol = <0x16e360>; + sensor1_power_en; + sensor1_reset = <0x87 0x4 0xe 0x1 0x0 0x1 0x0>; + sensor1_pwdn = <0x87 0x4 0xf 0x1 0x0 0x1 0x0>; + flash_handle; + act_handle; + status = "disabled"; + linux,phandle = <0xa8>; + phandle = <0xa8>; + }; + + vinc@0x06623000 { + device_type = "vinc0"; + compatible = "allwinner,sunxi-vin-core"; + reg = <0x0 0x6623000 0x0 0x100>; + interrupts = <0x0 0x43 0x4>; + vinc0_csi_sel = <0x0>; + vinc0_mipi_sel = <0xff>; + vinc0_isp_sel = <0x0>; + vinc0_sensor_sel = <0x0>; + vinc0_sensor_list = <0x0>; + isp_handle = <0xa5 0xa6>; + sensor_handle = <0xa7 0xa8>; + device_id = <0x0>; + iommus = <0x21 0x4 0x1>; + status = "disabled"; + }; + + vinc@0x06623100 { + device_type = "vinc1"; + compatible = "allwinner,sunxi-vin-core"; + reg = <0x0 0x6623100 0x0 0x100>; + interrupts = <0x0 0x44 0x4>; + vinc1_csi_sel = <0x0>; + vinc1_mipi_sel = <0xff>; + vinc1_isp_sel = <0x0>; + vinc1_sensor_sel = <0x1>; + vinc1_sensor_list = <0x0>; + isp_handle = <0xa5 0xa6>; + sensor_handle = <0xa7 0xa8>; + device_id = <0x1>; + iommus = <0x21 0x4 0x1>; + status = "disabled"; + }; + }; + + vdevice@0 { + compatible = "allwinner,sun50i-vdevice"; + device_type = "Vdevice"; + pinctrl-names = "default"; + test-gpios = <0x87 0x1 0x0 0x1 0x2 0x2 0x1>; + status = "disabled"; + pinctrl-0 = <0x116>; + }; + + emce@01905000 { + compatible = "allwinner,sunxi-emce"; + device_name = "emce"; + reg = <0x0 0x1905000 0x0 0x100>; + clock-frequency = <0x11e1a300>; + clocks = <0xaa 0x23>; + }; + + ce@1904000 { + compatible = "allwinner,sunxi-ce"; + device_name = "ce"; + reg = <0x0 0x1904000 0x0 0xa0 0x0 0x1904800 0x0 0xa0>; + interrupts = <0x0 0x57 0xff01 0x0 0x58 0xff01>; + clock-frequency = <0x11e1a300>; + clocks = <0xab 0x23>; + }; + + deinterlace@0x01420000 { + #address-cells = <0x1>; + #size-cells = <0x0>; + compatible = "allwinner,sunxi-deinterlace"; + reg = <0x0 0x1420000 0x0 0x20c>; + interrupts = <0x0 0x4f 0x4>; + clocks = <0xac 0x2>; + iommus = <0x21 0x2 0x1>; + status = "okay"; + device_type = "di"; + }; + + smartcard@0x05005000 { + #address-cells = <0x1>; + #size-cells = <0x0>; + compatible = "allwinner,sunxi-scr"; + device_type = "scr0"; + reg = <0x0 0x5005000 0x0 0x400>; + interrupts = <0x0 0x8 0x4>; + clocks = <0xad 0xae>; + clock-frequency = <0x16e3600>; + pinctrl-names = "default", "sleep"; + pinctrl-0 = <0xaf 0xb0>; + pinctrl-1 = <0xb1>; + status = "disabled"; + }; + + smartcard@0x05005400 { + #address-cells = <0x1>; + #size-cells = <0x0>; + compatible = "allwinner,sunxi-scr"; + device_type = "scr1"; + reg = <0x0 0x5005400 0x0 0x400>; + interrupts = <0x0 0x9 0x4>; + clocks = <0xb2 0xae>; + clock-frequency = <0x16e3600>; + pinctrl-names = "default", "sleep"; + pinctrl-0 = <0xb3 0xb4>; + pinctrl-1 = <0xb5>; + status = "disabled"; + }; + + pmu@0 { + interrupts = <0x0 0x60 0x4>; + status = "okay"; + device_type = "pmu0"; + compatible = "axp806"; + pmu_id = <0x3>; + pmu_irq_wakeup = <0x1>; + pmu_hot_shutdown = <0x1>; + + powerkey@0 { + status = "okay"; + device_type = "powerkey0"; + compatible = "axp806-powerkey"; + pmu_powkey_off_time = <0x1770>; + pmu_powkey_off_func = <0x0>; + pmu_powkey_off_en = <0x1>; + pmu_powkey_long_time = <0x5dc>; + pmu_powkey_on_time = <0x3e8>; + }; + + regulator@0 { + status = "okay"; + device_type = "regulator0"; + compatible = "axp806-regulator"; + regulator_count = <0x10>; + regulator1 = "axp806_dcdca none vdd-cpua"; + regulator2 = "axp806_dcdcb none"; + regulator3 = "axp806_dcdcc none vdd-gpu"; + regulator4 = "axp806_dcdcd none vdd-sys vdd-hdmi vdd-pcie vdd-usb"; + regulator5 = "axp806_dcdce none vcc-dram"; + regulator6 = "axp806_aldo1 none vcc-pl vcc-led vcc-ir vcc-pg vcc-pm vcc-ts"; + regulator7 = "axp806_aldo2 none ac-ldoin vcc-audio-33 vcc-ephy usb-dvdd vcc-tv"; + regulator8 = "axp806_aldo3 none vcc-pcie-slot"; + regulator9 = "axp806_bldo1 none vdd-dram-18 vdd-bias vcc-pll"; + regulator10 = "axp806_bldo2 none vcc-emmc-18 vdd-efuse vcc-pcie vcc-hdmi vcc-emmcvq18"; + regulator11 = "axp806_bldo3 none vcc-wifi-io"; + regulator12 = "axp806_bldo4 none"; + regulator13 = "axp806_cldo1 none vcc-io vcc-nand vcc-card vcc-pd vcc-usb vcc-uart vcc-jtagx vcc-emmc-33 vcc-camera-33 vcc-emmcv vcc-sdcv vcc-sdcvq33 vcc-sdcvd"; + regulator14 = "axp806_cldo2 none vcc-wifi1"; + regulator15 = "axp806_cldo3 none vcc-wifi2"; + regulator16 = "axp806_sw none"; + }; + + axp_gpio@0 { + gpio-controller; + #size-cells = <0x0>; + #gpio-cells = <0x6>; + status = "okay"; + device_type = "axp_pio"; + linux,phandle = <0x100>; + phandle = <0x100>; + }; + + charger@0 { + status = "disabled"; + device_type = "charger0"; + pmu_bat_unused = <0x1>; + pmu_pwroff_vol = <0xce4>; + power_start = <0x0>; + }; + }; + + 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@04011000 { + compatible = "allwinner,sun50iw6-nand"; + device_type = "nand0"; + reg = <0x0 0x4011000 0x0 0x1000>; + interrupts = <0x0 0x22 0x4>; + clocks = <0x23 0xb6 0xb7>; + pinctrl-names = "default", "sleep"; + pinctrl-1 = <0xba>; + 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 = <0x101 0x102>; + }; + + ts0@05060000 { + compatible = "allwinner,sun50i-tsc"; + device_type = "ts0"; + reg = <0x0 0x5060000 0x0 0x1000>; + interrupts = <0x0 0xe 0x4>; + clocks = <0x2 0xbb>; + clock-frequency = <0x7270e00>; + pinctrl-names = "ts0-default", "ts1-default", "ts2-default", "ts3-default", "ts0-sleep", "ts1-sleep", "ts2-sleep", "ts3-sleep"; + pinctrl-0 = <0xbc>; + pinctrl-1 = <0xbd>; + pinctrl-2 = <0xbe>; + pinctrl-3 = <0xbf>; + pinctrl-4 = <0xc0>; + pinctrl-5 = <0xc1>; + pinctrl-6 = <0xc2>; + pinctrl-7 = <0xc3>; + ts0config = <0x1>; + ts1config = <0x0>; + ts2config = <0x0>; + ts3config = <0x0>; + status = "okay"; + }; + + thermal_sensor { + compatible = "allwinner,thermal_sensor"; + reg = <0x0 0x5070400 0x0 0x400>; + interrupts = <0x0 0xf 0x0>; + clocks = <0x7 0xc4>; + sensor_num = <0x2>; + combine_num = <0x2>; + alarm_low_temp = <0x19a28>; + alarm_high_temp = <0x1adb0>; + alarm_temp_hysteresis = <0x3a98>; + shut_temp = <0x1c138>; + status = "okay"; + + ths_combine0 { + compatible = "allwinner,ths_combine0"; + #thermal-sensor-cells = <0x1>; + combine_sensor_num = <0x1>; + combine_sensor_type = "cpu"; + combine_sensor_temp_type = "max"; + combine_sensor_id = <0x0>; + linux,phandle = <0xc5>; + phandle = <0xc5>; + }; + + ths_combine1 { + compatible = "allwinner,ths_combine1"; + #thermal-sensor-cells = <0x1>; + combine_sensor_num = <0x1>; + combine_sensor_type = "gpu"; + combine_sensor_temp_type = "max"; + combine_sensor_id = <0x1>; + linux,phandle = <0xcd>; + phandle = <0xcd>; + }; + }; + + cpu_budget_cool { + device_type = "cpu_budget_cool"; + compatible = "allwinner,budget_cooling"; + #cooling-cells = <0x2>; + status = "okay"; + state_cnt = <0x7>; + cluster_num = <0x1>; + state0 = <0x1b7740 0x4>; + state1 = <0x16b480 0x4>; + state2 = <0x142440 0x3>; + state3 = <0x107ac0 0x2>; + state4 = <0xd8cc0 0x1>; + state5 = <0xafc80 0x1>; + state6 = <0x75300 0x1>; + linux,phandle = <0xc7>; + phandle = <0xc7>; + }; + + gpu_cooling { + compatible = "allwinner,gpu_cooling"; + reg = <0x0 0x0 0x0 0x0>; + #cooling-cells = <0x2>; + status = "okay"; + state_cnt = <0x4>; + state0 = <0x0>; + state1 = <0x1>; + state2 = <0x2>; + state3 = <0x3>; + linux,phandle = <0xcf>; + phandle = <0xcf>; + }; + + thermal-zones { + + cpu_thermal_zone { + polling-delay-passive = <0x3e8>; + polling-delay = <0x3e8>; + thermal-sensors = <0xc5 0x0>; + + trips { + + t0 { + temperature = <0xea60>; + type = "passive"; + hysteresis = <0x0>; + linux,phandle = <0xc6>; + phandle = <0xc6>; + }; + + t1 { + temperature = <0x15f90>; + type = "passive"; + hysteresis = <0x0>; + linux,phandle = <0xc8>; + phandle = <0xc8>; + }; + + t2 { + temperature = <0x17318>; + type = "passive"; + hysteresis = <0x0>; + linux,phandle = <0xc9>; + phandle = <0xc9>; + }; + + t3 { + temperature = <0x186a0>; + type = "passive"; + hysteresis = <0x0>; + linux,phandle = <0xca>; + phandle = <0xca>; + }; + + t4 { + temperature = <0x19a28>; + type = "passive"; + hysteresis = <0x0>; + linux,phandle = <0xcb>; + phandle = <0xcb>; + }; + + t5 { + temperature = <0x1adb0>; + type = "passive"; + hysteresis = <0x0>; + linux,phandle = <0xcc>; + phandle = <0xcc>; + }; + + t6 { + temperature = <0x1c138>; + type = "critical"; + hysteresis = <0x0>; + }; + }; + + cooling-maps { + + bind0 { + contribution = <0x0>; + trip = <0xc6>; + cooling-device = <0xc7 0x1 0x1>; + }; + + bind1 { + contribution = <0x0>; + trip = <0xc8>; + cooling-device = <0xc7 0x2 0x2>; + }; + + bind2 { + contribution = <0x0>; + trip = <0xc9>; + cooling-device = <0xc7 0x3 0x3>; + }; + + bind3 { + contribution = <0x0>; + trip = <0xca>; + cooling-device = <0xc7 0x4 0x4>; + }; + + bind4 { + contribution = <0x0>; + trip = <0xcb>; + cooling-device = <0xc7 0x5 0x5>; + }; + + bind5 { + contribution = <0x0>; + trip = <0xcc>; + cooling-device = <0xc7 0x6 0x6>; + }; + }; + }; + + gpu_thermal_zone { + polling-delay-passive = <0x3e8>; + polling-delay = <0x7d0>; + thermal-sensors = <0xcd 0x1>; + + trips { + + t0 { + temperature = <0x17318>; + type = "passive"; + hysteresis = <0x0>; + linux,phandle = <0xce>; + phandle = <0xce>; + }; + + t1 { + temperature = <0x186a0>; + type = "passive"; + hysteresis = <0x0>; + linux,phandle = <0xd0>; + phandle = <0xd0>; + }; + + t2 { + temperature = <0x19a28>; + type = "passive"; + hysteresis = <0x0>; + linux,phandle = <0xd1>; + phandle = <0xd1>; + }; + + t3 { + temperature = <0x1c138>; + type = "critical"; + hysteresis = <0x0>; + }; + }; + + cooling-maps { + + bind0 { + contribution = <0x0>; + trip = <0xce>; + cooling-device = <0xcf 0x1 0x1>; + }; + + bind1 { + contribution = <0x0>; + trip = <0xd0>; + cooling-device = <0xcf 0x2 0x2>; + }; + + bind2 { + contribution = <0x0>; + trip = <0xd1>; + cooling-device = <0xcf 0x3 0x3>; + }; + }; + }; + }; + + keyboard { + compatible = "allwinner,keyboard_1200mv"; + reg = <0x0 0x5070800 0x0 0x400>; + interrupts = <0x0 0x10 0x0>; + status = "okay"; + key_cnt = <0x5>; + key0 = <0x73 0x73>; + key1 = <0xeb 0x72>; + key2 = <0x14a 0x8b>; + key3 = <0x1a4 0x1c>; + key4 = <0x208 0x66>; + }; + + eth@05020000 { + compatible = "allwinner,sunxi-gmac"; + reg = <0x0 0x5020000 0x0 0x10000 0x0 0x3000030 0x0 0x4>; + interrupts = <0x0 0xc 0x4>; + interrupt-names = "gmacirq"; + clocks = <0xd2>; + clock-names = "gmac"; + pinctrl-1 = <0xd4>; + pinctrl-names = "default", "sleep"; + phy-mode = "rgmii"; + tx-delay = <0x0>; + rx-delay = <0x0>; + phy-rst; + gmac-power0 = "vcc-io"; + gmac-power1 = "axp806_aldo3"; + status = "okay"; + device_type = "gmac0"; + pinctrl-0 = <0xe7 0xe8>; + gmac-power2; + }; + + wlan { + compatible = "allwinner,sunxi-wlan"; + clocks = <0xd5>; + status = "okay"; + device_type = "wlan"; + wlan_busnum = <0x1>; + wlan_usbnum = <0x3>; + wlan_power1 = "vcc-wifi1"; + wlan_power2 = "vcc-wifi2"; + wlan_io_regulator = "vcc-wifi-io"; + wlan_en = <0xd6 0xb 0x8 0x1 0xffffffff 0xffffffff 0x0>; + wlan_regon = <0xd6 0xc 0x3 0x1 0xffffffff 0xffffffff 0x0>; + wlan_hostwake = <0xd6 0xc 0x0 0x0 0xffffffff 0xffffffff 0x0>; + }; + + bt { + compatible = "allwinner,sunxi-bt"; + clocks = <0xd5>; + bt_power = "vcc-wifi"; + bt_io_regulator = "vcc-wifi-io"; + status = "okay"; + device_type = "bt"; + bt_rst_n = <0xd6 0xc 0x4 0x1 0xffffffff 0xffffffff 0x0>; + }; + + btlpm { + compatible = "allwinner,sunxi-btlpm"; + uart_index = <0x1>; + status = "okay"; + device_type = "btlpm"; + bt_hostwake_enable = <0x0>; + bt_wake = <0xd6 0xc 0x2 0x1 0xffffffff 0xffffffff 0x1>; + bt_hostwake = <0xd6 0xc 0x1 0x6 0xffffffff 0xffffffff 0x0>; + }; + + product { + device_type = "product"; + version = "100"; + machine = "petrel-p1"; + }; + + platform { + device_type = "platform"; + eraseflag = <0x1>; + }; + + target { + device_type = "target"; + boot_clock = <0x528>; + storage_type = <0xffffffff>; + burn_key = <0x0>; + dragonboard_test = <0x0>; + power_mode = <0x0>; + advert_enable = <0x0>; + }; + + secure { + device_type = "secure"; + dram_region_mbytes = <0x50>; + drm_region_mbytes = <0x0>; + drm_region_start_mbytes = <0x0>; + }; + + power_sply { + device_type = "power_sply"; + dcdca_vol = <0xf4628>; + aldo2_vol = <0xf4f24>; + bldo3_vol = <0xf4948>; + cldo2_vol = <0xf4f24>; + cldo3_vol = <0xf4f24>; + }; + + gpio_bias { + device_type = "gpio_bias"; + pc_bias = "axp806:bldo2:1800"; + pg_bias = "axp806:bldo3:1800"; + }; + + ir_boot_recovery { + device_type = "ir_boot_recovery"; + status = "disabled"; + ir_work_mode = <0x1>; + ir_press_times = <0x2>; + ir_detect_time = <0x7d0>; + ir_key_no_duplicate = <0x0>; + ir_recovery_key_code0 = <0x4>; + ir_addr_code0 = <0xff00>; + ir_recovery_key_code1 = <0x10>; + ir_addr_code1 = <0xff00>; + }; + + card_boot { + device_type = "card_boot"; + logical_start = <0xa000>; + sprite_gpio0 = <0xd6 0xb 0x4 0x1 0xffffffff 0xffffffff 0x1>; + next_work = <0x3>; + }; + + key_boot_recovery { + device_type = "key_boot_recovery"; + status = "disabled"; + press_mode_enable = <0x0>; + key_work_mode = <0x1>; + short_press_mode = <0x0>; + long_press_mode = <0x1>; + key_press_time = <0x7d0>; + recovery_key = <0x87 0x7 0x7 0x0 0xffffffff 0xffffffff 0xffffffff>; + }; + + boot_init_gpio { + device_type = "boot_init_gpio"; + status = "okay"; + gpio0 = <0xd6 0xb 0x4 0x1 0xffffffff 0xffffffff 0x1>; + gpio1 = <0xd6 0xb 0x7 0x1 0xffffffff 0xffffffff 0x0>; + gpio2 = <0x87 0x7 0x2 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 = <0xe2>; + }; + + card2_boot_para { + device_type = "card2_boot_para"; + card_ctrl = <0x2>; + card_high_speed = <0x1>; + card_line = <0x8>; + pinctrl-0 = <0xe3>; + sdc_ex_dly_used = <0x2>; + sdc_io_1v8 = <0x1>; + sdc_tm4_hs400_max_freq = <0x64>; + sdc_tm4_hs200_max_freq = <0x96>; + }; + + twi_para { + device_type = "twi_para"; + twi_port = <0x0>; + pinctrl-0 = <0xe4>; + }; + + uart_para { + device_type = "uart_para"; + uart_debug_port = <0x0>; + pinctrl-0 = <0xe5>; + }; + + jtag_para { + device_type = "jtag_para"; + jtag_enable = <0x0>; + pinctrl-0 = <0xe6>; + }; + + 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 = <0x87 0x7 0x4 0x6 0xffffffff 0xffffffff 0xffffffff>; + ctp_wakeup = <0x87 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 = <0x0>; + 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 = <0x0>; + motor_shake = <0x100 0xfffe 0x3 0x1 0xffffffff 0xffffffff 0x1>; + }; + + esm { + device_type = "esm"; + esm_img_size_addr = <0x0>; + esm_img_buff_addr = <0x0>; + }; + + pwm16 { + device_type = "pwm16"; + s_pwm0_used = <0x1>; + pinctrl-0 = <0x10c>; + pinctrl-1 = <0x10d>; + }; + + 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; + }; + + gpio_para { + device_type = "gpio_para"; + compatible = "allwinner,sunxi-init-gpio"; + gpio_used = <0x1>; + gpio_num = <0x3>; + gpio_pin_1 = <0xd6 0xb 0x7 0x1 0xffffffff 0xffffffff 0x1>; + gpio_pin_2 = <0xd6 0xb 0x4 0x1 0xffffffff 0xffffffff 0x0>; + gpio_pin_3 = <0x87 0x3 0x6 0x1 0xffffffff 0xffffffff 0x1>; + normal_led = "gpio_pin_1"; + standby_led = "gpio_pin_2"; + easy_light_used = <0x1>; + normal_led_light = <0x1>; + standby_led_light = <0x1>; + }; + + usbc3 { + device_type = "usbc3"; + status = "okay"; + usb_drv_vbus_gpio; + usb_host_init_state = <0x1>; + usb_regulator_io = "nocare"; + usb_wakeup_suspend = <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 = <0x87 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>; + }; + + addr_mgt { + device_type = "addr_mgt"; + compatible = "allwinner,sunxi-addr_mgt"; + status = "okay"; + type_addr_wifi = <0x0>; + type_addr_bt = <0x0>; + type_addr_eth = <0x0>; + }; + + 3g_para { + device_type = "3g_para"; + 3g_used = <0x0>; + 3g_usbc_num = <0x2>; + 3g_uart_num = <0x0>; + bb_vbat = <0xd6 0xb 0x3 0x1 0xffffffff 0xffffffff 0x0>; + bb_host_wake = <0xd6 0xc 0x0 0x1 0xffffffff 0xffffffff 0x0>; + bb_on = <0xd6 0xc 0x1 0x1 0xffffffff 0xffffffff 0x0>; + bb_pwr_on = <0xd6 0xc 0x3 0x1 0xffffffff 0xffffffff 0x0>; + bb_wake = <0xd6 0xc 0x4 0x1 0xffffffff 0xffffffff 0x0>; + bb_rf_dis = <0xd6 0xc 0x5 0x1 0xffffffff 0xffffffff 0x0>; + bb_rst = <0xd6 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 = <0x87 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 = <0x1>; + 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 = <0x87 0x0 0xc 0x6 0x1 0xffffffff 0xffffffff>; + }; + + ls_list_para { + device_type = "ls_list_para"; + compatible = "allwinner,sun50i-lsensors-list-para"; + ls_det_used = <0x1>; + 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 = <0x87 0x0 0xb 0x6 0x1 0xffffffff 0xffffffff>; + }; + + compass_list_para { + device_type = "compass_list_para"; + compatible = "allwinner,sun50i-compass-list-para"; + compass_det_used = <0x1>; + lsm9ds0 = <0x1>; + lsm303d = <0x0>; + akm8963 = <0x1>; + }; + + dvfs_table_0 { + device_type = "dvfs_table_0"; + max_freq = <0x6b49d200>; + min_freq = <0x1c9c3800>; + lv_count = <0x8>; + lv1_freq = <0x6b49d200>; + lv1_volt = <0x488>; + lv2_freq = <0x58b11400>; + lv2_volt = <0x424>; + lv3_freq = <0x4ead9a00>; + lv3_volt = <0x3e8>; + lv4_freq = "@_~"; + lv4_volt = <0x3ac>; + lv5_freq = <0x34edce00>; + lv5_volt = <0x370>; + lv6_freq = <0x0>; + lv6_volt = <0x370>; + lv7_freq = <0x0>; + lv7_volt = <0x370>; + lv8_freq = <0x0>; + lv8_volt = <0x370>; + }; + + dvfs_table_1 { + device_type = "dvfs_table_1"; + max_freq = <0x6b49d200>; + min_freq = <0x1c9c3800>; + lv_count = <0x8>; + lv1_freq = <0x6b49d200>; + lv1_volt = <0x44c>; + lv2_freq = <0x58b11400>; + lv2_volt = <0x3e8>; + lv3_freq = <0x4ead9a00>; + lv3_volt = <0x3ac>; + lv4_freq = "@_~"; + lv4_volt = <0x370>; + lv5_freq = <0x34edce00>; + lv5_volt = <0x334>; + lv6_freq = <0x0>; + lv6_volt = <0x334>; + lv7_freq = <0x0>; + lv7_volt = <0x334>; + lv8_freq = <0x0>; + lv8_volt = <0x334>; + }; + + dvfs_table_2 { + device_type = "dvfs_table_2"; + max_freq = <0x6b49d200>; + min_freq = <0x1c9c3800>; + lv_count = <0x8>; + lv1_freq = <0x6b49d200>; + lv1_volt = <0x424>; + lv2_freq = <0x58b11400>; + lv2_volt = <0x3c0>; + lv3_freq = <0x4ead9a00>; + lv3_volt = <0x384>; + lv4_freq = "@_~"; + lv4_volt = <0x348>; + lv5_freq = <0x34edce00>; + lv5_volt = <0x320>; + lv6_freq = <0x0>; + lv6_volt = <0x320>; + lv7_freq = <0x0>; + lv7_volt = <0x320>; + lv8_freq = <0x0>; + lv8_volt = <0x320>; + }; + + s_rsb0 { + device_type = "s_rsb0"; + status = "disabled"; + pinctrl-0 = <0x114>; + }; + + box_standby_led { + device_type = "box_standby_led"; + gpio0 = <0xd6 0xb 0x7 0x1 0xffffffff 0xffffffff 0x0>; + gpio1 = <0xd6 0xb 0x4 0x1 0xffffffff 0xffffffff 0x1>; + }; + + gpio_power_key { + device_type = "gpio_power_key"; + compatible = "allwinner,sunxi-gpio-power-key"; + status = "disabled"; + key_io = <0xd6 0xb 0x5 0x0 0xffffffff 0xffffffff 0x0>; + trigger_mode = <0x1>; + }; + + auto_print { + device_type = "auto_print"; + status = "disabled"; + }; + }; + + aliases { + serial0 = "/soc@03000000/uart@05000000", "/soc@03000000/uart@05000000"; + serial1 = "/soc@03000000/uart@05000400", "/soc@03000000/uart@05000400"; + serial2 = "/soc@03000000/uart@05000800", "/soc@03000000/uart@05000800"; + serial3 = "/soc@03000000/uart@05000c00", "/soc@03000000/uart@05000c00"; + twi0 = "/soc@03000000/twi@0x05002000", "/soc@03000000/twi@0x05002000"; + twi1 = "/soc@03000000/twi@0x05002400", "/soc@03000000/twi@0x05002400"; + twi2 = "/soc@03000000/twi@0x05002800", "/soc@03000000/twi@0x05002800"; + twi3 = "/soc@03000000/twi@0x05002c00", "/soc@03000000/twi@0x05002c00"; + spi0 = "/soc@03000000/spi@05010000", "/soc@03000000/spi@05010000"; + spi1 = "/soc@03000000/spi@05011000", "/soc@03000000/spi@05011000"; + pcie = "/soc@03000000/pcie@0x05400000", "/soc@03000000/pcie@0x05400000"; + scr0 = "/soc@03000000/smartcard@0x05005000", "/soc@03000000/smartcard@0x05005000"; + scr1 = "/soc@03000000/smartcard@0x05005400", "/soc@03000000/smartcard@0x05005400"; + gmac0 = "/soc@03000000/eth@05020000", "/soc@03000000/eth@05020000"; + global_timer0 = "/soc@03000000/timer@03009000", "/soc@03000000/timer@03009000"; + mmc0 = "/soc@03000000/sdmmc@04020000", "/soc@03000000/sdmmc@04020000"; + mmc2 = "/soc@03000000/sdmmc@04022000", "/soc@03000000/sdmmc@04022000"; + nand0 = "/soc@03000000/nand0@04011000", "/soc@03000000/nand0@04011000"; + disp = "/soc@03000000/disp@01000000", "/soc@03000000/disp@01000000"; + lcd0 = "/soc@03000000/lcd0@01c0c000", "/soc@03000000/lcd0@01c0c000"; + lcd1 = "/soc@03000000/lcd1@01c0c001", "/soc@03000000/lcd1@01c0c001"; + hdmi = "/soc@03000000/hdmi@06000000", "/soc@03000000/hdmi@06000000"; + pwm = "/soc@03000000/pwm@0300a000", "/soc@03000000/pwm@0300a000"; + pwm0 = "/soc@03000000/pwm0@0300a000", "/soc@03000000/pwm0@0300a000"; + pwm1 = "/soc@03000000/pwm1@0300a000", "/soc@03000000/pwm1@0300a000"; + tv0 = "/soc@03000000/tv0@01c94000", "/soc@03000000/tv0@01c94000"; + s_pwm = "/soc@03000000/s_pwm@07020c00", "/soc@03000000/s_pwm@07020c00"; + spwm0 = "/soc@03000000/spwm0@07020c00", "/soc@03000000/spwm0@07020c00"; + ac200 = "/soc@03000000/ac200", "/soc@03000000/ac200"; + boot_disp = "/soc@03000000/boot_disp", "/soc@03000000/boot_disp"; + charger0 = "/soc@03000000/pmu@0/charger@0", "/soc@03000000/pmu@0/charger@0"; + regulator0 = "/soc@03000000/pmu@0/regulator@0", "/soc@03000000/pmu@0/regulator@0"; + }; + + chosen { + bootargs = "earlyprintk=sunxi-uart,0x05000000 loglevel=8 initcall_debug=1 console=ttyS0 init=/init"; + linux,initrd-start = <0x0 0x0>; + linux,initrd-end = <0x0 0x0>; + }; + + firmware { + + android { + compatible = "android,firmware"; + boot_devices = "soc/sdc0,soc/sdc2,soc"; + + fstab { + compatible = "android,fstab"; + + vendor { + compatible = "android,vendor"; + dev = "/dev/block/by-name/vendor"; + fsmgr_flags = "wait,recoveryonly"; + mnt_flags = "ro,barrier=1"; + status = "ok"; + type = "ext4"; + }; + }; + }; + + optee { + compatible = "linaro,optee-tz"; + method = "smc"; + }; + }; + + cpus { + #address-cells = <0x2>; + #size-cells = <0x0>; + + cpu@0 { + device_type = "cpu"; + compatible = "arm,cortex-a53", "arm,armv8"; + reg = <0x0 0x0>; + enable-method = "psci"; + clocks = <0xd7>; + clock-latency = <0x1e8480>; + clock-frequency = <0x4ead9a00>; + operating-points-v2 = <0xd8 0xd9 0xda>; + cpu-idle-states = <0xdb 0xdc 0xdd>; + }; + + cpu@1 { + device_type = "cpu"; + compatible = "arm,cortex-a53", "arm,armv8"; + reg = <0x0 0x1>; + enable-method = "psci"; + clocks = <0xd7>; + clock-frequency = <0x4ead9a00>; + operating-points-v2 = <0xd8 0xd9 0xda>; + cpu-idle-states = <0xdb 0xdc 0xdd>; + }; + + cpu@2 { + device_type = "cpu"; + compatible = "arm,cortex-a53", "arm,armv8"; + reg = <0x0 0x2>; + enable-method = "psci"; + clocks = <0xd7>; + clock-frequency = <0x4ead9a00>; + operating-points-v2 = <0xd8 0xd9 0xda>; + cpu-idle-states = <0xdb 0xdc 0xdd>; + }; + + cpu@3 { + device_type = "cpu"; + compatible = "arm,cortex-a53", "arm,armv8"; + reg = <0x0 0x3>; + enable-method = "psci"; + clocks = <0xd7>; + clock-frequency = <0x4ead9a00>; + operating-points-v2 = <0xd8 0xd9 0xda>; + cpu-idle-states = <0xdb 0xdc 0xdd>; + }; + + idle-states { + entry-method = "arm,psci"; + + cpu-sleep-0 { + compatible = "arm,idle-state"; + arm,psci-suspend-param = <0x10000>; + entry-latency-us = <0xfa0>; + exit-latency-us = <0x2710>; + min-residency-us = <0x3a98>; + linux,phandle = <0xdb>; + phandle = <0xdb>; + }; + + cluster-sleep-0 { + compatible = "arm,idle-state"; + arm,psci-suspend-param = <0x1010000>; + entry-latency-us = <0xc350>; + exit-latency-us = <0x186a0>; + min-residency-us = <0x3d090>; + linux,phandle = <0xdc>; + phandle = <0xdc>; + }; + + sys-sleep-0 { + compatible = "arm,idle-state"; + arm,psci-suspend-param = <0x2010000>; + entry-latency-us = <0x186a0>; + exit-latency-us = <0x1e8480>; + min-residency-us = <0x44aa20>; + linux,phandle = <0xdd>; + phandle = <0xdd>; + }; + }; + }; + + 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 0xa000>; + }; + + s_brom { + compatible = "allwinner,s-brom"; + reg = <0x0 0x0 0x0 0x10000>; + }; + + sram_ctrl { + device_type = "sram_ctrl"; + compatible = "allwinner,sram_ctrl"; + reg = <0x0 0x3000000 0x0 0x100>; + }; + + sram_a1 { + compatible = "allwinner,sram_a1"; + reg = <0x0 0x20000 0x0 0x8000>; + }; + + sram_a2 { + compatible = "allwinner,sram_a2"; + reg = <0x0 0x100000 0x0 0x14000>; + }; + + prcm { + compatible = "allwinner,prcm"; + reg = <0x0 0x1f01400 0x0 0x400>; + }; + + s_cpuscfg { + compatible = "allwinner,s_cpuscfg"; + reg = <0x0 0x1f01c00 0x0 0x400>; + }; + + ion { + compatible = "allwinner,sunxi-ion"; + + heap_sys_user@0 { + compatible = "allwinner,sys_user"; + heap-name = "sys_user"; + heap-id = <0x0>; + heap-base = <0x0>; + heap-size = <0x0>; + heap-type = "ion_system"; + }; + + heap_sys_contig@0 { + compatible = "allwinner,sys_contig"; + heap-name = "sys_contig"; + heap-id = <0x1>; + heap-base = <0x0>; + heap-size = <0x0>; + heap-type = "ion_contig"; + }; + + heap_cma@0 { + compatible = "allwinner,cma"; + heap-name = "cma"; + heap-id = <0x4>; + heap-base = <0x0>; + heap-size = <0x0>; + heap-type = "ion_cma"; + }; + + heap_secure@0 { + compatible = "allwinner,secure"; + heap-name = "secure"; + heap-id = <0x6>; + heap-base = <0x0>; + heap-size = <0x0>; + heap-type = "ion_secure"; + }; + }; + + dram { + compatible = "allwinner,dram"; + clocks = <0xde>; + clock-names = "pll_ddr"; + dram_clk = <0x0>; + dram_type = <0x7>; + dram_zq = <0x3b3bfb>; + dram_odt_en = <0x31>; + dram_para1 = <0x30fa>; + dram_para2 = <0x4000000>; + dram_mr0 = <0x1c70>; + dram_mr1 = <0x40>; + dram_mr2 = <0x18>; + dram_mr3 = <0x1>; + dram_tpr0 = <0x48a192>; + dram_tpr1 = <0x1b1a94b>; + dram_tpr2 = <0x61043>; + dram_tpr3 = <0x78787896>; + dram_tpr4 = <0x0>; + dram_tpr5 = <0x0>; + dram_tpr6 = "\t\t\t"; + dram_tpr7 = <0x4d462a3e>; + dram_tpr8 = <0x0>; + dram_tpr9 = <0x0>; + dram_tpr10 = <0x0>; + dram_tpr11 = <0x440000>; + dram_tpr12 = <0x0>; + dram_tpr13 = <0x0>; + device_type = "dram"; + dram_mr4 = <0x0>; + dram_mr5 = <0x400>; + dram_mr6 = <0x848>; + }; + + memory@40000000 { + device_type = "memory"; + reg = <0x0 0x40000000 0x0 0x20000000>; + }; + + interrupt-controller@03020000 { + compatible = "arm,cortex-a15-gic", "arm,cortex-a9-gic"; + #interrupt-cells = <0x3>; + #address-cells = <0x0>; + device_type = "gic"; + interrupt-controller; + reg = <0x0 0x3021000 0x0 0x1000 0x0 0x3022000 0x0 0x2000 0x0 0x3024000 0x0 0x2000 0x0 0x3026000 0x0 0x2000>; + interrupts = <0x1 0x9 0xf04>; + linux,phandle = <0x1>; + phandle = <0x1>; + }; + + sunxi-sid@03006000 { + compatible = "allwinner,sunxi-sid"; + device_type = "sid"; + reg = <0x0 0x3006000 0x0 0x1000>; + }; + + sunxi-chipid@03006200 { + compatible = "allwinner,sunxi-chipid"; + device_type = "chipid"; + reg = <0x0 0x3006200 0x0 0x200>; + }; + + timer_arch { + compatible = "arm,armv8-timer"; + interrupts = <0x1 0xd 0xf08 0x1 0xe 0xf08 0x1 0xb 0xf08 0x1 0xa 0xf08>; + clock-frequency = <0x16e3600>; + arm,no-tick-in-suspend; + }; + + pmu { + compatible = "arm,armv8-pmuv3"; + interrupts = <0x0 0x8c 0x4 0x0 0x8d 0x4 0x0 0x8e 0x4 0x0 0x8f 0x4>; + }; + + opp_dvfs_table { + cluster_num = <0x1>; + opp_table_count = <0x3>; + + opp_l_table0 { + compatible = "allwinner,opp_l_table0"; + opp_count = <0x8>; + opp-shared; + linux,phandle = <0xd8>; + phandle = <0xd8>; + + opp00 { + opp-hz = <0x0 0x1c9c3800>; + opp-microvolt = <0xd6d80>; + axi-bus-divide-ratio = <0x3>; + clock-latency-ns = <0x1e8480>; + pval = <0xaf0>; + }; + + opp01 { + opp-hz = <0x0 0x2aea5400>; + opp-microvolt = <0xd6d80>; + axi-bus-divide-ratio = <0x3>; + clock-latency-ns = <0x1e8480>; + pval = <0xaf0>; + }; + + opp02 { + opp-hz = <0x0 0x30a32c00>; + opp-microvolt = <0xd6d80>; + axi-bus-divide-ratio = <0x3>; + clock-latency-ns = <0x1e8480>; + pval = <0xaf0>; + }; + + opp03 { + opp-hz = <0x0 0x34edce00>; + opp-microvolt = <0xd6d80>; + axi-bus-divide-ratio = <0x3>; + clock-latency-ns = <0x1e8480>; + pval = <0xaf0>; + }; + + opp04 { + opp-hz = <0x0 0x405f7e00>; + opp-microvolt = <0xe57e0>; + axi-bus-divide-ratio = <0x3>; + clock-latency-ns = <0x1e8480>; + pval = <0xc1c>; + }; + + opp05 { + opp-hz = <0x0 0x4ead9a00>; + opp-microvolt = <0xf4240>; + axi-bus-divide-ratio = <0x3>; + clock-latency-ns = <0x1e8480>; + pval = <0xe42>; + }; + + opp06 { + opp-hz = <0x0 0x58b11400>; + opp-microvolt = <0x102ca0>; + axi-bus-divide-ratio = <0x3>; + clock-latency-ns = <0x1e8480>; + pval = <0xf6e>; + }; + }; + + opp_l_table1 { + compatible = "allwinner,opp_l_table1"; + opp_count = <0x8>; + opp-shared; + linux,phandle = <0xd9>; + phandle = <0xd9>; + + opp00 { + opp-hz = <0x0 0x1c9c3800>; + opp-microvolt = <0xc8320>; + axi-bus-divide-ratio = <0x3>; + clock-latency-ns = <0x1e8480>; + pval = <0xaf0>; + }; + + opp01 { + opp-hz = <0x0 0x2aea5400>; + opp-microvolt = <0xc8320>; + axi-bus-divide-ratio = <0x3>; + clock-latency-ns = <0x1e8480>; + pval = <0xaf0>; + }; + + opp02 { + opp-hz = <0x0 0x30a32c00>; + opp-microvolt = <0xc8320>; + axi-bus-divide-ratio = <0x3>; + clock-latency-ns = <0x1e8480>; + pval = <0xaf0>; + }; + + opp03 { + opp-hz = <0x0 0x34edce00>; + opp-microvolt = <0xc8320>; + axi-bus-divide-ratio = <0x3>; + clock-latency-ns = <0x1e8480>; + pval = <0xaf0>; + }; + + opp04 { + opp-hz = <0x0 0x405f7e00>; + opp-microvolt = <0xd6d80>; + axi-bus-divide-ratio = <0x3>; + clock-latency-ns = <0x1e8480>; + pval = <0xc1c>; + }; + + opp05 { + opp-hz = <0x0 0x4ead9a00>; + opp-microvolt = <0xe57e0>; + axi-bus-divide-ratio = <0x3>; + clock-latency-ns = <0x1e8480>; + pval = <0xe42>; + }; + + opp06 { + opp-hz = <0x0 0x58b11400>; + opp-microvolt = <0xf4240>; + axi-bus-divide-ratio = <0x3>; + clock-latency-ns = <0x1e8480>; + pval = <0xf6e>; + }; + }; + + opp_l_table2 { + compatible = "allwinner,opp_l_table2"; + opp_count = <0x8>; + opp-shared; + linux,phandle = <0xda>; + phandle = <0xda>; + + opp00 { + opp-hz = <0x0 0x1c9c3800>; + opp-microvolt = <0xc3500>; + axi-bus-divide-ratio = <0x3>; + clock-latency-ns = <0x1e8480>; + pval = <0xaf0>; + }; + + opp01 { + opp-hz = <0x0 0x2aea5400>; + opp-microvolt = <0xc3500>; + axi-bus-divide-ratio = <0x3>; + clock-latency-ns = <0x1e8480>; + pval = <0xaf0>; + }; + + opp02 { + opp-hz = <0x0 0x30a32c00>; + opp-microvolt = <0xc3500>; + axi-bus-divide-ratio = <0x3>; + clock-latency-ns = <0x1e8480>; + pval = <0xaf0>; + }; + + opp03 { + opp-hz = <0x0 0x34edce00>; + opp-microvolt = <0xc3500>; + axi-bus-divide-ratio = <0x3>; + clock-latency-ns = <0x1e8480>; + pval = <0xaf0>; + }; + + opp04 { + opp-hz = <0x0 0x405f7e00>; + opp-microvolt = <0xcd140>; + axi-bus-divide-ratio = <0x3>; + clock-latency-ns = <0x1e8480>; + pval = <0xc1c>; + }; + + opp05 { + opp-hz = <0x0 0x4ead9a00>; + opp-microvolt = <0xdbba0>; + axi-bus-divide-ratio = <0x3>; + clock-latency-ns = <0x1e8480>; + pval = <0xe42>; + }; + + opp06 { + opp-hz = <0x0 0x58b11400>; + opp-microvolt = <0xea600>; + axi-bus-divide-ratio = <0x3>; + clock-latency-ns = <0x1e8480>; + pval = <0xf6e>; + }; + }; + }; + + dramfreq { + compatible = "allwinner,sunxi-dramfreq"; + reg = <0x0 0x4002000 0x0 0x1000 0x0 0x4003000 0x0 0x3000 0x0 0x3001000 0x0 0x1000>; + interrupts = <0x0 0x21 0x4>; + clocks = <0xde>; + status = "okay"; + }; + + uboot { + }; + + iommu@030f0000 { + compatible = "allwinner,sunxi-iommu"; + reg = <0x0 0x30f0000 0x0 0x1000>; + interrupts = <0x0 0x39 0x4>; + interrupt-names = "iommu-irq"; + clocks = <0xdf>; + clock-names = "iommu"; + #iommu-cells = <0x2>; + status = "okay"; + linux,phandle = <0x21>; + phandle = <0x21>; + }; + + gpu@0x01800000 { + device_type = "gpu"; + compatible = "arm,mali-t720", "arm,mali-midgard"; + reg = <0x0 0x1800000 0x0 0x4000>; + interrupts = <0x0 0x53 0x4 0x0 0x54 0x4 0x0 0x55 0x4>; + interrupt-names = "GPU", "JOB", "MMU"; + clocks = <0xe0 0xe1>; + clock-names = "clk_parent", "clk_mali"; + operating-points = <0xb8920 0xfde80 0x98580 0xe7ef0 0x8ca00 0xe30d0 0x83d60 0xde2b0 0x7b0c0 0xd9490 0x6f540 0xd4670 0x69780 0xd1f60 0x668a0 0xcf850 0x639c0 0xcd140 0x5dc00 0xcaa30 0x57e40 0xc8320 0x52080 0xc5c10 0x4c2c0 0xc5c10 0x40740 0xc5c10 0x34bc0 0xc5c10>; + gpu_idle = <0x0>; + dvfs_status = <0x1>; + temp_ctrl_status = <0x1>; + scene_ctrl_status = <0x1>; + max_normal_level = <0xd>; + }; +}; diff --git a/external/packages/pack-uboot/sun50iw6/bin/dts/orangepilite2-u-boot.dts b/external/packages/pack-uboot/sun50iw6/bin/dts/orangepilite2-u-boot.dts new file mode 100644 index 0000000..dd68712 --- /dev/null +++ b/external/packages/pack-uboot/sun50iw6/bin/dts/orangepilite2-u-boot.dts @@ -0,0 +1,5105 @@ +/dts-v1/; + +/memreserve/ 0x0000000040020000 0x0000000000000800; +/memreserve/ 0x0000000048000000 0x0000000001000000; +/memreserve/ 0x0000000048100000 0x0000000000004000; +/memreserve/ 0x0000000048104000 0x0000000000001000; +/memreserve/ 0x0000000048105000 0x0000000000001000; +/ { + model = "sun50iw6"; + compatible = "arm,sun50iw6p1"; + interrupt-parent = <0x1>; + #address-cells = <0x2>; + #size-cells = <0x2>; + + clocks { + compatible = "allwinner,clk-init"; + device_type = "clocks"; + #address-cells = <0x2>; + #size-cells = <0x2>; + ranges; + reg = <0x0 0x3001000 0x0 0x1000 0x0 0x7010000 0x0 0x400 0x0 0x7000000 0x0 0x4>; + + losc { + #clock-cells = <0x0>; + compatible = "allwinner,fixed-clock"; + clock-frequency = <0x8000>; + clock-output-names = "losc"; + linux,phandle = <0x15>; + phandle = <0x15>; + }; + + iosc { + #clock-cells = <0x0>; + compatible = "allwinner,fixed-clock"; + clock-frequency = <0xf42400>; + clock-output-names = "iosc"; + linux,phandle = <0x16>; + phandle = <0x16>; + }; + + hosc { + #clock-cells = <0x0>; + compatible = "allwinner,fixed-clock"; + clock-frequency = <0x16e3600>; + clock-output-names = "hosc"; + linux,phandle = <0x7>; + phandle = <0x7>; + }; + + osc48m { + #clock-cells = <0x0>; + compatible = "allwinner,fixed-clock"; + clock-frequency = <0x2dc6c00>; + clock-output-names = "osc48m"; + linux,phandle = <0x8>; + phandle = <0x8>; + }; + + pll_cpu { + #clock-cells = <0x0>; + compatible = "allwinner,pll-clock"; + lock-mode = "new"; + clock-output-names = "pll_cpu"; + linux,phandle = <0xd7>; + phandle = <0xd7>; + }; + + pll_ddr0 { + #clock-cells = <0x0>; + compatible = "allwinner,pll-clock"; + lock-mode = "new"; + clock-output-names = "pll_ddr0"; + linux,phandle = <0xde>; + phandle = <0xde>; + }; + + pll_periph0 { + #clock-cells = <0x0>; + compatible = "allwinner,pll-clock"; + assigned-clock-rates = <0x23c34600>; + lock-mode = "new"; + clock-output-names = "pll_periph0"; + linux,phandle = <0x2>; + phandle = <0x2>; + }; + + pll_periph1 { + #clock-cells = <0x0>; + compatible = "allwinner,pll-clock"; + assigned-clock-rates = <0x23c34600>; + lock-mode = "new"; + clock-output-names = "pll_periph1"; + linux,phandle = <0x3>; + phandle = <0x3>; + }; + + pll_gpu { + #clock-cells = <0x0>; + compatible = "allwinner,pll-clock"; + lock-mode = "new"; + clock-output-names = "pll_gpu"; + linux,phandle = <0xe0>; + phandle = <0xe0>; + }; + + pll_video0 { + #clock-cells = <0x0>; + compatible = "allwinner,pll-clock"; + lock-mode = "new"; + clock-output-names = "pll_video0"; + linux,phandle = <0x5>; + phandle = <0x5>; + }; + + pll_video1 { + #clock-cells = <0x0>; + compatible = "allwinner,pll-clock"; + lock-mode = "new"; + assigned-clock-rates = <0x2367b880>; + clock-output-names = "pll_video1"; + linux,phandle = <0x6>; + phandle = <0x6>; + }; + + pll_ve { + #clock-cells = <0x0>; + compatible = "allwinner,pll-clock"; + device_type = "clk_pll_ve"; + lock-mode = "new"; + clock-output-names = "pll_ve"; + linux,phandle = <0x1f>; + phandle = <0x1f>; + }; + + pll_de { + #clock-cells = <0x0>; + compatible = "allwinner,pll-clock"; + assigned-clock-rates = <0x297c1e00>; + lock-mode = "new"; + clock-output-names = "pll_de"; + linux,phandle = <0x9>; + phandle = <0x9>; + }; + + pll_hsic { + #clock-cells = <0x0>; + compatible = "allwinner,pll-clock"; + lock-mode = "new"; + clock-output-names = "pll_hsic"; + linux,phandle = <0x47>; + phandle = <0x47>; + }; + + pll_audio { + #clock-cells = <0x0>; + compatible = "allwinner,pll-clock"; + lock-mode = "new"; + clock-output-names = "pll_audio"; + linux,phandle = <0x4>; + phandle = <0x4>; + }; + + pll_periph0x2 { + #clock-cells = <0x0>; + compatible = "allwinner,fixed-factor-clock"; + clocks = <0x2>; + clock-mult = <0x2>; + clock-div = <0x1>; + clock-output-names = "pll_periph0x2"; + linux,phandle = <0x23>; + phandle = <0x23>; + }; + + pll_periph0x4 { + #clock-cells = <0x0>; + compatible = "allwinner,fixed-factor-clock"; + clocks = <0x2>; + clock-mult = <0x4>; + clock-div = <0x1>; + clock-output-names = "pll_periph0x4"; + }; + + periph32k { + #clock-cells = <0x0>; + compatible = "allwinner,fixed-factor-clock"; + clocks = <0x2>; + clock-mult = <0x2>; + clock-div = <0x8f0d>; + clock-output-names = "periph32k"; + }; + + pll_periph1x2 { + #clock-cells = <0x0>; + compatible = "allwinner,fixed-factor-clock"; + clocks = <0x3>; + clock-mult = <0x2>; + clock-div = <0x1>; + clock-output-names = "pll_periph1x2"; + linux,phandle = <0x7b>; + phandle = <0x7b>; + }; + + pll_audiox4 { + #clock-cells = <0x0>; + compatible = "allwinner,fixed-factor-clock"; + clocks = <0x4>; + clock-mult = <0x4>; + clock-div = <0x1>; + clock-output-names = "pll_audiox4"; + }; + + pll_audiox2 { + #clock-cells = <0x0>; + compatible = "allwinner,fixed-factor-clock"; + clocks = <0x4>; + clock-mult = <0x2>; + clock-div = <0x1>; + clock-output-names = "pll_audiox2"; + }; + + pll_video0x4 { + #clock-cells = <0x0>; + compatible = "allwinner,fixed-factor-clock"; + clocks = <0x5>; + clock-mult = <0x4>; + clock-div = <0x1>; + clock-output-names = "pll_video0x4"; + }; + + pll_video1x4 { + #clock-cells = <0x0>; + compatible = "allwinner,fixed-factor-clock"; + clocks = <0x6>; + clock-mult = <0x4>; + clock-div = <0x1>; + clock-output-names = "pll_video1x4"; + }; + + hoscd2 { + #clock-cells = <0x0>; + compatible = "allwinner,fixed-factor-clock"; + clocks = <0x7>; + clock-mult = <0x1>; + clock-div = <0x2>; + clock-output-names = "hoscd2"; + }; + + osc48md4 { + #clock-cells = <0x0>; + compatible = "allwinner,fixed-factor-clock"; + clocks = <0x8>; + clock-mult = <0x1>; + clock-div = <0x4>; + clock-output-names = "osc48md4"; + linux,phandle = <0x41>; + phandle = <0x41>; + }; + + pll_periph0d6 { + #clock-cells = <0x0>; + compatible = "allwinner,fixed-factor-clock"; + clocks = <0x2>; + clock-mult = <0x1>; + clock-div = <0x6>; + clock-output-names = "pll_periph0d6"; + }; + + cpu { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "cpu"; + }; + + axi { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "axi"; + }; + + cpuapb { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "cpuapb"; + }; + + psi { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "psi"; + }; + + ahb1 { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "ahb1"; + }; + + ahb2 { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "ahb2"; + }; + + ahb3 { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "ahb3"; + }; + + apb1 { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "apb1"; + }; + + apb2 { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "apb2"; + linux,phandle = <0xae>; + phandle = <0xae>; + }; + + mbus { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "mbus"; + }; + + de { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + assigned-clock-parents = <0x9>; + assigned-clock-rates = <0x297c1e00>; + assigned-clocks = <0xa>; + clock-output-names = "de"; + linux,phandle = <0xa>; + phandle = <0xa>; + }; + + di { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "di"; + linux,phandle = <0xac>; + phandle = <0xac>; + }; + + gpu { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "gpu"; + linux,phandle = <0xe1>; + phandle = <0xe1>; + }; + + ce { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "ce"; + linux,phandle = <0xab>; + phandle = <0xab>; + }; + + ve { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "ve"; + linux,phandle = <0x20>; + phandle = <0x20>; + }; + + emce { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "emce"; + linux,phandle = <0xaa>; + phandle = <0xaa>; + }; + + vp9 { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "vp9"; + linux,phandle = <0x22>; + phandle = <0x22>; + }; + + dma { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "dma"; + linux,phandle = <0x14>; + phandle = <0x14>; + }; + + msgbox { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "msgbox"; + linux,phandle = <0x17>; + phandle = <0x17>; + }; + + hwspinlock_rst { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "hwspinlock_rst"; + linux,phandle = <0x18>; + phandle = <0x18>; + }; + + hwspinlock_bus { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "hwspinlock_bus"; + linux,phandle = <0x19>; + phandle = <0x19>; + }; + + hstimer { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "hstimer"; + }; + + avs { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "avs"; + }; + + dbgsys { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "dbgsys"; + }; + + pwm { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "pwm"; + linux,phandle = <0x93>; + phandle = <0x93>; + }; + + iommu { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "iommu"; + linux,phandle = <0xdf>; + phandle = <0xdf>; + }; + + sdram { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "sdram"; + }; + + nand0 { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "nand0"; + linux,phandle = <0xb6>; + phandle = <0xb6>; + }; + + nand1 { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "nand1"; + linux,phandle = <0xb7>; + phandle = <0xb7>; + }; + + sdmmc0_mod { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "sdmmc0_mod"; + linux,phandle = <0x81>; + phandle = <0x81>; + }; + + sdmmc0_bus { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "sdmmc0_bus"; + linux,phandle = <0x82>; + phandle = <0x82>; + }; + + sdmmc0_rst { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "sdmmc0_rst"; + linux,phandle = <0x83>; + phandle = <0x83>; + }; + + sdmmc1_mod { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "sdmmc1_mod"; + linux,phandle = <0x88>; + phandle = <0x88>; + }; + + sdmmc1_bus { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "sdmmc1_bus"; + linux,phandle = <0x89>; + phandle = <0x89>; + }; + + sdmmc1_rst { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "sdmmc1_rst"; + linux,phandle = <0x8a>; + phandle = <0x8a>; + }; + + sdmmc2_mod { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "sdmmc2_mod"; + linux,phandle = <0x7c>; + phandle = <0x7c>; + }; + + sdmmc2_bus { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "sdmmc2_bus"; + linux,phandle = <0x7d>; + phandle = <0x7d>; + }; + + sdmmc2_rst { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "sdmmc2_rst"; + linux,phandle = <0x7e>; + phandle = <0x7e>; + }; + + uart0 { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "uart0"; + linux,phandle = <0x24>; + phandle = <0x24>; + }; + + uart1 { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "uart1"; + linux,phandle = <0x27>; + phandle = <0x27>; + }; + + uart2 { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "uart2"; + linux,phandle = <0x2a>; + phandle = <0x2a>; + }; + + uart3 { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "uart3"; + linux,phandle = <0x2d>; + phandle = <0x2d>; + }; + + twi0 { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "twi0"; + linux,phandle = <0x30>; + phandle = <0x30>; + }; + + twi1 { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "twi1"; + linux,phandle = <0x33>; + phandle = <0x33>; + }; + + twi2 { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "twi2"; + linux,phandle = <0x36>; + phandle = <0x36>; + }; + + twi3 { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "twi3"; + linux,phandle = <0x39>; + phandle = <0x39>; + }; + + scr0 { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "scr0"; + linux,phandle = <0xad>; + phandle = <0xad>; + }; + + scr1 { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "scr1"; + linux,phandle = <0xb2>; + phandle = <0xb2>; + }; + + spi0 { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "spi0"; + linux,phandle = <0x6f>; + phandle = <0x6f>; + }; + + spi1 { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "spi1"; + linux,phandle = <0x73>; + phandle = <0x73>; + }; + + gmac { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "gmac"; + linux,phandle = <0xd2>; + phandle = <0xd2>; + }; + + sata { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "sata"; + }; + + sata_24m { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "sata_24m"; + }; + + ts { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "ts"; + linux,phandle = <0xbb>; + phandle = <0xbb>; + }; + + irtx { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "irtx"; + }; + + ths { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "ths"; + linux,phandle = <0xc4>; + phandle = <0xc4>; + }; + + i2s0 { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "i2s0"; + linux,phandle = <0x4a>; + phandle = <0x4a>; + }; + + i2s1 { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "i2s1"; + linux,phandle = <0x4d>; + phandle = <0x4d>; + }; + + i2s2 { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "i2s2"; + linux,phandle = <0x4e>; + phandle = <0x4e>; + }; + + i2s3 { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "i2s3"; + linux,phandle = <0x51>; + phandle = <0x51>; + }; + + spdif { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "spdif"; + linux,phandle = <0x54>; + phandle = <0x54>; + }; + + dmic { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "dmic"; + linux,phandle = <0x57>; + phandle = <0x57>; + }; + + ahub { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "ahub"; + linux,phandle = <0x5a>; + phandle = <0x5a>; + }; + + usbphy0 { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "usbphy0"; + linux,phandle = <0x3c>; + phandle = <0x3c>; + }; + + usbphy1 { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "usbphy1"; + linux,phandle = <0x42>; + phandle = <0x42>; + }; + + usbphy3 { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "usbphy3"; + linux,phandle = <0x44>; + phandle = <0x44>; + }; + + usbohci0 { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "usbohci0"; + linux,phandle = <0x3f>; + phandle = <0x3f>; + }; + + usbohci0_12m { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "usbohci0_12m"; + linux,phandle = <0x40>; + phandle = <0x40>; + }; + + usbohci3 { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "usbohci3"; + linux,phandle = <0x48>; + phandle = <0x48>; + }; + + usbohci3_12m { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "usbohci3_12m"; + linux,phandle = <0x49>; + phandle = <0x49>; + }; + + usbehci0 { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "usbehci0"; + linux,phandle = <0x3e>; + phandle = <0x3e>; + }; + + usbehci3 { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "usbehci3"; + linux,phandle = <0x45>; + phandle = <0x45>; + }; + + usb3_0_host { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "usb3_0_host"; + linux,phandle = <0x43>; + phandle = <0x43>; + }; + + usbotg { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "usbotg"; + linux,phandle = <0x3d>; + phandle = <0x3d>; + }; + + usbhsic { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "usbhsic"; + linux,phandle = <0x46>; + phandle = <0x46>; + }; + + pcieref { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "pcieref"; + linux,phandle = <0x77>; + phandle = <0x77>; + }; + + pciemaxi { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + assigned-clocks = <0xb>; + assigned-clock-rates = <0xbebc200>; + clock-output-names = "pciemaxi"; + linux,phandle = <0xb>; + phandle = <0xb>; + }; + + pcieaux { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + assigned-clock-rates = <0xf4240>; + assigned-clocks = <0xc>; + clock-output-names = "pcieaux"; + linux,phandle = <0xc>; + phandle = <0xc>; + }; + + pcie_bus { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "pcie_bus"; + linux,phandle = <0x78>; + phandle = <0x78>; + }; + + pcie_power { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "pcie_power"; + linux,phandle = <0x79>; + phandle = <0x79>; + }; + + pcie_rst { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "pcie_rst"; + linux,phandle = <0x7a>; + phandle = <0x7a>; + }; + + hdmi { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + assigned-clock-parents = <0x6>; + assigned-clocks = <0xd>; + clock-output-names = "hdmi"; + linux,phandle = <0xd>; + phandle = <0xd>; + }; + + hdmi_slow { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + assigned-clocks = <0xe>; + clock-output-names = "hdmi_slow"; + linux,phandle = <0xe>; + phandle = <0xe>; + }; + + hdmi_cec { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + assigned-clocks = <0xf>; + clock-output-names = "hdmi_cec"; + linux,phandle = <0xf>; + phandle = <0xf>; + }; + + display_top { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "display_top"; + linux,phandle = <0x8d>; + phandle = <0x8d>; + }; + + tcon_lcd { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "tcon_lcd"; + linux,phandle = <0x8e>; + phandle = <0x8e>; + }; + + tcon_tv { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + assigned-clock-parents = <0x6>; + assigned-clocks = <0x10>; + clock-output-names = "tcon_tv"; + linux,phandle = <0x10>; + phandle = <0x10>; + }; + + csi_misc { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "csi_misc"; + linux,phandle = <0x9e>; + phandle = <0x9e>; + }; + + csi_top { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "csi_top"; + linux,phandle = <0x9a>; + phandle = <0x9a>; + }; + + csi_master0 { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "csi_master0"; + linux,phandle = <0x9b>; + phandle = <0x9b>; + }; + + hdmi_hdcp { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + assigned-clock-parents = <0x3>; + assigned-clocks = <0x11>; + clock-output-names = "hdmi_hdcp"; + linux,phandle = <0x11>; + phandle = <0x11>; + }; + + pio { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "pio"; + linux,phandle = <0x13>; + phandle = <0x13>; + }; + + cpurcir { + #clock-cells = <0x0>; + compatible = "allwinner,periph-cpus-clock"; + clock-output-names = "cpurcir"; + linux,phandle = <0x1b>; + phandle = <0x1b>; + }; + + losc_out { + #clock-cells = <0x0>; + compatible = "allwinner,periph-cpus-clock"; + clock-output-names = "losc_out"; + linux,phandle = <0xd5>; + phandle = <0xd5>; + }; + + cpurcpus_pll { + #clock-cells = <0x0>; + compatible = "allwinner,periph-cpus-clock"; + clock-output-names = "cpurcpus_pll"; + }; + + cpurcpus { + #clock-cells = <0x0>; + compatible = "allwinner,periph-cpus-clock"; + clock-output-names = "cpurcpus"; + }; + + cpurahbs { + #clock-cells = <0x0>; + compatible = "allwinner,periph-cpus-clock"; + clock-output-names = "cpurahbs"; + }; + + cpurapbs1 { + #clock-cells = <0x0>; + compatible = "allwinner,periph-cpus-clock"; + clock-output-names = "cpurapbs1"; + }; + + cpurapbs2_pll { + #clock-cells = <0x0>; + compatible = "allwinner,periph-cpus-clock"; + clock-output-names = "cpurapbs2_pll"; + }; + + cpurapbs2 { + #clock-cells = <0x0>; + compatible = "allwinner,periph-cpus-clock"; + clock-output-names = "cpurapbs2"; + }; + + cpurpio { + #clock-cells = <0x0>; + compatible = "allwinner,periph-cpus-clock"; + clock-output-names = "cpurpio"; + linux,phandle = <0x12>; + phandle = <0x12>; + }; + + spwm { + #clock-cells = <0x0>; + compatible = "allwinner,periph-cpus-clock"; + clock-output-names = "spwm"; + linux,phandle = <0x96>; + phandle = <0x96>; + }; + + dcxo_out { + #clock-cells = <0x0>; + compatible = "allwinner,periph-cpus-clock"; + clock-output-names = "dcxo_out"; + }; + }; + + soc@03000000 { + compatible = "simple-bus"; + #address-cells = <0x2>; + #size-cells = <0x2>; + ranges; + device_type = "soc"; + + pinctrl@07022000 { + compatible = "allwinner,sun50iw6p1-r-pinctrl"; + reg = <0x0 0x7022000 0x0 0x400>; + interrupts = <0x0 0x69 0x4 0x0 0x6f 0x4>; + clocks = <0x12>; + device_type = "r_pio"; + gpio-controller; + interrupt-controller; + #interrupt-cells = <0x2>; + #size-cells = <0x0>; + #gpio-cells = <0x6>; + linux,phandle = <0xd6>; + phandle = <0xd6>; + + s_twi0@0 { + allwinner,pins = "PL0", "PL1"; + allwinner,function = "s_twi0"; + allwinner,muxsel = <0x3>; + allwinner,drive = <0x0>; + allwinner,pull = <0x1>; + linux,phandle = <0x1d>; + phandle = <0x1d>; + }; + + s_cir0@0 { + allwinner,pins = "PL9"; + allwinner,function = "s_cir0"; + allwinner,muxsel = <0x2>; + allwinner,drive = <0x2>; + allwinner,pull = <0x1>; + linux,phandle = <0x1a>; + phandle = <0x1a>; + }; + + twi_para@0 { + linux,phandle = <0xe4>; + phandle = <0xe4>; + allwinner,pins = "PL0", "PL1"; + allwinner,function = "twi_para"; + allwinner,pname = "twi_scl", "twi_sda"; + allwinner,muxsel = <0x3>; + allwinner,pull = <0x1>; + allwinner,drive = <0x0>; + allwinner,data = <0xffffffff>; + }; + + pwm16@0 { + linux,phandle = <0x10b>; + phandle = <0x10b>; + allwinner,pins = "PL8"; + allwinner,function = "pwm16"; + allwinner,pname = "pwm_positive"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0x0>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + pwm16@1 { + linux,phandle = <0x10c>; + phandle = <0x10c>; + allwinner,pins = "PL8"; + allwinner,function = "pwm16"; + allwinner,pname = "pwm_positive"; + allwinner,muxsel = <0x7>; + allwinner,pull = <0x0>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + s_uart0@0 { + linux,phandle = <0x112>; + phandle = <0x112>; + 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 = <0x113>; + phandle = <0x113>; + 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 = <0x114>; + phandle = <0x114>; + 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@0300b000 { + compatible = "allwinner,sun50iw6p1-pinctrl"; + reg = <0x0 0x300b000 0x0 0x400>; + interrupts = <0x0 0x33 0x4 0x0 0x35 0x4 0x0 0x36 0x4 0x0 0x3b 0x4>; + device_type = "pio"; + clocks = <0x13>; + gpio-controller; + interrupt-controller; + #interrupt-cells = <0x2>; + #size-cells = <0x0>; + #gpio-cells = <0x6>; + linux,phandle = <0x87>; + phandle = <0x87>; + + twi3@1 { + allwinner,pins = "PB17", "PB18"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x3b>; + phandle = <0x3b>; + }; + + ts0@0 { + allwinner,pins = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11"; + 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 = <0xbc>; + phandle = <0xbc>; + }; + + ts0_sleep@0 { + allwinner,pins = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11"; + 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 = <0xc0>; + phandle = <0xc0>; + }; + + ts1@0 { + allwinner,pins = "PD12", "PD13", "PD14", "PD15", "PD16"; + allwinner,pname = "ts1_clk", "ts1_err", "ts1_sync", "ts1_dvld", "ts1_d0"; + allwinner,function = "ts1"; + allwinner,muxsel = <0x3>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0xbd>; + phandle = <0xbd>; + }; + + ts1_sleep@0 { + allwinner,pins = "PD12", "PD13", "PD14", "PD15", "PD16"; + 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 = <0xc1>; + phandle = <0xc1>; + }; + + ts2@0 { + allwinner,pins = "PD17", "PD18", "PD19", "PD20", "PD21"; + allwinner,pname = "ts2_clk", "ts2_err", "ts2_sync", "ts2_dvld", "ts2_d0"; + allwinner,function = "ts2"; + allwinner,muxsel = <0x3>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0xbe>; + phandle = <0xbe>; + }; + + ts2_sleep@0 { + allwinner,pins = "PD17", "PD18", "PD19", "PD20", "PD21"; + allwinner,pname = "ts2_clk", "ts2_err", "ts2_sync", "ts2_dvld", "ts2_d0"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0xc2>; + phandle = <0xc2>; + }; + + ts3@0 { + allwinner,pins = "PD22", "PD23", "PD24", "PD25", "PD26"; + allwinner,pname = "ts3_clk", "ts3_err", "ts3_sync", "ts3_dvld", "ts3_d0"; + allwinner,function = "ts3"; + allwinner,muxsel = <0x3>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0xbf>; + phandle = <0xbf>; + }; + + ts3_sleep@0 { + allwinner,pins = "PD22", "PD23", "PD24", "PD25", "PD26"; + 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 = <0xc3>; + phandle = <0xc3>; + }; + + 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 = <0x85>; + phandle = <0x85>; + }; + + sdc0@2 { + allwinner,pins = "PF0", "PF1", "PF2", "PF3", "PF4", "PF5"; + allwinner,function = "uart0_jtag"; + allwinner,muxsel = <0x3>; + allwinner,drive = <0x1>; + allwinner,pull = <0x1>; + linux,phandle = <0x86>; + phandle = <0x86>; + }; + + 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 = <0x8c>; + phandle = <0x8c>; + }; + + sdc2@1 { + allwinner,pins = "PC1", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,drive = <0x1>; + allwinner,pull = <0x1>; + linux,phandle = <0x80>; + phandle = <0x80>; + }; + + daudio0@0 { + allwinner,pins = "PH0", "PH1", "PH2", "PH3", "PH4"; + allwinner,function = "pcm0"; + allwinner,muxsel = <0x3>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x4b>; + phandle = <0x4b>; + }; + + daudio0_sleep@0 { + allwinner,pins = "PH0", "PH1", "PH2", "PH3", "PH4"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x4c>; + phandle = <0x4c>; + }; + + daudio2@0 { + allwinner,pins = "PG10", "PG11", "PG12", "PG13", "PG14"; + allwinner,function = "pcm2"; + allwinner,muxsel = <0x2>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x4f>; + phandle = <0x4f>; + }; + + daudio2_sleep@0 { + allwinner,pins = "PG10", "PG11", "PG12", "PG13", "PG14"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x50>; + phandle = <0x50>; + }; + + daudio3@0 { + allwinner,pins = "PB12", "PB13", "PB14", "PB15", "PB16"; + allwinner,function = "pcm3"; + allwinner,muxsel = <0x2>; + allwinner,driver = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x52>; + phandle = <0x52>; + }; + + daudio3_sleep@0 { + allwinner,pins = "PB12", "PB13", "PB14", "PB15", "PB16"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,driver = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x53>; + phandle = <0x53>; + }; + + spdif@0 { + allwinner,pins = "PH5", "PH6", "PH7"; + allwinner,function = "spdif0"; + allwinner,muxsel = <0x3>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x55>; + phandle = <0x55>; + }; + + spdif_sleep@0 { + allwinner,pins = "PH5", "PH6", "PH7"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x56>; + phandle = <0x56>; + }; + + dmic@0 { + allwinner,pins = "PD14", "PD15", "PD16", "PD17", "PD18"; + allwinner,function = "dmic"; + allwinner,muxsel = <0x4>; + allwinner,driver = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x58>; + phandle = <0x58>; + }; + + dmic_sleep@0 { + allwinner,pins = "PD14", "PD15", "PD16", "PD17", "PD18"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,driver = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x59>; + phandle = <0x59>; + }; + + ahub_daudio0@0 { + allwinner,pins = "PH0", "PH1", "PH2", "PH3", "PH4"; + allwinner,function = "h_pcm0"; + allwinner,muxsel = <0x4>; + allwinner,driver = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x5b>; + phandle = <0x5b>; + }; + + ahub_daudio0_sleep@0 { + allwinner,pins = "PH0", "PH1", "PH2", "PH3", "PH4"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,driver = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x5c>; + phandle = <0x5c>; + }; + + ahub_daudio2@0 { + allwinner,pins = "PG10", "PG11", "PG12", "PG13", "PG14"; + allwinner,function = "h_pcm2"; + allwinner,muxsel = <0x3>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x5d>; + phandle = <0x5d>; + }; + + ahub_daudio2_sleep@0 { + allwinner,pins = "PG10", "PG11", "PG12", "PG13", "PG14"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x5e>; + phandle = <0x5e>; + }; + + ahub_daudio3@0 { + allwinner,pins = "PB12", "PB13", "PB14", "PB15", "PB16"; + allwinner,function = "h_pcm3"; + allwinner,muxsel = <0x4>; + allwinner,driver = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x5f>; + phandle = <0x5f>; + }; + + ahub_daudio3_sleep@0 { + allwinner,pins = "PB12", "PB13", "PB14", "PB15", "PB16"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,driver = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x60>; + phandle = <0x60>; + }; + + csi0@1 { + allwinner,pins = "PD0", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11"; + allwinner,pname = "csi0_pck", "csi0_hsync", "csi0_vsync", "csi0_d0", "csi0_d1", "csi0_d2", "csi0_d3", "csi0_d4", "csi0_d5", "csi0_d6", "csi0_d7"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + allwinner,data = <0x0>; + linux,phandle = <0xa2>; + phandle = <0xa2>; + }; + + csi_mclk0@0 { + allwinner,pins = "PD1"; + allwinner,pname = "csi_mclk0"; + allwinner,function = "csi_mclk0"; + allwinner,muxsel = <0x4>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + allwinner,data = <0x0>; + linux,phandle = <0x9c>; + phandle = <0x9c>; + }; + + csi_mclk0@1 { + allwinner,pins = "PD1"; + allwinner,pname = "csi_mclk0"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + allwinner,data = <0x0>; + linux,phandle = <0x9d>; + phandle = <0x9d>; + }; + + csi_cci0@1 { + allwinner,pins = "PD12", "PD13"; + allwinner,pname = "csi_cci0_sck", "csi_cci0_sda"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + allwinner,data = <0x0>; + linux,phandle = <0xa0>; + phandle = <0xa0>; + }; + + scr0@0 { + allwinner,pins = "PG13", "PG14", "PG10", "PG11", "PG12"; + allwinner,pname = "scr0_rst", "scr0_det", "scr0_vccen", "scr0_sck", "scr0_sda"; + allwinner,function = "sim0"; + allwinner,muxsel = <0x4>; + allwinner,drive = <0x0>; + allwinner,pull = <0x1>; + linux,phandle = <0xaf>; + phandle = <0xaf>; + }; + + scr0@1 { + allwinner,pins = "PG8", "PG9"; + allwinner,pname = "scr0_vppen", "scr0_vppp"; + allwinner,function = "sim0"; + allwinner,muxsel = <0x4>; + allwinner,drive = <0x0>; + allwinner,pull = <0x1>; + linux,phandle = <0xb0>; + phandle = <0xb0>; + }; + + scr0@2 { + allwinner,pins = "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,drive = <0x0>; + allwinner,pull = <0x0>; + linux,phandle = <0xb1>; + phandle = <0xb1>; + }; + + scr1@0 { + allwinner,pins = "PH5", "PH6", "PH2", "PH3", "PH4"; + allwinner,pname = "scr1_rst", "scr1_det", "scr1_vccen", "scr1_sck", "scr1_sda"; + allwinner,function = "sim1"; + allwinner,muxsel = <0x5>; + allwinner,drive = <0x1>; + allwinner,pull = <0x1>; + linux,phandle = <0xb3>; + phandle = <0xb3>; + }; + + scr1@1 { + allwinner,pins = "PH0", "PH1"; + allwinner,pname = "scr1_vppen", "scr1_vppp"; + allwinner,function = "sim1"; + allwinner,muxsel = <0x5>; + allwinner,drive = <0x1>; + allwinner,pull = <0x1>; + linux,phandle = <0xb4>; + phandle = <0xb4>; + }; + + scr1@2 { + allwinner,pins = "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0xb5>; + phandle = <0xb5>; + }; + + nand0@2 { + allwinner,pins = "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PC16"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0xba>; + phandle = <0xba>; + }; + + hdmi@1 { + allwinner,pins = "PH8", "PH9"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x90>; + phandle = <0x90>; + }; + + hdmi@2 { + allwinner,pins = "PH10"; + allwinner,function = "hcec0"; + allwinner,muxsel = <0x2>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x91>; + phandle = <0x91>; + }; + + hdmi@3 { + allwinner,pins = "PH10"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x92>; + phandle = <0x92>; + }; + + ac200@2 { + allwinner,pins = "PB0"; + allwinner,function = "ac200"; + allwinner,muxsel = <0x2>; + allwinner,drive = <0x0>; + allwinner,pull = <0x0>; + linux,phandle = <0x98>; + phandle = <0x98>; + }; + + ac200@3 { + allwinner,pins = "PB0"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,drive = <0x0>; + allwinner,pull = <0x0>; + linux,phandle = <0x99>; + phandle = <0x99>; + }; + + gmac@1 { + allwinner,pins = "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,drive = <0x3>; + allwinner,pull = <0x0>; + linux,phandle = <0xd4>; + phandle = <0xd4>; + }; + + card0_boot_para@0 { + linux,phandle = <0xe2>; + phandle = <0xe2>; + 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 = <0xe3>; + phandle = <0xe3>; + allwinner,pins = "PC1", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14"; + allwinner,function = "card2_boot_para"; + allwinner,pname = "sdc_ds", "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 = <0xe5>; + phandle = <0xe5>; + allwinner,pins = "PH0", "PH1"; + 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 = <0xe6>; + phandle = <0xe6>; + allwinner,pins = "PD23", "PD24", "PD25", "PD26"; + allwinner,function = "jtag_para"; + allwinner,pname = "jtag_ms", "jtag_ck", "jtag_do", "jtag_di"; + allwinner,muxsel = <0x5>; + allwinner,pull = <0xffffffff>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + gmac0@0 { + linux,phandle = <0xe7>; + phandle = <0xe7>; + allwinner,pins = "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9"; + allwinner,function = "gmac0"; + allwinner,pname = "gmac_rxd1", "gmac_rxd0", "gmac_crs", "gmac_rxerr", "gmac_txd1", "gmac_txd0", "gmac_txclk", "gmac_txen", "gmac_mdc", "gmac_mdio"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0xffffffff>; + allwinner,drive = <0x3>; + allwinner,data = <0xffffffff>; + }; + + twi0@0 { + linux,phandle = <0xe8>; + phandle = <0xe8>; + allwinner,pins = "PD25", "PD26"; + 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 = <0xe9>; + phandle = <0xe9>; + allwinner,pins = "PD25", "PD26"; + 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 = <0xea>; + phandle = <0xea>; + allwinner,pins = "PH5", "PH6"; + allwinner,function = "twi1"; + allwinner,pname = "twi1_scl", "twi1_sda"; + allwinner,muxsel = <0x4>; + allwinner,pull = <0xffffffff>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + twi1@1 { + linux,phandle = <0xeb>; + phandle = <0xeb>; + allwinner,pins = "PH5", "PH6"; + 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 = <0xec>; + phandle = <0xec>; + allwinner,pins = "PD23", "PD24"; + allwinner,function = "twi2"; + allwinner,pname = "twi2_scl", "twi2_sda"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0xffffffff>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + twi2@1 { + linux,phandle = <0xed>; + phandle = <0xed>; + allwinner,pins = "PD23", "PD24"; + allwinner,function = "twi2"; + allwinner,pname = "twi2_scl", "twi2_sda"; + allwinner,muxsel = <0x7>; + allwinner,pull = <0xffffffff>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + twi3@0 { + linux,phandle = <0xee>; + phandle = <0xee>; + allwinner,pins = "PB17", "PB18"; + allwinner,function = "twi3"; + allwinner,pname = "twi3_scl", "twi3_sda"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0xffffffff>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + uart0@0 { + linux,phandle = <0xef>; + phandle = <0xef>; + allwinner,pins = "PH0", "PH1"; + 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 = <0xf0>; + phandle = <0xf0>; + allwinner,pins = "PH0", "PH1"; + 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 = <0xf1>; + phandle = <0xf1>; + 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 = <0xf2>; + phandle = <0xf2>; + 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 = <0xf3>; + phandle = <0xf3>; + allwinner,pins = "PD19", "PD20", "PD21", "PD22"; + allwinner,function = "uart2"; + allwinner,pname = "uart2_tx", "uart2_rx", "uart2_rts", "uart2_cts"; + allwinner,muxsel = <0x4>; + allwinner,pull = <0x1>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + uart2@1 { + linux,phandle = <0xf4>; + phandle = <0xf4>; + allwinner,pins = "PD19", "PD20", "PD21", "PD22"; + 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 = <0xf5>; + phandle = <0xf5>; + allwinner,pins = "PD23", "PD24"; + allwinner,function = "uart3"; + allwinner,pname = "uart3_tx", "uart3_rx"; + allwinner,muxsel = <0x4>; + allwinner,pull = <0x1>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + uart3@1 { + linux,phandle = <0xf6>; + phandle = <0xf6>; + allwinner,pins = "PD23", "PD24"; + allwinner,function = "uart3"; + allwinner,pname = "uart3_tx", "uart3_rx"; + allwinner,muxsel = <0x7>; + allwinner,pull = <0x1>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + spi0@0 { + linux,phandle = <0xf7>; + phandle = <0xf7>; + allwinner,pins = "PC5"; + allwinner,function = "spi0"; + allwinner,pname = "spi0_cs0"; + allwinner,muxsel = <0x4>; + allwinner,pull = <0x1>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + spi0@1 { + linux,phandle = <0xf8>; + phandle = <0xf8>; + allwinner,pins = "PC0", "PC2", "PC3"; + allwinner,function = "spi0"; + allwinner,pname = "spi0_sclk", "spi0_mosi", "spi0_miso"; + allwinner,muxsel = <0x4>; + allwinner,pull = <0xffffffff>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + spi0@2 { + linux,phandle = <0xf9>; + phandle = <0xf9>; + allwinner,pins = "PC5"; + allwinner,function = "spi0"; + allwinner,pname = "spi0_cs0"; + allwinner,muxsel = <0x7>; + allwinner,pull = <0x1>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + spi0@3 { + linux,phandle = <0xfa>; + phandle = <0xfa>; + allwinner,pins = "PC0", "PC2", "PC3"; + 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 = <0xfb>; + phandle = <0xfb>; + allwinner,pins = "PH3"; + allwinner,function = "spi1"; + allwinner,pname = "spi1_cs0"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0x1>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + spi1@1 { + linux,phandle = <0xfc>; + phandle = <0xfc>; + allwinner,pins = "PH4", "PH5", "PH6"; + 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 = <0xfd>; + phandle = <0xfd>; + allwinner,pins = "PH3"; + allwinner,function = "spi1"; + allwinner,pname = "spi1_cs0"; + allwinner,muxsel = <0x7>; + allwinner,pull = <0x1>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + spi1@3 { + linux,phandle = <0xfe>; + phandle = <0xfe>; + allwinner,pins = "PH4", "PH5", "PH6"; + 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 = <0x100>; + phandle = <0x100>; + allwinner,pins = "PC0", "PC1", "PC2", "PC4", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14"; + 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 = <0x101>; + phandle = <0x101>; + allwinner,pins = "PC15", "PC3", "PC5", "PC16"; + allwinner,function = "nand0"; + allwinner,pname = "nand0_ce1", "nand0_ce0", "nand0_rb0", "nand0_rb1"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0x1>; + allwinner,drive = <0x1>; + allwinner,data = <0xffffffff>; + }; + + lcd0@0 { + linux,phandle = <0x102>; + phandle = <0x102>; + allwinner,pins = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "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", "lcdd10", "lcdd11", "lcdd12", "lcdd13", "lcdd14", "lcdd15", "lcdd16", "lcdd17", "lcdd18", "lcdd19", "lcdd20", "lcdd21"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0x0>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + lcd0@1 { + linux,phandle = <0x103>; + phandle = <0x103>; + allwinner,pins = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "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", "lcdd10", "lcdd11", "lcdd12", "lcdd13", "lcdd14", "lcdd15", "lcdd16", "lcdd17", "lcdd18", "lcdd19", "lcdd20", "lcdd21"; + allwinner,muxsel = <0x7>; + allwinner,pull = <0x0>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + hdmi@0 { + linux,phandle = <0x104>; + phandle = <0x104>; + allwinner,pins = "PH8", "PH9", "PH10"; + allwinner,function = "hdmi"; + allwinner,pname = "ddc_scl", "ddc_sda", "cec_io"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0xffffffff>; + allwinner,drive = <0x1>; + allwinner,data = <0xffffffff>; + }; + + ac200@0 { + linux,phandle = <0x105>; + phandle = <0x105>; + allwinner,pins = "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11"; + allwinner,function = "ac200"; + allwinner,pname = "ccir_clk", "ccir_de", "ccir_hs", "ccir_vs", "ccir_do0", "ccir_do1", "ccir_do2", "ccir_do3", "ccir_do4", "ccir_do5", "ccir_do6", "ccir_do7"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0x0>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + ac200@1 { + linux,phandle = <0x106>; + phandle = <0x106>; + allwinner,pins = "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11"; + allwinner,function = "ac200"; + allwinner,pname = "ccir_de", "ccir_hs", "ccir_vs", "ccir_do0", "ccir_do1", "ccir_do2", "ccir_do3", "ccir_do4", "ccir_do5", "ccir_do6", "ccir_do7"; + allwinner,muxsel = <0x7>; + allwinner,pull = <0x0>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + pwm0@0 { + linux,phandle = <0x107>; + phandle = <0x107>; + 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 = <0x108>; + phandle = <0x108>; + allwinner,pins = "PD22"; + allwinner,function = "pwm0"; + allwinner,pname = "pwm_positive"; + allwinner,muxsel = <0x7>; + allwinner,pull = <0x0>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + pwm1@0 { + linux,phandle = <0x109>; + phandle = <0x109>; + allwinner,pins = "PB19"; + allwinner,function = "pwm1"; + allwinner,pname = "pwm_positive"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0x0>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + pwm1@1 { + linux,phandle = <0x10a>; + phandle = <0x10a>; + allwinner,pins = "PB19"; + allwinner,function = "pwm1"; + allwinner,pname = "pwm_positive"; + allwinner,muxsel = <0x7>; + allwinner,pull = <0x0>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + csi0@0 { + linux,phandle = <0x10d>; + phandle = <0x10d>; + allwinner,pins = "PD0", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11"; + 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"; + allwinner,muxsel = <0x4>; + allwinner,pull = <0xffffffff>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + csi_cci0@0 { + linux,phandle = <0x10e>; + phandle = <0x10e>; + allwinner,pins = "PD12", "PD13"; + allwinner,function = "csi_cci0"; + allwinner,pname = "csi_cci0_sck", "csi_cci0_sda"; + allwinner,muxsel = <0x4>; + allwinner,pull = <0xffffffff>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + sdc0@0 { + linux,phandle = <0x10f>; + phandle = <0x10f>; + 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 = <0x110>; + phandle = <0x110>; + 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 = <0x111>; + phandle = <0x111>; + allwinner,pins = "PC1", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14"; + 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 = <0x115>; + phandle = <0x115>; + allwinner,pins = "PH9", "PH10"; + allwinner,function = "Vdevice"; + allwinner,pname = "Vdevice_0", "Vdevice_1"; + allwinner,muxsel = <0x5>; + allwinner,pull = <0x1>; + allwinner,drive = <0x2>; + allwinner,data = <0xffffffff>; + }; + }; + + dma-controller@03002000 { + compatible = "allwinner,sun50i-dma"; + reg = <0x0 0x3002000 0x0 0x1000>; + interrupts = <0x0 0x2b 0x4>; + clocks = <0x14>; + #dma-cells = <0x1>; + }; + + mbus-controller@04002000 { + compatible = "allwinner,sun50i-mbus"; + reg = <0x0 0x4002000 0x0 0x1000>; + #mbus-cells = <0x1>; + }; + + arisc { + compatible = "allwinner,sunxi-arisc"; + #address-cells = <0x2>; + #size-cells = <0x2>; + clocks = <0x15 0x16 0x7 0x2>; + 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@040020000 { + compatible = "allwinner,sun50iw6-usbstandby"; + space1 = <0x40020000 0x0 0x800>; + device_type = "standby_space"; + standby_stay_cpu = <0x0>; + }; + + msgbox@03003000 { + compatible = "allwinner,msgbox"; + clocks = <0x17>; + clock-names = "clk_msgbox"; + reg = <0x0 0x3003000 0x0 0x1000>; + interrupts = <0x0 0x27 0x1>; + status = "okay"; + }; + + hwspinlock@3004000 { + compatible = "allwinner,sunxi-hwspinlock"; + clocks = <0x18 0x19>; + clock-names = "clk_hwspinlock_rst", "clk_hwspinlock_bus"; + reg = <0x0 0x3004000 0x0 0x1000>; + num-locks = <0x8>; + status = "okay"; + }; + + s_cir@07040000 { + compatible = "allwinner,s_cir"; + reg = <0x0 0x7040000 0x0 0x400>; + interrupts = <0x0 0x6d 0x4>; + pinctrl-names = "default"; + pinctrl-0 = <0x1a>; + clocks = <0x7 0x1b>; + supply = "vcc-pl"; + supply_vol = "3300000"; + status = "okay"; + device_type = "s_cir0"; + ir_protocol_used = <0x0>; + 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 = <0x18>; + 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>; + ir_power_key_code16 = <0xdc>; + ir_addr_code16 = <0x4cb3>; + ir_power_key_code17 = <0xdc>; + ir_addr_code17 = <0x4db2>; + ir_power_key_code18 = <0x96>; + ir_addr_code18 = <0xc43b>; + ir_power_key_code19 = <0xdc>; + ir_addr_code19 = <0x4cb3>; + ir_power_key_code20 = <0xc>; + ir_addr_code20 = <0x6b86>; + rc5_ir_power_key_code0 = <0x1>; + rc5_ir_addr_code0 = <0x4>; + }; + + s_uart@7080000 { + compatible = "allwinner,s_uart"; + reg = <0x0 0x7080000 0x0 0xd0>; + interrupts = <0x0 0x6a 0x4>; + pinctrl-names = "default"; + status = "disabled"; + device_type = "s_uart0"; + pinctrl-0 = <0x112>; + }; + + s_twi@1f03400 { + compatible = "allwinner,s_twi"; + reg = <0x0 0x1f02400 0x0 0x20>; + interrupts = <0x0 0x2c 0x4>; + pinctrl-names = "default"; + pinctrl-0 = <0x1d>; + status = "okay"; + }; + + s_jtag0 { + compatible = "allwinner,s_jtag"; + pinctrl-names = "default"; + status = "disabled"; + device_type = "s_jtag0"; + pinctrl-0 = <0x114>; + }; + + box_start_os0 { + compatible = "allwinner,box_start_os"; + start_type = <0x1>; + irkey_used = <0x1>; + pmukey_used = <0x1>; + pmukey_num = <0x0>; + led_power = <0x0>; + led_state = <0x0>; + status = "okay"; + device_type = "box_start_os"; + }; + + timer@03009000 { + compatible = "allwinner,sun4i-a10-timer"; + device_type = "timer"; + reg = <0x0 0x3009000 0x0 0x400>; + interrupts = <0x0 0x30 0x4>; + clock-frequency = <0x16e3600>; + timer-prescale = <0x10>; + }; + + rtc@07000000 { + compatible = "allwinner,sun50iw6-rtc"; + device_type = "rtc"; + reg = <0x0 0x7000000 0x0 0x200>; + interrupts = <0x0 0x65 0x4>; + gpr_offset = <0x100>; + gpr_len = <0x8>; + gpr_cur_pos = <0x6>; + }; + + watchdog@030090a0 { + compatible = "allwinner,sun50i-wdt"; + reg = <0x0 0x30090a0 0x0 0x20>; + interrupts = <0x0 0x32 0x4>; + }; + + ve@01c0e000 { + compatible = "allwinner,sunxi-cedar-ve"; + reg = <0x0 0x1c0e000 0x0 0x1000 0x0 0x3000000 0x0 0x10 0x0 0x3001000 0x0 0x1000>; + interrupts = <0x0 0x59 0x4>; + clocks = <0x1f 0x20>; + iommus = <0x21 0x3 0x1>; + }; + + vp9@01c00000 { + compatible = "allwinner,sunxi-google-vp9"; + reg = <0x0 0x1c00000 0x0 0x1000 0x0 0x3000000 0x0 0x10 0x0 0x3001000 0x0 0x1000>; + interrupts = <0x0 0x5a 0x4>; + clocks = <0x1f 0x22>; + #clocks = <0x23 0x22>; + iommus = <0x21 0x5 0x1>; + }; + + uart@05000000 { + compatible = "allwinner,sun50i-uart"; + device_type = "uart0"; + reg = <0x0 0x5000000 0x0 0x400>; + interrupts = <0x0 0x0 0x4>; + clocks = <0x24>; + pinctrl-names = "default", "sleep"; + uart0_port = <0x0>; + uart0_type = <0x2>; + status = "okay"; + pinctrl-0 = <0xef>; + pinctrl-1 = <0xf0>; + }; + + uart@05000400 { + compatible = "allwinner,sun50i-uart"; + device_type = "uart1"; + reg = <0x0 0x5000400 0x0 0x400>; + interrupts = <0x0 0x1 0x4>; + clocks = <0x27>; + pinctrl-names = "default", "sleep"; + uart1_port = <0x1>; + uart1_type = <0x4>; + status = "okay"; + pinctrl-0 = <0xf1>; + uart1_bt = <0x1>; + pinctrl-1 = <0xf2>; + }; + + uart@05000800 { + compatible = "allwinner,sun50i-uart"; + device_type = "uart2"; + reg = <0x0 0x5000800 0x0 0x400>; + interrupts = <0x0 0x2 0x4>; + clocks = <0x2a>; + pinctrl-names = "default", "sleep"; + uart2_port = <0x2>; + uart2_type = <0x4>; + status = "disabled"; + pinctrl-0 = <0xf3>; + pinctrl-1 = <0xf4>; + }; + + uart@05000c00 { + compatible = "allwinner,sun50i-uart"; + device_type = "uart3"; + reg = <0x0 0x5000c00 0x0 0x400>; + interrupts = <0x0 0x3 0x4>; + clocks = <0x2d>; + pinctrl-names = "default", "sleep"; + uart3_port = <0x3>; + uart3_type = <0x2>; + status = "okay"; + pinctrl-0 = <0xf5>; + pinctrl-1 = <0xf6>; + }; + + twi@0x05002000 { + #address-cells = <0x1>; + #size-cells = <0x0>; + compatible = "allwinner,sun50i-twi"; + device_type = "twi0"; + reg = <0x0 0x5002000 0x0 0x400>; + interrupts = <0x0 0x4 0x4>; + clocks = <0x30>; + clock-frequency = <0x61a80>; + pinctrl-names = "default", "sleep"; + status = "disabled"; + pinctrl-0 = <0xe8>; + twi_regulator = "vcc-io"; + pinctrl-1 = <0xe9>; + }; + + twi@0x05002400 { + #address-cells = <0x1>; + #size-cells = <0x0>; + compatible = "allwinner,sun50i-twi"; + device_type = "twi1"; + reg = <0x0 0x5002400 0x0 0x400>; + interrupts = <0x0 0x5 0x4>; + clocks = <0x33>; + clock-frequency = <0x30d40>; + pinctrl-names = "default", "sleep"; + status = "okay"; + pinctrl-0 = <0xea>; + twi_regulator = "vcc-io"; + pinctrl-1 = <0xeb>; + }; + + twi@0x05002800 { + #address-cells = <0x1>; + #size-cells = <0x0>; + compatible = "allwinner,sun50i-twi"; + device_type = "twi2"; + reg = <0x0 0x5002800 0x0 0x400>; + interrupts = <0x0 0x6 0x4>; + clocks = <0x36>; + clock-frequency = <0x30d40>; + pinctrl-names = "default", "sleep"; + status = "disabled"; + pinctrl-0 = <0xec>; + twi_regulator = "vcc-io"; + pinctrl-1 = <0xed>; + }; + + twi@0x05002c00 { + #address-cells = <0x1>; + #size-cells = <0x0>; + compatible = "allwinner,sun50i-twi"; + device_type = "twi3"; + reg = <0x0 0x5002c00 0x0 0x400>; + interrupts = <0x0 0x7 0x4>; + clocks = <0x39>; + clock-frequency = <0x30d40>; + pinctrl-names = "default", "sleep"; + pinctrl-1 = <0x3b>; + status = "okay"; + pinctrl-0 = <0xee>; + twi_regulator = "vcc-io"; + }; + + usbc0@0 { + device_type = "usbc0"; + compatible = "allwinner,sunxi-otg-manager"; + usb_port_type = <0x0>; + usb_detect_type = <0x1>; + 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; + usb_det_vbus_gpio; + usb_drv_vbus_gpio = <0xd6 0xb 0x5 0x1 0x0 0xffffffff 0x1>; + }; + + udc-controller@0x05100000 { + compatible = "allwinner,sunxi-udc"; + reg = <0x0 0x5100000 0x0 0x1000 0x0 0x0 0x0 0x100>; + interrupts = <0x0 0x17 0x4>; + clocks = <0x3c 0x3d>; + status = "okay"; + }; + + ehci0-controller@0x05101000 { + compatible = "allwinner,sunxi-ehci0"; + reg = <0x0 0x5101000 0x0 0xfff 0x0 0x0 0x0 0x100 0x0 0x5100000 0x0 0x1000>; + interrupts = <0x0 0x18 0x4>; + clocks = <0x3c 0x3e>; + hci_ctrl_no = <0x0>; + status = "okay"; + }; + + ohci0-controller@0x05101400 { + compatible = "allwinner,sunxi-ohci0"; + reg = <0x0 0x5101000 0x0 0xfff 0x0 0x0 0x0 0x100 0x0 0x5100000 0x0 0x1000>; + interrupts = <0x0 0x19 0x4>; + clocks = <0x3c 0x3f 0x40 0x41 0x7 0x15>; + 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 = <0xd6 0xb 0x5 0x1 0x0 0xffffffff 0x1>; + }; + + xhci-controller@0x05200000 { + compatible = "allwinner,sunxi-xhci"; + reg = <0x0 0x5200000 0x0 0xfffff 0x0 0x0 0x0 0x100 0x0 0x5100000 0x0 0x1000>; + interrupts = <0x0 0x1a 0x4>; + clocks = <0x42 0x43>; + 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 = "disabled"; + usb_drv_vbus_gpio; + }; + + ehci3-controller@0x05311000 { + compatible = "allwinner,sunxi-ehci3"; + reg = <0x0 0x5311000 0x0 0xfff 0x0 0x0 0x0 0x100 0x0 0x5100000 0x0 0x1000>; + interrupts = <0x0 0x1c 0x4>; + clocks = <0x44 0x45 0x46 0x46 0x47>; + hci_ctrl_no = <0x3>; + status = "okay"; + }; + + ohci3-controller@0x05311400 { + compatible = "allwinner,sunxi-ohci3"; + reg = <0x0 0x5311000 0x0 0xfff 0x0 0x0 0x0 0x100 0x0 0x5100000 0x0 0x1000>; + interrupts = <0x0 0x1d 0x4>; + clocks = <0x44 0x48 0x49 0x41 0x7 0x15>; + hci_ctrl_no = <0x3>; + status = "okay"; + }; + + ac200_codec { + compatible = "allwinner,ac200_codec"; + status = "okay"; + device_type = "ac200_codec"; + gpio-spk = <0xd6 0xb 0x6 0x1 0x1 0xffffffff 0xffffffff>; + }; + + daudio@0x05090000 { + compatible = "allwinner,sunxi-daudio"; + reg = <0x0 0x5090000 0x0 0x74>; + clocks = <0x4 0x4a>; + pinctrl-names = "default", "sleep"; + pinctrl-0 = <0x4b>; + pinctrl-1 = <0x4c>; + pcm_lrck_period = <0x20>; + slot_width_select = <0x20>; + daudio_master = <0x4>; + audio_format = <0x1>; + signal_inversion = <0x1>; + tdm_config = <0x1>; + frametype = <0x0>; + tdm_num = <0x0>; + mclk_div = <0x0>; + status = "okay"; + linux,phandle = <0x61>; + phandle = <0x61>; + device_type = "daudio0"; + }; + + daudio@0x05091000 { + compatible = "allwinner,sunxi-tdmhdmi"; + reg = <0x0 0x5091000 0x0 0x74>; + clocks = <0x4 0x4d>; + status = "okay"; + linux,phandle = <0x63>; + phandle = <0x63>; + device_type = "audiohdmi"; + }; + + daudio@0x05092000 { + compatible = "allwinner,sunxi-daudio"; + reg = <0x0 0x5092000 0x0 0x74>; + clocks = <0x4 0x4e>; + pinctrl-names = "default", "sleep"; + pinctrl-0 = <0x4f>; + pinctrl-1 = <0x50>; + pcm_lrck_period = <0x40>; + slot_width_select = <0x20>; + daudio_master = <0x4>; + audio_format = <0x4>; + signal_inversion = <0x3>; + tdm_config = <0x1>; + frametype = <0x0>; + tdm_num = <0x2>; + mclk_div = <0x1>; + status = "disabled"; + linux,phandle = <0x65>; + phandle = <0x65>; + device_type = "daudio2"; + }; + + daudio@0x0508f000 { + compatible = "allwinner,sunxi-daudio"; + reg = <0x0 0x508f000 0x0 0x74>; + clocks = <0x4 0x51>; + pinctrl-names = "default", "sleep"; + pinctrl-0 = <0x52>; + pinctrl-1 = <0x53>; + pcm_lrck_period = <0x20>; + slot_width_select = <0x20>; + daudio_master = <0x4>; + audio_format = <0x1>; + signal_inversion = <0x1>; + tdm_config = <0x1>; + frametype = <0x0>; + tdm_num = <0x3>; + mclk_div = <0x1>; + status = "okay"; + linux,phandle = <0x67>; + phandle = <0x67>; + device_type = "daudio3"; + }; + + spdif-controller@0x05093000 { + compatible = "allwinner,sunxi-spdif"; + reg = <0x0 0x5093000 0x0 0x40>; + clocks = <0x4 0x54>; + pinctrl-names = "default", "sleep"; + pinctrl-0 = <0x55>; + pinctrl-1 = <0x56>; + status = "disabled"; + linux,phandle = <0x69>; + phandle = <0x69>; + device_type = "spdif"; + }; + + dmic-controller@0x05095000 { + compatible = "allwinner,sunxi-dmic"; + reg = <0x0 0x5095000 0x0 0x50>; + clocks = <0x4 0x57>; + pinctrl-names = "default", "sleep"; + pinctrl-0 = <0x58>; + pinctrl-1 = <0x59>; + status = "disabled"; + linux,phandle = <0x6a>; + phandle = <0x6a>; + device_type = "dmic"; + }; + + cpudai0-controller@0x05097000 { + compatible = "allwinner,sunxi-ahub-cpudai"; + reg = <0x0 0x5097000 0x0 0xadf>; + id = <0x0>; + status = "okay"; + linux,phandle = <0x6b>; + phandle = <0x6b>; + }; + + cpudai1-controller@0x05097000 { + compatible = "allwinner,sunxi-ahub-cpudai"; + reg = <0x0 0x5097000 0x0 0xadf>; + id = <0x1>; + status = "okay"; + linux,phandle = <0x6c>; + phandle = <0x6c>; + }; + + cpudai2-controller@0x05097000 { + compatible = "allwinner,sunxi-ahub-cpudai"; + reg = <0x0 0x5097000 0x0 0xadf>; + id = <0x2>; + status = "okay"; + linux,phandle = <0x6d>; + phandle = <0x6d>; + }; + + ahub_codec@0x05097000 { + compatible = "allwinner,sunxi-ahub"; + reg = <0x0 0x5097000 0x0 0xadf>; + clocks = <0x4 0x5a>; + status = "okay"; + linux,phandle = <0x6e>; + phandle = <0x6e>; + }; + + ahub_daudio0@0x05097000 { + compatible = "allwinner,sunxi-ahub-daudio"; + reg = <0x0 0x5097000 0x0 0xadf>; + clocks = <0x4 0x5a>; + pinctrl-names = "default", "sleep"; + pinctrl-0 = <0x5b>; + pinctrl-1 = <0x5c>; + pinconfig = <0x1>; + frametype = <0x0>; + pcm_lrck_period = <0x20>; + slot_width_select = <0x20>; + daudio_master = <0x4>; + audio_format = <0x1>; + signal_inversion = <0x1>; + tdm_config = <0x1>; + tdm_num = <0x0>; + mclk_div = <0x0>; + status = "okay"; + linux,phandle = <0x62>; + phandle = <0x62>; + device_type = "ahub_daudio0"; + }; + + ahub_daudio1@0x05097000 { + compatible = "allwinner,sunxi-ahub-daudio"; + reg = <0x0 0x5097000 0x0 0xadf>; + clocks = <0x4 0x5a>; + pinconfig = <0x0>; + frametype = <0x0>; + pcm_lrck_period = <0x20>; + slot_width_select = <0x20>; + daudio_master = <0x4>; + audio_format = <0x1>; + signal_inversion = <0x1>; + tdm_config = <0x1>; + tdm_num = <0x1>; + mclk_div = <0x1>; + status = "okay"; + linux,phandle = <0x64>; + phandle = <0x64>; + device_type = "ahub_daudio1"; + }; + + ahub_daudio2@0x05097000 { + compatible = "allwinner,sunxi-ahub-daudio"; + reg = <0x0 0x5097000 0x0 0xadf>; + clocks = <0x4 0x5a>; + pinctrl-names = "default", "sleep"; + pinctrl-0 = <0x5d>; + pinctrl-1 = <0x5e>; + pinconfig = <0x1>; + frametype = <0x0>; + pcm_lrck_period = <0x20>; + slot_width_select = <0x20>; + daudio_master = <0x4>; + audio_format = <0x1>; + signal_inversion = <0x1>; + tdm_config = <0x1>; + tdm_num = <0x2>; + mclk_div = <0x1>; + status = "okay"; + linux,phandle = <0x66>; + phandle = <0x66>; + device_type = "ahub_daudio2"; + }; + + ahub_daudio3@0x05097000 { + compatible = "allwinner,sunxi-ahub-daudio"; + reg = <0x0 0x5097000 0x0 0xadf>; + clocks = <0x4 0x5a>; + pinctrl-names = "default", "sleep"; + pinctrl-0 = <0x5f>; + pinctrl-1 = <0x60>; + pinconfig = <0x1>; + frametype = <0x0>; + pcm_lrck_period = <0x20>; + slot_width_select = <0x20>; + daudio_master = <0x4>; + audio_format = <0x1>; + signal_inversion = <0x1>; + tdm_config = <0x1>; + tdm_num = <0x3>; + mclk_div = <0x4>; + status = "okay"; + linux,phandle = <0x68>; + phandle = <0x68>; + device_type = "ahub_daudio3"; + }; + + sound@0 { + compatible = "allwinner,sunxi-daudio0-machine"; + sunxi,daudio-controller = <0x61>; + sunxi,cpudai-controller = <0x62>; + status = "okay"; + device_type = "snddaudio0"; + }; + + sound@1 { + compatible = "allwinner,sunxi-hdmi-machine"; + sunxi,hdmi-controller = <0x63>; + sunxi,cpudai-controller = <0x64>; + status = "okay"; + device_type = "sndhdmi"; + }; + + sound@2 { + compatible = "allwinner,sunxi-daudio2-machine"; + sunxi,daudio-controller = <0x65>; + sunxi,cpudai-controller = <0x66>; + status = "disabled"; + device_type = "snddaudio2"; + }; + + sound@3 { + compatible = "allwinner,sunxi-daudio3-machine"; + sunxi,daudio-controller = <0x67>; + sunxi,cpudai-controller = <0x68>; + sunxi,snddaudio-codec = "acx00-codec"; + sunxi,snddaudio-codec-dai = "acx00-dai"; + status = "okay"; + device_type = "snddaudio3"; + }; + + sound@4 { + compatible = "allwinner,sunxi-spdif-machine"; + sunxi,spdif-controller = <0x69>; + status = "disabled"; + device_type = "sndspdif"; + }; + + sound@5 { + compatible = "allwinner,sunxi-dmic-machine"; + sunxi,dmic-controller = <0x6a>; + status = "disabled"; + device_type = "snddmic"; + }; + + sound@6 { + compatible = "allwinner,sunxi-ahub-machine"; + sunxi,cpudai-controller0 = <0x6b>; + sunxi,cpudai-controller1 = <0x6c>; + sunxi,cpudai-controller2 = <0x6d>; + sunxi,audio-codec = <0x6e>; + status = "okay"; + device_type = "sndahub"; + }; + + spi@05010000 { + #address-cells = <0x1>; + #size-cells = <0x0>; + compatible = "allwinner,sun50i-spi"; + device_type = "spi0"; + reg = <0x0 0x5010000 0x0 0x1000>; + interrupts = <0x0 0xa 0x4>; + clocks = <0x2 0x6f>; + clock-frequency = <0x5f5e100>; + pinctrl-names = "default", "sleep"; + spi0_cs_number = <0x1>; + spi0_cs_bitmap = <0x1>; + status = "okay"; + pinctrl-0 = <0xf7 0xf8>; + pinctrl-1 = <0xf9 0xfa>; + + spi_board0 { + device_type = "spi_board0"; + compatible = "rohm,dh2228fv"; + spi-max-frequency = <0x124f80>; + reg = <0x0>; + }; + }; + + spi@05011000 { + #address-cells = <0x1>; + #size-cells = <0x0>; + compatible = "allwinner,sun50i-spi"; + device_type = "spi1"; + reg = <0x0 0x5011000 0x0 0x1000>; + interrupts = <0x0 0xb 0x4>; + clocks = <0x2 0x73>; + clock-frequency = <0x5f5e100>; + pinctrl-names = "default", "sleep"; + spi1_cs_number = <0x1>; + spi1_cs_bitmap = <0x1>; + status = "disabled"; + pinctrl-0 = <0xfb 0xfc>; + pinctrl-1 = <0xfd 0xfe>; + }; + + pcie@0x05400000 { + #address-cells = <0x3>; + #size-cells = <0x2>; + compatible = "allwinner,sun50i-pcie"; + reg = <0x0 0x5400000 0x0 0x2000 0x0 0x5410000 0x0 0x10000>; + reg-names = "dbi", "config"; + device_type = "pci"; + ranges = <0x800 0x0 0x5410000 0x0 0x5410000 0x0 0x10000 0x81000000 0x0 0x0 0x0 0x5e00000 0x0 0x10000 0x82000000 0x0 0x5500000 0x0 0x5500000 0x0 0x800000>; + num-lanes = <0x1>; + interrupts = <0x0 0x7f 0x4 0x0 0x7e 0x4>; + interrupt-names = "msi"; + clocks = <0x77 0xb 0xc 0x78 0x79 0x7a>; + #interrupt-cells = <0x1>; + interrupt-map-mask = <0x0 0x0 0x0 0x0>; + interrupt-map = <0x0 0x0 0x0 0x1 0x1 0x0 0x7f 0x4>; + status = "disabled"; + pcie_perst = <0x87 0x3 0x16 0x1 0xffffffff 0xffffffff 0xffffffff>; + speed_gen = <0x1>; + }; + + sdmmc@04022000 { + compatible = "allwinner,sunxi-mmc-v4p6x"; + device_type = "sdc2"; + reg = <0x0 0x4022000 0x0 0x1000>; + interrupts = <0x0 0x25 0x104>; + clocks = <0x7 0x7b 0x7c 0x7d 0x7e>; + clock-names = "osc24m", "pll_periph", "mmc", "ahb", "rst"; + pinctrl-names = "default", "sleep"; + pinctrl-1 = <0x80>; + bus-width = <0x8>; + max-frequency = <0x8f0d180>; + cap-sd-highspeed; + cap-mmc-highspeed; + cap-erase; + mmc-high-capacity-erase-size; + no-sdio; + no-sd; + 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 = <0x111>; + cd-gpios; + sunxi-power-save-mode; + sunxi-dis-signal-vol-sw; + mmc-ddr-1_8v; + mmc-hs200-1_8v; + mmc-hs400-1_8v; + vmmc = "vcc-emmcv"; + vqmmc = "vcc-emmcvq18"; + vdmmc = "none"; + }; + + sdmmc@04020000 { + compatible = "allwinner,sunxi-mmc-v4p1x"; + device_type = "sdc0"; + reg = <0x0 0x4020000 0x0 0x1000>; + interrupts = <0x0 0x23 0x104>; + clocks = <0x7 0x7b 0x81 0x82 0x83>; + clock-names = "osc24m", "pll_periph", "mmc", "ahb", "rst"; + pinctrl-names = "default", "sleep", "uart_jtag"; + pinctrl-1 = <0x85>; + pinctrl-2 = <0x86>; + max-frequency = <0x2faf080>; + bus-width = <0x4>; + cap-sd-highspeed; + cap-mmc-highspeed; + no-sdio; + no-mmc; + status = "okay"; + pinctrl-0 = <0x10f>; + cd-gpios = <0x87 0x5 0x6 0x0 0x1 0x2 0xffffffff>; + sunxi-power-save-mode; + sunxi-dis-signal-vol-sw; + vmmc = "vcc-sdcv"; + vqmmc = "vcc-sdcvq33"; + vdmmc = "vcc-sdcvd"; + ctl-spec-caps = <0x80>; + }; + + sdmmc@04021000 { + compatible = "allwinner,sunxi-mmc-v4p1x"; + device_type = "sdc1"; + reg = <0x0 0x4021000 0x0 0x1000>; + interrupts = <0x0 0x24 0x104>; + clocks = <0x7 0x7b 0x88 0x89 0x8a>; + clock-names = "osc24m", "pll_periph", "mmc", "ahb", "rst"; + pinctrl-names = "default", "sleep"; + pinctrl-1 = <0x8c>; + max-frequency = <0x8f0d180>; + bus-width = <0x4>; + cap-sd-highspeed; + cap-mmc-highspeed; + no-mmc; + 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 = <0x110>; + sd-uhs-sdr50; + sd-uhs-ddr50; + sd-uhs-sdr104; + cap-sdio-irq; + keep-power-in-suspend; + ignore-pm-notify; + }; + + disp@01000000 { + compatible = "allwinner,sunxi-disp"; + reg = <0x0 0x1000000 0x0 0x1400000 0x0 0x6510000 0x0 0x100 0x0 0x6511000 0x0 0x800 0x0 0x6515000 0x0 0x800>; + interrupts = <0x0 0x41 0x104 0x0 0x42 0x104>; + clocks = <0xa 0x8d 0x8e 0x10>; + boot_disp = <0x0>; + boot_disp1 = <0x0>; + boot_disp2 = <0x0>; + fb_base = <0x0>; + iommus = <0x21 0x0 0x0>; + status = "okay"; + device_type = "disp"; + disp_init_enable = <0x1>; + disp_mode = <0x0>; + screen0_output_type = <0x3>; + screen0_output_mode = <0xa>; + screen0_output_format = <0x1>; + screen0_output_bits = <0x0>; + screen0_output_eotf = <0x4>; + screen0_output_cs = <0x101>; + screen0_output_dvi_hdmi = <0x2>; + screen0_output_range = <0x2>; + screen0_output_scan = <0x0>; + screen0_output_aspect_ratio = <0x8>; + screen1_output_type = <0x0>; + screen1_output_mode = <0x2>; + screen1_output_format = <0x1>; + screen1_output_bits = <0x0>; + screen1_output_eotf = <0x4>; + screen1_output_cs = <0x104>; + screen1_output_dvi_hdmi = <0x2>; + screen1_output_range = <0x2>; + screen1_output_scan = <0x0>; + screen1_output_aspect_ratio = <0x8>; + dev0_output_type = <0x4>; + dev0_output_mode = <0xa>; + dev0_screen_id = <0x0>; + dev0_do_hpd = <0x1>; + dev1_output_type = <0x0>; + 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 = <0x0>; + fb0_height = <0x0>; + fb1_format = <0x0>; + fb1_width = <0x0>; + fb1_height = <0x0>; + disp_para_zone = <0x1>; + }; + + 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 = <0x0>; + lcd_x = <0x320>; + lcd_y = <0x258>; + lcd_width = <0x96>; + lcd_height = <0x5e>; + lcd_dclk_freq = <0x28>; + lcd_pwm_used = <0x0>; + lcd_pwm_ch = <0x0>; + lcd_pwm_freq = <0xc350>; + lcd_pwm_pol = <0x1>; + lcd_pwm_max_limit = <0xff>; + lcd_hbp = <0xd8>; + lcd_ht = <0x420>; + lcd_hspw = <0x80>; + lcd_vbp = <0x1b>; + lcd_vt = <0x274>; + lcd_vspw = <0x4>; + 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; + lcd_bl_en_power = "none"; + lcd_power = "vcc-lcd-0"; + lcd_fix_power = "vcc-dsi-33"; + pinctrl-0 = <0x102>; + lcd_pin_power = "vcc-pd"; + pinctrl-1 = <0x103>; + }; + + lcd1@01c0c001 { + compatible = "allwinner,sunxi-lcd1"; + pinctrl-names = "active", "sleep"; + status = "okay"; + }; + + hdmi@06000000 { + compatible = "allwinner,sunxi-hdmi"; + reg = <0x0 0x6000000 0x0 0x100000>; + interrupts = <0x0 0x40 0x0>; + clocks = <0xd 0xe 0x11 0xf>; + pinctrl-names = "ddc_active", "ddc_sleep", "cec_active", "cec_sleep"; + pinctrl-1 = <0x90>; + pinctrl-2 = <0x91>; + pinctrl-3 = <0x92>; + status = "okay"; + device_type = "hdmi"; + hdmi_hdcp_enable = <0x0>; + hdmi_hdcp22_enable = <0x0>; + hdmi_cts_compatibility = <0x0>; + hdmi_cec_support = <0x1>; + hdmi_cec_super_standby = <0x1>; + hdmi_skip_bootedid = <0x1>; + pinctrl-0 = <0x104>; + ddc_en_io_ctrl = <0x1>; + ddc_io_ctrl = <0x87 0x7 0x2 0x1 0xffffffff 0xffffffff 0x0>; + }; + + tv0@01c94000 { + compatible = "allwinner,sunxi-tv"; + reg = <0x0 0x1e40000 0x0 0x1000>; + 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 = <0xa>; + status = "okay"; + }; + + pwm@0300a000 { + compatible = "allwinner,sunxi-pwm"; + reg = <0x0 0x300a000 0x0 0x3c>; + clocks = <0x93>; + pwm-number = <0x2>; + pwm-base = <0x0>; + pwms = <0x94 0x95>; + }; + + pwm0@0300a000 { + compatible = "allwinner,sunxi-pwm0"; + pinctrl-names = "active", "sleep"; + reg_base = <0x300a000>; + 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 = <0x94>; + phandle = <0x94>; + device_type = "pwm0"; + pwm_used = <0x1>; + pinctrl-0 = <0x107>; + pinctrl-1 = <0x108>; + }; + + pwm1@0300a000 { + compatible = "allwinner,sunxi-pwm1"; + pinctrl-names = "active", "sleep"; + reg_base = <0x300a000>; + reg_busy_offset = <0x0>; + reg_busy_shift = <0x1d>; + reg_enable_offset = <0x0>; + reg_enable_shift = <0x13>; + reg_clk_gating_offset = <0x0>; + reg_clk_gating_shift = <0x15>; + reg_bypass_offset = <0x0>; + reg_bypass_shift = <0x18>; + reg_pulse_start_offset = <0x0>; + reg_pulse_start_shift = <0x17>; + reg_mode_offset = <0x0>; + reg_mode_shift = <0x16>; + reg_polarity_offset = <0x0>; + reg_polarity_shift = <0x14>; + reg_period_offset = <0x8>; + reg_period_shift = <0x10>; + reg_period_width = <0x10>; + reg_active_offset = <0x8>; + reg_active_shift = <0x0>; + reg_active_width = <0x10>; + reg_prescal_offset = <0x0>; + reg_prescal_shift = <0xf>; + reg_prescal_width = <0x4>; + linux,phandle = <0x95>; + phandle = <0x95>; + device_type = "pwm1"; + pwm_used = <0x0>; + pinctrl-0 = <0x109>; + pinctrl-1 = <0x10a>; + }; + + s_pwm@07020c00 { + compatible = "allwinner,sunxi-s_pwm"; + reg = <0x0 0x7020c00 0x0 0x3c>; + clocks = <0x96>; + pwm-number = <0x1>; + pwm-base = <0x10>; + pwms = <0x97>; + }; + + spwm0@07020c00 { + compatible = "allwinner,sunxi-pwm16"; + pinctrl-names = "active", "sleep"; + reg_base = <0x7020c00>; + 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 = <0x97>; + phandle = <0x97>; + }; + + boot_disp { + compatible = "allwinner,boot_disp"; + device_type = "boot_disp"; + auto_hpd = <0x1>; + output_disp = <0x0>; + output_type = <0x3>; + output_mode = <0xa>; + output_format = <0x1>; + output_bits = <0x0>; + output_eotf = <0x4>; + output_cs = <0x104>; + hdmi_channel = <0x0>; + hdmi_mode = <0x4>; + }; + + ac200 { + compatible = "allwinner,sunxi-ac200"; + clocks = <0x8e>; + pinctrl-names = "active", "sleep", "ccir_clk_active", "ccir_clk_sleep"; + pinctrl-2 = <0x98>; + pinctrl-3 = <0x99>; + status = "okay"; + device_type = "ac200"; + tv_used = <0x1>; + tv_module_name = "tv_ac200"; + tv_twi_used = <0x1>; + tv_twi_id = <0x3>; + tv_twi_addr = <0x10>; + tv_pwm_ch = <0x1>; + tv_clk_div = <0x5>; + tv_regulator_name = "vcc-audio-33"; + pinctrl-0 = <0x105>; + pinctrl-1 = <0x106>; + }; + + vind@0 { + compatible = "allwinner,sunxi-vin-media", "simple-bus"; + #address-cells = <0x2>; + #size-cells = <0x2>; + ranges; + device_id = <0x0>; + reg = <0x0 0x6620000 0x0 0x1000>; + clocks = <0x9a 0x2 0x9b 0x7 0x2>; + pinctrl-names = "mclk0-default", "mclk0-sleep"; + pinctrl-0 = <0x9c>; + pinctrl-1 = <0x9d>; + status = "okay"; + device_type = "vind0"; + + cci@0x0662e000 { + compatible = "allwinner,sunxi-csi_cci"; + reg = <0x0 0x662e000 0x0 0x1000>; + interrupts = <0x0 0x48 0x4>; + clocks = <0x9e>; + pinctrl-names = "default", "sleep"; + pinctrl-1 = <0xa0>; + device_id = <0x0>; + status = "okay"; + device_type = "csi_cci0"; + pinctrl-0 = <0x10e>; + }; + + csi@0x06621000 { + device_type = "csi0"; + compatible = "allwinner,sunxi-csi"; + reg = <0x0 0x6621000 0x0 0x1000>; + interrupts = <0x0 0x46 0x4>; + pinctrl-names = "default", "sleep"; + pinctrl-1 = <0xa2>; + device_id = <0x0>; + iommus = <0x21 0x4 0x1>; + status = "okay"; + pinctrl-0 = <0x10d>; + }; + + csi@1 { + device_type = "csi1"; + compatible = "allwinner,sunxi-csi"; + device_id = <0x1>; + iommus = <0x21 0x4 0x1>; + status = "disabled"; + }; + + mipi@0 { + compatible = "allwinner,sunxi-mipi"; + device_id = <0x0>; + status = "disabled"; + }; + + mipi@1 { + compatible = "allwinner,sunxi-mipi"; + device_id = <0x1>; + status = "disabled"; + }; + + isp@0 { + compatible = "allwinner,sunxi-isp"; + reg = <0x0 0x2100000 0x0 0x800>; + interrupts = <0x0 0x56 0x4>; + device_id = <0x0>; + iommus = <0x21 0x4 0x1>; + status = "disabled"; + linux,phandle = <0xa5>; + phandle = <0xa5>; + }; + + isp@1 { + compatible = "allwinner,sunxi-isp"; + reg = <0x0 0x2100800 0x0 0x800>; + device_id = <0x1>; + iommus = <0x21 0x4 0x1>; + status = "disabled"; + linux,phandle = <0xa6>; + phandle = <0xa6>; + }; + + scaler@0x02101000 { + compatible = "allwinner,sunxi-scaler"; + reg = <0x0 0x2101000 0x0 0x400>; + device_id = <0x0>; + iommus = <0x21 0x4 0x1>; + status = "disabled"; + }; + + scaler@0x02101400 { + compatible = "allwinner,sunxi-scaler"; + reg = <0x0 0x2101400 0x0 0x400>; + device_id = <0x1>; + iommus = <0x21 0x4 0x1>; + status = "disabled"; + }; + + scaler@2 { + compatible = "allwinner,sunxi-scaler"; + device_id = <0x2>; + iommus = <0x21 0x4 0x1>; + status = "disabled"; + }; + + scaler@3 { + compatible = "allwinner,sunxi-scaler"; + device_id = <0x3>; + iommus = <0x21 0x4 0x1>; + status = "disabled"; + }; + + actuator@0 { + device_type = "actuator0"; + compatible = "allwinner,sunxi-actuator"; + actuator0_name = "ad5820_act"; + actuator0_slave = <0x18>; + actuator0_afvdd_vol = <0x2ab980>; + status = "disabled"; + linux,phandle = <0xa4>; + phandle = <0xa4>; + actuator0_af_pwdn; + actuator0_afvdd; + }; + + flash@0 { + device_type = "flash0"; + compatible = "allwinner,sunxi-flash"; + flash0_type = <0x2>; + device_id = <0x0>; + status = "disabled"; + linux,phandle = <0xa3>; + phandle = <0xa3>; + flash0_en; + flash0_mode; + flash0_flvdd; + flash0_flvdd_vol; + }; + + sensor@0 { + device_type = "sensor0"; + sensor0_mname = "gc2035"; + sensor0_twi_cci_id = <0x0>; + sensor0_twi_addr = <0x78>; + sensor0_pos = "rear"; + sensor0_isp_used = <0x0>; + sensor0_fmt = <0x0>; + sensor0_stby_mode = <0x1>; + sensor0_vflip = <0x0>; + sensor0_hflip = <0x0>; + sensor0_iovdd_vol = <0x2ab980>; + sensor0_avdd_vol = <0x2ab980>; + sensor0_dvdd_vol = <0x16e360>; + sensor0_power_en; + flash_handle = <0xa3>; + act_handle = <0xa4>; + status = "okay"; + linux,phandle = <0xa7>; + phandle = <0xa7>; + sensor0_iovdd; + sensor0_avdd; + sensor0_dvdd; + sensor0_reset = <0x87 0x3 0xe 0x1 0x0 0x3 0x0>; + sensor0_pwdn = <0x87 0x3 0xf 0x1 0x0 0x3 0x1>; + }; + + sensor@1 { + device_type = "sensor1"; + sensor1_mname = "ov5647"; + sensor1_twi_cci_id = <0x0>; + sensor1_twi_addr = <0x6c>; + sensor1_pos = "front"; + sensor1_isp_used = <0x0>; + sensor1_fmt = <0x0>; + sensor1_stby_mode = <0x1>; + sensor1_vflip = <0x0>; + sensor1_hflip = <0x0>; + sensor1_iovdd_vol = <0x2ab980>; + sensor1_avdd_vol = <0x2ab980>; + sensor1_dvdd_vol = <0x1b7740>; + flash_handle; + act_handle; + status = "disabled"; + linux,phandle = <0xa8>; + phandle = <0xa8>; + sensor1_iovdd; + sensor1_avdd; + sensor1_dvdd; + sensor1_power_en; + sensor1_reset = <0x87 0x3 0xe 0x1 0x0 0x3 0x0>; + sensor1_pwdn = <0x87 0x3 0xf 0x1 0x0 0x3 0x1>; + }; + + vinc@0x06623000 { + device_type = "vinc0"; + compatible = "allwinner,sunxi-vin-core"; + reg = <0x0 0x6623000 0x0 0x100>; + interrupts = <0x0 0x43 0x4>; + vinc0_csi_sel = <0x0>; + vinc0_mipi_sel = <0xff>; + vinc0_isp_sel = <0x0>; + vinc0_sensor_sel = <0x0>; + vinc0_sensor_list = <0x0>; + isp_handle = <0xa5 0xa6>; + sensor_handle = <0xa7 0xa8>; + device_id = <0x0>; + iommus = <0x21 0x4 0x1>; + status = "okay"; + vinc0_rear_sensor_sel = <0x0>; + vinc0_front_sensor_sel = <0x1>; + }; + + vinc@0x06623100 { + device_type = "vinc1"; + compatible = "allwinner,sunxi-vin-core"; + reg = <0x0 0x6623100 0x0 0x100>; + interrupts = <0x0 0x44 0x4>; + vinc1_csi_sel = <0x0>; + vinc1_mipi_sel = <0xff>; + vinc1_isp_sel = <0x0>; + vinc1_sensor_sel = <0x1>; + vinc1_sensor_list = <0x0>; + isp_handle = <0xa5 0xa6>; + sensor_handle = <0xa7 0xa8>; + device_id = <0x1>; + iommus = <0x21 0x4 0x1>; + status = "disabled"; + vinc1_rear_sensor_sel = <0x0>; + vinc1_front_sensor_sel = <0x1>; + }; + }; + + vdevice@0 { + compatible = "allwinner,sun50i-vdevice"; + device_type = "Vdevice"; + pinctrl-names = "default"; + test-gpios = <0x87 0x1 0x0 0x1 0x2 0x2 0x1>; + status = "disabled"; + pinctrl-0 = <0x115>; + }; + + emce@01905000 { + compatible = "allwinner,sunxi-emce"; + device_name = "emce"; + reg = <0x0 0x1905000 0x0 0x100>; + clock-frequency = <0x11e1a300>; + clocks = <0xaa 0x23>; + }; + + ce@1904000 { + compatible = "allwinner,sunxi-ce"; + device_name = "ce"; + reg = <0x0 0x1904000 0x0 0xa0 0x0 0x1904800 0x0 0xa0>; + interrupts = <0x0 0x57 0xff01 0x0 0x58 0xff01>; + clock-frequency = <0x11e1a300>; + clocks = <0xab 0x23>; + }; + + deinterlace@0x01420000 { + #address-cells = <0x1>; + #size-cells = <0x0>; + compatible = "allwinner,sunxi-deinterlace"; + reg = <0x0 0x1420000 0x0 0x20c>; + interrupts = <0x0 0x4f 0x4>; + clocks = <0xac 0x2>; + iommus = <0x21 0x2 0x1>; + status = "okay"; + device_type = "di"; + }; + + smartcard@0x05005000 { + #address-cells = <0x1>; + #size-cells = <0x0>; + compatible = "allwinner,sunxi-scr"; + device_type = "scr0"; + reg = <0x0 0x5005000 0x0 0x400>; + interrupts = <0x0 0x8 0x4>; + clocks = <0xad 0xae>; + clock-frequency = <0x16e3600>; + pinctrl-names = "default", "sleep"; + pinctrl-0 = <0xaf 0xb0>; + pinctrl-1 = <0xb1>; + status = "disabled"; + }; + + smartcard@0x05005400 { + #address-cells = <0x1>; + #size-cells = <0x0>; + compatible = "allwinner,sunxi-scr"; + device_type = "scr1"; + reg = <0x0 0x5005400 0x0 0x400>; + interrupts = <0x0 0x9 0x4>; + clocks = <0xb2 0xae>; + clock-frequency = <0x16e3600>; + pinctrl-names = "default", "sleep"; + pinctrl-0 = <0xb3 0xb4>; + pinctrl-1 = <0xb5>; + status = "disabled"; + }; + + pmu@0 { + interrupts = <0x0 0x60 0x4>; + status = "okay"; + device_type = "pmu0"; + compatible = "axp806"; + pmu_id = <0x3>; + pmu_irq_wakeup = <0x1>; + pmu_hot_shutdown = <0x1>; + + powerkey@0 { + status = "okay"; + device_type = "powerkey0"; + compatible = "axp806-powerkey"; + pmu_powkey_off_time = <0x1770>; + pmu_powkey_off_func = <0x0>; + pmu_powkey_off_en = <0x1>; + pmu_powkey_long_time = <0x5dc>; + pmu_powkey_on_time = <0x3e8>; + }; + + regulator@0 { + status = "okay"; + device_type = "regulator0"; + compatible = "axp806-regulator"; + regulator_count = <0x10>; + regulator1 = "axp806_dcdca none vdd-cpua"; + regulator2 = "axp806_dcdcb none"; + regulator3 = "axp806_dcdcc none vdd-gpu"; + regulator4 = "axp806_dcdcd none vdd-sys vdd-hdmi vdd-pcie vdd-usb"; + regulator5 = "axp806_dcdce none vcc-dram"; + regulator6 = "axp806_aldo1 none vcc-pl vcc-led vcc-ir vcc-pg vcc-pm vcc-ts"; + regulator7 = "axp806_aldo2 none ac-ldoin vcc-audio-33 vcc-ephy usb-dvdd vcc-tv"; + regulator8 = "axp806_aldo3 none vcc-pcie-slot"; + regulator9 = "axp806_bldo1 none vdd-dram-18 vdd-bias vcc-pll"; + regulator10 = "axp806_bldo2 none vcc-emmc-18 vdd-efuse vcc-pcie vcc-hdmi vcc-emmcvq18"; + regulator11 = "axp806_bldo3 none vcc-wifi-io"; + regulator12 = "axp806_bldo4 none"; + regulator13 = "axp806_cldo1 none vcc-io vcc-nand vcc-card vcc-pd vcc-usb vcc-uart vcc-jtagx vcc-emmc-33 vcc-camera-33 vcc-emmcv vcc-sdcv vcc-sdcvq33 vcc-sdcvd"; + regulator14 = "axp806_cldo2 none vcc-wifi1"; + regulator15 = "axp806_cldo3 none vcc-wifi2"; + regulator16 = "axp806_sw none"; + }; + + axp_gpio@0 { + gpio-controller; + #size-cells = <0x0>; + #gpio-cells = <0x6>; + status = "okay"; + device_type = "axp_pio"; + linux,phandle = <0xff>; + phandle = <0xff>; + }; + + charger@0 { + status = "disabled"; + device_type = "charger0"; + pmu_bat_unused = <0x1>; + pmu_pwroff_vol = <0xce4>; + power_start = <0x0>; + }; + }; + + 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@04011000 { + compatible = "allwinner,sun50iw6-nand"; + device_type = "nand0"; + reg = <0x0 0x4011000 0x0 0x1000>; + interrupts = <0x0 0x22 0x4>; + clocks = <0x23 0xb6 0xb7>; + pinctrl-names = "default", "sleep"; + pinctrl-1 = <0xba>; + 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 = <0x100 0x101>; + }; + + ts0@05060000 { + compatible = "allwinner,sun50i-tsc"; + device_type = "ts0"; + reg = <0x0 0x5060000 0x0 0x1000>; + interrupts = <0x0 0xe 0x4>; + clocks = <0x2 0xbb>; + clock-frequency = <0x7270e00>; + pinctrl-names = "ts0-default", "ts1-default", "ts2-default", "ts3-default", "ts0-sleep", "ts1-sleep", "ts2-sleep", "ts3-sleep"; + pinctrl-0 = <0xbc>; + pinctrl-1 = <0xbd>; + pinctrl-2 = <0xbe>; + pinctrl-3 = <0xbf>; + pinctrl-4 = <0xc0>; + pinctrl-5 = <0xc1>; + pinctrl-6 = <0xc2>; + pinctrl-7 = <0xc3>; + ts0config = <0x1>; + ts1config = <0x0>; + ts2config = <0x0>; + ts3config = <0x0>; + status = "okay"; + }; + + thermal_sensor { + compatible = "allwinner,thermal_sensor"; + reg = <0x0 0x5070400 0x0 0x400>; + interrupts = <0x0 0xf 0x0>; + clocks = <0x7 0xc4>; + sensor_num = <0x2>; + combine_num = <0x2>; + alarm_low_temp = <0x19a28>; + alarm_high_temp = <0x1adb0>; + alarm_temp_hysteresis = <0x3a98>; + shut_temp = <0x1c138>; + status = "okay"; + + ths_combine0 { + compatible = "allwinner,ths_combine0"; + #thermal-sensor-cells = <0x1>; + combine_sensor_num = <0x1>; + combine_sensor_type = "cpu"; + combine_sensor_temp_type = "max"; + combine_sensor_id = <0x0>; + linux,phandle = <0xc5>; + phandle = <0xc5>; + }; + + ths_combine1 { + compatible = "allwinner,ths_combine1"; + #thermal-sensor-cells = <0x1>; + combine_sensor_num = <0x1>; + combine_sensor_type = "gpu"; + combine_sensor_temp_type = "max"; + combine_sensor_id = <0x1>; + linux,phandle = <0xcd>; + phandle = <0xcd>; + }; + }; + + cpu_budget_cool { + device_type = "cpu_budget_cool"; + compatible = "allwinner,budget_cooling"; + #cooling-cells = <0x2>; + status = "okay"; + state_cnt = <0x7>; + cluster_num = <0x1>; + state0 = <0x1b7740 0x4>; + state1 = <0x16b480 0x4>; + state2 = <0x142440 0x3>; + state3 = <0x107ac0 0x2>; + state4 = <0xd8cc0 0x1>; + state5 = <0xafc80 0x1>; + state6 = <0x75300 0x1>; + linux,phandle = <0xc7>; + phandle = <0xc7>; + }; + + gpu_cooling { + compatible = "allwinner,gpu_cooling"; + reg = <0x0 0x0 0x0 0x0>; + #cooling-cells = <0x2>; + status = "okay"; + state_cnt = <0x4>; + state0 = <0x0>; + state1 = <0x1>; + state2 = <0x2>; + state3 = <0x3>; + linux,phandle = <0xcf>; + phandle = <0xcf>; + }; + + thermal-zones { + + cpu_thermal_zone { + polling-delay-passive = <0x3e8>; + polling-delay = <0x3e8>; + thermal-sensors = <0xc5 0x0>; + + trips { + + t0 { + temperature = <0xea60>; + type = "passive"; + hysteresis = <0x0>; + linux,phandle = <0xc6>; + phandle = <0xc6>; + }; + + t1 { + temperature = <0x15f90>; + type = "passive"; + hysteresis = <0x0>; + linux,phandle = <0xc8>; + phandle = <0xc8>; + }; + + t2 { + temperature = <0x17318>; + type = "passive"; + hysteresis = <0x0>; + linux,phandle = <0xc9>; + phandle = <0xc9>; + }; + + t3 { + temperature = <0x186a0>; + type = "passive"; + hysteresis = <0x0>; + linux,phandle = <0xca>; + phandle = <0xca>; + }; + + t4 { + temperature = <0x19a28>; + type = "passive"; + hysteresis = <0x0>; + linux,phandle = <0xcb>; + phandle = <0xcb>; + }; + + t5 { + temperature = <0x1adb0>; + type = "passive"; + hysteresis = <0x0>; + linux,phandle = <0xcc>; + phandle = <0xcc>; + }; + + t6 { + temperature = <0x1c138>; + type = "critical"; + hysteresis = <0x0>; + }; + }; + + cooling-maps { + + bind0 { + contribution = <0x0>; + trip = <0xc6>; + cooling-device = <0xc7 0x1 0x1>; + }; + + bind1 { + contribution = <0x0>; + trip = <0xc8>; + cooling-device = <0xc7 0x2 0x2>; + }; + + bind2 { + contribution = <0x0>; + trip = <0xc9>; + cooling-device = <0xc7 0x3 0x3>; + }; + + bind3 { + contribution = <0x0>; + trip = <0xca>; + cooling-device = <0xc7 0x4 0x4>; + }; + + bind4 { + contribution = <0x0>; + trip = <0xcb>; + cooling-device = <0xc7 0x5 0x5>; + }; + + bind5 { + contribution = <0x0>; + trip = <0xcc>; + cooling-device = <0xc7 0x6 0x6>; + }; + }; + }; + + gpu_thermal_zone { + polling-delay-passive = <0x3e8>; + polling-delay = <0x7d0>; + thermal-sensors = <0xcd 0x1>; + + trips { + + t0 { + temperature = <0x17318>; + type = "passive"; + hysteresis = <0x0>; + linux,phandle = <0xce>; + phandle = <0xce>; + }; + + t1 { + temperature = <0x186a0>; + type = "passive"; + hysteresis = <0x0>; + linux,phandle = <0xd0>; + phandle = <0xd0>; + }; + + t2 { + temperature = <0x19a28>; + type = "passive"; + hysteresis = <0x0>; + linux,phandle = <0xd1>; + phandle = <0xd1>; + }; + + t3 { + temperature = <0x1c138>; + type = "critical"; + hysteresis = <0x0>; + }; + }; + + cooling-maps { + + bind0 { + contribution = <0x0>; + trip = <0xce>; + cooling-device = <0xcf 0x1 0x1>; + }; + + bind1 { + contribution = <0x0>; + trip = <0xd0>; + cooling-device = <0xcf 0x2 0x2>; + }; + + bind2 { + contribution = <0x0>; + trip = <0xd1>; + cooling-device = <0xcf 0x3 0x3>; + }; + }; + }; + }; + + keyboard { + compatible = "allwinner,keyboard_1200mv"; + reg = <0x0 0x5070800 0x0 0x400>; + interrupts = <0x0 0x10 0x0>; + status = "okay"; + key_cnt = <0x5>; + key0 = <0x73 0x73>; + key1 = <0xeb 0x72>; + key2 = <0x14a 0x8b>; + key3 = <0x1a4 0x1c>; + key4 = <0x208 0x66>; + }; + + eth@05020000 { + compatible = "allwinner,sunxi-gmac"; + reg = <0x0 0x5020000 0x0 0x10000 0x0 0x3000030 0x0 0x4>; + interrupts = <0x0 0xc 0x4>; + interrupt-names = "gmacirq"; + clocks = <0xd2>; + clock-names = "gmac"; + pinctrl-1 = <0xd4>; + pinctrl-names = "default", "sleep"; + phy-mode = "rmii"; + tx-delay = <0x0>; + rx-delay = <0x0>; + phy-rst; + gmac-power0 = "vcc-ephy"; + status = "disabled"; + device_type = "gmac0"; + pinctrl-0 = <0xe7>; + gmac-power1; + gmac-power2; + }; + + wlan { + compatible = "allwinner,sunxi-wlan"; + clocks = <0xd5>; + status = "okay"; + device_type = "wlan"; + wlan_busnum = <0x1>; + wlan_usbnum = <0x3>; + wlan_power1 = "vcc-wifi1"; + wlan_power2 = "vcc-wifi2"; + wlan_io_regulator = "vcc-wifi-io"; + wlan_en = <0xd6 0xb 0x8 0x1 0xffffffff 0xffffffff 0x0>; + wlan_regon = <0xd6 0xc 0x3 0x1 0xffffffff 0xffffffff 0x0>; + wlan_hostwake = <0xd6 0xc 0x0 0x0 0xffffffff 0xffffffff 0x0>; + }; + + bt { + compatible = "allwinner,sunxi-bt"; + clocks = <0xd5>; + bt_power = "vcc-wifi"; + bt_io_regulator = "vcc-wifi-io"; + status = "okay"; + device_type = "bt"; + bt_rst_n = <0xd6 0xc 0x4 0x1 0xffffffff 0xffffffff 0x0>; + }; + + btlpm { + compatible = "allwinner,sunxi-btlpm"; + uart_index = <0x1>; + status = "okay"; + device_type = "btlpm"; + bt_hostwake_enable = <0x0>; + bt_wake = <0xd6 0xc 0x2 0x1 0xffffffff 0xffffffff 0x1>; + bt_hostwake = <0xd6 0xc 0x1 0x6 0xffffffff 0xffffffff 0x0>; + }; + + product { + device_type = "product"; + version = "100"; + machine = "petrel-p1"; + }; + + platform { + device_type = "platform"; + eraseflag = <0x1>; + }; + + target { + device_type = "target"; + boot_clock = <0x528>; + storage_type = <0xffffffff>; + burn_key = <0x0>; + dragonboard_test = <0x0>; + power_mode = <0x0>; + advert_enable = <0x0>; + }; + + secure { + device_type = "secure"; + dram_region_mbytes = <0x40>; + drm_region_mbytes = <0x0>; + drm_region_start_mbytes = <0x0>; + }; + + power_sply { + device_type = "power_sply"; + dcdca_vol = <0xf4628>; + aldo2_vol = <0xf4f24>; + bldo3_vol = <0xf4948>; + cldo2_vol = <0xf4f24>; + cldo3_vol = <0xf4f24>; + }; + + gpio_bias { + device_type = "gpio_bias"; + pc_bias = "axp806:bldo2:1800"; + pg_bias = "axp806:bldo3:1800"; + }; + + ir_boot_recovery { + device_type = "ir_boot_recovery"; + status = "disabled"; + ir_work_mode = <0x1>; + ir_press_times = <0x2>; + ir_detect_time = <0x7d0>; + ir_key_no_duplicate = <0x0>; + ir_recovery_key_code0 = <0x4>; + ir_addr_code0 = <0xff00>; + ir_recovery_key_code1 = <0x10>; + ir_addr_code1 = <0xff00>; + }; + + card_boot { + device_type = "card_boot"; + logical_start = <0xa000>; + sprite_gpio0 = <0xd6 0xb 0x4 0x1 0xffffffff 0xffffffff 0x1>; + next_work = <0x3>; + }; + + key_boot_recovery { + device_type = "key_boot_recovery"; + status = "disabled"; + press_mode_enable = <0x0>; + key_work_mode = <0x1>; + short_press_mode = <0x0>; + long_press_mode = <0x1>; + key_press_time = <0x7d0>; + recovery_key = <0x87 0x7 0x7 0x0 0xffffffff 0xffffffff 0xffffffff>; + }; + + boot_init_gpio { + device_type = "boot_init_gpio"; + status = "okay"; + gpio0 = <0xd6 0xb 0x4 0x1 0xffffffff 0xffffffff 0x1>; + gpio1 = <0xd6 0xb 0x7 0x1 0xffffffff 0xffffffff 0x0>; + gpio2 = <0x87 0x7 0x2 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 = <0xe2>; + }; + + card2_boot_para { + device_type = "card2_boot_para"; + card_ctrl = <0x2>; + card_high_speed = <0x1>; + card_line = <0x8>; + pinctrl-0 = <0xe3>; + sdc_ex_dly_used = <0x2>; + sdc_io_1v8 = <0x1>; + sdc_tm4_hs400_max_freq = <0x64>; + sdc_tm4_hs200_max_freq = <0x96>; + }; + + twi_para { + device_type = "twi_para"; + twi_port = <0x0>; + pinctrl-0 = <0xe4>; + }; + + uart_para { + device_type = "uart_para"; + uart_debug_port = <0x0>; + pinctrl-0 = <0xe5>; + }; + + jtag_para { + device_type = "jtag_para"; + jtag_enable = <0x0>; + pinctrl-0 = <0xe6>; + }; + + 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 = <0x87 0x7 0x4 0x6 0xffffffff 0xffffffff 0xffffffff>; + ctp_wakeup = <0x87 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 = <0x0>; + 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 = <0x0>; + motor_shake = <0xff 0xfffe 0x3 0x1 0xffffffff 0xffffffff 0x1>; + }; + + esm { + device_type = "esm"; + esm_img_size_addr = <0x0>; + esm_img_buff_addr = <0x0>; + }; + + pwm16 { + device_type = "pwm16"; + s_pwm0_used = <0x0>; + pinctrl-0 = <0x10b>; + pinctrl-1 = <0x10c>; + }; + + 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; + }; + + gpio_para { + device_type = "gpio_para"; + compatible = "allwinner,sunxi-init-gpio"; + gpio_used = <0x1>; + gpio_num = <0x5>; + gpio_pin_1 = <0xd6 0xb 0x7 0x1 0xffffffff 0xffffffff 0x1>; + gpio_pin_2 = <0xd6 0xb 0x4 0x1 0xffffffff 0xffffffff 0x0>; + gpio_pin_3 = <0x87 0x3 0x10 0x1 0xffffffff 0xffffffff 0x1>; + gpio_pin_4 = <0x87 0x3 0x11 0x1 0xffffffff 0xffffffff 0x1>; + gpio_pin_5 = <0x87 0x3 0x12 0x1 0xffffffff 0xffffffff 0x1>; + normal_led = "gpio_pin_1"; + standby_led = "gpio_pin_2"; + easy_light_used = <0x1>; + normal_led_light = <0x1>; + standby_led_light = <0x1>; + }; + + usbc3 { + device_type = "usbc3"; + status = "okay"; + usb_drv_vbus_gpio; + usb_host_init_state = <0x1>; + usb_regulator_io = "nocare"; + usb_wakeup_suspend = <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 = <0x87 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>; + }; + + addr_mgt { + device_type = "addr_mgt"; + compatible = "allwinner,sunxi-addr_mgt"; + status = "okay"; + type_addr_wifi = <0x0>; + type_addr_bt = <0x0>; + type_addr_eth = <0x0>; + }; + + 3g_para { + device_type = "3g_para"; + 3g_used = <0x0>; + 3g_usbc_num = <0x2>; + 3g_uart_num = <0x0>; + bb_vbat = <0xd6 0xb 0x3 0x1 0xffffffff 0xffffffff 0x0>; + bb_host_wake = <0xd6 0xc 0x0 0x1 0xffffffff 0xffffffff 0x0>; + bb_on = <0xd6 0xc 0x1 0x1 0xffffffff 0xffffffff 0x0>; + bb_pwr_on = <0xd6 0xc 0x3 0x1 0xffffffff 0xffffffff 0x0>; + bb_wake = <0xd6 0xc 0x4 0x1 0xffffffff 0xffffffff 0x0>; + bb_rf_dis = <0xd6 0xc 0x5 0x1 0xffffffff 0xffffffff 0x0>; + bb_rst = <0xd6 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 = <0x87 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 = <0x1>; + 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 = <0x87 0x0 0xc 0x6 0x1 0xffffffff 0xffffffff>; + }; + + ls_list_para { + device_type = "ls_list_para"; + compatible = "allwinner,sun50i-lsensors-list-para"; + ls_det_used = <0x1>; + 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 = <0x87 0x0 0xb 0x6 0x1 0xffffffff 0xffffffff>; + }; + + compass_list_para { + device_type = "compass_list_para"; + compatible = "allwinner,sun50i-compass-list-para"; + compass_det_used = <0x1>; + lsm9ds0 = <0x1>; + lsm303d = <0x0>; + akm8963 = <0x1>; + }; + + dvfs_table_0 { + device_type = "dvfs_table_0"; + max_freq = <0x6b49d200>; + min_freq = <0x1c9c3800>; + lv_count = <0x8>; + lv1_freq = <0x6b49d200>; + lv1_volt = <0x488>; + lv2_freq = <0x58b11400>; + lv2_volt = <0x424>; + lv3_freq = <0x4ead9a00>; + lv3_volt = <0x3e8>; + lv4_freq = "@_~"; + lv4_volt = <0x3ac>; + lv5_freq = <0x34edce00>; + lv5_volt = <0x370>; + lv6_freq = <0x0>; + lv6_volt = <0x370>; + lv7_freq = <0x0>; + lv7_volt = <0x370>; + lv8_freq = <0x0>; + lv8_volt = <0x370>; + }; + + dvfs_table_1 { + device_type = "dvfs_table_1"; + max_freq = <0x6b49d200>; + min_freq = <0x1c9c3800>; + lv_count = <0x8>; + lv1_freq = <0x6b49d200>; + lv1_volt = <0x44c>; + lv2_freq = <0x58b11400>; + lv2_volt = <0x3e8>; + lv3_freq = <0x4ead9a00>; + lv3_volt = <0x3ac>; + lv4_freq = "@_~"; + lv4_volt = <0x370>; + lv5_freq = <0x34edce00>; + lv5_volt = <0x334>; + lv6_freq = <0x0>; + lv6_volt = <0x334>; + lv7_freq = <0x0>; + lv7_volt = <0x334>; + lv8_freq = <0x0>; + lv8_volt = <0x334>; + }; + + dvfs_table_2 { + device_type = "dvfs_table_2"; + max_freq = <0x6b49d200>; + min_freq = <0x1c9c3800>; + lv_count = <0x8>; + lv1_freq = <0x6b49d200>; + lv1_volt = <0x424>; + lv2_freq = <0x58b11400>; + lv2_volt = <0x3c0>; + lv3_freq = <0x4ead9a00>; + lv3_volt = <0x384>; + lv4_freq = "@_~"; + lv4_volt = <0x348>; + lv5_freq = <0x34edce00>; + lv5_volt = <0x320>; + lv6_freq = <0x0>; + lv6_volt = <0x320>; + lv7_freq = <0x0>; + lv7_volt = <0x320>; + lv8_freq = <0x0>; + lv8_volt = <0x320>; + }; + + s_rsb0 { + device_type = "s_rsb0"; + status = "disabled"; + pinctrl-0 = <0x113>; + }; + + box_standby_led { + device_type = "box_standby_led"; + gpio0 = <0xd6 0xb 0x7 0x1 0xffffffff 0xffffffff 0x0>; + gpio1 = <0xd6 0xb 0x4 0x1 0xffffffff 0xffffffff 0x1>; + }; + + gpio_power_key { + device_type = "gpio_power_key"; + compatible = "allwinner,sunxi-gpio-power-key"; + status = "disabled"; + key_io = <0xd6 0xb 0x5 0x0 0xffffffff 0xffffffff 0x0>; + trigger_mode = <0x1>; + }; + + auto_print { + device_type = "auto_print"; + status = "disabled"; + }; + }; + + aliases { + serial0 = "/soc@03000000/uart@05000000", "/soc@03000000/uart@05000000"; + serial1 = "/soc@03000000/uart@05000400", "/soc@03000000/uart@05000400"; + serial2 = "/soc@03000000/uart@05000800", "/soc@03000000/uart@05000800"; + serial3 = "/soc@03000000/uart@05000c00", "/soc@03000000/uart@05000c00"; + twi0 = "/soc@03000000/twi@0x05002000", "/soc@03000000/twi@0x05002000"; + twi1 = "/soc@03000000/twi@0x05002400", "/soc@03000000/twi@0x05002400"; + twi2 = "/soc@03000000/twi@0x05002800", "/soc@03000000/twi@0x05002800"; + twi3 = "/soc@03000000/twi@0x05002c00", "/soc@03000000/twi@0x05002c00"; + spi0 = "/soc@03000000/spi@05010000", "/soc@03000000/spi@05010000"; + spi1 = "/soc@03000000/spi@05011000", "/soc@03000000/spi@05011000"; + pcie = "/soc@03000000/pcie@0x05400000", "/soc@03000000/pcie@0x05400000"; + scr0 = "/soc@03000000/smartcard@0x05005000", "/soc@03000000/smartcard@0x05005000"; + scr1 = "/soc@03000000/smartcard@0x05005400", "/soc@03000000/smartcard@0x05005400"; + gmac0 = "/soc@03000000/eth@05020000", "/soc@03000000/eth@05020000"; + global_timer0 = "/soc@03000000/timer@03009000", "/soc@03000000/timer@03009000"; + mmc0 = "/soc@03000000/sdmmc@04020000", "/soc@03000000/sdmmc@04020000"; + mmc2 = "/soc@03000000/sdmmc@04022000", "/soc@03000000/sdmmc@04022000"; + nand0 = "/soc@03000000/nand0@04011000", "/soc@03000000/nand0@04011000"; + disp = "/soc@03000000/disp@01000000", "/soc@03000000/disp@01000000"; + lcd0 = "/soc@03000000/lcd0@01c0c000", "/soc@03000000/lcd0@01c0c000"; + lcd1 = "/soc@03000000/lcd1@01c0c001", "/soc@03000000/lcd1@01c0c001"; + hdmi = "/soc@03000000/hdmi@06000000", "/soc@03000000/hdmi@06000000"; + pwm = "/soc@03000000/pwm@0300a000", "/soc@03000000/pwm@0300a000"; + pwm0 = "/soc@03000000/pwm0@0300a000", "/soc@03000000/pwm0@0300a000"; + pwm1 = "/soc@03000000/pwm1@0300a000", "/soc@03000000/pwm1@0300a000"; + tv0 = "/soc@03000000/tv0@01c94000", "/soc@03000000/tv0@01c94000"; + s_pwm = "/soc@03000000/s_pwm@07020c00", "/soc@03000000/s_pwm@07020c00"; + spwm0 = "/soc@03000000/spwm0@07020c00", "/soc@03000000/spwm0@07020c00"; + ac200 = "/soc@03000000/ac200", "/soc@03000000/ac200"; + boot_disp = "/soc@03000000/boot_disp", "/soc@03000000/boot_disp"; + charger0 = "/soc@03000000/pmu@0/charger@0", "/soc@03000000/pmu@0/charger@0"; + regulator0 = "/soc@03000000/pmu@0/regulator@0", "/soc@03000000/pmu@0/regulator@0"; + }; + + chosen { + bootargs = "earlyprintk=sunxi-uart,0x05000000 loglevel=8 initcall_debug=1 console=ttyS0 init=/init"; + linux,initrd-start = <0x0 0x0>; + linux,initrd-end = <0x0 0x0>; + }; + + firmware { + + android { + compatible = "android,firmware"; + boot_devices = "soc/sdc0,soc/sdc2,soc"; + + fstab { + compatible = "android,fstab"; + + vendor { + compatible = "android,vendor"; + dev = "/dev/block/by-name/vendor"; + fsmgr_flags = "wait,recoveryonly"; + mnt_flags = "ro,barrier=1"; + status = "ok"; + type = "ext4"; + }; + }; + }; + + optee { + compatible = "linaro,optee-tz"; + method = "smc"; + }; + }; + + cpus { + #address-cells = <0x2>; + #size-cells = <0x0>; + + cpu@0 { + device_type = "cpu"; + compatible = "arm,cortex-a53", "arm,armv8"; + reg = <0x0 0x0>; + enable-method = "psci"; + clocks = <0xd7>; + clock-latency = <0x1e8480>; + clock-frequency = <0x4ead9a00>; + operating-points-v2 = <0xd8 0xd9 0xda>; + cpu-idle-states = <0xdb 0xdc 0xdd>; + }; + + cpu@1 { + device_type = "cpu"; + compatible = "arm,cortex-a53", "arm,armv8"; + reg = <0x0 0x1>; + enable-method = "psci"; + clocks = <0xd7>; + clock-frequency = <0x4ead9a00>; + operating-points-v2 = <0xd8 0xd9 0xda>; + cpu-idle-states = <0xdb 0xdc 0xdd>; + }; + + cpu@2 { + device_type = "cpu"; + compatible = "arm,cortex-a53", "arm,armv8"; + reg = <0x0 0x2>; + enable-method = "psci"; + clocks = <0xd7>; + clock-frequency = <0x4ead9a00>; + operating-points-v2 = <0xd8 0xd9 0xda>; + cpu-idle-states = <0xdb 0xdc 0xdd>; + }; + + cpu@3 { + device_type = "cpu"; + compatible = "arm,cortex-a53", "arm,armv8"; + reg = <0x0 0x3>; + enable-method = "psci"; + clocks = <0xd7>; + clock-frequency = <0x4ead9a00>; + operating-points-v2 = <0xd8 0xd9 0xda>; + cpu-idle-states = <0xdb 0xdc 0xdd>; + }; + + idle-states { + entry-method = "arm,psci"; + + cpu-sleep-0 { + compatible = "arm,idle-state"; + arm,psci-suspend-param = <0x10000>; + entry-latency-us = <0xfa0>; + exit-latency-us = <0x2710>; + min-residency-us = <0x3a98>; + linux,phandle = <0xdb>; + phandle = <0xdb>; + }; + + cluster-sleep-0 { + compatible = "arm,idle-state"; + arm,psci-suspend-param = <0x1010000>; + entry-latency-us = <0xc350>; + exit-latency-us = <0x186a0>; + min-residency-us = <0x3d090>; + linux,phandle = <0xdc>; + phandle = <0xdc>; + }; + + sys-sleep-0 { + compatible = "arm,idle-state"; + arm,psci-suspend-param = <0x2010000>; + entry-latency-us = <0x186a0>; + exit-latency-us = <0x1e8480>; + min-residency-us = <0x44aa20>; + linux,phandle = <0xdd>; + phandle = <0xdd>; + }; + }; + }; + + 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 0xa000>; + }; + + s_brom { + compatible = "allwinner,s-brom"; + reg = <0x0 0x0 0x0 0x10000>; + }; + + sram_ctrl { + device_type = "sram_ctrl"; + compatible = "allwinner,sram_ctrl"; + reg = <0x0 0x3000000 0x0 0x100>; + }; + + sram_a1 { + compatible = "allwinner,sram_a1"; + reg = <0x0 0x20000 0x0 0x8000>; + }; + + sram_a2 { + compatible = "allwinner,sram_a2"; + reg = <0x0 0x100000 0x0 0x14000>; + }; + + prcm { + compatible = "allwinner,prcm"; + reg = <0x0 0x1f01400 0x0 0x400>; + }; + + s_cpuscfg { + compatible = "allwinner,s_cpuscfg"; + reg = <0x0 0x1f01c00 0x0 0x400>; + }; + + ion { + compatible = "allwinner,sunxi-ion"; + + heap_sys_user@0 { + compatible = "allwinner,sys_user"; + heap-name = "sys_user"; + heap-id = <0x0>; + heap-base = <0x0>; + heap-size = <0x0>; + heap-type = "ion_system"; + }; + + heap_sys_contig@0 { + compatible = "allwinner,sys_contig"; + heap-name = "sys_contig"; + heap-id = <0x1>; + heap-base = <0x0>; + heap-size = <0x0>; + heap-type = "ion_contig"; + }; + + heap_cma@0 { + compatible = "allwinner,cma"; + heap-name = "cma"; + heap-id = <0x4>; + heap-base = <0x0>; + heap-size = <0x0>; + heap-type = "ion_cma"; + }; + + heap_secure@0 { + compatible = "allwinner,secure"; + heap-name = "secure"; + heap-id = <0x6>; + heap-base = <0x0>; + heap-size = <0x0>; + heap-type = "ion_secure"; + }; + }; + + dram { + compatible = "allwinner,dram"; + clocks = <0xde>; + clock-names = "pll_ddr"; + dram_clk = <0x0>; + dram_type = <0x7>; + dram_zq = <0x3b3bfb>; + dram_odt_en = <0x31>; + dram_para1 = <0x30fa>; + dram_para2 = <0x4000000>; + dram_mr0 = <0x1c70>; + dram_mr1 = <0x40>; + dram_mr2 = <0x18>; + dram_mr3 = <0x1>; + dram_tpr0 = <0x48a192>; + dram_tpr1 = <0x1b1a94b>; + dram_tpr2 = <0x61043>; + dram_tpr3 = <0x78787896>; + dram_tpr4 = <0x0>; + dram_tpr5 = <0x0>; + dram_tpr6 = "\t\t\t"; + dram_tpr7 = <0x4d462a3e>; + dram_tpr8 = <0x0>; + dram_tpr9 = <0x0>; + dram_tpr10 = <0x0>; + dram_tpr11 = <0x440000>; + dram_tpr12 = <0x0>; + dram_tpr13 = <0x0>; + device_type = "dram"; + dram_mr4 = <0x0>; + dram_mr5 = <0x400>; + dram_mr6 = <0x848>; + }; + + memory@40000000 { + device_type = "memory"; + reg = <0x0 0x40000000 0x0 0x20000000>; + }; + + interrupt-controller@03020000 { + compatible = "arm,cortex-a15-gic", "arm,cortex-a9-gic"; + #interrupt-cells = <0x3>; + #address-cells = <0x0>; + device_type = "gic"; + interrupt-controller; + reg = <0x0 0x3021000 0x0 0x1000 0x0 0x3022000 0x0 0x2000 0x0 0x3024000 0x0 0x2000 0x0 0x3026000 0x0 0x2000>; + interrupts = <0x1 0x9 0xf04>; + linux,phandle = <0x1>; + phandle = <0x1>; + }; + + sunxi-sid@03006000 { + compatible = "allwinner,sunxi-sid"; + device_type = "sid"; + reg = <0x0 0x3006000 0x0 0x1000>; + }; + + sunxi-chipid@03006200 { + compatible = "allwinner,sunxi-chipid"; + device_type = "chipid"; + reg = <0x0 0x3006200 0x0 0x200>; + }; + + timer_arch { + compatible = "arm,armv8-timer"; + interrupts = <0x1 0xd 0xf08 0x1 0xe 0xf08 0x1 0xb 0xf08 0x1 0xa 0xf08>; + clock-frequency = <0x16e3600>; + arm,no-tick-in-suspend; + }; + + pmu { + compatible = "arm,armv8-pmuv3"; + interrupts = <0x0 0x8c 0x4 0x0 0x8d 0x4 0x0 0x8e 0x4 0x0 0x8f 0x4>; + }; + + opp_dvfs_table { + cluster_num = <0x1>; + opp_table_count = <0x3>; + + opp_l_table0 { + compatible = "allwinner,opp_l_table0"; + opp_count = <0x8>; + opp-shared; + linux,phandle = <0xd8>; + phandle = <0xd8>; + + opp00 { + opp-hz = <0x0 0x1c9c3800>; + opp-microvolt = <0xd6d80>; + axi-bus-divide-ratio = <0x3>; + clock-latency-ns = <0x1e8480>; + pval = <0xaf0>; + }; + + opp01 { + opp-hz = <0x0 0x2aea5400>; + opp-microvolt = <0xd6d80>; + axi-bus-divide-ratio = <0x3>; + clock-latency-ns = <0x1e8480>; + pval = <0xaf0>; + }; + + opp02 { + opp-hz = <0x0 0x30a32c00>; + opp-microvolt = <0xd6d80>; + axi-bus-divide-ratio = <0x3>; + clock-latency-ns = <0x1e8480>; + pval = <0xaf0>; + }; + + opp03 { + opp-hz = <0x0 0x34edce00>; + opp-microvolt = <0xd6d80>; + axi-bus-divide-ratio = <0x3>; + clock-latency-ns = <0x1e8480>; + pval = <0xaf0>; + }; + + opp04 { + opp-hz = <0x0 0x405f7e00>; + opp-microvolt = <0xe57e0>; + axi-bus-divide-ratio = <0x3>; + clock-latency-ns = <0x1e8480>; + pval = <0xc1c>; + }; + + opp05 { + opp-hz = <0x0 0x4ead9a00>; + opp-microvolt = <0xf4240>; + axi-bus-divide-ratio = <0x3>; + clock-latency-ns = <0x1e8480>; + pval = <0xe42>; + }; + + opp06 { + opp-hz = <0x0 0x58b11400>; + opp-microvolt = <0x102ca0>; + axi-bus-divide-ratio = <0x3>; + clock-latency-ns = <0x1e8480>; + pval = <0xf6e>; + }; + }; + + opp_l_table1 { + compatible = "allwinner,opp_l_table1"; + opp_count = <0x8>; + opp-shared; + linux,phandle = <0xd9>; + phandle = <0xd9>; + + opp00 { + opp-hz = <0x0 0x1c9c3800>; + opp-microvolt = <0xc8320>; + axi-bus-divide-ratio = <0x3>; + clock-latency-ns = <0x1e8480>; + pval = <0xaf0>; + }; + + opp01 { + opp-hz = <0x0 0x2aea5400>; + opp-microvolt = <0xc8320>; + axi-bus-divide-ratio = <0x3>; + clock-latency-ns = <0x1e8480>; + pval = <0xaf0>; + }; + + opp02 { + opp-hz = <0x0 0x30a32c00>; + opp-microvolt = <0xc8320>; + axi-bus-divide-ratio = <0x3>; + clock-latency-ns = <0x1e8480>; + pval = <0xaf0>; + }; + + opp03 { + opp-hz = <0x0 0x34edce00>; + opp-microvolt = <0xc8320>; + axi-bus-divide-ratio = <0x3>; + clock-latency-ns = <0x1e8480>; + pval = <0xaf0>; + }; + + opp04 { + opp-hz = <0x0 0x405f7e00>; + opp-microvolt = <0xd6d80>; + axi-bus-divide-ratio = <0x3>; + clock-latency-ns = <0x1e8480>; + pval = <0xc1c>; + }; + + opp05 { + opp-hz = <0x0 0x4ead9a00>; + opp-microvolt = <0xe57e0>; + axi-bus-divide-ratio = <0x3>; + clock-latency-ns = <0x1e8480>; + pval = <0xe42>; + }; + + opp06 { + opp-hz = <0x0 0x58b11400>; + opp-microvolt = <0xf4240>; + axi-bus-divide-ratio = <0x3>; + clock-latency-ns = <0x1e8480>; + pval = <0xf6e>; + }; + }; + + opp_l_table2 { + compatible = "allwinner,opp_l_table2"; + opp_count = <0x8>; + opp-shared; + linux,phandle = <0xda>; + phandle = <0xda>; + + opp00 { + opp-hz = <0x0 0x1c9c3800>; + opp-microvolt = <0xc3500>; + axi-bus-divide-ratio = <0x3>; + clock-latency-ns = <0x1e8480>; + pval = <0xaf0>; + }; + + opp01 { + opp-hz = <0x0 0x2aea5400>; + opp-microvolt = <0xc3500>; + axi-bus-divide-ratio = <0x3>; + clock-latency-ns = <0x1e8480>; + pval = <0xaf0>; + }; + + opp02 { + opp-hz = <0x0 0x30a32c00>; + opp-microvolt = <0xc3500>; + axi-bus-divide-ratio = <0x3>; + clock-latency-ns = <0x1e8480>; + pval = <0xaf0>; + }; + + opp03 { + opp-hz = <0x0 0x34edce00>; + opp-microvolt = <0xc3500>; + axi-bus-divide-ratio = <0x3>; + clock-latency-ns = <0x1e8480>; + pval = <0xaf0>; + }; + + opp04 { + opp-hz = <0x0 0x405f7e00>; + opp-microvolt = <0xcd140>; + axi-bus-divide-ratio = <0x3>; + clock-latency-ns = <0x1e8480>; + pval = <0xc1c>; + }; + + opp05 { + opp-hz = <0x0 0x4ead9a00>; + opp-microvolt = <0xdbba0>; + axi-bus-divide-ratio = <0x3>; + clock-latency-ns = <0x1e8480>; + pval = <0xe42>; + }; + + opp06 { + opp-hz = <0x0 0x58b11400>; + opp-microvolt = <0xea600>; + axi-bus-divide-ratio = <0x3>; + clock-latency-ns = <0x1e8480>; + pval = <0xf6e>; + }; + }; + }; + + dramfreq { + compatible = "allwinner,sunxi-dramfreq"; + reg = <0x0 0x4002000 0x0 0x1000 0x0 0x4003000 0x0 0x3000 0x0 0x3001000 0x0 0x1000>; + interrupts = <0x0 0x21 0x4>; + clocks = <0xde>; + status = "okay"; + }; + + uboot { + }; + + iommu@030f0000 { + compatible = "allwinner,sunxi-iommu"; + reg = <0x0 0x30f0000 0x0 0x1000>; + interrupts = <0x0 0x39 0x4>; + interrupt-names = "iommu-irq"; + clocks = <0xdf>; + clock-names = "iommu"; + #iommu-cells = <0x2>; + status = "okay"; + linux,phandle = <0x21>; + phandle = <0x21>; + }; + + gpu@0x01800000 { + device_type = "gpu"; + compatible = "arm,mali-t720", "arm,mali-midgard"; + reg = <0x0 0x1800000 0x0 0x4000>; + interrupts = <0x0 0x53 0x4 0x0 0x54 0x4 0x0 0x55 0x4>; + interrupt-names = "GPU", "JOB", "MMU"; + clocks = <0xe0 0xe1>; + clock-names = "clk_parent", "clk_mali"; + operating-points = <0xb8920 0xfde80 0x98580 0xe7ef0 0x8ca00 0xe30d0 0x83d60 0xde2b0 0x7b0c0 0xd9490 0x6f540 0xd4670 0x69780 0xd1f60 0x668a0 0xcf850 0x639c0 0xcd140 0x5dc00 0xcaa30 0x57e40 0xc8320 0x52080 0xc5c10 0x4c2c0 0xc5c10 0x40740 0xc5c10 0x34bc0 0xc5c10>; + gpu_idle = <0x0>; + dvfs_status = <0x1>; + temp_ctrl_status = <0x1>; + scene_ctrl_status = <0x1>; + max_normal_level = <0xd>; + }; +}; diff --git a/external/packages/pack-uboot/sun50iw6/bin/dts/orangepioneplus-u-boot.dts b/external/packages/pack-uboot/sun50iw6/bin/dts/orangepioneplus-u-boot.dts new file mode 100644 index 0000000..edc218f --- /dev/null +++ b/external/packages/pack-uboot/sun50iw6/bin/dts/orangepioneplus-u-boot.dts @@ -0,0 +1,5187 @@ +/dts-v1/; + +/memreserve/ 0x0000000040020000 0x0000000000000800; +/memreserve/ 0x0000000048000000 0x0000000001000000; +/memreserve/ 0x0000000048100000 0x0000000000004000; +/memreserve/ 0x0000000048104000 0x0000000000001000; +/memreserve/ 0x0000000048105000 0x0000000000001000; +/ { + model = "sun50iw6"; + compatible = "arm,sun50iw6p1"; + interrupt-parent = <0x1>; + #address-cells = <0x2>; + #size-cells = <0x2>; + + clocks { + compatible = "allwinner,clk-init"; + device_type = "clocks"; + #address-cells = <0x2>; + #size-cells = <0x2>; + ranges; + reg = <0x0 0x3001000 0x0 0x1000 0x0 0x7010000 0x0 0x400 0x0 0x7000000 0x0 0x4>; + + losc { + #clock-cells = <0x0>; + compatible = "allwinner,fixed-clock"; + clock-frequency = <0x8000>; + clock-output-names = "losc"; + linux,phandle = <0x15>; + phandle = <0x15>; + }; + + iosc { + #clock-cells = <0x0>; + compatible = "allwinner,fixed-clock"; + clock-frequency = <0xf42400>; + clock-output-names = "iosc"; + linux,phandle = <0x16>; + phandle = <0x16>; + }; + + hosc { + #clock-cells = <0x0>; + compatible = "allwinner,fixed-clock"; + clock-frequency = <0x16e3600>; + clock-output-names = "hosc"; + linux,phandle = <0x7>; + phandle = <0x7>; + }; + + osc48m { + #clock-cells = <0x0>; + compatible = "allwinner,fixed-clock"; + clock-frequency = <0x2dc6c00>; + clock-output-names = "osc48m"; + linux,phandle = <0x8>; + phandle = <0x8>; + }; + + pll_cpu { + #clock-cells = <0x0>; + compatible = "allwinner,pll-clock"; + lock-mode = "new"; + clock-output-names = "pll_cpu"; + linux,phandle = <0xd7>; + phandle = <0xd7>; + }; + + pll_ddr0 { + #clock-cells = <0x0>; + compatible = "allwinner,pll-clock"; + lock-mode = "new"; + clock-output-names = "pll_ddr0"; + linux,phandle = <0xde>; + phandle = <0xde>; + }; + + pll_periph0 { + #clock-cells = <0x0>; + compatible = "allwinner,pll-clock"; + assigned-clock-rates = <0x23c34600>; + lock-mode = "new"; + clock-output-names = "pll_periph0"; + linux,phandle = <0x2>; + phandle = <0x2>; + }; + + pll_periph1 { + #clock-cells = <0x0>; + compatible = "allwinner,pll-clock"; + assigned-clock-rates = <0x23c34600>; + lock-mode = "new"; + clock-output-names = "pll_periph1"; + linux,phandle = <0x3>; + phandle = <0x3>; + }; + + pll_gpu { + #clock-cells = <0x0>; + compatible = "allwinner,pll-clock"; + lock-mode = "new"; + clock-output-names = "pll_gpu"; + linux,phandle = <0xe0>; + phandle = <0xe0>; + }; + + pll_video0 { + #clock-cells = <0x0>; + compatible = "allwinner,pll-clock"; + lock-mode = "new"; + clock-output-names = "pll_video0"; + linux,phandle = <0x5>; + phandle = <0x5>; + }; + + pll_video1 { + #clock-cells = <0x0>; + compatible = "allwinner,pll-clock"; + lock-mode = "new"; + assigned-clock-rates = <0x2367b880>; + clock-output-names = "pll_video1"; + linux,phandle = <0x6>; + phandle = <0x6>; + }; + + pll_ve { + #clock-cells = <0x0>; + compatible = "allwinner,pll-clock"; + device_type = "clk_pll_ve"; + lock-mode = "new"; + clock-output-names = "pll_ve"; + linux,phandle = <0x1f>; + phandle = <0x1f>; + }; + + pll_de { + #clock-cells = <0x0>; + compatible = "allwinner,pll-clock"; + assigned-clock-rates = <0x297c1e00>; + lock-mode = "new"; + clock-output-names = "pll_de"; + linux,phandle = <0x9>; + phandle = <0x9>; + }; + + pll_hsic { + #clock-cells = <0x0>; + compatible = "allwinner,pll-clock"; + lock-mode = "new"; + clock-output-names = "pll_hsic"; + linux,phandle = <0x47>; + phandle = <0x47>; + }; + + pll_audio { + #clock-cells = <0x0>; + compatible = "allwinner,pll-clock"; + lock-mode = "new"; + clock-output-names = "pll_audio"; + linux,phandle = <0x4>; + phandle = <0x4>; + }; + + pll_periph0x2 { + #clock-cells = <0x0>; + compatible = "allwinner,fixed-factor-clock"; + clocks = <0x2>; + clock-mult = <0x2>; + clock-div = <0x1>; + clock-output-names = "pll_periph0x2"; + linux,phandle = <0x23>; + phandle = <0x23>; + }; + + pll_periph0x4 { + #clock-cells = <0x0>; + compatible = "allwinner,fixed-factor-clock"; + clocks = <0x2>; + clock-mult = <0x4>; + clock-div = <0x1>; + clock-output-names = "pll_periph0x4"; + }; + + periph32k { + #clock-cells = <0x0>; + compatible = "allwinner,fixed-factor-clock"; + clocks = <0x2>; + clock-mult = <0x2>; + clock-div = <0x8f0d>; + clock-output-names = "periph32k"; + }; + + pll_periph1x2 { + #clock-cells = <0x0>; + compatible = "allwinner,fixed-factor-clock"; + clocks = <0x3>; + clock-mult = <0x2>; + clock-div = <0x1>; + clock-output-names = "pll_periph1x2"; + linux,phandle = <0x7b>; + phandle = <0x7b>; + }; + + pll_audiox4 { + #clock-cells = <0x0>; + compatible = "allwinner,fixed-factor-clock"; + clocks = <0x4>; + clock-mult = <0x4>; + clock-div = <0x1>; + clock-output-names = "pll_audiox4"; + }; + + pll_audiox2 { + #clock-cells = <0x0>; + compatible = "allwinner,fixed-factor-clock"; + clocks = <0x4>; + clock-mult = <0x2>; + clock-div = <0x1>; + clock-output-names = "pll_audiox2"; + }; + + pll_video0x4 { + #clock-cells = <0x0>; + compatible = "allwinner,fixed-factor-clock"; + clocks = <0x5>; + clock-mult = <0x4>; + clock-div = <0x1>; + clock-output-names = "pll_video0x4"; + }; + + pll_video1x4 { + #clock-cells = <0x0>; + compatible = "allwinner,fixed-factor-clock"; + clocks = <0x6>; + clock-mult = <0x4>; + clock-div = <0x1>; + clock-output-names = "pll_video1x4"; + }; + + hoscd2 { + #clock-cells = <0x0>; + compatible = "allwinner,fixed-factor-clock"; + clocks = <0x7>; + clock-mult = <0x1>; + clock-div = <0x2>; + clock-output-names = "hoscd2"; + }; + + osc48md4 { + #clock-cells = <0x0>; + compatible = "allwinner,fixed-factor-clock"; + clocks = <0x8>; + clock-mult = <0x1>; + clock-div = <0x4>; + clock-output-names = "osc48md4"; + linux,phandle = <0x41>; + phandle = <0x41>; + }; + + pll_periph0d6 { + #clock-cells = <0x0>; + compatible = "allwinner,fixed-factor-clock"; + clocks = <0x2>; + clock-mult = <0x1>; + clock-div = <0x6>; + clock-output-names = "pll_periph0d6"; + }; + + cpu { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "cpu"; + }; + + axi { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "axi"; + }; + + cpuapb { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "cpuapb"; + }; + + psi { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "psi"; + }; + + ahb1 { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "ahb1"; + }; + + ahb2 { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "ahb2"; + }; + + ahb3 { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "ahb3"; + }; + + apb1 { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "apb1"; + }; + + apb2 { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "apb2"; + linux,phandle = <0xae>; + phandle = <0xae>; + }; + + mbus { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "mbus"; + }; + + de { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + assigned-clock-parents = <0x9>; + assigned-clock-rates = <0x297c1e00>; + assigned-clocks = <0xa>; + clock-output-names = "de"; + linux,phandle = <0xa>; + phandle = <0xa>; + }; + + di { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "di"; + linux,phandle = <0xac>; + phandle = <0xac>; + }; + + gpu { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "gpu"; + linux,phandle = <0xe1>; + phandle = <0xe1>; + }; + + ce { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "ce"; + linux,phandle = <0xab>; + phandle = <0xab>; + }; + + ve { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "ve"; + linux,phandle = <0x20>; + phandle = <0x20>; + }; + + emce { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "emce"; + linux,phandle = <0xaa>; + phandle = <0xaa>; + }; + + vp9 { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "vp9"; + linux,phandle = <0x22>; + phandle = <0x22>; + }; + + dma { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "dma"; + linux,phandle = <0x14>; + phandle = <0x14>; + }; + + msgbox { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "msgbox"; + linux,phandle = <0x17>; + phandle = <0x17>; + }; + + hwspinlock_rst { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "hwspinlock_rst"; + linux,phandle = <0x18>; + phandle = <0x18>; + }; + + hwspinlock_bus { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "hwspinlock_bus"; + linux,phandle = <0x19>; + phandle = <0x19>; + }; + + hstimer { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "hstimer"; + }; + + avs { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "avs"; + }; + + dbgsys { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "dbgsys"; + }; + + pwm { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "pwm"; + linux,phandle = <0x93>; + phandle = <0x93>; + }; + + iommu { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "iommu"; + linux,phandle = <0xdf>; + phandle = <0xdf>; + }; + + sdram { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "sdram"; + }; + + nand0 { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "nand0"; + linux,phandle = <0xb6>; + phandle = <0xb6>; + }; + + nand1 { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "nand1"; + linux,phandle = <0xb7>; + phandle = <0xb7>; + }; + + sdmmc0_mod { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "sdmmc0_mod"; + linux,phandle = <0x81>; + phandle = <0x81>; + }; + + sdmmc0_bus { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "sdmmc0_bus"; + linux,phandle = <0x82>; + phandle = <0x82>; + }; + + sdmmc0_rst { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "sdmmc0_rst"; + linux,phandle = <0x83>; + phandle = <0x83>; + }; + + sdmmc1_mod { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "sdmmc1_mod"; + linux,phandle = <0x88>; + phandle = <0x88>; + }; + + sdmmc1_bus { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "sdmmc1_bus"; + linux,phandle = <0x89>; + phandle = <0x89>; + }; + + sdmmc1_rst { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "sdmmc1_rst"; + linux,phandle = <0x8a>; + phandle = <0x8a>; + }; + + sdmmc2_mod { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "sdmmc2_mod"; + linux,phandle = <0x7c>; + phandle = <0x7c>; + }; + + sdmmc2_bus { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "sdmmc2_bus"; + linux,phandle = <0x7d>; + phandle = <0x7d>; + }; + + sdmmc2_rst { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "sdmmc2_rst"; + linux,phandle = <0x7e>; + phandle = <0x7e>; + }; + + uart0 { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "uart0"; + linux,phandle = <0x24>; + phandle = <0x24>; + }; + + uart1 { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "uart1"; + linux,phandle = <0x27>; + phandle = <0x27>; + }; + + uart2 { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "uart2"; + linux,phandle = <0x2a>; + phandle = <0x2a>; + }; + + uart3 { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "uart3"; + linux,phandle = <0x2d>; + phandle = <0x2d>; + }; + + twi0 { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "twi0"; + linux,phandle = <0x30>; + phandle = <0x30>; + }; + + twi1 { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "twi1"; + linux,phandle = <0x33>; + phandle = <0x33>; + }; + + twi2 { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "twi2"; + linux,phandle = <0x36>; + phandle = <0x36>; + }; + + twi3 { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "twi3"; + linux,phandle = <0x39>; + phandle = <0x39>; + }; + + scr0 { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "scr0"; + linux,phandle = <0xad>; + phandle = <0xad>; + }; + + scr1 { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "scr1"; + linux,phandle = <0xb2>; + phandle = <0xb2>; + }; + + spi0 { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "spi0"; + linux,phandle = <0x6f>; + phandle = <0x6f>; + }; + + spi1 { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "spi1"; + linux,phandle = <0x73>; + phandle = <0x73>; + }; + + gmac { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "gmac"; + linux,phandle = <0xd2>; + phandle = <0xd2>; + }; + + sata { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "sata"; + }; + + sata_24m { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "sata_24m"; + }; + + ts { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "ts"; + linux,phandle = <0xbb>; + phandle = <0xbb>; + }; + + irtx { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "irtx"; + }; + + ths { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "ths"; + linux,phandle = <0xc4>; + phandle = <0xc4>; + }; + + i2s0 { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "i2s0"; + linux,phandle = <0x4a>; + phandle = <0x4a>; + }; + + i2s1 { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "i2s1"; + linux,phandle = <0x4d>; + phandle = <0x4d>; + }; + + i2s2 { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "i2s2"; + linux,phandle = <0x4e>; + phandle = <0x4e>; + }; + + i2s3 { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "i2s3"; + linux,phandle = <0x51>; + phandle = <0x51>; + }; + + spdif { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "spdif"; + linux,phandle = <0x54>; + phandle = <0x54>; + }; + + dmic { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "dmic"; + linux,phandle = <0x57>; + phandle = <0x57>; + }; + + ahub { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "ahub"; + linux,phandle = <0x5a>; + phandle = <0x5a>; + }; + + usbphy0 { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "usbphy0"; + linux,phandle = <0x3c>; + phandle = <0x3c>; + }; + + usbphy1 { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "usbphy1"; + linux,phandle = <0x42>; + phandle = <0x42>; + }; + + usbphy3 { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "usbphy3"; + linux,phandle = <0x44>; + phandle = <0x44>; + }; + + usbohci0 { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "usbohci0"; + linux,phandle = <0x3f>; + phandle = <0x3f>; + }; + + usbohci0_12m { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "usbohci0_12m"; + linux,phandle = <0x40>; + phandle = <0x40>; + }; + + usbohci3 { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "usbohci3"; + linux,phandle = <0x48>; + phandle = <0x48>; + }; + + usbohci3_12m { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "usbohci3_12m"; + linux,phandle = <0x49>; + phandle = <0x49>; + }; + + usbehci0 { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "usbehci0"; + linux,phandle = <0x3e>; + phandle = <0x3e>; + }; + + usbehci3 { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "usbehci3"; + linux,phandle = <0x45>; + phandle = <0x45>; + }; + + usb3_0_host { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "usb3_0_host"; + linux,phandle = <0x43>; + phandle = <0x43>; + }; + + usbotg { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "usbotg"; + linux,phandle = <0x3d>; + phandle = <0x3d>; + }; + + usbhsic { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "usbhsic"; + linux,phandle = <0x46>; + phandle = <0x46>; + }; + + pcieref { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "pcieref"; + linux,phandle = <0x77>; + phandle = <0x77>; + }; + + pciemaxi { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + assigned-clocks = <0xb>; + assigned-clock-rates = <0xbebc200>; + clock-output-names = "pciemaxi"; + linux,phandle = <0xb>; + phandle = <0xb>; + }; + + pcieaux { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + assigned-clock-rates = <0xf4240>; + assigned-clocks = <0xc>; + clock-output-names = "pcieaux"; + linux,phandle = <0xc>; + phandle = <0xc>; + }; + + pcie_bus { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "pcie_bus"; + linux,phandle = <0x78>; + phandle = <0x78>; + }; + + pcie_power { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "pcie_power"; + linux,phandle = <0x79>; + phandle = <0x79>; + }; + + pcie_rst { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "pcie_rst"; + linux,phandle = <0x7a>; + phandle = <0x7a>; + }; + + hdmi { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + assigned-clock-parents = <0x6>; + assigned-clocks = <0xd>; + clock-output-names = "hdmi"; + linux,phandle = <0xd>; + phandle = <0xd>; + }; + + hdmi_slow { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + assigned-clocks = <0xe>; + clock-output-names = "hdmi_slow"; + linux,phandle = <0xe>; + phandle = <0xe>; + }; + + hdmi_cec { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + assigned-clocks = <0xf>; + clock-output-names = "hdmi_cec"; + linux,phandle = <0xf>; + phandle = <0xf>; + }; + + display_top { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "display_top"; + linux,phandle = <0x8d>; + phandle = <0x8d>; + }; + + tcon_lcd { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "tcon_lcd"; + linux,phandle = <0x8e>; + phandle = <0x8e>; + }; + + tcon_tv { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + assigned-clock-parents = <0x6>; + assigned-clocks = <0x10>; + clock-output-names = "tcon_tv"; + linux,phandle = <0x10>; + phandle = <0x10>; + }; + + csi_misc { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "csi_misc"; + linux,phandle = <0x9e>; + phandle = <0x9e>; + }; + + csi_top { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "csi_top"; + linux,phandle = <0x9a>; + phandle = <0x9a>; + }; + + csi_master0 { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "csi_master0"; + linux,phandle = <0x9b>; + phandle = <0x9b>; + }; + + hdmi_hdcp { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + assigned-clock-parents = <0x3>; + assigned-clocks = <0x11>; + clock-output-names = "hdmi_hdcp"; + linux,phandle = <0x11>; + phandle = <0x11>; + }; + + pio { + #clock-cells = <0x0>; + compatible = "allwinner,periph-clock"; + clock-output-names = "pio"; + linux,phandle = <0x13>; + phandle = <0x13>; + }; + + cpurcir { + #clock-cells = <0x0>; + compatible = "allwinner,periph-cpus-clock"; + clock-output-names = "cpurcir"; + linux,phandle = <0x1b>; + phandle = <0x1b>; + }; + + losc_out { + #clock-cells = <0x0>; + compatible = "allwinner,periph-cpus-clock"; + clock-output-names = "losc_out"; + linux,phandle = <0xd5>; + phandle = <0xd5>; + }; + + cpurcpus_pll { + #clock-cells = <0x0>; + compatible = "allwinner,periph-cpus-clock"; + clock-output-names = "cpurcpus_pll"; + }; + + cpurcpus { + #clock-cells = <0x0>; + compatible = "allwinner,periph-cpus-clock"; + clock-output-names = "cpurcpus"; + }; + + cpurahbs { + #clock-cells = <0x0>; + compatible = "allwinner,periph-cpus-clock"; + clock-output-names = "cpurahbs"; + }; + + cpurapbs1 { + #clock-cells = <0x0>; + compatible = "allwinner,periph-cpus-clock"; + clock-output-names = "cpurapbs1"; + }; + + cpurapbs2_pll { + #clock-cells = <0x0>; + compatible = "allwinner,periph-cpus-clock"; + clock-output-names = "cpurapbs2_pll"; + }; + + cpurapbs2 { + #clock-cells = <0x0>; + compatible = "allwinner,periph-cpus-clock"; + clock-output-names = "cpurapbs2"; + }; + + cpurpio { + #clock-cells = <0x0>; + compatible = "allwinner,periph-cpus-clock"; + clock-output-names = "cpurpio"; + linux,phandle = <0x12>; + phandle = <0x12>; + }; + + spwm { + #clock-cells = <0x0>; + compatible = "allwinner,periph-cpus-clock"; + clock-output-names = "spwm"; + linux,phandle = <0x96>; + phandle = <0x96>; + }; + + dcxo_out { + #clock-cells = <0x0>; + compatible = "allwinner,periph-cpus-clock"; + clock-output-names = "dcxo_out"; + }; + }; + + soc@03000000 { + compatible = "simple-bus"; + #address-cells = <0x2>; + #size-cells = <0x2>; + ranges; + device_type = "soc"; + + pinctrl@07022000 { + compatible = "allwinner,sun50iw6p1-r-pinctrl"; + reg = <0x0 0x7022000 0x0 0x400>; + interrupts = <0x0 0x69 0x4 0x0 0x6f 0x4>; + clocks = <0x12>; + device_type = "r_pio"; + gpio-controller; + interrupt-controller; + #interrupt-cells = <0x2>; + #size-cells = <0x0>; + #gpio-cells = <0x6>; + linux,phandle = <0xd6>; + phandle = <0xd6>; + + s_twi0@0 { + allwinner,pins = "PL0", "PL1"; + allwinner,function = "s_twi0"; + allwinner,muxsel = <0x3>; + allwinner,drive = <0x0>; + allwinner,pull = <0x1>; + linux,phandle = <0x1d>; + phandle = <0x1d>; + }; + + s_cir0@0 { + allwinner,pins = "PL9"; + allwinner,function = "s_cir0"; + allwinner,muxsel = <0x2>; + allwinner,drive = <0x2>; + allwinner,pull = <0x1>; + linux,phandle = <0x1a>; + phandle = <0x1a>; + }; + + twi_para@0 { + linux,phandle = <0xe4>; + phandle = <0xe4>; + allwinner,pins = "PL0", "PL1"; + allwinner,function = "twi_para"; + allwinner,pname = "twi_scl", "twi_sda"; + allwinner,muxsel = <0x3>; + allwinner,pull = <0x1>; + allwinner,drive = <0x0>; + allwinner,data = <0xffffffff>; + }; + + pwm16@0 { + linux,phandle = <0x10c>; + phandle = <0x10c>; + allwinner,pins = "PL8"; + allwinner,function = "pwm16"; + allwinner,pname = "pwm_positive"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0x0>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + pwm16@1 { + linux,phandle = <0x10d>; + phandle = <0x10d>; + allwinner,pins = "PL8"; + allwinner,function = "pwm16"; + allwinner,pname = "pwm_positive"; + allwinner,muxsel = <0x7>; + allwinner,pull = <0x0>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + s_uart0@0 { + linux,phandle = <0x113>; + phandle = <0x113>; + 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 = <0x114>; + phandle = <0x114>; + 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 = <0x115>; + phandle = <0x115>; + 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@0300b000 { + compatible = "allwinner,sun50iw6p1-pinctrl"; + reg = <0x0 0x300b000 0x0 0x400>; + interrupts = <0x0 0x33 0x4 0x0 0x35 0x4 0x0 0x36 0x4 0x0 0x3b 0x4>; + device_type = "pio"; + clocks = <0x13>; + gpio-controller; + interrupt-controller; + #interrupt-cells = <0x2>; + #size-cells = <0x0>; + #gpio-cells = <0x6>; + linux,phandle = <0x87>; + phandle = <0x87>; + + twi3@1 { + allwinner,pins = "PB17", "PB18"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x3b>; + phandle = <0x3b>; + }; + + ts0@0 { + allwinner,pins = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11"; + 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 = <0xbc>; + phandle = <0xbc>; + }; + + ts0_sleep@0 { + allwinner,pins = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11"; + 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 = <0xc0>; + phandle = <0xc0>; + }; + + ts1@0 { + allwinner,pins = "PD12", "PD13", "PD14", "PD15", "PD16"; + allwinner,pname = "ts1_clk", "ts1_err", "ts1_sync", "ts1_dvld", "ts1_d0"; + allwinner,function = "ts1"; + allwinner,muxsel = <0x3>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0xbd>; + phandle = <0xbd>; + }; + + ts1_sleep@0 { + allwinner,pins = "PD12", "PD13", "PD14", "PD15", "PD16"; + 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 = <0xc1>; + phandle = <0xc1>; + }; + + ts2@0 { + allwinner,pins = "PD17", "PD18", "PD19", "PD20", "PD21"; + allwinner,pname = "ts2_clk", "ts2_err", "ts2_sync", "ts2_dvld", "ts2_d0"; + allwinner,function = "ts2"; + allwinner,muxsel = <0x3>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0xbe>; + phandle = <0xbe>; + }; + + ts2_sleep@0 { + allwinner,pins = "PD17", "PD18", "PD19", "PD20", "PD21"; + allwinner,pname = "ts2_clk", "ts2_err", "ts2_sync", "ts2_dvld", "ts2_d0"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0xc2>; + phandle = <0xc2>; + }; + + ts3@0 { + allwinner,pins = "PD22", "PD23", "PD24", "PD25", "PD26"; + allwinner,pname = "ts3_clk", "ts3_err", "ts3_sync", "ts3_dvld", "ts3_d0"; + allwinner,function = "ts3"; + allwinner,muxsel = <0x3>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0xbf>; + phandle = <0xbf>; + }; + + ts3_sleep@0 { + allwinner,pins = "PD22", "PD23", "PD24", "PD25", "PD26"; + 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 = <0xc3>; + phandle = <0xc3>; + }; + + 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 = <0x85>; + phandle = <0x85>; + }; + + sdc0@2 { + allwinner,pins = "PF0", "PF1", "PF2", "PF3", "PF4", "PF5"; + allwinner,function = "uart0_jtag"; + allwinner,muxsel = <0x3>; + allwinner,drive = <0x1>; + allwinner,pull = <0x1>; + linux,phandle = <0x86>; + phandle = <0x86>; + }; + + 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 = <0x8c>; + phandle = <0x8c>; + }; + + sdc2@1 { + allwinner,pins = "PC1", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,drive = <0x1>; + allwinner,pull = <0x1>; + linux,phandle = <0x80>; + phandle = <0x80>; + }; + + daudio0@0 { + allwinner,pins = "PH0", "PH1", "PH2", "PH3", "PH4"; + allwinner,function = "pcm0"; + allwinner,muxsel = <0x3>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x4b>; + phandle = <0x4b>; + }; + + daudio0_sleep@0 { + allwinner,pins = "PH0", "PH1", "PH2", "PH3", "PH4"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x4c>; + phandle = <0x4c>; + }; + + daudio2@0 { + allwinner,pins = "PG10", "PG11", "PG12", "PG13", "PG14"; + allwinner,function = "pcm2"; + allwinner,muxsel = <0x2>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x4f>; + phandle = <0x4f>; + }; + + daudio2_sleep@0 { + allwinner,pins = "PG10", "PG11", "PG12", "PG13", "PG14"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x50>; + phandle = <0x50>; + }; + + daudio3@0 { + allwinner,pins = "PB12", "PB13", "PB14", "PB15", "PB16"; + allwinner,function = "pcm3"; + allwinner,muxsel = <0x2>; + allwinner,driver = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x52>; + phandle = <0x52>; + }; + + daudio3_sleep@0 { + allwinner,pins = "PB12", "PB13", "PB14", "PB15", "PB16"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,driver = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x53>; + phandle = <0x53>; + }; + + spdif@0 { + allwinner,pins = "PH5", "PH6", "PH7"; + allwinner,function = "spdif0"; + allwinner,muxsel = <0x3>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x55>; + phandle = <0x55>; + }; + + spdif_sleep@0 { + allwinner,pins = "PH5", "PH6", "PH7"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x56>; + phandle = <0x56>; + }; + + dmic@0 { + allwinner,pins = "PD14", "PD15", "PD16", "PD17", "PD18"; + allwinner,function = "dmic"; + allwinner,muxsel = <0x4>; + allwinner,driver = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x58>; + phandle = <0x58>; + }; + + dmic_sleep@0 { + allwinner,pins = "PD14", "PD15", "PD16", "PD17", "PD18"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,driver = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x59>; + phandle = <0x59>; + }; + + ahub_daudio0@0 { + allwinner,pins = "PH0", "PH1", "PH2", "PH3", "PH4"; + allwinner,function = "h_pcm0"; + allwinner,muxsel = <0x4>; + allwinner,driver = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x5b>; + phandle = <0x5b>; + }; + + ahub_daudio0_sleep@0 { + allwinner,pins = "PH0", "PH1", "PH2", "PH3", "PH4"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,driver = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x5c>; + phandle = <0x5c>; + }; + + ahub_daudio2@0 { + allwinner,pins = "PG10", "PG11", "PG12", "PG13", "PG14"; + allwinner,function = "h_pcm2"; + allwinner,muxsel = <0x3>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x5d>; + phandle = <0x5d>; + }; + + ahub_daudio2_sleep@0 { + allwinner,pins = "PG10", "PG11", "PG12", "PG13", "PG14"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x5e>; + phandle = <0x5e>; + }; + + ahub_daudio3@0 { + allwinner,pins = "PB12", "PB13", "PB14", "PB15", "PB16"; + allwinner,function = "h_pcm3"; + allwinner,muxsel = <0x4>; + allwinner,driver = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x5f>; + phandle = <0x5f>; + }; + + ahub_daudio3_sleep@0 { + allwinner,pins = "PB12", "PB13", "PB14", "PB15", "PB16"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,driver = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x60>; + phandle = <0x60>; + }; + + csi0@1 { + allwinner,pins = "PD0", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11"; + allwinner,pname = "csi0_pck", "csi0_hsync", "csi0_vsync", "csi0_d0", "csi0_d1", "csi0_d2", "csi0_d3", "csi0_d4", "csi0_d5", "csi0_d6", "csi0_d7"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + allwinner,data = <0x0>; + linux,phandle = <0xa2>; + phandle = <0xa2>; + }; + + csi_mclk0@0 { + allwinner,pins = "PD1"; + allwinner,pname = "csi_mclk0"; + allwinner,function = "csi_mclk0"; + allwinner,muxsel = <0x4>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + allwinner,data = <0x0>; + linux,phandle = <0x9c>; + phandle = <0x9c>; + }; + + csi_mclk0@1 { + allwinner,pins = "PD1"; + allwinner,pname = "csi_mclk0"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + allwinner,data = <0x0>; + linux,phandle = <0x9d>; + phandle = <0x9d>; + }; + + csi_cci0@0 { + allwinner,pins = "PD12", "PD13"; + allwinner,pname = "csi_cci0_sck", "csi_cci0_sda"; + allwinner,function = "csi_cci0"; + allwinner,muxsel = <0x4>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + allwinner,data = <0x0>; + linux,phandle = <0x9f>; + phandle = <0x9f>; + }; + + csi_cci0@1 { + allwinner,pins = "PD12", "PD13"; + allwinner,pname = "csi_cci0_sck", "csi_cci0_sda"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + allwinner,data = <0x0>; + linux,phandle = <0xa0>; + phandle = <0xa0>; + }; + + scr0@0 { + allwinner,pins = "PG13", "PG14", "PG10", "PG11", "PG12"; + allwinner,pname = "scr0_rst", "scr0_det", "scr0_vccen", "scr0_sck", "scr0_sda"; + allwinner,function = "sim0"; + allwinner,muxsel = <0x4>; + allwinner,drive = <0x0>; + allwinner,pull = <0x1>; + linux,phandle = <0xaf>; + phandle = <0xaf>; + }; + + scr0@1 { + allwinner,pins = "PG8", "PG9"; + allwinner,pname = "scr0_vppen", "scr0_vppp"; + allwinner,function = "sim0"; + allwinner,muxsel = <0x4>; + allwinner,drive = <0x0>; + allwinner,pull = <0x1>; + linux,phandle = <0xb0>; + phandle = <0xb0>; + }; + + scr0@2 { + allwinner,pins = "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,drive = <0x0>; + allwinner,pull = <0x0>; + linux,phandle = <0xb1>; + phandle = <0xb1>; + }; + + scr1@0 { + allwinner,pins = "PH5", "PH6", "PH2", "PH3", "PH4"; + allwinner,pname = "scr1_rst", "scr1_det", "scr1_vccen", "scr1_sck", "scr1_sda"; + allwinner,function = "sim1"; + allwinner,muxsel = <0x5>; + allwinner,drive = <0x1>; + allwinner,pull = <0x1>; + linux,phandle = <0xb3>; + phandle = <0xb3>; + }; + + scr1@1 { + allwinner,pins = "PH0", "PH1"; + allwinner,pname = "scr1_vppen", "scr1_vppp"; + allwinner,function = "sim1"; + allwinner,muxsel = <0x5>; + allwinner,drive = <0x1>; + allwinner,pull = <0x1>; + linux,phandle = <0xb4>; + phandle = <0xb4>; + }; + + scr1@2 { + allwinner,pins = "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0xb5>; + phandle = <0xb5>; + }; + + nand0@2 { + allwinner,pins = "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PC16"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0xba>; + phandle = <0xba>; + }; + + hdmi@1 { + allwinner,pins = "PH8", "PH9"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x90>; + phandle = <0x90>; + }; + + hdmi@2 { + allwinner,pins = "PH10"; + allwinner,function = "hcec0"; + allwinner,muxsel = <0x2>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x91>; + phandle = <0x91>; + }; + + hdmi@3 { + allwinner,pins = "PH10"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,drive = <0x1>; + allwinner,pull = <0x0>; + linux,phandle = <0x92>; + phandle = <0x92>; + }; + + ac200@2 { + allwinner,pins = "PB0"; + allwinner,function = "ac200"; + allwinner,muxsel = <0x2>; + allwinner,drive = <0x0>; + allwinner,pull = <0x0>; + linux,phandle = <0x98>; + phandle = <0x98>; + }; + + ac200@3 { + allwinner,pins = "PB0"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,drive = <0x0>; + allwinner,pull = <0x0>; + linux,phandle = <0x99>; + phandle = <0x99>; + }; + + gmac@1 { + allwinner,pins = "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9"; + allwinner,function = "io_disabled"; + allwinner,muxsel = <0x7>; + allwinner,drive = <0x3>; + allwinner,pull = <0x0>; + linux,phandle = <0xd4>; + phandle = <0xd4>; + }; + + card0_boot_para@0 { + linux,phandle = <0xe2>; + phandle = <0xe2>; + 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 = <0xe3>; + phandle = <0xe3>; + allwinner,pins = "PC1", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14"; + allwinner,function = "card2_boot_para"; + allwinner,pname = "sdc_ds", "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 = <0xe5>; + phandle = <0xe5>; + allwinner,pins = "PH0", "PH1"; + 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 = <0xe6>; + phandle = <0xe6>; + allwinner,pins = "PD23", "PD24", "PD25", "PD26"; + allwinner,function = "jtag_para"; + allwinner,pname = "jtag_ms", "jtag_ck", "jtag_do", "jtag_di"; + allwinner,muxsel = <0x5>; + allwinner,pull = <0xffffffff>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + gmac0@0 { + linux,phandle = <0xe7>; + phandle = <0xe7>; + allwinner,pins = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD7", "PD8", "PD9", "PD10", "PD12", "PD14", "PD19", "PD20"; + allwinner,function = "gmac0"; + allwinner,pname = "gmac_rxd3", "gmac_rxd2", "gmac_rxd1", "gmac_rxd0", "gmac_rxck", "gmac_rxctl", "gmac_txd3", "gmac_txd2", "gmac_txd1", "gmac_txd0", "gmac_txctl", "gmac_ephyrst", "gmac_mdc", "gmac_mdio"; + allwinner,muxsel = <0x5>; + allwinner,pull = <0xffffffff>; + allwinner,drive = <0x3>; + allwinner,data = <0xffffffff>; + }; + + gmac0@1 { + linux,phandle = <0xe8>; + phandle = <0xe8>; + allwinner,pins = "PD11", "PD13"; + allwinner,function = "gmac0"; + allwinner,pname = "gmac_txck", "gmac_clkin"; + allwinner,muxsel = <0x5>; + allwinner,pull = <0xffffffff>; + allwinner,drive = <0x0>; + allwinner,data = <0xffffffff>; + }; + + twi0@0 { + linux,phandle = <0xe9>; + phandle = <0xe9>; + allwinner,pins = "PD25", "PD26"; + 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 = <0xea>; + phandle = <0xea>; + allwinner,pins = "PD25", "PD26"; + 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 = <0xeb>; + phandle = <0xeb>; + allwinner,pins = "PH5", "PH6"; + allwinner,function = "twi1"; + allwinner,pname = "twi1_scl", "twi1_sda"; + allwinner,muxsel = <0x4>; + allwinner,pull = <0xffffffff>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + twi1@1 { + linux,phandle = <0xec>; + phandle = <0xec>; + allwinner,pins = "PH5", "PH6"; + 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 = <0xed>; + phandle = <0xed>; + allwinner,pins = "PD23", "PD24"; + allwinner,function = "twi2"; + allwinner,pname = "twi2_scl", "twi2_sda"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0xffffffff>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + twi2@1 { + linux,phandle = <0xee>; + phandle = <0xee>; + allwinner,pins = "PD23", "PD24"; + allwinner,function = "twi2"; + allwinner,pname = "twi2_scl", "twi2_sda"; + allwinner,muxsel = <0x7>; + allwinner,pull = <0xffffffff>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + twi3@0 { + linux,phandle = <0xef>; + phandle = <0xef>; + allwinner,pins = "PB17", "PB18"; + allwinner,function = "twi3"; + allwinner,pname = "twi3_scl", "twi3_sda"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0xffffffff>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + uart0@0 { + linux,phandle = <0xf0>; + phandle = <0xf0>; + allwinner,pins = "PH0", "PH1"; + 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 = <0xf1>; + phandle = <0xf1>; + allwinner,pins = "PH0", "PH1"; + 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 = <0xf2>; + phandle = <0xf2>; + 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 = <0xf3>; + phandle = <0xf3>; + 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 = <0xf4>; + phandle = <0xf4>; + allwinner,pins = "PD19", "PD20", "PD21", "PD22"; + allwinner,function = "uart2"; + allwinner,pname = "uart2_tx", "uart2_rx", "uart2_rts", "uart2_cts"; + allwinner,muxsel = <0x4>; + allwinner,pull = <0x1>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + uart2@1 { + linux,phandle = <0xf5>; + phandle = <0xf5>; + allwinner,pins = "PD19", "PD20", "PD21", "PD22"; + 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 = <0xf6>; + phandle = <0xf6>; + allwinner,pins = "PD23", "PD24"; + allwinner,function = "uart3"; + allwinner,pname = "uart3_tx", "uart3_rx"; + allwinner,muxsel = <0x4>; + allwinner,pull = <0x1>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + uart3@1 { + linux,phandle = <0xf7>; + phandle = <0xf7>; + allwinner,pins = "PD23", "PD24"; + allwinner,function = "uart3"; + allwinner,pname = "uart3_tx", "uart3_rx"; + allwinner,muxsel = <0x7>; + allwinner,pull = <0x1>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + spi0@0 { + linux,phandle = <0xf8>; + phandle = <0xf8>; + allwinner,pins = "PC5"; + allwinner,function = "spi0"; + allwinner,pname = "spi0_cs0"; + allwinner,muxsel = <0x4>; + allwinner,pull = <0x1>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + spi0@1 { + linux,phandle = <0xf9>; + phandle = <0xf9>; + allwinner,pins = "PC0", "PC2", "PC3"; + allwinner,function = "spi0"; + allwinner,pname = "spi0_sclk", "spi0_mosi", "spi0_miso"; + allwinner,muxsel = <0x4>; + allwinner,pull = <0xffffffff>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + spi0@2 { + linux,phandle = <0xfa>; + phandle = <0xfa>; + allwinner,pins = "PC5"; + allwinner,function = "spi0"; + allwinner,pname = "spi0_cs0"; + allwinner,muxsel = <0x7>; + allwinner,pull = <0x1>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + spi0@3 { + linux,phandle = <0xfb>; + phandle = <0xfb>; + allwinner,pins = "PC0", "PC2", "PC3"; + 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 = <0xfc>; + phandle = <0xfc>; + allwinner,pins = "PH3"; + allwinner,function = "spi1"; + allwinner,pname = "spi1_cs0"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0x1>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + spi1@1 { + linux,phandle = <0xfd>; + phandle = <0xfd>; + allwinner,pins = "PH4", "PH5", "PH6"; + 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 = <0xfe>; + phandle = <0xfe>; + allwinner,pins = "PH3"; + allwinner,function = "spi1"; + allwinner,pname = "spi1_cs0"; + allwinner,muxsel = <0x7>; + allwinner,pull = <0x1>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + spi1@3 { + linux,phandle = <0xff>; + phandle = <0xff>; + allwinner,pins = "PH4", "PH5", "PH6"; + 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 = <0x101>; + phandle = <0x101>; + allwinner,pins = "PC0", "PC1", "PC2", "PC4", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14"; + 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 = <0x102>; + phandle = <0x102>; + allwinner,pins = "PC15", "PC3", "PC5", "PC16"; + allwinner,function = "nand0"; + allwinner,pname = "nand0_ce1", "nand0_ce0", "nand0_rb0", "nand0_rb1"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0x1>; + allwinner,drive = <0x1>; + allwinner,data = <0xffffffff>; + }; + + lcd0@0 { + linux,phandle = <0x103>; + phandle = <0x103>; + allwinner,pins = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "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", "lcdd10", "lcdd11", "lcdd12", "lcdd13", "lcdd14", "lcdd15", "lcdd16", "lcdd17", "lcdd18", "lcdd19", "lcdd20", "lcdd21"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0x0>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + lcd0@1 { + linux,phandle = <0x104>; + phandle = <0x104>; + allwinner,pins = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "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", "lcdd10", "lcdd11", "lcdd12", "lcdd13", "lcdd14", "lcdd15", "lcdd16", "lcdd17", "lcdd18", "lcdd19", "lcdd20", "lcdd21"; + allwinner,muxsel = <0x7>; + allwinner,pull = <0x0>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + hdmi@0 { + linux,phandle = <0x105>; + phandle = <0x105>; + allwinner,pins = "PH8", "PH9", "PH10"; + allwinner,function = "hdmi"; + allwinner,pname = "ddc_scl", "ddc_sda", "cec_io"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0xffffffff>; + allwinner,drive = <0x1>; + allwinner,data = <0xffffffff>; + }; + + ac200@0 { + linux,phandle = <0x106>; + phandle = <0x106>; + allwinner,pins = "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11"; + allwinner,function = "ac200"; + allwinner,pname = "ccir_clk", "ccir_de", "ccir_hs", "ccir_vs", "ccir_do0", "ccir_do1", "ccir_do2", "ccir_do3", "ccir_do4", "ccir_do5", "ccir_do6", "ccir_do7"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0x0>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + ac200@1 { + linux,phandle = <0x107>; + phandle = <0x107>; + allwinner,pins = "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11"; + allwinner,function = "ac200"; + allwinner,pname = "ccir_de", "ccir_hs", "ccir_vs", "ccir_do0", "ccir_do1", "ccir_do2", "ccir_do3", "ccir_do4", "ccir_do5", "ccir_do6", "ccir_do7"; + allwinner,muxsel = <0x7>; + allwinner,pull = <0x0>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + pwm0@0 { + linux,phandle = <0x108>; + phandle = <0x108>; + 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 = <0x109>; + phandle = <0x109>; + allwinner,pins = "PD22"; + allwinner,function = "pwm0"; + allwinner,pname = "pwm_positive"; + allwinner,muxsel = <0x7>; + allwinner,pull = <0x0>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + pwm1@0 { + linux,phandle = <0x10a>; + phandle = <0x10a>; + allwinner,pins = "PB19"; + allwinner,function = "pwm1"; + allwinner,pname = "pwm_positive"; + allwinner,muxsel = <0x2>; + allwinner,pull = <0x0>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + pwm1@1 { + linux,phandle = <0x10b>; + phandle = <0x10b>; + allwinner,pins = "PB19"; + allwinner,function = "pwm1"; + allwinner,pname = "pwm_positive"; + allwinner,muxsel = <0x7>; + allwinner,pull = <0x0>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + csi0@0 { + linux,phandle = <0x10e>; + phandle = <0x10e>; + allwinner,pins = "PD0", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13"; + 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 = <0x4>; + allwinner,pull = <0xffffffff>; + allwinner,drive = <0xffffffff>; + allwinner,data = <0xffffffff>; + }; + + csi0@2 { + linux,phandle = <0x10f>; + phandle = <0x10f>; + allwinner,pins = "PD1"; + allwinner,function = "csi0"; + allwinner,pname = "csi0_mck"; + allwinner,muxsel = <0x4>; + allwinner,pull = <0x0>; + allwinner,drive = <0x1>; + allwinner,data = <0x0>; + }; + + sdc0@0 { + linux,phandle = <0x110>; + phandle = <0x110>; + 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 = <0x111>; + phandle = <0x111>; + 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 = <0x112>; + phandle = <0x112>; + allwinner,pins = "PC1", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14"; + 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 = <0x116>; + phandle = <0x116>; + allwinner,pins = "PH9", "PH10"; + allwinner,function = "Vdevice"; + allwinner,pname = "Vdevice_0", "Vdevice_1"; + allwinner,muxsel = <0x5>; + allwinner,pull = <0x1>; + allwinner,drive = <0x2>; + allwinner,data = <0xffffffff>; + }; + }; + + dma-controller@03002000 { + compatible = "allwinner,sun50i-dma"; + reg = <0x0 0x3002000 0x0 0x1000>; + interrupts = <0x0 0x2b 0x4>; + clocks = <0x14>; + #dma-cells = <0x1>; + }; + + mbus-controller@04002000 { + compatible = "allwinner,sun50i-mbus"; + reg = <0x0 0x4002000 0x0 0x1000>; + #mbus-cells = <0x1>; + }; + + arisc { + compatible = "allwinner,sunxi-arisc"; + #address-cells = <0x2>; + #size-cells = <0x2>; + clocks = <0x15 0x16 0x7 0x2>; + 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@040020000 { + compatible = "allwinner,sun50iw6-usbstandby"; + space1 = <0x40020000 0x0 0x800>; + device_type = "standby_space"; + standby_stay_cpu = <0x0>; + }; + + msgbox@03003000 { + compatible = "allwinner,msgbox"; + clocks = <0x17>; + clock-names = "clk_msgbox"; + reg = <0x0 0x3003000 0x0 0x1000>; + interrupts = <0x0 0x27 0x1>; + status = "okay"; + }; + + hwspinlock@3004000 { + compatible = "allwinner,sunxi-hwspinlock"; + clocks = <0x18 0x19>; + clock-names = "clk_hwspinlock_rst", "clk_hwspinlock_bus"; + reg = <0x0 0x3004000 0x0 0x1000>; + num-locks = <0x8>; + status = "okay"; + }; + + s_cir@07040000 { + compatible = "allwinner,s_cir"; + reg = <0x0 0x7040000 0x0 0x400>; + interrupts = <0x0 0x6d 0x4>; + pinctrl-names = "default"; + pinctrl-0 = <0x1a>; + clocks = <0x7 0x1b>; + supply = "vcc-pl"; + supply_vol = "3300000"; + status = "okay"; + device_type = "s_cir0"; + ir_protocol_used = <0x0>; + 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 = <0x18>; + 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>; + ir_power_key_code16 = <0xdc>; + ir_addr_code16 = <0x4cb3>; + ir_power_key_code17 = <0xdc>; + ir_addr_code17 = <0x4db2>; + ir_power_key_code18 = <0x96>; + ir_addr_code18 = <0xc43b>; + ir_power_key_code19 = <0xdc>; + ir_addr_code19 = <0x4cb3>; + ir_power_key_code20 = <0xc>; + ir_addr_code20 = <0x6b86>; + rc5_ir_power_key_code0 = <0x1>; + rc5_ir_addr_code0 = <0x4>; + }; + + s_uart@7080000 { + compatible = "allwinner,s_uart"; + reg = <0x0 0x7080000 0x0 0xd0>; + interrupts = <0x0 0x6a 0x4>; + pinctrl-names = "default"; + status = "disabled"; + device_type = "s_uart0"; + pinctrl-0 = <0x113>; + }; + + s_twi@1f03400 { + compatible = "allwinner,s_twi"; + reg = <0x0 0x1f02400 0x0 0x20>; + interrupts = <0x0 0x2c 0x4>; + pinctrl-names = "default"; + pinctrl-0 = <0x1d>; + status = "okay"; + }; + + s_jtag0 { + compatible = "allwinner,s_jtag"; + pinctrl-names = "default"; + status = "disabled"; + device_type = "s_jtag0"; + pinctrl-0 = <0x115>; + }; + + box_start_os0 { + compatible = "allwinner,box_start_os"; + start_type = <0x1>; + irkey_used = <0x1>; + pmukey_used = <0x1>; + pmukey_num = <0x0>; + led_power = <0x0>; + led_state = <0x0>; + status = "okay"; + device_type = "box_start_os"; + }; + + timer@03009000 { + compatible = "allwinner,sun4i-a10-timer"; + device_type = "timer"; + reg = <0x0 0x3009000 0x0 0x400>; + interrupts = <0x0 0x30 0x4>; + clock-frequency = <0x16e3600>; + timer-prescale = <0x10>; + }; + + rtc@07000000 { + compatible = "allwinner,sun50iw6-rtc"; + device_type = "rtc"; + reg = <0x0 0x7000000 0x0 0x200>; + interrupts = <0x0 0x65 0x4>; + gpr_offset = <0x100>; + gpr_len = <0x8>; + gpr_cur_pos = <0x6>; + }; + + watchdog@030090a0 { + compatible = "allwinner,sun50i-wdt"; + reg = <0x0 0x30090a0 0x0 0x20>; + interrupts = <0x0 0x32 0x4>; + }; + + ve@01c0e000 { + compatible = "allwinner,sunxi-cedar-ve"; + reg = <0x0 0x1c0e000 0x0 0x1000 0x0 0x3000000 0x0 0x10 0x0 0x3001000 0x0 0x1000>; + interrupts = <0x0 0x59 0x4>; + clocks = <0x1f 0x20>; + iommus = <0x21 0x3 0x1>; + }; + + vp9@01c00000 { + compatible = "allwinner,sunxi-google-vp9"; + reg = <0x0 0x1c00000 0x0 0x1000 0x0 0x3000000 0x0 0x10 0x0 0x3001000 0x0 0x1000>; + interrupts = <0x0 0x5a 0x4>; + clocks = <0x1f 0x22>; + #clocks = <0x23 0x22>; + iommus = <0x21 0x5 0x1>; + }; + + uart@05000000 { + compatible = "allwinner,sun50i-uart"; + device_type = "uart0"; + reg = <0x0 0x5000000 0x0 0x400>; + interrupts = <0x0 0x0 0x4>; + clocks = <0x24>; + pinctrl-names = "default", "sleep"; + uart0_port = <0x0>; + uart0_type = <0x2>; + status = "okay"; + pinctrl-0 = <0xf0>; + pinctrl-1 = <0xf1>; + }; + + uart@05000400 { + compatible = "allwinner,sun50i-uart"; + device_type = "uart1"; + reg = <0x0 0x5000400 0x0 0x400>; + interrupts = <0x0 0x1 0x4>; + clocks = <0x27>; + pinctrl-names = "default", "sleep"; + uart1_port = <0x1>; + uart1_type = <0x4>; + status = "okay"; + pinctrl-0 = <0xf2>; + uart1_bt = <0x1>; + pinctrl-1 = <0xf3>; + }; + + uart@05000800 { + compatible = "allwinner,sun50i-uart"; + device_type = "uart2"; + reg = <0x0 0x5000800 0x0 0x400>; + interrupts = <0x0 0x2 0x4>; + clocks = <0x2a>; + pinctrl-names = "default", "sleep"; + uart2_port = <0x2>; + uart2_type = <0x4>; + status = "disabled"; + pinctrl-0 = <0xf4>; + pinctrl-1 = <0xf5>; + }; + + uart@05000c00 { + compatible = "allwinner,sun50i-uart"; + device_type = "uart3"; + reg = <0x0 0x5000c00 0x0 0x400>; + interrupts = <0x0 0x3 0x4>; + clocks = <0x2d>; + pinctrl-names = "default", "sleep"; + uart3_port = <0x3>; + uart3_type = <0x2>; + status = "okay"; + pinctrl-0 = <0xf6>; + pinctrl-1 = <0xf7>; + }; + + twi@0x05002000 { + #address-cells = <0x1>; + #size-cells = <0x0>; + compatible = "allwinner,sun50i-twi"; + device_type = "twi0"; + reg = <0x0 0x5002000 0x0 0x400>; + interrupts = <0x0 0x4 0x4>; + clocks = <0x30>; + clock-frequency = <0x61a80>; + pinctrl-names = "default", "sleep"; + status = "disabled"; + pinctrl-0 = <0xe9>; + twi_regulator = "vcc-io"; + pinctrl-1 = <0xea>; + }; + + twi@0x05002400 { + #address-cells = <0x1>; + #size-cells = <0x0>; + compatible = "allwinner,sun50i-twi"; + device_type = "twi1"; + reg = <0x0 0x5002400 0x0 0x400>; + interrupts = <0x0 0x5 0x4>; + clocks = <0x33>; + clock-frequency = <0x30d40>; + pinctrl-names = "default", "sleep"; + status = "okay"; + pinctrl-0 = <0xeb>; + twi_regulator = "vcc-io"; + pinctrl-1 = <0xec>; + }; + + twi@0x05002800 { + #address-cells = <0x1>; + #size-cells = <0x0>; + compatible = "allwinner,sun50i-twi"; + device_type = "twi2"; + reg = <0x0 0x5002800 0x0 0x400>; + interrupts = <0x0 0x6 0x4>; + clocks = <0x36>; + clock-frequency = <0x30d40>; + pinctrl-names = "default", "sleep"; + status = "disabled"; + pinctrl-0 = <0xed>; + twi_regulator = "vcc-io"; + pinctrl-1 = <0xee>; + }; + + twi@0x05002c00 { + #address-cells = <0x1>; + #size-cells = <0x0>; + compatible = "allwinner,sun50i-twi"; + device_type = "twi3"; + reg = <0x0 0x5002c00 0x0 0x400>; + interrupts = <0x0 0x7 0x4>; + clocks = <0x39>; + clock-frequency = <0x30d40>; + pinctrl-names = "default", "sleep"; + pinctrl-1 = <0x3b>; + status = "okay"; + pinctrl-0 = <0xef>; + twi_regulator = "vcc-io"; + }; + + usbc0@0 { + device_type = "usbc0"; + compatible = "allwinner,sunxi-otg-manager"; + usb_port_type = <0x0>; + usb_detect_type = <0x1>; + 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; + usb_det_vbus_gpio; + usb_drv_vbus_gpio = <0xd6 0xb 0x5 0x1 0x0 0xffffffff 0x1>; + }; + + udc-controller@0x05100000 { + compatible = "allwinner,sunxi-udc"; + reg = <0x0 0x5100000 0x0 0x1000 0x0 0x0 0x0 0x100>; + interrupts = <0x0 0x17 0x4>; + clocks = <0x3c 0x3d>; + status = "okay"; + }; + + ehci0-controller@0x05101000 { + compatible = "allwinner,sunxi-ehci0"; + reg = <0x0 0x5101000 0x0 0xfff 0x0 0x0 0x0 0x100 0x0 0x5100000 0x0 0x1000>; + interrupts = <0x0 0x18 0x4>; + clocks = <0x3c 0x3e>; + hci_ctrl_no = <0x0>; + status = "okay"; + }; + + ohci0-controller@0x05101400 { + compatible = "allwinner,sunxi-ohci0"; + reg = <0x0 0x5101000 0x0 0xfff 0x0 0x0 0x0 0x100 0x0 0x5100000 0x0 0x1000>; + interrupts = <0x0 0x19 0x4>; + clocks = <0x3c 0x3f 0x40 0x41 0x7 0x15>; + 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 = <0xd6 0xb 0x5 0x1 0x0 0xffffffff 0x1>; + }; + + xhci-controller@0x05200000 { + compatible = "allwinner,sunxi-xhci"; + reg = <0x0 0x5200000 0x0 0xfffff 0x0 0x0 0x0 0x100 0x0 0x5100000 0x0 0x1000>; + interrupts = <0x0 0x1a 0x4>; + clocks = <0x42 0x43>; + 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 = "disabled"; + usb_drv_vbus_gpio; + }; + + ehci3-controller@0x05311000 { + compatible = "allwinner,sunxi-ehci3"; + reg = <0x0 0x5311000 0x0 0xfff 0x0 0x0 0x0 0x100 0x0 0x5100000 0x0 0x1000>; + interrupts = <0x0 0x1c 0x4>; + clocks = <0x44 0x45 0x46 0x46 0x47>; + hci_ctrl_no = <0x3>; + status = "okay"; + }; + + ohci3-controller@0x05311400 { + compatible = "allwinner,sunxi-ohci3"; + reg = <0x0 0x5311000 0x0 0xfff 0x0 0x0 0x0 0x100 0x0 0x5100000 0x0 0x1000>; + interrupts = <0x0 0x1d 0x4>; + clocks = <0x44 0x48 0x49 0x41 0x7 0x15>; + hci_ctrl_no = <0x3>; + status = "okay"; + }; + + ac200_codec { + compatible = "allwinner,ac200_codec"; + status = "okay"; + device_type = "ac200_codec"; + gpio-spk = <0xd6 0xb 0x6 0x1 0x1 0xffffffff 0xffffffff>; + }; + + daudio@0x05090000 { + compatible = "allwinner,sunxi-daudio"; + reg = <0x0 0x5090000 0x0 0x74>; + clocks = <0x4 0x4a>; + pinctrl-names = "default", "sleep"; + pinctrl-0 = <0x4b>; + pinctrl-1 = <0x4c>; + pcm_lrck_period = <0x20>; + slot_width_select = <0x20>; + daudio_master = <0x4>; + audio_format = <0x1>; + signal_inversion = <0x1>; + tdm_config = <0x1>; + frametype = <0x0>; + tdm_num = <0x0>; + mclk_div = <0x0>; + status = "okay"; + linux,phandle = <0x61>; + phandle = <0x61>; + device_type = "daudio0"; + }; + + daudio@0x05091000 { + compatible = "allwinner,sunxi-tdmhdmi"; + reg = <0x0 0x5091000 0x0 0x74>; + clocks = <0x4 0x4d>; + status = "okay"; + linux,phandle = <0x63>; + phandle = <0x63>; + device_type = "audiohdmi"; + }; + + daudio@0x05092000 { + compatible = "allwinner,sunxi-daudio"; + reg = <0x0 0x5092000 0x0 0x74>; + clocks = <0x4 0x4e>; + pinctrl-names = "default", "sleep"; + pinctrl-0 = <0x4f>; + pinctrl-1 = <0x50>; + pcm_lrck_period = <0x40>; + slot_width_select = <0x20>; + daudio_master = <0x4>; + audio_format = <0x4>; + signal_inversion = <0x3>; + tdm_config = <0x1>; + frametype = <0x0>; + tdm_num = <0x2>; + mclk_div = <0x1>; + status = "disabled"; + linux,phandle = <0x65>; + phandle = <0x65>; + device_type = "daudio2"; + }; + + daudio@0x0508f000 { + compatible = "allwinner,sunxi-daudio"; + reg = <0x0 0x508f000 0x0 0x74>; + clocks = <0x4 0x51>; + pinctrl-names = "default", "sleep"; + pinctrl-0 = <0x52>; + pinctrl-1 = <0x53>; + pcm_lrck_period = <0x20>; + slot_width_select = <0x20>; + daudio_master = <0x4>; + audio_format = <0x1>; + signal_inversion = <0x1>; + tdm_config = <0x1>; + frametype = <0x0>; + tdm_num = <0x3>; + mclk_div = <0x1>; + status = "okay"; + linux,phandle = <0x67>; + phandle = <0x67>; + device_type = "daudio3"; + }; + + spdif-controller@0x05093000 { + compatible = "allwinner,sunxi-spdif"; + reg = <0x0 0x5093000 0x0 0x40>; + clocks = <0x4 0x54>; + pinctrl-names = "default", "sleep"; + pinctrl-0 = <0x55>; + pinctrl-1 = <0x56>; + status = "disabled"; + linux,phandle = <0x69>; + phandle = <0x69>; + device_type = "spdif"; + }; + + dmic-controller@0x05095000 { + compatible = "allwinner,sunxi-dmic"; + reg = <0x0 0x5095000 0x0 0x50>; + clocks = <0x4 0x57>; + pinctrl-names = "default", "sleep"; + pinctrl-0 = <0x58>; + pinctrl-1 = <0x59>; + status = "disabled"; + linux,phandle = <0x6a>; + phandle = <0x6a>; + device_type = "dmic"; + }; + + cpudai0-controller@0x05097000 { + compatible = "allwinner,sunxi-ahub-cpudai"; + reg = <0x0 0x5097000 0x0 0xadf>; + id = <0x0>; + status = "okay"; + linux,phandle = <0x6b>; + phandle = <0x6b>; + }; + + cpudai1-controller@0x05097000 { + compatible = "allwinner,sunxi-ahub-cpudai"; + reg = <0x0 0x5097000 0x0 0xadf>; + id = <0x1>; + status = "okay"; + linux,phandle = <0x6c>; + phandle = <0x6c>; + }; + + cpudai2-controller@0x05097000 { + compatible = "allwinner,sunxi-ahub-cpudai"; + reg = <0x0 0x5097000 0x0 0xadf>; + id = <0x2>; + status = "okay"; + linux,phandle = <0x6d>; + phandle = <0x6d>; + }; + + ahub_codec@0x05097000 { + compatible = "allwinner,sunxi-ahub"; + reg = <0x0 0x5097000 0x0 0xadf>; + clocks = <0x4 0x5a>; + status = "okay"; + linux,phandle = <0x6e>; + phandle = <0x6e>; + }; + + ahub_daudio0@0x05097000 { + compatible = "allwinner,sunxi-ahub-daudio"; + reg = <0x0 0x5097000 0x0 0xadf>; + clocks = <0x4 0x5a>; + pinctrl-names = "default", "sleep"; + pinctrl-0 = <0x5b>; + pinctrl-1 = <0x5c>; + pinconfig = <0x1>; + frametype = <0x0>; + pcm_lrck_period = <0x20>; + slot_width_select = <0x20>; + daudio_master = <0x4>; + audio_format = <0x1>; + signal_inversion = <0x1>; + tdm_config = <0x1>; + tdm_num = <0x0>; + mclk_div = <0x0>; + status = "okay"; + linux,phandle = <0x62>; + phandle = <0x62>; + device_type = "ahub_daudio0"; + }; + + ahub_daudio1@0x05097000 { + compatible = "allwinner,sunxi-ahub-daudio"; + reg = <0x0 0x5097000 0x0 0xadf>; + clocks = <0x4 0x5a>; + pinconfig = <0x0>; + frametype = <0x0>; + pcm_lrck_period = <0x20>; + slot_width_select = <0x20>; + daudio_master = <0x4>; + audio_format = <0x1>; + signal_inversion = <0x1>; + tdm_config = <0x1>; + tdm_num = <0x1>; + mclk_div = <0x1>; + status = "okay"; + linux,phandle = <0x64>; + phandle = <0x64>; + device_type = "ahub_daudio1"; + }; + + ahub_daudio2@0x05097000 { + compatible = "allwinner,sunxi-ahub-daudio"; + reg = <0x0 0x5097000 0x0 0xadf>; + clocks = <0x4 0x5a>; + pinctrl-names = "default", "sleep"; + pinctrl-0 = <0x5d>; + pinctrl-1 = <0x5e>; + pinconfig = <0x1>; + frametype = <0x0>; + pcm_lrck_period = <0x20>; + slot_width_select = <0x20>; + daudio_master = <0x4>; + audio_format = <0x1>; + signal_inversion = <0x1>; + tdm_config = <0x1>; + tdm_num = <0x2>; + mclk_div = <0x1>; + status = "okay"; + linux,phandle = <0x66>; + phandle = <0x66>; + device_type = "ahub_daudio2"; + }; + + ahub_daudio3@0x05097000 { + compatible = "allwinner,sunxi-ahub-daudio"; + reg = <0x0 0x5097000 0x0 0xadf>; + clocks = <0x4 0x5a>; + pinctrl-names = "default", "sleep"; + pinctrl-0 = <0x5f>; + pinctrl-1 = <0x60>; + pinconfig = <0x1>; + frametype = <0x0>; + pcm_lrck_period = <0x20>; + slot_width_select = <0x20>; + daudio_master = <0x4>; + audio_format = <0x1>; + signal_inversion = <0x1>; + tdm_config = <0x1>; + tdm_num = <0x3>; + mclk_div = <0x4>; + status = "okay"; + linux,phandle = <0x68>; + phandle = <0x68>; + device_type = "ahub_daudio3"; + }; + + sound@0 { + compatible = "allwinner,sunxi-daudio0-machine"; + sunxi,daudio-controller = <0x61>; + sunxi,cpudai-controller = <0x62>; + status = "okay"; + device_type = "snddaudio0"; + }; + + sound@1 { + compatible = "allwinner,sunxi-hdmi-machine"; + sunxi,hdmi-controller = <0x63>; + sunxi,cpudai-controller = <0x64>; + status = "okay"; + device_type = "sndhdmi"; + }; + + sound@2 { + compatible = "allwinner,sunxi-daudio2-machine"; + sunxi,daudio-controller = <0x65>; + sunxi,cpudai-controller = <0x66>; + status = "disabled"; + device_type = "snddaudio2"; + }; + + sound@3 { + compatible = "allwinner,sunxi-daudio3-machine"; + sunxi,daudio-controller = <0x67>; + sunxi,cpudai-controller = <0x68>; + sunxi,snddaudio-codec = "acx00-codec"; + sunxi,snddaudio-codec-dai = "acx00-dai"; + status = "okay"; + device_type = "snddaudio3"; + }; + + sound@4 { + compatible = "allwinner,sunxi-spdif-machine"; + sunxi,spdif-controller = <0x69>; + status = "disabled"; + device_type = "sndspdif"; + }; + + sound@5 { + compatible = "allwinner,sunxi-dmic-machine"; + sunxi,dmic-controller = <0x6a>; + status = "disabled"; + device_type = "snddmic"; + }; + + sound@6 { + compatible = "allwinner,sunxi-ahub-machine"; + sunxi,cpudai-controller0 = <0x6b>; + sunxi,cpudai-controller1 = <0x6c>; + sunxi,cpudai-controller2 = <0x6d>; + sunxi,audio-codec = <0x6e>; + status = "okay"; + device_type = "sndahub"; + }; + + spi@05010000 { + #address-cells = <0x1>; + #size-cells = <0x0>; + compatible = "allwinner,sun50i-spi"; + device_type = "spi0"; + reg = <0x0 0x5010000 0x0 0x1000>; + interrupts = <0x0 0xa 0x4>; + clocks = <0x2 0x6f>; + clock-frequency = <0x5f5e100>; + pinctrl-names = "default", "sleep"; + spi0_cs_number = <0x1>; + spi0_cs_bitmap = <0x1>; + status = "okay"; + pinctrl-0 = <0xf8 0xf9>; + pinctrl-1 = <0xfa 0xfb>; + + spi_board0 { + device_type = "spi_board0"; + compatible = "rohm,dh2228fv"; + spi-max-frequency = <0x124f80>; + reg = <0x0>; + }; + }; + + spi@05011000 { + #address-cells = <0x1>; + #size-cells = <0x0>; + compatible = "allwinner,sun50i-spi"; + device_type = "spi1"; + reg = <0x0 0x5011000 0x0 0x1000>; + interrupts = <0x0 0xb 0x4>; + clocks = <0x2 0x73>; + clock-frequency = <0x5f5e100>; + pinctrl-names = "default", "sleep"; + spi1_cs_number = <0x1>; + spi1_cs_bitmap = <0x1>; + status = "disabled"; + pinctrl-0 = <0xfc 0xfd>; + pinctrl-1 = <0xfe 0xff>; + }; + + pcie@0x05400000 { + #address-cells = <0x3>; + #size-cells = <0x2>; + compatible = "allwinner,sun50i-pcie"; + reg = <0x0 0x5400000 0x0 0x2000 0x0 0x5410000 0x0 0x10000>; + reg-names = "dbi", "config"; + device_type = "pci"; + ranges = <0x800 0x0 0x5410000 0x0 0x5410000 0x0 0x10000 0x81000000 0x0 0x0 0x0 0x5e00000 0x0 0x10000 0x82000000 0x0 0x5500000 0x0 0x5500000 0x0 0x800000>; + num-lanes = <0x1>; + interrupts = <0x0 0x7f 0x4 0x0 0x7e 0x4>; + interrupt-names = "msi"; + clocks = <0x77 0xb 0xc 0x78 0x79 0x7a>; + #interrupt-cells = <0x1>; + interrupt-map-mask = <0x0 0x0 0x0 0x0>; + interrupt-map = <0x0 0x0 0x0 0x1 0x1 0x0 0x7f 0x4>; + status = "disabled"; + pcie_perst = <0x87 0x3 0x16 0x1 0xffffffff 0xffffffff 0xffffffff>; + speed_gen = <0x1>; + }; + + sdmmc@04022000 { + compatible = "allwinner,sunxi-mmc-v4p6x"; + device_type = "sdc2"; + reg = <0x0 0x4022000 0x0 0x1000>; + interrupts = <0x0 0x25 0x104>; + clocks = <0x7 0x7b 0x7c 0x7d 0x7e>; + clock-names = "osc24m", "pll_periph", "mmc", "ahb", "rst"; + pinctrl-names = "default", "sleep"; + pinctrl-1 = <0x80>; + bus-width = <0x8>; + max-frequency = <0x8f0d180>; + cap-sd-highspeed; + cap-mmc-highspeed; + cap-erase; + mmc-high-capacity-erase-size; + no-sdio; + no-sd; + 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 = <0x112>; + cd-gpios; + sunxi-power-save-mode; + sunxi-dis-signal-vol-sw; + mmc-ddr-1_8v; + mmc-hs200-1_8v; + mmc-hs400-1_8v; + vmmc = "vcc-emmcv"; + vqmmc = "vcc-emmcvq18"; + vdmmc = "none"; + }; + + sdmmc@04020000 { + compatible = "allwinner,sunxi-mmc-v4p1x"; + device_type = "sdc0"; + reg = <0x0 0x4020000 0x0 0x1000>; + interrupts = <0x0 0x23 0x104>; + clocks = <0x7 0x7b 0x81 0x82 0x83>; + clock-names = "osc24m", "pll_periph", "mmc", "ahb", "rst"; + pinctrl-names = "default", "sleep", "uart_jtag"; + pinctrl-1 = <0x85>; + pinctrl-2 = <0x86>; + max-frequency = <0x2faf080>; + bus-width = <0x4>; + cap-sd-highspeed; + cap-mmc-highspeed; + no-sdio; + no-mmc; + status = "okay"; + pinctrl-0 = <0x110>; + cd-gpios = <0x87 0x5 0x6 0x0 0x1 0x2 0xffffffff>; + sunxi-power-save-mode; + sunxi-dis-signal-vol-sw; + vmmc = "vcc-sdcv"; + vqmmc = "vcc-sdcvq33"; + vdmmc = "vcc-sdcvd"; + ctl-spec-caps = <0x80>; + }; + + sdmmc@04021000 { + compatible = "allwinner,sunxi-mmc-v4p1x"; + device_type = "sdc1"; + reg = <0x0 0x4021000 0x0 0x1000>; + interrupts = <0x0 0x24 0x104>; + clocks = <0x7 0x7b 0x88 0x89 0x8a>; + clock-names = "osc24m", "pll_periph", "mmc", "ahb", "rst"; + pinctrl-names = "default", "sleep"; + pinctrl-1 = <0x8c>; + max-frequency = <0x8f0d180>; + bus-width = <0x4>; + cap-sd-highspeed; + cap-mmc-highspeed; + no-mmc; + 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 = <0x111>; + sd-uhs-sdr50; + sd-uhs-ddr50; + sd-uhs-sdr104; + cap-sdio-irq; + keep-power-in-suspend; + ignore-pm-notify; + }; + + disp@01000000 { + compatible = "allwinner,sunxi-disp"; + reg = <0x0 0x1000000 0x0 0x1400000 0x0 0x6510000 0x0 0x100 0x0 0x6511000 0x0 0x800 0x0 0x6515000 0x0 0x800>; + interrupts = <0x0 0x41 0x104 0x0 0x42 0x104>; + clocks = <0xa 0x8d 0x8e 0x10>; + boot_disp = <0x0>; + boot_disp1 = <0x0>; + boot_disp2 = <0x0>; + fb_base = <0x0>; + iommus = <0x21 0x0 0x0>; + status = "okay"; + device_type = "disp"; + disp_init_enable = <0x1>; + disp_mode = <0x0>; + screen0_output_type = <0x3>; + screen0_output_mode = <0xa>; + screen0_output_format = <0x1>; + screen0_output_bits = <0x0>; + screen0_output_eotf = <0x4>; + screen0_output_cs = <0x101>; + screen0_output_dvi_hdmi = <0x2>; + screen0_output_range = <0x2>; + screen0_output_scan = <0x0>; + screen0_output_aspect_ratio = <0x8>; + screen1_output_type = <0x0>; + screen1_output_mode = <0x2>; + screen1_output_format = <0x1>; + screen1_output_bits = <0x0>; + screen1_output_eotf = <0x4>; + screen1_output_cs = <0x104>; + screen1_output_dvi_hdmi = <0x2>; + screen1_output_range = <0x2>; + screen1_output_scan = <0x0>; + screen1_output_aspect_ratio = <0x8>; + dev0_output_type = <0x4>; + dev0_output_mode = <0xa>; + dev0_screen_id = <0x0>; + dev0_do_hpd = <0x1>; + dev1_output_type = <0x0>; + 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 = <0x0>; + fb0_height = <0x0>; + fb1_format = <0x0>; + fb1_width = <0x0>; + fb1_height = <0x0>; + disp_para_zone = <0x1>; + }; + + 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 = <0x0>; + lcd_x = <0x320>; + lcd_y = <0x258>; + lcd_width = <0x96>; + lcd_height = <0x5e>; + lcd_dclk_freq = <0x28>; + lcd_pwm_used = <0x0>; + lcd_pwm_ch = <0x0>; + lcd_pwm_freq = <0xc350>; + lcd_pwm_pol = <0x1>; + lcd_pwm_max_limit = <0xff>; + lcd_hbp = <0xd8>; + lcd_ht = <0x420>; + lcd_hspw = <0x80>; + lcd_vbp = <0x1b>; + lcd_vt = <0x274>; + lcd_vspw = <0x4>; + 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; + lcd_bl_en_power = "none"; + lcd_power = "vcc-lcd-0"; + lcd_fix_power = "vcc-dsi-33"; + pinctrl-0 = <0x103>; + lcd_pin_power = "vcc-pd"; + pinctrl-1 = <0x104>; + }; + + lcd1@01c0c001 { + compatible = "allwinner,sunxi-lcd1"; + pinctrl-names = "active", "sleep"; + status = "okay"; + }; + + hdmi@06000000 { + compatible = "allwinner,sunxi-hdmi"; + reg = <0x0 0x6000000 0x0 0x100000>; + interrupts = <0x0 0x40 0x0>; + clocks = <0xd 0xe 0x11 0xf>; + pinctrl-names = "ddc_active", "ddc_sleep", "cec_active", "cec_sleep"; + pinctrl-1 = <0x90>; + pinctrl-2 = <0x91>; + pinctrl-3 = <0x92>; + status = "okay"; + device_type = "hdmi"; + hdmi_hdcp_enable = <0x0>; + hdmi_hdcp22_enable = <0x0>; + hdmi_cts_compatibility = <0x0>; + hdmi_cec_support = <0x1>; + hdmi_cec_super_standby = <0x1>; + hdmi_skip_bootedid = <0x1>; + pinctrl-0 = <0x105>; + ddc_en_io_ctrl = <0x1>; + ddc_io_ctrl = <0x87 0x7 0x2 0x1 0xffffffff 0xffffffff 0x0>; + }; + + tv0@01c94000 { + compatible = "allwinner,sunxi-tv"; + reg = <0x0 0x1e40000 0x0 0x1000>; + 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 = <0xa>; + status = "okay"; + }; + + pwm@0300a000 { + compatible = "allwinner,sunxi-pwm"; + reg = <0x0 0x300a000 0x0 0x3c>; + clocks = <0x93>; + pwm-number = <0x2>; + pwm-base = <0x0>; + pwms = <0x94 0x95>; + }; + + pwm0@0300a000 { + compatible = "allwinner,sunxi-pwm0"; + pinctrl-names = "active", "sleep"; + reg_base = <0x300a000>; + 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 = <0x94>; + phandle = <0x94>; + device_type = "pwm0"; + pwm_used = <0x1>; + pinctrl-0 = <0x108>; + pinctrl-1 = <0x109>; + }; + + pwm1@0300a000 { + compatible = "allwinner,sunxi-pwm1"; + pinctrl-names = "active", "sleep"; + reg_base = <0x300a000>; + reg_busy_offset = <0x0>; + reg_busy_shift = <0x1d>; + reg_enable_offset = <0x0>; + reg_enable_shift = <0x13>; + reg_clk_gating_offset = <0x0>; + reg_clk_gating_shift = <0x15>; + reg_bypass_offset = <0x0>; + reg_bypass_shift = <0x18>; + reg_pulse_start_offset = <0x0>; + reg_pulse_start_shift = <0x17>; + reg_mode_offset = <0x0>; + reg_mode_shift = <0x16>; + reg_polarity_offset = <0x0>; + reg_polarity_shift = <0x14>; + reg_period_offset = <0x8>; + reg_period_shift = <0x10>; + reg_period_width = <0x10>; + reg_active_offset = <0x8>; + reg_active_shift = <0x0>; + reg_active_width = <0x10>; + reg_prescal_offset = <0x0>; + reg_prescal_shift = <0xf>; + reg_prescal_width = <0x4>; + linux,phandle = <0x95>; + phandle = <0x95>; + device_type = "pwm1"; + pwm_used = <0x0>; + pinctrl-0 = <0x10a>; + pinctrl-1 = <0x10b>; + }; + + s_pwm@07020c00 { + compatible = "allwinner,sunxi-s_pwm"; + reg = <0x0 0x7020c00 0x0 0x3c>; + clocks = <0x96>; + pwm-number = <0x1>; + pwm-base = <0x10>; + pwms = <0x97>; + }; + + spwm0@07020c00 { + compatible = "allwinner,sunxi-pwm16"; + pinctrl-names = "active", "sleep"; + reg_base = <0x7020c00>; + 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 = <0x97>; + phandle = <0x97>; + }; + + boot_disp { + compatible = "allwinner,boot_disp"; + device_type = "boot_disp"; + auto_hpd = <0x1>; + output_disp = <0x0>; + output_type = <0x3>; + output_mode = <0xa>; + output_format = <0x1>; + output_bits = <0x0>; + output_eotf = <0x4>; + output_cs = <0x104>; + hdmi_channel = <0x0>; + hdmi_mode = <0x4>; + }; + + ac200 { + compatible = "allwinner,sunxi-ac200"; + clocks = <0x8e>; + pinctrl-names = "active", "sleep", "ccir_clk_active", "ccir_clk_sleep"; + pinctrl-2 = <0x98>; + pinctrl-3 = <0x99>; + status = "okay"; + device_type = "ac200"; + tv_used = <0x1>; + tv_module_name = "tv_ac200"; + tv_twi_used = <0x1>; + tv_twi_id = <0x3>; + tv_twi_addr = <0x10>; + tv_pwm_ch = <0x1>; + tv_clk_div = <0x5>; + tv_regulator_name = "vcc-audio-33"; + pinctrl-0 = <0x106>; + pinctrl-1 = <0x107>; + }; + + vind@0 { + compatible = "allwinner,sunxi-vin-media", "simple-bus"; + #address-cells = <0x2>; + #size-cells = <0x2>; + ranges; + device_id = <0x0>; + reg = <0x0 0x6620000 0x0 0x1000>; + clocks = <0x9a 0x2 0x9b 0x7 0x2>; + pinctrl-names = "mclk0-default", "mclk0-sleep"; + pinctrl-0 = <0x9c>; + pinctrl-1 = <0x9d>; + status = "disabled"; + + cci@0x0662e000 { + compatible = "allwinner,sunxi-csi_cci"; + reg = <0x0 0x662e000 0x0 0x1000>; + interrupts = <0x0 0x48 0x4>; + clocks = <0x9e>; + pinctrl-names = "default", "sleep"; + pinctrl-0 = <0x9f>; + pinctrl-1 = <0xa0>; + device_id = <0x0>; + status = "disabled"; + }; + + csi@0x06621000 { + device_type = "csi0"; + compatible = "allwinner,sunxi-csi"; + reg = <0x0 0x6621000 0x0 0x1000>; + interrupts = <0x0 0x46 0x4>; + pinctrl-names = "default", "sleep"; + pinctrl-1 = <0xa2>; + device_id = <0x0>; + iommus = <0x21 0x4 0x1>; + status = "disabled"; + csi0_sensor_list = <0x0>; + pinctrl-0 = <0x10e 0x10f>; + + csi0_dev0 { + device_type = "csi0_dev0"; + status = "disabled"; + csi0_dev0_mname = "ov5640"; + csi0_dev0_twi_addr = <0x78>; + csi0_dev0_pos = "rear"; + csi0_dev0_isp_used = <0x0>; + 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_power_en; + csi0_dev0_reset = <0x87 0x4 0xe 0x1 0x0 0x1 0x0>; + csi0_dev0_pwdn = <0x87 0x4 0xf 0x1 0x0 0x1 0x0>; + csi0_dev0_flash_used = <0x0>; + csi0_dev0_flash_type = <0x2>; + csi0_dev0_flash_en; + csi0_dev0_flash_mode; + csi0_dev0_flvdd; + csi0_dev0_flvdd_vol; + csi0_dev0_af_pwdn; + csi0_dev0_act_used = <0x0>; + csi0_dev0_act_name = "ad5820_act"; + csi0_dev0_act_slave = <0x18>; + }; + + csi0_dev1 { + device_type = "csi0_dev1"; + status = "disabled"; + csi0_dev1_mname; + csi0_dev1_twi_addr = <0x78>; + csi0_dev1_pos = "rear"; + csi0_dev1_isp_used = <0x0>; + 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_power_en; + csi0_dev1_reset; + csi0_dev1_pwdn; + csi0_dev1_flash_used = <0x0>; + csi0_dev1_flash_type = <0x2>; + csi0_dev1_flash_en; + csi0_dev1_flash_mode; + csi0_dev1_flvdd; + csi0_dev1_flvdd_vol; + csi0_dev1_af_pwdn; + csi0_dev1_act_used = <0x0>; + csi0_dev1_act_name = "ad5820_act"; + csi0_dev1_act_slave = <0x18>; + }; + }; + + csi@1 { + device_type = "csi1"; + compatible = "allwinner,sunxi-csi"; + device_id = <0x1>; + iommus = <0x21 0x4 0x1>; + status = "disabled"; + }; + + mipi@0 { + compatible = "allwinner,sunxi-mipi"; + device_id = <0x0>; + status = "disabled"; + }; + + mipi@1 { + compatible = "allwinner,sunxi-mipi"; + device_id = <0x1>; + status = "disabled"; + }; + + isp@0 { + compatible = "allwinner,sunxi-isp"; + reg = <0x0 0x2100000 0x0 0x800>; + interrupts = <0x0 0x56 0x4>; + device_id = <0x0>; + iommus = <0x21 0x4 0x1>; + status = "disabled"; + linux,phandle = <0xa5>; + phandle = <0xa5>; + }; + + isp@1 { + compatible = "allwinner,sunxi-isp"; + reg = <0x0 0x2100800 0x0 0x800>; + device_id = <0x1>; + iommus = <0x21 0x4 0x1>; + status = "disabled"; + linux,phandle = <0xa6>; + phandle = <0xa6>; + }; + + scaler@0x02101000 { + compatible = "allwinner,sunxi-scaler"; + reg = <0x0 0x2101000 0x0 0x400>; + device_id = <0x0>; + iommus = <0x21 0x4 0x1>; + status = "disabled"; + }; + + scaler@0x02101400 { + compatible = "allwinner,sunxi-scaler"; + reg = <0x0 0x2101400 0x0 0x400>; + device_id = <0x1>; + iommus = <0x21 0x4 0x1>; + status = "disabled"; + }; + + scaler@2 { + compatible = "allwinner,sunxi-scaler"; + device_id = <0x2>; + iommus = <0x21 0x4 0x1>; + status = "disabled"; + }; + + scaler@3 { + compatible = "allwinner,sunxi-scaler"; + device_id = <0x3>; + iommus = <0x21 0x4 0x1>; + status = "disabled"; + }; + + actuator@0 { + device_type = "actuator0"; + compatible = "allwinner,sunxi-actuator"; + actuator0_name = "ad5820_act"; + actuator0_slave = <0x18>; + actuator0_af_pwdn; + actuator0_afvdd = "afvcc-csi"; + actuator0_afvdd_vol = <0x2ab980>; + status = "disabled"; + linux,phandle = <0xa4>; + phandle = <0xa4>; + }; + + flash@0 { + device_type = "flash0"; + compatible = "allwinner,sunxi-flash"; + flash0_type = <0x2>; + flash0_en; + flash0_mode; + flash0_flvdd = [00]; + flash0_flvdd_vol; + device_id = <0x0>; + status = "disabled"; + linux,phandle = <0xa3>; + phandle = <0xa3>; + }; + + sensor@0 { + device_type = "sensor0"; + sensor0_mname = "ov5640"; + sensor0_twi_cci_id = <0x0>; + sensor0_twi_addr = <0x78>; + sensor0_pos = "rear"; + sensor0_isp_used = <0x0>; + sensor0_fmt = <0x0>; + sensor0_stby_mode = <0x0>; + sensor0_vflip = <0x0>; + sensor0_hflip = <0x0>; + sensor0_iovdd = "iovdd-csi"; + sensor0_iovdd_vol = <0x2ab980>; + sensor0_avdd = "avdd-csi"; + sensor0_avdd_vol = <0x2ab980>; + sensor0_dvdd = "dvdd-csi-18"; + sensor0_dvdd_vol = <0x16e360>; + sensor0_power_en; + sensor0_reset = <0x87 0x4 0xe 0x1 0x0 0x1 0x0>; + sensor0_pwdn = <0x87 0x4 0x10 0x1 0x0 0x1 0x0>; + flash_handle = <0xa3>; + act_handle = <0xa4>; + status = "disabled"; + linux,phandle = <0xa7>; + phandle = <0xa7>; + }; + + sensor@1 { + device_type = "sensor1"; + sensor1_mname = "ov5647"; + sensor1_twi_cci_id = <0x0>; + sensor1_twi_addr = <0x6c>; + sensor1_pos = "front"; + sensor1_isp_used = <0x0>; + sensor1_fmt = <0x0>; + sensor1_stby_mode = <0x0>; + sensor1_vflip = <0x0>; + sensor1_hflip = <0x0>; + sensor1_iovdd = "iovdd-csi"; + sensor1_iovdd_vol = <0x2ab980>; + sensor1_avdd = "avdd-csi"; + sensor1_avdd_vol = <0x2ab980>; + sensor1_dvdd = "dvdd-csi-18"; + sensor1_dvdd_vol = <0x16e360>; + sensor1_power_en; + sensor1_reset = <0x87 0x4 0xe 0x1 0x0 0x1 0x0>; + sensor1_pwdn = <0x87 0x4 0xf 0x1 0x0 0x1 0x0>; + flash_handle; + act_handle; + status = "disabled"; + linux,phandle = <0xa8>; + phandle = <0xa8>; + }; + + vinc@0x06623000 { + device_type = "vinc0"; + compatible = "allwinner,sunxi-vin-core"; + reg = <0x0 0x6623000 0x0 0x100>; + interrupts = <0x0 0x43 0x4>; + vinc0_csi_sel = <0x0>; + vinc0_mipi_sel = <0xff>; + vinc0_isp_sel = <0x0>; + vinc0_sensor_sel = <0x0>; + vinc0_sensor_list = <0x0>; + isp_handle = <0xa5 0xa6>; + sensor_handle = <0xa7 0xa8>; + device_id = <0x0>; + iommus = <0x21 0x4 0x1>; + status = "disabled"; + }; + + vinc@0x06623100 { + device_type = "vinc1"; + compatible = "allwinner,sunxi-vin-core"; + reg = <0x0 0x6623100 0x0 0x100>; + interrupts = <0x0 0x44 0x4>; + vinc1_csi_sel = <0x0>; + vinc1_mipi_sel = <0xff>; + vinc1_isp_sel = <0x0>; + vinc1_sensor_sel = <0x1>; + vinc1_sensor_list = <0x0>; + isp_handle = <0xa5 0xa6>; + sensor_handle = <0xa7 0xa8>; + device_id = <0x1>; + iommus = <0x21 0x4 0x1>; + status = "disabled"; + }; + }; + + vdevice@0 { + compatible = "allwinner,sun50i-vdevice"; + device_type = "Vdevice"; + pinctrl-names = "default"; + test-gpios = <0x87 0x1 0x0 0x1 0x2 0x2 0x1>; + status = "disabled"; + pinctrl-0 = <0x116>; + }; + + emce@01905000 { + compatible = "allwinner,sunxi-emce"; + device_name = "emce"; + reg = <0x0 0x1905000 0x0 0x100>; + clock-frequency = <0x11e1a300>; + clocks = <0xaa 0x23>; + }; + + ce@1904000 { + compatible = "allwinner,sunxi-ce"; + device_name = "ce"; + reg = <0x0 0x1904000 0x0 0xa0 0x0 0x1904800 0x0 0xa0>; + interrupts = <0x0 0x57 0xff01 0x0 0x58 0xff01>; + clock-frequency = <0x11e1a300>; + clocks = <0xab 0x23>; + }; + + deinterlace@0x01420000 { + #address-cells = <0x1>; + #size-cells = <0x0>; + compatible = "allwinner,sunxi-deinterlace"; + reg = <0x0 0x1420000 0x0 0x20c>; + interrupts = <0x0 0x4f 0x4>; + clocks = <0xac 0x2>; + iommus = <0x21 0x2 0x1>; + status = "okay"; + device_type = "di"; + }; + + smartcard@0x05005000 { + #address-cells = <0x1>; + #size-cells = <0x0>; + compatible = "allwinner,sunxi-scr"; + device_type = "scr0"; + reg = <0x0 0x5005000 0x0 0x400>; + interrupts = <0x0 0x8 0x4>; + clocks = <0xad 0xae>; + clock-frequency = <0x16e3600>; + pinctrl-names = "default", "sleep"; + pinctrl-0 = <0xaf 0xb0>; + pinctrl-1 = <0xb1>; + status = "disabled"; + }; + + smartcard@0x05005400 { + #address-cells = <0x1>; + #size-cells = <0x0>; + compatible = "allwinner,sunxi-scr"; + device_type = "scr1"; + reg = <0x0 0x5005400 0x0 0x400>; + interrupts = <0x0 0x9 0x4>; + clocks = <0xb2 0xae>; + clock-frequency = <0x16e3600>; + pinctrl-names = "default", "sleep"; + pinctrl-0 = <0xb3 0xb4>; + pinctrl-1 = <0xb5>; + status = "disabled"; + }; + + pmu@0 { + interrupts = <0x0 0x60 0x4>; + status = "okay"; + device_type = "pmu0"; + compatible = "axp806"; + pmu_id = <0x3>; + pmu_irq_wakeup = <0x1>; + pmu_hot_shutdown = <0x1>; + + powerkey@0 { + status = "okay"; + device_type = "powerkey0"; + compatible = "axp806-powerkey"; + pmu_powkey_off_time = <0x1770>; + pmu_powkey_off_func = <0x0>; + pmu_powkey_off_en = <0x1>; + pmu_powkey_long_time = <0x5dc>; + pmu_powkey_on_time = <0x3e8>; + }; + + regulator@0 { + status = "okay"; + device_type = "regulator0"; + compatible = "axp806-regulator"; + regulator_count = <0x10>; + regulator1 = "axp806_dcdca none vdd-cpua"; + regulator2 = "axp806_dcdcb none"; + regulator3 = "axp806_dcdcc none vdd-gpu"; + regulator4 = "axp806_dcdcd none vdd-sys vdd-hdmi vdd-pcie vdd-usb"; + regulator5 = "axp806_dcdce none vcc-dram"; + regulator6 = "axp806_aldo1 none vcc-pl vcc-led vcc-ir vcc-pg vcc-pm vcc-ts"; + regulator7 = "axp806_aldo2 none ac-ldoin vcc-audio-33 vcc-ephy usb-dvdd vcc-tv"; + regulator8 = "axp806_aldo3 none vcc-pcie-slot"; + regulator9 = "axp806_bldo1 none vdd-dram-18 vdd-bias vcc-pll"; + regulator10 = "axp806_bldo2 none vcc-emmc-18 vdd-efuse vcc-pcie vcc-hdmi vcc-emmcvq18"; + regulator11 = "axp806_bldo3 none vcc-wifi-io"; + regulator12 = "axp806_bldo4 none"; + regulator13 = "axp806_cldo1 none vcc-io vcc-nand vcc-card vcc-pd vcc-usb vcc-uart vcc-jtagx vcc-emmc-33 vcc-camera-33 vcc-emmcv vcc-sdcv vcc-sdcvq33 vcc-sdcvd"; + regulator14 = "axp806_cldo2 none vcc-wifi1"; + regulator15 = "axp806_cldo3 none vcc-wifi2"; + regulator16 = "axp806_sw none"; + }; + + axp_gpio@0 { + gpio-controller; + #size-cells = <0x0>; + #gpio-cells = <0x6>; + status = "okay"; + device_type = "axp_pio"; + linux,phandle = <0x100>; + phandle = <0x100>; + }; + + charger@0 { + status = "disabled"; + device_type = "charger0"; + pmu_bat_unused = <0x1>; + pmu_pwroff_vol = <0xce4>; + power_start = <0x0>; + }; + }; + + 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@04011000 { + compatible = "allwinner,sun50iw6-nand"; + device_type = "nand0"; + reg = <0x0 0x4011000 0x0 0x1000>; + interrupts = <0x0 0x22 0x4>; + clocks = <0x23 0xb6 0xb7>; + pinctrl-names = "default", "sleep"; + pinctrl-1 = <0xba>; + 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 = <0x101 0x102>; + }; + + ts0@05060000 { + compatible = "allwinner,sun50i-tsc"; + device_type = "ts0"; + reg = <0x0 0x5060000 0x0 0x1000>; + interrupts = <0x0 0xe 0x4>; + clocks = <0x2 0xbb>; + clock-frequency = <0x7270e00>; + pinctrl-names = "ts0-default", "ts1-default", "ts2-default", "ts3-default", "ts0-sleep", "ts1-sleep", "ts2-sleep", "ts3-sleep"; + pinctrl-0 = <0xbc>; + pinctrl-1 = <0xbd>; + pinctrl-2 = <0xbe>; + pinctrl-3 = <0xbf>; + pinctrl-4 = <0xc0>; + pinctrl-5 = <0xc1>; + pinctrl-6 = <0xc2>; + pinctrl-7 = <0xc3>; + ts0config = <0x1>; + ts1config = <0x0>; + ts2config = <0x0>; + ts3config = <0x0>; + status = "okay"; + }; + + thermal_sensor { + compatible = "allwinner,thermal_sensor"; + reg = <0x0 0x5070400 0x0 0x400>; + interrupts = <0x0 0xf 0x0>; + clocks = <0x7 0xc4>; + sensor_num = <0x2>; + combine_num = <0x2>; + alarm_low_temp = <0x19a28>; + alarm_high_temp = <0x1adb0>; + alarm_temp_hysteresis = <0x3a98>; + shut_temp = <0x1c138>; + status = "okay"; + + ths_combine0 { + compatible = "allwinner,ths_combine0"; + #thermal-sensor-cells = <0x1>; + combine_sensor_num = <0x1>; + combine_sensor_type = "cpu"; + combine_sensor_temp_type = "max"; + combine_sensor_id = <0x0>; + linux,phandle = <0xc5>; + phandle = <0xc5>; + }; + + ths_combine1 { + compatible = "allwinner,ths_combine1"; + #thermal-sensor-cells = <0x1>; + combine_sensor_num = <0x1>; + combine_sensor_type = "gpu"; + combine_sensor_temp_type = "max"; + combine_sensor_id = <0x1>; + linux,phandle = <0xcd>; + phandle = <0xcd>; + }; + }; + + cpu_budget_cool { + device_type = "cpu_budget_cool"; + compatible = "allwinner,budget_cooling"; + #cooling-cells = <0x2>; + status = "okay"; + state_cnt = <0x7>; + cluster_num = <0x1>; + state0 = <0x1b7740 0x4>; + state1 = <0x16b480 0x4>; + state2 = <0x142440 0x3>; + state3 = <0x107ac0 0x2>; + state4 = <0xd8cc0 0x1>; + state5 = <0xafc80 0x1>; + state6 = <0x75300 0x1>; + linux,phandle = <0xc7>; + phandle = <0xc7>; + }; + + gpu_cooling { + compatible = "allwinner,gpu_cooling"; + reg = <0x0 0x0 0x0 0x0>; + #cooling-cells = <0x2>; + status = "okay"; + state_cnt = <0x4>; + state0 = <0x0>; + state1 = <0x1>; + state2 = <0x2>; + state3 = <0x3>; + linux,phandle = <0xcf>; + phandle = <0xcf>; + }; + + thermal-zones { + + cpu_thermal_zone { + polling-delay-passive = <0x3e8>; + polling-delay = <0x3e8>; + thermal-sensors = <0xc5 0x0>; + + trips { + + t0 { + temperature = <0xea60>; + type = "passive"; + hysteresis = <0x0>; + linux,phandle = <0xc6>; + phandle = <0xc6>; + }; + + t1 { + temperature = <0x15f90>; + type = "passive"; + hysteresis = <0x0>; + linux,phandle = <0xc8>; + phandle = <0xc8>; + }; + + t2 { + temperature = <0x17318>; + type = "passive"; + hysteresis = <0x0>; + linux,phandle = <0xc9>; + phandle = <0xc9>; + }; + + t3 { + temperature = <0x186a0>; + type = "passive"; + hysteresis = <0x0>; + linux,phandle = <0xca>; + phandle = <0xca>; + }; + + t4 { + temperature = <0x19a28>; + type = "passive"; + hysteresis = <0x0>; + linux,phandle = <0xcb>; + phandle = <0xcb>; + }; + + t5 { + temperature = <0x1adb0>; + type = "passive"; + hysteresis = <0x0>; + linux,phandle = <0xcc>; + phandle = <0xcc>; + }; + + t6 { + temperature = <0x1c138>; + type = "critical"; + hysteresis = <0x0>; + }; + }; + + cooling-maps { + + bind0 { + contribution = <0x0>; + trip = <0xc6>; + cooling-device = <0xc7 0x1 0x1>; + }; + + bind1 { + contribution = <0x0>; + trip = <0xc8>; + cooling-device = <0xc7 0x2 0x2>; + }; + + bind2 { + contribution = <0x0>; + trip = <0xc9>; + cooling-device = <0xc7 0x3 0x3>; + }; + + bind3 { + contribution = <0x0>; + trip = <0xca>; + cooling-device = <0xc7 0x4 0x4>; + }; + + bind4 { + contribution = <0x0>; + trip = <0xcb>; + cooling-device = <0xc7 0x5 0x5>; + }; + + bind5 { + contribution = <0x0>; + trip = <0xcc>; + cooling-device = <0xc7 0x6 0x6>; + }; + }; + }; + + gpu_thermal_zone { + polling-delay-passive = <0x3e8>; + polling-delay = <0x7d0>; + thermal-sensors = <0xcd 0x1>; + + trips { + + t0 { + temperature = <0x17318>; + type = "passive"; + hysteresis = <0x0>; + linux,phandle = <0xce>; + phandle = <0xce>; + }; + + t1 { + temperature = <0x186a0>; + type = "passive"; + hysteresis = <0x0>; + linux,phandle = <0xd0>; + phandle = <0xd0>; + }; + + t2 { + temperature = <0x19a28>; + type = "passive"; + hysteresis = <0x0>; + linux,phandle = <0xd1>; + phandle = <0xd1>; + }; + + t3 { + temperature = <0x1c138>; + type = "critical"; + hysteresis = <0x0>; + }; + }; + + cooling-maps { + + bind0 { + contribution = <0x0>; + trip = <0xce>; + cooling-device = <0xcf 0x1 0x1>; + }; + + bind1 { + contribution = <0x0>; + trip = <0xd0>; + cooling-device = <0xcf 0x2 0x2>; + }; + + bind2 { + contribution = <0x0>; + trip = <0xd1>; + cooling-device = <0xcf 0x3 0x3>; + }; + }; + }; + }; + + keyboard { + compatible = "allwinner,keyboard_1200mv"; + reg = <0x0 0x5070800 0x0 0x400>; + interrupts = <0x0 0x10 0x0>; + status = "okay"; + key_cnt = <0x5>; + key0 = <0x73 0x73>; + key1 = <0xeb 0x72>; + key2 = <0x14a 0x8b>; + key3 = <0x1a4 0x1c>; + key4 = <0x208 0x66>; + }; + + eth@05020000 { + compatible = "allwinner,sunxi-gmac"; + reg = <0x0 0x5020000 0x0 0x10000 0x0 0x3000030 0x0 0x4>; + interrupts = <0x0 0xc 0x4>; + interrupt-names = "gmacirq"; + clocks = <0xd2>; + clock-names = "gmac"; + pinctrl-1 = <0xd4>; + pinctrl-names = "default", "sleep"; + phy-mode = "rgmii"; + tx-delay = <0x0>; + rx-delay = <0x0>; + phy-rst; + gmac-power0 = "vcc-io"; + gmac-power1 = "axp806_aldo3"; + status = "okay"; + device_type = "gmac0"; + pinctrl-0 = <0xe7 0xe8>; + gmac-power2; + }; + + wlan { + compatible = "allwinner,sunxi-wlan"; + clocks = <0xd5>; + status = "disabled"; + device_type = "wlan"; + wlan_busnum = <0x1>; + wlan_usbnum = <0x3>; + wlan_power1 = "vcc-wifi1"; + wlan_power2 = "vcc-wifi2"; + wlan_io_regulator = "vcc-wifi-io"; + wlan_en = <0xd6 0xb 0x8 0x1 0xffffffff 0xffffffff 0x0>; + wlan_regon = <0xd6 0xc 0x3 0x1 0xffffffff 0xffffffff 0x0>; + wlan_hostwake = <0xd6 0xc 0x0 0x0 0xffffffff 0xffffffff 0x0>; + }; + + bt { + compatible = "allwinner,sunxi-bt"; + clocks = <0xd5>; + bt_power = "vcc-wifi"; + bt_io_regulator = "vcc-wifi-io"; + status = "disabled"; + device_type = "bt"; + bt_rst_n = <0xd6 0xc 0x4 0x1 0xffffffff 0xffffffff 0x0>; + }; + + btlpm { + compatible = "allwinner,sunxi-btlpm"; + uart_index = <0x1>; + status = "disabled"; + device_type = "btlpm"; + bt_hostwake_enable = <0x0>; + bt_wake = <0xd6 0xc 0x2 0x1 0xffffffff 0xffffffff 0x1>; + bt_hostwake = <0xd6 0xc 0x1 0x6 0xffffffff 0xffffffff 0x0>; + }; + + product { + device_type = "product"; + version = "100"; + machine = "petrel-p1"; + }; + + platform { + device_type = "platform"; + eraseflag = <0x1>; + }; + + target { + device_type = "target"; + boot_clock = <0x528>; + storage_type = <0xffffffff>; + burn_key = <0x0>; + dragonboard_test = <0x0>; + power_mode = <0x0>; + advert_enable = <0x0>; + }; + + secure { + device_type = "secure"; + dram_region_mbytes = <0x40>; + drm_region_mbytes = <0x0>; + drm_region_start_mbytes = <0x0>; + }; + + power_sply { + device_type = "power_sply"; + dcdca_vol = <0xf4628>; + aldo2_vol = <0xf4f24>; + }; + + gpio_bias { + device_type = "gpio_bias"; + pc_bias = "axp806:bldo2:1800"; + pg_bias = "axp806:bldo3:1800"; + }; + + ir_boot_recovery { + device_type = "ir_boot_recovery"; + status = "disabled"; + ir_work_mode = <0x1>; + ir_press_times = <0x2>; + ir_detect_time = <0x7d0>; + ir_key_no_duplicate = <0x0>; + ir_recovery_key_code0 = <0x4>; + ir_addr_code0 = <0xff00>; + ir_recovery_key_code1 = <0x10>; + ir_addr_code1 = <0xff00>; + }; + + card_boot { + device_type = "card_boot"; + logical_start = <0xa000>; + sprite_gpio0 = <0xd6 0xb 0x4 0x1 0xffffffff 0xffffffff 0x1>; + next_work = <0x3>; + }; + + key_boot_recovery { + device_type = "key_boot_recovery"; + status = "disabled"; + press_mode_enable = <0x0>; + key_work_mode = <0x1>; + short_press_mode = <0x0>; + long_press_mode = <0x1>; + key_press_time = <0x7d0>; + recovery_key = <0xd6 0xb 0x2 0x0 0xffffffff 0xffffffff 0xffffffff>; + }; + + boot_init_gpio { + device_type = "boot_init_gpio"; + status = "okay"; + gpio0 = <0xd6 0xb 0x4 0x1 0xffffffff 0xffffffff 0x1>; + gpio1 = <0xd6 0xb 0x7 0x1 0xffffffff 0xffffffff 0x0>; + gpio2 = <0x87 0x7 0x2 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 = <0xe2>; + }; + + card2_boot_para { + device_type = "card2_boot_para"; + card_ctrl = <0x2>; + card_high_speed = <0x1>; + card_line = <0x8>; + pinctrl-0 = <0xe3>; + sdc_ex_dly_used = <0x2>; + sdc_io_1v8 = <0x1>; + sdc_tm4_hs400_max_freq = <0x64>; + sdc_tm4_hs200_max_freq = <0x96>; + }; + + twi_para { + device_type = "twi_para"; + twi_port = <0x0>; + pinctrl-0 = <0xe4>; + }; + + uart_para { + device_type = "uart_para"; + uart_debug_port = <0x0>; + pinctrl-0 = <0xe5>; + }; + + jtag_para { + device_type = "jtag_para"; + jtag_enable = <0x0>; + pinctrl-0 = <0xe6>; + }; + + 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 = <0x87 0x7 0x4 0x6 0xffffffff 0xffffffff 0xffffffff>; + ctp_wakeup = <0x87 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 = <0x0>; + 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 = <0x0>; + motor_shake = <0x100 0xfffe 0x3 0x1 0xffffffff 0xffffffff 0x1>; + }; + + esm { + device_type = "esm"; + esm_img_size_addr = <0x0>; + esm_img_buff_addr = <0x0>; + }; + + pwm16 { + device_type = "pwm16"; + s_pwm0_used = <0x0>; + pinctrl-0 = <0x10c>; + pinctrl-1 = <0x10d>; + }; + + 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; + }; + + gpio_para { + device_type = "gpio_para"; + compatible = "allwinner,sunxi-init-gpio"; + gpio_used = <0x1>; + gpio_num = <0x3>; + gpio_pin_1 = <0xd6 0xb 0x7 0x1 0xffffffff 0xffffffff 0x1>; + gpio_pin_2 = <0xd6 0xb 0x4 0x1 0xffffffff 0xffffffff 0x0>; + gpio_pin_3 = <0x87 0x3 0x6 0x1 0xffffffff 0x3 0x1>; + normal_led = "gpio_pin_2"; + standby_led = "gpio_pin_1"; + easy_light_used = <0x1>; + normal_led_light = <0x1>; + standby_led_light = <0x1>; + }; + + usbc3 { + device_type = "usbc3"; + status = "okay"; + usb_drv_vbus_gpio; + usb_host_init_state = <0x1>; + usb_regulator_io = "nocare"; + usb_wakeup_suspend = <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 = <0x87 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>; + }; + + addr_mgt { + device_type = "addr_mgt"; + compatible = "allwinner,sunxi-addr_mgt"; + status = "okay"; + type_addr_wifi = <0x0>; + type_addr_bt = <0x0>; + type_addr_eth = <0x0>; + }; + + 3g_para { + device_type = "3g_para"; + 3g_used = <0x0>; + 3g_usbc_num = <0x2>; + 3g_uart_num = <0x0>; + bb_vbat = <0xd6 0xb 0x3 0x1 0xffffffff 0xffffffff 0x0>; + bb_host_wake = <0xd6 0xc 0x0 0x1 0xffffffff 0xffffffff 0x0>; + bb_on = <0xd6 0xc 0x1 0x1 0xffffffff 0xffffffff 0x0>; + bb_pwr_on = <0xd6 0xc 0x3 0x1 0xffffffff 0xffffffff 0x0>; + bb_wake = <0xd6 0xc 0x4 0x1 0xffffffff 0xffffffff 0x0>; + bb_rf_dis = <0xd6 0xc 0x5 0x1 0xffffffff 0xffffffff 0x0>; + bb_rst = <0xd6 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 = <0x87 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 = <0x1>; + 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 = <0x87 0x0 0xc 0x6 0x1 0xffffffff 0xffffffff>; + }; + + ls_list_para { + device_type = "ls_list_para"; + compatible = "allwinner,sun50i-lsensors-list-para"; + ls_det_used = <0x1>; + 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 = <0x87 0x0 0xb 0x6 0x1 0xffffffff 0xffffffff>; + }; + + compass_list_para { + device_type = "compass_list_para"; + compatible = "allwinner,sun50i-compass-list-para"; + compass_det_used = <0x1>; + lsm9ds0 = <0x1>; + lsm303d = <0x0>; + akm8963 = <0x1>; + }; + + dvfs_table_0 { + device_type = "dvfs_table_0"; + max_freq = <0x6b49d200>; + min_freq = <0x1c9c3800>; + lv_count = <0x8>; + lv1_freq = <0x6b49d200>; + lv1_volt = <0x488>; + lv2_freq = <0x58b11400>; + lv2_volt = <0x424>; + lv3_freq = <0x4ead9a00>; + lv3_volt = <0x3e8>; + lv4_freq = "@_~"; + lv4_volt = <0x3ac>; + lv5_freq = <0x34edce00>; + lv5_volt = <0x370>; + lv6_freq = <0x0>; + lv6_volt = <0x370>; + lv7_freq = <0x0>; + lv7_volt = <0x370>; + lv8_freq = <0x0>; + lv8_volt = <0x370>; + }; + + dvfs_table_1 { + device_type = "dvfs_table_1"; + max_freq = <0x6b49d200>; + min_freq = <0x1c9c3800>; + lv_count = <0x8>; + lv1_freq = <0x6b49d200>; + lv1_volt = <0x44c>; + lv2_freq = <0x58b11400>; + lv2_volt = <0x3e8>; + lv3_freq = <0x4ead9a00>; + lv3_volt = <0x3ac>; + lv4_freq = "@_~"; + lv4_volt = <0x370>; + lv5_freq = <0x34edce00>; + lv5_volt = <0x334>; + lv6_freq = <0x0>; + lv6_volt = <0x334>; + lv7_freq = <0x0>; + lv7_volt = <0x334>; + lv8_freq = <0x0>; + lv8_volt = <0x334>; + }; + + dvfs_table_2 { + device_type = "dvfs_table_2"; + max_freq = <0x6b49d200>; + min_freq = <0x1c9c3800>; + lv_count = <0x8>; + lv1_freq = <0x6b49d200>; + lv1_volt = <0x424>; + lv2_freq = <0x58b11400>; + lv2_volt = <0x3c0>; + lv3_freq = <0x4ead9a00>; + lv3_volt = <0x384>; + lv4_freq = "@_~"; + lv4_volt = <0x348>; + lv5_freq = <0x34edce00>; + lv5_volt = <0x320>; + lv6_freq = <0x0>; + lv6_volt = <0x320>; + lv7_freq = <0x0>; + lv7_volt = <0x320>; + lv8_freq = <0x0>; + lv8_volt = <0x320>; + }; + + s_rsb0 { + device_type = "s_rsb0"; + status = "disabled"; + pinctrl-0 = <0x114>; + }; + + box_standby_led { + device_type = "box_standby_led"; + gpio0 = <0xd6 0xb 0x7 0x1 0xffffffff 0xffffffff 0x1>; + gpio1 = <0xd6 0xb 0x4 0x1 0xffffffff 0xffffffff 0x0>; + }; + + gpio_power_key { + device_type = "gpio_power_key"; + compatible = "allwinner,sunxi-gpio-power-key"; + status = "disabled"; + key_io = <0xd6 0xb 0x5 0x0 0xffffffff 0xffffffff 0x0>; + trigger_mode = <0x1>; + }; + + auto_print { + device_type = "auto_print"; + status = "disabled"; + }; + }; + + aliases { + serial0 = "/soc@03000000/uart@05000000", "/soc@03000000/uart@05000000"; + serial1 = "/soc@03000000/uart@05000400", "/soc@03000000/uart@05000400"; + serial2 = "/soc@03000000/uart@05000800", "/soc@03000000/uart@05000800"; + serial3 = "/soc@03000000/uart@05000c00", "/soc@03000000/uart@05000c00"; + twi0 = "/soc@03000000/twi@0x05002000", "/soc@03000000/twi@0x05002000"; + twi1 = "/soc@03000000/twi@0x05002400", "/soc@03000000/twi@0x05002400"; + twi2 = "/soc@03000000/twi@0x05002800", "/soc@03000000/twi@0x05002800"; + twi3 = "/soc@03000000/twi@0x05002c00", "/soc@03000000/twi@0x05002c00"; + spi0 = "/soc@03000000/spi@05010000", "/soc@03000000/spi@05010000"; + spi1 = "/soc@03000000/spi@05011000", "/soc@03000000/spi@05011000"; + pcie = "/soc@03000000/pcie@0x05400000", "/soc@03000000/pcie@0x05400000"; + scr0 = "/soc@03000000/smartcard@0x05005000", "/soc@03000000/smartcard@0x05005000"; + scr1 = "/soc@03000000/smartcard@0x05005400", "/soc@03000000/smartcard@0x05005400"; + gmac0 = "/soc@03000000/eth@05020000", "/soc@03000000/eth@05020000"; + global_timer0 = "/soc@03000000/timer@03009000", "/soc@03000000/timer@03009000"; + mmc0 = "/soc@03000000/sdmmc@04020000", "/soc@03000000/sdmmc@04020000"; + mmc2 = "/soc@03000000/sdmmc@04022000", "/soc@03000000/sdmmc@04022000"; + nand0 = "/soc@03000000/nand0@04011000", "/soc@03000000/nand0@04011000"; + disp = "/soc@03000000/disp@01000000", "/soc@03000000/disp@01000000"; + lcd0 = "/soc@03000000/lcd0@01c0c000", "/soc@03000000/lcd0@01c0c000"; + lcd1 = "/soc@03000000/lcd1@01c0c001", "/soc@03000000/lcd1@01c0c001"; + hdmi = "/soc@03000000/hdmi@06000000", "/soc@03000000/hdmi@06000000"; + pwm = "/soc@03000000/pwm@0300a000", "/soc@03000000/pwm@0300a000"; + pwm0 = "/soc@03000000/pwm0@0300a000", "/soc@03000000/pwm0@0300a000"; + pwm1 = "/soc@03000000/pwm1@0300a000", "/soc@03000000/pwm1@0300a000"; + tv0 = "/soc@03000000/tv0@01c94000", "/soc@03000000/tv0@01c94000"; + s_pwm = "/soc@03000000/s_pwm@07020c00", "/soc@03000000/s_pwm@07020c00"; + spwm0 = "/soc@03000000/spwm0@07020c00", "/soc@03000000/spwm0@07020c00"; + ac200 = "/soc@03000000/ac200", "/soc@03000000/ac200"; + boot_disp = "/soc@03000000/boot_disp", "/soc@03000000/boot_disp"; + charger0 = "/soc@03000000/pmu@0/charger@0", "/soc@03000000/pmu@0/charger@0"; + regulator0 = "/soc@03000000/pmu@0/regulator@0", "/soc@03000000/pmu@0/regulator@0"; + }; + + chosen { + bootargs = "earlyprintk=sunxi-uart,0x05000000 loglevel=8 initcall_debug=1 console=ttyS0 init=/init"; + linux,initrd-start = <0x0 0x0>; + linux,initrd-end = <0x0 0x0>; + }; + + firmware { + + android { + compatible = "android,firmware"; + boot_devices = "soc/sdc0,soc/sdc2,soc"; + + fstab { + compatible = "android,fstab"; + + vendor { + compatible = "android,vendor"; + dev = "/dev/block/by-name/vendor"; + fsmgr_flags = "wait,recoveryonly"; + mnt_flags = "ro,barrier=1"; + status = "ok"; + type = "ext4"; + }; + }; + }; + + optee { + compatible = "linaro,optee-tz"; + method = "smc"; + }; + }; + + cpus { + #address-cells = <0x2>; + #size-cells = <0x0>; + + cpu@0 { + device_type = "cpu"; + compatible = "arm,cortex-a53", "arm,armv8"; + reg = <0x0 0x0>; + enable-method = "psci"; + clocks = <0xd7>; + clock-latency = <0x1e8480>; + clock-frequency = <0x4ead9a00>; + operating-points-v2 = <0xd8 0xd9 0xda>; + cpu-idle-states = <0xdb 0xdc 0xdd>; + }; + + cpu@1 { + device_type = "cpu"; + compatible = "arm,cortex-a53", "arm,armv8"; + reg = <0x0 0x1>; + enable-method = "psci"; + clocks = <0xd7>; + clock-frequency = <0x4ead9a00>; + operating-points-v2 = <0xd8 0xd9 0xda>; + cpu-idle-states = <0xdb 0xdc 0xdd>; + }; + + cpu@2 { + device_type = "cpu"; + compatible = "arm,cortex-a53", "arm,armv8"; + reg = <0x0 0x2>; + enable-method = "psci"; + clocks = <0xd7>; + clock-frequency = <0x4ead9a00>; + operating-points-v2 = <0xd8 0xd9 0xda>; + cpu-idle-states = <0xdb 0xdc 0xdd>; + }; + + cpu@3 { + device_type = "cpu"; + compatible = "arm,cortex-a53", "arm,armv8"; + reg = <0x0 0x3>; + enable-method = "psci"; + clocks = <0xd7>; + clock-frequency = <0x4ead9a00>; + operating-points-v2 = <0xd8 0xd9 0xda>; + cpu-idle-states = <0xdb 0xdc 0xdd>; + }; + + idle-states { + entry-method = "arm,psci"; + + cpu-sleep-0 { + compatible = "arm,idle-state"; + arm,psci-suspend-param = <0x10000>; + entry-latency-us = <0xfa0>; + exit-latency-us = <0x2710>; + min-residency-us = <0x3a98>; + linux,phandle = <0xdb>; + phandle = <0xdb>; + }; + + cluster-sleep-0 { + compatible = "arm,idle-state"; + arm,psci-suspend-param = <0x1010000>; + entry-latency-us = <0xc350>; + exit-latency-us = <0x186a0>; + min-residency-us = <0x3d090>; + linux,phandle = <0xdc>; + phandle = <0xdc>; + }; + + sys-sleep-0 { + compatible = "arm,idle-state"; + arm,psci-suspend-param = <0x2010000>; + entry-latency-us = <0x186a0>; + exit-latency-us = <0x1e8480>; + min-residency-us = <0x44aa20>; + linux,phandle = <0xdd>; + phandle = <0xdd>; + }; + }; + }; + + 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 0xa000>; + }; + + s_brom { + compatible = "allwinner,s-brom"; + reg = <0x0 0x0 0x0 0x10000>; + }; + + sram_ctrl { + device_type = "sram_ctrl"; + compatible = "allwinner,sram_ctrl"; + reg = <0x0 0x3000000 0x0 0x100>; + }; + + sram_a1 { + compatible = "allwinner,sram_a1"; + reg = <0x0 0x20000 0x0 0x8000>; + }; + + sram_a2 { + compatible = "allwinner,sram_a2"; + reg = <0x0 0x100000 0x0 0x14000>; + }; + + prcm { + compatible = "allwinner,prcm"; + reg = <0x0 0x1f01400 0x0 0x400>; + }; + + s_cpuscfg { + compatible = "allwinner,s_cpuscfg"; + reg = <0x0 0x1f01c00 0x0 0x400>; + }; + + ion { + compatible = "allwinner,sunxi-ion"; + + heap_sys_user@0 { + compatible = "allwinner,sys_user"; + heap-name = "sys_user"; + heap-id = <0x0>; + heap-base = <0x0>; + heap-size = <0x0>; + heap-type = "ion_system"; + }; + + heap_sys_contig@0 { + compatible = "allwinner,sys_contig"; + heap-name = "sys_contig"; + heap-id = <0x1>; + heap-base = <0x0>; + heap-size = <0x0>; + heap-type = "ion_contig"; + }; + + heap_cma@0 { + compatible = "allwinner,cma"; + heap-name = "cma"; + heap-id = <0x4>; + heap-base = <0x0>; + heap-size = <0x0>; + heap-type = "ion_cma"; + }; + + heap_secure@0 { + compatible = "allwinner,secure"; + heap-name = "secure"; + heap-id = <0x6>; + heap-base = <0x0>; + heap-size = <0x0>; + heap-type = "ion_secure"; + }; + }; + + dram { + compatible = "allwinner,dram"; + clocks = <0xde>; + clock-names = "pll_ddr"; + dram_clk = <0x0>; + dram_type = <0x7>; + dram_zq = <0x3b3bfb>; + dram_odt_en = <0x31>; + dram_para1 = <0x30fa>; + dram_para2 = <0x4000000>; + dram_mr0 = <0x1c70>; + dram_mr1 = <0x40>; + dram_mr2 = <0x18>; + dram_mr3 = <0x1>; + dram_tpr0 = <0x48a192>; + dram_tpr1 = <0x1b1a94b>; + dram_tpr2 = <0x61043>; + dram_tpr3 = <0x78787896>; + dram_tpr4 = <0x0>; + dram_tpr5 = <0x0>; + dram_tpr6 = "\t\t\t"; + dram_tpr7 = <0x4d462a3e>; + dram_tpr8 = <0x0>; + dram_tpr9 = <0x0>; + dram_tpr10 = <0x0>; + dram_tpr11 = <0x440000>; + dram_tpr12 = <0x0>; + dram_tpr13 = <0x0>; + device_type = "dram"; + dram_mr4 = <0x0>; + dram_mr5 = <0x400>; + dram_mr6 = <0x848>; + }; + + memory@40000000 { + device_type = "memory"; + reg = <0x0 0x40000000 0x0 0x20000000>; + }; + + interrupt-controller@03020000 { + compatible = "arm,cortex-a15-gic", "arm,cortex-a9-gic"; + #interrupt-cells = <0x3>; + #address-cells = <0x0>; + device_type = "gic"; + interrupt-controller; + reg = <0x0 0x3021000 0x0 0x1000 0x0 0x3022000 0x0 0x2000 0x0 0x3024000 0x0 0x2000 0x0 0x3026000 0x0 0x2000>; + interrupts = <0x1 0x9 0xf04>; + linux,phandle = <0x1>; + phandle = <0x1>; + }; + + sunxi-sid@03006000 { + compatible = "allwinner,sunxi-sid"; + device_type = "sid"; + reg = <0x0 0x3006000 0x0 0x1000>; + }; + + sunxi-chipid@03006200 { + compatible = "allwinner,sunxi-chipid"; + device_type = "chipid"; + reg = <0x0 0x3006200 0x0 0x200>; + }; + + timer_arch { + compatible = "arm,armv8-timer"; + interrupts = <0x1 0xd 0xf08 0x1 0xe 0xf08 0x1 0xb 0xf08 0x1 0xa 0xf08>; + clock-frequency = <0x16e3600>; + arm,no-tick-in-suspend; + }; + + pmu { + compatible = "arm,armv8-pmuv3"; + interrupts = <0x0 0x8c 0x4 0x0 0x8d 0x4 0x0 0x8e 0x4 0x0 0x8f 0x4>; + }; + + opp_dvfs_table { + cluster_num = <0x1>; + opp_table_count = <0x3>; + + opp_l_table0 { + compatible = "allwinner,opp_l_table0"; + opp_count = <0x8>; + opp-shared; + linux,phandle = <0xd8>; + phandle = <0xd8>; + + opp00 { + opp-hz = <0x0 0x1c9c3800>; + opp-microvolt = <0xd6d80>; + axi-bus-divide-ratio = <0x3>; + clock-latency-ns = <0x1e8480>; + pval = <0xaf0>; + }; + + opp01 { + opp-hz = <0x0 0x2aea5400>; + opp-microvolt = <0xd6d80>; + axi-bus-divide-ratio = <0x3>; + clock-latency-ns = <0x1e8480>; + pval = <0xaf0>; + }; + + opp02 { + opp-hz = <0x0 0x30a32c00>; + opp-microvolt = <0xd6d80>; + axi-bus-divide-ratio = <0x3>; + clock-latency-ns = <0x1e8480>; + pval = <0xaf0>; + }; + + opp03 { + opp-hz = <0x0 0x34edce00>; + opp-microvolt = <0xd6d80>; + axi-bus-divide-ratio = <0x3>; + clock-latency-ns = <0x1e8480>; + pval = <0xaf0>; + }; + + opp04 { + opp-hz = <0x0 0x405f7e00>; + opp-microvolt = <0xe57e0>; + axi-bus-divide-ratio = <0x3>; + clock-latency-ns = <0x1e8480>; + pval = <0xc1c>; + }; + + opp05 { + opp-hz = <0x0 0x4ead9a00>; + opp-microvolt = <0xf4240>; + axi-bus-divide-ratio = <0x3>; + clock-latency-ns = <0x1e8480>; + pval = <0xe42>; + }; + + opp06 { + opp-hz = <0x0 0x58b11400>; + opp-microvolt = <0x102ca0>; + axi-bus-divide-ratio = <0x3>; + clock-latency-ns = <0x1e8480>; + pval = <0xf6e>; + }; + }; + + opp_l_table1 { + compatible = "allwinner,opp_l_table1"; + opp_count = <0x8>; + opp-shared; + linux,phandle = <0xd9>; + phandle = <0xd9>; + + opp00 { + opp-hz = <0x0 0x1c9c3800>; + opp-microvolt = <0xc8320>; + axi-bus-divide-ratio = <0x3>; + clock-latency-ns = <0x1e8480>; + pval = <0xaf0>; + }; + + opp01 { + opp-hz = <0x0 0x2aea5400>; + opp-microvolt = <0xc8320>; + axi-bus-divide-ratio = <0x3>; + clock-latency-ns = <0x1e8480>; + pval = <0xaf0>; + }; + + opp02 { + opp-hz = <0x0 0x30a32c00>; + opp-microvolt = <0xc8320>; + axi-bus-divide-ratio = <0x3>; + clock-latency-ns = <0x1e8480>; + pval = <0xaf0>; + }; + + opp03 { + opp-hz = <0x0 0x34edce00>; + opp-microvolt = <0xc8320>; + axi-bus-divide-ratio = <0x3>; + clock-latency-ns = <0x1e8480>; + pval = <0xaf0>; + }; + + opp04 { + opp-hz = <0x0 0x405f7e00>; + opp-microvolt = <0xd6d80>; + axi-bus-divide-ratio = <0x3>; + clock-latency-ns = <0x1e8480>; + pval = <0xc1c>; + }; + + opp05 { + opp-hz = <0x0 0x4ead9a00>; + opp-microvolt = <0xe57e0>; + axi-bus-divide-ratio = <0x3>; + clock-latency-ns = <0x1e8480>; + pval = <0xe42>; + }; + + opp06 { + opp-hz = <0x0 0x58b11400>; + opp-microvolt = <0xf4240>; + axi-bus-divide-ratio = <0x3>; + clock-latency-ns = <0x1e8480>; + pval = <0xf6e>; + }; + }; + + opp_l_table2 { + compatible = "allwinner,opp_l_table2"; + opp_count = <0x8>; + opp-shared; + linux,phandle = <0xda>; + phandle = <0xda>; + + opp00 { + opp-hz = <0x0 0x1c9c3800>; + opp-microvolt = <0xc3500>; + axi-bus-divide-ratio = <0x3>; + clock-latency-ns = <0x1e8480>; + pval = <0xaf0>; + }; + + opp01 { + opp-hz = <0x0 0x2aea5400>; + opp-microvolt = <0xc3500>; + axi-bus-divide-ratio = <0x3>; + clock-latency-ns = <0x1e8480>; + pval = <0xaf0>; + }; + + opp02 { + opp-hz = <0x0 0x30a32c00>; + opp-microvolt = <0xc3500>; + axi-bus-divide-ratio = <0x3>; + clock-latency-ns = <0x1e8480>; + pval = <0xaf0>; + }; + + opp03 { + opp-hz = <0x0 0x34edce00>; + opp-microvolt = <0xc3500>; + axi-bus-divide-ratio = <0x3>; + clock-latency-ns = <0x1e8480>; + pval = <0xaf0>; + }; + + opp04 { + opp-hz = <0x0 0x405f7e00>; + opp-microvolt = <0xcd140>; + axi-bus-divide-ratio = <0x3>; + clock-latency-ns = <0x1e8480>; + pval = <0xc1c>; + }; + + opp05 { + opp-hz = <0x0 0x4ead9a00>; + opp-microvolt = <0xdbba0>; + axi-bus-divide-ratio = <0x3>; + clock-latency-ns = <0x1e8480>; + pval = <0xe42>; + }; + + opp06 { + opp-hz = <0x0 0x58b11400>; + opp-microvolt = <0xea600>; + axi-bus-divide-ratio = <0x3>; + clock-latency-ns = <0x1e8480>; + pval = <0xf6e>; + }; + }; + }; + + dramfreq { + compatible = "allwinner,sunxi-dramfreq"; + reg = <0x0 0x4002000 0x0 0x1000 0x0 0x4003000 0x0 0x3000 0x0 0x3001000 0x0 0x1000>; + interrupts = <0x0 0x21 0x4>; + clocks = <0xde>; + status = "okay"; + }; + + uboot { + }; + + iommu@030f0000 { + compatible = "allwinner,sunxi-iommu"; + reg = <0x0 0x30f0000 0x0 0x1000>; + interrupts = <0x0 0x39 0x4>; + interrupt-names = "iommu-irq"; + clocks = <0xdf>; + clock-names = "iommu"; + #iommu-cells = <0x2>; + status = "okay"; + linux,phandle = <0x21>; + phandle = <0x21>; + }; + + gpu@0x01800000 { + device_type = "gpu"; + compatible = "arm,mali-t720", "arm,mali-midgard"; + reg = <0x0 0x1800000 0x0 0x4000>; + interrupts = <0x0 0x53 0x4 0x0 0x54 0x4 0x0 0x55 0x4>; + interrupt-names = "GPU", "JOB", "MMU"; + clocks = <0xe0 0xe1>; + clock-names = "clk_parent", "clk_mali"; + operating-points = <0xb8920 0xfde80 0x98580 0xe7ef0 0x8ca00 0xe30d0 0x83d60 0xde2b0 0x7b0c0 0xd9490 0x6f540 0xd4670 0x69780 0xd1f60 0x668a0 0xcf850 0x639c0 0xcd140 0x5dc00 0xcaa30 0x57e40 0xc8320 0x52080 0xc5c10 0x4c2c0 0xc5c10 0x40740 0xc5c10 0x34bc0 0xc5c10>; + gpu_idle = <0x0>; + dvfs_status = <0x1>; + temp_ctrl_status = <0x1>; + scene_ctrl_status = <0x1>; + max_normal_level = <0xd>; + }; +}; diff --git a/external/packages/pack-uboot/sun50iw6/bin/bl31.bin b/external/packages/pack-uboot/sun50iw6/bin/monitor.fex similarity index 100% rename from external/packages/pack-uboot/sun50iw6/bin/bl31.bin rename to external/packages/pack-uboot/sun50iw6/bin/monitor.fex diff --git a/external/packages/pack-uboot/sun50iw6/bin/scp.bin b/external/packages/pack-uboot/sun50iw6/bin/scp.fex similarity index 54% rename from external/packages/pack-uboot/sun50iw6/bin/scp.bin rename to external/packages/pack-uboot/sun50iw6/bin/scp.fex index 2164b0c..3bbebf2 100755 Binary files a/external/packages/pack-uboot/sun50iw6/bin/scp.bin and b/external/packages/pack-uboot/sun50iw6/bin/scp.fex differ diff --git a/external/packages/pack-uboot/sun50iw6/bin/sunxi.fex b/external/packages/pack-uboot/sun50iw6/bin/sunxi.fex deleted file mode 100644 index 7663841..0000000 --- a/external/packages/pack-uboot/sun50iw6/bin/sunxi.fex +++ /dev/null @@ -1 +0,0 @@ -sunxi.fex diff --git a/external/packages/pack-uboot/sun50iw6/bin/sys_config/sys_config_orangepi3.fex b/external/packages/pack-uboot/sun50iw6/bin/sys_config/sys_config_orangepi3.fex new file mode 100755 index 0000000..b23a854 --- /dev/null +++ b/external/packages/pack-uboot/sun50iw6/bin/sys_config/sys_config_orangepi3.fex @@ -0,0 +1,1880 @@ +;sun50iw6p1 application +;--------------------------------------------------------------------------------------------------------- +; 说明: 脚本中的字符串区分大小写,用户可以修改"="后面的数值,但是不要修改前面的字符串 +; 描述gpio的形式:Port:端口+组内序号<功能分配><内部电阻状态><驱动能力><输出电平状态> +;--------------------------------------------------------------------------------------------------------- +;This sys_config.fex is for OrangePi_3 + +[product] +version = "100" +machine = "petrel-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 +; power_mode: 0-use axp 1-use dummy axp +; advert_enable 0-close advert logo 1-open advert logo (只有多核启动下有效) +;---------------------------------------------------------------------------------- +[target] +boot_clock = 1320 +storage_type = -1 +burn_key = 0 +dragonboard_test = 0 +power_mode = 0 +advert_enable = 0 + +[secure] +dram_region_mbytes = 80 +drm_region_mbytes = 0 +drm_region_start_mbytes = 0 + +[power_sply] +dcdca_vol = 1001000 +aldo2_vol = 1003300 +bldo3_vol = 1001800 +cldo2_vol = 1003300 +cldo3_vol = 1003300 + +;--------------------------------------------- +; +; normal config: eg. px_bias = "pmu_name:supply_name:voltage" +; +; pmu_name = axp809, axp806 +; supply_name = dcdc1, dcdc2, aldo1, gpio1ldo, etc... +;--------------------------------------------- +[gpio_bias] +pc_bias = "axp806:bldo2:1800" +pg_bias = "axp806:bldo3:1800" + + +;---------------------------------------------------------------------------------- +; ir_boot_recovery_used : 1: used this function 0: not used +; ir_work_mode : 模式选择 +; 0: 刷机, +; 1: 一键恢复(uboot阶段), +; 2: 安卓recovery, +; 3: 安卓恢复出厂设置. +; 如果不设置,默认为安卓recovery . +; ir_press_times : ir遥控器连续按几次才生效,如果不设置默认为按1次生效 +; ir_detect_time : ir遥控检测时间,单位:ms,如果不设置默认为3000ms +; ir_key_no_duplicate : ir遥控按键是否可重复,0:可重复(默认),1:不可重复; +; 不可重复表示一个按键无论被按下几次,都只算ir_press_times的一次; +; 不可重复的应用场景为组合按键功能,如:交替按下'菜单键'和'音量-键'进入安卓recovery. +; ir_recovery_key_code0 : ir check key code +; ir_addr_code0 : ir key addr +; you can increase ir support num, like: +; ir_recovery_key_code1, or 2, 3, but limit to 16 +;---------------------------------------------------------------------------------- +[ir_boot_recovery] +ir_boot_recovery_used = 0 +ir_work_mode = 1 +ir_press_times = 2 +ir_detect_time = 2000 +ir_key_no_duplicate = 0 +ir_recovery_key_code0 = 0x04 +ir_addr_code0 = 0xff00 +ir_recovery_key_code1 = 0x10 +ir_addr_code1 = 0xff00 + + +;---------------------------------------------------------------------------------- +; 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:PL04<1><1> +next_work = 3 + +;---------------------------------------------------------------------------------- +; used : 模块使能端, 1:开启,0:关闭 +; press_mode_enable : 长短按模式使能,1:开启,0:关闭 +; a)如果开启了该模式,则key_work_mode失效,short_press_mode和long_press_mode生>效, + ; recovery按键可以通过长按和短按来触发两种不同的模式; +; b)如果关闭了该模式,则key_work_mode生效,recovery按键只能触发一种模式. +; key_work_mode : 模式选择 +; 0: 刷机, +; 1: 一键恢复(uboot阶段), +; 2: 安卓recovery, +; 3: 安卓恢复出厂设置. +; 如果不设置,模式为安卓recovery. +; short_press_mode : 长按触发的模式,选项同上. +; long_press_mode : 短按触发的模式,选项同上. +; key_press_time : 定义长按的时间,单位:毫秒. +; recovery_key : 按键配置. +;---------------------------------------------------------------------------------- +[key_boot_recovery] +used = 0 +press_mode_enable = 0 +key_work_mode = 1 +short_press_mode = 0 +long_press_mode = 1 +key_press_time = 2000 +recovery_key = port:PH07<0> + +;---------------------------------------------------------------------------------- +; GPIO init on uboot +; PH02 - for hdmi scdc control +;---------------------------------------------------------------------------------- +[boot_init_gpio] +boot_init_gpio_used = 1 +gpio0 = port:PL04<1><1> +gpio1 = port:PL07<1><0> +gpio2 = port:PH02<1><1> + + +;--------------------------------------------------------------------------------------------------------- +; if 1 == standby_mode, then support super standby; +; else, support normal standby. +;--------------------------------------------------------------------------------------------------------- +[pm_para] +standby_mode = 1 + + +;--------------------------------------------------------------------------------------------------------- +; standby_stay_cpu: 1: keep vcc-cpu when standby +; 0: close vcc-cpu when standby, default 0; +;--------------------------------------------------------------------------------------------------------- +[standby_space] +standby_stay_cpu = 0 + +[card0_boot_para] +card_ctrl = 0 +card_high_speed = 1 +card_line = 4 +sdc_d1 = port:PF0<2><1><2> +sdc_d0 = port:PF1<2><1><2> +sdc_clk = port:PF2<2><1><2> +sdc_cmd = port:PF3<2><1><2> +sdc_d3 = port:PF4<2><1><2> +sdc_d2 = port:PF5<2><1><2> + +[card2_boot_para] +card_ctrl = 2 +card_high_speed = 1 +card_line = 8 +sdc_ds = port:PC01<3><1><3> +sdc_clk = port:PC04<3><1><3> +sdc_cmd = port:PC05<3><1><3> +sdc_d0 = port:PC06<3><1><3> +sdc_d1 = port:PC07<3><1><3> +sdc_d2 = port:PC08<3><1><3> +sdc_d3 = port:PC09<3><1><3> +sdc_d4 = port:PC10<3><1><3> +sdc_d5 = port:PC11<3><1><3> +sdc_d6 = port:PC12<3><1><3> +sdc_d7 = port:PC13<3><1><3> +sdc_emmc_rst = port:PC14<3><1><3> +sdc_ex_dly_used = 2 +sdc_io_1v8 = 1 +sdc_tm4_hs400_max_freq = 100 +sdc_tm4_hs200_max_freq = 150 + +[twi_para] +twi_port = 0 +twi_scl = port:PL00<3><1><0> +twi_sda = port:PL01<3><1><0> + +[uart_para] +uart_debug_port = 0 +uart_debug_tx = port:PH00<2><1> +uart_debug_rx = port:PH01<2><1> + +[jtag_para] +jtag_enable = 0 +jtag_ms = port:PD23<5> +jtag_ck = port:PD24<5> +jtag_do = port:PD25<5> +jtag_di = port:PD26<5> + +[clock] +pll4 = 300 +pll6 = 600 +pll8 = 360 +pll9 = 297 +pll10 = 264 + +;***************************************************************************** +; sdram configuration +; +; if dram_clk ≠ 0, will use dram_clk to set dram clk. +; if dram_clk = 0, will use dram_tpr7 to set dram clk. +; dram_tpr7[31:24] to set DDR4 clk, +; dram_tpr7[23:16] to set DDR3 clk, +; dram_tpr7[15: 8] to set LPDDR2 clk, +; dram_tpr7[ 7: 0] to set LPDDR3 clk. +; ps: unit = 12M. +; for example, if dram_tpr7[31:24] = 0x10, +; then the dram clk of DDR4 will be (16*12)M. +; +;***************************************************************************** +[dram_para] +dram_clk = 0 +dram_type = 7 +dram_zq = 0x3b3bfb +dram_odt_en = 0x31 +dram_para1 = 0x30FA +dram_para2 = 0x04000000 +dram_mr0 = 0x1c70 +dram_mr1 = 0x40 +dram_mr2 = 0x18 +dram_mr3 = 0x1 +dram_mr4 = 0x0 +dram_mr5 = 0x400 +dram_mr6 = 0x848 +dram_tpr0 = 0x0048A192 +dram_tpr1 = 0x01b1a94b +dram_tpr2 = 0x00061043 +dram_tpr3 = 0x78787896 +dram_tpr4 = 0x0000 +dram_tpr5 = 0x0 +dram_tpr6 = 0x09090900 +dram_tpr7 = 0x4d462a3e +dram_tpr8 = 0x0 +dram_tpr9 = 0 +dram_tpr10 = 0x0 +dram_tpr11 = 0x00440000 +dram_tpr12 = 0x0 +dram_tpr13 = 0x0000 +;---------------------------------------------------------------------------------- +;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<5><3> +gmac_rxd2 = port:PD01<5><3> +gmac_rxd1 = port:PD02<5><3> +gmac_rxd0 = port:PD03<5><3> +gmac_rxck = port:PD04<5><3> +gmac_rxctl = port:PD05<5><3> +gmac_txd3 = port:PD07<5><3> +gmac_txd2 = port:PD08<5><3> +gmac_txd1 = port:PD09<5><3> +gmac_txd0 = port:PD10<5><3> +gmac_txck = port:PD11<5><0> +gmac_txctl = port:PD12<5><3> +gmac_clkin = port:PD13<5><0> +gmac_ephyrst = port:PD14<5><3> +gmac_mdc = port:PD19<5><3> +gmac_mdio = port:PD20<5><3> +gmac-power0 = "vcc-io" +gmac-power1 = "axp806_aldo3" +gmac-power2 = +tx-delay = 0 +rx-delay = 0 + +;---------------------------------------------------------------------------------- +;i2c configuration +;---------------------------------------------------------------------------------- +[twi0] +twi0_used = 1 +twi0_scl = port:PD25<2> +twi0_sda = port:PD26<2> +twi_regulator = "vcc-io" + +[twi0_suspend] +twi0_scl = port:PD25<7> +twi0_sda = port:PD26<7> + +[twi1] +twi1_used = 0 +twi1_scl = port:PH05<4> +twi1_sda = port:PH06<4> +twi_regulator = "vcc-io" + +[twi1_suspend] +twi1_scl = port:PH05<7> +twi1_sda = port:PH06<7> + +[twi2] +twi2_used = 0 +twi2_scl = port:PD23<2> +twi2_sda = port:PD24<2> +twi_regulator = "vcc-io" + +[twi2_suspend] +twi2_scl = port:PD23<7> +twi2_sda = port:PD24<7> + +[twi3] +twi3_used = 1 +twi3_scl = port:PB17<2> +twi3_sda = port:PB18<2> +twi_regulator = "vcc-io" +;---------------------------------------------------------------------------------- +;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:PH00<2><1> +uart0_rx = port:PH01<2><1> + +[uart0_suspend] +uart0_tx = port:PH00<7><1> +uart0_rx = port:PH01<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_bt = 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 = 0 +uart2_port = 2 +uart2_type = 4 +uart2_tx = port:PD19<4><1> +uart2_rx = port:PD20<4><1> +uart2_rts = port:PD21<4><1> +uart2_cts = port:PD22<4><1> + +[uart2_suspend] +uart2_tx = port:PD19<7><1> +uart2_rx = port:PD20<7><1> +uart2_rts = port:PD21<7><1> +uart2_cts = port:PD22<7><1> + +[uart3] +uart3_used = 1 +uart3_port = 3 +uart3_type = 2 +uart3_tx = port:PD23<4><1> +uart3_rx = port:PD24<4><1> +;uart3_rts = port:PD25<4><1> +;uart3_cts = port:PD26<4><1> + +[uart3_suspend] +uart3_tx = port:PD23<7><1> +uart3_rx = port:PD24<7><1> +;uart3_rts = port:PD25<7><1> +;uart3_cts = port:PD26<7><1> + +;---------------------------------------------------------------------------------- +;SPI controller configuration +;---------------------------------------------------------------------------------- +[spi0] +spi0_used = 0 +spi0_cs_number = 1 +spi0_cs_bitmap = 1 +spi0_cs0 = port:PC05<4><1> +spi0_sclk = port:PC00<4> +spi0_mosi = port:PC02<4> +spi0_miso = port:PC03<4> + +[spi0_suspend] +spi0_cs0 = port:PC05<7><1> +spi0_sclk = port:PC00<7> +spi0_mosi = port:PC02<7> +spi0_miso = port:PC03<7> + +[spi1] +spi1_used = 1 +spi1_cs_number = 1 +spi1_cs_bitmap = 1 +spi1_cs0 = port:PH03<2><1> +spi1_sclk = port:PH04<2> +spi1_mosi = port:PH05<2> +spi1_miso = port:PH06<2> + +[spi1_suspend] +spi1_cs0 = port:PH03<7><1> +spi1_sclk = port:PH04<7> +spi1_mosi = port:PH05<7> +spi1_miso = port:PH06<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 = "rohm,dh2228fv" +spi-max-frequency = 1200000 +reg = 0 +;spi-cpha = 0 +;spi-cpol = 0 +;spi-cs-high = 0 + +;---------------------------------------------------------------------------------- +;pcie controller configuration +;---------------------------------------------------------------------------------- +[pcie] +pcie_used = 1 +pcie_rest = +pcie_power = port:PD17<1> +pcie_reg = +pcie_iodvdd = 1800 +pcie_speed_gen = 0x02 +pcie_vdd = "vdd_pcie" +pcie_vdd_vol = 900000 +pcie_vcc = "vcc-pcie" +pcie_vcc_vol = 1800000 +pcie_vcc_slot = "vcc-pcie-slot" +pcie_vcc_slot_vol = 3300000 + +;---------------------------------------------------------------------------------- +;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 = 0 +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 = 0 +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:PC15<2><1><1> +nand0_ce0 = port:PC03<2><1><1> +nand0_nre = port:PC04<2><0><1> +nand0_rb0 = port:PC05<2><1><1> +nand0_rb1 = port:PC16<2><1><1> +nand0_d0 = port:PC06<2><0><1> +nand0_d1 = port:PC07<2><0><1> +nand0_d2 = port:PC08<2><0><1> +nand0_d3 = port:PC09<2><0><1> +nand0_d4 = port:PC10<2><0><1> +nand0_d5 = port:PC11<2><0><1> +nand0_d6 = port:PC12<2><0><1> +nand0_d7 = port:PC13<2><0><1> +nand0_ndqs = port:PC14<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 + + ;---------------------------------------------------------------------------------- + ;esm.img load addr (fdt node: /soc/esm) + ; + ;esm_img_size_addr : store esm.img size, will be updated when booting + ;esm_img_buff_addr : store esm.img buff, will be updated when booting + ;---------------------------------------------------------------------------------- + [esm] + esm_img_size_addr = 0 + esm_img_buff_addr = 0 + +;---------------------------------------------------------------------------------- +;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) +;screenx_output_format (0:RGB 1:yuv444 2:yuv422 3:yuv420) +;screenx_output_bits (0:8bit 1:10bit 2:12bit 2:16bit) +;screenx_output_eotf (0:reserve 4:SDR 16:HDR10 18:HLG) +;screenx_output_cs (0:undefined 257:BT709 260:BT601 263:BT2020) +;screenx_output_dvi_hdmi (0:undefined 1:dvi mode 2:hdmi mode) +;screen0_output_range (0:default 1:full 2:limited) +;screen0_output_scan (0:no data 1:overscan 2:underscan) +;screen0_output_aspect_ratio (8-same as original picture 9-4:3 10-16:9 11-14:9) +;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_para_zone (0: disp parameter store in the part Reserve1), 1: disp paremeter store in file parameter.fex) +;---------------------------------------------------------------------------------- +[disp] +disp_init_enable = 1 +disp_mode = 0 + +screen0_output_type = 3 +screen0_output_mode = 10 + +screen0_output_format = 1 +screen0_output_bits = 0 +screen0_output_eotf = 4 +screen0_output_cs = 257 +screen0_output_dvi_hdmi = 2 +screen0_output_range = 2 +screen0_output_scan = 0 +screen0_output_aspect_ratio = 8 + +screen1_output_type = 0 +screen1_output_mode = 2 +screen1_output_format = 1 +screen1_output_bits = 0 +screen1_output_eotf = 4 +screen1_output_cs = 260 +screen1_output_dvi_hdmi = 2 +screen1_output_range = 2 +screen1_output_scan = 0 +screen1_output_aspect_ratio = 8 + +dev0_output_type = 4 +dev0_output_mode = 10 +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 = 1920 +fb0_height = 1080 + +fb1_format = 0 +fb1_width = 0 +fb1_height = 0 + +disp_para_zone = 1 + +;---------------------------------------------------------------------------------- +;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 = 0 +lcd_x = 800 +lcd_y = 600 +lcd_width = 150 +lcd_height = 94 +lcd_dclk_freq = 40 +lcd_pwm_used = 0 +lcd_pwm_ch = 0 +lcd_pwm_freq = 50000 +lcd_pwm_pol = 1 +lcd_pwm_max_limit = 255 +lcd_hbp = 216 +lcd_ht = 1056 +lcd_hspw = 128 +lcd_vbp = 27 +lcd_vt = 628 +lcd_vspw = 4 +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 = +lcd_bl_en_power = "none" +lcd_power = "vcc-lcd-0" +lcd_fix_power = "vcc-dsi-33" + +lcdd0 = port:PD00<2><0> +lcdd1 = port:PD01<2><0> +lcdd2 = port:PD02<2><0> +lcdd3 = port:PD03<2><0> +lcdd4 = port:PD04<2><0> +lcdd5 = port:PD05<2><0> +lcdd6 = port:PD06<2><0> +lcdd7 = port:PD07<2><0> +lcdd8 = port:PD08<2><0> +lcdd9 = port:PD09<2><0> +lcdd10 = port:PD10<2><0> +lcdd11 = port:PD11<2><0> +lcdd12 = port:PD12<2><0> +lcdd13 = port:PD13<2><0> +lcdd14 = port:PD14<2><0> +lcdd15 = port:PD15<2><0> +lcdd16 = port:PD16<2><0> +lcdd17 = port:PD17<2><0> +lcdd18 = port:PD18<2><0> +lcdd19 = port:PD19<2><0> +lcdd20 = port:PD20<2><0> +lcdd21 = port:PD21<2><0> +lcd_pin_power = "vcc-pd" + +[lcd0_suspend] +lcdd0 = port:PD00<7><0> +lcdd1 = port:PD01<7><0> +lcdd2 = port:PD02<7><0> +lcdd3 = port:PD03<7><0> +lcdd4 = port:PD04<7><0> +lcdd5 = port:PD05<7><0> +lcdd6 = port:PD06<7><0> +lcdd7 = port:PD07<7><0> +lcdd8 = port:PD08<7><0> +lcdd9 = port:PD09<7><0> +lcdd10 = port:PD10<7><0> +lcdd11 = port:PD11<7><0> +lcdd12 = port:PD12<7><0> +lcdd13 = port:PD13<7><0> +lcdd14 = port:PD14<7><0> +lcdd15 = port:PD15<7><0> +lcdd16 = port:PD16<7><0> +lcdd17 = port:PD17<7><0> +lcdd18 = port:PD18<7><0> +lcdd19 = port:PD19<7><0> +lcdd20 = port:PD20<7><0> +lcdd21 = port:PD21<7><0> + +[hdmi] +hdmi_used = 1 +;hdmi_power = "vcc3v3-hdmi" +hdmi_hdcp_enable = 0 +hdmi_hdcp22_enable = 0 +hdmi_cts_compatibility = 0 +hdmi_cec_support = 1 +hdmi_cec_super_standby = 1 +hdmi_skip_bootedid = 1 +ddc_scl = port:PH8<2><1> +ddc_sda = port:PH9<2><1> +cec_io = port:PH10<2><1> + +ddc_en_io_ctrl = 1 +ddc_io_ctrl = port:PH02<1><0> +;---------------------------------------------------------------------------------- +;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 = 0 +dac_src0 = 0 +dac_type0 = 0 +interface = 1 + +;tv(ac200 cvbs) configuration +;tv_used 1 : enable this module. +;tv_module_name : the module name. +;tv_regulator_name : regutlate name of ac200 +;tv_twi_used 1 : use i2c to communitcate with slave-device ; other: not use i2c. +;tv_twi_id : the id-number of i2c-controler of host-device. +;tv_twi_addr : the i2c-address of slave-device. +;tv_clk_div : divide number of tcon_lcd clock +;ccir* : ac200 video pin inf +;---------------------------------------------------------------------------------- +[ac200] +tv_used = 1 +tv_module_name = "tv_ac200" +tv_twi_used = 1 +tv_twi_id = 3 +tv_twi_addr = 16 +tv_pwm_ch=1 +tv_clk_div=5 +tv_regulator_name="vcc-audio-33" + +ccir_clk = port:PB00<2><0> +ccir_de = port:PB01<2><0> +ccir_hs = port:PB02<2><0> +ccir_vs = port:PB03<2><0> +ccir_do0 = port:PB04<2><0> +ccir_do1 = port:PB05<2><0> +ccir_do2 = port:PB06<2><0> +ccir_do3 = port:PB07<2><0> +ccir_do4 = port:PB08<2><0> +ccir_do5 = port:PB09<2><0> +ccir_do6 = port:PB10<2><0> +ccir_do7 = port:PB11<2><0> + +;---------------------------------------------------------------------------------- +;for hotplug please do not suspend ccir_clk pin +;---------------------------------------------------------------------------------- +[ac200_suspend] +;ccir_clk = port:PB00<7><0> +ccir_de = port:PB01<7><0> +ccir_hs = port:PB02<7><0> +ccir_vs = port:PB03<7><0> +ccir_do0 = port:PB04<7><0> +ccir_do1 = port:PB05<7><0> +ccir_do2 = port:PB06<7><0> +ccir_do3 = port:PB07<7><0> +ccir_do4 = port:PB08<7><0> +ccir_do5 = port:PB09<7><0> +ccir_do6 = port:PB10<7><0> +ccir_do7 = port:PB11<7><0> +;---------------------------------------------------------------------------------- +;pwm config +;---------------------------------------------------------------------------------- +[pwm0] +pwm_used = 1 +pwm_positive = port:PD22<2><0> + +[pwm0_suspend] +pwm_positive = port:PD22<7><0> + +[pwm1] +pwm_used = 0 +pwm_positive = port:PB19<2><0> + +[pwm1_suspend] +pwm_positive = port:PB19<7><0> + + +[pwm16] +s_pwm0_used = 1 +pwm_positive = port:PL08<2><0> + +[pwm16_suspend] +pwm_positive = port:PL08<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 = 10 +output_format = 1 +output_bits = 0 +output_eotf = 4 +output_cs = 260 + +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:PD00<4> +csi0_mck = port:PD01<4><0><1><0> +csi0_hsync = port:PD02<4> +csi0_vsync = port:PD03<4> +csi0_d0 = port:PD04<4> +csi0_d1 = port:PD05<4> +csi0_d2 = port:PD06<4> +csi0_d3 = port:PD07<4> +csi0_d4 = port:PD08<4> +csi0_d5 = port:PD09<4> +csi0_d6 = port:PD10<4> +csi0_d7 = port:PD11<4> +csi0_sck = port:PD12<4> +csi0_sda = port:PD13<4> + +[csi0/csi0_dev0] +csi0_dev0_used = 0 +csi0_dev0_mname = "ov5640" +csi0_dev0_twi_addr = 0x78 +csi0_dev0_pos = "rear" +csi0_dev0_isp_used = 0 +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 = 0 +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" +ctl-spec-caps = 0x80 + + +[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 = +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:PC04<3><1><3> +sdc2_cmd = port:PC05<3><1><3> +sdc2_d0 = port:PC06<3><1><3> +sdc2_d1 = port:PC07<3><1><3> +sdc2_d2 = port:PC08<3><1><3> +sdc2_d3 = port:PC09<3><1><3> +sdc2_d4 = port:PC10<3><1><3> +sdc2_d5 = port:PC11<3><1><3> +sdc2_d6 = port:PC12<3><1><3> +sdc2_d7 = port:PC13<3><1><3> +sdc2_emmc_rst = port:PC14<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 = 3 +gpio_pin_1 = port:PL07<1><1> +gpio_pin_2 = port:PL04<1><0> +gpio_pin_3 = port:PD06<1><1> + +normal_led = "gpio_pin_1" +standby_led = "gpio_pin_2" +;network_led = "gpio_pin_3" +easy_light_used = 1 +normal_led_light = 1 +standby_led_light = 1 +;network_led_light = 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 = +usb_det_vbus_gpio = +usb_drv_vbus_gpio = port:PC15<1><0><1> +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 = port:PL05<1><0><1> +usb_host_init_state = 1 +usb_regulator_io = "nocare" +usb_wakeup_suspend = 0 + +;-------------------------------- +;--- USB2 CONFIG +;-------------------------------- +[usbc2] +usbc2_used = 0 +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 +wlan_power1 = "vcc-wifi1" +wlan_power2 = "vcc-wifi2" +wlan_io_regulator = "vcc-wifi-io" +wlan_en = port:PL08<1><0> +wlan_regon = port:PM03<1><0> +wlan_hostwake = port:PM00<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 = 1 +;clocks = "&clk_losc_out" +;bt_power = "vcc-wifi" +;bt_io_regulator = "vcc-wifi-io" +bt_rst_n = port:PM04<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_hostwake_enable = 0 +bt_wake = port:PM02<1><1> +bt_hostwake = port:PM01<6><0> + +;-------------------------------------------------------------------------------- +;addr_mgt_used address manager used (0 - not used, 1 - used) +;type_addr_wifi 0: any, 1: burn, 2: gen by chipID, 3: user write, other: disable +;type_addr_bt 0: any, 1: burn, 2: gen by chipID, 3: user write, other: disable +;type_addr_eth 0: any, 1: burn, 2: gen by chipID, 3: user write, other: disable +;-------------------------------------------------------------------------------- +[addr_mgt] +compatible = "allwinner,sunxi-addr_mgt" +addr_mgt_used = 1 +type_addr_wifi = 0 +type_addr_bt = 0 +type_addr_eth = 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 = 1 +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 = 1 +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 = 1 +lsm9ds0 = 1 +lsm303d = 0 +akm8963 = 1 + +;-------------------------------------------------------------------------------- +; NOTE :Make sure dmic_used = 0x1, +; snddmic_used = 0x1, if register the sound card dmic. +;--------------------------------------------------------------------------------- +[dmic] +dmic_used = 0 +[snddmic] +snddmic_used = 0 + +;-------------------------------------------------------------------------------- +; 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 audiohdmi_used = 0x1, +; sndhdmi_used = 0x1, if register the sound card hdmi. Daudio1 used for HDMI +;--------------------------------------------------------------------------------- +[audiohdmi] +audiohdmi_used = 1 +[sndhdmi] +sndhdmi_used = 1 +;--------------------------------------------------------------------------------- +;allwinner,pcm_lrck_period : 16/32/64/128/256 +;allwinner,slot_width_select : 16bits/20bits/24bits/32bits +;allwinner,daudio_master : 1: SND_SOC_DAIFMT_CBM_CFM(codec clk & FRM master) +; 2: SND_SOC_DAIFMT_CBS_CFM(codec clk slave & FRM master) allwinner not use +; 3: SND_SOC_DAIFMT_CBM_CFS(codec clk master & frame slave) allwinner not use +; 4: SND_SOC_DAIFMT_CBS_CFS(codec clk & FRM slave) +;allwinner,audio_format : 1: SND_SOC_DAIFMT_I2S(standard i2s format). +; 2: SND_SOC_DAIFMT_RIGHT_J(right justfied format). +; 3: SND_SOC_DAIFMT_LEFT_J(left justfied format). +; 4: SND_SOC_DAIFMT_DSP_A(MSB available on 2nd BCLK rising edge after LRCK rising). +; 5: SND_SOC_DAIFMT_DSP_B(MSB available on 1nd BCLK rising edge after LRC rising). +;allwinner,signal_inversion : 1: SND_SOC_DAIFMT_NB_NF(normal bit clock + frame) +; 2: SND_SOC_DAIFMT_NB_IF(normal BCLK + inv FRM) +; 3: SND_SOC_DAIFMT_IB_NF(invert BCLK + nor FRM) +; 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 sndhub_used = 0x1, +; ahub_daudio0_used = 0x1, if register the sound card AHUB DAUDIO0. +;-------------------------------------------------------------------------------- +[sndahub] +sndahub_used = 1 + +;----------------------------------------------------------------------------- +[ahub_daudio0] +slot_width_select = 0x20 +daudio_master = 0x04 +audio_format = 0x01 +signal_inversion = 0x01 +frametype = 0x00 +tdm_config = 0x01 +mclk_div = 0x00 +ahub_daudio0_used = 1 + +;----------------------------------------------------------------------------- +[ahub_daudio1] +pcm_lrck_period = 0x20 +slot_width_select = 0x20 +daudio_master = 0x04 +audio_format = 0x01 +signal_inversion = 0x01 +frametype = 0x00 +tdm_config = 0x01 +mclk_div = 0x01 +ahub_daudio1_used = 1 + +;----------------------------------------------------------------------------- +[ahub_daudio2] +pcm_lrck_period = 0x20 +slot_width_select = 0x20 +daudio_master = 0x04 +audio_format = 0x01 +signal_inversion = 0x01 +frametype = 0x00 +tdm_config = 0x01 +mclk_div = 0x01 +ahub_daudio2_used = 1 + +;----------------------------------------------------------------------------- +[ahub_daudio3] +pcm_lrck_period = 0x20 +slot_width_select = 0x20 +daudio_master = 0x04 +audio_format = 0x01 +signal_inversion = 0x01 +frametype = 0x00 +tdm_config = 0x01 +mclk_div = 0x04 +ahub_daudio3_used = 1 + +;-------------------------------------------------------------------------------- +; NOTE :Make sure snddaudio0_used = 0x1, +; daudio0_used = 0x1, if register the sound card DAUDIO0. +;-------------------------------------------------------------------------------- +[snddaudio0] +snddaudio0_used = 1 +;----------------------------------------------------------------------------- +[daudio0] +pcm_lrck_period = 0x20 +slot_width_select = 0x20 +daudio_master = 0x04 +audio_format = 0x01 +signal_inversion = 0x01 +frametype = 0x00 +tdm_config = 0x01 +mclk_div = 0x00 +daudio0_used = 1 + +;-------------------------------------------------------------------------------- +; NOTE :Make sure snddaudio2_used = 0x1, +; daudio2_used = 0x1, if register the sound card DAUDIO2. +;-------------------------------------------------------------------------------- +[snddaudio2] +snddaudio2_used = 0 +;----------------------------------------------------------------------------- +[daudio2] +pcm_lrck_period = 0x40 +slot_width_select = 0x20 +daudio_master = 0x04 +audio_format = 0x04 +signal_inversion = 0x03 +frametype = 0x00 +tdm_config = 0x01 +mclk_div = 0x01 +daudio2_used = 0 + +;-------------------------------------------------------------------------------- +; NOTE :Make sure snddaudio3_used = 0x1, +; daudio3_used = 0x1, if register the Daudio3 used for ACX00 codec card +;-------------------------------------------------------------------------------- +[snddaudio3] +snddaudio3_used = 1 +;----------------------------------------------------------------------------- +[daudio3] +pcm_lrck_period = 0x20 +slot_width_select = 0x20 +daudio_master = 0x04 +audio_format = 0x01 +signal_inversion = 0x01 +frametype = 0x00 +tdm_config = 0x01 +mclk_div = 0x01 +daudio3_used = 1 + +;-------------------------------------------------------------------------------- +; NOTE :Make sure ac200_codec = 0x1, +; if register the acx00-codec running for audio output +;-------------------------------------------------------------------------------- +[ac200_codec] +ac200_codec_used = 1 +gpio-spk = port:PL06<1><1> + +;-------------------------------------------------------------------------------- +;ir --- infra remote configuration +;ir_protocol_used : 0 = NEC / 1 = RC5 +;-------------------------------------------------------------------------------- +[s_cir0] +s_cir0_used = 1 +ir_protocol_used = 0 +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 = 0x18 +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 +ir_power_key_code16 = 0xdc +ir_addr_code16 = 0x4cb3 +ir_power_key_code17 = 0xdc +ir_addr_code17 = 0x4db2 +ir_power_key_code18 = 0x96 +ir_addr_code18 = 0xc43b +ir_power_key_code19 = 0xdc +ir_addr_code19 = 0x4cb3 +ir_power_key_code20 = 0x0c +ir_addr_code20 = 0x6b86 + + +rc5_ir_power_key_code0 = 0x01 +rc5_ir_addr_code0 = 0x04 + +;-------------------------------------------------------------------------------------------------------- +;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 = "axp806" +used = 1 +pmu_id = 3 +pmu_irq_wakeup = 1 +pmu_hot_shutdown = 1 + +;-------------------------------------------------------------------------------------------------------- +;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 ---powerkey0 name, support:axp806-powerkey +;pmu_powkey_off_time ---set pek off time,ms, 4000/6000/8000/10000 +;pmu_powkey_off_func ---set pek off func, 0:shutdown,1:restart +;pmu_powkey_off_en ---set pek offlevel powerdown or not, 0:not powerdown,1:powerdown +;pmu_powkey_long_time ---set pek pek long irq time,ms,1000/1500/2000/2500 +;pmu_powkey_on_time ---set pek on time,ms,128/1000/2000/3000 +;-------------------------------------------------------------------------------------------------------- +[powerkey0] +compatible = "axp806-powerkey" +pmu_powkey_off_time = 6000 +pmu_powkey_off_func = 0 +pmu_powkey_off_en = 1 +pmu_powkey_long_time = 1500 +pmu_powkey_on_time = 1000 + +;-------------------------------------------------------------------------------------------------------- +;compatible ---regulator0 name, support:axpdummy-regulator +;regulator_count ---pmu ldo count, changed with different pmu +;regulator(1~regulator_count) ---ldo details +;-------------------------------------------------------------------------------------------------------- +[regulator0] +compatible = "axp806-regulator" +regulator_count = 16 +regulator1 = "axp806_dcdca none vdd-cpua" +regulator2 = "axp806_dcdcb none" +regulator3 = "axp806_dcdcc none vdd-gpu" +regulator4 = "axp806_dcdcd none vdd-sys vdd-hdmi vdd-pcie vdd-usb" +regulator5 = "axp806_dcdce none vcc-dram" +regulator6 = "axp806_aldo1 none vcc-pl vcc-led vcc-ir vcc-pg vcc-pm vcc-ts" +regulator7 = "axp806_aldo2 none ac-ldoin vcc-audio-33 vcc-ephy usb-dvdd vcc-tv" +regulator8 = "axp806_aldo3 none vcc-pcie-slot" +regulator9 = "axp806_bldo1 none vdd-dram-18 vdd-bias vcc-pll" +regulator10 = "axp806_bldo2 none vcc-emmc-18 vdd-efuse vcc-pcie vcc-hdmi vcc-emmcvq18" +regulator11 = "axp806_bldo3 none vcc-wifi-io" +regulator12 = "axp806_bldo4 none" +regulator13 = "axp806_cldo1 none vcc-io vcc-nand vcc-card vcc-pd vcc-usb vcc-uart vcc-jtagx vcc-emmc-33 vcc-camera-33 vcc-emmcv vcc-sdcv vcc-sdcvq33 vcc-sdcvd" +regulator14 = "axp806_cldo2 none vcc-wifi1" +regulator15 = "axp806_cldo3 none vcc-wifi2" +regulator16 = "axp806_sw none" + + +;---------------------------------------------------------------------------------- +; 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 +; +; cpu dvfs driver will choose dvfs_table_x according to different cpu +; +;---------------------------------------------------------------------------------- +[dvfs_table_0] +max_freq = 1800000000 +min_freq = 480000000 + +lv_count = 8 +lv1_freq = 1800000000 +lv1_volt = 1160 + +lv2_freq = 1488000000 +lv2_volt = 1060 + +lv3_freq = 1320000000 +lv3_volt = 1000 + +lv4_freq = 1080000000 +lv4_volt = 940 + +lv5_freq = 888000000 +lv5_volt = 880 + +lv6_freq = 0 +lv6_volt = 880 + +lv7_freq = 0 +lv7_volt = 880 + +lv8_freq = 0 +lv8_volt = 880 + +[dvfs_table_1] +max_freq = 1800000000 +min_freq = 480000000 + +lv_count = 8 +lv1_freq = 1800000000 +lv1_volt = 1100 + +lv2_freq = 1488000000 +lv2_volt = 1000 + +lv3_freq = 1320000000 +lv3_volt = 940 + +lv4_freq = 1080000000 +lv4_volt = 880 + +lv5_freq = 888000000 +lv5_volt = 820 + +lv6_freq = 0 +lv6_volt = 820 + +lv7_freq = 0 +lv7_volt = 820 + +lv8_freq = 0 +lv8_volt = 820 + +[dvfs_table_2] +max_freq = 1800000000 +min_freq = 480000000 + +lv_count = 8 +lv1_freq = 1800000000 +lv1_volt = 1060 + +lv2_freq = 1488000000 +lv2_volt = 960 + +lv3_freq = 1320000000 +lv3_volt = 900 + +lv4_freq = 1080000000 +lv4_volt = 840 + +lv5_freq = 888000000 +lv5_volt = 800 + +lv6_freq = 0 +lv6_volt = 800 + +lv7_freq = 0 +lv7_volt = 800 + +lv8_freq = 0 +lv8_volt = 800 + +;---------------------------------------------------------------------------------- +;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 = 0 +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:PH09<5><1><2> +Vdevice_1 = port:PH10<5><1><2> + +;---------------------------------------------------------------------------------- +;GPU parameters +;gpu_idle : GPU idle, if this is enabled, GPU will be powered off when it is idle. +;dvfs_status : dvfs status, if this is enabled, GPU DVFS will work. Actually, GPU +; DVFS functionality depends on some kernel features such as devfreq. +;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_normal_level : restrict the level for normal mode. +;---------------------------------------------------------------------------------- +[gpu] +gpu_idle = 0 +dvfs_status = 1 +temp_ctrl_status = 1 +scene_ctrl_status = 1 +max_normal_level = 13 + +;--------------------------------------------------------------------------------- +; 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 = 1 + +;--------------------------------------------------------------------------------- +; 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:PL07<1><0> +gpio1 = port:PL04<1><1> + +;-------------------------------------------------------------------------------- +;gpio power key +;key_io:the config of PL/PM pin. +;trigger_mode: low-level trigger :0 high-level trigger:1 +; +;For example: if key_io is PL04, then the key_index must be 4. +;-------------------------------------------------------------------------------- +[gpio_power_key] +compatible = "allwinner,sunxi-gpio-power-key" +device_type = "gpio_power_key" +gpio_power_key_used = 0 +key_io = port:PL05<0><0> +trigger_mode = 1 + +[auto_print] +auto_print_used = 0 diff --git a/external/packages/pack-uboot/sun50iw6/bin/sys_config/sys_config_orangepilite2.fex b/external/packages/pack-uboot/sun50iw6/bin/sys_config/sys_config_orangepilite2.fex new file mode 100755 index 0000000..cfe7158 --- /dev/null +++ b/external/packages/pack-uboot/sun50iw6/bin/sys_config/sys_config_orangepilite2.fex @@ -0,0 +1,1911 @@ +;sun50iw6p1 application +;--------------------------------------------------------------------------------------------------------- +; 说明: 脚本中的字符串区分大小写,用户可以修改"="后面的数值,但是不要修改前面的字符串 +; 描述gpio的形式:Port:端口+组内序号<功能分配><内部电阻状态><驱动能力><输出电平状态> +;--------------------------------------------------------------------------------------------------------- +;This sys_config.fex is for OrangePi_lite2 + +[product] +version = "100" +machine = "petrel-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 +; power_mode: 0-use axp 1-use dummy axp +; advert_enable 0-close advert logo 1-open advert logo (只有多核启动下有效) +;---------------------------------------------------------------------------------- +[target] +boot_clock = 1320 +storage_type = -1 +burn_key = 0 +dragonboard_test = 0 +power_mode = 0 +advert_enable = 0 + +[secure] +dram_region_mbytes = 64 +drm_region_mbytes = 0 +drm_region_start_mbytes = 0 + +[power_sply] +dcdca_vol = 1001000 +aldo2_vol = 1003300 +bldo3_vol = 1001800 +cldo2_vol = 1003300 +cldo3_vol = 1003300 + +;--------------------------------------------- +; +; normal config: eg. px_bias = "pmu_name:supply_name:voltage" +; +; pmu_name = axp809, axp806 +; supply_name = dcdc1, dcdc2, aldo1, gpio1ldo, etc... +;--------------------------------------------- +[gpio_bias] +pc_bias = "axp806:bldo2:1800" +pg_bias = "axp806:bldo3:1800" + + +;---------------------------------------------------------------------------------- +; ir_boot_recovery_used : 1: used this function 0: not used +; ir_work_mode : 模式选择 +; 0: 刷机, +; 1: 一键恢复(uboot阶段), +; 2: 安卓recovery, +; 3: 安卓恢复出厂设置. +; 如果不设置,默认为安卓recovery . +; ir_press_times : ir遥控器连续按几次才生效,如果不设置默认为按1次生效 +; ir_detect_time : ir遥控检测时间,单位:ms,如果不设置默认为3000ms +; ir_key_no_duplicate : ir遥控按键是否可重复,0:可重复(默认),1:不可重复; +; 不可重复表示一个按键无论被按下几次,都只算ir_press_times的一次; +; 不可重复的应用场景为组合按键功能,如:交替按下'菜单键'和'音量-键'进入安卓recovery. +; ir_recovery_key_code0 : ir check key code +; ir_addr_code0 : ir key addr +; you can increase ir support num, like: +; ir_recovery_key_code1, or 2, 3, but limit to 16 +;---------------------------------------------------------------------------------- +[ir_boot_recovery] +ir_boot_recovery_used = 0 +ir_work_mode = 1 +ir_press_times = 2 +ir_detect_time = 2000 +ir_key_no_duplicate = 0 +ir_recovery_key_code0 = 0x04 +ir_addr_code0 = 0xff00 +ir_recovery_key_code1 = 0x10 +ir_addr_code1 = 0xff00 + + +;---------------------------------------------------------------------------------- +; 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:PL04<1><1> +next_work = 3 + +;---------------------------------------------------------------------------------- +; used : 模块使能端, 1:开启,0:关闭 +; press_mode_enable : 长短按模式使能,1:开启,0:关闭 +; a)如果开启了该模式,则key_work_mode失效,short_press_mode和long_press_mode生>效, + ; recovery按键可以通过长按和短按来触发两种不同的模式; +; b)如果关闭了该模式,则key_work_mode生效,recovery按键只能触发一种模式. +; key_work_mode : 模式选择 +; 0: 刷机, +; 1: 一键恢复(uboot阶段), +; 2: 安卓recovery, +; 3: 安卓恢复出厂设置. +; 如果不设置,模式为安卓recovery. +; short_press_mode : 长按触发的模式,选项同上. +; long_press_mode : 短按触发的模式,选项同上. +; key_press_time : 定义长按的时间,单位:毫秒. +; recovery_key : 按键配置. +;---------------------------------------------------------------------------------- +[key_boot_recovery] +used = 0 +press_mode_enable = 0 +key_work_mode = 1 +short_press_mode = 0 +long_press_mode = 1 +key_press_time = 2000 +recovery_key = port:PH07<0> + +;---------------------------------------------------------------------------------- +; GPIO init on uboot +; PH02 - for hdmi scdc control +;---------------------------------------------------------------------------------- +[boot_init_gpio] +boot_init_gpio_used = 1 +gpio0 = port:PL04<1><1> +gpio1 = port:PL07<1><0> +gpio2 = port:PH02<1><1> + + +;--------------------------------------------------------------------------------------------------------- +; if 1 == standby_mode, then support super standby; +; else, support normal standby. +;--------------------------------------------------------------------------------------------------------- +[pm_para] +standby_mode = 1 + + +;--------------------------------------------------------------------------------------------------------- +; standby_stay_cpu: 1: keep vcc-cpu when standby +; 0: close vcc-cpu when standby, default 0; +;--------------------------------------------------------------------------------------------------------- +[standby_space] +standby_stay_cpu = 0 + +[card0_boot_para] +card_ctrl = 0 +card_high_speed = 1 +card_line = 4 +sdc_d1 = port:PF0<2><1><2> +sdc_d0 = port:PF1<2><1><2> +sdc_clk = port:PF2<2><1><2> +sdc_cmd = port:PF3<2><1><2> +sdc_d3 = port:PF4<2><1><2> +sdc_d2 = port:PF5<2><1><2> + +[card2_boot_para] +card_ctrl = 2 +card_high_speed = 1 +card_line = 8 +sdc_ds = port:PC01<3><1><3> +sdc_clk = port:PC04<3><1><3> +sdc_cmd = port:PC05<3><1><3> +sdc_d0 = port:PC06<3><1><3> +sdc_d1 = port:PC07<3><1><3> +sdc_d2 = port:PC08<3><1><3> +sdc_d3 = port:PC09<3><1><3> +sdc_d4 = port:PC10<3><1><3> +sdc_d5 = port:PC11<3><1><3> +sdc_d6 = port:PC12<3><1><3> +sdc_d7 = port:PC13<3><1><3> +sdc_emmc_rst = port:PC14<3><1><3> +sdc_ex_dly_used = 2 +sdc_io_1v8 = 1 +sdc_tm4_hs400_max_freq = 100 +sdc_tm4_hs200_max_freq = 150 + +[twi_para] +twi_port = 0 +twi_scl = port:PL00<3><1><0> +twi_sda = port:PL01<3><1><0> + +[uart_para] +uart_debug_port = 0 +uart_debug_tx = port:PH00<2><1> +uart_debug_rx = port:PH01<2><1> + +[jtag_para] +jtag_enable = 0 +jtag_ms = port:PD23<5> +jtag_ck = port:PD24<5> +jtag_do = port:PD25<5> +jtag_di = port:PD26<5> + +[clock] +pll4 = 300 +pll6 = 600 +pll8 = 360 +pll9 = 297 +pll10 = 264 + +;***************************************************************************** +; sdram configuration +; +; if dram_clk ≠ 0, will use dram_clk to set dram clk. +; if dram_clk = 0, will use dram_tpr7 to set dram clk. +; dram_tpr7[31:24] to set DDR4 clk, +; dram_tpr7[23:16] to set DDR3 clk, +; dram_tpr7[15: 8] to set LPDDR2 clk, +; dram_tpr7[ 7: 0] to set LPDDR3 clk. +; ps: unit = 12M. +; for example, if dram_tpr7[31:24] = 0x10, +; then the dram clk of DDR4 will be (16*12)M. +; +;***************************************************************************** +[dram_para] +dram_clk = 0 +dram_type = 7 +dram_zq = 0x3b3bfb +dram_odt_en = 0x31 +dram_para1 = 0x30FA +dram_para2 = 0x04000000 +dram_mr0 = 0x1c70 +dram_mr1 = 0x40 +dram_mr2 = 0x18 +dram_mr3 = 0x1 +dram_mr4 = 0x0 +dram_mr5 = 0x400 +dram_mr6 = 0x848 +dram_tpr0 = 0x0048A192 +dram_tpr1 = 0x01b1a94b +dram_tpr2 = 0x00061043 +dram_tpr3 = 0x78787896 +dram_tpr4 = 0x0000 +dram_tpr5 = 0x0 +dram_tpr6 = 0x09090900 +dram_tpr7 = 0x4d462a3e +dram_tpr8 = 0x0 +dram_tpr9 = 0 +dram_tpr10 = 0x0 +dram_tpr11 = 0x00440000 +dram_tpr12 = 0x0 +dram_tpr13 = 0x0000 +;---------------------------------------------------------------------------------- +;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 = "rmii" +gmac_rxd1 = port:PA00<2><3> +gmac_rxd0 = port:PA01<2><3> +gmac_crs = port:PA02<2><3> +gmac_rxerr = port:PA03<2><3> +gmac_txd1 = port:PA04<2><3> +gmac_txd0 = port:PA05<2><3> +gmac_txclk = port:PA06<2><3> +gmac_txen = port:PA07<2><3> +gmac_mdc = port:PA08<2><3> +gmac_mdio = port:PA09<2><3> +gmac-power0 = "vcc-ephy" +gmac-power1 = +gmac-power2 = +tx-delay = 0 +rx-delay = 0 + +;---------------------------------------------------------------------------------- +;i2c configuration +;---------------------------------------------------------------------------------- +[twi0] +twi0_used = 0 +twi0_scl = port:PD25<2> +twi0_sda = port:PD26<2> +twi_regulator = "vcc-io" + +[twi0_suspend] +twi0_scl = port:PD25<7> +twi0_sda = port:PD26<7> + +[twi1] +twi1_used = 1 +twi1_scl = port:PH05<4> +twi1_sda = port:PH06<4> +twi_regulator = "vcc-io" + +[twi1_suspend] +twi1_scl = port:PH05<7> +twi1_sda = port:PH06<7> + +[twi2] +twi2_used = 0 +twi2_scl = port:PD23<2> +twi2_sda = port:PD24<2> +twi_regulator = "vcc-io" + +[twi2_suspend] +twi2_scl = port:PD23<7> +twi2_sda = port:PD24<7> + +[twi3] +twi3_used = 1 +twi3_scl = port:PB17<2> +twi3_sda = port:PB18<2> +twi_regulator = "vcc-io" +;---------------------------------------------------------------------------------- +;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:PH00<2><1> +uart0_rx = port:PH01<2><1> + +[uart0_suspend] +uart0_tx = port:PH00<7><1> +uart0_rx = port:PH01<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_bt = 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 = 0 +uart2_port = 2 +uart2_type = 4 +uart2_tx = port:PD19<4><1> +uart2_rx = port:PD20<4><1> +uart2_rts = port:PD21<4><1> +uart2_cts = port:PD22<4><1> + +[uart2_suspend] +uart2_tx = port:PD19<7><1> +uart2_rx = port:PD20<7><1> +uart2_rts = port:PD21<7><1> +uart2_cts = port:PD22<7><1> + +[uart3] +uart3_used = 1 +uart3_port = 3 +uart3_type = 2 +uart3_tx = port:PD23<4><1> +uart3_rx = port:PD24<4><1> +;uart3_rts = port:PD25<4><1> +;uart3_cts = port:PD26<4><1> + +[uart3_suspend] +uart3_tx = port:PD23<7><1> +uart3_rx = port:PD24<7><1> +;uart3_rts = port:PD25<7><1> +;uart3_cts = port:PD26<7><1> + +;---------------------------------------------------------------------------------- +;SPI controller configuration +;---------------------------------------------------------------------------------- +[spi0] +spi0_used = 1 +spi0_cs_number = 1 +spi0_cs_bitmap = 1 +spi0_cs0 = port:PC05<4><1> +spi0_sclk = port:PC00<4> +spi0_mosi = port:PC02<4> +spi0_miso = port:PC03<4> + +[spi0_suspend] +spi0_cs0 = port:PC05<7><1> +spi0_sclk = port:PC00<7> +spi0_mosi = port:PC02<7> +spi0_miso = port:PC03<7> + +[spi1] +spi1_used = 0 +spi1_cs_number = 1 +spi1_cs_bitmap = 1 +spi1_cs0 = port:PH03<2><1> +spi1_sclk = port:PH04<2> +spi1_mosi = port:PH05<2> +spi1_miso = port:PH06<2> + +[spi1_suspend] +spi1_cs0 = port:PH03<7><1> +spi1_sclk = port:PH04<7> +spi1_mosi = port:PH05<7> +spi1_miso = port:PH06<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 = "rohm,dh2228fv" +spi-max-frequency = 1200000 +reg = 0 +;spi-cpha = 0 +;spi-cpol = 0 +;spi-cs-high = 0 + +;---------------------------------------------------------------------------------- +;pcie controller configuration +;---------------------------------------------------------------------------------- +[pcie] +pcie_used = 0 +pcie_perst = port:PD22<1> +speed_gen =0x01 + +;---------------------------------------------------------------------------------- +;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 = 0 +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 = 0 +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:PC15<2><1><1> +nand0_ce0 = port:PC03<2><1><1> +nand0_nre = port:PC04<2><0><1> +nand0_rb0 = port:PC05<2><1><1> +nand0_rb1 = port:PC16<2><1><1> +nand0_d0 = port:PC06<2><0><1> +nand0_d1 = port:PC07<2><0><1> +nand0_d2 = port:PC08<2><0><1> +nand0_d3 = port:PC09<2><0><1> +nand0_d4 = port:PC10<2><0><1> +nand0_d5 = port:PC11<2><0><1> +nand0_d6 = port:PC12<2><0><1> +nand0_d7 = port:PC13<2><0><1> +nand0_ndqs = port:PC14<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 + + ;---------------------------------------------------------------------------------- + ;esm.img load addr (fdt node: /soc/esm) + ; + ;esm_img_size_addr : store esm.img size, will be updated when booting + ;esm_img_buff_addr : store esm.img buff, will be updated when booting + ;---------------------------------------------------------------------------------- + [esm] + esm_img_size_addr = 0 + esm_img_buff_addr = 0 + +;---------------------------------------------------------------------------------- +;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) +;screenx_output_format (0:RGB 1:yuv444 2:yuv422 3:yuv420) +;screenx_output_bits (0:8bit 1:10bit 2:12bit 2:16bit) +;screenx_output_eotf (0:reserve 4:SDR 16:HDR10 18:HLG) +;screenx_output_cs (0:undefined 257:BT709 260:BT601 263:BT2020) +;screenx_output_dvi_hdmi (0:undefined 1:dvi mode 2:hdmi mode) +;screen0_output_range (0:default 1:full 2:limited) +;screen0_output_scan (0:no data 1:overscan 2:underscan) +;screen0_output_aspect_ratio (8-same as original picture 9-4:3 10-16:9 11-14:9) +;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_para_zone (0: disp parameter store in the part Reserve1), 1: disp paremeter store in file parameter.fex) +;---------------------------------------------------------------------------------- +[disp] +disp_init_enable = 1 +disp_mode = 0 + +screen0_output_type = 3 +screen0_output_mode = 10 + +screen0_output_format = 1 +screen0_output_bits = 0 +screen0_output_eotf = 4 +screen0_output_cs = 257 +screen0_output_dvi_hdmi = 2 +screen0_output_range = 2 +screen0_output_scan = 0 +screen0_output_aspect_ratio = 8 + +screen1_output_type = 0 +screen1_output_mode = 2 +screen1_output_format = 1 +screen1_output_bits = 0 +screen1_output_eotf = 4 +screen1_output_cs = 260 +screen1_output_dvi_hdmi = 2 +screen1_output_range = 2 +screen1_output_scan = 0 +screen1_output_aspect_ratio = 8 + +dev0_output_type = 4 +dev0_output_mode = 10 +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 + +disp_para_zone = 1 + +;---------------------------------------------------------------------------------- +;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 = 0 +lcd_x = 800 +lcd_y = 600 +lcd_width = 150 +lcd_height = 94 +lcd_dclk_freq = 40 +lcd_pwm_used = 0 +lcd_pwm_ch = 0 +lcd_pwm_freq = 50000 +lcd_pwm_pol = 1 +lcd_pwm_max_limit = 255 +lcd_hbp = 216 +lcd_ht = 1056 +lcd_hspw = 128 +lcd_vbp = 27 +lcd_vt = 628 +lcd_vspw = 4 +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 = +lcd_bl_en_power = "none" +lcd_power = "vcc-lcd-0" +lcd_fix_power = "vcc-dsi-33" + +lcdd0 = port:PD00<2><0> +lcdd1 = port:PD01<2><0> +lcdd2 = port:PD02<2><0> +lcdd3 = port:PD03<2><0> +lcdd4 = port:PD04<2><0> +lcdd5 = port:PD05<2><0> +lcdd6 = port:PD06<2><0> +lcdd7 = port:PD07<2><0> +lcdd8 = port:PD08<2><0> +lcdd9 = port:PD09<2><0> +lcdd10 = port:PD10<2><0> +lcdd11 = port:PD11<2><0> +lcdd12 = port:PD12<2><0> +lcdd13 = port:PD13<2><0> +lcdd14 = port:PD14<2><0> +lcdd15 = port:PD15<2><0> +lcdd16 = port:PD16<2><0> +lcdd17 = port:PD17<2><0> +lcdd18 = port:PD18<2><0> +lcdd19 = port:PD19<2><0> +lcdd20 = port:PD20<2><0> +lcdd21 = port:PD21<2><0> +lcd_pin_power = "vcc-pd" + +[lcd0_suspend] +lcdd0 = port:PD00<7><0> +lcdd1 = port:PD01<7><0> +lcdd2 = port:PD02<7><0> +lcdd3 = port:PD03<7><0> +lcdd4 = port:PD04<7><0> +lcdd5 = port:PD05<7><0> +lcdd6 = port:PD06<7><0> +lcdd7 = port:PD07<7><0> +lcdd8 = port:PD08<7><0> +lcdd9 = port:PD09<7><0> +lcdd10 = port:PD10<7><0> +lcdd11 = port:PD11<7><0> +lcdd12 = port:PD12<7><0> +lcdd13 = port:PD13<7><0> +lcdd14 = port:PD14<7><0> +lcdd15 = port:PD15<7><0> +lcdd16 = port:PD16<7><0> +lcdd17 = port:PD17<7><0> +lcdd18 = port:PD18<7><0> +lcdd19 = port:PD19<7><0> +lcdd20 = port:PD20<7><0> +lcdd21 = port:PD21<7><0> + +[hdmi] +hdmi_used = 1 +;hdmi_power = "vcc3v3-hdmi" +hdmi_hdcp_enable = 0 +hdmi_hdcp22_enable = 0 +hdmi_cts_compatibility = 0 +hdmi_cec_support = 1 +hdmi_cec_super_standby = 1 +hdmi_skip_bootedid = 1 +ddc_scl = port:PH8<2><1> +ddc_sda = port:PH9<2><1> +cec_io = port:PH10<2><1> + +ddc_en_io_ctrl = 1 +ddc_io_ctrl = port:PH02<1><0> +;---------------------------------------------------------------------------------- +;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 = 0 +dac_src0 = 0 +dac_type0 = 0 +interface = 1 + +;tv(ac200 cvbs) configuration +;tv_used 1 : enable this module. +;tv_module_name : the module name. +;tv_regulator_name : regutlate name of ac200 +;tv_twi_used 1 : use i2c to communitcate with slave-device ; other: not use i2c. +;tv_twi_id : the id-number of i2c-controler of host-device. +;tv_twi_addr : the i2c-address of slave-device. +;tv_clk_div : divide number of tcon_lcd clock +;ccir* : ac200 video pin inf +;---------------------------------------------------------------------------------- +[ac200] +tv_used = 1 +tv_module_name = "tv_ac200" +tv_twi_used = 1 +tv_twi_id = 3 +tv_twi_addr = 16 +tv_pwm_ch=1 +tv_clk_div=5 +tv_regulator_name="vcc-audio-33" + +ccir_clk = port:PB00<2><0> +ccir_de = port:PB01<2><0> +ccir_hs = port:PB02<2><0> +ccir_vs = port:PB03<2><0> +ccir_do0 = port:PB04<2><0> +ccir_do1 = port:PB05<2><0> +ccir_do2 = port:PB06<2><0> +ccir_do3 = port:PB07<2><0> +ccir_do4 = port:PB08<2><0> +ccir_do5 = port:PB09<2><0> +ccir_do6 = port:PB10<2><0> +ccir_do7 = port:PB11<2><0> + +;---------------------------------------------------------------------------------- +;for hotplug please do not suspend ccir_clk pin +;---------------------------------------------------------------------------------- +[ac200_suspend] +;ccir_clk = port:PB00<7><0> +ccir_de = port:PB01<7><0> +ccir_hs = port:PB02<7><0> +ccir_vs = port:PB03<7><0> +ccir_do0 = port:PB04<7><0> +ccir_do1 = port:PB05<7><0> +ccir_do2 = port:PB06<7><0> +ccir_do3 = port:PB07<7><0> +ccir_do4 = port:PB08<7><0> +ccir_do5 = port:PB09<7><0> +ccir_do6 = port:PB10<7><0> +ccir_do7 = port:PB11<7><0> +;---------------------------------------------------------------------------------- +;pwm config +;---------------------------------------------------------------------------------- +[pwm0] +pwm_used = 1 +pwm_positive = port:PD22<2><0> + +[pwm0_suspend] +pwm_positive = port:PD22<7><0> + +[pwm1] +pwm_used = 0 +pwm_positive = port:PB19<2><0> + +[pwm1_suspend] +pwm_positive = port:PB19<7><0> + + +[pwm16] +s_pwm0_used = 0 +pwm_positive = port:PL08<2><0> + +[pwm16_suspend] +pwm_positive = port:PL08<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 = 10 +output_format = 1 +output_bits = 0 +output_eotf = 4 +output_cs = 260 + +hdmi_channel = 0 +hdmi_mode = 4 +;cvbs_channel = 1 +;cvbs_mode = 11 +;hdmi_mode_check = 1 +;output_full = 1 + +;-------------------------------------------------------------------------------- +;vin (video input modules) configuration +;vind(x)_used: 0:disable 1:enable, main node for vin +;csi(x)_used: 0:disable 1:enable +;csi(x)_pck: parallel csi function pin +;csi(x)_mck: parallel csi function pin +;csi(x)_hsync: parallel csi function pin +;csi(x)_vsync: parallel csi function pin +;csi(x)_d0: parallel csi function pin +;csi(x)_d1: parallel csi function pin +;csi(x)_d2: parallel csi function pin +;csi(x)_d3: parallel csi function pin +;csi(x)_d4: parallel csi function pin +;csi(x)_d5: parallel csi function pin +;csi(x)_d6: parallel csi function pin +;csi(x)_d7: parallel csi function pin +;flash(x)_used: 0:disable 1:enable +;flash(x)_type: 0:FLASH_RELATING, 1:FLASH_EN_INDEPEND, 2:FLASH_POWER +;flash(x)_en: flash enable gpio, type = 0 of 1 +;flash(x)_mode: flash mode gpio, type = 0 of 1 +;flash(x)_flvdd: flash module io power handle string, pmu power supply, type = 2 +;flash(x)_flvdd_vol: flash module io power voltage, pmu power supply, type = 2 +;actuator(x)_used: 0:disable 1:enable +;actuator(x)_name: vcm name +;actuator(x)_slave: vcm iic slave address +;actuator(x)_af_pwdn: vcm power down gpio +;actuator(x)_afvdd: vcm power handle string, pmu power supply +;actuator(x)_afvdd_vol: vcm power voltage, pmu power supply +;sensor(x)_used: 0:disable 1:enable +;sensor(x)_isp_used 0:not use isp 1:use isp +;sensor(x)_fmt: 0:yuv 1:bayer raw rgb +;sensor(x)_stby_mode: 0:not shut down power at standby 1:shut down power at standby +;sensor(x)_vflip: flip in vertical direction 0:disable 1:enable +;sensor(x)_hflip: flip in horizontal direction 0:disable 1:enable +;sensor(x)_iovdd: camera module io power handle string, pmu power supply +;sensor(x)_iovdd_vol: camera module io power voltage, pmu power supply +;sensor(x)_avdd: camera module analog power handle string, pmu power supply +;sensor(x)_avdd_vol: camera module analog power voltage, pmu power supply +;sensor(x)_dvdd: camera module core power handle string, pmu power supply +;sensor(x)_dvdd_vol: camera module core power voltage, pmu power supply +;sensor(x)_power_en: camera module power enable gpio +;sensor(x)_reset: camera module reset gpio +;sensor(x)_pwdn: camera module pwdn gpio +;fill voltage in uV, e.g. iovdd = 2.8V, sensorx_iovdd_vol = 2800000 +;fill handle string as below: +;csi-avdd +;csi-iovdd +;axp22_eldo2 +;fill handle string "" when not using any pmu power supply +;vinc(x)_used: 0:disable 1:enable +;vinc(x)_sensor_list: use sensor list +;-------------------------------------------------------------------------------- +[vind0] +vind0_used = 1 + +[vind0/csi0] +csi0_used = 1 +csi0_pck = port:PD00<4> +;csi0_mck = port:PD01<4> +csi0_hsync = port:PD02<4> +csi0_vsync = port:PD03<4> +csi0_d0 = port:PD04<4> +csi0_d1 = port:PD05<4> +csi0_d2 = port:PD06<4> +csi0_d3 = port:PD07<4> +csi0_d4 = port:PD08<4> +csi0_d5 = port:PD09<4> +csi0_d6 = port:PD10<4> +csi0_d7 = port:PD11<4> + +[vind0/csi_cci0] +csi_cci0_used = 1 +csi_cci0_sck = port:PD12<4> +csi_cci0_sda = port:PD13<4> + +[vind0/flash0] +flash0_used = 0 +flash0_type = 2 +flash0_en = +flash0_mode = +flash0_flvdd = "" +flash0_flvdd_vol = + +[vind0/actuator0] +actuator0_used = 0 +actuator0_name = "ad5820_act" +actuator0_slave = 0x18 +actuator0_af_pwdn = +actuator0_afvdd = "" +actuator0_afvdd_vol = 2800000 + +[vind0/sensor0] +sensor0_used = 1 +sensor0_mname = "gc2035" +;sensor0_twi_cci_id = 0 +sensor0_twi_addr = 0x78 +sensor0_pos = "rear" +sensor0_isp_used = 0 +sensor0_fmt = 0 +sensor0_stby_mode = 1 +sensor0_vflip = 0 +sensor0_hflip = 0 +sensor0_iovdd = "" +sensor0_iovdd_vol = 2800000 +sensor0_avdd = "" +sensor0_avdd_vol = 2800000 +sensor0_dvdd = "" +sensor0_dvdd_vol = 1500000 +;sensor0_power_en = port:PD16<1><1> +sensor0_reset = port:PD14<1><0><3><0> +sensor0_pwdn = port:PD15<1><0><3><1> + +[vind0/sensor1] +sensor1_used = 0 +sensor1_mname = "ov5647" +sensor1_twi_cci_id = 0 +sensor1_twi_addr = 0x6c +sensor1_pos = "front" +sensor1_isp_used = 0 +sensor1_fmt = 0 +sensor1_stby_mode = 1 +sensor1_vflip = 0 +sensor1_hflip = 0 +sensor1_iovdd = "" +sensor1_iovdd_vol = 2800000 +sensor1_avdd = "" +sensor1_avdd_vol = 2800000 +sensor1_dvdd = "" +sensor1_dvdd_vol = 1800000 +sensor1_power_en = +sensor1_reset = port:PD14<1><0><3><0> +sensor1_pwdn = port:PD15<1><0><3><1> + +[vind0/vinc0] +vinc0_used = 1 +vinc0_csi_sel = 0 +vinc0_mipi_sel = 0xff +vinc0_isp_sel = 0 +vinc0_rear_sensor_sel = 0 +vinc0_front_sensor_sel = 1 +vinc0_sensor_list = 0 + +[vind0/vinc1] +vinc1_used = 0 +vinc1_csi_sel = 0 +vinc1_mipi_sel = 0xff +vinc1_isp_sel = 0 +vinc1_rear_sensor_sel = 0 +vinc1_front_sensor_sel = 1 +vinc1_sensor_list = 0 + +;-------------------------------------------------------------------------------- +;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" +ctl-spec-caps = 0x80 + + +[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 = +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:PC04<3><1><3> +sdc2_cmd = port:PC05<3><1><3> +sdc2_d0 = port:PC06<3><1><3> +sdc2_d1 = port:PC07<3><1><3> +sdc2_d2 = port:PC08<3><1><3> +sdc2_d3 = port:PC09<3><1><3> +sdc2_d4 = port:PC10<3><1><3> +sdc2_d5 = port:PC11<3><1><3> +sdc2_d6 = port:PC12<3><1><3> +sdc2_d7 = port:PC13<3><1><3> +sdc2_emmc_rst = port:PC14<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 = 5 +gpio_pin_1 = port:PL07<1><1> +gpio_pin_2 = port:PL04<1><0> +gpio_pin_3 = port:PD16<1><1> +gpio_pin_4 = port:PD17<1><1> +gpio_pin_5 = port:PD18<1><1> + +normal_led = "gpio_pin_1" +standby_led = "gpio_pin_2" +;network_led = "gpio_pin_3" +easy_light_used = 1 +normal_led_light = 1 +standby_led_light = 1 +;network_led_light = 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 = +usb_det_vbus_gpio = +usb_drv_vbus_gpio = port:PL05<1><0><1> +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 = port:PL05<1><0><1> +usb_host_init_state = 1 +usb_regulator_io = "nocare" +usb_wakeup_suspend = 0 + +;-------------------------------- +;--- USB2 CONFIG +;-------------------------------- +[usbc2] +usbc2_used = 0 +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 +wlan_power1 = "vcc-wifi1" +wlan_power2 = "vcc-wifi2" +wlan_io_regulator = "vcc-wifi-io" +wlan_en = port:PL08<1><0> +wlan_regon = port:PM03<1><0> +wlan_hostwake = port:PM00<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 = 1 +;clocks = "&clk_losc_out" +;bt_power = "vcc-wifi" +;bt_io_regulator = "vcc-wifi-io" +bt_rst_n = port:PM04<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_hostwake_enable = 0 +bt_wake = port:PM02<1><1> +bt_hostwake = port:PM01<6><0> + +;-------------------------------------------------------------------------------- +;addr_mgt_used address manager used (0 - not used, 1 - used) +;type_addr_wifi 0: any, 1: burn, 2: gen by chipID, 3: user write, other: disable +;type_addr_bt 0: any, 1: burn, 2: gen by chipID, 3: user write, other: disable +;type_addr_eth 0: any, 1: burn, 2: gen by chipID, 3: user write, other: disable +;-------------------------------------------------------------------------------- +[addr_mgt] +compatible = "allwinner,sunxi-addr_mgt" +addr_mgt_used = 1 +type_addr_wifi = 0 +type_addr_bt = 0 +type_addr_eth = 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 = 1 +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 = 1 +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 = 1 +lsm9ds0 = 1 +lsm303d = 0 +akm8963 = 1 + +;-------------------------------------------------------------------------------- +; NOTE :Make sure dmic_used = 0x1, +; snddmic_used = 0x1, if register the sound card dmic. +;--------------------------------------------------------------------------------- +[dmic] +dmic_used = 0 +[snddmic] +snddmic_used = 0 + +;-------------------------------------------------------------------------------- +; 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 audiohdmi_used = 0x1, +; sndhdmi_used = 0x1, if register the sound card hdmi. Daudio1 used for HDMI +;--------------------------------------------------------------------------------- +[audiohdmi] +audiohdmi_used = 1 +[sndhdmi] +sndhdmi_used = 1 +;--------------------------------------------------------------------------------- +;allwinner,pcm_lrck_period : 16/32/64/128/256 +;allwinner,slot_width_select : 16bits/20bits/24bits/32bits +;allwinner,daudio_master : 1: SND_SOC_DAIFMT_CBM_CFM(codec clk & FRM master) +; 2: SND_SOC_DAIFMT_CBS_CFM(codec clk slave & FRM master) allwinner not use +; 3: SND_SOC_DAIFMT_CBM_CFS(codec clk master & frame slave) allwinner not use +; 4: SND_SOC_DAIFMT_CBS_CFS(codec clk & FRM slave) +;allwinner,audio_format : 1: SND_SOC_DAIFMT_I2S(standard i2s format). +; 2: SND_SOC_DAIFMT_RIGHT_J(right justfied format). +; 3: SND_SOC_DAIFMT_LEFT_J(left justfied format). +; 4: SND_SOC_DAIFMT_DSP_A(MSB available on 2nd BCLK rising edge after LRCK rising). +; 5: SND_SOC_DAIFMT_DSP_B(MSB available on 1nd BCLK rising edge after LRC rising). +;allwinner,signal_inversion : 1: SND_SOC_DAIFMT_NB_NF(normal bit clock + frame) +; 2: SND_SOC_DAIFMT_NB_IF(normal BCLK + inv FRM) +; 3: SND_SOC_DAIFMT_IB_NF(invert BCLK + nor FRM) +; 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 sndhub_used = 0x1, +; ahub_daudio0_used = 0x1, if register the sound card AHUB DAUDIO0. +;-------------------------------------------------------------------------------- +[sndahub] +sndahub_used = 1 + +;----------------------------------------------------------------------------- +[ahub_daudio0] +slot_width_select = 0x20 +daudio_master = 0x04 +audio_format = 0x01 +signal_inversion = 0x01 +frametype = 0x00 +tdm_config = 0x01 +mclk_div = 0x00 +ahub_daudio0_used = 1 + +;----------------------------------------------------------------------------- +[ahub_daudio1] +pcm_lrck_period = 0x20 +slot_width_select = 0x20 +daudio_master = 0x04 +audio_format = 0x01 +signal_inversion = 0x01 +frametype = 0x00 +tdm_config = 0x01 +mclk_div = 0x01 +ahub_daudio1_used = 1 + +;----------------------------------------------------------------------------- +[ahub_daudio2] +pcm_lrck_period = 0x20 +slot_width_select = 0x20 +daudio_master = 0x04 +audio_format = 0x01 +signal_inversion = 0x01 +frametype = 0x00 +tdm_config = 0x01 +mclk_div = 0x01 +ahub_daudio2_used = 1 + +;----------------------------------------------------------------------------- +[ahub_daudio3] +pcm_lrck_period = 0x20 +slot_width_select = 0x20 +daudio_master = 0x04 +audio_format = 0x01 +signal_inversion = 0x01 +frametype = 0x00 +tdm_config = 0x01 +mclk_div = 0x04 +ahub_daudio3_used = 1 + +;-------------------------------------------------------------------------------- +; NOTE :Make sure snddaudio0_used = 0x1, +; daudio0_used = 0x1, if register the sound card DAUDIO0. +;-------------------------------------------------------------------------------- +[snddaudio0] +snddaudio0_used = 1 +;----------------------------------------------------------------------------- +[daudio0] +pcm_lrck_period = 0x20 +slot_width_select = 0x20 +daudio_master = 0x04 +audio_format = 0x01 +signal_inversion = 0x01 +frametype = 0x00 +tdm_config = 0x01 +mclk_div = 0x00 +daudio0_used = 1 + +;-------------------------------------------------------------------------------- +; NOTE :Make sure snddaudio2_used = 0x1, +; daudio2_used = 0x1, if register the sound card DAUDIO2. +;-------------------------------------------------------------------------------- +[snddaudio2] +snddaudio2_used = 0 +;----------------------------------------------------------------------------- +[daudio2] +pcm_lrck_period = 0x40 +slot_width_select = 0x20 +daudio_master = 0x04 +audio_format = 0x04 +signal_inversion = 0x03 +frametype = 0x00 +tdm_config = 0x01 +mclk_div = 0x01 +daudio2_used = 0 + +;-------------------------------------------------------------------------------- +; NOTE :Make sure snddaudio3_used = 0x1, +; daudio3_used = 0x1, if register the Daudio3 used for ACX00 codec card +;-------------------------------------------------------------------------------- +[snddaudio3] +snddaudio3_used = 1 +;----------------------------------------------------------------------------- +[daudio3] +pcm_lrck_period = 0x20 +slot_width_select = 0x20 +daudio_master = 0x04 +audio_format = 0x01 +signal_inversion = 0x01 +frametype = 0x00 +tdm_config = 0x01 +mclk_div = 0x01 +daudio3_used = 1 + +;-------------------------------------------------------------------------------- +; NOTE :Make sure ac200_codec = 0x1, +; if register the acx00-codec running for audio output +;-------------------------------------------------------------------------------- +[ac200_codec] +ac200_codec_used = 1 +gpio-spk = port:PL06<1><1> + +;-------------------------------------------------------------------------------- +;ir --- infra remote configuration +;ir_protocol_used : 0 = NEC / 1 = RC5 +;-------------------------------------------------------------------------------- +[s_cir0] +s_cir0_used = 1 +ir_protocol_used = 0 +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 = 0x18 +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 +ir_power_key_code16 = 0xdc +ir_addr_code16 = 0x4cb3 +ir_power_key_code17 = 0xdc +ir_addr_code17 = 0x4db2 +ir_power_key_code18 = 0x96 +ir_addr_code18 = 0xc43b +ir_power_key_code19 = 0xdc +ir_addr_code19 = 0x4cb3 +ir_power_key_code20 = 0x0c +ir_addr_code20 = 0x6b86 + + +rc5_ir_power_key_code0 = 0x01 +rc5_ir_addr_code0 = 0x04 + +;-------------------------------------------------------------------------------------------------------- +;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 = "axp806" +used = 1 +pmu_id = 3 +pmu_irq_wakeup = 1 +pmu_hot_shutdown = 1 + +;-------------------------------------------------------------------------------------------------------- +;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 ---powerkey0 name, support:axp806-powerkey +;pmu_powkey_off_time ---set pek off time,ms, 4000/6000/8000/10000 +;pmu_powkey_off_func ---set pek off func, 0:shutdown,1:restart +;pmu_powkey_off_en ---set pek offlevel powerdown or not, 0:not powerdown,1:powerdown +;pmu_powkey_long_time ---set pek pek long irq time,ms,1000/1500/2000/2500 +;pmu_powkey_on_time ---set pek on time,ms,128/1000/2000/3000 +;-------------------------------------------------------------------------------------------------------- +[powerkey0] +compatible = "axp806-powerkey" +pmu_powkey_off_time = 6000 +pmu_powkey_off_func = 0 +pmu_powkey_off_en = 1 +pmu_powkey_long_time = 1500 +pmu_powkey_on_time = 1000 + +;-------------------------------------------------------------------------------------------------------- +;compatible ---regulator0 name, support:axpdummy-regulator +;regulator_count ---pmu ldo count, changed with different pmu +;regulator(1~regulator_count) ---ldo details +;-------------------------------------------------------------------------------------------------------- +[regulator0] +compatible = "axp806-regulator" +regulator_count = 16 +regulator1 = "axp806_dcdca none vdd-cpua" +regulator2 = "axp806_dcdcb none" +regulator3 = "axp806_dcdcc none vdd-gpu" +regulator4 = "axp806_dcdcd none vdd-sys vdd-hdmi vdd-pcie vdd-usb" +regulator5 = "axp806_dcdce none vcc-dram" +regulator6 = "axp806_aldo1 none vcc-pl vcc-led vcc-ir vcc-pg vcc-pm vcc-ts" +regulator7 = "axp806_aldo2 none ac-ldoin vcc-audio-33 vcc-ephy usb-dvdd vcc-tv" +regulator8 = "axp806_aldo3 none vcc-pcie-slot" +regulator9 = "axp806_bldo1 none vdd-dram-18 vdd-bias vcc-pll" +regulator10 = "axp806_bldo2 none vcc-emmc-18 vdd-efuse vcc-pcie vcc-hdmi vcc-emmcvq18" +regulator11 = "axp806_bldo3 none vcc-wifi-io" +regulator12 = "axp806_bldo4 none" +regulator13 = "axp806_cldo1 none vcc-io vcc-nand vcc-card vcc-pd vcc-usb vcc-uart vcc-jtagx vcc-emmc-33 vcc-camera-33 vcc-emmcv vcc-sdcv vcc-sdcvq33 vcc-sdcvd" +regulator14 = "axp806_cldo2 none vcc-wifi1" +regulator15 = "axp806_cldo3 none vcc-wifi2" +regulator16 = "axp806_sw none" + + +;---------------------------------------------------------------------------------- +; 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 +; +; cpu dvfs driver will choose dvfs_table_x according to different cpu +; +;---------------------------------------------------------------------------------- +[dvfs_table_0] +max_freq = 1800000000 +min_freq = 480000000 + +lv_count = 8 +lv1_freq = 1800000000 +lv1_volt = 1160 + +lv2_freq = 1488000000 +lv2_volt = 1060 + +lv3_freq = 1320000000 +lv3_volt = 1000 + +lv4_freq = 1080000000 +lv4_volt = 940 + +lv5_freq = 888000000 +lv5_volt = 880 + +lv6_freq = 0 +lv6_volt = 880 + +lv7_freq = 0 +lv7_volt = 880 + +lv8_freq = 0 +lv8_volt = 880 + +[dvfs_table_1] +max_freq = 1800000000 +min_freq = 480000000 + +lv_count = 8 +lv1_freq = 1800000000 +lv1_volt = 1100 + +lv2_freq = 1488000000 +lv2_volt = 1000 + +lv3_freq = 1320000000 +lv3_volt = 940 + +lv4_freq = 1080000000 +lv4_volt = 880 + +lv5_freq = 888000000 +lv5_volt = 820 + +lv6_freq = 0 +lv6_volt = 820 + +lv7_freq = 0 +lv7_volt = 820 + +lv8_freq = 0 +lv8_volt = 820 + +[dvfs_table_2] +max_freq = 1800000000 +min_freq = 480000000 + +lv_count = 8 +lv1_freq = 1800000000 +lv1_volt = 1060 + +lv2_freq = 1488000000 +lv2_volt = 960 + +lv3_freq = 1320000000 +lv3_volt = 900 + +lv4_freq = 1080000000 +lv4_volt = 840 + +lv5_freq = 888000000 +lv5_volt = 800 + +lv6_freq = 0 +lv6_volt = 800 + +lv7_freq = 0 +lv7_volt = 800 + +lv8_freq = 0 +lv8_volt = 800 + +;---------------------------------------------------------------------------------- +;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 = 0 +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:PH09<5><1><2> +Vdevice_1 = port:PH10<5><1><2> + +;---------------------------------------------------------------------------------- +;GPU parameters +;gpu_idle : GPU idle, if this is enabled, GPU will be powered off when it is idle. +;dvfs_status : dvfs status, if this is enabled, GPU DVFS will work. Actually, GPU +; DVFS functionality depends on some kernel features such as devfreq. +;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_normal_level : restrict the level for normal mode. +;---------------------------------------------------------------------------------- +[gpu] +gpu_idle = 0 +dvfs_status = 1 +temp_ctrl_status = 1 +scene_ctrl_status = 1 +max_normal_level = 13 + +;--------------------------------------------------------------------------------- +; 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 = 1 + +;--------------------------------------------------------------------------------- +; 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:PL07<1><0> +gpio1 = port:PL04<1><1> + +;-------------------------------------------------------------------------------- +;gpio power key +;key_io:the config of PL/PM pin. +;trigger_mode: low-level trigger :0 high-level trigger:1 +; +;For example: if key_io is PL04, then the key_index must be 4. +;-------------------------------------------------------------------------------- +[gpio_power_key] +compatible = "allwinner,sunxi-gpio-power-key" +device_type = "gpio_power_key" +gpio_power_key_used = 0 +key_io = port:PL05<0><0> +trigger_mode = 1 + +[auto_print] +auto_print_used = 0 diff --git a/external/packages/pack-uboot/sun50iw6/bin/sys_config/sys_config_orangepioneplus.fex b/external/packages/pack-uboot/sun50iw6/bin/sys_config/sys_config_orangepioneplus.fex new file mode 100755 index 0000000..3ef7eef --- /dev/null +++ b/external/packages/pack-uboot/sun50iw6/bin/sys_config/sys_config_orangepioneplus.fex @@ -0,0 +1,1868 @@ +;sun50iw6p1 application +;--------------------------------------------------------------------------------------------------------- +; 说明: 脚本中的字符串区分大小写,用户可以修改"="后面的数值,但是不要修改前面的字符串 +; 描述gpio的形式:Port:端口+组内序号<功能分配><内部电阻状态><驱动能力><输出电平状态> +;--------------------------------------------------------------------------------------------------------- +;This sys_config.fex is for OrangePi_OnePlus + +[product] +version = "100" +machine = "petrel-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 +; power_mode: 0-use axp 1-use dummy axp +; advert_enable 0-close advert logo 1-open advert logo (只有多核启动下有效) +;---------------------------------------------------------------------------------- +[target] +boot_clock = 1320 +storage_type = -1 +burn_key = 0 +dragonboard_test = 0 +power_mode = 0 +advert_enable = 0 + +[secure] +dram_region_mbytes = 64 +drm_region_mbytes = 0 +drm_region_start_mbytes = 0 + +[power_sply] +dcdca_vol = 1001000 +aldo2_vol = 1003300 + +;--------------------------------------------- +; +; normal config: eg. px_bias = "pmu_name:supply_name:voltage" +; +; pmu_name = axp809, axp806 +; supply_name = dcdc1, dcdc2, aldo1, gpio1ldo, etc... +;--------------------------------------------- +[gpio_bias] +pc_bias = "axp806:bldo2:1800" +pg_bias = "axp806:bldo3:1800" + + +;---------------------------------------------------------------------------------- +; ir_boot_recovery_used : 1: used this function 0: not used +; ir_work_mode : 模式选择 +; 0: 刷机, +; 1: 一键恢复(uboot阶段), +; 2: 安卓recovery, +; 3: 安卓恢复出厂设置. +; 如果不设置,默认为安卓recovery . +; ir_press_times : ir遥控器连续按几次才生效,如果不设置默认为按1次生效 +; ir_detect_time : ir遥控检测时间,单位:ms,如果不设置默认为3000ms +; ir_key_no_duplicate : ir遥控按键是否可重复,0:可重复(默认),1:不可重复; +; 不可重复表示一个按键无论被按下几次,都只算ir_press_times的一次; +; 不可重复的应用场景为组合按键功能,如:交替按下'菜单键'和'音量-键'进入安卓recovery. +; ir_recovery_key_code0 : ir check key code +; ir_addr_code0 : ir key addr +; you can increase ir support num, like: +; ir_recovery_key_code1, or 2, 3, but limit to 16 +;---------------------------------------------------------------------------------- +[ir_boot_recovery] +ir_boot_recovery_used = 0 +ir_work_mode = 1 +ir_press_times = 2 +ir_detect_time = 2000 +ir_key_no_duplicate = 0 +ir_recovery_key_code0 = 0x04 +ir_addr_code0 = 0xff00 +ir_recovery_key_code1 = 0x10 +ir_addr_code1 = 0xff00 + + +;---------------------------------------------------------------------------------- +; 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:PL04<1><1> +next_work = 3 + +;---------------------------------------------------------------------------------- +; used : 模块使能端, 1:开启,0:关闭 +; press_mode_enable : 长短按模式使能,1:开启,0:关闭 +; a)如果开启了该模式,则key_work_mode失效,short_press_mode和long_press_mode生>效, + ; recovery按键可以通过长按和短按来触发两种不同的模式; +; b)如果关闭了该模式,则key_work_mode生效,recovery按键只能触发一种模式. +; key_work_mode : 模式选择 +; 0: 刷机, +; 1: 一键恢复(uboot阶段), +; 2: 安卓recovery, +; 3: 安卓恢复出厂设置. +; 如果不设置,模式为安卓recovery. +; short_press_mode : 长按触发的模式,选项同上. +; long_press_mode : 短按触发的模式,选项同上. +; key_press_time : 定义长按的时间,单位:毫秒. +; recovery_key : 按键配置. +;---------------------------------------------------------------------------------- +[key_boot_recovery] +used = 0 +press_mode_enable = 0 +key_work_mode = 1 +short_press_mode = 0 +long_press_mode = 1 +key_press_time = 2000 +recovery_key = port:PL02<0> + +;---------------------------------------------------------------------------------- +; GPIO init on uboot +; PH02 - for hdmi scdc control +;---------------------------------------------------------------------------------- +[boot_init_gpio] +boot_init_gpio_used = 1 +gpio0 = port:PL04<1><1> +gpio1 = port:PL07<1><0> +gpio2 = port:PH02<1><1> + + +;--------------------------------------------------------------------------------------------------------- +; if 1 == standby_mode, then support super standby; +; else, support normal standby. +;--------------------------------------------------------------------------------------------------------- +[pm_para] +standby_mode = 1 + + +;--------------------------------------------------------------------------------------------------------- +; standby_stay_cpu: 1: keep vcc-cpu when standby +; 0: close vcc-cpu when standby, default 0; +;--------------------------------------------------------------------------------------------------------- +[standby_space] +standby_stay_cpu = 0 + +[card0_boot_para] +card_ctrl = 0 +card_high_speed = 1 +card_line = 4 +sdc_d1 = port:PF0<2><1><2> +sdc_d0 = port:PF1<2><1><2> +sdc_clk = port:PF2<2><1><2> +sdc_cmd = port:PF3<2><1><2> +sdc_d3 = port:PF4<2><1><2> +sdc_d2 = port:PF5<2><1><2> + +[card2_boot_para] +card_ctrl = 2 +card_high_speed = 1 +card_line = 8 +sdc_ds = port:PC01<3><1><3> +sdc_clk = port:PC04<3><1><3> +sdc_cmd = port:PC05<3><1><3> +sdc_d0 = port:PC06<3><1><3> +sdc_d1 = port:PC07<3><1><3> +sdc_d2 = port:PC08<3><1><3> +sdc_d3 = port:PC09<3><1><3> +sdc_d4 = port:PC10<3><1><3> +sdc_d5 = port:PC11<3><1><3> +sdc_d6 = port:PC12<3><1><3> +sdc_d7 = port:PC13<3><1><3> +sdc_emmc_rst = port:PC14<3><1><3> +sdc_ex_dly_used = 2 +sdc_io_1v8 = 1 +sdc_tm4_hs400_max_freq = 100 +sdc_tm4_hs200_max_freq = 150 + +[twi_para] +twi_port = 0 +twi_scl = port:PL00<3><1><0> +twi_sda = port:PL01<3><1><0> + +[uart_para] +uart_debug_port = 0 +uart_debug_tx = port:PH00<2><1> +uart_debug_rx = port:PH01<2><1> + +[jtag_para] +jtag_enable = 0 +jtag_ms = port:PD23<5> +jtag_ck = port:PD24<5> +jtag_do = port:PD25<5> +jtag_di = port:PD26<5> + +[clock] +pll4 = 300 +pll6 = 600 +pll8 = 360 +pll9 = 297 +pll10 = 264 + +;***************************************************************************** +; sdram configuration +; +; if dram_clk ≠ 0, will use dram_clk to set dram clk. +; if dram_clk = 0, will use dram_tpr7 to set dram clk. +; dram_tpr7[31:24] to set DDR4 clk, +; dram_tpr7[23:16] to set DDR3 clk, +; dram_tpr7[15: 8] to set LPDDR2 clk, +; dram_tpr7[ 7: 0] to set LPDDR3 clk. +; ps: unit = 12M. +; for example, if dram_tpr7[31:24] = 0x10, +; then the dram clk of DDR4 will be (16*12)M. +; +;***************************************************************************** +[dram_para] +dram_clk = 0 +dram_type = 7 +dram_zq = 0x3b3bfb +dram_odt_en = 0x31 +dram_para1 = 0x30FA +dram_para2 = 0x04000000 +dram_mr0 = 0x1c70 +dram_mr1 = 0x40 +dram_mr2 = 0x18 +dram_mr3 = 0x1 +dram_mr4 = 0x0 +dram_mr5 = 0x400 +dram_mr6 = 0x848 +dram_tpr0 = 0x0048A192 +dram_tpr1 = 0x01b1a94b +dram_tpr2 = 0x00061043 +dram_tpr3 = 0x78787896 +dram_tpr4 = 0x0000 +dram_tpr5 = 0x0 +dram_tpr6 = 0x09090900 +dram_tpr7 = 0x4d462a3e +dram_tpr8 = 0x0 +dram_tpr9 = 0 +dram_tpr10 = 0x0 +dram_tpr11 = 0x00440000 +dram_tpr12 = 0x0 +dram_tpr13 = 0x0000 +;---------------------------------------------------------------------------------- +;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<5><3> +gmac_rxd2 = port:PD01<5><3> +gmac_rxd1 = port:PD02<5><3> +gmac_rxd0 = port:PD03<5><3> +gmac_rxck = port:PD04<5><3> +gmac_rxctl = port:PD05<5><3> +gmac_txd3 = port:PD07<5><3> +gmac_txd2 = port:PD08<5><3> +gmac_txd1 = port:PD09<5><3> +gmac_txd0 = port:PD10<5><3> +gmac_txck = port:PD11<5><0> +gmac_txctl = port:PD12<5><3> +gmac_clkin = port:PD13<5><0> +gmac_ephyrst = port:PD14<5><3> +gmac_mdc = port:PD19<5><3> +gmac_mdio = port:PD20<5><3> +gmac-power0 = "vcc-io" +gmac-power1 = "axp806_aldo3" +gmac-power2 = +tx-delay = 0 +rx-delay = 0 + +;---------------------------------------------------------------------------------- +;i2c configuration +;---------------------------------------------------------------------------------- +[twi0] +twi0_used = 0 +twi0_scl = port:PD25<2> +twi0_sda = port:PD26<2> +twi_regulator = "vcc-io" + +[twi0_suspend] +twi0_scl = port:PD25<7> +twi0_sda = port:PD26<7> + +[twi1] +twi1_used = 1 +twi1_scl = port:PH05<4> +twi1_sda = port:PH06<4> +twi_regulator = "vcc-io" + +[twi1_suspend] +twi1_scl = port:PH05<7> +twi1_sda = port:PH06<7> + +[twi2] +twi2_used = 0 +twi2_scl = port:PD23<2> +twi2_sda = port:PD24<2> +twi_regulator = "vcc-io" + +[twi2_suspend] +twi2_scl = port:PD23<7> +twi2_sda = port:PD24<7> + +[twi3] +twi3_used = 1 +twi3_scl = port:PB17<2> +twi3_sda = port:PB18<2> +twi_regulator = "vcc-io" +;---------------------------------------------------------------------------------- +;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:PH00<2><1> +uart0_rx = port:PH01<2><1> + +[uart0_suspend] +uart0_tx = port:PH00<7><1> +uart0_rx = port:PH01<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_bt = 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 = 0 +uart2_port = 2 +uart2_type = 4 +uart2_tx = port:PD19<4><1> +uart2_rx = port:PD20<4><1> +uart2_rts = port:PD21<4><1> +uart2_cts = port:PD22<4><1> + +[uart2_suspend] +uart2_tx = port:PD19<7><1> +uart2_rx = port:PD20<7><1> +uart2_rts = port:PD21<7><1> +uart2_cts = port:PD22<7><1> + +[uart3] +uart3_used = 1 +uart3_port = 3 +uart3_type = 2 +uart3_tx = port:PD23<4><1> +uart3_rx = port:PD24<4><1> +;uart3_rts = port:PD25<4><1> +;uart3_cts = port:PD26<4><1> + +[uart3_suspend] +uart3_tx = port:PD23<7><1> +uart3_rx = port:PD24<7><1> +;uart3_rts = port:PD25<7><1> +;uart3_cts = port:PD26<7><1> + +;---------------------------------------------------------------------------------- +;SPI controller configuration +;---------------------------------------------------------------------------------- +[spi0] +spi0_used = 1 +spi0_cs_number = 1 +spi0_cs_bitmap = 1 +spi0_cs0 = port:PC05<4><1> +spi0_sclk = port:PC00<4> +spi0_mosi = port:PC02<4> +spi0_miso = port:PC03<4> + +[spi0_suspend] +spi0_cs0 = port:PC05<7><1> +spi0_sclk = port:PC00<7> +spi0_mosi = port:PC02<7> +spi0_miso = port:PC03<7> + +[spi1] +spi1_used = 0 +spi1_cs_number = 1 +spi1_cs_bitmap = 1 +spi1_cs0 = port:PH03<2><1> +spi1_sclk = port:PH04<2> +spi1_mosi = port:PH05<2> +spi1_miso = port:PH06<2> + +[spi1_suspend] +spi1_cs0 = port:PH03<7><1> +spi1_sclk = port:PH04<7> +spi1_mosi = port:PH05<7> +spi1_miso = port:PH06<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 = "rohm,dh2228fv" +spi-max-frequency = 1200000 +reg = 0 +;spi-cpha = 0 +;spi-cpol = 0 +;spi-cs-high = 0 + +;---------------------------------------------------------------------------------- +;pcie controller configuration +;---------------------------------------------------------------------------------- +[pcie] +pcie_used = 0 +pcie_perst = port:PD22<1> +speed_gen =0x01 + +;---------------------------------------------------------------------------------- +;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 = 0 +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 = 0 +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:PC15<2><1><1> +nand0_ce0 = port:PC03<2><1><1> +nand0_nre = port:PC04<2><0><1> +nand0_rb0 = port:PC05<2><1><1> +nand0_rb1 = port:PC16<2><1><1> +nand0_d0 = port:PC06<2><0><1> +nand0_d1 = port:PC07<2><0><1> +nand0_d2 = port:PC08<2><0><1> +nand0_d3 = port:PC09<2><0><1> +nand0_d4 = port:PC10<2><0><1> +nand0_d5 = port:PC11<2><0><1> +nand0_d6 = port:PC12<2><0><1> +nand0_d7 = port:PC13<2><0><1> +nand0_ndqs = port:PC14<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 + + ;---------------------------------------------------------------------------------- + ;esm.img load addr (fdt node: /soc/esm) + ; + ;esm_img_size_addr : store esm.img size, will be updated when booting + ;esm_img_buff_addr : store esm.img buff, will be updated when booting + ;---------------------------------------------------------------------------------- + [esm] + esm_img_size_addr = 0 + esm_img_buff_addr = 0 + +;---------------------------------------------------------------------------------- +;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) +;screenx_output_format (0:RGB 1:yuv444 2:yuv422 3:yuv420) +;screenx_output_bits (0:8bit 1:10bit 2:12bit 2:16bit) +;screenx_output_eotf (0:reserve 4:SDR 16:HDR10 18:HLG) +;screenx_output_cs (0:undefined 257:BT709 260:BT601 263:BT2020) +;screenx_output_dvi_hdmi (0:undefined 1:dvi mode 2:hdmi mode) +;screen0_output_range (0:default 1:full 2:limited) +;screen0_output_scan (0:no data 1:overscan 2:underscan) +;screen0_output_aspect_ratio (8-same as original picture 9-4:3 10-16:9 11-14:9) +;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_para_zone (0: disp parameter store in the part Reserve1), 1: disp paremeter store in file parameter.fex) +;---------------------------------------------------------------------------------- +[disp] +disp_init_enable = 1 +disp_mode = 0 + +screen0_output_type = 3 +screen0_output_mode = 10 + +screen0_output_format = 1 +screen0_output_bits = 0 +screen0_output_eotf = 4 +screen0_output_cs = 257 +screen0_output_dvi_hdmi = 2 +screen0_output_range = 2 +screen0_output_scan = 0 +screen0_output_aspect_ratio = 8 + +screen1_output_type = 0 +screen1_output_mode = 2 +screen1_output_format = 1 +screen1_output_bits = 0 +screen1_output_eotf = 4 +screen1_output_cs = 260 +screen1_output_dvi_hdmi = 2 +screen1_output_range = 2 +screen1_output_scan = 0 +screen1_output_aspect_ratio = 8 + +dev0_output_type = 4 +dev0_output_mode = 10 +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 + +disp_para_zone = 1 + +;---------------------------------------------------------------------------------- +;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 = 0 +lcd_x = 800 +lcd_y = 600 +lcd_width = 150 +lcd_height = 94 +lcd_dclk_freq = 40 +lcd_pwm_used = 0 +lcd_pwm_ch = 0 +lcd_pwm_freq = 50000 +lcd_pwm_pol = 1 +lcd_pwm_max_limit = 255 +lcd_hbp = 216 +lcd_ht = 1056 +lcd_hspw = 128 +lcd_vbp = 27 +lcd_vt = 628 +lcd_vspw = 4 +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 = +lcd_bl_en_power = "none" +lcd_power = "vcc-lcd-0" +lcd_fix_power = "vcc-dsi-33" + +lcdd0 = port:PD00<2><0> +lcdd1 = port:PD01<2><0> +lcdd2 = port:PD02<2><0> +lcdd3 = port:PD03<2><0> +lcdd4 = port:PD04<2><0> +lcdd5 = port:PD05<2><0> +lcdd6 = port:PD06<2><0> +lcdd7 = port:PD07<2><0> +lcdd8 = port:PD08<2><0> +lcdd9 = port:PD09<2><0> +lcdd10 = port:PD10<2><0> +lcdd11 = port:PD11<2><0> +lcdd12 = port:PD12<2><0> +lcdd13 = port:PD13<2><0> +lcdd14 = port:PD14<2><0> +lcdd15 = port:PD15<2><0> +lcdd16 = port:PD16<2><0> +lcdd17 = port:PD17<2><0> +lcdd18 = port:PD18<2><0> +lcdd19 = port:PD19<2><0> +lcdd20 = port:PD20<2><0> +lcdd21 = port:PD21<2><0> +lcd_pin_power = "vcc-pd" + +[lcd0_suspend] +lcdd0 = port:PD00<7><0> +lcdd1 = port:PD01<7><0> +lcdd2 = port:PD02<7><0> +lcdd3 = port:PD03<7><0> +lcdd4 = port:PD04<7><0> +lcdd5 = port:PD05<7><0> +lcdd6 = port:PD06<7><0> +lcdd7 = port:PD07<7><0> +lcdd8 = port:PD08<7><0> +lcdd9 = port:PD09<7><0> +lcdd10 = port:PD10<7><0> +lcdd11 = port:PD11<7><0> +lcdd12 = port:PD12<7><0> +lcdd13 = port:PD13<7><0> +lcdd14 = port:PD14<7><0> +lcdd15 = port:PD15<7><0> +lcdd16 = port:PD16<7><0> +lcdd17 = port:PD17<7><0> +lcdd18 = port:PD18<7><0> +lcdd19 = port:PD19<7><0> +lcdd20 = port:PD20<7><0> +lcdd21 = port:PD21<7><0> + +[hdmi] +hdmi_used = 1 +;hdmi_power = "vcc3v3-hdmi" +hdmi_hdcp_enable = 0 +hdmi_hdcp22_enable = 0 +hdmi_cts_compatibility = 0 +hdmi_cec_support = 1 +hdmi_cec_super_standby = 1 +hdmi_skip_bootedid = 1 +ddc_scl = port:PH8<2><1> +ddc_sda = port:PH9<2><1> +cec_io = port:PH10<2><1> + +ddc_en_io_ctrl = 1 +ddc_io_ctrl = port:PH02<1><0> +;---------------------------------------------------------------------------------- +;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 = 0 +dac_src0 = 0 +dac_type0 = 0 +interface = 1 + +;tv(ac200 cvbs) configuration +;tv_used 1 : enable this module. +;tv_module_name : the module name. +;tv_regulator_name : regutlate name of ac200 +;tv_twi_used 1 : use i2c to communitcate with slave-device ; other: not use i2c. +;tv_twi_id : the id-number of i2c-controler of host-device. +;tv_twi_addr : the i2c-address of slave-device. +;tv_clk_div : divide number of tcon_lcd clock +;ccir* : ac200 video pin inf +;---------------------------------------------------------------------------------- +[ac200] +tv_used = 1 +tv_module_name = "tv_ac200" +tv_twi_used = 1 +tv_twi_id = 3 +tv_twi_addr = 16 +tv_pwm_ch=1 +tv_clk_div=5 +tv_regulator_name="vcc-audio-33" + +ccir_clk = port:PB00<2><0> +ccir_de = port:PB01<2><0> +ccir_hs = port:PB02<2><0> +ccir_vs = port:PB03<2><0> +ccir_do0 = port:PB04<2><0> +ccir_do1 = port:PB05<2><0> +ccir_do2 = port:PB06<2><0> +ccir_do3 = port:PB07<2><0> +ccir_do4 = port:PB08<2><0> +ccir_do5 = port:PB09<2><0> +ccir_do6 = port:PB10<2><0> +ccir_do7 = port:PB11<2><0> + +;---------------------------------------------------------------------------------- +;for hotplug please do not suspend ccir_clk pin +;---------------------------------------------------------------------------------- +[ac200_suspend] +;ccir_clk = port:PB00<7><0> +ccir_de = port:PB01<7><0> +ccir_hs = port:PB02<7><0> +ccir_vs = port:PB03<7><0> +ccir_do0 = port:PB04<7><0> +ccir_do1 = port:PB05<7><0> +ccir_do2 = port:PB06<7><0> +ccir_do3 = port:PB07<7><0> +ccir_do4 = port:PB08<7><0> +ccir_do5 = port:PB09<7><0> +ccir_do6 = port:PB10<7><0> +ccir_do7 = port:PB11<7><0> +;---------------------------------------------------------------------------------- +;pwm config +;---------------------------------------------------------------------------------- +[pwm0] +pwm_used = 1 +pwm_positive = port:PD22<2><0> + +[pwm0_suspend] +pwm_positive = port:PD22<7><0> + +[pwm1] +pwm_used = 0 +pwm_positive = port:PB19<2><0> + +[pwm1_suspend] +pwm_positive = port:PB19<7><0> + + +[pwm16] +s_pwm0_used = 0 +pwm_positive = port:PL08<2><0> + +[pwm16_suspend] +pwm_positive = port:PL08<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 = 10 +output_format = 1 +output_bits = 0 +output_eotf = 4 +output_cs = 260 + +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:PD00<4> +csi0_mck = port:PD01<4><0><1><0> +csi0_hsync = port:PD02<4> +csi0_vsync = port:PD03<4> +csi0_d0 = port:PD04<4> +csi0_d1 = port:PD05<4> +csi0_d2 = port:PD06<4> +csi0_d3 = port:PD07<4> +csi0_d4 = port:PD08<4> +csi0_d5 = port:PD09<4> +csi0_d6 = port:PD10<4> +csi0_d7 = port:PD11<4> +csi0_sck = port:PD12<4> +csi0_sda = port:PD13<4> + +[csi0/csi0_dev0] +csi0_dev0_used = 0 +csi0_dev0_mname = "ov5640" +csi0_dev0_twi_addr = 0x78 +csi0_dev0_pos = "rear" +csi0_dev0_isp_used = 0 +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 = 0 +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" +ctl-spec-caps = 0x80 + + +[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 = +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:PC04<3><1><3> +sdc2_cmd = port:PC05<3><1><3> +sdc2_d0 = port:PC06<3><1><3> +sdc2_d1 = port:PC07<3><1><3> +sdc2_d2 = port:PC08<3><1><3> +sdc2_d3 = port:PC09<3><1><3> +sdc2_d4 = port:PC10<3><1><3> +sdc2_d5 = port:PC11<3><1><3> +sdc2_d6 = port:PC12<3><1><3> +sdc2_d7 = port:PC13<3><1><3> +sdc2_emmc_rst = port:PC14<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 = 3 +gpio_pin_1 = port:PL07<1><1> +gpio_pin_2 = port:PL04<1><0> +gpio_pin_3 = port:PD06<1><3><1> + +normal_led = "gpio_pin_2" +standby_led = "gpio_pin_1" +;network_led = +easy_light_used = 1 +normal_led_light = 1 +standby_led_light = 1 +;network_led_light = 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 = +usb_det_vbus_gpio = +usb_drv_vbus_gpio = port:PL05<1><0><1> +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 = port:PL05<1><0><1> +usb_host_init_state = 1 +usb_regulator_io = "nocare" +usb_wakeup_suspend = 0 + +;-------------------------------- +;--- USB2 CONFIG +;-------------------------------- +[usbc2] +usbc2_used = 0 +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 +wlan_power1 = "vcc-wifi1" +wlan_power2 = "vcc-wifi2" +wlan_io_regulator = "vcc-wifi-io" +wlan_en = port:PL08<1><0> +wlan_regon = port:PM03<1><0> +wlan_hostwake = port:PM00<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:PM04<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_hostwake_enable = 0 +bt_wake = port:PM02<1><1> +bt_hostwake = port:PM01<6><0> + +;-------------------------------------------------------------------------------- +;addr_mgt_used address manager used (0 - not used, 1 - used) +;type_addr_wifi 0: any, 1: burn, 2: gen by chipID, 3: user write, other: disable +;type_addr_bt 0: any, 1: burn, 2: gen by chipID, 3: user write, other: disable +;type_addr_eth 0: any, 1: burn, 2: gen by chipID, 3: user write, other: disable +;-------------------------------------------------------------------------------- +[addr_mgt] +compatible = "allwinner,sunxi-addr_mgt" +addr_mgt_used = 1 +type_addr_wifi = 0 +type_addr_bt = 0 +type_addr_eth = 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 = 1 +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 = 1 +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 = 1 +lsm9ds0 = 1 +lsm303d = 0 +akm8963 = 1 + +;-------------------------------------------------------------------------------- +; NOTE :Make sure dmic_used = 0x1, +; snddmic_used = 0x1, if register the sound card dmic. +;--------------------------------------------------------------------------------- +[dmic] +dmic_used = 0 +[snddmic] +snddmic_used = 0 + +;-------------------------------------------------------------------------------- +; 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 audiohdmi_used = 0x1, +; sndhdmi_used = 0x1, if register the sound card hdmi. Daudio1 used for HDMI +;--------------------------------------------------------------------------------- +[audiohdmi] +audiohdmi_used = 1 +[sndhdmi] +sndhdmi_used = 1 +;--------------------------------------------------------------------------------- +;allwinner,pcm_lrck_period : 16/32/64/128/256 +;allwinner,slot_width_select : 16bits/20bits/24bits/32bits +;allwinner,daudio_master : 1: SND_SOC_DAIFMT_CBM_CFM(codec clk & FRM master) +; 2: SND_SOC_DAIFMT_CBS_CFM(codec clk slave & FRM master) allwinner not use +; 3: SND_SOC_DAIFMT_CBM_CFS(codec clk master & frame slave) allwinner not use +; 4: SND_SOC_DAIFMT_CBS_CFS(codec clk & FRM slave) +;allwinner,audio_format : 1: SND_SOC_DAIFMT_I2S(standard i2s format). +; 2: SND_SOC_DAIFMT_RIGHT_J(right justfied format). +; 3: SND_SOC_DAIFMT_LEFT_J(left justfied format). +; 4: SND_SOC_DAIFMT_DSP_A(MSB available on 2nd BCLK rising edge after LRCK rising). +; 5: SND_SOC_DAIFMT_DSP_B(MSB available on 1nd BCLK rising edge after LRC rising). +;allwinner,signal_inversion : 1: SND_SOC_DAIFMT_NB_NF(normal bit clock + frame) +; 2: SND_SOC_DAIFMT_NB_IF(normal BCLK + inv FRM) +; 3: SND_SOC_DAIFMT_IB_NF(invert BCLK + nor FRM) +; 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 sndhub_used = 0x1, +; ahub_daudio0_used = 0x1, if register the sound card AHUB DAUDIO0. +;-------------------------------------------------------------------------------- +[sndahub] +sndahub_used = 1 + +;----------------------------------------------------------------------------- +[ahub_daudio0] +slot_width_select = 0x20 +daudio_master = 0x04 +audio_format = 0x01 +signal_inversion = 0x01 +frametype = 0x00 +tdm_config = 0x01 +mclk_div = 0x00 +ahub_daudio0_used = 1 + +;----------------------------------------------------------------------------- +[ahub_daudio1] +pcm_lrck_period = 0x20 +slot_width_select = 0x20 +daudio_master = 0x04 +audio_format = 0x01 +signal_inversion = 0x01 +frametype = 0x00 +tdm_config = 0x01 +mclk_div = 0x01 +ahub_daudio1_used = 1 + +;----------------------------------------------------------------------------- +[ahub_daudio2] +pcm_lrck_period = 0x20 +slot_width_select = 0x20 +daudio_master = 0x04 +audio_format = 0x01 +signal_inversion = 0x01 +frametype = 0x00 +tdm_config = 0x01 +mclk_div = 0x01 +ahub_daudio2_used = 1 + +;----------------------------------------------------------------------------- +[ahub_daudio3] +pcm_lrck_period = 0x20 +slot_width_select = 0x20 +daudio_master = 0x04 +audio_format = 0x01 +signal_inversion = 0x01 +frametype = 0x00 +tdm_config = 0x01 +mclk_div = 0x04 +ahub_daudio3_used = 1 + +;-------------------------------------------------------------------------------- +; NOTE :Make sure snddaudio0_used = 0x1, +; daudio0_used = 0x1, if register the sound card DAUDIO0. +;-------------------------------------------------------------------------------- +[snddaudio0] +snddaudio0_used = 1 +;----------------------------------------------------------------------------- +[daudio0] +pcm_lrck_period = 0x20 +slot_width_select = 0x20 +daudio_master = 0x04 +audio_format = 0x01 +signal_inversion = 0x01 +frametype = 0x00 +tdm_config = 0x01 +mclk_div = 0x00 +daudio0_used = 1 + +;-------------------------------------------------------------------------------- +; NOTE :Make sure snddaudio2_used = 0x1, +; daudio2_used = 0x1, if register the sound card DAUDIO2. +;-------------------------------------------------------------------------------- +[snddaudio2] +snddaudio2_used = 0 +;----------------------------------------------------------------------------- +[daudio2] +pcm_lrck_period = 0x40 +slot_width_select = 0x20 +daudio_master = 0x04 +audio_format = 0x04 +signal_inversion = 0x03 +frametype = 0x00 +tdm_config = 0x01 +mclk_div = 0x01 +daudio2_used = 0 + +;-------------------------------------------------------------------------------- +; NOTE :Make sure snddaudio3_used = 0x1, +; daudio3_used = 0x1, if register the Daudio3 used for ACX00 codec card +;-------------------------------------------------------------------------------- +[snddaudio3] +snddaudio3_used = 1 +;----------------------------------------------------------------------------- +[daudio3] +pcm_lrck_period = 0x20 +slot_width_select = 0x20 +daudio_master = 0x04 +audio_format = 0x01 +signal_inversion = 0x01 +frametype = 0x00 +tdm_config = 0x01 +mclk_div = 0x01 +daudio3_used = 1 + +;-------------------------------------------------------------------------------- +; NOTE :Make sure ac200_codec = 0x1, +; if register the acx00-codec running for audio output +;-------------------------------------------------------------------------------- +[ac200_codec] +ac200_codec_used = 1 +gpio-spk = port:PL06<1><1> + +;-------------------------------------------------------------------------------- +;ir --- infra remote configuration +;ir_protocol_used : 0 = NEC / 1 = RC5 +;-------------------------------------------------------------------------------- +[s_cir0] +s_cir0_used = 1 +ir_protocol_used = 0 +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 = 0x18 +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 +ir_power_key_code16 = 0xdc +ir_addr_code16 = 0x4cb3 +ir_power_key_code17 = 0xdc +ir_addr_code17 = 0x4db2 +ir_power_key_code18 = 0x96 +ir_addr_code18 = 0xc43b +ir_power_key_code19 = 0xdc +ir_addr_code19 = 0x4cb3 +ir_power_key_code20 = 0x0c +ir_addr_code20 = 0x6b86 + + +rc5_ir_power_key_code0 = 0x01 +rc5_ir_addr_code0 = 0x04 + +;-------------------------------------------------------------------------------------------------------- +;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 = "axp806" +used = 1 +pmu_id = 3 +pmu_irq_wakeup = 1 +pmu_hot_shutdown = 1 + +;-------------------------------------------------------------------------------------------------------- +;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 ---powerkey0 name, support:axp806-powerkey +;pmu_powkey_off_time ---set pek off time,ms, 4000/6000/8000/10000 +;pmu_powkey_off_func ---set pek off func, 0:shutdown,1:restart +;pmu_powkey_off_en ---set pek offlevel powerdown or not, 0:not powerdown,1:powerdown +;pmu_powkey_long_time ---set pek pek long irq time,ms,1000/1500/2000/2500 +;pmu_powkey_on_time ---set pek on time,ms,128/1000/2000/3000 +;-------------------------------------------------------------------------------------------------------- +[powerkey0] +compatible = "axp806-powerkey" +pmu_powkey_off_time = 6000 +pmu_powkey_off_func = 0 +pmu_powkey_off_en = 1 +pmu_powkey_long_time = 1500 +pmu_powkey_on_time = 1000 + +;-------------------------------------------------------------------------------------------------------- +;compatible ---regulator0 name, support:axpdummy-regulator +;regulator_count ---pmu ldo count, changed with different pmu +;regulator(1~regulator_count) ---ldo details +;-------------------------------------------------------------------------------------------------------- +[regulator0] +compatible = "axp806-regulator" +regulator_count = 16 +regulator1 = "axp806_dcdca none vdd-cpua" +regulator2 = "axp806_dcdcb none" +regulator3 = "axp806_dcdcc none vdd-gpu" +regulator4 = "axp806_dcdcd none vdd-sys vdd-hdmi vdd-pcie vdd-usb" +regulator5 = "axp806_dcdce none vcc-dram" +regulator6 = "axp806_aldo1 none vcc-pl vcc-led vcc-ir vcc-pg vcc-pm vcc-ts" +regulator7 = "axp806_aldo2 none ac-ldoin vcc-audio-33 vcc-ephy usb-dvdd vcc-tv" +regulator8 = "axp806_aldo3 none vcc-pcie-slot" +regulator9 = "axp806_bldo1 none vdd-dram-18 vdd-bias vcc-pll" +regulator10 = "axp806_bldo2 none vcc-emmc-18 vdd-efuse vcc-pcie vcc-hdmi vcc-emmcvq18" +regulator11 = "axp806_bldo3 none vcc-wifi-io" +regulator12 = "axp806_bldo4 none" +regulator13 = "axp806_cldo1 none vcc-io vcc-nand vcc-card vcc-pd vcc-usb vcc-uart vcc-jtagx vcc-emmc-33 vcc-camera-33 vcc-emmcv vcc-sdcv vcc-sdcvq33 vcc-sdcvd" +regulator14 = "axp806_cldo2 none vcc-wifi1" +regulator15 = "axp806_cldo3 none vcc-wifi2" +regulator16 = "axp806_sw none" + + +;---------------------------------------------------------------------------------- +; 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 +; +; cpu dvfs driver will choose dvfs_table_x according to different cpu +; +;---------------------------------------------------------------------------------- +[dvfs_table_0] +max_freq = 1800000000 +min_freq = 480000000 + +lv_count = 8 +lv1_freq = 1800000000 +lv1_volt = 1160 + +lv2_freq = 1488000000 +lv2_volt = 1060 + +lv3_freq = 1320000000 +lv3_volt = 1000 + +lv4_freq = 1080000000 +lv4_volt = 940 + +lv5_freq = 888000000 +lv5_volt = 880 + +lv6_freq = 0 +lv6_volt = 880 + +lv7_freq = 0 +lv7_volt = 880 + +lv8_freq = 0 +lv8_volt = 880 + +[dvfs_table_1] +max_freq = 1800000000 +min_freq = 480000000 + +lv_count = 8 +lv1_freq = 1800000000 +lv1_volt = 1100 + +lv2_freq = 1488000000 +lv2_volt = 1000 + +lv3_freq = 1320000000 +lv3_volt = 940 + +lv4_freq = 1080000000 +lv4_volt = 880 + +lv5_freq = 888000000 +lv5_volt = 820 + +lv6_freq = 0 +lv6_volt = 820 + +lv7_freq = 0 +lv7_volt = 820 + +lv8_freq = 0 +lv8_volt = 820 + +[dvfs_table_2] +max_freq = 1800000000 +min_freq = 480000000 + +lv_count = 8 +lv1_freq = 1800000000 +lv1_volt = 1060 + +lv2_freq = 1488000000 +lv2_volt = 960 + +lv3_freq = 1320000000 +lv3_volt = 900 + +lv4_freq = 1080000000 +lv4_volt = 840 + +lv5_freq = 888000000 +lv5_volt = 800 + +lv6_freq = 0 +lv6_volt = 800 + +lv7_freq = 0 +lv7_volt = 800 + +lv8_freq = 0 +lv8_volt = 800 + +;---------------------------------------------------------------------------------- +;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 = 0 +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:PH09<5><1><2> +Vdevice_1 = port:PH10<5><1><2> + +;---------------------------------------------------------------------------------- +;GPU parameters +;gpu_idle : GPU idle, if this is enabled, GPU will be powered off when it is idle. +;dvfs_status : dvfs status, if this is enabled, GPU DVFS will work. Actually, GPU +; DVFS functionality depends on some kernel features such as devfreq. +;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_normal_level : restrict the level for normal mode. +;---------------------------------------------------------------------------------- +[gpu] +gpu_idle = 0 +dvfs_status = 1 +temp_ctrl_status = 1 +scene_ctrl_status = 1 +max_normal_level = 13 + +;--------------------------------------------------------------------------------- +; 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 = 1 + +;--------------------------------------------------------------------------------- +; 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:PL07<1><1> +gpio1 = port:PL04<1><0> + +;-------------------------------------------------------------------------------- +;gpio power key +;key_io:the config of PL/PM pin. +;trigger_mode: low-level trigger :0 high-level trigger:1 +; +;For example: if key_io is PL04, then the key_index must be 4. +;-------------------------------------------------------------------------------- +[gpio_power_key] +compatible = "allwinner,sunxi-gpio-power-key" +device_type = "gpio_power_key" +gpio_power_key_used = 0 +key_io = port:PL05<0><0> +trigger_mode = 1 + +[auto_print] +auto_print_used = 0 diff --git a/external/packages/pack-uboot/sun50iw6/tools/dragonsecboot b/external/packages/pack-uboot/sun50iw6/tools/dragonsecboot index 70a3634..d07c312 100755 Binary files a/external/packages/pack-uboot/sun50iw6/tools/dragonsecboot and b/external/packages/pack-uboot/sun50iw6/tools/dragonsecboot differ diff --git a/external/packages/pack-uboot/sun50iw6/tools/dtc b/external/packages/pack-uboot/sun50iw6/tools/dtc new file mode 100755 index 0000000..c8a54b1 Binary files /dev/null and b/external/packages/pack-uboot/sun50iw6/tools/dtc differ diff --git a/external/packages/pack-uboot/sun50iw6/tools/dtc_alph b/external/packages/pack-uboot/sun50iw6/tools/dtc_alph deleted file mode 100755 index 486de0e..0000000 Binary files a/external/packages/pack-uboot/sun50iw6/tools/dtc_alph and /dev/null differ diff --git a/external/packages/pack-uboot/sun50iw6/tools/script b/external/packages/pack-uboot/sun50iw6/tools/script index 67b05e4..d090d68 100755 Binary files a/external/packages/pack-uboot/sun50iw6/tools/script and b/external/packages/pack-uboot/sun50iw6/tools/script differ diff --git a/external/packages/pack-uboot/sun50iw6/tools/update_boot0 b/external/packages/pack-uboot/sun50iw6/tools/update_boot0 index 0114d80..f02d227 100755 Binary files a/external/packages/pack-uboot/sun50iw6/tools/update_boot0 and b/external/packages/pack-uboot/sun50iw6/tools/update_boot0 differ diff --git a/external/packages/pack-uboot/sun50iw6/tools/update_dtb b/external/packages/pack-uboot/sun50iw6/tools/update_dtb new file mode 100755 index 0000000..e548339 Binary files /dev/null and b/external/packages/pack-uboot/sun50iw6/tools/update_dtb differ diff --git a/external/packages/pack-uboot/sun50iw6/tools/update_scp b/external/packages/pack-uboot/sun50iw6/tools/update_scp index d9abba3..c65bc42 100755 Binary files a/external/packages/pack-uboot/sun50iw6/tools/update_scp and b/external/packages/pack-uboot/sun50iw6/tools/update_scp differ diff --git a/external/packages/pack-uboot/sun50iw6/tools/update_uboot b/external/packages/pack-uboot/sun50iw6/tools/update_uboot index bd48349..29e2abc 100755 Binary files a/external/packages/pack-uboot/sun50iw6/tools/update_uboot and b/external/packages/pack-uboot/sun50iw6/tools/update_uboot differ diff --git a/external/packages/pack-uboot/sun50iw6/tools/update_uboot_fdt b/external/packages/pack-uboot/sun50iw6/tools/update_uboot_fdt index 1322c7b..54def35 100755 Binary files a/external/packages/pack-uboot/sun50iw6/tools/update_uboot_fdt and b/external/packages/pack-uboot/sun50iw6/tools/update_uboot_fdt differ diff --git a/external/packages/pack-uboot/sun50iw6/tools/update_uboot_v2 b/external/packages/pack-uboot/sun50iw6/tools/update_uboot_v2 deleted file mode 100755 index 00d6ebb..0000000 Binary files a/external/packages/pack-uboot/sun50iw6/tools/update_uboot_v2 and /dev/null differ diff --git a/external/packages/pack-uboot/sun50iw9/bin/orangepizero2-u-boot.dts b/external/packages/pack-uboot/sun50iw9/bin/dts/orangepizero2-u-boot.dts similarity index 100% rename from external/packages/pack-uboot/sun50iw9/bin/orangepizero2-u-boot.dts rename to external/packages/pack-uboot/sun50iw9/bin/dts/orangepizero2-u-boot.dts diff --git a/external/packages/pack-uboot/sun50iw9/bin/sys_config.fex b/external/packages/pack-uboot/sun50iw9/bin/sys_config/sys_config_orangepizero2.fex similarity index 100% rename from external/packages/pack-uboot/sun50iw9/bin/sys_config.fex rename to external/packages/pack-uboot/sun50iw9/bin/sys_config/sys_config_orangepizero2.fex diff --git a/scripts/compilation.sh b/scripts/compilation.sh index 1e2c579..1f71b0a 100755 --- a/scripts/compilation.sh +++ b/scripts/compilation.sh @@ -241,7 +241,7 @@ compile_uboot() if [[ $PACK_UBOOT == "yes" ]];then pack_uboot cp ${SRC}/.tmp/packout/{boot0_sdcard.fex,boot_package.fex} "${SRC}/.tmp/${uboot_name}/usr/lib/${uboot_name}/" - cp ${SRC}/.tmp/packout/${BOARD}-u-boot.dts "${SRC}/.tmp/${uboot_name}/usr/lib/u-boot/" + cp ${SRC}/.tmp/packout/dts/${BOARD}-u-boot.dts "${SRC}/.tmp/${uboot_name}/usr/lib/u-boot/" cd "${ubootdir}" || exit fi diff --git a/scripts/pack-uboot.sh b/scripts/pack-uboot.sh index 911c449..bc8d4cf 100755 --- a/scripts/pack-uboot.sh +++ b/scripts/pack-uboot.sh @@ -4,121 +4,49 @@ function do_prepare() { - if [[ $BOARDFAMILY == "sun50iw6" ]]; then - - configs_file_list=( - ${FILE}/*.fex - ${FILE}/boot_package.cfg - ) - - boot_file_list=( - ${BOOTDIR}/boot0_sdcard_${CHIP}.bin:${PACK_OUT}/boot0_sdcard.fex - ${BOOTDIR}/u-boot-${CHIP}.bin:${PACK_OUT}/u-boot.fex - ${FILE}/scp.bin:${PACK_OUT}/scp.fex - ${FILE}/bl31.bin:${PACK_OUT}/monitor.fex - ${SYS_CONFIG}:${PACK_OUT}/sys_config.fex - ) - - for file in ${configs_file_list[@]} ; do - cp -f $file ${PACK_OUT}/ 2> /dev/null - done - - for file in ${boot_file_list[@]} ; do - cp -rf `echo $file | awk -F: '{print $1}'` \ - `echo $file | awk -F: '{print $2}'` 2>/dev/null - done - - else - export PATH=$EXTER/packages/pack-uboot/${BOARDFAMILY}/tools/:$PATH - - cp ${EXTER}/packages/pack-uboot/${BOARDFAMILY}/bin/* . - cp ${BOOTSOURCEDIR}/u-boot.bin u-boot.fex - [[ $BOARDFAMILY != sun50iw9 ]] && cp ${BOOTSOURCEDIR}/boot0_sdcard.bin boot0_sdcard.fex - - fi + cp ${EXTER}/packages/pack-uboot/${BOARDFAMILY}/bin/* . -r + cp sys_config/sys_config_${BOARD}.fex sys_config.fex } function do_ini_to_dts() { - if [[ $BOARDFAMILY == "sun50iw6" ]]; then + if [[ $BOARDFAMILY =~ sun50iw6|sun50iw9 ]]; then - local DTC_SRC_PATH=${LINUXSOURCEDIR}/arch/${ARCHITECTURE}/boot/dts/sunxi/ - local DTC_INI_FILE_BASE=${SYS_CONFIG} - local DTC_INI_FILE=${DEST}/sys_config_fix.fex + local DTC_COMPILER=$EXTER/packages/pack-uboot/${BOARDFAMILY}/tools/dtc + [[ ! -f $DTC_COMPILER ]] && exit_with_error "Script_to_dts: Can not find dtc compiler." + #Disbale noisy checks + local DTC_FLAGS="-W no-unit_address_vs_reg" - cp $DTC_INI_FILE_BASE $DTC_INI_FILE - sed -i "s/\(\[dram\)_para\(\]\)/\1\2/g" $DTC_INI_FILE - sed -i "s/\(\[nand[0-9]\)_para\(\]\)/\1\2/g" $DTC_INI_FILE - DTC_SRC_FILE=${EXTER}/chips/${CHIP}/pack/bin/dtc_src_file + $DTC_COMPILER -p 2048 ${DTC_FLAGS} -@ -O dtb -o ${BOARD}-u-boot.dtb -b 0 dts/${BOARD}-u-boot.dts >/dev/null 2>&1 - dtc_alph -O dtb -o ${DEST}/sunxi.dtb \ - -b 0 \ - -i $DTC_SRC_PATH \ - -F $DTC_INI_FILE \ - $DTC_SRC_FILE 1>/dev/null 2>&1 - if [ $? -ne 0 ]; then - pack_error "Conver script to dts failed" - exit 1 - fi - - else - - local DTC_COMPILER=$EXTER/packages/pack-uboot/${BOARDFAMILY}/tools/dtc - - [[ ! -f $DTC_COMPILER ]] && exit_with_error "Script_to_dts: Can not find dtc compiler." - - $DTC_COMPILER -p 2048 -W no-unit_address_vs_reg -@ -O dtb -o ${BOARD}-u-boot.dtb -b 0 ${BOARD}-u-boot.dts - - [[ $? -ne 0 ]] && exit_with_error "Conver script to dts failed." - - # It'is used for debug dtb - $DTC_COMPILER -W no-unit_address_vs_reg -I dtb -O dts -o .${BOARD}-u-boot.dts ${BOARD}-u-boot.dtb 1>/dev/null 2>&1 + [[ $? -ne 0 ]] && exit_with_error "dtb: Conver script to dts failed." + # It'is used for debug dtb + $DTC_COMPILER ${DTC_FLAGS} -I dtb -O dts -o .${BOARD}-u-boot.dts ${BOARD}-u-boot.dtb >/dev/null 2>&1 fi } function do_common() { - if [[ $BOARDFAMILY == "sun50iw9" ]]; then - - busybox unix2dos sys_config.fex - script sys_config.fex > /dev/null - - cp ${PACKOUT_DIR}/${BOARD}-u-boot.dtb sunxi.fex - update_dtb sunxi.fex 4096 - - update_boot0 boot0_sdcard.fex sys_config.bin SDMMC_CARD > /dev/null - update_uboot -no_merge u-boot.fex sys_config.bin > /dev/null - - [[ $? -ne 0 ]] && exit_with_error "update u-boot run error" - - #pack boot package - busybox unix2dos boot_package.cfg - dragonsecboot -pack boot_package.cfg > /dev/null - - [[ $? -ne 0 ]] && exit_with_error "dragon pack error" - else - - unix2dos sys_config.fex 2>/dev/null - script sys_config.fex > /dev/null - cp sys_config.bin config.fex 2>/dev/null - - cp ${DEST}/sunxi.dtb sunxi.fex - update_uboot_fdt u-boot.fex sunxi.fex u-boot.fex >/dev/null - update_scp scp.fex sunxi.fex >/dev/null - - # Those files for Nand or Card - update_boot0 boot0_sdcard.fex sys_config.bin SDMMC_CARD > /dev/null - update_uboot u-boot.fex sys_config.bin > /dev/null - - unix2dos boot_package.cfg 2>/dev/null - dragonsecboot -pack boot_package.cfg 1>/dev/null 2>&1 - - #Here, will check if need to used multi config.fex or not - update_uboot_v2 u-boot.fex sys_config.bin ${LINUXFAMILY} 1>/dev/null 2>&1 - + busybox unix2dos sys_config.fex + script sys_config.fex >/dev/null + cp ${PACKOUT_DIR}/${BOARD}-u-boot.dtb sunxi.fex + update_dtb sunxi.fex 4096 >/dev/null + + if [[ $BOARDFAMILY == "sun50iw6" ]]; then + cp -f sys_config.bin config.fex + update_scp scp.fex sunxi.fex > /dev/null 2>&1 fi + + update_boot0 boot0_sdcard.fex sys_config.bin SDMMC_CARD > /dev/null + update_uboot -no_merge u-boot.fex sys_config.bin > /dev/null + [[ $? -ne 0 ]] && exit_with_error "update u-boot run error" + + #pack boot package + busybox unix2dos boot_package.cfg + dragonsecboot -pack boot_package.cfg > /dev/null + [[ $? -ne 0 ]] && exit_with_error "dragon pack error" } do_pack_a64() @@ -127,25 +55,25 @@ do_pack_a64() cp -avf $BOOTDIR/u-boot-sun50iw1p1.bin ${PACK_OUT}/u-boot.bin > /dev/null # Build binary device tree - dtc -Odtb -o A64.dtb A64.dts 1>/dev/null 2>&1 + dtc -Odtb -o A64.dtb A64.dts >/dev/null 2>&1 # Build sys_config.bin - unix2dos sys_config.fex 1>/dev/null 2>&1 - script sys_config.fex 1>/dev/null 2>&1 + unix2dos sys_config.fex >/dev/null 2>&1 + script sys_config.fex >/dev/null 2>&1 # Merge u-boot.bin infile outfile mode [secmonitor | secos | scp] - merge_uboot u-boot.bin bl31.bin u-boot-merged.bin secmonitor 1>/dev/null 2>&1 - merge_uboot u-boot-merged.bin scp.bin u-boot-merged2.bin scp 1>/dev/null 2>&1 + merge_uboot u-boot.bin bl31.bin u-boot-merged.bin secmonitor >/dev/null 2>&1 + merge_uboot u-boot-merged.bin scp.bin u-boot-merged2.bin scp >/dev/null 2>&1 # Merge uboot and dtb - update_uboot_fdt u-boot-merged2.bin A64.dtb u-boot-with-dtb.bin 1>/dev/null 2>&1 + update_uboot_fdt u-boot-merged2.bin A64.dtb u-boot-with-dtb.bin >/dev/null 2>&1 # Merge uboot and sys_config.fex - update_uboot u-boot-with-dtb.bin sys_config.bin 1>/dev/null 2>&1 + update_uboot u-boot-with-dtb.bin sys_config.bin >/dev/null 2>&1 - cp ${PACK_OUT}/boot0.bin ${UBOOT_BIN}/boot0_sdcard_${CHIP}.bin 1>/dev/null 2>&1 - cp ${PACK_OUT}/u-boot-with-dtb.bin ${UBOOT_BIN}/u-boot-${CHIP}.bin 1>/dev/null 2>&1 - cp ${PACK_OUT}/A64.dtb ${UBOOT_BIN}/ 1>/dev/null 2>&1 + cp ${PACK_OUT}/boot0.bin ${UBOOT_BIN}/boot0_sdcard_${CHIP}.bin >/dev/null 2>&1 + cp ${PACK_OUT}/u-boot-with-dtb.bin ${UBOOT_BIN}/u-boot-${CHIP}.bin >/dev/null 2>&1 + cp ${PACK_OUT}/A64.dtb ${UBOOT_BIN}/ >/dev/null 2>&1 } do_pack_h3() @@ -156,21 +84,18 @@ do_pack_h3() cp $SYS_CONFIG ${PACK_OUT}/sys_config.fex fex2bin sys_config.fex sys_config.bin - update_boot0 boot0_sdcard_${CHIP}.bin sys_config.bin SDMMC_CARD 1>/dev/null 2>&1 - update_uboot u-boot-${CHIP}.bin sys_config.bin 1>/dev/null 2>&1 + update_boot0 boot0_sdcard_${CHIP}.bin sys_config.bin SDMMC_CARD >/dev/null 2>&1 + update_uboot u-boot-${CHIP}.bin sys_config.bin >/dev/null 2>&1 cp boot0_sdcard_${CHIP}.bin $UBOOT_BIN/boot0_sdcard_${CHIP}.bin cp u-boot-${CHIP}.bin $UBOOT_BIN/u-boot-${CHIP}.bin cp sys_config.bin $UBOOT_BIN/script.bin_${BOARD} - cp sys_config.bin $EXTER/chips/${CHIP}/script/script.bin_${BOARD} + cp sys_config.bin $EXTER/chips/${CHIP}/script/script.bin_${BOARD} } pack_uboot() { PACKOUT_DIR=$SRC/.tmp/packout - - rm -rf ${PACKOUT_DIR} - mkdir -p ${PACKOUT_DIR} cd ${PACKOUT_DIR} do_prepare