Pull bugzilla-5452 into release branch
[pandora-kernel.git] / arch / ppc / syslib / pq2_sys.c
1 /*
2  * PQ2 System descriptions
3  *
4  * Maintainer: Kumar Gala <galak@kernel.crashing.org>
5  *
6  * This file is licensed under the terms of the GNU General Public License
7  * version 2. This program is licensed "as is" without any warranty of any
8  * kind, whether express or implied.
9  */
10
11 #include <linux/init.h>
12 #include <linux/module.h>
13 #include <linux/device.h>
14
15 #include <asm/ppc_sys.h>
16
17 struct ppc_sys_spec *cur_ppc_sys_spec;
18 struct ppc_sys_spec ppc_sys_specs[] = {
19         /* below is a list of the 8260 family of processors */
20         {
21                 .ppc_sys_name   = "8250",
22                 .mask           = 0x0000ff00,
23                 .value          = 0x00000000,
24                 .num_devices    = 12,
25                 .device_list = (enum ppc_sys_devices[])
26                 {
27                         MPC82xx_CPM_FCC1, MPC82xx_CPM_FCC2, MPC82xx_CPM_FCC3,
28                         MPC82xx_CPM_SCC1, MPC82xx_CPM_SCC2, MPC82xx_CPM_SCC3,
29                         MPC82xx_CPM_SCC4, MPC82xx_CPM_MCC1, MPC82xx_CPM_SMC1,
30                         MPC82xx_CPM_SMC2, MPC82xx_CPM_SPI, MPC82xx_CPM_I2C,
31                 }
32         },
33         {
34                 .ppc_sys_name   = "8255",
35                 .mask           = 0x0000ff00,
36                 .value          = 0x00000000,
37                 .num_devices    = 11,
38                 .device_list = (enum ppc_sys_devices[])
39                 {
40                         MPC82xx_CPM_FCC1, MPC82xx_CPM_FCC2, MPC82xx_CPM_SCC1,
41                         MPC82xx_CPM_SCC2, MPC82xx_CPM_SCC3, MPC82xx_CPM_SCC4,
42                         MPC82xx_CPM_MCC1, MPC82xx_CPM_SMC1, MPC82xx_CPM_SMC2,
43                         MPC82xx_CPM_SPI, MPC82xx_CPM_I2C,
44                 }
45         },
46         {
47                 .ppc_sys_name   = "8260",
48                 .mask           = 0x0000ff00,
49                 .value          = 0x00000000,
50                 .num_devices    = 12,
51                 .device_list = (enum ppc_sys_devices[])
52                 {
53                         MPC82xx_CPM_FCC1, MPC82xx_CPM_FCC2, MPC82xx_CPM_FCC3,
54                         MPC82xx_CPM_SCC1, MPC82xx_CPM_SCC2, MPC82xx_CPM_SCC3,
55                         MPC82xx_CPM_SCC4, MPC82xx_CPM_MCC1, MPC82xx_CPM_SMC1,
56                         MPC82xx_CPM_SMC2, MPC82xx_CPM_SPI, MPC82xx_CPM_I2C,
57                 }
58         },
59         {
60                 .ppc_sys_name   = "8264",
61                 .mask           = 0x0000ff00,
62                 .value          = 0x00000000,
63                 .num_devices    = 12,
64                 .device_list = (enum ppc_sys_devices[])
65                 {
66                         MPC82xx_CPM_FCC1, MPC82xx_CPM_FCC2, MPC82xx_CPM_FCC3,
67                         MPC82xx_CPM_SCC1, MPC82xx_CPM_SCC2, MPC82xx_CPM_SCC3,
68                         MPC82xx_CPM_SCC4, MPC82xx_CPM_MCC1, MPC82xx_CPM_SMC1,
69                         MPC82xx_CPM_SMC2, MPC82xx_CPM_SPI, MPC82xx_CPM_I2C,
70                 }
71         },
72         {
73                 .ppc_sys_name   = "8265",
74                 .mask           = 0x0000ff00,
75                 .value          = 0x00000000,
76                 .num_devices    = 12,
77                 .device_list = (enum ppc_sys_devices[])
78                 {
79                         MPC82xx_CPM_FCC1, MPC82xx_CPM_FCC2, MPC82xx_CPM_FCC3,
80                         MPC82xx_CPM_SCC1, MPC82xx_CPM_SCC2, MPC82xx_CPM_SCC3,
81                         MPC82xx_CPM_SCC4, MPC82xx_CPM_MCC1, MPC82xx_CPM_SMC1,
82                         MPC82xx_CPM_SMC2, MPC82xx_CPM_SPI, MPC82xx_CPM_I2C,
83                 }
84         },
85         {
86                 .ppc_sys_name   = "8266",
87                 .mask           = 0x0000ff00,
88                 .value          = 0x00000000,
89                 .num_devices    = 12,
90                 .device_list = (enum ppc_sys_devices[])
91                 {
92                         MPC82xx_CPM_FCC1, MPC82xx_CPM_FCC2, MPC82xx_CPM_FCC3,
93                         MPC82xx_CPM_SCC1, MPC82xx_CPM_SCC2, MPC82xx_CPM_SCC3,
94                         MPC82xx_CPM_SCC4, MPC82xx_CPM_MCC1, MPC82xx_CPM_SMC1,
95                         MPC82xx_CPM_SMC2, MPC82xx_CPM_SPI, MPC82xx_CPM_I2C,
96                 }
97         },
98         /* below is a list of the 8272 family of processors */
99         {
100                 .ppc_sys_name   = "8247",
101                 .mask           = 0x0000ff00,
102                 .value          = 0x00000d00,
103                 .num_devices    = 10,
104                 .device_list = (enum ppc_sys_devices[])
105                 {
106                         MPC82xx_CPM_FCC1, MPC82xx_CPM_FCC2, MPC82xx_CPM_SCC1,
107                         MPC82xx_CPM_SCC2, MPC82xx_CPM_SCC3, MPC82xx_CPM_SMC1,
108                         MPC82xx_CPM_SMC2, MPC82xx_CPM_SPI, MPC82xx_CPM_I2C,
109                         MPC82xx_CPM_USB,
110                 },
111         },
112         {
113                 .ppc_sys_name   = "8248",
114                 .mask           = 0x0000ff00,
115                 .value          = 0x00000c00,
116                 .num_devices    = 12,
117                 .device_list = (enum ppc_sys_devices[])
118                 {
119                         MPC82xx_CPM_FCC1, MPC82xx_CPM_FCC2, MPC82xx_CPM_SCC1,
120                         MPC82xx_CPM_SCC2, MPC82xx_CPM_SCC3, MPC82xx_CPM_SCC4,
121                         MPC82xx_CPM_SMC1, MPC82xx_CPM_SMC2, MPC82xx_CPM_SPI,
122                         MPC82xx_CPM_I2C, MPC82xx_CPM_USB, MPC82xx_SEC1,
123                 },
124         },
125         {
126                 .ppc_sys_name   = "8271",
127                 .mask           = 0x0000ff00,
128                 .value          = 0x00000d00,
129                 .num_devices    = 10,
130                 .device_list = (enum ppc_sys_devices[])
131                 {
132                         MPC82xx_CPM_FCC1, MPC82xx_CPM_FCC2, MPC82xx_CPM_SCC1,
133                         MPC82xx_CPM_SCC2, MPC82xx_CPM_SCC3, MPC82xx_CPM_SMC1,
134                         MPC82xx_CPM_SMC2, MPC82xx_CPM_SPI, MPC82xx_CPM_I2C,
135                         MPC82xx_CPM_USB,
136                 },
137         },
138         {
139                 .ppc_sys_name   = "8272",
140                 .mask           = 0x0000ff00,
141                 .value          = 0x00000c00,
142                 .num_devices    = 12,
143                 .device_list = (enum ppc_sys_devices[])
144                 {
145                         MPC82xx_CPM_FCC1, MPC82xx_CPM_FCC2, MPC82xx_CPM_SCC1,
146                         MPC82xx_CPM_SCC2, MPC82xx_CPM_SCC3, MPC82xx_CPM_SCC4,
147                         MPC82xx_CPM_SMC1, MPC82xx_CPM_SMC2, MPC82xx_CPM_SPI,
148                         MPC82xx_CPM_I2C, MPC82xx_CPM_USB, MPC82xx_SEC1,
149                 },
150         },
151         /* below is a list of the 8280 family of processors */
152         {
153                 .ppc_sys_name   = "8270",
154                 .mask           = 0x0000ff00,
155                 .value          = 0x00000a00,
156                 .num_devices    = 12,
157                 .device_list = (enum ppc_sys_devices[])
158                 {
159                         MPC82xx_CPM_FCC1, MPC82xx_CPM_FCC2, MPC82xx_CPM_FCC3,
160                         MPC82xx_CPM_SCC1, MPC82xx_CPM_SCC2, MPC82xx_CPM_SCC3,
161                         MPC82xx_CPM_SCC4, MPC82xx_CPM_MCC1, MPC82xx_CPM_SMC1,
162                         MPC82xx_CPM_SMC2, MPC82xx_CPM_SPI, MPC82xx_CPM_I2C,
163                 },
164         },
165         {
166                 .ppc_sys_name   = "8275",
167                 .mask           = 0x0000ff00,
168                 .value          = 0x00000a00,
169                 .num_devices    = 12,
170                 .device_list = (enum ppc_sys_devices[])
171                 {
172                         MPC82xx_CPM_FCC1, MPC82xx_CPM_FCC2, MPC82xx_CPM_FCC3,
173                         MPC82xx_CPM_SCC1, MPC82xx_CPM_SCC2, MPC82xx_CPM_SCC3,
174                         MPC82xx_CPM_SCC4, MPC82xx_CPM_MCC1, MPC82xx_CPM_SMC1,
175                         MPC82xx_CPM_SMC2, MPC82xx_CPM_SPI, MPC82xx_CPM_I2C,
176                 },
177         },
178         {
179                 .ppc_sys_name   = "8280",
180                 .mask           = 0x0000ff00,
181                 .value          = 0x00000a00,
182                 .num_devices    = 13,
183                 .device_list = (enum ppc_sys_devices[])
184                 {
185                         MPC82xx_CPM_FCC1, MPC82xx_CPM_FCC2, MPC82xx_CPM_FCC3,
186                         MPC82xx_CPM_SCC1, MPC82xx_CPM_SCC2, MPC82xx_CPM_SCC3,
187                         MPC82xx_CPM_SCC4, MPC82xx_CPM_MCC1, MPC82xx_CPM_MCC2,
188                         MPC82xx_CPM_SMC1, MPC82xx_CPM_SMC2, MPC82xx_CPM_SPI,
189                         MPC82xx_CPM_I2C,
190                 },
191         },
192         {
193                 /* default match */
194                 .ppc_sys_name   = "",
195                 .mask           = 0x00000000,
196                 .value          = 0x00000000,
197         },
198 };