xref: /openbmc/u-boot/board/freescale/common/pixis.h (revision 6bd041f0)
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