mpc85xx_sys.c 6.1 KB
Newer Older
L
Linus Torvalds 已提交
1 2 3
/*
 * MPC85xx System descriptions
 *
4
 * Maintainer: Kumar Gala <galak@kernel.crashing.org>
L
Linus Torvalds 已提交
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
 *
 * Copyright 2005 Freescale Semiconductor Inc.
 *
 * This program is free software; you can redistribute  it and/or modify it
 * under  the terms of  the GNU General  Public License as published by the
 * Free Software Foundation;  either version 2 of the  License, or (at your
 * option) any later version.
 */

#include <linux/init.h>
#include <linux/module.h>
#include <linux/device.h>
#include <asm/ppc_sys.h>

struct ppc_sys_spec *cur_ppc_sys_spec;
struct ppc_sys_spec ppc_sys_specs[] = {
	{
		.ppc_sys_name	= "8540",
		.mask 		= 0xFFFF0000,
		.value 		= 0x80300000,
25
		.num_devices	= 11,
L
Linus Torvalds 已提交
26 27 28 29
		.device_list	= (enum ppc_sys_devices[])
		{
			MPC85xx_TSEC1, MPC85xx_TSEC2, MPC85xx_FEC, MPC85xx_IIC1,
			MPC85xx_DMA0, MPC85xx_DMA1, MPC85xx_DMA2, MPC85xx_DMA3,
30
			MPC85xx_PERFMON, MPC85xx_DUART, MPC85xx_MDIO,
L
Linus Torvalds 已提交
31 32 33 34 35 36
		},
	},
	{
		.ppc_sys_name	= "8560",
		.mask 		= 0xFFFF0000,
		.value 		= 0x80700000,
37
		.num_devices	= 20,
L
Linus Torvalds 已提交
38 39 40 41 42 43 44 45
		.device_list	= (enum ppc_sys_devices[])
		{
			MPC85xx_TSEC1, MPC85xx_TSEC2, MPC85xx_IIC1,
			MPC85xx_DMA0, MPC85xx_DMA1, MPC85xx_DMA2, MPC85xx_DMA3,
			MPC85xx_PERFMON,
			MPC85xx_CPM_SPI, MPC85xx_CPM_I2C, MPC85xx_CPM_SCC1,
			MPC85xx_CPM_SCC2, MPC85xx_CPM_SCC3, MPC85xx_CPM_SCC4,
			MPC85xx_CPM_FCC1, MPC85xx_CPM_FCC2, MPC85xx_CPM_FCC3,
46
			MPC85xx_CPM_MCC1, MPC85xx_CPM_MCC2, MPC85xx_MDIO,
L
Linus Torvalds 已提交
47 48 49 50 51 52
		},
	},
	{
		.ppc_sys_name	= "8541",
		.mask 		= 0xFFFF0000,
		.value 		= 0x80720000,
53
		.num_devices	= 14,
L
Linus Torvalds 已提交
54 55 56 57 58 59 60
		.device_list	= (enum ppc_sys_devices[])
		{
			MPC85xx_TSEC1, MPC85xx_TSEC2, MPC85xx_IIC1,
			MPC85xx_DMA0, MPC85xx_DMA1, MPC85xx_DMA2, MPC85xx_DMA3,
			MPC85xx_PERFMON, MPC85xx_DUART,
			MPC85xx_CPM_SPI, MPC85xx_CPM_I2C,
			MPC85xx_CPM_FCC1, MPC85xx_CPM_FCC2,
61
			MPC85xx_MDIO,
L
Linus Torvalds 已提交
62 63 64 65 66 67
		},
	},
	{
		.ppc_sys_name	= "8541E",
		.mask 		= 0xFFFF0000,
		.value 		= 0x807A0000,
68
		.num_devices	= 15,
L
Linus Torvalds 已提交
69 70 71 72 73 74 75
		.device_list	= (enum ppc_sys_devices[])
		{
			MPC85xx_TSEC1, MPC85xx_TSEC2, MPC85xx_IIC1,
			MPC85xx_DMA0, MPC85xx_DMA1, MPC85xx_DMA2, MPC85xx_DMA3,
			MPC85xx_PERFMON, MPC85xx_DUART, MPC85xx_SEC2,
			MPC85xx_CPM_SPI, MPC85xx_CPM_I2C,
			MPC85xx_CPM_FCC1, MPC85xx_CPM_FCC2,
76
			MPC85xx_MDIO,
L
Linus Torvalds 已提交
77 78 79 80 81 82
		},
	},
	{
		.ppc_sys_name	= "8555",
		.mask 		= 0xFFFF0000,
		.value 		= 0x80710000,
83
		.num_devices	= 20,
L
Linus Torvalds 已提交
84 85 86 87 88 89 90 91 92 93
		.device_list	= (enum ppc_sys_devices[])
		{
			MPC85xx_TSEC1, MPC85xx_TSEC2, MPC85xx_IIC1,
			MPC85xx_DMA0, MPC85xx_DMA1, MPC85xx_DMA2, MPC85xx_DMA3,
			MPC85xx_PERFMON, MPC85xx_DUART,
			MPC85xx_CPM_SPI, MPC85xx_CPM_I2C, MPC85xx_CPM_SCC1,
			MPC85xx_CPM_SCC2, MPC85xx_CPM_SCC3,
			MPC85xx_CPM_FCC1, MPC85xx_CPM_FCC2,
			MPC85xx_CPM_SMC1, MPC85xx_CPM_SMC2,
			MPC85xx_CPM_USB,
94
			MPC85xx_MDIO,
L
Linus Torvalds 已提交
95 96 97 98 99 100
		},
	},
	{
		.ppc_sys_name	= "8555E",
		.mask 		= 0xFFFF0000,
		.value 		= 0x80790000,
101
		.num_devices	= 21,
L
Linus Torvalds 已提交
102 103 104 105 106 107 108 109 110 111
		.device_list	= (enum ppc_sys_devices[])
		{
			MPC85xx_TSEC1, MPC85xx_TSEC2, MPC85xx_IIC1,
			MPC85xx_DMA0, MPC85xx_DMA1, MPC85xx_DMA2, MPC85xx_DMA3,
			MPC85xx_PERFMON, MPC85xx_DUART, MPC85xx_SEC2,
			MPC85xx_CPM_SPI, MPC85xx_CPM_I2C, MPC85xx_CPM_SCC1,
			MPC85xx_CPM_SCC2, MPC85xx_CPM_SCC3,
			MPC85xx_CPM_FCC1, MPC85xx_CPM_FCC2,
			MPC85xx_CPM_SMC1, MPC85xx_CPM_SMC2,
			MPC85xx_CPM_USB,
112
			MPC85xx_MDIO,
L
Linus Torvalds 已提交
113 114
		},
	},
115 116 117 118 119
	/* SVRs on 8548 rev1.0 matches for 8548/8547/8545 */
	{
		.ppc_sys_name	= "8548E",
		.mask 		= 0xFFFF00F0,
		.value 		= 0x80390010,
120
		.num_devices	= 14,
121 122 123 124 125 126
		.device_list	= (enum ppc_sys_devices[])
		{
			MPC85xx_eTSEC1, MPC85xx_eTSEC2, MPC85xx_eTSEC3,
			MPC85xx_eTSEC4, MPC85xx_IIC1, MPC85xx_IIC2,
			MPC85xx_DMA0, MPC85xx_DMA1, MPC85xx_DMA2, MPC85xx_DMA3,
			MPC85xx_PERFMON, MPC85xx_DUART, MPC85xx_SEC2,
127
			MPC85xx_MDIO,
128 129 130 131 132 133
		},
	},
	{
		.ppc_sys_name	= "8548",
		.mask 		= 0xFFFF00F0,
		.value 		= 0x80310010,
134
		.num_devices	= 13,
135 136 137 138 139 140
		.device_list	= (enum ppc_sys_devices[])
		{
			MPC85xx_eTSEC1, MPC85xx_eTSEC2, MPC85xx_eTSEC3,
			MPC85xx_eTSEC4, MPC85xx_IIC1, MPC85xx_IIC2,
			MPC85xx_DMA0, MPC85xx_DMA1, MPC85xx_DMA2, MPC85xx_DMA3,
			MPC85xx_PERFMON, MPC85xx_DUART,
141
			MPC85xx_MDIO,
142 143 144 145 146 147
		},
	},
	{
		.ppc_sys_name	= "8547E",
		.mask 		= 0xFFFF00F0,
		.value 		= 0x80390010,
148
		.num_devices	= 14,
149 150 151 152 153 154
		.device_list	= (enum ppc_sys_devices[])
		{
			MPC85xx_eTSEC1, MPC85xx_eTSEC2, MPC85xx_eTSEC3,
			MPC85xx_eTSEC4, MPC85xx_IIC1, MPC85xx_IIC2,
			MPC85xx_DMA0, MPC85xx_DMA1, MPC85xx_DMA2, MPC85xx_DMA3,
			MPC85xx_PERFMON, MPC85xx_DUART, MPC85xx_SEC2,
155
			MPC85xx_MDIO,
156 157 158 159 160 161
		},
	},
	{
		.ppc_sys_name	= "8547",
		.mask 		= 0xFFFF00F0,
		.value 		= 0x80310010,
162
		.num_devices	= 13,
163 164 165 166 167 168
		.device_list	= (enum ppc_sys_devices[])
		{
			MPC85xx_eTSEC1, MPC85xx_eTSEC2, MPC85xx_eTSEC3,
			MPC85xx_eTSEC4, MPC85xx_IIC1, MPC85xx_IIC2,
			MPC85xx_DMA0, MPC85xx_DMA1, MPC85xx_DMA2, MPC85xx_DMA3,
			MPC85xx_PERFMON, MPC85xx_DUART,
169
			MPC85xx_MDIO,
170 171 172 173 174 175
		},
	},
	{
		.ppc_sys_name	= "8545E",
		.mask 		= 0xFFFF00F0,
		.value 		= 0x80390010,
176
		.num_devices	= 12,
177 178 179 180 181 182
		.device_list	= (enum ppc_sys_devices[])
		{
			MPC85xx_eTSEC1, MPC85xx_eTSEC2,
			MPC85xx_IIC1, MPC85xx_IIC2,
			MPC85xx_DMA0, MPC85xx_DMA1, MPC85xx_DMA2, MPC85xx_DMA3,
			MPC85xx_PERFMON, MPC85xx_DUART, MPC85xx_SEC2,
183
			MPC85xx_MDIO,
184 185 186 187 188 189
		},
	},
	{
		.ppc_sys_name	= "8545",
		.mask 		= 0xFFFF00F0,
		.value 		= 0x80310010,
190
		.num_devices	= 11,
191 192 193 194 195 196
		.device_list	= (enum ppc_sys_devices[])
		{
			MPC85xx_eTSEC1, MPC85xx_eTSEC2,
			MPC85xx_IIC1, MPC85xx_IIC2,
			MPC85xx_DMA0, MPC85xx_DMA1, MPC85xx_DMA2, MPC85xx_DMA3,
			MPC85xx_PERFMON, MPC85xx_DUART,
197
			MPC85xx_MDIO,
198 199 200 201 202 203
		},
	},
	{
		.ppc_sys_name	= "8543E",
		.mask 		= 0xFFFF00F0,
		.value 		= 0x803A0010,
204
		.num_devices	= 12,
205 206 207 208 209 210
		.device_list	= (enum ppc_sys_devices[])
		{
			MPC85xx_eTSEC1, MPC85xx_eTSEC2,
			MPC85xx_IIC1, MPC85xx_IIC2,
			MPC85xx_DMA0, MPC85xx_DMA1, MPC85xx_DMA2, MPC85xx_DMA3,
			MPC85xx_PERFMON, MPC85xx_DUART, MPC85xx_SEC2,
211
			MPC85xx_MDIO,
212 213 214 215 216 217
		},
	},
	{
		.ppc_sys_name	= "8543",
		.mask 		= 0xFFFF00F0,
		.value 		= 0x80320010,
218
		.num_devices	= 11,
219 220 221 222 223 224
		.device_list	= (enum ppc_sys_devices[])
		{
			MPC85xx_eTSEC1, MPC85xx_eTSEC2,
			MPC85xx_IIC1, MPC85xx_IIC2,
			MPC85xx_DMA0, MPC85xx_DMA1, MPC85xx_DMA2, MPC85xx_DMA3,
			MPC85xx_PERFMON, MPC85xx_DUART,
225
			MPC85xx_MDIO,
226 227
		},
	},
L
Linus Torvalds 已提交
228 229 230 231 232 233
	{	/* default match */
		.ppc_sys_name	= "",
		.mask 		= 0x00000000,
		.value 		= 0x00000000,
	},
};