diff options
author | Timur Tabi <timur@freescale.com> | 2011-09-15 14:04:13 -0400 |
---|---|---|
committer | Kumar Gala <galak@kernel.crashing.org> | 2011-10-12 00:47:24 -0400 |
commit | 499ccb27a89ecd08475f73710fe27fb600431a91 (patch) | |
tree | 149197238505f04e7291ef190295af7b70a0c1a0 /arch/powerpc | |
parent | 878e3cb5f7763f388a1fa7d2a33b66601f75b43e (diff) |
powerpc/85xx: clean up FPGA device tree nodes for Freecsale QorIQ boards
Standarize and document the FPGA nodes used on Freescale QorIQ reference
boards. There are different kinds of FPGAs used on the boards, but
only two are currently standard: "pixis", "ngpixis", and "qixis". Although
there are minor differences among the boards that have one kind of FPGA, most
of the functionality is the same, so it makes sense to create common
compatibility strings.
We also need to update the P1022DS platform file, because the compatible
string for its PIXIS node has changed. This means that older kernels are
not compatible with newer device trees. This is not a real problem, however,
since that particular function doesn't work anyway. When the DIU is active,
the PIXIS is in "indirect mode", and so cannot be accessed as a memory-mapped
device.
Signed-off-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Diffstat (limited to 'arch/powerpc')
-rw-r--r-- | arch/powerpc/boot/dts/p1022ds.dts | 2 | ||||
-rw-r--r-- | arch/powerpc/boot/dts/p2020ds.dts | 5 | ||||
-rw-r--r-- | arch/powerpc/boot/dts/p3041ds.dts | 4 | ||||
-rw-r--r-- | arch/powerpc/boot/dts/p4080ds.dts | 8 | ||||
-rw-r--r-- | arch/powerpc/boot/dts/p5020ds.dts | 4 | ||||
-rw-r--r-- | arch/powerpc/platforms/85xx/p1022_ds.c | 11 |
6 files changed, 24 insertions, 10 deletions
diff --git a/arch/powerpc/boot/dts/p1022ds.dts b/arch/powerpc/boot/dts/p1022ds.dts index 1be9743ab5e0..b9b8719a6204 100644 --- a/arch/powerpc/boot/dts/p1022ds.dts +++ b/arch/powerpc/boot/dts/p1022ds.dts | |||
@@ -150,7 +150,7 @@ | |||
150 | }; | 150 | }; |
151 | 151 | ||
152 | board-control@3,0 { | 152 | board-control@3,0 { |
153 | compatible = "fsl,p1022ds-pixis"; | 153 | compatible = "fsl,p1022ds-fpga", "fsl,fpga-ngpixis"; |
154 | reg = <3 0 0x30>; | 154 | reg = <3 0 0x30>; |
155 | interrupt-parent = <&mpic>; | 155 | interrupt-parent = <&mpic>; |
156 | /* | 156 | /* |
diff --git a/arch/powerpc/boot/dts/p2020ds.dts b/arch/powerpc/boot/dts/p2020ds.dts index dae403100f2f..66f03d6477b2 100644 --- a/arch/powerpc/boot/dts/p2020ds.dts +++ b/arch/powerpc/boot/dts/p2020ds.dts | |||
@@ -118,6 +118,11 @@ | |||
118 | }; | 118 | }; |
119 | }; | 119 | }; |
120 | 120 | ||
121 | board-control@3,0 { | ||
122 | compatible = "fsl,p2020ds-fpga", "fsl,fpga-ngpixis"; | ||
123 | reg = <0x3 0x0 0x30>; | ||
124 | }; | ||
125 | |||
121 | nand@4,0 { | 126 | nand@4,0 { |
122 | compatible = "fsl,elbc-fcm-nand"; | 127 | compatible = "fsl,elbc-fcm-nand"; |
123 | reg = <0x4 0x0 0x40000>; | 128 | reg = <0x4 0x0 0x40000>; |
diff --git a/arch/powerpc/boot/dts/p3041ds.dts b/arch/powerpc/boot/dts/p3041ds.dts index 69cae674f396..961a74cd1e95 100644 --- a/arch/powerpc/boot/dts/p3041ds.dts +++ b/arch/powerpc/boot/dts/p3041ds.dts | |||
@@ -147,8 +147,8 @@ | |||
147 | }; | 147 | }; |
148 | 148 | ||
149 | board-control@3,0 { | 149 | board-control@3,0 { |
150 | compatible = "fsl,p3041ds-pixis"; | 150 | compatible = "fsl,p3041ds-fpga", "fsl,fpga-ngpixis"; |
151 | reg = <3 0 0x20>; | 151 | reg = <3 0 0x30>; |
152 | }; | 152 | }; |
153 | }; | 153 | }; |
154 | 154 | ||
diff --git a/arch/powerpc/boot/dts/p4080ds.dts b/arch/powerpc/boot/dts/p4080ds.dts index eb11098bb687..ccd53aff0e9a 100644 --- a/arch/powerpc/boot/dts/p4080ds.dts +++ b/arch/powerpc/boot/dts/p4080ds.dts | |||
@@ -108,7 +108,8 @@ | |||
108 | 108 | ||
109 | localbus@ffe124000 { | 109 | localbus@ffe124000 { |
110 | reg = <0xf 0xfe124000 0 0x1000>; | 110 | reg = <0xf 0xfe124000 0 0x1000>; |
111 | ranges = <0 0 0xf 0xe8000000 0x08000000>; | 111 | ranges = <0 0 0xf 0xe8000000 0x08000000 |
112 | 3 0 0xf 0xffdf0000 0x00008000>; | ||
112 | 113 | ||
113 | flash@0,0 { | 114 | flash@0,0 { |
114 | compatible = "cfi-flash"; | 115 | compatible = "cfi-flash"; |
@@ -116,6 +117,11 @@ | |||
116 | bank-width = <2>; | 117 | bank-width = <2>; |
117 | device-width = <2>; | 118 | device-width = <2>; |
118 | }; | 119 | }; |
120 | |||
121 | board-control@3,0 { | ||
122 | compatible = "fsl,p4080ds-fpga", "fsl,fpga-ngpixis"; | ||
123 | reg = <3 0 0x30>; | ||
124 | }; | ||
119 | }; | 125 | }; |
120 | 126 | ||
121 | pci0: pcie@ffe200000 { | 127 | pci0: pcie@ffe200000 { |
diff --git a/arch/powerpc/boot/dts/p5020ds.dts b/arch/powerpc/boot/dts/p5020ds.dts index 8366e2fd2fba..ca4d592c91d1 100644 --- a/arch/powerpc/boot/dts/p5020ds.dts +++ b/arch/powerpc/boot/dts/p5020ds.dts | |||
@@ -147,8 +147,8 @@ | |||
147 | }; | 147 | }; |
148 | 148 | ||
149 | board-control@3,0 { | 149 | board-control@3,0 { |
150 | compatible = "fsl,p5020ds-pixis"; | 150 | compatible = "fsl,p5020ds-fpga", "fsl,fpga-ngpixis"; |
151 | reg = <3 0 0x20>; | 151 | reg = <3 0 0x30>; |
152 | }; | 152 | }; |
153 | }; | 153 | }; |
154 | 154 | ||
diff --git a/arch/powerpc/platforms/85xx/p1022_ds.c b/arch/powerpc/platforms/85xx/p1022_ds.c index 266b3aadfe5e..6a0b9731b259 100644 --- a/arch/powerpc/platforms/85xx/p1022_ds.c +++ b/arch/powerpc/platforms/85xx/p1022_ds.c | |||
@@ -128,17 +128,20 @@ static void p1022ds_set_gamma_table(int monitor_port, char *gamma_table_base) | |||
128 | */ | 128 | */ |
129 | static void p1022ds_set_monitor_port(int monitor_port) | 129 | static void p1022ds_set_monitor_port(int monitor_port) |
130 | { | 130 | { |
131 | struct device_node *pixis_node; | 131 | struct device_node *np; |
132 | void __iomem *pixis; | 132 | void __iomem *pixis; |
133 | u8 __iomem *brdcfg1; | 133 | u8 __iomem *brdcfg1; |
134 | 134 | ||
135 | pixis_node = of_find_compatible_node(NULL, NULL, "fsl,p1022ds-pixis"); | 135 | np = of_find_compatible_node(NULL, NULL, "fsl,p1022ds-fpga"); |
136 | if (!pixis_node) { | 136 | if (!np) |
137 | /* older device trees used "fsl,p1022ds-pixis" */ | ||
138 | np = of_find_compatible_node(NULL, NULL, "fsl,p1022ds-pixis"); | ||
139 | if (!np) { | ||
137 | pr_err("p1022ds: missing ngPIXIS node\n"); | 140 | pr_err("p1022ds: missing ngPIXIS node\n"); |
138 | return; | 141 | return; |
139 | } | 142 | } |
140 | 143 | ||
141 | pixis = of_iomap(pixis_node, 0); | 144 | pixis = of_iomap(np, 0); |
142 | if (!pixis) { | 145 | if (!pixis) { |
143 | pr_err("p1022ds: could not map ngPIXIS registers\n"); | 146 | pr_err("p1022ds: could not map ngPIXIS registers\n"); |
144 | return; | 147 | return; |