Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/scottwood/linux into next
Freescale updates from Scott: "Highlights include more 8xx optimizations, an e6500 hugetlb optimization, QMan device tree nodes, t1024/t1023 support, and various fixes and cleanup."
This commit is contained in:
commit
6096f88451
|
@ -189,6 +189,19 @@ PROPERTIES
|
|||
Definition: There is one reg region describing the port
|
||||
configuration registers.
|
||||
|
||||
- fsl,fman-10g-port
|
||||
Usage: optional
|
||||
Value type: boolean
|
||||
Definition: The default port rate is 1G.
|
||||
If this property exists, the port is s 10G port.
|
||||
|
||||
- fsl,fman-best-effort-port
|
||||
Usage: optional
|
||||
Value type: boolean
|
||||
Definition: Can be defined only if 10G-support is set.
|
||||
This property marks a best-effort 10G port (10G port that
|
||||
may not be capable of line rate).
|
||||
|
||||
EXAMPLE
|
||||
|
||||
port@a8000 {
|
||||
|
|
|
@ -9,6 +9,11 @@ Required properties:
|
|||
|
||||
- compatible : Should define the compatible device type for
|
||||
global-utilities.
|
||||
Possible compatibles:
|
||||
"fsl,qoriq-device-config-1.0"
|
||||
"fsl,qoriq-device-config-2.0"
|
||||
"fsl,<chip>-device-config"
|
||||
"fsl,<chip>-guts"
|
||||
- reg : Offset and length of the register set for the device.
|
||||
|
||||
Recommended properties:
|
||||
|
|
|
@ -47,7 +47,7 @@ PROPERTIES
|
|||
|
||||
For additional details about the PAMU/LIODN binding(s) see pamu.txt
|
||||
|
||||
- fsl,qman-channel-id
|
||||
- cell-index
|
||||
Usage: Required
|
||||
Value type: <u32>
|
||||
Definition: The hardware index of the channel. This can also be
|
||||
|
@ -136,7 +136,7 @@ The example below shows a (P4080) QMan portals container/bus node with two porta
|
|||
reg = <0x4000 0x4000>, <0x101000 0x1000>;
|
||||
interrupts = <106 2 0 0>;
|
||||
fsl,liodn = <3 4>;
|
||||
fsl,qman-channel-id = <1>;
|
||||
cell-index = <1>;
|
||||
|
||||
fman0 {
|
||||
fsl,liodn = <0x22>;
|
||||
|
|
|
@ -106,6 +106,14 @@
|
|||
size = <0 0x1000000>;
|
||||
alignment = <0 0x1000000>;
|
||||
};
|
||||
qman_fqd: qman-fqd {
|
||||
size = <0 0x400000>;
|
||||
alignment = <0 0x400000>;
|
||||
};
|
||||
qman_pfdr: qman-pfdr {
|
||||
size = <0 0x2000000>;
|
||||
alignment = <0 0x2000000>;
|
||||
};
|
||||
};
|
||||
|
||||
dcsr: dcsr@f00000000 {
|
||||
|
@ -116,6 +124,10 @@
|
|||
ranges = <0x0 0xf 0xf4000000 0x2000000>;
|
||||
};
|
||||
|
||||
qportals: qman-portals@ff6000000 {
|
||||
ranges = <0x0 0xf 0xf6000000 0x2000000>;
|
||||
};
|
||||
|
||||
soc: soc@ffe000000 {
|
||||
ranges = <0x00000000 0xf 0xfe000000 0x1000000>;
|
||||
reg = <0xf 0xfe000000 0 0x00001000>;
|
||||
|
|
|
@ -80,20 +80,9 @@
|
|||
compatible = "fsl,b4420-device-config", "fsl,qoriq-device-config-2.0";
|
||||
};
|
||||
|
||||
/include/ "qoriq-clockgen2.dtsi"
|
||||
global-utilities@e1000 {
|
||||
compatible = "fsl,b4420-clockgen", "fsl,qoriq-clockgen-2.0";
|
||||
|
||||
mux0: mux0@0 {
|
||||
#clock-cells = <0>;
|
||||
reg = <0x0 0x4>;
|
||||
compatible = "fsl,qoriq-core-mux-2.0";
|
||||
clocks = <&pll0 0>, <&pll0 1>, <&pll0 2>,
|
||||
<&pll1 0>, <&pll1 1>, <&pll1 2>;
|
||||
clock-names = "pll0", "pll0-div2", "pll0-div4",
|
||||
"pll1", "pll1-div2", "pll1-div4";
|
||||
clock-output-names = "cmux0";
|
||||
};
|
||||
compatible = "fsl,b4420-clockgen", "fsl,b4-clockgen",
|
||||
"fsl,qoriq-clockgen-2.0";
|
||||
};
|
||||
|
||||
rcpm: global-utilities@e2000 {
|
||||
|
|
|
@ -167,6 +167,75 @@
|
|||
};
|
||||
};
|
||||
|
||||
&qportals {
|
||||
qportal14: qman-portal@38000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0x38000 0x4000>, <0x100e000 0x1000>;
|
||||
interrupts = <132 0x2 0 0>;
|
||||
cell-index = <0xe>;
|
||||
};
|
||||
qportal15: qman-portal@3c000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0x3c000 0x4000>, <0x100f000 0x1000>;
|
||||
interrupts = <134 0x2 0 0>;
|
||||
cell-index = <0xf>;
|
||||
};
|
||||
qportal16: qman-portal@40000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0x40000 0x4000>, <0x1010000 0x1000>;
|
||||
interrupts = <136 0x2 0 0>;
|
||||
cell-index = <0x10>;
|
||||
};
|
||||
qportal17: qman-portal@44000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0x44000 0x4000>, <0x1011000 0x1000>;
|
||||
interrupts = <138 0x2 0 0>;
|
||||
cell-index = <0x11>;
|
||||
};
|
||||
qportal18: qman-portal@48000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0x48000 0x4000>, <0x1012000 0x1000>;
|
||||
interrupts = <140 0x2 0 0>;
|
||||
cell-index = <0x12>;
|
||||
};
|
||||
qportal19: qman-portal@4c000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0x4c000 0x4000>, <0x1013000 0x1000>;
|
||||
interrupts = <142 0x2 0 0>;
|
||||
cell-index = <0x13>;
|
||||
};
|
||||
qportal20: qman-portal@50000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0x50000 0x4000>, <0x1014000 0x1000>;
|
||||
interrupts = <144 0x2 0 0>;
|
||||
cell-index = <0x14>;
|
||||
};
|
||||
qportal21: qman-portal@54000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0x54000 0x4000>, <0x1015000 0x1000>;
|
||||
interrupts = <146 0x2 0 0>;
|
||||
cell-index = <0x15>;
|
||||
};
|
||||
qportal22: qman-portal@58000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0x58000 0x4000>, <0x1016000 0x1000>;
|
||||
interrupts = <148 0x2 0 0>;
|
||||
cell-index = <0x16>;
|
||||
};
|
||||
qportal23: qman-portal@5c000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0x5c000 0x4000>, <0x1017000 0x1000>;
|
||||
interrupts = <150 0x2 0 0>;
|
||||
cell-index = <0x17>;
|
||||
};
|
||||
qportal24: qman-portal@60000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0x60000 0x4000>, <0x1018000 0x1000>;
|
||||
interrupts = <152 0x2 0 0>;
|
||||
cell-index = <0x18>;
|
||||
};
|
||||
};
|
||||
|
||||
&soc {
|
||||
ddr2: memory-controller@9000 {
|
||||
compatible = "fsl,qoriq-memory-controller-v4.5", "fsl,qoriq-memory-controller";
|
||||
|
@ -182,20 +251,9 @@
|
|||
compatible = "fsl,b4860-device-config", "fsl,qoriq-device-config-2.0";
|
||||
};
|
||||
|
||||
/include/ "qoriq-clockgen2.dtsi"
|
||||
global-utilities@e1000 {
|
||||
compatible = "fsl,b4860-clockgen", "fsl,qoriq-clockgen-2.0";
|
||||
|
||||
mux0: mux0@0 {
|
||||
#clock-cells = <0>;
|
||||
reg = <0x0 0x4>;
|
||||
compatible = "fsl,qoriq-core-mux-2.0";
|
||||
clocks = <&pll0 0>, <&pll0 1>, <&pll0 2>,
|
||||
<&pll1 0>, <&pll1 1>, <&pll1 2>;
|
||||
clock-names = "pll0", "pll0-div2", "pll0-div4",
|
||||
"pll1", "pll1-div2", "pll1-div4";
|
||||
clock-output-names = "cmux0";
|
||||
};
|
||||
compatible = "fsl,b4860-clockgen", "fsl,b4-clockgen",
|
||||
"fsl,qoriq-clockgen-2.0";
|
||||
};
|
||||
|
||||
rcpm: global-utilities@e2000 {
|
||||
|
|
|
@ -37,6 +37,16 @@
|
|||
alloc-ranges = <0 0 0x10000 0>;
|
||||
};
|
||||
|
||||
&qman_fqd {
|
||||
compatible = "fsl,qman-fqd";
|
||||
alloc-ranges = <0 0 0x10000 0>;
|
||||
};
|
||||
|
||||
&qman_pfdr {
|
||||
compatible = "fsl,qman-pfdr";
|
||||
alloc-ranges = <0 0 0x10000 0>;
|
||||
};
|
||||
|
||||
&ifc {
|
||||
#address-cells = <2>;
|
||||
#size-cells = <1>;
|
||||
|
@ -210,6 +220,97 @@
|
|||
};
|
||||
};
|
||||
|
||||
&qportals {
|
||||
#address-cells = <0x1>;
|
||||
#size-cells = <0x1>;
|
||||
compatible = "simple-bus";
|
||||
|
||||
qportal0: qman-portal@0 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0x0 0x4000>, <0x1000000 0x1000>;
|
||||
interrupts = <104 0x2 0 0>;
|
||||
cell-index = <0x0>;
|
||||
};
|
||||
qportal1: qman-portal@4000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0x4000 0x4000>, <0x1001000 0x1000>;
|
||||
interrupts = <106 0x2 0 0>;
|
||||
cell-index = <0x1>;
|
||||
};
|
||||
qportal2: qman-portal@8000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0x8000 0x4000>, <0x1002000 0x1000>;
|
||||
interrupts = <108 0x2 0 0>;
|
||||
cell-index = <0x2>;
|
||||
};
|
||||
qportal3: qman-portal@c000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0xc000 0x4000>, <0x1003000 0x1000>;
|
||||
interrupts = <110 0x2 0 0>;
|
||||
cell-index = <0x3>;
|
||||
};
|
||||
qportal4: qman-portal@10000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0x10000 0x4000>, <0x1004000 0x1000>;
|
||||
interrupts = <112 0x2 0 0>;
|
||||
cell-index = <0x4>;
|
||||
};
|
||||
qportal5: qman-portal@14000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0x14000 0x4000>, <0x1005000 0x1000>;
|
||||
interrupts = <114 0x2 0 0>;
|
||||
cell-index = <0x5>;
|
||||
};
|
||||
qportal6: qman-portal@18000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0x18000 0x4000>, <0x1006000 0x1000>;
|
||||
interrupts = <116 0x2 0 0>;
|
||||
cell-index = <0x6>;
|
||||
};
|
||||
qportal7: qman-portal@1c000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0x1c000 0x4000>, <0x1007000 0x1000>;
|
||||
interrupts = <118 0x2 0 0>;
|
||||
cell-index = <0x7>;
|
||||
};
|
||||
qportal8: qman-portal@20000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0x20000 0x4000>, <0x1008000 0x1000>;
|
||||
interrupts = <120 0x2 0 0>;
|
||||
cell-index = <0x8>;
|
||||
};
|
||||
qportal9: qman-portal@24000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0x24000 0x4000>, <0x1009000 0x1000>;
|
||||
interrupts = <122 0x2 0 0>;
|
||||
cell-index = <0x9>;
|
||||
};
|
||||
qportal10: qman-portal@28000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0x28000 0x4000>, <0x100a000 0x1000>;
|
||||
interrupts = <124 0x2 0 0>;
|
||||
cell-index = <0xa>;
|
||||
};
|
||||
qportal11: qman-portal@2c000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0x2c000 0x4000>, <0x100b000 0x1000>;
|
||||
interrupts = <126 0x2 0 0>;
|
||||
cell-index = <0xb>;
|
||||
};
|
||||
qportal12: qman-portal@30000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0x30000 0x4000>, <0x100c000 0x1000>;
|
||||
interrupts = <128 0x2 0 0>;
|
||||
cell-index = <0xc>;
|
||||
};
|
||||
qportal13: qman-portal@34000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0x34000 0x4000>, <0x100d000 0x1000>;
|
||||
interrupts = <130 0x2 0 0>;
|
||||
cell-index = <0xd>;
|
||||
};
|
||||
};
|
||||
|
||||
&soc {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
@ -296,9 +397,21 @@
|
|||
fsl,liodn-bits = <12>;
|
||||
};
|
||||
|
||||
/include/ "qoriq-clockgen2.dtsi"
|
||||
clockgen: global-utilities@e1000 {
|
||||
compatible = "fsl,b4-clockgen", "fsl,qoriq-clockgen-2.0";
|
||||
reg = <0xe1000 0x1000>;
|
||||
|
||||
mux0: mux0@0 {
|
||||
#clock-cells = <0>;
|
||||
reg = <0x0 0x4>;
|
||||
compatible = "fsl,qoriq-core-mux-2.0";
|
||||
clocks = <&pll0 0>, <&pll0 1>, <&pll0 2>,
|
||||
<&pll1 0>, <&pll1 1>, <&pll1 2>;
|
||||
clock-names = "pll0", "pll0-div2", "pll0-div4",
|
||||
"pll1", "pll1-div2", "pll1-div4";
|
||||
clock-output-names = "cmux0";
|
||||
};
|
||||
};
|
||||
|
||||
rcpm: global-utilities@e2000 {
|
||||
|
@ -343,6 +456,11 @@
|
|||
/include/ "qoriq-duart-1.dtsi"
|
||||
/include/ "qoriq-sec5.3-0.dtsi"
|
||||
|
||||
/include/ "qoriq-qman3.dtsi"
|
||||
qman: qman@318000 {
|
||||
interrupts = <16 2 1 28>;
|
||||
};
|
||||
|
||||
/include/ "qoriq-bman1.dtsi"
|
||||
bman: bman@31a000 {
|
||||
interrupts = <16 2 1 29>;
|
||||
|
|
|
@ -37,6 +37,16 @@
|
|||
alloc-ranges = <0 0 0x10 0>;
|
||||
};
|
||||
|
||||
&qman_fqd {
|
||||
compatible = "fsl,qman-fqd";
|
||||
alloc-ranges = <0 0 0x10 0>;
|
||||
};
|
||||
|
||||
&qman_pfdr {
|
||||
compatible = "fsl,qman-pfdr";
|
||||
alloc-ranges = <0 0 0x10 0>;
|
||||
};
|
||||
|
||||
&lbc {
|
||||
#address-cells = <2>;
|
||||
#size-cells = <1>;
|
||||
|
@ -102,6 +112,31 @@
|
|||
};
|
||||
};
|
||||
|
||||
&qportals {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
compatible = "simple-bus";
|
||||
|
||||
qportal0: qman-portal@0 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0x0 0x4000>, <0x100000 0x1000>;
|
||||
interrupts = <29 2 0 0>;
|
||||
cell-index = <0>;
|
||||
};
|
||||
qportal1: qman-portal@4000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0x4000 0x4000>, <0x101000 0x1000>;
|
||||
interrupts = <31 2 0 0>;
|
||||
cell-index = <1>;
|
||||
};
|
||||
qportal2: qman-portal@8000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0x8000 0x4000>, <0x102000 0x1000>;
|
||||
interrupts = <33 2 0 0>;
|
||||
cell-index = <2>;
|
||||
};
|
||||
};
|
||||
|
||||
&bportals {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
@ -248,6 +283,14 @@
|
|||
/include/ "pq3-mpic.dtsi"
|
||||
/include/ "pq3-mpic-timer-B.dtsi"
|
||||
|
||||
qman: qman@88000 {
|
||||
compatible = "fsl,qman";
|
||||
reg = <0x88000 0x1000>;
|
||||
interrupts = <16 2 0 0>;
|
||||
fsl,qman-portals = <&qportals>;
|
||||
memory-region = <&qman_fqd &qman_pfdr>;
|
||||
};
|
||||
|
||||
bman: bman@8a000 {
|
||||
compatible = "fsl,bman";
|
||||
reg = <0x8a000 0x1000>;
|
||||
|
|
|
@ -37,6 +37,16 @@
|
|||
alloc-ranges = <0 0 0x10 0>;
|
||||
};
|
||||
|
||||
&qman_fqd {
|
||||
compatible = "fsl,qman-fqd";
|
||||
alloc-ranges = <0 0 0x10 0>;
|
||||
};
|
||||
|
||||
&qman_pfdr {
|
||||
compatible = "fsl,qman-pfdr";
|
||||
alloc-ranges = <0 0 0x10 0>;
|
||||
};
|
||||
|
||||
&lbc {
|
||||
compatible = "fsl,p2041-elbc", "fsl,elbc", "simple-bus";
|
||||
interrupts = <25 2 0 0>;
|
||||
|
@ -223,6 +233,8 @@
|
|||
|
||||
/include/ "qoriq-bman1-portals.dtsi"
|
||||
|
||||
/include/ "qoriq-qman1-portals.dtsi"
|
||||
|
||||
&soc {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
@ -415,5 +427,6 @@ crypto: crypto@300000 {
|
|||
fsl,iommu-parent = <&pamu1>;
|
||||
};
|
||||
|
||||
/include/ "qoriq-qman1.dtsi"
|
||||
/include/ "qoriq-bman1.dtsi"
|
||||
};
|
||||
|
|
|
@ -37,6 +37,16 @@
|
|||
alloc-ranges = <0 0 0x10 0>;
|
||||
};
|
||||
|
||||
&qman_fqd {
|
||||
compatible = "fsl,qman-fqd";
|
||||
alloc-ranges = <0 0 0x10 0>;
|
||||
};
|
||||
|
||||
&qman_pfdr {
|
||||
compatible = "fsl,qman-pfdr";
|
||||
alloc-ranges = <0 0 0x10 0>;
|
||||
};
|
||||
|
||||
&lbc {
|
||||
compatible = "fsl,p3041-elbc", "fsl,elbc", "simple-bus";
|
||||
interrupts = <25 2 0 0>;
|
||||
|
@ -250,6 +260,8 @@
|
|||
|
||||
/include/ "qoriq-bman1-portals.dtsi"
|
||||
|
||||
/include/ "qoriq-qman1-portals.dtsi"
|
||||
|
||||
&soc {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
@ -442,5 +454,6 @@ crypto: crypto@300000 {
|
|||
fsl,iommu-parent = <&pamu1>;
|
||||
};
|
||||
|
||||
/include/ "qoriq-qman1.dtsi"
|
||||
/include/ "qoriq-bman1.dtsi"
|
||||
};
|
||||
|
|
|
@ -37,6 +37,16 @@
|
|||
alloc-ranges = <0 0 0x10 0>;
|
||||
};
|
||||
|
||||
&qman_fqd {
|
||||
compatible = "fsl,qman-fqd";
|
||||
alloc-ranges = <0 0 0x10 0>;
|
||||
};
|
||||
|
||||
&qman_pfdr {
|
||||
compatible = "fsl,qman-pfdr";
|
||||
alloc-ranges = <0 0 0x10 0>;
|
||||
};
|
||||
|
||||
&lbc {
|
||||
compatible = "fsl,p4080-elbc", "fsl,elbc", "simple-bus";
|
||||
interrupts = <25 2 0 0>;
|
||||
|
@ -250,6 +260,8 @@
|
|||
|
||||
/include/ "qoriq-bman1-portals.dtsi"
|
||||
|
||||
/include/ "qoriq-qman1-portals.dtsi"
|
||||
|
||||
&soc {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
@ -498,5 +510,6 @@ crypto: crypto@300000 {
|
|||
fsl,iommu-parent = <&pamu1>;
|
||||
};
|
||||
|
||||
/include/ "qoriq-qman1.dtsi"
|
||||
/include/ "qoriq-bman1.dtsi"
|
||||
};
|
||||
|
|
|
@ -37,6 +37,16 @@
|
|||
alloc-ranges = <0 0 0x10000 0>;
|
||||
};
|
||||
|
||||
&qman_fqd {
|
||||
compatible = "fsl,qman-fqd";
|
||||
alloc-ranges = <0 0 0x10000 0>;
|
||||
};
|
||||
|
||||
&qman_pfdr {
|
||||
compatible = "fsl,qman-pfdr";
|
||||
alloc-ranges = <0 0 0x10000 0>;
|
||||
};
|
||||
|
||||
&lbc {
|
||||
compatible = "fsl,p5020-elbc", "fsl,elbc", "simple-bus";
|
||||
interrupts = <25 2 0 0>;
|
||||
|
@ -247,6 +257,8 @@
|
|||
|
||||
/include/ "qoriq-bman1-portals.dtsi"
|
||||
|
||||
/include/ "qoriq-qman1-portals.dtsi"
|
||||
|
||||
&soc {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
@ -428,6 +440,7 @@
|
|||
fsl,iommu-parent = <&pamu1>;
|
||||
};
|
||||
|
||||
/include/ "qoriq-qman1.dtsi"
|
||||
/include/ "qoriq-bman1.dtsi"
|
||||
|
||||
/include/ "qoriq-raid1.0-0.dtsi"
|
||||
|
|
|
@ -37,6 +37,16 @@
|
|||
alloc-ranges = <0 0 0x10000 0>;
|
||||
};
|
||||
|
||||
&qman_fqd {
|
||||
compatible = "fsl,qman-fqd";
|
||||
alloc-ranges = <0 0 0x10000 0>;
|
||||
};
|
||||
|
||||
&qman_pfdr {
|
||||
compatible = "fsl,qman-pfdr";
|
||||
alloc-ranges = <0 0 0x10000 0>;
|
||||
};
|
||||
|
||||
&lbc {
|
||||
compatible = "fsl,p5040-elbc", "fsl,elbc", "simple-bus";
|
||||
interrupts = <25 2 0 0>;
|
||||
|
@ -202,6 +212,8 @@
|
|||
|
||||
/include/ "qoriq-bman1-portals.dtsi"
|
||||
|
||||
/include/ "qoriq-qman1-portals.dtsi"
|
||||
|
||||
&soc {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
@ -407,5 +419,6 @@
|
|||
fsl,iommu-parent = <&pamu4>;
|
||||
};
|
||||
|
||||
/include/ "qoriq-qman1.dtsi"
|
||||
/include/ "qoriq-bman1.dtsi"
|
||||
};
|
||||
|
|
|
@ -41,61 +41,61 @@
|
|||
compatible = "fsl,qman-portal";
|
||||
reg = <0x0 0x4000>, <0x100000 0x1000>;
|
||||
interrupts = <104 2 0 0>;
|
||||
fsl,qman-channel-id = <0x0>;
|
||||
cell-index = <0x0>;
|
||||
};
|
||||
qportal1: qman-portal@4000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0x4000 0x4000>, <0x101000 0x1000>;
|
||||
interrupts = <106 2 0 0>;
|
||||
fsl,qman-channel-id = <1>;
|
||||
cell-index = <1>;
|
||||
};
|
||||
qportal2: qman-portal@8000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0x8000 0x4000>, <0x102000 0x1000>;
|
||||
interrupts = <108 2 0 0>;
|
||||
fsl,qman-channel-id = <2>;
|
||||
cell-index = <2>;
|
||||
};
|
||||
qportal3: qman-portal@c000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0xc000 0x4000>, <0x103000 0x1000>;
|
||||
interrupts = <110 2 0 0>;
|
||||
fsl,qman-channel-id = <3>;
|
||||
cell-index = <3>;
|
||||
};
|
||||
qportal4: qman-portal@10000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0x10000 0x4000>, <0x104000 0x1000>;
|
||||
interrupts = <112 2 0 0>;
|
||||
fsl,qman-channel-id = <4>;
|
||||
cell-index = <4>;
|
||||
};
|
||||
qportal5: qman-portal@14000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0x14000 0x4000>, <0x105000 0x1000>;
|
||||
interrupts = <114 2 0 0>;
|
||||
fsl,qman-channel-id = <5>;
|
||||
cell-index = <5>;
|
||||
};
|
||||
qportal6: qman-portal@18000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0x18000 0x4000>, <0x106000 0x1000>;
|
||||
interrupts = <116 2 0 0>;
|
||||
fsl,qman-channel-id = <6>;
|
||||
cell-index = <6>;
|
||||
};
|
||||
|
||||
qportal7: qman-portal@1c000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0x1c000 0x4000>, <0x107000 0x1000>;
|
||||
interrupts = <118 2 0 0>;
|
||||
fsl,qman-channel-id = <7>;
|
||||
cell-index = <7>;
|
||||
};
|
||||
qportal8: qman-portal@20000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0x20000 0x4000>, <0x108000 0x1000>;
|
||||
interrupts = <120 2 0 0>;
|
||||
fsl,qman-channel-id = <8>;
|
||||
cell-index = <8>;
|
||||
};
|
||||
qportal9: qman-portal@24000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0x24000 0x4000>, <0x109000 0x1000>;
|
||||
interrupts = <122 2 0 0>;
|
||||
fsl,qman-channel-id = <9>;
|
||||
cell-index = <9>;
|
||||
};
|
||||
};
|
||||
|
|
|
@ -0,0 +1,330 @@
|
|||
/*
|
||||
* T1023 Silicon/SoC Device Tree Source (post include)
|
||||
*
|
||||
* Copyright 2014 Freescale Semiconductor Inc.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* * Neither the name of Freescale Semiconductor nor the
|
||||
* names of its contributors may be used to endorse or promote products
|
||||
* derived from this software without specific prior written permission.
|
||||
*
|
||||
*
|
||||
* ALTERNATIVELY, this software may be distributed under the terms of the
|
||||
* GNU General Public License ("GPL") as published by the Free Software
|
||||
* Foundation, either version 2 of that License or (at your option) any
|
||||
* later version.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY Freescale Semiconductor ``AS IS'' AND ANY
|
||||
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL Freescale Semiconductor BE LIABLE FOR ANY
|
||||
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
&ifc {
|
||||
#address-cells = <2>;
|
||||
#size-cells = <1>;
|
||||
compatible = "fsl,ifc", "simple-bus";
|
||||
interrupts = <25 2 0 0>;
|
||||
};
|
||||
|
||||
&pci0 {
|
||||
compatible = "fsl,t1023-pcie", "fsl,qoriq-pcie-v2.4", "fsl,qoriq-pcie";
|
||||
device_type = "pci";
|
||||
#size-cells = <2>;
|
||||
#address-cells = <3>;
|
||||
bus-range = <0x0 0xff>;
|
||||
interrupts = <20 2 0 0>;
|
||||
fsl,iommu-parent = <&pamu0>;
|
||||
pcie@0 {
|
||||
reg = <0 0 0 0 0>;
|
||||
#interrupt-cells = <1>;
|
||||
#size-cells = <2>;
|
||||
#address-cells = <3>;
|
||||
device_type = "pci";
|
||||
interrupts = <20 2 0 0>;
|
||||
interrupt-map-mask = <0xf800 0 0 7>;
|
||||
interrupt-map = <
|
||||
/* IDSEL 0x0 */
|
||||
0000 0 0 1 &mpic 40 1 0 0
|
||||
0000 0 0 2 &mpic 1 1 0 0
|
||||
0000 0 0 3 &mpic 2 1 0 0
|
||||
0000 0 0 4 &mpic 3 1 0 0
|
||||
>;
|
||||
};
|
||||
};
|
||||
|
||||
&pci1 {
|
||||
compatible = "fsl,t1023-pcie", "fsl,qoriq-pcie-v2.4", "fsl,qoriq-pcie";
|
||||
device_type = "pci";
|
||||
#size-cells = <2>;
|
||||
#address-cells = <3>;
|
||||
bus-range = <0 0xff>;
|
||||
interrupts = <21 2 0 0>;
|
||||
fsl,iommu-parent = <&pamu0>;
|
||||
pcie@0 {
|
||||
reg = <0 0 0 0 0>;
|
||||
#interrupt-cells = <1>;
|
||||
#size-cells = <2>;
|
||||
#address-cells = <3>;
|
||||
device_type = "pci";
|
||||
interrupts = <21 2 0 0>;
|
||||
interrupt-map-mask = <0xf800 0 0 7>;
|
||||
interrupt-map = <
|
||||
/* IDSEL 0x0 */
|
||||
0000 0 0 1 &mpic 41 1 0 0
|
||||
0000 0 0 2 &mpic 5 1 0 0
|
||||
0000 0 0 3 &mpic 6 1 0 0
|
||||
0000 0 0 4 &mpic 7 1 0 0
|
||||
>;
|
||||
};
|
||||
};
|
||||
|
||||
&pci2 {
|
||||
compatible = "fsl,t1023-pcie", "fsl,qoriq-pcie-v2.4", "fsl,qoriq-pcie";
|
||||
device_type = "pci";
|
||||
#size-cells = <2>;
|
||||
#address-cells = <3>;
|
||||
bus-range = <0x0 0xff>;
|
||||
interrupts = <22 2 0 0>;
|
||||
fsl,iommu-parent = <&pamu0>;
|
||||
pcie@0 {
|
||||
reg = <0 0 0 0 0>;
|
||||
#interrupt-cells = <1>;
|
||||
#size-cells = <2>;
|
||||
#address-cells = <3>;
|
||||
device_type = "pci";
|
||||
interrupts = <22 2 0 0>;
|
||||
interrupt-map-mask = <0xf800 0 0 7>;
|
||||
interrupt-map = <
|
||||
/* IDSEL 0x0 */
|
||||
0000 0 0 1 &mpic 42 1 0 0
|
||||
0000 0 0 2 &mpic 9 1 0 0
|
||||
0000 0 0 3 &mpic 10 1 0 0
|
||||
0000 0 0 4 &mpic 11 1 0 0
|
||||
>;
|
||||
};
|
||||
};
|
||||
|
||||
&dcsr {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
compatible = "fsl,dcsr", "simple-bus";
|
||||
|
||||
dcsr-epu@0 {
|
||||
compatible = "fsl,t1023-dcsr-epu", "fsl,dcsr-epu";
|
||||
interrupts = <52 2 0 0
|
||||
84 2 0 0
|
||||
85 2 0 0>;
|
||||
reg = <0x0 0x1000>;
|
||||
};
|
||||
dcsr-npc {
|
||||
compatible = "fsl,t1023-dcsr-cnpc", "fsl,dcsr-cnpc";
|
||||
reg = <0x1000 0x1000 0x1002000 0x10000>;
|
||||
};
|
||||
dcsr-nxc@2000 {
|
||||
compatible = "fsl,dcsr-nxc";
|
||||
reg = <0x2000 0x1000>;
|
||||
};
|
||||
dcsr-corenet {
|
||||
compatible = "fsl,dcsr-corenet";
|
||||
reg = <0x8000 0x1000 0x1A000 0x1000>;
|
||||
};
|
||||
dcsr-ocn@11000 {
|
||||
compatible = "fsl,t1023-dcsr-ocn", "fsl,dcsr-ocn";
|
||||
reg = <0x11000 0x1000>;
|
||||
};
|
||||
dcsr-ddr@12000 {
|
||||
compatible = "fsl,dcsr-ddr";
|
||||
dev-handle = <&ddr1>;
|
||||
reg = <0x12000 0x1000>;
|
||||
};
|
||||
dcsr-nal@18000 {
|
||||
compatible = "fsl,t1023-dcsr-nal", "fsl,dcsr-nal";
|
||||
reg = <0x18000 0x1000>;
|
||||
};
|
||||
dcsr-rcpm@22000 {
|
||||
compatible = "fsl,t1023-dcsr-rcpm", "fsl,dcsr-rcpm";
|
||||
reg = <0x22000 0x1000>;
|
||||
};
|
||||
dcsr-snpc@30000 {
|
||||
compatible = "fsl,t1023-dcsr-snpc", "fsl,dcsr-snpc";
|
||||
reg = <0x30000 0x1000 0x1022000 0x10000>;
|
||||
};
|
||||
dcsr-snpc@31000 {
|
||||
compatible = "fsl,t1023-dcsr-snpc", "fsl,dcsr-snpc";
|
||||
reg = <0x31000 0x1000 0x1042000 0x10000>;
|
||||
};
|
||||
dcsr-cpu-sb-proxy@100000 {
|
||||
compatible = "fsl,dcsr-e5500-sb-proxy", "fsl,dcsr-cpu-sb-proxy";
|
||||
cpu-handle = <&cpu0>;
|
||||
reg = <0x100000 0x1000 0x101000 0x1000>;
|
||||
};
|
||||
dcsr-cpu-sb-proxy@108000 {
|
||||
compatible = "fsl,dcsr-e5500-sb-proxy", "fsl,dcsr-cpu-sb-proxy";
|
||||
cpu-handle = <&cpu1>;
|
||||
reg = <0x108000 0x1000 0x109000 0x1000>;
|
||||
};
|
||||
};
|
||||
|
||||
&soc {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
device_type = "soc";
|
||||
compatible = "simple-bus";
|
||||
|
||||
soc-sram-error {
|
||||
compatible = "fsl,soc-sram-error";
|
||||
interrupts = <16 2 1 29>;
|
||||
};
|
||||
|
||||
corenet-law@0 {
|
||||
compatible = "fsl,corenet-law";
|
||||
reg = <0x0 0x1000>;
|
||||
fsl,num-laws = <16>;
|
||||
};
|
||||
|
||||
ddr1: memory-controller@8000 {
|
||||
compatible = "fsl,qoriq-memory-controller-v5.0",
|
||||
"fsl,qoriq-memory-controller";
|
||||
reg = <0x8000 0x1000>;
|
||||
interrupts = <16 2 1 23>;
|
||||
};
|
||||
|
||||
cpc: l3-cache-controller@10000 {
|
||||
compatible = "fsl,t1023-l3-cache-controller", "cache";
|
||||
reg = <0x10000 0x1000>;
|
||||
interrupts = <16 2 1 27>;
|
||||
};
|
||||
|
||||
corenet-cf@18000 {
|
||||
compatible = "fsl,corenet2-cf";
|
||||
reg = <0x18000 0x1000>;
|
||||
interrupts = <16 2 1 31>;
|
||||
};
|
||||
|
||||
iommu@20000 {
|
||||
compatible = "fsl,pamu-v1.0", "fsl,pamu";
|
||||
reg = <0x20000 0x1000>;
|
||||
ranges = <0 0x20000 0x1000>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
interrupts = <
|
||||
24 2 0 0
|
||||
16 2 1 30>;
|
||||
pamu0: pamu@0 {
|
||||
reg = <0 0x1000>;
|
||||
fsl,primary-cache-geometry = <128 1>;
|
||||
fsl,secondary-cache-geometry = <32 2>;
|
||||
};
|
||||
};
|
||||
|
||||
/include/ "qoriq-mpic.dtsi"
|
||||
|
||||
guts: global-utilities@e0000 {
|
||||
compatible = "fsl,t1023-device-config", "fsl,qoriq-device-config-2.0";
|
||||
reg = <0xe0000 0xe00>;
|
||||
fsl,has-rstcr;
|
||||
fsl,liodn-bits = <12>;
|
||||
};
|
||||
|
||||
/include/ "qoriq-clockgen2.dtsi"
|
||||
global-utilities@e1000 {
|
||||
compatible = "fsl,t1023-clockgen", "fsl,qoriq-clockgen-2.0";
|
||||
mux0: mux0@0 {
|
||||
#clock-cells = <0>;
|
||||
reg = <0x0 4>;
|
||||
compatible = "fsl,core-mux-clock";
|
||||
clocks = <&pll0 0>, <&pll0 1>;
|
||||
clock-names = "pll0_0", "pll0_1";
|
||||
clock-output-names = "cmux0";
|
||||
};
|
||||
mux1: mux1@20 {
|
||||
#clock-cells = <0>;
|
||||
reg = <0x20 4>;
|
||||
compatible = "fsl,core-mux-clock";
|
||||
clocks = <&pll0 0>, <&pll0 1>;
|
||||
clock-names = "pll0_0", "pll0_1";
|
||||
clock-output-names = "cmux1";
|
||||
};
|
||||
};
|
||||
|
||||
rcpm: global-utilities@e2000 {
|
||||
compatible = "fsl,t1023-rcpm", "fsl,qoriq-rcpm-2.0";
|
||||
reg = <0xe2000 0x1000>;
|
||||
};
|
||||
|
||||
sfp: sfp@e8000 {
|
||||
compatible = "fsl,t1023-sfp";
|
||||
reg = <0xe8000 0x1000>;
|
||||
};
|
||||
|
||||
serdes: serdes@ea000 {
|
||||
compatible = "fsl,t1023-serdes";
|
||||
reg = <0xea000 0x4000>;
|
||||
};
|
||||
|
||||
scfg: global-utilities@fc000 {
|
||||
compatible = "fsl,t1023-scfg";
|
||||
reg = <0xfc000 0x1000>;
|
||||
};
|
||||
|
||||
/include/ "elo3-dma-0.dtsi"
|
||||
/include/ "elo3-dma-1.dtsi"
|
||||
|
||||
/include/ "qoriq-espi-0.dtsi"
|
||||
spi@110000 {
|
||||
fsl,espi-num-chipselects = <4>;
|
||||
};
|
||||
|
||||
/include/ "qoriq-esdhc-0.dtsi"
|
||||
sdhc@114000 {
|
||||
compatible = "fsl,t1023-esdhc", "fsl,esdhc";
|
||||
fsl,iommu-parent = <&pamu0>;
|
||||
fsl,liodn-reg = <&guts 0x530>; /* eSDHCLIODNR */
|
||||
sdhci,auto-cmd12;
|
||||
no-1-8-v;
|
||||
};
|
||||
/include/ "qoriq-i2c-0.dtsi"
|
||||
/include/ "qoriq-i2c-1.dtsi"
|
||||
/include/ "qoriq-duart-0.dtsi"
|
||||
/include/ "qoriq-duart-1.dtsi"
|
||||
/include/ "qoriq-gpio-0.dtsi"
|
||||
/include/ "qoriq-gpio-1.dtsi"
|
||||
/include/ "qoriq-gpio-2.dtsi"
|
||||
/include/ "qoriq-gpio-3.dtsi"
|
||||
/include/ "qoriq-usb2-mph-0.dtsi"
|
||||
usb0: usb@210000 {
|
||||
compatible = "fsl-usb2-mph-v2.5", "fsl-usb2-mph";
|
||||
fsl,iommu-parent = <&pamu0>;
|
||||
fsl,liodn-reg = <&guts 0x520>; /* USB1LIODNR */
|
||||
phy_type = "utmi";
|
||||
port0;
|
||||
};
|
||||
/include/ "qoriq-usb2-dr-0.dtsi"
|
||||
usb1: usb@211000 {
|
||||
compatible = "fsl-usb2-dr-v2.5", "fsl-usb2-dr";
|
||||
fsl,iommu-parent = <&pamu0>;
|
||||
fsl,liodn-reg = <&guts 0x524>; /* USB2LIODNR */
|
||||
dr_mode = "host";
|
||||
phy_type = "utmi";
|
||||
};
|
||||
/include/ "qoriq-sata2-0.dtsi"
|
||||
sata@220000 {
|
||||
fsl,iommu-parent = <&pamu0>;
|
||||
fsl,liodn-reg = <&guts 0x550>; /* SATA1LIODNR */
|
||||
};
|
||||
|
||||
/include/ "qoriq-sec5.0-0.dtsi"
|
||||
};
|
|
@ -0,0 +1,100 @@
|
|||
/*
|
||||
* T1024 Silicon/SoC Device Tree Source (post include)
|
||||
*
|
||||
* Copyright 2014 Freescale Semiconductor Inc.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* * Neither the name of Freescale Semiconductor nor the
|
||||
* names of its contributors may be used to endorse or promote products
|
||||
* derived from this software without specific prior written permission.
|
||||
*
|
||||
*
|
||||
* ALTERNATIVELY, this software may be distributed under the terms of the
|
||||
* GNU General Public License ("GPL") as published by the Free Software
|
||||
* Foundation, either version 2 of that License or (at your option) any
|
||||
* later version.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY Freescale Semiconductor "AS IS" AND ANY
|
||||
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL Freescale Semiconductor BE LIABLE FOR ANY
|
||||
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
/include/ "t1023si-post.dtsi"
|
||||
|
||||
/ {
|
||||
aliases {
|
||||
vga = &display;
|
||||
display = &display;
|
||||
};
|
||||
|
||||
qe:qe@ffe140000 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
device_type = "qe";
|
||||
compatible = "fsl,qe";
|
||||
ranges = <0x0 0xf 0xfe140000 0x40000>;
|
||||
reg = <0xf 0xfe140000 0 0x480>;
|
||||
fsl,qe-num-riscs = <1>;
|
||||
fsl,qe-num-snums = <28>;
|
||||
brg-frequency = <0>;
|
||||
bus-frequency = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
&soc {
|
||||
display:display@180000 {
|
||||
compatible = "fsl,t1024-diu", "fsl,diu";
|
||||
reg = <0x180000 1000>;
|
||||
interrupts = <74 2 0 0>;
|
||||
};
|
||||
};
|
||||
|
||||
&qe {
|
||||
qeic: interrupt-controller@80 {
|
||||
interrupt-controller;
|
||||
compatible = "fsl,qe-ic";
|
||||
#address-cells = <0>;
|
||||
#interrupt-cells = <1>;
|
||||
reg = <0x80 0x80>;
|
||||
interrupts = <95 2 0 0 94 2 0 0>; //high:79 low:78
|
||||
};
|
||||
|
||||
ucc@2000 {
|
||||
cell-index = <1>;
|
||||
reg = <0x2000 0x200>;
|
||||
interrupts = <32>;
|
||||
interrupt-parent = <&qeic>;
|
||||
};
|
||||
|
||||
ucc@2200 {
|
||||
cell-index = <3>;
|
||||
reg = <0x2200 0x200>;
|
||||
interrupts = <34>;
|
||||
interrupt-parent = <&qeic>;
|
||||
};
|
||||
|
||||
muram@10000 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
compatible = "fsl,qe-muram", "fsl,cpm-muram";
|
||||
ranges = <0x0 0x10000 0x6000>;
|
||||
|
||||
data-only@0 {
|
||||
compatible = "fsl,qe-muram-data", "fsl,cpm-muram-data";
|
||||
reg = <0x0 0x6000>;
|
||||
};
|
||||
};
|
||||
};
|
|
@ -0,0 +1,87 @@
|
|||
/*
|
||||
* T1024/T1023 Silicon/SoC Device Tree Source (pre include)
|
||||
*
|
||||
* Copyright 2014 Freescale Semiconductor Inc.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* * Neither the name of Freescale Semiconductor nor the
|
||||
* names of its contributors may be used to endorse or promote products
|
||||
* derived from this software without specific prior written permission.
|
||||
*
|
||||
*
|
||||
* ALTERNATIVELY, this software may be distributed under the terms of the
|
||||
* GNU General Public License ("GPL") as published by the Free Software
|
||||
* Foundation, either version 2 of that License or (at your option) any
|
||||
* later version.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY Freescale Semiconductor ``AS IS'' AND ANY
|
||||
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL Freescale Semiconductor BE LIABLE FOR ANY
|
||||
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
/include/ "e5500_power_isa.dtsi"
|
||||
|
||||
/ {
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
interrupt-parent = <&mpic>;
|
||||
|
||||
aliases {
|
||||
ccsr = &soc;
|
||||
dcsr = &dcsr;
|
||||
|
||||
dma0 = &dma0;
|
||||
dma1 = &dma1;
|
||||
serial0 = &serial0;
|
||||
serial1 = &serial1;
|
||||
serial2 = &serial2;
|
||||
serial3 = &serial3;
|
||||
pci0 = &pci0;
|
||||
pci1 = &pci1;
|
||||
pci2 = &pci2;
|
||||
usb0 = &usb0;
|
||||
usb1 = &usb1;
|
||||
sdhc = &sdhc;
|
||||
|
||||
crypto = &crypto;
|
||||
};
|
||||
|
||||
cpus {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
cpu0: PowerPC,e5500@0 {
|
||||
device_type = "cpu";
|
||||
reg = <0>;
|
||||
clocks = <&mux0>;
|
||||
next-level-cache = <&L2_1>;
|
||||
L2_1: l2-cache {
|
||||
next-level-cache = <&cpc>;
|
||||
};
|
||||
};
|
||||
cpu1: PowerPC,e5500@1 {
|
||||
device_type = "cpu";
|
||||
reg = <1>;
|
||||
clocks = <&mux1>;
|
||||
next-level-cache = <&L2_2>;
|
||||
L2_2: l2-cache {
|
||||
next-level-cache = <&cpc>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
|
@ -37,6 +37,16 @@
|
|||
alloc-ranges = <0 0 0x10000 0>;
|
||||
};
|
||||
|
||||
&qman_fqd {
|
||||
compatible = "fsl,qman-fqd";
|
||||
alloc-ranges = <0 0 0x10000 0>;
|
||||
};
|
||||
|
||||
&qman_pfdr {
|
||||
compatible = "fsl,qman-pfdr";
|
||||
alloc-ranges = <0 0 0x10000 0>;
|
||||
};
|
||||
|
||||
&ifc {
|
||||
#address-cells = <2>;
|
||||
#size-cells = <1>;
|
||||
|
@ -280,6 +290,73 @@
|
|||
};
|
||||
};
|
||||
|
||||
&qportals {
|
||||
#address-cells = <0x1>;
|
||||
#size-cells = <0x1>;
|
||||
compatible = "simple-bus";
|
||||
|
||||
qportal0: qman-portal@0 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0x0 0x4000>, <0x1000000 0x1000>;
|
||||
interrupts = <104 0x2 0 0>;
|
||||
cell-index = <0x0>;
|
||||
};
|
||||
qportal1: qman-portal@4000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0x4000 0x4000>, <0x1001000 0x1000>;
|
||||
interrupts = <106 0x2 0 0>;
|
||||
cell-index = <0x1>;
|
||||
};
|
||||
qportal2: qman-portal@8000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0x8000 0x4000>, <0x1002000 0x1000>;
|
||||
interrupts = <108 0x2 0 0>;
|
||||
cell-index = <0x2>;
|
||||
};
|
||||
qportal3: qman-portal@c000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0xc000 0x4000>, <0x1003000 0x1000>;
|
||||
interrupts = <110 0x2 0 0>;
|
||||
cell-index = <0x3>;
|
||||
};
|
||||
qportal4: qman-portal@10000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0x10000 0x4000>, <0x1004000 0x1000>;
|
||||
interrupts = <112 0x2 0 0>;
|
||||
cell-index = <0x4>;
|
||||
};
|
||||
qportal5: qman-portal@14000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0x14000 0x4000>, <0x1005000 0x1000>;
|
||||
interrupts = <114 0x2 0 0>;
|
||||
cell-index = <0x5>;
|
||||
};
|
||||
qportal6: qman-portal@18000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0x18000 0x4000>, <0x1006000 0x1000>;
|
||||
interrupts = <116 0x2 0 0>;
|
||||
cell-index = <0x6>;
|
||||
};
|
||||
qportal7: qman-portal@1c000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0x1c000 0x4000>, <0x1007000 0x1000>;
|
||||
interrupts = <118 0x2 0 0>;
|
||||
cell-index = <0x7>;
|
||||
};
|
||||
qportal8: qman-portal@20000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0x20000 0x4000>, <0x1008000 0x1000>;
|
||||
interrupts = <120 0x2 0 0>;
|
||||
cell-index = <0x8>;
|
||||
};
|
||||
qportal9: qman-portal@24000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0x24000 0x4000>, <0x1009000 0x1000>;
|
||||
interrupts = <122 0x2 0 0>;
|
||||
cell-index = <0x9>;
|
||||
};
|
||||
};
|
||||
|
||||
&soc {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
@ -463,5 +540,6 @@
|
|||
fsl,liodn-reg = <&guts 0x554>; /* SATA2LIODNR */
|
||||
};
|
||||
/include/ "qoriq-sec5.0-0.dtsi"
|
||||
/include/ "qoriq-qman3.dtsi"
|
||||
/include/ "qoriq-bman1.dtsi"
|
||||
};
|
||||
|
|
|
@ -37,6 +37,16 @@
|
|||
alloc-ranges = <0 0 0x10000 0>;
|
||||
};
|
||||
|
||||
&qman_fqd {
|
||||
compatible = "fsl,qman-fqd";
|
||||
alloc-ranges = <0 0 0x10000 0>;
|
||||
};
|
||||
|
||||
&qman_pfdr {
|
||||
compatible = "fsl,qman-pfdr";
|
||||
alloc-ranges = <0 0 0x10000 0>;
|
||||
};
|
||||
|
||||
&ifc {
|
||||
#address-cells = <2>;
|
||||
#size-cells = <1>;
|
||||
|
@ -326,6 +336,121 @@
|
|||
};
|
||||
};
|
||||
|
||||
&qportals {
|
||||
#address-cells = <0x1>;
|
||||
#size-cells = <0x1>;
|
||||
compatible = "simple-bus";
|
||||
|
||||
qportal0: qman-portal@0 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0x0 0x4000>, <0x1000000 0x1000>;
|
||||
interrupts = <104 0x2 0 0>;
|
||||
cell-index = <0x0>;
|
||||
};
|
||||
qportal1: qman-portal@4000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0x4000 0x4000>, <0x1001000 0x1000>;
|
||||
interrupts = <106 0x2 0 0>;
|
||||
cell-index = <0x1>;
|
||||
};
|
||||
qportal2: qman-portal@8000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0x8000 0x4000>, <0x1002000 0x1000>;
|
||||
interrupts = <108 0x2 0 0>;
|
||||
cell-index = <0x2>;
|
||||
};
|
||||
qportal3: qman-portal@c000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0xc000 0x4000>, <0x1003000 0x1000>;
|
||||
interrupts = <110 0x2 0 0>;
|
||||
cell-index = <0x3>;
|
||||
};
|
||||
qportal4: qman-portal@10000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0x10000 0x4000>, <0x1004000 0x1000>;
|
||||
interrupts = <112 0x2 0 0>;
|
||||
cell-index = <0x4>;
|
||||
};
|
||||
qportal5: qman-portal@14000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0x14000 0x4000>, <0x1005000 0x1000>;
|
||||
interrupts = <114 0x2 0 0>;
|
||||
cell-index = <0x5>;
|
||||
};
|
||||
qportal6: qman-portal@18000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0x18000 0x4000>, <0x1006000 0x1000>;
|
||||
interrupts = <116 0x2 0 0>;
|
||||
cell-index = <0x6>;
|
||||
};
|
||||
qportal7: qman-portal@1c000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0x1c000 0x4000>, <0x1007000 0x1000>;
|
||||
interrupts = <118 0x2 0 0>;
|
||||
cell-index = <0x7>;
|
||||
};
|
||||
qportal8: qman-portal@20000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0x20000 0x4000>, <0x1008000 0x1000>;
|
||||
interrupts = <120 0x2 0 0>;
|
||||
cell-index = <0x8>;
|
||||
};
|
||||
qportal9: qman-portal@24000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0x24000 0x4000>, <0x1009000 0x1000>;
|
||||
interrupts = <122 0x2 0 0>;
|
||||
cell-index = <0x9>;
|
||||
};
|
||||
qportal10: qman-portal@28000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0x28000 0x4000>, <0x100a000 0x1000>;
|
||||
interrupts = <124 0x2 0 0>;
|
||||
cell-index = <0xa>;
|
||||
};
|
||||
qportal11: qman-portal@2c000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0x2c000 0x4000>, <0x100b000 0x1000>;
|
||||
interrupts = <126 0x2 0 0>;
|
||||
cell-index = <0xb>;
|
||||
};
|
||||
qportal12: qman-portal@30000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0x30000 0x4000>, <0x100c000 0x1000>;
|
||||
interrupts = <128 0x2 0 0>;
|
||||
cell-index = <0xc>;
|
||||
};
|
||||
qportal13: qman-portal@34000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0x34000 0x4000>, <0x100d000 0x1000>;
|
||||
interrupts = <130 0x2 0 0>;
|
||||
cell-index = <0xd>;
|
||||
};
|
||||
qportal14: qman-portal@38000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0x38000 0x4000>, <0x100e000 0x1000>;
|
||||
interrupts = <132 0x2 0 0>;
|
||||
cell-index = <0xe>;
|
||||
};
|
||||
qportal15: qman-portal@3c000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0x3c000 0x4000>, <0x100f000 0x1000>;
|
||||
interrupts = <134 0x2 0 0>;
|
||||
cell-index = <0xf>;
|
||||
};
|
||||
qportal16: qman-portal@40000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0x40000 0x4000>, <0x1010000 0x1000>;
|
||||
interrupts = <136 0x2 0 0>;
|
||||
cell-index = <0x10>;
|
||||
};
|
||||
qportal17: qman-portal@44000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0x44000 0x4000>, <0x1011000 0x1000>;
|
||||
interrupts = <138 0x2 0 0>;
|
||||
cell-index = <0x11>;
|
||||
};
|
||||
};
|
||||
|
||||
&soc {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
@ -417,7 +542,7 @@
|
|||
compatible = "fsl,qoriq-core-mux-2.0";
|
||||
clocks = <&pll0 0>, <&pll0 1>, <&pll0 2>,
|
||||
<&pll1 0>, <&pll1 1>, <&pll1 2>;
|
||||
clock-names = "pll0", "pll0-div2", "pll1-div4",
|
||||
clock-names = "pll0", "pll0-div2", "pll0-div4",
|
||||
"pll1", "pll1-div2", "pll1-div4";
|
||||
clock-output-names = "cmux0";
|
||||
};
|
||||
|
@ -428,7 +553,7 @@
|
|||
compatible = "fsl,qoriq-core-mux-2.0";
|
||||
clocks = <&pll0 0>, <&pll0 1>, <&pll0 2>,
|
||||
<&pll1 0>, <&pll1 1>, <&pll1 2>;
|
||||
clock-names = "pll0", "pll0-div2", "pll1-div4",
|
||||
clock-names = "pll0", "pll0-div2", "pll0-div4",
|
||||
"pll1", "pll1-div2", "pll1-div4";
|
||||
clock-output-names = "cmux1";
|
||||
};
|
||||
|
@ -502,6 +627,7 @@
|
|||
phy_type = "utmi";
|
||||
};
|
||||
/include/ "qoriq-sec5.2-0.dtsi"
|
||||
/include/ "qoriq-qman3.dtsi"
|
||||
/include/ "qoriq-bman1.dtsi"
|
||||
|
||||
L2_1: l2-cache-controller@c20000 {
|
||||
|
|
|
@ -37,6 +37,16 @@
|
|||
alloc-ranges = <0 0 0x10000 0>;
|
||||
};
|
||||
|
||||
&qman_fqd {
|
||||
compatible = "fsl,qman-fqd";
|
||||
alloc-ranges = <0 0 0x10000 0>;
|
||||
};
|
||||
|
||||
&qman_pfdr {
|
||||
compatible = "fsl,qman-pfdr";
|
||||
alloc-ranges = <0 0 0x10000 0>;
|
||||
};
|
||||
|
||||
&ifc {
|
||||
#address-cells = <2>;
|
||||
#size-cells = <1>;
|
||||
|
@ -556,6 +566,313 @@
|
|||
};
|
||||
};
|
||||
|
||||
&qportals {
|
||||
#address-cells = <0x1>;
|
||||
#size-cells = <0x1>;
|
||||
compatible = "simple-bus";
|
||||
|
||||
qportal0: qman-portal@0 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0x0 0x4000>, <0x1000000 0x1000>;
|
||||
interrupts = <104 0x2 0 0>;
|
||||
cell-index = <0x0>;
|
||||
};
|
||||
qportal1: qman-portal@4000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0x4000 0x4000>, <0x1001000 0x1000>;
|
||||
interrupts = <106 0x2 0 0>;
|
||||
cell-index = <0x1>;
|
||||
};
|
||||
qportal2: qman-portal@8000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0x8000 0x4000>, <0x1002000 0x1000>;
|
||||
interrupts = <108 0x2 0 0>;
|
||||
cell-index = <0x2>;
|
||||
};
|
||||
qportal3: qman-portal@c000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0xc000 0x4000>, <0x1003000 0x1000>;
|
||||
interrupts = <110 0x2 0 0>;
|
||||
cell-index = <0x3>;
|
||||
};
|
||||
qportal4: qman-portal@10000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0x10000 0x4000>, <0x1004000 0x1000>;
|
||||
interrupts = <112 0x2 0 0>;
|
||||
cell-index = <0x4>;
|
||||
};
|
||||
qportal5: qman-portal@14000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0x14000 0x4000>, <0x1005000 0x1000>;
|
||||
interrupts = <114 0x2 0 0>;
|
||||
cell-index = <0x5>;
|
||||
};
|
||||
qportal6: qman-portal@18000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0x18000 0x4000>, <0x1006000 0x1000>;
|
||||
interrupts = <116 0x2 0 0>;
|
||||
cell-index = <0x6>;
|
||||
};
|
||||
qportal7: qman-portal@1c000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0x1c000 0x4000>, <0x1007000 0x1000>;
|
||||
interrupts = <118 0x2 0 0>;
|
||||
cell-index = <0x7>;
|
||||
};
|
||||
qportal8: qman-portal@20000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0x20000 0x4000>, <0x1008000 0x1000>;
|
||||
interrupts = <120 0x2 0 0>;
|
||||
cell-index = <0x8>;
|
||||
};
|
||||
qportal9: qman-portal@24000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0x24000 0x4000>, <0x1009000 0x1000>;
|
||||
interrupts = <122 0x2 0 0>;
|
||||
cell-index = <0x9>;
|
||||
};
|
||||
qportal10: qman-portal@28000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0x28000 0x4000>, <0x100a000 0x1000>;
|
||||
interrupts = <124 0x2 0 0>;
|
||||
cell-index = <0xa>;
|
||||
};
|
||||
qportal11: qman-portal@2c000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0x2c000 0x4000>, <0x100b000 0x1000>;
|
||||
interrupts = <126 0x2 0 0>;
|
||||
cell-index = <0xb>;
|
||||
};
|
||||
qportal12: qman-portal@30000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0x30000 0x4000>, <0x100c000 0x1000>;
|
||||
interrupts = <128 0x2 0 0>;
|
||||
cell-index = <0xc>;
|
||||
};
|
||||
qportal13: qman-portal@34000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0x34000 0x4000>, <0x100d000 0x1000>;
|
||||
interrupts = <130 0x2 0 0>;
|
||||
cell-index = <0xd>;
|
||||
};
|
||||
qportal14: qman-portal@38000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0x38000 0x4000>, <0x100e000 0x1000>;
|
||||
interrupts = <132 0x2 0 0>;
|
||||
cell-index = <0xe>;
|
||||
};
|
||||
qportal15: qman-portal@3c000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0x3c000 0x4000>, <0x100f000 0x1000>;
|
||||
interrupts = <134 0x2 0 0>;
|
||||
cell-index = <0xf>;
|
||||
};
|
||||
qportal16: qman-portal@40000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0x40000 0x4000>, <0x1010000 0x1000>;
|
||||
interrupts = <136 0x2 0 0>;
|
||||
cell-index = <0x10>;
|
||||
};
|
||||
qportal17: qman-portal@44000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0x44000 0x4000>, <0x1011000 0x1000>;
|
||||
interrupts = <138 0x2 0 0>;
|
||||
cell-index = <0x11>;
|
||||
};
|
||||
qportal18: qman-portal@48000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0x48000 0x4000>, <0x1012000 0x1000>;
|
||||
interrupts = <140 0x2 0 0>;
|
||||
cell-index = <0x12>;
|
||||
};
|
||||
qportal19: qman-portal@4c000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0x4c000 0x4000>, <0x1013000 0x1000>;
|
||||
interrupts = <142 0x2 0 0>;
|
||||
cell-index = <0x13>;
|
||||
};
|
||||
qportal20: qman-portal@50000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0x50000 0x4000>, <0x1014000 0x1000>;
|
||||
interrupts = <144 0x2 0 0>;
|
||||
cell-index = <0x14>;
|
||||
};
|
||||
qportal21: qman-portal@54000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0x54000 0x4000>, <0x1015000 0x1000>;
|
||||
interrupts = <146 0x2 0 0>;
|
||||
cell-index = <0x15>;
|
||||
};
|
||||
qportal22: qman-portal@58000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0x58000 0x4000>, <0x1016000 0x1000>;
|
||||
interrupts = <148 0x2 0 0>;
|
||||
cell-index = <0x16>;
|
||||
};
|
||||
qportal23: qman-portal@5c000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0x5c000 0x4000>, <0x1017000 0x1000>;
|
||||
interrupts = <150 0x2 0 0>;
|
||||
cell-index = <0x17>;
|
||||
};
|
||||
qportal24: qman-portal@60000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0x60000 0x4000>, <0x1018000 0x1000>;
|
||||
interrupts = <152 0x2 0 0>;
|
||||
cell-index = <0x18>;
|
||||
};
|
||||
qportal25: qman-portal@64000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0x64000 0x4000>, <0x1019000 0x1000>;
|
||||
interrupts = <154 0x2 0 0>;
|
||||
cell-index = <0x19>;
|
||||
};
|
||||
qportal26: qman-portal@68000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0x68000 0x4000>, <0x101a000 0x1000>;
|
||||
interrupts = <156 0x2 0 0>;
|
||||
cell-index = <0x1a>;
|
||||
};
|
||||
qportal27: qman-portal@6c000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0x6c000 0x4000>, <0x101b000 0x1000>;
|
||||
interrupts = <158 0x2 0 0>;
|
||||
cell-index = <0x1b>;
|
||||
};
|
||||
qportal28: qman-portal@70000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0x70000 0x4000>, <0x101c000 0x1000>;
|
||||
interrupts = <160 0x2 0 0>;
|
||||
cell-index = <0x1c>;
|
||||
};
|
||||
qportal29: qman-portal@74000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0x74000 0x4000>, <0x101d000 0x1000>;
|
||||
interrupts = <162 0x2 0 0>;
|
||||
cell-index = <0x1d>;
|
||||
};
|
||||
qportal30: qman-portal@78000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0x78000 0x4000>, <0x101e000 0x1000>;
|
||||
interrupts = <164 0x2 0 0>;
|
||||
cell-index = <0x1e>;
|
||||
};
|
||||
qportal31: qman-portal@7c000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0x7c000 0x4000>, <0x101f000 0x1000>;
|
||||
interrupts = <166 0x2 0 0>;
|
||||
cell-index = <0x1f>;
|
||||
};
|
||||
qportal32: qman-portal@80000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0x80000 0x4000>, <0x1020000 0x1000>;
|
||||
interrupts = <168 0x2 0 0>;
|
||||
cell-index = <0x20>;
|
||||
};
|
||||
qportal33: qman-portal@84000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0x84000 0x4000>, <0x1021000 0x1000>;
|
||||
interrupts = <170 0x2 0 0>;
|
||||
cell-index = <0x21>;
|
||||
};
|
||||
qportal34: qman-portal@88000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0x88000 0x4000>, <0x1022000 0x1000>;
|
||||
interrupts = <172 0x2 0 0>;
|
||||
cell-index = <0x22>;
|
||||
};
|
||||
qportal35: qman-portal@8c000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0x8c000 0x4000>, <0x1023000 0x1000>;
|
||||
interrupts = <174 0x2 0 0>;
|
||||
cell-index = <0x23>;
|
||||
};
|
||||
qportal36: qman-portal@90000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0x90000 0x4000>, <0x1024000 0x1000>;
|
||||
interrupts = <384 0x2 0 0>;
|
||||
cell-index = <0x24>;
|
||||
};
|
||||
qportal37: qman-portal@94000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0x94000 0x4000>, <0x1025000 0x1000>;
|
||||
interrupts = <386 0x2 0 0>;
|
||||
cell-index = <0x25>;
|
||||
};
|
||||
qportal38: qman-portal@98000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0x98000 0x4000>, <0x1026000 0x1000>;
|
||||
interrupts = <388 0x2 0 0>;
|
||||
cell-index = <0x26>;
|
||||
};
|
||||
qportal39: qman-portal@9c000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0x9c000 0x4000>, <0x1027000 0x1000>;
|
||||
interrupts = <390 0x2 0 0>;
|
||||
cell-index = <0x27>;
|
||||
};
|
||||
qportal40: qman-portal@a0000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0xa0000 0x4000>, <0x1028000 0x1000>;
|
||||
interrupts = <392 0x2 0 0>;
|
||||
cell-index = <0x28>;
|
||||
};
|
||||
qportal41: qman-portal@a4000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0xa4000 0x4000>, <0x1029000 0x1000>;
|
||||
interrupts = <394 0x2 0 0>;
|
||||
cell-index = <0x29>;
|
||||
};
|
||||
qportal42: qman-portal@a8000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0xa8000 0x4000>, <0x102a000 0x1000>;
|
||||
interrupts = <396 0x2 0 0>;
|
||||
cell-index = <0x2a>;
|
||||
};
|
||||
qportal43: qman-portal@ac000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0xac000 0x4000>, <0x102b000 0x1000>;
|
||||
interrupts = <398 0x2 0 0>;
|
||||
cell-index = <0x2b>;
|
||||
};
|
||||
qportal44: qman-portal@b0000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0xb0000 0x4000>, <0x102c000 0x1000>;
|
||||
interrupts = <400 0x2 0 0>;
|
||||
cell-index = <0x2c>;
|
||||
};
|
||||
qportal45: qman-portal@b4000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0xb4000 0x4000>, <0x102d000 0x1000>;
|
||||
interrupts = <402 0x2 0 0>;
|
||||
cell-index = <0x2d>;
|
||||
};
|
||||
qportal46: qman-portal@b8000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0xb8000 0x4000>, <0x102e000 0x1000>;
|
||||
interrupts = <404 0x2 0 0>;
|
||||
cell-index = <0x2e>;
|
||||
};
|
||||
qportal47: qman-portal@bc000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0xbc000 0x4000>, <0x102f000 0x1000>;
|
||||
interrupts = <406 0x2 0 0>;
|
||||
cell-index = <0x2f>;
|
||||
};
|
||||
qportal48: qman-portal@c0000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0xc0000 0x4000>, <0x1030000 0x1000>;
|
||||
interrupts = <408 0x2 0 0>;
|
||||
cell-index = <0x30>;
|
||||
};
|
||||
qportal49: qman-portal@c4000 {
|
||||
compatible = "fsl,qman-portal";
|
||||
reg = <0xc4000 0x4000>, <0x1031000 0x1000>;
|
||||
interrupts = <410 0x2 0 0>;
|
||||
cell-index = <0x31>;
|
||||
};
|
||||
};
|
||||
|
||||
&soc {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
@ -748,6 +1065,7 @@
|
|||
/include/ "qoriq-sata2-0.dtsi"
|
||||
/include/ "qoriq-sata2-1.dtsi"
|
||||
/include/ "qoriq-sec5.0-0.dtsi"
|
||||
/include/ "qoriq-qman3.dtsi"
|
||||
/include/ "qoriq-bman1.dtsi"
|
||||
|
||||
L2_1: l2-cache-controller@c20000 {
|
||||
|
|
|
@ -34,6 +34,14 @@
|
|||
size = <0 0x1000000>;
|
||||
alignment = <0 0x1000000>;
|
||||
};
|
||||
qman_fqd: qman-fqd {
|
||||
size = <0 0x400000>;
|
||||
alignment = <0 0x400000>;
|
||||
};
|
||||
qman_pfdr: qman-pfdr {
|
||||
size = <0 0x2000000>;
|
||||
alignment = <0 0x2000000>;
|
||||
};
|
||||
};
|
||||
|
||||
dcsr: dcsr@f00000000 {
|
||||
|
@ -44,6 +52,10 @@
|
|||
ranges = <0x0 0xf 0xf4000000 0x200000>;
|
||||
};
|
||||
|
||||
qportals: qman-portals@ff4200000 {
|
||||
ranges = <0x0 0xf 0xf4200000 0x200000>;
|
||||
};
|
||||
|
||||
soc: soc@ffe000000 {
|
||||
ranges = <0x00000000 0xf 0xfe000000 0x1000000>;
|
||||
reg = <0xf 0xfe000000 0 0x00001000>;
|
||||
|
|
|
@ -58,6 +58,14 @@
|
|||
size = <0 0x1000000>;
|
||||
alignment = <0 0x1000000>;
|
||||
};
|
||||
qman_fqd: qman-fqd {
|
||||
size = <0 0x400000>;
|
||||
alignment = <0 0x400000>;
|
||||
};
|
||||
qman_pfdr: qman-pfdr {
|
||||
size = <0 0x2000000>;
|
||||
alignment = <0 0x2000000>;
|
||||
};
|
||||
};
|
||||
|
||||
dcsr: dcsr@f00000000 {
|
||||
|
@ -68,6 +76,10 @@
|
|||
ranges = <0x0 0xf 0xf4000000 0x200000>;
|
||||
};
|
||||
|
||||
qportals: qman-portals@ff4200000 {
|
||||
ranges = <0x0 0xf 0xf4200000 0x200000>;
|
||||
};
|
||||
|
||||
soc: soc@ffe000000 {
|
||||
ranges = <0x00000000 0xf 0xfe000000 0x1000000>;
|
||||
reg = <0xf 0xfe000000 0 0x00001000>;
|
||||
|
|
|
@ -56,6 +56,18 @@
|
|||
size = <0 0x1000000>;
|
||||
alignment = <0 0x1000000>;
|
||||
};
|
||||
qman_fqd: qman-fqd {
|
||||
size = <0 0x400000>;
|
||||
alignment = <0 0x400000>;
|
||||
};
|
||||
qman_pfdr: qman-pfdr {
|
||||
size = <0 0x2000000>;
|
||||
alignment = <0 0x2000000>;
|
||||
};
|
||||
};
|
||||
|
||||
qportals: qman-portals@ff000000 {
|
||||
ranges = <0x0 0xf 0xff000000 0x200000>;
|
||||
};
|
||||
|
||||
bportals: bman-portals@ff200000 {
|
||||
|
|
|
@ -54,6 +54,14 @@
|
|||
size = <0 0x1000000>;
|
||||
alignment = <0 0x1000000>;
|
||||
};
|
||||
qman_fqd: qman-fqd {
|
||||
size = <0 0x400000>;
|
||||
alignment = <0 0x400000>;
|
||||
};
|
||||
qman_pfdr: qman-pfdr {
|
||||
size = <0 0x2000000>;
|
||||
alignment = <0 0x2000000>;
|
||||
};
|
||||
};
|
||||
|
||||
dcsr: dcsr@f00000000 {
|
||||
|
@ -64,6 +72,10 @@
|
|||
ranges = <0x0 0xf 0xf4000000 0x200000>;
|
||||
};
|
||||
|
||||
qportals: qman-portals@ff4200000 {
|
||||
ranges = <0x0 0xf 0xf4200000 0x200000>;
|
||||
};
|
||||
|
||||
soc: soc@ffe000000 {
|
||||
ranges = <0x00000000 0xf 0xfe000000 0x1000000>;
|
||||
reg = <0xf 0xfe000000 0 0x00001000>;
|
||||
|
|
|
@ -54,6 +54,14 @@
|
|||
size = <0 0x1000000>;
|
||||
alignment = <0 0x1000000>;
|
||||
};
|
||||
qman_fqd: qman-fqd {
|
||||
size = <0 0x400000>;
|
||||
alignment = <0 0x400000>;
|
||||
};
|
||||
qman_pfdr: qman-pfdr {
|
||||
size = <0 0x2000000>;
|
||||
alignment = <0 0x2000000>;
|
||||
};
|
||||
};
|
||||
|
||||
dcsr: dcsr@f00000000 {
|
||||
|
@ -64,6 +72,10 @@
|
|||
ranges = <0x0 0xf 0xf4000000 0x200000>;
|
||||
};
|
||||
|
||||
qportals: qman-portals@ff4200000 {
|
||||
ranges = <0x0 0xf 0xf4200000 0x200000>;
|
||||
};
|
||||
|
||||
soc: soc@ffe000000 {
|
||||
ranges = <0x00000000 0xf 0xfe000000 0x1000000>;
|
||||
reg = <0xf 0xfe000000 0 0x00001000>;
|
||||
|
|
|
@ -54,6 +54,14 @@
|
|||
size = <0 0x1000000>;
|
||||
alignment = <0 0x1000000>;
|
||||
};
|
||||
qman_fqd: qman-fqd {
|
||||
size = <0 0x400000>;
|
||||
alignment = <0 0x400000>;
|
||||
};
|
||||
qman_pfdr: qman-pfdr {
|
||||
size = <0 0x2000000>;
|
||||
alignment = <0 0x2000000>;
|
||||
};
|
||||
};
|
||||
|
||||
dcsr: dcsr@f00000000 {
|
||||
|
@ -64,6 +72,10 @@
|
|||
ranges = <0x0 0xf 0xf4000000 0x200000>;
|
||||
};
|
||||
|
||||
qportals: qman-portals@ff4200000 {
|
||||
ranges = <0x0 0xf 0xf4200000 0x200000>;
|
||||
};
|
||||
|
||||
soc: soc@ffe000000 {
|
||||
ranges = <0x00000000 0xf 0xfe000000 0x1000000>;
|
||||
reg = <0xf 0xfe000000 0 0x00001000>;
|
||||
|
|
|
@ -54,6 +54,14 @@
|
|||
size = <0 0x1000000>;
|
||||
alignment = <0 0x1000000>;
|
||||
};
|
||||
qman_fqd: qman-fqd {
|
||||
size = <0 0x400000>;
|
||||
alignment = <0 0x400000>;
|
||||
};
|
||||
qman_pfdr: qman-pfdr {
|
||||
size = <0 0x2000000>;
|
||||
alignment = <0 0x2000000>;
|
||||
};
|
||||
};
|
||||
|
||||
dcsr: dcsr@f00000000 {
|
||||
|
@ -64,6 +72,10 @@
|
|||
ranges = <0x0 0xf 0xf4000000 0x200000>;
|
||||
};
|
||||
|
||||
qportals: qman-portals@ff4200000 {
|
||||
ranges = <0x0 0xf 0xf4200000 0x200000>;
|
||||
};
|
||||
|
||||
soc: soc@ffe000000 {
|
||||
ranges = <0x00000000 0xf 0xfe000000 0x1000000>;
|
||||
reg = <0xf 0xfe000000 0 0x00001000>;
|
||||
|
|
|
@ -54,6 +54,14 @@
|
|||
size = <0 0x1000000>;
|
||||
alignment = <0 0x1000000>;
|
||||
};
|
||||
qman_fqd: qman-fqd {
|
||||
size = <0 0x400000>;
|
||||
alignment = <0 0x400000>;
|
||||
};
|
||||
qman_pfdr: qman-pfdr {
|
||||
size = <0 0x2000000>;
|
||||
alignment = <0 0x2000000>;
|
||||
};
|
||||
};
|
||||
|
||||
dcsr: dcsr@f00000000 {
|
||||
|
@ -64,6 +72,10 @@
|
|||
ranges = <0x0 0xf 0xf4000000 0x200000>;
|
||||
};
|
||||
|
||||
qportals: qman-portals@ff4200000 {
|
||||
ranges = <0x0 0xf 0xf4200000 0x200000>;
|
||||
};
|
||||
|
||||
soc: soc@ffe000000 {
|
||||
ranges = <0x00000000 0xf 0xfe000000 0x1000000>;
|
||||
reg = <0xf 0xfe000000 0 0x00001000>;
|
||||
|
|
|
@ -0,0 +1,151 @@
|
|||
/*
|
||||
* T1023 RDB Device Tree Source
|
||||
*
|
||||
* Copyright 2014 Freescale Semiconductor Inc.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* * Neither the name of Freescale Semiconductor nor the
|
||||
* names of its contributors may be used to endorse or promote products
|
||||
* derived from this software without specific prior written permission.
|
||||
*
|
||||
*
|
||||
* ALTERNATIVELY, this software may be distributed under the terms of the
|
||||
* GNU General Public License ("GPL") as published by the Free Software
|
||||
* Foundation, either version 2 of that License or (at your option) any
|
||||
* later version.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY Freescale Semiconductor "AS IS" AND ANY
|
||||
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL Freescale Semiconductor BE LIABLE FOR ANY
|
||||
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
/include/ "fsl/t102xsi-pre.dtsi"
|
||||
|
||||
/ {
|
||||
model = "fsl,T1023RDB";
|
||||
compatible = "fsl,T1023RDB";
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
interrupt-parent = <&mpic>;
|
||||
|
||||
ifc: localbus@ffe124000 {
|
||||
reg = <0xf 0xfe124000 0 0x2000>;
|
||||
ranges = <0 0 0xf 0xe8000000 0x08000000
|
||||
1 0 0xf 0xff800000 0x00010000>;
|
||||
|
||||
nor@0,0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
status = "disabled";
|
||||
compatible = "cfi-flash";
|
||||
reg = <0x0 0x0 0x8000000>;
|
||||
bank-width = <2>;
|
||||
device-width = <1>;
|
||||
};
|
||||
|
||||
nand@1,0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
compatible = "fsl,ifc-nand";
|
||||
reg = <0x2 0x0 0x10000>;
|
||||
};
|
||||
};
|
||||
|
||||
memory {
|
||||
device_type = "memory";
|
||||
};
|
||||
|
||||
dcsr: dcsr@f00000000 {
|
||||
ranges = <0x00000000 0xf 0x00000000 0x01072000>;
|
||||
};
|
||||
|
||||
soc: soc@ffe000000 {
|
||||
ranges = <0x00000000 0xf 0xfe000000 0x1000000>;
|
||||
reg = <0xf 0xfe000000 0 0x00001000>;
|
||||
spi@110000 {
|
||||
flash@0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
compatible = "spansion,s25fl512s";
|
||||
reg = <0>;
|
||||
spi-max-frequency = <10000000>; /* input clk */
|
||||
};
|
||||
};
|
||||
|
||||
i2c@118000 {
|
||||
eeprom@50 {
|
||||
compatible = "st,m24256";
|
||||
reg = <0x50>;
|
||||
};
|
||||
|
||||
rtc@68 {
|
||||
compatible = "dallas,ds1339";
|
||||
reg = <0x68>;
|
||||
interrupts = <0x5 0x1 0 0>;
|
||||
};
|
||||
};
|
||||
|
||||
i2c@118100 {
|
||||
};
|
||||
};
|
||||
|
||||
pci0: pcie@ffe240000 {
|
||||
reg = <0xf 0xfe240000 0 0x10000>;
|
||||
ranges = <0x02000000 0 0xe0000000 0xc 0x00000000 0 0x10000000
|
||||
0x01000000 0 0x00000000 0xf 0xf8000000 0 0x00010000>;
|
||||
pcie@0 {
|
||||
ranges = <0x02000000 0 0xe0000000
|
||||
0x02000000 0 0xe0000000
|
||||
0 0x10000000
|
||||
|
||||
0x01000000 0 0x00000000
|
||||
0x01000000 0 0x00000000
|
||||
0 0x00010000>;
|
||||
};
|
||||
};
|
||||
|
||||
pci1: pcie@ffe250000 {
|
||||
reg = <0xf 0xfe250000 0 0x10000>;
|
||||
ranges = <0x02000000 0 0xe0000000 0xc 0x10000000 0 0x10000000
|
||||
0x01000000 0 0x00000000 0xf 0xf8010000 0 0x00010000>;
|
||||
pcie@0 {
|
||||
ranges = <0x02000000 0 0xe0000000
|
||||
0x02000000 0 0xe0000000
|
||||
0 0x10000000
|
||||
|
||||
0x01000000 0 0x00000000
|
||||
0x01000000 0 0x00000000
|
||||
0 0x00010000>;
|
||||
};
|
||||
};
|
||||
|
||||
pci2: pcie@ffe260000 {
|
||||
reg = <0xf 0xfe260000 0 0x10000>;
|
||||
ranges = <0x02000000 0 0xe0000000 0xc 0x20000000 0 0x10000000
|
||||
0x01000000 0 0x00000000 0xf 0xf8020000 0 0x00010000>;
|
||||
pcie@0 {
|
||||
ranges = <0x02000000 0 0xe0000000
|
||||
0x02000000 0 0xe0000000
|
||||
0 0x10000000
|
||||
|
||||
0x01000000 0 0x00000000
|
||||
0x01000000 0 0x00000000
|
||||
0 0x00010000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
/include/ "fsl/t1023si-post.dtsi"
|
|
@ -0,0 +1,251 @@
|
|||
/*
|
||||
* T1024 QDS Device Tree Source
|
||||
*
|
||||
* Copyright 2014 Freescale Semiconductor Inc.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* * Neither the name of Freescale Semiconductor nor the
|
||||
* names of its contributors may be used to endorse or promote products
|
||||
* derived from this software without specific prior written permission.
|
||||
*
|
||||
*
|
||||
* ALTERNATIVELY, this software may be distributed under the terms of the
|
||||
* GNU General Public License ("GPL") as published by the Free Software
|
||||
* Foundation, either version 2 of that License or (at your option) any
|
||||
* later version.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY Freescale Semiconductor "AS IS" AND ANY
|
||||
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL Freescale Semiconductor BE LIABLE FOR ANY
|
||||
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
/include/ "fsl/t102xsi-pre.dtsi"
|
||||
|
||||
/ {
|
||||
model = "fsl,T1024QDS";
|
||||
compatible = "fsl,T1024QDS";
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
interrupt-parent = <&mpic>;
|
||||
|
||||
ifc: localbus@ffe124000 {
|
||||
reg = <0xf 0xfe124000 0 0x2000>;
|
||||
ranges = <0 0 0xf 0xe8000000 0x08000000
|
||||
2 0 0xf 0xff800000 0x00010000
|
||||
3 0 0xf 0xffdf0000 0x00008000>;
|
||||
|
||||
nor@0,0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
compatible = "cfi-flash";
|
||||
reg = <0x0 0x0 0x8000000>;
|
||||
bank-width = <2>;
|
||||
device-width = <1>;
|
||||
};
|
||||
|
||||
nand@2,0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
compatible = "fsl,ifc-nand";
|
||||
reg = <0x2 0x0 0x10000>;
|
||||
};
|
||||
|
||||
board-control@3,0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
compatible = "fsl,tetra-fpga", "fsl,fpga-qixis";
|
||||
reg = <3 0 0x300>;
|
||||
ranges = <0 3 0 0x300>;
|
||||
};
|
||||
};
|
||||
|
||||
memory {
|
||||
device_type = "memory";
|
||||
};
|
||||
|
||||
dcsr: dcsr@f00000000 {
|
||||
ranges = <0x00000000 0xf 0x00000000 0x01072000>;
|
||||
};
|
||||
|
||||
soc: soc@ffe000000 {
|
||||
ranges = <0x00000000 0xf 0xfe000000 0x1000000>;
|
||||
reg = <0xf 0xfe000000 0 0x00001000>;
|
||||
spi@110000 {
|
||||
flash@0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
compatible = "micron,n25q128a11"; /* 16MB */
|
||||
reg = <0>;
|
||||
spi-max-frequency = <10000000>;
|
||||
};
|
||||
|
||||
flash@1 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
compatible = "sst,sst25wf040"; /* 512KB */
|
||||
reg = <1>;
|
||||
spi-max-frequency = <10000000>;
|
||||
};
|
||||
|
||||
flash@2 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
compatible = "eon,en25s64"; /* 8MB */
|
||||
reg = <2>;
|
||||
spi-max-frequency = <10000000>;
|
||||
};
|
||||
|
||||
slic@2 {
|
||||
compatible = "maxim,ds26522";
|
||||
reg = <2>;
|
||||
spi-max-frequency = <2000000>;
|
||||
};
|
||||
|
||||
slic@3 {
|
||||
compatible = "maxim,ds26522";
|
||||
reg = <3>;
|
||||
spi-max-frequency = <2000000>;
|
||||
};
|
||||
};
|
||||
|
||||
i2c@118000 {
|
||||
pca9547@77 {
|
||||
compatible = "nxp,pca9547";
|
||||
reg = <0x77>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
i2c@0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <0x0>;
|
||||
|
||||
eeprom@50 {
|
||||
compatible = "atmel,24c512";
|
||||
reg = <0x50>;
|
||||
};
|
||||
|
||||
eeprom@51 {
|
||||
compatible = "atmel,24c02";
|
||||
reg = <0x51>;
|
||||
};
|
||||
|
||||
eeprom@57 {
|
||||
compatible = "atmel,24c02";
|
||||
reg = <0x57>;
|
||||
};
|
||||
};
|
||||
|
||||
i2c@2 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <0x2>;
|
||||
|
||||
ina220@40 {
|
||||
compatible = "ti,ina220";
|
||||
reg = <0x40>;
|
||||
shunt-resistor = <1000>;
|
||||
};
|
||||
|
||||
ina220@41 {
|
||||
compatible = "ti,ina220";
|
||||
reg = <0x41>;
|
||||
shunt-resistor = <1000>;
|
||||
};
|
||||
};
|
||||
|
||||
i2c@3 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <0x3>;
|
||||
|
||||
adt7461@4c {
|
||||
/* Thermal Monitor */
|
||||
compatible = "adi,adt7461";
|
||||
reg = <0x4c>;
|
||||
};
|
||||
|
||||
eeprom@55 {
|
||||
compatible = "atmel,24c02";
|
||||
reg = <0x55>;
|
||||
};
|
||||
|
||||
eeprom@56 {
|
||||
compatible = "atmel,24c512";
|
||||
reg = <0x56>;
|
||||
};
|
||||
|
||||
eeprom@57 {
|
||||
compatible = "atmel,24c512";
|
||||
reg = <0x57>;
|
||||
};
|
||||
};
|
||||
};
|
||||
rtc@68 {
|
||||
compatible = "dallas,ds3232";
|
||||
reg = <0x68>;
|
||||
interrupts = <0x5 0x1 0 0>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
pci0: pcie@ffe240000 {
|
||||
reg = <0xf 0xfe240000 0 0x10000>;
|
||||
ranges = <0x02000000 0 0xe0000000 0xc 0x00000000 0 0x10000000
|
||||
0x01000000 0 0x00000000 0xf 0xf8000000 0 0x00010000>;
|
||||
pcie@0 {
|
||||
ranges = <0x02000000 0 0xe0000000
|
||||
0x02000000 0 0xe0000000
|
||||
0 0x10000000
|
||||
|
||||
0x01000000 0 0x00000000
|
||||
0x01000000 0 0x00000000
|
||||
0 0x00010000>;
|
||||
};
|
||||
};
|
||||
|
||||
pci1: pcie@ffe250000 {
|
||||
reg = <0xf 0xfe250000 0 0x10000>;
|
||||
ranges = <0x02000000 0 0xe0000000 0xc 0x10000000 0 0x10000000
|
||||
0x01000000 0 0x00000000 0xf 0xf8010000 0 0x00010000>;
|
||||
pcie@0 {
|
||||
ranges = <0x02000000 0 0xe0000000
|
||||
0x02000000 0 0xe0000000
|
||||
0 0x10000000
|
||||
|
||||
0x01000000 0 0x00000000
|
||||
0x01000000 0 0x00000000
|
||||
0 0x00010000>;
|
||||
};
|
||||
};
|
||||
|
||||
pci2: pcie@ffe260000 {
|
||||
reg = <0xf 0xfe260000 0 0x10000>;
|
||||
ranges = <0x02000000 0 0xe0000000 0xc 0x20000000 0 0x10000000
|
||||
0x01000000 0 0x00000000 0xf 0xf8020000 0 0x00010000>;
|
||||
pcie@0 {
|
||||
ranges = <0x02000000 0 0xe0000000
|
||||
0x02000000 0 0xe0000000
|
||||
0 0x10000000
|
||||
|
||||
0x01000000 0 0x00000000
|
||||
0x01000000 0 0x00000000
|
||||
0 0x00010000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
/include/ "fsl/t1024si-post.dtsi"
|
|
@ -0,0 +1,185 @@
|
|||
/*
|
||||
* T1024 RDB Device Tree Source
|
||||
*
|
||||
* Copyright 2014 Freescale Semiconductor Inc.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* * Neither the name of Freescale Semiconductor nor the
|
||||
* names of its contributors may be used to endorse or promote products
|
||||
* derived from this software without specific prior written permission.
|
||||
*
|
||||
*
|
||||
* ALTERNATIVELY, this software may be distributed under the terms of the
|
||||
* GNU General Public License ("GPL") as published by the Free Software
|
||||
* Foundation, either version 2 of that License or (at your option) any
|
||||
* later version.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY Freescale Semiconductor "AS IS" AND ANY
|
||||
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL Freescale Semiconductor BE LIABLE FOR ANY
|
||||
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
/include/ "fsl/t102xsi-pre.dtsi"
|
||||
|
||||
/ {
|
||||
model = "fsl,T1024RDB";
|
||||
compatible = "fsl,T1024RDB";
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
interrupt-parent = <&mpic>;
|
||||
|
||||
ifc: localbus@ffe124000 {
|
||||
reg = <0xf 0xfe124000 0 0x2000>;
|
||||
ranges = <0 0 0xf 0xe8000000 0x08000000
|
||||
2 0 0xf 0xff800000 0x00010000
|
||||
3 0 0xf 0xffdf0000 0x00008000>;
|
||||
|
||||
nor@0,0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
compatible = "cfi-flash";
|
||||
reg = <0x0 0x0 0x8000000>;
|
||||
bank-width = <2>;
|
||||
device-width = <1>;
|
||||
};
|
||||
|
||||
nand@1,0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
compatible = "fsl,ifc-nand";
|
||||
reg = <0x2 0x0 0x10000>;
|
||||
};
|
||||
|
||||
board-control@2,0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
compatible = "fsl,t1024-cpld";
|
||||
reg = <3 0 0x300>;
|
||||
ranges = <0 3 0 0x300>;
|
||||
bank-width = <1>;
|
||||
device-width = <1>;
|
||||
};
|
||||
};
|
||||
|
||||
memory {
|
||||
device_type = "memory";
|
||||
};
|
||||
|
||||
dcsr: dcsr@f00000000 {
|
||||
ranges = <0x00000000 0xf 0x00000000 0x01072000>;
|
||||
};
|
||||
|
||||
soc: soc@ffe000000 {
|
||||
ranges = <0x00000000 0xf 0xfe000000 0x1000000>;
|
||||
reg = <0xf 0xfe000000 0 0x00001000>;
|
||||
spi@110000 {
|
||||
flash@0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
compatible = "micron,n25q512ax3";
|
||||
reg = <0>;
|
||||
spi-max-frequency = <10000000>; /* input clk */
|
||||
};
|
||||
|
||||
slic@1 {
|
||||
compatible = "maxim,ds26522";
|
||||
reg = <1>;
|
||||
spi-max-frequency = <2000000>;
|
||||
};
|
||||
|
||||
slic@2 {
|
||||
compatible = "maxim,ds26522";
|
||||
reg = <2>;
|
||||
spi-max-frequency = <2000000>;
|
||||
};
|
||||
};
|
||||
|
||||
i2c@118000 {
|
||||
adt7461@4c {
|
||||
/* Thermal Monitor */
|
||||
compatible = "adi,adt7461";
|
||||
reg = <0x4c>;
|
||||
};
|
||||
|
||||
eeprom@50 {
|
||||
compatible = "atmel,24c256";
|
||||
reg = <0x50>;
|
||||
};
|
||||
|
||||
rtc@68 {
|
||||
compatible = "dallas,ds1339";
|
||||
reg = <0x68>;
|
||||
interrupts = <0x1 0x1 0 0>;
|
||||
};
|
||||
};
|
||||
|
||||
i2c@118100 {
|
||||
pca9546@77 {
|
||||
compatible = "nxp,pca9546";
|
||||
reg = <0x77>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
pci0: pcie@ffe240000 {
|
||||
reg = <0xf 0xfe240000 0 0x10000>;
|
||||
ranges = <0x02000000 0 0xe0000000 0xc 0x00000000 0 0x10000000
|
||||
0x01000000 0 0x00000000 0xf 0xf8000000 0 0x00010000>;
|
||||
pcie@0 {
|
||||
ranges = <0x02000000 0 0xe0000000
|
||||
0x02000000 0 0xe0000000
|
||||
0 0x10000000
|
||||
|
||||
0x01000000 0 0x00000000
|
||||
0x01000000 0 0x00000000
|
||||
0 0x00010000>;
|
||||
};
|
||||
};
|
||||
|
||||
pci1: pcie@ffe250000 {
|
||||
reg = <0xf 0xfe250000 0 0x10000>;
|
||||
ranges = <0x02000000 0 0xe0000000 0xc 0x10000000 0 0x10000000
|
||||
0x01000000 0 0x00000000 0xf 0xf8010000 0 0x00010000>;
|
||||
pcie@0 {
|
||||
ranges = <0x02000000 0 0xe0000000
|
||||
0x02000000 0 0xe0000000
|
||||
0 0x10000000
|
||||
|
||||
0x01000000 0 0x00000000
|
||||
0x01000000 0 0x00000000
|
||||
0 0x00010000>;
|
||||
};
|
||||
};
|
||||
|
||||
pci2: pcie@ffe260000 {
|
||||
reg = <0xf 0xfe260000 0 0x10000>;
|
||||
ranges = <0x02000000 0 0xe0000000 0xc 0x20000000 0 0x10000000
|
||||
0x01000000 0 0x00000000 0xf 0xf8020000 0 0x00010000>;
|
||||
pcie@0 {
|
||||
ranges = <0x02000000 0 0xe0000000
|
||||
0x02000000 0 0xe0000000
|
||||
0 0x10000000
|
||||
|
||||
0x01000000 0 0x00000000
|
||||
0x01000000 0 0x00000000
|
||||
0 0x00010000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
/include/ "fsl/t1024si-post.dtsi"
|
|
@ -47,6 +47,14 @@
|
|||
size = <0 0x1000000>;
|
||||
alignment = <0 0x1000000>;
|
||||
};
|
||||
qman_fqd: qman-fqd {
|
||||
size = <0 0x400000>;
|
||||
alignment = <0 0x400000>;
|
||||
};
|
||||
qman_pfdr: qman-pfdr {
|
||||
size = <0 0x2000000>;
|
||||
alignment = <0 0x2000000>;
|
||||
};
|
||||
};
|
||||
|
||||
ifc: localbus@ffe124000 {
|
||||
|
@ -92,6 +100,10 @@
|
|||
ranges = <0x0 0xf 0xf4000000 0x2000000>;
|
||||
};
|
||||
|
||||
qportals: qman-portals@ff6000000 {
|
||||
ranges = <0x0 0xf 0xf6000000 0x2000000>;
|
||||
};
|
||||
|
||||
soc: soc@ffe000000 {
|
||||
ranges = <0x00000000 0xf 0xfe000000 0x1000000>;
|
||||
reg = <0xf 0xfe000000 0 0x00001000>;
|
||||
|
|
|
@ -42,6 +42,14 @@
|
|||
size = <0 0x1000000>;
|
||||
alignment = <0 0x1000000>;
|
||||
};
|
||||
qman_fqd: qman-fqd {
|
||||
size = <0 0x400000>;
|
||||
alignment = <0 0x400000>;
|
||||
};
|
||||
qman_pfdr: qman-pfdr {
|
||||
size = <0 0x2000000>;
|
||||
alignment = <0 0x2000000>;
|
||||
};
|
||||
};
|
||||
|
||||
ifc: localbus@ffe124000 {
|
||||
|
@ -83,6 +91,10 @@
|
|||
ranges = <0x0 0xf 0xf4000000 0x2000000>;
|
||||
};
|
||||
|
||||
qportals: qman-portals@ff6000000 {
|
||||
ranges = <0x0 0xf 0xf6000000 0x2000000>;
|
||||
};
|
||||
|
||||
soc: soc@ffe000000 {
|
||||
ranges = <0x00000000 0xf 0xfe000000 0x1000000>;
|
||||
reg = <0xf 0xfe000000 0 0x00001000>;
|
||||
|
|
|
@ -48,6 +48,14 @@
|
|||
size = <0 0x1000000>;
|
||||
alignment = <0 0x1000000>;
|
||||
};
|
||||
qman_fqd: qman-fqd {
|
||||
size = <0 0x400000>;
|
||||
alignment = <0 0x400000>;
|
||||
};
|
||||
qman_pfdr: qman-pfdr {
|
||||
size = <0 0x2000000>;
|
||||
alignment = <0 0x2000000>;
|
||||
};
|
||||
};
|
||||
|
||||
ifc: localbus@ffe124000 {
|
||||
|
@ -93,6 +101,10 @@
|
|||
ranges = <0x0 0xf 0xf4000000 0x2000000>;
|
||||
};
|
||||
|
||||
qportals: qman-portals@ff6000000 {
|
||||
ranges = <0x0 0xf 0xf6000000 0x2000000>;
|
||||
};
|
||||
|
||||
soc: soc@ffe000000 {
|
||||
ranges = <0x00000000 0xf 0xfe000000 0x1000000>;
|
||||
reg = <0xf 0xfe000000 0 0x00001000>;
|
||||
|
|
|
@ -48,6 +48,14 @@
|
|||
size = <0 0x1000000>;
|
||||
alignment = <0 0x1000000>;
|
||||
};
|
||||
qman_fqd: qman-fqd {
|
||||
size = <0 0x400000>;
|
||||
alignment = <0 0x400000>;
|
||||
};
|
||||
qman_pfdr: qman-pfdr {
|
||||
size = <0 0x2000000>;
|
||||
alignment = <0 0x2000000>;
|
||||
};
|
||||
};
|
||||
|
||||
ifc: localbus@ffe124000 {
|
||||
|
@ -94,6 +102,10 @@
|
|||
ranges = <0x0 0xf 0xf4000000 0x2000000>;
|
||||
};
|
||||
|
||||
qportals: qman-portals@ff6000000 {
|
||||
ranges = <0x0 0xf 0xf6000000 0x2000000>;
|
||||
};
|
||||
|
||||
soc: soc@ffe000000 {
|
||||
ranges = <0x00000000 0xf 0xfe000000 0x1000000>;
|
||||
reg = <0xf 0xfe000000 0 0x00001000>;
|
||||
|
|
|
@ -109,6 +109,14 @@
|
|||
size = <0 0x1000000>;
|
||||
alignment = <0 0x1000000>;
|
||||
};
|
||||
qman_fqd: qman-fqd {
|
||||
size = <0 0x400000>;
|
||||
alignment = <0 0x400000>;
|
||||
};
|
||||
qman_pfdr: qman-pfdr {
|
||||
size = <0 0x2000000>;
|
||||
alignment = <0 0x2000000>;
|
||||
};
|
||||
};
|
||||
|
||||
dcsr: dcsr@f00000000 {
|
||||
|
@ -119,6 +127,10 @@
|
|||
ranges = <0x0 0xf 0xf4000000 0x2000000>;
|
||||
};
|
||||
|
||||
qportals: qman-portals@ff6000000 {
|
||||
ranges = <0x0 0xf 0xf6000000 0x2000000>;
|
||||
};
|
||||
|
||||
soc: soc@ffe000000 {
|
||||
ranges = <0x00000000 0xf 0xfe000000 0x1000000>;
|
||||
reg = <0xf 0xfe000000 0 0x00001000>;
|
||||
|
|
|
@ -78,6 +78,14 @@
|
|||
size = <0 0x1000000>;
|
||||
alignment = <0 0x1000000>;
|
||||
};
|
||||
qman_fqd: qman-fqd {
|
||||
size = <0 0x400000>;
|
||||
alignment = <0 0x400000>;
|
||||
};
|
||||
qman_pfdr: qman-pfdr {
|
||||
size = <0 0x2000000>;
|
||||
alignment = <0 0x2000000>;
|
||||
};
|
||||
};
|
||||
|
||||
dcsr: dcsr@f00000000 {
|
||||
|
@ -88,6 +96,10 @@
|
|||
ranges = <0x0 0xf 0xf4000000 0x2000000>;
|
||||
};
|
||||
|
||||
qportals: qman-portals@ff6000000 {
|
||||
ranges = <0x0 0xf 0xf6000000 0x2000000>;
|
||||
};
|
||||
|
||||
soc: soc@ffe000000 {
|
||||
ranges = <0x00000000 0xf 0xfe000000 0x1000000>;
|
||||
reg = <0xf 0xfe000000 0 0x00001000>;
|
||||
|
|
|
@ -108,7 +108,7 @@ CONFIG_SENSORS_LM90=y
|
|||
CONFIG_WATCHDOG=y
|
||||
CONFIG_USB=y
|
||||
CONFIG_USB_MON=y
|
||||
CONFIG_USB_ISP1760_HCD=y
|
||||
CONFIG_USB_ISP1760=y
|
||||
CONFIG_USB_STORAGE=y
|
||||
CONFIG_NEW_LEDS=y
|
||||
CONFIG_LEDS_CLASS=y
|
||||
|
|
|
@ -368,7 +368,7 @@ enum {
|
|||
CPU_FTR_USE_TB | CPU_FTR_MAYBE_CAN_NAP | \
|
||||
CPU_FTR_COMMON | CPU_FTR_FPU_UNAVAILABLE)
|
||||
#define CPU_FTRS_CLASSIC32 (CPU_FTR_COMMON | CPU_FTR_USE_TB)
|
||||
#define CPU_FTRS_8XX (CPU_FTR_USE_TB)
|
||||
#define CPU_FTRS_8XX (CPU_FTR_USE_TB | CPU_FTR_NOEXECUTE)
|
||||
#define CPU_FTRS_40X (CPU_FTR_USE_TB | CPU_FTR_NODSISRALIGN | CPU_FTR_NOEXECUTE)
|
||||
#define CPU_FTRS_44X (CPU_FTR_USE_TB | CPU_FTR_NODSISRALIGN | CPU_FTR_NOEXECUTE)
|
||||
#define CPU_FTRS_440x6 (CPU_FTR_USE_TB | CPU_FTR_NODSISRALIGN | CPU_FTR_NOEXECUTE | \
|
||||
|
|
|
@ -27,6 +27,19 @@
|
|||
#define MI_Ks 0x80000000 /* Should not be set */
|
||||
#define MI_Kp 0x40000000 /* Should always be set */
|
||||
|
||||
/*
|
||||
* All pages' PP exec bits are set to 000, which means Execute for Supervisor
|
||||
* and no Execute for User.
|
||||
* Then we use the APG to say whether accesses are according to Page rules,
|
||||
* "all Supervisor" rules (Exec for all) and "all User" rules (Exec for noone)
|
||||
* Therefore, we define 4 APG groups. msb is _PAGE_EXEC, lsb is _PAGE_USER
|
||||
* 0 (00) => Not User, no exec => 11 (all accesses performed as user)
|
||||
* 1 (01) => User but no exec => 11 (all accesses performed as user)
|
||||
* 2 (10) => Not User, exec => 01 (rights according to page definition)
|
||||
* 3 (11) => User, exec => 00 (all accesses performed as supervisor)
|
||||
*/
|
||||
#define MI_APG_INIT 0xf4ffffff
|
||||
|
||||
/* The effective page number register. When read, contains the information
|
||||
* about the last instruction TLB miss. When MI_RPN is written, bits in
|
||||
* this register are used to create the TLB entry.
|
||||
|
@ -87,6 +100,19 @@
|
|||
#define MD_Ks 0x80000000 /* Should not be set */
|
||||
#define MD_Kp 0x40000000 /* Should always be set */
|
||||
|
||||
/*
|
||||
* All pages' PP data bits are set to either 000 or 011, which means
|
||||
* respectively RW for Supervisor and no access for User, or RO for
|
||||
* Supervisor and no access for user.
|
||||
* Then we use the APG to say whether accesses are according to Page rules or
|
||||
* "all Supervisor" rules (Access to all)
|
||||
* Therefore, we define 2 APG groups. lsb is _PAGE_USER
|
||||
* 0 => No user => 01 (all accesses performed according to page definition)
|
||||
* 1 => User => 00 (all accesses performed as supervisor
|
||||
* according to page definition)
|
||||
*/
|
||||
#define MD_APG_INIT 0x4fffffff
|
||||
|
||||
/* The effective page number register. When read, contains the information
|
||||
* about the last instruction TLB miss. When MD_RPN is written, bits in
|
||||
* this register are used to create the TLB entry.
|
||||
|
@ -145,7 +171,14 @@ typedef struct {
|
|||
} mm_context_t;
|
||||
#endif /* !__ASSEMBLY__ */
|
||||
|
||||
#if (PAGE_SHIFT == 12)
|
||||
#define mmu_virtual_psize MMU_PAGE_4K
|
||||
#elif (PAGE_SHIFT == 14)
|
||||
#define mmu_virtual_psize MMU_PAGE_16K
|
||||
#else
|
||||
#error "Unsupported PAGE_SIZE"
|
||||
#endif
|
||||
|
||||
#define mmu_linear_psize MMU_PAGE_8M
|
||||
|
||||
#endif /* _ASM_POWERPC_MMU_8XX_H_ */
|
||||
|
|
|
@ -170,24 +170,6 @@ static inline unsigned long pte_update(pte_t *p,
|
|||
#ifdef PTE_ATOMIC_UPDATES
|
||||
unsigned long old, tmp;
|
||||
|
||||
#ifdef CONFIG_PPC_8xx
|
||||
unsigned long tmp2;
|
||||
|
||||
__asm__ __volatile__("\
|
||||
1: lwarx %0,0,%4\n\
|
||||
andc %1,%0,%5\n\
|
||||
or %1,%1,%6\n\
|
||||
/* 0x200 == Extended encoding, bit 22 */ \
|
||||
/* Bit 22 has to be 1 when _PAGE_USER is unset and _PAGE_RO is set */ \
|
||||
rlwimi %1,%1,32-1,0x200\n /* get _PAGE_RO */ \
|
||||
rlwinm %3,%1,32-2,0x200\n /* get _PAGE_USER */ \
|
||||
andc %1,%1,%3\n\
|
||||
stwcx. %1,0,%4\n\
|
||||
bne- 1b"
|
||||
: "=&r" (old), "=&r" (tmp), "=m" (*p), "=&r" (tmp2)
|
||||
: "r" (p), "r" (clr), "r" (set), "m" (*p)
|
||||
: "cc" );
|
||||
#else /* CONFIG_PPC_8xx */
|
||||
__asm__ __volatile__("\
|
||||
1: lwarx %0,0,%3\n\
|
||||
andc %1,%0,%4\n\
|
||||
|
@ -198,7 +180,6 @@ static inline unsigned long pte_update(pte_t *p,
|
|||
: "=&r" (old), "=&r" (tmp), "=m" (*p)
|
||||
: "r" (p), "r" (clr), "r" (set), "m" (*p)
|
||||
: "cc" );
|
||||
#endif /* CONFIG_PPC_8xx */
|
||||
#else /* PTE_ATOMIC_UPDATES */
|
||||
unsigned long old = pte_val(*p);
|
||||
*p = __pte((old & ~clr) | set);
|
||||
|
|
|
@ -34,35 +34,32 @@
|
|||
#define _PAGE_SPECIAL 0x0008 /* SW entry, forced to 0 by the TLB miss */
|
||||
#define _PAGE_DIRTY 0x0100 /* C: page changed */
|
||||
|
||||
/* These 4 software bits must be masked out when the entry is loaded
|
||||
* into the TLB, 1 SW bit left(0x0080).
|
||||
/* These 4 software bits must be masked out when the L2 entry is loaded
|
||||
* into the TLB.
|
||||
*/
|
||||
#define _PAGE_GUARDED 0x0010 /* software: guarded access */
|
||||
#define _PAGE_ACCESSED 0x0020 /* software: page referenced */
|
||||
#define _PAGE_WRITETHRU 0x0040 /* software: caching is write through */
|
||||
#define _PAGE_GUARDED 0x0010 /* Copied to L1 G entry in DTLB */
|
||||
#define _PAGE_USER 0x0020 /* Copied to L1 APG lsb */
|
||||
#define _PAGE_EXEC 0x0040 /* Copied to L1 APG */
|
||||
#define _PAGE_WRITETHRU 0x0080 /* software: caching is write through */
|
||||
#define _PAGE_ACCESSED 0x0800 /* software: page referenced */
|
||||
|
||||
/* Setting any bits in the nibble with the follow two controls will
|
||||
* require a TLB exception handler change. It is assumed unused bits
|
||||
* are always zero.
|
||||
*/
|
||||
#define _PAGE_RO 0x0400 /* lsb PP bits */
|
||||
#define _PAGE_USER 0x0800 /* msb PP bits */
|
||||
/* set when _PAGE_USER is unset and _PAGE_RO is set */
|
||||
#define _PAGE_KNLRO 0x0200
|
||||
#define _PAGE_RO 0x0600 /* Supervisor RO, User no access */
|
||||
|
||||
#define _PMD_PRESENT 0x0001
|
||||
#define _PMD_BAD 0x0ff0
|
||||
#define _PMD_PAGE_MASK 0x000c
|
||||
#define _PMD_PAGE_8M 0x000c
|
||||
|
||||
#define _PTE_NONE_MASK _PAGE_KNLRO
|
||||
|
||||
/* Until my rework is finished, 8xx still needs atomic PTE updates */
|
||||
#define PTE_ATOMIC_UPDATES 1
|
||||
|
||||
/* We need to add _PAGE_SHARED to kernel pages */
|
||||
#define _PAGE_KERNEL_RO (_PAGE_SHARED | _PAGE_RO | _PAGE_KNLRO)
|
||||
#define _PAGE_KERNEL_ROX (_PAGE_EXEC | _PAGE_RO | _PAGE_KNLRO)
|
||||
#define _PAGE_KERNEL_RO (_PAGE_SHARED | _PAGE_RO)
|
||||
#define _PAGE_KERNEL_ROX (_PAGE_SHARED | _PAGE_RO | _PAGE_EXEC)
|
||||
#define _PAGE_KERNEL_RW (_PAGE_SHARED | _PAGE_DIRTY | _PAGE_RW | \
|
||||
_PAGE_HWWRITE)
|
||||
#define _PAGE_KERNEL_RWX (_PAGE_SHARED | _PAGE_DIRTY | _PAGE_RW | \
|
||||
_PAGE_HWWRITE | _PAGE_EXEC)
|
||||
|
||||
#endif /* __KERNEL__ */
|
||||
#endif /* _ASM_POWERPC_PTE_8xx_H */
|
||||
|
|
|
@ -48,6 +48,19 @@
|
|||
mtspr spr, reg
|
||||
#endif
|
||||
|
||||
/* Macro to test if an address is a kernel address */
|
||||
#if CONFIG_TASK_SIZE <= 0x80000000 && CONFIG_PAGE_OFFSET >= 0x80000000
|
||||
#define IS_KERNEL(tmp, addr) \
|
||||
andis. tmp, addr, 0x8000 /* Address >= 0x80000000 */
|
||||
#define BRANCH_UNLESS_KERNEL(label) beq label
|
||||
#else
|
||||
#define IS_KERNEL(tmp, addr) \
|
||||
rlwinm tmp, addr, 16, 16, 31; \
|
||||
cmpli cr0, tmp, PAGE_OFFSET >> 16
|
||||
#define BRANCH_UNLESS_KERNEL(label) blt label
|
||||
#endif
|
||||
|
||||
|
||||
/*
|
||||
* Value for the bits that have fixed value in RPN entries.
|
||||
* Also used for tagging DAR for DTLBerror.
|
||||
|
@ -116,13 +129,13 @@ turn_on_mmu:
|
|||
*/
|
||||
#define EXCEPTION_PROLOG \
|
||||
EXCEPTION_PROLOG_0; \
|
||||
mfcr r10; \
|
||||
EXCEPTION_PROLOG_1; \
|
||||
EXCEPTION_PROLOG_2
|
||||
|
||||
#define EXCEPTION_PROLOG_0 \
|
||||
mtspr SPRN_SPRG_SCRATCH0,r10; \
|
||||
mtspr SPRN_SPRG_SCRATCH1,r11; \
|
||||
mfcr r10
|
||||
mtspr SPRN_SPRG_SCRATCH1,r11
|
||||
|
||||
#define EXCEPTION_PROLOG_1 \
|
||||
mfspr r11,SPRN_SRR1; /* check whether user or kernel */ \
|
||||
|
@ -162,7 +175,6 @@ turn_on_mmu:
|
|||
* Exception exit code.
|
||||
*/
|
||||
#define EXCEPTION_EPILOG_0 \
|
||||
mtcr r10; \
|
||||
mfspr r10,SPRN_SPRG_SCRATCH0; \
|
||||
mfspr r11,SPRN_SPRG_SCRATCH1
|
||||
|
||||
|
@ -297,19 +309,22 @@ SystemCall:
|
|||
* We have to use the MD_xxx registers for the tablewalk because the
|
||||
* equivalent MI_xxx registers only perform the attribute functions.
|
||||
*/
|
||||
|
||||
#ifdef CONFIG_8xx_CPU15
|
||||
#define INVALIDATE_ADJACENT_PAGES_CPU15(tmp, addr) \
|
||||
addi tmp, addr, PAGE_SIZE; \
|
||||
tlbie tmp; \
|
||||
addi tmp, addr, -PAGE_SIZE; \
|
||||
tlbie tmp
|
||||
#else
|
||||
#define INVALIDATE_ADJACENT_PAGES_CPU15(tmp, addr)
|
||||
#endif
|
||||
|
||||
InstructionTLBMiss:
|
||||
#ifdef CONFIG_8xx_CPU6
|
||||
mtspr SPRN_DAR, r3
|
||||
mtspr SPRN_SPRG_SCRATCH2, r3
|
||||
#endif
|
||||
EXCEPTION_PROLOG_0
|
||||
mtspr SPRN_SPRG_SCRATCH2, r10
|
||||
mfspr r10, SPRN_SRR0 /* Get effective address of fault */
|
||||
#ifdef CONFIG_8xx_CPU15
|
||||
addi r11, r10, PAGE_SIZE
|
||||
tlbie r11
|
||||
addi r11, r10, -PAGE_SIZE
|
||||
tlbie r11
|
||||
#endif
|
||||
|
||||
/* If we are faulting a kernel address, we have to use the
|
||||
* kernel page tables.
|
||||
|
@ -317,24 +332,34 @@ InstructionTLBMiss:
|
|||
#ifdef CONFIG_MODULES
|
||||
/* Only modules will cause ITLB Misses as we always
|
||||
* pin the first 8MB of kernel memory */
|
||||
andis. r11, r10, 0x8000 /* Address >= 0x80000000 */
|
||||
#endif
|
||||
mfspr r11, SPRN_SRR0 /* Get effective address of fault */
|
||||
INVALIDATE_ADJACENT_PAGES_CPU15(r10, r11)
|
||||
mfcr r10
|
||||
IS_KERNEL(r11, r11)
|
||||
mfspr r11, SPRN_M_TW /* Get level 1 table */
|
||||
#ifdef CONFIG_MODULES
|
||||
beq 3f
|
||||
BRANCH_UNLESS_KERNEL(3f)
|
||||
lis r11, (swapper_pg_dir-PAGE_OFFSET)@ha
|
||||
3:
|
||||
mtcr r10
|
||||
mfspr r10, SPRN_SRR0 /* Get effective address of fault */
|
||||
#else
|
||||
mfspr r10, SPRN_SRR0 /* Get effective address of fault */
|
||||
INVALIDATE_ADJACENT_PAGES_CPU15(r11, r10)
|
||||
mfspr r11, SPRN_M_TW /* Get level 1 table base address */
|
||||
#endif
|
||||
/* Insert level 1 index */
|
||||
rlwimi r11, r10, 32 - ((PAGE_SHIFT - 2) << 1), (PAGE_SHIFT - 2) << 1, 29
|
||||
lwz r11, (swapper_pg_dir-PAGE_OFFSET)@l(r11) /* Get the level 1 entry */
|
||||
|
||||
/* Load the MI_TWC with the attributes for this "segment." */
|
||||
MTSPR_CPU6(SPRN_MI_TWC, r11, r3) /* Set segment attributes */
|
||||
rlwinm r11, r11,0,0,19 /* Extract page descriptor page address */
|
||||
/* Extract level 2 index */
|
||||
rlwinm r10, r10, 32 - (PAGE_SHIFT - 2), 32 - PAGE_SHIFT, 29
|
||||
lwzx r10, r10, r11 /* Get the pte */
|
||||
rlwimi r10, r11, 0, 0, 32 - PAGE_SHIFT - 1 /* Add level 2 base */
|
||||
lwz r10, 0(r10) /* Get the pte */
|
||||
|
||||
/* Insert the APG into the TWC from the Linux PTE. */
|
||||
rlwimi r11, r10, 0, 25, 26
|
||||
/* Load the MI_TWC with the attributes for this "segment." */
|
||||
MTSPR_CPU6(SPRN_MI_TWC, r11, r3) /* Set segment attributes */
|
||||
|
||||
#ifdef CONFIG_SWAP
|
||||
rlwinm r11, r10, 32-5, _PAGE_PRESENT
|
||||
|
@ -343,40 +368,41 @@ InstructionTLBMiss:
|
|||
#endif
|
||||
li r11, RPN_PATTERN
|
||||
/* The Linux PTE won't go exactly into the MMU TLB.
|
||||
* Software indicator bits 21 and 28 must be clear.
|
||||
* Software indicator bits 20-23 and 28 must be clear.
|
||||
* Software indicator bits 24, 25, 26, and 27 must be
|
||||
* set. All other Linux PTE bits control the behavior
|
||||
* of the MMU.
|
||||
*/
|
||||
rlwimi r10, r11, 0, 0x07f8 /* Set 24-27, clear 21-23,28 */
|
||||
rlwimi r10, r11, 0, 0x0ff8 /* Set 24-27, clear 20-23,28 */
|
||||
MTSPR_CPU6(SPRN_MI_RPN, r10, r3) /* Update TLB entry */
|
||||
|
||||
/* Restore registers */
|
||||
#ifdef CONFIG_8xx_CPU6
|
||||
mfspr r3, SPRN_DAR
|
||||
mtspr SPRN_DAR, r11 /* Tag DAR */
|
||||
mfspr r3, SPRN_SPRG_SCRATCH2
|
||||
#endif
|
||||
mfspr r10, SPRN_SPRG_SCRATCH2
|
||||
EXCEPTION_EPILOG_0
|
||||
rfi
|
||||
|
||||
. = 0x1200
|
||||
DataStoreTLBMiss:
|
||||
#ifdef CONFIG_8xx_CPU6
|
||||
mtspr SPRN_DAR, r3
|
||||
mtspr SPRN_SPRG_SCRATCH2, r3
|
||||
#endif
|
||||
EXCEPTION_PROLOG_0
|
||||
mtspr SPRN_SPRG_SCRATCH2, r10
|
||||
mfspr r10, SPRN_MD_EPN
|
||||
mfcr r10
|
||||
|
||||
/* If we are faulting a kernel address, we have to use the
|
||||
* kernel page tables.
|
||||
*/
|
||||
andis. r11, r10, 0x8000
|
||||
mfspr r11, SPRN_MD_EPN
|
||||
IS_KERNEL(r11, r11)
|
||||
mfspr r11, SPRN_M_TW /* Get level 1 table */
|
||||
beq 3f
|
||||
BRANCH_UNLESS_KERNEL(3f)
|
||||
lis r11, (swapper_pg_dir-PAGE_OFFSET)@ha
|
||||
3:
|
||||
mtcr r10
|
||||
mfspr r10, SPRN_MD_EPN
|
||||
|
||||
/* Insert level 1 index */
|
||||
rlwimi r11, r10, 32 - ((PAGE_SHIFT - 2) << 1), (PAGE_SHIFT - 2) << 1, 29
|
||||
lwz r11, (swapper_pg_dir-PAGE_OFFSET)@l(r11) /* Get the level 1 entry */
|
||||
|
@ -388,13 +414,13 @@ DataStoreTLBMiss:
|
|||
rlwimi r10, r11, 0, 0, 32 - PAGE_SHIFT - 1 /* Add level 2 base */
|
||||
lwz r10, 0(r10) /* Get the pte */
|
||||
|
||||
/* Insert the Guarded flag into the TWC from the Linux PTE.
|
||||
* It is bit 27 of both the Linux PTE and the TWC (at least
|
||||
/* Insert the Guarded flag and APG into the TWC from the Linux PTE.
|
||||
* It is bit 26-27 of both the Linux PTE and the TWC (at least
|
||||
* I got that right :-). It will be better when we can put
|
||||
* this into the Linux pgd/pmd and load it in the operation
|
||||
* above.
|
||||
*/
|
||||
rlwimi r11, r10, 0, 27, 27
|
||||
rlwimi r11, r10, 0, 26, 27
|
||||
/* Insert the WriteThru flag into the TWC from the Linux PTE.
|
||||
* It is bit 25 in the Linux PTE and bit 30 in the TWC
|
||||
*/
|
||||
|
@ -423,14 +449,14 @@ DataStoreTLBMiss:
|
|||
*/
|
||||
li r11, RPN_PATTERN
|
||||
rlwimi r10, r11, 0, 24, 28 /* Set 24-27, clear 28 */
|
||||
rlwimi r10, r11, 0, 20, 20 /* clear 20 */
|
||||
MTSPR_CPU6(SPRN_MD_RPN, r10, r3) /* Update TLB entry */
|
||||
|
||||
/* Restore registers */
|
||||
#ifdef CONFIG_8xx_CPU6
|
||||
mfspr r3, SPRN_DAR
|
||||
mfspr r3, SPRN_SPRG_SCRATCH2
|
||||
#endif
|
||||
mtspr SPRN_DAR, r11 /* Tag DAR */
|
||||
mfspr r10, SPRN_SPRG_SCRATCH2
|
||||
EXCEPTION_EPILOG_0
|
||||
rfi
|
||||
|
||||
|
@ -456,6 +482,7 @@ InstructionTLBError:
|
|||
. = 0x1400
|
||||
DataTLBError:
|
||||
EXCEPTION_PROLOG_0
|
||||
mfcr r10
|
||||
|
||||
mfspr r11, SPRN_DAR
|
||||
cmpwi cr0, r11, RPN_PATTERN
|
||||
|
@ -503,9 +530,9 @@ FixupDAR:/* Entry point for dcbx workaround. */
|
|||
mtspr SPRN_SPRG_SCRATCH2, r10
|
||||
/* fetch instruction from memory. */
|
||||
mfspr r10, SPRN_SRR0
|
||||
andis. r11, r10, 0x8000 /* Address >= 0x80000000 */
|
||||
IS_KERNEL(r11, r10)
|
||||
mfspr r11, SPRN_M_TW /* Get level 1 table */
|
||||
beq 3f
|
||||
BRANCH_UNLESS_KERNEL(3f)
|
||||
lis r11, (swapper_pg_dir-PAGE_OFFSET)@ha
|
||||
/* Insert level 1 index */
|
||||
3: rlwimi r11, r10, 32 - ((PAGE_SHIFT - 2) << 1), (PAGE_SHIFT - 2) << 1, 29
|
||||
|
@ -743,15 +770,20 @@ initial_mmu:
|
|||
ori r8, r8, MI_EVALID /* Mark it valid */
|
||||
mtspr SPRN_MI_EPN, r8
|
||||
mtspr SPRN_MD_EPN, r8
|
||||
li r8, MI_PS8MEG /* Set 8M byte page */
|
||||
li r8, MI_PS8MEG | (2 << 5) /* Set 8M byte page, APG 2 */
|
||||
ori r8, r8, MI_SVALID /* Make it valid */
|
||||
mtspr SPRN_MI_TWC, r8
|
||||
li r8, MI_PS8MEG /* Set 8M byte page, APG 0 */
|
||||
ori r8, r8, MI_SVALID /* Make it valid */
|
||||
mtspr SPRN_MD_TWC, r8
|
||||
li r8, MI_BOOTINIT /* Create RPN for address 0 */
|
||||
mtspr SPRN_MI_RPN, r8 /* Store TLB entry */
|
||||
mtspr SPRN_MD_RPN, r8
|
||||
lis r8, MI_Kp@h /* Set the protection mode */
|
||||
lis r8, MI_APG_INIT@h /* Set protection modes */
|
||||
ori r8, r8, MI_APG_INIT@l
|
||||
mtspr SPRN_MI_AP, r8
|
||||
lis r8, MD_APG_INIT@h
|
||||
ori r8, r8, MD_APG_INIT@l
|
||||
mtspr SPRN_MD_AP, r8
|
||||
|
||||
/* Map another 8 MByte at the IMMR to get the processor
|
||||
|
|
|
@ -58,15 +58,6 @@ BEGIN_FTR_SECTION
|
|||
mtlr r0
|
||||
lis r3,HID0_NAP@h
|
||||
END_FTR_SECTION_IFSET(CPU_FTR_CAN_NAP)
|
||||
BEGIN_FTR_SECTION
|
||||
msync
|
||||
li r7,L2CSR0_L2FL@l
|
||||
mtspr SPRN_L2CSR0,r7
|
||||
2:
|
||||
mfspr r7,SPRN_L2CSR0
|
||||
andi. r4,r7,L2CSR0_L2FL@l
|
||||
bne 2b
|
||||
END_FTR_SECTION_IFSET(CPU_FTR_L2CSR|CPU_FTR_CAN_NAP)
|
||||
1:
|
||||
/* Go to NAP or DOZE now */
|
||||
mfspr r4,SPRN_HID0
|
||||
|
|
|
@ -560,7 +560,7 @@ subsys_initcall(add_system_ram_resources);
|
|||
*/
|
||||
int devmem_is_allowed(unsigned long pfn)
|
||||
{
|
||||
if (iomem_is_exclusive(pfn << PAGE_SHIFT))
|
||||
if (iomem_is_exclusive(PFN_PHYS(pfn)))
|
||||
return 0;
|
||||
if (!page_is_ram(pfn))
|
||||
return 1;
|
||||
|
|
|
@ -398,18 +398,18 @@ ALT_FTR_SECTION_END_IFSET(CPU_FTR_SMT)
|
|||
rldicl r15,r16,64-PUD_SHIFT+3,64-PUD_INDEX_SIZE-3
|
||||
clrrdi r15,r15,3
|
||||
cmpdi cr0,r14,0
|
||||
bge tlb_miss_fault_e6500 /* Bad pgd entry or hugepage; bail */
|
||||
bge tlb_miss_huge_e6500 /* Bad pgd entry or hugepage; bail */
|
||||
ldx r14,r14,r15 /* grab pud entry */
|
||||
|
||||
rldicl r15,r16,64-PMD_SHIFT+3,64-PMD_INDEX_SIZE-3
|
||||
clrrdi r15,r15,3
|
||||
cmpdi cr0,r14,0
|
||||
bge tlb_miss_fault_e6500
|
||||
bge tlb_miss_huge_e6500
|
||||
ldx r14,r14,r15 /* Grab pmd entry */
|
||||
|
||||
mfspr r10,SPRN_MAS0
|
||||
cmpdi cr0,r14,0
|
||||
bge tlb_miss_fault_e6500
|
||||
bge tlb_miss_huge_e6500
|
||||
|
||||
/* Now we build the MAS for a 2M indirect page:
|
||||
*
|
||||
|
@ -428,6 +428,7 @@ ALT_FTR_SECTION_END_IFSET(CPU_FTR_SMT)
|
|||
clrrdi r15,r16,21 /* make EA 2M-aligned */
|
||||
mtspr SPRN_MAS2,r15
|
||||
|
||||
tlb_miss_huge_done_e6500:
|
||||
lbz r15,TCD_ESEL_NEXT(r11)
|
||||
lbz r16,TCD_ESEL_MAX(r11)
|
||||
lbz r14,TCD_ESEL_FIRST(r11)
|
||||
|
@ -456,6 +457,50 @@ END_FTR_SECTION_IFSET(CPU_FTR_SMT)
|
|||
tlb_epilog_bolted
|
||||
rfi
|
||||
|
||||
tlb_miss_huge_e6500:
|
||||
beq tlb_miss_fault_e6500
|
||||
li r10,1
|
||||
andi. r15,r14,HUGEPD_SHIFT_MASK@l /* r15 = psize */
|
||||
rldimi r14,r10,63,0 /* Set PD_HUGE */
|
||||
xor r14,r14,r15 /* Clear size bits */
|
||||
ldx r14,0,r14
|
||||
|
||||
/*
|
||||
* Now we build the MAS for a huge page.
|
||||
*
|
||||
* MAS 0 : ESEL needs to be filled by software round-robin
|
||||
* - can be handled by indirect code
|
||||
* MAS 1 : Need to clear IND and set TSIZE
|
||||
* MAS 2,3+7: Needs to be redone similar to non-tablewalk handler
|
||||
*/
|
||||
|
||||
subi r15,r15,10 /* Convert psize to tsize */
|
||||
mfspr r10,SPRN_MAS1
|
||||
rlwinm r10,r10,0,~MAS1_IND
|
||||
rlwimi r10,r15,MAS1_TSIZE_SHIFT,MAS1_TSIZE_MASK
|
||||
mtspr SPRN_MAS1,r10
|
||||
|
||||
li r10,-0x400
|
||||
sld r15,r10,r15 /* Generate mask based on size */
|
||||
and r10,r16,r15
|
||||
rldicr r15,r14,64-(PTE_RPN_SHIFT-PAGE_SHIFT),63-PAGE_SHIFT
|
||||
rlwimi r10,r14,32-19,27,31 /* Insert WIMGE */
|
||||
clrldi r15,r15,PAGE_SHIFT /* Clear crap at the top */
|
||||
rlwimi r15,r14,32-8,22,25 /* Move in U bits */
|
||||
mtspr SPRN_MAS2,r10
|
||||
andi. r10,r14,_PAGE_DIRTY
|
||||
rlwimi r15,r14,32-2,26,31 /* Move in BAP bits */
|
||||
|
||||
/* Mask out SW and UW if !DIRTY (XXX optimize this !) */
|
||||
bne 1f
|
||||
li r10,MAS3_SW|MAS3_UW
|
||||
andc r15,r15,r10
|
||||
1:
|
||||
mtspr SPRN_MAS7_MAS3,r15
|
||||
|
||||
mfspr r10,SPRN_MAS0
|
||||
b tlb_miss_huge_done_e6500
|
||||
|
||||
tlb_miss_kernel_e6500:
|
||||
ld r14,PACA_KERNELPGD(r13)
|
||||
cmpldi cr1,r15,8 /* Check for vmalloc region */
|
||||
|
|
|
@ -282,7 +282,7 @@ config CORENET_GENERIC
|
|||
For 64bit kernel, the following boards are supported:
|
||||
T208x QDS/RDB, T4240 QDS/RDB and B4 QDS
|
||||
The following boards are supported for both 32bit and 64bit kernel:
|
||||
P5020 DS, P5040 DS and T104xQDS/RDB
|
||||
P5020 DS, P5040 DS, T102x QDS/RDB, T104x QDS/RDB
|
||||
|
||||
endif # FSL_SOC_BOOKE
|
||||
|
||||
|
|
|
@ -150,6 +150,9 @@ static const char * const boards[] __initconst = {
|
|||
"fsl,B4860QDS",
|
||||
"fsl,B4420QDS",
|
||||
"fsl,B4220QDS",
|
||||
"fsl,T1023RDB",
|
||||
"fsl,T1024QDS",
|
||||
"fsl,T1024RDB",
|
||||
"fsl,T1040QDS",
|
||||
"fsl,T1042QDS",
|
||||
"fsl,T1040RDB",
|
||||
|
|
|
@ -345,6 +345,7 @@ void mpc85xx_smp_kexec_cpu_down(int crash_shutdown, int secondary)
|
|||
local_irq_disable();
|
||||
|
||||
if (secondary) {
|
||||
__flush_disable_L1();
|
||||
atomic_inc(&kexec_down_cpus);
|
||||
/* loop forever */
|
||||
while (1);
|
||||
|
@ -357,61 +358,11 @@ static void mpc85xx_smp_kexec_down(void *arg)
|
|||
ppc_md.kexec_cpu_down(0,1);
|
||||
}
|
||||
|
||||
static void map_and_flush(unsigned long paddr)
|
||||
{
|
||||
struct page *page = pfn_to_page(paddr >> PAGE_SHIFT);
|
||||
unsigned long kaddr = (unsigned long)kmap_atomic(page);
|
||||
|
||||
flush_dcache_range(kaddr, kaddr + PAGE_SIZE);
|
||||
kunmap_atomic((void *)kaddr);
|
||||
}
|
||||
|
||||
/**
|
||||
* Before we reset the other cores, we need to flush relevant cache
|
||||
* out to memory so we don't get anything corrupted, some of these flushes
|
||||
* are performed out of an overabundance of caution as interrupts are not
|
||||
* disabled yet and we can switch cores
|
||||
*/
|
||||
static void mpc85xx_smp_flush_dcache_kexec(struct kimage *image)
|
||||
{
|
||||
kimage_entry_t *ptr, entry;
|
||||
unsigned long paddr;
|
||||
int i;
|
||||
|
||||
if (image->type == KEXEC_TYPE_DEFAULT) {
|
||||
/* normal kexec images are stored in temporary pages */
|
||||
for (ptr = &image->head; (entry = *ptr) && !(entry & IND_DONE);
|
||||
ptr = (entry & IND_INDIRECTION) ?
|
||||
phys_to_virt(entry & PAGE_MASK) : ptr + 1) {
|
||||
if (!(entry & IND_DESTINATION)) {
|
||||
map_and_flush(entry);
|
||||
}
|
||||
}
|
||||
/* flush out last IND_DONE page */
|
||||
map_and_flush(entry);
|
||||
} else {
|
||||
/* crash type kexec images are copied to the crash region */
|
||||
for (i = 0; i < image->nr_segments; i++) {
|
||||
struct kexec_segment *seg = &image->segment[i];
|
||||
for (paddr = seg->mem; paddr < seg->mem + seg->memsz;
|
||||
paddr += PAGE_SIZE) {
|
||||
map_and_flush(paddr);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* also flush the kimage struct to be passed in as well */
|
||||
flush_dcache_range((unsigned long)image,
|
||||
(unsigned long)image + sizeof(*image));
|
||||
}
|
||||
|
||||
static void mpc85xx_smp_machine_kexec(struct kimage *image)
|
||||
{
|
||||
int timeout = INT_MAX;
|
||||
int i, num_cpus = num_present_cpus();
|
||||
|
||||
mpc85xx_smp_flush_dcache_kexec(image);
|
||||
|
||||
if (image->type == KEXEC_TYPE_DEFAULT)
|
||||
smp_call_function(mpc85xx_smp_kexec_down, NULL, 0);
|
||||
|
||||
|
|
|
@ -79,7 +79,7 @@ static void __init twr_p1025_setup_arch(void)
|
|||
mpc85xx_qe_init();
|
||||
mpc85xx_qe_par_io_init();
|
||||
|
||||
#if defined(CONFIG_UCC_GETH) || defined(CONFIG_SERIAL_QE)
|
||||
#if IS_ENABLED(CONFIG_UCC_GETH) || IS_ENABLED(CONFIG_SERIAL_QE)
|
||||
if (machine_is(twr_p1025)) {
|
||||
struct ccsr_guts __iomem *guts;
|
||||
|
||||
|
@ -101,7 +101,7 @@ static void __init twr_p1025_setup_arch(void)
|
|||
MPC85xx_PMUXCR_QE(12));
|
||||
iounmap(guts);
|
||||
|
||||
#if defined(CONFIG_SERIAL_QE)
|
||||
#if IS_ENABLED(CONFIG_SERIAL_QE)
|
||||
/* On P1025TWR board, the UCC7 acted as UART port.
|
||||
* However, The UCC7's CTS pin is low level in default,
|
||||
* it will impact the transmission in full duplex
|
||||
|
|
Loading…
Reference in New Issue