10a6e92f2SDaniele Alessandrelli// SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause) 20a6e92f2SDaniele Alessandrelli/* 30a6e92f2SDaniele Alessandrelli * Copyright (C) 2020, Intel Corporation. 40a6e92f2SDaniele Alessandrelli * 50a6e92f2SDaniele Alessandrelli * Device tree describing Keem Bay SoC. 60a6e92f2SDaniele Alessandrelli */ 70a6e92f2SDaniele Alessandrelli 80a6e92f2SDaniele Alessandrelli#include <dt-bindings/interrupt-controller/arm-gic.h> 90a6e92f2SDaniele Alessandrelli 100a6e92f2SDaniele Alessandrelli/ { 110a6e92f2SDaniele Alessandrelli interrupt-parent = <&gic>; 120a6e92f2SDaniele Alessandrelli #address-cells = <2>; 130a6e92f2SDaniele Alessandrelli #size-cells = <2>; 140a6e92f2SDaniele Alessandrelli 150a6e92f2SDaniele Alessandrelli cpus { 160a6e92f2SDaniele Alessandrelli #address-cells = <1>; 170a6e92f2SDaniele Alessandrelli #size-cells = <0>; 180a6e92f2SDaniele Alessandrelli 190a6e92f2SDaniele Alessandrelli cpu@0 { 200a6e92f2SDaniele Alessandrelli compatible = "arm,cortex-a53"; 210a6e92f2SDaniele Alessandrelli device_type = "cpu"; 220a6e92f2SDaniele Alessandrelli reg = <0x0>; 230a6e92f2SDaniele Alessandrelli enable-method = "psci"; 240a6e92f2SDaniele Alessandrelli }; 250a6e92f2SDaniele Alessandrelli 260a6e92f2SDaniele Alessandrelli cpu@1 { 270a6e92f2SDaniele Alessandrelli compatible = "arm,cortex-a53"; 280a6e92f2SDaniele Alessandrelli device_type = "cpu"; 290a6e92f2SDaniele Alessandrelli reg = <0x1>; 300a6e92f2SDaniele Alessandrelli enable-method = "psci"; 310a6e92f2SDaniele Alessandrelli }; 320a6e92f2SDaniele Alessandrelli 330a6e92f2SDaniele Alessandrelli cpu@2 { 340a6e92f2SDaniele Alessandrelli compatible = "arm,cortex-a53"; 350a6e92f2SDaniele Alessandrelli device_type = "cpu"; 360a6e92f2SDaniele Alessandrelli reg = <0x2>; 370a6e92f2SDaniele Alessandrelli enable-method = "psci"; 380a6e92f2SDaniele Alessandrelli }; 390a6e92f2SDaniele Alessandrelli 400a6e92f2SDaniele Alessandrelli cpu@3 { 410a6e92f2SDaniele Alessandrelli compatible = "arm,cortex-a53"; 420a6e92f2SDaniele Alessandrelli device_type = "cpu"; 430a6e92f2SDaniele Alessandrelli reg = <0x3>; 440a6e92f2SDaniele Alessandrelli enable-method = "psci"; 450a6e92f2SDaniele Alessandrelli }; 460a6e92f2SDaniele Alessandrelli }; 470a6e92f2SDaniele Alessandrelli 480a6e92f2SDaniele Alessandrelli psci { 490a6e92f2SDaniele Alessandrelli compatible = "arm,psci-0.2"; 500a6e92f2SDaniele Alessandrelli method = "smc"; 510a6e92f2SDaniele Alessandrelli }; 520a6e92f2SDaniele Alessandrelli 530a6e92f2SDaniele Alessandrelli gic: interrupt-controller@20500000 { 540a6e92f2SDaniele Alessandrelli compatible = "arm,gic-v3"; 550a6e92f2SDaniele Alessandrelli interrupt-controller; 560a6e92f2SDaniele Alessandrelli #interrupt-cells = <3>; 570a6e92f2SDaniele Alessandrelli reg = <0x0 0x20500000 0x0 0x20000>, /* GICD */ 580a6e92f2SDaniele Alessandrelli <0x0 0x20580000 0x0 0x80000>; /* GICR */ 590a6e92f2SDaniele Alessandrelli /* VGIC maintenance interrupt */ 600a6e92f2SDaniele Alessandrelli interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>; 610a6e92f2SDaniele Alessandrelli }; 620a6e92f2SDaniele Alessandrelli 630a6e92f2SDaniele Alessandrelli timer { 640a6e92f2SDaniele Alessandrelli compatible = "arm,armv8-timer"; 650a6e92f2SDaniele Alessandrelli /* Secure, non-secure, virtual, and hypervisor */ 660a6e92f2SDaniele Alessandrelli interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_HIGH>, 670a6e92f2SDaniele Alessandrelli <GIC_PPI 14 IRQ_TYPE_LEVEL_HIGH>, 680a6e92f2SDaniele Alessandrelli <GIC_PPI 11 IRQ_TYPE_LEVEL_HIGH>, 690a6e92f2SDaniele Alessandrelli <GIC_PPI 10 IRQ_TYPE_LEVEL_HIGH>; 700a6e92f2SDaniele Alessandrelli }; 710a6e92f2SDaniele Alessandrelli 720a6e92f2SDaniele Alessandrelli pmu { 73*8b40a469SRob Herring compatible = "arm,cortex-a53-pmu"; 740a6e92f2SDaniele Alessandrelli interrupts = <GIC_PPI 0x7 IRQ_TYPE_LEVEL_HIGH>; 750a6e92f2SDaniele Alessandrelli }; 760a6e92f2SDaniele Alessandrelli 770a6e92f2SDaniele Alessandrelli soc { 780a6e92f2SDaniele Alessandrelli compatible = "simple-bus"; 790a6e92f2SDaniele Alessandrelli #address-cells = <2>; 800a6e92f2SDaniele Alessandrelli #size-cells = <2>; 810a6e92f2SDaniele Alessandrelli ranges; 820a6e92f2SDaniele Alessandrelli 830a6e92f2SDaniele Alessandrelli uart0: serial@20150000 { 840a6e92f2SDaniele Alessandrelli compatible = "snps,dw-apb-uart"; 850a6e92f2SDaniele Alessandrelli reg = <0x0 0x20150000 0x0 0x100>; 860a6e92f2SDaniele Alessandrelli interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>; 870a6e92f2SDaniele Alessandrelli clock-frequency = <24000000>; 880a6e92f2SDaniele Alessandrelli reg-shift = <2>; 890a6e92f2SDaniele Alessandrelli reg-io-width = <4>; 900a6e92f2SDaniele Alessandrelli status = "disabled"; 910a6e92f2SDaniele Alessandrelli }; 920a6e92f2SDaniele Alessandrelli 930a6e92f2SDaniele Alessandrelli uart1: serial@20160000 { 940a6e92f2SDaniele Alessandrelli compatible = "snps,dw-apb-uart"; 950a6e92f2SDaniele Alessandrelli reg = <0x0 0x20160000 0x0 0x100>; 960a6e92f2SDaniele Alessandrelli interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>; 970a6e92f2SDaniele Alessandrelli clock-frequency = <24000000>; 980a6e92f2SDaniele Alessandrelli reg-shift = <2>; 990a6e92f2SDaniele Alessandrelli reg-io-width = <4>; 1000a6e92f2SDaniele Alessandrelli status = "disabled"; 1010a6e92f2SDaniele Alessandrelli }; 1020a6e92f2SDaniele Alessandrelli 1030a6e92f2SDaniele Alessandrelli uart2: serial@20170000 { 1040a6e92f2SDaniele Alessandrelli compatible = "snps,dw-apb-uart"; 1050a6e92f2SDaniele Alessandrelli reg = <0x0 0x20170000 0x0 0x100>; 1060a6e92f2SDaniele Alessandrelli interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>; 1070a6e92f2SDaniele Alessandrelli clock-frequency = <24000000>; 1080a6e92f2SDaniele Alessandrelli reg-shift = <2>; 1090a6e92f2SDaniele Alessandrelli reg-io-width = <4>; 1100a6e92f2SDaniele Alessandrelli status = "disabled"; 1110a6e92f2SDaniele Alessandrelli }; 1120a6e92f2SDaniele Alessandrelli 1130a6e92f2SDaniele Alessandrelli uart3: serial@20180000 { 1140a6e92f2SDaniele Alessandrelli compatible = "snps,dw-apb-uart"; 1150a6e92f2SDaniele Alessandrelli reg = <0x0 0x20180000 0x0 0x100>; 1160a6e92f2SDaniele Alessandrelli interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>; 1170a6e92f2SDaniele Alessandrelli clock-frequency = <24000000>; 1180a6e92f2SDaniele Alessandrelli reg-shift = <2>; 1190a6e92f2SDaniele Alessandrelli reg-io-width = <4>; 1200a6e92f2SDaniele Alessandrelli status = "disabled"; 1210a6e92f2SDaniele Alessandrelli }; 1220a6e92f2SDaniele Alessandrelli }; 1230a6e92f2SDaniele Alessandrelli}; 124