1 /* 2 * Copyright 2010 Freescale Semiconductor, Inc. 3 * 4 * See file CREDITS for list of people who contributed to this 5 * project. 6 * 7 * This program is free software; you can redistribute it and/or 8 * modify it under the terms of the GNU General Public License as 9 * published by the Free Software Foundation; either version 2 of 10 * the License, or (at your option) any later version. 11 * 12 * This program is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 * GNU General Public License for more details. 16 * 17 * You should have received a copy of the GNU General Public License 18 * along with this program; if not, write to the Free Software 19 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, 20 * MA 02111-1307 USA 21 */ 22 #ifndef __PIXIS_H_ 23 #define __PIXIS_H_ 1 24 25 /* PIXIS register set. */ 26 #if defined(CONFIG_MPC8536DS) 27 typedef struct pixis { 28 u8 id; 29 u8 ver; 30 u8 pver; 31 u8 csr; 32 u8 rst; 33 u8 rst2; 34 u8 aux1; 35 u8 spd; 36 u8 aux2; 37 u8 csr2; 38 u8 watch; 39 u8 led; 40 u8 pwr; 41 u8 res[3]; 42 u8 vctl; 43 u8 vstat; 44 u8 vcfgen0; 45 u8 vcfgen1; 46 u8 vcore0; 47 u8 res1; 48 u8 vboot; 49 u8 vspeed[3]; 50 u8 sclk[3]; 51 u8 dclk[3]; 52 u8 i2cdacr; 53 u8 vcoreacc[4]; 54 u8 vcorecnt[3]; 55 u8 vcoremax[2]; 56 u8 vplatacc[4]; 57 u8 vplatcnt[3]; 58 u8 vplatmax[2]; 59 u8 vtempacc[4]; 60 u8 vtempcnt[3]; 61 u8 vtempmax[2]; 62 u8 res2[4]; 63 } __attribute__ ((packed)) pixis_t; 64 65 #elif defined(CONFIG_MPC8544DS) 66 typedef struct pixis { 67 u8 id; 68 u8 ver; 69 u8 pver; 70 u8 csr; 71 u8 rst; 72 u8 pwr; 73 u8 aux1; 74 u8 spd; 75 u8 res[8]; 76 u8 vctl; 77 u8 vstat; 78 u8 vcfgen0; 79 u8 vcfgen1; 80 u8 vcore0; 81 u8 res1; 82 u8 vboot; 83 u8 vspeed[2]; 84 u8 vclkh; 85 u8 vclkl; 86 u8 watch; 87 u8 led; 88 u8 vspeed2; 89 u8 res2[34]; 90 } __attribute__ ((packed)) pixis_t; 91 92 #elif defined(CONFIG_MPC8572DS) 93 typedef struct pixis { 94 u8 id; 95 u8 ver; 96 u8 pver; 97 u8 csr; 98 u8 rst; 99 u8 pwr1; 100 u8 aux1; 101 u8 spd; 102 u8 aux2; 103 u8 res[7]; 104 u8 vctl; 105 u8 vstat; 106 u8 vcfgen0; 107 u8 vcfgen1; 108 u8 vcore0; 109 u8 res1; 110 u8 vboot; 111 u8 vspeed[3]; 112 u8 res2[2]; 113 u8 sclk[3]; 114 u8 dclk[3]; 115 u8 res3[2]; 116 u8 watch; 117 u8 led; 118 u8 res4[25]; 119 } __attribute__ ((packed)) pixis_t; 120 121 #elif defined(CONFIG_MPC8610HPCD) 122 typedef struct pixis { 123 u8 id; 124 u8 ver; /* also called arch */ 125 u8 pver; 126 u8 csr; 127 u8 rst; 128 u8 pwr; 129 u8 aux; 130 u8 spd; 131 u8 brdcfg0; 132 u8 brdcfg1; 133 u8 res[4]; 134 u8 led; 135 u8 serno; 136 u8 vctl; 137 u8 vstat; 138 u8 vcfgen0; 139 u8 vcfgen1; 140 u8 vcore0; 141 u8 res1; 142 u8 vboot; 143 u8 vspeed[2]; 144 u8 res2; 145 u8 sclk[3]; 146 u8 res3; 147 u8 watch; 148 u8 res4[33]; 149 } __attribute__ ((packed)) pixis_t; 150 151 #elif defined(CONFIG_MPC8641HPCN) 152 typedef struct pixis { 153 u8 id; 154 u8 ver; 155 u8 pver; 156 u8 csr; 157 u8 rst; 158 u8 pwr; 159 u8 aux; 160 u8 spd; 161 u8 res[8]; 162 u8 vctl; 163 u8 vstat; 164 u8 vcfgen0; 165 u8 vcfgen1; 166 u8 vcore0; 167 u8 res1; 168 u8 vboot; 169 u8 vspeed[2]; 170 u8 vclkh; 171 u8 vclkl; 172 u8 watch; 173 u8 res3[36]; 174 } __attribute__ ((packed)) pixis_t; 175 #else 176 #error Need to define pixis_t for this board 177 #endif 178 179 /* Pointer to the PIXIS register set */ 180 #define pixis ((pixis_t *)PIXIS_BASE) 181 182 #endif /* __PIXIS_H_ */ 183