This commit was manufactured by cvs2svn to create branch 'vserver'.
[linux-2.6.git] / arch / ppc / platforms / 85xx / mpc85xx_sys.c
1 /*
2  * arch/ppc/platforms/85xx/mpc85xx_sys.c
3  *
4  * MPC85xx System descriptions
5  *
6  * Maintainer: Kumar Gala <kumar.gala@freescale.com>
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   = "MPC8540",
25                 .mask           = 0xFFFF0000,
26                 .value          = 0x80300000,
27                 .num_devices    = 10,
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,
32                         MPC85xx_PERFMON, MPC85xx_DUART,
33                 },
34         },
35         {
36                 .ppc_sys_name   = "MPC8560",
37                 .mask           = 0xFFFF0000,
38                 .value          = 0x80700000,
39                 .num_devices    = 19,
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,
48                         MPC85xx_CPM_MCC1, MPC85xx_CPM_MCC2,
49                 },
50         },
51         {
52                 .ppc_sys_name   = "MPC8541",
53                 .mask           = 0xFFFF0000,
54                 .value          = 0x80720000,
55                 .num_devices    = 13,
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,
63                 },
64         },
65         {
66                 .ppc_sys_name   = "MPC8541E",
67                 .mask           = 0xFFFF0000,
68                 .value          = 0x807A0000,
69                 .num_devices    = 14,
70                 .device_list    = (enum ppc_sys_devices[])
71                 {
72                         MPC85xx_TSEC1, MPC85xx_TSEC2, MPC85xx_IIC1,
73                         MPC85xx_DMA0, MPC85xx_DMA1, MPC85xx_DMA2, MPC85xx_DMA3,
74                         MPC85xx_PERFMON, MPC85xx_DUART, MPC85xx_SEC2,
75                         MPC85xx_CPM_SPI, MPC85xx_CPM_I2C,
76                         MPC85xx_CPM_FCC1, MPC85xx_CPM_FCC2,
77                 },
78         },
79         {
80                 .ppc_sys_name   = "MPC8555",
81                 .mask           = 0xFFFF0000,
82                 .value          = 0x80710000,
83                 .num_devices    = 20,
84                 .device_list    = (enum ppc_sys_devices[])
85                 {
86                         MPC85xx_TSEC1, MPC85xx_TSEC2, MPC85xx_IIC1,
87                         MPC85xx_DMA0, MPC85xx_DMA1, MPC85xx_DMA2, MPC85xx_DMA3,
88                         MPC85xx_PERFMON, MPC85xx_DUART,
89                         MPC85xx_CPM_SPI, MPC85xx_CPM_I2C, MPC85xx_CPM_SCC1,
90                         MPC85xx_CPM_SCC2, MPC85xx_CPM_SCC3,
91                         MPC85xx_CPM_FCC1, MPC85xx_CPM_FCC2, MPC85xx_CPM_FCC3,
92                         MPC85xx_CPM_SMC1, MPC85xx_CPM_SMC2,
93                         MPC85xx_CPM_USB,
94                 },
95         },
96         {
97                 .ppc_sys_name   = "MPC8555E",
98                 .mask           = 0xFFFF0000,
99                 .value          = 0x80790000,
100                 .num_devices    = 21,
101                 .device_list    = (enum ppc_sys_devices[])
102                 {
103                         MPC85xx_TSEC1, MPC85xx_TSEC2, MPC85xx_IIC1,
104                         MPC85xx_DMA0, MPC85xx_DMA1, MPC85xx_DMA2, MPC85xx_DMA3,
105                         MPC85xx_PERFMON, MPC85xx_DUART, MPC85xx_SEC2,
106                         MPC85xx_CPM_SPI, MPC85xx_CPM_I2C, MPC85xx_CPM_SCC1,
107                         MPC85xx_CPM_SCC2, MPC85xx_CPM_SCC3,
108                         MPC85xx_CPM_FCC1, MPC85xx_CPM_FCC2, MPC85xx_CPM_FCC3,
109                         MPC85xx_CPM_SMC1, MPC85xx_CPM_SMC2,
110                         MPC85xx_CPM_USB,
111                 },
112         },
113         {       /* default match */
114                 .ppc_sys_name   = "",
115                 .mask           = 0x00000000,
116                 .value          = 0x00000000,
117         },
118 };