Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc

* 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: (106 commits)
  powerpc/p3060qds: Add support for P3060QDS board
  powerpc/83xx: Add shutdown request support to MCU handling on MPC8349 MITX
  powerpc/85xx: Make kexec to interate over online cpus
  powerpc/fsl_booke: Fix comment in head_fsl_booke.S
  powerpc/85xx: issue 15 EOI after core reset for FSL CoreNet devices
  powerpc/8xxx: Fix interrupt handling in MPC8xxx GPIO driver
  powerpc/85xx: Add 'fsl,pq3-gpio' compatiable for GPIO driver
  powerpc/86xx: Correct Gianfar support for GE boards
  powerpc/cpm: Clear muram before it is in use.
  drivers/virt: add ioctl for 32-bit compat on 64-bit to fsl-hv-manager
  powerpc/fsl_msi: add support for "msi-address-64" property
  powerpc/85xx: Setup secondary cores PIR with hard SMP id
  powerpc/fsl-booke: Fix settlbcam for 64-bit
  powerpc/85xx: Adding DCSR node to dtsi device trees
  powerpc/85xx: clean up FPGA device tree nodes for Freecsale QorIQ boards
  powerpc/85xx: fix PHYS_64BIT selection for P1022DS
  powerpc/fsl-booke: Fix setup_initial_memory_limit to not blindly map
  powerpc: respect mem= setting for early memory limit setup
  powerpc: Update corenet64_smp_defconfig
  powerpc: Update mpc85xx/corenet 32-bit defconfigs
  ...

Fix up trivial conflicts in:
 - arch/powerpc/configs/40x/hcu4_defconfig
	removed stale file, edited elsewhere
 - arch/powerpc/include/asm/udbg.h, arch/powerpc/kernel/udbg.c:
	added opal and gelic drivers vs added ePAPR driver
 - drivers/tty/serial/8250.c
	moved UPIO_TSI to powerpc vs removed UPIO_DWAPB support
This commit is contained in:
Linus Torvalds
2011-11-06 17:12:03 -08:00
189 changed files with 9410 additions and 979 deletions
@@ -1,3 +1,8 @@
Freescale Reference Board Bindings
This document describes device tree bindings for various devices that
exist on some Freescale reference boards.
* Board Control and Status (BCSR) * Board Control and Status (BCSR)
Required properties: Required properties:
@@ -12,25 +17,26 @@ Example:
reg = <f8000000 8000>; reg = <f8000000 8000>;
}; };
* Freescale on board FPGA * Freescale on-board FPGA
This is the memory-mapped registers for on board FPGA. This is the memory-mapped registers for on board FPGA.
Required properities: Required properities:
- compatible : should be "fsl,fpga-pixis". - compatible: should be a board-specific string followed by a string
- reg : should contain the address and the length of the FPPGA register indicating the type of FPGA. Example:
set. "fsl,<board>-fpga", "fsl,fpga-pixis"
- reg: should contain the address and the length of the FPGA register set.
- interrupt-parent: should specify phandle for the interrupt controller. - interrupt-parent: should specify phandle for the interrupt controller.
- interrupts : should specify event (wakeup) IRQ. - interrupts: should specify event (wakeup) IRQ.
Example (MPC8610HPCD): Example (P1022DS):
board-control@e8000000 { board-control@3,0 {
compatible = "fsl,fpga-pixis"; compatible = "fsl,p1022ds-fpga", "fsl,fpga-ngpixis";
reg = <0xe8000000 32>; reg = <3 0 0x30>;
interrupt-parent = <&mpic>; interrupt-parent = <&mpic>;
interrupts = <8 8>; interrupts = <8 8 0 0>;
}; };
* Freescale BCSR GPIO banks * Freescale BCSR GPIO banks
@@ -0,0 +1,395 @@
===================================================================
Debug Control and Status Register (DCSR) Binding
Copyright 2011 Freescale Semiconductor Inc.
NOTE: The bindings described in this document are preliminary and subject
to change. Some of the compatible strings that contain only generic names
may turn out to be inappropriate, or need additional properties to describe
the integration of the block with the rest of the chip.
=====================================================================
Debug Control and Status Register Memory Map
Description
This node defines the base address and range for the
defined DCSR Memory Map. Child nodes will describe the individual
debug blocks defined within this memory space.
PROPERTIES
- compatible
Usage: required
Value type: <string>
Definition: Must include "fsl,dcsr" and "simple-bus".
The DCSR space exists in the memory-mapped bus.
- #address-cells
Usage: required
Value type: <u32>
Definition: A standard property. Defines the number of cells
or representing physical addresses in child nodes.
- #size-cells
Usage: required
Value type: <u32>
Definition: A standard property. Defines the number of cells
or representing the size of physical addresses in
child nodes.
- ranges
Usage: required
Value type: <prop-encoded-array>
Definition: A standard property. Specifies the physical address
range of the DCSR space.
EXAMPLE
dcsr: dcsr@f00000000 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "fsl,dcsr", "simple-bus";
ranges = <0x00000000 0xf 0x00000000 0x01008000>;
};
=====================================================================
Event Processing Unit
This node represents the region of DCSR space allocated to the EPU
PROPERTIES
- compatible
Usage: required
Value type: <string>
Definition: Must include "fsl,dcsr-epu"
- interrupts
Usage: required
Value type: <prop_encoded-array>
Definition: Specifies the interrupts generated by the EPU.
The value of the interrupts property consists of three
interrupt specifiers. The format of the specifier is defined
by the binding document describing the node's interrupt parent.
The EPU counters can be configured to assert the performance
monitor interrupt signal based on either counter overflow or value
match. Which counter asserted the interrupt is captured in an EPU
Counter Interrupt Status Register (EPCPUISR).
The EPU unit can also be configured to assert either or both of
two interrupt signals based on debug event sources within the SoC.
The interrupt signals are epu_xt_int0 and epu_xt_int1.
Which event source asserted the interrupt is captured in an EPU
Interrupt Status Register (EPISR0,EPISR1).
Interrupt numbers are lised in order (perfmon, event0, event1).
- interrupt-parent
Usage: required
Value type: <phandle>
Definition: A single <phandle> value that points
to the interrupt parent to which the child domain
is being mapped. Value must be "&mpic"
- reg
Usage: required
Value type: <prop-encoded-array>
Definition: A standard property. Specifies the physical address
offset and length of the DCSR space registers of the device
configuration block.
EXAMPLE
dcsr-epu@0 {
compatible = "fsl,dcsr-epu";
interrupts = <52 2 0 0
84 2 0 0
85 2 0 0>;
interrupt-parent = <&mpic>;
reg = <0x0 0x1000>;
};
=======================================================================
Nexus Port Controller
This node represents the region of DCSR space allocated to the NPC
PROPERTIES
- compatible
Usage: required
Value type: <string>
Definition: Must include "fsl,dcsr-npc"
- reg
Usage: required
Value type: <prop-encoded-array>
Definition: A standard property. Specifies the physical address
offset and length of the DCSR space registers of the device
configuration block.
The Nexus Port controller occupies two regions in the DCSR space
with distinct functionality.
The first register range describes the Nexus Port Controller
control and status registers.
The second register range describes the Nexus Port Controller
internal trace buffer. The NPC trace buffer is a small memory buffer
which stages the nexus trace data for transmission via the Aurora port
or to a DDR based trace buffer. In some configurations the NPC trace
buffer can be the only trace buffer used.
EXAMPLE
dcsr-npc {
compatible = "fsl,dcsr-npc";
reg = <0x1000 0x1000 0x1000000 0x8000>;
};
=======================================================================
Nexus Concentrator
This node represents the region of DCSR space allocated to the NXC
PROPERTIES
- compatible
Usage: required
Value type: <string>
Definition: Must include "fsl,dcsr-nxc"
- reg
Usage: required
Value type: <prop-encoded-array>
Definition: A standard property. Specifies the physical address
offset and length of the DCSR space registers of the device
configuration block.
EXAMPLE
dcsr-nxc@2000 {
compatible = "fsl,dcsr-nxc";
reg = <0x2000 0x1000>;
};
=======================================================================
CoreNet Debug Controller
This node represents the region of DCSR space allocated to
the CoreNet Debug controller.
PROPERTIES
- compatible
Usage: required
Value type: <string>
Definition: Must include "fsl,dcsr-corenet"
- reg
Usage: required
Value type: <prop-encoded-array>
Definition: A standard property. Specifies the physical address
offset and length of the DCSR space registers of the device
configuration block.
The CoreNet Debug controller occupies two regions in the DCSR space
with distinct functionality.
The first register range describes the CoreNet Debug Controller
functionalty to perform transaction and transaction attribute matches.
The second register range describes the CoreNet Debug Controller
functionalty to trigger event notifications and debug traces.
EXAMPLE
dcsr-corenet {
compatible = "fsl,dcsr-corenet";
reg = <0x8000 0x1000 0xB0000 0x1000>;
};
=======================================================================
Data Path Debug controller
This node represents the region of DCSR space allocated to
the DPAA Debug Controller. This controller controls debug configuration
for the QMAN and FMAN blocks.
PROPERTIES
- compatible
Usage: required
Value type: <string>
Definition: Must include both an identifier specific to the SoC
or Debug IP of the form "fsl,<soc>-dcsr-dpaa" in addition to the
generic compatible string "fsl,dcsr-dpaa".
- reg
Usage: required
Value type: <prop-encoded-array>
Definition: A standard property. Specifies the physical address
offset and length of the DCSR space registers of the device
configuration block.
EXAMPLE
dcsr-dpaa@9000 {
compatible = "fsl,p4080-dcsr-dpaa", "fsl,dcsr-dpaa";
reg = <0x9000 0x1000>;
};
=======================================================================
OCeaN Debug controller
This node represents the region of DCSR space allocated to
the OCN Debug Controller.
PROPERTIES
- compatible
Usage: required
Value type: <string>
Definition: Must include both an identifier specific to the SoC
or Debug IP of the form "fsl,<soc>-dcsr-ocn" in addition to the
generic compatible string "fsl,dcsr-ocn".
- reg
Usage: required
Value type: <prop-encoded-array>
Definition: A standard property. Specifies the physical address
offset and length of the DCSR space registers of the device
configuration block.
EXAMPLE
dcsr-ocn@11000 {
compatible = "fsl,p4080-dcsr-ocn", "fsl,dcsr-ocn";
reg = <0x11000 0x1000>;
};
=======================================================================
DDR Controller Debug controller
This node represents the region of DCSR space allocated to
the OCN Debug Controller.
PROPERTIES
- compatible
Usage: required
Value type: <string>
Definition: Must include "fsl,dcsr-ddr"
- dev-handle
Usage: required
Definition: A phandle to associate this debug node with its
component controller.
- reg
Usage: required
Value type: <prop-encoded-array>
Definition: A standard property. Specifies the physical address
offset and length of the DCSR space registers of the device
configuration block.
EXAMPLE
dcsr-ddr@12000 {
compatible = "fsl,dcsr-ddr";
dev-handle = <&ddr1>;
reg = <0x12000 0x1000>;
};
=======================================================================
Nexus Aurora Link Controller
This node represents the region of DCSR space allocated to
the NAL Controller.
PROPERTIES
- compatible
Usage: required
Value type: <string>
Definition: Must include both an identifier specific to the SoC
or Debug IP of the form "fsl,<soc>-dcsr-nal" in addition to the
generic compatible string "fsl,dcsr-nal".
- reg
Usage: required
Value type: <prop-encoded-array>
Definition: A standard property. Specifies the physical address
offset and length of the DCSR space registers of the device
configuration block.
EXAMPLE
dcsr-nal@18000 {
compatible = "fsl,p4080-dcsr-nal", "fsl,dcsr-nal";
reg = <0x18000 0x1000>;
};
=======================================================================
Run Control and Power Management
This node represents the region of DCSR space allocated to
the RCPM Debug Controller. This functionlity is limited to the
control the debug operations of the SoC and cores.
PROPERTIES
- compatible
Usage: required
Value type: <string>
Definition: Must include both an identifier specific to the SoC
or Debug IP of the form "fsl,<soc>-dcsr-rcpm" in addition to the
generic compatible string "fsl,dcsr-rcpm".
- reg
Usage: required
Value type: <prop-encoded-array>
Definition: A standard property. Specifies the physical address
offset and length of the DCSR space registers of the device
configuration block.
EXAMPLE
dcsr-rcpm@22000 {
compatible = "fsl,p4080-dcsr-rcpm", "fsl,dcsr-rcpm";
reg = <0x22000 0x1000>;
};
=======================================================================
Core Service Bridge Proxy
This node represents the region of DCSR space allocated to
the Core Service Bridge Proxies.
There is one Core Service Bridge Proxy device for each CPU in the system.
This functionlity provides access to the debug operations of the CPU.
PROPERTIES
- compatible
Usage: required
Value type: <string>
Definition: Must include both an identifier specific to the cpu
of the form "fsl,dcsr-<cpu>-sb-proxy" in addition to the
generic compatible string "fsl,dcsr-cpu-sb-proxy".
- cpu-handle
Usage: required
Definition: A phandle to associate this debug node with its cpu.
- reg
Usage: required
Value type: <prop-encoded-array>
Definition: A standard property. Specifies the physical address
offset and length of the DCSR space registers of the device
configuration block.
EXAMPLE
dcsr-cpu-sb-proxy@40000 {
compatible = "fsl,dcsr-e500mc-sb-proxy",
"fsl,dcsr-cpu-sb-proxy";
cpu-handle = <&cpu0>;
reg = <0x40000 0x1000>;
};
dcsr-cpu-sb-proxy@41000 {
compatible = "fsl,dcsr-e500mc-sb-proxy",
"fsl,dcsr-cpu-sb-proxy";
cpu-handle = <&cpu1>;
reg = <0x41000 0x1000>;
};
=======================================================================
@@ -25,6 +25,16 @@ Required properties:
are routed to IPIC, and for 85xx/86xx cpu the interrupts are routed are routed to IPIC, and for 85xx/86xx cpu the interrupts are routed
to MPIC. to MPIC.
Optional properties:
- msi-address-64: 64-bit PCI address of the MSIIR register. The MSIIR register
is used for MSI messaging. The address of MSIIR in PCI address space is
the MSI message address.
This property may be used in virtualized environments where the hypervisor
has created an alternate mapping for the MSIR block. See below for an
explanation.
Example: Example:
msi@41600 { msi@41600 {
compatible = "fsl,mpc8610-msi", "fsl,mpic-msi"; compatible = "fsl,mpc8610-msi", "fsl,mpic-msi";
@@ -41,3 +51,35 @@ Example:
0xe7 0>; 0xe7 0>;
interrupt-parent = <&mpic>; interrupt-parent = <&mpic>;
}; };
The Freescale hypervisor and msi-address-64
-------------------------------------------
Normally, PCI devices have access to all of CCSR via an ATMU mapping. The
Freescale MSI driver calculates the address of MSIIR (in the MSI register
block) and sets that address as the MSI message address.
In a virtualized environment, the hypervisor may need to create an IOMMU
mapping for MSIIR. The Freescale ePAPR hypervisor has this requirement
because of hardware limitations of the Peripheral Access Management Unit
(PAMU), which is currently the only IOMMU that the hypervisor supports.
The ATMU is programmed with the guest physical address, and the PAMU
intercepts transactions and reroutes them to the true physical address.
In the PAMU, each PCI controller is given only one primary window. The
PAMU restricts DMA operations so that they can only occur within a window.
Because PCI devices must be able to DMA to memory, the primary window must
be used to cover all of the guest's memory space.
PAMU primary windows can be divided into 256 subwindows, and each
subwindow can have its own address mapping ("guest physical" to "true
physical"). However, each subwindow has to have the same alignment, which
means they cannot be located at just any address. Because of these
restrictions, it is usually impossible to create a 4KB subwindow that
covers MSIIR where it's normally located.
Therefore, the hypervisor has to create a subwindow inside the same
primary window used for memory, but mapped to the MSIR block (where MSIIR
lives). The first subwindow after the end of guest memory is used for
this. The address specified in the msi-address-64 property is the PCI
address of MSIIR. The hypervisor configures the PAMU to map that address to
the true physical address of MSIIR.
+3 -4
View File
@@ -323,7 +323,7 @@ config SWIOTLB
config HOTPLUG_CPU config HOTPLUG_CPU
bool "Support for enabling/disabling CPUs" bool "Support for enabling/disabling CPUs"
depends on SMP && HOTPLUG && EXPERIMENTAL && (PPC_PSERIES || PPC_PMAC) depends on SMP && HOTPLUG && EXPERIMENTAL && (PPC_PSERIES || PPC_PMAC || PPC_POWERNV)
---help--- ---help---
Say Y here to be able to disable and re-enable individual Say Y here to be able to disable and re-enable individual
CPUs at runtime on SMP machines. CPUs at runtime on SMP machines.
@@ -345,7 +345,7 @@ config ARCH_ENABLE_MEMORY_HOTREMOVE
config KEXEC config KEXEC
bool "kexec system call (EXPERIMENTAL)" bool "kexec system call (EXPERIMENTAL)"
depends on (PPC_BOOK3S || FSL_BOOKE) && EXPERIMENTAL depends on (PPC_BOOK3S || FSL_BOOKE || (44x && !SMP && !47x)) && EXPERIMENTAL
help help
kexec is a system call that implements the ability to shutdown your kexec is a system call that implements the ability to shutdown your
current kernel, and to start another kernel. It is like a reboot current kernel, and to start another kernel. It is like a reboot
@@ -429,8 +429,7 @@ config ARCH_POPULATES_NODE_MAP
def_bool y def_bool y
config SYS_SUPPORTS_HUGETLBFS config SYS_SUPPORTS_HUGETLBFS
def_bool y bool
depends on PPC_BOOK3S_64
source "mm/Kconfig" source "mm/Kconfig"
+42 -4
View File
@@ -141,9 +141,6 @@ config BOOTX_TEXT
config PPC_EARLY_DEBUG config PPC_EARLY_DEBUG
bool "Early debugging (dangerous)" bool "Early debugging (dangerous)"
# PPC_EARLY_DEBUG on 440 leaves AS=1 mappings above the TLB high water
# mark, which doesn't work with current 440 KVM.
depends on !KVM
help help
Say Y to enable some early debugging facilities that may be available Say Y to enable some early debugging facilities that may be available
for your processor/board combination. Those facilities are hacks for your processor/board combination. Those facilities are hacks
@@ -222,7 +219,9 @@ config PPC_EARLY_DEBUG_BEAT
config PPC_EARLY_DEBUG_44x config PPC_EARLY_DEBUG_44x
bool "Early serial debugging for IBM/AMCC 44x CPUs" bool "Early serial debugging for IBM/AMCC 44x CPUs"
depends on 44x # PPC_EARLY_DEBUG on 440 leaves AS=1 mappings above the TLB high water
# mark, which doesn't work with current 440 KVM.
depends on 44x && !KVM
help help
Select this to enable early debugging for IBM 44x chips via the Select this to enable early debugging for IBM 44x chips via the
inbuilt serial port. If you enable this, ensure you set inbuilt serial port. If you enable this, ensure you set
@@ -258,8 +257,35 @@ config PPC_EARLY_DEBUG_WSP
depends on PPC_WSP depends on PPC_WSP
select PPC_UDBG_16550 select PPC_UDBG_16550
config PPC_EARLY_DEBUG_PS3GELIC
bool "Early debugging through the PS3 Ethernet port"
depends on PPC_PS3
select PS3GELIC_UDBG
help
Select this to enable early debugging for the PlayStation3 via
UDP broadcasts sent out through the Ethernet port.
config PPC_EARLY_DEBUG_OPAL_RAW
bool "OPAL raw console"
depends on HVC_OPAL
help
Select this to enable early debugging for the PowerNV platform
using a "raw" console
config PPC_EARLY_DEBUG_OPAL_HVSI
bool "OPAL hvsi console"
depends on HVC_OPAL
help
Select this to enable early debugging for the PowerNV platform
using an "hvsi" console
endchoice endchoice
config PPC_EARLY_DEBUG_OPAL
def_bool y
depends on PPC_EARLY_DEBUG_OPAL_RAW || PPC_EARLY_DEBUG_OPAL_HVSI
config PPC_EARLY_DEBUG_HVSI_VTERMNO config PPC_EARLY_DEBUG_HVSI_VTERMNO
hex "vterm number to use with early debug HVSI" hex "vterm number to use with early debug HVSI"
depends on PPC_EARLY_DEBUG_LPAR_HVSI depends on PPC_EARLY_DEBUG_LPAR_HVSI
@@ -268,6 +294,18 @@ config PPC_EARLY_DEBUG_HVSI_VTERMNO
You probably want 0x30000000 for your first serial port and You probably want 0x30000000 for your first serial port and
0x30000001 for your second one 0x30000001 for your second one
config PPC_EARLY_DEBUG_OPAL_VTERMNO
hex "vterm number to use with OPAL early debug"
depends on PPC_EARLY_DEBUG_OPAL
default "0"
help
This correspond to which /dev/hvcN you want to use for early
debug.
On OPAL v1 (takeover) this should always be 0
On OPAL v2, this will be 0 for network console and 1 or 2 for
the machine built-in serial ports.
config PPC_EARLY_DEBUG_44x_PHYSLOW config PPC_EARLY_DEBUG_44x_PHYSLOW
hex "Low 32 bits of early debug UART physical address" hex "Low 32 bits of early debug UART physical address"
depends on PPC_EARLY_DEBUG_44x depends on PPC_EARLY_DEBUG_44x
+2 -1
View File
@@ -58,7 +58,7 @@ $(addprefix $(obj)/,$(zlib) cuboot-c2k.o gunzip_util.o main.o prpmc2800.o): \
libfdt := fdt.c fdt_ro.c fdt_wip.c fdt_sw.c fdt_rw.c fdt_strerror.c libfdt := fdt.c fdt_ro.c fdt_wip.c fdt_sw.c fdt_rw.c fdt_strerror.c
libfdtheader := fdt.h libfdt.h libfdt_internal.h libfdtheader := fdt.h libfdt.h libfdt_internal.h
$(addprefix $(obj)/,$(libfdt) libfdt-wrapper.o simpleboot.o): \ $(addprefix $(obj)/,$(libfdt) libfdt-wrapper.o simpleboot.o epapr.o): \
$(addprefix $(obj)/,$(libfdtheader)) $(addprefix $(obj)/,$(libfdtheader))
src-wlib := string.S crt0.S crtsavres.S stdio.c main.c \ src-wlib := string.S crt0.S crtsavres.S stdio.c main.c \
@@ -171,6 +171,7 @@ quiet_cmd_wrap = WRAP $@
$(if $3, -s $3)$(if $4, -d $4)$(if $5, -i $5) vmlinux $(if $3, -s $3)$(if $4, -d $4)$(if $5, -i $5) vmlinux
image-$(CONFIG_PPC_PSERIES) += zImage.pseries image-$(CONFIG_PPC_PSERIES) += zImage.pseries
image-$(CONFIG_PPC_POWERNV) += zImage.pseries
image-$(CONFIG_PPC_MAPLE) += zImage.maple image-$(CONFIG_PPC_MAPLE) += zImage.maple
image-$(CONFIG_PPC_IBM_CELL_BLADE) += zImage.pseries image-$(CONFIG_PPC_IBM_CELL_BLADE) += zImage.pseries
image-$(CONFIG_PPC_PS3) += dtbImage.ps3 image-$(CONFIG_PPC_PS3) += dtbImage.ps3
+52 -9
View File
@@ -23,19 +23,26 @@
soc5200@f0000000 { soc5200@f0000000 {
timer@600 { // General Purpose Timer timer@600 { // General Purpose Timer
#gpio-cells = <2>;
fsl,has-wdt; fsl,has-wdt;
gpio-controller;
};
timer@610 {
#gpio-cells = <2>;
gpio-controller;
}; };
rtc@800 { rtc@800 {
status = "disabled"; status = "disabled";
}; };
can@900 { spi@f00 {
status = "disabled"; msp430@0 {
}; compatible = "spidev";
spi-max-frequency = <32000>;
can@980 { reg = <0>;
status = "disabled"; };
}; };
psc@2000 { // PSC1 psc@2000 { // PSC1
@@ -73,11 +80,16 @@
}; };
i2c@3d00 { i2c@3d00 {
rtc@50 { eeprom@50 {
compatible = "at,24c08"; compatible = "at,24c08";
reg = <0x50>; reg = <0x50>;
}; };
rtc@56 {
compatible = "mc,rv3029c2";
reg = <0x56>;
};
rtc@68 { rtc@68 {
compatible = "dallas,ds1339"; compatible = "dallas,ds1339";
reg = <0x68>; reg = <0x68>;
@@ -90,11 +102,22 @@
}; };
pci@f0000d00 { pci@f0000d00 {
status = "disabled"; interrupt-map-mask = <0xf800 0 0 7>;
interrupt-map = <0xc000 0 0 1 &mpc5200_pic 0 0 3
0xc000 0 0 2 &mpc5200_pic 0 0 3
0xc000 0 0 3 &mpc5200_pic 0 0 3
0xc000 0 0 4 &mpc5200_pic 0 0 3>;
clock-frequency = <0>; // From boot loader
interrupts = <2 8 0 2 9 0 2 10 0>;
bus-range = <0 0>;
ranges = <0x42000000 0 0x80000000 0x80000000 0 0x10000000
0x02000000 0 0x90000000 0x90000000 0 0x10000000
0x01000000 0 0x00000000 0xa0000000 0 0x01000000>;
}; };
localbus { localbus {
ranges = <0 0 0xff000000 0x1000000>; ranges = <0 0 0xff000000 0x1000000
4 0 0x60000000 0x0001000>;
// 16-bit flash device at LocalPlus Bus CS0 // 16-bit flash device at LocalPlus Bus CS0
flash@0,0 { flash@0,0 {
@@ -122,5 +145,25 @@
reg = <0x00f00000 0x100000>; reg = <0x00f00000 0x100000>;
}; };
}; };
can@4,0 {
compatible = "nxp,sja1000";
reg = <4 0x000 0x80>;
nxp,external-clock-frequency = <24000000>;
interrupts = <1 2 3>; // Level-low
};
can@4,100 {
compatible = "nxp,sja1000";
reg = <4 0x100 0x80>;
nxp,external-clock-frequency = <24000000>;
interrupts = <1 2 3>; // Level-low
};
serial@4,200 {
compatible = "nxp,sc28l92";
reg = <4 0x200 0x10>;
interrupts = <1 3 3>;
};
}; };
}; };
+29 -4
View File
@@ -269,14 +269,16 @@
enet0: ethernet@24000 { enet0: ethernet@24000 {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <1>; #size-cells = <1>;
cell-index = <0>;
device_type = "network"; device_type = "network";
model = "eTSEC"; model = "TSEC";
compatible = "gianfar"; compatible = "gianfar";
reg = <0x24000 0x1000>; reg = <0x24000 0x1000>;
ranges = <0x0 0x24000 0x1000>; ranges = <0x0 0x24000 0x1000>;
local-mac-address = [ 00 00 00 00 00 00 ]; local-mac-address = [ 00 00 00 00 00 00 ];
interrupts = <0x1d 0x2 0x1e 0x2 0x22 0x2>; interrupts = <29 2 30 2 34 2>;
interrupt-parent = <&mpic>; interrupt-parent = <&mpic>;
tbi-handle = <&tbi0>;
phy-handle = <&phy0>; phy-handle = <&phy0>;
phy-connection-type = "gmii"; phy-connection-type = "gmii";
@@ -290,25 +292,48 @@
interrupt-parent = <&gef_pic>; interrupt-parent = <&gef_pic>;
interrupts = <0x9 0x4>; interrupts = <0x9 0x4>;
reg = <1>; reg = <1>;
device_type = "ethernet-phy";
}; };
phy2: ethernet-phy@2 { phy2: ethernet-phy@2 {
interrupt-parent = <&gef_pic>; interrupt-parent = <&gef_pic>;
interrupts = <0x8 0x4>; interrupts = <0x8 0x4>;
reg = <3>; reg = <3>;
device_type = "ethernet-phy";
};
tbi0: tbi-phy@11 {
reg = <0x11>;
device_type = "tbi-phy";
}; };
}; };
}; };
enet1: ethernet@26000 { enet1: ethernet@26000 {
#address-cells = <1>;
#size-cells = <1>;
cell-index = <2>;
device_type = "network"; device_type = "network";
model = "eTSEC"; model = "TSEC";
compatible = "gianfar"; compatible = "gianfar";
reg = <0x26000 0x1000>; reg = <0x26000 0x1000>;
ranges = <0x0 0x26000 0x1000>;
local-mac-address = [ 00 00 00 00 00 00 ]; local-mac-address = [ 00 00 00 00 00 00 ];
interrupts = <0x1f 0x2 0x20 0x2 0x21 0x2>; interrupts = <31 2 32 2 33 2>;
interrupt-parent = <&mpic>; interrupt-parent = <&mpic>;
tbi-handle = <&tbi2>;
phy-handle = <&phy2>; phy-handle = <&phy2>;
phy-connection-type = "gmii"; phy-connection-type = "gmii";
mdio@520 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "fsl,gianfar-tbi";
reg = <0x520 0x20>;
tbi2: tbi-phy@11 {
reg = <0x11>;
device_type = "tbi-phy";
};
};
}; };
serial0: serial@4500 { serial0: serial@4500 {
+29 -4
View File
@@ -267,14 +267,16 @@
enet0: ethernet@24000 { enet0: ethernet@24000 {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <1>; #size-cells = <1>;
cell-index = <0>;
device_type = "network"; device_type = "network";
model = "eTSEC"; model = "TSEC";
compatible = "gianfar"; compatible = "gianfar";
reg = <0x24000 0x1000>; reg = <0x24000 0x1000>;
ranges = <0x0 0x24000 0x1000>; ranges = <0x0 0x24000 0x1000>;
local-mac-address = [ 00 00 00 00 00 00 ]; local-mac-address = [ 00 00 00 00 00 00 ];
interrupts = <0x1d 0x2 0x1e 0x2 0x22 0x2>; interrupts = <29 2 30 2 34 2>;
interrupt-parent = <&mpic>; interrupt-parent = <&mpic>;
tbi-handle = <&tbi0>;
phy-handle = <&phy0>; phy-handle = <&phy0>;
phy-connection-type = "gmii"; phy-connection-type = "gmii";
@@ -288,25 +290,48 @@
interrupt-parent = <&gef_pic>; interrupt-parent = <&gef_pic>;
interrupts = <0x9 0x4>; interrupts = <0x9 0x4>;
reg = <1>; reg = <1>;
device_type = "ethernet-phy";
}; };
phy2: ethernet-phy@2 { phy2: ethernet-phy@2 {
interrupt-parent = <&gef_pic>; interrupt-parent = <&gef_pic>;
interrupts = <0x8 0x4>; interrupts = <0x8 0x4>;
reg = <3>; reg = <3>;
device_type = "ethernet-phy";
};
tbi0: tbi-phy@11 {
reg = <0x11>;
device_type = "tbi-phy";
}; };
}; };
}; };
enet1: ethernet@26000 { enet1: ethernet@26000 {
#address-cells = <1>;
#size-cells = <1>;
cell-index = <2>;
device_type = "network"; device_type = "network";
model = "eTSEC"; model = "TSEC";
compatible = "gianfar"; compatible = "gianfar";
reg = <0x26000 0x1000>; reg = <0x26000 0x1000>;
ranges = <0x0 0x26000 0x1000>;
local-mac-address = [ 00 00 00 00 00 00 ]; local-mac-address = [ 00 00 00 00 00 00 ];
interrupts = <0x1f 0x2 0x20 0x2 0x21 0x2>; interrupts = <31 2 32 2 33 2>;
interrupt-parent = <&mpic>; interrupt-parent = <&mpic>;
tbi-handle = <&tbi2>;
phy-handle = <&phy2>; phy-handle = <&phy2>;
phy-connection-type = "gmii"; phy-connection-type = "gmii";
mdio@520 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "fsl,gianfar-tbi";
reg = <0x520 0x20>;
tbi2: tbi-phy@11 {
reg = <0x11>;
device_type = "tbi-phy";
};
};
}; };
serial0: serial@4500 { serial0: serial@4500 {
+29 -4
View File
@@ -267,14 +267,16 @@
enet0: ethernet@24000 { enet0: ethernet@24000 {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <1>; #size-cells = <1>;
cell-index = <0>;
device_type = "network"; device_type = "network";
model = "eTSEC"; model = "TSEC";
compatible = "gianfar"; compatible = "gianfar";
reg = <0x24000 0x1000>; reg = <0x24000 0x1000>;
ranges = <0x0 0x24000 0x1000>; ranges = <0x0 0x24000 0x1000>;
local-mac-address = [ 00 00 00 00 00 00 ]; local-mac-address = [ 00 00 00 00 00 00 ];
interrupts = <0x1d 0x2 0x1e 0x2 0x22 0x2>; interrupts = <29 2 30 2 34 2>;
interrupt-parent = <&mpic>; interrupt-parent = <&mpic>;
tbi-handle = <&tbi0>;
phy-handle = <&phy0>; phy-handle = <&phy0>;
phy-connection-type = "gmii"; phy-connection-type = "gmii";
@@ -288,25 +290,48 @@
interrupt-parent = <&gef_pic>; interrupt-parent = <&gef_pic>;
interrupts = <0x9 0x4>; interrupts = <0x9 0x4>;
reg = <1>; reg = <1>;
device_type = "ethernet-phy";
}; };
phy2: ethernet-phy@2 { phy2: ethernet-phy@2 {
interrupt-parent = <&gef_pic>; interrupt-parent = <&gef_pic>;
interrupts = <0x8 0x4>; interrupts = <0x8 0x4>;
reg = <3>; reg = <3>;
device_type = "ethernet-phy";
};
tbi0: tbi-phy@11 {
reg = <0x11>;
device_type = "tbi-phy";
}; };
}; };
}; };
enet1: ethernet@26000 { enet1: ethernet@26000 {
#address-cells = <1>;
#size-cells = <1>;
cell-index = <2>;
device_type = "network"; device_type = "network";
model = "eTSEC"; model = "TSEC";
compatible = "gianfar"; compatible = "gianfar";
reg = <0x26000 0x1000>; reg = <0x26000 0x1000>;
ranges = <0x0 0x26000 0x1000>;
local-mac-address = [ 00 00 00 00 00 00 ]; local-mac-address = [ 00 00 00 00 00 00 ];
interrupts = <0x1f 0x2 0x20 0x2 0x21 0x2>; interrupts = <31 2 32 2 33 2>;
interrupt-parent = <&mpic>; interrupt-parent = <&mpic>;
tbi-handle = <&tbi2>;
phy-handle = <&phy2>; phy-handle = <&phy2>;
phy-connection-type = "gmii"; phy-connection-type = "gmii";
mdio@520 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "fsl,gianfar-tbi";
reg = <0x520 0x20>;
tbi2: tbi-phy@11 {
reg = <0x11>;
device_type = "tbi-phy";
};
};
}; };
serial0: serial@4500 { serial0: serial@4500 {
-168
View File
@@ -1,168 +0,0 @@
/*
* Device Tree Source for Netstal Maschinen HCU4
* based on the IBM Walnut
*
* Copyright 2008
* Niklaus Giger <niklaus.giger@member.fsf.org>
*
* Copyright 2007 IBM Corp.
* Josh Boyer <jwboyer@linux.vnet.ibm.com>
*
* This file is licensed under the terms of the GNU General Public
* License version 2. This program is licensed "as is" without
* any warranty of any kind, whether express or implied.
*/
/dts-v1/;
/ {
#address-cells = <0x1>;
#size-cells = <0x1>;
model = "netstal,hcu4";
compatible = "netstal,hcu4";
dcr-parent = <0x1>;
aliases {
ethernet0 = "/plb/opb/ethernet@ef600800";
serial0 = "/plb/opb/serial@ef600300";
};
cpus {
#address-cells = <0x1>;
#size-cells = <0x0>;
cpu@0 {
device_type = "cpu";
model = "PowerPC,405GPr";
reg = <0x0>;
clock-frequency = <0>; /* Filled in by U-Boot */
timebase-frequency = <0x0>; /* Filled in by U-Boot */
i-cache-line-size = <0x20>;
d-cache-line-size = <0x20>;
i-cache-size = <0x4000>;
d-cache-size = <0x4000>;
dcr-controller;
dcr-access-method = "native";
linux,phandle = <0x1>;
};
};
memory {
device_type = "memory";
reg = <0x0 0x0>; /* Filled in by U-Boot */
};
UIC0: interrupt-controller {
compatible = "ibm,uic";
interrupt-controller;
cell-index = <0x0>;
dcr-reg = <0xc0 0x9>;
#address-cells = <0x0>;
#size-cells = <0x0>;
#interrupt-cells = <0x2>;
linux,phandle = <0x2>;
};
plb {
compatible = "ibm,plb3";
#address-cells = <0x1>;
#size-cells = <0x1>;
ranges;
clock-frequency = <0x0>; /* Filled in by U-Boot */
SDRAM0: memory-controller {
compatible = "ibm,sdram-405gp";
dcr-reg = <0x10 0x2>;
};
MAL: mcmal {
compatible = "ibm,mcmal-405gp", "ibm,mcmal";
dcr-reg = <0x180 0x62>;
num-tx-chans = <0x1>;
num-rx-chans = <0x1>;
interrupt-parent = <0x2>;
interrupts = <0xb 0x4 0xc 0x4 0xa 0x4 0xd 0x4 0xe 0x4>;
linux,phandle = <0x3>;
};
POB0: opb {
compatible = "ibm,opb-405gp", "ibm,opb";
#address-cells = <0x1>;
#size-cells = <0x1>;
ranges = <0xef600000 0xef600000 0xa00000>;
dcr-reg = <0xa0 0x5>;
clock-frequency = <0x0>; /* Filled in by U-Boot */
UART0: serial@ef600300 {
device_type = "serial";
compatible = "ns16550";
reg = <0xef600300 0x8>;
virtual-reg = <0xef600300>;
clock-frequency = <0x0>;/* Filled in by U-Boot */
current-speed = <0>; /* Filled in by U-Boot */
interrupt-parent = <0x2>;
interrupts = <0x0 0x4>;
};
IIC: i2c@ef600500 {
compatible = "ibm,iic-405gp", "ibm,iic";
reg = <0xef600500 0x11>;
interrupt-parent = <0x2>;
interrupts = <0x2 0x4>;
};
GPIO: gpio@ef600700 {
compatible = "ibm,gpio-405gp";
reg = <0xef600700 0x20>;
};
EMAC: ethernet@ef600800 {
device_type = "network";
compatible = "ibm,emac-405gp", "ibm,emac";
interrupt-parent = <0x2>;
interrupts = <0xf 0x4 0x9 0x4>;
local-mac-address = [00 00 00 00 00 00];
reg = <0xef600800 0x70>;
mal-device = <0x3>;
mal-tx-channel = <0x0>;
mal-rx-channel = <0x0>;
cell-index = <0x0>;
max-frame-size = <0x5dc>;
rx-fifo-size = <0x1000>;
tx-fifo-size = <0x800>;
phy-mode = "rmii";
phy-map = <0x1>;
};
};
EBC0: ebc {
compatible = "ibm,ebc-405gp", "ibm,ebc";
dcr-reg = <0x12 0x2>;
#address-cells = <0x2>;
#size-cells = <0x1>;
clock-frequency = <0x0>; /* Filled in by U-Boot */
sram@0,0 {
reg = <0x0 0x0 0x80000>;
};
flash@0,80000 {
compatible = "jedec-flash";
bank-width = <0x1>;
reg = <0x0 0x80000 0x80000>;
#address-cells = <0x1>;
#size-cells = <0x1>;
partition@0 {
label = "OpenBIOS";
reg = <0x0 0x80000>;
read-only;
};
};
};
};
chosen {
linux,stdout-path = "/plb/opb/serial@ef600300";
};
};
+1 -1
View File
@@ -306,7 +306,7 @@
localbus@fdf05000 { localbus@fdf05000 {
#address-cells = <2>; #address-cells = <2>;
#size-cells = <1>; #size-cells = <1>;
compatible = "fsl,mpc8560-localbus"; compatible = "fsl,mpc8560-localbus", "simple-bus";
reg = <0xfdf05000 0x68>; reg = <0xfdf05000 0x68>;
ranges = <0x0 0x0 0xe0000000 0x00800000 ranges = <0x0 0x0 0xe0000000 0x00800000
+9
View File
@@ -213,6 +213,15 @@
linux,network-index = <2>; linux,network-index = <2>;
fsl,cpm-command = <0x16200300>; fsl,cpm-command = <0x16200300>;
}; };
usb@11b60 {
compatible = "fsl,mpc8272-cpm-usb";
mode = "peripheral";
reg = <0x11b60 0x40 0x8b00 0x100>;
interrupts = <11 8>;
interrupt-parent = <&PIC>;
usb-clock = <5>;
};
}; };
cpm2_pio_c: gpio-controller@10d40 { cpm2_pio_c: gpio-controller@10d40 {
+2
View File
@@ -147,6 +147,8 @@
}; };
spi@f00 { spi@f00 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "fsl,mpc5200b-spi","fsl,mpc5200-spi"; compatible = "fsl,mpc5200b-spi","fsl,mpc5200-spi";
reg = <0xf00 0x20>; reg = <0xf00 0x20>;
interrupts = <2 13 0 2 14 0>; interrupts = <2 13 0 2 14 0>;
+2 -1
View File
@@ -390,7 +390,8 @@
#address-cells = <2>; #address-cells = <2>;
#size-cells = <1>; #size-cells = <1>;
compatible = "fsl,mpc8349e-localbus", compatible = "fsl,mpc8349e-localbus",
"fsl,pq2pro-localbus"; "fsl,pq2pro-localbus",
"simple-bus";
reg = <0xe0005000 0xd8>; reg = <0xe0005000 0xd8>;
ranges = <0x0 0x0 0xfe000000 0x1000000 /* flash */ ranges = <0x0 0x0 0xfe000000 0x1000000 /* flash */
0x1 0x0 0xf8000000 0x20000 /* VSC 7385 */ 0x1 0x0 0xf8000000 0x20000 /* VSC 7385 */
+1 -1
View File
@@ -150,7 +150,7 @@
}; };
board-control@3,0 { board-control@3,0 {
compatible = "fsl,p1022ds-pixis"; compatible = "fsl,p1022ds-fpga", "fsl,fpga-ngpixis";
reg = <3 0 0x30>; reg = <3 0 0x30>;
interrupt-parent = <&mpic>; interrupt-parent = <&mpic>;
/* /*
+5
View File
@@ -118,6 +118,11 @@
}; };
}; };
board-control@3,0 {
compatible = "fsl,p2020ds-fpga", "fsl,fpga-ngpixis";
reg = <0x3 0x0 0x30>;
};
nand@4,0 { nand@4,0 {
compatible = "fsl,elbc-fcm-nand"; compatible = "fsl,elbc-fcm-nand";
reg = <0x4 0x0 0x40000>; reg = <0x4 0x0 0x40000>;
@@ -1,5 +1,5 @@
/* /*
* P2040RDB Device Tree Source * P2041RDB Device Tree Source
* *
* Copyright 2011 Freescale Semiconductor Inc. * Copyright 2011 Freescale Semiconductor Inc.
* *
@@ -32,11 +32,11 @@
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/ */
/include/ "p2040si.dtsi" /include/ "p2041si.dtsi"
/ { / {
model = "fsl,P2040RDB"; model = "fsl,P2041RDB";
compatible = "fsl,P2040RDB"; compatible = "fsl,P2041RDB";
#address-cells = <2>; #address-cells = <2>;
#size-cells = <2>; #size-cells = <2>;
interrupt-parent = <&mpic>; interrupt-parent = <&mpic>;
@@ -45,6 +45,10 @@
device_type = "memory"; device_type = "memory";
}; };
dcsr: dcsr@f00000000 {
ranges = <0x00000000 0xf 0x00000000 0x01008000>;
};
soc: soc@ffe000000 { soc: soc@ffe000000 {
spi@110000 { spi@110000 {
flash@0 { flash@0 {
@@ -97,13 +101,8 @@
}; };
}; };
usb0: usb@210000 {
phy_type = "utmi";
};
usb1: usb@211000 { usb1: usb@211000 {
dr_mode = "host"; dr_mode = "host";
phy_type = "utmi";
}; };
}; };
@@ -1,5 +1,5 @@
/* /*
* P2040 Silicon Device Tree Source * P2041 Silicon Device Tree Source
* *
* Copyright 2011 Freescale Semiconductor Inc. * Copyright 2011 Freescale Semiconductor Inc.
* *
@@ -35,13 +35,14 @@
/dts-v1/; /dts-v1/;
/ { / {
compatible = "fsl,P2040"; compatible = "fsl,P2041";
#address-cells = <2>; #address-cells = <2>;
#size-cells = <2>; #size-cells = <2>;
interrupt-parent = <&mpic>; interrupt-parent = <&mpic>;
aliases { aliases {
ccsr = &soc; ccsr = &soc;
dcsr = &dcsr;
serial0 = &serial0; serial0 = &serial0;
serial1 = &serial1; serial1 = &serial1;
@@ -109,6 +110,74 @@
}; };
}; };
dcsr: dcsr@f00000000 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "fsl,dcsr", "simple-bus";
dcsr-epu@0 {
compatible = "fsl,dcsr-epu";
interrupts = <52 2 0 0
84 2 0 0
85 2 0 0>;
interrupt-parent = <&mpic>;
reg = <0x0 0x1000>;
};
dcsr-npc {
compatible = "fsl,dcsr-npc";
reg = <0x1000 0x1000 0x1000000 0x8000>;
};
dcsr-nxc@2000 {
compatible = "fsl,dcsr-nxc";
reg = <0x2000 0x1000>;
};
dcsr-corenet {
compatible = "fsl,dcsr-corenet";
reg = <0x8000 0x1000 0xB0000 0x1000>;
};
dcsr-dpaa@9000 {
compatible = "fsl,p2041-dcsr-dpaa", "fsl,dcsr-dpaa";
reg = <0x9000 0x1000>;
};
dcsr-ocn@11000 {
compatible = "fsl,p2041-dcsr-ocn", "fsl,dcsr-ocn";
reg = <0x11000 0x1000>;
};
dcsr-ddr@12000 {
compatible = "fsl,dcsr-ddr";
dev-handle = <&ddr>;
reg = <0x12000 0x1000>;
};
dcsr-nal@18000 {
compatible = "fsl,p2041-dcsr-nal", "fsl,dcsr-nal";
reg = <0x18000 0x1000>;
};
dcsr-rcpm@22000 {
compatible = "fsl,p2041-dcsr-rcpm", "fsl,dcsr-rcpm";
reg = <0x22000 0x1000>;
};
dcsr-cpu-sb-proxy@40000 {
compatible = "fsl,dcsr-e500mc-sb-proxy", "fsl,dcsr-cpu-sb-proxy";
cpu-handle = <&cpu0>;
reg = <0x40000 0x1000>;
};
dcsr-cpu-sb-proxy@41000 {
compatible = "fsl,dcsr-e500mc-sb-proxy", "fsl,dcsr-cpu-sb-proxy";
cpu-handle = <&cpu1>;
reg = <0x41000 0x1000>;
};
dcsr-cpu-sb-proxy@42000 {
compatible = "fsl,dcsr-e500mc-sb-proxy", "fsl,dcsr-cpu-sb-proxy";
cpu-handle = <&cpu2>;
reg = <0x42000 0x1000>;
};
dcsr-cpu-sb-proxy@43000 {
compatible = "fsl,dcsr-e500mc-sb-proxy", "fsl,dcsr-cpu-sb-proxy";
cpu-handle = <&cpu3>;
reg = <0x43000 0x1000>;
};
};
soc: soc@ffe000000 { soc: soc@ffe000000 {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <1>; #size-cells = <1>;
@@ -128,14 +197,14 @@
fsl,num-laws = <32>; fsl,num-laws = <32>;
}; };
memory-controller@8000 { ddr: memory-controller@8000 {
compatible = "fsl,qoriq-memory-controller-v4.5", "fsl,qoriq-memory-controller"; compatible = "fsl,qoriq-memory-controller-v4.5", "fsl,qoriq-memory-controller";
reg = <0x8000 0x1000>; reg = <0x8000 0x1000>;
interrupts = <16 2 1 23>; interrupts = <16 2 1 23>;
}; };
cpc: l3-cache-controller@10000 { cpc: l3-cache-controller@10000 {
compatible = "fsl,p2040-l3-cache-controller", "fsl,p4080-l3-cache-controller", "cache"; compatible = "fsl,p2041-l3-cache-controller", "fsl,p4080-l3-cache-controller", "cache";
reg = <0x10000 0x1000>; reg = <0x10000 0x1000>;
interrupts = <16 2 1 27>; interrupts = <16 2 1 27>;
}; };
@@ -226,7 +295,7 @@
}; };
clockgen: global-utilities@e1000 { clockgen: global-utilities@e1000 {
compatible = "fsl,p2040-clockgen", "fsl,qoriq-clockgen-1.0"; compatible = "fsl,p2041-clockgen", "fsl,qoriq-clockgen-1.0";
reg = <0xe1000 0x1000>; reg = <0xe1000 0x1000>;
clock-frequency = <0>; clock-frequency = <0>;
}; };
@@ -238,45 +307,45 @@
}; };
sfp: sfp@e8000 { sfp: sfp@e8000 {
compatible = "fsl,p2040-sfp", "fsl,qoriq-sfp-1.0"; compatible = "fsl,p2041-sfp", "fsl,qoriq-sfp-1.0";
reg = <0xe8000 0x1000>; reg = <0xe8000 0x1000>;
}; };
serdes: serdes@ea000 { serdes: serdes@ea000 {
compatible = "fsl,p2040-serdes"; compatible = "fsl,p2041-serdes";
reg = <0xea000 0x1000>; reg = <0xea000 0x1000>;
}; };
dma0: dma@100300 { dma0: dma@100300 {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <1>; #size-cells = <1>;
compatible = "fsl,p2040-dma", "fsl,eloplus-dma"; compatible = "fsl,p2041-dma", "fsl,eloplus-dma";
reg = <0x100300 0x4>; reg = <0x100300 0x4>;
ranges = <0x0 0x100100 0x200>; ranges = <0x0 0x100100 0x200>;
cell-index = <0>; cell-index = <0>;
dma-channel@0 { dma-channel@0 {
compatible = "fsl,p2040-dma-channel", compatible = "fsl,p2041-dma-channel",
"fsl,eloplus-dma-channel"; "fsl,eloplus-dma-channel";
reg = <0x0 0x80>; reg = <0x0 0x80>;
cell-index = <0>; cell-index = <0>;
interrupts = <28 2 0 0>; interrupts = <28 2 0 0>;
}; };
dma-channel@80 { dma-channel@80 {
compatible = "fsl,p2040-dma-channel", compatible = "fsl,p2041-dma-channel",
"fsl,eloplus-dma-channel"; "fsl,eloplus-dma-channel";
reg = <0x80 0x80>; reg = <0x80 0x80>;
cell-index = <1>; cell-index = <1>;
interrupts = <29 2 0 0>; interrupts = <29 2 0 0>;
}; };
dma-channel@100 { dma-channel@100 {
compatible = "fsl,p2040-dma-channel", compatible = "fsl,p2041-dma-channel",
"fsl,eloplus-dma-channel"; "fsl,eloplus-dma-channel";
reg = <0x100 0x80>; reg = <0x100 0x80>;
cell-index = <2>; cell-index = <2>;
interrupts = <30 2 0 0>; interrupts = <30 2 0 0>;
}; };
dma-channel@180 { dma-channel@180 {
compatible = "fsl,p2040-dma-channel", compatible = "fsl,p2041-dma-channel",
"fsl,eloplus-dma-channel"; "fsl,eloplus-dma-channel";
reg = <0x180 0x80>; reg = <0x180 0x80>;
cell-index = <3>; cell-index = <3>;
@@ -287,33 +356,33 @@
dma1: dma@101300 { dma1: dma@101300 {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <1>; #size-cells = <1>;
compatible = "fsl,p2040-dma", "fsl,eloplus-dma"; compatible = "fsl,p2041-dma", "fsl,eloplus-dma";
reg = <0x101300 0x4>; reg = <0x101300 0x4>;
ranges = <0x0 0x101100 0x200>; ranges = <0x0 0x101100 0x200>;
cell-index = <1>; cell-index = <1>;
dma-channel@0 { dma-channel@0 {
compatible = "fsl,p2040-dma-channel", compatible = "fsl,p2041-dma-channel",
"fsl,eloplus-dma-channel"; "fsl,eloplus-dma-channel";
reg = <0x0 0x80>; reg = <0x0 0x80>;
cell-index = <0>; cell-index = <0>;
interrupts = <32 2 0 0>; interrupts = <32 2 0 0>;
}; };
dma-channel@80 { dma-channel@80 {
compatible = "fsl,p2040-dma-channel", compatible = "fsl,p2041-dma-channel",
"fsl,eloplus-dma-channel"; "fsl,eloplus-dma-channel";
reg = <0x80 0x80>; reg = <0x80 0x80>;
cell-index = <1>; cell-index = <1>;
interrupts = <33 2 0 0>; interrupts = <33 2 0 0>;
}; };
dma-channel@100 { dma-channel@100 {
compatible = "fsl,p2040-dma-channel", compatible = "fsl,p2041-dma-channel",
"fsl,eloplus-dma-channel"; "fsl,eloplus-dma-channel";
reg = <0x100 0x80>; reg = <0x100 0x80>;
cell-index = <2>; cell-index = <2>;
interrupts = <34 2 0 0>; interrupts = <34 2 0 0>;
}; };
dma-channel@180 { dma-channel@180 {
compatible = "fsl,p2040-dma-channel", compatible = "fsl,p2041-dma-channel",
"fsl,eloplus-dma-channel"; "fsl,eloplus-dma-channel";
reg = <0x180 0x80>; reg = <0x180 0x80>;
cell-index = <3>; cell-index = <3>;
@@ -324,22 +393,20 @@
spi@110000 { spi@110000 {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
compatible = "fsl,p2040-espi", "fsl,mpc8536-espi"; compatible = "fsl,p2041-espi", "fsl,mpc8536-espi";
reg = <0x110000 0x1000>; reg = <0x110000 0x1000>;
interrupts = <53 0x2 0 0>; interrupts = <53 0x2 0 0>;
fsl,espi-num-chipselects = <4>; fsl,espi-num-chipselects = <4>;
}; };
sdhc: sdhc@114000 { sdhc: sdhc@114000 {
compatible = "fsl,p2040-esdhc", "fsl,esdhc"; compatible = "fsl,p2041-esdhc", "fsl,esdhc";
reg = <0x114000 0x1000>; reg = <0x114000 0x1000>;
interrupts = <48 2 0 0>; interrupts = <48 2 0 0>;
sdhci,auto-cmd12; sdhci,auto-cmd12;
clock-frequency = <0>; clock-frequency = <0>;
}; };
i2c@118000 { i2c@118000 {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
@@ -417,7 +484,7 @@
}; };
gpio0: gpio@130000 { gpio0: gpio@130000 {
compatible = "fsl,p2040-gpio", "fsl,qoriq-gpio"; compatible = "fsl,p2041-gpio", "fsl,qoriq-gpio";
reg = <0x130000 0x1000>; reg = <0x130000 0x1000>;
interrupts = <55 2 0 0>; interrupts = <55 2 0 0>;
#gpio-cells = <2>; #gpio-cells = <2>;
@@ -425,32 +492,34 @@
}; };
usb0: usb@210000 { usb0: usb@210000 {
compatible = "fsl,p2040-usb2-mph", compatible = "fsl,p2041-usb2-mph",
"fsl,mpc85xx-usb2-mph", "fsl-usb2-mph"; "fsl,mpc85xx-usb2-mph", "fsl-usb2-mph";
reg = <0x210000 0x1000>; reg = <0x210000 0x1000>;
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
interrupts = <44 0x2 0 0>; interrupts = <44 0x2 0 0>;
phy_type = "utmi";
port0; port0;
}; };
usb1: usb@211000 { usb1: usb@211000 {
compatible = "fsl,p2040-usb2-dr", compatible = "fsl,p2041-usb2-dr",
"fsl,mpc85xx-usb2-dr", "fsl-usb2-dr"; "fsl,mpc85xx-usb2-dr", "fsl-usb2-dr";
reg = <0x211000 0x1000>; reg = <0x211000 0x1000>;
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
interrupts = <45 0x2 0 0>; interrupts = <45 0x2 0 0>;
phy_type = "utmi";
}; };
sata@220000 { sata@220000 {
compatible = "fsl,p2040-sata", "fsl,pq-sata-v2"; compatible = "fsl,p2041-sata", "fsl,pq-sata-v2";
reg = <0x220000 0x1000>; reg = <0x220000 0x1000>;
interrupts = <68 0x2 0 0>; interrupts = <68 0x2 0 0>;
}; };
sata@221000 { sata@221000 {
compatible = "fsl,p2040-sata", "fsl,pq-sata-v2"; compatible = "fsl,p2041-sata", "fsl,pq-sata-v2";
reg = <0x221000 0x1000>; reg = <0x221000 0x1000>;
interrupts = <69 0x2 0 0>; interrupts = <69 0x2 0 0>;
}; };
@@ -534,19 +603,19 @@
}; };
localbus@ffe124000 { localbus@ffe124000 {
compatible = "fsl,p2040-elbc", "fsl,elbc", "simple-bus"; compatible = "fsl,p2041-elbc", "fsl,elbc", "simple-bus";
interrupts = <25 2 0 0>; interrupts = <25 2 0 0>;
#address-cells = <2>; #address-cells = <2>;
#size-cells = <1>; #size-cells = <1>;
}; };
pci0: pcie@ffe200000 { pci0: pcie@ffe200000 {
compatible = "fsl,p2040-pcie", "fsl,qoriq-pcie-v2.2"; compatible = "fsl,p2041-pcie", "fsl,qoriq-pcie-v2.2";
device_type = "pci"; device_type = "pci";
#size-cells = <2>; #size-cells = <2>;
#address-cells = <3>; #address-cells = <3>;
bus-range = <0x0 0xff>; bus-range = <0x0 0xff>;
clock-frequency = <0x1fca055>; clock-frequency = <33333333>;
fsl,msi = <&msi0>; fsl,msi = <&msi0>;
interrupts = <16 2 1 15>; interrupts = <16 2 1 15>;
pcie@0 { pcie@0 {
@@ -568,12 +637,12 @@
}; };
pci1: pcie@ffe201000 { pci1: pcie@ffe201000 {
compatible = "fsl,p2040-pcie", "fsl,qoriq-pcie-v2.2"; compatible = "fsl,p2041-pcie", "fsl,qoriq-pcie-v2.2";
device_type = "pci"; device_type = "pci";
#size-cells = <2>; #size-cells = <2>;
#address-cells = <3>; #address-cells = <3>;
bus-range = <0 0xff>; bus-range = <0 0xff>;
clock-frequency = <0x1fca055>; clock-frequency = <33333333>;
fsl,msi = <&msi1>; fsl,msi = <&msi1>;
interrupts = <16 2 1 14>; interrupts = <16 2 1 14>;
pcie@0 { pcie@0 {
@@ -595,12 +664,12 @@
}; };
pci2: pcie@ffe202000 { pci2: pcie@ffe202000 {
compatible = "fsl,p2040-pcie", "fsl,qoriq-pcie-v2.2"; compatible = "fsl,p2041-pcie", "fsl,qoriq-pcie-v2.2";
device_type = "pci"; device_type = "pci";
#size-cells = <2>; #size-cells = <2>;
#address-cells = <3>; #address-cells = <3>;
bus-range = <0x0 0xff>; bus-range = <0x0 0xff>;
clock-frequency = <0x1fca055>; clock-frequency = <33333333>;
fsl,msi = <&msi2>; fsl,msi = <&msi2>;
interrupts = <16 2 1 13>; interrupts = <16 2 1 13>;
pcie@0 { pcie@0 {
+6 -2
View File
@@ -45,6 +45,10 @@
device_type = "memory"; device_type = "memory";
}; };
dcsr: dcsr@f00000000 {
ranges = <0x00000000 0xf 0x00000000 0x01008000>;
};
soc: soc@ffe000000 { soc: soc@ffe000000 {
spi@110000 { spi@110000 {
flash@0 { flash@0 {
@@ -147,8 +151,8 @@
}; };
board-control@3,0 { board-control@3,0 {
compatible = "fsl,p3041ds-pixis"; compatible = "fsl,p3041ds-fpga", "fsl,fpga-ngpixis";
reg = <3 0 0x20>; reg = <3 0 0x30>;
}; };
}; };

Some files were not shown because too many files have changed in this diff Show More