1*f126890aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0 2*f126890aSEmmanuel Vadot/* 3*f126890aSEmmanuel Vadot * Keystone 2 Edison soc 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,k2e", "ti,keystone"; 12*f126890aSEmmanuel Vadot model = "Texas Instruments Keystone 2 Edison 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 }; 48*f126890aSEmmanuel Vadot}; 49*f126890aSEmmanuel Vadot 50*f126890aSEmmanuel Vadot&soc0 { 51*f126890aSEmmanuel Vadot /include/ "keystone-k2e-clocks.dtsi" 52*f126890aSEmmanuel Vadot 53*f126890aSEmmanuel Vadot usb: usb@2680000 { 54*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 152 IRQ_TYPE_EDGE_RISING>; 55*f126890aSEmmanuel Vadot usb@2690000 { 56*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 152 IRQ_TYPE_EDGE_RISING>; 57*f126890aSEmmanuel Vadot }; 58*f126890aSEmmanuel Vadot }; 59*f126890aSEmmanuel Vadot 60*f126890aSEmmanuel Vadot usb1_phy: usb_phy@2620750 { 61*f126890aSEmmanuel Vadot compatible = "ti,keystone-usbphy"; 62*f126890aSEmmanuel Vadot #address-cells = <1>; 63*f126890aSEmmanuel Vadot #size-cells = <1>; 64*f126890aSEmmanuel Vadot reg = <0x2620750 24>; 65*f126890aSEmmanuel Vadot status = "disabled"; 66*f126890aSEmmanuel Vadot }; 67*f126890aSEmmanuel Vadot 68*f126890aSEmmanuel Vadot keystone_usb1: usb@25000000 { 69*f126890aSEmmanuel Vadot compatible = "ti,keystone-dwc3"; 70*f126890aSEmmanuel Vadot #address-cells = <1>; 71*f126890aSEmmanuel Vadot #size-cells = <1>; 72*f126890aSEmmanuel Vadot reg = <0x25000000 0x10000>; 73*f126890aSEmmanuel Vadot clocks = <&clkusb1>; 74*f126890aSEmmanuel Vadot clock-names = "usb"; 75*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 414 IRQ_TYPE_EDGE_RISING>; 76*f126890aSEmmanuel Vadot ranges; 77*f126890aSEmmanuel Vadot dma-coherent; 78*f126890aSEmmanuel Vadot dma-ranges; 79*f126890aSEmmanuel Vadot status = "disabled"; 80*f126890aSEmmanuel Vadot 81*f126890aSEmmanuel Vadot usb1: usb@25010000 { 82*f126890aSEmmanuel Vadot compatible = "snps,dwc3"; 83*f126890aSEmmanuel Vadot reg = <0x25010000 0x70000>; 84*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 414 IRQ_TYPE_EDGE_RISING>; 85*f126890aSEmmanuel Vadot usb-phy = <&usb1_phy>, <&usb1_phy>; 86*f126890aSEmmanuel Vadot }; 87*f126890aSEmmanuel Vadot }; 88*f126890aSEmmanuel Vadot 89*f126890aSEmmanuel Vadot msm_ram: sram@c000000 { 90*f126890aSEmmanuel Vadot compatible = "mmio-sram"; 91*f126890aSEmmanuel Vadot reg = <0x0c000000 0x200000>; 92*f126890aSEmmanuel Vadot ranges = <0x0 0x0c000000 0x200000>; 93*f126890aSEmmanuel Vadot #address-cells = <1>; 94*f126890aSEmmanuel Vadot #size-cells = <1>; 95*f126890aSEmmanuel Vadot 96*f126890aSEmmanuel Vadot bm-sram@1f0000 { 97*f126890aSEmmanuel Vadot reg = <0x001f0000 0x8000>; 98*f126890aSEmmanuel Vadot }; 99*f126890aSEmmanuel Vadot }; 100*f126890aSEmmanuel Vadot 101*f126890aSEmmanuel Vadot psc: power-sleep-controller@2350000 { 102*f126890aSEmmanuel Vadot pscrst: reset-controller { 103*f126890aSEmmanuel Vadot compatible = "ti,k2e-pscrst", "ti,syscon-reset"; 104*f126890aSEmmanuel Vadot #reset-cells = <1>; 105*f126890aSEmmanuel Vadot 106*f126890aSEmmanuel Vadot ti,reset-bits = < 107*f126890aSEmmanuel Vadot 0xa3c 8 0xa3c 8 0x83c 8 (ASSERT_CLEAR | DEASSERT_SET | STATUS_CLEAR) /* 0: dsp0 */ 108*f126890aSEmmanuel Vadot >; 109*f126890aSEmmanuel Vadot }; 110*f126890aSEmmanuel Vadot }; 111*f126890aSEmmanuel Vadot 112*f126890aSEmmanuel Vadot devctrl: device-state-control@2620000 { 113*f126890aSEmmanuel Vadot dspgpio0: keystone_dsp_gpio@240 { 114*f126890aSEmmanuel Vadot compatible = "ti,keystone-dsp-gpio"; 115*f126890aSEmmanuel Vadot reg = <0x240 0x4>; 116*f126890aSEmmanuel Vadot gpio-controller; 117*f126890aSEmmanuel Vadot #gpio-cells = <2>; 118*f126890aSEmmanuel Vadot gpio,syscon-dev = <&devctrl 0x240>; 119*f126890aSEmmanuel Vadot }; 120*f126890aSEmmanuel Vadot }; 121*f126890aSEmmanuel Vadot 122*f126890aSEmmanuel Vadot dsp0: dsp@10800000 { 123*f126890aSEmmanuel Vadot compatible = "ti,k2e-dsp"; 124*f126890aSEmmanuel Vadot reg = <0x10800000 0x00080000>, 125*f126890aSEmmanuel Vadot <0x10e00000 0x00008000>, 126*f126890aSEmmanuel Vadot <0x10f00000 0x00008000>; 127*f126890aSEmmanuel Vadot reg-names = "l2sram", "l1pram", "l1dram"; 128*f126890aSEmmanuel Vadot clocks = <&clkgem0>; 129*f126890aSEmmanuel Vadot ti,syscon-dev = <&devctrl 0x844>; 130*f126890aSEmmanuel Vadot resets = <&pscrst 0>; 131*f126890aSEmmanuel Vadot interrupt-parent = <&kirq0>; 132*f126890aSEmmanuel Vadot interrupts = <0 8>; 133*f126890aSEmmanuel Vadot interrupt-names = "vring", "exception"; 134*f126890aSEmmanuel Vadot kick-gpios = <&dspgpio0 27 0>; 135*f126890aSEmmanuel Vadot status = "disabled"; 136*f126890aSEmmanuel Vadot }; 137*f126890aSEmmanuel Vadot 138*f126890aSEmmanuel Vadot pcie1: pcie@21020000 { 139*f126890aSEmmanuel Vadot compatible = "ti,keystone-pcie","snps,dw-pcie"; 140*f126890aSEmmanuel Vadot clocks = <&clkpcie1>; 141*f126890aSEmmanuel Vadot clock-names = "pcie"; 142*f126890aSEmmanuel Vadot #address-cells = <3>; 143*f126890aSEmmanuel Vadot #size-cells = <2>; 144*f126890aSEmmanuel Vadot reg = <0x21021000 0x2000>, <0x21020000 0x1000>, <0x02620128 4>; 145*f126890aSEmmanuel Vadot ranges = <0x82000000 0 0x60000000 0x60000000 146*f126890aSEmmanuel Vadot 0 0x10000000>; 147*f126890aSEmmanuel Vadot 148*f126890aSEmmanuel Vadot status = "disabled"; 149*f126890aSEmmanuel Vadot device_type = "pci"; 150*f126890aSEmmanuel Vadot num-lanes = <2>; 151*f126890aSEmmanuel Vadot bus-range = <0x00 0xff>; 152*f126890aSEmmanuel Vadot 153*f126890aSEmmanuel Vadot /* error interrupt */ 154*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 385 IRQ_TYPE_EDGE_RISING>; 155*f126890aSEmmanuel Vadot #interrupt-cells = <1>; 156*f126890aSEmmanuel Vadot interrupt-map-mask = <0 0 0 7>; 157*f126890aSEmmanuel Vadot interrupt-map = <0 0 0 1 &pcie_intc1 0>, /* INT A */ 158*f126890aSEmmanuel Vadot <0 0 0 2 &pcie_intc1 1>, /* INT B */ 159*f126890aSEmmanuel Vadot <0 0 0 3 &pcie_intc1 2>, /* INT C */ 160*f126890aSEmmanuel Vadot <0 0 0 4 &pcie_intc1 3>; /* INT D */ 161*f126890aSEmmanuel Vadot 162*f126890aSEmmanuel Vadot pcie_msi_intc1: msi-interrupt-controller { 163*f126890aSEmmanuel Vadot interrupt-controller; 164*f126890aSEmmanuel Vadot #interrupt-cells = <1>; 165*f126890aSEmmanuel Vadot interrupt-parent = <&gic>; 166*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 377 IRQ_TYPE_EDGE_RISING>, 167*f126890aSEmmanuel Vadot <GIC_SPI 378 IRQ_TYPE_EDGE_RISING>, 168*f126890aSEmmanuel Vadot <GIC_SPI 379 IRQ_TYPE_EDGE_RISING>, 169*f126890aSEmmanuel Vadot <GIC_SPI 380 IRQ_TYPE_EDGE_RISING>, 170*f126890aSEmmanuel Vadot <GIC_SPI 381 IRQ_TYPE_EDGE_RISING>, 171*f126890aSEmmanuel Vadot <GIC_SPI 382 IRQ_TYPE_EDGE_RISING>, 172*f126890aSEmmanuel Vadot <GIC_SPI 383 IRQ_TYPE_EDGE_RISING>, 173*f126890aSEmmanuel Vadot <GIC_SPI 384 IRQ_TYPE_EDGE_RISING>; 174*f126890aSEmmanuel Vadot }; 175*f126890aSEmmanuel Vadot 176*f126890aSEmmanuel Vadot pcie_intc1: legacy-interrupt-controller { 177*f126890aSEmmanuel Vadot interrupt-controller; 178*f126890aSEmmanuel Vadot #interrupt-cells = <1>; 179*f126890aSEmmanuel Vadot interrupt-parent = <&gic>; 180*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 373 IRQ_TYPE_EDGE_RISING>, 181*f126890aSEmmanuel Vadot <GIC_SPI 374 IRQ_TYPE_EDGE_RISING>, 182*f126890aSEmmanuel Vadot <GIC_SPI 375 IRQ_TYPE_EDGE_RISING>, 183*f126890aSEmmanuel Vadot <GIC_SPI 376 IRQ_TYPE_EDGE_RISING>; 184*f126890aSEmmanuel Vadot }; 185*f126890aSEmmanuel Vadot }; 186*f126890aSEmmanuel Vadot 187*f126890aSEmmanuel Vadot mdio: mdio@24200f00 { 188*f126890aSEmmanuel Vadot compatible = "ti,keystone_mdio", "ti,davinci_mdio"; 189*f126890aSEmmanuel Vadot #address-cells = <1>; 190*f126890aSEmmanuel Vadot #size-cells = <0>; 191*f126890aSEmmanuel Vadot reg = <0x24200f00 0x100>; 192*f126890aSEmmanuel Vadot status = "disabled"; 193*f126890aSEmmanuel Vadot clocks = <&clkcpgmac>; 194*f126890aSEmmanuel Vadot clock-names = "fck"; 195*f126890aSEmmanuel Vadot bus_freq = <2500000>; 196*f126890aSEmmanuel Vadot }; 197*f126890aSEmmanuel Vadot /include/ "keystone-k2e-netcp.dtsi" 198*f126890aSEmmanuel Vadot}; 199