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