Manoj Kumar | 779e415 | 2020-07-31 12:32:36 +0100 | [diff] [blame] | 1 | /* |
sahil | cb397d6 | 2023-05-25 13:47:13 +0530 | [diff] [blame] | 2 | * Copyright (c) 2020-2023, Arm Limited. All rights reserved. |
Manoj Kumar | 779e415 | 2020-07-31 12:32:36 +0100 | [diff] [blame] | 3 | * |
| 4 | * SPDX-License-Identifier: BSD-3-Clause |
| 5 | */ |
| 6 | |
| 7 | /dts-v1/; |
| 8 | #include "morello.dtsi" |
| 9 | |
| 10 | / { |
Andre Przywara | 60b126a | 2022-03-24 11:55:57 +0000 | [diff] [blame] | 11 | model = "Arm Morello Fixed Virtual Platform"; |
Manoj Kumar | 779e415 | 2020-07-31 12:32:36 +0100 | [diff] [blame] | 12 | |
| 13 | chosen { |
Nikos Nikoleris | 35800bd | 2021-01-21 13:50:25 +0000 | [diff] [blame] | 14 | stdout-path = "serial0:115200n8"; |
Manoj Kumar | 779e415 | 2020-07-31 12:32:36 +0100 | [diff] [blame] | 15 | }; |
| 16 | |
| 17 | reserved-memory { |
| 18 | #address-cells = <2>; |
| 19 | #size-cells = <2>; |
| 20 | ranges; |
| 21 | |
| 22 | secure-firmware@ff000000 { |
| 23 | reg = <0 0xff000000 0 0x01000000>; |
| 24 | no-map; |
| 25 | }; |
| 26 | }; |
| 27 | |
sahil | cb397d6 | 2023-05-25 13:47:13 +0530 | [diff] [blame] | 28 | /* |
| 29 | * The timings below are just to demonstrate working cpuidle. |
| 30 | * These values may be inaccurate. |
| 31 | */ |
| 32 | idle-states { |
| 33 | entry-method = "psci"; |
| 34 | |
| 35 | cluster_sleep: cluster-sleep { |
| 36 | compatible = "arm,idle-state"; |
| 37 | arm,psci-suspend-param = <0x40000022>; |
| 38 | local-timer-stop; |
| 39 | entry-latency-us = <500>; |
| 40 | exit-latency-us = <1000>; |
| 41 | min-residency-us = <2500>; |
| 42 | }; |
| 43 | |
| 44 | cpu_sleep: cpu-sleep { |
| 45 | compatible = "arm,idle-state"; |
| 46 | arm,psci-suspend-param = <0x40000002>; |
| 47 | local-timer-stop; |
| 48 | entry-latency-us = <150>; |
| 49 | exit-latency-us = <300>; |
| 50 | min-residency-us = <200>; |
| 51 | }; |
| 52 | }; |
| 53 | |
Manoj Kumar | 779e415 | 2020-07-31 12:32:36 +0100 | [diff] [blame] | 54 | cpus { |
| 55 | #address-cells = <2>; |
| 56 | #size-cells = <0>; |
Anurag Koul | e97c384 | 2021-05-05 02:32:55 +0100 | [diff] [blame] | 57 | |
| 58 | cpu-map { |
| 59 | cluster0 { |
| 60 | core0 { |
| 61 | cpu = <&CPU0>; |
| 62 | }; |
| 63 | core1 { |
| 64 | cpu = <&CPU1>; |
| 65 | }; |
| 66 | }; |
| 67 | cluster1 { |
| 68 | core0 { |
| 69 | cpu = <&CPU2>; |
| 70 | }; |
| 71 | core1 { |
| 72 | cpu = <&CPU3>; |
| 73 | }; |
| 74 | }; |
| 75 | }; |
| 76 | CPU0: cpu0@0 { |
Manoj Kumar | 779e415 | 2020-07-31 12:32:36 +0100 | [diff] [blame] | 77 | compatible = "arm,armv8"; |
| 78 | reg = <0x0 0x0>; |
| 79 | device_type = "cpu"; |
| 80 | enable-method = "psci"; |
| 81 | clocks = <&scmi_dvfs 0>; |
sahil | cb397d6 | 2023-05-25 13:47:13 +0530 | [diff] [blame] | 82 | cpu-idle-states = <&cpu_sleep &cluster_sleep>; |
Manoj Kumar | 779e415 | 2020-07-31 12:32:36 +0100 | [diff] [blame] | 83 | }; |
Anurag Koul | e97c384 | 2021-05-05 02:32:55 +0100 | [diff] [blame] | 84 | CPU1: cpu1@100 { |
Manoj Kumar | 779e415 | 2020-07-31 12:32:36 +0100 | [diff] [blame] | 85 | compatible = "arm,armv8"; |
| 86 | reg = <0x0 0x100>; |
| 87 | device_type = "cpu"; |
| 88 | enable-method = "psci"; |
| 89 | clocks = <&scmi_dvfs 0>; |
sahil | cb397d6 | 2023-05-25 13:47:13 +0530 | [diff] [blame] | 90 | cpu-idle-states = <&cpu_sleep &cluster_sleep>; |
Manoj Kumar | 779e415 | 2020-07-31 12:32:36 +0100 | [diff] [blame] | 91 | }; |
Anurag Koul | e97c384 | 2021-05-05 02:32:55 +0100 | [diff] [blame] | 92 | CPU2: cpu2@10000 { |
Manoj Kumar | 779e415 | 2020-07-31 12:32:36 +0100 | [diff] [blame] | 93 | compatible = "arm,armv8"; |
| 94 | reg = <0x0 0x10000>; |
| 95 | device_type = "cpu"; |
| 96 | enable-method = "psci"; |
Anurag Koul | e97c384 | 2021-05-05 02:32:55 +0100 | [diff] [blame] | 97 | clocks = <&scmi_dvfs 1>; |
sahil | cb397d6 | 2023-05-25 13:47:13 +0530 | [diff] [blame] | 98 | cpu-idle-states = <&cpu_sleep &cluster_sleep>; |
Manoj Kumar | 779e415 | 2020-07-31 12:32:36 +0100 | [diff] [blame] | 99 | }; |
Anurag Koul | e97c384 | 2021-05-05 02:32:55 +0100 | [diff] [blame] | 100 | CPU3: cpu3@10100 { |
Manoj Kumar | 779e415 | 2020-07-31 12:32:36 +0100 | [diff] [blame] | 101 | compatible = "arm,armv8"; |
| 102 | reg = <0x0 0x10100>; |
| 103 | device_type = "cpu"; |
| 104 | enable-method = "psci"; |
Anurag Koul | e97c384 | 2021-05-05 02:32:55 +0100 | [diff] [blame] | 105 | clocks = <&scmi_dvfs 1>; |
sahil | cb397d6 | 2023-05-25 13:47:13 +0530 | [diff] [blame] | 106 | cpu-idle-states = <&cpu_sleep &cluster_sleep>; |
Manoj Kumar | 779e415 | 2020-07-31 12:32:36 +0100 | [diff] [blame] | 107 | }; |
| 108 | }; |
| 109 | |
| 110 | /* The first bank of memory, memory map is actually provided by UEFI. */ |
| 111 | memory@80000000 { |
Manoj Kumar | 779e415 | 2020-07-31 12:32:36 +0100 | [diff] [blame] | 112 | device_type = "memory"; |
| 113 | /* [0x80000000-0xffffffff] */ |
| 114 | reg = <0x00000000 0x80000000 0x0 0x80000000>; |
| 115 | }; |
| 116 | |
| 117 | memory@8080000000 { |
Manoj Kumar | 779e415 | 2020-07-31 12:32:36 +0100 | [diff] [blame] | 118 | device_type = "memory"; |
| 119 | /* [0x8080000000-0x83ffffffff] */ |
| 120 | reg = <0x00000080 0x80000000 0x1 0x80000000>; |
| 121 | }; |
| 122 | |
| 123 | virtio_block@1c170000 { |
| 124 | compatible = "virtio,mmio"; |
| 125 | reg = <0x0 0x1c170000 0x0 0x200>; |
| 126 | interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>; |
| 127 | }; |
| 128 | |
Jessica Clarke | 848a1a3 | 2020-10-25 18:18:47 +0000 | [diff] [blame] | 129 | virtio_net@1c180000 { |
| 130 | compatible = "virtio,mmio"; |
| 131 | reg = <0x0 0x1c180000 0x0 0x200>; |
| 132 | interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>; |
| 133 | }; |
| 134 | |
Jagadeesh Ujja | f273d6d | 2020-10-07 13:39:55 +0530 | [diff] [blame] | 135 | virtio_rng@1c190000 { |
Jessica Clarke | 60253ae | 2020-10-25 18:10:24 +0000 | [diff] [blame] | 136 | compatible = "virtio,mmio"; |
Jagadeesh Ujja | f273d6d | 2020-10-07 13:39:55 +0530 | [diff] [blame] | 137 | reg = <0x0 0x1c190000 0x0 0x200>; |
| 138 | interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>; |
| 139 | }; |
| 140 | |
sah01 | 514208a | 2021-02-12 13:53:05 +0530 | [diff] [blame] | 141 | virtio_p9@1c1a0000 { |
| 142 | compatible = "virtio,mmio"; |
| 143 | reg = <0x0 0x1c1a0000 0x0 0x200>; |
| 144 | interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>; |
| 145 | }; |
| 146 | |
Manoj Kumar | 779e415 | 2020-07-31 12:32:36 +0100 | [diff] [blame] | 147 | ethernet@1d100000 { |
| 148 | compatible = "smsc,lan91c111"; |
| 149 | reg = <0x0 0x1d100000 0x0 0x10000>; |
| 150 | interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>; |
| 151 | }; |
| 152 | |
| 153 | kmi@1c150000 { |
| 154 | compatible = "arm,pl050", "arm,primecell"; |
| 155 | reg = <0x0 0x1c150000 0x0 0x1000>; |
| 156 | interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>; |
| 157 | clocks = <&bp_clock24mhz>, <&bp_clock24mhz>; |
| 158 | clock-names = "KMIREFCLK", "apb_pclk"; |
| 159 | }; |
| 160 | |
| 161 | kmi@1c160000 { |
| 162 | compatible = "arm,pl050", "arm,primecell"; |
| 163 | reg = <0x0 0x1c160000 0x0 0x1000>; |
| 164 | interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>; |
| 165 | clocks = <&bp_clock24mhz>, <&bp_clock24mhz>; |
| 166 | clock-names = "KMIREFCLK", "apb_pclk"; |
| 167 | }; |
| 168 | |
| 169 | firmware { |
| 170 | scmi { |
| 171 | compatible = "arm,scmi"; |
| 172 | mbox-names = "tx", "rx"; |
Andre Przywara | 28a2196 | 2022-03-24 11:58:10 +0000 | [diff] [blame] | 173 | mboxes = <&mailbox 1 0>, <&mailbox 1 1>; |
| 174 | shmem = <&cpu_scp_hpri0>, <&cpu_scp_hpri1>; |
Manoj Kumar | 779e415 | 2020-07-31 12:32:36 +0100 | [diff] [blame] | 175 | #address-cells = <1>; |
| 176 | #size-cells = <0>; |
| 177 | |
| 178 | scmi_dvfs: protocol@13 { |
| 179 | reg = <0x13>; |
| 180 | #clock-cells = <1>; |
| 181 | }; |
| 182 | }; |
| 183 | }; |
| 184 | |
| 185 | bp_clock24mhz: clock24mhz { |
| 186 | compatible = "fixed-clock"; |
| 187 | #clock-cells = <0>; |
| 188 | clock-frequency = <24000000>; |
| 189 | clock-output-names = "bp:clock24mhz"; |
| 190 | }; |
| 191 | }; |
| 192 | |
| 193 | &gic { |
| 194 | reg = <0x0 0x30000000 0 0x10000>, /* GICD */ |
| 195 | <0x0 0x300c0000 0 0x80000>; /* GICR */ |
| 196 | interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>; |
| 197 | }; |