blob: bb0e65e356532bd92c885fa28d8acabb00d0613b [file] [log] [blame]
Kumar Galab4a60e52010-05-22 17:25:47 -05001/*
2 * Copyright 2010 Freescale Semiconductor, Inc.
3 *
Wolfgang Denk1a459662013-07-08 09:37:19 +02004 * SPDX-License-Identifier: GPL-2.0+
Kumar Galab4a60e52010-05-22 17:25:47 -05005 */
6#ifndef __PIXIS_H_
7#define __PIXIS_H_ 1
8
9/* PIXIS register set. */
York Sun30411e72016-11-16 11:09:07 -080010#if defined(CONFIG_TARGET_MPC8536DS)
Kumar Galab4a60e52010-05-22 17:25:47 -050011typedef 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
York Sunae59dde2016-11-16 11:45:18 -080049#elif defined(CONFIG_TARGET_MPC8544DS)
Kumar Galab4a60e52010-05-22 17:25:47 -050050typedef 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
York Sun2fe0cd82016-11-16 11:41:12 -080076#elif defined(CONFIG_TARGET_MPC8572DS)
Kumar Galab4a60e52010-05-22 17:25:47 -050077typedef 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
York Sun51f05ff2016-11-23 14:07:01 -0800105#elif defined(CONFIG_TARGET_MPC8610HPCD)
Kumar Galab4a60e52010-05-22 17:25:47 -0500106typedef 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_MPC8641HPCN)
136typedef 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_ */