aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-arm/arch-pxa/poodle.h
blob: 027573d38ee47766999b6e593a91a98141be9234 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
/*
 * linux/include/asm-arm/arch-pxa/poodle.h
 *
 * May be copied or modified under the terms of the GNU General Public
 * License.  See linux/COPYING for more information.
 *
 * Based on:
 *   linux/include/asm-arm/arch-sa1100/collie.h
 *
 * ChangeLog:
 *   04-06-2001 Lineo Japan, Inc.
 *   04-16-2001 SHARP Corporation
 *   Update to 2.6 John Lenz
 */
#ifndef __ASM_ARCH_POODLE_H
#define __ASM_ARCH_POODLE_H  1

/*
 * GPIOs
 */
/* PXA GPIOs */
#define POODLE_GPIO_ON_KEY		(0)
#define POODLE_GPIO_AC_IN		(1)
#define POODLE_GPIO_CO			16
#define POODLE_GPIO_TP_INT		(5)
#define POODLE_GPIO_WAKEUP		(11)	/* change battery */
#define POODLE_GPIO_GA_INT		(10)
#define POODLE_GPIO_IR_ON		(22)
#define POODLE_GPIO_HP_IN		(4)
#define POODLE_GPIO_CF_IRQ		(17)
#define POODLE_GPIO_CF_CD		(14)
#define POODLE_GPIO_CF_STSCHG		(14)
#define POODLE_GPIO_SD_PWR		(33)
#define POODLE_GPIO_nSD_CLK		(6)
#define POODLE_GPIO_nSD_WP		(7)
#define POODLE_GPIO_nSD_INT		(8)
#define POODLE_GPIO_nSD_DETECT		(9)
#define POODLE_GPIO_MAIN_BAT_LOW	(13)
#define POODLE_GPIO_BAT_COVER		(13)
#define POODLE_GPIO_ADC_TEMP_ON		(21)
#define POODLE_GPIO_BYPASS_ON		(36)
#define POODLE_GPIO_CHRG_ON		(38)
#define POODLE_GPIO_CHRG_FULL		(16)

/* PXA GPIOs */
#define POODLE_IRQ_GPIO_ON_KEY		IRQ_GPIO0
#define POODLE_IRQ_GPIO_AC_IN		IRQ_GPIO1
#define POODLE_IRQ_GPIO_HP_IN		IRQ_GPIO4
#define POODLE_IRQ_GPIO_CO		IRQ_GPIO16
#define POODLE_IRQ_GPIO_TP_INT		IRQ_GPIO5
#define POODLE_IRQ_GPIO_WAKEUP		IRQ_GPIO11
#define POODLE_IRQ_GPIO_GA_INT		IRQ_GPIO10
#define POODLE_IRQ_GPIO_CF_IRQ		IRQ_GPIO17
#define POODLE_IRQ_GPIO_CF_CD		IRQ_GPIO14
#define POODLE_IRQ_GPIO_nSD_INT		IRQ_GPIO8
#define POODLE_IRQ_GPIO_nSD_DETECT	IRQ_GPIO9
#define POODLE_IRQ_GPIO_MAIN_BAT_LOW	IRQ_GPIO13

/* SCOOP GPIOs */
#define POODLE_SCOOP_CHARGE_ON	SCOOP_GPCR_PA11
#define POODLE_SCOOP_CP401	SCOOP_GPCR_PA13
#define POODLE_SCOOP_VPEN	SCOOP_GPCR_PA18
#define POODLE_SCOOP_L_PCLK	SCOOP_GPCR_PA20
#define POODLE_SCOOP_L_LCLK	SCOOP_GPCR_PA21
#define POODLE_SCOOP_HS_OUT	SCOOP_GPCR_PA22

#define POODLE_SCOOP_IO_DIR	( POODLE_SCOOP_VPEN | POODLE_SCOOP_HS_OUT )
#define POODLE_SCOOP_IO_OUT	( 0 )

/*
 * Flash Memory mappings
 *
 * We have the following mapping:
 *                      phys            virt
 *      boot ROM        00000000        ef800000
 */
#define FLASH_MEM_BASE	0xa0000a00
#define	FLASH_DATA(adr) (*(volatile unsigned int*)(FLASH_MEM_BASE+(adr)))
#define	FLASH_DATA_F(adr) (*(volatile float32 *)(FLASH_MEM_BASE+(adr)))
#define FLASH_MAGIC_CHG(a,b,c,d) ( ( d << 24 ) | ( c << 16 )  | ( b << 8 ) | a )

/* COMADJ */
#define FLASH_COMADJ_MAJIC	FLASH_MAGIC_CHG('C','M','A','D')
#define	FLASH_COMADJ_MAGIC_ADR	0x00
#define	FLASH_COMADJ_DATA_ADR	0x04

/* UUID */
#define FLASH_UUID_MAJIC	FLASH_MAGIC_CHG('U','U','I','D')
#define	FLASH_UUID_MAGIC_ADR	0x08
#define	FLASH_UUID_DATA_ADR	0x0C

/* TOUCH PANEL */
#define FLASH_TOUCH_MAJIC	FLASH_MAGIC_CHG('T','U','C','H')
#define	FLASH_TOUCH_MAGIC_ADR	0x1C
#define	FLASH_TOUCH_XP_DATA_ADR	0x20
#define	FLASH_TOUCH_YP_DATA_ADR	0x24
#define	FLASH_TOUCH_XD_DATA_ADR	0x28
#define	FLASH_TOUCH_YD_DATA_ADR	0x2C

/* AD */
#define FLASH_AD_MAJIC	FLASH_MAGIC_CHG('B','V','A','D')
#define	FLASH_AD_MAGIC_ADR	0x30
#define	FLASH_AD_DATA_ADR	0x34

/* PHAD */
#define FLASH_PHAD_MAJIC	FLASH_MAGIC_CHG('P','H','A','D')
#define	FLASH_PHAD_MAGIC_ADR	0x38
#define	FLASH_PHAD_DATA_ADR	0x3C


#endif /* __ASM_ARCH_POODLE_H  */