Thomas Gleixner | 97fb5e8 | 2019-05-29 07:17:58 -0700 | [diff] [blame] | 1 | // SPDX-License-Identifier: GPL-2.0-only |
Jeremy McNicoll | 6a6d197 | 2016-11-04 13:56:31 -0700 | [diff] [blame] | 2 | /* Copyright (c) 2013-2016, The Linux Foundation. All rights reserved. |
Jeremy McNicoll | 6a6d197 | 2016-11-04 13:56:31 -0700 | [diff] [blame] | 3 | */ |
| 4 | |
| 5 | #include <dt-bindings/interrupt-controller/arm-gic.h> |
| 6 | #include <dt-bindings/clock/qcom,gcc-msm8994.h> |
| 7 | |
| 8 | / { |
| 9 | model = "Qualcomm Technologies, Inc. MSM 8992"; |
| 10 | compatible = "qcom,msm8992"; |
| 11 | // msm-id needed by bootloader for selecting correct blob |
| 12 | qcom,msm-id = <251 0>, <252 0>; |
| 13 | interrupt-parent = <&intc>; |
| 14 | |
| 15 | #address-cells = <2>; |
| 16 | #size-cells = <2>; |
| 17 | |
| 18 | chosen { }; |
| 19 | |
| 20 | cpus { |
| 21 | #address-cells = <2>; |
| 22 | #size-cells = <0>; |
| 23 | cpu-map { |
| 24 | cluster0 { |
| 25 | core0 { |
| 26 | cpu = <&CPU0>; |
| 27 | }; |
| 28 | }; |
| 29 | }; |
| 30 | |
| 31 | CPU0: cpu@0 { |
| 32 | device_type = "cpu"; |
Rob Herring | 31af04c | 2019-01-14 11:45:33 -0600 | [diff] [blame] | 33 | compatible = "arm,cortex-a53"; |
Jeremy McNicoll | 6a6d197 | 2016-11-04 13:56:31 -0700 | [diff] [blame] | 34 | reg = <0x0 0x0>; |
| 35 | next-level-cache = <&L2_0>; |
| 36 | L2_0: l2-cache { |
| 37 | compatible = "cache"; |
| 38 | cache-level = <2>; |
| 39 | }; |
| 40 | }; |
| 41 | }; |
| 42 | |
| 43 | timer { |
| 44 | compatible = "arm,armv8-timer"; |
| 45 | interrupts = <GIC_PPI 2 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, |
| 46 | <GIC_PPI 3 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, |
| 47 | <GIC_PPI 4 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, |
| 48 | <GIC_PPI 1 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>; |
| 49 | }; |
| 50 | |
| 51 | xo_board: xo_board { |
| 52 | compatible = "fixed-clock"; |
| 53 | #clock-cells = <0>; |
| 54 | clock-frequency = <19200000>; |
| 55 | }; |
| 56 | |
| 57 | sleep_clk: sleep_clk { |
| 58 | compatible = "fixed-clock"; |
| 59 | #clock-cells = <0>; |
| 60 | clock-frequency = <32768>; |
| 61 | }; |
| 62 | |
Jeremy McNicoll | 75a3f78 | 2017-01-27 01:10:02 -0800 | [diff] [blame] | 63 | vreg_vph_pwr: vreg-vph-pwr { |
| 64 | compatible = "regulator-fixed"; |
| 65 | status = "okay"; |
| 66 | regulator-name = "vph-pwr"; |
| 67 | |
| 68 | regulator-min-microvolt = <3600000>; |
| 69 | regulator-max-microvolt = <3600000>; |
| 70 | |
| 71 | regulator-always-on; |
| 72 | }; |
| 73 | |
Jeremy McNicoll | 4255db1 | 2017-01-29 21:44:33 -0800 | [diff] [blame] | 74 | sfpb_mutex: hwmutex { |
| 75 | compatible = "qcom,sfpb-mutex"; |
| 76 | syscon = <&sfpb_mutex_regs 0x0 0x100>; |
| 77 | #hwlock-cells = <1>; |
| 78 | }; |
| 79 | |
| 80 | smem { |
| 81 | compatible = "qcom,smem"; |
| 82 | memory-region = <&smem_region>; |
| 83 | qcom,rpm-msg-ram = <&rpm_msg_ram>; |
| 84 | hwlocks = <&sfpb_mutex 3>; |
| 85 | }; |
| 86 | |
Jeremy McNicoll | 6a6d197 | 2016-11-04 13:56:31 -0700 | [diff] [blame] | 87 | soc { |
| 88 | #address-cells = <1>; |
| 89 | #size-cells = <1>; |
| 90 | ranges = <0 0 0 0xffffffff>; |
| 91 | compatible = "simple-bus"; |
| 92 | |
| 93 | intc: interrupt-controller@f9000000 { |
| 94 | compatible = "qcom,msm-qgic2"; |
| 95 | interrupt-controller; |
| 96 | #interrupt-cells = <3>; |
| 97 | reg = <0xf9000000 0x1000>, |
| 98 | <0xf9002000 0x1000>; |
| 99 | }; |
| 100 | |
Jeremy McNicoll | 4255db1 | 2017-01-29 21:44:33 -0800 | [diff] [blame] | 101 | apcs: syscon@f900d000 { |
| 102 | compatible = "syscon"; |
| 103 | reg = <0xf900d000 0x2000>; |
| 104 | }; |
| 105 | |
Jeremy McNicoll | 6a6d197 | 2016-11-04 13:56:31 -0700 | [diff] [blame] | 106 | timer@f9020000 { |
| 107 | #address-cells = <1>; |
| 108 | #size-cells = <1>; |
| 109 | ranges; |
| 110 | compatible = "arm,armv7-timer-mem"; |
| 111 | reg = <0xf9020000 0x1000>; |
| 112 | |
| 113 | frame@f9021000 { |
| 114 | frame-number = <0>; |
| 115 | interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>, |
| 116 | <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>; |
| 117 | reg = <0xf9021000 0x1000>, |
| 118 | <0xf9022000 0x1000>; |
| 119 | }; |
| 120 | |
| 121 | frame@f9023000 { |
| 122 | frame-number = <1>; |
| 123 | interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>; |
| 124 | reg = <0xf9023000 0x1000>; |
| 125 | status = "disabled"; |
| 126 | }; |
| 127 | |
| 128 | frame@f9024000 { |
| 129 | frame-number = <2>; |
| 130 | interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>; |
| 131 | reg = <0xf9024000 0x1000>; |
| 132 | status = "disabled"; |
| 133 | }; |
| 134 | |
| 135 | frame@f9025000 { |
| 136 | frame-number = <3>; |
| 137 | interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>; |
| 138 | reg = <0xf9025000 0x1000>; |
| 139 | status = "disabled"; |
| 140 | }; |
| 141 | |
| 142 | frame@f9026000 { |
| 143 | frame-number = <4>; |
| 144 | interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>; |
| 145 | reg = <0xf9026000 0x1000>; |
| 146 | status = "disabled"; |
| 147 | }; |
| 148 | |
| 149 | frame@f9027000 { |
| 150 | frame-number = <5>; |
| 151 | interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>; |
| 152 | reg = <0xf9027000 0x1000>; |
| 153 | status = "disabled"; |
| 154 | }; |
| 155 | |
| 156 | frame@f9028000 { |
| 157 | frame-number = <6>; |
| 158 | interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>; |
| 159 | reg = <0xf9028000 0x1000>; |
| 160 | status = "disabled"; |
| 161 | }; |
| 162 | }; |
| 163 | |
| 164 | restart@fc4ab000 { |
| 165 | compatible = "qcom,pshold"; |
| 166 | reg = <0xfc4ab000 0x4>; |
| 167 | }; |
| 168 | |
| 169 | msmgpio: pinctrl@fd510000 { |
| 170 | compatible = "qcom,msm8994-pinctrl"; |
| 171 | reg = <0xfd510000 0x4000>; |
| 172 | interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>; |
| 173 | gpio-controller; |
Christian Lamparter | 297177a | 2020-01-08 13:54:57 +0100 | [diff] [blame] | 174 | gpio-ranges = <&msmgpio 0 0 146>; |
Jeremy McNicoll | 6a6d197 | 2016-11-04 13:56:31 -0700 | [diff] [blame] | 175 | #gpio-cells = <2>; |
| 176 | interrupt-controller; |
| 177 | #interrupt-cells = <2>; |
| 178 | }; |
| 179 | |
| 180 | blsp1_uart2: serial@f991e000 { |
| 181 | compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm"; |
| 182 | reg = <0xf991e000 0x1000>; |
| 183 | interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_LOW>; |
| 184 | status = "disabled"; |
| 185 | clock-names = "core", "iface"; |
| 186 | clocks = <&clock_gcc GCC_BLSP1_UART2_APPS_CLK>, |
| 187 | <&clock_gcc GCC_BLSP1_AHB_CLK>; |
| 188 | }; |
| 189 | |
| 190 | clock_gcc: clock-controller@fc400000 { |
| 191 | compatible = "qcom,gcc-msm8994"; |
| 192 | #clock-cells = <1>; |
| 193 | #reset-cells = <1>; |
| 194 | #power-domain-cells = <1>; |
| 195 | reg = <0xfc400000 0x2000>; |
| 196 | }; |
Jeremy McNicoll | 4255db1 | 2017-01-29 21:44:33 -0800 | [diff] [blame] | 197 | |
Jeremy McNicoll | f3b2c99 | 2017-01-27 01:10:04 -0800 | [diff] [blame] | 198 | sdhci1: mmc@f9824900 { |
| 199 | compatible = "qcom,sdhci-msm-v4"; |
| 200 | reg = <0xf9824900 0x1a0>, <0xf9824000 0x800>; |
| 201 | reg-names = "hc_mem", "core_mem"; |
| 202 | |
| 203 | interrupts = <GIC_SPI 123 IRQ_TYPE_NONE>, |
| 204 | <GIC_SPI 138 IRQ_TYPE_NONE>; |
| 205 | interrupt-names = "hc_irq", "pwr_irq"; |
| 206 | |
| 207 | clocks = <&clock_gcc GCC_SDCC1_APPS_CLK>, |
| 208 | <&clock_gcc GCC_SDCC1_AHB_CLK>; |
| 209 | clock-names = "core", "iface"; |
| 210 | |
| 211 | pinctrl-names = "default", "sleep"; |
| 212 | pinctrl-0 = <&sdc1_clk_on &sdc1_cmd_on &sdc1_data_on |
| 213 | &sdc1_rclk_on>; |
| 214 | pinctrl-1 = <&sdc1_clk_off &sdc1_cmd_off &sdc1_data_off |
| 215 | &sdc1_rclk_off>; |
| 216 | |
| 217 | regulator-always-on; |
| 218 | bus-width = <8>; |
| 219 | mmc-hs400-1_8v; |
| 220 | status = "okay"; |
| 221 | }; |
| 222 | |
Jeremy McNicoll | 4255db1 | 2017-01-29 21:44:33 -0800 | [diff] [blame] | 223 | rpm_msg_ram: memory@fc428000 { |
| 224 | compatible = "qcom,rpm-msg-ram"; |
| 225 | reg = <0xfc428000 0x4000>; |
| 226 | }; |
| 227 | |
| 228 | sfpb_mutex_regs: syscon@fd484000 { |
| 229 | #address-cells = <1>; |
| 230 | #size-cells = <1>; |
| 231 | compatible = "syscon"; |
| 232 | reg = <0xfd484000 0x400>; |
| 233 | }; |
Jeremy McNicoll | 6a6d197 | 2016-11-04 13:56:31 -0700 | [diff] [blame] | 234 | }; |
| 235 | |
| 236 | memory { |
| 237 | device_type = "memory"; |
| 238 | reg = <0 0 0 0>; // bootloader will update |
| 239 | }; |
Jeremy McNicoll | 4255db1 | 2017-01-29 21:44:33 -0800 | [diff] [blame] | 240 | |
| 241 | reserved-memory { |
| 242 | #address-cells = <2>; |
| 243 | #size-cells = <2>; |
| 244 | ranges; |
| 245 | |
| 246 | smem_region: smem@6a00000 { |
| 247 | reg = <0x0 0x6a00000 0x0 0x200000>; |
| 248 | no-map; |
| 249 | }; |
| 250 | }; |
| 251 | |
Jeremy McNicoll | f3b2c99 | 2017-01-27 01:10:04 -0800 | [diff] [blame] | 252 | smd_rpm: smd { |
| 253 | compatible = "qcom,smd"; |
| 254 | rpm { |
| 255 | interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>; |
| 256 | qcom,ipc = <&apcs 8 0>; |
| 257 | qcom,smd-edge = <15>; |
| 258 | qcom,local-pid = <0>; |
| 259 | qcom,remote-pid = <6>; |
Jeremy McNicoll | 6a6d197 | 2016-11-04 13:56:31 -0700 | [diff] [blame] | 260 | |
Konrad Dybcio | 95087f6 | 2020-06-24 17:01:01 +0200 | [diff] [blame] | 261 | rpm_requests: rpm-requests { |
Jeremy McNicoll | f3b2c99 | 2017-01-27 01:10:04 -0800 | [diff] [blame] | 262 | compatible = "qcom,rpm-msm8994"; |
| 263 | qcom,smd-channels = "rpm_requests"; |
Jeremy McNicoll | f3b2c99 | 2017-01-27 01:10:04 -0800 | [diff] [blame] | 264 | }; |
| 265 | }; |
| 266 | }; |
| 267 | }; |
Jeremy McNicoll | 6a6d197 | 2016-11-04 13:56:31 -0700 | [diff] [blame] | 268 | |
| 269 | #include "msm8992-pins.dtsi" |