diff options
author | Prabhakar Kushwaha <prabhakar@freescale.com> | 2014-04-21 07:34:45 -0400 |
---|---|---|
committer | Scott Wood <scottwood@freescale.com> | 2014-05-22 19:08:29 -0400 |
commit | 0c0fc4d3a955c0159a64b5eb66da70927d35513a (patch) | |
tree | 1af461eeb39e47b1fef3e3fb9df5aa002c53bd3f | |
parent | fb734eeebf5aed8a0f06fa19df92817666039b41 (diff) |
powerpc/fsl-booke: Add initial T104x_QDS board support
Add support for T104x board in board file t104x_qds.c, It is common for
both T1040 and T1042 as they share same QDS board.
T1040QDS board Overview
-----------------------
- SERDES Connections, 8 lanes supporting:
— PCI Express: supporting Gen 1 and Gen 2;
— SGMII
— QSGMII
— SATA 2.0
— Aurora debug with dedicated connectors (T1040 only)
- DDR Controller
- Supports rates of up to 1600 MHz data-rate
- Supports one DDR3LP UDIMM/RDIMMs, of single-, dual- or quad-rank types.
-IFC/Local Bus
- NAND flash: 8-bit, async, up to 2GB.
- NOR: 8-bit or 16-bit, non-multiplexed, up to 512MB
- GASIC: Simple (minimal) target within Qixis FPGA
- PromJET rapid memory download support
- Ethernet
- Two on-board RGMII 10/100/1G ethernet ports.
- PHY #0 remains powered up during deep-sleep (T1040 only)
- QIXIS System Logic FPGA
- Clocks
- System and DDR clock (SYSCLK, “DDRCLK”)
- SERDES clocks
- Power Supplies
- Video
- DIU supports video at up to 1280x1024x32bpp
- USB
- Supports two USB 2.0 ports with integrated PHYs
— Two type A ports with 5V@1.5A per port.
— Second port can be converted to OTG mini-AB
- SDHC
- SDHC port connects directly to an adapter card slot, featuring:
- Supporting SD slots for: SD, SDHC (1x, 4x, 8x) and/or MMC
— Supporting eMMC memory devices
- SPI
- On-board support of 3 different devices and sizes
- Other IO
- Two Serial ports
- ProfiBus port
- Four I2C ports
Add T104xQDS support in Kconfig and Makefile. Also create device tree.
Following features are currently not implmented.
- SerDes: Aurora
- IFC: GASIC, Promjet
- QIXIS
- Ethernet
- DIU
- power supplies management
- ProfiBus
Signed-off-by: Priyanka Jain <Priyanka.Jain@freescale.com>
Signed-off-by: Poonam Aggrwal <poonam.aggrwal@freescale.com>
Signed-off-by: Prabhakar Kushwaha <prabhakar@freescale.com>
Signed-off-by: Scott Wood <scottwood@freescale.com>
-rw-r--r-- | arch/powerpc/boot/dts/t1040qds.dts | 46 | ||||
-rw-r--r-- | arch/powerpc/boot/dts/t1042qds.dts | 46 | ||||
-rw-r--r-- | arch/powerpc/boot/dts/t104xqds.dtsi | 166 | ||||
-rw-r--r-- | arch/powerpc/platforms/85xx/Kconfig | 2 | ||||
-rw-r--r-- | arch/powerpc/platforms/85xx/corenet_generic.c | 4 |
5 files changed, 263 insertions, 1 deletions
diff --git a/arch/powerpc/boot/dts/t1040qds.dts b/arch/powerpc/boot/dts/t1040qds.dts new file mode 100644 index 000000000000..973c29c2f56e --- /dev/null +++ b/arch/powerpc/boot/dts/t1040qds.dts | |||
@@ -0,0 +1,46 @@ | |||
1 | /* | ||
2 | * T1040QDS Device Tree Source | ||
3 | * | ||
4 | * Copyright 2013 Freescale Semiconductor Inc. | ||
5 | * | ||
6 | * Redistribution and use in source and binary forms, with or without | ||
7 | * modification, are permitted provided that the following conditions are met: | ||
8 | * * Redistributions of source code must retain the above copyright | ||
9 | * notice, this list of conditions and the following disclaimer. | ||
10 | * * Redistributions in binary form must reproduce the above copyright | ||
11 | * notice, this list of conditions and the following disclaimer in the | ||
12 | * documentation and/or other materials provided with the distribution. | ||
13 | * * Neither the name of Freescale Semiconductor nor the | ||
14 | * names of its contributors may be used to endorse or promote products | ||
15 | * derived from this software without specific prior written permission. | ||
16 | * | ||
17 | * | ||
18 | * ALTERNATIVELY, this software may be distributed under the terms of the | ||
19 | * GNU General Public License ("GPL") as published by the Free Software | ||
20 | * Foundation, either version 2 of that License or (at your option) any | ||
21 | * later version. | ||
22 | * | ||
23 | * THIS SOFTWARE IS PROVIDED BY Freescale Semiconductor "AS IS" AND ANY | ||
24 | * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | ||
25 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | ||
26 | * DISCLAIMED. IN NO EVENT SHALL Freescale Semiconductor BE LIABLE FOR ANY | ||
27 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES | ||
28 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; | ||
29 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND | ||
30 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
31 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS | ||
32 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
33 | */ | ||
34 | |||
35 | /include/ "fsl/t104xsi-pre.dtsi" | ||
36 | /include/ "t104xqds.dtsi" | ||
37 | |||
38 | / { | ||
39 | model = "fsl,T1040QDS"; | ||
40 | compatible = "fsl,T1040QDS"; | ||
41 | #address-cells = <2>; | ||
42 | #size-cells = <2>; | ||
43 | interrupt-parent = <&mpic>; | ||
44 | }; | ||
45 | |||
46 | /include/ "fsl/t1040si-post.dtsi" | ||
diff --git a/arch/powerpc/boot/dts/t1042qds.dts b/arch/powerpc/boot/dts/t1042qds.dts new file mode 100644 index 000000000000..45bd03752154 --- /dev/null +++ b/arch/powerpc/boot/dts/t1042qds.dts | |||
@@ -0,0 +1,46 @@ | |||
1 | /* | ||
2 | * T1042QDS Device Tree Source | ||
3 | * | ||
4 | * Copyright 2013 Freescale Semiconductor Inc. | ||
5 | * | ||
6 | * Redistribution and use in source and binary forms, with or without | ||
7 | * modification, are permitted provided that the following conditions are met: | ||
8 | * * Redistributions of source code must retain the above copyright | ||
9 | * notice, this list of conditions and the following disclaimer. | ||
10 | * * Redistributions in binary form must reproduce the above copyright | ||
11 | * notice, this list of conditions and the following disclaimer in the | ||
12 | * documentation and/or other materials provided with the distribution. | ||
13 | * * Neither the name of Freescale Semiconductor nor the | ||
14 | * names of its contributors may be used to endorse or promote products | ||
15 | * derived from this software without specific prior written permission. | ||
16 | * | ||
17 | * | ||
18 | * ALTERNATIVELY, this software may be distributed under the terms of the | ||
19 | * GNU General Public License ("GPL") as published by the Free Software | ||
20 | * Foundation, either version 2 of that License or (at your option) any | ||
21 | * later version. | ||
22 | * | ||
23 | * THIS SOFTWARE IS PROVIDED BY Freescale Semiconductor "AS IS" AND ANY | ||
24 | * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | ||
25 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | ||
26 | * DISCLAIMED. IN NO EVENT SHALL Freescale Semiconductor BE LIABLE FOR ANY | ||
27 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES | ||
28 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; | ||
29 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND | ||
30 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
31 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS | ||
32 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
33 | */ | ||
34 | |||
35 | /include/ "fsl/t104xsi-pre.dtsi" | ||
36 | /include/ "t104xqds.dtsi" | ||
37 | |||
38 | / { | ||
39 | model = "fsl,T1042QDS"; | ||
40 | compatible = "fsl,T1042QDS"; | ||
41 | #address-cells = <2>; | ||
42 | #size-cells = <2>; | ||
43 | interrupt-parent = <&mpic>; | ||
44 | }; | ||
45 | |||
46 | /include/ "fsl/t1042si-post.dtsi" | ||
diff --git a/arch/powerpc/boot/dts/t104xqds.dtsi b/arch/powerpc/boot/dts/t104xqds.dtsi new file mode 100644 index 000000000000..234f4b596c5b --- /dev/null +++ b/arch/powerpc/boot/dts/t104xqds.dtsi | |||
@@ -0,0 +1,166 @@ | |||
1 | /* | ||
2 | * T104xQDS Device Tree Source | ||
3 | * | ||
4 | * Copyright 2013 Freescale Semiconductor Inc. | ||
5 | * | ||
6 | * Redistribution and use in source and binary forms, with or without | ||
7 | * modification, are permitted provided that the following conditions are met: | ||
8 | * * Redistributions of source code must retain the above copyright | ||
9 | * notice, this list of conditions and the following disclaimer. | ||
10 | * * Redistributions in binary form must reproduce the above copyright | ||
11 | * notice, this list of conditions and the following disclaimer in the | ||
12 | * documentation and/or other materials provided with the distribution. | ||
13 | * * Neither the name of Freescale Semiconductor nor the | ||
14 | * names of its contributors may be used to endorse or promote products | ||
15 | * derived from this software without specific prior written permission. | ||
16 | * | ||
17 | * | ||
18 | * ALTERNATIVELY, this software may be distributed under the terms of the | ||
19 | * GNU General Public License ("GPL") as published by the Free Software | ||
20 | * Foundation, either version 2 of that License or (at your option) any | ||
21 | * later version. | ||
22 | * | ||
23 | * THIS SOFTWARE IS PROVIDED BY Freescale Semiconductor "AS IS" AND ANY | ||
24 | * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | ||
25 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | ||
26 | * DISCLAIMED. IN NO EVENT SHALL Freescale Semiconductor BE LIABLE FOR ANY | ||
27 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES | ||
28 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; | ||
29 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND | ||
30 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
31 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS | ||
32 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
33 | */ | ||
34 | |||
35 | / { | ||
36 | model = "fsl,T1040QDS"; | ||
37 | #address-cells = <2>; | ||
38 | #size-cells = <2>; | ||
39 | interrupt-parent = <&mpic>; | ||
40 | |||
41 | ifc: localbus@ffe124000 { | ||
42 | reg = <0xf 0xfe124000 0 0x2000>; | ||
43 | ranges = <0 0 0xf 0xe8000000 0x08000000 | ||
44 | 2 0 0xf 0xff800000 0x00010000 | ||
45 | 3 0 0xf 0xffdf0000 0x00008000>; | ||
46 | |||
47 | nor@0,0 { | ||
48 | #address-cells = <1>; | ||
49 | #size-cells = <1>; | ||
50 | compatible = "cfi-flash"; | ||
51 | reg = <0x0 0x0 0x8000000>; | ||
52 | |||
53 | bank-width = <2>; | ||
54 | device-width = <1>; | ||
55 | }; | ||
56 | |||
57 | nand@2,0 { | ||
58 | #address-cells = <1>; | ||
59 | #size-cells = <1>; | ||
60 | compatible = "fsl,ifc-nand"; | ||
61 | reg = <0x2 0x0 0x10000>; | ||
62 | }; | ||
63 | |||
64 | board-control@3,0 { | ||
65 | #address-cells = <1>; | ||
66 | #size-cells = <1>; | ||
67 | compatible = "fsl,fpga-qixis"; | ||
68 | reg = <3 0 0x300>; | ||
69 | }; | ||
70 | }; | ||
71 | |||
72 | memory { | ||
73 | device_type = "memory"; | ||
74 | }; | ||
75 | |||
76 | dcsr: dcsr@f00000000 { | ||
77 | ranges = <0x00000000 0xf 0x00000000 0x01072000>; | ||
78 | }; | ||
79 | |||
80 | soc: soc@ffe000000 { | ||
81 | ranges = <0x00000000 0xf 0xfe000000 0x1000000>; | ||
82 | reg = <0xf 0xfe000000 0 0x00001000>; | ||
83 | |||
84 | spi@110000 { | ||
85 | flash@0 { | ||
86 | #address-cells = <1>; | ||
87 | #size-cells = <1>; | ||
88 | compatible = "micron,n25q128a11"; | ||
89 | reg = <0>; | ||
90 | spi-max-frequency = <10000000>; /* input clock */ | ||
91 | }; | ||
92 | }; | ||
93 | |||
94 | i2c@118000 { | ||
95 | pca9547@77 { | ||
96 | compatible = "philips,pca9547"; | ||
97 | reg = <0x77>; | ||
98 | }; | ||
99 | rtc@68 { | ||
100 | compatible = "dallas,ds3232"; | ||
101 | reg = <0x68>; | ||
102 | interrupts = <0x1 0x1 0 0>; | ||
103 | }; | ||
104 | }; | ||
105 | }; | ||
106 | |||
107 | pci0: pcie@ffe240000 { | ||
108 | reg = <0xf 0xfe240000 0 0x10000>; | ||
109 | ranges = <0x02000000 0 0xe0000000 0xc 0x00000000 0x0 0x10000000 | ||
110 | 0x01000000 0 0x00000000 0xf 0xf8000000 0x0 0x00010000>; | ||
111 | pcie@0 { | ||
112 | ranges = <0x02000000 0 0xe0000000 | ||
113 | 0x02000000 0 0xe0000000 | ||
114 | 0 0x10000000 | ||
115 | |||
116 | 0x01000000 0 0x00000000 | ||
117 | 0x01000000 0 0x00000000 | ||
118 | 0 0x00010000>; | ||
119 | }; | ||
120 | }; | ||
121 | |||
122 | pci1: pcie@ffe250000 { | ||
123 | reg = <0xf 0xfe250000 0 0x10000>; | ||
124 | ranges = <0x02000000 0x0 0xe0000000 0xc 0x10000000 0x0 0x10000000 | ||
125 | 0x01000000 0x0 0x00000000 0xf 0xf8010000 0x0 0x00010000>; | ||
126 | pcie@0 { | ||
127 | ranges = <0x02000000 0 0xe0000000 | ||
128 | 0x02000000 0 0xe0000000 | ||
129 | 0 0x10000000 | ||
130 | |||
131 | 0x01000000 0 0x00000000 | ||
132 | 0x01000000 0 0x00000000 | ||
133 | 0 0x00010000>; | ||
134 | }; | ||
135 | }; | ||
136 | |||
137 | pci2: pcie@ffe260000 { | ||
138 | reg = <0xf 0xfe260000 0 0x10000>; | ||
139 | ranges = <0x02000000 0 0xe0000000 0xc 0x20000000 0 0x10000000 | ||
140 | 0x01000000 0 0x00000000 0xf 0xf8020000 0 0x00010000>; | ||
141 | pcie@0 { | ||
142 | ranges = <0x02000000 0 0xe0000000 | ||
143 | 0x02000000 0 0xe0000000 | ||
144 | 0 0x10000000 | ||
145 | |||
146 | 0x01000000 0 0x00000000 | ||
147 | 0x01000000 0 0x00000000 | ||
148 | 0 0x00010000>; | ||
149 | }; | ||
150 | }; | ||
151 | |||
152 | pci3: pcie@ffe270000 { | ||
153 | reg = <0xf 0xfe270000 0 0x10000>; | ||
154 | ranges = <0x02000000 0 0xe0000000 0xc 0x30000000 0 0x10000000 | ||
155 | 0x01000000 0 0x00000000 0xf 0xf8030000 0 0x00010000>; | ||
156 | pcie@0 { | ||
157 | ranges = <0x02000000 0 0xe0000000 | ||
158 | 0x02000000 0 0xe0000000 | ||
159 | 0 0x10000000 | ||
160 | |||
161 | 0x01000000 0 0x00000000 | ||
162 | 0x01000000 0 0x00000000 | ||
163 | 0 0x00010000>; | ||
164 | }; | ||
165 | }; | ||
166 | }; | ||
diff --git a/arch/powerpc/platforms/85xx/Kconfig b/arch/powerpc/platforms/85xx/Kconfig index a1182796a9d1..918b3902de67 100644 --- a/arch/powerpc/platforms/85xx/Kconfig +++ b/arch/powerpc/platforms/85xx/Kconfig | |||
@@ -267,7 +267,7 @@ config CORENET_GENERIC | |||
267 | For 64bit kernel, the following boards are supported: | 267 | For 64bit kernel, the following boards are supported: |
268 | T4240 QDS and B4 QDS | 268 | T4240 QDS and B4 QDS |
269 | The following boards are supported for both 32bit and 64bit kernel: | 269 | The following boards are supported for both 32bit and 64bit kernel: |
270 | P5020 DS and P5040 DS | 270 | P5020 DS, P5040 DS and T104xQDS |
271 | 271 | ||
272 | endif # FSL_SOC_BOOKE | 272 | endif # FSL_SOC_BOOKE |
273 | 273 | ||
diff --git a/arch/powerpc/platforms/85xx/corenet_generic.c b/arch/powerpc/platforms/85xx/corenet_generic.c index 477c182e4ba5..5db1e117fdde 100644 --- a/arch/powerpc/platforms/85xx/corenet_generic.c +++ b/arch/powerpc/platforms/85xx/corenet_generic.c | |||
@@ -123,6 +123,8 @@ static const char * const boards[] __initconst = { | |||
123 | "fsl,B4860QDS", | 123 | "fsl,B4860QDS", |
124 | "fsl,B4420QDS", | 124 | "fsl,B4420QDS", |
125 | "fsl,B4220QDS", | 125 | "fsl,B4220QDS", |
126 | "fsl,T1040QDS", | ||
127 | "fsl,T1042QDS", | ||
126 | "keymile,kmcoge4", | 128 | "keymile,kmcoge4", |
127 | NULL | 129 | NULL |
128 | }; | 130 | }; |
@@ -138,6 +140,8 @@ static const char * const hv_boards[] __initconst = { | |||
138 | "fsl,B4860QDS-hv", | 140 | "fsl,B4860QDS-hv", |
139 | "fsl,B4420QDS-hv", | 141 | "fsl,B4420QDS-hv", |
140 | "fsl,B4220QDS-hv", | 142 | "fsl,B4220QDS-hv", |
143 | "fsl,T1040QDS-hv", | ||
144 | "fsl,T1042QDS-hv", | ||
141 | NULL | 145 | NULL |
142 | }; | 146 | }; |
143 | 147 | ||