Merge branch 'sundance'
[linux-2.6] / arch / ppc / syslib / mpc83xx_sys.c
1 /*
2  * arch/ppc/platforms/83xx/mpc83xx_sys.c
3  *
4  * MPC83xx System descriptions
5  *
6  * Maintainer: Kumar Gala <galak@kernel.crashing.org>
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
21 struct ppc_sys_spec *cur_ppc_sys_spec;
22 struct ppc_sys_spec ppc_sys_specs[] = {
23         {
24                 .ppc_sys_name   = "8349E",
25                 .mask           = 0xFFFF0000,
26                 .value          = 0x80500000,
27                 .num_devices    = 9,
28                 .device_list    = (enum ppc_sys_devices[])
29                 {
30                         MPC83xx_TSEC1, MPC83xx_TSEC2, MPC83xx_IIC1,
31                         MPC83xx_IIC2, MPC83xx_DUART, MPC83xx_SEC2,
32                         MPC83xx_USB2_DR, MPC83xx_USB2_MPH, MPC83xx_MDIO
33                 },
34         },
35         {
36                 .ppc_sys_name   = "8349",
37                 .mask           = 0xFFFF0000,
38                 .value          = 0x80510000,
39                 .num_devices    = 8,
40                 .device_list    = (enum ppc_sys_devices[])
41                 {
42                         MPC83xx_TSEC1, MPC83xx_TSEC2, MPC83xx_IIC1,
43                         MPC83xx_IIC2, MPC83xx_DUART,
44                         MPC83xx_USB2_DR, MPC83xx_USB2_MPH, MPC83xx_MDIO
45                 },
46         },
47         {
48                 .ppc_sys_name   = "8347E",
49                 .mask           = 0xFFFF0000,
50                 .value          = 0x80520000,
51                 .num_devices    = 9,
52                 .device_list    = (enum ppc_sys_devices[])
53                 {
54                         MPC83xx_TSEC1, MPC83xx_TSEC2, MPC83xx_IIC1,
55                         MPC83xx_IIC2, MPC83xx_DUART, MPC83xx_SEC2,
56                         MPC83xx_USB2_DR, MPC83xx_USB2_MPH, MPC83xx_MDIO
57                 },
58         },
59         {
60                 .ppc_sys_name   = "8347",
61                 .mask           = 0xFFFF0000,
62                 .value          = 0x80530000,
63                 .num_devices    = 8,
64                 .device_list    = (enum ppc_sys_devices[])
65                 {
66                         MPC83xx_TSEC1, MPC83xx_TSEC2, MPC83xx_IIC1,
67                         MPC83xx_IIC2, MPC83xx_DUART,
68                         MPC83xx_USB2_DR, MPC83xx_USB2_MPH, MPC83xx_MDIO
69                 },
70         },
71         {
72                 .ppc_sys_name   = "8347E",
73                 .mask           = 0xFFFF0000,
74                 .value          = 0x80540000,
75                 .num_devices    = 9,
76                 .device_list    = (enum ppc_sys_devices[])
77                 {
78                         MPC83xx_TSEC1, MPC83xx_TSEC2, MPC83xx_IIC1,
79                         MPC83xx_IIC2, MPC83xx_DUART, MPC83xx_SEC2,
80                         MPC83xx_USB2_DR, MPC83xx_USB2_MPH, MPC83xx_MDIO
81                 },
82         },
83         {
84                 .ppc_sys_name   = "8347",
85                 .mask           = 0xFFFF0000,
86                 .value          = 0x80550000,
87                 .num_devices    = 8,
88                 .device_list    = (enum ppc_sys_devices[])
89                 {
90                         MPC83xx_TSEC1, MPC83xx_TSEC2, MPC83xx_IIC1,
91                         MPC83xx_IIC2, MPC83xx_DUART,
92                         MPC83xx_USB2_DR, MPC83xx_USB2_MPH, MPC83xx_MDIO
93                 },
94         },
95         {
96                 .ppc_sys_name   = "8343E",
97                 .mask           = 0xFFFF0000,
98                 .value          = 0x80560000,
99                 .num_devices    = 8,
100                 .device_list    = (enum ppc_sys_devices[])
101                 {
102                         MPC83xx_TSEC1, MPC83xx_TSEC2, MPC83xx_IIC1,
103                         MPC83xx_IIC2, MPC83xx_DUART, MPC83xx_SEC2,
104                         MPC83xx_USB2_DR, MPC83xx_MDIO
105                 },
106         },
107         {
108                 .ppc_sys_name   = "8343",
109                 .mask           = 0xFFFF0000,
110                 .value          = 0x80570000,
111                 .num_devices    = 7,
112                 .device_list    = (enum ppc_sys_devices[])
113                 {
114                         MPC83xx_TSEC1, MPC83xx_TSEC2, MPC83xx_IIC1,
115                         MPC83xx_IIC2, MPC83xx_DUART,
116                         MPC83xx_USB2_DR, MPC83xx_MDIO
117                 },
118         },
119         {       /* default match */
120                 .ppc_sys_name   = "",
121                 .mask           = 0x00000000,
122                 .value          = 0x00000000,
123         },
124 };