1c902be71SArnd Bergmann /*
2c902be71SArnd Bergmann  * Cell Pervasive Monitor and Debug interface and HW structures
3c902be71SArnd Bergmann  *
4c902be71SArnd Bergmann  * (C) Copyright IBM Corporation 2005
5c902be71SArnd Bergmann  *
6c902be71SArnd Bergmann  * Authors: Maximino Aguilar (maguilar@us.ibm.com)
7c902be71SArnd Bergmann  *          David J. Erb (djerb@us.ibm.com)
8c902be71SArnd Bergmann  *
9c902be71SArnd Bergmann  * This program is free software; you can redistribute it and/or modify
10c902be71SArnd Bergmann  * it under the terms of the GNU General Public License as published by
11c902be71SArnd Bergmann  * the Free Software Foundation; either version 2, or (at your option)
12c902be71SArnd Bergmann  * any later version.
13c902be71SArnd Bergmann  *
14c902be71SArnd Bergmann  * This program is distributed in the hope that it will be useful,
15c902be71SArnd Bergmann  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16c902be71SArnd Bergmann  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17c902be71SArnd Bergmann  * GNU General Public License for more details.
18c902be71SArnd Bergmann  *
19c902be71SArnd Bergmann  * You should have received a copy of the GNU General Public License
20c902be71SArnd Bergmann  * along with this program; if not, write to the Free Software
21c902be71SArnd Bergmann  * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
22c902be71SArnd Bergmann  */
23c902be71SArnd Bergmann 
24c902be71SArnd Bergmann 
25c902be71SArnd Bergmann #ifndef PERVASIVE_H
26c902be71SArnd Bergmann #define PERVASIVE_H
27c902be71SArnd Bergmann 
28c902be71SArnd Bergmann struct pmd_regs {
29c902be71SArnd Bergmann 	u8 pad_0x0000_0x0800[0x0800 - 0x0000];			/* 0x0000 */
30c902be71SArnd Bergmann 
31c902be71SArnd Bergmann 	/* Thermal Sensor Registers */
32c902be71SArnd Bergmann 	u64  ts_ctsr1;						/* 0x0800 */
33c902be71SArnd Bergmann 	u64  ts_ctsr2;						/* 0x0808 */
34c902be71SArnd Bergmann 	u64  ts_mtsr1;						/* 0x0810 */
35c902be71SArnd Bergmann 	u64  ts_mtsr2;						/* 0x0818 */
36c902be71SArnd Bergmann 	u64  ts_itr1;						/* 0x0820 */
37c902be71SArnd Bergmann 	u64  ts_itr2;						/* 0x0828 */
38c902be71SArnd Bergmann 	u64  ts_gitr;						/* 0x0830 */
39c902be71SArnd Bergmann 	u64  ts_isr;						/* 0x0838 */
40c902be71SArnd Bergmann 	u64  ts_imr;						/* 0x0840 */
41c902be71SArnd Bergmann 	u64  tm_cr1;						/* 0x0848 */
42c902be71SArnd Bergmann 	u64  tm_cr2;						/* 0x0850 */
43c902be71SArnd Bergmann 	u64  tm_simr;						/* 0x0858 */
44c902be71SArnd Bergmann 	u64  tm_tpr;						/* 0x0860 */
45c902be71SArnd Bergmann 	u64  tm_str1;						/* 0x0868 */
46c902be71SArnd Bergmann 	u64  tm_str2;						/* 0x0870 */
47c902be71SArnd Bergmann 	u64  tm_tsr;						/* 0x0878 */
48c902be71SArnd Bergmann 
49c902be71SArnd Bergmann 	/* Power Management */
50c902be71SArnd Bergmann 	u64  pm_control;					/* 0x0880 */
51c902be71SArnd Bergmann #define PMD_PAUSE_ZERO_CONTROL		0x10000
52c902be71SArnd Bergmann 	u64  pm_status;						/* 0x0888 */
53c902be71SArnd Bergmann 
54c902be71SArnd Bergmann 	/* Time Base Register */
55c902be71SArnd Bergmann 	u64  tbr;						/* 0x0890 */
56c902be71SArnd Bergmann 
57c902be71SArnd Bergmann 	u8   pad_0x0898_0x1000 [0x1000 - 0x0898];		/* 0x0898 */
58c902be71SArnd Bergmann };
59c902be71SArnd Bergmann 
60c902be71SArnd Bergmann void __init cell_pervasive_init(void);
61c902be71SArnd Bergmann 
62c902be71SArnd Bergmann #endif
63