You've already forked linux-apfs
mirror of
https://github.com/linux-apfs/linux-apfs.git
synced 2026-05-01 15:00:59 -07:00
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:
@@ -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.
|
||||||
|
|||||||
@@ -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"
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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>;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -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 {
|
||||||
|
|||||||
@@ -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 {
|
||||||
|
|||||||
@@ -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 {
|
||||||
|
|||||||
@@ -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";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
@@ -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
|
||||||
|
|||||||
@@ -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 {
|
||||||
|
|||||||
@@ -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>;
|
||||||
|
|||||||
@@ -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 */
|
||||||
|
|||||||
@@ -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>;
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -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 {
|
||||||
@@ -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
Reference in New Issue
Block a user