0001 // SPDX-License-Identifier: GPL-2.0
0002 /*
0003 * Keystone 2 Kepler/Hawking soc specific device tree
0004 *
0005 * Copyright (C) 2013-2017 Texas Instruments Incorporated - http://www.ti.com/
0006 */
0007
0008 #include <dt-bindings/reset/ti-syscon.h>
0009
0010 / {
0011 compatible = "ti,k2hk", "ti,keystone";
0012 model = "Texas Instruments Keystone 2 Kepler/Hawking SoC";
0013
0014 cpus {
0015 #address-cells = <1>;
0016 #size-cells = <0>;
0017
0018 interrupt-parent = <&gic>;
0019
0020 cpu@0 {
0021 compatible = "arm,cortex-a15";
0022 device_type = "cpu";
0023 reg = <0>;
0024 };
0025
0026 cpu@1 {
0027 compatible = "arm,cortex-a15";
0028 device_type = "cpu";
0029 reg = <1>;
0030 };
0031
0032 cpu@2 {
0033 compatible = "arm,cortex-a15";
0034 device_type = "cpu";
0035 reg = <2>;
0036 };
0037
0038 cpu@3 {
0039 compatible = "arm,cortex-a15";
0040 device_type = "cpu";
0041 reg = <3>;
0042 };
0043 };
0044
0045 aliases {
0046 rproc0 = &dsp0;
0047 rproc1 = &dsp1;
0048 rproc2 = &dsp2;
0049 rproc3 = &dsp3;
0050 rproc4 = &dsp4;
0051 rproc5 = &dsp5;
0052 rproc6 = &dsp6;
0053 rproc7 = &dsp7;
0054 };
0055 };
0056
0057 &soc0 {
0058 /include/ "keystone-k2hk-clocks.dtsi"
0059
0060 msm_ram: sram@c000000 {
0061 compatible = "mmio-sram";
0062 reg = <0x0c000000 0x600000>;
0063 ranges = <0x0 0x0c000000 0x600000>;
0064 #address-cells = <1>;
0065 #size-cells = <1>;
0066
0067 bm-sram@5f0000 {
0068 reg = <0x5f0000 0x8000>;
0069 };
0070 };
0071
0072 psc: power-sleep-controller@2350000 {
0073 pscrst: reset-controller {
0074 compatible = "ti,k2hk-pscrst", "ti,syscon-reset";
0075 #reset-cells = <1>;
0076
0077 ti,reset-bits = <
0078 0xa3c 8 0xa3c 8 0x83c 8 (ASSERT_CLEAR | DEASSERT_SET | STATUS_CLEAR) /* 0: dsp0 */
0079 0xa40 8 0xa40 8 0x840 8 (ASSERT_CLEAR | DEASSERT_SET | STATUS_CLEAR) /* 1: dsp1 */
0080 0xa44 8 0xa44 8 0x844 8 (ASSERT_CLEAR | DEASSERT_SET | STATUS_CLEAR) /* 2: dsp2 */
0081 0xa48 8 0xa48 8 0x848 8 (ASSERT_CLEAR | DEASSERT_SET | STATUS_CLEAR) /* 3: dsp3 */
0082 0xa4c 8 0xa4c 8 0x84c 8 (ASSERT_CLEAR | DEASSERT_SET | STATUS_CLEAR) /* 4: dsp4 */
0083 0xa50 8 0xa50 8 0x850 8 (ASSERT_CLEAR | DEASSERT_SET | STATUS_CLEAR) /* 5: dsp5 */
0084 0xa54 8 0xa54 8 0x854 8 (ASSERT_CLEAR | DEASSERT_SET | STATUS_CLEAR) /* 6: dsp6 */
0085 0xa58 8 0xa58 8 0x858 8 (ASSERT_CLEAR | DEASSERT_SET | STATUS_CLEAR) /* 7: dsp7 */
0086 >;
0087 };
0088 };
0089
0090 devctrl: device-state-control@2620000 {
0091 dspgpio0: keystone_dsp_gpio@240 {
0092 compatible = "ti,keystone-dsp-gpio";
0093 reg = <0x240 0x4>;
0094 gpio-controller;
0095 #gpio-cells = <2>;
0096 gpio,syscon-dev = <&devctrl 0x240>;
0097 };
0098
0099 dspgpio1: keystone_dsp_gpio@244 {
0100 compatible = "ti,keystone-dsp-gpio";
0101 reg = <0x244 0x4>;
0102 gpio-controller;
0103 #gpio-cells = <2>;
0104 gpio,syscon-dev = <&devctrl 0x244>;
0105 };
0106
0107 dspgpio2: keystone_dsp_gpio@248 {
0108 compatible = "ti,keystone-dsp-gpio";
0109 reg = <0x248 0x4>;
0110 gpio-controller;
0111 #gpio-cells = <2>;
0112 gpio,syscon-dev = <&devctrl 0x248>;
0113 };
0114
0115 dspgpio3: keystone_dsp_gpio@24c {
0116 compatible = "ti,keystone-dsp-gpio";
0117 reg = <0x24c 0x4>;
0118 gpio-controller;
0119 #gpio-cells = <2>;
0120 gpio,syscon-dev = <&devctrl 0x24c>;
0121 };
0122
0123 dspgpio4: keystone_dsp_gpio@250 {
0124 compatible = "ti,keystone-dsp-gpio";
0125 reg = <0x250 0x4>;
0126 gpio-controller;
0127 #gpio-cells = <2>;
0128 gpio,syscon-dev = <&devctrl 0x250>;
0129 };
0130
0131 dspgpio5: keystone_dsp_gpio@254 {
0132 compatible = "ti,keystone-dsp-gpio";
0133 reg = <0x254 0x4>;
0134 gpio-controller;
0135 #gpio-cells = <2>;
0136 gpio,syscon-dev = <&devctrl 0x254>;
0137 };
0138
0139 dspgpio6: keystone_dsp_gpio@258 {
0140 compatible = "ti,keystone-dsp-gpio";
0141 reg = <0x258 0x4>;
0142 gpio-controller;
0143 #gpio-cells = <2>;
0144 gpio,syscon-dev = <&devctrl 0x258>;
0145 };
0146
0147 dspgpio7: keystone_dsp_gpio@25c {
0148 compatible = "ti,keystone-dsp-gpio";
0149 reg = <0x25c 0x4>;
0150 gpio-controller;
0151 #gpio-cells = <2>;
0152 gpio,syscon-dev = <&devctrl 0x25c>;
0153 };
0154 };
0155
0156 dsp0: dsp@10800000 {
0157 compatible = "ti,k2hk-dsp";
0158 reg = <0x10800000 0x00100000>,
0159 <0x10e00000 0x00008000>,
0160 <0x10f00000 0x00008000>;
0161 reg-names = "l2sram", "l1pram", "l1dram";
0162 clocks = <&clkgem0>;
0163 ti,syscon-dev = <&devctrl 0x40>;
0164 resets = <&pscrst 0>;
0165 interrupt-parent = <&kirq0>;
0166 interrupts = <0 8>;
0167 interrupt-names = "vring", "exception";
0168 kick-gpios = <&dspgpio0 27 0>;
0169 status = "disabled";
0170 };
0171
0172 dsp1: dsp@11800000 {
0173 compatible = "ti,k2hk-dsp";
0174 reg = <0x11800000 0x00100000>,
0175 <0x11e00000 0x00008000>,
0176 <0x11f00000 0x00008000>;
0177 reg-names = "l2sram", "l1pram", "l1dram";
0178 clocks = <&clkgem1>;
0179 ti,syscon-dev = <&devctrl 0x44>;
0180 resets = <&pscrst 1>;
0181 interrupt-parent = <&kirq0>;
0182 interrupts = <1 9>;
0183 interrupt-names = "vring", "exception";
0184 kick-gpios = <&dspgpio1 27 0>;
0185 status = "disabled";
0186 };
0187
0188 dsp2: dsp@12800000 {
0189 compatible = "ti,k2hk-dsp";
0190 reg = <0x12800000 0x00100000>,
0191 <0x12e00000 0x00008000>,
0192 <0x12f00000 0x00008000>;
0193 reg-names = "l2sram", "l1pram", "l1dram";
0194 clocks = <&clkgem2>;
0195 ti,syscon-dev = <&devctrl 0x48>;
0196 resets = <&pscrst 2>;
0197 interrupt-parent = <&kirq0>;
0198 interrupts = <2 10>;
0199 interrupt-names = "vring", "exception";
0200 kick-gpios = <&dspgpio2 27 0>;
0201 status = "disabled";
0202 };
0203
0204 dsp3: dsp@13800000 {
0205 compatible = "ti,k2hk-dsp";
0206 reg = <0x13800000 0x00100000>,
0207 <0x13e00000 0x00008000>,
0208 <0x13f00000 0x00008000>;
0209 reg-names = "l2sram", "l1pram", "l1dram";
0210 clocks = <&clkgem3>;
0211 ti,syscon-dev = <&devctrl 0x4c>;
0212 resets = <&pscrst 3>;
0213 interrupt-parent = <&kirq0>;
0214 interrupts = <3 11>;
0215 interrupt-names = "vring", "exception";
0216 kick-gpios = <&dspgpio3 27 0>;
0217 status = "disabled";
0218 };
0219
0220 dsp4: dsp@14800000 {
0221 compatible = "ti,k2hk-dsp";
0222 reg = <0x14800000 0x00100000>,
0223 <0x14e00000 0x00008000>,
0224 <0x14f00000 0x00008000>;
0225 reg-names = "l2sram", "l1pram", "l1dram";
0226 clocks = <&clkgem4>;
0227 ti,syscon-dev = <&devctrl 0x50>;
0228 resets = <&pscrst 4>;
0229 interrupt-parent = <&kirq0>;
0230 interrupts = <4 12>;
0231 interrupt-names = "vring", "exception";
0232 kick-gpios = <&dspgpio4 27 0>;
0233 status = "disabled";
0234 };
0235
0236 dsp5: dsp@15800000 {
0237 compatible = "ti,k2hk-dsp";
0238 reg = <0x15800000 0x00100000>,
0239 <0x15e00000 0x00008000>,
0240 <0x15f00000 0x00008000>;
0241 reg-names = "l2sram", "l1pram", "l1dram";
0242 clocks = <&clkgem5>;
0243 ti,syscon-dev = <&devctrl 0x54>;
0244 resets = <&pscrst 5>;
0245 interrupt-parent = <&kirq0>;
0246 interrupts = <5 13>;
0247 interrupt-names = "vring", "exception";
0248 kick-gpios = <&dspgpio5 27 0>;
0249 status = "disabled";
0250 };
0251
0252 dsp6: dsp@16800000 {
0253 compatible = "ti,k2hk-dsp";
0254 reg = <0x16800000 0x00100000>,
0255 <0x16e00000 0x00008000>,
0256 <0x16f00000 0x00008000>;
0257 reg-names = "l2sram", "l1pram", "l1dram";
0258 clocks = <&clkgem6>;
0259 ti,syscon-dev = <&devctrl 0x58>;
0260 resets = <&pscrst 6>;
0261 interrupt-parent = <&kirq0>;
0262 interrupts = <6 14>;
0263 interrupt-names = "vring", "exception";
0264 kick-gpios = <&dspgpio6 27 0>;
0265 status = "disabled";
0266 };
0267
0268 dsp7: dsp@17800000 {
0269 compatible = "ti,k2hk-dsp";
0270 reg = <0x17800000 0x00100000>,
0271 <0x17e00000 0x00008000>,
0272 <0x17f00000 0x00008000>;
0273 reg-names = "l2sram", "l1pram", "l1dram";
0274 clocks = <&clkgem7>;
0275 ti,syscon-dev = <&devctrl 0x5c>;
0276 resets = <&pscrst 7>;
0277 interrupt-parent = <&kirq0>;
0278 interrupts = <7 15>;
0279 interrupt-names = "vring", "exception";
0280 kick-gpios = <&dspgpio7 27 0>;
0281 status = "disabled";
0282 };
0283
0284 mdio: mdio@2090300 {
0285 compatible = "ti,keystone_mdio", "ti,davinci_mdio";
0286 #address-cells = <1>;
0287 #size-cells = <0>;
0288 reg = <0x02090300 0x100>;
0289 status = "disabled";
0290 clocks = <&clkcpgmac>;
0291 clock-names = "fck";
0292 bus_freq = <2500000>;
0293 };
0294 /include/ "keystone-k2hk-netcp.dtsi"
0295 };