Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: GPL-2.0
0002 /*
0003  * Keystone 2 Lamarr SoC specific device tree
0004  *
0005  * Copyright (C) 2014-2017 Texas Instruments Incorporated - http://www.ti.com/
0006  */
0007 
0008 #include <dt-bindings/reset/ti-syscon.h>
0009 
0010 / {
0011         compatible = "ti,k2l", "ti,keystone";
0012         model = "Texas Instruments Keystone 2 Lamarr 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 
0033         aliases {
0034                 rproc0 = &dsp0;
0035                 rproc1 = &dsp1;
0036                 rproc2 = &dsp2;
0037                 rproc3 = &dsp3;
0038         };
0039 };
0040 
0041 &soc0 {
0042                 /include/ "keystone-k2l-clocks.dtsi"
0043 
0044                 uart2: serial@2348400 {
0045                         compatible = "ti,da830-uart", "ns16550a";
0046                         current-speed = <115200>;
0047                         reg-shift = <2>;
0048                         reg-io-width = <4>;
0049                         reg = <0x02348400 0x100>;
0050                         clocks = <&clkuart2>;
0051                         interrupts = <GIC_SPI 432 IRQ_TYPE_EDGE_RISING>;
0052                 };
0053 
0054                 uart3:  serial@2348800 {
0055                         compatible = "ti,da830-uart", "ns16550a";
0056                         current-speed = <115200>;
0057                         reg-shift = <2>;
0058                         reg-io-width = <4>;
0059                         reg = <0x02348800 0x100>;
0060                         clocks = <&clkuart3>;
0061                         interrupts = <GIC_SPI 435 IRQ_TYPE_EDGE_RISING>;
0062                 };
0063 
0064                 gpio1: gpio@2348000 {
0065                         compatible = "ti,keystone-gpio";
0066                         reg = <0x02348000 0x100>;
0067                         gpio-controller;
0068                         #gpio-cells = <2>;
0069                         /* HW Interrupts mapped to GPIO pins */
0070                         interrupts = <GIC_SPI 152 IRQ_TYPE_EDGE_RISING>,
0071                                         <GIC_SPI 153 IRQ_TYPE_EDGE_RISING>,
0072                                         <GIC_SPI 154 IRQ_TYPE_EDGE_RISING>,
0073                                         <GIC_SPI 155 IRQ_TYPE_EDGE_RISING>,
0074                                         <GIC_SPI 156 IRQ_TYPE_EDGE_RISING>,
0075                                         <GIC_SPI 157 IRQ_TYPE_EDGE_RISING>,
0076                                         <GIC_SPI 158 IRQ_TYPE_EDGE_RISING>,
0077                                         <GIC_SPI 159 IRQ_TYPE_EDGE_RISING>,
0078                                         <GIC_SPI 160 IRQ_TYPE_EDGE_RISING>,
0079                                         <GIC_SPI 161 IRQ_TYPE_EDGE_RISING>,
0080                                         <GIC_SPI 162 IRQ_TYPE_EDGE_RISING>,
0081                                         <GIC_SPI 163 IRQ_TYPE_EDGE_RISING>,
0082                                         <GIC_SPI 164 IRQ_TYPE_EDGE_RISING>,
0083                                         <GIC_SPI 165 IRQ_TYPE_EDGE_RISING>,
0084                                         <GIC_SPI 166 IRQ_TYPE_EDGE_RISING>,
0085                                         <GIC_SPI 167 IRQ_TYPE_EDGE_RISING>,
0086                                         <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>,
0087                                         <GIC_SPI 169 IRQ_TYPE_EDGE_RISING>,
0088                                         <GIC_SPI 170 IRQ_TYPE_EDGE_RISING>,
0089                                         <GIC_SPI 171 IRQ_TYPE_EDGE_RISING>,
0090                                         <GIC_SPI 172 IRQ_TYPE_EDGE_RISING>,
0091                                         <GIC_SPI 173 IRQ_TYPE_EDGE_RISING>,
0092                                         <GIC_SPI 174 IRQ_TYPE_EDGE_RISING>,
0093                                         <GIC_SPI 175 IRQ_TYPE_EDGE_RISING>,
0094                                         <GIC_SPI 176 IRQ_TYPE_EDGE_RISING>,
0095                                         <GIC_SPI 401 IRQ_TYPE_EDGE_RISING>,
0096                                         <GIC_SPI 402 IRQ_TYPE_EDGE_RISING>,
0097                                         <GIC_SPI 403 IRQ_TYPE_EDGE_RISING>,
0098                                         <GIC_SPI 404 IRQ_TYPE_EDGE_RISING>,
0099                                         <GIC_SPI 405 IRQ_TYPE_EDGE_RISING>,
0100                                         <GIC_SPI 406 IRQ_TYPE_EDGE_RISING>,
0101                                         <GIC_SPI 407 IRQ_TYPE_EDGE_RISING>;
0102                         clocks = <&clkgpio>;
0103                         clock-names = "gpio";
0104                         ti,ngpio = <32>;
0105                         ti,davinci-gpio-unbanked = <32>;
0106                 };
0107 
0108                 k2l_pmx: pinmux@2620690 {
0109                         compatible = "pinctrl-single";
0110                         reg = <0x02620690 0xc>;
0111                         #address-cells = <1>;
0112                         #size-cells = <0>;
0113                         #pinctrl-cells = <2>;
0114                         pinctrl-single,bit-per-mux;
0115                         pinctrl-single,register-width = <32>;
0116                         pinctrl-single,function-mask = <0x1>;
0117                         status = "disabled";
0118 
0119                         uart3_emifa_pins: pinmux_uart3_emifa_pins {
0120                                 pinctrl-single,bits = <
0121                                         /* UART3_EMIFA_SEL */
0122                                         0x0 0x0  0xc0
0123                                 >;
0124                         };
0125 
0126                         uart2_emifa_pins: pinmux_uart2_emifa_pins {
0127                         pinctrl-single,bits = <
0128                                         /* UART2_EMIFA_SEL */
0129                                         0x0 0x0  0x30
0130                                 >;
0131                         };
0132 
0133                         uart01_spi2_pins: pinmux_uart01_spi2_pins {
0134                                 pinctrl-single,bits = <
0135                                         /* UART01_SPI2_SEL */
0136                                         0x0 0x0 0x4
0137                                 >;
0138                         };
0139 
0140                         dfesync_rp1_pins: pinmux_dfesync_rp1_pins{
0141                                 pinctrl-single,bits = <
0142                                         /* DFESYNC_RP1_SEL */
0143                                         0x0 0x0 0x2
0144                                 >;
0145                         };
0146 
0147                         avsif_pins: pinmux_avsif_pins {
0148                                 pinctrl-single,bits = <
0149                                         /* AVSIF_SEL */
0150                                         0x0 0x0 0x1
0151                                 >;
0152                         };
0153 
0154                         gpio_emu_pins: pinmux_gpio_emu_pins {
0155                                 pinctrl-single,bits = <
0156                                 /*
0157                                  * GPIO_EMU_SEL[31]: 0-GPIO31, 1-EMU33
0158                                  * GPIO_EMU_SEL[30]: 0-GPIO30, 1-EMU32
0159                                  * GPIO_EMU_SEL[29]: 0-GPIO29, 1-EMU31
0160                                  * GPIO_EMU_SEL[28]: 0-GPIO28, 1-EMU30
0161                                  * GPIO_EMU_SEL[27]: 0-GPIO27, 1-EMU29
0162                                  * GPIO_EMU_SEL[26]: 0-GPIO26, 1-EMU28
0163                                  * GPIO_EMU_SEL[25]: 0-GPIO25, 1-EMU27
0164                                  * GPIO_EMU_SEL[24]: 0-GPIO24, 1-EMU26
0165                                  * GPIO_EMU_SEL[23]: 0-GPIO23, 1-EMU25
0166                                  * GPIO_EMU_SEL[22]: 0-GPIO22, 1-EMU24
0167                                  * GPIO_EMU_SEL[21]: 0-GPIO21, 1-EMU23
0168                                  * GPIO_EMU_SEL[20]: 0-GPIO20, 1-EMU22
0169                                  * GPIO_EMU_SEL[19]: 0-GPIO19, 1-EMU21
0170                                  * GPIO_EMU_SEL[18]: 0-GPIO18, 1-EMU20
0171                                  * GPIO_EMU_SEL[17]: 0-GPIO17, 1-EMU19
0172                                  */
0173                                         0x4 0x0000 0xFFFE0000
0174                                 >;
0175                         };
0176 
0177                         gpio_timio_pins: pinmux_gpio_timio_pins {
0178                                 pinctrl-single,bits = <
0179                                 /*
0180                                  * GPIO_TIMIO_SEL[15]: 0-GPIO15, 1-TIMO7
0181                                  * GPIO_TIMIO_SEL[14]: 0-GPIO14, 1-TIMO6
0182                                  * GPIO_TIMIO_SEL[13]: 0-GPIO13, 1-TIMO5
0183                                  * GPIO_TIMIO_SEL[12]: 0-GPIO12, 1-TIMO4
0184                                  * GPIO_TIMIO_SEL[11]: 0-GPIO11, 1-TIMO3
0185                                  * GPIO_TIMIO_SEL[10]: 0-GPIO10, 1-TIMO2
0186                                  * GPIO_TIMIO_SEL[9]: 0-GPIO9, 1-TIMI7
0187                                  * GPIO_TIMIO_SEL[8]: 0-GPIO8, 1-TIMI6
0188                                  * GPIO_TIMIO_SEL[7]: 0-GPIO7, 1-TIMI5
0189                                  * GPIO_TIMIO_SEL[6]: 0-GPIO6, 1-TIMI4
0190                                  * GPIO_TIMIO_SEL[5]: 0-GPIO5, 1-TIMI3
0191                                  * GPIO_TIMIO_SEL[4]: 0-GPIO4, 1-TIMI2
0192                                  */
0193                                         0x4 0x0 0xFFF0
0194                                 >;
0195                         };
0196 
0197                         gpio_spi2cs_pins: pinmux_gpio_spi2cs_pins {
0198                                 pinctrl-single,bits = <
0199                                 /*
0200                                  * GPIO_SPI2CS_SEL[3]: 0-GPIO3, 1-SPI2CS4
0201                                  * GPIO_SPI2CS_SEL[2]: 0-GPIO2, 1-SPI2CS3
0202                                  * GPIO_SPI2CS_SEL[1]: 0-GPIO1, 1-SPI2CS2
0203                                  * GPIO_SPI2CS_SEL[0]: 0-GPIO0, 1-SPI2CS1
0204                                  */
0205                                         0x4 0x0 0xF
0206                                 >;
0207                         };
0208 
0209                         gpio_dfeio_pins: pinmux_gpio_dfeio_pins {
0210                                 pinctrl-single,bits = <
0211                                 /*
0212                                  * GPIO_DFEIO_SEL[31]: 0-DFEIO17, 1-GPIO63
0213                                  * GPIO_DFEIO_SEL[30]: 0-DFEIO16, 1-GPIO62
0214                                  * GPIO_DFEIO_SEL[29]: 0-DFEIO15, 1-GPIO61
0215                                  * GPIO_DFEIO_SEL[28]: 0-DFEIO14, 1-GPIO60
0216                                  * GPIO_DFEIO_SEL[27]: 0-DFEIO13, 1-GPIO59
0217                                  * GPIO_DFEIO_SEL[26]: 0-DFEIO12, 1-GPIO58
0218                                  * GPIO_DFEIO_SEL[25]: 0-DFEIO11, 1-GPIO57
0219                                  * GPIO_DFEIO_SEL[24]: 0-DFEIO10, 1-GPIO56
0220                                  * GPIO_DFEIO_SEL[23]: 0-DFEIO9, 1-GPIO55
0221                                  * GPIO_DFEIO_SEL[22]: 0-DFEIO8, 1-GPIO54
0222                                  * GPIO_DFEIO_SEL[21]: 0-DFEIO7, 1-GPIO53
0223                                  * GPIO_DFEIO_SEL[20]: 0-DFEIO6, 1-GPIO52
0224                                  * GPIO_DFEIO_SEL[19]: 0-DFEIO5, 1-GPIO51
0225                                  * GPIO_DFEIO_SEL[18]: 0-DFEIO4, 1-GPIO50
0226                                  * GPIO_DFEIO_SEL[17]: 0-DFEIO3, 1-GPIO49
0227                                  * GPIO_DFEIO_SEL[16]: 0-DFEIO2, 1-GPIO48
0228                                  */
0229                                         0x8 0x0 0xFFFF0000
0230                                 >;
0231                         };
0232 
0233                         gpio_emifa_pins: pinmux_gpio_emifa_pins {
0234                                 pinctrl-single,bits = <
0235                                 /*
0236                                  * GPIO_EMIFA_SEL[15]: 0-EMIFA17, 1-GPIO47
0237                                  * GPIO_EMIFA_SEL[14]: 0-EMIFA16, 1-GPIO46
0238                                  * GPIO_EMIFA_SEL[13]: 0-EMIFA15, 1-GPIO45
0239                                  * GPIO_EMIFA_SEL[12]: 0-EMIFA14, 1-GPIO44
0240                                  * GPIO_EMIFA_SEL[11]: 0-EMIFA13, 1-GPIO43
0241                                  * GPIO_EMIFA_SEL[10]: 0-EMIFA10, 1-GPIO42
0242                                  * GPIO_EMIFA_SEL[9]: 0-EMIFA9, 1-GPIO41
0243                                  * GPIO_EMIFA_SEL[8]: 0-EMIFA8, 1-GPIO40
0244                                  * GPIO_EMIFA_SEL[7]: 0-EMIFA7, 1-GPIO39
0245                                  * GPIO_EMIFA_SEL[6]: 0-EMIFA6, 1-GPIO38
0246                                  * GPIO_EMIFA_SEL[5]: 0-EMIFA5, 1-GPIO37
0247                                  * GPIO_EMIFA_SEL[4]: 0-EMIFA4, 1-GPIO36
0248                                  * GPIO_EMIFA_SEL[3]: 0-EMIFA3, 1-GPIO35
0249                                  * GPIO_EMIFA_SEL[2]: 0-EMIFA2, 1-GPIO34
0250                                  * GPIO_EMIFA_SEL[1]: 0-EMIFA1, 1-GPIO33
0251                                  * GPIO_EMIFA_SEL[0]: 0-EMIFA0, 1-GPIO32
0252                                  */
0253                                         0x8 0x0 0xFFFF
0254                                 >;
0255                         };
0256                 };
0257 
0258                 msm_ram: sram@c000000 {
0259                         compatible = "mmio-sram";
0260                         reg = <0x0c000000 0x200000>;
0261                         ranges = <0x0 0x0c000000 0x200000>;
0262                         #address-cells = <1>;
0263                         #size-cells = <1>;
0264 
0265                         bm-sram@1f8000 {
0266                                 reg = <0x001f8000 0x8000>;
0267                         };
0268                 };
0269 
0270                 psc: power-sleep-controller@2350000 {
0271                         pscrst: reset-controller {
0272                                 compatible = "ti,k2l-pscrst", "ti,syscon-reset";
0273                                 #reset-cells = <1>;
0274 
0275                                 ti,reset-bits = <
0276                                         0xa3c 8 0xa3c 8 0x83c 8 (ASSERT_CLEAR | DEASSERT_SET | STATUS_CLEAR) /* 0: dsp0 */
0277                                         0xa40 8 0xa40 8 0x840 8 (ASSERT_CLEAR | DEASSERT_SET | STATUS_CLEAR) /* 1: dsp1 */
0278                                         0xa44 8 0xa44 8 0x844 8 (ASSERT_CLEAR | DEASSERT_SET | STATUS_CLEAR) /* 2: dsp2 */
0279                                         0xa48 8 0xa48 8 0x848 8 (ASSERT_CLEAR | DEASSERT_SET | STATUS_CLEAR) /* 3: dsp3 */
0280                                 >;
0281                         };
0282                 };
0283 
0284                 osr: sram@70000000 {
0285                         compatible = "mmio-sram";
0286                         reg = <0x70000000 0x10000>;
0287                         #address-cells = <1>;
0288                         #size-cells = <1>;
0289                         clocks = <&clkosr>;
0290                 };
0291 
0292                 devctrl: device-state-control@2620000 {
0293                         dspgpio0: keystone_dsp_gpio@240 {
0294                                 compatible = "ti,keystone-dsp-gpio";
0295                                 reg = <0x240 0x4>;
0296                                 gpio-controller;
0297                                 #gpio-cells = <2>;
0298                                 gpio,syscon-dev = <&devctrl 0x240>;
0299                         };
0300 
0301                         dspgpio1: keystone_dsp_gpio@244 {
0302                                 compatible = "ti,keystone-dsp-gpio";
0303                                 reg = <0x244 0x4>;
0304                                 gpio-controller;
0305                                 #gpio-cells = <2>;
0306                                 gpio,syscon-dev = <&devctrl 0x244>;
0307                         };
0308 
0309                         dspgpio2: keystone_dsp_gpio@248 {
0310                                 compatible = "ti,keystone-dsp-gpio";
0311                                 reg = <0x248 0x4>;
0312                                 gpio-controller;
0313                                 #gpio-cells = <2>;
0314                                 gpio,syscon-dev = <&devctrl 0x248>;
0315                         };
0316 
0317                         dspgpio3: keystone_dsp_gpio@24c {
0318                                 compatible = "ti,keystone-dsp-gpio";
0319                                 reg = <0x24c 0x4>;
0320                                 gpio-controller;
0321                                 #gpio-cells = <2>;
0322                                 gpio,syscon-dev = <&devctrl 0x24c>;
0323                         };
0324                 };
0325 
0326                 dsp0: dsp@10800000 {
0327                         compatible = "ti,k2l-dsp";
0328                         reg = <0x10800000 0x00100000>,
0329                               <0x10e00000 0x00008000>,
0330                               <0x10f00000 0x00008000>;
0331                         reg-names = "l2sram", "l1pram", "l1dram";
0332                         clocks = <&clkgem0>;
0333                         ti,syscon-dev = <&devctrl 0x844>;
0334                         resets = <&pscrst 0>;
0335                         interrupt-parent = <&kirq0>;
0336                         interrupts = <0 8>;
0337                         interrupt-names = "vring", "exception";
0338                         kick-gpios = <&dspgpio0 27 0>;
0339                         status = "disabled";
0340                 };
0341 
0342                 dsp1: dsp@11800000 {
0343                         compatible = "ti,k2l-dsp";
0344                         reg = <0x11800000 0x00100000>,
0345                               <0x11e00000 0x00008000>,
0346                               <0x11f00000 0x00008000>;
0347                         reg-names = "l2sram", "l1pram", "l1dram";
0348                         clocks = <&clkgem1>;
0349                         ti,syscon-dev = <&devctrl 0x848>;
0350                         resets = <&pscrst 1>;
0351                         interrupt-parent = <&kirq0>;
0352                         interrupts = <1 9>;
0353                         interrupt-names = "vring", "exception";
0354                         kick-gpios = <&dspgpio1 27 0>;
0355                         status = "disabled";
0356                 };
0357 
0358                 dsp2: dsp@12800000 {
0359                         compatible = "ti,k2l-dsp";
0360                         reg = <0x12800000 0x00100000>,
0361                               <0x12e00000 0x00008000>,
0362                               <0x12f00000 0x00008000>;
0363                         reg-names = "l2sram", "l1pram", "l1dram";
0364                         clocks = <&clkgem2>;
0365                         ti,syscon-dev = <&devctrl 0x84c>;
0366                         resets = <&pscrst 2>;
0367                         interrupt-parent = <&kirq0>;
0368                         interrupts = <2 10>;
0369                         interrupt-names = "vring", "exception";
0370                         kick-gpios = <&dspgpio2 27 0>;
0371                         status = "disabled";
0372                 };
0373 
0374                 dsp3: dsp@13800000 {
0375                         compatible = "ti,k2l-dsp";
0376                         reg = <0x13800000 0x00100000>,
0377                               <0x13e00000 0x00008000>,
0378                               <0x13f00000 0x00008000>;
0379                         reg-names = "l2sram", "l1pram", "l1dram";
0380                         clocks = <&clkgem3>;
0381                         ti,syscon-dev = <&devctrl 0x850>;
0382                         resets = <&pscrst 3>;
0383                         interrupt-parent = <&kirq0>;
0384                         interrupts = <3 11>;
0385                         interrupt-names = "vring", "exception";
0386                         kick-gpios = <&dspgpio3 27 0>;
0387                         status = "disabled";
0388                 };
0389 
0390                 mdio: mdio@26200f00 {
0391                         compatible = "ti,keystone_mdio", "ti,davinci_mdio";
0392                         #address-cells = <1>;
0393                         #size-cells = <0>;
0394                         reg = <0x26200f00 0x100>;
0395                         status = "disabled";
0396                         clocks = <&clkcpgmac>;
0397                         clock-names = "fck";
0398                         bus_freq = <2500000>;
0399                 };
0400                 /include/ "keystone-k2l-netcp.dtsi"
0401 };
0402 
0403 &spi0 {
0404        ti,davinci-spi-num-cs = <5>;
0405 };
0406 
0407 &spi1 {
0408        ti,davinci-spi-num-cs = <3>;
0409 };
0410 
0411 &spi2 {
0412        ti,davinci-spi-num-cs = <5>;
0413        /* Pin muxed. Enabled and configured by Bootloader */
0414        status = "disabled";
0415 };