Add cmpxchg_local to parisc
[linux-2.6/pdupreez.git] / include / asm-sh / hp6xx.h
blob53ca5643d9c7efb4011da663fc357a0aa7e6e317
1 #ifndef __ASM_SH_HP6XX_H
2 #define __ASM_SH_HP6XX_H
4 /*
5 * Copyright (C) 2003, 2004, 2005 Andriy Skulysh
7 * This file is subject to the terms and conditions of the GNU General Public
8 * License. See the file "COPYING" in the main directory of this archive
9 * for more details.
13 #define HP680_BTN_IRQ 32 /* IRQ0_IRQ */
14 #define HP680_TS_IRQ 35 /* IRQ3_IRQ */
15 #define HP680_HD64461_IRQ 36 /* IRQ4_IRQ */
17 #define DAC_LCD_BRIGHTNESS 0
18 #define DAC_SPEAKER_VOLUME 1
20 #define PGDR_OPENED 0x01
21 #define PGDR_MAIN_BATTERY_OUT 0x04
22 #define PGDR_PLAY_BUTTON 0x08
23 #define PGDR_REWIND_BUTTON 0x10
24 #define PGDR_RECORD_BUTTON 0x20
26 #define PHDR_TS_PEN_DOWN 0x08
28 #define PJDR_LED_BLINK 0x02
30 #define PKDR_LED_GREEN 0x10
32 #define SCPDR_TS_SCAN_ENABLE 0x20
33 #define SCPDR_TS_SCAN_Y 0x02
34 #define SCPDR_TS_SCAN_X 0x01
36 #define SCPCR_TS_ENABLE 0x405
37 #define SCPCR_TS_MASK 0xc0f
39 #define ADC_CHANNEL_TS_Y 1
40 #define ADC_CHANNEL_TS_X 2
41 #define ADC_CHANNEL_BATTERY 3
42 #define ADC_CHANNEL_BACKUP 4
43 #define ADC_CHANNEL_CHARGE 5
45 #define HD64461_GPADR_SPEAKER 0x01
46 #define HD64461_GPADR_PCMCIA0 (0x02|0x08)
48 #define HD64461_GPBDR_LCDOFF 0x01
49 #define HD64461_GPBDR_LCD_CONTRAST_MASK 0x78
50 #define HD64461_GPBDR_LED_RED 0x80
52 #include <asm/hd64461.h>
53 #include <asm/io.h>
55 #define PJDR 0xa4000130
56 #define PKDR 0xa4000132
58 static inline void hp6xx_led_red(int on)
60 u16 v16;
61 v16 = ctrl_inw(CONFIG_HD64461_IOBASE + HD64461_GPBDR - 0x10000);
62 if (on)
63 ctrl_outw(v16 & (~HD64461_GPBDR_LED_RED), CONFIG_HD64461_IOBASE + HD64461_GPBDR - 0x10000);
64 else
65 ctrl_outw(v16 | HD64461_GPBDR_LED_RED, CONFIG_HD64461_IOBASE + HD64461_GPBDR - 0x10000);
68 static inline void hp6xx_led_green(int on)
70 u8 v8;
72 v8 = ctrl_inb(PKDR);
73 if (on)
74 ctrl_outb(v8 & (~PKDR_LED_GREEN), PKDR);
75 else
76 ctrl_outb(v8 | PKDR_LED_GREEN, PKDR);
80 #endif /* __ASM_SH_HP6XX_H */