Linux Audio

Check our new training course

Linux kernel drivers training

Mar 31-Apr 9, 2025, special US time zones
Register
Loading...
 1/*
 2 * arch/arm/mach-sa1100/include/mach/collie.h
 3 *
 4 * This file contains the hardware specific definitions for Collie
 5 * Only include this file from SA1100-specific files.
 6 *
 7 * ChangeLog:
 8 *   04-06-2001 Lineo Japan, Inc.
 9 *   04-16-2001 SHARP Corporation
10 *   07-07-2002 Chris Larson <clarson@digi.com>
11 *
12 */
13#ifndef __ASM_ARCH_COLLIE_H
14#define __ASM_ARCH_COLLIE_H
15
16extern void locomolcd_power(int on);
17
18#define COLLIE_SCOOP_GPIO_BASE	(GPIO_MAX + 1)
19#define COLLIE_GPIO_CHARGE_ON	(COLLIE_SCOOP_GPIO_BASE + 0)
20#define COLLIE_SCP_DIAG_BOOT1	SCOOP_GPCR_PA12
21#define COLLIE_SCP_DIAG_BOOT2	SCOOP_GPCR_PA13
22#define COLLIE_SCP_MUTE_L	SCOOP_GPCR_PA14
23#define COLLIE_SCP_MUTE_R	SCOOP_GPCR_PA15
24#define COLLIE_SCP_5VON		SCOOP_GPCR_PA16
25#define COLLIE_SCP_AMP_ON	SCOOP_GPCR_PA17
26#define COLLIE_GPIO_VPEN	(COLLIE_SCOOP_GPIO_BASE + 7)
27#define COLLIE_SCP_LB_VOL_CHG	SCOOP_GPCR_PA19
28
29#define COLLIE_SCOOP_IO_DIR	(COLLIE_SCP_MUTE_L | COLLIE_SCP_MUTE_R | \
30				COLLIE_SCP_5VON | COLLIE_SCP_AMP_ON | \
31				COLLIE_SCP_LB_VOL_CHG)
32#define COLLIE_SCOOP_IO_OUT	(COLLIE_SCP_MUTE_L | COLLIE_SCP_MUTE_R)
33
34/* GPIOs for gpiolib  */
35
36#define COLLIE_GPIO_ON_KEY		(0)
37#define COLLIE_GPIO_AC_IN		(1)
38#define COLLIE_GPIO_SDIO_INT		(11)
39#define COLLIE_GPIO_CF_IRQ		(14)
40#define COLLIE_GPIO_nREMOCON_INT	(15)
41#define COLLIE_GPIO_UCB1x00_RESET	(16)
42#define COLLIE_GPIO_nMIC_ON		(17)
43#define COLLIE_GPIO_nREMOCON_ON		(18)
44#define COLLIE_GPIO_CO			(20)
45#define COLLIE_GPIO_MCP_CLK		(21)
46#define COLLIE_GPIO_CF_CD		(22)
47#define COLLIE_GPIO_UCB1x00_IRQ		(23)
48#define COLLIE_GPIO_WAKEUP		(24)
49#define COLLIE_GPIO_GA_INT		(25)
50#define COLLIE_GPIO_MAIN_BAT_LOW	(26)
51
52/* GPIO definitions for direct register access */
53
54#define _COLLIE_GPIO_ON_KEY		GPIO_GPIO(0)
55#define _COLLIE_GPIO_AC_IN		GPIO_GPIO(1)
56#define _COLLIE_GPIO_nREMOCON_INT	GPIO_GPIO(15)
57#define _COLLIE_GPIO_UCB1x00_RESET	GPIO_GPIO(16)
58#define _COLLIE_GPIO_nMIC_ON		GPIO_GPIO(17)
59#define _COLLIE_GPIO_nREMOCON_ON	GPIO_GPIO(18)
60#define _COLLIE_GPIO_CO			GPIO_GPIO(20)
61#define _COLLIE_GPIO_WAKEUP		GPIO_GPIO(24)
62/* Interrupts */
63
64#define COLLIE_IRQ_GPIO_ON_KEY		IRQ_GPIO0
65#define COLLIE_IRQ_GPIO_AC_IN		IRQ_GPIO1
66#define COLLIE_IRQ_GPIO_SDIO_IRQ	IRQ_GPIO11
67#define COLLIE_IRQ_GPIO_CF_IRQ		IRQ_GPIO14
68#define COLLIE_IRQ_GPIO_nREMOCON_INT	IRQ_GPIO15
69#define COLLIE_IRQ_GPIO_CO		IRQ_GPIO20
70#define COLLIE_IRQ_GPIO_CF_CD		IRQ_GPIO22
71#define COLLIE_IRQ_GPIO_UCB1x00_IRQ	IRQ_GPIO23
72#define COLLIE_IRQ_GPIO_WAKEUP		IRQ_GPIO24
73#define COLLIE_IRQ_GPIO_GA_INT		IRQ_GPIO25
74#define COLLIE_IRQ_GPIO_MAIN_BAT_LOW	IRQ_GPIO26
75
76/* GPIO's on the TC35143AF (Toshiba Analog Frontend) */
77#define COLLIE_TC35143_GPIO_BASE	(GPIO_MAX + 13)
78#define COLLIE_TC35143_GPIO_VERSION0    UCB_IO_0
79#define COLLIE_TC35143_GPIO_TBL_CHK     UCB_IO_1
80#define COLLIE_TC35143_GPIO_VPEN_ON     UCB_IO_2
81#define COLLIE_TC35143_GPIO_IR_ON       UCB_IO_3
82#define COLLIE_TC35143_GPIO_AMP_ON      UCB_IO_4
83#define COLLIE_TC35143_GPIO_VERSION1    UCB_IO_5
84#define COLLIE_TC35143_GPIO_FS8KLPF     UCB_IO_5
85#define COLLIE_TC35143_GPIO_BUZZER_BIAS UCB_IO_6
86#define COLLIE_GPIO_MBAT_ON     	(COLLIE_TC35143_GPIO_BASE + 7)
87#define COLLIE_GPIO_BBAT_ON     	(COLLIE_TC35143_GPIO_BASE + 8)
88#define COLLIE_GPIO_TMP_ON      	(COLLIE_TC35143_GPIO_BASE + 9)
89#define COLLIE_TC35143_GPIO_IN		(UCB_IO_0 | UCB_IO_2 | UCB_IO_5)
90#define COLLIE_TC35143_GPIO_OUT		(UCB_IO_1 | UCB_IO_3 | UCB_IO_4 \
91						| UCB_IO_6)
92
93#endif