1c9ccf3a3SEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0 2c9ccf3a3SEmmanuel Vadot/* 3c9ccf3a3SEmmanuel Vadot * Tesla Full Self-Driving SoC device tree source 4c9ccf3a3SEmmanuel Vadot * 5c9ccf3a3SEmmanuel Vadot * Copyright (c) 2017-2022 Samsung Electronics Co., Ltd. 6c9ccf3a3SEmmanuel Vadot * https://www.samsung.com 7c9ccf3a3SEmmanuel Vadot * Copyright (c) 2017-2022 Tesla, Inc. 8c9ccf3a3SEmmanuel Vadot * https://www.tesla.com 9c9ccf3a3SEmmanuel Vadot */ 10c9ccf3a3SEmmanuel Vadot 11c9ccf3a3SEmmanuel Vadot#include <dt-bindings/clock/fsd-clk.h> 12c9ccf3a3SEmmanuel Vadot#include <dt-bindings/interrupt-controller/arm-gic.h> 13c9ccf3a3SEmmanuel Vadot 14c9ccf3a3SEmmanuel Vadot/ { 15c9ccf3a3SEmmanuel Vadot compatible = "tesla,fsd"; 16c9ccf3a3SEmmanuel Vadot interrupt-parent = <&gic>; 17c9ccf3a3SEmmanuel Vadot #address-cells = <2>; 18c9ccf3a3SEmmanuel Vadot #size-cells = <2>; 19c9ccf3a3SEmmanuel Vadot 20c9ccf3a3SEmmanuel Vadot aliases { 21c9ccf3a3SEmmanuel Vadot i2c0 = &hsi2c_0; 22c9ccf3a3SEmmanuel Vadot i2c1 = &hsi2c_1; 23c9ccf3a3SEmmanuel Vadot i2c2 = &hsi2c_2; 24c9ccf3a3SEmmanuel Vadot i2c3 = &hsi2c_3; 25c9ccf3a3SEmmanuel Vadot i2c4 = &hsi2c_4; 26c9ccf3a3SEmmanuel Vadot i2c5 = &hsi2c_5; 27c9ccf3a3SEmmanuel Vadot i2c6 = &hsi2c_6; 28c9ccf3a3SEmmanuel Vadot i2c7 = &hsi2c_7; 29c9ccf3a3SEmmanuel Vadot pinctrl0 = &pinctrl_fsys0; 30c9ccf3a3SEmmanuel Vadot pinctrl1 = &pinctrl_peric; 31c9ccf3a3SEmmanuel Vadot pinctrl2 = &pinctrl_pmu; 32c9ccf3a3SEmmanuel Vadot spi0 = &spi_0; 33c9ccf3a3SEmmanuel Vadot spi1 = &spi_1; 34c9ccf3a3SEmmanuel Vadot spi2 = &spi_2; 35c9ccf3a3SEmmanuel Vadot }; 36c9ccf3a3SEmmanuel Vadot 37c9ccf3a3SEmmanuel Vadot cpus { 38c9ccf3a3SEmmanuel Vadot #address-cells = <2>; 39c9ccf3a3SEmmanuel Vadot #size-cells = <0>; 40c9ccf3a3SEmmanuel Vadot 41c9ccf3a3SEmmanuel Vadot cpu-map { 42c9ccf3a3SEmmanuel Vadot cluster0 { 43c9ccf3a3SEmmanuel Vadot core0 { 44c9ccf3a3SEmmanuel Vadot cpu = <&cpucl0_0>; 45c9ccf3a3SEmmanuel Vadot }; 46c9ccf3a3SEmmanuel Vadot core1 { 47c9ccf3a3SEmmanuel Vadot cpu = <&cpucl0_1>; 48c9ccf3a3SEmmanuel Vadot }; 49c9ccf3a3SEmmanuel Vadot core2 { 50c9ccf3a3SEmmanuel Vadot cpu = <&cpucl0_2>; 51c9ccf3a3SEmmanuel Vadot }; 52c9ccf3a3SEmmanuel Vadot core3 { 53c9ccf3a3SEmmanuel Vadot cpu = <&cpucl0_3>; 54c9ccf3a3SEmmanuel Vadot }; 55c9ccf3a3SEmmanuel Vadot }; 56c9ccf3a3SEmmanuel Vadot 57c9ccf3a3SEmmanuel Vadot cluster1 { 58c9ccf3a3SEmmanuel Vadot core0 { 59c9ccf3a3SEmmanuel Vadot cpu = <&cpucl1_0>; 60c9ccf3a3SEmmanuel Vadot }; 61c9ccf3a3SEmmanuel Vadot core1 { 62c9ccf3a3SEmmanuel Vadot cpu = <&cpucl1_1>; 63c9ccf3a3SEmmanuel Vadot }; 64c9ccf3a3SEmmanuel Vadot core2 { 65c9ccf3a3SEmmanuel Vadot cpu = <&cpucl1_2>; 66c9ccf3a3SEmmanuel Vadot }; 67c9ccf3a3SEmmanuel Vadot core3 { 68c9ccf3a3SEmmanuel Vadot cpu = <&cpucl1_3>; 69c9ccf3a3SEmmanuel Vadot }; 70c9ccf3a3SEmmanuel Vadot }; 71c9ccf3a3SEmmanuel Vadot 72c9ccf3a3SEmmanuel Vadot cluster2 { 73c9ccf3a3SEmmanuel Vadot core0 { 74c9ccf3a3SEmmanuel Vadot cpu = <&cpucl2_0>; 75c9ccf3a3SEmmanuel Vadot }; 76c9ccf3a3SEmmanuel Vadot core1 { 77c9ccf3a3SEmmanuel Vadot cpu = <&cpucl2_1>; 78c9ccf3a3SEmmanuel Vadot }; 79c9ccf3a3SEmmanuel Vadot core2 { 80c9ccf3a3SEmmanuel Vadot cpu = <&cpucl2_2>; 81c9ccf3a3SEmmanuel Vadot }; 82c9ccf3a3SEmmanuel Vadot core3 { 83c9ccf3a3SEmmanuel Vadot cpu = <&cpucl2_3>; 84c9ccf3a3SEmmanuel Vadot }; 85c9ccf3a3SEmmanuel Vadot }; 86c9ccf3a3SEmmanuel Vadot }; 87c9ccf3a3SEmmanuel Vadot 88c9ccf3a3SEmmanuel Vadot /* Cluster 0 */ 89c9ccf3a3SEmmanuel Vadot cpucl0_0: cpu@0 { 90c9ccf3a3SEmmanuel Vadot device_type = "cpu"; 91c9ccf3a3SEmmanuel Vadot compatible = "arm,cortex-a72"; 92c9ccf3a3SEmmanuel Vadot reg = <0x0 0x000>; 93c9ccf3a3SEmmanuel Vadot enable-method = "psci"; 94c9ccf3a3SEmmanuel Vadot clock-frequency = <2400000000>; 95c9ccf3a3SEmmanuel Vadot cpu-idle-states = <&CPU_SLEEP>; 96b97ee269SEmmanuel Vadot i-cache-size = <0xc000>; 97b97ee269SEmmanuel Vadot i-cache-line-size = <64>; 98b97ee269SEmmanuel Vadot i-cache-sets = <256>; 99b97ee269SEmmanuel Vadot d-cache-size = <0x8000>; 100b97ee269SEmmanuel Vadot d-cache-line-size = <64>; 101b97ee269SEmmanuel Vadot d-cache-sets = <256>; 102b97ee269SEmmanuel Vadot next-level-cache = <&cpucl_l2>; 103c9ccf3a3SEmmanuel Vadot }; 104c9ccf3a3SEmmanuel Vadot 105c9ccf3a3SEmmanuel Vadot cpucl0_1: cpu@1 { 106c9ccf3a3SEmmanuel Vadot device_type = "cpu"; 107c9ccf3a3SEmmanuel Vadot compatible = "arm,cortex-a72"; 108c9ccf3a3SEmmanuel Vadot reg = <0x0 0x001>; 109c9ccf3a3SEmmanuel Vadot enable-method = "psci"; 110c9ccf3a3SEmmanuel Vadot clock-frequency = <2400000000>; 111c9ccf3a3SEmmanuel Vadot cpu-idle-states = <&CPU_SLEEP>; 112b97ee269SEmmanuel Vadot i-cache-size = <0xc000>; 113b97ee269SEmmanuel Vadot i-cache-line-size = <64>; 114b97ee269SEmmanuel Vadot i-cache-sets = <256>; 115b97ee269SEmmanuel Vadot d-cache-size = <0x8000>; 116b97ee269SEmmanuel Vadot d-cache-line-size = <64>; 117b97ee269SEmmanuel Vadot d-cache-sets = <256>; 118b97ee269SEmmanuel Vadot next-level-cache = <&cpucl_l2>; 119c9ccf3a3SEmmanuel Vadot }; 120c9ccf3a3SEmmanuel Vadot 121c9ccf3a3SEmmanuel Vadot cpucl0_2: cpu@2 { 122c9ccf3a3SEmmanuel Vadot device_type = "cpu"; 123c9ccf3a3SEmmanuel Vadot compatible = "arm,cortex-a72"; 124c9ccf3a3SEmmanuel Vadot reg = <0x0 0x002>; 125c9ccf3a3SEmmanuel Vadot enable-method = "psci"; 126c9ccf3a3SEmmanuel Vadot clock-frequency = <2400000000>; 127c9ccf3a3SEmmanuel Vadot cpu-idle-states = <&CPU_SLEEP>; 128b97ee269SEmmanuel Vadot i-cache-size = <0xc000>; 129b97ee269SEmmanuel Vadot i-cache-line-size = <64>; 130b97ee269SEmmanuel Vadot i-cache-sets = <256>; 131b97ee269SEmmanuel Vadot d-cache-size = <0x8000>; 132b97ee269SEmmanuel Vadot d-cache-line-size = <64>; 133b97ee269SEmmanuel Vadot d-cache-sets = <256>; 134b97ee269SEmmanuel Vadot next-level-cache = <&cpucl_l2>; 135c9ccf3a3SEmmanuel Vadot }; 136c9ccf3a3SEmmanuel Vadot 137c9ccf3a3SEmmanuel Vadot cpucl0_3: cpu@3 { 138c9ccf3a3SEmmanuel Vadot device_type = "cpu"; 139c9ccf3a3SEmmanuel Vadot compatible = "arm,cortex-a72"; 140c9ccf3a3SEmmanuel Vadot reg = <0x0 0x003>; 141c9ccf3a3SEmmanuel Vadot enable-method = "psci"; 142c9ccf3a3SEmmanuel Vadot cpu-idle-states = <&CPU_SLEEP>; 143b97ee269SEmmanuel Vadot i-cache-size = <0xc000>; 144b97ee269SEmmanuel Vadot i-cache-line-size = <64>; 145b97ee269SEmmanuel Vadot i-cache-sets = <256>; 146b97ee269SEmmanuel Vadot d-cache-size = <0x8000>; 147b97ee269SEmmanuel Vadot d-cache-line-size = <64>; 148b97ee269SEmmanuel Vadot d-cache-sets = <256>; 149b97ee269SEmmanuel Vadot next-level-cache = <&cpucl_l2>; 150c9ccf3a3SEmmanuel Vadot }; 151c9ccf3a3SEmmanuel Vadot 152c9ccf3a3SEmmanuel Vadot /* Cluster 1 */ 153c9ccf3a3SEmmanuel Vadot cpucl1_0: cpu@100 { 154c9ccf3a3SEmmanuel Vadot device_type = "cpu"; 155c9ccf3a3SEmmanuel Vadot compatible = "arm,cortex-a72"; 156c9ccf3a3SEmmanuel Vadot reg = <0x0 0x100>; 157c9ccf3a3SEmmanuel Vadot enable-method = "psci"; 158c9ccf3a3SEmmanuel Vadot clock-frequency = <2400000000>; 159c9ccf3a3SEmmanuel Vadot cpu-idle-states = <&CPU_SLEEP>; 160b97ee269SEmmanuel Vadot i-cache-size = <0xc000>; 161b97ee269SEmmanuel Vadot i-cache-line-size = <64>; 162b97ee269SEmmanuel Vadot i-cache-sets = <256>; 163b97ee269SEmmanuel Vadot d-cache-size = <0x8000>; 164b97ee269SEmmanuel Vadot d-cache-line-size = <64>; 165b97ee269SEmmanuel Vadot d-cache-sets = <256>; 166b97ee269SEmmanuel Vadot next-level-cache = <&cpucl_l2>; 167c9ccf3a3SEmmanuel Vadot }; 168c9ccf3a3SEmmanuel Vadot 169c9ccf3a3SEmmanuel Vadot cpucl1_1: cpu@101 { 170c9ccf3a3SEmmanuel Vadot device_type = "cpu"; 171c9ccf3a3SEmmanuel Vadot compatible = "arm,cortex-a72"; 172c9ccf3a3SEmmanuel Vadot reg = <0x0 0x101>; 173c9ccf3a3SEmmanuel Vadot enable-method = "psci"; 174c9ccf3a3SEmmanuel Vadot clock-frequency = <2400000000>; 175c9ccf3a3SEmmanuel Vadot cpu-idle-states = <&CPU_SLEEP>; 176b97ee269SEmmanuel Vadot i-cache-size = <0xc000>; 177b97ee269SEmmanuel Vadot i-cache-line-size = <64>; 178b97ee269SEmmanuel Vadot i-cache-sets = <256>; 179b97ee269SEmmanuel Vadot d-cache-size = <0x8000>; 180b97ee269SEmmanuel Vadot d-cache-line-size = <64>; 181b97ee269SEmmanuel Vadot d-cache-sets = <256>; 182b97ee269SEmmanuel Vadot next-level-cache = <&cpucl_l2>; 183c9ccf3a3SEmmanuel Vadot }; 184c9ccf3a3SEmmanuel Vadot 185c9ccf3a3SEmmanuel Vadot cpucl1_2: cpu@102 { 186c9ccf3a3SEmmanuel Vadot device_type = "cpu"; 187c9ccf3a3SEmmanuel Vadot compatible = "arm,cortex-a72"; 188c9ccf3a3SEmmanuel Vadot reg = <0x0 0x102>; 189c9ccf3a3SEmmanuel Vadot enable-method = "psci"; 190c9ccf3a3SEmmanuel Vadot clock-frequency = <2400000000>; 191c9ccf3a3SEmmanuel Vadot cpu-idle-states = <&CPU_SLEEP>; 192b97ee269SEmmanuel Vadot i-cache-size = <0xc000>; 193b97ee269SEmmanuel Vadot i-cache-line-size = <64>; 194b97ee269SEmmanuel Vadot i-cache-sets = <256>; 195b97ee269SEmmanuel Vadot d-cache-size = <0x8000>; 196b97ee269SEmmanuel Vadot d-cache-line-size = <64>; 197b97ee269SEmmanuel Vadot d-cache-sets = <256>; 198b97ee269SEmmanuel Vadot next-level-cache = <&cpucl_l2>; 199c9ccf3a3SEmmanuel Vadot }; 200c9ccf3a3SEmmanuel Vadot 201c9ccf3a3SEmmanuel Vadot cpucl1_3: cpu@103 { 202c9ccf3a3SEmmanuel Vadot device_type = "cpu"; 203c9ccf3a3SEmmanuel Vadot compatible = "arm,cortex-a72"; 204c9ccf3a3SEmmanuel Vadot reg = <0x0 0x103>; 205c9ccf3a3SEmmanuel Vadot enable-method = "psci"; 206c9ccf3a3SEmmanuel Vadot clock-frequency = <2400000000>; 207c9ccf3a3SEmmanuel Vadot cpu-idle-states = <&CPU_SLEEP>; 208b97ee269SEmmanuel Vadot i-cache-size = <0xc000>; 209b97ee269SEmmanuel Vadot i-cache-line-size = <64>; 210b97ee269SEmmanuel Vadot i-cache-sets = <256>; 211b97ee269SEmmanuel Vadot d-cache-size = <0x8000>; 212b97ee269SEmmanuel Vadot d-cache-line-size = <64>; 213b97ee269SEmmanuel Vadot d-cache-sets = <256>; 214b97ee269SEmmanuel Vadot next-level-cache = <&cpucl_l2>; 215c9ccf3a3SEmmanuel Vadot }; 216c9ccf3a3SEmmanuel Vadot 217c9ccf3a3SEmmanuel Vadot /* Cluster 2 */ 218c9ccf3a3SEmmanuel Vadot cpucl2_0: cpu@200 { 219c9ccf3a3SEmmanuel Vadot device_type = "cpu"; 220c9ccf3a3SEmmanuel Vadot compatible = "arm,cortex-a72"; 221c9ccf3a3SEmmanuel Vadot reg = <0x0 0x200>; 222c9ccf3a3SEmmanuel Vadot enable-method = "psci"; 223c9ccf3a3SEmmanuel Vadot clock-frequency = <2400000000>; 224c9ccf3a3SEmmanuel Vadot cpu-idle-states = <&CPU_SLEEP>; 225b97ee269SEmmanuel Vadot i-cache-size = <0xc000>; 226b97ee269SEmmanuel Vadot i-cache-line-size = <64>; 227b97ee269SEmmanuel Vadot i-cache-sets = <256>; 228b97ee269SEmmanuel Vadot d-cache-size = <0x8000>; 229b97ee269SEmmanuel Vadot d-cache-line-size = <64>; 230b97ee269SEmmanuel Vadot d-cache-sets = <256>; 231b97ee269SEmmanuel Vadot next-level-cache = <&cpucl_l2>; 232c9ccf3a3SEmmanuel Vadot }; 233c9ccf3a3SEmmanuel Vadot 234c9ccf3a3SEmmanuel Vadot cpucl2_1: cpu@201 { 235c9ccf3a3SEmmanuel Vadot device_type = "cpu"; 236c9ccf3a3SEmmanuel Vadot compatible = "arm,cortex-a72"; 237c9ccf3a3SEmmanuel Vadot reg = <0x0 0x201>; 238c9ccf3a3SEmmanuel Vadot enable-method = "psci"; 239c9ccf3a3SEmmanuel Vadot clock-frequency = <2400000000>; 240c9ccf3a3SEmmanuel Vadot cpu-idle-states = <&CPU_SLEEP>; 241b97ee269SEmmanuel Vadot i-cache-size = <0xc000>; 242b97ee269SEmmanuel Vadot i-cache-line-size = <64>; 243b97ee269SEmmanuel Vadot i-cache-sets = <256>; 244b97ee269SEmmanuel Vadot d-cache-size = <0x8000>; 245b97ee269SEmmanuel Vadot d-cache-line-size = <64>; 246b97ee269SEmmanuel Vadot d-cache-sets = <256>; 247b97ee269SEmmanuel Vadot next-level-cache = <&cpucl_l2>; 248c9ccf3a3SEmmanuel Vadot }; 249c9ccf3a3SEmmanuel Vadot 250c9ccf3a3SEmmanuel Vadot cpucl2_2: cpu@202 { 251c9ccf3a3SEmmanuel Vadot device_type = "cpu"; 252c9ccf3a3SEmmanuel Vadot compatible = "arm,cortex-a72"; 253c9ccf3a3SEmmanuel Vadot reg = <0x0 0x202>; 254c9ccf3a3SEmmanuel Vadot enable-method = "psci"; 255c9ccf3a3SEmmanuel Vadot clock-frequency = <2400000000>; 256c9ccf3a3SEmmanuel Vadot cpu-idle-states = <&CPU_SLEEP>; 257b97ee269SEmmanuel Vadot i-cache-size = <0xc000>; 258b97ee269SEmmanuel Vadot i-cache-line-size = <64>; 259b97ee269SEmmanuel Vadot i-cache-sets = <256>; 260b97ee269SEmmanuel Vadot d-cache-size = <0x8000>; 261b97ee269SEmmanuel Vadot d-cache-line-size = <64>; 262b97ee269SEmmanuel Vadot d-cache-sets = <256>; 263b97ee269SEmmanuel Vadot next-level-cache = <&cpucl_l2>; 264c9ccf3a3SEmmanuel Vadot }; 265c9ccf3a3SEmmanuel Vadot 266c9ccf3a3SEmmanuel Vadot cpucl2_3: cpu@203 { 267c9ccf3a3SEmmanuel Vadot device_type = "cpu"; 268c9ccf3a3SEmmanuel Vadot compatible = "arm,cortex-a72"; 269c9ccf3a3SEmmanuel Vadot reg = <0x0 0x203>; 270c9ccf3a3SEmmanuel Vadot enable-method = "psci"; 271c9ccf3a3SEmmanuel Vadot clock-frequency = <2400000000>; 272c9ccf3a3SEmmanuel Vadot cpu-idle-states = <&CPU_SLEEP>; 273b97ee269SEmmanuel Vadot i-cache-size = <0xc000>; 274b97ee269SEmmanuel Vadot i-cache-line-size = <64>; 275b97ee269SEmmanuel Vadot i-cache-sets = <256>; 276b97ee269SEmmanuel Vadot d-cache-size = <0x8000>; 277b97ee269SEmmanuel Vadot d-cache-line-size = <64>; 278b97ee269SEmmanuel Vadot d-cache-sets = <256>; 279b97ee269SEmmanuel Vadot next-level-cache = <&cpucl_l2>; 280b97ee269SEmmanuel Vadot }; 281b97ee269SEmmanuel Vadot 282b97ee269SEmmanuel Vadot cpucl_l2: l2-cache0 { 283b97ee269SEmmanuel Vadot compatible = "cache"; 284cb7aa33aSEmmanuel Vadot cache-level = <2>; 285cb7aa33aSEmmanuel Vadot cache-unified; 286b97ee269SEmmanuel Vadot cache-size = <0x400000>; 287b97ee269SEmmanuel Vadot cache-line-size = <64>; 288b97ee269SEmmanuel Vadot cache-sets = <4096>; 289c9ccf3a3SEmmanuel Vadot }; 290c9ccf3a3SEmmanuel Vadot 291c9ccf3a3SEmmanuel Vadot idle-states { 292c9ccf3a3SEmmanuel Vadot entry-method = "psci"; 293c9ccf3a3SEmmanuel Vadot 294c9ccf3a3SEmmanuel Vadot CPU_SLEEP: cpu-sleep { 295c9ccf3a3SEmmanuel Vadot idle-state-name = "c2"; 296c9ccf3a3SEmmanuel Vadot compatible = "arm,idle-state"; 297c9ccf3a3SEmmanuel Vadot local-timer-stop; 298c9ccf3a3SEmmanuel Vadot arm,psci-suspend-param = <0x0010000>; 299c9ccf3a3SEmmanuel Vadot entry-latency-us = <30>; 300c9ccf3a3SEmmanuel Vadot exit-latency-us = <75>; 301c9ccf3a3SEmmanuel Vadot min-residency-us = <300>; 302c9ccf3a3SEmmanuel Vadot }; 303c9ccf3a3SEmmanuel Vadot }; 304c9ccf3a3SEmmanuel Vadot }; 305c9ccf3a3SEmmanuel Vadot 306c9ccf3a3SEmmanuel Vadot arm-pmu { 307*7d0873ebSEmmanuel Vadot compatible = "arm,cortex-a72-pmu"; 308c9ccf3a3SEmmanuel Vadot interrupts = <GIC_SPI 356 IRQ_TYPE_LEVEL_HIGH>, 309c9ccf3a3SEmmanuel Vadot <GIC_SPI 357 IRQ_TYPE_LEVEL_HIGH>, 310c9ccf3a3SEmmanuel Vadot <GIC_SPI 358 IRQ_TYPE_LEVEL_HIGH>, 311c9ccf3a3SEmmanuel Vadot <GIC_SPI 359 IRQ_TYPE_LEVEL_HIGH>, 312c9ccf3a3SEmmanuel Vadot <GIC_SPI 370 IRQ_TYPE_LEVEL_HIGH>, 313c9ccf3a3SEmmanuel Vadot <GIC_SPI 371 IRQ_TYPE_LEVEL_HIGH>, 314c9ccf3a3SEmmanuel Vadot <GIC_SPI 372 IRQ_TYPE_LEVEL_HIGH>, 315c9ccf3a3SEmmanuel Vadot <GIC_SPI 373 IRQ_TYPE_LEVEL_HIGH>, 316c9ccf3a3SEmmanuel Vadot <GIC_SPI 384 IRQ_TYPE_LEVEL_HIGH>, 317c9ccf3a3SEmmanuel Vadot <GIC_SPI 385 IRQ_TYPE_LEVEL_HIGH>, 318c9ccf3a3SEmmanuel Vadot <GIC_SPI 386 IRQ_TYPE_LEVEL_HIGH>, 319c9ccf3a3SEmmanuel Vadot <GIC_SPI 387 IRQ_TYPE_LEVEL_HIGH>; 320c9ccf3a3SEmmanuel Vadot interrupt-affinity = <&cpucl0_0>, <&cpucl0_1>, <&cpucl0_2>, 321c9ccf3a3SEmmanuel Vadot <&cpucl0_3>, <&cpucl1_0>, <&cpucl1_1>, 322c9ccf3a3SEmmanuel Vadot <&cpucl1_2>, <&cpucl1_3>, <&cpucl2_0>, 323c9ccf3a3SEmmanuel Vadot <&cpucl2_1>, <&cpucl2_2>, <&cpucl2_3>; 324c9ccf3a3SEmmanuel Vadot }; 325c9ccf3a3SEmmanuel Vadot 326c9ccf3a3SEmmanuel Vadot psci { 327c9ccf3a3SEmmanuel Vadot compatible = "arm,psci-1.0"; 328c9ccf3a3SEmmanuel Vadot method = "smc"; 329c9ccf3a3SEmmanuel Vadot }; 330c9ccf3a3SEmmanuel Vadot 331c9ccf3a3SEmmanuel Vadot timer { 332c9ccf3a3SEmmanuel Vadot compatible = "arm,armv8-timer"; 333c9ccf3a3SEmmanuel Vadot interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW>, 334c9ccf3a3SEmmanuel Vadot <GIC_PPI 14 IRQ_TYPE_LEVEL_LOW>, 335c9ccf3a3SEmmanuel Vadot <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW>, 336c9ccf3a3SEmmanuel Vadot <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>; 337c9ccf3a3SEmmanuel Vadot }; 338c9ccf3a3SEmmanuel Vadot 339c9ccf3a3SEmmanuel Vadot fin_pll: clock { 340c9ccf3a3SEmmanuel Vadot compatible = "fixed-clock"; 341c9ccf3a3SEmmanuel Vadot clock-output-names = "fin_pll"; 342c9ccf3a3SEmmanuel Vadot #clock-cells = <0>; 343c9ccf3a3SEmmanuel Vadot }; 344c9ccf3a3SEmmanuel Vadot 3458d13bc63SEmmanuel Vadot reserved-memory { 3468d13bc63SEmmanuel Vadot #address-cells = <2>; 3478d13bc63SEmmanuel Vadot #size-cells = <2>; 3488d13bc63SEmmanuel Vadot ranges; 3498d13bc63SEmmanuel Vadot 3508d13bc63SEmmanuel Vadot mfc_left: region@84000000 { 3518d13bc63SEmmanuel Vadot compatible = "shared-dma-pool"; 3528d13bc63SEmmanuel Vadot no-map; 3538d13bc63SEmmanuel Vadot reg = <0 0x84000000 0 0x8000000>; 3548d13bc63SEmmanuel Vadot }; 3558d13bc63SEmmanuel Vadot }; 3568d13bc63SEmmanuel Vadot 357c9ccf3a3SEmmanuel Vadot soc: soc@0 { 358c9ccf3a3SEmmanuel Vadot compatible = "simple-bus"; 359c9ccf3a3SEmmanuel Vadot #address-cells = <2>; 360c9ccf3a3SEmmanuel Vadot #size-cells = <2>; 361c9ccf3a3SEmmanuel Vadot ranges = <0x0 0x0 0x0 0x0 0x0 0x18000000>; 362c9ccf3a3SEmmanuel Vadot dma-ranges = <0x0 0x0 0x0 0x0 0x10 0x0>; 363c9ccf3a3SEmmanuel Vadot 364c9ccf3a3SEmmanuel Vadot gic: interrupt-controller@10400000 { 365c9ccf3a3SEmmanuel Vadot compatible = "arm,gic-v3"; 366c9ccf3a3SEmmanuel Vadot #interrupt-cells = <3>; 367c9ccf3a3SEmmanuel Vadot interrupt-controller; 368c9ccf3a3SEmmanuel Vadot reg = <0x0 0x10400000 0x0 0x10000>, /* GICD */ 369c9ccf3a3SEmmanuel Vadot <0x0 0x10600000 0x0 0x200000>; /* GICR_RD+GICR_SGI */ 370c9ccf3a3SEmmanuel Vadot interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>; 371c9ccf3a3SEmmanuel Vadot }; 372c9ccf3a3SEmmanuel Vadot 373c9ccf3a3SEmmanuel Vadot smmu_imem: iommu@10200000 { 374c9ccf3a3SEmmanuel Vadot compatible = "arm,mmu-500"; 375c9ccf3a3SEmmanuel Vadot reg = <0x0 0x10200000 0x0 0x10000>; 376c9ccf3a3SEmmanuel Vadot #iommu-cells = <2>; 377c9ccf3a3SEmmanuel Vadot #global-interrupts = <7>; 378c9ccf3a3SEmmanuel Vadot interrupts = <GIC_SPI 438 IRQ_TYPE_LEVEL_HIGH>, /* Global secure fault */ 379c9ccf3a3SEmmanuel Vadot <GIC_SPI 439 IRQ_TYPE_LEVEL_HIGH>, /* Global non-secure fault */ 380c9ccf3a3SEmmanuel Vadot <GIC_SPI 451 IRQ_TYPE_LEVEL_HIGH>, /* Combined secure interrupt */ 381c9ccf3a3SEmmanuel Vadot <GIC_SPI 450 IRQ_TYPE_LEVEL_HIGH>, /* Combined non-secure interrupt */ 382c9ccf3a3SEmmanuel Vadot /* Performance counter interrupts */ 383c9ccf3a3SEmmanuel Vadot <GIC_SPI 441 IRQ_TYPE_LEVEL_HIGH>, /* for FSYS1_0 */ 384c9ccf3a3SEmmanuel Vadot <GIC_SPI 442 IRQ_TYPE_LEVEL_HIGH>, /* for FSYS1_1 */ 385c9ccf3a3SEmmanuel Vadot <GIC_SPI 443 IRQ_TYPE_LEVEL_HIGH>, /* for IMEM_0 */ 386c9ccf3a3SEmmanuel Vadot /* Per context non-secure context interrupts, 0-3 interrupts */ 387c9ccf3a3SEmmanuel Vadot <GIC_SPI 446 IRQ_TYPE_LEVEL_HIGH>, /* for CONTEXT_0 */ 388c9ccf3a3SEmmanuel Vadot <GIC_SPI 447 IRQ_TYPE_LEVEL_HIGH>, /* for CONTEXT_1 */ 389c9ccf3a3SEmmanuel Vadot <GIC_SPI 448 IRQ_TYPE_LEVEL_HIGH>, /* for CONTEXT_2 */ 390c9ccf3a3SEmmanuel Vadot <GIC_SPI 449 IRQ_TYPE_LEVEL_HIGH>; /* for CONTEXT_3 */ 391c9ccf3a3SEmmanuel Vadot }; 392c9ccf3a3SEmmanuel Vadot 393c9ccf3a3SEmmanuel Vadot smmu_isp: iommu@12100000 { 394c9ccf3a3SEmmanuel Vadot compatible = "arm,mmu-500"; 395c9ccf3a3SEmmanuel Vadot reg = <0x0 0x12100000 0x0 0x10000>; 396c9ccf3a3SEmmanuel Vadot #iommu-cells = <2>; 397c9ccf3a3SEmmanuel Vadot #global-interrupts = <11>; 398c9ccf3a3SEmmanuel Vadot interrupts = <GIC_SPI 321 IRQ_TYPE_LEVEL_HIGH>, /* Global secure fault */ 399c9ccf3a3SEmmanuel Vadot <GIC_SPI 322 IRQ_TYPE_LEVEL_HIGH>, /* Global non-secure fault */ 400c9ccf3a3SEmmanuel Vadot <GIC_SPI 346 IRQ_TYPE_LEVEL_HIGH>, /* Combined secure interrupt */ 401c9ccf3a3SEmmanuel Vadot <GIC_SPI 345 IRQ_TYPE_LEVEL_HIGH>, /* Combined non-secure interrupt */ 402c9ccf3a3SEmmanuel Vadot /* Performance counter interrupts */ 403c9ccf3a3SEmmanuel Vadot <GIC_SPI 323 IRQ_TYPE_LEVEL_HIGH>, /* for CAM_CSI */ 404c9ccf3a3SEmmanuel Vadot <GIC_SPI 324 IRQ_TYPE_LEVEL_HIGH>, /* for CAM_DP_0 */ 405c9ccf3a3SEmmanuel Vadot <GIC_SPI 325 IRQ_TYPE_LEVEL_HIGH>, /* for CAM_DP_1 */ 406c9ccf3a3SEmmanuel Vadot <GIC_SPI 326 IRQ_TYPE_LEVEL_HIGH>, /* for CAM_ISP_0 */ 407c9ccf3a3SEmmanuel Vadot <GIC_SPI 327 IRQ_TYPE_LEVEL_HIGH>, /* for CAM_ISP_1 */ 408c9ccf3a3SEmmanuel Vadot <GIC_SPI 328 IRQ_TYPE_LEVEL_HIGH>, /* for CAM_MFC_0 */ 409c9ccf3a3SEmmanuel Vadot <GIC_SPI 329 IRQ_TYPE_LEVEL_HIGH>, /* for CAM_MFC_1 */ 410c9ccf3a3SEmmanuel Vadot /* Per context non-secure context interrupts, 0-7 interrupts */ 411c9ccf3a3SEmmanuel Vadot <GIC_SPI 330 IRQ_TYPE_LEVEL_HIGH>, /* for CONTEXT_0 */ 412c9ccf3a3SEmmanuel Vadot <GIC_SPI 331 IRQ_TYPE_LEVEL_HIGH>, /* for CONTEXT_1 */ 413c9ccf3a3SEmmanuel Vadot <GIC_SPI 332 IRQ_TYPE_LEVEL_HIGH>, /* for CONTEXT_2 */ 414c9ccf3a3SEmmanuel Vadot <GIC_SPI 333 IRQ_TYPE_LEVEL_HIGH>, /* for CONTEXT_3 */ 415c9ccf3a3SEmmanuel Vadot <GIC_SPI 334 IRQ_TYPE_LEVEL_HIGH>, /* for CONTEXT_4 */ 416c9ccf3a3SEmmanuel Vadot <GIC_SPI 335 IRQ_TYPE_LEVEL_HIGH>, /* for CONTEXT_5 */ 417c9ccf3a3SEmmanuel Vadot <GIC_SPI 336 IRQ_TYPE_LEVEL_HIGH>, /* for CONTEXT_6 */ 418c9ccf3a3SEmmanuel Vadot <GIC_SPI 337 IRQ_TYPE_LEVEL_HIGH>; /* for CONTEXT_7 */ 419c9ccf3a3SEmmanuel Vadot }; 420c9ccf3a3SEmmanuel Vadot 421c9ccf3a3SEmmanuel Vadot smmu_peric: iommu@14900000 { 422c9ccf3a3SEmmanuel Vadot compatible = "arm,mmu-500"; 423c9ccf3a3SEmmanuel Vadot reg = <0x0 0x14900000 0x0 0x10000>; 424c9ccf3a3SEmmanuel Vadot #iommu-cells = <2>; 425c9ccf3a3SEmmanuel Vadot #global-interrupts = <5>; 426c9ccf3a3SEmmanuel Vadot interrupts = <GIC_SPI 197 IRQ_TYPE_LEVEL_HIGH>, /* Global secure fault */ 427c9ccf3a3SEmmanuel Vadot <GIC_SPI 196 IRQ_TYPE_LEVEL_HIGH>, /* Global non-secure fault */ 428c9ccf3a3SEmmanuel Vadot <GIC_SPI 193 IRQ_TYPE_LEVEL_HIGH>, /* Combined secure interrupt */ 429c9ccf3a3SEmmanuel Vadot <GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH>, /* Combined non-secure interrupt */ 430c9ccf3a3SEmmanuel Vadot /* Performance counter interrupts */ 431c9ccf3a3SEmmanuel Vadot <GIC_SPI 198 IRQ_TYPE_LEVEL_HIGH>, /* for PERIC */ 432c9ccf3a3SEmmanuel Vadot /* Per context non-secure context interrupts, 0-1 interrupts */ 433c9ccf3a3SEmmanuel Vadot <GIC_SPI 194 IRQ_TYPE_LEVEL_HIGH>, /* for CONTEXT_0 */ 434c9ccf3a3SEmmanuel Vadot <GIC_SPI 195 IRQ_TYPE_LEVEL_HIGH>; /* for CONTEXT_1 */ 435c9ccf3a3SEmmanuel Vadot }; 436c9ccf3a3SEmmanuel Vadot 437c9ccf3a3SEmmanuel Vadot smmu_fsys0: iommu@15450000 { 438c9ccf3a3SEmmanuel Vadot compatible = "arm,mmu-500"; 439c9ccf3a3SEmmanuel Vadot reg = <0x0 0x15450000 0x0 0x10000>; 440c9ccf3a3SEmmanuel Vadot #iommu-cells = <2>; 441c9ccf3a3SEmmanuel Vadot #global-interrupts = <5>; 442c9ccf3a3SEmmanuel Vadot interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>, /* Global secure fault */ 443c9ccf3a3SEmmanuel Vadot <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>, /* Global non-secure fault */ 444c9ccf3a3SEmmanuel Vadot <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>, /* Combined secure interrupt */ 445c9ccf3a3SEmmanuel Vadot <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>, /* Combined non-secure interrupt */ 446c9ccf3a3SEmmanuel Vadot /* Performance counter interrupts */ 447c9ccf3a3SEmmanuel Vadot <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>, /* for FSYS0 */ 448c9ccf3a3SEmmanuel Vadot /* Per context non-secure context interrupts, 0-1 interrupts */ 449c9ccf3a3SEmmanuel Vadot <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>, /* for CONTEXT_0 */ 450c9ccf3a3SEmmanuel Vadot <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>; /* for CONTEXT_1 */ 451c9ccf3a3SEmmanuel Vadot }; 452c9ccf3a3SEmmanuel Vadot 453c9ccf3a3SEmmanuel Vadot clock_imem: clock-controller@10010000 { 454c9ccf3a3SEmmanuel Vadot compatible = "tesla,fsd-clock-imem"; 455c9ccf3a3SEmmanuel Vadot reg = <0x0 0x10010000 0x0 0x3000>; 456c9ccf3a3SEmmanuel Vadot #clock-cells = <1>; 457c9ccf3a3SEmmanuel Vadot clocks = <&fin_pll>, 458c9ccf3a3SEmmanuel Vadot <&clock_cmu DOUT_CMU_IMEM_TCUCLK>, 459c9ccf3a3SEmmanuel Vadot <&clock_cmu DOUT_CMU_IMEM_ACLK>, 460c9ccf3a3SEmmanuel Vadot <&clock_cmu DOUT_CMU_IMEM_DMACLK>; 461c9ccf3a3SEmmanuel Vadot clock-names = "fin_pll", 462c9ccf3a3SEmmanuel Vadot "dout_cmu_imem_tcuclk", 463c9ccf3a3SEmmanuel Vadot "dout_cmu_imem_aclk", 464c9ccf3a3SEmmanuel Vadot "dout_cmu_imem_dmaclk"; 465c9ccf3a3SEmmanuel Vadot }; 466c9ccf3a3SEmmanuel Vadot 467c9ccf3a3SEmmanuel Vadot clock_cmu: clock-controller@11c10000 { 468c9ccf3a3SEmmanuel Vadot compatible = "tesla,fsd-clock-cmu"; 469c9ccf3a3SEmmanuel Vadot reg = <0x0 0x11c10000 0x0 0x3000>; 470c9ccf3a3SEmmanuel Vadot #clock-cells = <1>; 471c9ccf3a3SEmmanuel Vadot clocks = <&fin_pll>; 472c9ccf3a3SEmmanuel Vadot clock-names = "fin_pll"; 473c9ccf3a3SEmmanuel Vadot }; 474c9ccf3a3SEmmanuel Vadot 475c9ccf3a3SEmmanuel Vadot clock_csi: clock-controller@12610000 { 476c9ccf3a3SEmmanuel Vadot compatible = "tesla,fsd-clock-cam_csi"; 477c9ccf3a3SEmmanuel Vadot reg = <0x0 0x12610000 0x0 0x3000>; 478c9ccf3a3SEmmanuel Vadot #clock-cells = <1>; 479c9ccf3a3SEmmanuel Vadot clocks = <&fin_pll>; 480c9ccf3a3SEmmanuel Vadot clock-names = "fin_pll"; 481c9ccf3a3SEmmanuel Vadot }; 482c9ccf3a3SEmmanuel Vadot 483cb7aa33aSEmmanuel Vadot sysreg_cam: system-controller@12630000 { 484cb7aa33aSEmmanuel Vadot compatible = "tesla,fsd-cam-sysreg", "syscon"; 485cb7aa33aSEmmanuel Vadot reg = <0x0 0x12630000 0x0 0x500>; 486cb7aa33aSEmmanuel Vadot }; 487cb7aa33aSEmmanuel Vadot 488c9ccf3a3SEmmanuel Vadot clock_mfc: clock-controller@12810000 { 489c9ccf3a3SEmmanuel Vadot compatible = "tesla,fsd-clock-mfc"; 490c9ccf3a3SEmmanuel Vadot reg = <0x0 0x12810000 0x0 0x3000>; 491c9ccf3a3SEmmanuel Vadot #clock-cells = <1>; 492c9ccf3a3SEmmanuel Vadot clocks = <&fin_pll>; 493c9ccf3a3SEmmanuel Vadot clock-names = "fin_pll"; 494c9ccf3a3SEmmanuel Vadot }; 495c9ccf3a3SEmmanuel Vadot 496c9ccf3a3SEmmanuel Vadot clock_peric: clock-controller@14010000 { 497c9ccf3a3SEmmanuel Vadot compatible = "tesla,fsd-clock-peric"; 498c9ccf3a3SEmmanuel Vadot reg = <0x0 0x14010000 0x0 0x3000>; 499c9ccf3a3SEmmanuel Vadot #clock-cells = <1>; 500c9ccf3a3SEmmanuel Vadot clocks = <&fin_pll>, 501c9ccf3a3SEmmanuel Vadot <&clock_cmu DOUT_CMU_PLL_SHARED0_DIV4>, 502c9ccf3a3SEmmanuel Vadot <&clock_cmu DOUT_CMU_PERIC_SHARED1DIV36>, 503c9ccf3a3SEmmanuel Vadot <&clock_cmu DOUT_CMU_PERIC_SHARED0DIV3_TBUCLK>, 504c9ccf3a3SEmmanuel Vadot <&clock_cmu DOUT_CMU_PERIC_SHARED0DIV20>, 505c9ccf3a3SEmmanuel Vadot <&clock_cmu DOUT_CMU_PERIC_SHARED1DIV4_DMACLK>; 506c9ccf3a3SEmmanuel Vadot clock-names = "fin_pll", 507c9ccf3a3SEmmanuel Vadot "dout_cmu_pll_shared0_div4", 508c9ccf3a3SEmmanuel Vadot "dout_cmu_peric_shared1div36", 509c9ccf3a3SEmmanuel Vadot "dout_cmu_peric_shared0div3_tbuclk", 510c9ccf3a3SEmmanuel Vadot "dout_cmu_peric_shared0div20", 511c9ccf3a3SEmmanuel Vadot "dout_cmu_peric_shared1div4_dmaclk"; 512c9ccf3a3SEmmanuel Vadot }; 513c9ccf3a3SEmmanuel Vadot 514cb7aa33aSEmmanuel Vadot sysreg_peric: system-controller@14030000 { 515cb7aa33aSEmmanuel Vadot compatible = "tesla,fsd-peric-sysreg", "syscon"; 516cb7aa33aSEmmanuel Vadot reg = <0x0 0x14030000 0x0 0x1000>; 517cb7aa33aSEmmanuel Vadot }; 518cb7aa33aSEmmanuel Vadot 519c9ccf3a3SEmmanuel Vadot clock_fsys0: clock-controller@15010000 { 520c9ccf3a3SEmmanuel Vadot compatible = "tesla,fsd-clock-fsys0"; 521c9ccf3a3SEmmanuel Vadot reg = <0x0 0x15010000 0x0 0x3000>; 522c9ccf3a3SEmmanuel Vadot #clock-cells = <1>; 523c9ccf3a3SEmmanuel Vadot clocks = <&fin_pll>, 524c9ccf3a3SEmmanuel Vadot <&clock_cmu DOUT_CMU_PLL_SHARED0_DIV6>, 525c9ccf3a3SEmmanuel Vadot <&clock_cmu DOUT_CMU_FSYS0_SHARED1DIV4>, 526c9ccf3a3SEmmanuel Vadot <&clock_cmu DOUT_CMU_FSYS0_SHARED0DIV4>; 527c9ccf3a3SEmmanuel Vadot clock-names = "fin_pll", 528c9ccf3a3SEmmanuel Vadot "dout_cmu_pll_shared0_div6", 529c9ccf3a3SEmmanuel Vadot "dout_cmu_fsys0_shared1div4", 530c9ccf3a3SEmmanuel Vadot "dout_cmu_fsys0_shared0div4"; 531c9ccf3a3SEmmanuel Vadot }; 532c9ccf3a3SEmmanuel Vadot 533cb7aa33aSEmmanuel Vadot sysreg_fsys0: system-controller@15030000 { 534cb7aa33aSEmmanuel Vadot compatible = "tesla,fsd-fsys0-sysreg", "syscon"; 535cb7aa33aSEmmanuel Vadot reg = <0x0 0x15030000 0x0 0x1000>; 536cb7aa33aSEmmanuel Vadot }; 537cb7aa33aSEmmanuel Vadot 538c9ccf3a3SEmmanuel Vadot clock_fsys1: clock-controller@16810000 { 539c9ccf3a3SEmmanuel Vadot compatible = "tesla,fsd-clock-fsys1"; 540c9ccf3a3SEmmanuel Vadot reg = <0x0 0x16810000 0x0 0x3000>; 541c9ccf3a3SEmmanuel Vadot #clock-cells = <1>; 542c9ccf3a3SEmmanuel Vadot clocks = <&fin_pll>, 543c9ccf3a3SEmmanuel Vadot <&clock_cmu DOUT_CMU_FSYS1_SHARED0DIV8>, 544c9ccf3a3SEmmanuel Vadot <&clock_cmu DOUT_CMU_FSYS1_SHARED0DIV4>; 545c9ccf3a3SEmmanuel Vadot clock-names = "fin_pll", 546c9ccf3a3SEmmanuel Vadot "dout_cmu_fsys1_shared0div8", 547c9ccf3a3SEmmanuel Vadot "dout_cmu_fsys1_shared0div4"; 548c9ccf3a3SEmmanuel Vadot }; 549c9ccf3a3SEmmanuel Vadot 550cb7aa33aSEmmanuel Vadot sysreg_fsys1: system-controller@16830000 { 551cb7aa33aSEmmanuel Vadot compatible = "tesla,fsd-fsys1-sysreg", "syscon"; 552cb7aa33aSEmmanuel Vadot reg = <0x0 0x16830000 0x0 0x1000>; 553cb7aa33aSEmmanuel Vadot }; 554cb7aa33aSEmmanuel Vadot 555c9ccf3a3SEmmanuel Vadot mdma0: dma-controller@10100000 { 556c9ccf3a3SEmmanuel Vadot compatible = "arm,pl330", "arm,primecell"; 557c9ccf3a3SEmmanuel Vadot reg = <0x0 0x10100000 0x0 0x1000>; 558c9ccf3a3SEmmanuel Vadot interrupts = <GIC_SPI 424 IRQ_TYPE_LEVEL_HIGH>; 559c9ccf3a3SEmmanuel Vadot #dma-cells = <1>; 560c9ccf3a3SEmmanuel Vadot clocks = <&clock_imem IMEM_DMA0_IPCLKPORT_ACLK>; 561c9ccf3a3SEmmanuel Vadot clock-names = "apb_pclk"; 562c9ccf3a3SEmmanuel Vadot iommus = <&smmu_imem 0x800 0x0>; 563c9ccf3a3SEmmanuel Vadot }; 564c9ccf3a3SEmmanuel Vadot 565c9ccf3a3SEmmanuel Vadot mdma1: dma-controller@10110000 { 566c9ccf3a3SEmmanuel Vadot compatible = "arm,pl330", "arm,primecell"; 567c9ccf3a3SEmmanuel Vadot reg = <0x0 0x10110000 0x0 0x1000>; 568c9ccf3a3SEmmanuel Vadot interrupts = <GIC_SPI 425 IRQ_TYPE_LEVEL_HIGH>; 569c9ccf3a3SEmmanuel Vadot #dma-cells = <1>; 570c9ccf3a3SEmmanuel Vadot clocks = <&clock_imem IMEM_DMA1_IPCLKPORT_ACLK>; 571c9ccf3a3SEmmanuel Vadot clock-names = "apb_pclk"; 572c9ccf3a3SEmmanuel Vadot iommus = <&smmu_imem 0x801 0x0>; 573c9ccf3a3SEmmanuel Vadot }; 574c9ccf3a3SEmmanuel Vadot 575c9ccf3a3SEmmanuel Vadot pdma0: dma-controller@14280000 { 576c9ccf3a3SEmmanuel Vadot compatible = "arm,pl330", "arm,primecell"; 577c9ccf3a3SEmmanuel Vadot reg = <0x0 0x14280000 0x0 0x1000>; 578c9ccf3a3SEmmanuel Vadot interrupts = <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>; 579c9ccf3a3SEmmanuel Vadot #dma-cells = <1>; 580c9ccf3a3SEmmanuel Vadot clocks = <&clock_peric PERIC_DMA0_IPCLKPORT_ACLK>; 581c9ccf3a3SEmmanuel Vadot clock-names = "apb_pclk"; 582c9ccf3a3SEmmanuel Vadot iommus = <&smmu_peric 0x2 0x0>; 583c9ccf3a3SEmmanuel Vadot }; 584c9ccf3a3SEmmanuel Vadot 585c9ccf3a3SEmmanuel Vadot pdma1: dma-controller@14290000 { 586c9ccf3a3SEmmanuel Vadot compatible = "arm,pl330", "arm,primecell"; 587c9ccf3a3SEmmanuel Vadot reg = <0x0 0x14290000 0x0 0x1000>; 588c9ccf3a3SEmmanuel Vadot interrupts = <GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>; 589c9ccf3a3SEmmanuel Vadot #dma-cells = <1>; 590c9ccf3a3SEmmanuel Vadot clocks = <&clock_peric PERIC_DMA1_IPCLKPORT_ACLK>; 591c9ccf3a3SEmmanuel Vadot clock-names = "apb_pclk"; 592c9ccf3a3SEmmanuel Vadot iommus = <&smmu_peric 0x1 0x0>; 593c9ccf3a3SEmmanuel Vadot }; 594c9ccf3a3SEmmanuel Vadot 595c9ccf3a3SEmmanuel Vadot serial_0: serial@14180000 { 5968d13bc63SEmmanuel Vadot compatible = "tesla,fsd-uart", "samsung,exynos4210-uart"; 597c9ccf3a3SEmmanuel Vadot reg = <0x0 0x14180000 0x0 0x100>; 598c9ccf3a3SEmmanuel Vadot interrupts = <GIC_SPI 171 IRQ_TYPE_LEVEL_HIGH>; 599c9ccf3a3SEmmanuel Vadot dmas = <&pdma1 1>, <&pdma1 0>; 600c9ccf3a3SEmmanuel Vadot dma-names = "rx", "tx"; 601c9ccf3a3SEmmanuel Vadot clocks = <&clock_peric PERIC_PCLK_UART0>, 602c9ccf3a3SEmmanuel Vadot <&clock_peric PERIC_SCLK_UART0>; 603c9ccf3a3SEmmanuel Vadot clock-names = "uart", "clk_uart_baud0"; 60401950c46SEmmanuel Vadot samsung,uart-fifosize = <64>; 605c9ccf3a3SEmmanuel Vadot status = "disabled"; 606c9ccf3a3SEmmanuel Vadot }; 607c9ccf3a3SEmmanuel Vadot 608c9ccf3a3SEmmanuel Vadot serial_1: serial@14190000 { 6098d13bc63SEmmanuel Vadot compatible = "tesla,fsd-uart", "samsung,exynos4210-uart"; 610c9ccf3a3SEmmanuel Vadot reg = <0x0 0x14190000 0x0 0x100>; 611c9ccf3a3SEmmanuel Vadot interrupts = <GIC_SPI 172 IRQ_TYPE_LEVEL_HIGH>; 612c9ccf3a3SEmmanuel Vadot dmas = <&pdma1 3>, <&pdma1 2>; 613c9ccf3a3SEmmanuel Vadot dma-names = "rx", "tx"; 614c9ccf3a3SEmmanuel Vadot clocks = <&clock_peric PERIC_PCLK_UART1>, 615c9ccf3a3SEmmanuel Vadot <&clock_peric PERIC_SCLK_UART1>; 616c9ccf3a3SEmmanuel Vadot clock-names = "uart", "clk_uart_baud0"; 61701950c46SEmmanuel Vadot samsung,uart-fifosize = <64>; 618c9ccf3a3SEmmanuel Vadot status = "disabled"; 619c9ccf3a3SEmmanuel Vadot }; 620c9ccf3a3SEmmanuel Vadot 621c9ccf3a3SEmmanuel Vadot pmu_system_controller: system-controller@11400000 { 6228d13bc63SEmmanuel Vadot compatible = "tesla,fsd-pmu", "samsung,exynos7-pmu", "syscon"; 623c9ccf3a3SEmmanuel Vadot reg = <0x0 0x11400000 0x0 0x5000>; 624c9ccf3a3SEmmanuel Vadot }; 625c9ccf3a3SEmmanuel Vadot 626c9ccf3a3SEmmanuel Vadot watchdog_0: watchdog@100a0000 { 6278d13bc63SEmmanuel Vadot compatible = "tesla,fsd-wdt", "samsung,exynos7-wdt"; 628c9ccf3a3SEmmanuel Vadot reg = <0x0 0x100a0000 0x0 0x100>; 629c9ccf3a3SEmmanuel Vadot interrupts = <GIC_SPI 471 IRQ_TYPE_LEVEL_HIGH>; 630c9ccf3a3SEmmanuel Vadot samsung,syscon-phandle = <&pmu_system_controller>; 631c9ccf3a3SEmmanuel Vadot clocks = <&fin_pll>; 632c9ccf3a3SEmmanuel Vadot clock-names = "watchdog"; 633c9ccf3a3SEmmanuel Vadot }; 634c9ccf3a3SEmmanuel Vadot 635c9ccf3a3SEmmanuel Vadot watchdog_1: watchdog@100b0000 { 6368d13bc63SEmmanuel Vadot compatible = "tesla,fsd-wdt", "samsung,exynos7-wdt"; 637c9ccf3a3SEmmanuel Vadot reg = <0x0 0x100b0000 0x0 0x100>; 638c9ccf3a3SEmmanuel Vadot interrupts = <GIC_SPI 472 IRQ_TYPE_LEVEL_HIGH>; 639c9ccf3a3SEmmanuel Vadot samsung,syscon-phandle = <&pmu_system_controller>; 640c9ccf3a3SEmmanuel Vadot clocks = <&fin_pll>; 641c9ccf3a3SEmmanuel Vadot clock-names = "watchdog"; 642c9ccf3a3SEmmanuel Vadot }; 643c9ccf3a3SEmmanuel Vadot 644c9ccf3a3SEmmanuel Vadot watchdog_2: watchdog@100c0000 { 6458d13bc63SEmmanuel Vadot compatible = "tesla,fsd-wdt", "samsung,exynos7-wdt"; 646c9ccf3a3SEmmanuel Vadot reg = <0x0 0x100c0000 0x0 0x100>; 647c9ccf3a3SEmmanuel Vadot interrupts = <GIC_SPI 473 IRQ_TYPE_LEVEL_HIGH>; 648c9ccf3a3SEmmanuel Vadot samsung,syscon-phandle = <&pmu_system_controller>; 649c9ccf3a3SEmmanuel Vadot clocks = <&fin_pll>; 650c9ccf3a3SEmmanuel Vadot clock-names = "watchdog"; 651c9ccf3a3SEmmanuel Vadot }; 652c9ccf3a3SEmmanuel Vadot 653c9ccf3a3SEmmanuel Vadot pwm_0: pwm@14100000 { 6548d13bc63SEmmanuel Vadot compatible = "tesla,fsd-pwm", "samsung,exynos4210-pwm"; 655c9ccf3a3SEmmanuel Vadot reg = <0x0 0x14100000 0x0 0x100>; 656c9ccf3a3SEmmanuel Vadot samsung,pwm-outputs = <0>, <1>, <2>, <3>; 657c9ccf3a3SEmmanuel Vadot #pwm-cells = <3>; 658c9ccf3a3SEmmanuel Vadot clocks = <&clock_peric PERIC_PWM0_IPCLKPORT_I_PCLK_S0>; 659c9ccf3a3SEmmanuel Vadot clock-names = "timers"; 660c9ccf3a3SEmmanuel Vadot status = "disabled"; 661c9ccf3a3SEmmanuel Vadot }; 662c9ccf3a3SEmmanuel Vadot 663c9ccf3a3SEmmanuel Vadot pwm_1: pwm@14110000 { 6648d13bc63SEmmanuel Vadot compatible = "tesla,fsd-pwm", "samsung,exynos4210-pwm"; 665c9ccf3a3SEmmanuel Vadot reg = <0x0 0x14110000 0x0 0x100>; 666c9ccf3a3SEmmanuel Vadot samsung,pwm-outputs = <0>, <1>, <2>, <3>; 667c9ccf3a3SEmmanuel Vadot #pwm-cells = <3>; 668c9ccf3a3SEmmanuel Vadot clocks = <&clock_peric PERIC_PWM1_IPCLKPORT_I_PCLK_S0>; 669c9ccf3a3SEmmanuel Vadot clock-names = "timers"; 670c9ccf3a3SEmmanuel Vadot status = "disabled"; 671c9ccf3a3SEmmanuel Vadot }; 672c9ccf3a3SEmmanuel Vadot 673c9ccf3a3SEmmanuel Vadot hsi2c_0: i2c@14200000 { 6748d13bc63SEmmanuel Vadot compatible = "tesla,fsd-hsi2c", "samsung,exynos7-hsi2c"; 675c9ccf3a3SEmmanuel Vadot reg = <0x0 0x14200000 0x0 0x1000>; 676c9ccf3a3SEmmanuel Vadot interrupts = <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>; 677c9ccf3a3SEmmanuel Vadot #address-cells = <1>; 678c9ccf3a3SEmmanuel Vadot #size-cells = <0>; 679c9ccf3a3SEmmanuel Vadot pinctrl-names = "default"; 680c9ccf3a3SEmmanuel Vadot pinctrl-0 = <&hs_i2c0_bus>; 681c9ccf3a3SEmmanuel Vadot clocks = <&clock_peric PERIC_PCLK_HSI2C0>; 682c9ccf3a3SEmmanuel Vadot clock-names = "hsi2c"; 683c9ccf3a3SEmmanuel Vadot status = "disabled"; 684c9ccf3a3SEmmanuel Vadot }; 685c9ccf3a3SEmmanuel Vadot 686c9ccf3a3SEmmanuel Vadot hsi2c_1: i2c@14210000 { 6878d13bc63SEmmanuel Vadot compatible = "tesla,fsd-hsi2c", "samsung,exynos7-hsi2c"; 688c9ccf3a3SEmmanuel Vadot reg = <0x0 0x14210000 0x0 0x1000>; 689c9ccf3a3SEmmanuel Vadot interrupts = <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>; 690c9ccf3a3SEmmanuel Vadot #address-cells = <1>; 691c9ccf3a3SEmmanuel Vadot #size-cells = <0>; 692c9ccf3a3SEmmanuel Vadot pinctrl-names = "default"; 693c9ccf3a3SEmmanuel Vadot pinctrl-0 = <&hs_i2c1_bus>; 694c9ccf3a3SEmmanuel Vadot clocks = <&clock_peric PERIC_PCLK_HSI2C1>; 695c9ccf3a3SEmmanuel Vadot clock-names = "hsi2c"; 696c9ccf3a3SEmmanuel Vadot status = "disabled"; 697c9ccf3a3SEmmanuel Vadot }; 698c9ccf3a3SEmmanuel Vadot 699c9ccf3a3SEmmanuel Vadot hsi2c_2: i2c@14220000 { 7008d13bc63SEmmanuel Vadot compatible = "tesla,fsd-hsi2c", "samsung,exynos7-hsi2c"; 701c9ccf3a3SEmmanuel Vadot reg = <0x0 0x14220000 0x0 0x1000>; 702c9ccf3a3SEmmanuel Vadot interrupts = <GIC_SPI 150 IRQ_TYPE_LEVEL_HIGH>; 703c9ccf3a3SEmmanuel Vadot #address-cells = <1>; 704c9ccf3a3SEmmanuel Vadot #size-cells = <0>; 705c9ccf3a3SEmmanuel Vadot pinctrl-names = "default"; 706c9ccf3a3SEmmanuel Vadot pinctrl-0 = <&hs_i2c2_bus>; 707c9ccf3a3SEmmanuel Vadot clocks = <&clock_peric PERIC_PCLK_HSI2C2>; 708c9ccf3a3SEmmanuel Vadot clock-names = "hsi2c"; 709c9ccf3a3SEmmanuel Vadot status = "disabled"; 710c9ccf3a3SEmmanuel Vadot }; 711c9ccf3a3SEmmanuel Vadot 712c9ccf3a3SEmmanuel Vadot hsi2c_3: i2c@14230000 { 7138d13bc63SEmmanuel Vadot compatible = "tesla,fsd-hsi2c", "samsung,exynos7-hsi2c"; 714c9ccf3a3SEmmanuel Vadot reg = <0x0 0x14230000 0x0 0x1000>; 715c9ccf3a3SEmmanuel Vadot interrupts = <GIC_SPI 151 IRQ_TYPE_LEVEL_HIGH>; 716c9ccf3a3SEmmanuel Vadot #address-cells = <1>; 717c9ccf3a3SEmmanuel Vadot #size-cells = <0>; 718c9ccf3a3SEmmanuel Vadot pinctrl-names = "default"; 719c9ccf3a3SEmmanuel Vadot pinctrl-0 = <&hs_i2c3_bus>; 720c9ccf3a3SEmmanuel Vadot clocks = <&clock_peric PERIC_PCLK_HSI2C3>; 721c9ccf3a3SEmmanuel Vadot clock-names = "hsi2c"; 722c9ccf3a3SEmmanuel Vadot status = "disabled"; 723c9ccf3a3SEmmanuel Vadot }; 724c9ccf3a3SEmmanuel Vadot 725c9ccf3a3SEmmanuel Vadot hsi2c_4: i2c@14240000 { 7268d13bc63SEmmanuel Vadot compatible = "tesla,fsd-hsi2c", "samsung,exynos7-hsi2c"; 727c9ccf3a3SEmmanuel Vadot reg = <0x0 0x14240000 0x0 0x1000>; 728c9ccf3a3SEmmanuel Vadot interrupts = <GIC_SPI 152 IRQ_TYPE_LEVEL_HIGH>; 729c9ccf3a3SEmmanuel Vadot #address-cells = <1>; 730c9ccf3a3SEmmanuel Vadot #size-cells = <0>; 731c9ccf3a3SEmmanuel Vadot pinctrl-names = "default"; 732c9ccf3a3SEmmanuel Vadot pinctrl-0 = <&hs_i2c4_bus>; 733c9ccf3a3SEmmanuel Vadot clocks = <&clock_peric PERIC_PCLK_HSI2C4>; 734c9ccf3a3SEmmanuel Vadot clock-names = "hsi2c"; 735c9ccf3a3SEmmanuel Vadot status = "disabled"; 736c9ccf3a3SEmmanuel Vadot }; 737c9ccf3a3SEmmanuel Vadot 738c9ccf3a3SEmmanuel Vadot hsi2c_5: i2c@14250000 { 7398d13bc63SEmmanuel Vadot compatible = "tesla,fsd-hsi2c", "samsung,exynos7-hsi2c"; 740c9ccf3a3SEmmanuel Vadot reg = <0x0 0x14250000 0x0 0x1000>; 741c9ccf3a3SEmmanuel Vadot interrupts = <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>; 742c9ccf3a3SEmmanuel Vadot #address-cells = <1>; 743c9ccf3a3SEmmanuel Vadot #size-cells = <0>; 744c9ccf3a3SEmmanuel Vadot pinctrl-names = "default"; 745c9ccf3a3SEmmanuel Vadot pinctrl-0 = <&hs_i2c5_bus>; 746c9ccf3a3SEmmanuel Vadot clocks = <&clock_peric PERIC_PCLK_HSI2C5>; 747c9ccf3a3SEmmanuel Vadot clock-names = "hsi2c"; 748c9ccf3a3SEmmanuel Vadot status = "disabled"; 749c9ccf3a3SEmmanuel Vadot }; 750c9ccf3a3SEmmanuel Vadot 751c9ccf3a3SEmmanuel Vadot hsi2c_6: i2c@14260000 { 7528d13bc63SEmmanuel Vadot compatible = "tesla,fsd-hsi2c", "samsung,exynos7-hsi2c"; 753c9ccf3a3SEmmanuel Vadot reg = <0x0 0x14260000 0x0 0x1000>; 754c9ccf3a3SEmmanuel Vadot interrupts = <GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>; 755c9ccf3a3SEmmanuel Vadot #address-cells = <1>; 756c9ccf3a3SEmmanuel Vadot #size-cells = <0>; 757c9ccf3a3SEmmanuel Vadot pinctrl-names = "default"; 758c9ccf3a3SEmmanuel Vadot pinctrl-0 = <&hs_i2c6_bus>; 759c9ccf3a3SEmmanuel Vadot clocks = <&clock_peric PERIC_PCLK_HSI2C6>; 760c9ccf3a3SEmmanuel Vadot clock-names = "hsi2c"; 761c9ccf3a3SEmmanuel Vadot status = "disabled"; 762c9ccf3a3SEmmanuel Vadot }; 763c9ccf3a3SEmmanuel Vadot 764c9ccf3a3SEmmanuel Vadot hsi2c_7: i2c@14270000 { 7658d13bc63SEmmanuel Vadot compatible = "tesla,fsd-hsi2c", "samsung,exynos7-hsi2c"; 766c9ccf3a3SEmmanuel Vadot reg = <0x0 0x14270000 0x0 0x1000>; 767c9ccf3a3SEmmanuel Vadot interrupts = <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>; 768c9ccf3a3SEmmanuel Vadot #address-cells = <1>; 769c9ccf3a3SEmmanuel Vadot #size-cells = <0>; 770c9ccf3a3SEmmanuel Vadot pinctrl-names = "default"; 771c9ccf3a3SEmmanuel Vadot pinctrl-0 = <&hs_i2c7_bus>; 772c9ccf3a3SEmmanuel Vadot clocks = <&clock_peric PERIC_PCLK_HSI2C7>; 773c9ccf3a3SEmmanuel Vadot clock-names = "hsi2c"; 774c9ccf3a3SEmmanuel Vadot status = "disabled"; 775c9ccf3a3SEmmanuel Vadot }; 776c9ccf3a3SEmmanuel Vadot 777cb7aa33aSEmmanuel Vadot i2s_0: i2s@140e0000 { 778cb7aa33aSEmmanuel Vadot compatible = "tesla,fsd-i2s"; 779cb7aa33aSEmmanuel Vadot reg = <0x0 0x140e0000 0x0 0x100>; 780cb7aa33aSEmmanuel Vadot interrupts = <GIC_SPI 206 IRQ_TYPE_LEVEL_HIGH>; 781cb7aa33aSEmmanuel Vadot dmas = <&pdma1 14>, <&pdma1 13>, <&pdma1 12>; 782cb7aa33aSEmmanuel Vadot dma-names = "tx", "rx", "tx-sec"; 783cb7aa33aSEmmanuel Vadot #clock-cells = <1>; 784cb7aa33aSEmmanuel Vadot clocks = <&clock_peric PERIC_PCLK_TDM0>, 785cb7aa33aSEmmanuel Vadot <&clock_peric PERIC_HCLK_TDM0>, 786cb7aa33aSEmmanuel Vadot <&clock_peric PERIC_HCLK_TDM0>; 787cb7aa33aSEmmanuel Vadot clock-names = "iis", "i2s_opclk0", "i2s_opclk1"; 788cb7aa33aSEmmanuel Vadot pinctrl-names = "default"; 789cb7aa33aSEmmanuel Vadot pinctrl-0 = <&i2s0_bus>; 790cb7aa33aSEmmanuel Vadot #sound-dai-cells = <1>; 791cb7aa33aSEmmanuel Vadot status = "disabled"; 792cb7aa33aSEmmanuel Vadot }; 793cb7aa33aSEmmanuel Vadot 794cb7aa33aSEmmanuel Vadot i2s_1: i2s@140f0000 { 795cb7aa33aSEmmanuel Vadot compatible = "tesla,fsd-i2s"; 796cb7aa33aSEmmanuel Vadot reg = <0x0 0x140f0000 0x0 0x100>; 797cb7aa33aSEmmanuel Vadot interrupts = <GIC_SPI 207 IRQ_TYPE_LEVEL_HIGH>; 798cb7aa33aSEmmanuel Vadot dmas = <&pdma1 17>, <&pdma1 16>, <&pdma1 15>; 799cb7aa33aSEmmanuel Vadot dma-names = "tx", "rx", "tx-sec"; 800cb7aa33aSEmmanuel Vadot #clock-cells = <1>; 801cb7aa33aSEmmanuel Vadot clocks = <&clock_peric PERIC_PCLK_TDM1>, 802cb7aa33aSEmmanuel Vadot <&clock_peric PERIC_HCLK_TDM1>, 803cb7aa33aSEmmanuel Vadot <&clock_peric PERIC_HCLK_TDM1>; 804cb7aa33aSEmmanuel Vadot clock-names = "iis", "i2s_opclk0", "i2s_opclk1"; 805cb7aa33aSEmmanuel Vadot pinctrl-names = "default"; 806cb7aa33aSEmmanuel Vadot pinctrl-0 = <&i2s1_bus>; 807cb7aa33aSEmmanuel Vadot #sound-dai-cells = <1>; 808cb7aa33aSEmmanuel Vadot status = "disabled"; 809cb7aa33aSEmmanuel Vadot }; 810cb7aa33aSEmmanuel Vadot 811c9ccf3a3SEmmanuel Vadot pinctrl_pmu: pinctrl@114f0000 { 812c9ccf3a3SEmmanuel Vadot compatible = "tesla,fsd-pinctrl"; 813c9ccf3a3SEmmanuel Vadot reg = <0x0 0x114f0000 0x0 0x1000>; 814c9ccf3a3SEmmanuel Vadot }; 815c9ccf3a3SEmmanuel Vadot 816c9ccf3a3SEmmanuel Vadot pinctrl_peric: pinctrl@141f0000 { 817c9ccf3a3SEmmanuel Vadot compatible = "tesla,fsd-pinctrl"; 818c9ccf3a3SEmmanuel Vadot reg = <0x0 0x141f0000 0x0 0x1000>; 819c9ccf3a3SEmmanuel Vadot interrupts = <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>; 820c9ccf3a3SEmmanuel Vadot }; 821c9ccf3a3SEmmanuel Vadot 822c9ccf3a3SEmmanuel Vadot pinctrl_fsys0: pinctrl@15020000 { 823c9ccf3a3SEmmanuel Vadot compatible = "tesla,fsd-pinctrl"; 824c9ccf3a3SEmmanuel Vadot reg = <0x0 0x15020000 0x0 0x1000>; 825c9ccf3a3SEmmanuel Vadot interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>; 826c9ccf3a3SEmmanuel Vadot }; 827c9ccf3a3SEmmanuel Vadot 828cb7aa33aSEmmanuel Vadot m_can0: can@14088000 { 829cb7aa33aSEmmanuel Vadot compatible = "bosch,m_can"; 830cb7aa33aSEmmanuel Vadot reg = <0x0 0x14088000 0x0 0x0200>, 831cb7aa33aSEmmanuel Vadot <0x0 0x14080000 0x0 0x8000>; 832cb7aa33aSEmmanuel Vadot reg-names = "m_can", "message_ram"; 833cb7aa33aSEmmanuel Vadot interrupts = <GIC_SPI 159 IRQ_TYPE_LEVEL_HIGH>, 834cb7aa33aSEmmanuel Vadot <GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>; 835cb7aa33aSEmmanuel Vadot interrupt-names = "int0", "int1"; 836cb7aa33aSEmmanuel Vadot pinctrl-names = "default"; 837cb7aa33aSEmmanuel Vadot pinctrl-0 = <&m_can0_bus>; 838cb7aa33aSEmmanuel Vadot clocks = <&clock_peric PERIC_MCAN0_IPCLKPORT_PCLK>, 839cb7aa33aSEmmanuel Vadot <&clock_peric PERIC_MCAN0_IPCLKPORT_CCLK>; 840cb7aa33aSEmmanuel Vadot clock-names = "hclk", "cclk"; 841cb7aa33aSEmmanuel Vadot bosch,mram-cfg = <0x0 128 64 64 64 64 32 32>; 842cb7aa33aSEmmanuel Vadot status = "disabled"; 843cb7aa33aSEmmanuel Vadot }; 844cb7aa33aSEmmanuel Vadot 845cb7aa33aSEmmanuel Vadot m_can1: can@14098000 { 846cb7aa33aSEmmanuel Vadot compatible = "bosch,m_can"; 847cb7aa33aSEmmanuel Vadot reg = <0x0 0x14098000 0x0 0x0200>, 848cb7aa33aSEmmanuel Vadot <0x0 0x14090000 0x0 0x8000>; 849cb7aa33aSEmmanuel Vadot reg-names = "m_can", "message_ram"; 850cb7aa33aSEmmanuel Vadot interrupts = <GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>, 851cb7aa33aSEmmanuel Vadot <GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>; 852cb7aa33aSEmmanuel Vadot interrupt-names = "int0", "int1"; 853cb7aa33aSEmmanuel Vadot pinctrl-names = "default"; 854cb7aa33aSEmmanuel Vadot pinctrl-0 = <&m_can1_bus>; 855cb7aa33aSEmmanuel Vadot clocks = <&clock_peric PERIC_MCAN1_IPCLKPORT_PCLK>, 856cb7aa33aSEmmanuel Vadot <&clock_peric PERIC_MCAN1_IPCLKPORT_CCLK>; 857cb7aa33aSEmmanuel Vadot clock-names = "hclk", "cclk"; 858cb7aa33aSEmmanuel Vadot bosch,mram-cfg = <0x0 128 64 64 64 64 32 32>; 859cb7aa33aSEmmanuel Vadot status = "disabled"; 860cb7aa33aSEmmanuel Vadot }; 861cb7aa33aSEmmanuel Vadot 862cb7aa33aSEmmanuel Vadot m_can2: can@140a8000 { 863cb7aa33aSEmmanuel Vadot compatible = "bosch,m_can"; 864cb7aa33aSEmmanuel Vadot reg = <0x0 0x140a8000 0x0 0x0200>, 865cb7aa33aSEmmanuel Vadot <0x0 0x140a0000 0x0 0x8000>; 866cb7aa33aSEmmanuel Vadot reg-names = "m_can", "message_ram"; 867cb7aa33aSEmmanuel Vadot interrupts = <GIC_SPI 165 IRQ_TYPE_LEVEL_HIGH>, 868cb7aa33aSEmmanuel Vadot <GIC_SPI 166 IRQ_TYPE_LEVEL_HIGH>; 869cb7aa33aSEmmanuel Vadot interrupt-names = "int0", "int1"; 870cb7aa33aSEmmanuel Vadot pinctrl-names = "default"; 871cb7aa33aSEmmanuel Vadot pinctrl-0 = <&m_can2_bus>; 872cb7aa33aSEmmanuel Vadot clocks = <&clock_peric PERIC_MCAN2_IPCLKPORT_PCLK>, 873cb7aa33aSEmmanuel Vadot <&clock_peric PERIC_MCAN2_IPCLKPORT_CCLK>; 874cb7aa33aSEmmanuel Vadot clock-names = "hclk", "cclk"; 875cb7aa33aSEmmanuel Vadot bosch,mram-cfg = <0x0 128 64 64 64 64 32 32>; 876cb7aa33aSEmmanuel Vadot status = "disabled"; 877cb7aa33aSEmmanuel Vadot }; 878cb7aa33aSEmmanuel Vadot 879cb7aa33aSEmmanuel Vadot m_can3: can@140b8000 { 880cb7aa33aSEmmanuel Vadot compatible = "bosch,m_can"; 881cb7aa33aSEmmanuel Vadot reg = <0x0 0x140b8000 0x0 0x0200>, 882cb7aa33aSEmmanuel Vadot <0x0 0x140b0000 0x0 0x8000>; 883cb7aa33aSEmmanuel Vadot reg-names = "m_can", "message_ram"; 884cb7aa33aSEmmanuel Vadot interrupts = <GIC_SPI 168 IRQ_TYPE_LEVEL_HIGH>, 885cb7aa33aSEmmanuel Vadot <GIC_SPI 169 IRQ_TYPE_LEVEL_HIGH>; 886cb7aa33aSEmmanuel Vadot interrupt-names = "int0", "int1"; 887cb7aa33aSEmmanuel Vadot pinctrl-names = "default"; 888cb7aa33aSEmmanuel Vadot pinctrl-0 = <&m_can3_bus>; 889cb7aa33aSEmmanuel Vadot clocks = <&clock_peric PERIC_MCAN3_IPCLKPORT_PCLK>, 890cb7aa33aSEmmanuel Vadot <&clock_peric PERIC_MCAN3_IPCLKPORT_CCLK>; 891cb7aa33aSEmmanuel Vadot clock-names = "hclk", "cclk"; 892cb7aa33aSEmmanuel Vadot bosch,mram-cfg = <0x0 128 64 64 64 64 32 32>; 893cb7aa33aSEmmanuel Vadot status = "disabled"; 894cb7aa33aSEmmanuel Vadot }; 895cb7aa33aSEmmanuel Vadot 896c9ccf3a3SEmmanuel Vadot spi_0: spi@14140000 { 897c9ccf3a3SEmmanuel Vadot compatible = "tesla,fsd-spi"; 898c9ccf3a3SEmmanuel Vadot reg = <0x0 0x14140000 0x0 0x100>; 899c9ccf3a3SEmmanuel Vadot interrupts = <GIC_SPI 156 IRQ_TYPE_LEVEL_HIGH>; 900c9ccf3a3SEmmanuel Vadot dmas = <&pdma1 4>, <&pdma1 5>; 901c9ccf3a3SEmmanuel Vadot dma-names = "tx", "rx"; 902c9ccf3a3SEmmanuel Vadot #address-cells = <1>; 903c9ccf3a3SEmmanuel Vadot #size-cells = <0>; 904c9ccf3a3SEmmanuel Vadot clocks = <&clock_peric PERIC_PCLK_SPI0>, 905c9ccf3a3SEmmanuel Vadot <&clock_peric PERIC_SCLK_SPI0>; 906c9ccf3a3SEmmanuel Vadot clock-names = "spi", "spi_busclk0"; 907c9ccf3a3SEmmanuel Vadot samsung,spi-src-clk = <0>; 908c9ccf3a3SEmmanuel Vadot pinctrl-names = "default"; 909c9ccf3a3SEmmanuel Vadot pinctrl-0 = <&spi0_bus>; 910c9ccf3a3SEmmanuel Vadot num-cs = <1>; 911c9ccf3a3SEmmanuel Vadot status = "disabled"; 912c9ccf3a3SEmmanuel Vadot }; 913c9ccf3a3SEmmanuel Vadot 914c9ccf3a3SEmmanuel Vadot spi_1: spi@14150000 { 915c9ccf3a3SEmmanuel Vadot compatible = "tesla,fsd-spi"; 916c9ccf3a3SEmmanuel Vadot reg = <0x0 0x14150000 0x0 0x100>; 917c9ccf3a3SEmmanuel Vadot interrupts = <GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>; 918c9ccf3a3SEmmanuel Vadot dmas = <&pdma1 6>, <&pdma1 7>; 919c9ccf3a3SEmmanuel Vadot dma-names = "tx", "rx"; 920c9ccf3a3SEmmanuel Vadot #address-cells = <1>; 921c9ccf3a3SEmmanuel Vadot #size-cells = <0>; 922c9ccf3a3SEmmanuel Vadot clocks = <&clock_peric PERIC_PCLK_SPI1>, 923c9ccf3a3SEmmanuel Vadot <&clock_peric PERIC_SCLK_SPI1>; 924c9ccf3a3SEmmanuel Vadot clock-names = "spi", "spi_busclk0"; 925c9ccf3a3SEmmanuel Vadot samsung,spi-src-clk = <0>; 926c9ccf3a3SEmmanuel Vadot pinctrl-names = "default"; 927c9ccf3a3SEmmanuel Vadot pinctrl-0 = <&spi1_bus>; 928c9ccf3a3SEmmanuel Vadot num-cs = <1>; 929c9ccf3a3SEmmanuel Vadot status = "disabled"; 930c9ccf3a3SEmmanuel Vadot }; 931c9ccf3a3SEmmanuel Vadot 932c9ccf3a3SEmmanuel Vadot spi_2: spi@14160000 { 933c9ccf3a3SEmmanuel Vadot compatible = "tesla,fsd-spi"; 934c9ccf3a3SEmmanuel Vadot reg = <0x0 0x14160000 0x0 0x100>; 935c9ccf3a3SEmmanuel Vadot interrupts = <GIC_SPI 158 IRQ_TYPE_LEVEL_HIGH>; 936c9ccf3a3SEmmanuel Vadot dmas = <&pdma1 8>, <&pdma1 9>; 937c9ccf3a3SEmmanuel Vadot dma-names = "tx", "rx"; 938c9ccf3a3SEmmanuel Vadot #address-cells = <1>; 939c9ccf3a3SEmmanuel Vadot #size-cells = <0>; 940c9ccf3a3SEmmanuel Vadot clocks = <&clock_peric PERIC_PCLK_SPI2>, 941c9ccf3a3SEmmanuel Vadot <&clock_peric PERIC_SCLK_SPI2>; 942c9ccf3a3SEmmanuel Vadot clock-names = "spi", "spi_busclk0"; 943c9ccf3a3SEmmanuel Vadot samsung,spi-src-clk = <0>; 944c9ccf3a3SEmmanuel Vadot pinctrl-names = "default"; 945c9ccf3a3SEmmanuel Vadot pinctrl-0 = <&spi2_bus>; 946c9ccf3a3SEmmanuel Vadot num-cs = <1>; 947c9ccf3a3SEmmanuel Vadot status = "disabled"; 948c9ccf3a3SEmmanuel Vadot }; 949c9ccf3a3SEmmanuel Vadot 950c9ccf3a3SEmmanuel Vadot timer@10040000 { 951d5b0e70fSEmmanuel Vadot compatible = "tesla,fsd-mct", "samsung,exynos4210-mct"; 952c9ccf3a3SEmmanuel Vadot reg = <0x0 0x10040000 0x0 0x800>; 953c9ccf3a3SEmmanuel Vadot interrupts = <GIC_SPI 455 IRQ_TYPE_LEVEL_HIGH>, 954c9ccf3a3SEmmanuel Vadot <GIC_SPI 456 IRQ_TYPE_LEVEL_HIGH>, 955c9ccf3a3SEmmanuel Vadot <GIC_SPI 457 IRQ_TYPE_LEVEL_HIGH>, 956c9ccf3a3SEmmanuel Vadot <GIC_SPI 458 IRQ_TYPE_LEVEL_HIGH>, 957c9ccf3a3SEmmanuel Vadot <GIC_SPI 459 IRQ_TYPE_LEVEL_HIGH>, 958c9ccf3a3SEmmanuel Vadot <GIC_SPI 460 IRQ_TYPE_LEVEL_HIGH>, 959c9ccf3a3SEmmanuel Vadot <GIC_SPI 461 IRQ_TYPE_LEVEL_HIGH>, 960c9ccf3a3SEmmanuel Vadot <GIC_SPI 462 IRQ_TYPE_LEVEL_HIGH>, 961c9ccf3a3SEmmanuel Vadot <GIC_SPI 463 IRQ_TYPE_LEVEL_HIGH>, 962c9ccf3a3SEmmanuel Vadot <GIC_SPI 464 IRQ_TYPE_LEVEL_HIGH>, 963c9ccf3a3SEmmanuel Vadot <GIC_SPI 465 IRQ_TYPE_LEVEL_HIGH>, 964c9ccf3a3SEmmanuel Vadot <GIC_SPI 466 IRQ_TYPE_LEVEL_HIGH>, 965c9ccf3a3SEmmanuel Vadot <GIC_SPI 467 IRQ_TYPE_LEVEL_HIGH>, 966c9ccf3a3SEmmanuel Vadot <GIC_SPI 468 IRQ_TYPE_LEVEL_HIGH>, 967c9ccf3a3SEmmanuel Vadot <GIC_SPI 469 IRQ_TYPE_LEVEL_HIGH>, 968c9ccf3a3SEmmanuel Vadot <GIC_SPI 470 IRQ_TYPE_LEVEL_HIGH>; 969c9ccf3a3SEmmanuel Vadot clocks = <&fin_pll>, <&clock_imem IMEM_MCT_PCLK>; 970c9ccf3a3SEmmanuel Vadot clock-names = "fin_pll", "mct"; 971c9ccf3a3SEmmanuel Vadot }; 972b97ee269SEmmanuel Vadot 9738d13bc63SEmmanuel Vadot mfc: mfc@12880000 { 9748d13bc63SEmmanuel Vadot compatible = "tesla,fsd-mfc"; 9758d13bc63SEmmanuel Vadot reg = <0x0 0x12880000 0x0 0x10000>; 9768d13bc63SEmmanuel Vadot interrupts = <GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>; 9778d13bc63SEmmanuel Vadot clock-names = "mfc"; 9788d13bc63SEmmanuel Vadot clocks = <&clock_mfc MFC_MFC_IPCLKPORT_ACLK>; 9798d13bc63SEmmanuel Vadot memory-region = <&mfc_left>; 9808d13bc63SEmmanuel Vadot }; 9818d13bc63SEmmanuel Vadot 982b97ee269SEmmanuel Vadot ufs: ufs@15120000 { 983b97ee269SEmmanuel Vadot compatible = "tesla,fsd-ufs"; 984b97ee269SEmmanuel Vadot reg = <0x0 0x15120000 0x0 0x200>, /* 0: HCI standard */ 985b97ee269SEmmanuel Vadot <0x0 0x15121100 0x0 0x200>, /* 1: Vendor specified */ 986b97ee269SEmmanuel Vadot <0x0 0x15110000 0x0 0x8000>, /* 2: UNIPRO */ 987b97ee269SEmmanuel Vadot <0x0 0x15130000 0x0 0x100>; /* 3: UFS protector */ 988b97ee269SEmmanuel Vadot reg-names = "hci", "vs_hci", "unipro", "ufsp"; 989b97ee269SEmmanuel Vadot interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>; 990b97ee269SEmmanuel Vadot clocks = <&clock_fsys0 UFS0_TOP0_HCLK_BUS>, 991b97ee269SEmmanuel Vadot <&clock_fsys0 UFS0_TOP0_CLK_UNIPRO>; 992b97ee269SEmmanuel Vadot clock-names = "core_clk", "sclk_unipro_main"; 993b97ee269SEmmanuel Vadot freq-table-hz = <0 0>, <0 0>; 994b97ee269SEmmanuel Vadot pinctrl-names = "default"; 995b97ee269SEmmanuel Vadot pinctrl-0 = <&ufs_rst_n &ufs_refclk_out>; 996b97ee269SEmmanuel Vadot phys = <&ufs_phy>; 997b97ee269SEmmanuel Vadot phy-names = "ufs-phy"; 998b97ee269SEmmanuel Vadot status = "disabled"; 999b97ee269SEmmanuel Vadot }; 1000b97ee269SEmmanuel Vadot 1001b97ee269SEmmanuel Vadot ufs_phy: ufs-phy@15124000 { 1002b97ee269SEmmanuel Vadot compatible = "tesla,fsd-ufs-phy"; 1003b97ee269SEmmanuel Vadot reg = <0x0 0x15124000 0x0 0x800>; 1004b97ee269SEmmanuel Vadot reg-names = "phy-pma"; 1005b97ee269SEmmanuel Vadot samsung,pmu-syscon = <&pmu_system_controller>; 1006b97ee269SEmmanuel Vadot #phy-cells = <0>; 1007b97ee269SEmmanuel Vadot clocks = <&clock_fsys0 UFS0_MPHY_REFCLK_IXTAL26>; 1008b97ee269SEmmanuel Vadot clock-names = "ref_clk"; 1009b97ee269SEmmanuel Vadot }; 1010c9ccf3a3SEmmanuel Vadot }; 1011c9ccf3a3SEmmanuel Vadot}; 1012c9ccf3a3SEmmanuel Vadot 1013c9ccf3a3SEmmanuel Vadot#include "fsd-pinctrl.dtsi" 1014