aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sparc/include/asm
diff options
context:
space:
mode:
authorDaniel Hellstrom <daniel@gaisler.com>2011-01-26 20:26:58 -0500
committerDavid S. Miller <davem@davemloft.net>2011-03-16 21:19:04 -0400
commit7279b82cb1975ba4e337a549757f17418cfdffad (patch)
treebe97311b59bf95471ab2aa6e303e92c9a4427ac9 /arch/sparc/include/asm
parent684151a75bf25f5aeb8a23010da91a34e17b7353 (diff)
SPARC/LEON: power down instruction different of different LEONs
The way a LEON is powered down is implemented differently depending on CHIP type. The AMBA Plug&Play system ID tells revision of GRLIB and CHIP. This is for example needed by the GR-LEON4-ITX board and the UT699. Previously the power down support for LEON was limited to SMP, now both SMP and UP systems use the instruction. Signed-off-by: Daniel Hellstrom <daniel@gaisler.com> Acked-by: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch/sparc/include/asm')
-rw-r--r--arch/sparc/include/asm/leon_amba.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/sparc/include/asm/leon_amba.h b/arch/sparc/include/asm/leon_amba.h
index 263c719e96f5..e50f326e71bd 100644
--- a/arch/sparc/include/asm/leon_amba.h
+++ b/arch/sparc/include/asm/leon_amba.h
@@ -180,6 +180,7 @@ struct amba_ahb_device {
180struct device_node; 180struct device_node;
181void _amba_init(struct device_node *dp, struct device_node ***nextp); 181void _amba_init(struct device_node *dp, struct device_node ***nextp);
182 182
183extern unsigned long amba_system_id;
183extern struct leon3_irqctrl_regs_map *leon3_irqctrl_regs; 184extern struct leon3_irqctrl_regs_map *leon3_irqctrl_regs;
184extern struct leon3_gptimer_regs_map *leon3_gptimer_regs; 185extern struct leon3_gptimer_regs_map *leon3_gptimer_regs;
185extern struct amba_apb_device leon_percpu_timer_dev[16]; 186extern struct amba_apb_device leon_percpu_timer_dev[16];
@@ -254,6 +255,11 @@ extern unsigned int sparc_leon_eirq;
254#define GAISLER_L2C 0xffe /* internal device: leon2compat */ 255#define GAISLER_L2C 0xffe /* internal device: leon2compat */
255#define GAISLER_PLUGPLAY 0xfff /* internal device: plug & play configarea */ 256#define GAISLER_PLUGPLAY 0xfff /* internal device: plug & play configarea */
256 257
258/* Chip IDs */
259#define AEROFLEX_UT699 0x0699
260#define LEON4_NEXTREME1 0x0102
261#define GAISLER_GR712RC 0x0712
262
257#define amba_vendor(x) (((x) >> 24) & 0xff) 263#define amba_vendor(x) (((x) >> 24) & 0xff)
258 264
259#define amba_device(x) (((x) >> 12) & 0xfff) 265#define amba_device(x) (((x) >> 12) & 0xfff)