18c2ecf20Sopenharmony_ci// SPDX-License-Identifier: (GPL-2.0 OR MIT) 28c2ecf20Sopenharmony_ci/* 38c2ecf20Sopenharmony_ci * Copyright (C) 2018 Synaptics Incorporated 48c2ecf20Sopenharmony_ci * 58c2ecf20Sopenharmony_ci * Author: Jisheng Zhang <jszhang@kernel.org> 68c2ecf20Sopenharmony_ci */ 78c2ecf20Sopenharmony_ci 88c2ecf20Sopenharmony_ci#include <dt-bindings/interrupt-controller/arm-gic.h> 98c2ecf20Sopenharmony_ci 108c2ecf20Sopenharmony_ci/ { 118c2ecf20Sopenharmony_ci compatible = "syna,as370"; 128c2ecf20Sopenharmony_ci interrupt-parent = <&gic>; 138c2ecf20Sopenharmony_ci #address-cells = <2>; 148c2ecf20Sopenharmony_ci #size-cells = <2>; 158c2ecf20Sopenharmony_ci 168c2ecf20Sopenharmony_ci psci { 178c2ecf20Sopenharmony_ci compatible = "arm,psci-1.0"; 188c2ecf20Sopenharmony_ci method = "smc"; 198c2ecf20Sopenharmony_ci }; 208c2ecf20Sopenharmony_ci 218c2ecf20Sopenharmony_ci cpus { 228c2ecf20Sopenharmony_ci #address-cells = <1>; 238c2ecf20Sopenharmony_ci #size-cells = <0>; 248c2ecf20Sopenharmony_ci 258c2ecf20Sopenharmony_ci cpu0: cpu@0 { 268c2ecf20Sopenharmony_ci compatible = "arm,cortex-a53"; 278c2ecf20Sopenharmony_ci device_type = "cpu"; 288c2ecf20Sopenharmony_ci reg = <0x0>; 298c2ecf20Sopenharmony_ci enable-method = "psci"; 308c2ecf20Sopenharmony_ci next-level-cache = <&l2>; 318c2ecf20Sopenharmony_ci cpu-idle-states = <&CPU_SLEEP_0>; 328c2ecf20Sopenharmony_ci }; 338c2ecf20Sopenharmony_ci 348c2ecf20Sopenharmony_ci cpu1: cpu@1 { 358c2ecf20Sopenharmony_ci compatible = "arm,cortex-a53"; 368c2ecf20Sopenharmony_ci device_type = "cpu"; 378c2ecf20Sopenharmony_ci reg = <0x1>; 388c2ecf20Sopenharmony_ci enable-method = "psci"; 398c2ecf20Sopenharmony_ci next-level-cache = <&l2>; 408c2ecf20Sopenharmony_ci cpu-idle-states = <&CPU_SLEEP_0>; 418c2ecf20Sopenharmony_ci }; 428c2ecf20Sopenharmony_ci 438c2ecf20Sopenharmony_ci cpu2: cpu@2 { 448c2ecf20Sopenharmony_ci compatible = "arm,cortex-a53"; 458c2ecf20Sopenharmony_ci device_type = "cpu"; 468c2ecf20Sopenharmony_ci reg = <0x2>; 478c2ecf20Sopenharmony_ci enable-method = "psci"; 488c2ecf20Sopenharmony_ci next-level-cache = <&l2>; 498c2ecf20Sopenharmony_ci cpu-idle-states = <&CPU_SLEEP_0>; 508c2ecf20Sopenharmony_ci }; 518c2ecf20Sopenharmony_ci 528c2ecf20Sopenharmony_ci cpu3: cpu@3 { 538c2ecf20Sopenharmony_ci compatible = "arm,cortex-a53"; 548c2ecf20Sopenharmony_ci device_type = "cpu"; 558c2ecf20Sopenharmony_ci reg = <0x3>; 568c2ecf20Sopenharmony_ci enable-method = "psci"; 578c2ecf20Sopenharmony_ci next-level-cache = <&l2>; 588c2ecf20Sopenharmony_ci cpu-idle-states = <&CPU_SLEEP_0>; 598c2ecf20Sopenharmony_ci }; 608c2ecf20Sopenharmony_ci 618c2ecf20Sopenharmony_ci l2: cache { 628c2ecf20Sopenharmony_ci compatible = "cache"; 638c2ecf20Sopenharmony_ci }; 648c2ecf20Sopenharmony_ci 658c2ecf20Sopenharmony_ci idle-states { 668c2ecf20Sopenharmony_ci entry-method = "psci"; 678c2ecf20Sopenharmony_ci CPU_SLEEP_0: cpu-sleep-0 { 688c2ecf20Sopenharmony_ci compatible = "arm,idle-state"; 698c2ecf20Sopenharmony_ci local-timer-stop; 708c2ecf20Sopenharmony_ci arm,psci-suspend-param = <0x0010000>; 718c2ecf20Sopenharmony_ci entry-latency-us = <75>; 728c2ecf20Sopenharmony_ci exit-latency-us = <155>; 738c2ecf20Sopenharmony_ci min-residency-us = <1000>; 748c2ecf20Sopenharmony_ci }; 758c2ecf20Sopenharmony_ci }; 768c2ecf20Sopenharmony_ci }; 778c2ecf20Sopenharmony_ci 788c2ecf20Sopenharmony_ci osc: osc { 798c2ecf20Sopenharmony_ci compatible = "fixed-clock"; 808c2ecf20Sopenharmony_ci #clock-cells = <0>; 818c2ecf20Sopenharmony_ci clock-frequency = <25000000>; 828c2ecf20Sopenharmony_ci }; 838c2ecf20Sopenharmony_ci 848c2ecf20Sopenharmony_ci pmu { 858c2ecf20Sopenharmony_ci compatible = "arm,cortex-a53-pmu"; 868c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>, 878c2ecf20Sopenharmony_ci <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>, 888c2ecf20Sopenharmony_ci <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>, 898c2ecf20Sopenharmony_ci <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; 908c2ecf20Sopenharmony_ci interrupt-affinity = <&cpu0>, 918c2ecf20Sopenharmony_ci <&cpu1>, 928c2ecf20Sopenharmony_ci <&cpu2>, 938c2ecf20Sopenharmony_ci <&cpu3>; 948c2ecf20Sopenharmony_ci }; 958c2ecf20Sopenharmony_ci 968c2ecf20Sopenharmony_ci timer { 978c2ecf20Sopenharmony_ci compatible = "arm,armv8-timer"; 988c2ecf20Sopenharmony_ci interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 998c2ecf20Sopenharmony_ci <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 1008c2ecf20Sopenharmony_ci <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 1018c2ecf20Sopenharmony_ci <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>; 1028c2ecf20Sopenharmony_ci }; 1038c2ecf20Sopenharmony_ci 1048c2ecf20Sopenharmony_ci soc@f7000000 { 1058c2ecf20Sopenharmony_ci compatible = "simple-bus"; 1068c2ecf20Sopenharmony_ci #address-cells = <1>; 1078c2ecf20Sopenharmony_ci #size-cells = <1>; 1088c2ecf20Sopenharmony_ci ranges = <0 0 0xf7000000 0x1000000>; 1098c2ecf20Sopenharmony_ci 1108c2ecf20Sopenharmony_ci gic: interrupt-controller@901000 { 1118c2ecf20Sopenharmony_ci compatible = "arm,gic-400"; 1128c2ecf20Sopenharmony_ci #interrupt-cells = <3>; 1138c2ecf20Sopenharmony_ci interrupt-controller; 1148c2ecf20Sopenharmony_ci reg = <0x901000 0x1000>, 1158c2ecf20Sopenharmony_ci <0x902000 0x2000>, 1168c2ecf20Sopenharmony_ci <0x904000 0x2000>, 1178c2ecf20Sopenharmony_ci <0x906000 0x2000>; 1188c2ecf20Sopenharmony_ci interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; 1198c2ecf20Sopenharmony_ci }; 1208c2ecf20Sopenharmony_ci 1218c2ecf20Sopenharmony_ci apb@e80000 { 1228c2ecf20Sopenharmony_ci compatible = "simple-bus"; 1238c2ecf20Sopenharmony_ci #address-cells = <1>; 1248c2ecf20Sopenharmony_ci #size-cells = <1>; 1258c2ecf20Sopenharmony_ci ranges = <0 0xe80000 0x10000>; 1268c2ecf20Sopenharmony_ci 1278c2ecf20Sopenharmony_ci uart0: serial@c00 { 1288c2ecf20Sopenharmony_ci compatible = "snps,dw-apb-uart"; 1298c2ecf20Sopenharmony_ci reg = <0xc00 0x100>; 1308c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>; 1318c2ecf20Sopenharmony_ci clocks = <&osc>; 1328c2ecf20Sopenharmony_ci reg-shift = <2>; 1338c2ecf20Sopenharmony_ci status = "disabled"; 1348c2ecf20Sopenharmony_ci }; 1358c2ecf20Sopenharmony_ci 1368c2ecf20Sopenharmony_ci gpio0: gpio@1800 { 1378c2ecf20Sopenharmony_ci compatible = "snps,dw-apb-gpio"; 1388c2ecf20Sopenharmony_ci reg = <0x1800 0x400>; 1398c2ecf20Sopenharmony_ci #address-cells = <1>; 1408c2ecf20Sopenharmony_ci #size-cells = <0>; 1418c2ecf20Sopenharmony_ci 1428c2ecf20Sopenharmony_ci porta: gpio-port@0 { 1438c2ecf20Sopenharmony_ci compatible = "snps,dw-apb-gpio-port"; 1448c2ecf20Sopenharmony_ci gpio-controller; 1458c2ecf20Sopenharmony_ci #gpio-cells = <2>; 1468c2ecf20Sopenharmony_ci snps,nr-gpios = <32>; 1478c2ecf20Sopenharmony_ci reg = <0>; 1488c2ecf20Sopenharmony_ci interrupt-controller; 1498c2ecf20Sopenharmony_ci #interrupt-cells = <2>; 1508c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>; 1518c2ecf20Sopenharmony_ci }; 1528c2ecf20Sopenharmony_ci }; 1538c2ecf20Sopenharmony_ci 1548c2ecf20Sopenharmony_ci gpio1: gpio@2000 { 1558c2ecf20Sopenharmony_ci compatible = "snps,dw-apb-gpio"; 1568c2ecf20Sopenharmony_ci reg = <0x2000 0x400>; 1578c2ecf20Sopenharmony_ci #address-cells = <1>; 1588c2ecf20Sopenharmony_ci #size-cells = <0>; 1598c2ecf20Sopenharmony_ci 1608c2ecf20Sopenharmony_ci portb: gpio-port@1 { 1618c2ecf20Sopenharmony_ci compatible = "snps,dw-apb-gpio-port"; 1628c2ecf20Sopenharmony_ci gpio-controller; 1638c2ecf20Sopenharmony_ci #gpio-cells = <2>; 1648c2ecf20Sopenharmony_ci snps,nr-gpios = <32>; 1658c2ecf20Sopenharmony_ci reg = <0>; 1668c2ecf20Sopenharmony_ci interrupt-controller; 1678c2ecf20Sopenharmony_ci #interrupt-cells = <2>; 1688c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>; 1698c2ecf20Sopenharmony_ci }; 1708c2ecf20Sopenharmony_ci }; 1718c2ecf20Sopenharmony_ci }; 1728c2ecf20Sopenharmony_ci }; 1738c2ecf20Sopenharmony_ci}; 174