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