linux/arch/mips/boot/dts/loongson/loongson64-2k1000.dtsi
<<
>>
Prefs
   1// SPDX-License-Identifier: GPL-2.0
   2
   3/dts-v1/;
   4
   5#include <dt-bindings/interrupt-controller/irq.h>
   6
   7/ {
   8        compatible = "loongson,loongson2k1000";
   9
  10        #address-cells = <2>;
  11        #size-cells = <2>;
  12
  13        cpus {
  14                #address-cells = <1>;
  15                #size-cells = <0>;
  16
  17                cpu0: cpu@0 {
  18                        device_type = "cpu";
  19                        compatible = "loongson,gs264";
  20                        reg = <0x0>;
  21                        #clock-cells = <1>;
  22                        clocks = <&cpu_clk>;
  23                };
  24        };
  25
  26        memory@200000 {
  27                compatible = "memory";
  28                device_type = "memory";
  29                reg = <0x00000000 0x00200000 0x00000000 0x0ee00000>, /* 238 MB at 2 MB */
  30                        <0x00000000 0x20000000 0x00000000 0x1f000000>, /* 496 MB at 512 MB */
  31                        <0x00000001 0x10000000 0x00000001 0xb0000000>; /* 6912 MB at 4352MB */
  32        };
  33
  34        cpu_clk: cpu_clk {
  35                #clock-cells = <0>;
  36                compatible = "fixed-clock";
  37                clock-frequency = <800000000>;
  38        };
  39
  40        cpuintc: interrupt-controller {
  41                #address-cells = <0>;
  42                #interrupt-cells = <1>;
  43                interrupt-controller;
  44                compatible = "mti,cpu-interrupt-controller";
  45        };
  46
  47        package0: bus@10000000 {
  48                compatible = "simple-bus";
  49                #address-cells = <2>;
  50                #size-cells = <2>;
  51                ranges = <0 0x10000000 0 0x10000000 0 0x10000000 /* ioports */
  52                        0 0x40000000 0 0x40000000 0 0x40000000
  53                        0xfe 0x00000000 0xfe 0x00000000 0 0x40000000>;
  54
  55                liointc0: interrupt-controller@1fe11400 {
  56                        compatible = "loongson,liointc-2.0";
  57                        reg = <0 0x1fe11400 0 0x40>,
  58                                <0 0x1fe11040 0 0x8>,
  59                                <0 0x1fe11140 0 0x8>;
  60                        reg-names = "main", "isr0", "isr1";
  61
  62                        interrupt-controller;
  63                        #interrupt-cells = <2>;
  64
  65                        interrupt-parent = <&cpuintc>;
  66                        interrupts = <2>;
  67                        interrupt-names = "int0";
  68
  69                        loongson,parent_int_map = <0xffffffff>, /* int0 */
  70                                                <0x00000000>, /* int1 */
  71                                                <0x00000000>, /* int2 */
  72                                                <0x00000000>; /* int3 */
  73                };
  74
  75                liointc1: interrupt-controller@1fe11440 {
  76                        compatible = "loongson,liointc-2.0";
  77                        reg = <0 0x1fe11440 0 0x40>,
  78                                <0 0x1fe11048 0 0x8>,
  79                                <0 0x1fe11148 0 0x8>;
  80                        reg-names = "main", "isr0", "isr1";
  81
  82                        interrupt-controller;
  83                        #interrupt-cells = <2>;
  84
  85                        interrupt-parent = <&cpuintc>;
  86                        interrupts = <3>;
  87                        interrupt-names = "int1";
  88
  89                        loongson,parent_int_map = <0x00000000>, /* int0 */
  90                                                <0xffffffff>, /* int1 */
  91                                                <0x00000000>, /* int2 */
  92                                                <0x00000000>; /* int3 */
  93                };
  94
  95                uart0: serial@1fe00000 {
  96                        compatible = "ns16550a";
  97                        reg = <0 0x1fe00000 0 0x8>;
  98                        clock-frequency = <125000000>;
  99                        interrupt-parent = <&liointc0>;
 100                        interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
 101                        no-loopback-test;
 102                };
 103
 104                pci@1a000000 {
 105                        compatible = "loongson,ls2k-pci";
 106                        device_type = "pci";
 107                        #address-cells = <3>;
 108                        #size-cells = <2>;
 109                        #interrupt-cells = <2>;
 110
 111                        reg = <0 0x1a000000 0 0x02000000>,
 112                                <0xfe 0x00000000 0 0x20000000>;
 113
 114                        ranges = <0x01000000 0x0 0x00000000 0x0 0x18000000  0x0 0x00010000>,
 115                                 <0x02000000 0x0 0x40000000 0x0 0x40000000  0x0 0x40000000>;
 116
 117                        gmac@3,0 {
 118                                compatible = "pci0014,7a03.0",
 119                                                   "pci0014,7a03",
 120                                                   "pciclass0c0320",
 121                                                   "pciclass0c03",
 122                                                   "loongson, pci-gmac";
 123
 124                                reg = <0x1800 0x0 0x0 0x0 0x0>;
 125                                interrupts = <12 IRQ_TYPE_LEVEL_LOW>,
 126                                             <13 IRQ_TYPE_LEVEL_LOW>;
 127                                interrupt-names = "macirq", "eth_lpi";
 128                                interrupt-parent = <&liointc0>;
 129                                phy-mode = "rgmii";
 130                                mdio {
 131                                        #address-cells = <1>;
 132                                        #size-cells = <0>;
 133                                        compatible = "snps,dwmac-mdio";
 134                                        phy0: ethernet-phy@0 {
 135                                                reg = <0>;
 136                                        };
 137                                };
 138                        };
 139
 140                        gmac@3,1 {
 141                                compatible = "pci0014,7a03.0",
 142                                                   "pci0014,7a03",
 143                                                   "pciclass0c0320",
 144                                                   "pciclass0c03",
 145                                                   "loongson, pci-gmac";
 146
 147                                reg = <0x1900 0x0 0x0 0x0 0x0>;
 148                                interrupts = <14 IRQ_TYPE_LEVEL_LOW>,
 149                                             <15 IRQ_TYPE_LEVEL_LOW>;
 150                                interrupt-names = "macirq", "eth_lpi";
 151                                interrupt-parent = <&liointc0>;
 152                                phy-mode = "rgmii";
 153                                mdio {
 154                                        #address-cells = <1>;
 155                                        #size-cells = <0>;
 156                                        compatible = "snps,dwmac-mdio";
 157                                        phy1: ethernet-phy@1 {
 158                                                reg = <0>;
 159                                        };
 160                                };
 161                        };
 162
 163                        ehci@4,1 {
 164                                compatible = "pci0014,7a14.0",
 165                                                   "pci0014,7a14",
 166                                                   "pciclass0c0320",
 167                                                   "pciclass0c03";
 168
 169                                reg = <0x2100 0x0 0x0 0x0 0x0>;
 170                                interrupts = <18 IRQ_TYPE_LEVEL_LOW>;
 171                                interrupt-parent = <&liointc1>;
 172                        };
 173
 174                        ohci@4,2 {
 175                                compatible = "pci0014,7a24.0",
 176                                                   "pci0014,7a24",
 177                                                   "pciclass0c0310",
 178                                                   "pciclass0c03";
 179
 180                                reg = <0x2200 0x0 0x0 0x0 0x0>;
 181                                interrupts = <19 IRQ_TYPE_LEVEL_LOW>;
 182                                interrupt-parent = <&liointc1>;
 183                        };
 184
 185                        sata@8,0 {
 186                                compatible = "pci0014,7a08.0",
 187                                                   "pci0014,7a08",
 188                                                   "pciclass010601",
 189                                                   "pciclass0106";
 190
 191                                reg = <0x4000 0x0 0x0 0x0 0x0>;
 192                                interrupts = <19 IRQ_TYPE_LEVEL_LOW>;
 193                                interrupt-parent = <&liointc0>;
 194                        };
 195
 196                        pci_bridge@9,0 {
 197                                compatible = "pci0014,7a19.0",
 198                                                   "pci0014,7a19",
 199                                                   "pciclass060400",
 200                                                   "pciclass0604";
 201
 202                                reg = <0x4800 0x0 0x0 0x0 0x0>;
 203                                #interrupt-cells = <1>;
 204                                interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
 205                                interrupt-parent = <&liointc1>;
 206                                interrupt-map-mask = <0 0 0 0>;
 207                                interrupt-map = <0 0 0 0 &liointc1 0 IRQ_TYPE_LEVEL_LOW>;
 208                                external-facing;
 209                        };
 210
 211                        pci_bridge@a,0 {
 212                                compatible = "pci0014,7a09.0",
 213                                                   "pci0014,7a09",
 214                                                   "pciclass060400",
 215                                                   "pciclass0604";
 216
 217                                reg = <0x5000 0x0 0x0 0x0 0x0>;
 218                                #interrupt-cells = <1>;
 219                                interrupts = <1 IRQ_TYPE_LEVEL_LOW>;
 220                                interrupt-parent = <&liointc1>;
 221                                interrupt-map-mask = <0 0 0 0>;
 222                                interrupt-map = <0 0 0 0 &liointc1 1 IRQ_TYPE_LEVEL_LOW>;
 223                                external-facing;
 224                        };
 225
 226                        pci_bridge@b,0 {
 227                                compatible = "pci0014,7a09.0",
 228                                                   "pci0014,7a09",
 229                                                   "pciclass060400",
 230                                                   "pciclass0604";
 231
 232                                reg = <0x5800 0x0 0x0 0x0 0x0>;
 233                                #interrupt-cells = <1>;
 234                                interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
 235                                interrupt-parent = <&liointc1>;
 236                                interrupt-map-mask = <0 0 0 0>;
 237                                interrupt-map = <0 0 0 0 &liointc1 2 IRQ_TYPE_LEVEL_LOW>;
 238                                external-facing;
 239                        };
 240
 241                        pci_bridge@c,0 {
 242                                compatible = "pci0014,7a09.0",
 243                                                   "pci0014,7a09",
 244                                                   "pciclass060400",
 245                                                   "pciclass0604";
 246
 247                                reg = <0x6000 0x0 0x0 0x0 0x0>;
 248                                #interrupt-cells = <1>;
 249                                interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
 250                                interrupt-parent = <&liointc1>;
 251                                interrupt-map-mask = <0 0 0 0>;
 252                                interrupt-map = <0 0 0 0 &liointc1 3 IRQ_TYPE_LEVEL_LOW>;
 253                                external-facing;
 254                        };
 255
 256                        pci_bridge@d,0 {
 257                                compatible = "pci0014,7a19.0",
 258                                                   "pci0014,7a19",
 259                                                   "pciclass060400",
 260                                                   "pciclass0604";
 261
 262                                reg = <0x6800 0x0 0x0 0x0 0x0>;
 263                                #interrupt-cells = <1>;
 264                                interrupts = <4 IRQ_TYPE_LEVEL_LOW>;
 265                                interrupt-parent = <&liointc1>;
 266                                interrupt-map-mask = <0 0 0 0>;
 267                                interrupt-map = <0 0 0 0 &liointc1 4 IRQ_TYPE_LEVEL_LOW>;
 268                                external-facing;
 269                        };
 270
 271                        pci_bridge@e,0 {
 272                                compatible = "pci0014,7a09.0",
 273                                                   "pci0014,7a09",
 274                                                   "pciclass060400",
 275                                                   "pciclass0604";
 276
 277                                reg = <0x7000 0x0 0x0 0x0 0x0>;
 278                                #interrupt-cells = <1>;
 279                                interrupts = <5 IRQ_TYPE_LEVEL_LOW>;
 280                                interrupt-parent = <&liointc1>;
 281                                interrupt-map-mask = <0 0 0 0>;
 282                                interrupt-map = <0 0 0 0 &liointc1 5 IRQ_TYPE_LEVEL_LOW>;
 283                                external-facing;
 284                        };
 285
 286                };
 287        };
 288};
 289
 290