linux/arch/mips/boot/dts/pic32/pic32mzda.dtsi
<<
>>
Prefs
   1// SPDX-License-Identifier: GPL-2.0-only
   2/*
   3 * Copyright (C) 2015 Microchip Technology Inc.  All rights reserved.
   4 */
   5#include <dt-bindings/clock/microchip,pic32-clock.h>
   6#include <dt-bindings/interrupt-controller/irq.h>
   7
   8/ {
   9        #address-cells = <1>;
  10        #size-cells = <1>;
  11        interrupt-parent = <&evic>;
  12
  13        aliases {
  14                gpio0 = &gpio0;
  15                gpio1 = &gpio1;
  16                gpio2 = &gpio2;
  17                gpio3 = &gpio3;
  18                gpio4 = &gpio4;
  19                gpio5 = &gpio5;
  20                gpio6 = &gpio6;
  21                gpio7 = &gpio7;
  22                gpio8 = &gpio8;
  23                gpio9 = &gpio9;
  24                serial0 = &uart1;
  25                serial1 = &uart2;
  26                serial2 = &uart3;
  27                serial3 = &uart4;
  28                serial4 = &uart5;
  29                serial5 = &uart6;
  30        };
  31
  32        cpus {
  33                #address-cells = <1>;
  34                #size-cells = <0>;
  35
  36                cpu@0 {
  37                        compatible = "mti,mips14KEc";
  38                        device_type = "cpu";
  39                };
  40        };
  41
  42        soc {
  43                compatible = "microchip,pic32mzda-infra";
  44                interrupts = <0 IRQ_TYPE_EDGE_RISING>;
  45        };
  46
  47        /* external clock input on TxCLKI pin */
  48        txcki: txcki_clk {
  49                #clock-cells = <0>;
  50                compatible = "fixed-clock";
  51                clock-frequency = <4000000>;
  52                status = "disabled";
  53        };
  54
  55        /* external input on REFCLKIx pin */
  56        refix: refix_clk {
  57                #clock-cells = <0>;
  58                compatible = "fixed-clock";
  59                clock-frequency = <24000000>;
  60                status = "disabled";
  61        };
  62
  63        rootclk: clock-controller@1f801200 {
  64                compatible = "microchip,pic32mzda-clk";
  65                reg = <0x1f801200 0x200>;
  66                #clock-cells = <1>;
  67                microchip,pic32mzda-sosc;
  68        };
  69
  70        evic: interrupt-controller@1f810000 {
  71                compatible = "microchip,pic32mzda-evic";
  72                interrupt-controller;
  73                #interrupt-cells = <2>;
  74                reg = <0x1f810000 0x1000>;
  75                microchip,external-irqs = <3 8 13 18 23>;
  76        };
  77
  78        pic32_pinctrl: pinctrl@1f801400{
  79                #address-cells = <1>;
  80                #size-cells = <1>;
  81                compatible = "microchip,pic32mzda-pinctrl";
  82                reg = <0x1f801400 0x400>;
  83                clocks = <&rootclk PB1CLK>;
  84        };
  85
  86        /* PORTA */
  87        gpio0: gpio0@1f860000 {
  88                compatible = "microchip,pic32mzda-gpio";
  89                reg = <0x1f860000 0x100>;
  90                interrupts = <118 IRQ_TYPE_LEVEL_HIGH>;
  91                #gpio-cells = <2>;
  92                gpio-controller;
  93                interrupt-controller;
  94                #interrupt-cells = <2>;
  95                clocks = <&rootclk PB4CLK>;
  96                microchip,gpio-bank = <0>;
  97                gpio-ranges = <&pic32_pinctrl 0 0 16>;
  98        };
  99
 100        /* PORTB */
 101        gpio1: gpio1@1f860100 {
 102                compatible = "microchip,pic32mzda-gpio";
 103                reg = <0x1f860100 0x100>;
 104                interrupts = <119 IRQ_TYPE_LEVEL_HIGH>;
 105                #gpio-cells = <2>;
 106                gpio-controller;
 107                interrupt-controller;
 108                #interrupt-cells = <2>;
 109                clocks = <&rootclk PB4CLK>;
 110                microchip,gpio-bank = <1>;
 111                gpio-ranges = <&pic32_pinctrl 0 16 16>;
 112        };
 113
 114        /* PORTC */
 115        gpio2: gpio2@1f860200 {
 116                compatible = "microchip,pic32mzda-gpio";
 117                reg = <0x1f860200 0x100>;
 118                interrupts = <120 IRQ_TYPE_LEVEL_HIGH>;
 119                #gpio-cells = <2>;
 120                gpio-controller;
 121                interrupt-controller;
 122                #interrupt-cells = <2>;
 123                clocks = <&rootclk PB4CLK>;
 124                microchip,gpio-bank = <2>;
 125                gpio-ranges = <&pic32_pinctrl 0 32 16>;
 126        };
 127
 128        /* PORTD */
 129        gpio3: gpio3@1f860300 {
 130                compatible = "microchip,pic32mzda-gpio";
 131                reg = <0x1f860300 0x100>;
 132                interrupts = <121 IRQ_TYPE_LEVEL_HIGH>;
 133                #gpio-cells = <2>;
 134                gpio-controller;
 135                interrupt-controller;
 136                #interrupt-cells = <2>;
 137                clocks = <&rootclk PB4CLK>;
 138                microchip,gpio-bank = <3>;
 139                gpio-ranges = <&pic32_pinctrl 0 48 16>;
 140        };
 141
 142        /* PORTE */
 143        gpio4: gpio4@1f860400 {
 144                compatible = "microchip,pic32mzda-gpio";
 145                reg = <0x1f860400 0x100>;
 146                interrupts = <122 IRQ_TYPE_LEVEL_HIGH>;
 147                #gpio-cells = <2>;
 148                gpio-controller;
 149                interrupt-controller;
 150                #interrupt-cells = <2>;
 151                clocks = <&rootclk PB4CLK>;
 152                microchip,gpio-bank = <4>;
 153                gpio-ranges = <&pic32_pinctrl 0 64 16>;
 154        };
 155
 156        /* PORTF */
 157        gpio5: gpio5@1f860500 {
 158                compatible = "microchip,pic32mzda-gpio";
 159                reg = <0x1f860500 0x100>;
 160                interrupts = <123 IRQ_TYPE_LEVEL_HIGH>;
 161                #gpio-cells = <2>;
 162                gpio-controller;
 163                interrupt-controller;
 164                #interrupt-cells = <2>;
 165                clocks = <&rootclk PB4CLK>;
 166                microchip,gpio-bank = <5>;
 167                gpio-ranges = <&pic32_pinctrl 0 80 16>;
 168        };
 169
 170        /* PORTG */
 171        gpio6: gpio6@1f860600 {
 172                compatible = "microchip,pic32mzda-gpio";
 173                reg = <0x1f860600 0x100>;
 174                interrupts = <124 IRQ_TYPE_LEVEL_HIGH>;
 175                #gpio-cells = <2>;
 176                gpio-controller;
 177                interrupt-controller;
 178                #interrupt-cells = <2>;
 179                clocks = <&rootclk PB4CLK>;
 180                microchip,gpio-bank = <6>;
 181                gpio-ranges = <&pic32_pinctrl 0 96 16>;
 182        };
 183
 184        /* PORTH */
 185        gpio7: gpio7@1f860700 {
 186                compatible = "microchip,pic32mzda-gpio";
 187                reg = <0x1f860700 0x100>;
 188                interrupts = <125 IRQ_TYPE_LEVEL_HIGH>;
 189                #gpio-cells = <2>;
 190                gpio-controller;
 191                interrupt-controller;
 192                #interrupt-cells = <2>;
 193                clocks = <&rootclk PB4CLK>;
 194                microchip,gpio-bank = <7>;
 195                gpio-ranges = <&pic32_pinctrl 0 112 16>;
 196        };
 197
 198        /* PORTI does not exist */
 199
 200        /* PORTJ */
 201        gpio8: gpio8@1f860800 {
 202                compatible = "microchip,pic32mzda-gpio";
 203                reg = <0x1f860800 0x100>;
 204                interrupts = <126 IRQ_TYPE_LEVEL_HIGH>;
 205                #gpio-cells = <2>;
 206                gpio-controller;
 207                interrupt-controller;
 208                #interrupt-cells = <2>;
 209                clocks = <&rootclk PB4CLK>;
 210                microchip,gpio-bank = <8>;
 211                gpio-ranges = <&pic32_pinctrl 0 128 16>;
 212        };
 213
 214        /* PORTK */
 215        gpio9: gpio9@1f860900 {
 216                compatible = "microchip,pic32mzda-gpio";
 217                reg = <0x1f860900 0x100>;
 218                interrupts = <127 IRQ_TYPE_LEVEL_HIGH>;
 219                #gpio-cells = <2>;
 220                gpio-controller;
 221                interrupt-controller;
 222                #interrupt-cells = <2>;
 223                clocks = <&rootclk PB4CLK>;
 224                microchip,gpio-bank = <9>;
 225                gpio-ranges = <&pic32_pinctrl 0 144 16>;
 226        };
 227
 228        sdhci: sdhci@1f8ec000 {
 229                compatible = "microchip,pic32mzda-sdhci";
 230                reg = <0x1f8ec000 0x100>;
 231                interrupts = <191 IRQ_TYPE_LEVEL_HIGH>;
 232                clocks = <&rootclk REF4CLK>, <&rootclk PB5CLK>;
 233                clock-names = "base_clk", "sys_clk";
 234                bus-width = <4>;
 235                cap-sd-highspeed;
 236                status = "disabled";
 237        };
 238
 239        uart1: serial@1f822000 {
 240                compatible = "microchip,pic32mzda-uart";
 241                reg = <0x1f822000 0x50>;
 242                interrupts = <112 IRQ_TYPE_LEVEL_HIGH>,
 243                        <113 IRQ_TYPE_LEVEL_HIGH>,
 244                        <114 IRQ_TYPE_LEVEL_HIGH>;
 245                clocks = <&rootclk PB2CLK>;
 246                status = "disabled";
 247        };
 248
 249        uart2: serial@1f822200 {
 250                compatible = "microchip,pic32mzda-uart";
 251                reg = <0x1f822200 0x50>;
 252                interrupts = <145 IRQ_TYPE_LEVEL_HIGH>,
 253                        <146 IRQ_TYPE_LEVEL_HIGH>,
 254                        <147 IRQ_TYPE_LEVEL_HIGH>;
 255                clocks = <&rootclk PB2CLK>;
 256                status = "disabled";
 257        };
 258
 259        uart3: serial@1f822400 {
 260                compatible = "microchip,pic32mzda-uart";
 261                reg = <0x1f822400 0x50>;
 262                interrupts = <157 IRQ_TYPE_LEVEL_HIGH>,
 263                        <158 IRQ_TYPE_LEVEL_HIGH>,
 264                        <159 IRQ_TYPE_LEVEL_HIGH>;
 265                clocks = <&rootclk PB2CLK>;
 266                status = "disabled";
 267        };
 268
 269        uart4: serial@1f822600 {
 270                compatible = "microchip,pic32mzda-uart";
 271                reg = <0x1f822600 0x50>;
 272                interrupts = <170 IRQ_TYPE_LEVEL_HIGH>,
 273                        <171 IRQ_TYPE_LEVEL_HIGH>,
 274                        <172 IRQ_TYPE_LEVEL_HIGH>;
 275                clocks = <&rootclk PB2CLK>;
 276                status = "disabled";
 277        };
 278
 279        uart5: serial@1f822800 {
 280                compatible = "microchip,pic32mzda-uart";
 281                reg = <0x1f822800 0x50>;
 282                interrupts = <179 IRQ_TYPE_LEVEL_HIGH>,
 283                        <180 IRQ_TYPE_LEVEL_HIGH>,
 284                        <181 IRQ_TYPE_LEVEL_HIGH>;
 285                clocks = <&rootclk PB2CLK>;
 286                status = "disabled";
 287        };
 288
 289        uart6: serial@1f822A00 {
 290                compatible = "microchip,pic32mzda-uart";
 291                reg = <0x1f822A00 0x50>;
 292                interrupts = <188 IRQ_TYPE_LEVEL_HIGH>,
 293                        <189 IRQ_TYPE_LEVEL_HIGH>,
 294                        <190 IRQ_TYPE_LEVEL_HIGH>;
 295                clocks = <&rootclk PB2CLK>;
 296                status = "disabled";
 297        };
 298};
 299