18c2ecf20Sopenharmony_ci/* 28c2ecf20Sopenharmony_ci * Copyright 2016 ZTE Corporation. 38c2ecf20Sopenharmony_ci * Copyright 2016 Linaro Ltd. 48c2ecf20Sopenharmony_ci * 58c2ecf20Sopenharmony_ci * This file is dual-licensed: you can use it either under the terms 68c2ecf20Sopenharmony_ci * of the GPL or the X11 license, at your option. Note that this dual 78c2ecf20Sopenharmony_ci * licensing only applies to this file, and not this project as a 88c2ecf20Sopenharmony_ci * whole. 98c2ecf20Sopenharmony_ci * 108c2ecf20Sopenharmony_ci * a) This library is free software; you can redistribute it and/or 118c2ecf20Sopenharmony_ci * modify it under the terms of the GNU General Public License as 128c2ecf20Sopenharmony_ci * published by the Free Software Foundation; either version 2 of the 138c2ecf20Sopenharmony_ci * License, or (at your option) any later version. 148c2ecf20Sopenharmony_ci * 158c2ecf20Sopenharmony_ci * This library is distributed in the hope that it will be useful, 168c2ecf20Sopenharmony_ci * but WITHOUT ANY WARRANTY; without even the implied warranty of 178c2ecf20Sopenharmony_ci * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 188c2ecf20Sopenharmony_ci * GNU General Public License for more details. 198c2ecf20Sopenharmony_ci * 208c2ecf20Sopenharmony_ci * Or, alternatively, 218c2ecf20Sopenharmony_ci * 228c2ecf20Sopenharmony_ci * b) Permission is hereby granted, free of charge, to any person 238c2ecf20Sopenharmony_ci * obtaining a copy of this software and associated documentation 248c2ecf20Sopenharmony_ci * files (the "Software"), to deal in the Software without 258c2ecf20Sopenharmony_ci * restriction, including without limitation the rights to use, 268c2ecf20Sopenharmony_ci * copy, modify, merge, publish, distribute, sublicense, and/or 278c2ecf20Sopenharmony_ci * sell copies of the Software, and to permit persons to whom the 288c2ecf20Sopenharmony_ci * Software is furnished to do so, subject to the following 298c2ecf20Sopenharmony_ci * conditions: 308c2ecf20Sopenharmony_ci * 318c2ecf20Sopenharmony_ci * The above copyright notice and this permission notice shall be 328c2ecf20Sopenharmony_ci * included in all copies or substantial portions of the Software. 338c2ecf20Sopenharmony_ci * 348c2ecf20Sopenharmony_ci * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 358c2ecf20Sopenharmony_ci * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 368c2ecf20Sopenharmony_ci * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 378c2ecf20Sopenharmony_ci * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 388c2ecf20Sopenharmony_ci * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 398c2ecf20Sopenharmony_ci * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 408c2ecf20Sopenharmony_ci * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 418c2ecf20Sopenharmony_ci * OTHER DEALINGS IN THE SOFTWARE. 428c2ecf20Sopenharmony_ci */ 438c2ecf20Sopenharmony_ci 448c2ecf20Sopenharmony_ci#include <dt-bindings/input/input.h> 458c2ecf20Sopenharmony_ci#include <dt-bindings/interrupt-controller/arm-gic.h> 468c2ecf20Sopenharmony_ci#include <dt-bindings/gpio/gpio.h> 478c2ecf20Sopenharmony_ci#include <dt-bindings/clock/zx296718-clock.h> 488c2ecf20Sopenharmony_ci 498c2ecf20Sopenharmony_ci/ { 508c2ecf20Sopenharmony_ci compatible = "zte,zx296718"; 518c2ecf20Sopenharmony_ci #address-cells = <1>; 528c2ecf20Sopenharmony_ci #size-cells = <1>; 538c2ecf20Sopenharmony_ci interrupt-parent = <&gic>; 548c2ecf20Sopenharmony_ci 558c2ecf20Sopenharmony_ci aliases { 568c2ecf20Sopenharmony_ci gpio0 = &bgpio0; 578c2ecf20Sopenharmony_ci gpio1 = &bgpio1; 588c2ecf20Sopenharmony_ci gpio2 = &bgpio2; 598c2ecf20Sopenharmony_ci gpio3 = &bgpio3; 608c2ecf20Sopenharmony_ci gpio4 = &bgpio4; 618c2ecf20Sopenharmony_ci gpio5 = &bgpio5; 628c2ecf20Sopenharmony_ci gpio6 = &bgpio6; 638c2ecf20Sopenharmony_ci serial0 = &uart0; 648c2ecf20Sopenharmony_ci }; 658c2ecf20Sopenharmony_ci 668c2ecf20Sopenharmony_ci cpus { 678c2ecf20Sopenharmony_ci #address-cells = <2>; 688c2ecf20Sopenharmony_ci #size-cells = <0>; 698c2ecf20Sopenharmony_ci 708c2ecf20Sopenharmony_ci cpu-map { 718c2ecf20Sopenharmony_ci cluster0 { 728c2ecf20Sopenharmony_ci core0 { 738c2ecf20Sopenharmony_ci cpu = <&cpu0>; 748c2ecf20Sopenharmony_ci }; 758c2ecf20Sopenharmony_ci core1 { 768c2ecf20Sopenharmony_ci cpu = <&cpu1>; 778c2ecf20Sopenharmony_ci }; 788c2ecf20Sopenharmony_ci core2 { 798c2ecf20Sopenharmony_ci cpu = <&cpu2>; 808c2ecf20Sopenharmony_ci }; 818c2ecf20Sopenharmony_ci core3 { 828c2ecf20Sopenharmony_ci cpu = <&cpu3>; 838c2ecf20Sopenharmony_ci }; 848c2ecf20Sopenharmony_ci }; 858c2ecf20Sopenharmony_ci }; 868c2ecf20Sopenharmony_ci 878c2ecf20Sopenharmony_ci cpu0: cpu@0 { 888c2ecf20Sopenharmony_ci device_type = "cpu"; 898c2ecf20Sopenharmony_ci compatible = "arm,cortex-a53"; 908c2ecf20Sopenharmony_ci reg = <0x0 0x0>; 918c2ecf20Sopenharmony_ci enable-method = "psci"; 928c2ecf20Sopenharmony_ci clocks = <&topcrm A53_GATE>; 938c2ecf20Sopenharmony_ci operating-points-v2 = <&cluster0_opp>; 948c2ecf20Sopenharmony_ci }; 958c2ecf20Sopenharmony_ci 968c2ecf20Sopenharmony_ci cpu1: cpu@1 { 978c2ecf20Sopenharmony_ci device_type = "cpu"; 988c2ecf20Sopenharmony_ci compatible = "arm,cortex-a53"; 998c2ecf20Sopenharmony_ci reg = <0x0 0x1>; 1008c2ecf20Sopenharmony_ci enable-method = "psci"; 1018c2ecf20Sopenharmony_ci clocks = <&topcrm A53_GATE>; 1028c2ecf20Sopenharmony_ci operating-points-v2 = <&cluster0_opp>; 1038c2ecf20Sopenharmony_ci }; 1048c2ecf20Sopenharmony_ci 1058c2ecf20Sopenharmony_ci cpu2: cpu@2 { 1068c2ecf20Sopenharmony_ci device_type = "cpu"; 1078c2ecf20Sopenharmony_ci compatible = "arm,cortex-a53"; 1088c2ecf20Sopenharmony_ci reg = <0x0 0x2>; 1098c2ecf20Sopenharmony_ci enable-method = "psci"; 1108c2ecf20Sopenharmony_ci clocks = <&topcrm A53_GATE>; 1118c2ecf20Sopenharmony_ci operating-points-v2 = <&cluster0_opp>; 1128c2ecf20Sopenharmony_ci }; 1138c2ecf20Sopenharmony_ci 1148c2ecf20Sopenharmony_ci cpu3: cpu@3 { 1158c2ecf20Sopenharmony_ci device_type = "cpu"; 1168c2ecf20Sopenharmony_ci compatible = "arm,cortex-a53"; 1178c2ecf20Sopenharmony_ci reg = <0x0 0x3>; 1188c2ecf20Sopenharmony_ci enable-method = "psci"; 1198c2ecf20Sopenharmony_ci clocks = <&topcrm A53_GATE>; 1208c2ecf20Sopenharmony_ci operating-points-v2 = <&cluster0_opp>; 1218c2ecf20Sopenharmony_ci }; 1228c2ecf20Sopenharmony_ci }; 1238c2ecf20Sopenharmony_ci 1248c2ecf20Sopenharmony_ci cluster0_opp: opp-table0 { 1258c2ecf20Sopenharmony_ci compatible = "operating-points-v2"; 1268c2ecf20Sopenharmony_ci opp-shared; 1278c2ecf20Sopenharmony_ci 1288c2ecf20Sopenharmony_ci opp-500000000 { 1298c2ecf20Sopenharmony_ci opp-hz = /bits/ 64 <500000000>; 1308c2ecf20Sopenharmony_ci opp-microvolt = <866000>; 1318c2ecf20Sopenharmony_ci clock-latency-ns = <500000>; 1328c2ecf20Sopenharmony_ci }; 1338c2ecf20Sopenharmony_ci 1348c2ecf20Sopenharmony_ci opp-648000000 { 1358c2ecf20Sopenharmony_ci opp-hz = /bits/ 64 <648000000>; 1368c2ecf20Sopenharmony_ci opp-microvolt = <866000>; 1378c2ecf20Sopenharmony_ci clock-latency-ns = <500000>; 1388c2ecf20Sopenharmony_ci }; 1398c2ecf20Sopenharmony_ci 1408c2ecf20Sopenharmony_ci opp-800000000 { 1418c2ecf20Sopenharmony_ci opp-hz = /bits/ 64 <800000000>; 1428c2ecf20Sopenharmony_ci opp-microvolt = <888000>; 1438c2ecf20Sopenharmony_ci clock-latency-ns = <500000>; 1448c2ecf20Sopenharmony_ci }; 1458c2ecf20Sopenharmony_ci 1468c2ecf20Sopenharmony_ci opp-1000000000 { 1478c2ecf20Sopenharmony_ci opp-hz = /bits/ 64 <1000000000>; 1488c2ecf20Sopenharmony_ci opp-microvolt = <898000>; 1498c2ecf20Sopenharmony_ci clock-latency-ns = <500000>; 1508c2ecf20Sopenharmony_ci }; 1518c2ecf20Sopenharmony_ci 1528c2ecf20Sopenharmony_ci opp-1188000000 { 1538c2ecf20Sopenharmony_ci opp-hz = /bits/ 64 <1188000000>; 1548c2ecf20Sopenharmony_ci opp-microvolt = <1015000>; 1558c2ecf20Sopenharmony_ci clock-latency-ns = <500000>; 1568c2ecf20Sopenharmony_ci }; 1578c2ecf20Sopenharmony_ci }; 1588c2ecf20Sopenharmony_ci 1598c2ecf20Sopenharmony_ci clk24k: clk-24k { 1608c2ecf20Sopenharmony_ci compatible = "fixed-clock"; 1618c2ecf20Sopenharmony_ci #clock-cells = <0>; 1628c2ecf20Sopenharmony_ci clock-frequency = <24000>; 1638c2ecf20Sopenharmony_ci clock-output-names = "rtcclk"; 1648c2ecf20Sopenharmony_ci }; 1658c2ecf20Sopenharmony_ci 1668c2ecf20Sopenharmony_ci osc32k: clk-osc32k { 1678c2ecf20Sopenharmony_ci compatible = "fixed-clock"; 1688c2ecf20Sopenharmony_ci #clock-cells = <0>; 1698c2ecf20Sopenharmony_ci clock-frequency = <32000>; 1708c2ecf20Sopenharmony_ci clock-output-names = "osc32k"; 1718c2ecf20Sopenharmony_ci }; 1728c2ecf20Sopenharmony_ci 1738c2ecf20Sopenharmony_ci osc12m: clk-osc12m { 1748c2ecf20Sopenharmony_ci compatible = "fixed-clock"; 1758c2ecf20Sopenharmony_ci #clock-cells = <0>; 1768c2ecf20Sopenharmony_ci clock-frequency = <12000000>; 1778c2ecf20Sopenharmony_ci clock-output-names = "osc12m"; 1788c2ecf20Sopenharmony_ci }; 1798c2ecf20Sopenharmony_ci 1808c2ecf20Sopenharmony_ci osc24m: clk-osc24m { 1818c2ecf20Sopenharmony_ci compatible = "fixed-clock"; 1828c2ecf20Sopenharmony_ci #clock-cells = <0>; 1838c2ecf20Sopenharmony_ci clock-frequency = <24000000>; 1848c2ecf20Sopenharmony_ci clock-output-names = "osc24m"; 1858c2ecf20Sopenharmony_ci }; 1868c2ecf20Sopenharmony_ci 1878c2ecf20Sopenharmony_ci osc25m: clk-osc25m { 1888c2ecf20Sopenharmony_ci compatible = "fixed-clock"; 1898c2ecf20Sopenharmony_ci #clock-cells = <0>; 1908c2ecf20Sopenharmony_ci clock-frequency = <25000000>; 1918c2ecf20Sopenharmony_ci clock-output-names = "osc25m"; 1928c2ecf20Sopenharmony_ci }; 1938c2ecf20Sopenharmony_ci 1948c2ecf20Sopenharmony_ci osc60m: clk-osc60m { 1958c2ecf20Sopenharmony_ci compatible = "fixed-clock"; 1968c2ecf20Sopenharmony_ci #clock-cells = <0>; 1978c2ecf20Sopenharmony_ci clock-frequency = <60000000>; 1988c2ecf20Sopenharmony_ci clock-output-names = "osc60m"; 1998c2ecf20Sopenharmony_ci }; 2008c2ecf20Sopenharmony_ci 2018c2ecf20Sopenharmony_ci osc99m: clk-osc99m { 2028c2ecf20Sopenharmony_ci compatible = "fixed-clock"; 2038c2ecf20Sopenharmony_ci #clock-cells = <0>; 2048c2ecf20Sopenharmony_ci clock-frequency = <99000000>; 2058c2ecf20Sopenharmony_ci clock-output-names = "osc99m"; 2068c2ecf20Sopenharmony_ci }; 2078c2ecf20Sopenharmony_ci 2088c2ecf20Sopenharmony_ci osc125m: clk-osc125m { 2098c2ecf20Sopenharmony_ci compatible = "fixed-clock"; 2108c2ecf20Sopenharmony_ci #clock-cells = <0>; 2118c2ecf20Sopenharmony_ci clock-frequency = <125000000>; 2128c2ecf20Sopenharmony_ci clock-output-names = "osc125m"; 2138c2ecf20Sopenharmony_ci }; 2148c2ecf20Sopenharmony_ci 2158c2ecf20Sopenharmony_ci osc198m: clk-osc198m { 2168c2ecf20Sopenharmony_ci compatible = "fixed-clock"; 2178c2ecf20Sopenharmony_ci #clock-cells = <0>; 2188c2ecf20Sopenharmony_ci clock-frequency = <198000000>; 2198c2ecf20Sopenharmony_ci clock-output-names = "osc198m"; 2208c2ecf20Sopenharmony_ci }; 2218c2ecf20Sopenharmony_ci 2228c2ecf20Sopenharmony_ci pll_audio: clk-pll-884m { 2238c2ecf20Sopenharmony_ci compatible = "fixed-clock"; 2248c2ecf20Sopenharmony_ci #clock-cells = <0>; 2258c2ecf20Sopenharmony_ci clock-frequency = <884000000>; 2268c2ecf20Sopenharmony_ci clock-output-names = "pll_audio"; 2278c2ecf20Sopenharmony_ci }; 2288c2ecf20Sopenharmony_ci 2298c2ecf20Sopenharmony_ci pll_ddr: clk-pll-932m { 2308c2ecf20Sopenharmony_ci compatible = "fixed-clock"; 2318c2ecf20Sopenharmony_ci #clock-cells = <0>; 2328c2ecf20Sopenharmony_ci clock-frequency = <932000000>; 2338c2ecf20Sopenharmony_ci clock-output-names = "pll_ddr"; 2348c2ecf20Sopenharmony_ci }; 2358c2ecf20Sopenharmony_ci 2368c2ecf20Sopenharmony_ci pll_hsic: clk-pll-960m { 2378c2ecf20Sopenharmony_ci compatible = "fixed-clock"; 2388c2ecf20Sopenharmony_ci #clock-cells = <0>; 2398c2ecf20Sopenharmony_ci clock-frequency = <960000000>; 2408c2ecf20Sopenharmony_ci clock-output-names = "pll_hsic"; 2418c2ecf20Sopenharmony_ci }; 2428c2ecf20Sopenharmony_ci 2438c2ecf20Sopenharmony_ci pll_mac: clk-pll-1000m { 2448c2ecf20Sopenharmony_ci compatible = "fixed-clock"; 2458c2ecf20Sopenharmony_ci #clock-cells = <0>; 2468c2ecf20Sopenharmony_ci clock-frequency = <1000000000>; 2478c2ecf20Sopenharmony_ci clock-output-names = "pll_mac"; 2488c2ecf20Sopenharmony_ci }; 2498c2ecf20Sopenharmony_ci 2508c2ecf20Sopenharmony_ci pll_mm0: clk-pll-1188m { 2518c2ecf20Sopenharmony_ci compatible = "fixed-clock"; 2528c2ecf20Sopenharmony_ci #clock-cells = <0>; 2538c2ecf20Sopenharmony_ci clock-frequency = <1188000000>; 2548c2ecf20Sopenharmony_ci clock-output-names = "pll_mm0"; 2558c2ecf20Sopenharmony_ci }; 2568c2ecf20Sopenharmony_ci 2578c2ecf20Sopenharmony_ci pll_mm1: clk-pll-1296m { 2588c2ecf20Sopenharmony_ci compatible = "fixed-clock"; 2598c2ecf20Sopenharmony_ci #clock-cells = <0>; 2608c2ecf20Sopenharmony_ci clock-frequency = <1296000000>; 2618c2ecf20Sopenharmony_ci clock-output-names = "pll_mm1"; 2628c2ecf20Sopenharmony_ci }; 2638c2ecf20Sopenharmony_ci 2648c2ecf20Sopenharmony_ci psci { 2658c2ecf20Sopenharmony_ci compatible = "arm,psci-1.0"; 2668c2ecf20Sopenharmony_ci method = "smc"; 2678c2ecf20Sopenharmony_ci }; 2688c2ecf20Sopenharmony_ci 2698c2ecf20Sopenharmony_ci timer { 2708c2ecf20Sopenharmony_ci compatible = "arm,armv8-timer"; 2718c2ecf20Sopenharmony_ci interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW>, 2728c2ecf20Sopenharmony_ci <GIC_PPI 14 IRQ_TYPE_LEVEL_LOW>, 2738c2ecf20Sopenharmony_ci <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW>, 2748c2ecf20Sopenharmony_ci <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>; 2758c2ecf20Sopenharmony_ci }; 2768c2ecf20Sopenharmony_ci 2778c2ecf20Sopenharmony_ci pmu { 2788c2ecf20Sopenharmony_ci compatible = "arm,cortex-a53-pmu"; 2798c2ecf20Sopenharmony_ci interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH>; 2808c2ecf20Sopenharmony_ci }; 2818c2ecf20Sopenharmony_ci 2828c2ecf20Sopenharmony_ci gic: interrupt-controller@2a00000 { 2838c2ecf20Sopenharmony_ci compatible = "arm,gic-v3"; 2848c2ecf20Sopenharmony_ci #interrupt-cells = <3>; 2858c2ecf20Sopenharmony_ci #address-cells = <0>; 2868c2ecf20Sopenharmony_ci interrupt-controller; 2878c2ecf20Sopenharmony_ci reg = <0x02a00000 0x10000>, 2888c2ecf20Sopenharmony_ci <0x02b00000 0xc0000>; 2898c2ecf20Sopenharmony_ci interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>; 2908c2ecf20Sopenharmony_ci }; 2918c2ecf20Sopenharmony_ci 2928c2ecf20Sopenharmony_ci soc { 2938c2ecf20Sopenharmony_ci #address-cells = <1>; 2948c2ecf20Sopenharmony_ci #size-cells = <1>; 2958c2ecf20Sopenharmony_ci compatible = "simple-bus"; 2968c2ecf20Sopenharmony_ci ranges; 2978c2ecf20Sopenharmony_ci 2988c2ecf20Sopenharmony_ci irdec: ir-decoder@111000 { 2998c2ecf20Sopenharmony_ci compatible = "zte,zx296718-irdec"; 3008c2ecf20Sopenharmony_ci reg = <0x111000 0x1000>; 3018c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>; 3028c2ecf20Sopenharmony_ci status = "disabled"; 3038c2ecf20Sopenharmony_ci }; 3048c2ecf20Sopenharmony_ci 3058c2ecf20Sopenharmony_ci aon_sysctrl: aon-sysctrl@116000 { 3068c2ecf20Sopenharmony_ci compatible = "zte,zx296718-aon-sysctrl", "syscon"; 3078c2ecf20Sopenharmony_ci reg = <0x116000 0x1000>; 3088c2ecf20Sopenharmony_ci }; 3098c2ecf20Sopenharmony_ci 3108c2ecf20Sopenharmony_ci iocfg: pin-controller@119000 { 3118c2ecf20Sopenharmony_ci compatible = "zte,zx296718-iocfg"; 3128c2ecf20Sopenharmony_ci reg = <0x119000 0x1000>; 3138c2ecf20Sopenharmony_ci }; 3148c2ecf20Sopenharmony_ci 3158c2ecf20Sopenharmony_ci uart0: uart@11f000 { 3168c2ecf20Sopenharmony_ci compatible = "arm,pl011", "arm,primecell"; 3178c2ecf20Sopenharmony_ci arm,primecell-periphid = <0x001feffe>; 3188c2ecf20Sopenharmony_ci reg = <0x11f000 0x1000>; 3198c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>; 3208c2ecf20Sopenharmony_ci clocks = <&osc24m>; 3218c2ecf20Sopenharmony_ci clock-names = "apb_pclk"; 3228c2ecf20Sopenharmony_ci status = "disabled"; 3238c2ecf20Sopenharmony_ci }; 3248c2ecf20Sopenharmony_ci 3258c2ecf20Sopenharmony_ci sd0: mmc@1110000 { 3268c2ecf20Sopenharmony_ci compatible = "zte,zx296718-dw-mshc"; 3278c2ecf20Sopenharmony_ci #address-cells = <1>; 3288c2ecf20Sopenharmony_ci #size-cells = <0>; 3298c2ecf20Sopenharmony_ci reg = <0x01110000 0x1000>; 3308c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>; 3318c2ecf20Sopenharmony_ci fifo-depth = <32>; 3328c2ecf20Sopenharmony_ci data-addr = <0x200>; 3338c2ecf20Sopenharmony_ci fifo-watermark-aligned; 3348c2ecf20Sopenharmony_ci bus-width = <4>; 3358c2ecf20Sopenharmony_ci clock-frequency = <50000000>; 3368c2ecf20Sopenharmony_ci clocks = <&topcrm SD0_AHB>, <&topcrm SD0_WCLK>; 3378c2ecf20Sopenharmony_ci clock-names = "biu", "ciu"; 3388c2ecf20Sopenharmony_ci max-frequency = <50000000>; 3398c2ecf20Sopenharmony_ci cap-sdio-irq; 3408c2ecf20Sopenharmony_ci cap-sd-highspeed; 3418c2ecf20Sopenharmony_ci sd-uhs-sdr12; 3428c2ecf20Sopenharmony_ci sd-uhs-sdr25; 3438c2ecf20Sopenharmony_ci sd-uhs-sdr50; 3448c2ecf20Sopenharmony_ci sd-uhs-sdr104; 3458c2ecf20Sopenharmony_ci sd-uhs-ddr50; 3468c2ecf20Sopenharmony_ci status = "disabled"; 3478c2ecf20Sopenharmony_ci }; 3488c2ecf20Sopenharmony_ci 3498c2ecf20Sopenharmony_ci sd1: mmc@1111000 { 3508c2ecf20Sopenharmony_ci compatible = "zte,zx296718-dw-mshc"; 3518c2ecf20Sopenharmony_ci #address-cells = <1>; 3528c2ecf20Sopenharmony_ci #size-cells = <0>; 3538c2ecf20Sopenharmony_ci reg = <0x01111000 0x1000>; 3548c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>; 3558c2ecf20Sopenharmony_ci fifo-depth = <32>; 3568c2ecf20Sopenharmony_ci data-addr = <0x200>; 3578c2ecf20Sopenharmony_ci fifo-watermark-aligned; 3588c2ecf20Sopenharmony_ci bus-width = <4>; 3598c2ecf20Sopenharmony_ci clock-frequency = <167000000>; 3608c2ecf20Sopenharmony_ci clocks = <&topcrm SD1_AHB>, <&topcrm SD1_WCLK>; 3618c2ecf20Sopenharmony_ci clock-names = "biu", "ciu"; 3628c2ecf20Sopenharmony_ci max-frequency = <167000000>; 3638c2ecf20Sopenharmony_ci cap-sdio-irq; 3648c2ecf20Sopenharmony_ci cap-sd-highspeed; 3658c2ecf20Sopenharmony_ci status = "disabled"; 3668c2ecf20Sopenharmony_ci }; 3678c2ecf20Sopenharmony_ci 3688c2ecf20Sopenharmony_ci dma: dma-controller@1460000 { 3698c2ecf20Sopenharmony_ci compatible = "zte,zx296702-dma"; 3708c2ecf20Sopenharmony_ci reg = <0x01460000 0x1000>; 3718c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>; 3728c2ecf20Sopenharmony_ci clocks = <&osc24m>; 3738c2ecf20Sopenharmony_ci clock-names = "dmaclk"; 3748c2ecf20Sopenharmony_ci #dma-cells = <1>; 3758c2ecf20Sopenharmony_ci dma-channels = <32>; 3768c2ecf20Sopenharmony_ci dma-requests = <32>; 3778c2ecf20Sopenharmony_ci }; 3788c2ecf20Sopenharmony_ci 3798c2ecf20Sopenharmony_ci lsp0crm: clock-controller@1420000 { 3808c2ecf20Sopenharmony_ci compatible = "zte,zx296718-lsp0crm"; 3818c2ecf20Sopenharmony_ci reg = <0x01420000 0x1000>; 3828c2ecf20Sopenharmony_ci #clock-cells = <1>; 3838c2ecf20Sopenharmony_ci }; 3848c2ecf20Sopenharmony_ci 3858c2ecf20Sopenharmony_ci bgpio0: gpio@142d000 { 3868c2ecf20Sopenharmony_ci compatible = "zte,zx296718-gpio", "zte,zx296702-gpio"; 3878c2ecf20Sopenharmony_ci reg = <0x142d000 0x40>; 3888c2ecf20Sopenharmony_ci gpio-controller; 3898c2ecf20Sopenharmony_ci #gpio-cells = <2>; 3908c2ecf20Sopenharmony_ci gpio-ranges = <&pmm 0 48 16>; 3918c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>; 3928c2ecf20Sopenharmony_ci interrupt-parent = <&gic>; 3938c2ecf20Sopenharmony_ci interrupt-controller; 3948c2ecf20Sopenharmony_ci #interrupt-cells = <2>; 3958c2ecf20Sopenharmony_ci }; 3968c2ecf20Sopenharmony_ci 3978c2ecf20Sopenharmony_ci bgpio1: gpio@142d040 { 3988c2ecf20Sopenharmony_ci compatible = "zte,zx296718-gpio", "zte,zx296702-gpio"; 3998c2ecf20Sopenharmony_ci reg = <0x142d040 0x40>; 4008c2ecf20Sopenharmony_ci gpio-controller; 4018c2ecf20Sopenharmony_ci #gpio-cells = <2>; 4028c2ecf20Sopenharmony_ci gpio-ranges = <&pmm 0 80 16>; 4038c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>; 4048c2ecf20Sopenharmony_ci interrupt-parent = <&gic>; 4058c2ecf20Sopenharmony_ci interrupt-controller; 4068c2ecf20Sopenharmony_ci #interrupt-cells = <2>; 4078c2ecf20Sopenharmony_ci }; 4088c2ecf20Sopenharmony_ci 4098c2ecf20Sopenharmony_ci bgpio2: gpio@142d080 { 4108c2ecf20Sopenharmony_ci compatible = "zte,zx296718-gpio", "zte,zx296702-gpio"; 4118c2ecf20Sopenharmony_ci reg = <0x142d080 0x40>; 4128c2ecf20Sopenharmony_ci gpio-controller; 4138c2ecf20Sopenharmony_ci #gpio-cells = <2>; 4148c2ecf20Sopenharmony_ci gpio-ranges = <&pmm 0 80 3 4158c2ecf20Sopenharmony_ci &pmm 3 32 4 4168c2ecf20Sopenharmony_ci &pmm 7 83 9>; 4178c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>; 4188c2ecf20Sopenharmony_ci interrupt-parent = <&gic>; 4198c2ecf20Sopenharmony_ci interrupt-controller; 4208c2ecf20Sopenharmony_ci #interrupt-cells = <2>; 4218c2ecf20Sopenharmony_ci }; 4228c2ecf20Sopenharmony_ci 4238c2ecf20Sopenharmony_ci bgpio3: gpio@142d0c0 { 4248c2ecf20Sopenharmony_ci compatible = "zte,zx296718-gpio", "zte,zx296702-gpio"; 4258c2ecf20Sopenharmony_ci reg = <0x142d0c0 0x40>; 4268c2ecf20Sopenharmony_ci gpio-controller; 4278c2ecf20Sopenharmony_ci #gpio-cells = <2>; 4288c2ecf20Sopenharmony_ci gpio-ranges = <&pmm 0 92 16>; 4298c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>; 4308c2ecf20Sopenharmony_ci interrupt-parent = <&gic>; 4318c2ecf20Sopenharmony_ci interrupt-controller; 4328c2ecf20Sopenharmony_ci #interrupt-cells = <2>; 4338c2ecf20Sopenharmony_ci }; 4348c2ecf20Sopenharmony_ci 4358c2ecf20Sopenharmony_ci bgpio4: gpio@142d100 { 4368c2ecf20Sopenharmony_ci compatible = "zte,zx296718-gpio", "zte,zx296702-gpio"; 4378c2ecf20Sopenharmony_ci reg = <0x142d100 0x40>; 4388c2ecf20Sopenharmony_ci gpio-controller; 4398c2ecf20Sopenharmony_ci #gpio-cells = <2>; 4408c2ecf20Sopenharmony_ci gpio-ranges = <&pmm 0 108 12 4418c2ecf20Sopenharmony_ci &pmm 12 121 4>; 4428c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>; 4438c2ecf20Sopenharmony_ci interrupt-parent = <&gic>; 4448c2ecf20Sopenharmony_ci interrupt-controller; 4458c2ecf20Sopenharmony_ci #interrupt-cells = <2>; 4468c2ecf20Sopenharmony_ci }; 4478c2ecf20Sopenharmony_ci 4488c2ecf20Sopenharmony_ci bgpio5: gpio@142d140 { 4498c2ecf20Sopenharmony_ci compatible = "zte,zx296718-gpio", "zte,zx296702-gpio"; 4508c2ecf20Sopenharmony_ci reg = <0x142d140 0x40>; 4518c2ecf20Sopenharmony_ci gpio-controller; 4528c2ecf20Sopenharmony_ci #gpio-cells = <2>; 4538c2ecf20Sopenharmony_ci gpio-ranges = <&pmm 0 125 16>; 4548c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>; 4558c2ecf20Sopenharmony_ci interrupt-parent = <&gic>; 4568c2ecf20Sopenharmony_ci interrupt-controller; 4578c2ecf20Sopenharmony_ci #interrupt-cells = <2>; 4588c2ecf20Sopenharmony_ci }; 4598c2ecf20Sopenharmony_ci 4608c2ecf20Sopenharmony_ci bgpio6: gpio@142d180 { 4618c2ecf20Sopenharmony_ci compatible = "zte,zx296718-gpio", "zte,zx296702-gpio"; 4628c2ecf20Sopenharmony_ci reg = <0x142d180 0x40>; 4638c2ecf20Sopenharmony_ci gpio-controller; 4648c2ecf20Sopenharmony_ci #gpio-cells = <2>; 4658c2ecf20Sopenharmony_ci gpio-ranges = <&pmm 0 141 2>; 4668c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>; 4678c2ecf20Sopenharmony_ci interrupt-parent = <&gic>; 4688c2ecf20Sopenharmony_ci interrupt-controller; 4698c2ecf20Sopenharmony_ci #interrupt-cells = <2>; 4708c2ecf20Sopenharmony_ci }; 4718c2ecf20Sopenharmony_ci 4728c2ecf20Sopenharmony_ci lsp1crm: clock-controller@1430000 { 4738c2ecf20Sopenharmony_ci compatible = "zte,zx296718-lsp1crm"; 4748c2ecf20Sopenharmony_ci reg = <0x01430000 0x1000>; 4758c2ecf20Sopenharmony_ci #clock-cells = <1>; 4768c2ecf20Sopenharmony_ci }; 4778c2ecf20Sopenharmony_ci 4788c2ecf20Sopenharmony_ci pwm: pwm@1439000 { 4798c2ecf20Sopenharmony_ci compatible = "zte,zx296718-pwm"; 4808c2ecf20Sopenharmony_ci reg = <0x1439000 0x1000>; 4818c2ecf20Sopenharmony_ci clocks = <&lsp1crm LSP1_PWM_PCLK>, 4828c2ecf20Sopenharmony_ci <&lsp1crm LSP1_PWM_WCLK>; 4838c2ecf20Sopenharmony_ci clock-names = "pclk", "wclk"; 4848c2ecf20Sopenharmony_ci #pwm-cells = <3>; 4858c2ecf20Sopenharmony_ci status = "disabled"; 4868c2ecf20Sopenharmony_ci }; 4878c2ecf20Sopenharmony_ci 4888c2ecf20Sopenharmony_ci vou: vou@1440000 { 4898c2ecf20Sopenharmony_ci compatible = "zte,zx296718-vou"; 4908c2ecf20Sopenharmony_ci #address-cells = <1>; 4918c2ecf20Sopenharmony_ci #size-cells = <1>; 4928c2ecf20Sopenharmony_ci ranges = <0 0x1440000 0x10000>; 4938c2ecf20Sopenharmony_ci 4948c2ecf20Sopenharmony_ci dpc: dpc@0 { 4958c2ecf20Sopenharmony_ci compatible = "zte,zx296718-dpc"; 4968c2ecf20Sopenharmony_ci reg = <0x0000 0x1000>, <0x1000 0x1000>, 4978c2ecf20Sopenharmony_ci <0x5000 0x1000>, <0x6000 0x1000>, 4988c2ecf20Sopenharmony_ci <0xa000 0x1000>; 4998c2ecf20Sopenharmony_ci reg-names = "osd", "timing_ctrl", 5008c2ecf20Sopenharmony_ci "dtrc", "vou_ctrl", 5018c2ecf20Sopenharmony_ci "otfppu"; 5028c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>; 5038c2ecf20Sopenharmony_ci clocks = <&topcrm VOU_ACLK>, <&topcrm VOU_PPU_WCLK>, 5048c2ecf20Sopenharmony_ci <&topcrm VOU_MAIN_WCLK>, <&topcrm VOU_AUX_WCLK>; 5058c2ecf20Sopenharmony_ci clock-names = "aclk", "ppu_wclk", 5068c2ecf20Sopenharmony_ci "main_wclk", "aux_wclk"; 5078c2ecf20Sopenharmony_ci }; 5088c2ecf20Sopenharmony_ci 5098c2ecf20Sopenharmony_ci vga: vga@8000 { 5108c2ecf20Sopenharmony_ci compatible = "zte,zx296718-vga"; 5118c2ecf20Sopenharmony_ci reg = <0x8000 0x1000>; 5128c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>; 5138c2ecf20Sopenharmony_ci clocks = <&topcrm VGA_I2C_WCLK>; 5148c2ecf20Sopenharmony_ci clock-names = "i2c_wclk"; 5158c2ecf20Sopenharmony_ci zte,vga-power-control = <&sysctrl 0x170 0xe0>; 5168c2ecf20Sopenharmony_ci status = "disabled"; 5178c2ecf20Sopenharmony_ci }; 5188c2ecf20Sopenharmony_ci 5198c2ecf20Sopenharmony_ci hdmi: hdmi@c000 { 5208c2ecf20Sopenharmony_ci compatible = "zte,zx296718-hdmi"; 5218c2ecf20Sopenharmony_ci reg = <0xc000 0x4000>; 5228c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 82 IRQ_TYPE_EDGE_RISING>; 5238c2ecf20Sopenharmony_ci clocks = <&topcrm HDMI_OSC_CEC>, 5248c2ecf20Sopenharmony_ci <&topcrm HDMI_OSC_CLK>, 5258c2ecf20Sopenharmony_ci <&topcrm HDMI_XCLK>; 5268c2ecf20Sopenharmony_ci clock-names = "osc_cec", "osc_clk", "xclk"; 5278c2ecf20Sopenharmony_ci #sound-dai-cells = <0>; 5288c2ecf20Sopenharmony_ci status = "disabled"; 5298c2ecf20Sopenharmony_ci }; 5308c2ecf20Sopenharmony_ci 5318c2ecf20Sopenharmony_ci tvenc: tvenc@2000 { 5328c2ecf20Sopenharmony_ci compatible = "zte,zx296718-tvenc"; 5338c2ecf20Sopenharmony_ci reg = <0x2000 0x1000>; 5348c2ecf20Sopenharmony_ci zte,tvenc-power-control = <&sysctrl 0x170 0x10>; 5358c2ecf20Sopenharmony_ci status = "disabled"; 5368c2ecf20Sopenharmony_ci }; 5378c2ecf20Sopenharmony_ci }; 5388c2ecf20Sopenharmony_ci 5398c2ecf20Sopenharmony_ci topcrm: clock-controller@1461000 { 5408c2ecf20Sopenharmony_ci compatible = "zte,zx296718-topcrm"; 5418c2ecf20Sopenharmony_ci reg = <0x01461000 0x1000>; 5428c2ecf20Sopenharmony_ci #clock-cells = <1>; 5438c2ecf20Sopenharmony_ci }; 5448c2ecf20Sopenharmony_ci 5458c2ecf20Sopenharmony_ci pmm: pin-controller@1462000 { 5468c2ecf20Sopenharmony_ci compatible = "zte,zx296718-pmm"; 5478c2ecf20Sopenharmony_ci reg = <0x1462000 0x1000>; 5488c2ecf20Sopenharmony_ci zte,auxiliary-controller = <&iocfg>; 5498c2ecf20Sopenharmony_ci }; 5508c2ecf20Sopenharmony_ci 5518c2ecf20Sopenharmony_ci sysctrl: sysctrl@1463000 { 5528c2ecf20Sopenharmony_ci compatible = "zte,zx296718-sysctrl", "syscon"; 5538c2ecf20Sopenharmony_ci reg = <0x1463000 0x1000>; 5548c2ecf20Sopenharmony_ci }; 5558c2ecf20Sopenharmony_ci 5568c2ecf20Sopenharmony_ci emmc: mmc@1470000{ 5578c2ecf20Sopenharmony_ci compatible = "zte,zx296718-dw-mshc"; 5588c2ecf20Sopenharmony_ci reg = <0x01470000 0x1000>; 5598c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>; 5608c2ecf20Sopenharmony_ci zte,aon-syscon = <&aon_sysctrl>; 5618c2ecf20Sopenharmony_ci bus-width = <8>; 5628c2ecf20Sopenharmony_ci fifo-depth = <128>; 5638c2ecf20Sopenharmony_ci data-addr = <0x200>; 5648c2ecf20Sopenharmony_ci fifo-watermark-aligned; 5658c2ecf20Sopenharmony_ci clock-frequency = <167000000>; 5668c2ecf20Sopenharmony_ci clocks = <&topcrm EMMC_NAND_AHB>, <&topcrm EMMC_WCLK>; 5678c2ecf20Sopenharmony_ci clock-names = "biu", "ciu"; 5688c2ecf20Sopenharmony_ci max-frequency = <167000000>; 5698c2ecf20Sopenharmony_ci cap-mmc-highspeed; 5708c2ecf20Sopenharmony_ci mmc-ddr-1_8v; 5718c2ecf20Sopenharmony_ci mmc-hs200-1_8v; 5728c2ecf20Sopenharmony_ci non-removable; 5738c2ecf20Sopenharmony_ci disable-wp; 5748c2ecf20Sopenharmony_ci status = "disabled"; 5758c2ecf20Sopenharmony_ci }; 5768c2ecf20Sopenharmony_ci 5778c2ecf20Sopenharmony_ci audiocrm: clock-controller@1480000 { 5788c2ecf20Sopenharmony_ci compatible = "zte,zx296718-audiocrm"; 5798c2ecf20Sopenharmony_ci reg = <0x01480000 0x1000>; 5808c2ecf20Sopenharmony_ci #clock-cells = <1>; 5818c2ecf20Sopenharmony_ci }; 5828c2ecf20Sopenharmony_ci 5838c2ecf20Sopenharmony_ci i2s0: i2s@1482000 { 5848c2ecf20Sopenharmony_ci compatible = "zte,zx296718-i2s", "zte,zx296702-i2s"; 5858c2ecf20Sopenharmony_ci reg = <0x01482000 0x1000>; 5868c2ecf20Sopenharmony_ci clocks = <&audiocrm AUDIO_I2S0_WCLK>, 5878c2ecf20Sopenharmony_ci <&audiocrm AUDIO_I2S0_PCLK>; 5888c2ecf20Sopenharmony_ci clock-names = "wclk", "pclk"; 5898c2ecf20Sopenharmony_ci assigned-clocks = <&audiocrm I2S0_WCLK_MUX>; 5908c2ecf20Sopenharmony_ci assigned-clock-parents = <&topcrm AUDIO_99M>; 5918c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>; 5928c2ecf20Sopenharmony_ci dmas = <&dma 22>, <&dma 23>; 5938c2ecf20Sopenharmony_ci dma-names = "tx", "rx"; 5948c2ecf20Sopenharmony_ci #sound-dai-cells = <0>; 5958c2ecf20Sopenharmony_ci status = "disabled"; 5968c2ecf20Sopenharmony_ci }; 5978c2ecf20Sopenharmony_ci 5988c2ecf20Sopenharmony_ci i2c0: i2c@1486000 { 5998c2ecf20Sopenharmony_ci compatible = "zte,zx296718-i2c"; 6008c2ecf20Sopenharmony_ci reg = <0x01486000 0x1000>; 6018c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>; 6028c2ecf20Sopenharmony_ci #address-cells = <1>; 6038c2ecf20Sopenharmony_ci #size-cells = <0>; 6048c2ecf20Sopenharmony_ci clocks = <&audiocrm AUDIO_I2C0_WCLK>; 6058c2ecf20Sopenharmony_ci clock-frequency = <1600000>; 6068c2ecf20Sopenharmony_ci status = "disabled"; 6078c2ecf20Sopenharmony_ci 6088c2ecf20Sopenharmony_ci aud96p22: codec@22 { 6098c2ecf20Sopenharmony_ci compatible = "zte,zx-aud96p22"; 6108c2ecf20Sopenharmony_ci #sound-dai-cells = <0>; 6118c2ecf20Sopenharmony_ci reg = <0x22>; 6128c2ecf20Sopenharmony_ci }; 6138c2ecf20Sopenharmony_ci }; 6148c2ecf20Sopenharmony_ci 6158c2ecf20Sopenharmony_ci spdif0: spdif@1488000 { 6168c2ecf20Sopenharmony_ci compatible = "zte,zx296702-spdif"; 6178c2ecf20Sopenharmony_ci reg = <0x1488000 0x1000>; 6188c2ecf20Sopenharmony_ci clocks = <&audiocrm AUDIO_SPDIF0_WCLK>; 6198c2ecf20Sopenharmony_ci clock-names = "tx"; 6208c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>; 6218c2ecf20Sopenharmony_ci #sound-dai-cells = <0>; 6228c2ecf20Sopenharmony_ci dmas = <&dma 30>; 6238c2ecf20Sopenharmony_ci dma-names = "tx"; 6248c2ecf20Sopenharmony_ci status = "disabled"; 6258c2ecf20Sopenharmony_ci }; 6268c2ecf20Sopenharmony_ci }; 6278c2ecf20Sopenharmony_ci}; 628