0001 // SPDX-License-Identifier: GPL-2.0-or-later
0002 /*
0003 * MPC8379E RDB Device Tree Source
0004 *
0005 * Copyright 2007, 2008 Freescale Semiconductor Inc.
0006 */
0007
0008 /dts-v1/;
0009
0010 / {
0011 compatible = "fsl,mpc8379rdb";
0012 #address-cells = <1>;
0013 #size-cells = <1>;
0014
0015 aliases {
0016 ethernet0 = &enet0;
0017 ethernet1 = &enet1;
0018 serial0 = &serial0;
0019 serial1 = &serial1;
0020 pci0 = &pci0;
0021 };
0022
0023 cpus {
0024 #address-cells = <1>;
0025 #size-cells = <0>;
0026
0027 PowerPC,8379@0 {
0028 device_type = "cpu";
0029 reg = <0x0>;
0030 d-cache-line-size = <32>;
0031 i-cache-line-size = <32>;
0032 d-cache-size = <32768>;
0033 i-cache-size = <32768>;
0034 timebase-frequency = <0>;
0035 bus-frequency = <0>;
0036 clock-frequency = <0>;
0037 };
0038 };
0039
0040 memory {
0041 device_type = "memory";
0042 reg = <0x00000000 0x10000000>; // 256MB at 0
0043 };
0044
0045 localbus@e0005000 {
0046 #address-cells = <2>;
0047 #size-cells = <1>;
0048 compatible = "fsl,mpc8379-elbc", "fsl,elbc", "simple-bus";
0049 reg = <0xe0005000 0x1000>;
0050 interrupts = <77 0x8>;
0051 interrupt-parent = <&ipic>;
0052
0053 // CS0 and CS1 are swapped when
0054 // booting from nand, but the
0055 // addresses are the same.
0056 ranges = <0x0 0x0 0xfe000000 0x00800000
0057 0x1 0x0 0xe0600000 0x00008000
0058 0x2 0x0 0xf0000000 0x00020000
0059 0x3 0x0 0xfa000000 0x00008000>;
0060
0061 flash@0,0 {
0062 #address-cells = <1>;
0063 #size-cells = <1>;
0064 compatible = "cfi-flash";
0065 reg = <0x0 0x0 0x800000>;
0066 bank-width = <2>;
0067 device-width = <1>;
0068 };
0069
0070 nand@1,0 {
0071 #address-cells = <1>;
0072 #size-cells = <1>;
0073 compatible = "fsl,mpc8379-fcm-nand",
0074 "fsl,elbc-fcm-nand";
0075 reg = <0x1 0x0 0x8000>;
0076
0077 u-boot@0 {
0078 reg = <0x0 0x100000>;
0079 read-only;
0080 };
0081
0082 kernel@100000 {
0083 reg = <0x100000 0x300000>;
0084 };
0085 fs@400000 {
0086 reg = <0x400000 0x1c00000>;
0087 };
0088 };
0089 };
0090
0091 immr@e0000000 {
0092 #address-cells = <1>;
0093 #size-cells = <1>;
0094 device_type = "soc";
0095 compatible = "simple-bus";
0096 ranges = <0x0 0xe0000000 0x00100000>;
0097 reg = <0xe0000000 0x00000200>;
0098 bus-frequency = <0>;
0099
0100 wdt@200 {
0101 device_type = "watchdog";
0102 compatible = "mpc83xx_wdt";
0103 reg = <0x200 0x100>;
0104 };
0105
0106 gpio1: gpio-controller@c00 {
0107 #gpio-cells = <2>;
0108 compatible = "fsl,mpc8379-gpio", "fsl,mpc8349-gpio";
0109 reg = <0xc00 0x100>;
0110 interrupts = <74 0x8>;
0111 interrupt-parent = <&ipic>;
0112 gpio-controller;
0113 };
0114
0115 gpio2: gpio-controller@d00 {
0116 #gpio-cells = <2>;
0117 compatible = "fsl,mpc8379-gpio", "fsl,mpc8349-gpio";
0118 reg = <0xd00 0x100>;
0119 interrupts = <75 0x8>;
0120 interrupt-parent = <&ipic>;
0121 gpio-controller;
0122 };
0123
0124 sleep-nexus {
0125 #address-cells = <1>;
0126 #size-cells = <1>;
0127 compatible = "simple-bus";
0128 sleep = <&pmc 0x0c000000>;
0129 ranges;
0130
0131 i2c@3000 {
0132 #address-cells = <1>;
0133 #size-cells = <0>;
0134 cell-index = <0>;
0135 compatible = "fsl-i2c";
0136 reg = <0x3000 0x100>;
0137 interrupts = <14 0x8>;
0138 interrupt-parent = <&ipic>;
0139 dfsrr;
0140
0141 dtt@48 {
0142 compatible = "national,lm75";
0143 reg = <0x48>;
0144 };
0145
0146 at24@50 {
0147 compatible = "atmel,24c256";
0148 reg = <0x50>;
0149 };
0150
0151 rtc@68 {
0152 compatible = "dallas,ds1339";
0153 reg = <0x68>;
0154 };
0155
0156 mcu_pio: mcu@a {
0157 #gpio-cells = <2>;
0158 compatible = "fsl,mc9s08qg8-mpc8379erdb",
0159 "fsl,mcu-mpc8349emitx";
0160 reg = <0x0a>;
0161 gpio-controller;
0162 };
0163 };
0164
0165 sdhci@2e000 {
0166 compatible = "fsl,mpc8379-esdhc", "fsl,esdhc";
0167 reg = <0x2e000 0x1000>;
0168 interrupts = <42 0x8>;
0169 interrupt-parent = <&ipic>;
0170 sdhci,wp-inverted;
0171 /* Filled in by U-Boot */
0172 clock-frequency = <111111111>;
0173 };
0174 };
0175
0176 i2c@3100 {
0177 #address-cells = <1>;
0178 #size-cells = <0>;
0179 cell-index = <1>;
0180 compatible = "fsl-i2c";
0181 reg = <0x3100 0x100>;
0182 interrupts = <15 0x8>;
0183 interrupt-parent = <&ipic>;
0184 dfsrr;
0185 };
0186
0187 spi@7000 {
0188 cell-index = <0>;
0189 compatible = "fsl,spi";
0190 reg = <0x7000 0x1000>;
0191 interrupts = <16 0x8>;
0192 interrupt-parent = <&ipic>;
0193 mode = "cpu";
0194 };
0195
0196 dma@82a8 {
0197 #address-cells = <1>;
0198 #size-cells = <1>;
0199 compatible = "fsl,mpc8379-dma", "fsl,elo-dma";
0200 reg = <0x82a8 4>;
0201 ranges = <0 0x8100 0x1a8>;
0202 interrupt-parent = <&ipic>;
0203 interrupts = <71 8>;
0204 cell-index = <0>;
0205 dma-channel@0 {
0206 compatible = "fsl,mpc8379-dma-channel", "fsl,elo-dma-channel";
0207 reg = <0 0x80>;
0208 cell-index = <0>;
0209 interrupt-parent = <&ipic>;
0210 interrupts = <71 8>;
0211 };
0212 dma-channel@80 {
0213 compatible = "fsl,mpc8379-dma-channel", "fsl,elo-dma-channel";
0214 reg = <0x80 0x80>;
0215 cell-index = <1>;
0216 interrupt-parent = <&ipic>;
0217 interrupts = <71 8>;
0218 };
0219 dma-channel@100 {
0220 compatible = "fsl,mpc8379-dma-channel", "fsl,elo-dma-channel";
0221 reg = <0x100 0x80>;
0222 cell-index = <2>;
0223 interrupt-parent = <&ipic>;
0224 interrupts = <71 8>;
0225 };
0226 dma-channel@180 {
0227 compatible = "fsl,mpc8379-dma-channel", "fsl,elo-dma-channel";
0228 reg = <0x180 0x28>;
0229 cell-index = <3>;
0230 interrupt-parent = <&ipic>;
0231 interrupts = <71 8>;
0232 };
0233 };
0234
0235 usb@23000 {
0236 compatible = "fsl-usb2-dr";
0237 reg = <0x23000 0x1000>;
0238 #address-cells = <1>;
0239 #size-cells = <0>;
0240 interrupt-parent = <&ipic>;
0241 interrupts = <38 0x8>;
0242 phy_type = "ulpi";
0243 sleep = <&pmc 0x00c00000>;
0244 };
0245
0246 enet0: ethernet@24000 {
0247 #address-cells = <1>;
0248 #size-cells = <1>;
0249 cell-index = <0>;
0250 device_type = "network";
0251 model = "eTSEC";
0252 compatible = "gianfar";
0253 reg = <0x24000 0x1000>;
0254 ranges = <0x0 0x24000 0x1000>;
0255 local-mac-address = [ 00 00 00 00 00 00 ];
0256 interrupts = <32 0x8 33 0x8 34 0x8>;
0257 phy-connection-type = "mii";
0258 interrupt-parent = <&ipic>;
0259 tbi-handle = <&tbi0>;
0260 phy-handle = <&phy2>;
0261 sleep = <&pmc 0xc0000000>;
0262 fsl,magic-packet;
0263
0264 mdio@520 {
0265 #address-cells = <1>;
0266 #size-cells = <0>;
0267 compatible = "fsl,gianfar-mdio";
0268 reg = <0x520 0x20>;
0269
0270 phy2: ethernet-phy@2 {
0271 interrupt-parent = <&ipic>;
0272 interrupts = <17 0x8>;
0273 reg = <0x2>;
0274 };
0275
0276 tbi0: tbi-phy@11 {
0277 reg = <0x11>;
0278 device_type = "tbi-phy";
0279 };
0280 };
0281 };
0282
0283 enet1: ethernet@25000 {
0284 #address-cells = <1>;
0285 #size-cells = <1>;
0286 cell-index = <1>;
0287 device_type = "network";
0288 model = "eTSEC";
0289 compatible = "gianfar";
0290 reg = <0x25000 0x1000>;
0291 ranges = <0x0 0x25000 0x1000>;
0292 local-mac-address = [ 00 00 00 00 00 00 ];
0293 interrupts = <35 0x8 36 0x8 37 0x8>;
0294 phy-connection-type = "mii";
0295 interrupt-parent = <&ipic>;
0296 fixed-link = <1 1 1000 0 0>;
0297 tbi-handle = <&tbi1>;
0298 sleep = <&pmc 0x30000000>;
0299 fsl,magic-packet;
0300
0301 mdio@520 {
0302 #address-cells = <1>;
0303 #size-cells = <0>;
0304 compatible = "fsl,gianfar-tbi";
0305 reg = <0x520 0x20>;
0306
0307 tbi1: tbi-phy@11 {
0308 reg = <0x11>;
0309 device_type = "tbi-phy";
0310 };
0311 };
0312 };
0313
0314 serial0: serial@4500 {
0315 cell-index = <0>;
0316 device_type = "serial";
0317 compatible = "fsl,ns16550", "ns16550";
0318 reg = <0x4500 0x100>;
0319 clock-frequency = <0>;
0320 interrupts = <9 0x8>;
0321 interrupt-parent = <&ipic>;
0322 };
0323
0324 serial1: serial@4600 {
0325 cell-index = <1>;
0326 device_type = "serial";
0327 compatible = "fsl,ns16550", "ns16550";
0328 reg = <0x4600 0x100>;
0329 clock-frequency = <0>;
0330 interrupts = <10 0x8>;
0331 interrupt-parent = <&ipic>;
0332 };
0333
0334 crypto@30000 {
0335 compatible = "fsl,sec3.0", "fsl,sec2.4", "fsl,sec2.2",
0336 "fsl,sec2.1", "fsl,sec2.0";
0337 reg = <0x30000 0x10000>;
0338 interrupts = <11 0x8>;
0339 interrupt-parent = <&ipic>;
0340 fsl,num-channels = <4>;
0341 fsl,channel-fifo-len = <24>;
0342 fsl,exec-units-mask = <0x9fe>;
0343 fsl,descriptor-types-mask = <0x3ab0ebf>;
0344 sleep = <&pmc 0x03000000>;
0345 };
0346
0347 sata@18000 {
0348 compatible = "fsl,mpc8379-sata", "fsl,pq-sata";
0349 reg = <0x18000 0x1000>;
0350 interrupts = <44 0x8>;
0351 interrupt-parent = <&ipic>;
0352 sleep = <&pmc 0x000000c0>;
0353 };
0354
0355 sata@19000 {
0356 compatible = "fsl,mpc8379-sata", "fsl,pq-sata";
0357 reg = <0x19000 0x1000>;
0358 interrupts = <45 0x8>;
0359 interrupt-parent = <&ipic>;
0360 sleep = <&pmc 0x00000030>;
0361 };
0362
0363 sata@1a000 {
0364 compatible = "fsl,mpc8379-sata", "fsl,pq-sata";
0365 reg = <0x1a000 0x1000>;
0366 interrupts = <46 0x8>;
0367 interrupt-parent = <&ipic>;
0368 sleep = <&pmc 0x0000000c>;
0369 };
0370
0371 sata@1b000 {
0372 compatible = "fsl,mpc8379-sata", "fsl,pq-sata";
0373 reg = <0x1b000 0x1000>;
0374 interrupts = <47 0x8>;
0375 interrupt-parent = <&ipic>;
0376 sleep = <&pmc 0x00000003>;
0377 };
0378
0379 /* IPIC
0380 * interrupts cell = <intr #, sense>
0381 * sense values match linux IORESOURCE_IRQ_* defines:
0382 * sense == 8: Level, low assertion
0383 * sense == 2: Edge, high-to-low change
0384 */
0385 ipic: interrupt-controller@700 {
0386 compatible = "fsl,ipic";
0387 interrupt-controller;
0388 #address-cells = <0>;
0389 #interrupt-cells = <2>;
0390 reg = <0x700 0x100>;
0391 };
0392
0393 pmc: power@b00 {
0394 compatible = "fsl,mpc8379-pmc", "fsl,mpc8349-pmc";
0395 reg = <0xb00 0x100 0xa00 0x100>;
0396 interrupts = <80 0x8>;
0397 interrupt-parent = <&ipic>;
0398 };
0399 };
0400
0401 pci0: pci@e0008500 {
0402 interrupt-map-mask = <0xf800 0 0 7>;
0403 interrupt-map = <
0404 /* IRQ5 = 21 = 0x15, IRQ6 = 0x16, IRQ7 = 23 = 0x17 */
0405
0406 /* IDSEL AD14 IRQ6 inta */
0407 0x7000 0x0 0x0 0x1 &ipic 22 0x8
0408
0409 /* IDSEL AD15 IRQ5 inta, IRQ6 intb, IRQ7 intd */
0410 0x7800 0x0 0x0 0x1 &ipic 21 0x8
0411 0x7800 0x0 0x0 0x2 &ipic 22 0x8
0412 0x7800 0x0 0x0 0x4 &ipic 23 0x8
0413
0414 /* IDSEL AD28 IRQ7 inta, IRQ5 intb IRQ6 intc*/
0415 0xE000 0x0 0x0 0x1 &ipic 23 0x8
0416 0xE000 0x0 0x0 0x2 &ipic 21 0x8
0417 0xE000 0x0 0x0 0x3 &ipic 22 0x8>;
0418 interrupt-parent = <&ipic>;
0419 interrupts = <66 0x8>;
0420 bus-range = <0x0 0x0>;
0421 ranges = <0x02000000 0x0 0x90000000 0x90000000 0x0 0x10000000
0422 0x42000000 0x0 0x80000000 0x80000000 0x0 0x10000000
0423 0x01000000 0x0 0x00000000 0xe0300000 0x0 0x00100000>;
0424 sleep = <&pmc 0x00010000>;
0425 clock-frequency = <66666666>;
0426 #interrupt-cells = <1>;
0427 #size-cells = <2>;
0428 #address-cells = <3>;
0429 reg = <0xe0008500 0x100 /* internal registers */
0430 0xe0008300 0x8>; /* config space access registers */
0431 compatible = "fsl,mpc8349-pci";
0432 device_type = "pci";
0433 };
0434
0435 leds {
0436 compatible = "gpio-leds";
0437
0438 pwr {
0439 gpios = <&mcu_pio 0 0>;
0440 default-state = "on";
0441 };
0442
0443 hdd {
0444 gpios = <&mcu_pio 1 0>;
0445 linux,default-trigger = "disk-activity";
0446 };
0447 };
0448 };