blob: 9c85300846c790cfb4c8ee434306a75f036de47c [file] [log] [blame]
Kumar Gala8e8fff092005-09-03 15:55:34 -07001/*
Kumar Gala8e8fff092005-09-03 15:55:34 -07002 * PQ2 System descriptions
3 *
Kumar Gala4c8d3d92005-11-13 16:06:30 -08004 * Maintainer: Kumar Gala <galak@kernel.crashing.org>
Kumar Gala8e8fff092005-09-03 15:55:34 -07005 *
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
17struct ppc_sys_spec *cur_ppc_sys_spec;
18struct 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,
Morten Banzonc0fabf72007-05-15 11:41:11 -070029 MPC82xx_CPM_SCC4, MPC82xx_CPM_MCC2, MPC82xx_CPM_SMC1,
Kumar Gala8e8fff092005-09-03 15:55:34 -070030 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,
Morten Banzonc0fabf72007-05-15 11:41:11 -070042 MPC82xx_CPM_MCC2, MPC82xx_CPM_SMC1, MPC82xx_CPM_SMC2,
Kumar Gala8e8fff092005-09-03 15:55:34 -070043 MPC82xx_CPM_SPI, MPC82xx_CPM_I2C,
44 }
45 },
46 {
47 .ppc_sys_name = "8260",
48 .mask = 0x0000ff00,
49 .value = 0x00000000,
Morten Banzonc0fabf72007-05-15 11:41:11 -070050 .num_devices = 13,
Kumar Gala8e8fff092005-09-03 15:55:34 -070051 .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,
Morten Banzonc0fabf72007-05-15 11:41:11 -070055 MPC82xx_CPM_SCC4, MPC82xx_CPM_MCC1, MPC82xx_CPM_MCC2,
56 MPC82xx_CPM_SMC1, MPC82xx_CPM_SMC2, MPC82xx_CPM_SPI,
57 MPC82xx_CPM_I2C,
Kumar Gala8e8fff092005-09-03 15:55:34 -070058 }
59 },
60 {
61 .ppc_sys_name = "8264",
62 .mask = 0x0000ff00,
63 .value = 0x00000000,
Morten Banzonc0fabf72007-05-15 11:41:11 -070064 .num_devices = 13,
Kumar Gala8e8fff092005-09-03 15:55:34 -070065 .device_list = (enum ppc_sys_devices[])
66 {
67 MPC82xx_CPM_FCC1, MPC82xx_CPM_FCC2, MPC82xx_CPM_FCC3,
68 MPC82xx_CPM_SCC1, MPC82xx_CPM_SCC2, MPC82xx_CPM_SCC3,
Morten Banzonc0fabf72007-05-15 11:41:11 -070069 MPC82xx_CPM_SCC4, MPC82xx_CPM_MCC1, MPC82xx_CPM_MCC2,
70 MPC82xx_CPM_SMC1, MPC82xx_CPM_SMC2, MPC82xx_CPM_SPI,
71 MPC82xx_CPM_I2C,
Kumar Gala8e8fff092005-09-03 15:55:34 -070072 }
73 },
74 {
75 .ppc_sys_name = "8265",
76 .mask = 0x0000ff00,
77 .value = 0x00000000,
Morten Banzonc0fabf72007-05-15 11:41:11 -070078 .num_devices = 13,
Kumar Gala8e8fff092005-09-03 15:55:34 -070079 .device_list = (enum ppc_sys_devices[])
80 {
81 MPC82xx_CPM_FCC1, MPC82xx_CPM_FCC2, MPC82xx_CPM_FCC3,
82 MPC82xx_CPM_SCC1, MPC82xx_CPM_SCC2, MPC82xx_CPM_SCC3,
Morten Banzonc0fabf72007-05-15 11:41:11 -070083 MPC82xx_CPM_SCC4, MPC82xx_CPM_MCC1, MPC82xx_CPM_MCC2,
84 MPC82xx_CPM_SMC1, MPC82xx_CPM_SMC2, MPC82xx_CPM_SPI,
85 MPC82xx_CPM_I2C,
Kumar Gala8e8fff092005-09-03 15:55:34 -070086 }
87 },
88 {
89 .ppc_sys_name = "8266",
90 .mask = 0x0000ff00,
91 .value = 0x00000000,
Morten Banzonc0fabf72007-05-15 11:41:11 -070092 .num_devices = 13,
Kumar Gala8e8fff092005-09-03 15:55:34 -070093 .device_list = (enum ppc_sys_devices[])
94 {
95 MPC82xx_CPM_FCC1, MPC82xx_CPM_FCC2, MPC82xx_CPM_FCC3,
96 MPC82xx_CPM_SCC1, MPC82xx_CPM_SCC2, MPC82xx_CPM_SCC3,
Morten Banzonc0fabf72007-05-15 11:41:11 -070097 MPC82xx_CPM_SCC4, MPC82xx_CPM_MCC1, MPC82xx_CPM_MCC2,
98 MPC82xx_CPM_SMC1, MPC82xx_CPM_SMC2, MPC82xx_CPM_SPI,
99 MPC82xx_CPM_I2C,
Kumar Gala8e8fff092005-09-03 15:55:34 -0700100 }
101 },
102 /* below is a list of the 8272 family of processors */
103 {
104 .ppc_sys_name = "8247",
105 .mask = 0x0000ff00,
106 .value = 0x00000d00,
107 .num_devices = 10,
108 .device_list = (enum ppc_sys_devices[])
109 {
110 MPC82xx_CPM_FCC1, MPC82xx_CPM_FCC2, MPC82xx_CPM_SCC1,
111 MPC82xx_CPM_SCC2, MPC82xx_CPM_SCC3, MPC82xx_CPM_SMC1,
112 MPC82xx_CPM_SMC2, MPC82xx_CPM_SPI, MPC82xx_CPM_I2C,
113 MPC82xx_CPM_USB,
114 },
115 },
116 {
117 .ppc_sys_name = "8248",
118 .mask = 0x0000ff00,
119 .value = 0x00000c00,
Vitaly Borduga73c87b2006-04-25 20:26:33 +0400120 .num_devices = 12,
Kumar Gala8e8fff092005-09-03 15:55:34 -0700121 .device_list = (enum ppc_sys_devices[])
122 {
123 MPC82xx_CPM_FCC1, MPC82xx_CPM_FCC2, MPC82xx_CPM_SCC1,
Vitaly Borduga73c87b2006-04-25 20:26:33 +0400124 MPC82xx_CPM_SCC2, MPC82xx_CPM_SCC3, MPC82xx_CPM_SCC4,
125 MPC82xx_CPM_SMC1, MPC82xx_CPM_SMC2, MPC82xx_CPM_SPI,
126 MPC82xx_CPM_I2C, MPC82xx_CPM_USB, MPC82xx_SEC1,
Kumar Gala8e8fff092005-09-03 15:55:34 -0700127 },
128 },
129 {
130 .ppc_sys_name = "8271",
131 .mask = 0x0000ff00,
132 .value = 0x00000d00,
133 .num_devices = 10,
134 .device_list = (enum ppc_sys_devices[])
135 {
136 MPC82xx_CPM_FCC1, MPC82xx_CPM_FCC2, MPC82xx_CPM_SCC1,
137 MPC82xx_CPM_SCC2, MPC82xx_CPM_SCC3, MPC82xx_CPM_SMC1,
138 MPC82xx_CPM_SMC2, MPC82xx_CPM_SPI, MPC82xx_CPM_I2C,
139 MPC82xx_CPM_USB,
140 },
141 },
142 {
143 .ppc_sys_name = "8272",
144 .mask = 0x0000ff00,
145 .value = 0x00000c00,
Vitaly Bordug2ca2d5e2006-08-14 23:00:31 -0700146 .num_devices = 13,
Kumar Gala8e8fff092005-09-03 15:55:34 -0700147 .device_list = (enum ppc_sys_devices[])
148 {
149 MPC82xx_CPM_FCC1, MPC82xx_CPM_FCC2, MPC82xx_CPM_SCC1,
Vitaly Bordug8e30a9a2006-05-24 21:40:18 +0400150 MPC82xx_CPM_SCC2, MPC82xx_CPM_SCC3, MPC82xx_CPM_SCC4,
151 MPC82xx_CPM_SMC1, MPC82xx_CPM_SMC2, MPC82xx_CPM_SPI,
152 MPC82xx_CPM_I2C, MPC82xx_CPM_USB, MPC82xx_SEC1,
Vitaly Bordug2ca2d5e2006-08-14 23:00:31 -0700153 MPC82xx_MDIO_BB,
Kumar Gala8e8fff092005-09-03 15:55:34 -0700154 },
155 },
156 /* below is a list of the 8280 family of processors */
157 {
158 .ppc_sys_name = "8270",
159 .mask = 0x0000ff00,
160 .value = 0x00000a00,
161 .num_devices = 12,
162 .device_list = (enum ppc_sys_devices[])
163 {
164 MPC82xx_CPM_FCC1, MPC82xx_CPM_FCC2, MPC82xx_CPM_FCC3,
165 MPC82xx_CPM_SCC1, MPC82xx_CPM_SCC2, MPC82xx_CPM_SCC3,
Morten Banzonc0fabf72007-05-15 11:41:11 -0700166 MPC82xx_CPM_SCC4, MPC82xx_CPM_MCC2, MPC82xx_CPM_SMC1,
Kumar Gala8e8fff092005-09-03 15:55:34 -0700167 MPC82xx_CPM_SMC2, MPC82xx_CPM_SPI, MPC82xx_CPM_I2C,
168 },
169 },
170 {
171 .ppc_sys_name = "8275",
172 .mask = 0x0000ff00,
173 .value = 0x00000a00,
174 .num_devices = 12,
175 .device_list = (enum ppc_sys_devices[])
176 {
177 MPC82xx_CPM_FCC1, MPC82xx_CPM_FCC2, MPC82xx_CPM_FCC3,
178 MPC82xx_CPM_SCC1, MPC82xx_CPM_SCC2, MPC82xx_CPM_SCC3,
Morten Banzonc0fabf72007-05-15 11:41:11 -0700179 MPC82xx_CPM_SCC4, MPC82xx_CPM_MCC2, MPC82xx_CPM_SMC1,
Kumar Gala8e8fff092005-09-03 15:55:34 -0700180 MPC82xx_CPM_SMC2, MPC82xx_CPM_SPI, MPC82xx_CPM_I2C,
181 },
182 },
183 {
184 .ppc_sys_name = "8280",
185 .mask = 0x0000ff00,
186 .value = 0x00000a00,
187 .num_devices = 13,
188 .device_list = (enum ppc_sys_devices[])
189 {
190 MPC82xx_CPM_FCC1, MPC82xx_CPM_FCC2, MPC82xx_CPM_FCC3,
191 MPC82xx_CPM_SCC1, MPC82xx_CPM_SCC2, MPC82xx_CPM_SCC3,
192 MPC82xx_CPM_SCC4, MPC82xx_CPM_MCC1, MPC82xx_CPM_MCC2,
193 MPC82xx_CPM_SMC1, MPC82xx_CPM_SMC2, MPC82xx_CPM_SPI,
194 MPC82xx_CPM_I2C,
195 },
196 },
197 {
198 /* default match */
199 .ppc_sys_name = "",
200 .mask = 0x00000000,
201 .value = 0x00000000,
202 },
203};