1*f126890aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0 2*f126890aSEmmanuel Vadot/* 3*f126890aSEmmanuel Vadot * Keystone 2 Kepler/Hawking soc specific device tree 4*f126890aSEmmanuel Vadot * 5*f126890aSEmmanuel Vadot * Copyright (C) 2013-2017 Texas Instruments Incorporated - http://www.ti.com/ 6*f126890aSEmmanuel Vadot */ 7*f126890aSEmmanuel Vadot 8*f126890aSEmmanuel Vadot#include <dt-bindings/reset/ti-syscon.h> 9*f126890aSEmmanuel Vadot 10*f126890aSEmmanuel Vadot/ { 11*f126890aSEmmanuel Vadot compatible = "ti,k2hk", "ti,keystone"; 12*f126890aSEmmanuel Vadot model = "Texas Instruments Keystone 2 Kepler/Hawking SoC"; 13*f126890aSEmmanuel Vadot 14*f126890aSEmmanuel Vadot cpus { 15*f126890aSEmmanuel Vadot #address-cells = <1>; 16*f126890aSEmmanuel Vadot #size-cells = <0>; 17*f126890aSEmmanuel Vadot 18*f126890aSEmmanuel Vadot interrupt-parent = <&gic>; 19*f126890aSEmmanuel Vadot 20*f126890aSEmmanuel Vadot cpu@0 { 21*f126890aSEmmanuel Vadot compatible = "arm,cortex-a15"; 22*f126890aSEmmanuel Vadot device_type = "cpu"; 23*f126890aSEmmanuel Vadot reg = <0>; 24*f126890aSEmmanuel Vadot }; 25*f126890aSEmmanuel Vadot 26*f126890aSEmmanuel Vadot cpu@1 { 27*f126890aSEmmanuel Vadot compatible = "arm,cortex-a15"; 28*f126890aSEmmanuel Vadot device_type = "cpu"; 29*f126890aSEmmanuel Vadot reg = <1>; 30*f126890aSEmmanuel Vadot }; 31*f126890aSEmmanuel Vadot 32*f126890aSEmmanuel Vadot cpu@2 { 33*f126890aSEmmanuel Vadot compatible = "arm,cortex-a15"; 34*f126890aSEmmanuel Vadot device_type = "cpu"; 35*f126890aSEmmanuel Vadot reg = <2>; 36*f126890aSEmmanuel Vadot }; 37*f126890aSEmmanuel Vadot 38*f126890aSEmmanuel Vadot cpu@3 { 39*f126890aSEmmanuel Vadot compatible = "arm,cortex-a15"; 40*f126890aSEmmanuel Vadot device_type = "cpu"; 41*f126890aSEmmanuel Vadot reg = <3>; 42*f126890aSEmmanuel Vadot }; 43*f126890aSEmmanuel Vadot }; 44*f126890aSEmmanuel Vadot 45*f126890aSEmmanuel Vadot aliases { 46*f126890aSEmmanuel Vadot rproc0 = &dsp0; 47*f126890aSEmmanuel Vadot rproc1 = &dsp1; 48*f126890aSEmmanuel Vadot rproc2 = &dsp2; 49*f126890aSEmmanuel Vadot rproc3 = &dsp3; 50*f126890aSEmmanuel Vadot rproc4 = &dsp4; 51*f126890aSEmmanuel Vadot rproc5 = &dsp5; 52*f126890aSEmmanuel Vadot rproc6 = &dsp6; 53*f126890aSEmmanuel Vadot rproc7 = &dsp7; 54*f126890aSEmmanuel Vadot }; 55*f126890aSEmmanuel Vadot}; 56*f126890aSEmmanuel Vadot 57*f126890aSEmmanuel Vadot&soc0 { 58*f126890aSEmmanuel Vadot /include/ "keystone-k2hk-clocks.dtsi" 59*f126890aSEmmanuel Vadot 60*f126890aSEmmanuel Vadot msm_ram: sram@c000000 { 61*f126890aSEmmanuel Vadot compatible = "mmio-sram"; 62*f126890aSEmmanuel Vadot reg = <0x0c000000 0x600000>; 63*f126890aSEmmanuel Vadot ranges = <0x0 0x0c000000 0x600000>; 64*f126890aSEmmanuel Vadot #address-cells = <1>; 65*f126890aSEmmanuel Vadot #size-cells = <1>; 66*f126890aSEmmanuel Vadot 67*f126890aSEmmanuel Vadot bm-sram@5f0000 { 68*f126890aSEmmanuel Vadot reg = <0x5f0000 0x8000>; 69*f126890aSEmmanuel Vadot }; 70*f126890aSEmmanuel Vadot }; 71*f126890aSEmmanuel Vadot 72*f126890aSEmmanuel Vadot psc: power-sleep-controller@2350000 { 73*f126890aSEmmanuel Vadot pscrst: reset-controller { 74*f126890aSEmmanuel Vadot compatible = "ti,k2hk-pscrst", "ti,syscon-reset"; 75*f126890aSEmmanuel Vadot #reset-cells = <1>; 76*f126890aSEmmanuel Vadot 77*f126890aSEmmanuel Vadot ti,reset-bits = < 78*f126890aSEmmanuel Vadot 0xa3c 8 0xa3c 8 0x83c 8 (ASSERT_CLEAR | DEASSERT_SET | STATUS_CLEAR) /* 0: dsp0 */ 79*f126890aSEmmanuel Vadot 0xa40 8 0xa40 8 0x840 8 (ASSERT_CLEAR | DEASSERT_SET | STATUS_CLEAR) /* 1: dsp1 */ 80*f126890aSEmmanuel Vadot 0xa44 8 0xa44 8 0x844 8 (ASSERT_CLEAR | DEASSERT_SET | STATUS_CLEAR) /* 2: dsp2 */ 81*f126890aSEmmanuel Vadot 0xa48 8 0xa48 8 0x848 8 (ASSERT_CLEAR | DEASSERT_SET | STATUS_CLEAR) /* 3: dsp3 */ 82*f126890aSEmmanuel Vadot 0xa4c 8 0xa4c 8 0x84c 8 (ASSERT_CLEAR | DEASSERT_SET | STATUS_CLEAR) /* 4: dsp4 */ 83*f126890aSEmmanuel Vadot 0xa50 8 0xa50 8 0x850 8 (ASSERT_CLEAR | DEASSERT_SET | STATUS_CLEAR) /* 5: dsp5 */ 84*f126890aSEmmanuel Vadot 0xa54 8 0xa54 8 0x854 8 (ASSERT_CLEAR | DEASSERT_SET | STATUS_CLEAR) /* 6: dsp6 */ 85*f126890aSEmmanuel Vadot 0xa58 8 0xa58 8 0x858 8 (ASSERT_CLEAR | DEASSERT_SET | STATUS_CLEAR) /* 7: dsp7 */ 86*f126890aSEmmanuel Vadot >; 87*f126890aSEmmanuel Vadot }; 88*f126890aSEmmanuel Vadot }; 89*f126890aSEmmanuel Vadot 90*f126890aSEmmanuel Vadot devctrl: device-state-control@2620000 { 91*f126890aSEmmanuel Vadot dspgpio0: keystone_dsp_gpio@240 { 92*f126890aSEmmanuel Vadot compatible = "ti,keystone-dsp-gpio"; 93*f126890aSEmmanuel Vadot reg = <0x240 0x4>; 94*f126890aSEmmanuel Vadot gpio-controller; 95*f126890aSEmmanuel Vadot #gpio-cells = <2>; 96*f126890aSEmmanuel Vadot gpio,syscon-dev = <&devctrl 0x240>; 97*f126890aSEmmanuel Vadot }; 98*f126890aSEmmanuel Vadot 99*f126890aSEmmanuel Vadot dspgpio1: keystone_dsp_gpio@244 { 100*f126890aSEmmanuel Vadot compatible = "ti,keystone-dsp-gpio"; 101*f126890aSEmmanuel Vadot reg = <0x244 0x4>; 102*f126890aSEmmanuel Vadot gpio-controller; 103*f126890aSEmmanuel Vadot #gpio-cells = <2>; 104*f126890aSEmmanuel Vadot gpio,syscon-dev = <&devctrl 0x244>; 105*f126890aSEmmanuel Vadot }; 106*f126890aSEmmanuel Vadot 107*f126890aSEmmanuel Vadot dspgpio2: keystone_dsp_gpio@248 { 108*f126890aSEmmanuel Vadot compatible = "ti,keystone-dsp-gpio"; 109*f126890aSEmmanuel Vadot reg = <0x248 0x4>; 110*f126890aSEmmanuel Vadot gpio-controller; 111*f126890aSEmmanuel Vadot #gpio-cells = <2>; 112*f126890aSEmmanuel Vadot gpio,syscon-dev = <&devctrl 0x248>; 113*f126890aSEmmanuel Vadot }; 114*f126890aSEmmanuel Vadot 115*f126890aSEmmanuel Vadot dspgpio3: keystone_dsp_gpio@24c { 116*f126890aSEmmanuel Vadot compatible = "ti,keystone-dsp-gpio"; 117*f126890aSEmmanuel Vadot reg = <0x24c 0x4>; 118*f126890aSEmmanuel Vadot gpio-controller; 119*f126890aSEmmanuel Vadot #gpio-cells = <2>; 120*f126890aSEmmanuel Vadot gpio,syscon-dev = <&devctrl 0x24c>; 121*f126890aSEmmanuel Vadot }; 122*f126890aSEmmanuel Vadot 123*f126890aSEmmanuel Vadot dspgpio4: keystone_dsp_gpio@250 { 124*f126890aSEmmanuel Vadot compatible = "ti,keystone-dsp-gpio"; 125*f126890aSEmmanuel Vadot reg = <0x250 0x4>; 126*f126890aSEmmanuel Vadot gpio-controller; 127*f126890aSEmmanuel Vadot #gpio-cells = <2>; 128*f126890aSEmmanuel Vadot gpio,syscon-dev = <&devctrl 0x250>; 129*f126890aSEmmanuel Vadot }; 130*f126890aSEmmanuel Vadot 131*f126890aSEmmanuel Vadot dspgpio5: keystone_dsp_gpio@254 { 132*f126890aSEmmanuel Vadot compatible = "ti,keystone-dsp-gpio"; 133*f126890aSEmmanuel Vadot reg = <0x254 0x4>; 134*f126890aSEmmanuel Vadot gpio-controller; 135*f126890aSEmmanuel Vadot #gpio-cells = <2>; 136*f126890aSEmmanuel Vadot gpio,syscon-dev = <&devctrl 0x254>; 137*f126890aSEmmanuel Vadot }; 138*f126890aSEmmanuel Vadot 139*f126890aSEmmanuel Vadot dspgpio6: keystone_dsp_gpio@258 { 140*f126890aSEmmanuel Vadot compatible = "ti,keystone-dsp-gpio"; 141*f126890aSEmmanuel Vadot reg = <0x258 0x4>; 142*f126890aSEmmanuel Vadot gpio-controller; 143*f126890aSEmmanuel Vadot #gpio-cells = <2>; 144*f126890aSEmmanuel Vadot gpio,syscon-dev = <&devctrl 0x258>; 145*f126890aSEmmanuel Vadot }; 146*f126890aSEmmanuel Vadot 147*f126890aSEmmanuel Vadot dspgpio7: keystone_dsp_gpio@25c { 148*f126890aSEmmanuel Vadot compatible = "ti,keystone-dsp-gpio"; 149*f126890aSEmmanuel Vadot reg = <0x25c 0x4>; 150*f126890aSEmmanuel Vadot gpio-controller; 151*f126890aSEmmanuel Vadot #gpio-cells = <2>; 152*f126890aSEmmanuel Vadot gpio,syscon-dev = <&devctrl 0x25c>; 153*f126890aSEmmanuel Vadot }; 154*f126890aSEmmanuel Vadot }; 155*f126890aSEmmanuel Vadot 156*f126890aSEmmanuel Vadot dsp0: dsp@10800000 { 157*f126890aSEmmanuel Vadot compatible = "ti,k2hk-dsp"; 158*f126890aSEmmanuel Vadot reg = <0x10800000 0x00100000>, 159*f126890aSEmmanuel Vadot <0x10e00000 0x00008000>, 160*f126890aSEmmanuel Vadot <0x10f00000 0x00008000>; 161*f126890aSEmmanuel Vadot reg-names = "l2sram", "l1pram", "l1dram"; 162*f126890aSEmmanuel Vadot clocks = <&clkgem0>; 163*f126890aSEmmanuel Vadot ti,syscon-dev = <&devctrl 0x40>; 164*f126890aSEmmanuel Vadot resets = <&pscrst 0>; 165*f126890aSEmmanuel Vadot interrupt-parent = <&kirq0>; 166*f126890aSEmmanuel Vadot interrupts = <0 8>; 167*f126890aSEmmanuel Vadot interrupt-names = "vring", "exception"; 168*f126890aSEmmanuel Vadot kick-gpios = <&dspgpio0 27 0>; 169*f126890aSEmmanuel Vadot status = "disabled"; 170*f126890aSEmmanuel Vadot }; 171*f126890aSEmmanuel Vadot 172*f126890aSEmmanuel Vadot dsp1: dsp@11800000 { 173*f126890aSEmmanuel Vadot compatible = "ti,k2hk-dsp"; 174*f126890aSEmmanuel Vadot reg = <0x11800000 0x00100000>, 175*f126890aSEmmanuel Vadot <0x11e00000 0x00008000>, 176*f126890aSEmmanuel Vadot <0x11f00000 0x00008000>; 177*f126890aSEmmanuel Vadot reg-names = "l2sram", "l1pram", "l1dram"; 178*f126890aSEmmanuel Vadot clocks = <&clkgem1>; 179*f126890aSEmmanuel Vadot ti,syscon-dev = <&devctrl 0x44>; 180*f126890aSEmmanuel Vadot resets = <&pscrst 1>; 181*f126890aSEmmanuel Vadot interrupt-parent = <&kirq0>; 182*f126890aSEmmanuel Vadot interrupts = <1 9>; 183*f126890aSEmmanuel Vadot interrupt-names = "vring", "exception"; 184*f126890aSEmmanuel Vadot kick-gpios = <&dspgpio1 27 0>; 185*f126890aSEmmanuel Vadot status = "disabled"; 186*f126890aSEmmanuel Vadot }; 187*f126890aSEmmanuel Vadot 188*f126890aSEmmanuel Vadot dsp2: dsp@12800000 { 189*f126890aSEmmanuel Vadot compatible = "ti,k2hk-dsp"; 190*f126890aSEmmanuel Vadot reg = <0x12800000 0x00100000>, 191*f126890aSEmmanuel Vadot <0x12e00000 0x00008000>, 192*f126890aSEmmanuel Vadot <0x12f00000 0x00008000>; 193*f126890aSEmmanuel Vadot reg-names = "l2sram", "l1pram", "l1dram"; 194*f126890aSEmmanuel Vadot clocks = <&clkgem2>; 195*f126890aSEmmanuel Vadot ti,syscon-dev = <&devctrl 0x48>; 196*f126890aSEmmanuel Vadot resets = <&pscrst 2>; 197*f126890aSEmmanuel Vadot interrupt-parent = <&kirq0>; 198*f126890aSEmmanuel Vadot interrupts = <2 10>; 199*f126890aSEmmanuel Vadot interrupt-names = "vring", "exception"; 200*f126890aSEmmanuel Vadot kick-gpios = <&dspgpio2 27 0>; 201*f126890aSEmmanuel Vadot status = "disabled"; 202*f126890aSEmmanuel Vadot }; 203*f126890aSEmmanuel Vadot 204*f126890aSEmmanuel Vadot dsp3: dsp@13800000 { 205*f126890aSEmmanuel Vadot compatible = "ti,k2hk-dsp"; 206*f126890aSEmmanuel Vadot reg = <0x13800000 0x00100000>, 207*f126890aSEmmanuel Vadot <0x13e00000 0x00008000>, 208*f126890aSEmmanuel Vadot <0x13f00000 0x00008000>; 209*f126890aSEmmanuel Vadot reg-names = "l2sram", "l1pram", "l1dram"; 210*f126890aSEmmanuel Vadot clocks = <&clkgem3>; 211*f126890aSEmmanuel Vadot ti,syscon-dev = <&devctrl 0x4c>; 212*f126890aSEmmanuel Vadot resets = <&pscrst 3>; 213*f126890aSEmmanuel Vadot interrupt-parent = <&kirq0>; 214*f126890aSEmmanuel Vadot interrupts = <3 11>; 215*f126890aSEmmanuel Vadot interrupt-names = "vring", "exception"; 216*f126890aSEmmanuel Vadot kick-gpios = <&dspgpio3 27 0>; 217*f126890aSEmmanuel Vadot status = "disabled"; 218*f126890aSEmmanuel Vadot }; 219*f126890aSEmmanuel Vadot 220*f126890aSEmmanuel Vadot dsp4: dsp@14800000 { 221*f126890aSEmmanuel Vadot compatible = "ti,k2hk-dsp"; 222*f126890aSEmmanuel Vadot reg = <0x14800000 0x00100000>, 223*f126890aSEmmanuel Vadot <0x14e00000 0x00008000>, 224*f126890aSEmmanuel Vadot <0x14f00000 0x00008000>; 225*f126890aSEmmanuel Vadot reg-names = "l2sram", "l1pram", "l1dram"; 226*f126890aSEmmanuel Vadot clocks = <&clkgem4>; 227*f126890aSEmmanuel Vadot ti,syscon-dev = <&devctrl 0x50>; 228*f126890aSEmmanuel Vadot resets = <&pscrst 4>; 229*f126890aSEmmanuel Vadot interrupt-parent = <&kirq0>; 230*f126890aSEmmanuel Vadot interrupts = <4 12>; 231*f126890aSEmmanuel Vadot interrupt-names = "vring", "exception"; 232*f126890aSEmmanuel Vadot kick-gpios = <&dspgpio4 27 0>; 233*f126890aSEmmanuel Vadot status = "disabled"; 234*f126890aSEmmanuel Vadot }; 235*f126890aSEmmanuel Vadot 236*f126890aSEmmanuel Vadot dsp5: dsp@15800000 { 237*f126890aSEmmanuel Vadot compatible = "ti,k2hk-dsp"; 238*f126890aSEmmanuel Vadot reg = <0x15800000 0x00100000>, 239*f126890aSEmmanuel Vadot <0x15e00000 0x00008000>, 240*f126890aSEmmanuel Vadot <0x15f00000 0x00008000>; 241*f126890aSEmmanuel Vadot reg-names = "l2sram", "l1pram", "l1dram"; 242*f126890aSEmmanuel Vadot clocks = <&clkgem5>; 243*f126890aSEmmanuel Vadot ti,syscon-dev = <&devctrl 0x54>; 244*f126890aSEmmanuel Vadot resets = <&pscrst 5>; 245*f126890aSEmmanuel Vadot interrupt-parent = <&kirq0>; 246*f126890aSEmmanuel Vadot interrupts = <5 13>; 247*f126890aSEmmanuel Vadot interrupt-names = "vring", "exception"; 248*f126890aSEmmanuel Vadot kick-gpios = <&dspgpio5 27 0>; 249*f126890aSEmmanuel Vadot status = "disabled"; 250*f126890aSEmmanuel Vadot }; 251*f126890aSEmmanuel Vadot 252*f126890aSEmmanuel Vadot dsp6: dsp@16800000 { 253*f126890aSEmmanuel Vadot compatible = "ti,k2hk-dsp"; 254*f126890aSEmmanuel Vadot reg = <0x16800000 0x00100000>, 255*f126890aSEmmanuel Vadot <0x16e00000 0x00008000>, 256*f126890aSEmmanuel Vadot <0x16f00000 0x00008000>; 257*f126890aSEmmanuel Vadot reg-names = "l2sram", "l1pram", "l1dram"; 258*f126890aSEmmanuel Vadot clocks = <&clkgem6>; 259*f126890aSEmmanuel Vadot ti,syscon-dev = <&devctrl 0x58>; 260*f126890aSEmmanuel Vadot resets = <&pscrst 6>; 261*f126890aSEmmanuel Vadot interrupt-parent = <&kirq0>; 262*f126890aSEmmanuel Vadot interrupts = <6 14>; 263*f126890aSEmmanuel Vadot interrupt-names = "vring", "exception"; 264*f126890aSEmmanuel Vadot kick-gpios = <&dspgpio6 27 0>; 265*f126890aSEmmanuel Vadot status = "disabled"; 266*f126890aSEmmanuel Vadot }; 267*f126890aSEmmanuel Vadot 268*f126890aSEmmanuel Vadot dsp7: dsp@17800000 { 269*f126890aSEmmanuel Vadot compatible = "ti,k2hk-dsp"; 270*f126890aSEmmanuel Vadot reg = <0x17800000 0x00100000>, 271*f126890aSEmmanuel Vadot <0x17e00000 0x00008000>, 272*f126890aSEmmanuel Vadot <0x17f00000 0x00008000>; 273*f126890aSEmmanuel Vadot reg-names = "l2sram", "l1pram", "l1dram"; 274*f126890aSEmmanuel Vadot clocks = <&clkgem7>; 275*f126890aSEmmanuel Vadot ti,syscon-dev = <&devctrl 0x5c>; 276*f126890aSEmmanuel Vadot resets = <&pscrst 7>; 277*f126890aSEmmanuel Vadot interrupt-parent = <&kirq0>; 278*f126890aSEmmanuel Vadot interrupts = <7 15>; 279*f126890aSEmmanuel Vadot interrupt-names = "vring", "exception"; 280*f126890aSEmmanuel Vadot kick-gpios = <&dspgpio7 27 0>; 281*f126890aSEmmanuel Vadot status = "disabled"; 282*f126890aSEmmanuel Vadot }; 283*f126890aSEmmanuel Vadot 284*f126890aSEmmanuel Vadot mdio: mdio@2090300 { 285*f126890aSEmmanuel Vadot compatible = "ti,keystone_mdio", "ti,davinci_mdio"; 286*f126890aSEmmanuel Vadot #address-cells = <1>; 287*f126890aSEmmanuel Vadot #size-cells = <0>; 288*f126890aSEmmanuel Vadot reg = <0x02090300 0x100>; 289*f126890aSEmmanuel Vadot status = "disabled"; 290*f126890aSEmmanuel Vadot clocks = <&clkcpgmac>; 291*f126890aSEmmanuel Vadot clock-names = "fck"; 292*f126890aSEmmanuel Vadot bus_freq = <2500000>; 293*f126890aSEmmanuel Vadot }; 294*f126890aSEmmanuel Vadot /include/ "keystone-k2hk-netcp.dtsi" 295*f126890aSEmmanuel Vadot}; 296