![Kumar Gala](/assets/img/avatar_default.png)
Updated the device trees to have the PCI nodes be at the same level as the SOC node. This is to make it so that the SOC nodes children address space is just on chip registers and not other bus memory as well. Also, for PCIe nodes added a P2P bridge to handle the virtual P2P bridge that exists in the PHB. Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
212 lines
4.6 KiB
Plaintext
212 lines
4.6 KiB
Plaintext
/*
|
|
* MPC8313E RDB Device Tree Source
|
|
*
|
|
* Copyright 2005, 2006, 2007 Freescale Semiconductor Inc.
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify it
|
|
* under the terms of the GNU General Public License as published by the
|
|
* Free Software Foundation; either version 2 of the License, or (at your
|
|
* option) any later version.
|
|
*/
|
|
|
|
/ {
|
|
model = "MPC8313ERDB";
|
|
compatible = "MPC8313ERDB", "MPC831xRDB", "MPC83xxRDB";
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
|
|
cpus {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
PowerPC,8313@0 {
|
|
device_type = "cpu";
|
|
reg = <0>;
|
|
d-cache-line-size = <20>; // 32 bytes
|
|
i-cache-line-size = <20>; // 32 bytes
|
|
d-cache-size = <4000>; // L1, 16K
|
|
i-cache-size = <4000>; // L1, 16K
|
|
timebase-frequency = <0>; // from bootloader
|
|
bus-frequency = <0>; // from bootloader
|
|
clock-frequency = <0>; // from bootloader
|
|
};
|
|
};
|
|
|
|
memory {
|
|
device_type = "memory";
|
|
reg = <00000000 08000000>; // 128MB at 0
|
|
};
|
|
|
|
soc8313@e0000000 {
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
device_type = "soc";
|
|
ranges = <0 e0000000 00100000>;
|
|
reg = <e0000000 00000200>;
|
|
bus-frequency = <0>;
|
|
|
|
wdt@200 {
|
|
device_type = "watchdog";
|
|
compatible = "mpc83xx_wdt";
|
|
reg = <200 100>;
|
|
};
|
|
|
|
i2c@3000 {
|
|
device_type = "i2c";
|
|
compatible = "fsl-i2c";
|
|
reg = <3000 100>;
|
|
interrupts = <e 8>;
|
|
interrupt-parent = < &ipic >;
|
|
dfsrr;
|
|
};
|
|
|
|
i2c@3100 {
|
|
device_type = "i2c";
|
|
compatible = "fsl-i2c";
|
|
reg = <3100 100>;
|
|
interrupts = <f 8>;
|
|
interrupt-parent = < &ipic >;
|
|
dfsrr;
|
|
};
|
|
|
|
spi@7000 {
|
|
device_type = "spi";
|
|
compatible = "mpc83xx_spi";
|
|
reg = <7000 1000>;
|
|
interrupts = <10 8>;
|
|
interrupt-parent = < &ipic >;
|
|
mode = <0>;
|
|
};
|
|
|
|
/* phy type (ULPI, UTMI, UTMI_WIDE, SERIAL) */
|
|
usb@23000 {
|
|
device_type = "usb";
|
|
compatible = "fsl-usb2-dr";
|
|
reg = <23000 1000>;
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
interrupt-parent = < &ipic >;
|
|
interrupts = <26 8>;
|
|
phy_type = "utmi_wide";
|
|
};
|
|
|
|
mdio@24520 {
|
|
device_type = "mdio";
|
|
compatible = "gianfar";
|
|
reg = <24520 20>;
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
phy1: ethernet-phy@1 {
|
|
interrupt-parent = < &ipic >;
|
|
interrupts = <13 8>;
|
|
reg = <1>;
|
|
device_type = "ethernet-phy";
|
|
};
|
|
phy4: ethernet-phy@4 {
|
|
interrupt-parent = < &ipic >;
|
|
interrupts = <14 8>;
|
|
reg = <4>;
|
|
device_type = "ethernet-phy";
|
|
};
|
|
};
|
|
|
|
ethernet@24000 {
|
|
device_type = "network";
|
|
model = "eTSEC";
|
|
compatible = "gianfar";
|
|
reg = <24000 1000>;
|
|
local-mac-address = [ 00 00 00 00 00 00 ];
|
|
interrupts = <25 8 24 8 23 8>;
|
|
interrupt-parent = < &ipic >;
|
|
phy-handle = < &phy1 >;
|
|
};
|
|
|
|
ethernet@25000 {
|
|
device_type = "network";
|
|
model = "eTSEC";
|
|
compatible = "gianfar";
|
|
reg = <25000 1000>;
|
|
local-mac-address = [ 00 00 00 00 00 00 ];
|
|
interrupts = <22 8 21 8 20 8>;
|
|
interrupt-parent = < &ipic >;
|
|
phy-handle = < &phy4 >;
|
|
};
|
|
|
|
serial@4500 {
|
|
device_type = "serial";
|
|
compatible = "ns16550";
|
|
reg = <4500 100>;
|
|
clock-frequency = <0>;
|
|
interrupts = <9 8>;
|
|
interrupt-parent = < &ipic >;
|
|
};
|
|
|
|
serial@4600 {
|
|
device_type = "serial";
|
|
compatible = "ns16550";
|
|
reg = <4600 100>;
|
|
clock-frequency = <0>;
|
|
interrupts = <a 8>;
|
|
interrupt-parent = < &ipic >;
|
|
};
|
|
|
|
crypto@30000 {
|
|
device_type = "crypto";
|
|
model = "SEC2";
|
|
compatible = "talitos";
|
|
reg = <30000 7000>;
|
|
interrupts = <b 8>;
|
|
interrupt-parent = < &ipic >;
|
|
/* Rev. 2.2 */
|
|
num-channels = <1>;
|
|
channel-fifo-len = <18>;
|
|
exec-units-mask = <0000004c>;
|
|
descriptor-types-mask = <0122003f>;
|
|
};
|
|
|
|
/* IPIC
|
|
* interrupts cell = <intr #, sense>
|
|
* sense values match linux IORESOURCE_IRQ_* defines:
|
|
* sense == 8: Level, low assertion
|
|
* sense == 2: Edge, high-to-low change
|
|
*/
|
|
ipic: pic@700 {
|
|
interrupt-controller;
|
|
#address-cells = <0>;
|
|
#interrupt-cells = <2>;
|
|
reg = <700 100>;
|
|
device_type = "ipic";
|
|
};
|
|
};
|
|
|
|
pci@e0008500 {
|
|
interrupt-map-mask = <f800 0 0 7>;
|
|
interrupt-map = <
|
|
|
|
/* IDSEL 0x0E -mini PCI */
|
|
7000 0 0 1 &ipic 12 8
|
|
7000 0 0 2 &ipic 12 8
|
|
7000 0 0 3 &ipic 12 8
|
|
7000 0 0 4 &ipic 12 8
|
|
|
|
/* IDSEL 0x0F - PCI slot */
|
|
7800 0 0 1 &ipic 11 8
|
|
7800 0 0 2 &ipic 12 8
|
|
7800 0 0 3 &ipic 11 8
|
|
7800 0 0 4 &ipic 12 8>;
|
|
interrupt-parent = < &ipic >;
|
|
interrupts = <42 8>;
|
|
bus-range = <0 0>;
|
|
ranges = <02000000 0 90000000 90000000 0 10000000
|
|
42000000 0 80000000 80000000 0 10000000
|
|
01000000 0 00000000 e2000000 0 00100000>;
|
|
clock-frequency = <3f940aa>;
|
|
#interrupt-cells = <1>;
|
|
#size-cells = <2>;
|
|
#address-cells = <3>;
|
|
reg = <e0008500 100>;
|
|
compatible = "fsl,mpc8349-pci";
|
|
device_type = "pci";
|
|
};
|
|
};
|