1/* 2 * PQ2 System descriptions 3 * 4 * Maintainer: Kumar Gala <galak@kernel.crashing.org> 5 * 6 * This file is licensed under the terms of the GNU General Public License 7 * version 2. This program is licensed "as is" without any warranty of any 8 * kind, whether express or implied. 9 */ 10 11#include <linux/init.h> 12#include <linux/module.h> 13#include <linux/device.h> 14 15#include <asm/ppc_sys.h> 16 17struct ppc_sys_spec *cur_ppc_sys_spec; 18struct ppc_sys_spec ppc_sys_specs[] = { 19 /* below is a list of the 8260 family of processors */ 20 { 21 .ppc_sys_name = "8250", 22 .mask = 0x0000ff00, 23 .value = 0x00000000, 24 .num_devices = 12, 25 .device_list = (enum ppc_sys_devices[]) 26 { 27 MPC82xx_CPM_FCC1, MPC82xx_CPM_FCC2, MPC82xx_CPM_FCC3, 28 MPC82xx_CPM_SCC1, MPC82xx_CPM_SCC2, MPC82xx_CPM_SCC3, 29 MPC82xx_CPM_SCC4, MPC82xx_CPM_MCC2, MPC82xx_CPM_SMC1, 30 MPC82xx_CPM_SMC2, MPC82xx_CPM_SPI, MPC82xx_CPM_I2C, 31 } 32 }, 33 { 34 .ppc_sys_name = "8255", 35 .mask = 0x0000ff00, 36 .value = 0x00000000, 37 .num_devices = 11, 38 .device_list = (enum ppc_sys_devices[]) 39 { 40 MPC82xx_CPM_FCC1, MPC82xx_CPM_FCC2, MPC82xx_CPM_SCC1, 41 MPC82xx_CPM_SCC2, MPC82xx_CPM_SCC3, MPC82xx_CPM_SCC4, 42 MPC82xx_CPM_MCC2, MPC82xx_CPM_SMC1, MPC82xx_CPM_SMC2, 43 MPC82xx_CPM_SPI, MPC82xx_CPM_I2C, 44 } 45 }, 46 { 47 .ppc_sys_name = "8260", 48 .mask = 0x0000ff00, 49 .value = 0x00000000, 50 .num_devices = 13, 51 .device_list = (enum ppc_sys_devices[]) 52 { 53 MPC82xx_CPM_FCC1, MPC82xx_CPM_FCC2, MPC82xx_CPM_FCC3, 54 MPC82xx_CPM_SCC1, MPC82xx_CPM_SCC2, MPC82xx_CPM_SCC3, 55 MPC82xx_CPM_SCC4, MPC82xx_CPM_MCC1, MPC82xx_CPM_MCC2, 56 MPC82xx_CPM_SMC1, MPC82xx_CPM_SMC2, MPC82xx_CPM_SPI, 57 MPC82xx_CPM_I2C, 58 } 59 }, 60 { 61 .ppc_sys_name = "8264", 62 .mask = 0x0000ff00, 63 .value = 0x00000000, 64 .num_devices = 13, 65 .device_list = (enum ppc_sys_devices[]) 66 { 67 MPC82xx_CPM_FCC1, MPC82xx_CPM_FCC2, MPC82xx_CPM_FCC3, 68 MPC82xx_CPM_SCC1, MPC82xx_CPM_SCC2, MPC82xx_CPM_SCC3, 69 MPC82xx_CPM_SCC4, MPC82xx_CPM_MCC1, MPC82xx_CPM_MCC2, 70 MPC82xx_CPM_SMC1, MPC82xx_CPM_SMC2, MPC82xx_CPM_SPI, 71 MPC82xx_CPM_I2C, 72 } 73 }, 74 { 75 .ppc_sys_name = "8265", 76 .mask = 0x0000ff00, 77 .value = 0x00000000, 78 .num_devices = 13, 79 .device_list = (enum ppc_sys_devices[]) 80 { 81 MPC82xx_CPM_FCC1, MPC82xx_CPM_FCC2, MPC82xx_CPM_FCC3, 82 MPC82xx_CPM_SCC1, MPC82xx_CPM_SCC2, MPC82xx_CPM_SCC3, 83 MPC82xx_CPM_SCC4, MPC82xx_CPM_MCC1, MPC82xx_CPM_MCC2, 84 MPC82xx_CPM_SMC1, MPC82xx_CPM_SMC2, MPC82xx_CPM_SPI, 85 MPC82xx_CPM_I2C, 86 } 87 }, 88 { 89 .ppc_sys_name = "8266", 90 .mask = 0x0000ff00, 91 .value = 0x00000000, 92 .num_devices = 13, 93 .device_list = (enum ppc_sys_devices[]) 94 { 95 MPC82xx_CPM_FCC1, MPC82xx_CPM_FCC2, MPC82xx_CPM_FCC3, 96 MPC82xx_CPM_SCC1, MPC82xx_CPM_SCC2, MPC82xx_CPM_SCC3, 97 MPC82xx_CPM_SCC4, MPC82xx_CPM_MCC1, MPC82xx_CPM_MCC2, 98 MPC82xx_CPM_SMC1, MPC82xx_CPM_SMC2, MPC82xx_CPM_SPI, 99 MPC82xx_CPM_I2C, 100 } 101 }, 102 /* below is a list of the 8272 family of processors */ 103 { 104 .ppc_sys_name = "8247", 105 .mask = 0x0000ff00, 106 .value = 0x00000d00, 107 .num_devices = 10, 108 .device_list = (enum ppc_sys_devices[]) 109 { 110 MPC82xx_CPM_FCC1, MPC82xx_CPM_FCC2, MPC82xx_CPM_SCC1, 111 MPC82xx_CPM_SCC2, MPC82xx_CPM_SCC3, MPC82xx_CPM_SMC1, 112 MPC82xx_CPM_SMC2, MPC82xx_CPM_SPI, MPC82xx_CPM_I2C, 113 MPC82xx_CPM_USB, 114 }, 115 }, 116 { 117 .ppc_sys_name = "8248", 118 .mask = 0x0000ff00, 119 .value = 0x00000c00, 120 .num_devices = 12, 121 .device_list = (enum ppc_sys_devices[]) 122 { 123 MPC82xx_CPM_FCC1, MPC82xx_CPM_FCC2, MPC82xx_CPM_SCC1, 124 MPC82xx_CPM_SCC2, MPC82xx_CPM_SCC3, MPC82xx_CPM_SCC4, 125 MPC82xx_CPM_SMC1, MPC82xx_CPM_SMC2, MPC82xx_CPM_SPI, 126 MPC82xx_CPM_I2C, MPC82xx_CPM_USB, MPC82xx_SEC1, 127 }, 128 }, 129 { 130 .ppc_sys_name = "8271", 131 .mask = 0x0000ff00, 132 .value = 0x00000d00, 133 .num_devices = 10, 134 .device_list = (enum ppc_sys_devices[]) 135 { 136 MPC82xx_CPM_FCC1, MPC82xx_CPM_FCC2, MPC82xx_CPM_SCC1, 137 MPC82xx_CPM_SCC2, MPC82xx_CPM_SCC3, MPC82xx_CPM_SMC1, 138 MPC82xx_CPM_SMC2, MPC82xx_CPM_SPI, MPC82xx_CPM_I2C, 139 MPC82xx_CPM_USB, 140 }, 141 }, 142 { 143 .ppc_sys_name = "8272", 144 .mask = 0x0000ff00, 145 .value = 0x00000c00, 146 .num_devices = 13, 147 .device_list = (enum ppc_sys_devices[]) 148 { 149 MPC82xx_CPM_FCC1, MPC82xx_CPM_FCC2, MPC82xx_CPM_SCC1, 150 MPC82xx_CPM_SCC2, MPC82xx_CPM_SCC3, MPC82xx_CPM_SCC4, 151 MPC82xx_CPM_SMC1, MPC82xx_CPM_SMC2, MPC82xx_CPM_SPI, 152 MPC82xx_CPM_I2C, MPC82xx_CPM_USB, MPC82xx_SEC1, 153 MPC82xx_MDIO_BB, 154 }, 155 }, 156 /* below is a list of the 8280 family of processors */ 157 { 158 .ppc_sys_name = "8270", 159 .mask = 0x0000ff00, 160 .value = 0x00000a00, 161 .num_devices = 12, 162 .device_list = (enum ppc_sys_devices[]) 163 { 164 MPC82xx_CPM_FCC1, MPC82xx_CPM_FCC2, MPC82xx_CPM_FCC3, 165 MPC82xx_CPM_SCC1, MPC82xx_CPM_SCC2, MPC82xx_CPM_SCC3, 166 MPC82xx_CPM_SCC4, MPC82xx_CPM_MCC2, MPC82xx_CPM_SMC1, 167 MPC82xx_CPM_SMC2, MPC82xx_CPM_SPI, MPC82xx_CPM_I2C, 168 }, 169 }, 170 { 171 .ppc_sys_name = "8275", 172 .mask = 0x0000ff00, 173 .value = 0x00000a00, 174 .num_devices = 12, 175 .device_list = (enum ppc_sys_devices[]) 176 { 177 MPC82xx_CPM_FCC1, MPC82xx_CPM_FCC2, MPC82xx_CPM_FCC3, 178 MPC82xx_CPM_SCC1, MPC82xx_CPM_SCC2, MPC82xx_CPM_SCC3, 179 MPC82xx_CPM_SCC4, MPC82xx_CPM_MCC2, MPC82xx_CPM_SMC1, 180 MPC82xx_CPM_SMC2, MPC82xx_CPM_SPI, MPC82xx_CPM_I2C, 181 }, 182 }, 183 { 184 .ppc_sys_name = "8280", 185 .mask = 0x0000ff00, 186 .value = 0x00000a00, 187 .num_devices = 13, 188 .device_list = (enum ppc_sys_devices[]) 189 { 190 MPC82xx_CPM_FCC1, MPC82xx_CPM_FCC2, MPC82xx_CPM_FCC3, 191 MPC82xx_CPM_SCC1, MPC82xx_CPM_SCC2, MPC82xx_CPM_SCC3, 192 MPC82xx_CPM_SCC4, MPC82xx_CPM_MCC1, MPC82xx_CPM_MCC2, 193 MPC82xx_CPM_SMC1, MPC82xx_CPM_SMC2, MPC82xx_CPM_SPI, 194 MPC82xx_CPM_I2C, 195 }, 196 }, 197 { 198 /* default match */ 199 .ppc_sys_name = "", 200 .mask = 0x00000000, 201 .value = 0x00000000, 202 }, 203}; 204