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