]> git.sur5r.net Git - u-boot/blobdiff - board/freescale/common/pixis.h
Merge branch 'next' of git://git.denx.de/u-boot-mpc83xx
[u-boot] / board / freescale / common / pixis.h
index ff62a62c74f44b0b218bea27cb1e7a46212aa5f8..9328404ff2ee354850fd523b5e785bc49aa4c633 100644 (file)
 /*
- * Copyright 2006 Freescale Semiconductor
+ * Copyright 2010 Freescale Semiconductor, Inc.
  *
- * See file CREDITS for list of people who contributed to this
- * project.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
+ * SPDX-License-Identifier:    GPL-2.0+
  */
+#ifndef __PIXIS_H_
+#define __PIXIS_H_     1
+
+/* PIXIS register set. */
+#if defined(CONFIG_MPC8536DS)
+typedef struct pixis {
+       u8 id;
+       u8 ver;
+       u8 pver;
+       u8 csr;
+       u8 rst;
+       u8 rst2;
+       u8 aux1;
+       u8 spd;
+       u8 aux2;
+       u8 csr2;
+       u8 watch;
+       u8 led;
+       u8 pwr;
+       u8 res[3];
+       u8 vctl;
+       u8 vstat;
+       u8 vcfgen0;
+       u8 vcfgen1;
+       u8 vcore0;
+       u8 res1;
+       u8 vboot;
+       u8 vspeed[3];
+       u8 sclk[3];
+       u8 dclk[3];
+       u8 i2cdacr;
+       u8 vcoreacc[4];
+       u8 vcorecnt[3];
+       u8 vcoremax[2];
+       u8 vplatacc[4];
+       u8 vplatcnt[3];
+       u8 vplatmax[2];
+       u8 vtempacc[4];
+       u8 vtempcnt[3];
+       u8 vtempmax[2];
+       u8 res2[4];
+} __attribute__ ((packed)) pixis_t;
+
+#elif defined(CONFIG_MPC8544DS)
+typedef struct pixis {
+       u8 id;
+       u8 ver;
+       u8 pver;
+       u8 csr;
+       u8 rst;
+       u8 pwr;
+       u8 aux1;
+       u8 spd;
+       u8 res[8];
+       u8 vctl;
+       u8 vstat;
+       u8 vcfgen0;
+       u8 vcfgen1;
+       u8 vcore0;
+       u8 res1;
+       u8 vboot;
+       u8 vspeed[2];
+       u8 vclkh;
+       u8 vclkl;
+       u8 watch;
+       u8 led;
+       u8 vspeed2;
+       u8 res2[34];
+} __attribute__ ((packed)) pixis_t;
+
+#elif defined(CONFIG_MPC8572DS)
+typedef struct pixis {
+       u8 id;
+       u8 ver;
+       u8 pver;
+       u8 csr;
+       u8 rst;
+       u8 pwr1;
+       u8 aux1;
+       u8 spd;
+       u8 aux2;
+       u8 res[7];
+       u8 vctl;
+       u8 vstat;
+       u8 vcfgen0;
+       u8 vcfgen1;
+       u8 vcore0;
+       u8 res1;
+       u8 vboot;
+       u8 vspeed[3];
+       u8 res2[2];
+       u8 sclk[3];
+       u8 dclk[3];
+       u8 res3[2];
+       u8 watch;
+       u8 led;
+       u8 res4[25];
+} __attribute__ ((packed)) pixis_t;
+
+#elif defined(CONFIG_MPC8610HPCD)
+typedef struct pixis {
+       u8 id;
+       u8 ver; /* also called arch */
+       u8 pver;
+       u8 csr;
+       u8 rst;
+       u8 pwr;
+       u8 aux;
+       u8 spd;
+       u8 brdcfg0;
+       u8 brdcfg1;
+       u8 res[4];
+       u8 led;
+       u8 serno;
+       u8 vctl;
+       u8 vstat;
+       u8 vcfgen0;
+       u8 vcfgen1;
+       u8 vcore0;
+       u8 res1;
+       u8 vboot;
+       u8 vspeed[2];
+       u8 res2;
+       u8 sclk[3];
+       u8 res3;
+       u8 watch;
+       u8 res4[33];
+} __attribute__ ((packed)) pixis_t;
+
+#elif defined(CONFIG_MPC8641HPCN)
+typedef struct pixis {
+       u8 id;
+       u8 ver;
+       u8 pver;
+       u8 csr;
+       u8 rst;
+       u8 pwr;
+       u8 aux;
+       u8 spd;
+       u8 res[8];
+       u8 vctl;
+       u8 vstat;
+       u8 vcfgen0;
+       u8 vcfgen1;
+       u8 vcore0;
+       u8 res1;
+       u8 vboot;
+       u8 vspeed[2];
+       u8 vclkh;
+       u8 vclkl;
+       u8 watch;
+       u8 res3[36];
+} __attribute__ ((packed)) pixis_t;
+#else
+#error Need to define pixis_t for this board
+#endif
+
+/* Pointer to the PIXIS register set */
+#define pixis ((pixis_t *)PIXIS_BASE)
 
-extern void pixis_reset(void);
-extern int set_px_sysclk(ulong sysclk);
-extern int set_px_mpxpll(ulong mpxpll);
-extern int set_px_corepll(ulong corepll);
-extern void read_from_px_regs(int set);
-extern void read_from_px_regs_altbank(int set);
-extern void set_altbank(void);
-extern void set_px_go(void);
-extern void set_px_go_with_watchdog(void);
+#endif /* __PIXIS_H_ */