xref: /linux/arch/arm/mach-sa1100/include/mach/collie.h (revision 287d4d51e6bb1cd43cb77352bdec5bac1b2e1226)
1a09e64fbSRussell King /*
2a09e64fbSRussell King  * arch/arm/mach-sa1100/include/mach/collie.h
3a09e64fbSRussell King  *
4beca98c9SPaul Gortmaker  * This file contains the hardware specific definitions for Collie
5a09e64fbSRussell King  * Only include this file from SA1100-specific files.
6a09e64fbSRussell King  *
7a09e64fbSRussell King  * ChangeLog:
8a09e64fbSRussell King  *   04-06-2001 Lineo Japan, Inc.
9a09e64fbSRussell King  *   04-16-2001 SHARP Corporation
10a09e64fbSRussell King  *   07-07-2002 Chris Larson <clarson@digi.com>
11a09e64fbSRussell King  *
12a09e64fbSRussell King  */
13a09e64fbSRussell King #ifndef __ASM_ARCH_COLLIE_H
14a09e64fbSRussell King #define __ASM_ARCH_COLLIE_H
15a09e64fbSRussell King 
16beca98c9SPaul Gortmaker extern void locomolcd_power(int on);
17a09e64fbSRussell King 
18224be092SDmitry Baryshkov #define COLLIE_SCOOP_GPIO_BASE	(GPIO_MAX + 1)
198cb52f78SDmitry Baryshkov #define COLLIE_GPIO_CHARGE_ON	(COLLIE_SCOOP_GPIO_BASE + 0)
20a09e64fbSRussell King #define COLLIE_SCP_DIAG_BOOT1	SCOOP_GPCR_PA12
21a09e64fbSRussell King #define COLLIE_SCP_DIAG_BOOT2	SCOOP_GPCR_PA13
22a09e64fbSRussell King #define COLLIE_SCP_MUTE_L	SCOOP_GPCR_PA14
23a09e64fbSRussell King #define COLLIE_SCP_MUTE_R	SCOOP_GPCR_PA15
24a09e64fbSRussell King #define COLLIE_SCP_5VON		SCOOP_GPCR_PA16
25a09e64fbSRussell King #define COLLIE_SCP_AMP_ON	SCOOP_GPCR_PA17
26224be092SDmitry Baryshkov #define COLLIE_GPIO_VPEN	(COLLIE_SCOOP_GPIO_BASE + 7)
27a09e64fbSRussell King #define COLLIE_SCP_LB_VOL_CHG	SCOOP_GPCR_PA19
28a09e64fbSRussell King 
298cb52f78SDmitry Baryshkov #define COLLIE_SCOOP_IO_DIR	(COLLIE_SCP_MUTE_L | COLLIE_SCP_MUTE_R | \
30224be092SDmitry Baryshkov 				COLLIE_SCP_5VON | COLLIE_SCP_AMP_ON | \
31a09e64fbSRussell King 				COLLIE_SCP_LB_VOL_CHG)
328cb52f78SDmitry Baryshkov #define COLLIE_SCOOP_IO_OUT	(COLLIE_SCP_MUTE_L | COLLIE_SCP_MUTE_R)
33a09e64fbSRussell King 
341d0ad843SThomas Kunze /* GPIOs for gpiolib  */
35a09e64fbSRussell King 
361d0ad843SThomas Kunze #define COLLIE_GPIO_ON_KEY		(0)
371d0ad843SThomas Kunze #define COLLIE_GPIO_AC_IN		(1)
381d0ad843SThomas Kunze #define COLLIE_GPIO_SDIO_INT		(11)
391d0ad843SThomas Kunze #define COLLIE_GPIO_CF_IRQ		(14)
401d0ad843SThomas Kunze #define COLLIE_GPIO_nREMOCON_INT	(15)
411d0ad843SThomas Kunze #define COLLIE_GPIO_UCB1x00_RESET	(16)
421d0ad843SThomas Kunze #define COLLIE_GPIO_nMIC_ON		(17)
431d0ad843SThomas Kunze #define COLLIE_GPIO_nREMOCON_ON		(18)
441d0ad843SThomas Kunze #define COLLIE_GPIO_CO			(20)
451d0ad843SThomas Kunze #define COLLIE_GPIO_MCP_CLK		(21)
461d0ad843SThomas Kunze #define COLLIE_GPIO_CF_CD		(22)
471d0ad843SThomas Kunze #define COLLIE_GPIO_UCB1x00_IRQ		(23)
481d0ad843SThomas Kunze #define COLLIE_GPIO_WAKEUP		(24)
491d0ad843SThomas Kunze #define COLLIE_GPIO_GA_INT		(25)
501d0ad843SThomas Kunze #define COLLIE_GPIO_MAIN_BAT_LOW	(26)
51a09e64fbSRussell King 
521d0ad843SThomas Kunze /* GPIO definitions for direct register access */
531d0ad843SThomas Kunze 
541d0ad843SThomas Kunze #define _COLLIE_GPIO_ON_KEY		GPIO_GPIO(0)
551d0ad843SThomas Kunze #define _COLLIE_GPIO_AC_IN		GPIO_GPIO(1)
561d0ad843SThomas Kunze #define _COLLIE_GPIO_nREMOCON_INT	GPIO_GPIO(15)
571d0ad843SThomas Kunze #define _COLLIE_GPIO_UCB1x00_RESET	GPIO_GPIO(16)
581d0ad843SThomas Kunze #define _COLLIE_GPIO_nMIC_ON		GPIO_GPIO(17)
591d0ad843SThomas Kunze #define _COLLIE_GPIO_nREMOCON_ON	GPIO_GPIO(18)
601d0ad843SThomas Kunze #define _COLLIE_GPIO_CO			GPIO_GPIO(20)
611d0ad843SThomas Kunze #define _COLLIE_GPIO_WAKEUP		GPIO_GPIO(24)
62a09e64fbSRussell King /* Interrupts */
63a09e64fbSRussell King 
64a09e64fbSRussell King #define COLLIE_IRQ_GPIO_ON_KEY		IRQ_GPIO0
65a09e64fbSRussell King #define COLLIE_IRQ_GPIO_AC_IN		IRQ_GPIO1
66a09e64fbSRussell King #define COLLIE_IRQ_GPIO_SDIO_IRQ	IRQ_GPIO11
67a09e64fbSRussell King #define COLLIE_IRQ_GPIO_CF_IRQ		IRQ_GPIO14
68a09e64fbSRussell King #define COLLIE_IRQ_GPIO_nREMOCON_INT	IRQ_GPIO15
69a09e64fbSRussell King #define COLLIE_IRQ_GPIO_CO		IRQ_GPIO20
70a09e64fbSRussell King #define COLLIE_IRQ_GPIO_CF_CD		IRQ_GPIO22
71a09e64fbSRussell King #define COLLIE_IRQ_GPIO_UCB1x00_IRQ	IRQ_GPIO23
72a09e64fbSRussell King #define COLLIE_IRQ_GPIO_WAKEUP		IRQ_GPIO24
73a09e64fbSRussell King #define COLLIE_IRQ_GPIO_GA_INT		IRQ_GPIO25
74a09e64fbSRussell King #define COLLIE_IRQ_GPIO_MAIN_BAT_LOW	IRQ_GPIO26
75a09e64fbSRussell King 
76a09e64fbSRussell King /* GPIO's on the TC35143AF (Toshiba Analog Frontend) */
77f7177c84SThomas Kunze #define COLLIE_TC35143_GPIO_BASE	(GPIO_MAX + 13)
78f7177c84SThomas Kunze #define COLLIE_TC35143_GPIO_VERSION0    UCB_IO_0
79f7177c84SThomas Kunze #define COLLIE_TC35143_GPIO_TBL_CHK     UCB_IO_1
80f7177c84SThomas Kunze #define COLLIE_TC35143_GPIO_VPEN_ON     UCB_IO_2
81*287d4d51SDmitry Eremin-Solenikov #define COLLIE_GPIO_IR_ON		(COLLIE_TC35143_GPIO_BASE + 3)
82f7177c84SThomas Kunze #define COLLIE_TC35143_GPIO_AMP_ON      UCB_IO_4
83f7177c84SThomas Kunze #define COLLIE_TC35143_GPIO_VERSION1    UCB_IO_5
84f7177c84SThomas Kunze #define COLLIE_TC35143_GPIO_FS8KLPF     UCB_IO_5
85f7177c84SThomas Kunze #define COLLIE_TC35143_GPIO_BUZZER_BIAS UCB_IO_6
86f7177c84SThomas Kunze #define COLLIE_GPIO_MBAT_ON     	(COLLIE_TC35143_GPIO_BASE + 7)
87f7177c84SThomas Kunze #define COLLIE_GPIO_BBAT_ON     	(COLLIE_TC35143_GPIO_BASE + 8)
88f7177c84SThomas Kunze #define COLLIE_GPIO_TMP_ON      	(COLLIE_TC35143_GPIO_BASE + 9)
89a09e64fbSRussell King #define COLLIE_TC35143_GPIO_IN		(UCB_IO_0 | UCB_IO_2 | UCB_IO_5)
90f7177c84SThomas Kunze #define COLLIE_TC35143_GPIO_OUT		(UCB_IO_1 | UCB_IO_3 | UCB_IO_4 \
91f7177c84SThomas Kunze 						| UCB_IO_6)
92a09e64fbSRussell King 
93a09e64fbSRussell King #endif
94