Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
0002 /*
0003  * Device Tree Source for the TMPV7708
0004  *
0005  * (C) Copyright 2018 - 2020, Toshiba Corporation.
0006  * (C) Copyright 2020, Nobuhiro Iwamatsu <nobuhiro1.iwamatsu@toshiba.co.jp>
0007  *
0008  */
0009 
0010 #include <dt-bindings/clock/toshiba,tmpv770x.h>
0011 #include <dt-bindings/interrupt-controller/irq.h>
0012 #include <dt-bindings/interrupt-controller/arm-gic.h>
0013 
0014 /memreserve/ 0x81000000 0x00300000;     /* cpu-release-addr */
0015 
0016 / {
0017         compatible = "toshiba,tmpv7708";
0018         #address-cells = <2>;
0019         #size-cells = <2>;
0020 
0021         cpus {
0022                 #address-cells = <1>;
0023                 #size-cells = <0>;
0024 
0025                 cpu-map {
0026                         cluster0 {
0027                                 core0 {
0028                                         cpu = <&cpu0>;
0029                                 };
0030                                 core1 {
0031                                         cpu = <&cpu1>;
0032                                 };
0033                                 core2 {
0034                                         cpu = <&cpu2>;
0035                                 };
0036                                 core3 {
0037                                         cpu = <&cpu3>;
0038                                 };
0039                         };
0040 
0041                         cluster1 {
0042                                 core0 {
0043                                         cpu = <&cpu4>;
0044                                 };
0045                                 core1 {
0046                                         cpu = <&cpu5>;
0047                                 };
0048                                 core2 {
0049                                         cpu = <&cpu6>;
0050                                 };
0051                                 core3 {
0052                                         cpu = <&cpu7>;
0053                                 };
0054                         };
0055                 };
0056 
0057                 cpu0: cpu@0 {
0058                         compatible = "arm,cortex-a53";
0059                         device_type = "cpu";
0060                         enable-method = "spin-table";
0061                         cpu-release-addr = <0x0 0x81100000>;
0062                         reg = <0x00>;
0063                 };
0064 
0065                 cpu1: cpu@1 {
0066                         compatible = "arm,cortex-a53";
0067                         device_type = "cpu";
0068                         enable-method = "spin-table";
0069                         cpu-release-addr = <0x0 0x81100000>;
0070                         reg = <0x01>;
0071                 };
0072 
0073                 cpu2: cpu@2 {
0074                         compatible = "arm,cortex-a53";
0075                         device_type = "cpu";
0076                         enable-method = "spin-table";
0077                         cpu-release-addr = <0x0 0x81100000>;
0078                         reg = <0x02>;
0079                 };
0080 
0081                 cpu3: cpu@3 {
0082                         compatible = "arm,cortex-a53";
0083                         device_type = "cpu";
0084                         enable-method = "spin-table";
0085                         cpu-release-addr = <0x0 0x81100000>;
0086                         reg = <0x03>;
0087                 };
0088 
0089                 cpu4: cpu@100 {
0090                         compatible = "arm,cortex-a53";
0091                         device_type = "cpu";
0092                         enable-method = "spin-table";
0093                         cpu-release-addr = <0x0 0x81100000>;
0094                         reg = <0x100>;
0095                 };
0096 
0097                 cpu5: cpu@101 {
0098                         compatible = "arm,cortex-a53";
0099                         device_type = "cpu";
0100                         enable-method = "spin-table";
0101                         cpu-release-addr = <0x0 0x81100000>;
0102                         reg = <0x101>;
0103                 };
0104 
0105                 cpu6: cpu@102 {
0106                         compatible = "arm,cortex-a53";
0107                         device_type = "cpu";
0108                         enable-method = "spin-table";
0109                         cpu-release-addr = <0x0 0x81100000>;
0110                         reg = <0x102>;
0111                 };
0112 
0113                 cpu7: cpu@103 {
0114                         compatible = "arm,cortex-a53";
0115                         device_type = "cpu";
0116                         enable-method = "spin-table";
0117                         cpu-release-addr = <0x0 0x81100000>;
0118                         reg = <0x103>;
0119                 };
0120         };
0121 
0122         timer {
0123                 compatible = "arm,armv8-timer";
0124                 interrupt-parent = <&gic>;
0125                 interrupts =
0126                         <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
0127                         <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
0128                         <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
0129                         <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>;
0130         };
0131 
0132         extclk100mhz: extclk100mhz {
0133                 compatible = "fixed-clock";
0134                 #clock-cells = <0>;
0135                 clock-frequency = <100000000>;
0136                 clock-output-names = "extclk100mhz";
0137         };
0138 
0139         osc2_clk: osc2-clk {
0140                 compatible = "fixed-clock";
0141                 clock-frequency = <20000000>;
0142                 #clock-cells = <0>;
0143         };
0144 
0145         soc {
0146                 #address-cells = <2>;
0147                 #size-cells = <2>;
0148                 compatible = "simple-bus";
0149                 interrupt-parent = <&gic>;
0150                 ranges;
0151 
0152                 gic: interrupt-controller@24001000 {
0153                         compatible = "arm,gic-400";
0154                         interrupt-controller;
0155                         #interrupt-cells = <3>;
0156                         interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>;
0157                         reg = <0 0x24001000 0 0x1000>,
0158                               <0 0x24002000 0 0x2000>,
0159                               <0 0x24004000 0 0x2000>,
0160                               <0 0x24006000 0 0x2000>;
0161                 };
0162 
0163                 pmux: pmux@24190000 {
0164                         compatible = "toshiba,tmpv7708-pinctrl";
0165                         reg = <0 0x24190000 0 0x10000>;
0166                 };
0167 
0168                 gpio: gpio@28020000 {
0169                         compatible = "toshiba,gpio-tmpv7708";
0170                         reg = <0 0x28020000 0 0x1000>;
0171                         #gpio-cells = <0x2>;
0172                         gpio-ranges = <&pmux 0 0 32>;
0173                         gpio-controller;
0174                         interrupt-controller;
0175                         #interrupt-cells = <2>;
0176                         interrupt-parent = <&gic>;
0177                 };
0178 
0179                 pipllct: clock-controller@24220000 {
0180                         compatible = "toshiba,tmpv7708-pipllct";
0181                         reg = <0 0x24220000 0 0x820>;
0182                         #clock-cells = <1>;
0183                         clocks = <&osc2_clk>;
0184                 };
0185 
0186                 pismu: syscon@24200000 {
0187                         compatible = "toshiba,tmpv7708-pismu", "syscon";
0188                         reg = <0 0x24200000 0 0x2140>;
0189                         #clock-cells = <1>;
0190                         #reset-cells = <1>;
0191                 };
0192 
0193                 uart0: serial@28200000 {
0194                         compatible = "arm,pl011", "arm,primecell";
0195                         reg = <0 0x28200000 0 0x1000>;
0196                         interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>;
0197                         pinctrl-names = "default";
0198                         pinctrl-0 = <&uart0_pins>;
0199                         clocks = <&pismu TMPV770X_CLK_PIUART0>;
0200                         clock-names = "apb_pclk";
0201                         status = "disabled";
0202                 };
0203 
0204                 uart1: serial@28201000 {
0205                         compatible = "arm,pl011", "arm,primecell";
0206                         reg = <0 0x28201000 0 0x1000>;
0207                         interrupts = <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>;
0208                         pinctrl-names = "default";
0209                         pinctrl-0 = <&uart1_pins>;
0210                         clocks = <&pismu TMPV770X_CLK_PIUART1>;
0211                         clock-names = "apb_pclk";
0212                         status = "disabled";
0213                 };
0214 
0215                 uart2: serial@28202000 {
0216                         compatible = "arm,pl011", "arm,primecell";
0217                         reg = <0 0x28202000 0 0x1000>;
0218                         interrupts = <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>;
0219                         pinctrl-names = "default";
0220                         pinctrl-0 = <&uart2_pins>;
0221                         clocks = <&pismu TMPV770X_CLK_PIUART2>;
0222                         clock-names = "apb_pclk";
0223                         status = "disabled";
0224                 };
0225 
0226                 uart3: serial@28203000 {
0227                         compatible = "arm,pl011", "arm,primecell";
0228                         reg = <0 0x28203000 0 0x1000>;
0229                         interrupts = <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>;
0230                         pinctrl-names = "default";
0231                         pinctrl-0 = <&uart3_pins>;
0232                         clocks = <&pismu TMPV770X_CLK_PIUART2>;
0233                         clock-names = "apb_pclk";
0234                         status = "disabled";
0235                 };
0236 
0237                 i2c0: i2c@28030000 {
0238                         compatible = "snps,designware-i2c";
0239                         reg = <0 0x28030000 0 0x1000>;
0240                         interrupts = <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>;
0241                         pinctrl-names = "default";
0242                         pinctrl-0 = <&i2c0_pins>;
0243                         clock-frequency = <400000>;
0244                         #address-cells = <1>;
0245                         #size-cells = <0>;
0246                         clocks = <&pismu TMPV770X_CLK_PII2C0>;
0247                         status = "disabled";
0248                 };
0249 
0250                 i2c1: i2c@28031000 {
0251                         compatible = "snps,designware-i2c";
0252                         reg = <0 0x28031000 0 0x1000>;
0253                         interrupts = <GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>;
0254                         pinctrl-names = "default";
0255                         pinctrl-0 = <&i2c1_pins>;
0256                         clock-frequency = <400000>;
0257                         #address-cells = <1>;
0258                         #size-cells = <0>;
0259                         clocks = <&pismu TMPV770X_CLK_PII2C1>;
0260                         status = "disabled";
0261                 };
0262 
0263                 i2c2: i2c@28032000 {
0264                         compatible = "snps,designware-i2c";
0265                         reg = <0 0x28032000 0 0x1000>;
0266                         interrupts = <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>;
0267                         pinctrl-names = "default";
0268                         pinctrl-0 = <&i2c2_pins>;
0269                         clock-frequency = <400000>;
0270                         #address-cells = <1>;
0271                         #size-cells = <0>;
0272                         clocks = <&pismu TMPV770X_CLK_PII2C2>;
0273                         status = "disabled";
0274                 };
0275 
0276                 i2c3: i2c@28033000 {
0277                         compatible = "snps,designware-i2c";
0278                         reg = <0 0x28033000 0 0x1000>;
0279                         interrupts = <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>;
0280                         pinctrl-names = "default";
0281                         pinctrl-0 = <&i2c3_pins>;
0282                         clock-frequency = <400000>;
0283                         #address-cells = <1>;
0284                         #size-cells = <0>;
0285                         clocks = <&pismu TMPV770X_CLK_PII2C3>;
0286                         status = "disabled";
0287                 };
0288 
0289                 i2c4: i2c@28034000 {
0290                         compatible = "snps,designware-i2c";
0291                         reg = <0 0x28034000 0 0x1000>;
0292                         interrupts = <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>;
0293                         pinctrl-names = "default";
0294                         pinctrl-0 = <&i2c4_pins>;
0295                         clock-frequency = <400000>;
0296                         #address-cells = <1>;
0297                         #size-cells = <0>;
0298                         clocks = <&pismu TMPV770X_CLK_PII2C4>;
0299                         status = "disabled";
0300                 };
0301 
0302                 i2c5: i2c@28035000 {
0303                         compatible = "snps,designware-i2c";
0304                         reg = <0 0x28035000 0 0x1000>;
0305                         interrupts = <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>;
0306                         pinctrl-names = "default";
0307                         pinctrl-0 = <&i2c5_pins>;
0308                         clock-frequency = <400000>;
0309                         #address-cells = <1>;
0310                         #size-cells = <0>;
0311                         clocks = <&pismu TMPV770X_CLK_PII2C5>;
0312                         status = "disabled";
0313                 };
0314 
0315                 i2c6: i2c@28036000 {
0316                         compatible = "snps,designware-i2c";
0317                         reg = <0 0x28036000 0 0x1000>;
0318                         interrupts = <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>;
0319                         pinctrl-names = "default";
0320                         pinctrl-0 = <&i2c6_pins>;
0321                         clock-frequency = <400000>;
0322                         #address-cells = <1>;
0323                         #size-cells = <0>;
0324                         clocks = <&pismu TMPV770X_CLK_PII2C6>;
0325                         status = "disabled";
0326                 };
0327 
0328                 i2c7: i2c@28037000 {
0329                         compatible = "snps,designware-i2c";
0330                         reg = <0 0x28037000 0 0x1000>;
0331                         interrupts = <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>;
0332                         pinctrl-names = "default";
0333                         pinctrl-0 = <&i2c7_pins>;
0334                         clock-frequency = <400000>;
0335                         #address-cells = <1>;
0336                         #size-cells = <0>;
0337                         clocks = <&pismu TMPV770X_CLK_PII2C7>;
0338                         status = "disabled";
0339                 };
0340 
0341                 i2c8: i2c@28038000 {
0342                         compatible = "snps,designware-i2c";
0343                         reg = <0 0x28038000 0 0x1000>;
0344                         interrupts = <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>;
0345                         pinctrl-names = "default";
0346                         pinctrl-0 = <&i2c8_pins>;
0347                         clock-frequency = <400000>;
0348                         #address-cells = <1>;
0349                         #size-cells = <0>;
0350                         clocks = <&pismu TMPV770X_CLK_PII2C8>;
0351                         status = "disabled";
0352                 };
0353 
0354                 spi0: spi@28140000 {
0355                         compatible = "arm,pl022", "arm,primecell";
0356                         reg = <0 0x28140000 0 0x1000>;
0357                         interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>;
0358                         pinctrl-names = "default";
0359                         pinctrl-0 = <&spi0_pins>;
0360                         num-cs = <1>;
0361                         #address-cells = <1>;
0362                         #size-cells = <0>;
0363                         clocks = <&pismu TMPV770X_CLK_PISPI1>;
0364                         clock-names = "apb_pclk";
0365                         status = "disabled";
0366                 };
0367 
0368                 spi1: spi@28141000 {
0369                         compatible = "arm,pl022", "arm,primecell";
0370                         reg = <0 0x28141000 0 0x1000>;
0371                         interrupts = <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>;
0372                         pinctrl-names = "default";
0373                         pinctrl-0 = <&spi1_pins>;
0374                         num-cs = <1>;
0375                         #address-cells = <1>;
0376                         #size-cells = <0>;
0377                         clocks = <&pismu TMPV770X_CLK_PISPI1>;
0378                         clock-names = "apb_pclk";
0379                         status = "disabled";
0380                 };
0381 
0382                 spi2: spi@28142000 {
0383                         compatible = "arm,pl022", "arm,primecell";
0384                         reg = <0 0x28142000 0 0x1000>;
0385                         interrupts = <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>;
0386                         pinctrl-names = "default";
0387                         pinctrl-0 = <&spi2_pins>;
0388                         num-cs = <1>;
0389                         #address-cells = <1>;
0390                         #size-cells = <0>;
0391                         clocks = <&pismu TMPV770X_CLK_PISPI2>;
0392                         clock-names = "apb_pclk";
0393                         status = "disabled";
0394                 };
0395 
0396                 spi3: spi@28143000 {
0397                         compatible = "arm,pl022", "arm,primecell";
0398                         reg = <0 0x28143000 0 0x1000>;
0399                         interrupts = <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>;
0400                         pinctrl-names = "default";
0401                         pinctrl-0 = <&spi3_pins>;
0402                         num-cs = <1>;
0403                         #address-cells = <1>;
0404                         #size-cells = <0>;
0405                         clocks = <&pismu TMPV770X_CLK_PISPI3>;
0406                         clock-names = "apb_pclk";
0407                         status = "disabled";
0408                 };
0409 
0410                 spi4: spi@28144000 {
0411                         compatible = "arm,pl022", "arm,primecell";
0412                         reg = <0 0x28144000 0 0x1000>;
0413                         interrupts = <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>;
0414                         pinctrl-names = "default";
0415                         pinctrl-0 = <&spi4_pins>;
0416                         num-cs = <1>;
0417                         #address-cells = <1>;
0418                         #size-cells = <0>;
0419                         clocks = <&pismu TMPV770X_CLK_PISPI4>;
0420                         clock-names = "apb_pclk";
0421                         status = "disabled";
0422                 };
0423 
0424                 spi5: spi@28145000 {
0425                         compatible = "arm,pl022", "arm,primecell";
0426                         reg = <0 0x28145000 0 0x1000>;
0427                         interrupts = <GIC_SPI 128 IRQ_TYPE_LEVEL_HIGH>;
0428                         pinctrl-names = "default";
0429                         pinctrl-0 = <&spi5_pins>;
0430                         num-cs = <1>;
0431                         #address-cells = <1>;
0432                         #size-cells = <0>;
0433                         clocks = <&pismu TMPV770X_CLK_PISPI5>;
0434                         clock-names = "apb_pclk";
0435                         status = "disabled";
0436                 };
0437 
0438                 spi6: spi@28146000 {
0439                         compatible = "arm,pl022", "arm,primecell";
0440                         reg = <0 0x28146000 0 0x1000>;
0441                         interrupts = <GIC_SPI 129 IRQ_TYPE_LEVEL_HIGH>;
0442                         pinctrl-names = "default";
0443                         pinctrl-0 = <&spi6_pins>;
0444                         num-cs = <1>;
0445                         #address-cells = <1>;
0446                         #size-cells = <0>;
0447                         clocks = <&pismu TMPV770X_CLK_PISPI6>;
0448                         clock-names = "apb_pclk";
0449                         status = "disabled";
0450                 };
0451 
0452                 piether: ethernet@28000000 {
0453                         compatible = "toshiba,visconti-dwmac", "snps,dwmac-4.20a";
0454                         reg = <0 0x28000000 0 0x10000>;
0455                         interrupts = <GIC_SPI 156 IRQ_TYPE_LEVEL_HIGH>;
0456                         interrupt-names = "macirq";
0457                         snps,txpbl = <4>;
0458                         snps,rxpbl = <4>;
0459                         snps,tso;
0460                         clocks = <&pismu TMPV770X_CLK_PIETHER_BUS>, <&pismu TMPV770X_CLK_PIETHER_125M>;
0461                         clock-names = "stmmaceth", "phy_ref_clk";
0462                         status = "disabled";
0463                 };
0464 
0465                 wdt: wdt@28330000 {
0466                         compatible = "toshiba,visconti-wdt";
0467                         reg = <0 0x28330000 0 0x1000>;
0468                         clocks = <&pismu TMPV770X_CLK_WDTCLK>;
0469                         status = "disabled";
0470                 };
0471 
0472                 pwm: pwm@241c0000 {
0473                         compatible = "toshiba,visconti-pwm";
0474                         reg = <0 0x241c0000 0 0x1000>;
0475                         pinctrl-names = "default";
0476                         pinctrl-0 = <&pwm_mux>;
0477                         #pwm-cells = <2>;
0478                         status = "disabled";
0479                 };
0480 
0481                 pcie: pcie@28400000 {
0482                         compatible = "toshiba,visconti-pcie";
0483                         reg = <0x0 0x28400000 0x0 0x00400000>,
0484                               <0x0 0x70000000 0x0 0x10000000>,
0485                               <0x0 0x28050000 0x0 0x00010000>,
0486                               <0x0 0x24200000 0x0 0x00002000>,
0487                               <0x0 0x24162000 0x0 0x00001000>;
0488                         reg-names  = "dbi", "config", "ulreg", "smu", "mpu";
0489                         device_type = "pci";
0490                         bus-range = <0x00 0xff>;
0491                         num-lanes = <2>;
0492                         num-viewport = <8>;
0493 
0494                         #address-cells = <3>;
0495                         #size-cells = <2>;
0496                         #interrupt-cells = <1>;
0497                         ranges = <0x81000000 0 0x40000000 0 0x40000000 0 0x00010000
0498                                   0x82000000 0 0x50000000 0 0x50000000 0 0x20000000>;
0499                         interrupts = <GIC_SPI 211 IRQ_TYPE_LEVEL_HIGH>,
0500                                      <GIC_SPI 215 IRQ_TYPE_LEVEL_HIGH>;
0501                         interrupt-names = "msi", "intr";
0502                         interrupt-map-mask = <0 0 0 7>;
0503                         interrupt-map =
0504                                 <0 0 0 1 &gic GIC_SPI 215 IRQ_TYPE_LEVEL_HIGH
0505                                  0 0 0 2 &gic GIC_SPI 215 IRQ_TYPE_LEVEL_HIGH
0506                                  0 0 0 3 &gic GIC_SPI 215 IRQ_TYPE_LEVEL_HIGH
0507                                  0 0 0 4 &gic GIC_SPI 215 IRQ_TYPE_LEVEL_HIGH>;
0508                         max-link-speed = <2>;
0509                         clocks = <&extclk100mhz>, <&pismu TMPV770X_CLK_PCIE_MSTR>, <&pismu TMPV770X_CLK_PCIE_AUX>;
0510                         clock-names = "ref", "core", "aux";
0511                         status = "disabled";
0512                 };
0513         };
0514 };
0515 
0516 #include "tmpv7708_pins.dtsi"