1*833e5d42SEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause 2*833e5d42SEmmanuel Vadot/* 3*833e5d42SEmmanuel Vadot * Samsung's Exynos 2200 SoC device tree source 4*833e5d42SEmmanuel Vadot * 5*833e5d42SEmmanuel Vadot * Copyright (c) 2025, Ivaylo Ivanov <ivo.ivanov.ivanov1@gmail.com> 6*833e5d42SEmmanuel Vadot */ 7*833e5d42SEmmanuel Vadot 8*833e5d42SEmmanuel Vadot#include <dt-bindings/clock/samsung,exynos2200-cmu.h> 9*833e5d42SEmmanuel Vadot#include <dt-bindings/interrupt-controller/arm-gic.h> 10*833e5d42SEmmanuel Vadot 11*833e5d42SEmmanuel Vadot/ { 12*833e5d42SEmmanuel Vadot compatible = "samsung,exynos2200"; 13*833e5d42SEmmanuel Vadot #address-cells = <2>; 14*833e5d42SEmmanuel Vadot #size-cells = <2>; 15*833e5d42SEmmanuel Vadot 16*833e5d42SEmmanuel Vadot interrupt-parent = <&gic>; 17*833e5d42SEmmanuel Vadot 18*833e5d42SEmmanuel Vadot aliases { 19*833e5d42SEmmanuel Vadot pinctrl0 = &pinctrl_alive; 20*833e5d42SEmmanuel Vadot pinctrl1 = &pinctrl_cmgp; 21*833e5d42SEmmanuel Vadot pinctrl2 = &pinctrl_hsi1; 22*833e5d42SEmmanuel Vadot pinctrl3 = &pinctrl_ufs; 23*833e5d42SEmmanuel Vadot pinctrl4 = &pinctrl_hsi1ufs; 24*833e5d42SEmmanuel Vadot pinctrl5 = &pinctrl_peric0; 25*833e5d42SEmmanuel Vadot pinctrl6 = &pinctrl_peric1; 26*833e5d42SEmmanuel Vadot pinctrl7 = &pinctrl_peric2; 27*833e5d42SEmmanuel Vadot pinctrl8 = &pinctrl_vts; 28*833e5d42SEmmanuel Vadot }; 29*833e5d42SEmmanuel Vadot 30*833e5d42SEmmanuel Vadot xtcxo: clock-1 { 31*833e5d42SEmmanuel Vadot compatible = "fixed-clock"; 32*833e5d42SEmmanuel Vadot #clock-cells = <0>; 33*833e5d42SEmmanuel Vadot clock-output-names = "oscclk"; 34*833e5d42SEmmanuel Vadot }; 35*833e5d42SEmmanuel Vadot 36*833e5d42SEmmanuel Vadot ext_26m: clock-2 { 37*833e5d42SEmmanuel Vadot compatible = "fixed-clock"; 38*833e5d42SEmmanuel Vadot #clock-cells = <0>; 39*833e5d42SEmmanuel Vadot clock-output-names = "ext-26m"; 40*833e5d42SEmmanuel Vadot }; 41*833e5d42SEmmanuel Vadot 42*833e5d42SEmmanuel Vadot ext_200m: clock-3 { 43*833e5d42SEmmanuel Vadot compatible = "fixed-clock"; 44*833e5d42SEmmanuel Vadot #clock-cells = <0>; 45*833e5d42SEmmanuel Vadot clock-output-names = "ext-200m"; 46*833e5d42SEmmanuel Vadot }; 47*833e5d42SEmmanuel Vadot 48*833e5d42SEmmanuel Vadot cpus { 49*833e5d42SEmmanuel Vadot #address-cells = <1>; 50*833e5d42SEmmanuel Vadot #size-cells = <0>; 51*833e5d42SEmmanuel Vadot 52*833e5d42SEmmanuel Vadot cpu-map { 53*833e5d42SEmmanuel Vadot cluster0 { 54*833e5d42SEmmanuel Vadot core0 { 55*833e5d42SEmmanuel Vadot cpu = <&cpu0>; 56*833e5d42SEmmanuel Vadot }; 57*833e5d42SEmmanuel Vadot 58*833e5d42SEmmanuel Vadot core1 { 59*833e5d42SEmmanuel Vadot cpu = <&cpu1>; 60*833e5d42SEmmanuel Vadot }; 61*833e5d42SEmmanuel Vadot 62*833e5d42SEmmanuel Vadot core2 { 63*833e5d42SEmmanuel Vadot cpu = <&cpu2>; 64*833e5d42SEmmanuel Vadot }; 65*833e5d42SEmmanuel Vadot 66*833e5d42SEmmanuel Vadot core3 { 67*833e5d42SEmmanuel Vadot cpu = <&cpu3>; 68*833e5d42SEmmanuel Vadot }; 69*833e5d42SEmmanuel Vadot }; 70*833e5d42SEmmanuel Vadot 71*833e5d42SEmmanuel Vadot cluster1 { 72*833e5d42SEmmanuel Vadot core0 { 73*833e5d42SEmmanuel Vadot cpu = <&cpu4>; 74*833e5d42SEmmanuel Vadot }; 75*833e5d42SEmmanuel Vadot 76*833e5d42SEmmanuel Vadot core1 { 77*833e5d42SEmmanuel Vadot cpu = <&cpu5>; 78*833e5d42SEmmanuel Vadot }; 79*833e5d42SEmmanuel Vadot 80*833e5d42SEmmanuel Vadot core2 { 81*833e5d42SEmmanuel Vadot cpu = <&cpu6>; 82*833e5d42SEmmanuel Vadot }; 83*833e5d42SEmmanuel Vadot }; 84*833e5d42SEmmanuel Vadot 85*833e5d42SEmmanuel Vadot cluster2 { 86*833e5d42SEmmanuel Vadot core0 { 87*833e5d42SEmmanuel Vadot cpu = <&cpu7>; 88*833e5d42SEmmanuel Vadot }; 89*833e5d42SEmmanuel Vadot }; 90*833e5d42SEmmanuel Vadot }; 91*833e5d42SEmmanuel Vadot 92*833e5d42SEmmanuel Vadot cpu0: cpu@0 { 93*833e5d42SEmmanuel Vadot device_type = "cpu"; 94*833e5d42SEmmanuel Vadot compatible = "arm,cortex-a510"; 95*833e5d42SEmmanuel Vadot reg = <0>; 96*833e5d42SEmmanuel Vadot capacity-dmips-mhz = <260>; 97*833e5d42SEmmanuel Vadot dynamic-power-coefficient = <189>; 98*833e5d42SEmmanuel Vadot enable-method = "psci"; 99*833e5d42SEmmanuel Vadot cpu-idle-states = <&little_cpu_sleep>; 100*833e5d42SEmmanuel Vadot }; 101*833e5d42SEmmanuel Vadot 102*833e5d42SEmmanuel Vadot cpu1: cpu@100 { 103*833e5d42SEmmanuel Vadot device_type = "cpu"; 104*833e5d42SEmmanuel Vadot compatible = "arm,cortex-a510"; 105*833e5d42SEmmanuel Vadot reg = <0x100>; 106*833e5d42SEmmanuel Vadot capacity-dmips-mhz = <260>; 107*833e5d42SEmmanuel Vadot dynamic-power-coefficient = <189>; 108*833e5d42SEmmanuel Vadot enable-method = "psci"; 109*833e5d42SEmmanuel Vadot cpu-idle-states = <&little_cpu_sleep>; 110*833e5d42SEmmanuel Vadot }; 111*833e5d42SEmmanuel Vadot 112*833e5d42SEmmanuel Vadot cpu2: cpu@200 { 113*833e5d42SEmmanuel Vadot device_type = "cpu"; 114*833e5d42SEmmanuel Vadot compatible = "arm,cortex-a510"; 115*833e5d42SEmmanuel Vadot reg = <0x200>; 116*833e5d42SEmmanuel Vadot capacity-dmips-mhz = <260>; 117*833e5d42SEmmanuel Vadot dynamic-power-coefficient = <189>; 118*833e5d42SEmmanuel Vadot enable-method = "psci"; 119*833e5d42SEmmanuel Vadot cpu-idle-states = <&little_cpu_sleep>; 120*833e5d42SEmmanuel Vadot }; 121*833e5d42SEmmanuel Vadot 122*833e5d42SEmmanuel Vadot cpu3: cpu@300 { 123*833e5d42SEmmanuel Vadot device_type = "cpu"; 124*833e5d42SEmmanuel Vadot compatible = "arm,cortex-a510"; 125*833e5d42SEmmanuel Vadot reg = <0x300>; 126*833e5d42SEmmanuel Vadot capacity-dmips-mhz = <260>; 127*833e5d42SEmmanuel Vadot dynamic-power-coefficient = <189>; 128*833e5d42SEmmanuel Vadot enable-method = "psci"; 129*833e5d42SEmmanuel Vadot cpu-idle-states = <&little_cpu_sleep>; 130*833e5d42SEmmanuel Vadot }; 131*833e5d42SEmmanuel Vadot 132*833e5d42SEmmanuel Vadot cpu4: cpu@400 { 133*833e5d42SEmmanuel Vadot device_type = "cpu"; 134*833e5d42SEmmanuel Vadot compatible = "arm,cortex-a710"; 135*833e5d42SEmmanuel Vadot reg = <0x400>; 136*833e5d42SEmmanuel Vadot capacity-dmips-mhz = <380>; 137*833e5d42SEmmanuel Vadot dynamic-power-coefficient = <560>; 138*833e5d42SEmmanuel Vadot enable-method = "psci"; 139*833e5d42SEmmanuel Vadot cpu-idle-states = <&big_cpu_sleep>; 140*833e5d42SEmmanuel Vadot }; 141*833e5d42SEmmanuel Vadot 142*833e5d42SEmmanuel Vadot cpu5: cpu@500 { 143*833e5d42SEmmanuel Vadot device_type = "cpu"; 144*833e5d42SEmmanuel Vadot compatible = "arm,cortex-a710"; 145*833e5d42SEmmanuel Vadot reg = <0x500>; 146*833e5d42SEmmanuel Vadot capacity-dmips-mhz = <380>; 147*833e5d42SEmmanuel Vadot dynamic-power-coefficient = <560>; 148*833e5d42SEmmanuel Vadot enable-method = "psci"; 149*833e5d42SEmmanuel Vadot cpu-idle-states = <&big_cpu_sleep>; 150*833e5d42SEmmanuel Vadot }; 151*833e5d42SEmmanuel Vadot 152*833e5d42SEmmanuel Vadot cpu6: cpu@600 { 153*833e5d42SEmmanuel Vadot device_type = "cpu"; 154*833e5d42SEmmanuel Vadot compatible = "arm,cortex-a710"; 155*833e5d42SEmmanuel Vadot reg = <0x600>; 156*833e5d42SEmmanuel Vadot capacity-dmips-mhz = <380>; 157*833e5d42SEmmanuel Vadot dynamic-power-coefficient = <560>; 158*833e5d42SEmmanuel Vadot enable-method = "psci"; 159*833e5d42SEmmanuel Vadot cpu-idle-states = <&big_cpu_sleep>; 160*833e5d42SEmmanuel Vadot }; 161*833e5d42SEmmanuel Vadot 162*833e5d42SEmmanuel Vadot cpu7: cpu@700 { 163*833e5d42SEmmanuel Vadot device_type = "cpu"; 164*833e5d42SEmmanuel Vadot compatible = "arm,cortex-x2"; 165*833e5d42SEmmanuel Vadot reg = <0x700>; 166*833e5d42SEmmanuel Vadot capacity-dmips-mhz = <488>; 167*833e5d42SEmmanuel Vadot dynamic-power-coefficient = <765>; 168*833e5d42SEmmanuel Vadot enable-method = "psci"; 169*833e5d42SEmmanuel Vadot cpu-idle-states = <&prime_cpu_sleep>; 170*833e5d42SEmmanuel Vadot }; 171*833e5d42SEmmanuel Vadot 172*833e5d42SEmmanuel Vadot idle-states { 173*833e5d42SEmmanuel Vadot entry-method = "psci"; 174*833e5d42SEmmanuel Vadot 175*833e5d42SEmmanuel Vadot little_cpu_sleep: cpu-sleep-0 { 176*833e5d42SEmmanuel Vadot compatible = "arm,idle-state"; 177*833e5d42SEmmanuel Vadot idle-state-name = "c2"; 178*833e5d42SEmmanuel Vadot entry-latency-us = <70>; 179*833e5d42SEmmanuel Vadot exit-latency-us = <170>; 180*833e5d42SEmmanuel Vadot min-residency-us = <2000>; 181*833e5d42SEmmanuel Vadot arm,psci-suspend-param = <0x10000>; 182*833e5d42SEmmanuel Vadot }; 183*833e5d42SEmmanuel Vadot 184*833e5d42SEmmanuel Vadot big_cpu_sleep: cpu-sleep-1 { 185*833e5d42SEmmanuel Vadot compatible = "arm,idle-state"; 186*833e5d42SEmmanuel Vadot idle-state-name = "c2"; 187*833e5d42SEmmanuel Vadot entry-latency-us = <235>; 188*833e5d42SEmmanuel Vadot exit-latency-us = <220>; 189*833e5d42SEmmanuel Vadot min-residency-us = <3500>; 190*833e5d42SEmmanuel Vadot arm,psci-suspend-param = <0x10000>; 191*833e5d42SEmmanuel Vadot }; 192*833e5d42SEmmanuel Vadot 193*833e5d42SEmmanuel Vadot prime_cpu_sleep: cpu-sleep-2 { 194*833e5d42SEmmanuel Vadot compatible = "arm,idle-state"; 195*833e5d42SEmmanuel Vadot idle-state-name = "c2"; 196*833e5d42SEmmanuel Vadot entry-latency-us = <150>; 197*833e5d42SEmmanuel Vadot exit-latency-us = <190>; 198*833e5d42SEmmanuel Vadot min-residency-us = <2500>; 199*833e5d42SEmmanuel Vadot arm,psci-suspend-param = <0x10000>; 200*833e5d42SEmmanuel Vadot }; 201*833e5d42SEmmanuel Vadot }; 202*833e5d42SEmmanuel Vadot }; 203*833e5d42SEmmanuel Vadot 204*833e5d42SEmmanuel Vadot pmu-a510 { 205*833e5d42SEmmanuel Vadot compatible = "arm,cortex-a510-pmu"; 206*833e5d42SEmmanuel Vadot interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH &ppi_cluster0>; 207*833e5d42SEmmanuel Vadot }; 208*833e5d42SEmmanuel Vadot 209*833e5d42SEmmanuel Vadot pmu-a710 { 210*833e5d42SEmmanuel Vadot compatible = "arm,cortex-a710-pmu"; 211*833e5d42SEmmanuel Vadot interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH &ppi_cluster1>; 212*833e5d42SEmmanuel Vadot }; 213*833e5d42SEmmanuel Vadot 214*833e5d42SEmmanuel Vadot pmu-x2 { 215*833e5d42SEmmanuel Vadot compatible = "arm,cortex-x2-pmu"; 216*833e5d42SEmmanuel Vadot interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH &ppi_cluster2>; 217*833e5d42SEmmanuel Vadot }; 218*833e5d42SEmmanuel Vadot 219*833e5d42SEmmanuel Vadot psci { 220*833e5d42SEmmanuel Vadot compatible = "arm,psci-1.0"; 221*833e5d42SEmmanuel Vadot method = "smc"; 222*833e5d42SEmmanuel Vadot }; 223*833e5d42SEmmanuel Vadot 224*833e5d42SEmmanuel Vadot soc { 225*833e5d42SEmmanuel Vadot compatible = "simple-bus"; 226*833e5d42SEmmanuel Vadot ranges; 227*833e5d42SEmmanuel Vadot 228*833e5d42SEmmanuel Vadot #address-cells = <2>; 229*833e5d42SEmmanuel Vadot #size-cells = <2>; 230*833e5d42SEmmanuel Vadot 231*833e5d42SEmmanuel Vadot chipid@10000000 { 232*833e5d42SEmmanuel Vadot compatible = "samsung,exynos2200-chipid", 233*833e5d42SEmmanuel Vadot "samsung,exynos850-chipid"; 234*833e5d42SEmmanuel Vadot reg = <0x0 0x10000000 0x0 0x24>; 235*833e5d42SEmmanuel Vadot }; 236*833e5d42SEmmanuel Vadot 237*833e5d42SEmmanuel Vadot cmu_peris: clock-controller@10020000 { 238*833e5d42SEmmanuel Vadot compatible = "samsung,exynos2200-cmu-peris"; 239*833e5d42SEmmanuel Vadot reg = <0x0 0x10020000 0x0 0x8000>; 240*833e5d42SEmmanuel Vadot #clock-cells = <1>; 241*833e5d42SEmmanuel Vadot 242*833e5d42SEmmanuel Vadot clocks = <&cmu_top CLK_DOUT_TCXO_DIV3>, 243*833e5d42SEmmanuel Vadot <&cmu_top CLK_DOUT_CMU_PERIS_NOC>, 244*833e5d42SEmmanuel Vadot <&cmu_top CLK_DOUT_CMU_PERIS_GIC>; 245*833e5d42SEmmanuel Vadot clock-names = "tcxo_div3", 246*833e5d42SEmmanuel Vadot "noc", 247*833e5d42SEmmanuel Vadot "gic"; 248*833e5d42SEmmanuel Vadot }; 249*833e5d42SEmmanuel Vadot 250*833e5d42SEmmanuel Vadot mct_peris: timer@10040000 { 251*833e5d42SEmmanuel Vadot compatible = "samsung,exynos2200-mct-peris", 252*833e5d42SEmmanuel Vadot "samsung,exynos4210-mct"; 253*833e5d42SEmmanuel Vadot reg = <0x0 0x10040000 0x0 0x800>; 254*833e5d42SEmmanuel Vadot clocks = <&cmu_top CLK_DOUT_TCXO_DIV3>, <&cmu_peris CLK_MOUT_PERIS_GIC>; 255*833e5d42SEmmanuel Vadot clock-names = "fin_pll", "mct"; 256*833e5d42SEmmanuel Vadot interrupts = <GIC_SPI 943 IRQ_TYPE_LEVEL_HIGH 0>, 257*833e5d42SEmmanuel Vadot <GIC_SPI 944 IRQ_TYPE_LEVEL_HIGH 0>, 258*833e5d42SEmmanuel Vadot <GIC_SPI 945 IRQ_TYPE_LEVEL_HIGH 0>, 259*833e5d42SEmmanuel Vadot <GIC_SPI 946 IRQ_TYPE_LEVEL_HIGH 0>, 260*833e5d42SEmmanuel Vadot <GIC_SPI 947 IRQ_TYPE_LEVEL_HIGH 0>, 261*833e5d42SEmmanuel Vadot <GIC_SPI 948 IRQ_TYPE_LEVEL_HIGH 0>, 262*833e5d42SEmmanuel Vadot <GIC_SPI 949 IRQ_TYPE_LEVEL_HIGH 0>, 263*833e5d42SEmmanuel Vadot <GIC_SPI 950 IRQ_TYPE_LEVEL_HIGH 0>, 264*833e5d42SEmmanuel Vadot <GIC_SPI 951 IRQ_TYPE_LEVEL_HIGH 0>, 265*833e5d42SEmmanuel Vadot <GIC_SPI 952 IRQ_TYPE_LEVEL_HIGH 0>, 266*833e5d42SEmmanuel Vadot <GIC_SPI 953 IRQ_TYPE_LEVEL_HIGH 0>, 267*833e5d42SEmmanuel Vadot <GIC_SPI 954 IRQ_TYPE_LEVEL_HIGH 0>; 268*833e5d42SEmmanuel Vadot status = "disabled"; 269*833e5d42SEmmanuel Vadot }; 270*833e5d42SEmmanuel Vadot 271*833e5d42SEmmanuel Vadot gic: interrupt-controller@10200000 { 272*833e5d42SEmmanuel Vadot compatible = "arm,gic-v3"; 273*833e5d42SEmmanuel Vadot reg = <0x0 0x10200000 0x0 0x10000>, /* GICD */ 274*833e5d42SEmmanuel Vadot <0x0 0x10240000 0x0 0x200000>; /* GICR * 8 */ 275*833e5d42SEmmanuel Vadot 276*833e5d42SEmmanuel Vadot #interrupt-cells = <4>; 277*833e5d42SEmmanuel Vadot interrupt-controller; 278*833e5d42SEmmanuel Vadot interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH 0>; 279*833e5d42SEmmanuel Vadot 280*833e5d42SEmmanuel Vadot ppi-partitions { 281*833e5d42SEmmanuel Vadot ppi_cluster0: interrupt-partition-0 { 282*833e5d42SEmmanuel Vadot affinity = <&cpu0 &cpu1 &cpu2 &cpu3>; 283*833e5d42SEmmanuel Vadot }; 284*833e5d42SEmmanuel Vadot 285*833e5d42SEmmanuel Vadot ppi_cluster1: interrupt-partition-1 { 286*833e5d42SEmmanuel Vadot affinity = <&cpu4 &cpu5 &cpu6>; 287*833e5d42SEmmanuel Vadot }; 288*833e5d42SEmmanuel Vadot 289*833e5d42SEmmanuel Vadot ppi_cluster2: interrupt-partition-2 { 290*833e5d42SEmmanuel Vadot affinity = <&cpu7>; 291*833e5d42SEmmanuel Vadot }; 292*833e5d42SEmmanuel Vadot }; 293*833e5d42SEmmanuel Vadot }; 294*833e5d42SEmmanuel Vadot 295*833e5d42SEmmanuel Vadot cmu_peric0: clock-controller@10400000 { 296*833e5d42SEmmanuel Vadot compatible = "samsung,exynos2200-cmu-peric0"; 297*833e5d42SEmmanuel Vadot reg = <0x0 0x10400000 0x0 0x8000>; 298*833e5d42SEmmanuel Vadot #clock-cells = <1>; 299*833e5d42SEmmanuel Vadot 300*833e5d42SEmmanuel Vadot clocks = <&xtcxo>, 301*833e5d42SEmmanuel Vadot <&cmu_top CLK_DOUT_CMU_PERIC0_NOC>, 302*833e5d42SEmmanuel Vadot <&cmu_top CLK_DOUT_CMU_PERIC0_IP0>, 303*833e5d42SEmmanuel Vadot <&cmu_top CLK_DOUT_CMU_PERIC0_IP1>; 304*833e5d42SEmmanuel Vadot clock-names = "oscclk", "noc", "ip0", "ip1"; 305*833e5d42SEmmanuel Vadot }; 306*833e5d42SEmmanuel Vadot 307*833e5d42SEmmanuel Vadot syscon_peric0: syscon@10420000 { 308*833e5d42SEmmanuel Vadot compatible = "samsung,exynos2200-peric0-sysreg", "syscon"; 309*833e5d42SEmmanuel Vadot reg = <0x0 0x10420000 0x0 0x2000>; 310*833e5d42SEmmanuel Vadot }; 311*833e5d42SEmmanuel Vadot 312*833e5d42SEmmanuel Vadot pinctrl_peric0: pinctrl@10430000 { 313*833e5d42SEmmanuel Vadot compatible = "samsung,exynos2200-pinctrl"; 314*833e5d42SEmmanuel Vadot reg = <0x0 0x10430000 0x0 0x1000>; 315*833e5d42SEmmanuel Vadot }; 316*833e5d42SEmmanuel Vadot 317*833e5d42SEmmanuel Vadot cmu_peric1: clock-controller@10700000 { 318*833e5d42SEmmanuel Vadot compatible = "samsung,exynos2200-cmu-peric1"; 319*833e5d42SEmmanuel Vadot reg = <0x0 0x10700000 0x0 0x8000>; 320*833e5d42SEmmanuel Vadot #clock-cells = <1>; 321*833e5d42SEmmanuel Vadot 322*833e5d42SEmmanuel Vadot clocks = <&xtcxo>, 323*833e5d42SEmmanuel Vadot <&cmu_top CLK_DOUT_CMU_PERIC1_NOC>, 324*833e5d42SEmmanuel Vadot <&cmu_top CLK_DOUT_CMU_PERIC1_IP0>, 325*833e5d42SEmmanuel Vadot <&cmu_top CLK_DOUT_CMU_PERIC1_IP1>; 326*833e5d42SEmmanuel Vadot clock-names = "oscclk", "noc", "ip0", "ip1"; 327*833e5d42SEmmanuel Vadot }; 328*833e5d42SEmmanuel Vadot 329*833e5d42SEmmanuel Vadot syscon_peric1: syscon@10720000 { 330*833e5d42SEmmanuel Vadot compatible = "samsung,exynos2200-peric1-sysreg", "syscon"; 331*833e5d42SEmmanuel Vadot reg = <0x0 0x10720000 0x0 0x2000>; 332*833e5d42SEmmanuel Vadot }; 333*833e5d42SEmmanuel Vadot 334*833e5d42SEmmanuel Vadot pinctrl_peric1: pinctrl@10730000 { 335*833e5d42SEmmanuel Vadot compatible = "samsung,exynos2200-pinctrl"; 336*833e5d42SEmmanuel Vadot reg = <0x0 0x10730000 0x0 0x1000>; 337*833e5d42SEmmanuel Vadot }; 338*833e5d42SEmmanuel Vadot 339*833e5d42SEmmanuel Vadot cmu_hsi0: clock-controller@10a00000 { 340*833e5d42SEmmanuel Vadot compatible = "samsung,exynos2200-cmu-hsi0"; 341*833e5d42SEmmanuel Vadot reg = <0x0 0x10a00000 0x0 0x8000>; 342*833e5d42SEmmanuel Vadot #clock-cells = <1>; 343*833e5d42SEmmanuel Vadot }; 344*833e5d42SEmmanuel Vadot 345*833e5d42SEmmanuel Vadot usb32drd: phy@10aa0000 { 346*833e5d42SEmmanuel Vadot compatible = "samsung,exynos2200-usb32drd-phy"; 347*833e5d42SEmmanuel Vadot reg = <0x0 0x10aa0000 0x0 0x10000>; 348*833e5d42SEmmanuel Vadot 349*833e5d42SEmmanuel Vadot clocks = <&cmu_hsi0 CLK_MOUT_HSI0_NOC>; 350*833e5d42SEmmanuel Vadot clock-names = "phy"; 351*833e5d42SEmmanuel Vadot 352*833e5d42SEmmanuel Vadot #phy-cells = <1>; 353*833e5d42SEmmanuel Vadot phys = <&usb_hsphy>; 354*833e5d42SEmmanuel Vadot phy-names = "hs"; 355*833e5d42SEmmanuel Vadot 356*833e5d42SEmmanuel Vadot samsung,pmu-syscon = <&pmu_system_controller>; 357*833e5d42SEmmanuel Vadot 358*833e5d42SEmmanuel Vadot status = "disabled"; 359*833e5d42SEmmanuel Vadot }; 360*833e5d42SEmmanuel Vadot 361*833e5d42SEmmanuel Vadot usb_hsphy: phy@10ab0000 { 362*833e5d42SEmmanuel Vadot compatible = "samsung,exynos2200-eusb2-phy"; 363*833e5d42SEmmanuel Vadot reg = <0x0 0x10ab0000 0x0 0x10000>; 364*833e5d42SEmmanuel Vadot 365*833e5d42SEmmanuel Vadot clocks = <&cmu_hsi0 CLK_MOUT_HSI0_USB32DRD>, 366*833e5d42SEmmanuel Vadot <&cmu_hsi0 CLK_MOUT_HSI0_NOC>, 367*833e5d42SEmmanuel Vadot <&cmu_hsi0 CLK_DOUT_DIV_CLK_HSI0_EUSB>; 368*833e5d42SEmmanuel Vadot clock-names = "ref", "bus", "ctrl"; 369*833e5d42SEmmanuel Vadot 370*833e5d42SEmmanuel Vadot #phy-cells = <0>; 371*833e5d42SEmmanuel Vadot 372*833e5d42SEmmanuel Vadot status = "disabled"; 373*833e5d42SEmmanuel Vadot }; 374*833e5d42SEmmanuel Vadot 375*833e5d42SEmmanuel Vadot usb: usb@10b00000 { 376*833e5d42SEmmanuel Vadot compatible = "samsung,exynos2200-dwusb3"; 377*833e5d42SEmmanuel Vadot ranges = <0x0 0x0 0x10b00000 0x10000>; 378*833e5d42SEmmanuel Vadot 379*833e5d42SEmmanuel Vadot clocks = <&cmu_hsi0 CLK_MOUT_HSI0_NOC>; 380*833e5d42SEmmanuel Vadot clock-names = "link_aclk"; 381*833e5d42SEmmanuel Vadot 382*833e5d42SEmmanuel Vadot #address-cells = <1>; 383*833e5d42SEmmanuel Vadot #size-cells = <1>; 384*833e5d42SEmmanuel Vadot 385*833e5d42SEmmanuel Vadot status = "disabled"; 386*833e5d42SEmmanuel Vadot 387*833e5d42SEmmanuel Vadot usb_dwc3: usb@0 { 388*833e5d42SEmmanuel Vadot compatible = "snps,dwc3"; 389*833e5d42SEmmanuel Vadot reg = <0x0 0x10000>; 390*833e5d42SEmmanuel Vadot 391*833e5d42SEmmanuel Vadot clocks = <&cmu_hsi0 CLK_MOUT_HSI0_USB32DRD>; 392*833e5d42SEmmanuel Vadot clock-names = "ref"; 393*833e5d42SEmmanuel Vadot 394*833e5d42SEmmanuel Vadot interrupts = <GIC_SPI 485 IRQ_TYPE_LEVEL_HIGH 0>; 395*833e5d42SEmmanuel Vadot 396*833e5d42SEmmanuel Vadot phys = <&usb32drd 0>; 397*833e5d42SEmmanuel Vadot phy-names = "usb2-phy"; 398*833e5d42SEmmanuel Vadot 399*833e5d42SEmmanuel Vadot snps,dis-u2-freeclk-exists-quirk; 400*833e5d42SEmmanuel Vadot snps,gfladj-refclk-lpm-sel-quirk; 401*833e5d42SEmmanuel Vadot snps,has-lpm-erratum; 402*833e5d42SEmmanuel Vadot snps,quirk-frame-length-adjustment = <0x20>; 403*833e5d42SEmmanuel Vadot snps,usb3_lpm_capable; 404*833e5d42SEmmanuel Vadot }; 405*833e5d42SEmmanuel Vadot }; 406*833e5d42SEmmanuel Vadot 407*833e5d42SEmmanuel Vadot cmu_ufs: clock-controller@11000000 { 408*833e5d42SEmmanuel Vadot compatible = "samsung,exynos2200-cmu-ufs"; 409*833e5d42SEmmanuel Vadot reg = <0x0 0x11000000 0x0 0x8000>; 410*833e5d42SEmmanuel Vadot #clock-cells = <1>; 411*833e5d42SEmmanuel Vadot 412*833e5d42SEmmanuel Vadot clocks = <&xtcxo>, 413*833e5d42SEmmanuel Vadot <&cmu_top CLK_DOUT_CMU_UFS_NOC>, 414*833e5d42SEmmanuel Vadot <&cmu_top CLK_MOUT_CMU_UFS_MMC_CARD>, 415*833e5d42SEmmanuel Vadot <&cmu_top CLK_DOUT_CMU_UFS_UFS_EMBD>; 416*833e5d42SEmmanuel Vadot clock-names = "oscclk", "noc", "mmc", "ufs"; 417*833e5d42SEmmanuel Vadot }; 418*833e5d42SEmmanuel Vadot 419*833e5d42SEmmanuel Vadot syscon_ufs: syscon@11020000 { 420*833e5d42SEmmanuel Vadot compatible = "samsung,exynos2200-ufs-sysreg", "syscon"; 421*833e5d42SEmmanuel Vadot reg = <0x0 0x11020000 0x0 0x2000>; 422*833e5d42SEmmanuel Vadot }; 423*833e5d42SEmmanuel Vadot 424*833e5d42SEmmanuel Vadot pinctrl_ufs: pinctrl@11040000 { 425*833e5d42SEmmanuel Vadot compatible = "samsung,exynos2200-pinctrl"; 426*833e5d42SEmmanuel Vadot reg = <0x0 0x11040000 0x0 0x1000>; 427*833e5d42SEmmanuel Vadot }; 428*833e5d42SEmmanuel Vadot 429*833e5d42SEmmanuel Vadot pinctrl_hsi1ufs: pinctrl@11060000 { 430*833e5d42SEmmanuel Vadot compatible = "samsung,exynos2200-pinctrl"; 431*833e5d42SEmmanuel Vadot reg = <0x0 0x11060000 0x0 0x1000>; 432*833e5d42SEmmanuel Vadot }; 433*833e5d42SEmmanuel Vadot 434*833e5d42SEmmanuel Vadot pinctrl_hsi1: pinctrl@11240000 { 435*833e5d42SEmmanuel Vadot compatible = "samsung,exynos2200-pinctrl"; 436*833e5d42SEmmanuel Vadot reg = <0x0 0x11240000 0x0 0x1000>; 437*833e5d42SEmmanuel Vadot }; 438*833e5d42SEmmanuel Vadot 439*833e5d42SEmmanuel Vadot cmu_peric2: clock-controller@11c00000 { 440*833e5d42SEmmanuel Vadot compatible = "samsung,exynos2200-cmu-peric2"; 441*833e5d42SEmmanuel Vadot reg = <0x0 0x11c00000 0x0 0x8000>; 442*833e5d42SEmmanuel Vadot #clock-cells = <1>; 443*833e5d42SEmmanuel Vadot 444*833e5d42SEmmanuel Vadot clocks = <&xtcxo>, 445*833e5d42SEmmanuel Vadot <&cmu_top CLK_DOUT_CMU_PERIC2_NOC>, 446*833e5d42SEmmanuel Vadot <&cmu_top CLK_DOUT_CMU_PERIC2_IP0>, 447*833e5d42SEmmanuel Vadot <&cmu_top CLK_DOUT_CMU_PERIC2_IP1>; 448*833e5d42SEmmanuel Vadot clock-names = "oscclk", "noc", "ip0", "ip1"; 449*833e5d42SEmmanuel Vadot }; 450*833e5d42SEmmanuel Vadot 451*833e5d42SEmmanuel Vadot syscon_peric2: syscon@11c20000 { 452*833e5d42SEmmanuel Vadot compatible = "samsung,exynos2200-peric2-sysreg", "syscon"; 453*833e5d42SEmmanuel Vadot reg = <0x0 0x11c20000 0x0 0x4000>; 454*833e5d42SEmmanuel Vadot }; 455*833e5d42SEmmanuel Vadot 456*833e5d42SEmmanuel Vadot pinctrl_peric2: pinctrl@11c30000 { 457*833e5d42SEmmanuel Vadot compatible = "samsung,exynos2200-pinctrl"; 458*833e5d42SEmmanuel Vadot reg = <0x0 0x11c30000 0x0 0x1000>; 459*833e5d42SEmmanuel Vadot }; 460*833e5d42SEmmanuel Vadot 461*833e5d42SEmmanuel Vadot cmu_cmgp: clock-controller@14e00000 { 462*833e5d42SEmmanuel Vadot compatible = "samsung,exynos2200-cmu-cmgp"; 463*833e5d42SEmmanuel Vadot reg = <0x0 0x14e00000 0x0 0x8000>; 464*833e5d42SEmmanuel Vadot #clock-cells = <1>; 465*833e5d42SEmmanuel Vadot 466*833e5d42SEmmanuel Vadot clocks = <&xtcxo>, 467*833e5d42SEmmanuel Vadot <&cmu_alive CLK_DOUT_ALIVE_CMGP_NOC>, 468*833e5d42SEmmanuel Vadot <&cmu_alive CLK_DOUT_ALIVE_CMGP_PERI>; 469*833e5d42SEmmanuel Vadot clock-names = "oscclk", "noc", "peri"; 470*833e5d42SEmmanuel Vadot }; 471*833e5d42SEmmanuel Vadot 472*833e5d42SEmmanuel Vadot syscon_cmgp: syscon@14e20000 { 473*833e5d42SEmmanuel Vadot compatible = "samsung,exynos2200-cmgp-sysreg", "syscon"; 474*833e5d42SEmmanuel Vadot reg = <0x0 0x14e20000 0x0 0x2000>; 475*833e5d42SEmmanuel Vadot }; 476*833e5d42SEmmanuel Vadot 477*833e5d42SEmmanuel Vadot pinctrl_cmgp: pinctrl@14e30000 { 478*833e5d42SEmmanuel Vadot compatible = "samsung,exynos2200-pinctrl"; 479*833e5d42SEmmanuel Vadot reg = <0x0 0x14e30000 0x0 0x1000>; 480*833e5d42SEmmanuel Vadot 481*833e5d42SEmmanuel Vadot wakeup-interrupt-controller { 482*833e5d42SEmmanuel Vadot compatible = "samsung,exynos2200-wakeup-eint", 483*833e5d42SEmmanuel Vadot "samsung,exynos850-wakeup-eint", 484*833e5d42SEmmanuel Vadot "samsung,exynos7-wakeup-eint"; 485*833e5d42SEmmanuel Vadot }; 486*833e5d42SEmmanuel Vadot }; 487*833e5d42SEmmanuel Vadot 488*833e5d42SEmmanuel Vadot cmu_vts: clock-controller@15300000 { 489*833e5d42SEmmanuel Vadot compatible = "samsung,exynos2200-cmu-vts"; 490*833e5d42SEmmanuel Vadot reg = <0x0 0x15300000 0x0 0x8000>; 491*833e5d42SEmmanuel Vadot #clock-cells = <1>; 492*833e5d42SEmmanuel Vadot 493*833e5d42SEmmanuel Vadot clocks = <&xtcxo>, 494*833e5d42SEmmanuel Vadot <&cmu_top CLK_DOUT_CMU_VTS_DMIC>; 495*833e5d42SEmmanuel Vadot clock-names = "oscclk", "dmic"; 496*833e5d42SEmmanuel Vadot }; 497*833e5d42SEmmanuel Vadot 498*833e5d42SEmmanuel Vadot pinctrl_vts: pinctrl@15320000 { 499*833e5d42SEmmanuel Vadot compatible = "samsung,exynos2200-pinctrl"; 500*833e5d42SEmmanuel Vadot reg = <0x0 0x15320000 0x0 0x1000>; 501*833e5d42SEmmanuel Vadot }; 502*833e5d42SEmmanuel Vadot 503*833e5d42SEmmanuel Vadot cmu_alive: clock-controller@15800000 { 504*833e5d42SEmmanuel Vadot compatible = "samsung,exynos2200-cmu-alive"; 505*833e5d42SEmmanuel Vadot reg = <0x0 0x15800000 0x0 0x8000>; 506*833e5d42SEmmanuel Vadot #clock-cells = <1>; 507*833e5d42SEmmanuel Vadot 508*833e5d42SEmmanuel Vadot clocks = <&xtcxo>, 509*833e5d42SEmmanuel Vadot <&cmu_top CLK_DOUT_CMU_ALIVE_NOC>; 510*833e5d42SEmmanuel Vadot clock-names = "oscclk", "noc"; 511*833e5d42SEmmanuel Vadot }; 512*833e5d42SEmmanuel Vadot 513*833e5d42SEmmanuel Vadot pinctrl_alive: pinctrl@15850000 { 514*833e5d42SEmmanuel Vadot compatible = "samsung,exynos2200-pinctrl"; 515*833e5d42SEmmanuel Vadot reg = <0x0 0x15850000 0x0 0x1000>; 516*833e5d42SEmmanuel Vadot 517*833e5d42SEmmanuel Vadot wakeup-interrupt-controller { 518*833e5d42SEmmanuel Vadot compatible = "samsung,exynos2200-wakeup-eint", 519*833e5d42SEmmanuel Vadot "samsung,exynos850-wakeup-eint", 520*833e5d42SEmmanuel Vadot "samsung,exynos7-wakeup-eint"; 521*833e5d42SEmmanuel Vadot }; 522*833e5d42SEmmanuel Vadot }; 523*833e5d42SEmmanuel Vadot 524*833e5d42SEmmanuel Vadot pmu_system_controller: system-controller@15860000 { 525*833e5d42SEmmanuel Vadot compatible = "samsung,exynos2200-pmu", 526*833e5d42SEmmanuel Vadot "samsung,exynos7-pmu", "syscon"; 527*833e5d42SEmmanuel Vadot reg = <0x0 0x15860000 0x0 0x10000>; 528*833e5d42SEmmanuel Vadot 529*833e5d42SEmmanuel Vadot reboot: syscon-reboot { 530*833e5d42SEmmanuel Vadot compatible = "syscon-reboot"; 531*833e5d42SEmmanuel Vadot offset = <0x3c00>; /* SYSTEM_CONFIGURATION */ 532*833e5d42SEmmanuel Vadot mask = <0x2>; /* SWRESET_SYSTEM */ 533*833e5d42SEmmanuel Vadot value = <0x2>; /* reset value */ 534*833e5d42SEmmanuel Vadot }; 535*833e5d42SEmmanuel Vadot }; 536*833e5d42SEmmanuel Vadot 537*833e5d42SEmmanuel Vadot cmu_top: clock-controller@1a320000 { 538*833e5d42SEmmanuel Vadot compatible = "samsung,exynos2200-cmu-top"; 539*833e5d42SEmmanuel Vadot reg = <0x0 0x1a320000 0x0 0x8000>; 540*833e5d42SEmmanuel Vadot #clock-cells = <1>; 541*833e5d42SEmmanuel Vadot 542*833e5d42SEmmanuel Vadot clocks = <&xtcxo>; 543*833e5d42SEmmanuel Vadot clock-names = "oscclk"; 544*833e5d42SEmmanuel Vadot }; 545*833e5d42SEmmanuel Vadot }; 546*833e5d42SEmmanuel Vadot 547*833e5d42SEmmanuel Vadot timer { 548*833e5d42SEmmanuel Vadot compatible = "arm,armv8-timer"; 549*833e5d42SEmmanuel Vadot interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW 0>, 550*833e5d42SEmmanuel Vadot <GIC_PPI 14 IRQ_TYPE_LEVEL_LOW 0>, 551*833e5d42SEmmanuel Vadot <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW 0>, 552*833e5d42SEmmanuel Vadot <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW 0>; 553*833e5d42SEmmanuel Vadot /* 554*833e5d42SEmmanuel Vadot * Non-updatable, broken stock Samsung bootloader does not 555*833e5d42SEmmanuel Vadot * configure CNTFRQ_EL0 556*833e5d42SEmmanuel Vadot */ 557*833e5d42SEmmanuel Vadot clock-frequency = <25600000>; 558*833e5d42SEmmanuel Vadot }; 559*833e5d42SEmmanuel Vadot}; 560*833e5d42SEmmanuel Vadot 561*833e5d42SEmmanuel Vadot#include "exynos2200-pinctrl.dtsi" 562