| Dirk Opfer | 8459c15 | 2005-11-06 14:27:52 +0000 | [diff] [blame] | 1 | /* | 
 | 2 |  * Hardware specific definitions for Sharp SL-C6000x series of PDAs | 
 | 3 |  * | 
 | 4 |  * Copyright (c) 2005 Dirk Opfer | 
 | 5 |  * | 
 | 6 |  * Based on Sharp's 2.4 kernel patches | 
 | 7 |  * | 
 | 8 |  * This program is free software; you can redistribute it and/or modify | 
 | 9 |  * it under the terms of the GNU General Public License version 2 as | 
 | 10 |  * published by the Free Software Foundation. | 
 | 11 |  * | 
 | 12 |  */ | 
 | 13 | #ifndef _ASM_ARCH_TOSA_H_ | 
 | 14 | #define _ASM_ARCH_TOSA_H_ 1 | 
 | 15 |  | 
 | 16 | /*  TOSA Chip selects  */ | 
 | 17 | #define TOSA_LCDC_PHYS		PXA_CS4_PHYS | 
 | 18 | /* Internel Scoop */ | 
 | 19 | #define TOSA_CF_PHYS		(PXA_CS2_PHYS + 0x00800000) | 
 | 20 | /* Jacket Scoop */ | 
 | 21 | #define TOSA_SCOOP_PHYS  	(PXA_CS5_PHYS + 0x00800000) | 
 | 22 |  | 
 | 23 | /* | 
 | 24 |  * SCOOP2 internal GPIOs | 
 | 25 |  */ | 
 | 26 | #define TOSA_SCOOP_PXA_VCORE1		SCOOP_GPCR_PA11 | 
 | 27 | #define TOSA_SCOOP_TC6393_REST_IN	SCOOP_GPCR_PA12 | 
 | 28 | #define TOSA_SCOOP_IR_POWERDWN		SCOOP_GPCR_PA13 | 
 | 29 | #define TOSA_SCOOP_SD_WP		SCOOP_GPCR_PA14 | 
 | 30 | #define TOSA_SCOOP_PWR_ON		SCOOP_GPCR_PA15 | 
 | 31 | #define TOSA_SCOOP_AUD_PWR_ON		SCOOP_GPCR_PA16 | 
 | 32 | #define TOSA_SCOOP_BT_RESET		SCOOP_GPCR_PA17 | 
 | 33 | #define TOSA_SCOOP_BT_PWR_EN		SCOOP_GPCR_PA18 | 
 | 34 | #define TOSA_SCOOP_AC_IN_OL		SCOOP_GPCR_PA19 | 
 | 35 |  | 
 | 36 | /* GPIO Direction   1 : output mode / 0:input mode */ | 
 | 37 | #define TOSA_SCOOP_IO_DIR     ( TOSA_SCOOP_PXA_VCORE1 | TOSA_SCOOP_TC6393_REST_IN | \ | 
 | 38 | 		TOSA_SCOOP_IR_POWERDWN | TOSA_SCOOP_PWR_ON | TOSA_SCOOP_AUD_PWR_ON |\ | 
 | 39 | 		TOSA_SCOOP_BT_RESET | TOSA_SCOOP_BT_PWR_EN ) | 
 | 40 | /* GPIO out put level when init   1: Hi */ | 
 | 41 | #define TOSA_SCOOP_IO_OUT     ( TOSA_SCOOP_TC6393_REST_IN ) | 
 | 42 |  | 
 | 43 | /* | 
 | 44 |  * SCOOP2 jacket GPIOs | 
 | 45 |  */ | 
 | 46 | #define TOSA_SCOOP_JC_BT_LED		SCOOP_GPCR_PA11 | 
 | 47 | #define TOSA_SCOOP_JC_NOTE_LED		SCOOP_GPCR_PA12 | 
 | 48 | #define TOSA_SCOOP_JC_CHRG_ERR_LED	SCOOP_GPCR_PA13 | 
 | 49 | #define TOSA_SCOOP_JC_USB_PULLUP	SCOOP_GPCR_PA14 | 
 | 50 | #define TOSA_SCOOP_JC_TC6393_SUSPEND	SCOOP_GPCR_PA15 | 
 | 51 | #define TOSA_SCOOP_JC_TC3693_L3V_ON	SCOOP_GPCR_PA16 | 
 | 52 | #define TOSA_SCOOP_JC_WLAN_DETECT	SCOOP_GPCR_PA17 | 
 | 53 | #define TOSA_SCOOP_JC_WLAN_LED		SCOOP_GPCR_PA18 | 
 | 54 | #define TOSA_SCOOP_JC_CARD_LIMIT_SEL	SCOOP_GPCR_PA19 | 
 | 55 |  | 
 | 56 | /* GPIO Direction   1 : output mode / 0:input mode */ | 
 | 57 | #define TOSA_SCOOP_JC_IO_DIR ( TOSA_SCOOP_JC_BT_LED | TOSA_SCOOP_JC_NOTE_LED | \ | 
 | 58 | 		TOSA_SCOOP_JC_CHRG_ERR_LED | TOSA_SCOOP_JC_USB_PULLUP | \ | 
 | 59 | 		TOSA_SCOOP_JC_TC6393_SUSPEND | TOSA_SCOOP_JC_TC3693_L3V_ON | \ | 
 | 60 | 		TOSA_SCOOP_JC_WLAN_LED | TOSA_SCOOP_JC_CARD_LIMIT_SEL ) | 
 | 61 | /* GPIO out put level when init   1: Hi */ | 
 | 62 | #define TOSA_SCOOP_JC_IO_OUT ( 0 ) | 
 | 63 |  | 
 | 64 | /* | 
 | 65 |  * Timing Generator | 
 | 66 |  */ | 
 | 67 | #define TG_PNLCTL 			0x00 | 
 | 68 | #define TG_TPOSCTL 			0x01 | 
 | 69 | #define TG_DUTYCTL 			0x02 | 
 | 70 | #define TG_GPOSR 			0x03 | 
 | 71 | #define TG_GPODR1 			0x04 | 
 | 72 | #define TG_GPODR2 			0x05 | 
 | 73 | #define TG_PINICTL 			0x06 | 
 | 74 | #define TG_HPOSCTL 			0x07 | 
 | 75 |  | 
 | 76 | /* | 
 | 77 |  * LED | 
 | 78 |  */ | 
 | 79 | #define TOSA_SCOOP_LED_BLUE   		TOSA_SCOOP_GPCR_PA11 | 
 | 80 | #define TOSA_SCOOP_LED_GREEN  		TOSA_SCOOP_GPCR_PA12 | 
 | 81 | #define TOSA_SCOOP_LED_ORANGE		TOSA_SCOOP_GPCR_PA13 | 
 | 82 | #define TOSA_SCOOP_LED_WLAN		TOSA_SCOOP_GPCR_PA18 | 
 | 83 |  | 
 | 84 |  | 
 | 85 | /* | 
 | 86 |  * PXA GPIOs | 
 | 87 |  */ | 
 | 88 | #define TOSA_GPIO_POWERON		(0) | 
 | 89 | #define TOSA_GPIO_RESET			(1) | 
 | 90 | #define TOSA_GPIO_AC_IN			(2) | 
 | 91 | #define TOSA_GPIO_RECORD_BTN		(3) | 
 | 92 | #define TOSA_GPIO_SYNC			(4)	/* Cradle SYNC Button */ | 
 | 93 | #define TOSA_GPIO_USB_IN		(5) | 
 | 94 | #define TOSA_GPIO_JACKET_DETECT		(7) | 
 | 95 | #define TOSA_GPIO_nSD_DETECT		(9) | 
 | 96 | #define TOSA_GPIO_nSD_INT		(10) | 
 | 97 | #define TOSA_GPIO_TC6393_CLK		(11) | 
 | 98 | #define TOSA_GPIO_BAT1_CRG		(12) | 
 | 99 | #define TOSA_GPIO_CF_CD			(13) | 
 | 100 | #define TOSA_GPIO_BAT0_CRG		(14) | 
 | 101 | #define TOSA_GPIO_TC6393_INT		(15) | 
 | 102 | #define TOSA_GPIO_BAT0_LOW		(17) | 
 | 103 | #define TOSA_GPIO_TC6393_RDY		(18) | 
 | 104 | #define TOSA_GPIO_ON_RESET		(19) | 
 | 105 | #define TOSA_GPIO_EAR_IN		(20) | 
 | 106 | #define TOSA_GPIO_CF_IRQ		(21)	/* CF slot0 Ready */ | 
 | 107 | #define TOSA_GPIO_ON_KEY		(22) | 
 | 108 | #define TOSA_GPIO_VGA_LINE		(27) | 
 | 109 | #define TOSA_GPIO_TP_INT		(32)	/* Touch Panel pen down interrupt */ | 
 | 110 | #define TOSA_GPIO_JC_CF_IRQ		(36)	/* CF slot1 Ready */ | 
 | 111 | #define TOSA_GPIO_BAT_LOCKED		(38)	/* Battery locked */ | 
 | 112 | #define TOSA_GPIO_TG_SPI_SCLK		(81) | 
 | 113 | #define TOSA_GPIO_TG_SPI_CS		(82) | 
 | 114 | #define TOSA_GPIO_TG_SPI_MOSI		(83) | 
 | 115 | #define TOSA_GPIO_BAT1_LOW		(84) | 
 | 116 |  | 
 | 117 | #define TOSA_GPIO_HP_IN			GPIO_EAR_IN | 
 | 118 |  | 
 | 119 | #define TOSA_GPIO_MAIN_BAT_LOW		GPIO_BAT0_LOW | 
 | 120 |  | 
 | 121 | #define TOSA_KEY_STROBE_NUM		(11) | 
 | 122 | #define TOSA_KEY_SENSE_NUM		(7) | 
 | 123 |  | 
 | 124 | #define TOSA_GPIO_HIGH_STROBE_BIT	(0xfc000000) | 
 | 125 | #define TOSA_GPIO_LOW_STROBE_BIT	(0x0000001f) | 
 | 126 | #define TOSA_GPIO_ALL_SENSE_BIT		(0x00000fe0) | 
 | 127 | #define TOSA_GPIO_ALL_SENSE_RSHIFT	(5) | 
 | 128 | #define TOSA_GPIO_STROBE_BIT(a)		GPIO_bit(58+(a)) | 
 | 129 | #define TOSA_GPIO_SENSE_BIT(a)		GPIO_bit(69+(a)) | 
 | 130 | #define TOSA_GAFR_HIGH_STROBE_BIT	(0xfff00000) | 
 | 131 | #define TOSA_GAFR_LOW_STROBE_BIT	(0x000003ff) | 
 | 132 | #define TOSA_GAFR_ALL_SENSE_BIT		(0x00fffc00) | 
 | 133 | #define TOSA_GPIO_KEY_SENSE(a) 		(69+(a)) | 
 | 134 | #define TOSA_GPIO_KEY_STROBE(a)		(58+(a)) | 
 | 135 |  | 
 | 136 | /* | 
 | 137 |  * Interrupts | 
 | 138 |  */ | 
 | 139 | #define TOSA_IRQ_GPIO_WAKEUP        	IRQ_GPIO(TOSA_GPIO_WAKEUP) | 
 | 140 | #define TOSA_IRQ_GPIO_AC_IN         	IRQ_GPIO(TOSA_GPIO_AC_IN) | 
 | 141 | #define TOSA_IRQ_GPIO_RECORD_BTN    	IRQ_GPIO(TOSA_GPIO_RECORD_BTN) | 
 | 142 | #define TOSA_IRQ_GPIO_SYNC          	IRQ_GPIO(TOSA_GPIO_SYNC) | 
 | 143 | #define TOSA_IRQ_GPIO_USB_IN        	IRQ_GPIO(TOSA_GPIO_USB_IN) | 
 | 144 | #define TOSA_IRQ_GPIO_JACKET_DETECT 	IRQ_GPIO(TOSA_GPIO_JACKET_DETECT) | 
 | 145 | #define TOSA_IRQ_GPIO_nSD_INT       	IRQ_GPIO(TOSA_GPIO_nSD_INT) | 
 | 146 | #define TOSA_IRQ_GPIO_nSD_DETECT    	IRQ_GPIO(TOSA_GPIO_nSD_DETECT) | 
 | 147 | #define TOSA_IRQ_GPIO_BAT1_CRG      	IRQ_GPIO(TOSA_GPIO_BAT1_CRG) | 
 | 148 | #define TOSA_IRQ_GPIO_CF_CD         	IRQ_GPIO(TOSA_GPIO_CF_CD) | 
 | 149 | #define TOSA_IRQ_GPIO_BAT0_CRG      	IRQ_GPIO(TOSA_GPIO_BAT0_CRG) | 
 | 150 | #define TOSA_IRQ_GPIO_TC6393_INT    	IRQ_GPIO(TOSA_GPIO_TC6393_INT) | 
 | 151 | #define TOSA_IRQ_GPIO_BAT0_LOW      	IRQ_GPIO(TOSA_GPIO_BAT0_LOW) | 
 | 152 | #define TOSA_IRQ_GPIO_EAR_IN        	IRQ_GPIO(TOSA_GPIO_EAR_IN) | 
 | 153 | #define TOSA_IRQ_GPIO_CF_IRQ        	IRQ_GPIO(TOSA_GPIO_CF_IRQ) | 
 | 154 | #define TOSA_IRQ_GPIO_ON_KEY        	IRQ_GPIO(TOSA_GPIO_ON_KEY) | 
 | 155 | #define TOSA_IRQ_GPIO_VGA_LINE      	IRQ_GPIO(TOSA_GPIO_VGA_LINE) | 
 | 156 | #define TOSA_IRQ_GPIO_TP_INT        	IRQ_GPIO(TOSA_GPIO_TP_INT) | 
 | 157 | #define TOSA_IRQ_GPIO_JC_CF_IRQ     	IRQ_GPIO(TOSA_GPIO_JC_CF_IRQ) | 
 | 158 | #define TOSA_IRQ_GPIO_BAT_LOCKED    	IRQ_GPIO(TOSA_GPIO_BAT_LOCKED) | 
 | 159 | #define TOSA_IRQ_GPIO_BAT1_LOW      	IRQ_GPIO(TOSA_GPIO_BAT1_LOW) | 
 | 160 | #define TOSA_IRQ_GPIO_KEY_SENSE(a)  	IRQ_GPIO(69+(a)) | 
 | 161 |  | 
 | 162 | #define TOSA_IRQ_GPIO_MAIN_BAT_LOW 	IRQ_GPIO(TOSA_GPIO_MAIN_BAT_LOW) | 
 | 163 |  | 
 | 164 | extern struct platform_device tosascoop_jc_device; | 
 | 165 | extern struct platform_device tosascoop_device; | 
 | 166 | #endif /* _ASM_ARCH_TOSA_H_ */ |