TV бокс X98H Pro


  Обзор     Корпус     Элементы     Порты     OTA     ENV       FDT    

Дерево устройств - Flattened Device Tree (FDT)

Как правило, дерево устройств представлено в виде двух блобов: DTB - основное дерево устройств и DTBO (O-overlay) - оверлей, модифицирующий или дополняющий основное дерево устройств.

В IMAGEWTY-образе прошивки двоичное дерево устройств содержится в файле sunxi.fex, который имеет в самом начале признак DTB - сигнатуру в виде hex-байтов D0 0D FE EF . Файл оверлея в образе - DTBO.fex.

В самой прошивке, записанной в память устройства (eMMC или SD), оба блоба дерева устройств упакованы в составе boot_package, который располагается в неразмеченной области загрузочного носителя, т.е. до его самого первого раздела.

Кроме того, в Android 12 в таблице разделов GPT неожиданно появился специальный раздел для оверлея (точнее, даже два), которые так и называются: 21. "dtbo_a" и 22. "dtbo_b". В этом оверлее добавлена информация о контроллере питания (PMU,PMIC) типа AXP806, который в данной приставке отсутствует.

Однако сравнение трех файлов оверлея: dtbo_a и dtbo_b из одноименных разделов, а также файла dtbo из boot_package показывает, что все три файла идентичны. Можно предположить, что специальные разделы для оверлея предусмотрены для выполнения OTA-обновлений, в которых могут вноситься изменения в дерево устройств.

ВНИМАНИЕ ! При сравнении бинарных блобов DTBO нужно учитывать, что в файлах dtbo.fex (из образа прошивки) и dtbo_a.img (dd-бекап одноименного раздела) сам блоб оверлея лежит со смещением 0x40, именно с этого адреса начинается сигнатура D0 0D FE ED


Архив с файлами дерева устройств для X98HPro (в бинарном и текстовом виде) можно загрузить по ссылке:
Файлы дерева устройств X98HPro

Для знакомства с содержимым дерева устройств ниже показаны три таблицы: 1) tree - полное дерево устройств (на основе дампа команды U-Boot fdtprint) 2) node - список узлов дерева, отсортированый по алфавиту 3) overlay - текст DTS, конвертированный из DTBO

Примечание. Для быстрого поиска свойств конкретного узла можно скопировать его имя из списка node в буфер обмена, затем перейти на страницу с полным деревом tree и подставить скопированное имя в окно поиска браузера.




Дерево устройств: DTB    Node    DTBO

Дерево устройств FDT

=> help fdt
fdt - flattened device tree utility commands

Usage:
fdt addr [-c] <addr> [<length>] - Set the [control] fdt location to <addr>
fdt apply <addr> - Apply overlay to the DT
fdt boardsetup - Do board-specific set up
fdt move <fdt> <newaddr> <length> - Copy the fdt to <addr> and make it active
fdt resize [<extrasize>] - Resize fdt to size + padding to 4k addr + some optional <extrasize> if needed
fdt print <path> [<prop>] - Recursive print starting at <path>
fdt list <path> [<prop>] - Print one level starting at <path>
fdt get value <var> <path> <prop> - Get <property> and store in <var>
fdt get name <var> <path> <index> - Get name of node <index> and store in <var>
fdt get addr <var> <path> <prop> - Get start address of <property> and store in <var>
fdt get size <var> <path> [<prop>] - Get size of [<property>] or num nodes and store in <var>
fdt set <path> <prop> [<val>] - Set <property> [to <val>]
fdt mknode <path> <node> - Create a new node after <path>
fdt rm <path> [<prop>] - Delete the node or <property>
fdt header - Display header info
fdt bootcpu <id> - Set boot cpuid
fdt memory <addr> <size> - Add/ Update memory node
fdt rsvmem print - Show current mem reserves
fdt rsvmem add <addr> <size> - Add a mem reserve
fdt rsvmem delete <index> - Delete a mem reserves
fdt chosen [<start> <end>] - Add/ update the / chosen branch in the tree
<start>/ <end> - initrd start/ end addr
NOTE: Dereference aliases by omitting the leading '/ ', e.g. fdt print ethernet0.

=> fdt print
/
    {
    interrupt-parent = <0x00000001>;
    #address-cells = <0x00000002>;
    #size-cells = <0x00000002>;
    model = "sun50iw9";
    compatible = "allwinner,h616", "arm,sun50iw9p1";
    memory
      {
      reg = <0x00000000 0x40000000 0x00000000 0x80000000>;
      device_type = "memory";
      };
    aliases
      {
      serial0 = "/ soc@3000000/ uart@5000000";
      serial1 = "/ soc@3000000/ uart@5000400";
      serial2 = "/ soc@3000000/ uart@5000800";
      serial3 = "/ soc@3000000/ uart@5000c00";
      serial4 = "/ soc@3000000/ uart@5001000";
      serial5 = "/ soc@3000000/ uart@5001400";
      pwm = "/ soc@3000000/ pwm@300a000";
      pwm0 = "/ soc@3000000/ pwm0@300a010";
      pwm1 = "/ soc@3000000/ pwm1@300a011";
      pwm2 = "/ soc@3000000/ pwm2@300a012";
      pwm3 = "/ soc@3000000/ pwm3@300a013";
      pwm4 = "/ soc@3000000/ pwm4@300a014";
      pwm5 = "/ soc@3000000/ pwm5@300a015";
      ir0 = "/ soc@3000000/ s_cir@7040000";
      mmc0 = "/ soc@3000000/ sdmmc@4020000";
      mmc2 = "/ soc@3000000/ sdmmc@4022000";
      tv0 = "/ soc@3000000/ tv0@6520000";
      gmac0 = "/ soc@3000000/ eth@5020000";
      gmac1 = "/ soc@3000000/ eth@5030000";
      ac200 = "/ soc@3000000/ ac200";
      nand0 = "/ soc@3000000/ nand0@4011000";
      ve0 = "/ soc@3000000/ ve@1c0e000";
      ve1 = "/ soc@3000000/ ve1@1c0e000";
      disp = "/ uboot_disp@1000000";
      lcd0 = "/ soc@3000000/ lcd0@1c0c000";
      pmu0 = "/ soc@3000000/ twi@7081400/ pmu";
      standby_param = "/ soc@3000000/ twi@7081400/ pmu/ standby_param";
      hdmi = "/ uboot_hdmi@6000000";
      spi0 = "/ soc@3000000/ spi@5010000";
      spi1 = "/ soc@3000000/ spi@5011000";
      twi0 = "/ soc@3000000/ twi@5002000";
      twi1 = "/ soc@3000000/ twi@5002400";
      twi2 = "/ soc@3000000/ twi@5002800";
      twi3 = "/ soc@3000000/ twi@5002c00";
      twi4 = "/ soc@3000000/ twi@5003000";
      twi5 = "/ soc@3000000/ twi@7081400";
      };
    reserved-memory
      {
      #address-cells = <0x00000002>;
      #size-cells = <0x00000002>;
      ranges;
      bl31
        {
        reg = <0x00000000 0x48000000 0x00000000 0x01000000>;
        };
      };
    firmware
      {
      android
        {
        compatible = "android,firmware";
        boot_devices = "soc@3000000/ 4020000.sdmmc,soc@3000000/ 4022000.sdmmc,soc@3000000";
        vbmeta
          {
          compatible = "android,vbmeta";
          parts = "vbmeta,vbmeta_system,vbmeta_vendor,boot";
          };
        };
      optee
        {
        compatible = "linaro,optee-tz";
        method = "smc";
        };
      };
    cpus
      {
      #address-cells = <0x00000001>;
      #size-cells = <0x00000000>;
      cpu@0
        {
        device_type = "cpu";
        compatible = "arm,cortex-a53";
        reg = <0x00000000>;
        enable-method = "psci";
        clocks = <0x00000002 0x00000015>;
        operating-points-v2 = <0x00000003>;
        cpu-idle-states = <0x00000004>;
        dynamic-power-coefficient = <0x000000ca>;
        #cooling-cells = <0x00000002>;
        cpu-supply = <0x00000005>;
        phandle = <0x00000074>;
        };
      cpu@1
        {
        device_type = "cpu";
        compatible = "arm,cortex-a53";
        reg = <0x00000001>;
        enable-method = "psci";
        clocks = <0x00000002 0x00000015>;
        operating-points-v2 = <0x00000003>;
        cpu-idle-states = <0x00000004>;
        dynamic-power-coefficient = <0x000000ca>;
        #cooling-cells = <0x00000002>;
        };
      cpu@2
        {
        device_type = "cpu";
        compatible = "arm,cortex-a53";
        reg = <0x00000002>;
        enable-method = "psci";
        clocks = <0x00000002 0x00000015>;
        operating-points-v2 = <0x00000003>;
        cpu-idle-states = <0x00000004>;
        dynamic-power-coefficient = <0x000000ca>;
        #cooling-cells = <0x00000002>;
        };
      cpu@3
        {
        device_type = "cpu";
        compatible = "arm,cortex-a53";
        reg = <0x00000003>;
        enable-method = "psci";
        clocks = <0x00000002 0x00000015>;
        operating-points-v2 = <0x00000003>;
        cpu-idle-states = <0x00000004>;
        dynamic-power-coefficient = <0x000000ca>;
        #cooling-cells = <0x00000002>;
        };
      idle-states
        {
        entry-method = "psci";
        cpu-sleep
          {
          compatible = "arm,idle-state";
          local-timer-stop;
          arm,psci-suspend-param = <0x00010000>;
          entry-latency-us = <0x0000002e>;
          exit-latency-us = <0x0000003b>;
          min-residency-us = <0x00000df2>;
          phandle = <0x00000004>;
          };
        };
      };
    cpu-opp-table
      {
      compatible = "allwinner,sun50i-operating-points";
      nvmem-cells = <0x00000006>;
      nvmem-cell-names = "speed";
      opp-shared;
      phandle = <0x00000003>;
      opp@480000000
        {
        opp-hz = <0x00000000 0x1c9c3800>;
        opp-microvolt-a0 = <0x000dbba0>;
        opp-microvolt-a1 = <0x000dbba0>;
        opp-microvolt-a2 = <0x000dbba0>;
        opp-microvolt-a3 = <0x000dbba0>;
        opp-microvolt-a4 = <0x000dbba0>;
        clock-latency-ns = <0x0003b9b0>;
        opp-supported-hw = <0x0000001f>;
        };
      opp@600000000
        {
        opp-hz = <0x00000000 0x23c34600>;
        opp-microvolt-a1 = <0x000dbba0>;
        opp-microvolt-a4 = <0x000dbba0>;
        clock-latency-ns = <0x0003b9b0>;
        opp-supported-hw = <0x00000012>;
        };
      opp@720000000
        {
        opp-hz = <0x00000000 0x2aea5400>;
        opp-microvolt-a0 = <0x000dbba0>;
        opp-microvolt-a2 = <0x000dbba0>;
        opp-microvolt-a3 = <0x000dbba0>;
        clock-latency-ns = <0x0003b9b0>;
        opp-supported-hw = <0x0000000d>;
        };
      opp@792000000
        {
        opp-hz = <0x00000000 0x2f34f600>;
        opp-microvolt-a1 = <0x000dbba0>;
        opp-microvolt-a4 = <0x000e57e0>;
        clock-latency-ns = <0x0003b9b0>;
        opp-supported-hw = <0x00000012>;
        };
      opp@936000000
        {
        opp-hz = <0x00000000 0x37ca3a00>;
        opp-microvolt-a0 = <0x000dbba0>;
        opp-microvolt-a2 = <0x000dbba0>;
        opp-microvolt-a3 = <0x000dbba0>;
        clock-latency-ns = <0x0003b9b0>;
        opp-supported-hw = <0x0000000d>;
        };
      opp@1008000000
        {
        opp-hz = <0x00000000 0x3c14dc00>;
        opp-microvolt-a0 = <0x000e7ef0>;
        opp-microvolt-a1 = <0x000e57e0>;
        opp-microvolt-a2 = <0x000e7ef0>;
        opp-microvolt-a3 = <0x000e7ef0>;
        opp-microvolt-a4 = <0x000f9060>;
        clock-latency-ns = <0x0003b9b0>;
        opp-supported-hw = <0x0000001f>;
        };
      opp@1104000000
        {
        opp-hz = <0x00000000 0x41cdb400>;
        opp-microvolt-a0 = <0x000f4240>;
        opp-microvolt-a2 = <0x000f4240>;
        opp-microvolt-a3 = <0x000f4240>;
        clock-latency-ns = <0x0003b9b0>;
        opp-supported-hw = <0x0000000d>;
        };
      opp@1200000000
        {
        opp-hz = <0x00000000 0x47868c00>;
        opp-microvolt-a0 = <0x00100590>;
        opp-microvolt-a1 = <0x000f9060>;
        opp-microvolt-a2 = <0x00100590>;
        opp-microvolt-a3 = <0x00100590>;
        opp-microvolt-a4 = <0x0010c8e0>;
        clock-latency-ns = <0x0003b9b0>;
        opp-supported-hw = <0x0000001f>;
        };
      opp@1320000000
        {
        opp-hz = <0x00000000 0x4ead9a00>;
        opp-microvolt-a0 = <0x0010c8e0>;
        opp-microvolt-a2 = <0x0010c8e0>;
        opp-microvolt-a3 = <0x0010c8e0>;
        opp-microvolt-a4 = <0x00111700>;
        clock-latency-ns = <0x0003b9b0>;
        opp-supported-hw = <0x0000001d>;
        };
      opp@1416000000
        {
        opp-hz = <0x00000000 0x54667200>;
        opp-microvolt-a0 = <0x00118c30>;
        opp-microvolt-a2 = <0x00118c30>;
        opp-microvolt-a3 = <0x00b10080>;
        clock-latency-ns = <0x0003b9b0>;
        opp-supported-hw = <0x0000000d>;
        };
      opp@1512000000
        {
        opp-hz = <0x00000000 0x5a1f4a00>;
        opp-microvolt-a1 = <0x0010c8e0>;
        opp-microvolt-a3 = <0x0010c8e0>;
        clock-latency-ns = <0x0003b9b0>;
        opp-supported-hw = <0x0000000a>;
        };
      };
    dump-reg@20000
      {
      compatible = "allwinner,sunxi-dump-reg";
      reg = <0x00000000 0x00020000 0x00000000 0x00000004>;
      phandle = <0x00000078>;
      };
    psci
      {
      compatible = "arm,psci-1.0";
      method = "smc";
      };
    internal-osc-clk
      {
      #clock-cells = <0x00000000>;
      compatible = "fixed-clock";
      clock-frequency = "", "-$";
      clock-accuracy = <0x11e1a300>;
      clock-output-names = "iosc";
      phandle = <0x0000000c>;
      };
    dcxo24M-clk
      {
      #clock-cells = <0x00000000>;
      compatible = "fixed-clock";
      clock-frequency = <0x016e3600>;
      clock-output-names = "dcxo24M";
      phandle = <0x0000000a>;
      };
    osc32k-clk
      {
      #clock-cells = <0x00000000>;
      compatible = "fixed-clock";
      clock-frequency = <0x00008000>;
      clock-output-names = "osc32k";
      phandle = <0x0000000b>;
      };
    interrupt-controller@3021000
      {
      compatible = "arm,cortex-a15-gic", "arm,cortex-a9-gic";
      #interrupt-cells = <0x00000003>;
      #address-cells = <0x00000000>;
      interrupt-controller;
      reg = <0x00000000 0x03021000 0x00000000 0x00001000 0x00000000 0x03022000 0x00000000 0x00002000 0x00000000 0x03024000 0x00000000 0x00002000 0x00000000 0x03026000 0x00000000 0x00002000>;
      interrupts = <0x00000001 0x00000009 0x00000f04>;
      interrupt-parent = <0x00000007>;
      phandle = <0x00000007>;
      };
    interrupt-controller@0
      {
      compatible = "allwinner,sunxi-wakeupgen";
      interrupt-controller;
      #interrupt-cells = <0x00000003>;
      interrupt-parent = <0x00000007>;
      phandle = <0x00000001>;
      };
    timer_arch
      {
      compatible = "arm,armv8-timer";
      interrupts = <0x00000001 0x0000000d 0x00000f08 0x00000001 0x0000000e 0x00000f08 0x00000001 0x0000000b 0x00000f08 0x00000001 0x0000000a 0x00000f08>;
      clock-frequency = <0x016e3600>;
      interrupt-parent = <0x00000007>;
      arm,no-tick-in-suspend;
      };
    pio-18
      {
      compatible = "regulator-fixed";
      regulator-name = "pio-18";
      regulator-min-microvolt = <0x001b7740>;
      regulator-max-microvolt = <0x001b7740>;
      phandle = <0x00000017>;
      };
    pio-33
      {
      compatible = "regulator-fixed";
      regulator-name = "pio-33";
      regulator-min-microvolt = <0x00325aa0>;
      regulator-max-microvolt = <0x00325aa0>;
      phandle = <0x00000018>;
      };
    dram
      {
      dram_para[00] = <0x00000288>;
      dram_para[01] = <0x00000003>;
      dram_para[02] = <0x03030303>;
      dram_para[03] = <0x0e0e0e0e>;
      dram_para[04] = <0x00001c12>;
      dram_para[05] = <0x00000001>;
      dram_para[06] = <0x000030fb>;
      dram_para[07] = <0x08000000>;
      dram_para[08] = <0x00001f14>;
      dram_para[09] = <0x00000004>;
      dram_para[10] = <0x00000020>;
      dram_para[11] = <0x00000000>;
      dram_para[12] = <0x00000000>;
      dram_para[13] = <0x00000000>;
      dram_para[14] = <0x00000000>;
      dram_para[15] = <0x00000000>;
      dram_para[16] = <0x00000000>;
      dram_para[17] = <0x00000000>;
      dram_para[18] = <0x00000000>;
      dram_para[19] = <0x00000000>;
      dram_para[20] = <0x00000000>;
      dram_para[21] = <0x00000000>;
      dram_para[22] = <0xc0000a05>;
      dram_para[23] = <0x00000000>;
      dram_para[24] = <0x00000000>;
      dram_para[25] = <0x00000000>;
      dram_para[26] = <0x33808080>;
      dram_para[27] = <0x002f0006>;
      dram_para[28] = <0xddddcccc>;
      dram_para[29] = <0xeddc7564>;
      dram_para[30] = <0x00006041>;
      dram_para[31] = <0x00000000>;
      phandle = <0x00000079>;
      };
    soc@3000000
      {
      compatible = "simple-bus";
      #address-cells = <0x00000002>;
      #size-cells = <0x00000002>;
      ranges;
      phandle = <0x0000007a>;
      disp@1000000
        {
        boot_disp2 = <0x00000004>;
        boot_disp1 = <0x01010000>;
        boot_fb0 = "bbf25000,500,2d0,20,1400,0,0,500,2d0";
        compatible = "allwinner,sunxi-disp";
        reg = * 0xbbe536f4 [0x00000060];
        interrupts = <0x00000000 0x00000058 0x00000004 0x00000000 0x00000040 0x00000004 0x00000000 0x00000041 0x00000004 0x00000000 0x00000042 0x00000004 0x00000000 0x00000043 0x00000004>;
        clocks = * 0xbbe537a8 [0x00000080];
        clock-names = "clk_de0", "clk_de1", "clk_bus_de0", "clk_bus_de1", "clk_tcon0", "clk_tcon1", "clk_tcon2", "clk_tcon3", "clk_bus_tcon0", "clk_bus_tcon1", "clk_bus_tcon2", "clk_bus_tcon3", "clk_bus_dpss_top0", "clk_bus_dpss_top1", "clk_bus_dpss_top2", "clk_bus_dpss_top3";
        resets = * 0xbbe53910 [0x00000060];
        reset-names = "rst_bus_de0", "rst_bus_de1", "rst_bus_tcon0", "rst_bus_tcon1", "rst_bus_tcon2", "rst_bus_tcon3", "rst_bus_lvds0", "rst_bus_lvds1", "rst_bus_dpss_top0", "rst_bus_dpss_top1", "rst_bus_dpss_top2", "rst_bus_dpss_top3";
        assigned-clocks = <0x00000002 0x0000007f>;
        assigned-clock-parents = <0x00000002 0x0000000d>;
        assigned-clock-rates = <0x00000000>;
        iommus = <0x00000008 0x00000000 0x00000000>;
        boot_disp = <0x0000040a>;
        fb_base = <0x00000000>;
        disp_init_enable = <0x00000001>;
        disp_mode = <0x00000000>;
        screen0_output_type = <0x00000003>;
        screen0_output_mode = <0x0000000a>;
        screen0_output_format = <0x00000000>;
        screen0_output_bits = <0x00000000>;
        screen0_output_eotf = <0x00000004>;
        screen0_output_cs = <0x00000101>;
        screen0_output_dvi_hdmi = <0x00000002>;
        screen0_output_range = <0x00000002>;
        screen0_output_scan = <0x00000000>;
        screen0_output_aspect_ratio = <0x00000008>;
        screen1_output_type = <0x00000002>;
        screen1_output_mode = <0x0000000b>;
        screen1_output_format = <0x00000001>;
        screen1_output_bits = <0x00000000>;
        screen1_output_eotf = <0x00000004>;
        screen1_output_cs = <0x00000104>;
        screen1_output_dvi_hdmi = <0x00000000>;
        screen1_output_range = <0x00000002>;
        screen1_output_scan = <0x00000000>;
        screen1_output_aspect_ratio = <0x00000008>;
        dev0_output_type = <0x00000004>;
        dev0_output_mode = <0x0000000a>;
        dev0_screen_id = <0x00000000>;
        dev0_do_hpd = <0x00000001>;
        dev1_output_type = <0x00000002>;
        dev1_output_mode = <0x0000000b>;
        dev1_screen_id = <0x00000001>;
        dev1_do_hpd = <0x00000001>;
        dev2_output_type = <0x00000000>;
        def_output_dev = <0x00000000>;
        hdmi_mode_check = <0x00000001>;
        fb0_format = <0x00000000>;
        fb0_width = <0x00000500>;
        fb0_height = <0x000002d0>;
        fb1_format = <0x00000000>;
        fb1_width = <0x00000000>;
        fb1_height = <0x00000000>;
        chn_cfg_mode = <0x00000001>;
        disp_para_zone = <0x00000001>;
        phandle = <0x0000007b>;
        };
      ve@1c0e000
        {
        compatible = "allwinner,sunxi-cedar-ve";
        reg = <0x00000000 0x01c0e000 0x00000000 0x00001000 0x00000000 0x03000000 0x00000000 0x00000010 0x00000000 0x03001000 0x00000000 0x00001000>;
        interrupts = <0x00000000 0x0000005d 0x00000004>;
        clocks = <0x00000002 0x00000029 0x00000002 0x00000028 0x00000002 0x00000033>;
        clock-names = "bus_ve", "ve", "mbus_ve";
        resets = <0x00000002 0x00000006>;
        iommus = <0x00000008 0x00000003 0x00000001>;
        phandle = <0x0000007c>;
        };
      ve1@1c0e000
        {
        compatible = "allwinner,sunxi-cedar-ve";
        iommus = <0x00000008 0x00000002 0x00000001>;
        phandle = <0x0000007d>;
        };
      g2d@1480000
        {
        compatible = "allwinner,sunxi-g2d";
        reg = <0x00000000 0x01480000 0x00000000 0x0003ffff>;
        interrupts = <0x00000000 0x0000005a 0x00000004>;
        clocks = <0x00000002 0x00000022 0x00000002 0x00000021 0x00000002 0x00000038>;
        clock-names = "bus", "g2d", "mbus_g2d";
        resets = <0x00000002 0x00000003>;
        iommus = <0x00000008 0x00000006 0x00000001>;
        phandle = <0x0000007e>;
        };
      deinterlace@1420000
        {
        #address-cells = <0x00000001>;
        #size-cells = <0x00000000>;
        compatible = "allwinner,sunxi-deinterlace";
        reg = <0x00000000 0x01420000 0x00000000 0x00040000>;
        interrupts = <0x00000000 0x00000059 0x00000004>;
        iommus = <0x00000008 0x00000001 0x00000001>;
        status = "okay";
        clocks = <0x00000002 0x0000001f 0x00000002 0x00000020 0x00000002 0x00000005>;
        clock-names = "clk_di", "clk_bus_di", "pll_periph";
        resets = <0x00000002 0x00000002>;
        reset-names = "rst_bus_di";
        assigned-clocks = <0x00000002 0x0000001f>;
        assigned-clock-parents = <0x00000002 0x00000005>;
        assigned-clock-rates = <0x11e1a300>;
        phandle = <0x0000007f>;
        };
      gpu@1800000
        {
        device_type = "gpu";
        compatible = "arm,mali-midgard";
        reg = <0x00000000 0x01800000 0x00000000 0x00010000>;
        interrupts = <0x00000000 0x0000005f 0x00000004 0x00000000 0x00000060 0x00000004 0x00000000 0x00000061 0x00000004>;
        interrupt-names = "JOB", "MMU", "GPU";
        clocks = <0x00000002 0x00000008 0x00000002 0x00000023 0x00000002 0x00000024 0x00000002 0x00000025>;
        clock-names = "clk_parent", "clk_mali", "clk_bak", "clk_bus";
        resets = <0x00000002 0x00000004>;
        #cooling-cells = <0x00000002>;
        gpu_idle = <0x00000001>;
        dvfs_status = <0x00000001>;
        operating-points = * 0xbbe54278 [0x00000050];
        phandle = <0x00000075>;
        ipa_dvfs
          {
          compatible = "arm,mali-simple-power-model";
          static-coefficient = <0x00004268>;
          dynamic-coefficient = <0x000002ee>;
          ts = <0x0003e2da 0x00002568 0xffffff98 0x00000004>;
          thermal-zone = "gpu_thermal_zone";
          ss-coefficient = <0x00000024>;
          ff-coefficient = <0x00000123>;
          phandle = <0x00000080>;
          };
        };
      lcd0@1c0c000
        {
        compatible = "allwinner,sunxi-lcd0";
        reg = <0x00000000 0x01c0c000 0x00000000 0x00000000>;
        pinctrl-names = "active", "sleep";
        lcd_used = <0x00000000>;
        lcd_driver_name = "default_lcd";
        lcd_backlight = <0x00000032>;
        lcd_if = <0x00000000>;
        lcd_x = <0x00000500>;
        lcd_y = <0x000002d0>;
        lcd_width = <0x00000096>;
        lcd_height = <0x0000005e>;
        lcd_dclk_freq = <0x00000046>;
        lcd_pwm_used = <0x00000000>;
        lcd_pwm_ch = <0x00000000>;
        lcd_pwm_freq = <0x0000c350>;
        lcd_pwm_pol = <0x00000000>;
        lcd_pwm_max_limit = <0x000000ff>;
        lcd_hbp = <0x00000014>;
        lcd_ht = <0x0000058a>;
        lcd_hspw = <0x0000000a>;
        lcd_vbp = <0x0000000a>;
        lcd_vt = <0x0000032e>;
        lcd_vspw = <0x00000005>;
        lcd_lvds_if = <0x00000000>;
        lcd_lvds_colordepth = <0x00000000>;
        lcd_lvds_mode = <0x00000000>;
        lcd_frm = <0x00000000>;
        lcd_hv_clk_phase = <0x00000000>;
        lcd_hv_sync_polarity = <0x00000000>;
        lcd_gamma_en = <0x00000000>;
        lcd_bright_curve_en = <0x00000000>;
        lcd_cmap_en = <0x00000000>;
        deu_mode = <0x00000000>;
        lcdgamma4iep = <0x00000016>;
        smart_color = <0x0000005a>;
        lcd_pin_power = "bldo1";
        lcd_power = "dc1sw";
        phandle = <0x00000081>;
        };
      tv0@6520000
        {
        compatible = "allwinner,sunxi-tv";
        reg = <0x00000000 0x06520000 0x00000000 0x00000100 0x00000000 0x06524000 0x00000000 0x000003fc>;
        clocks = <0x00000002 0x00000085 0x00000002 0x00000083 0x00000002 0x00000084>;
        clock-names = "clk_bus_tve_top", "clk_tve", "clk_bus_tve";
        resets = <0x00000002 0x0000003e 0x00000002 0x0000003f>;
        reset-names = "rst_bus_tve_top", "rst_bus_tve";
        assigned-clocks = <0x00000002 0x00000083>;
        assigned-clock-parents = <0x00000002 0x0000000b>;
        nvmem-cells = <0x00000009>;
        nvmem-cell-names = "tvout";
        device_type = "tv0";
        pinctrl-names = "active", "sleep";
        status = "okay";
        interface = <0x00000001>;
        dac_type0 = <0x00000000>;
        dac_src0 = <0x00000000>;
        phandle = <0x00000082>;
        };
      ccu@3001000
        {
        compatible = "allwinner,sun50iw9-ccu";
        reg = <0x00000000 0x03001000 0x00000000 0x00001000>;
        clocks = <0x0000000a 0x0000000b 0x0000000c>;
        clock-names = "hosc", "losc", "iosc";
        #clock-cells = <0x00000001>;
        #reset-cells = <0x00000001>;
        phandle = <0x00000002>;
        };
      rtc_ccu@7000000
        {
        compatible = "allwinner,sun50iw9-rtc-ccu";
        reg = <0x00000000 0x07000000 0x00000000 0x00000400>;
        #clock-cells = <0x00000001>;
        clocks = <0x0000000b>;
        clock-names = "losc";
        #reset-cells = <0x00000001>;
        phandle = <0x0000000e>;
        };
      rtc@7000000
        {
        compatible = "allwinner,rtc-v200";
        device_type = "rtc";
        wakeup-source;
        reg = <0x00000000 0x07000000 0x00000000 0x00000200>;
        interrupts = <0x00000000 0x00000068 0x00000004>;
        clocks = <0x0000000d 0x00000009 0x0000000e 0x00000000>;
        clock-names = "r-ahb-rtc", "rtc-1k";
        gpr_cur_pos = <0x00000006>;
        phandle = <0x00000083>;
        };
      r_ccu@7010000
        {
        compatible = "allwinner,sun50iw9-r-ccu";
        reg = <0x00000000 0x07010000 0x00000000 0x00000300>;
        clocks = <0x0000000a 0x0000000b 0x0000000c 0x00000002 0x00000004>;
        clock-names = "hosc", "losc", "iosc", "pll-periph";
        #clock-cells = <0x00000001>;
        #reset-cells = <0x00000001>;
        phandle = <0x0000000d>;
        };
      dma-controller@3002000
        {
        compatible = "allwinner,sun50iw9-dma";
        reg = <0x00000000 0x03002000 0x00000000 0x00001000>;
        interrupts = <0x00000000 0x0000002a 0x00000004>;
        clocks = <0x00000002 0x0000002a 0x00000002 0x00000032>;
        clock-names = "bus", "mbus";
        dma-channels = <0x00000010>;
        dma-requests = <0x00000031>;
        resets = <0x00000002 0x00000007>;
        #dma-cells = <0x00000001>;
        phandle = <0x00000035>;
        };
      sram_ctrl@3000000
        {
        compatible = "allwinner,sram_ctrl";
        reg = <0x00000000 0x03000000 0x00000000 0x0000016c>;
        phandle = <0x00000084>;
        soc_ver
          {
          offset = <0x00000024>;
          mask = <0x00000007>;
          shift = <0x00000000>;
          };
        soc_id
          {
          offset = <0x00000200>;
          mask = <0x00000001>;
          shift = <0x00000016>;
          };
        soc_bin
          {
          offset = <0x00000000>;
          mask = <0x000003ff>;
          shift = <0x00000000>;
          };
        };
      sid@3006000
        {
        compatible = "allwinner,sun50iw9p1-sid", "allwinner,sunxi-sid";
        reg = <0x00000000 0x03006000 0x00000000 0x00001000>;
        #address-cells = <0x00000001>;
        #size-cells = <0x00000001>;
        speed@00
          {
          reg = <0x00000000 0x00000002>;
          phandle = <0x00000006>;
          };
        calib@14
          {
          reg = <0x00000014 0x00000008>;
          phandle = <0x00000045>;
          };
        tvout@2e
          {
          reg = <0x0000002c 0x00000008>;
          phandle = <0x00000009>;
          };
        i-cpu@28
          {
          reg = <0x00000028 0x00000002>;
          phandle = <0x00000085>;
          };
        secure_status
          {
          reg = <0x00000000 0x00000000>;
          offset = <0x000000a0>;
          size = <0x00000004>;
          };
        chipid
          {
          reg = <0x00000000 0x00000000>;
          offset = <0x00000200>;
          size = <0x00000010>;
          };
        rotpk
          {
          reg = <0x00000000 0x00000000>;
          offset = <0x00000270>;
          size = <0x00000020>;
          };
        };
      ce@1904000
        {
        compatible = "allwinner,sunxi-ce";
        device_name = "ce";
        reg = <0x00000000 0x01904000 0x00000000 0x000000a0 0x00000000 0x01904800 0x00000000 0x000000a0>;
        interrupts = <0x00000000 0x0000005b 0x00000001 0x00000000 0x0000005c 0x00000001>;
        clock-frequency = <0x11e1a300>;
        clocks = <0x00000002 0x00000027 0x00000002 0x00000026 0x00000002 0x00000034 0x00000002 0x00000005>;
        clock-names = "bus_ce", "ce_clk", "mbus_ce", "pll_periph0_2x";
        resets = <0x00000002 0x00000005>;
        phandle = <0x00000086>;
        };
      timer@3009000
        {
        compatible = "allwinner,sun4i-a10-timer";
        device_type = "soc_timer";
        reg = <0x00000000 0x03009000 0x00000000 0x00000400>;
        interrupt-parent = <0x00000007>;
        interrupts = <0x00000000 0x00000030 0x00000004>;
        clocks = <0x0000000a>;
        phandle = <0x00000087>;
        };
      watchdog@30090a0
        {
        compatible = "allwinner,sun6i-a31-wdt";
        reg = <0x00000000 0x030090a0 0x00000000 0x00000020>;
        interrupts = <0x00000000 0x00000032 0x00000004>;
        phandle = <0x00000088>;
        };
      pwm@300a000
        {
        compatible = "allwinner,sunxi-pwm-v100";
        reg = <0x00000000 0x0300a000 0x00000000 0x00000400>;
        clocks = <0x00000002 0x0000002f>;
        resets = <0x00000002 0x0000000b>;
        pwm-number = <0x00000006>;
        pwm-base = <0x00000000>;
        sunxi-pwms = <0x0000000f 0x00000010 0x00000011 0x00000012 0x00000013 0x00000014>;
        phandle = <0x00000089>;
        };
      pwm0@300a010
        {
        compatible = "allwinner,sunxi-pwm0";
        reg = <0x00000000 0x0300a010 0x00000000 0x00000004>;
        reg_base = <0x0300a000>;
        phandle = <0x0000000f>;
        };
      pwm1@300a011
        {
        compatible = "allwinner,sunxi-pwm1";
        reg = <0x00000000 0x0300a011 0x00000000 0x00000004>;
        reg_base = <0x0300a000>;
        phandle = <0x00000010>;
        };
      pwm2@300a012
        {
        compatible = "allwinner,sunxi-pwm2";
        reg = <0x00000000 0x0300a012 0x00000000 0x00000004>;
        reg_base = <0x0300a000>;
        phandle = <0x00000011>;
        };
      pwm3@300a013
        {
        compatible = "allwinner,sunxi-pwm3";
        reg = <0x00000000 0x0300a013 0x00000000 0x00000004>;
        reg_base = <0x0300a000>;
        phandle = <0x00000012>;
        };
      pwm4@300a014
        {
        compatible = "allwinner,sunxi-pwm4";
        reg = <0x00000000 0x0300a014 0x00000000 0x00000004>;
        reg_base = <0x0300a000>;
        phandle = <0x00000013>;
        };
      pwm5@300a015
        {
        compatible = "allwinner,sunxi-pwm5";
        reg = <0x00000000 0x0300a015 0x00000000 0x00000004>;
        reg_base = <0x0300a000>;
        pinctrl-names = "active", "sleep";
        pinctrl-0 = <0x00000015>;
        pinctrl-1 = <0x00000016>;
        status = "okay";
        phandle = <0x00000014>;
        };
      ac200
        {
        compatible = "allwinner,sunxi-ac200";
        status = "okay";
        tv_used = <0x00000001>;
        tv_twi_used = <0x00000001>;
        tv_twi_id = <0x00000003>;
        tv_twi_addr = <0x00000010>;
        tv_pwm_ch = <0x00000005>;
        phandle = <0x0000008a>;
        };
      pinctrl@300b000
        {
        compatible = "allwinner,sun50iw9-pinctrl";
        reg = <0x00000000 0x0300b000 0x00000000 0x00000400>;
        interrupts = * 0xbbe55708 [0x00000060];
        clocks = <0x00000002 0x0000001a 0x0000000a 0x0000000b>;
        clock-names = "apb", "hosc", "losc";
        gpio-controller;
        #gpio-cells = <0x00000003>;
        interrupt-controller;
        #interrupt-cells = <0x00000003>;
        vcc-pf-supply = <0x00000017>;
        vcc-pfo-supply = <0x00000018>;
        vcc-pg-supply = <0x00000017>;
        phandle = <0x00000023>;
        uart0-ph-pins
          {
          pins = "PH0", "PH1";
          function = "uart0";
          bias-pull-up;
          phandle = <0x00000029>;
          };
        uart0-ph-sleep
          {
          pins = "PH0", "PH1";
          function = "gpio_in";
          phandle = <0x0000002a>;
          };
        sdc0@0
          {
          pins = "PF0", "PF1", "PF2", "PF3", "PF4", "PF5";
          function = "sdc0";
          drive-strength = <0x0000001e>;
          bias-pull-up;
          power-source = <0x00000ce4>;
          allwinner,pins = "PF0", "PF1", "PF2", "PF3", "PF4", "PF5";
          allwinner,function = "sdc0";
          allwinner,muxsel = <0x00000002>;
          allwinner,drive = <0x00000003>;
          allwinner,pull = <0x00000001>;
          phandle = <0x0000001e>;
          };
        sdc0@1
          {
          pins = "PF0", "PF1", "PF2", "PF3", "PF4", "PF5";
          function = "sdc0";
          drive-strength = <0x0000001e>;
          bias-pull-up;
          power-source = <0x00000708>;
          phandle = <0x0000001f>;
          };
        sdc0@2
          {
          pins = "PF0", "PF1", "PF2", "PF3", "PF4", "PF5";
          function = "gpio_in";
          phandle = <0x00000020>;
          };
        sdc0@3
          {
          pins = "PF2", "PF4";
          function = "uart0";
          drive-strength = <0x0000000a>;
          bias-pull-up;
          phandle = <0x00000021>;
          };
        sdc0@4
          {
          pins = "PF0", "PF1", "PF3", "PF5";
          function = "jtag";
          drive-strength = <0x0000000a>;
          bias-pull-up;
          phandle = <0x00000022>;
          };
        sdc1@0
          {
          pins = "PG0", "PG1", "PG2", "PG3", "PG4", "PG5";
          function = "sdc1";
          drive-strength = <0x0000001e>;
          bias-pull-up;
          phandle = <0x00000024>;
          };
        sdc1@1
          {
          pins = "PG0", "PG1", "PG2", "PG3", "PG4", "PG5";
          function = "gpio_in";
          bias-pull-up;
          phandle = <0x00000025>;
          };
        sdc2@0
          {
          pins = "PC1", "PC5", "PC6", "PC8", "PC9", "PC10", "PC11", "PC13", "PC14", "PC15", "PC16";
          function = "sdc2";
          drive-strength = <0x0000001e>;
          bias-pull-up;
          allwinner,pins = "PC1", "PC5", "PC6", "PC8", "PC9", "PC10", "PC11", "PC13", "PC14", "PC15", "PC16";
          allwinner,function = "sdc2";
          allwinner,muxsel = <0x00000003>;
          allwinner,drive = <0x00000003>;
          allwinner,pull = <0x00000001>;
          phandle = <0x00000019>;
          };
        sdc2@1
          {
          pins = "PC0", "PC1", "PC5", "PC6", "PC8", "PC9", "PC10", "PC11", "PC13", "PC14", "PC15", "PC16";
          function = "gpio_in";
          bias-pull-up;
          phandle = <0x0000001b>;
          };
        sdc2@2
          {
          allwinner,pins = "PC0";
          allwinner,function = "sdc2";
          drive-strength = <0x0000001e>;
          bias-pull-down;
          allwinner,muxsel = <0x00000003>;
          allwinner,drive = <0x00000003>;
          allwinner,pull = <0x00000002>;
          phandle = <0x0000001a>;
          };
        nand0@0
          {
          pins = "PC0", "PC1", "PC2", "PC5", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PC16";
          function = "nand0";
          drive-strength = <0x00000028>;
          phandle = <0x00000026>;
          };
        nand0@1
          {
          pins = "PC4", "PC6", "PC3", "PC7";
          function = "nand0";
          drive-strength = <0x00000028>;
          bias-pull-up;
          phandle = <0x00000027>;
          };
        nand0@2
          {
          pins = "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PC16";
          function = "gpio_in";
          phandle = <0x00000028>;
          };
        uart1-ph-pins
          {
          pins = "PG6", "PG7", "PG8", "PG9";
          function = "uart1";
          phandle = <0x0000002b>;
          };
        uart1-ph-sleep
          {
          pins = "PG6", "PG7", "PG8", "PG9";
          function = "gpio_in";
          phandle = <0x0000002c>;
          };
        uart2-ph-pins
          {
          pins = "PG15", "PG16";
          function = "uart2";
          phandle = <0x0000002d>;
          };
        uart2-ph-sleep
          {
          pins = "PG15", "PG16";
          function = "gpio_in";
          phandle = <0x0000002e>;
          };
        uart3-ph-pins
          {
          pins = "PI9", "PI10";
          function = "uart3";
          phandle = <0x0000002f>;
          };
        uart3-ph-sleep
          {
          pins = "PI9", "PI10";
          function = "gpio_in";
          phandle = <0x00000030>;
          };
        uart4-ph-pins
          {
          pins = "PI13", "PI14";
          function = "uart4";
          phandle = <0x00000031>;
          };
        uart4-ph-sleep
          {
          pins = "PI13", "PI14";
          function = "gpio_in";
          phandle = <0x00000032>;
          };
        uart5-ph-pins
          {
          pins = "PH2", "PH3";
          function = "uart5";
          phandle = <0x00000033>;
          };
        uart5-ph-sleep
          {
          pins = "PH2", "PH3";
          function = "gpio_in";
          phandle = <0x00000034>;
          };
        s_cir0@0
          {
          pins = "PH10";
          function = "ir";
          drive-strength = <0x0000000a>;
          bias-pull-up;
          phandle = <0x00000061>;
          };
        s_cir0@1
          {
          pins = "PH10";
          function = "gpio_in";
          phandle = <0x00000062>;
          };
        twi0@0
          {
          pins = "PI5", "PI6";
          function = "twi0";
          drive-strength = <0x0000000a>;
          bias-pull-up;
          phandle = <0x00000036>;
          };
        twi0@1
          {
          pins = "PI5", "PI6";
          function = "gpio_in";
          phandle = <0x00000037>;
          };
        twi1@0
          {
          pins = "PH0", "PH1";
          function = "twi1";
          drive-strength = <0x0000000a>;
          bias-pull-up;
          phandle = <0x00000038>;
          };
        twi1@1
          {
          pins = "PH0", "PH1";
          function = "gpio_in";
          phandle = <0x00000039>;
          };
        twi2@0
          {
          pins = "PH2", "PH3";
          function = "twi2";
          drive-strength = <0x0000000a>;
          bias-pull-up;
          phandle = <0x0000003a>;
          };
        twi2@1
          {
          pins = "PH2", "PH3";
          function = "gpio_in";
          phandle = <0x0000003b>;
          };
        twi3@0
          {
          pins = "PG17", "PG18";
          function = "twi3";
          drive-strength = <0x0000000a>;
          bias-pull-up;
          phandle = <0x0000003c>;
          };
        twi3@1
          {
          pins = "PG17", "PG18";
          function = "gpio_in";
          phandle = <0x0000003d>;
          };
        twi4@0
          {
          pins = "PG15", "PG16";
          function = "twi4";
          drive-strength = <0x0000000a>;
          bias-pull-up;
          phandle = <0x0000003e>;
          };
        twi4@1
          {
          pins = "PG15", "PG16";
          function = "gpio_in";
          phandle = <0x0000003f>;
          };
        spi1@0
          {
          allwinner,pins = "PH6", "PH7", "PH8";
          allwinner,pname = "spi1_sclk", "spi1_mosi", "spi1_miso";
          allwinner,function = "spi1";
          allwinner,muxsel = <0x00000004>;
          allwinner,drive = <0x00000002>;
          allwinner,pull = <0x00000000>;
          phandle = <0x00000042>;
          };
        spi1@1
          {
          allwinner,pins = "PH5", "PH9";
          allwinner,pname = "spi1_cs0", "spi1_cs1";
          allwinner,function = "spi1";
          allwinner,muxsel = <0x00000004>;
          allwinner,drive = <0x00000002>;
          allwinner,pull = <0x00000001>;
          phandle = <0x00000043>;
          };
        spi1@2
          {
          allwinner,pins = "PH5", "PH6", "PH7", "PH8", "PH9";
          allwinner,function = "gpio_in";
          allwinner,muxsel = <0x00000000>;
          allwinner,drive = <0x00000002>;
          allwinner,pull = <0x00000000>;
          phandle = <0x00000044>;
          };
        gmac0@0
          {
          pins = "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15", "PI16";
          function = "emac0";
          drive-strength = <0x0000001e>;
          bias-pull-up;
          phandle = <0x0000005b>;
          };
        gmac0@1
          {
          pins = "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15", "PI16";
          function = "gpio_in";
          drive-strength = <0x0000000a>;
          phandle = <0x0000005c>;
          };
        gmac1@0
          {
          pins = "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9";
          function = "gmac1";
          drive-strength = <0x0000000a>;
          bias-pull-up;
          phandle = <0x0000005d>;
          };
        gmac1@1
          {
          pins = "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9";
          function = "gpio_in";
          drive-strength = <0x0000000a>;
          phandle = <0x0000005e>;
          };
        pwm5@0
          {
          pins = "PA12";
          function = "pwm5";
          drive-strength = <0x0000000a>;
          bias-pull-up;
          phandle = <0x00000015>;
          };
        pwm5@1
          {
          pins = "PA12";
          function = "gpio_in";
          phandle = <0x00000016>;
          };
        spdif@0
          {
          pins = "PH4";
          function = "spdif";
          drive-strength = <0x00000014>;
          bias-disable;
          phandle = <0x00000048>;
          };
        spdif_sleep@0
          {
          pins = "PH4";
          function = "gpio_in";
          drive-strength = <0x00000014>;
          bias-disable;
          phandle = <0x00000049>;
          };
        ahub_daudio0@0
          {
          pins = "PA6", "PA7", "PA8", "PA9";
          function = "i2s0";
          drive-strength = <0x00000014>;
          bias-disable;
          phandle = <0x0000008b>;
          };
        ahub_daudio0_sleep@0
          {
          pins = "PA6", "PA7", "PA8", "PA9";
          function = "gpio_in";
          drive-strength = <0x00000014>;
          bias-disable;
          phandle = <0x0000008c>;
          };
        ahub_daudio2@0
          {
          pins = "PG11", "PG12";
          function = "i2s2";
          drive-strength = <0x00000014>;
          bias-disable;
          phandle = <0x0000004c>;
          };
        ahub_daudio2@1
          {
          pins = "PG13";
          function = "i2s2_dout0";
          drive-strength = <0x00000014>;
          bias-disable;
          phandle = <0x0000004d>;
          };
        ahub_daudio2@2
          {
          pins = "PG14";
          function = "i2s2_din0";
          drive-strength = <0x00000014>;
          bias-disable;
          phandle = <0x0000004e>;
          };
        ahub_daudio2_sleep@0
          {
          pins = "PG11", "PG12", "PG13", "PG14";
          function = "gpio_in";
          drive-strength = <0x00000014>;
          bias-disable;
          phandle = <0x0000004f>;
          };
        ahub_daudio3@0
          {
          pins = "PH5", "PH6", "PH7";
          function = "i2s3";
          drive-strength = <0x00000014>;
          bias-disable;
          phandle = <0x0000008d>;
          };
        ahub_daudio3@1
          {
          pins = "PH8";
          function = "i2s3_dout0";
          drive-strength = <0x00000014>;
          bias-disable;
          phandle = <0x0000008e>;
          };
        ahub_daudio3@2
          {
          pins = "PH9";
          function = "i2s3_din0";
          drive-strength = <0x00000014>;
          bias-disable;
          phandle = <0x0000008f>;
          };
        ahub_daudio3_sleep@0
          {
          pins = "PH5", "PH6", "PH7", "PH8", "PH9";
          function = "gpio_in";
          drive-strength = <0x00000014>;
          bias-disable;
          phandle = <0x00000090>;
          };
        standby@0
          {
          allwinner,pins = "PH6";
          allwinner,function = "gpio_out";
          allwinner,muxsel = <0x00000001>;
          allwinner,data = <0x00000001>;
          allwinner,drive = <0x00000000>;
          allwinner,pull = <0x00000000>;
          phandle = <0x00000077>;
          };
        standby@1
          {
          allwinner,pins = "PH7";
          allwinner,function = "gpio_out";
          allwinner,muxsel = <0x00000001>;
          allwinner,data = <0x00000000>;
          allwinner,drive = <0x00000002>;
          allwinner,pull = <0x00000002>;
          phandle = <0x00000076>;
          };
        standby@2
          {
          allwinner,pins = "PG16";
          allwinner,function = "gpio_in";
          allwinner,muxsel = <0x00000000>;
          allwinner,data = <0x00000000>;
          allwinner,drive = <0x00000000>;
          allwinner,pull = <0x00000000>;
          phandle = <0x00000091>;
          };
        losc_out@0
          {
          allwinner,pins = "PG10";
          allwinner,function = "x32kfout";
          allwinner,muxsel = <0x00000003>;
          allwinner,drive = <0x00000002>;
          allwinner,pull = <0x00000001>;
          phandle = <0x00000063>;
          };
        };
      pinctrl@7022000
        {
        compatible = "allwinner,sun50iw9-r-pinctrl";
        reg = <0x00000000 0x07022000 0x00000000 0x00000400>;
        clocks = <0x0000000d 0x00000002 0x0000000a 0x0000000b>;
        clock-names = "apb", "hosc", "losc";
        gpio-controller;
        #gpio-cells = <0x00000003>;
        phandle = <0x00000092>;
        s_twi0@0
          {
          pins = "PL0", "PL1";
          function = "s_twi0";
          drive-strength = <0x00000014>;
          bias-pull-up;
          phandle = <0x00000040>;
          };
        s_twi0@1
          {
          pins = "PL0", "PL1";
          function = "gpio_in";
          phandle = <0x00000041>;
          };
        };
      iommu@30f0000
        {
        compatible = "allwinner,sunxi-iommu";
        reg = <0x00000000 0x030f0000 0x00000000 0x00001000>;
        interrupts = <0x00000000 0x0000003d 0x00000004>;
        interrupt-names = "iommu-irq";
        clocks = <0x00000002 0x00000030>;
        clock-names = "iommu";
        #iommu-cells = <0x00000002>;
        phandle = <0x00000008>;
        };
      sdmmc@4022000
        {
        compatible = "allwinner,sunxi-mmc-v4p6x";
        device_type = "sdc2";
        reg = <0x00000000 0x04022000 0x00000000 0x00001000>;
        interrupts = <0x00000000 0x00000025 0x00000004>;
        clocks = <0x0000000a 0x00000002 0x00000007 0x00000002 0x0000003f 0x00000002 0x00000042>;
        clock-names = "osc24m", "pll_periph", "mmc", "ahb";
        resets = <0x00000002 0x00000010>;
        reset-names = "rst";
        pinctrl-names = "default", "sleep";
        pinctrl-0 = <0x00000019 0x0000001a>;
        pinctrl-1 = <0x0000001b>;
        bus-width = <0x00000008>;
        req-page-count = <0x00000002>;
        cap-mmc-highspeed;
        cap-cmd23;
        ctl-spec-caps = <0x00000308>;
        mmc-cache-ctrl;
        non-removable;
        max-frequency = <0x05f5e100>;
        cap-erase;
        mmc-high-capacity-erase-size;
        no-sdio;
        no-sd;
        sdc_tm4_sm0_freq0 = <0x00000000>;
        sdc_tm4_sm0_freq1 = <0x00000000>;
        sdc_tm4_sm1_freq0 = <0x00000000>;
        sdc_tm4_sm1_freq1 = <0x00000000>;
        sdc_tm4_sm2_freq0 = <0x00000000>;
        sdc_tm4_sm2_freq1 = <0x00000000>;
        sdc_tm4_sm3_freq0 = <0x05000000>;
        sdc_tm4_sm3_freq1 = <0x00000005>;
        sdc_tm4_sm4_freq0 = <0x00050000>;
        sdc_tm4_sm4_freq1 = <0x00000004>;
        sdc_tm4_sm4_freq0_cmd = <0x00000000>;
        sdc_tm4_sm4_freq1_cmd = <0x00000000>;
        status = "disabled";
        mmc-ddr-1_8v;
        mmc-hs200-1_8v;
        mmc-hs400-1_8v;
        sunxi-dis-signal-vol-sw;
        vmmc-supply = <0x0000001c>;
        vqmmc-supply = <0x0000001d>;
        phandle = <0x00000093>;
        };
      sdmmc@4020000
        {
        compatible = "allwinner,sunxi-mmc-v4p1x";
        device_type = "sdc0";
        reg = <0x00000000 0x04020000 0x00000000 0x00001000>;
        interrupts = <0x00000000 0x00000023 0x00000004>;
        clocks = <0x0000000a 0x00000002 0x00000007 0x00000002 0x0000003d 0x00000002 0x00000040>;
        clock-names = "osc24m", "pll_periph", "mmc", "ahb";
        resets = <0x00000002 0x0000000e>;
        reset-names = "rst";
        pinctrl-names = "default", "mmc_1v8", "sleep", "uart_jtag";
        pinctrl-0 = <0x0000001e>;
        pinctrl-1 = <0x0000001f>;
        pinctrl-2 = <0x00000020>;
        pinctrl-3 = <0x00000021 0x00000022>;
        max-frequency = <0x08f0d180>;
        bus-width = <0x00000004>;
        req-page-count = <0x00000002>;
        ctl-spec-caps = <0x00000008>;
        cap-sd-highspeed;
        cap-wait-while-busy;
        no-sdio;
        no-mmc;
        status = "okay";
        sd-uhs-sdr50;
        sd-uhs-ddr50;
        sd-uhs-sdr104;
        vmmc-supply = <0x0000001c>;
        vqmmc33sw-supply = <0x0000001c>;
        vdmmc33sw-supply = <0x0000001c>;
        vqmmc18sw-supply = <0x0000001d>;
        vdmmc18sw-supply = <0x0000001d>;
        cd-gpios = <0x00000023 0x00000005 0x00000006 0x00000011>;
        phandle = <0x00000094>;
        };
      sdmmc@4021000
        {
        compatible = "allwinner,sunxi-mmc-v4p1x";
        device_type = "sdc1";
        reg = <0x00000000 0x04021000 0x00000000 0x00001000>;
        interrupts = <0x00000000 0x00000024 0x00000004>;
        clocks = <0x0000000a 0x00000002 0x00000007 0x00000002 0x0000003e 0x00000002 0x00000041>;
        clock-names = "osc24m", "pll_periph", "mmc", "ahb";
        resets = <0x00000002 0x0000000f>;
        reset-names = "rst";
        pinctrl-names = "default", "sleep";
        pinctrl-0 = <0x00000024>;
        pinctrl-1 = <0x00000025>;
        max-frequency = <0x08f0d180>;
        bus-width = <0x00000004>;
        ctl-spec-caps = <0x00000008>;
        cap-sd-highspeed;
        no-mmc;
        keep-power-in-suspend;
        sunxi-dly-52M-ddr4 = <0x00000001 0x00000000 0x00000000 0x00000000 0x00000002>;
        sunxi-dly-104M = <0x00000001 0x00000000 0x00000000 0x00000000 0x00000001>;
        sunxi-dly-208M = <0x00000001 0x00000000 0x00000000 0x00000000 0x00000001>;
        status = "okay";
        no-sd;
        sd-uhs-sdr12;
        sd-uhs-sdr25;
        sd-uhs-sdr50;
        sd-uhs-ddr50;
        sd-uhs-sdr104;
        sunxi-dis-signal-vol-sw;
        cap-sdio-irq;
        ignore-pm-notify;
        vmmc-supply = <0x0000001c>;
        vqmmc-supply = <0x0000001d>;
        phandle = <0x00000095>;
        };
      nand0@4011000
        {
        compatible = "allwinner,sun50iw9-nand";
        device_type = "nand0";
        reg = <0x00000000 0x04011000 0x00000000 0x00001000>;
        interrupts = <0x00000000 0x00000022 0x00000004>;
        clocks = <0x00000002 0x00000007 0x00000002 0x0000003a 0x00000002 0x0000003b 0x00000002 0x0000003c 0x00000002 0x00000036>;
        clock-names = "pll_periph", "mclk", "ecc", "bus", "mbus";
        resets = <0x00000002 0x0000000d>;
        reset-names = "rst";
        pinctrl-names = "default", "sleep";
        pinctrl-0 = <0x00000026 0x00000027>;
        pinctrl-1 = <0x00000028>;
        nand0_cache_level = <0x55aaaa55>;
        nand0_flush_cache_num = <0x55aaaa55>;
        nand0_capacity_level = <0x55aaaa55>;
        nand0_id_number_ctl = <0x55aaaa55>;
        nand0_print_level = <0x55aaaa55>;
        nand0_p0 = <0x55aaaa55>;
        nand0_p1 = <0x55aaaa55>;
        nand0_p2 = <0x55aaaa55>;
        nand0_p3 = <0x55aaaa55>;
        chip_code = "sun50iw9";
        status = "disabled";
        nand0_regulator1-supply = <0x0000001c>;
        nand0_regulator2-supply = <0x0000001d>;
        phandle = <0x00000096>;
        };
      mbus-controller@47fa000
        {
        compatible = "allwinner,sun50i-mbus";
        reg = <0x00000000 0x047fa000 0x00000000 0x00001000>;
        #mbus-cells = <0x00000001>;
        phandle = <0x00000097>;
        };
      uart@5000000
        {
        compatible = "allwinner,sun50i-uart";
        reg = <0x00000000 0x05000000 0x00000000 0x00000400>;
        interrupts = <0x00000000 0x00000000 0x00000004>;
        clocks = <0x00000002 0x00000043>;
        resets = <0x00000002 0x00000011>;
        uart0_port = <0x00000000>;
        uart0_type = <0x00000002>;
        status = "okay";
        pinctrl-names = "default", "sleep";
        pinctrl-0 = <0x00000029>;
        pinctrl-1 = <0x0000002a>;
        phandle = <0x00000098>;
        };
      uart@5000400
        {
        compatible = "allwinner,sun50i-uart";
        reg = <0x00000000 0x05000400 0x00000000 0x00000400>;
        interrupts = <0x00000000 0x00000001 0x00000004>;
        clocks = <0x00000002 0x00000044>;
        resets = <0x00000002 0x00000012>;
        uart1_port = <0x00000001>;
        uart1_type = <0x00000004>;
        sunxi,uart-fifosize = <0x00000100>;
        status = "okay";
        pinctrl-names = "default", "sleep";
        pinctrl-0 = <0x0000002b>;
        pinctrl-1 = <0x0000002c>;
        device_type = "uart1";
        phandle = <0x00000099>;
        };
      uart@5000800
        {
        compatible = "allwinner,sun50i-uart";
        reg = <0x00000000 0x05000800 0x00000000 0x00000400>;
        interrupts = <0x00000000 0x00000002 0x00000004>;
        clocks = <0x00000002 0x00000045>;
        resets = <0x00000002 0x00000013>;
        uart2_port = <0x00000002>;
        uart2_type = <0x00000004>;
        sunxi,uart-fifosize = <0x00000100>;
        status = "disabled";
        pinctrl-names = "default", "sleep";
        pinctrl-0 = <0x0000002d>;
        pinctrl-1 = <0x0000002e>;
        phandle = <0x0000009a>;
        };
      uart@5000c00
        {
        compatible = "allwinner,sun50i-uart";
        reg = <0x00000000 0x05000c00 0x00000000 0x00000400>;
        interrupts = <0x00000000 0x00000003 0x00000004>;
        clocks = <0x00000002 0x00000046>;
        resets = <0x00000002 0x00000014>;
        uart3_port = <0x00000003>;
        uart3_type = <0x00000004>;
        sunxi,uart-fifosize = <0x00000100>;
        status = "disabled";
        pinctrl-names = "default", "sleep";
        pinctrl-0 = <0x0000002f>;
        pinctrl-1 = <0x00000030>;
        phandle = <0x0000009b>;
        };
      uart@5001000
        {
        compatible = "allwinner,sun50i-uart";
        reg = <0x00000000 0x05001000 0x00000000 0x00000400>;
        interrupts = <0x00000000 0x00000004 0x00000004>;
        clocks = <0x00000002 0x00000047>;
        resets = <0x00000002 0x00000015>;
        uart4_port = <0x00000004>;
        uart4_type = <0x00000004>;
        sunxi,uart-fifosize = <0x00000100>;
        status = "disabled";
        pinctrl-names = "default", "sleep";
        pinctrl-0 = <0x00000031>;
        pinctrl-1 = <0x00000032>;
        phandle = <0x0000009c>;
        };
      uart@5001400
        {
        compatible = "allwinner,sun50i-uart";
        reg = <0x00000000 0x05001400 0x00000000 0x00000400>;
        interrupts = <0x00000000 0x00000005 0x00000004>;
        clocks = <0x00000002 0x00000048>;
        resets = <0x00000002 0x00000016>;
        uart5_port = <0x00000005>;
        uart5_type = <0x00000002>;
        sunxi,uart-fifosize = <0x00000100>;
        status = "disabled";
        pinctrl-names = "default", "sleep";
        pinctrl-0 = <0x00000033>;
        pinctrl-1 = <0x00000034>;
        phandle = <0x0000009d>;
        };
      twi@5002000
        {
        #address-cells = <0x00000001>;
        #size-cells = <0x00000000>;
        compatible = "allwinner,sun50i-twi";
        device_type = "twi0";
        reg = <0x00000000 0x05002000 0x00000000 0x00000400>;
        interrupts = <0x00000000 0x00000006 0x00000004>;
        clocks = <0x00000002 0x00000049>;
        clock-names = "bus";
        resets = <0x00000002 0x00000017>;
        dmas = <0x00000035 0x0000002b 0x00000035 0x0000002b>;
        dma-names = "tx", "rx";
        status = "disabled";
        clock-frequency = <0x00061a80>;
        pinctrl-0 = <0x00000036>;
        pinctrl-1 = <0x00000037>;
        pinctrl-names = "default", "sleep";
        twi_drv_used = <0x00000001>;
        phandle = <0x0000009e>;
        eeprom@50
          {
          compatible = "atmel,24c16";
          reg = <0x00000050>;
          status = "disabled";
          };
        };
      twi@5002400
        {
        #address-cells = <0x00000001>;
        #size-cells = <0x00000000>;
        compatible = "allwinner,sun50i-twi";
        device_type = "twi1";
        reg = <0x00000000 0x05002400 0x00000000 0x00000400>;
        interrupts = <0x00000000 0x00000007 0x00000004>;
        clocks = <0x00000002 0x0000004a>;
        clock-names = "bus";
        resets = <0x00000002 0x00000018>;
        dmas = <0x00000035 0x0000002c 0x00000035 0x0000002c>;
        dma-names = "tx", "rx";
        status = "disabled";
        clock-frequency = <0x00061a80>;
        pinctrl-0 = <0x00000038>;
        pinctrl-1 = <0x00000039>;
        pinctrl-names = "default", "sleep";
        twi_drv_used = <0x00000001>;
        phandle = <0x0000009f>;
        };
      twi@5002800
        {
        #address-cells = <0x00000001>;
        #size-cells = <0x00000000>;
        compatible = "allwinner,sun50i-twi";
        device_type = "twi2";
        reg = <0x00000000 0x05002800 0x00000000 0x00000400>;
        interrupts = <0x00000000 0x00000008 0x00000004>;
        clocks = <0x00000002 0x0000004b>;
        clock-names = "bus";
        resets = <0x00000002 0x00000019>;
        dmas = <0x00000035 0x0000002d 0x00000035 0x0000002d>;
        dma-names = "tx", "rx";
        status = "disabled";
        clock-frequency = <0x000186a0>;
        pinctrl-0 = <0x0000003a>;
        pinctrl-1 = <0x0000003b>;
        pinctrl-names = "default", "sleep";
        twi_drv_used = <0x00000001>;
        phandle = <0x000000a0>;
        };
      twi@5002c00
        {
        #address-cells = <0x00000001>;
        #size-cells = <0x00000000>;
        compatible = "allwinner,sun50i-twi";
        device_type = "twi3";
        reg = <0x00000000 0x05002c00 0x00000000 0x00000400>;
        interrupts = <0x00000000 0x00000009 0x00000004>;
        clocks = <0x00000002 0x0000004c>;
        clock-names = "bus";
        resets = <0x00000002 0x0000001a>;
        dmas = <0x00000035 0x0000002e 0x00000035 0x0000002e>;
        dma-names = "tx", "rx";
        status = "disabled";
        clock-frequency = <0x00061a80>;
        pinctrl-0 = <0x0000003c>;
        pinctrl-1 = <0x0000003d>;
        pinctrl-names = "default", "sleep";
        twi_drv_used = <0x00000001>;
        phandle = <0x000000a1>;
        };
      twi@5003000
        {
        #address-cells = <0x00000001>;
        #size-cells = <0x00000000>;
        compatible = "allwinner,sun50i-twi";
        device_type = "twi4";
        reg = <0x00000000 0x05003000 0x00000000 0x00000400>;
        interrupts = <0x00000000 0x0000000a 0x00000004>;
        clocks = <0x00000002 0x0000004d>;
        clock-names = "bus";
        resets = <0x00000002 0x0000001b>;
        dmas = <0x00000035 0x0000002f 0x00000035 0x0000002f>;
        dma-names = "tx", "rx";
        status = "disabled";
        clock-frequency = <0x00061a80>;
        pinctrl-0 = <0x0000003e>;
        pinctrl-1 = <0x0000003f>;
        pinctrl-names = "default", "sleep";
        twi_drv_used = <0x00000001>;
        phandle = <0x000000a2>;
        };
      twi@7081400
        {
        #address-cells = <0x00000001>;
        #size-cells = <0x00000000>;
        compatible = "allwinner,sun50i-twi";
        device_type = "twi5";
        reg = <0x00000000 0x07081400 0x00000000 0x00000400>;
        interrupts = <0x00000000 0x00000069 0x00000004>;
        clocks = <0x0000000d 0x00000005>;
        clock-names = "bus";
        resets = <0x0000000d 0x00000001>;
        dmas = <0x00000035 0x00000030 0x00000035 0x00000030>;
        dma-names = "tx", "rx";
        status = "okay";
        clock-frequency = <0x00061a80>;
        pinctrl-0 = <0x00000040>;
        pinctrl-1 = <0x00000041>;
        pinctrl-names = "default", "sleep";
        no_suspend = <0x00000001>;
        twi_drv_used = <0x00000000>;
        phandle = <0x000000a3>;
        pmu
          {
          compatible = "x-powers,axp1530";
          reg = <0x00000036>;
          wakeup-source;
          phandle = <0x000000a4>;
          standby_param
            {
            vcc-dram = <0x00000004>;
            phandle = <0x000000a5>;
            };
          regulators
            {
            dcdc1
              {
              regulator-name = "axp1530-dcdc1";
              regulator-min-microvolt = <0x0007a120>;
              regulator-max-microvolt = <0x0033e140>;
              regulator-step-delay-us = <0x00000019>;
              regulator-final-delay-us = <0x00000032>;
              regulator-always-on;
              phandle = <0x00000060>;
              };
            dcdc2
              {
              regulator-name = "axp1530-dcdc2";
              regulator-min-microvolt = <0x0007a120>;
              regulator-max-microvolt = <0x00177fa0>;
              regulator-step-delay-us = <0x00000019>;
              regulator-final-delay-us = <0x00000032>;
              regulator-ramp-delay = <0x000000c8>;
              regulator-always-on;
              phandle = <0x00000005>;
              };
            dcdc3
              {
              regulator-name = "axp1530-dcdc3";
              regulator-min-microvolt = <0x0007a120>;
              regulator-max-microvolt = <0x001c1380>;
              regulator-step-delay-us = <0x00000019>;
              regulator-final-delay-us = <0x00000032>;
              regulator-always-on;
              phandle = <0x000000a6>;
              };
            ldo1
              {
              regulator-name = "axp1530-aldo1";
              regulator-min-microvolt = <0x0007a120>;
              regulator-max-microvolt = <0x003567e0>;
              regulator-step-delay-us = <0x00000019>;
              regulator-final-delay-us = <0x00000032>;
              regulator-always-on;
              phandle = <0x0000001d>;
              };
            ldo2
              {
              regulator-name = "axp1530-dldo1";
              regulator-min-microvolt = <0x0007a120>;
              regulator-max-microvolt = <0x003567e0>;
              regulator-step-delay-us = <0x00000019>;
              regulator-final-delay-us = <0x00000032>;
              regulator-always-on;
              phandle = <0x0000001c>;
              };
            };
          };
        };
      spi@5010000
        {
        #address-cells = <0x00000001>;
        #size-cells = <0x00000000>;
        compatible = "allwinner,sun50i-spi";
        device_type = "spi0";
        reg = <0x00000000 0x05010000 0x00000000 0x00001000>;
        interrupts = <0x00000000 0x0000000c 0x00000004>;
        clocks = <0x00000002 0x00000004 0x00000002 0x0000004f 0x00000002 0x00000051>;
        clock-names = "pll", "mod", "bus";
        resets = <0x00000002 0x0000001d>;
        clock-frequency = <0x05f5e100>;
        spi0_cs_number = <0x00000001>;
        spi0_cs_bitmap = <0x00000001>;
        dmas = <0x00000035 0x00000016 0x00000035 0x00000016>;
        dma-names = "tx", "rx";
        status = "disabled";
        spi_slave_mode = <0x00000000>;
        pinctrl-names = "default", "sleep";
        phandle = <0x000000a7>;
        };
      spi@5011000
        {
        #address-cells = <0x00000001>;
        #size-cells = <0x00000000>;
        compatible = "allwinner,sun50i-spi";
        device_type = "spi1";
        reg = <0x00000000 0x05011000 0x00000000 0x00001000>;
        interrupts = <0x00000000 0x0000000d 0x00000004>;
        clocks = <0x00000002 0x00000004 0x00000002 0x00000050 0x00000002 0x00000052>;
        clock-names = "pll", "mod", "bus";
        resets = <0x00000002 0x0000001e>;
        clock-frequency = <0x05f5e100>;
        spi1_cs_number = <0x00000001>;
        spi1_cs_bitmap = <0x00000001>;
        dmas = <0x00000035 0x00000017 0x00000035 0x00000017>;
        dma-names = "tx", "rx";
        status = "disabled";
        spi_slave_mode = <0x00000000>;
        pinctrl-names = "default", "sleep";
        pinctrl-0 = <0x00000042 0x00000043>;
        pinctrl-1 = <0x00000044>;
        phandle = <0x000000a8>;
        spi_board1@0
          {
          device_type = "spi_board1";
          compatible = "rohm,dh2228fv";
          spi-max-frequency = <0x05f5e100>;
          reg = <0x00000000>;
          spi-rx-bus-width = <0x00000001>;
          spi-tx-bus-width = <0x00000001>;
          status = "okay";
          };
        };
      thermal-sensor@5070400
        {
        compatible = "allwinner,sun50iw9p1-ths";
        reg = <0x00000000 0x05070400 0x00000000 0x00000400>;
        clocks = <0x00000002 0x00000059>;
        clock-names = "bus";
        resets = <0x00000002 0x00000023>;
        nvmem-cells = <0x00000045>;
        nvmem-cell-names = "calibration";
        #thermal-sensor-cells = <0x00000001>;
        phandle = <0x00000072>;
        };
      gpadc@5070000
        {
        compatible = "allwinner,sunxi-gpadc";
        reg = <0x00000000 0x05070000 0x00000000 0x000003ff>;
        interrupts = <0x00000000 0x00000012 0x00000004>;
        clocks = <0x00000002 0x00000058>;
        clock-names = "bus";
        resets = <0x00000002 0x00000022>;
        status = "disabled";
        phandle = <0x000000a9>;
        };
      keyboard@5070800
        {
        compatible = "allwinner,keyboard_1350mv";
        reg = <0x00000000 0x05070800 0x00000000 0x00000400>;
        interrupts = <0x00000000 0x00000014 0x00000001>;
        clocks = <0x00000002 0x00000074>;
        resets = <0x00000002 0x00000035>;
        status = "disabled";
        phandle = <0x000000aa>;
        };
      codec@5096000
        {
        #sound-dai-cells = <0x00000000>;
        compatible = "allwinner,sunxi-snd-codec";
        reg = <0x00000000 0x05096000 0x00000000 0x0000031c>;
        resets = <0x00000002 0x00000026>;
        clocks = <0x00000002 0x00000013 0x00000002 0x0000005e 0x00000002 0x00000060>;
        clock-names = "clk_pll_audio_4x", "clk_audio", "clk_bus_audio";
        status = "okay";
        lineout_vol = <0x0000001f>;
        tx_hub_en;
        phandle = <0x00000047>;
        };
      codec_plat
        {
        #sound-dai-cells = <0x00000000>;
        compatible = "allwinner,sunxi-snd-plat-aaudio";
        playback_cma = <0x00000080>;
        capture_cma = <0x00000080>;
        tx_fifo_size = <0x00000080>;
        rx_fifo_size = <0x00000080>;
        dac_txdata = <0x05096020>;
        adc_txdata = <0x05096040>;
        dmas = <0x00000035 0x00000006 0x00000035 0x00000006>;
        dma-names = "tx", "rx";
        status = "okay";
        phandle = <0x00000046>;
        };
      codec_mach
        {
        compatible = "allwinner,sunxi-snd-mach";
        soundcard-mach,name = "audiocodec";
        soundcard-mach,playback-only;
        soundcard-mach,pin-switches = "LINEOUT";
        soundcard-mach,routing = "LINEOUT", "LINEOUTL", "LINEOUT", "LINEOUTR";
        status = "okay";
        phandle = <0x000000ab>;
        soundcard-mach,cpu
          {
          sound-dai = <0x00000046>;
          };
        soundcard-mach,codec
          {
          sound-dai = <0x00000047>;
          soundcard-mach,pll-fs = <0x00000004>;
          };
        };
      spdif_plat@5093000
        {
        #sound-dai-cells = <0x00000000>;
        compatible = "allwinner,sunxi-snd-plat-spdif";
        reg = <0x00000000 0x05093000 0x00000000 0x00000040>;
        resets = <0x00000002 0x00000024>;
        clocks = <0x00000002 0x00000013 0x00000002 0x0000005a 0x00000002 0x0000005b>;
        clock-names = "clk_pll_audio_4x", "clk_spdif", "clk_bus_spdif";
        pll-fs = <0x00000004>;
        dmas = <0x00000035 0x00000002 0x00000035 0x00000002>;
        dma-names = "tx", "rx";
        playback_cma = <0x00000080>;
        capture_cma = <0x00000080>;
        tx_fifo_size = <0x00000080>;
        rx_fifo_size = <0x00000040>;
        status = "okay";
        pinctrl_used;
        pinctrl-names = "default", "sleep";
        pinctrl-0 = <0x00000048>;
        pinctrl-1 = <0x00000049>;
        tx_hub_en;
        phandle = <0x0000004a>;
        };
      spdif_mach
        {
        compatible = "allwinner,sunxi-snd-mach";
        soundcard-mach,name = "sndspdif";
        status = "okay";
        phandle = <0x000000ac>;
        soundcard-mach,cpu
          {
          sound-dai = <0x0000004a>;
          soundcard-mach,pll-fs = <0x00000004>;
          };
        soundcard-mach,codec
          {
          };
        };
      ahub_dam_plat@5097000
        {
        #sound-dai-cells = <0x00000000>;
        compatible = "allwinner,sunxi-snd-plat-ahub_dam";
        reg = <0x00000000 0x05097000 0x00000000 0x00000aec>;
        resets = <0x00000002 0x00000027>;
        clocks = <0x00000002 0x00000011 0x00000002 0x00000013 0x00000002 0x00000061 0x00000002 0x00000062>;
        clock-names = "clk_pll_audio", "clk_pll_audio_4x", "clk_audio_hub", "clk_bus_audio_hub";
        status = "okay";
        phandle = <0x0000004b>;
        };
      ahub_dam_mach
        {
        compatible = "allwinner,sunxi-snd-mach";
        soundcard-mach,name = "ahubdam";
        status = "okay";
        phandle = <0x000000ad>;
        soundcard-mach,cpu
          {
          sound-dai = <0x0000004b>;
          };
        soundcard-mach,codec
          {
          };
        };
      ahub0_plat
        {
        #sound-dai-cells = <0x00000000>;
        compatible = "allwinner,sunxi-snd-plat-ahub";
        apb_num = <0x00000000>;
        dmas = <0x00000035 0x00000003 0x00000035 0x00000003>;
        dma-names = "tx", "rx";
        playback_cma = <0x00000080>;
        capture_cma = <0x00000080>;
        tx_fifo_size = <0x00000080>;
        rx_fifo_size = <0x00000080>;
        status = "disabled";
        tdm_num = <0x00000000>;
        tx_pin = <0x00000000>;
        rx_pin = <0x00000000>;
        phandle = <0x00000051>;
        };
      ahub1_plat
        {
        #sound-dai-cells = <0x00000000>;
        compatible = "allwinner,sunxi-snd-plat-ahub";
        apb_num = <0x00000001>;
        dmas = <0x00000035 0x00000004 0x00000035 0x00000004>;
        dma-names = "tx", "rx";
        playback_cma = <0x00000080>;
        capture_cma = <0x00000080>;
        tx_fifo_size = <0x00000080>;
        rx_fifo_size = <0x00000080>;
        status = "okay";
        tdm_num = <0x00000001>;
        tx_pin = <0x00000000>;
        rx_pin = <0x00000000>;
        dai_type = "hdmi";
        phandle = <0x00000053>;
        };
      ahub2_plat
        {
        #sound-dai-cells = <0x00000000>;
        compatible = "allwinner,sunxi-snd-plat-ahub";
        apb_num = <0x00000002>;
        dmas = <0x00000035 0x00000005 0x00000035 0x00000005>;
        dma-names = "tx", "rx";
        playback_cma = <0x00000080>;
        capture_cma = <0x00000080>;
        tx_fifo_size = <0x00000080>;
        rx_fifo_size = <0x00000080>;
        status = "okay";
        tdm_num = <0x00000002>;
        tx_pin = <0x00000000>;
        rx_pin = <0x00000000>;
        pinctrl_used;
        pinctrl-names = "default", "sleep";
        pinctrl-0 = <0x0000004c 0x0000004d 0x0000004e>;
        pinctrl-1 = <0x0000004f>;
        phandle = <0x00000055>;
        };
      ahub3_plat
        {
        #sound-dai-cells = <0x00000000>;
        compatible = "allwinner,sunxi-snd-plat-ahub";
        apb_num = <0x00000002>;
        dmas = <0x00000035 0x00000005 0x00000035 0x00000005>;
        dma-names = "tx", "rx";
        playback_cma = <0x00000080>;
        capture_cma = <0x00000080>;
        tx_fifo_size = <0x00000080>;
        rx_fifo_size = <0x00000080>;
        status = "disabled";
        tdm_num = <0x00000003>;
        tx_pin = <0x00000000>;
        rx_pin = <0x00000000>;
        phandle = <0x00000057>;
        };
      ahub0_mach
        {
        compatible = "allwinner,sunxi-snd-mach";
        soundcard-mach,name = "ahubi2s0";
        status = "disabled";
        soundcard-mach,format = "i2s";
        soundcard-mach,frame-master = <0x00000050>;
        soundcard-mach,bitclock-master = <0x00000050>;
        soundcard-mach,slot-num = <0x00000002>;
        soundcard-mach,slot-width = <0x00000020>;
        phandle = <0x000000ae>;
        soundcard-mach,cpu
          {
          sound-dai = <0x00000051>;
          soundcard-mach,pll-fs = <0x00000004>;
          soundcard-mach,mclk-fs = <0x00000100>;
          phandle = <0x00000050>;
          };
        soundcard-mach,codec
          {
          phandle = <0x000000af>;
          };
        };
      ahub1_mach
        {
        compatible = "allwinner,sunxi-snd-mach";
        soundcard-mach,name = "ahubhdmi";
        status = "okay";
        soundcard-mach,format = "i2s";
        soundcard-mach,frame-master = <0x00000052>;
        soundcard-mach,bitclock-master = <0x00000052>;
        soundcard-mach,slot-num = <0x00000002>;
        soundcard-mach,slot-width = <0x00000020>;
        phandle = <0x000000b0>;
        soundcard-mach,cpu
          {
          sound-dai = <0x00000053>;
          soundcard-mach,pll-fs = <0x00000004>;
          soundcard-mach,mclk-fs = <0x00000000>;
          phandle = <0x00000052>;
          };
        soundcard-mach,codec
          {
          phandle = <0x000000b1>;
          };
        };
      ahub2_mach
        {
        compatible = "allwinner,sunxi-snd-mach";
        soundcard-mach,name = "ahubi2s2";
        status = "okay";
        soundcard-mach,format = "i2s";
        soundcard-mach,frame-master = <0x00000054>;
        soundcard-mach,bitclock-master = <0x00000054>;
        soundcard-mach,slot-num = <0x00000002>;
        soundcard-mach,slot-width = <0x00000020>;
        phandle = <0x000000b2>;
        soundcard-mach,cpu
          {
          sound-dai = <0x00000055>;
          soundcard-mach,pll-fs = <0x00000004>;
          soundcard-mach,mclk-fs = <0x00000100>;
          phandle = <0x00000054>;
          };
        soundcard-mach,codec
          {
          phandle = <0x000000b3>;
          };
        };
      ahub3_mach
        {
        compatible = "allwinner,sunxi-snd-mach";
        soundcard-mach,name = "ahubi2s3";
        status = "disabled";
        soundcard-mach,format = "i2s";
        soundcard-mach,frame-master = <0x00000056>;
        soundcard-mach,bitclock-master = <0x00000056>;
        soundcard-mach,slot-num = <0x00000002>;
        soundcard-mach,slot-width = <0x00000020>;
        phandle = <0x000000b4>;
        soundcard-mach,cpu
          {
          sound-dai = <0x00000057>;
          soundcard-mach,pll-fs = <0x00000004>;
          soundcard-mach,mclk-fs = <0x00000100>;
          phandle = <0x00000056>;
          };
        soundcard-mach,codec
          {
          phandle = <0x000000b5>;
          };
        };
      spdif@5094000
        {
        #sound-dai-cells = <0x00000000>;
        compatible = "allwinner,sunxi-spdif";
        reg = <0x00000000 0x05094000 0x00000000 0x00000040>;
        clocks = <0x00000002 0x00000011 0x00000002 0x0000005a 0x00000002 0x0000005b>;
        clock-names = "pll_audio", "spdif", "spdif_bus";
        resets = <0x00000002 0x00000024>;
        clk_parent = <0x00000001>;
        playback_cma = <0x00000080>;
        capture_cma = <0x00000080>;
        device_type = "spdif";
        dmas = <0x00000035 0x00000002 0x00000035 0x00000002>;
        dma-names = "tx", "rx";
        status = "disabled";
        phandle = <0x00000058>;
        };
      soundspdif
        {
        compatible = "sunxi,simple-audio-card";
        simple-audio-card,name = "sndspdif";
        status = "disabled";
        phandle = <0x000000b6>;
        simple-audio-card,cpu
          {
          sound-dai = <0x00000058>;
          };
        simple-audio-card,codec
          {
          };
        };
      dmic@5095000
        {
        #sound-dai-cells = <0x00000000>;
        compatible = "allwinner,sunxi-dmic";
        reg = <0x00000000 0x05095000 0x00000000 0x00000050>;
        clocks = <0x00000002 0x00000011 0x00000002 0x0000005c 0x00000002 0x0000005d>;
        clock-names = "pll_audio", "dmic", "dmic_bus";
        resets = <0x00000002 0x00000025>;
        clk_parent = <0x00000001>;
        capture_cma = <0x00000100>;
        data_vol = <0x000000b0>;
        dmic_rxsync_en = <0x00000000>;
        rx_chmap = <0x76543210>;
        device_type = "dmic";
        dmas = <0x00000035 0x00000007>;
        dma-names = "rx";
        status = "disabled";
        phandle = <0x00000059>;
        };
      dmic_codec
        {
        #sound-dai-cells = <0x00000000>;
        compatible = "dmic-codec";
        num-channels = <0x00000008>;
        status = "disabled";
        phandle = <0x0000005a>;
        };
      sounddmic
        {
        compatible = "sunxi,simple-audio-card";
        simple-audio-card,name = "snddmic";
        status = "disabled";
        phandle = <0x000000b7>;
        simple-audio-card,cpu
          {
          sound-dai = <0x00000059>;
          };
        simple-audio-card,codec
          {
          sound-dai = <0x0000005a>;
          };
        };
      gpio_para
        {
        device_type = "gpio_para";
        compatible = "allwinner,sunxi-init-gpio";
        status = "okay";
        gpio_num = <0x00000003>;
        gpio_pin_1 = <0x00000023 0x00000007 0x00000006 0x00000001>;
        gpio_pin_2 = <0x00000023 0x00000007 0x00000007 0x00000000>;
        gpio_pin_3 = <0x00000023 0x00000007 0x00000005 0x00000001>;
        normal_led = "gpio_pin_1";
        standby_led = "gpio_pin_2";
        hdmi_in_led = "gpio_pin_3";
        easy_light_used = <0x00000001>;
        normal_led_light = <0x00000000>;
        standby_led_light = <0x00000001>;
        hdmi_in_led_light = <0x00000000>;
        phandle = <0x000000b8>;
        };
      eth@5020000
        {
        compatible = "allwinner,sunxi-gmac";
        reg = <0x00000000 0x05020000 0x00000000 0x00010000 0x00000000 0x03000030 0x00000000 0x00000004>;
        interrupts = <0x00000000 0x0000000e 0x00000004>;
        interrupt-names = "gmacirq";
        clocks = <0x00000002 0x00000054 0x00000002 0x00000053>;
        clock-names = "gmac", "ephy";
        resets = <0x00000002 0x0000001f>;
        device_type = "gmac0";
        phy-mode = "rgmii";
        phy-rst;
        gmac-power0;
        gmac-power1;
        gmac-power2;
        status = "okay";
        pinctrl-0 = <0x0000005b>;
        pinctrl-1 = <0x0000005c>;
        pinctrl-names = "default", "sleep";
        tx-delay = <0x00000007>;
        rx-delay = <0x00000014>;
        phandle = <0x000000b9>;
        };
      eth@5030000
        {
        compatible = "allwinner,sunxi-gmac";
        reg = <0x00000000 0x05030000 0x00000000 0x00010000 0x00000000 0x03000034 0x00000000 0x00000004>;
        interrupts = <0x00000000 0x0000000f 0x00000004>;
        interrupt-names = "gmacirq";
        clocks = <0x00000002 0x00000055>;
        clock-names = "gmac";
        resets = <0x00000002 0x00000020>;
        device_type = "gmac1";
        phy-mode = "rmii";
        phy-rst;
        gmac-power0;
        gmac-power1;
        gmac-power2;
        status = "okay";
        pinctrl-0 = <0x0000005d>;
        pinctrl-1 = <0x0000005e>;
        pinctrl-names = "default", "sleep";
        tx-delay = <0x00000007>;
        rx-delay = <0x0000001f>;
        phandle = <0x000000ba>;
        };
      usbc0@0
        {
        device_type = "usbc0";
        compatible = "allwinner,sunxi-otg-manager";
        usb_port_type = <0x00000001>;
        usb_detect_type = <0x00000001>;
        usb_detect_mode = <0x00000000>;
        usb_id_gpio;
        usb_det_vbus_gpio;
        usb_drv_vbus_gpio;
        usb_host_init_state = <0x00000000>;
        usb_regulator_io = "nocare";
        usb_wakeup_suspend = <0x00000000>;
        usb_luns = <0x00000003>;
        usb_serial_unique = <0x00000000>;
        usb_serial_number = "20080411";
        rndis_wceis = <0x00000001>;
        wakeup-source;
        status = "okay";
        phandle = <0x000000bb>;
        };
      udc-controller@5100000
        {
        compatible = "allwinner,sunxi-udc";
        reg = <0x00000000 0x05100000 0x00000000 0x00001000 0x00000000 0x00000000 0x00000000 0x00000100>;
        interrupts = <0x00000000 0x00000019 0x00000004>;
        interrupt-parent = <0x00000007>;
        clocks = <0x00000002 0x00000073 0x00000002 0x00000064>;
        clock-names = "bus_otg", "phy";
        resets = <0x00000002 0x00000034 0x00000002 0x00000028>;
        reset-names = "otg", "phy";
        phandle = <0x000000bc>;
        };
      ehci0-controller@5101000
        {
        compatible = "allwinner,sunxi-ehci0";
        reg = <0x00000000 0x05101000 0x00000000 0x00000fff 0x00000000 0x00000000 0x00000000 0x00000100 0x00000000 0x05100000 0x00000000 0x00001000>;
        interrupts = <0x00000000 0x0000001a 0x00000004>;
        clocks = <0x00000002 0x0000006f 0x00000002 0x00000064>;
        clock-names = "bus_hci", "phy";
        resets = <0x00000002 0x00000030 0x00000002 0x00000028>;
        reset-names = "hci", "phy";
        hci_ctrl_no = <0x00000000>;
        drvvbus-supply = <0x0000005f>;
        status = "okay";
        phandle = <0x000000bd>;
        };
      ohci0-controller@5101400
        {
        compatible = "allwinner,sunxi-ohci0";
        reg = <0x00000000 0x05101400 0x00000000 0x00000fff 0x00000000 0x00000000 0x00000000 0x00000100 0x00000000 0x05100000 0x00000000 0x00001000>;
        interrupts = <0x00000000 0x0000001b 0x00000004>;
        clocks = <0x00000002 0x0000006b 0x00000002 0x00000063 0x00000002 0x00000064>;
        clock-names = "bus_hci", "ohci", "phy";
        resets = <0x00000002 0x0000002c 0x00000002 0x00000028>;
        reset-names = "hci", "phy";
        hci_ctrl_no = <0x00000000>;
        drvvbus-supply = <0x0000005f>;
        status = "okay";
        phandle = <0x000000be>;
        };
      usbc1@0
        {
        device_type = "usbc1";
        usb_drv_vbus_gpio;
        usb_host_init_state = <0x00000001>;
        usb_regulatior_io = "nocare";
        usb_wakeup_suspend = <0x00000000>;
        wakeup-source;
        usb_regulator_io = "nocare";
        status = "okay";
        phandle = <0x000000bf>;
        };
      ehci1-controller@5200000
        {
        compatible = "allwinner,sunxi-ehci1";
        reg = <0x00000000 0x05200000 0x00000000 0x00000fff 0x00000000 0x00000000 0x00000000 0x00000100 0x00000000 0x05100000 0x00000000 0x00001000>;
        interrupts = <0x00000000 0x0000001c 0x00000004>;
        clocks = <0x00000002 0x00000070 0x00000002 0x00000066>;
        clock-names = "bus_hci", "phy";
        resets = <0x00000002 0x00000031 0x00000002 0x00000029>;
        reset-names = "hci", "phy";
        hci_ctrl_no = <0x00000001>;
        drvvbus-supply = <0x0000005f>;
        status = "okay";
        phandle = <0x000000c0>;
        };
      ohci1-controller@5200400
        {
        compatible = "allwinner,sunxi-ohci1";
        reg = <0x00000000 0x05200400 0x00000000 0x00000fff 0x00000000 0x00000000 0x00000000 0x00000100 0x00000000 0x05100000 0x00000000 0x00001000>;
        interrupts = <0x00000000 0x0000001d 0x00000004>;
        clocks = <0x00000002 0x0000006c 0x00000002 0x00000065 0x00000002 0x00000066>;
        clock-names = "bus_hci", "ohci", "phy";
        resets = <0x00000002 0x0000002d 0x00000002 0x00000029>;
        reset-names = "hci", "phy";
        hci_ctrl_no = <0x00000001>;
        drvvbus-supply = <0x0000005f>;
        status = "okay";
        phandle = <0x000000c1>;
        };
      usbc2@0
        {
        device_type = "usbc2";
        usb_drv_vbus_gpio;
        usb_host_init_state = <0x00000001>;
        usb_regulatior_io = "nocare";
        usb_wakeup_suspend = <0x00000000>;
        wakeup-source;
        usb_regulator_io = "nocare";
        status = "okay";
        phandle = <0x000000c2>;
        };
      ehci2-controller@5310000
        {
        compatible = "allwinner,sunxi-ehci2";
        reg = <0x00000000 0x05310000 0x00000000 0x00000fff 0x00000000 0x00000000 0x00000000 0x00000100 0x00000000 0x05100000 0x00000000 0x00001000>;
        interrupts = <0x00000000 0x0000001e 0x00000004>;
        clocks = <0x00000002 0x00000071 0x00000002 0x00000068>;
        clock-names = "bus_hci", "phy";
        resets = <0x00000002 0x00000032 0x00000002 0x0000002a>;
        reset-names = "hci", "phy";
        hci_ctrl_no = <0x00000002>;
        drvvbus-supply = <0x0000005f>;
        status = "okay";
        phandle = <0x000000c3>;
        };
      ohci2-controller@5310400
        {
        compatible = "allwinner,sunxi-ohci2";
        reg = <0x00000000 0x05310400 0x00000000 0x00000fff 0x00000000 0x00000000 0x00000000 0x00000100 0x00000000 0x05100000 0x00000000 0x00001000>;
        interrupts = <0x00000000 0x0000001f 0x00000004>;
        clocks = <0x00000002 0x0000006d 0x00000002 0x00000067 0x00000002 0x00000068>;
        clock-names = "bus_hci", "ohci", "phy";
        resets = <0x00000002 0x0000002e 0x00000002 0x0000002a>;
        reset-names = "hci", "phy";
        hci_ctrl_no = <0x00000002>;
        drvvbus-supply = <0x0000005f>;
        status = "okay";
        phandle = <0x000000c4>;
        };
      usbc3@0
        {
        device_type = "usbc3";
        usb_drv_vbus_gpio;
        usb_host_init_state = <0x00000001>;
        usb_regulatior_io = "nocare";
        usb_wakeup_suspend = <0x00000000>;
        wakeup-source;
        usb_regulator_io = "nocare";
        status = "okay";
        phandle = <0x000000c5>;
        };
      ehci3-controller@5311000
        {
        compatible = "allwinner,sunxi-ehci3";
        reg = <0x00000000 0x05311000 0x00000000 0x00000fff 0x00000000 0x00000000 0x00000000 0x00000100 0x00000000 0x05100000 0x00000000 0x00001000>;
        interrupts = <0x00000000 0x00000020 0x00000004>;
        clocks = <0x00000002 0x00000072 0x00000002 0x0000006a>;
        clock-names = "bus_hci", "phy";
        resets = <0x00000002 0x00000033 0x00000002 0x0000002b>;
        reset-names = "hci", "phy";
        hci_ctrl_no = <0x00000003>;
        drvvbus-supply = <0x0000005f>;
        status = "okay";
        phandle = <0x000000c6>;
        };
      ohci3-controller@5311400
        {
        compatible = "allwinner,sunxi-ohci3";
        reg = <0x00000000 0x05311400 0x00000000 0x00000fff 0x00000000 0x00000000 0x00000000 0x00000100 0x00000000 0x05100000 0x00000000 0x00001000>;
        interrupts = <0x00000000 0x00000021 0x00000004>;
        clocks = <0x00000002 0x0000006e 0x00000002 0x00000069 0x00000002 0x0000006a>;
        clock-names = "bus_hci", "ohci", "phy";
        resets = <0x00000002 0x0000002f 0x00000002 0x0000002b>;
        reset-names = "hci", "phy";
        hci_ctrl_no = <0x00000003>;
        drvvbus-supply = <0x0000005f>;
        status = "okay";
        phandle = <0x000000c7>;
        };
      hdmi@6000000
        {
        compatible = "allwinner,sunxi-hdmi";
        reg = <0x00000000 0x06000000 0x00000000 0x00100000>;
        interrupts = <0x00000000 0x0000003f 0x00000004>;
        clocks = <0x00000002 0x00000079 0x00000002 0x00000075 0x00000002 0x00000076 0x00000002 0x00000078 0x00000002 0x0000008b 0x00000002 0x0000008a 0x00000002 0x0000007f>;
        clock-names = "clk_bus_hdmi", "clk_hdmi", "clk_ddc", "clk_cec", "clk_bus_hdcp", "clk_hdcp", "clk_tcon_tv";
        resets = <0x00000002 0x00000037 0x00000002 0x00000036 0x00000002 0x00000041>;
        reset-names = "rst_bus_sub", "rst_bus_main", "rst_bus_hdcp";
        assigned-clocks = <0x00000002 0x00000075 0x00000002 0x0000008a>;
        assigned-clock-parents = <0x00000002 0x0000000d 0x00000002 0x00000006>;
        assigned-clock-rates = <0x00000000 0x00000000>;
        status = "okay";
        hdmi_used = <0x00000001>;
        aldo1-supply = <0x0000001d>;
        dcdc1-supply = <0x00000060>;
        hdmi_power_cnt = <0x00000002>;
        hdmi_power0 = "aldo1";
        hdmi_power1 = "dcdc1";
        hdmi_hdcp_enable = <0x00000001>;
        hdmi_hdcp22_enable = <0x00000001>;
        hdmi_cts_compatibility = <0x00000000>;
        hdmi_cec_support = <0x00000001>;
        hdmi_cec_super_standby = <0x00000000>;
        ddc_en_io_ctrl = <0x00000000>;
        power_io_ctrl = <0x00000000>;
        phandle = <0x000000c8>;
        };
      interrupt-controller@7010320
        {
        compatible = "allwinner,sun8i-nmi";
        interrupt-controller;
        #interrupt-cells = <0x00000002>;
        reg = <0x00000000 0x07010320 0x00000000 0x0000000c>;
        interrupts = <0x00000000 0x00000067 0x00000004>;
        pad-control-v1 = <0x07000208>;
        phandle = <0x000000c9>;
        };
      s_cir@7040000
        {
        compatible = "allwinner,s_cir";
        reg = <0x00000000 0x07040000 0x00000000 0x00000400>;
        interrupts = <0x00000000 0x0000006a 0x00000004>;
        clocks = <0x0000000d 0x00000008 0x0000000a 0x0000000d 0x00000007>;
        clock-names = "bus", "pclk", "mclk";
        resets = <0x0000000d 0x00000003>;
        status = "okay";
        s_cir0_used = <0x00000001>;
        pinctrl-names = "default", "sleep";
        pinctrl-0 = <0x00000061>;
        pinctrl-1 = <0x00000062>;
        ir_power_key_code0 = <0x00000040>;
        ir_addr_code0 = <0x0000fe01>;
        ir_power_key_code1 = <0x0000001a>;
        ir_addr_code1 = <0x0000fb04>;
        ir_power_key_code2 = <0x000000f2>;
        ir_addr_code2 = <0x00002992>;
        ir_power_key_code3 = <0x00000057>;
        ir_addr_code3 = <0x00009f00>;
        ir_power_key_code4 = <0x000000dc>;
        ir_addr_code4 = <0x00004cb3>;
        ir_power_key_code5 = <0x00000018>;
        ir_addr_code5 = <0x0000ff00>;
        ir_power_key_code6 = <0x000000dc>;
        ir_addr_code6 = <0x0000dd22>;
        ir_power_key_code7 = <0x0000000d>;
        ir_addr_code7 = <0x0000bc00>;
        ir_power_key_code8 = <0x0000004d>;
        ir_addr_code8 = <0x00004040>;
        wakeup-source;
        phandle = <0x000000ca>;
        };
      rfkill
        {
        compatible = "allwinner,sunxi-rfkill";
        status = "okay";
        chip_en;
        power_en;
        pinctrl-0 = <0x00000063>;
        pinctrl-names = "default";
        phandle = <0x000000cb>;
        wlan
          {
          compatible = "allwinner,sunxi-wlan";
          clocks = <0x0000000e 0x00000004>;
          clock-names = "osc32k-out";
          wlan_busnum = <0x00000001>;
          wlan_power;
          wlan_regon = <0x00000023 0x00000006 0x00000012 0x00000000>;
          wlan_hostwake = <0x00000023 0x00000006 0x0000000f 0x00000000>;
          wakeup-source;
          phandle = <0x000000cc>;
          };
        bt
          {
          compatible = "allwinner,sunxi-bt";
          clocks = <0x0000000e 0x00000004>;
          clock-names = "osc32k-out";
          bt_power;
          bt_rst_n = <0x00000023 0x00000006 0x00000013 0x00000001>;
          phandle = <0x000000cd>;
          };
        };
      addr_mgt
        {
        compatible = "allwinner,sunxi-addr_mgt";
        status = "okay";
        type_addr_wifi = <0x00000000>;
        type_addr_bt = <0x00000000>;
        type_addr_eth = <0x00000000>;
        phandle = <0x000000ce>;
        };
      btlpm
        {
        compatible = "allwinner,sunxi-btlpm";
        status = "okay";
        uart_index = <0x00000001>;
        bt_wake = <0x00000023 0x00000006 0x00000011 0x00000000>;
        bt_hostwake = <0x00000023 0x00000006 0x00000010 0x00000001>;
        wakeup-source;
        phandle = <0x000000cf>;
        };
      card0_boot_para@2
        {
        reg = <0x00000000 0x00000002 0x00000000 0x00000000>;
        device_type = "card0_boot_para";
        card_ctrl = <0x00000000>;
        card_high_speed = <0x00000001>;
        card_line = <0x00000004>;
        pinctrl-0 = <0x0000001e>;
        };
      card2_boot_para@3
        {
        reg = <0x00000000 0x00000003 0x00000000 0x00000000>;
        device_type = "card2_boot_para";
        card_ctrl = <0x00000002>;
        card_high_speed = <0x00000001>;
        card_line = <0x00000008>;
        pinctrl-0 = <0x00000019 0x0000001a>;
        sdc_ex_dly_used = <0x00000002>;
        sdc_io_1v8 = <0x00000001>;
        sdc_type = "tm4";
        };
      pll_video2
        {
        #clock-cells = <0x00000000>;
        compatible = "allwinner,pll-clock";
        lock-mode = "new";
        assigned-clocks = <0x00000064>;
        clock-output-names = "pll_video2";
        phandle = <0x00000064>;
        };
      pll_de
        {
        #clock-cells = <0x00000000>;
        compatible = "allwinner,pll-clock";
        assigned-clocks = <0x00000065>;
        assigned-clock-rates = <0x297c1e00>;
        lock-mode = "new";
        clock-output-names = "pll_de";
        phandle = <0x00000065>;
        };
      de
        {
        #clock-cells = <0x00000000>;
        compatible = "allwinner,periph-clock";
        assigned-clock-parents = <0x00000065>;
        assigned-clock-rates = <0x297c1e00>;
        assigned-clocks = <0x00000066>;
        clock-output-names = "de";
        phandle = <0x00000066>;
        };
      display_top
        {
        #clock-cells = <0x00000000>;
        compatible = "allwinner,periph-clock";
        clock-output-names = "display_top";
        phandle = <0x0000006e>;
        };
      tcon_lcd
        {
        #clock-cells = <0x00000000>;
        compatible = "allwinner,periph-clock";
        clock-output-names = "tcon_lcd";
        phandle = <0x0000006f>;
        };
      tcon_lcd1
        {
        #clock-cells = <0x00000000>;
        compatible = "allwinner,periph-clock";
        clock-output-names = "tcon_lcd1";
        phandle = <0x00000070>;
        };
      tcon_tv
        {
        #clock-cells = <0x00000000>;
        compatible = "allwinner,periph-clock";
        assigned-clock-parents = <0x00000064>;
        assigned-clocks = <0x00000067>;
        clock-output-names = "tcon_tv";
        phandle = <0x00000067>;
        };
      tcon_tv1
        {
        #clock-cells = <0x00000000>;
        compatible = "allwinner,periph-clock";
        clock-output-names = "tcon_tv1";
        phandle = <0x00000071>;
        };
      lvds
        {
        #clock-cells = <0x00000000>;
        compatible = "allwinner,periph-clock";
        clock-output-names = "lvds";
        assigned-clocks = <0x00000068>;
        phandle = <0x00000068>;
        };
      hdmi
        {
        #clock-cells = <0x00000000>;
        compatible = "allwinner,periph-clock";
        assigned-clock-parents = <0x00000064>;
        assigned-clocks = <0x00000069>;
        clock-output-names = "hdmi";
        phandle = <0x00000069>;
        };
      hdmi_slow
        {
        #clock-cells = <0x00000000>;
        compatible = "allwinner,periph-clock";
        assigned-clocks = <0x0000006a>;
        clock-output-names = "hdmi_slow";
        phandle = <0x0000006a>;
        };
      hdmi_cec
        {
        #clock-cells = <0x00000000>;
        compatible = "allwinner,periph-clock";
        assigned-clocks = <0x0000006b>;
        clock-output-names = "hdmi_cec";
        phandle = <0x0000006b>;
        };
      hdmi_hdcp
        {
        #clock-cells = <0x00000000>;
        compatible = "allwinner,periph-clock";
        assigned-clock-parents = <0x0000006c>;
        assigned-clocks = <0x0000006d>;
        clock-output-names = "hdmi_hdcp";
        phandle = <0x0000006d>;
        };
      pll_periph1
        {
        #clock-cells = <0x00000000>;
        compatible = "allwinner,pll-clock";
        assigned-clocks = <0x0000006c>;
        assigned-clock-rates = "#-F";
        lock-mode = "new";
        clock-output-names = "pll_periph1";
        phandle = <0x0000006c>;
        };
      auto_print@54321
        {
        reg = <0x00000000 0x00054321 0x00000000 0x00000000>;
        device_type = "auto_print";
        status = "disabled";
        };
      gpio_keys
        {
        compatible = "gpio-keys";
        status = "okay";
        #address-cells = <0x00000001>;
        #size-cells = <0x00000000>;
        autorepeat = <0x00000001>;
        F11_button
          {
          label = "F11 Button";
          gpios = <0x00000023 0x00000007 0x00000008 0x00000000 0x00000001 0x00000001 0x00000001>;
          linux,code = <0x00000057>;
          gpio-key,wakeup;
          debounce-interval = <0x0000000a>;
          };
        };
      aw_vfd
        {
        compatible = "amediatech,yxt_vfd";
        vfd_data_gpio = <0x00000023 0x00000002 0x00000002 0x00000000>;
        vfd_clock_gpio = <0x00000023 0x00000002 0x00000007 0x00000000>;
        vfd_stb_gpio = <0x00000023 0x00000002 0x0000000c 0x00000000>;
        status = "okay";
        phandle = <0x000000d0>;
        };
      };
    uboot_disp@1000000
      {
      compatible = "allwinner,sunxi-disp";
      reg = * 0xbbe5d980 [0x00000060];
      interrupts = <0x00000000 0x00000058 0x00000004 0x00000000 0x00000040 0x00000004 0x00000000 0x00000041 0x00000004 0x00000000 0x00000042 0x00000004 0x00000000 0x00000043 0x00000004>;
      clocks = <0x00000066 0x0000006e 0x0000006f 0x00000070 0x00000067 0x00000071 0x00000068>;
      boot_disp = <0x00000000>;
      fb_base = <0x00000000>;
      phandle = <0x000000d1>;
      };
    uboot_hdmi@6000000
      {
      compatible = "allwinner,sunxi-hdmi";
      reg = <0x00000000 0x06000000 0x00000000 0x00100000>;
      interrupts = <0x00000000 0x0000003f 0x00000004>;
      clocks = <0x00000069 0x0000006a 0x0000006d 0x0000006b>;
      phandle = <0x000000d2>;
      };
    thermal-zones
      {
      cpu_thermal_zone
        {
        polling-delay-passive = <0x000001f4>;
        polling-delay = <0x000003e8>;
        thermal-sensors = <0x00000072 0x00000002>;
        sustainable-power = <0x0000039f>;
        trips
          {
          phandle = <0x000000d3>;
          trip-point@0
            {
            temperature = <0x00011170>;
            type = "passive";
            hysteresis = <0x00000000>;
            phandle = <0x000000d4>;
            };
          trip-point@1
            {
            temperature = <0x00015f90>;
            type = "passive";
            hysteresis = <0x00000000>;
            phandle = <0x00000073>;
            };
          cpu_crit@0
            {
            temperature = <0x0001c138>;
            type = "critical";
            hysteresis = <0x00000000>;
            phandle = <0x000000d5>;
            };
          };
        cooling-maps
          {
          map0
            {
            trip = <0x00000073>;
            cooling-device = <0x00000074 0xffffffff 0xffffffff>;
            contribution = <0x00000400>;
            };
          map1
            {
            trip = <0x00000073>;
            cooling-device = <0x00000075 0xffffffff 0xffffffff>;
            contribution = <0x00000400>;
            };
          };
        };
      ddr_thermal_zone
        {
        polling-delay-passive = <0x00000000>;
        polling-delay = <0x00000000>;
        thermal-sensors = <0x00000072 0x00000003>;
        };
      gpu_thermal_zone
        {
        polling-delay-passive = <0x000001f4>;
        polling-delay = <0x000003e8>;
        thermal-sensors = <0x00000072 0x00000000>;
        sustainable-power = <0x0000044c>;
        };
      ve_thermal_zone
        {
        polling-delay-passive = <0x00000000>;
        polling-delay = <0x00000000>;
        thermal-sensors = <0x00000072 0x00000001>;
        };
      };
    usb0-drvvvbus
      {
      compatible = "regulator-fixed";
      regulator-name = "usb0-drvvbus";
      regulator-min-microvolt = <0x004c4b40>;
      regulator-max-microvolt = <0x004c4b40>;
      regulator-enable-ramp-delay = <0x000003e8>;
      enable-active-high;
      phandle = <0x0000005f>;
      };
    box_start_os0
      {
      compatible = "allwinner,box_start_os";
      start_type = <0x00000001>;
      irkey_used = <0x00000000>;
      pmukey_used = <0x00000000>;
      pmukey_num = <0x00000000>;
      led_power = <0x00000000>;
      led_state = <0x00000000>;
      pinctrl-0 = <0x00000076>;
      pinctrl-1 = <0x00000077>;
      };
    __symbols__
      {
      cpu0 = "/ cpus/ cpu@0";
      CPU_SLEEP = "/ cpus/ idle-states/ cpu-sleep";
      cpu_opp_table = "/ cpu-opp-table";
      dump_reg = "/ dump-reg@20000";
      iosc = "/ internal-osc-clk";
      dcxo24M = "/ dcxo24M-clk";
      osc32k = "/ osc32k-clk";
      gic = "/ interrupt-controller@3021000";
      wakeupgen = "/ interrupt-controller@0";
      reg_pio1_8 = "/ pio-18";
      reg_pio3_3 = "/ pio-33";
      dram = "/ dram";
      soc = "/ soc@3000000";
      disp = "/ soc@3000000/ disp@1000000";
      ve = "/ soc@3000000/ ve@1c0e000";
      ve1 = "/ soc@3000000/ ve1@1c0e000";
      g2d = "/ soc@3000000/ g2d@1480000";
      di = "/ soc@3000000/ deinterlace@1420000";
      gpu = "/ soc@3000000/ gpu@1800000";
      ipa_dvfs = "/ soc@3000000/ gpu@1800000/ ipa_dvfs";
      lcd0 = "/ soc@3000000/ lcd0@1c0c000";
      tv0 = "/ soc@3000000/ tv0@6520000";
      ccu = "/ soc@3000000/ ccu@3001000";
      rtc_ccu = "/ soc@3000000/ rtc_ccu@7000000";
      rtc = "/ soc@3000000/ rtc@7000000";
      r_ccu = "/ soc@3000000/ r_ccu@7010000";
      dma = "/ soc@3000000/ dma-controller@3002000";
      sram_ctrl = "/ soc@3000000/ sram_ctrl@3000000";
      speedbin_efuse = "/ soc@3000000/ sid@3006000/ speed@00";
      ths_calib = "/ soc@3000000/ sid@3006000/ calib@14";
      tvout = "/ soc@3000000/ sid@3006000/ tvout@2e";
      i_cpu_efuse = "/ soc@3000000/ sid@3006000/ i-cpu@28";
      cryptoengine = "/ soc@3000000/ ce@1904000";
      soc_timer0 = "/ soc@3000000/ timer@3009000";
      wdt = "/ soc@3000000/ watchdog@30090a0";
      pwm = "/ soc@3000000/ pwm@300a000";
      pwm0 = "/ soc@3000000/ pwm0@300a010";
      pwm1 = "/ soc@3000000/ pwm1@300a011";
      pwm2 = "/ soc@3000000/ pwm2@300a012";
      pwm3 = "/ soc@3000000/ pwm3@300a013";
      pwm4 = "/ soc@3000000/ pwm4@300a014";
      pwm5 = "/ soc@3000000/ pwm5@300a015";
      ac200 = "/ soc@3000000/ ac200";
      pio = "/ soc@3000000/ pinctrl@300b000";
      uart0_ph_pins = "/ soc@3000000/ pinctrl@300b000/ uart0-ph-pins";
      uart0_ph_sleep = "/ soc@3000000/ pinctrl@300b000/ uart0-ph-sleep";
      sdc0_pins_a = "/ soc@3000000/ pinctrl@300b000/ sdc0@0";
      sdc0_pins_b = "/ soc@3000000/ pinctrl@300b000/ sdc0@1";
      sdc0_pins_c = "/ soc@3000000/ pinctrl@300b000/ sdc0@2";
      sdc0_pins_d = "/ soc@3000000/ pinctrl@300b000/ sdc0@3";
      sdc0_pins_e = "/ soc@3000000/ pinctrl@300b000/ sdc0@4";
      sdc1_pins_a = "/ soc@3000000/ pinctrl@300b000/ sdc1@0";
      sdc1_pins_b = "/ soc@3000000/ pinctrl@300b000/ sdc1@1";
      sdc2_pins_a = "/ soc@3000000/ pinctrl@300b000/ sdc2@0";
      sdc2_pins_b = "/ soc@3000000/ pinctrl@300b000/ sdc2@1";
      sdc2_pins_c = "/ soc@3000000/ pinctrl@300b000/ sdc2@2";
      nand0_pins_a = "/ soc@3000000/ pinctrl@300b000/ nand0@0";
      nand0_pins_b = "/ soc@3000000/ pinctrl@300b000/ nand0@1";
      nand0_pins_c = "/ soc@3000000/ pinctrl@300b000/ nand0@2";
      uart1_ph_pins = "/ soc@3000000/ pinctrl@300b000/ uart1-ph-pins";
      uart1_ph_sleep = "/ soc@3000000/ pinctrl@300b000/ uart1-ph-sleep";
      uart2_ph_pins = "/ soc@3000000/ pinctrl@300b000/ uart2-ph-pins";
      uart2_ph_sleep = "/ soc@3000000/ pinctrl@300b000/ uart2-ph-sleep";
      uart3_ph_pins = "/ soc@3000000/ pinctrl@300b000/ uart3-ph-pins";
      uart3_ph_sleep = "/ soc@3000000/ pinctrl@300b000/ uart3-ph-sleep";
      uart4_ph_pins = "/ soc@3000000/ pinctrl@300b000/ uart4-ph-pins";
      uart4_ph_sleep = "/ soc@3000000/ pinctrl@300b000/ uart4-ph-sleep";
      uart5_ph_pins = "/ soc@3000000/ pinctrl@300b000/ uart5-ph-pins";
      uart5_ph_sleep = "/ soc@3000000/ pinctrl@300b000/ uart5-ph-sleep";
      s_cir0_pins_a = "/ soc@3000000/ pinctrl@300b000/ s_cir0@0";
      s_cir0_pins_b = "/ soc@3000000/ pinctrl@300b000/ s_cir0@1";
      twi0_pins_a = "/ soc@3000000/ pinctrl@300b000/ twi0@0";
      twi0_pins_b = "/ soc@3000000/ pinctrl@300b000/ twi0@1";
      twi1_pins_a = "/ soc@3000000/ pinctrl@300b000/ twi1@0";
      twi1_pins_b = "/ soc@3000000/ pinctrl@300b000/ twi1@1";
      twi2_pins_a = "/ soc@3000000/ pinctrl@300b000/ twi2@0";
      twi2_pins_b = "/ soc@3000000/ pinctrl@300b000/ twi2@1";
      twi3_pins_a = "/ soc@3000000/ pinctrl@300b000/ twi3@0";
      twi3_pins_b = "/ soc@3000000/ pinctrl@300b000/ twi3@1";
      twi4_pins_a = "/ soc@3000000/ pinctrl@300b000/ twi4@0";
      twi4_pins_b = "/ soc@3000000/ pinctrl@300b000/ twi4@1";
      spi1_pins_a = "/ soc@3000000/ pinctrl@300b000/ spi1@0";
      spi1_pins_b = "/ soc@3000000/ pinctrl@300b000/ spi1@1";
      spi1_pins_c = "/ soc@3000000/ pinctrl@300b000/ spi1@2";
      gmac0_pins_a = "/ soc@3000000/ pinctrl@300b000/ gmac0@0";
      gmac0_pins_b = "/ soc@3000000/ pinctrl@300b000/ gmac0@1";
      gmac1_pins_a = "/ soc@3000000/ pinctrl@300b000/ gmac1@0";
      gmac1_pins_b = "/ soc@3000000/ pinctrl@300b000/ gmac1@1";
      pwm5_pin_a = "/ soc@3000000/ pinctrl@300b000/ pwm5@0";
      pwm5_pin_b = "/ soc@3000000/ pinctrl@300b000/ pwm5@1";
      spdif_pins_a = "/ soc@3000000/ pinctrl@300b000/ spdif@0";
      spdif_pins_b = "/ soc@3000000/ pinctrl@300b000/ spdif_sleep@0";
      ahub_daudio0_pins_a = "/ soc@3000000/ pinctrl@300b000/ ahub_daudio0@0";
      ahub_daudio0_pins_b = "/ soc@3000000/ pinctrl@300b000/ ahub_daudio0_sleep@0";
      ahub_daudio2_pins_a = "/ soc@3000000/ pinctrl@300b000/ ahub_daudio2@0";
      ahub_daudio2_pins_b = "/ soc@3000000/ pinctrl@300b000/ ahub_daudio2@1";
      ahub_daudio2_pins_c = "/ soc@3000000/ pinctrl@300b000/ ahub_daudio2@2";
      ahub_daudio2_pins_d = "/ soc@3000000/ pinctrl@300b000/ ahub_daudio2_sleep@0";
      ahub_daudio3_pins_a = "/ soc@3000000/ pinctrl@300b000/ ahub_daudio3@0";
      ahub_daudio3_pins_b = "/ soc@3000000/ pinctrl@300b000/ ahub_daudio3@1";
      ahub_daudio3_pins_c = "/ soc@3000000/ pinctrl@300b000/ ahub_daudio3@2";
      ahub_daudio3_pins_d = "/ soc@3000000/ pinctrl@300b000/ ahub_daudio3_sleep@0";
      standby_red = "/ soc@3000000/ pinctrl@300b000/ standby@0";
      standby_blue = "/ soc@3000000/ pinctrl@300b000/ standby@1";
      standby_bt = "/ soc@3000000/ pinctrl@300b000/ standby@2";
      clk_losc_pins_a = "/ soc@3000000/ pinctrl@300b000/ losc_out@0";
      r_pio = "/ soc@3000000/ pinctrl@7022000";
      s_twi0_pins_a = "/ soc@3000000/ pinctrl@7022000/ s_twi0@0";
      s_twi0_pins_b = "/ soc@3000000/ pinctrl@7022000/ s_twi0@1";
      mmu_aw = "/ soc@3000000/ iommu@30f0000";
      sdc2 = "/ soc@3000000/ sdmmc@4022000";
      sdc0 = "/ soc@3000000/ sdmmc@4020000";
      sdc1 = "/ soc@3000000/ sdmmc@4021000";
      nand0 = "/ soc@3000000/ nand0@4011000";
      mbus0 = "/ soc@3000000/ mbus-controller@47fa000";
      uart0 = "/ soc@3000000/ uart@5000000";
      uart1 = "/ soc@3000000/ uart@5000400";
      uart2 = "/ soc@3000000/ uart@5000800";
      uart3 = "/ soc@3000000/ uart@5000c00";
      uart4 = "/ soc@3000000/ uart@5001000";
      uart5 = "/ soc@3000000/ uart@5001400";
      twi0 = "/ soc@3000000/ twi@5002000";
      twi1 = "/ soc@3000000/ twi@5002400";
      twi2 = "/ soc@3000000/ twi@5002800";
      twi3 = "/ soc@3000000/ twi@5002c00";
      twi4 = "/ soc@3000000/ twi@5003000";
      twi5 = "/ soc@3000000/ twi@7081400";
      pmu0 = "/ soc@3000000/ twi@7081400/ pmu";
      standby_param = "/ soc@3000000/ twi@7081400/ pmu/ standby_param";
      reg_dcdc1 = "/ soc@3000000/ twi@7081400/ pmu/ regulators/ dcdc1";
      reg_dcdc2 = "/ soc@3000000/ twi@7081400/ pmu/ regulators/ dcdc2";
      reg_dcdc3 = "/ soc@3000000/ twi@7081400/ pmu/ regulators/ dcdc3";
      reg_aldo1 = "/ soc@3000000/ twi@7081400/ pmu/ regulators/ ldo1";
      reg_dldo1 = "/ soc@3000000/ twi@7081400/ pmu/ regulators/ ldo2";
      spi0 = "/ soc@3000000/ spi@5010000";
      spi1 = "/ soc@3000000/ spi@5011000";
      ths = "/ soc@3000000/ thermal-sensor@5070400";
      gpadc = "/ soc@3000000/ gpadc@5070000";
      keyboard = "/ soc@3000000/ keyboard@5070800";
      codec = "/ soc@3000000/ codec@5096000";
      codec_plat = "/ soc@3000000/ codec_plat";
      codec_mach = "/ soc@3000000/ codec_mach";
      spdif_plat = "/ soc@3000000/ spdif_plat@5093000";
      spdif_mach = "/ soc@3000000/ spdif_mach";
      ahub_dam_plat = "/ soc@3000000/ ahub_dam_plat@5097000";
      ahub_dam_mach = "/ soc@3000000/ ahub_dam_mach";
      ahub0_plat = "/ soc@3000000/ ahub0_plat";
      ahub1_plat = "/ soc@3000000/ ahub1_plat";
      ahub2_plat = "/ soc@3000000/ ahub2_plat";
      ahub3_plat = "/ soc@3000000/ ahub3_plat";
      ahub0_mach = "/ soc@3000000/ ahub0_mach";
      ahub0_cpu = "/ soc@3000000/ ahub0_mach/ soundcard-mach,cpu";
      ahub0_codec = "/ soc@3000000/ ahub0_mach/ soundcard-mach,codec";
      ahub1_mach = "/ soc@3000000/ ahub1_mach";
      ahub1_cpu = "/ soc@3000000/ ahub1_mach/ soundcard-mach,cpu";
      ahub1_codec = "/ soc@3000000/ ahub1_mach/ soundcard-mach,codec";
      ahub2_mach = "/ soc@3000000/ ahub2_mach";
      ahub2_cpu = "/ soc@3000000/ ahub2_mach/ soundcard-mach,cpu";
      ahub2_codec = "/ soc@3000000/ ahub2_mach/ soundcard-mach,codec";
      ahub3_mach = "/ soc@3000000/ ahub3_mach";
      ahub3_cpu = "/ soc@3000000/ ahub3_mach/ soundcard-mach,cpu";
      ahub3_codec = "/ soc@3000000/ ahub3_mach/ soundcard-mach,codec";
      spdif = "/ soc@3000000/ spdif@5094000";
      soundspdif = "/ soc@3000000/ soundspdif";
      dmic = "/ soc@3000000/ dmic@5095000";
      dmic_codec = "/ soc@3000000/ dmic_codec";
      sounddmic = "/ soc@3000000/ sounddmic";
      gpio_para = "/ soc@3000000/ gpio_para";
      gmac0 = "/ soc@3000000/ eth@5020000";
      gmac1 = "/ soc@3000000/ eth@5030000";
      usbc0 = "/ soc@3000000/ usbc0@0";
      udc = "/ soc@3000000/ udc-controller@5100000";
      ehci0 = "/ soc@3000000/ ehci0-controller@5101000";
      ohci0 = "/ soc@3000000/ ohci0-controller@5101400";
      usbc1 = "/ soc@3000000/ usbc1@0";
      ehci1 = "/ soc@3000000/ ehci1-controller@5200000";
      ohci1 = "/ soc@3000000/ ohci1-controller@5200400";
      usbc2 = "/ soc@3000000/ usbc2@0";
      ehci2 = "/ soc@3000000/ ehci2-controller@5310000";
      ohci2 = "/ soc@3000000/ ohci2-controller@5310400";
      usbc3 = "/ soc@3000000/ usbc3@0";
      ehci3 = "/ soc@3000000/ ehci3-controller@5311000";
      ohci3 = "/ soc@3000000/ ohci3-controller@5311400";
      hdmi = "/ soc@3000000/ hdmi@6000000";
      nmi_intc = "/ soc@3000000/ interrupt-controller@7010320";
      s_cir0 = "/ soc@3000000/ s_cir@7040000";
      rfkill = "/ soc@3000000/ rfkill";
      wlan = "/ soc@3000000/ rfkill/ wlan";
      bt = "/ soc@3000000/ rfkill/ bt";
      addr_mgt = "/ soc@3000000/ addr_mgt";
      btlpm = "/ soc@3000000/ btlpm";
      clk_pll_video2 = "/ soc@3000000/ pll_video2";
      clk_pll_de = "/ soc@3000000/ pll_de";
      clk_de = "/ soc@3000000/ de";
      clk_display_top = "/ soc@3000000/ display_top";
      clk_tcon_lcd = "/ soc@3000000/ tcon_lcd";
      clk_tcon_lcd1 = "/ soc@3000000/ tcon_lcd1";
      clk_tcon_tv = "/ soc@3000000/ tcon_tv";
      clk_tcon_tv1 = "/ soc@3000000/ tcon_tv1";
      clk_lvds = "/ soc@3000000/ lvds";
      clk_hdmi = "/ soc@3000000/ hdmi";
      clk_hdmi_slow = "/ soc@3000000/ hdmi_slow";
      clk_hdmi_cec = "/ soc@3000000/ hdmi_cec";
      clk_hdmi_hdcp = "/ soc@3000000/ hdmi_hdcp";
      clk_pll_periph1 = "/ soc@3000000/ pll_periph1";
      aw_vfd = "/ soc@3000000/ aw_vfd";
      uboot_disp = "/ uboot_disp@1000000";
      uboot_hdmi = "/ uboot_hdmi@6000000";
      cpu_trips = "/ thermal-zones/ cpu_thermal_zone/ trips";
      cpu_threshold = "/ thermal-zones/ cpu_thermal_zone/ trips/ trip-point@0";
      cpu_target = "/ thermal-zones/ cpu_thermal_zone/ trips/ trip-point@1";
      cpu_crit = "/ thermal-zones/ cpu_thermal_zone/ trips/ cpu_crit@0";
      usb0_drvvbus = "/ usb0-drvvvbus";
      };
    };
=>

  Обзор     Корпус     Элементы     Порты     OTA     ENV       FDT