mpc85xx_sys.c 6.1 KB
Newer Older
L
Linus Torvalds 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
/*
 * arch/ppc/platforms/85xx/mpc85xx_sys.c
 *
 * MPC85xx System descriptions
 *
 * Maintainer: Kumar Gala <kumar.gala@freescale.com>
 *
 * 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,
27
		.num_devices	= 11,
L
Linus Torvalds 已提交
28 29 30 31
		.device_list	= (enum ppc_sys_devices[])
		{
			MPC85xx_TSEC1, MPC85xx_TSEC2, MPC85xx_FEC, MPC85xx_IIC1,
			MPC85xx_DMA0, MPC85xx_DMA1, MPC85xx_DMA2, MPC85xx_DMA3,
32
			MPC85xx_PERFMON, MPC85xx_DUART, MPC85xx_MDIO,
L
Linus Torvalds 已提交
33 34 35 36 37 38
		},
	},
	{
		.ppc_sys_name	= "8560",
		.mask 		= 0xFFFF0000,
		.value 		= 0x80700000,
39
		.num_devices	= 20,
L
Linus Torvalds 已提交
40 41 42 43 44 45 46 47
		.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,
48
			MPC85xx_CPM_MCC1, MPC85xx_CPM_MCC2, MPC85xx_MDIO,
L
Linus Torvalds 已提交
49 50 51 52 53 54
		},
	},
	{
		.ppc_sys_name	= "8541",
		.mask 		= 0xFFFF0000,
		.value 		= 0x80720000,
55
		.num_devices	= 14,
L
Linus Torvalds 已提交
56 57 58 59 60 61 62
		.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,
63
			MPC85xx_MDIO,
L
Linus Torvalds 已提交
64 65 66 67 68 69
		},
	},
	{
		.ppc_sys_name	= "8541E",
		.mask 		= 0xFFFF0000,
		.value 		= 0x807A0000,
70
		.num_devices	= 15,
L
Linus Torvalds 已提交
71 72 73 74 75 76 77
		.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,
78
			MPC85xx_MDIO,
L
Linus Torvalds 已提交
79 80 81 82 83 84
		},
	},
	{
		.ppc_sys_name	= "8555",
		.mask 		= 0xFFFF0000,
		.value 		= 0x80710000,
85
		.num_devices	= 20,
L
Linus Torvalds 已提交
86 87 88 89 90 91 92 93 94 95
		.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,
96
			MPC85xx_MDIO,
L
Linus Torvalds 已提交
97 98 99 100 101 102
		},
	},
	{
		.ppc_sys_name	= "8555E",
		.mask 		= 0xFFFF0000,
		.value 		= 0x80790000,
103
		.num_devices	= 21,
L
Linus Torvalds 已提交
104 105 106 107 108 109 110 111 112 113
		.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,
114
			MPC85xx_MDIO,
L
Linus Torvalds 已提交
115 116
		},
	},
117 118 119 120 121
	/* SVRs on 8548 rev1.0 matches for 8548/8547/8545 */
	{
		.ppc_sys_name	= "8548E",
		.mask 		= 0xFFFF00F0,
		.value 		= 0x80390010,
122
		.num_devices	= 14,
123 124 125 126 127 128
		.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,
129
			MPC85xx_MDIO,
130 131 132 133 134 135
		},
	},
	{
		.ppc_sys_name	= "8548",
		.mask 		= 0xFFFF00F0,
		.value 		= 0x80310010,
136
		.num_devices	= 13,
137 138 139 140 141 142
		.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,
143
			MPC85xx_MDIO,
144 145 146 147 148 149
		},
	},
	{
		.ppc_sys_name	= "8547E",
		.mask 		= 0xFFFF00F0,
		.value 		= 0x80390010,
150
		.num_devices	= 14,
151 152 153 154 155 156
		.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,
157
			MPC85xx_MDIO,
158 159 160 161 162 163
		},
	},
	{
		.ppc_sys_name	= "8547",
		.mask 		= 0xFFFF00F0,
		.value 		= 0x80310010,
164
		.num_devices	= 13,
165 166 167 168 169 170
		.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,
171
			MPC85xx_MDIO,
172 173 174 175 176 177
		},
	},
	{
		.ppc_sys_name	= "8545E",
		.mask 		= 0xFFFF00F0,
		.value 		= 0x80390010,
178
		.num_devices	= 12,
179 180 181 182 183 184
		.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,
185
			MPC85xx_MDIO,
186 187 188 189 190 191
		},
	},
	{
		.ppc_sys_name	= "8545",
		.mask 		= 0xFFFF00F0,
		.value 		= 0x80310010,
192
		.num_devices	= 11,
193 194 195 196 197 198
		.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,
199
			MPC85xx_MDIO,
200 201 202 203 204 205
		},
	},
	{
		.ppc_sys_name	= "8543E",
		.mask 		= 0xFFFF00F0,
		.value 		= 0x803A0010,
206
		.num_devices	= 12,
207 208 209 210 211 212
		.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,
213
			MPC85xx_MDIO,
214 215 216 217 218 219
		},
	},
	{
		.ppc_sys_name	= "8543",
		.mask 		= 0xFFFF00F0,
		.value 		= 0x80320010,
220
		.num_devices	= 11,
221 222 223 224 225 226
		.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,
227
			MPC85xx_MDIO,
228 229
		},
	},
L
Linus Torvalds 已提交
230 231 232 233 234 235
	{	/* default match */
		.ppc_sys_name	= "",
		.mask 		= 0x00000000,
		.value 		= 0x00000000,
	},
};