<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[有没有哪位大神在D1S上跑过ov5640或者其他sensor的，走DVP-CSI]]></title><description><![CDATA[<p dir="auto">最近想外接摄像头，不用内部TVD，想尝试下ov5640或者N5，因为D1S上没有mipi，所以只能走DVP，哪位大神有做出来的么？</p>
]]></description><link>https://bbs.aw-ol.com/topic/1131/有没有哪位大神在d1s上跑过ov5640或者其他sensor的-走dvp-csi</link><generator>RSS for Node</generator><lastBuildDate>Sun, 19 Apr 2026 10:51:23 GMT</lastBuildDate><atom:link href="https://bbs.aw-ol.com/topic/1131.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 08 Mar 2022 01:33:31 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to 有没有哪位大神在D1S上跑过ov5640或者其他sensor的，走DVP-CSI on Sat, 08 Oct 2022 14:40:15 GMT]]></title><description><![CDATA[<p dir="auto">解决了，是因为没走I2C。需要在kernel_menuconfig里把sunxi platform devices下将select cci or cci to twi选项换为twi。</p>
]]></description><link>https://bbs.aw-ol.com/post/10961</link><guid isPermaLink="true">https://bbs.aw-ol.com/post/10961</guid><dc:creator><![CDATA[shb3014]]></dc:creator><pubDate>Sat, 08 Oct 2022 14:40:15 GMT</pubDate></item><item><title><![CDATA[Reply to 有没有哪位大神在D1S上跑过ov5640或者其他sensor的，走DVP-CSI on Fri, 07 Oct 2022 04:21:47 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://bbs.aw-ol.com/uid/914">@honey130602</a> 您好，想请教一下，我也在D1S上适配OV5640，但有如下报错：</p>
<pre><code>root@TinaLinux:/# insmod /lib/modules/5.4.61/vin_v4l2.ko
vin_csi 5801000.csi: Adding to iommu group 0
sunxi-vin-core 5809000.vinc: Adding to iommu group 0
sunxi-vin-core 5809200.vinc: Adding to iommu group 0
sun8iw20-pinctrl 2000000.pinctrl: pin PE8 already requested by 5801000.csi; cannot claim for 2000000.pinctrl:136
sun8iw20-pinctrl 2000000.pinctrl: pin-136 (2000000.pinctrl:136) status -22
sun8iw20-pinctrl 2000000.pinctrl: pin PE9 already requested by 5801000.csi; cannot claim for 2000000.pinctrl:137
sun8iw20-pinctrl 2000000.pinctrl: pin-137 (2000000.pinctrl:137) status -22
sun8iw20-pinctrl 2000000.pinctrl: pin PE6 already requested by 5801000.csi; cannot claim for 2000000.pinctrl:134
sun8iw20-pinctrl 2000000.pinctrl: pin-134 (2000000.pinctrl:134) status -22
sun8iw20-pinctrl 2000000.pinctrl: pin PE7 already requested by 5801000.csi; cannot claim for 2000000.pinctrl:135
sun8iw20-pinctrl 2000000.pinctrl: pin-135 (2000000.pinctrl:135) status -22
[VIN_WARN]get csi isp clk fail
[VIN_WARN]get csi isp src clk fail
[VIN_WARN]get csi mipi clk fail
[VIN_WARN]get csi mipi src clk fail
[VIN_WARN]get csi isp clk fail
[VIN_WARN]Get isp reset control fail
[ov5640]PWR_ON!
[VIN_ERR]cci is NULL!
[VIN_DEV_CCI]ov5640 sensor read retry = 2
[VIN_DEV_CCI]ov5640 sensor read retry = 2
[ov5640]V4L2_IDENT_SENSOR = 4b
[VIN_DEV_CCI]ov5640 sensor read retry = 2
[VIN_DEV_CCI]ov5640 sensor read retry = 2
[ov5640]retry = 0, V4L2_IDENT_SENSOR = 44b
[VIN_DEV_CCI]ov5640 sensor read retry = 2
[VIN_DEV_CCI]ov5640 sensor read retry = 2
[ov5640]retry = 1, V4L2_IDENT_SENSOR = 44b
[VIN_DEV_CCI]ov5640 sensor read retry = 2
[VIN_DEV_CCI]ov5640 sensor read retry = 2
[ov5640]retry = 2, V4L2_IDENT_SENSOR = 44b
[VIN_DEV_CCI]ov5640 sensor read retry = 2
[VIN_DEV_CCI]ov5640 sensor read retry = 2
[ov5640]retry = 3, V4L2_IDENT_SENSOR = 44b
[VIN_DEV_CCI]ov5640 sensor read retry = 2
[VIN_DEV_CCI]ov5640 sensor read retry = 2
[ov5640]retry = 4, V4L2_IDENT_SENSOR = 44b
[ov5640] error, chip found is not an target chip.
[ov5640]PWR_OFF!
[VIN_ERR]cci is NULL!
[VIN_ERR]registering ov5647, No such device!
</code></pre>
<p dir="auto">我看这里V4L2_IDENT_SENSOR是44b，这个意思是有检测到设备但不匹配吗？我这边看摄像头确实是ov5640。</p>
<p dir="auto">另外这里面的几个VIN_WARN和提示的pin脚冲突时可以忽略的吗？</p>
<p dir="auto">感谢。</p>
]]></description><link>https://bbs.aw-ol.com/post/10928</link><guid isPermaLink="true">https://bbs.aw-ol.com/post/10928</guid><dc:creator><![CDATA[shb3014]]></dc:creator><pubDate>Fri, 07 Oct 2022 04:21:47 GMT</pubDate></item><item><title><![CDATA[Reply to 有没有哪位大神在D1S上跑过ov5640或者其他sensor的，走DVP-CSI on Thu, 10 Mar 2022 08:22:27 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://bbs.aw-ol.com/uid/129">@tigger</a> 嗯嗯，谢谢，确实已经包含啦！！！</p>
]]></description><link>https://bbs.aw-ol.com/post/4923</link><guid isPermaLink="true">https://bbs.aw-ol.com/post/4923</guid><dc:creator><![CDATA[Honey130602]]></dc:creator><pubDate>Thu, 10 Mar 2022 08:22:27 GMT</pubDate></item><item><title><![CDATA[Reply to 有没有哪位大神在D1S上跑过ov5640或者其他sensor的，走DVP-CSI on Tue, 08 Mar 2022 06:02:33 GMT]]></title><description><![CDATA[<p dir="auto">lichee/linux-5.4/arch/riscv/boot/dts/sunxi/sun20iw1p1.dtsi</p>
<pre><code>/*
 * Allwinner Technology CO., Ltd. sun20iw1p1 platform.
 *
 */

/memreserve/ 0x40000000 0x200000;  /* opensbi */

/memreserve/ 0x42000000 0x100000;  /* dsp used 1MB */

#include &lt;dt-bindings/clock/sun8iw20-ccu.h&gt;
#include &lt;dt-bindings/clock/sun8iw20-r-ccu.h&gt;
#include &lt;dt-bindings/clock/sun8iw20-rtc.h&gt;
#include &lt;dt-bindings/reset/sun8iw20-ccu.h&gt;
#include &lt;dt-bindings/reset/sun8iw20-r-ccu.h&gt;
#include &lt;dt-bindings/gpio/gpio.h&gt;
#include &lt;dt-bindings/interrupt-controller/irq.h&gt;
#include &lt;dt-bindings/gpio/sun4i-gpio.h&gt;
#include &lt;dt-bindings/thermal/thermal.h&gt;

/ {
        model = "sun20iw1p1";
        compatible = "allwinner,sun20iw1p1";
        #address-cells = &lt;2&gt;;
        #size-cells = &lt;2&gt;;

        aliases {
                serial0 = &amp;uart0;
                serial1 = &amp;uart1;
                serial2 = &amp;uart2;
                serial3 = &amp;uart3;
                serial4 = &amp;uart4;
                serial5 = &amp;uart5;
                spi0 = &amp;spi0;
                spi1 = &amp;spi1;
                twi0 = &amp;twi0;
                twi1 = &amp;twi1;
                twi2 = &amp;twi2;
                twi3 = &amp;twi3;
                mmc2 = &amp;sdc2;
                pwm0 = &amp;pwm0;
                pwm1 = &amp;pwm1;
                pwm2 = &amp;pwm2;
                pwm3 = &amp;pwm3;
                pwm4 = &amp;pwm4;
                pwm5 = &amp;pwm5;
                pwm6 = &amp;pwm6;
                pwm7 = &amp;pwm7;
                ir0 = &amp;s_cir0;
                ir1 = &amp;ir1;
                mmc0 = &amp;sdc0;
                tvd = &amp;tvd;
                tvd0 = &amp;tvd0;
        } ;

        chosen {
                bootargs = "console=ttyS0,115200n8 debug loglevel=7,initcall_debug=1 init=/init earlycon=sbi";
                stdout-path = "serial0:115200n8";
                linux,initrd-start = &lt;0x42000000&gt;;
                linux,initrd-end   = &lt;0x43000000&gt;;
        };

        cpus {
                #address-cells = &lt;1&gt;;
                #size-cells = &lt;0&gt;;
                timebase-frequency = &lt;24000000&gt;;

                idle-states {
                        CPU_SLEEP: cpu-sleep {
                                compatible = "riscv,idle-state";
                                local-timer-stop;
                                entry-latency-us = &lt;59&gt;;
                                exit-latency-us = &lt;59&gt;;
                                min-residency-us = &lt;5000&gt;;
                        };
                };

                CPU0: cpu@0 {
                        device_type = "cpu";
                        reg = &lt;0&gt;;
                        status = "okay";
                        compatible = "riscv";
                        riscv,isa = "rv64imafdcvsu";
                /*      riscv,priv-major = &lt;1&gt;;*/
                /*      riscv,priv-minor = &lt;10&gt;;*/
                        mmu-type = "riscv,sv39";
                        clocks = &lt;&amp;ccu CLK_RISCV&gt;;
                        clock-frequency = &lt;24000000&gt;;
                        operating-points-v2 = &lt;&amp;cpu_opp_table&gt;;
                        cpu-idle-states = &lt;&amp;CPU_SLEEP&gt;;
                        #cooling-cells = &lt;2&gt;;
        /*              d-cache-size = &lt;0x8000&gt;;*/
        /*              d-cache-line-size = &lt;32&gt;;*/
                        CPU0_intc: interrupt-controller {
                                #interrupt-cells = &lt;1&gt;;
                                interrupt-controller;
                                compatible = "riscv,cpu-intc";
                        };
                };
        };

        dram: dram {
                device_type = "dram";
                compatible = "allwinner,dram";
                clocks = &lt;&amp;ccu CLK_PLL_DDR0&gt;;
                clock-names = "pll_ddr";
        };

        memory@40000000 {
                device_type = "memory";
                reg = &lt;0x0 0x40000000 0x0 0x8000000&gt;;
        };

        dump_reg: dump_reg@20000 {
                compatible = "allwinner,sunxi-dump-reg";
                reg = &lt;0x0 0x00020000 0x0 0x0004&gt;;
                /* 0x00020000: dump_reg test addr, 0x0004: dump_reg test size */
        };

        cpu_opp_table: cpu-opp-table {
                compatible = "allwinner,sun50i-operating-points";
                nvmem-cells = &lt;&amp;vf_table&gt;;
                nvmem-cell-names = "speed";
                opp-shared;

                opp@1008000000 {
                        opp-hz = /bits/ 64 &lt;1008000000&gt;;
                        clock-latency-ns = &lt;244144&gt;; /* 8 32k periods */
                        opp-microvolt-a0 = &lt;1100000&gt;;
                };
        };

        dcxo24M: dcxo24M_clk {
                #clock-cells = &lt;0&gt;;
                compatible = "fixed-clock";
                clock-frequency = &lt;24000000&gt;;
                clock-output-names = "dcxo24M";
        };

        rc_16m: rc16m_clk {
                #clock-cells = &lt;0&gt;;
                compatible = "fixed-clock";
                clock-frequency = &lt;16000000&gt;;
                clock-accuracy = &lt;300000000&gt;;
                clock-output-names = "rc-16m";
        };

        ext_32k: ext32k_clk {
                #clock-cells = &lt;0&gt;;
                compatible = "fixed-clock";
                clock-frequency = &lt;32768&gt;;
                clock-output-names = "ext-32k";
        };

        reg_pio1_8: pio-18 {
                compatible = "regulator-fixed";
                regulator-name = "pio-18";
                regulator-min-microvolt = &lt;1800000&gt;;
                regulator-max-microvolt = &lt;1800000&gt;;
        };

        reg_pio3_3: pio-33 {
                compatible = "regulator-fixed";
                regulator-name = "pio-33";
                regulator-min-microvolt = &lt;3300000&gt;;
                regulator-max-microvolt = &lt;3300000&gt;;
        };

        thermal-zones {
                cpu_thermal_zone {
                        polling-delay-passive = &lt;500&gt;;
                        polling-delay = &lt;1000&gt;;
                        thermal-sensors = &lt;&amp;ths 0&gt;;
                        sustainable-power = &lt;1200&gt;;

                        cpu_trips: trips {
                                cpu_threshold: trip-point@0 {
                                        temperature = &lt;70000&gt;;
                                        type = "passive";
                                        hysteresis = &lt;0&gt;;
                                };
                                cpu_target: trip-point@1 {
                                        temperature = &lt;90000&gt;;
                                        type = "passive";
                                        hysteresis = &lt;0&gt;;
                                };
                                cpu_crit: cpu_crit@0 {
                                        temperature = &lt;110000&gt;;
                                        type = "critical";
                                        hysteresis = &lt;0&gt;;
                                };
                        };

                        cooling-maps {
                                map0 {
                                        trip = &lt;&amp;cpu_target&gt;;
                                        cooling-device = &lt;&amp;CPU0
                                        THERMAL_NO_LIMIT
                                        THERMAL_NO_LIMIT&gt;;
                                        contribution = &lt;1024&gt;;
                                };
                        };
                };
        };

        mmu_aw: iommu@2010000 {
                compatible = "allwinner,sunxi-iommu";
                reg = &lt;0x0 0x02010000 0x0 0x1000&gt;;
                interrupts-extended = &lt;&amp;plic0 80 IRQ_TYPE_LEVEL_HIGH&gt;;
                interrupt-names = "iommu-irq";
                clocks = &lt;&amp;ccu CLK_BUS_IOMMU&gt;;
                clock-names = "iommu";
                #iommu-cells = &lt;2&gt;;
                status = "okay";
        };

        soc: soc@3000000 {
                #address-cells = &lt;2&gt;;
                #size-cells = &lt;2&gt;;
                compatible = "simple-bus";
                ranges;

                sram_ctrl: sram_ctrl@3000000 {
                        compatible = "allwinner,sram_ctrl";
                        reg = &lt;0x0 0x3000000 0 0x16C&gt;;
                        soc_ver {
                                offset = &lt;0x24&gt;;
                                mask = &lt;0x7&gt;;
                                shift = &lt;0&gt;;
                                ver_a = &lt;0x18590000&gt;;
                                ver_b = &lt;0x18590002&gt;;
                        };

                        soc_id {
                                offset = &lt;0x200&gt;;
                                mask = &lt;0x1&gt;;
                                shift = &lt;22&gt;;
                        };

                        soc_bin {
                                offset = &lt;0x0&gt;;
                                mask = &lt;0x3ff&gt;;
                                shift = &lt;0x0&gt;;
                        };

                };

                rtc_ccu: rtc_ccu@7090000 {
                        compatible = "allwinner,sun20iw1-rtc-ccu";
                        device_type = "rtc-ccu";
                        reg = &lt;0x0 0x07090000 0x0 0x320&gt;;  /* The same as rtc */
                        #clock-cells = &lt;1&gt;;
                };

                ccu: clock@2001000 {
                        compatible = "allwinner,sun20iw1-ccu";
                        reg = &lt;0x0 0x02001000 0x0 0x1000&gt;;
                        clocks = &lt;&amp;dcxo24M&gt;, &lt;&amp;rtc_ccu CLK_OSC32K&gt;, &lt;&amp;rtc_ccu CLK_IOSC&gt;;
                        clock-names = "hosc", "losc", "iosc";
                        #clock-cells = &lt;1&gt;;
                        #reset-cells = &lt;1&gt;;
                };

                r_ccu: clock@7010000 {
                        compatible = "allwinner,sun20iw1-r-ccu";
                        reg = &lt;0x0 0x07010000 0x0 0x240&gt;;
                        clocks = &lt;&amp;dcxo24M&gt;, &lt;&amp;rtc_ccu CLK_OSC32K&gt;, &lt;&amp;rtc_ccu CLK_IOSC&gt;,
                                 &lt;&amp;ccu CLK_PLL_PERIPH0&gt;;
                        clock-names = "hosc", "losc", "iosc", "pll-periph0";
                        #clock-cells = &lt;1&gt;;
                        #reset-cells = &lt;1&gt;;
                };


                plic0: interrupt-controller@10000000 {
                        compatible = "riscv,plic0";
                        #address-cells = &lt;2&gt;;
                        #interrupt-cells = &lt;2&gt;;
                        interrupt-controller;
                        reg = &lt;0x0 0x10000000 0x0 0x4000000&gt;;
                        interrupts-extended = &lt;&amp;CPU0_intc 0xffffffff &amp;CPU0_intc 9&gt;;
                        reg-names = "control";
                        riscv,max-priority = &lt;7&gt;;
                        riscv,ndev=&lt;200&gt;;
                };

                uart0: uart@2500000 {
                        compatible = "allwinner,sun20i-uart";
                        device_type = "uart0";
                        reg = &lt;0x0 0x02500000 0x0 0x400&gt;;
                        interrupts-extended = &lt;&amp;plic0 18 IRQ_TYPE_LEVEL_HIGH&gt;;
                        clocks = &lt;&amp;ccu CLK_BUS_UART0&gt;;
                        clock-names = "uart0";
                        resets = &lt;&amp;ccu RST_BUS_UART0&gt;;
                        sunxi,uart-fifosize = &lt;64&gt;;
                        uart0_port = &lt;0&gt;;
                        uart0_type = &lt;2&gt;;
                        status = "okay";
                };

                uart1: uart@2500400 {
                        compatible = "allwinner,sun20i-uart";
                        device_type = "uart1";
                        reg = &lt;0x0 0x02500400 0x0 0x400&gt;;
                        interrupts-extended = &lt;&amp;plic0 19 IRQ_TYPE_LEVEL_HIGH&gt;;
                        sunxi,uart-fifosize = &lt;256&gt;;
                        clocks = &lt;&amp;ccu CLK_BUS_UART1&gt;;
                        clock-names = "uart1";
                        resets = &lt;&amp;ccu RST_BUS_UART1&gt;;
                        uart1_port = &lt;1&gt;;
                        uart1_type = &lt;4&gt;;
                        status = "disabled";
                };

                uart2: uart@2500800 {
                        compatible = "allwinner,sun20i-uart";
                        device_type = "uart2";
                        reg = &lt;0x0 0x02500800 0x0 0x400&gt;;
                        interrupts-extended = &lt;&amp;plic0 20 IRQ_TYPE_LEVEL_HIGH&gt;;
                        sunxi,uart-fifosize = &lt;256&gt;;
                        clocks = &lt;&amp;ccu CLK_BUS_UART2&gt;;
                        clock-names = "uart2";
                        resets = &lt;&amp;ccu RST_BUS_UART2&gt;;
                        uart2_port = &lt;2&gt;;
                        uart2_type = &lt;4&gt;;
                        status = "disabled";
                };

                uart3: uart@2500c00 {
                        compatible = "allwinner,sun20i-uart";
                        device_type = "uart3";
                        reg = &lt;0x0 0x02500c00 0x0 0x400&gt;;
                        interrupts-extended = &lt;&amp;plic0 21 IRQ_TYPE_LEVEL_HIGH&gt;;
                        sunxi,uart-fifosize = &lt;256&gt;;
                        clocks = &lt;&amp;ccu CLK_BUS_UART3&gt;;
                        clock-names = "uart3";
                        resets = &lt;&amp;ccu RST_BUS_UART3&gt;;
                        uart3_port = &lt;3&gt;;
                        uart3_type = &lt;4&gt;;
                        status = "disabled";
                };

                uart4: uart@2501000 {
                        compatible = "allwinner,sun20i-uart";
                        device_type = "uart4";
                        reg = &lt;0x0 0x02501000 0x0 0x400&gt;;
                        interrupts-extended = &lt;&amp;plic0 22 IRQ_TYPE_LEVEL_HIGH&gt;;
                        sunxi,uart-fifosize = &lt;256&gt;;
                        clocks = &lt;&amp;ccu CLK_BUS_UART4&gt;;
                        clock-names = "uart4";
                        resets = &lt;&amp;ccu RST_BUS_UART4&gt;;
                        uart4_port = &lt;4&gt;;
                        uart4_type = &lt;2&gt;;
                        status = "disabled";
                };

                uart5: uart@2501400 {
                        compatible = "allwinner,sun20i-uart";
                        device_type = "uart5";
                        reg = &lt;0x0 0x02501400 0x0 0x400&gt;;
                        interrupts-extended = &lt;&amp;plic0 23 IRQ_TYPE_LEVEL_HIGH&gt;;
                        sunxi,uart-fifosize = &lt;256&gt;;
                        clocks = &lt;&amp;ccu CLK_BUS_UART5&gt;;
                        clock-names = "uart5";
                        resets = &lt;&amp;ccu RST_BUS_UART5&gt;;
                        uart5_port = &lt;5&gt;;
                        uart5_type = &lt;2&gt;;
                        status = "disabled";
                };
                cryptoengine: ce@03040000 {
                        compatible = "allwinner,sunxi-ce";
                        device_name = "ce";
                        reg = &lt;0x0 0x03040000 0x0 0xa0&gt;, /* non-secure space */
                              &lt;0x0 0x03040800 0x0 0xa0&gt;; /* secure space */
                        interrupts-extended = &lt;&amp;plic0 68 IRQ_TYPE_EDGE_RISING&gt;, /*non-secure*/
                                   &lt;&amp;plic0 69 IRQ_TYPE_EDGE_RISING&gt;; /* secure*/
                        clock-frequency = &lt;400000000&gt;; /* 400MHz */
                        clocks = &lt;&amp;ccu CLK_BUS_CE&gt;, &lt;&amp;ccu CLK_CE&gt;, &lt;&amp;ccu CLK_MBUS_CE&gt;,
                                        &lt;&amp;ccu CLK_PLL_PERIPH0_2X&gt;;
                        clock-names = "bus_ce", "ce_clk", "mbus_ce", "pll_periph0_2x";
                        resets = &lt;&amp;ccu RST_BUS_CE&gt;;
                        status = "okay";
                };

                s_cir0: s_cir@7040000 {
                        compatible = "allwinner,s_cir";
                        reg = &lt;0x0 0x07040000 0x0 0x400&gt;;
                        interrupts-extended = &lt;&amp;plic0 167 IRQ_TYPE_LEVEL_HIGH&gt;;
                        clocks = &lt;&amp;r_ccu CLK_R_APB0_BUS_IRRX&gt;, &lt;&amp;dcxo24M&gt;, &lt;&amp;r_ccu CLK_R_APB0_IRRX&gt;;
                        clock-names = "bus", "pclk", "mclk";
                        resets = &lt;&amp;r_ccu RST_R_APB0_BUS_IRRX&gt;;
                        supply = "";
                        supply_vol = "";
                        status = "disabled";
                };

                ir1: ir@2003000 {
                        compatible = "allwinner,ir_tx";
                        reg = &lt;0x0 0x02003000 0x0 0x400&gt;;
                        interrupts-extended = &lt;&amp;plic0 35 IRQ_TYPE_LEVEL_HIGH&gt;;
                        clocks = &lt;&amp;ccu CLK_BUS_IR_TX&gt;, &lt;&amp;dcxo24M&gt;, &lt;&amp;ccu CLK_IR_TX&gt;;
                        clock-names = "bus", "pclk", "mclk";
                        resets = &lt;&amp;ccu RST_BUS_IR_TX&gt;;
                        status = "disabled";
                };

                di: deinterlace@5400000 {
                        compatible = "allwinner,sunxi-deinterlace";
                        reg = &lt;0x0 0x05400000 0x0 0x0000ffff&gt;;
                        interrupts-extended = &lt;&amp;plic0 104 IRQ_TYPE_LEVEL_HIGH&gt;;
                        clocks = &lt;&amp;ccu CLK_DI&gt;,
                                 &lt;&amp;ccu CLK_BUS_DI&gt;,
                                 &lt;&amp;ccu CLK_PLL_PERIPH0_2X&gt;;
                        clock-names = "clk_di",
                                      "pll_periph",
                                      "clk_bus_di";
                        resets = &lt;&amp;ccu RST_BUS_DI&gt;;
                        reset-names = "rst_bus_di";

                        assigned-clocks = &lt;&amp;ccu CLK_DI&gt;;
                        assigned-clock-parents = &lt;&amp;ccu CLK_PLL_PERIPH0_2X&gt;;
                        assigned-clock-rates = &lt;300000000&gt;;

                        iommus = &lt;&amp;mmu_aw 4 1&gt;;
                        status = "okay";
                };

                gmac0: eth@4500000 {
                        compatible = "allwinner,sunxi-gmac";
                        reg = &lt;0x0 0x04500000 0x0 0x10000&gt;,
                              &lt;0x0 0x03000030 0x0 0x4&gt;;
                        interrupts-extended = &lt;&amp;plic0 62 IRQ_TYPE_LEVEL_HIGH&gt;;
                        interrupt-names = "gmacirq";
                        clocks = &lt;&amp;ccu CLK_BUS_EMAC0&gt;, &lt;&amp;ccu CLK_EMAC0_25M&gt;;
                        clock-names = "gmac", "ephy";
                        resets = &lt;&amp;ccu RST_BUS_EMAC0&gt;;
                        device_type = "gmac0";
                        pinctrl-0 = &lt;&amp;gmac_pins_a&gt;;
                        pinctrl-1 = &lt;&amp;gmac_pins_b&gt;;
                        pinctrl-names = "default", "sleep";
                        phy-mode = "rgmii";
                        use_ephy25m = &lt;1&gt;;
                        tx-delay = &lt;7&gt;;
                        rx-delay = &lt;31&gt;;
                        phy-rst = &lt;&amp;pio PA 14 GPIO_ACTIVE_LOW&gt;;
                        gmac-power0;
                        gmac-power1;
                        gmac-power2;
                        status = "disabled";
                };

                rtc: rtc@7090000 {
                        compatible = "allwinner,sun20iw1-rtc";
                        device_type = "rtc";
                        wakeup-source;
                        interrupts-extended = &lt;&amp;plic0 160 IRQ_TYPE_LEVEL_HIGH&gt;;
                        reg = &lt;0x0 0x07090000 0x0 0x320&gt;;
                        clocks = &lt;&amp;r_ccu CLK_R_AHB_BUS_RTC&gt;, &lt;&amp;rtc_ccu CLK_RTC_SPI&gt;, &lt;&amp;rtc_ccu CLK_RTC_1K&gt;;
                        clock-names = "r-ahb-rtc", "rtc-spi", "rtc-1k";
                        resets = &lt;&amp;r_ccu RST_R_AHB_BUS_RTC&gt;;
                        gpr_cur_pos = &lt;6&gt;;
                };

                dma: dma-controller@3002000 {
                        compatible = "allwinner,sun8i-riscv-dma";
                        reg = &lt;0x0 0x03002000 0x0 0x1000&gt;;
                        interrupts-extended = &lt;&amp;plic0 66 IRQ_TYPE_LEVEL_HIGH&gt;;
                        clocks = &lt;&amp;ccu CLK_BUS_DMA&gt;, &lt;&amp;ccu CLK_MBUS_DMA&gt;;
                        clock-names = "bus", "mbus";
                        resets = &lt;&amp;ccu RST_BUS_DMA&gt;;
                        dma-channels = &lt;16&gt;;
                        dma-requests = &lt;48&gt;;
                        #dma-cells = &lt;1&gt;;
                        status = "okay";
                };

                soc_timer0: timer@2050000 {
                        compatible = "allwinner,sun4i-a10-timer";
                        device_type = "soc_timer";
                        reg = &lt;0x0 0x02050000 0x0 0xA0&gt;;
                        interrupts-extended = &lt;&amp;plic0 75 IRQ_TYPE_LEVEL_HIGH&gt;;
                        clocks = &lt;&amp;dcxo24M&gt;;
                        status = "okay";
                };

                wdt: watchdog@6011000 {
                        compatible = "allwinner,sun20i-wdt";
                        reg = &lt;0x0 0x06011000 0x0 0x20&gt;;
                        interrupts-extended = &lt;&amp;plic0 147 IRQ_TYPE_LEVEL_HIGH&gt;;
                };

                mbus0:mbus-comtroller@3102000 {
                        compatible = "allwinner,sun8i-mbus";
                        reg = &lt;0x0 0x03102000 0x0 0x1000&gt;;
                        #mbus-cells = &lt;1&gt;;
                };

                pmu: pmu {
                        compatible = "riscv,c910_pmu";
                };

                ilde: idle {
                        compatible = "riscv,idle";
                };

                pio: pinctrl@2000000 {
                        compatible = "allwinner,sun20iw1-pinctrl";
                        reg = &lt;0x0 0x02000000 0x0 0x500&gt;;
                        interrupts-extended = &lt;&amp;plic0 85 IRQ_TYPE_LEVEL_HIGH&gt;,
                                     &lt;&amp;plic0 87 IRQ_TYPE_LEVEL_HIGH&gt;,
                                     &lt;&amp;plic0 89 IRQ_TYPE_LEVEL_HIGH&gt;,
                                     &lt;&amp;plic0 91 IRQ_TYPE_LEVEL_HIGH&gt;,
                                     &lt;&amp;plic0 93 IRQ_TYPE_LEVEL_HIGH&gt;,
                                     &lt;&amp;plic0 95 IRQ_TYPE_LEVEL_HIGH&gt;;
                        device_type = "pio";
                        clocks = &lt;&amp;ccu CLK_APB0&gt;, &lt;&amp;dcxo24M&gt;, &lt;&amp;rtc_ccu CLK_OSC32K&gt;;
                        clock-names = "apb", "hosc", "losc";
                        gpio-controller;
                        #gpio-cells = &lt;3&gt;;
                        interrupt-controller;
                        #interrupt-cells = &lt;3&gt;;
                        #size-cells = &lt;0&gt;;
                        vcc-pf-supply = &lt;&amp;reg_pio1_8&gt;;
                        vcc-pfo-supply = &lt;&amp;reg_pio3_3&gt;;

                        test_pins_a: test_pins@0 {
                                allwinner,pins = "PB0", "PB1";
                                allwinner,function = "test";
                                allwinner,muxsel = &lt;0x7&gt;;
                                allwinner,drive = &lt;1&gt;;
                                allwinner,pull = &lt;1&gt;;
                        };
                        test_pins_b: test_pins@1 {
                                pins = "PB0", "PB1";
                                function = "io_disabled";
                                allwinner,muxsel = &lt;0xF&gt;;
                                allwinner,drive = &lt;1&gt;;
                                allwinner,pull = &lt;1&gt;;
                        };

                        gmac_pins_a: gmac@0 {
                                pins = "PA0", "PA1", "PA2", "PA3",
                                                 "PA4", "PA5", "PA6", "PA7",
                                                 "PA8", "PA10", "PA11", "PA12",
                                                 "PA13", "PA17", "PA18", "PA28",
                                                 "PA29", "PA30", "PA31";
                                function = "gmac0";
                                drive-strength = &lt;10&gt;;
                        };

                        gmac_pins_b: gmac@1 {
                                pins = "PA0", "PA1", "PA2", "PA3",
                                                 "PA4", "PA5", "PA6", "PA7",
                                                 "PA8", "PA10", "PA11", "PA12",
                                                 "PA13", "PA17", "PA18", "PA28",
                                                 "PA29", "PA30", "PA31";
                                function = "gpio_in";
                                drive-strength = &lt;10&gt;;
                        };

                        ir1_pins_a: ir1@0 {  /* For FPGA board */
                                pins = "PG11";
                                function = "ir1";
                                drive-strength = &lt;10&gt;;
                        };

                        csi_mclk0_pins_a: csi_mclk0@0 {
                                pins = "PE3";
                                function = "csi0";
                                drive-strength = &lt;10&gt;;
                        };
                        csi_mclk0_pins_b: csi_mclk0@1 {
                                pins = "PE3";
                                function = "gpio_in";
                        };
                        csi0_pins_a: csi0@0 {
                                pins = "PE2", "PE0", "PE1", "PE4", "PE5",
                                                 "PE6", "PE7", "PE8", "PE9", "PE10", "PE11";
                                function = "ncsi0";
                                drive-strength = &lt;10&gt;;
                        };
                        csi0_pins_b: csi0@1 {
                                pins = "PE2", "PE0", "PE1", "PE4", "PE5",
                                                 "PE6", "PE7", "PE8", "PE9", "PE10", "PE11";
                                function = "io_disabled";
                                drive-strength = &lt;10&gt;;
                        };

                        lvds0_pins_a: lvds0@0 {
                                pins  = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9";
                                function = "lvds0";
                                drive-strength = &lt;30&gt;;
                                bias-disable;
                        };

                        lvds0_pins_b: lvds0@1 {
                                pins  = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9";
                                function = "io_disabled";
                                drive-strength = &lt;30&gt;;
                                bias-disable;
                        };

                        rgb24_pins_a: rgb24@0 {
                                pins = "PB2", "PB3", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", \
                                        "PB4", "PB5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", \
                                        "PB6", "PB7", "PD12", "PD13", "PD14", "PD15", "PD16", "PD17", \
                                        "PD18", "PD19", "PD20", "PD21";
                                function = "lcd0";
                                drive-strength = &lt;30&gt;;
                                bias-disable;
                        };

                        rgb24_pins_b: rgb24@1 {
                                pins = "PB2", "PB3", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", \
                                        "PB4", "PB5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", \
                                        "PB6", "PB7", "PD12", "PD13", "PD14", "PD15", "PD16", "PD17", \
                                        "PD18", "PD19", "PD20", "PD21";
                                function = "io_disabled";
                                bias-disable;
                        };

                        rgb18_pins_a: rgb18@0 {
                                pins = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", \
                                        "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", \
                                        "PD12", "PD13", "PD14", "PD15", "PD16", "PD17", \
                                        "PD18", "PD19", "PD20", "PD21";
                                function = "lcd0";
                                drive-strength = &lt;30&gt;;
                                bias-disable;
                        };

                        rgb18_pins_b: rgb18@1 {
                                pins = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", \
                                        "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", \
                                        "PD12", "PD13", "PD14", "PD15", "PD16", "PD17", \
                                        "PD18", "PD19", "PD20", "PD21";
                                function = "io_disabled";
                                bias-disable;
                        };

                        dsi4lane_pins_a: dsi4lane@0 {
                                pins = "PD0", "PD1", "PD2", "PD3","PD4", "PD5","PD6", "PD7", "PD8", "PD9";
                                function = "dsi";
                                drive-strength = &lt;30&gt;;
                                bias-disable;
                        };

                        dsi4lane_pins_b: dsi4lane@1 {
                                pins = "PD0", "PD1", "PD2", "PD3","PD4", "PD5","PD6", "PD7", "PD8", "PD9";
                                function = "io_disabled";
                                bias-disable;
                        };

                };

                spi0: spi@4025000 {
                        #address-cells = &lt;1&gt;;
                        #size-cells = &lt;0&gt;;
                        compatible = "allwinner,sun20i-spi";
                        device_type = "spi0";
                        reg = &lt;0x0 0x04025000 0x0 0x300&gt;;
                        interrupts-extended = &lt;&amp;plic0 31 IRQ_TYPE_LEVEL_HIGH&gt;;
                        clocks = &lt;&amp;ccu CLK_PLL_PERIPH0&gt;, &lt;&amp;ccu CLK_SPI0&gt;, &lt;&amp;ccu CLK_BUS_SPI0&gt;;
                        clock-names = "pll", "mod", "bus";
                        resets = &lt;&amp;ccu RST_BUS_SPI0&gt;;
                        clock-frequency = &lt;100000000&gt;;
                        pinctrl-names = "default", "sleep";
                        spi0_cs_number = &lt;1&gt;;
                        spi0_cs_bitmap = &lt;1&gt;;
                        dmas = &lt;&amp;dma 22&gt;, &lt;&amp;dma 22&gt;;
                        dma-names = "tx", "rx";
                        status = "disabled";
                };

                spi1: spi@4026000 {
                        #address-cells = &lt;1&gt;;
                        #size-cells = &lt;0&gt;;
                        compatible = "allwinner,sun20i-spi";
                        reg = &lt;0x0 0x04026000 0x0 0x1000&gt;;
                        interrupts-extended = &lt;&amp;plic0 32 IRQ_TYPE_LEVEL_HIGH&gt;;
                        clocks = &lt;&amp;ccu CLK_PLL_PERIPH0&gt;, &lt;&amp;ccu CLK_SPI1&gt;, &lt;&amp;ccu CLK_BUS_SPI1&gt;;
                        clock-names = "pll", "mod", "bus";
                        resets = &lt;&amp;ccu RST_BUS_SPI1&gt;;
                        clock-frequency = &lt;100000000&gt;;
                        spi1_cs_number = &lt;1&gt;;
                        spi1_cs_bitmap = &lt;1&gt;;
                        dmas = &lt;&amp;dma 23&gt;, &lt;&amp;dma 23&gt;;
                        dma-names = "tx", "rx";
                        status = "disabled";
                };

                twi0: twi@2502000 {
                        #address-cells = &lt;1&gt;;
                        #size-cells = &lt;0&gt;;
                        compatible = "allwinner,sun20i-twi";
                        device_type = "twi0";
                        reg = &lt;0x0 0x02502000 0x0 0x400&gt;;
                        interrupts-extended= &lt;&amp;plic0 25 IRQ_TYPE_LEVEL_HIGH&gt;;
                        clocks = &lt;&amp;ccu CLK_BUS_I2C0&gt;;
                        resets = &lt;&amp;ccu RST_BUS_I2C0&gt;;
                        clock-names = "bus";
                        clock-frequency = &lt;400000&gt;;
                        dmas = &lt;&amp;dma 43&gt;, &lt;&amp;dma 43&gt;;
                        dma-names = "tx", "rx";
                        status = "disabled";
                };

                twi1: twi@2502400 {
                        #address-cells = &lt;1&gt;;
                        #size-cells = &lt;0&gt;;
                        compatible = "allwinner,sun20i-twi";
                        device_type = "twi1";
                        reg = &lt;0x0 0x02502400 0x0 0x400&gt;;
                        interrupts-extended= &lt;&amp;plic0 26 IRQ_TYPE_LEVEL_HIGH&gt;;
                        clocks = &lt;&amp;ccu CLK_BUS_I2C1&gt;;
                        resets = &lt;&amp;ccu RST_BUS_I2C1&gt;;
                        clock-names = "bus";
                        clock-frequency = &lt;200000&gt;;
                        dmas = &lt;&amp;dma 44&gt;, &lt;&amp;dma 44&gt;;
                        dma-names = "tx", "rx";
                        status = "disabled";
                };

                twi2: twi@2502800 {
                        #address-cells = &lt;1&gt;;
                        #size-cells = &lt;0&gt;;
                        compatible = "allwinner,sun20i-twi";
                        device_type = "twi2";
                        reg = &lt;0x0 0x02502800 0x0 0x400&gt;;
                        interrupts-extended = &lt;&amp;plic0 27 IRQ_TYPE_LEVEL_HIGH&gt;;
                        clocks = &lt;&amp;ccu CLK_BUS_I2C2&gt;;
                        resets = &lt;&amp;ccu RST_BUS_I2C2&gt;;
                        clock-names = "bus";
                        clock-frequency = &lt;100000&gt;;
                        dmas = &lt;&amp;dma 45&gt;, &lt;&amp;dma 45&gt;;
                        dma-names = "tx", "rx";
                        status = "disabled";
                };

                twi3: twi@2502c00 {
                        #address-cells = &lt;1&gt;;
                        #size-cells = &lt;0&gt;;
                        compatible = "allwinner,sun20i-twi";
                        device_type = "twi3";
                        reg = &lt;0x0 0x02502c00 0x0 0x400&gt;;
                        interrupts-extended = &lt;&amp;plic0 28 IRQ_TYPE_LEVEL_HIGH&gt;;
                        clocks = &lt;&amp;ccu CLK_BUS_I2C3&gt;;
                        resets = &lt;&amp;ccu RST_BUS_I2C3&gt;;
                        clock-names = "bus";
                        clock-frequency = &lt;100000&gt;;
                        dmas = &lt;&amp;dma 46&gt;, &lt;&amp;dma 46&gt;;
                        dma-names = "tx", "rx";
                        status = "disabled";
                };

                ledc: ledc@2008000 {
                        #address-cells = &lt;1&gt;;
                        #size-cells = &lt;0&gt;;
                        compatible = "allwinner,sunxi-leds";
                        reg = &lt;0x0 0x02008000 0x0 0x400&gt;;
                        interrupts-extended = &lt;&amp;plic0 36 IRQ_TYPE_LEVEL_HIGH&gt;;
                        interrupt-names = "ledcirq";
                        clocks = &lt;&amp;ccu CLK_LEDC&gt;, &lt;&amp;ccu CLK_BUS_LEDC&gt;;
                        clock-names = "clk_ledc", "clk_cpuapb";
                        dmas = &lt;&amp;dma 42&gt;, &lt;&amp;dma 42&gt;;
                        dma-names = "rx", "tx";
                        resets = &lt;&amp;ccu RST_BUS_LEDC&gt;;
                        reset-names = "ledc_reset";
                        status = "disable";
                };

                pwm: pwm@2000c00 {
                        #pwm-cells = &lt;0x3&gt;;
                        compatible = "allwinner,sunxi-pwm";
                        reg = &lt;0x0 0x02000c00 0x0 0x3ff&gt;;
                        clocks = &lt;&amp;ccu CLK_BUS_PWM&gt;;
                        resets = &lt;&amp;ccu RST_BUS_PWM&gt;;
                        pwm-number = &lt;8&gt;;
                        pwm-base = &lt;0x0&gt;;
                        sunxi-pwms = &lt;&amp;pwm0&gt;, &lt;&amp;pwm1&gt;, &lt;&amp;pwm2&gt;, &lt;&amp;pwm3&gt;, &lt;&amp;pwm4&gt;,
                                &lt;&amp;pwm5&gt;, &lt;&amp;pwm6&gt;, &lt;&amp;pwm7&gt;;

                };

                keyboard0: keyboard@2009800 {
                        compatible = "allwinner,keyboard_1350mv";
                        reg = &lt;0x0 0x02009800 0x0 0x400&gt;;
                        interrupts-extended = &lt;&amp;plic0 77 IRQ_TYPE_EDGE_RISING&gt;;
                        clocks = &lt;&amp;ccu CLK_BUS_LRADC&gt;;
                        resets = &lt;&amp;ccu RST_BUS_LRADC&gt;;
                        key_cnt = &lt;5&gt;;
                        key0 = &lt;210 115&gt;;
                        key1 = &lt;410 114&gt;;
                        key2 = &lt;590 139&gt;;
                        key3 = &lt;750 28&gt;;
                        key4 = &lt;880 172&gt;;
                        status = "okay";
                };

                sid@3006000 {
                        compatible = "allwinner,sun20iw1p1-sid", "allwinner,sunxi-sid";
                        reg = &lt;0x0 0x03006000 0 0x1000&gt;;
                        #address-cells = &lt;1&gt;;
                        #size-cells = &lt;1&gt;;

                        chipid {
                                reg = &lt;0x0 0&gt;;
                                offset = &lt;0x200&gt;;
                                size = &lt;0x10&gt;;
                        };

                        secure_status {
                                reg = &lt;0x0 0&gt;;
                                offset = &lt;0xa0&gt;;
                                size = &lt;0x4&gt;;
                        };

                        vf_table: vf-table@00 {
                                reg = &lt;0x00 2&gt;;
                        };

                        ths_calib: calib@14 {
                                reg = &lt;0x14 8&gt;;
                        };
                };

                gpadc: gpadc@2009000 {
                       compatible = "allwinner,sunxi-gpadc";
                       reg = &lt;0x0 0x02009000 0x0 0x400&gt;;
                       interrupts-extended = &lt;&amp;plic0 73 IRQ_TYPE_LEVEL_HIGH&gt;;
                       clocks = &lt;&amp;ccu CLK_BUS_GPADC&gt;;
                       clock-names = "bus";
                       resets = &lt;&amp;ccu RST_BUS_GPADC&gt;;
                       status = "okay";
                };

                ths: ths@02009400 {
                        compatible = "allwinner,sun20iw1p1-ths";
                        reg = &lt;0x0 0x02009400 0x0 0x400&gt;;
                        clocks = &lt;&amp;ccu CLK_BUS_THS&gt;;
                        clock-names = "bus";
                        resets = &lt;&amp;ccu RST_BUS_THS&gt;;
                        nvmem-cells = &lt;&amp;ths_calib&gt;;
                        nvmem-cell-names = "calibration";
                        #thermal-sensor-cells = &lt;1&gt;;
                };

                rtp:rtp@2009c00 {
                        compatible = "allwinner,sun8i-ts";
                        reg = &lt;0x0 0x02009c00 0x0 0x400&gt;;
                        clocks = &lt;&amp;ccu CLK_TPADC&gt;, &lt;&amp;ccu CLK_BUS_TPADC&gt;;
                        clock-names = "mod", "bus";
                        clock-frequency = &lt;1000000&gt;;
                        resets = &lt;&amp;ccu RST_BUS_TPADC&gt;;
                        interrupts-extended = &lt;&amp;plic0 78 IRQ_TYPE_LEVEL_HIGH&gt;;
                };

                /* codec addr: 0x02030000, the others is invalid to avoid build warining */
                codec:codec@2030000 {
                        #sound-dai-cells = &lt;0&gt;;
                        compatible = "allwinner,sunxi-internal-codec";
                        reg = &lt;0x0 0x02030000 0x0 0x34c&gt;;
                        clocks = &lt;&amp;ccu CLK_PLL_AUDIO0&gt;,
                                 &lt;&amp;ccu CLK_PLL_AUDIO1_DIV5&gt;,
                                 &lt;&amp;ccu CLK_AUDIO_DAC&gt;,
                                 &lt;&amp;ccu CLK_AUDIO_ADC&gt;,
                                 &lt;&amp;ccu CLK_BUS_AUDIO_CODEC&gt;;
                        clock-names = "pll_audio0", "pll_audio1_div5",
                                      "audio_clk_dac", "audio_clk_adc",
                                      "audio_clk_bus";
                        resets = &lt;&amp;ccu RST_BUS_AUDIO_CODEC&gt;;
                        device_type = "codec";
                        status = "disabled";
                };

                dummy_cpudai:dummy_cpudai@203034c {
                        compatible = "allwinner,sunxi-dummy-cpudai";
                        reg = &lt;0x0 0x0203034c 0x0 0x4&gt;;
                        tx_fifo_size    = &lt;128&gt;;
                        rx_fifo_size    = &lt;256&gt;;
                        dac_txdata      = &lt;0x02030020&gt;;
                        adc_txdata      = &lt;0x02030040&gt;;
                        playback_cma    = &lt;128&gt;;
                        capture_cma     = &lt;256&gt;;
                        device_type = "cpudai";
                        dmas = &lt;&amp;dma 7&gt;, &lt;&amp;dma 7&gt;;
                        dma-names = "tx", "rx";
                        status = "disabled";
                };

                sndcodec:sound@2030340 {
                        compatible = "allwinner,sunxi-codec-machine";
                        reg = &lt;0x0 0x02030340 0x0 0x4&gt;;
                        interrupts-extended = &lt;&amp;plic0 41 IRQ_TYPE_LEVEL_HIGH&gt;;
                        sunxi,audio-codec = &lt;&amp;codec&gt;;
                        sunxi,cpudai-controller = &lt;&amp;dummy_cpudai&gt;;
                        device_type = "sndcodec";
                        status = "disabled";
                };

                sunxi_rpaf_dsp0:rpaf-dsp@203034c {
                        compatible = "allwinner,rpaf-dsp0";
                        device_type = "sunxi_rpaf_dsp0";
                        dsp_id = &lt;0x0&gt;;
                        status = "okay";
                };

                /* dmic addr: 0x02031000, the others is invalid to avoid build warining */
                dmic:dmic@2031000{
                        #sound-dai-cells = &lt;0&gt;;
                        compatible = "allwinner,sunxi-dmic";
                        reg = &lt;0x0 0x02031000 0x0 0x50&gt;;
                        clocks = &lt;&amp;ccu CLK_PLL_AUDIO0&gt;,
                                 &lt;&amp;ccu CLK_DMIC&gt;,
                                 &lt;&amp;ccu CLK_BUS_DMIC&gt;;
                        clock-names = "pll_audio", "dmic", "dmic_bus";
                        resets = &lt;&amp;ccu RST_BUS_DMIC&gt;;
                        dmas            = &lt;&amp;dma 8&gt;;
                        dma-names       = "rx";
                        interrupts-extended = &lt;&amp;plic0 40 IRQ_TYPE_LEVEL_HIGH&gt;;
                        clk_parent      = &lt;0x1&gt;;
                        capture_cma     = &lt;256&gt;;
                        data_vol        = &lt;0xB0&gt;;
                        dmic_rxsync_en  = &lt;0x0&gt;;
                        rx_chmap        = &lt;0x76543210&gt;;
                        device_type = "dmic";
                        status = "disabled";
                };

                dmic_codec:sound@2031050{
                        #sound-dai-cells = &lt;0&gt;;
                        compatible = "dmic-codec";
                        reg = &lt;0x0 0x02031050 0x0 0x4&gt;;
                        num-channels = &lt;8&gt;;
                        status = "disabled";
                };

                sounddmic:sounddmic@2031060 {
                        reg = &lt;0x0 0x02031060 0x0 0x4&gt;;
                        compatible = "sunxi,simple-audio-card";
                        simple-audio-card,name = "snddmic";
                        simple-audio-card,capture_only;
                        status = "disabled";
                        /* simple-audio-card,format = "i2s"; */
                        simple-audio-card,cpu {
                                sound-dai = &lt;&amp;dmic&gt;;
                        };
                        simple-audio-card,codec {
                                sound-dai = &lt;&amp;dmic_codec&gt;;
                        };
                };

                /* daudio0 addr: 0x02032000, the others is invalid to avoid build warining */
                daudio0:daudio@2032000 {
                        #sound-dai-cells = &lt;0&gt;;
                        compatible = "allwinner,sunxi-daudio";
                        reg = &lt;0x0 0x02032000 0x0 0xa0&gt;;
                        clocks = &lt;&amp;ccu CLK_PLL_AUDIO0&gt;,
                                 &lt;&amp;ccu CLK_I2S0&gt;,
                                 &lt;&amp;ccu CLK_BUS_I2S0&gt;;
                        clock-names = "pll_audio", "i2s0", "i2s0_bus";
                        resets = &lt;&amp;ccu RST_BUS_I2S0&gt;;
                        dmas            = &lt;&amp;dma 3&gt;, &lt;&amp;dma 3&gt;;
                        dma-names       = "tx", "rx";
                        interrupts-extended = &lt;&amp;plic0 42 IRQ_TYPE_LEVEL_HIGH&gt;;
                        sign_extend             = &lt;0x00&gt;;
                        tx_data_mode            = &lt;0x00&gt;;
                        rx_data_mode            = &lt;0x00&gt;;
                        msb_lsb_first           = &lt;0x00&gt;;
                        daudio_rxsync_en        = &lt;0x00&gt;;
                        pcm_lrck_period         = &lt;0x80&gt;;
                        slot_width_select       = &lt;0x20&gt;;
                        frametype               = &lt;0x00&gt;;
                        tdm_config              = &lt;0x01&gt;;
                        tdm_num                 = &lt;0x00&gt;;
                        mclk_div                = &lt;0x00&gt;;
                        clk_parent              = &lt;0x01&gt;;
                        capture_cma             = &lt;128&gt;;
                        playback_cma            = &lt;128&gt;;
                        tx_num                  = &lt;4&gt;;
                        tx_chmap1               = &lt;0x76543210&gt;;
                        tx_chmap0               = &lt;0xFEDCBA98&gt;;
                        rx_num                  = &lt;4&gt;;
                        rx_chmap3               = &lt;0x03020100&gt;;
                        rx_chmap2               = &lt;0x07060504&gt;;
                        rx_chmap1               = &lt;0x0B0A0908&gt;;
                        rx_chmap0               = &lt;0x0F0E0D0C&gt;;
                        asrc_function_en        = &lt;0x00&gt;;
                        device_type = "daudio0";
                        status = "disabled";
                };

                sounddaudio0: sounddaudio0@20320a0 {
                        reg = &lt;0x0 0x020320a0 0x0 0x4&gt;;
                        compatible = "sunxi,simple-audio-card";
                        simple-audio-card,name = "snddaudio0";
                        simple-audio-card,format = "i2s";
                        status = "disabled";
                        /* simple-audio-card,frame-master = &lt;&amp;daudio0_master&gt;; */
                        /* simple-audio-card,bitclock-master = &lt;&amp;daudio0_master&gt;; */
                        /* simple-audio-card,bitclock-inversion; */
                        /* simple-audio-card,frame-inversion; */
                        simple-audio-card,cpu {
                                sound-dai = &lt;&amp;daudio0&gt;;
                        };
                };

                /* daudio1 addr: 0x02033000, the others is invalid to avoid build warining */
                daudio1:daudio@2033000 {
                        #sound-dai-cells = &lt;0&gt;;
                        compatible = "allwinner,sunxi-daudio";
                        reg = &lt;0x0 0x02033000 0x0 0xa0&gt;;
                        clocks = &lt;&amp;ccu CLK_PLL_AUDIO0&gt;,
                                 &lt;&amp;ccu CLK_I2S1&gt;,
                                 &lt;&amp;ccu CLK_BUS_I2S1&gt;;
                        clock-names = "pll_audio", "i2s1", "i2s1_bus";
                        resets = &lt;&amp;ccu RST_BUS_I2S1&gt;;
                        dmas            = &lt;&amp;dma 4&gt;, &lt;&amp;dma 4&gt;;
                        dma-names       = "tx", "rx";
                        interrupts-extended = &lt;&amp;plic0 43 IRQ_TYPE_LEVEL_HIGH&gt;;
                        sign_extend             = &lt;0x00&gt;;
                        tx_data_mode            = &lt;0x00&gt;;
                        rx_data_mode            = &lt;0x00&gt;;
                        msb_lsb_first           = &lt;0x00&gt;;
                        daudio_rxsync_en        = &lt;0x00&gt;;
                        pcm_lrck_period         = &lt;0x80&gt;;
                        slot_width_select       = &lt;0x20&gt;;
                        frametype               = &lt;0x00&gt;;
                        tdm_config              = &lt;0x01&gt;;
                        tdm_num                 = &lt;0x01&gt;;
                        mclk_div                = &lt;0x00&gt;;
                        clk_parent              = &lt;0x01&gt;;
                        capture_cma             = &lt;128&gt;;
                        playback_cma            = &lt;128&gt;;
                        tx_num                  = &lt;4&gt;;
                        tx_chmap1               = &lt;0x76543210&gt;;
                        tx_chmap0               = &lt;0xFEDCBA98&gt;;
                        rx_num                  = &lt;4&gt;;
                        rx_chmap3               = &lt;0x03020100&gt;;
                        rx_chmap2               = &lt;0x07060504&gt;;
                        rx_chmap1               = &lt;0x0B0A0908&gt;;
                        rx_chmap0               = &lt;0x0F0E0D0C&gt;;
                        asrc_function_en        = &lt;0x00&gt;;
                        device_type = "daudio1";
                        status = "disabled";
                };

                sounddaudio1: sounddaudio1@20330a0 {
                        reg = &lt;0x0 0x020330a0 0x0 0x4&gt;;
                        compatible = "sunxi,simple-audio-card";
                        simple-audio-card,name = "snddaudio1";
                        simple-audio-card,format = "i2s";
                        status = "disabled";
                        simple-audio-card,cpu {
                                sound-dai = &lt;&amp;daudio1&gt;;
                        };
                };

                /* daudio2 addr: 0x02034000, the others is invalid to avoid build warining */
                daudio2:daudio@2034000 {
                        #sound-dai-cells = &lt;0&gt;;
                        compatible = "allwinner,sunxi-daudio";
                        reg = &lt;0x0 0x02034000 0x0 0xa0&gt;;
                        clocks = &lt;&amp;ccu CLK_PLL_AUDIO0&gt;,
                                 &lt;&amp;ccu CLK_I2S2&gt;,
                                 &lt;&amp;ccu CLK_BUS_I2S2&gt;,
                                 &lt;&amp;ccu CLK_PLL_AUDIO0_4X&gt;,
                                 &lt;&amp;ccu CLK_I2S2_ASRC&gt;;
                        resets = &lt;&amp;ccu RST_BUS_I2S2&gt;;
                        dmas            = &lt;&amp;dma 5&gt;, &lt;&amp;dma 5&gt;;
                        dma-names       = "tx", "rx";
                        interrupts-extended = &lt;&amp;plic0 44 IRQ_TYPE_LEVEL_HIGH&gt;;
                        sign_extend             = &lt;0x00&gt;;
                        tx_data_mode            = &lt;0x00&gt;;
                        rx_data_mode            = &lt;0x00&gt;;
                        msb_lsb_first           = &lt;0x00&gt;;
                        daudio_rxsync_en        = &lt;0x00&gt;;
                        pcm_lrck_period         = &lt;0x80&gt;;
                        slot_width_select       = &lt;0x20&gt;;
                        frametype               = &lt;0x00&gt;;
                        tdm_config              = &lt;0x01&gt;;
                        tdm_num                 = &lt;0x02&gt;;
                        mclk_div                = &lt;0x01&gt;;
                        clk_parent              = &lt;0x01&gt;;
                        capture_cma             = &lt;128&gt;;
                        playback_cma            = &lt;128&gt;;
                        tx_num                  = &lt;4&gt;;
                        tx_chmap1               = &lt;0x76543210&gt;;
                        tx_chmap0               = &lt;0xFEDCBA98&gt;;
                        rx_num                  = &lt;4&gt;;
                        rx_chmap3               = &lt;0x03020100&gt;;
                        rx_chmap2               = &lt;0x07060504&gt;;
                        rx_chmap1               = &lt;0x0B0A0908&gt;;
                        rx_chmap0               = &lt;0x0F0E0D0C&gt;;
                        asrc_function_en        = &lt;0x00&gt;;
                        device_type = "daudio2";
                        status = "disabled";
                };

                sounddaudio2: sounddaudio2@20340a0 {
                        reg = &lt;0x0 0x020340a0 0x0 0x4&gt;;
                        compatible = "sunxi,simple-audio-card";
                        simple-audio-card,name = "snddaudio2";
                        simple-audio-card,format = "i2s";
                        status = "disabled";
                        simple-audio-card,cpu {
                                sound-dai = &lt;&amp;daudio2&gt;;
                        };
                };

                hdmiaudio: hdmiaudio@20340a4 {
                        #sound-dai-cells = &lt;0&gt;;
                        reg = &lt;0x0 0x020340a4 0x0 0x4&gt;;
                        compatible = "allwinner,sunxi-hdmiaudio";
                        status = "disabled";
                };

                /* spdif addr: 0x02036000, the others is invalid to avoid build warining */
                spdif:spdif@2036000 {
                        #sound-dai-cells = &lt;0&gt;;
                        compatible = "allwinner,sunxi-spdif";
                        reg = &lt;0x0 0x02036000 0x0 0x58&gt;;
                        clocks = &lt;&amp;ccu CLK_PLL_AUDIO0&gt;,
                                 &lt;&amp;ccu CLK_SPDIF_TX&gt;,
                                 &lt;&amp;ccu CLK_BUS_SPDIF&gt;,
                                 &lt;&amp;ccu CLK_PLL_AUDIO1&gt;,
                                 &lt;&amp;ccu CLK_PLL_AUDIO1_DIV5&gt;,
                                 &lt;&amp;ccu CLK_SPDIF_RX&gt;;
                        clock-names = "pll_audio", "spdif", "spdif_bus",
                                      "pll_audio1", "pll_audio1_div5", "spdif_rx";
                        resets = &lt;&amp;ccu RST_BUS_SPDIF&gt;;
                        dmas            = &lt;&amp;dma 2&gt;, &lt;&amp;dma 2&gt;;
                        dma-names       = "tx", "rx";
                        interrupts-extended = &lt;&amp;plic0 41 IRQ_TYPE_LEVEL_HIGH&gt;;
                        clk_parent      = &lt;0x1&gt;;
                        playback_cma    = &lt;128&gt;;
                        capture_cma     = &lt;128&gt;;
                        device_type = "spdif";
                        status = "disabled";
                };

                soundspdif:soundspdif@2036040 {
                        reg = &lt;0x0 0x02036040 0x0 0x4&gt;;
                        compatible = "sunxi,simple-audio-card";
                        simple-audio-card,name = "sndspdif";
                        status = "disabled";
                         /* simple-audio-card,format = "i2s"; */
                         simple-audio-card,cpu {
                                 sound-dai = &lt;&amp;spdif&gt;;
                         };
                         simple-audio-card,codec {
                                 /*snd-soc-dummy*/
                         };
                };

                g2d: g2d@5410000 {
                        compatible = "allwinner,sunxi-g2d";
                        reg = &lt;0x0 0x05410000 0x0 0x3ffff&gt;;
/*                      interrupts = &lt;GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH&gt;;*/
                        interrupts-extended = &lt;&amp;plic0 105 IRQ_TYPE_LEVEL_HIGH&gt;;
                        clocks = &lt;&amp;ccu CLK_BUS_G2D&gt;, &lt;&amp;ccu CLK_G2D&gt;, &lt;&amp;ccu CLK_MBUS_G2D&gt;;
                        clock-names = "bus", "g2d", "mbus_g2d";
                        resets = &lt;&amp;ccu RST_BUS_G2D&gt;;
                        iommus = &lt;&amp;mmu_aw 3 1&gt;;
                        status = "okay";
                };

                disp: disp@5000000 {
                        compatible = "allwinner,sunxi-disp";
                        reg = &lt;0x0 0x05000000 0x0 0x3fffff&gt;,    /* de0 */
                              &lt;0x0 0x05460000 0x0 0xfff&gt;,       /*display_if_top*/
                              &lt;0x0 0x05461000 0x0 0xfff&gt;,       /* tcon-lcd0 */
                              &lt;0x0 0x05470000 0x0 0xfff&gt;,       /* tcon-tv */
                              &lt;0x0 0x05450000 0x0 0x1fff&gt;;      /* dsi0*/
/*                      interrupts = &lt;GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH&gt;,tcon-lcd0
                                     &lt;GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH&gt;,tcon-tv
                                     &lt;GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH&gt;;dsi*/
                        interrupts-extended = &lt;&amp;plic0 106 IRQ_TYPE_LEVEL_HIGH&gt;,
                                              &lt;&amp;plic0 107 IRQ_TYPE_LEVEL_HIGH&gt;,
                                              &lt;&amp;plic0 108 IRQ_TYPE_LEVEL_HIGH&gt;;

                        clocks = &lt;&amp;ccu CLK_DE0&gt;,
                                 &lt;&amp;ccu CLK_DE0&gt;,
                                 &lt;&amp;ccu CLK_BUS_DE0&gt;,
                                 &lt;&amp;ccu CLK_BUS_DE0&gt;,
                                 &lt;&amp;ccu CLK_BUS_DPSS_TOP0&gt;,
                                 &lt;&amp;ccu CLK_BUS_DPSS_TOP0&gt;,
                                 &lt;&amp;ccu CLK_MIPI_DSI&gt;,
                                 &lt;&amp;ccu CLK_BUS_MIPI_DSI&gt;,
                                 &lt;&amp;ccu CLK_TCON_LCD0&gt;,
                                 &lt;&amp;ccu CLK_TCON_TV&gt;,
                                 &lt;&amp;ccu CLK_BUS_TCON_LCD0&gt;,
                                 &lt;&amp;ccu CLK_BUS_TCON_TV&gt;,
                                 &lt;&amp;ccu CLK_MIPI_DSI&gt;,
                                 &lt;&amp;ccu CLK_BUS_MIPI_DSI&gt;;
                        clock-names = "clk_de0",
                                        "clk_de1",
                                        "clk_bus_de0",
                                        "clk_bus_de1",
                                        "clk_bus_dpss_top0",
                                        "clk_bus_dpss_top1",
                                        "clk_mipi_dsi0",
                                        "clk_bus_mipi_dsi0",
                                        "clk_tcon0",
                                        "clk_tcon1",/*tcon-tv actually*/
                                        "clk_bus_tcon0",
                                        "clk_bus_tcon1",/*tcon-tv actually*/
                                        "clk_mipi_dsi0",
                                        "clk_bus_mipi_dsi0";
                        resets = &lt;&amp;ccu RST_BUS_DE0&gt;,
                                 &lt;&amp;ccu RST_BUS_DE0&gt;,
                                 &lt;&amp;ccu RST_BUS_DPSS_TOP0&gt;,
                                 &lt;&amp;ccu RST_BUS_DPSS_TOP0&gt;,
                                 &lt;&amp;ccu RST_BUS_MIPI_DSI&gt;,
                                 &lt;&amp;ccu RST_BUS_TCON_LCD0&gt;,
                                 &lt;&amp;ccu RST_BUS_TCON_TV&gt;,
                                 &lt;&amp;ccu RST_BUS_LVDS0&gt;;
                        reset-names = "rst_bus_de0",
                                        "rst_bus_de1",
                                        "rst_bus_dpss_top0",
                                        "rst_bus_dpss_top1",
                                        "rst_bus_mipi_dsi0",
                                        "rst_bus_tcon0",
                                        "rst_bus_tcon1",
                                        "rst_bus_lvds0";

                        assigned-clocks = &lt;&amp;ccu CLK_DE0&gt;,
                        &lt;&amp;ccu CLK_MIPI_DSI&gt;,
                        &lt;&amp;ccu CLK_TCON_LCD0&gt;,
                        &lt;&amp;ccu CLK_TCON_TV&gt;;
                        assigned-clock-parents = &lt;&amp;ccu CLK_PLL_PERIPH0_2X&gt;,
                        &lt;&amp;ccu CLK_PLL_PERIPH0&gt;,
                        &lt;&amp;ccu CLK_PLL_VIDEO0_4X&gt;,
                        &lt;&amp;ccu CLK_PLL_VIDEO1_4X&gt;;
                        assigned-clock-rates = &lt;300000000&gt;,
                        &lt;0&gt;,
                        &lt;0&gt;,
                        &lt;0&gt;;

                        boot_disp = &lt;0&gt;;
                        boot_disp1 = &lt;0&gt;;
                        boot_disp2 = &lt;0&gt;;
                        fb_base = &lt;0&gt;;
                        iommus = &lt;&amp;mmu_aw 2 0&gt;;
                        status = "okay";
                };

             ve: ve@1c0e000 {
                   compatible = "allwinner,sunxi-cedar-ve";
                   reg = &lt;0x0 0x01c0e000 0x0 0x1000&gt;,
                         &lt;0x0 0x03000000 0x0 0x10&gt;,
                         &lt;0x0 0x03001000 0x0 0x1000&gt;;
                   interrupts-extended = &lt;&amp;plic0 82 IRQ_TYPE_LEVEL_HIGH&gt;;
                   clocks = &lt;&amp;ccu CLK_BUS_VE&gt;, &lt;&amp;ccu CLK_VE&gt;, &lt;&amp;ccu CLK_MBUS_VE&gt;;
                   clock-names = "bus_ve", "ve", "mbus_ve";
                   resets = &lt;&amp;ccu RST_BUS_VE&gt;;
                   iommus = &lt;&amp;mmu_aw 0 1&gt;;
                   status = "okay";
             };

                msgbox: msgbox@0601f000 {
                        compatible = "sunxi,msgbox-amp";
                        reg = &lt;0x0 0x03003000 0x0 0x1000&gt;,
                              &lt;0x0 0x01701000 0x0 0x1000&gt;,
                              &lt;0x0 0x0601f000 0x0 0x1000&gt;;
                        interrupts-extended = &lt;&amp;plic0 144 IRQ_TYPE_LEVEL_HIGH&gt;,
                                        &lt;&amp;plic0 102 IRQ_TYPE_LEVEL_HIGH&gt;,
                                        &lt;&amp;plic0 140 IRQ_TYPE_LEVEL_HIGH&gt;;
                        clocks = &lt;&amp;ccu CLK_BUS_MSGBOX2&gt;;
                        rpmsg_id = "sunxi,dsp-msgbox";
                        resets = &lt;&amp;ccu RST_BUS_MSGBOX2&gt;;
                        reset-names = "rst";
                        msgbox_amp_counts = &lt;3&gt;;
                        msgbox_amp_local = &lt;2&gt;;
                        rpmsg_amp_remote-0 = &lt;1&gt;;
                        rpmsg_read_channel-0 = &lt;2&gt;;
                        rpmsg_write_channel-0 = &lt;2&gt;;
                };

                lcd0: lcd0@1c0c000 {
                        compatible = "allwinner,sunxi-lcd0";
                        reg = &lt;0x0 0x1c0c000 0x0 0x0&gt;;  /* Fake registers to avoid dtc compiling warnings */
                        pinctrl-names = "active","sleep";
                        status = "okay";
                };


                sdc2: sdmmc@4022000 {
                        compatible = "allwinner,sunxi-mmc-v4p6x";
                        device_type = "sdc2";
                        reg = &lt;0x0 0x04022000 0x0 0x1000&gt;;
                        interrupts-extended = &lt;&amp;plic0 58 IRQ_TYPE_LEVEL_HIGH&gt;;
                        clocks = &lt;&amp;dcxo24M&gt;,
                                 &lt;&amp;ccu CLK_PLL_PERIPH0_2X&gt;,
                                 &lt;&amp;ccu CLK_MMC2&gt;,
                                 &lt;&amp;ccu CLK_BUS_MMC2&gt;;
                        clock-names = "osc24m","pll_periph","mmc","ahb";
                        resets = &lt;&amp;ccu RST_BUS_MMC2&gt;;
                        reset-names = "rst";
                        pinctrl-names = "default","sleep";
                        pinctrl-0 = &lt;&amp;sdc2_pins_a&gt;;
                        pinctrl-1 = &lt;&amp;sdc2_pins_b&gt;;
                        bus-width = &lt;4&gt;;
                        req-page-count = &lt;2&gt;;
                        cap-mmc-highspeed;
                        cap-cmd23;
                        mmc-cache-ctrl;
                        non-removable;
                        /*max-frequency = &lt;200000000&gt;;*/
                        max-frequency = &lt;50000000&gt;;
                        cap-erase;
                        mmc-high-capacity-erase-size;
                        no-sdio;
                        no-sd;
                        /*-- speed mode --*/
                        /*sm0: DS26_SDR12*/
                        /*sm1: HSSDR52_SDR25*/
                        /*sm2: HSDDR52_DDR50*/
                        /*sm3: HS200_SDR104*/
                        /*sm4: HS400*/
                        /*-- frequency point --*/
                        /*f0: CLK_400K*/
                        /*f1: CLK_25M*/
                        /*f2: CLK_50M*/
                        /*f3: CLK_100M*/
                        /*f4: CLK_150M*/
                        /*f5: CLK_200M*/

                        sdc_tm4_sm0_freq0 = &lt;0&gt;;
                        sdc_tm4_sm0_freq1 = &lt;0&gt;;
                        sdc_tm4_sm1_freq0 = &lt;0x00000000&gt;;
                        sdc_tm4_sm1_freq1 = &lt;0&gt;;
                        sdc_tm4_sm2_freq0 = &lt;0x00000000&gt;;
                        sdc_tm4_sm2_freq1 = &lt;0&gt;;
                        sdc_tm4_sm3_freq0 = &lt;0x05000000&gt;;
                        sdc_tm4_sm3_freq1 = &lt;0x00000005&gt;;
                        sdc_tm4_sm4_freq0 = &lt;0x00050000&gt;;
                        sdc_tm4_sm4_freq1 = &lt;0x00000004&gt;;
                        sdc_tm4_sm4_freq0_cmd = &lt;0&gt;;
                        sdc_tm4_sm4_freq1_cmd = &lt;0&gt;;

                        /*vmmc-supply = &lt;&amp;reg_3p3v&gt;;*/
                        /*vqmc-supply = &lt;&amp;reg_3p3v&gt;;*/
                        /*vdmc-supply = &lt;&amp;reg_3p3v&gt;;*/
                        /*vmmc = "vcc-card";*/
                        /*vqmc = "";*/
                        /*vdmc = "";*/
                        /*sunxi-power-save-mode;*/
                };

                sdc0: sdmmc@4020000 {
                        compatible = "allwinner,sunxi-mmc-v5p3x";
                        device_type = "sdc0";
                        reg = &lt;0x0 0x04020000 0x0 0x1000&gt;;
                        interrupts-extended = &lt;&amp;plic0 56 IRQ_TYPE_LEVEL_HIGH&gt;;
                        clocks = &lt;&amp;dcxo24M&gt;,
                                 &lt;&amp;ccu CLK_PLL_PERIPH0_2X&gt;,
                                 &lt;&amp;ccu CLK_MMC0&gt;,
                                 &lt;&amp;ccu CLK_BUS_MMC0&gt;;
                        clock-names = "osc24m","pll_periph","mmc","ahb";
                        resets = &lt;&amp;ccu RST_BUS_MMC0&gt;;
                        reset-names = "rst";
                        pinctrl-names = "default","mmc_1v8","sleep","uart_jtag";
                        pinctrl-0 = &lt;&amp;sdc0_pins_a&gt;;
                        pinctrl-1 = &lt;&amp;sdc0_pins_b&gt;;
                        pinctrl-2 = &lt;&amp;sdc0_pins_c&gt;;
                        pinctrl-3 = &lt;&amp;sdc0_pins_d &amp;sdc0_pins_e&gt;;
                        max-frequency = &lt;50000000&gt;;
                        bus-width = &lt;4&gt;;
                        req-page-count = &lt;2&gt;;
                        /*non-removable;*/
                        /*broken-cd;*/
                        /*cd-inverted*/
                        /*cd-gpios = &lt;&amp;pio PF 6 GPIO_ACTIVE_LOW&gt;;*/
                        /* vmmc-supply = &lt;&amp;reg_3p3v&gt;;*/
                        /* vqmc-supply = &lt;&amp;reg_3p3v&gt;;*/
                        /* vdmc-supply = &lt;&amp;reg_3p3v&gt;;*/
                        /*vmmc = "vcc-card";*/
                        /*vqmc = "";*/
                        /*vdmc = "";*/
                        cap-sd-highspeed;
                        cap-wait-while-busy;
                        no-sdio;
                        no-mmc;
                        /*sd-uhs-sdr50;*/
                        /*sd-uhs-ddr50;*/
                        /*cap-sdio-irq;*/
                        /*keep-power-in-suspend;*/
                        /*ignore-pm-notify;*/
                        /*sunxi-power-save-mode;*/
                        /*sunxi-dly-400k = &lt;1 0 0 0&gt;; */
                        /*sunxi-dly-26M  = &lt;1 0 0 0&gt;;*/
                        /*sunxi-dly-52M  = &lt;1 0 0 0&gt;;*/
                        /*sunxi-dly-52M-ddr4  = &lt;1 0 0 0&gt;;*/
                        /*sunxi-dly-52M-ddr8  = &lt;1 0 0 0&gt;;*/
                        /*sunxi-dly-104M  = &lt;1 0 0 0&gt;;*/
                        /*sunxi-dly-208M  = &lt;1 0 0 0&gt;;*/
                        /*sunxi-dly-104M-ddr  = &lt;1 0 0 0&gt;;*/
                        /*sunxi-dly-208M-ddr  = &lt;1 0 0 0&gt;;*/

                        status = "okay";
                };



                sdc1: sdmmc@4021000 {
                        compatible = "allwinner,sunxi-mmc-v5p3x";
                        device_type = "sdc1";
                        reg = &lt;0x0 0x04021000 0x0 0x1000&gt;;
                        interrupts-extended = &lt;&amp;plic0 57 IRQ_TYPE_LEVEL_HIGH&gt;;
                        clocks = &lt;&amp;dcxo24M&gt;,
                                 &lt;&amp;ccu CLK_PLL_PERIPH0_2X&gt;,
                                 &lt;&amp;ccu CLK_MMC1&gt;,
                                 &lt;&amp;ccu CLK_BUS_MMC1&gt;;
                        clock-names = "osc24m","pll_periph","mmc","ahb";
                        resets = &lt;&amp;ccu RST_BUS_MMC1&gt;;
                        reset-names = "rst";
                        pinctrl-names = "default","sleep";
                        pinctrl-0 = &lt;&amp;sdc1_pins_a&gt;;
                        pinctrl-1 = &lt;&amp;sdc1_pins_b&gt;;
                        max-frequency = &lt;50000000&gt;;
                        bus-width = &lt;4&gt;;
                        /*broken-cd;*/
                        /*cd-inverted*/
                        /*cd-gpios = &lt;&amp;pio PG 6 6 1 2 0&gt;;*/
                        /* vmmc-supply = &lt;&amp;reg_3p3v&gt;;*/
                        /* vqmc-supply = &lt;&amp;reg_3p3v&gt;;*/
                        /* vdmc-supply = &lt;&amp;reg_3p3v&gt;;*/
                        /*vmmc = "vcc-card";*/
                        /*vqmc = "";*/
                        /*vdmc = "";*/
                        cap-sd-highspeed;
                        no-mmc;
                        /*sd-uhs-sdr50;*/
                        /*sd-uhs-ddr50;*/
                        /*sd-uhs-sdr104;*/
                        /*cap-sdio-irq;*/
                        keep-power-in-suspend;
                        /*ignore-pm-notify;*/
                        /*sunxi-power-save-mode;*/
                        /*sunxi-dly-400k = &lt;1 0 0 0 0&gt;; */
                        /*sunxi-dly-26M  = &lt;1 0 0 0 0&gt;;*/
                        /*sunxi-dly-52M  = &lt;1 0 0 0 0&gt;;*/
                        sunxi-dly-52M-ddr4  = &lt;1 0 0 0 2&gt;;
                        /*sunxi-dly-52M-ddr8  = &lt;1 0 0 0 0&gt;;*/
                        sunxi-dly-104M  = &lt;1 0 0 0 1&gt;;
                        /*sunxi-dly-208M  = &lt;1 1 0 0 0&gt;;*/
                        sunxi-dly-208M  = &lt;1 0 0 0 1&gt;;
                        /*sunxi-dly-104M-ddr  = &lt;1 0 0 0 0&gt;;*/
                        /*sunxi-dly-208M-ddr  = &lt;1 0 0 0 0&gt;;*/

                        status = "disabled";
                };

                hdmi: hdmi@5500000 {
                        compatible = "allwinner,sunxi-hdmi";
                        reg = &lt;0x0 0x05500000 0x0 0xfffff&gt;;
                        interrupts-extended = &lt;&amp;plic0 93 IRQ_TYPE_LEVEL_HIGH&gt;;
                        clocks = &lt;&amp;ccu CLK_BUS_HDMI&gt;,
                                &lt;&amp;ccu CLK_HDMI_24M&gt;,
                                &lt;&amp;ccu CLK_HDMI_CEC&gt;,
                                &lt;&amp;ccu CLK_TCON_TV&gt;;
                        clock-names = "clk_bus_hdmi",
                                        "clk_ddc",
                                        "clk_cec",
                                        "clk_tcon_tv";
                        resets = &lt;&amp;ccu RST_BUS_HDMI_SUB&gt;,
                                &lt;&amp;ccu RST_BUS_HDMI_MAIN&gt;;
                        reset-names = "rst_bus_sub",
                                      "rst_bus_main";
                        assigned-clocks = &lt;&amp;ccu CLK_HDMI_CEC&gt;;
                        assigned-clock-parents = &lt;&amp;ccu CLK_HDMI_CEC_32K&gt;;
                        assigned-clock-rates = &lt;0&gt;;
                        status = "okay";
                };

                usbc0:usbc0@0 {
                        device_type = "usbc0";
                        compatible = "allwinner,sunxi-otg-manager";
                        usb_port_type = &lt;2&gt;;
                        usb_detect_type = &lt;1&gt;;
                        usb_id_gpio;
                        usb_det_vbus_gpio;
                        usb_regulator_io = "nocare";
                        usb_wakeup_suspend = &lt;0&gt;;
                        usb_luns = &lt;3&gt;;
                        usb_serial_unique = &lt;0&gt;;
                        usb_serial_number = "20080411";
                        rndis_wceis = &lt;1&gt;;
                        status = "okay";
                };

                udc:udc-controller@0x04100000 {
                        compatible = "allwinner,sunxi-udc";
                        reg = &lt;0x0 0x04100000 0x0 0x1000&gt;, /*udc base*/
                              &lt;0x0 0x00000000 0x0 0x100&gt;; /*sram base*/
                        interrupts-extended = &lt;&amp;plic0 45 IRQ_TYPE_LEVEL_HIGH&gt;;
                        clocks = &lt;&amp;ccu CLK_BUS_OTG&gt;;
                        clock-names = "bus_otg";
                        resets = &lt;&amp;ccu RST_BUS_OTG&gt;, &lt;&amp;ccu RST_USB_PHY0&gt;;
                        reset-names = "otg", "phy";
                        status = "okay";
                };

                ehci0:ehci0-controller@0x04101000 {
                        compatible = "allwinner,sunxi-ehci0";
                        reg = &lt;0x0 0x04101000 0x0 0xFFF&gt;, /*hci0 base*/
                              &lt;0x0 0x00000000 0x0 0x100&gt;, /*sram base*/
                              &lt;0x0 0x04100000 0x0 0x1000&gt;; /*otg base*/
                        interrupts-extended = &lt;&amp;plic0 46 IRQ_TYPE_LEVEL_HIGH&gt;;
                        clocks = &lt;&amp;ccu CLK_BUS_EHCI0&gt;;
                        clock-names = "bus_hci";
                        resets = &lt;&amp;ccu RST_BUS_EHCI0&gt;, &lt;&amp;ccu RST_USB_PHY0&gt;;
                        reset-names = "hci", "phy";
                        hci_ctrl_no = &lt;0&gt;;
                        status = "okay";
                };

                ohci0:ohci0-controller@0x04101400 {
                        compatible = "allwinner,sunxi-ohci0";
                        reg = &lt;0x0 0x04101400 0x0 0xFFF&gt;, /*hci0 base*/
                              &lt;0x0 0x00000000 0x0 0x100&gt;, /*sram base*/
                              &lt;0x0 0x04100000 0x0 0x1000&gt;; /*otg base*/
                        interrupts-extended = &lt;&amp;plic0 47 IRQ_TYPE_LEVEL_HIGH&gt;;
                        clocks = &lt;&amp;ccu CLK_BUS_OHCI0&gt;, &lt;&amp;ccu CLK_USB_OHCI0&gt;;
                        clock-names = "bus_hci", "ohci";
                        resets = &lt;&amp;ccu RST_BUS_OHCI0&gt;, &lt;&amp;ccu RST_USB_PHY0&gt;;
                        reset-names = "hci", "phy";
                        hci_ctrl_no = &lt;0&gt;;
                        status = "okay";
                };

                usbc1:usbc1@0 {
                        device_type = "usbc1";
                        usb_regulator_io = "nocare";
                        usb_wakeup_suspend = &lt;0&gt;;
                        status = "disable";
                };

                ehci1:ehci1-controller@0x04200000 {
                        compatible = "allwinner,sunxi-ehci1";
                        reg = &lt;0x0 0x04200000 0x0 0xFFF&gt;, /*ehci1 base*/
                              &lt;0x0 0x00000000 0x0 0x100&gt;, /*sram base*/
                              &lt;0x0 0x04100000 0x0 0x1000&gt;; /*otg base*/
                        interrupts-extended = &lt;&amp;plic0 49 IRQ_TYPE_LEVEL_HIGH&gt;;
                        clocks = &lt;&amp;ccu CLK_BUS_EHCI1&gt;;
                        clock-names = "bus_hci";
                        resets = &lt;&amp;ccu RST_BUS_EHCI1&gt;, &lt;&amp;ccu RST_USB_PHY1&gt;;
                        reset-names = "hci", "phy";
                        hci_ctrl_no = &lt;1&gt;;
                        status = "disable";
                };

                ohci1:ohci1-controller@0x04200400 {
                        compatible = "allwinner,sunxi-ohci1";
                        reg = &lt;0x0 0x04200400 0x0 0xFFF&gt;, /*ohci1 base*/
                              &lt;0x0 0x00000000 0x0 0x100&gt;, /*sram base*/
                              &lt;0x0 0x04100000 0x0 0x1000&gt;; /*otg base*/
                        interrupts-extended = &lt;&amp;plic0 50 IRQ_TYPE_LEVEL_HIGH&gt;;
                        clocks = &lt;&amp;ccu CLK_BUS_OHCI1&gt;, &lt;&amp;ccu CLK_USB_OHCI1&gt;;
                        clock-names = "bus_hci", "ohci";
                        resets = &lt;&amp;ccu RST_BUS_OHCI1&gt;, &lt;&amp;ccu RST_USB_PHY1&gt;;
                        reset-names = "hci", "phy";
                        hci_ctrl_no = &lt;1&gt;;
                        status = "disable";
                };

                pwm0: pwm0@2000c10 {
                        compatible = "allwinner,sunxi-pwm0";
                        reg = &lt;0x0 0x02000c10 0x0 0x4&gt;;
                        reg_base = &lt;0x02000c00&gt;;
                };

                pwm1: pwm1@2000c11 {
                        compatible = "allwinner,sunxi-pwm1";
                        reg = &lt;0x0 0x02000c11 0x0 0x4&gt;;
                        reg_base = &lt;0x02000c00&gt;;
                };

                pwm2: pwm2@2000c12 {
                        compatible = "allwinner,sunxi-pwm2";
                        reg = &lt;0x0 0x02000c12 0x0 0x4&gt;;
                        reg_base = &lt;0x02000c00&gt;;
                };

                pwm3: pwm3@2000c13 {
                        compatible = "allwinner,sunxi-pwm3";
                        reg = &lt;0x0 0x02000c13 0x0 0x4&gt;;
                        reg_base = &lt;0x02000c00&gt;;
                };

                pwm4: pwm4@2000c14 {
                        compatible = "allwinner,sunxi-pwm4";
                        reg = &lt;0x0 0x02000c14 0x0 0x4&gt;;
                        reg_base = &lt;0x02000c00&gt;;
                };

                pwm5: pwm5@2000c15 {
                        compatible = "allwinner,sunxi-pwm5";
                        reg = &lt;0x0 0x02000c15 0x0 0x4&gt;;
                        reg_base = &lt;0x02000c00&gt;;
                };

                pwm6: pwm6@2000c16 {
                        compatible = "allwinner,sunxi-pwm6";
                        reg = &lt;0x0 0x02000c16 0x0 0x4&gt;;
                        reg_base = &lt;0x02000c00&gt;;
                };

                pwm7: pwm7@2000c17 {
                        compatible = "allwinner,sunxi-pwm7";
                        reg = &lt;0x0 0x02000c17 0x0 0x4&gt;;
                        reg_base = &lt;0x02000c00&gt;;
                };
                vind0: vind@5800800 {
                        compatible = "allwinner,sunxi-vin-media", "simple-bus";
                        #address-cells = &lt;2&gt;;
                        #size-cells = &lt;2&gt;;
                        ranges;
                        device_id = &lt;0&gt;;
                        csi_top = &lt;336000000&gt;;
                        csi_isp = &lt;327000000&gt;;
                        reg = &lt;0x0 0x05800800 0x0 0x200&gt;,
                                &lt;0x0 0x05800000 0x0 0x800&gt;;
                        clocks = &lt;&amp;ccu CLK_CSI_TOP&gt;, &lt;&amp;ccu CLK_PLL_VIDEO1_2X&gt;,
                                &lt;&amp;ccu CLK_CSI0_MCLK&gt;, &lt;&amp;dcxo24M&gt;, &lt;&amp;ccu CLK_PLL_VIDEO1&gt;,
                                &lt;&amp;ccu CLK_BUS_CSI&gt;, &lt;&amp;ccu CLK_MBUS_CSI&gt;;
                        clock-names = "csi_top", "csi_top_src",
                                        "csi_mclk0", "csi_mclk0_24m", "csi_mclk0_pll",
                                        "csi_bus", "csi_mbus";
                        resets = &lt;&amp;ccu RST_BUS_CSI&gt;;
                        reset-names = "csi_ret";
                        pinctrl-names = "mclk0-default", "mclk0-sleep";
                        pinctrl-0 = &lt;&amp;csi_mclk0_pins_a&gt;;
                        pinctrl-1 = &lt;&amp;csi_mclk0_pins_b&gt;;
                        status = "okay";

                        csi0: csi@5801000{
                                compatible = "allwinner,sunxi-csi";
                                reg = &lt;0x0 0x05801000 0x0 0x1000&gt;;
                                interrupts-extended = &lt;&amp;plic0 116 IRQ_TYPE_LEVEL_HIGH&gt;;
                                pinctrl-names = "default","sleep";
                                pinctrl-0 = &lt;&amp;csi0_pins_a&gt;;
                                pinctrl-1 = &lt;&amp;csi0_pins_b&gt;;
                                device_id = &lt;0&gt;;
                                iommus = &lt;&amp;mmu_aw 1 1&gt;;
                                status = "okay";
                        };
                        isp0: isp@5809410 {
                                compatible = "allwinner,sunxi-isp";
                                reg = &lt;0x0 0x05809410 0x0 0x10&gt;;
                                device_id = &lt;0xfe&gt;;

                                status = "okay";
                        };
                        isp1: isp@5809420 {
                                compatible = "allwinner,sunxi-isp";
                                reg = &lt;0x0 0x05809420 0x0 0x10&gt;;
                                device_id = &lt;0xff&gt;;
                                status = "okay";
                        };
                        scaler0: scaler@5809430 {
                                compatible = "allwinner,sunxi-scaler";
                                reg = &lt;0x0 0x05809430 0x0 0x10&gt;;
                                device_id = &lt;0xfe&gt;;
                                status = "okay";
                        };
                        scaler1: scaler@5809440 {
                                compatible = "allwinner,sunxi-scaler";
                                reg = &lt;0x0 0x05809440 0x0 0x10&gt;;
                                device_id = &lt;0xff&gt;;
                                status = "okay";
                        };
                        actuator0: actuator@5809450 {
                                compatible = "allwinner,sunxi-actuator";
                                device_type = "actuator0";
                                reg = &lt;0x0 0x05809450 0x0 0x10&gt;;
                                actuator0_name = "ad5820_act";
                                actuator0_slave = &lt;0x18&gt;;
                                actuator0_af_pwdn = &lt;&gt;;
                                actuator0_afvdd = "afvcc-csi";
                                actuator0_afvdd_vol = &lt;2800000&gt;;
                                status = "disabled";
                        };
                        flash0: flash@5809460 {
                                device_type = "flash0";
                                compatible = "allwinner,sunxi-flash";
                                reg = &lt;0x0 0x05809460 0x0 0x10&gt;;
                                flash0_type = &lt;2&gt;;
                                flash0_en = &lt;&gt;;
                                flash0_mode = &lt;&gt;;
                                flash0_flvdd = "";
                                flash0_flvdd_vol = &lt;&gt;;
                                device_id = &lt;0&gt;;
                                status = "disabled";
                        };
                        sensor0: sensor@5809470 {
                                reg = &lt;0x0 0x05809470 0x0 0x10&gt;;
                                device_type = "sensor0";
                                compatible = "allwinner,sunxi-sensor";
                                sensor0_mname = "ov5640";
                                sensor0_twi_cci_id = &lt;2&gt;;
                                sensor0_twi_addr = &lt;0x78&gt;;
                                sensor0_mclk_id = &lt;0&gt;;
                                sensor0_pos = "rear";
                                sensor0_isp_used = &lt;0&gt;;
                                sensor0_fmt = &lt;0&gt;;
                                sensor0_stby_mode = &lt;0&gt;;
                                sensor0_vflip = &lt;0&gt;;
                                sensor0_hflip = &lt;0&gt;;
                                sensor0_iovdd-supply = &lt;&gt;;
                                sensor0_iovdd_vol = &lt;&gt;;
                                sensor0_avdd-supply = &lt;&gt;;
                                sensor0_avdd_vol = &lt;&gt;;
                                sensor0_dvdd-supply = &lt;&gt;;
                                sensor0_dvdd_vol = &lt;&gt;;
                                sensor0_power_en = &lt;&gt;;
                                sensor0_reset = &lt;&amp;pio PE 9 GPIO_ACTIVE_LOW&gt;;
                                sensor0_pwdn = &lt;&amp;pio PE 8 GPIO_ACTIVE_LOW&gt;;
                                sensor0_sm_vs = &lt;&gt;;
                                flash_handle = &lt;&amp;flash0&gt;;
                                act_handle = &lt;&amp;actuator0&gt;;
                                device_id = &lt;0&gt;;
                                status  = "okay";
                        };
                        sensor1: sensor@5809480 {
                                reg = &lt;0x0 0x05809480 0x0 0x10&gt;;
                                device_type = "sensor1";
                                compatible = "allwinner,sunxi-sensor";
                                sensor1_mname = "ov5647";
                                sensor1_twi_cci_id = &lt;3&gt;;
                                sensor1_twi_addr = &lt;0x6c&gt;;
                                sensor1_mclk_id = &lt;1&gt;;
                                sensor1_pos = "front";
                                sensor1_isp_used = &lt;0&gt;;
                                sensor1_fmt = &lt;0&gt;;
                                sensor1_stby_mode = &lt;0&gt;;
                                sensor1_vflip = &lt;0&gt;;
                                sensor1_hflip = &lt;0&gt;;
                                sensor1_iovdd-supply = &lt;&gt;;
                                sensor1_iovdd_vol = &lt;&gt;;
                                sensor1_avdd-supply = &lt;&gt;;
                                sensor1_avdd_vol = &lt;&gt;;
                                sensor1_dvdd-supply = &lt;&gt;;
                                sensor1_dvdd_vol = &lt;&gt;;
                                sensor1_power_en = &lt;&gt;;
                                sensor1_reset = &lt;&amp;pio PE 7 GPIO_ACTIVE_LOW&gt;;
                                sensor1_pwdn = &lt;&amp;pio PE 6 GPIO_ACTIVE_LOW&gt;;
                                sensor1_sm_vs = &lt;&gt;;
                                flash_handle = &lt;&gt;;
                                act_handle = &lt;&gt;;
                                device_id = &lt;1&gt;;
                                status  = "okay";
                        };
                        vinc0: vinc@5809000 {
                                compatible = "allwinner,sunxi-vin-core";
                                device_type = "vinc0";
                                reg = &lt;0x0 0x05809000 0x0 0x200&gt;;
                                interrupts-extended = &lt;&amp;plic0 111 IRQ_TYPE_LEVEL_HIGH&gt;;
                                vinc0_csi_sel = &lt;0&gt;;
                                vinc0_mipi_sel = &lt;0xff&gt;;
                                vinc0_isp_sel = &lt;0&gt;;
                                vinc0_tdm_rx_sel = &lt;0xff&gt;;
                                vinc0_rear_sensor_sel = &lt;0&gt;;
                                vinc0_front_sensor_sel = &lt;0&gt;;
                                vinc0_sensor_list = &lt;0&gt;;
                                device_id = &lt;0&gt;;
                                iommus = &lt;&amp;mmu_aw 1 1&gt;;
                                status = "okay";
                        };
                        vinc1: vinc@5809200 {
                                device_type = "vinc1";
                                compatible = "allwinner,sunxi-vin-core";
                                reg = &lt;0x0 0x05809200 0x0 0x200&gt;;
                                interrupts-extended = &lt;&amp;plic0 112 IRQ_TYPE_LEVEL_HIGH&gt;;
                                vinc1_csi_sel = &lt;0&gt;;
                                vinc1_mipi_sel = &lt;0xff&gt;;
                                vinc1_isp_sel = &lt;1&gt;;
                                vinc1_tdm_rx_sel = &lt;0xff&gt;;
                                vinc1_rear_sensor_sel = &lt;0&gt;;
                                vinc1_front_sensor_sel = &lt;0&gt;;
                                vinc1_sensor_list = &lt;0&gt;;
                                device_id = &lt;1&gt;;
                                iommus = &lt;&amp;mmu_aw 1 1&gt;;
                                status = "okay";
                        };

                };
                tvd: tvd@05c00000 {
                        compatible = "allwinner,sunxi-tvd";
                        reg = &lt;0x0 0x05c00000 0x0 0x00010000&gt;;/*tvd_top*/
                        interrupts-extended = &lt;&amp;plic0 123 IRQ_TYPE_LEVEL_HIGH&gt;;

                        clocks = &lt;&amp;ccu CLK_BUS_TVD_TOP&gt;,
                        &lt;&amp;ccu CLK_MBUS_TVIN&gt;;
                        clock-names = "clk_bus_tvd_top",
                        "clk_mbus_tvd";

                        resets = &lt;&amp;ccu RST_BUS_TVD_TOP&gt;;
                        reset-names = "rst_bus_tvd_top";

                        tvd-number = &lt;1&gt;;
                        tvds = &lt;&amp;tvd0&gt;;
                        status = "okay";
                };

                tvd0: tvd0@05c01000 {
                        compatible = "allwinner,sunxi-tvd0";
                        reg = &lt;0x0 0x05c01000 0x0 0x00010000&gt;;
                        interrupts-extended = &lt;&amp;plic0 123 IRQ_TYPE_LEVEL_HIGH&gt;;

                        clocks = &lt;&amp;ccu CLK_TVD&gt;,
                        &lt;&amp;ccu CLK_BUS_TVD&gt;;
                        clock-names = "clk_tvd0","clk_bus_tvd0";

                        resets = &lt;&amp;ccu RST_BUS_TVD&gt;;
                        reset-names = "rst_bus_tvd0";

                        assigned-clocks = &lt;&amp;ccu CLK_TVD&gt;;
                        assigned-clock-parents = &lt;&amp;ccu CLK_PLL_VIDEO1&gt;;

                        tvd_used = &lt;1&gt;;
                        tvd_if = &lt;0&gt;;
                        status = "okay";
                };
        };

};
</code></pre>
<p dir="auto">里面已经包含了 ov5460 驱动了：</p>
<pre><code>                        sensor0: sensor@5809470 {
                                reg = &lt;0x0 0x05809470 0x0 0x10&gt;;
                                device_type = "sensor0";
                                compatible = "allwinner,sunxi-sensor";
                                sensor0_mname = "ov5640";
                                sensor0_twi_cci_id = &lt;2&gt;;
                                sensor0_twi_addr = &lt;0x78&gt;;
                                sensor0_mclk_id = &lt;0&gt;;
                                sensor0_pos = "rear";
                                sensor0_isp_used = &lt;0&gt;;
                                sensor0_fmt = &lt;0&gt;;
                                sensor0_stby_mode = &lt;0&gt;;
                                sensor0_vflip = &lt;0&gt;;
                                sensor0_hflip = &lt;0&gt;;
                                sensor0_iovdd-supply = &lt;&gt;;
                                sensor0_iovdd_vol = &lt;&gt;;
                                sensor0_avdd-supply = &lt;&gt;;
                                sensor0_avdd_vol = &lt;&gt;;
                                sensor0_dvdd-supply = &lt;&gt;;
                                sensor0_dvdd_vol = &lt;&gt;;
                                sensor0_power_en = &lt;&gt;;
                                sensor0_reset = &lt;&amp;pio PE 9 GPIO_ACTIVE_LOW&gt;;
                                sensor0_pwdn = &lt;&amp;pio PE 8 GPIO_ACTIVE_LOW&gt;;
                                sensor0_sm_vs = &lt;&gt;;
                                flash_handle = &lt;&amp;flash0&gt;;
                                act_handle = &lt;&amp;actuator0&gt;;
                                device_id = &lt;0&gt;;
                                status  = "okay";
                        };
                        sensor1: sensor@5809480 {
                                reg = &lt;0x0 0x05809480 0x0 0x10&gt;;
                                device_type = "sensor1";
                                compatible = "allwinner,sunxi-sensor";
                                sensor1_mname = "ov5647";
                                sensor1_twi_cci_id = &lt;3&gt;;
                                sensor1_twi_addr = &lt;0x6c&gt;;
                                sensor1_mclk_id = &lt;1&gt;;
                                sensor1_pos = "front";
                                sensor1_isp_used = &lt;0&gt;;
                                sensor1_fmt = &lt;0&gt;;
                                sensor1_stby_mode = &lt;0&gt;;
                                sensor1_vflip = &lt;0&gt;;
                                sensor1_hflip = &lt;0&gt;;
                                sensor1_iovdd-supply = &lt;&gt;;
                                sensor1_iovdd_vol = &lt;&gt;;
                                sensor1_avdd-supply = &lt;&gt;;
                                sensor1_avdd_vol = &lt;&gt;;
                                sensor1_dvdd-supply = &lt;&gt;;
                                sensor1_dvdd_vol = &lt;&gt;;
                                sensor1_power_en = &lt;&gt;;
                                sensor1_reset = &lt;&amp;pio PE 7 GPIO_ACTIVE_LOW&gt;;
                                sensor1_pwdn = &lt;&amp;pio PE 6 GPIO_ACTIVE_LOW&gt;;
                                sensor1_sm_vs = &lt;&gt;;
                                flash_handle = &lt;&gt;;
                                act_handle = &lt;&gt;;
                                device_id = &lt;1&gt;;
                                status  = "okay";
                        };
</code></pre>
]]></description><link>https://bbs.aw-ol.com/post/4813</link><guid isPermaLink="true">https://bbs.aw-ol.com/post/4813</guid><dc:creator><![CDATA[tigger]]></dc:creator><pubDate>Tue, 08 Mar 2022 06:02:33 GMT</pubDate></item><item><title><![CDATA[Reply to 有没有哪位大神在D1S上跑过ov5640或者其他sensor的，走DVP-CSI on Tue, 08 Mar 2022 04:42:11 GMT]]></title><description><![CDATA[<p dir="auto">看了一下驱动是有了,能不能用不清楚</p>
<p dir="auto">勾选 :</p>
<ul>
<li>CONFIG_SUNXI_PLATFORM_DRIVERS=y</li>
<li>CONFIG_VIDEO_SUNXI_VIN=y</li>
<li>CONFIG_CSI_VIN=m</li>
</ul>
<p dir="auto">这样驱动都编译好了:</p>
<pre><code class="language-shell">make[4]: Entering directory '/opt/D1/tina_d1_open_v1.0_debug2/lichee/linux-5.4'
scripts/Makefile.asm-generic:25: redundant generic-y found in arch/riscv/include/asm/Kbuild: device.h
  CALL    scripts/checksyscalls.sh
  CALL    scripts/atomic/check-atomics.sh
  CHK     include/generated/compile.h

  CC [M]  drivers/media/common/videobuf2/videobuf2-memops.o
  CC [M]  drivers/media/common/videobuf2/videobuf2-dma-contig.o
  CC [M]  drivers/media/platform/sunxi-vin/modules/actuator/actuator.o
  CC [M]  drivers/media/platform/sunxi-vin/modules/sensor/nvp6158/nvp6158c.o
  CC [M]  drivers/media/platform/sunxi-vin/modules/sensor/nvp6158/nvp6158_drv.o
  CC [M]  drivers/media/platform/sunxi-vin/modules/sensor/nvp6158/video_auto_detect.o
  CC [M]  drivers/media/platform/sunxi-vin/modules/sensor/nvp6158/video_eq.o
  CC [M]  drivers/media/platform/sunxi-vin/modules/sensor/nvp6158/coax_protocol.o
  CC [M]  drivers/media/platform/sunxi-vin/modules/sensor/nvp6158/video.o
  CC [M]  drivers/media/platform/sunxi-vin/modules/sensor/nvp6158/motion.o
  CC [M]  drivers/media/platform/sunxi-vin/modules/sensor/nvp6158/audio.o
  LD [M]  drivers/media/platform/sunxi-vin/modules/sensor/nvp6158/nvp6158.o
  CC [M]  drivers/media/platform/sunxi-vin/modules/sensor/ov5640.o
  CC [M]  drivers/media/platform/sunxi-vin/modules/sensor/gc0310_mipi.o
  CC [M]  drivers/media/platform/sunxi-vin/modules/sensor/gc030a_mipi.o
  CC [M]  drivers/media/platform/sunxi-vin/modules/sensor/gc2385_mipi.o
  CC [M]  drivers/media/platform/sunxi-vin/modules/sensor/gc5025_mipi.o
  CC [M]  drivers/media/platform/sunxi-vin/modules/sensor/c2590_mipi.o
  CC [M]  drivers/media/platform/sunxi-vin/modules/sensor/sp5409_mipi.o
  CC [M]  drivers/media/platform/sunxi-vin/modules/sensor/ov8858_r2a_4lane.o
  CC [M]  drivers/media/platform/sunxi-vin/modules/sensor/ov2680_mipi.o
  CC [M]  drivers/media/platform/sunxi-vin/modules/sensor/imx278_mipi.o
  CC [M]  drivers/media/platform/sunxi-vin/modules/sensor/imx278_2lane_mipi.o
  CC [M]  drivers/media/platform/sunxi-vin/modules/sensor/imx386_2lane_mipi.o
  CC [M]  drivers/media/platform/sunxi-vin/modules/sensor/imx386_mipi.o
  CC [M]  drivers/media/platform/sunxi-vin/vin-cci/cci_helper.o
  CC [M]  drivers/media/platform/sunxi-vin/vin-cci/sunxi_cci.o
  CC [M]  drivers/media/platform/sunxi-vin/utility/vin_supply.o
  CC [M]  drivers/media/platform/sunxi-vin/utility/vin_os.o
  CC [M]  drivers/media/platform/sunxi-vin/modules/sensor/sensor-compat-ioctl32.o
  CC [M]  drivers/media/platform/sunxi-vin/modules/sensor/sensor_helper.o
  CC [M]  drivers/media/platform/sunxi-vin/vin-cci/csi_cci_reg.o
  CC [M]  drivers/media/platform/sunxi-vin/vin-cci/bsp_cci.o
  LD [M]  drivers/media/platform/sunxi-vin/vin_io.o
  CC [M]  drivers/media/platform/sunxi-vin/vin-csi/sunxi_csi.o
  CC [M]  drivers/media/platform/sunxi-vin/vin-csi/parser_reg.o
  CC [M]  drivers/media/platform/sunxi-vin/vin-mipi/sunxi_mipi.o
  CC [M]  drivers/media/platform/sunxi-vin/vin-mipi/bsp_mipi_csi_null.o
  CC [M]  drivers/media/platform/sunxi-vin/vin-mipi/combo_rx/combo_rx_reg_null.o
  CC [M]  drivers/media/platform/sunxi-vin/vin-isp/sunxi_isp.o
  CC [M]  drivers/media/platform/sunxi-vin/vin-isp/isp500/isp500_reg_cfg.o
  CC [M]  drivers/media/platform/sunxi-vin/modules/sensor-list/sensor_list.o
  CC [M]  drivers/media/platform/sunxi-vin/vin-vipp/sunxi_scaler.o
  CC [M]  drivers/media/platform/sunxi-vin/vin-vipp/vipp_reg.o
  CC [M]  drivers/media/platform/sunxi-vin/modules/flash/flash.o
  CC [M]  drivers/media/platform/sunxi-vin/utility/bsp_common.o
  CC [M]  drivers/media/platform/sunxi-vin/utility/config.o
  CC [M]  drivers/media/platform/sunxi-vin/vin-stat/vin_h3a.o
  CC [M]  drivers/media/platform/sunxi-vin/vin-video/vin_video.o
  CC [M]  drivers/media/platform/sunxi-vin/vin-video/vin_core.o
  CC [M]  drivers/media/platform/sunxi-vin/vin-video/dma_reg.o
  CC [M]  drivers/media/platform/sunxi-vin/top_reg.o
  CC [M]  drivers/media/platform/sunxi-vin/vin.o
  LD [M]  drivers/media/platform/sunxi-vin/vin_v4l2.o
  OBJCOPY arch/riscv/boot/Image
  DTC     arch/riscv/boot/dts/sunxi/board.dtb
  Building modules, stage 2.
  MODPOST 40 modules
  CC [M]  drivers/media/common/videobuf2/videobuf2-dma-contig.mod.o
  LD [M]  drivers/media/common/videobuf2/videobuf2-dma-contig.ko
  CC [M]  drivers/media/common/videobuf2/videobuf2-memops.mod.o
  LD [M]  drivers/media/common/videobuf2/videobuf2-memops.ko
  CC [M]  drivers/media/platform/sunxi-vin/modules/actuator/actuator.mod.o
  LD [M]  drivers/media/platform/sunxi-vin/modules/actuator/actuator.ko
  CC [M]  drivers/media/platform/sunxi-vin/modules/sensor/c2590_mipi.mod.o
  LD [M]  drivers/media/platform/sunxi-vin/modules/sensor/c2590_mipi.ko
  CC [M]  drivers/media/platform/sunxi-vin/modules/sensor/gc030a_mipi.mod.o
  LD [M]  drivers/media/platform/sunxi-vin/modules/sensor/gc030a_mipi.ko
  CC [M]  drivers/media/platform/sunxi-vin/modules/sensor/gc0310_mipi.mod.o
  LD [M]  drivers/media/platform/sunxi-vin/modules/sensor/gc0310_mipi.ko
  CC [M]  drivers/media/platform/sunxi-vin/modules/sensor/gc2385_mipi.mod.o
  LD [M]  drivers/media/platform/sunxi-vin/modules/sensor/gc2385_mipi.ko
  CC [M]  drivers/media/platform/sunxi-vin/modules/sensor/gc5025_mipi.mod.o
  LD [M]  drivers/media/platform/sunxi-vin/modules/sensor/gc5025_mipi.ko
  CC [M]  drivers/media/platform/sunxi-vin/modules/sensor/imx278_2lane_mipi.mod.o
  LD [M]  drivers/media/platform/sunxi-vin/modules/sensor/imx278_2lane_mipi.ko
  CC [M]  drivers/media/platform/sunxi-vin/modules/sensor/imx278_mipi.mod.o
  LD [M]  drivers/media/platform/sunxi-vin/modules/sensor/imx278_mipi.ko
  CC [M]  drivers/media/platform/sunxi-vin/modules/sensor/imx386_2lane_mipi.mod.o
  LD [M]  drivers/media/platform/sunxi-vin/modules/sensor/imx386_2lane_mipi.ko
  CC [M]  drivers/media/platform/sunxi-vin/modules/sensor/imx386_mipi.mod.o
  LD [M]  drivers/media/platform/sunxi-vin/modules/sensor/imx386_mipi.ko
  CC [M]  drivers/media/platform/sunxi-vin/modules/sensor/nvp6158/nvp6158.mod.o
  LD [M]  drivers/media/platform/sunxi-vin/modules/sensor/nvp6158/nvp6158.ko
  CC [M]  drivers/media/platform/sunxi-vin/modules/sensor/ov2680_mipi.mod.o
  LD [M]  drivers/media/platform/sunxi-vin/modules/sensor/ov2680_mipi.ko
  CC [M]  drivers/media/platform/sunxi-vin/modules/sensor/ov5640.mod.o
  LD [M]  drivers/media/platform/sunxi-vin/modules/sensor/ov5640.ko
  CC [M]  drivers/media/platform/sunxi-vin/modules/sensor/ov8858_r2a_4lane.mod.o
  LD [M]  drivers/media/platform/sunxi-vin/modules/sensor/ov8858_r2a_4lane.ko
  CC [M]  drivers/media/platform/sunxi-vin/modules/sensor/sp5409_mipi.mod.o
  LD [M]  drivers/media/platform/sunxi-vin/modules/sensor/sp5409_mipi.ko
  CC [M]  drivers/media/platform/sunxi-vin/vin_io.mod.o
  LD [M]  drivers/media/platform/sunxi-vin/vin_io.ko
  CC [M]  drivers/media/platform/sunxi-vin/vin_v4l2.mod.o
  LD [M]  drivers/media/platform/sunxi-vin/vin_v4l2.ko
make[4]: Leaving directory '/opt/D1/tina_d1_open_v1.0_debug2/lichee/linux-5.4'
</code></pre>
<p dir="auto">dts得重新配置一下.</p>
]]></description><link>https://bbs.aw-ol.com/post/4811</link><guid isPermaLink="true">https://bbs.aw-ol.com/post/4811</guid><dc:creator><![CDATA[tigger]]></dc:creator><pubDate>Tue, 08 Mar 2022 04:42:11 GMT</pubDate></item></channel></rss>