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