[PATCH] Update email address for Kumar
[GitHub/mt8127/android_kernel_alcatel_ttab.git] / arch / ppc / syslib / mpc85xx_sys.c
CommitLineData
1da177e4
LT
1/*
2 * arch/ppc/platforms/85xx/mpc85xx_sys.c
3 *
4 * MPC85xx System descriptions
5 *
4c8d3d99 6 * Maintainer: Kumar Gala <galak@kernel.crashing.org>
1da177e4
LT
7 *
8 * Copyright 2005 Freescale Semiconductor Inc.
9 *
10 * This program is free software; you can redistribute it and/or modify it
11 * under the terms of the GNU General Public License as published by the
12 * Free Software Foundation; either version 2 of the License, or (at your
13 * option) any later version.
14 */
15
16#include <linux/init.h>
17#include <linux/module.h>
18#include <linux/device.h>
19#include <asm/ppc_sys.h>
20
21struct ppc_sys_spec *cur_ppc_sys_spec;
22struct ppc_sys_spec ppc_sys_specs[] = {
23 {
24 .ppc_sys_name = "8540",
25 .mask = 0xFFFF0000,
26 .value = 0x80300000,
b37665e0 27 .num_devices = 11,
1da177e4
LT
28 .device_list = (enum ppc_sys_devices[])
29 {
30 MPC85xx_TSEC1, MPC85xx_TSEC2, MPC85xx_FEC, MPC85xx_IIC1,
31 MPC85xx_DMA0, MPC85xx_DMA1, MPC85xx_DMA2, MPC85xx_DMA3,
b37665e0 32 MPC85xx_PERFMON, MPC85xx_DUART, MPC85xx_MDIO,
1da177e4
LT
33 },
34 },
35 {
36 .ppc_sys_name = "8560",
37 .mask = 0xFFFF0000,
38 .value = 0x80700000,
b37665e0 39 .num_devices = 20,
1da177e4
LT
40 .device_list = (enum ppc_sys_devices[])
41 {
42 MPC85xx_TSEC1, MPC85xx_TSEC2, MPC85xx_IIC1,
43 MPC85xx_DMA0, MPC85xx_DMA1, MPC85xx_DMA2, MPC85xx_DMA3,
44 MPC85xx_PERFMON,
45 MPC85xx_CPM_SPI, MPC85xx_CPM_I2C, MPC85xx_CPM_SCC1,
46 MPC85xx_CPM_SCC2, MPC85xx_CPM_SCC3, MPC85xx_CPM_SCC4,
47 MPC85xx_CPM_FCC1, MPC85xx_CPM_FCC2, MPC85xx_CPM_FCC3,
b37665e0 48 MPC85xx_CPM_MCC1, MPC85xx_CPM_MCC2, MPC85xx_MDIO,
1da177e4
LT
49 },
50 },
51 {
52 .ppc_sys_name = "8541",
53 .mask = 0xFFFF0000,
54 .value = 0x80720000,
b37665e0 55 .num_devices = 14,
1da177e4
LT
56 .device_list = (enum ppc_sys_devices[])
57 {
58 MPC85xx_TSEC1, MPC85xx_TSEC2, MPC85xx_IIC1,
59 MPC85xx_DMA0, MPC85xx_DMA1, MPC85xx_DMA2, MPC85xx_DMA3,
60 MPC85xx_PERFMON, MPC85xx_DUART,
61 MPC85xx_CPM_SPI, MPC85xx_CPM_I2C,
62 MPC85xx_CPM_FCC1, MPC85xx_CPM_FCC2,
b37665e0 63 MPC85xx_MDIO,
1da177e4
LT
64 },
65 },
66 {
67 .ppc_sys_name = "8541E",
68 .mask = 0xFFFF0000,
69 .value = 0x807A0000,
b37665e0 70 .num_devices = 15,
1da177e4
LT
71 .device_list = (enum ppc_sys_devices[])
72 {
73 MPC85xx_TSEC1, MPC85xx_TSEC2, MPC85xx_IIC1,
74 MPC85xx_DMA0, MPC85xx_DMA1, MPC85xx_DMA2, MPC85xx_DMA3,
75 MPC85xx_PERFMON, MPC85xx_DUART, MPC85xx_SEC2,
76 MPC85xx_CPM_SPI, MPC85xx_CPM_I2C,
77 MPC85xx_CPM_FCC1, MPC85xx_CPM_FCC2,
b37665e0 78 MPC85xx_MDIO,
1da177e4
LT
79 },
80 },
81 {
82 .ppc_sys_name = "8555",
83 .mask = 0xFFFF0000,
84 .value = 0x80710000,
b37665e0 85 .num_devices = 20,
1da177e4
LT
86 .device_list = (enum ppc_sys_devices[])
87 {
88 MPC85xx_TSEC1, MPC85xx_TSEC2, MPC85xx_IIC1,
89 MPC85xx_DMA0, MPC85xx_DMA1, MPC85xx_DMA2, MPC85xx_DMA3,
90 MPC85xx_PERFMON, MPC85xx_DUART,
91 MPC85xx_CPM_SPI, MPC85xx_CPM_I2C, MPC85xx_CPM_SCC1,
92 MPC85xx_CPM_SCC2, MPC85xx_CPM_SCC3,
93 MPC85xx_CPM_FCC1, MPC85xx_CPM_FCC2,
94 MPC85xx_CPM_SMC1, MPC85xx_CPM_SMC2,
95 MPC85xx_CPM_USB,
b37665e0 96 MPC85xx_MDIO,
1da177e4
LT
97 },
98 },
99 {
100 .ppc_sys_name = "8555E",
101 .mask = 0xFFFF0000,
102 .value = 0x80790000,
b37665e0 103 .num_devices = 21,
1da177e4
LT
104 .device_list = (enum ppc_sys_devices[])
105 {
106 MPC85xx_TSEC1, MPC85xx_TSEC2, MPC85xx_IIC1,
107 MPC85xx_DMA0, MPC85xx_DMA1, MPC85xx_DMA2, MPC85xx_DMA3,
108 MPC85xx_PERFMON, MPC85xx_DUART, MPC85xx_SEC2,
109 MPC85xx_CPM_SPI, MPC85xx_CPM_I2C, MPC85xx_CPM_SCC1,
110 MPC85xx_CPM_SCC2, MPC85xx_CPM_SCC3,
111 MPC85xx_CPM_FCC1, MPC85xx_CPM_FCC2,
112 MPC85xx_CPM_SMC1, MPC85xx_CPM_SMC2,
113 MPC85xx_CPM_USB,
b37665e0 114 MPC85xx_MDIO,
1da177e4
LT
115 },
116 },
5b37b700
KG
117 /* SVRs on 8548 rev1.0 matches for 8548/8547/8545 */
118 {
119 .ppc_sys_name = "8548E",
120 .mask = 0xFFFF00F0,
121 .value = 0x80390010,
b37665e0 122 .num_devices = 14,
5b37b700
KG
123 .device_list = (enum ppc_sys_devices[])
124 {
125 MPC85xx_eTSEC1, MPC85xx_eTSEC2, MPC85xx_eTSEC3,
126 MPC85xx_eTSEC4, MPC85xx_IIC1, MPC85xx_IIC2,
127 MPC85xx_DMA0, MPC85xx_DMA1, MPC85xx_DMA2, MPC85xx_DMA3,
128 MPC85xx_PERFMON, MPC85xx_DUART, MPC85xx_SEC2,
b37665e0 129 MPC85xx_MDIO,
5b37b700
KG
130 },
131 },
132 {
133 .ppc_sys_name = "8548",
134 .mask = 0xFFFF00F0,
135 .value = 0x80310010,
b37665e0 136 .num_devices = 13,
5b37b700
KG
137 .device_list = (enum ppc_sys_devices[])
138 {
139 MPC85xx_eTSEC1, MPC85xx_eTSEC2, MPC85xx_eTSEC3,
140 MPC85xx_eTSEC4, MPC85xx_IIC1, MPC85xx_IIC2,
141 MPC85xx_DMA0, MPC85xx_DMA1, MPC85xx_DMA2, MPC85xx_DMA3,
142 MPC85xx_PERFMON, MPC85xx_DUART,
b37665e0 143 MPC85xx_MDIO,
5b37b700
KG
144 },
145 },
146 {
147 .ppc_sys_name = "8547E",
148 .mask = 0xFFFF00F0,
149 .value = 0x80390010,
b37665e0 150 .num_devices = 14,
5b37b700
KG
151 .device_list = (enum ppc_sys_devices[])
152 {
153 MPC85xx_eTSEC1, MPC85xx_eTSEC2, MPC85xx_eTSEC3,
154 MPC85xx_eTSEC4, MPC85xx_IIC1, MPC85xx_IIC2,
155 MPC85xx_DMA0, MPC85xx_DMA1, MPC85xx_DMA2, MPC85xx_DMA3,
156 MPC85xx_PERFMON, MPC85xx_DUART, MPC85xx_SEC2,
b37665e0 157 MPC85xx_MDIO,
5b37b700
KG
158 },
159 },
160 {
161 .ppc_sys_name = "8547",
162 .mask = 0xFFFF00F0,
163 .value = 0x80310010,
b37665e0 164 .num_devices = 13,
5b37b700
KG
165 .device_list = (enum ppc_sys_devices[])
166 {
167 MPC85xx_eTSEC1, MPC85xx_eTSEC2, MPC85xx_eTSEC3,
168 MPC85xx_eTSEC4, MPC85xx_IIC1, MPC85xx_IIC2,
169 MPC85xx_DMA0, MPC85xx_DMA1, MPC85xx_DMA2, MPC85xx_DMA3,
170 MPC85xx_PERFMON, MPC85xx_DUART,
b37665e0 171 MPC85xx_MDIO,
5b37b700
KG
172 },
173 },
174 {
175 .ppc_sys_name = "8545E",
176 .mask = 0xFFFF00F0,
177 .value = 0x80390010,
b37665e0 178 .num_devices = 12,
5b37b700
KG
179 .device_list = (enum ppc_sys_devices[])
180 {
181 MPC85xx_eTSEC1, MPC85xx_eTSEC2,
182 MPC85xx_IIC1, MPC85xx_IIC2,
183 MPC85xx_DMA0, MPC85xx_DMA1, MPC85xx_DMA2, MPC85xx_DMA3,
184 MPC85xx_PERFMON, MPC85xx_DUART, MPC85xx_SEC2,
b37665e0 185 MPC85xx_MDIO,
5b37b700
KG
186 },
187 },
188 {
189 .ppc_sys_name = "8545",
190 .mask = 0xFFFF00F0,
191 .value = 0x80310010,
b37665e0 192 .num_devices = 11,
5b37b700
KG
193 .device_list = (enum ppc_sys_devices[])
194 {
195 MPC85xx_eTSEC1, MPC85xx_eTSEC2,
196 MPC85xx_IIC1, MPC85xx_IIC2,
197 MPC85xx_DMA0, MPC85xx_DMA1, MPC85xx_DMA2, MPC85xx_DMA3,
198 MPC85xx_PERFMON, MPC85xx_DUART,
b37665e0 199 MPC85xx_MDIO,
5b37b700
KG
200 },
201 },
202 {
203 .ppc_sys_name = "8543E",
204 .mask = 0xFFFF00F0,
205 .value = 0x803A0010,
b37665e0 206 .num_devices = 12,
5b37b700
KG
207 .device_list = (enum ppc_sys_devices[])
208 {
209 MPC85xx_eTSEC1, MPC85xx_eTSEC2,
210 MPC85xx_IIC1, MPC85xx_IIC2,
211 MPC85xx_DMA0, MPC85xx_DMA1, MPC85xx_DMA2, MPC85xx_DMA3,
212 MPC85xx_PERFMON, MPC85xx_DUART, MPC85xx_SEC2,
b37665e0 213 MPC85xx_MDIO,
5b37b700
KG
214 },
215 },
216 {
217 .ppc_sys_name = "8543",
218 .mask = 0xFFFF00F0,
219 .value = 0x80320010,
b37665e0 220 .num_devices = 11,
5b37b700
KG
221 .device_list = (enum ppc_sys_devices[])
222 {
223 MPC85xx_eTSEC1, MPC85xx_eTSEC2,
224 MPC85xx_IIC1, MPC85xx_IIC2,
225 MPC85xx_DMA0, MPC85xx_DMA1, MPC85xx_DMA2, MPC85xx_DMA3,
226 MPC85xx_PERFMON, MPC85xx_DUART,
b37665e0 227 MPC85xx_MDIO,
5b37b700
KG
228 },
229 },
1da177e4
LT
230 { /* default match */
231 .ppc_sys_name = "",
232 .mask = 0x00000000,
233 .value = 0x00000000,
234 },
235};