1 /* 2 * Copyright 2010 Freescale Semiconductor, Inc. 3 * 4 * SPDX-License-Identifier: GPL-2.0+ 5 */ 6 #ifndef __PIXIS_H_ 7 #define __PIXIS_H_ 1 8 9 /* PIXIS register set. */ 10 #if defined(CONFIG_TARGET_MPC8536DS) 11 typedef struct pixis { 12 u8 id; 13 u8 ver; 14 u8 pver; 15 u8 csr; 16 u8 rst; 17 u8 rst2; 18 u8 aux1; 19 u8 spd; 20 u8 aux2; 21 u8 csr2; 22 u8 watch; 23 u8 led; 24 u8 pwr; 25 u8 res[3]; 26 u8 vctl; 27 u8 vstat; 28 u8 vcfgen0; 29 u8 vcfgen1; 30 u8 vcore0; 31 u8 res1; 32 u8 vboot; 33 u8 vspeed[3]; 34 u8 sclk[3]; 35 u8 dclk[3]; 36 u8 i2cdacr; 37 u8 vcoreacc[4]; 38 u8 vcorecnt[3]; 39 u8 vcoremax[2]; 40 u8 vplatacc[4]; 41 u8 vplatcnt[3]; 42 u8 vplatmax[2]; 43 u8 vtempacc[4]; 44 u8 vtempcnt[3]; 45 u8 vtempmax[2]; 46 u8 res2[4]; 47 } __attribute__ ((packed)) pixis_t; 48 49 #elif defined(CONFIG_TARGET_MPC8544DS) 50 typedef struct pixis { 51 u8 id; 52 u8 ver; 53 u8 pver; 54 u8 csr; 55 u8 rst; 56 u8 pwr; 57 u8 aux1; 58 u8 spd; 59 u8 res[8]; 60 u8 vctl; 61 u8 vstat; 62 u8 vcfgen0; 63 u8 vcfgen1; 64 u8 vcore0; 65 u8 res1; 66 u8 vboot; 67 u8 vspeed[2]; 68 u8 vclkh; 69 u8 vclkl; 70 u8 watch; 71 u8 led; 72 u8 vspeed2; 73 u8 res2[34]; 74 } __attribute__ ((packed)) pixis_t; 75 76 #elif defined(CONFIG_TARGET_MPC8572DS) 77 typedef struct pixis { 78 u8 id; 79 u8 ver; 80 u8 pver; 81 u8 csr; 82 u8 rst; 83 u8 pwr1; 84 u8 aux1; 85 u8 spd; 86 u8 aux2; 87 u8 res[7]; 88 u8 vctl; 89 u8 vstat; 90 u8 vcfgen0; 91 u8 vcfgen1; 92 u8 vcore0; 93 u8 res1; 94 u8 vboot; 95 u8 vspeed[3]; 96 u8 res2[2]; 97 u8 sclk[3]; 98 u8 dclk[3]; 99 u8 res3[2]; 100 u8 watch; 101 u8 led; 102 u8 res4[25]; 103 } __attribute__ ((packed)) pixis_t; 104 105 #elif defined(CONFIG_TARGET_MPC8610HPCD) 106 typedef struct pixis { 107 u8 id; 108 u8 ver; /* also called arch */ 109 u8 pver; 110 u8 csr; 111 u8 rst; 112 u8 pwr; 113 u8 aux; 114 u8 spd; 115 u8 brdcfg0; 116 u8 brdcfg1; 117 u8 res[4]; 118 u8 led; 119 u8 serno; 120 u8 vctl; 121 u8 vstat; 122 u8 vcfgen0; 123 u8 vcfgen1; 124 u8 vcore0; 125 u8 res1; 126 u8 vboot; 127 u8 vspeed[2]; 128 u8 res2; 129 u8 sclk[3]; 130 u8 res3; 131 u8 watch; 132 u8 res4[33]; 133 } __attribute__ ((packed)) pixis_t; 134 135 #elif defined(CONFIG_TARGET_MPC8641HPCN) 136 typedef struct pixis { 137 u8 id; 138 u8 ver; 139 u8 pver; 140 u8 csr; 141 u8 rst; 142 u8 pwr; 143 u8 aux; 144 u8 spd; 145 u8 res[8]; 146 u8 vctl; 147 u8 vstat; 148 u8 vcfgen0; 149 u8 vcfgen1; 150 u8 vcore0; 151 u8 res1; 152 u8 vboot; 153 u8 vspeed[2]; 154 u8 vclkh; 155 u8 vclkl; 156 u8 watch; 157 u8 res3[36]; 158 } __attribute__ ((packed)) pixis_t; 159 #else 160 #error Need to define pixis_t for this board 161 #endif 162 163 /* Pointer to the PIXIS register set */ 164 #define pixis ((pixis_t *)PIXIS_BASE) 165 166 #endif /* __PIXIS_H_ */ 167