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