Merge git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc
[linux-2.6] / arch / ppc / syslib / mpc83xx_sys.c
1 /*
2  * MPC83xx System descriptions
3  *
4  * Maintainer: Kumar Gala <galak@kernel.crashing.org>
5  *
6  * Copyright 2005 Freescale Semiconductor Inc.
7  *
8  * This program is free software; you can redistribute  it and/or modify it
9  * under  the terms of  the GNU General  Public License as published by the
10  * Free Software Foundation;  either version 2 of the  License, or (at your
11  * option) any later version.
12  */
13
14 #include <linux/init.h>
15 #include <linux/module.h>
16 #include <linux/device.h>
17 #include <asm/ppc_sys.h>
18
19 struct ppc_sys_spec *cur_ppc_sys_spec;
20 struct ppc_sys_spec ppc_sys_specs[] = {
21         {
22                 .ppc_sys_name   = "8349E",
23                 .mask           = 0xFFFF0000,
24                 .value          = 0x80500000,
25                 .num_devices    = 9,
26                 .device_list    = (enum ppc_sys_devices[])
27                 {
28                         MPC83xx_TSEC1, MPC83xx_TSEC2, MPC83xx_IIC1,
29                         MPC83xx_IIC2, MPC83xx_DUART, MPC83xx_SEC2,
30                         MPC83xx_USB2_DR, MPC83xx_USB2_MPH, MPC83xx_MDIO
31                 },
32         },
33         {
34                 .ppc_sys_name   = "8349",
35                 .mask           = 0xFFFF0000,
36                 .value          = 0x80510000,
37                 .num_devices    = 8,
38                 .device_list    = (enum ppc_sys_devices[])
39                 {
40                         MPC83xx_TSEC1, MPC83xx_TSEC2, MPC83xx_IIC1,
41                         MPC83xx_IIC2, MPC83xx_DUART,
42                         MPC83xx_USB2_DR, MPC83xx_USB2_MPH, MPC83xx_MDIO
43                 },
44         },
45         {
46                 .ppc_sys_name   = "8347E",
47                 .mask           = 0xFFFF0000,
48                 .value          = 0x80520000,
49                 .num_devices    = 9,
50                 .device_list    = (enum ppc_sys_devices[])
51                 {
52                         MPC83xx_TSEC1, MPC83xx_TSEC2, MPC83xx_IIC1,
53                         MPC83xx_IIC2, MPC83xx_DUART, MPC83xx_SEC2,
54                         MPC83xx_USB2_DR, MPC83xx_USB2_MPH, MPC83xx_MDIO
55                 },
56         },
57         {
58                 .ppc_sys_name   = "8347",
59                 .mask           = 0xFFFF0000,
60                 .value          = 0x80530000,
61                 .num_devices    = 8,
62                 .device_list    = (enum ppc_sys_devices[])
63                 {
64                         MPC83xx_TSEC1, MPC83xx_TSEC2, MPC83xx_IIC1,
65                         MPC83xx_IIC2, MPC83xx_DUART,
66                         MPC83xx_USB2_DR, MPC83xx_USB2_MPH, MPC83xx_MDIO
67                 },
68         },
69         {
70                 .ppc_sys_name   = "8347E",
71                 .mask           = 0xFFFF0000,
72                 .value          = 0x80540000,
73                 .num_devices    = 9,
74                 .device_list    = (enum ppc_sys_devices[])
75                 {
76                         MPC83xx_TSEC1, MPC83xx_TSEC2, MPC83xx_IIC1,
77                         MPC83xx_IIC2, MPC83xx_DUART, MPC83xx_SEC2,
78                         MPC83xx_USB2_DR, MPC83xx_USB2_MPH, MPC83xx_MDIO
79                 },
80         },
81         {
82                 .ppc_sys_name   = "8347",
83                 .mask           = 0xFFFF0000,
84                 .value          = 0x80550000,
85                 .num_devices    = 8,
86                 .device_list    = (enum ppc_sys_devices[])
87                 {
88                         MPC83xx_TSEC1, MPC83xx_TSEC2, MPC83xx_IIC1,
89                         MPC83xx_IIC2, MPC83xx_DUART,
90                         MPC83xx_USB2_DR, MPC83xx_USB2_MPH, MPC83xx_MDIO
91                 },
92         },
93         {
94                 .ppc_sys_name   = "8343E",
95                 .mask           = 0xFFFF0000,
96                 .value          = 0x80560000,
97                 .num_devices    = 8,
98                 .device_list    = (enum ppc_sys_devices[])
99                 {
100                         MPC83xx_TSEC1, MPC83xx_TSEC2, MPC83xx_IIC1,
101                         MPC83xx_IIC2, MPC83xx_DUART, MPC83xx_SEC2,
102                         MPC83xx_USB2_DR, MPC83xx_MDIO
103                 },
104         },
105         {
106                 .ppc_sys_name   = "8343",
107                 .mask           = 0xFFFF0000,
108                 .value          = 0x80570000,
109                 .num_devices    = 7,
110                 .device_list    = (enum ppc_sys_devices[])
111                 {
112                         MPC83xx_TSEC1, MPC83xx_TSEC2, MPC83xx_IIC1,
113                         MPC83xx_IIC2, MPC83xx_DUART,
114                         MPC83xx_USB2_DR, MPC83xx_MDIO
115                 },
116         },
117         {       /* default match */
118                 .ppc_sys_name   = "",
119                 .mask           = 0x00000000,
120                 .value          = 0x00000000,
121         },
122 };