1#ifndef __ASM_SH_HP6XX_H
2#define __ASM_SH_HP6XX_H
3
4/*
5 * Copyright (C) 2003, 2004, 2005  Andriy Skulysh
6 *
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.
10 *
11 */
12
13#define HP680_BTN_IRQ		32            /* IRQ0_IRQ */
14#define HP680_TS_IRQ		35            /* IRQ3_IRQ */
15#define HP680_HD64461_IRQ	36            /* IRQ4_IRQ */
16
17#define DAC_LCD_BRIGHTNESS	0
18#define DAC_SPEAKER_VOLUME	1
19
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
25
26#define PHDR_TS_PEN_DOWN	0x08
27
28#define PJDR_LED_BLINK		0x02
29
30#define PKDR_LED_GREEN		0x10
31
32#define SCPDR_TS_SCAN_ENABLE	0x20
33#define SCPDR_TS_SCAN_Y		0x02
34#define SCPDR_TS_SCAN_X		0x01
35
36#define SCPCR_TS_ENABLE		0x405
37#define SCPCR_TS_MASK		0xc0f
38
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
44
45#define HD64461_GPADR_SPEAKER	0x01
46#define HD64461_GPADR_PCMCIA0	(0x02|0x08)
47
48#define HD64461_GPBDR_LCDOFF	0x01
49#define HD64461_GPBDR_LCD_CONTRAST_MASK	0x78
50#define HD64461_GPBDR_LED_RED	0x80
51
52#include <asm/hd64461.h>
53#include <asm/io.h>
54
55#define PJDR	0xa4000130
56#define PKDR	0xa4000132
57
58static inline void hp6xx_led_red(int on)
59{
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);
66}
67
68static inline void hp6xx_led_green(int on)
69{
70	u8 v8;
71
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);
77}
78
79
80#endif /* __ASM_SH_HP6XX_H */
81