1e1cbcf96SManoj Kumar/* 2*4f7330dcSsahil * Copyright (c) 2020-2023, Arm Limited. All rights reserved. 3e1cbcf96SManoj Kumar * 4e1cbcf96SManoj Kumar * SPDX-License-Identifier: BSD-3-Clause 5e1cbcf96SManoj Kumar */ 6e1cbcf96SManoj Kumar 7e1cbcf96SManoj Kumar/dts-v1/; 8e1cbcf96SManoj Kumar#include "morello.dtsi" 9e1cbcf96SManoj Kumar 10e1cbcf96SManoj Kumar/ { 1130df8904SAndre Przywara model = "Arm Morello Fixed Virtual Platform"; 12e1cbcf96SManoj Kumar 13e1cbcf96SManoj Kumar chosen { 14fcb0ea19SNikos Nikoleris stdout-path = "serial0:115200n8"; 15e1cbcf96SManoj Kumar }; 16e1cbcf96SManoj Kumar 17e1cbcf96SManoj Kumar reserved-memory { 18e1cbcf96SManoj Kumar #address-cells = <2>; 19e1cbcf96SManoj Kumar #size-cells = <2>; 20e1cbcf96SManoj Kumar ranges; 21e1cbcf96SManoj Kumar 22e1cbcf96SManoj Kumar secure-firmware@ff000000 { 23e1cbcf96SManoj Kumar reg = <0 0xff000000 0 0x01000000>; 24e1cbcf96SManoj Kumar no-map; 25e1cbcf96SManoj Kumar }; 26e1cbcf96SManoj Kumar }; 27e1cbcf96SManoj Kumar 28*4f7330dcSsahil /* 29*4f7330dcSsahil * The timings below are just to demonstrate working cpuidle. 30*4f7330dcSsahil * These values may be inaccurate. 31*4f7330dcSsahil */ 32*4f7330dcSsahil idle-states { 33*4f7330dcSsahil entry-method = "psci"; 34*4f7330dcSsahil 35*4f7330dcSsahil cluster_sleep: cluster-sleep { 36*4f7330dcSsahil compatible = "arm,idle-state"; 37*4f7330dcSsahil arm,psci-suspend-param = <0x40000022>; 38*4f7330dcSsahil local-timer-stop; 39*4f7330dcSsahil entry-latency-us = <500>; 40*4f7330dcSsahil exit-latency-us = <1000>; 41*4f7330dcSsahil min-residency-us = <2500>; 42*4f7330dcSsahil }; 43*4f7330dcSsahil 44*4f7330dcSsahil cpu_sleep: cpu-sleep { 45*4f7330dcSsahil compatible = "arm,idle-state"; 46*4f7330dcSsahil arm,psci-suspend-param = <0x40000002>; 47*4f7330dcSsahil local-timer-stop; 48*4f7330dcSsahil entry-latency-us = <150>; 49*4f7330dcSsahil exit-latency-us = <300>; 50*4f7330dcSsahil min-residency-us = <200>; 51*4f7330dcSsahil }; 52*4f7330dcSsahil }; 53*4f7330dcSsahil 54e1cbcf96SManoj Kumar cpus { 55e1cbcf96SManoj Kumar #address-cells = <2>; 56e1cbcf96SManoj Kumar #size-cells = <0>; 57387a9065SAnurag Koul 58387a9065SAnurag Koul cpu-map { 59387a9065SAnurag Koul cluster0 { 60387a9065SAnurag Koul core0 { 61387a9065SAnurag Koul cpu = <&CPU0>; 62387a9065SAnurag Koul }; 63387a9065SAnurag Koul core1 { 64387a9065SAnurag Koul cpu = <&CPU1>; 65387a9065SAnurag Koul }; 66387a9065SAnurag Koul }; 67387a9065SAnurag Koul cluster1 { 68387a9065SAnurag Koul core0 { 69387a9065SAnurag Koul cpu = <&CPU2>; 70387a9065SAnurag Koul }; 71387a9065SAnurag Koul core1 { 72387a9065SAnurag Koul cpu = <&CPU3>; 73387a9065SAnurag Koul }; 74387a9065SAnurag Koul }; 75387a9065SAnurag Koul }; 76387a9065SAnurag Koul CPU0: cpu0@0 { 77e1cbcf96SManoj Kumar compatible = "arm,armv8"; 78e1cbcf96SManoj Kumar reg = <0x0 0x0>; 79e1cbcf96SManoj Kumar device_type = "cpu"; 80e1cbcf96SManoj Kumar enable-method = "psci"; 81e1cbcf96SManoj Kumar clocks = <&scmi_dvfs 0>; 82*4f7330dcSsahil cpu-idle-states = <&cpu_sleep &cluster_sleep>; 83e1cbcf96SManoj Kumar }; 84387a9065SAnurag Koul CPU1: cpu1@100 { 85e1cbcf96SManoj Kumar compatible = "arm,armv8"; 86e1cbcf96SManoj Kumar reg = <0x0 0x100>; 87e1cbcf96SManoj Kumar device_type = "cpu"; 88e1cbcf96SManoj Kumar enable-method = "psci"; 89e1cbcf96SManoj Kumar clocks = <&scmi_dvfs 0>; 90*4f7330dcSsahil cpu-idle-states = <&cpu_sleep &cluster_sleep>; 91e1cbcf96SManoj Kumar }; 92387a9065SAnurag Koul CPU2: cpu2@10000 { 93e1cbcf96SManoj Kumar compatible = "arm,armv8"; 94e1cbcf96SManoj Kumar reg = <0x0 0x10000>; 95e1cbcf96SManoj Kumar device_type = "cpu"; 96e1cbcf96SManoj Kumar enable-method = "psci"; 97387a9065SAnurag Koul clocks = <&scmi_dvfs 1>; 98*4f7330dcSsahil cpu-idle-states = <&cpu_sleep &cluster_sleep>; 99e1cbcf96SManoj Kumar }; 100387a9065SAnurag Koul CPU3: cpu3@10100 { 101e1cbcf96SManoj Kumar compatible = "arm,armv8"; 102e1cbcf96SManoj Kumar reg = <0x0 0x10100>; 103e1cbcf96SManoj Kumar device_type = "cpu"; 104e1cbcf96SManoj Kumar enable-method = "psci"; 105387a9065SAnurag Koul clocks = <&scmi_dvfs 1>; 106*4f7330dcSsahil cpu-idle-states = <&cpu_sleep &cluster_sleep>; 107e1cbcf96SManoj Kumar }; 108e1cbcf96SManoj Kumar }; 109e1cbcf96SManoj Kumar 110e1cbcf96SManoj Kumar /* The first bank of memory, memory map is actually provided by UEFI. */ 111e1cbcf96SManoj Kumar memory@80000000 { 112e1cbcf96SManoj Kumar device_type = "memory"; 113e1cbcf96SManoj Kumar /* [0x80000000-0xffffffff] */ 114e1cbcf96SManoj Kumar reg = <0x00000000 0x80000000 0x0 0x80000000>; 115e1cbcf96SManoj Kumar }; 116e1cbcf96SManoj Kumar 117e1cbcf96SManoj Kumar memory@8080000000 { 118e1cbcf96SManoj Kumar device_type = "memory"; 119e1cbcf96SManoj Kumar /* [0x8080000000-0x83ffffffff] */ 120e1cbcf96SManoj Kumar reg = <0x00000080 0x80000000 0x1 0x80000000>; 121e1cbcf96SManoj Kumar }; 122e1cbcf96SManoj Kumar 123e1cbcf96SManoj Kumar virtio_block@1c170000 { 124e1cbcf96SManoj Kumar compatible = "virtio,mmio"; 125e1cbcf96SManoj Kumar reg = <0x0 0x1c170000 0x0 0x200>; 126e1cbcf96SManoj Kumar interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>; 127e1cbcf96SManoj Kumar }; 128e1cbcf96SManoj Kumar 129de7091a1SJessica Clarke virtio_net@1c180000 { 130de7091a1SJessica Clarke compatible = "virtio,mmio"; 131de7091a1SJessica Clarke reg = <0x0 0x1c180000 0x0 0x200>; 132de7091a1SJessica Clarke interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>; 133de7091a1SJessica Clarke }; 134de7091a1SJessica Clarke 135390181a4SJagadeesh Ujja virtio_rng@1c190000 { 1365c336e06SJessica Clarke compatible = "virtio,mmio"; 137390181a4SJagadeesh Ujja reg = <0x0 0x1c190000 0x0 0x200>; 138390181a4SJagadeesh Ujja interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>; 139390181a4SJagadeesh Ujja }; 140390181a4SJagadeesh Ujja 1414bf98b27Ssah01 virtio_p9@1c1a0000 { 1424bf98b27Ssah01 compatible = "virtio,mmio"; 1434bf98b27Ssah01 reg = <0x0 0x1c1a0000 0x0 0x200>; 1444bf98b27Ssah01 interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>; 1454bf98b27Ssah01 }; 1464bf98b27Ssah01 147e1cbcf96SManoj Kumar ethernet@1d100000 { 148e1cbcf96SManoj Kumar compatible = "smsc,lan91c111"; 149e1cbcf96SManoj Kumar reg = <0x0 0x1d100000 0x0 0x10000>; 150e1cbcf96SManoj Kumar interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>; 151e1cbcf96SManoj Kumar }; 152e1cbcf96SManoj Kumar 153e1cbcf96SManoj Kumar kmi@1c150000 { 154e1cbcf96SManoj Kumar compatible = "arm,pl050", "arm,primecell"; 155e1cbcf96SManoj Kumar reg = <0x0 0x1c150000 0x0 0x1000>; 156e1cbcf96SManoj Kumar interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>; 157e1cbcf96SManoj Kumar clocks = <&bp_clock24mhz>, <&bp_clock24mhz>; 158e1cbcf96SManoj Kumar clock-names = "KMIREFCLK", "apb_pclk"; 159e1cbcf96SManoj Kumar }; 160e1cbcf96SManoj Kumar 161e1cbcf96SManoj Kumar kmi@1c160000 { 162e1cbcf96SManoj Kumar compatible = "arm,pl050", "arm,primecell"; 163e1cbcf96SManoj Kumar reg = <0x0 0x1c160000 0x0 0x1000>; 164e1cbcf96SManoj Kumar interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>; 165e1cbcf96SManoj Kumar clocks = <&bp_clock24mhz>, <&bp_clock24mhz>; 166e1cbcf96SManoj Kumar clock-names = "KMIREFCLK", "apb_pclk"; 167e1cbcf96SManoj Kumar }; 168e1cbcf96SManoj Kumar 169e1cbcf96SManoj Kumar firmware { 170e1cbcf96SManoj Kumar scmi { 171e1cbcf96SManoj Kumar compatible = "arm,scmi"; 172e1cbcf96SManoj Kumar mbox-names = "tx", "rx"; 1738aeb1fcfSAndre Przywara mboxes = <&mailbox 1 0>, <&mailbox 1 1>; 1748aeb1fcfSAndre Przywara shmem = <&cpu_scp_hpri0>, <&cpu_scp_hpri1>; 175e1cbcf96SManoj Kumar #address-cells = <1>; 176e1cbcf96SManoj Kumar #size-cells = <0>; 177e1cbcf96SManoj Kumar 178e1cbcf96SManoj Kumar scmi_dvfs: protocol@13 { 179e1cbcf96SManoj Kumar reg = <0x13>; 180e1cbcf96SManoj Kumar #clock-cells = <1>; 181e1cbcf96SManoj Kumar }; 182e1cbcf96SManoj Kumar }; 183e1cbcf96SManoj Kumar }; 184e1cbcf96SManoj Kumar 185e1cbcf96SManoj Kumar bp_clock24mhz: clock24mhz { 186e1cbcf96SManoj Kumar compatible = "fixed-clock"; 187e1cbcf96SManoj Kumar #clock-cells = <0>; 188e1cbcf96SManoj Kumar clock-frequency = <24000000>; 189e1cbcf96SManoj Kumar clock-output-names = "bp:clock24mhz"; 190e1cbcf96SManoj Kumar }; 191e1cbcf96SManoj Kumar}; 192e1cbcf96SManoj Kumar 193e1cbcf96SManoj Kumar&gic { 194e1cbcf96SManoj Kumar reg = <0x0 0x30000000 0 0x10000>, /* GICD */ 195e1cbcf96SManoj Kumar <0x0 0x300c0000 0 0x80000>; /* GICR */ 196e1cbcf96SManoj Kumar interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>; 197e1cbcf96SManoj Kumar}; 198