Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0-only */
0002 /*
0003  * Hardware specific definitions for Sharp SL-C6000x series of PDAs
0004  *
0005  * Copyright (c) 2005 Dirk Opfer
0006  *
0007  * Based on Sharp's 2.4 kernel patches
0008  */
0009 #ifndef _ASM_ARCH_TOSA_H_
0010 #define _ASM_ARCH_TOSA_H_ 1
0011 
0012 #include "irqs.h" /* PXA_NR_BUILTIN_GPIO */
0013 
0014 /*  TOSA Chip selects  */
0015 #define TOSA_LCDC_PHYS      PXA_CS4_PHYS
0016 /* Internel Scoop */
0017 #define TOSA_CF_PHYS        (PXA_CS2_PHYS + 0x00800000)
0018 /* Jacket Scoop */
0019 #define TOSA_SCOOP_PHYS     (PXA_CS5_PHYS + 0x00800000)
0020 
0021 #define TOSA_NR_IRQS        (IRQ_BOARD_START + TC6393XB_NR_IRQS)
0022 /*
0023  * SCOOP2 internal GPIOs
0024  */
0025 #define TOSA_SCOOP_GPIO_BASE        PXA_NR_BUILTIN_GPIO
0026 #define TOSA_SCOOP_PXA_VCORE1       SCOOP_GPCR_PA11
0027 #define TOSA_GPIO_TC6393XB_REST_IN  (TOSA_SCOOP_GPIO_BASE + 1)
0028 #define TOSA_GPIO_IR_POWERDWN       (TOSA_SCOOP_GPIO_BASE + 2)
0029 #define TOSA_GPIO_SD_WP         (TOSA_SCOOP_GPIO_BASE + 3)
0030 #define TOSA_GPIO_PWR_ON        (TOSA_SCOOP_GPIO_BASE + 4)
0031 #define TOSA_SCOOP_AUD_PWR_ON       SCOOP_GPCR_PA16
0032 #define TOSA_GPIO_BT_RESET      (TOSA_SCOOP_GPIO_BASE + 6)
0033 #define TOSA_GPIO_BT_PWR_EN     (TOSA_SCOOP_GPIO_BASE + 7)
0034 #define TOSA_SCOOP_AC_IN_OL     SCOOP_GPCR_PA19
0035 
0036 /* GPIO Direction   1 : output mode / 0:input mode */
0037 #define TOSA_SCOOP_IO_DIR     (TOSA_SCOOP_PXA_VCORE1 | \
0038         TOSA_SCOOP_AUD_PWR_ON)
0039 
0040 /*
0041  * SCOOP2 jacket GPIOs
0042  */
0043 #define TOSA_SCOOP_JC_GPIO_BASE     (PXA_NR_BUILTIN_GPIO + 12)
0044 #define TOSA_GPIO_BT_LED        (TOSA_SCOOP_JC_GPIO_BASE + 0)
0045 #define TOSA_GPIO_NOTE_LED      (TOSA_SCOOP_JC_GPIO_BASE + 1)
0046 #define TOSA_GPIO_CHRG_ERR_LED      (TOSA_SCOOP_JC_GPIO_BASE + 2)
0047 #define TOSA_GPIO_USB_PULLUP        (TOSA_SCOOP_JC_GPIO_BASE + 3)
0048 #define TOSA_GPIO_TC6393XB_SUSPEND  (TOSA_SCOOP_JC_GPIO_BASE + 4)
0049 #define TOSA_GPIO_TC6393XB_L3V_ON   (TOSA_SCOOP_JC_GPIO_BASE + 5)
0050 #define TOSA_SCOOP_JC_WLAN_DETECT   SCOOP_GPCR_PA17
0051 #define TOSA_GPIO_WLAN_LED      (TOSA_SCOOP_JC_GPIO_BASE + 7)
0052 #define TOSA_SCOOP_JC_CARD_LIMIT_SEL    SCOOP_GPCR_PA19
0053 
0054 /* GPIO Direction   1 : output mode / 0:input mode */
0055 #define TOSA_SCOOP_JC_IO_DIR (TOSA_SCOOP_JC_CARD_LIMIT_SEL)
0056 
0057 /*
0058  * PXA GPIOs
0059  */
0060 #define TOSA_GPIO_POWERON       (0)
0061 #define TOSA_GPIO_RESET         (1)
0062 #define TOSA_GPIO_AC_IN         (2)
0063 #define TOSA_GPIO_RECORD_BTN        (3)
0064 #define TOSA_GPIO_SYNC          (4) /* Cradle SYNC Button */
0065 #define TOSA_GPIO_USB_IN        (5)
0066 #define TOSA_GPIO_JACKET_DETECT     (7)
0067 #define TOSA_GPIO_nSD_DETECT        (9)
0068 #define TOSA_GPIO_nSD_INT       (10)
0069 #define TOSA_GPIO_TC6393XB_CLK      (11)
0070 #define TOSA_GPIO_BAT1_CRG      (12)
0071 #define TOSA_GPIO_CF_CD         (13)
0072 #define TOSA_GPIO_BAT0_CRG      (14)
0073 #define TOSA_GPIO_TC6393XB_INT      (15)
0074 #define TOSA_GPIO_BAT0_LOW      (17)
0075 #define TOSA_GPIO_TC6393XB_RDY      (18)
0076 #define TOSA_GPIO_ON_RESET      (19)
0077 #define TOSA_GPIO_EAR_IN        (20)
0078 #define TOSA_GPIO_CF_IRQ        (21)    /* CF slot0 Ready */
0079 #define TOSA_GPIO_ON_KEY        (22)
0080 #define TOSA_GPIO_VGA_LINE      (27)
0081 #define TOSA_GPIO_TP_INT        (32)    /* Touch Panel pen down interrupt */
0082 #define TOSA_GPIO_JC_CF_IRQ     (36)    /* CF slot1 Ready */
0083 #define TOSA_GPIO_BAT_LOCKED        (38)    /* Battery locked */
0084 #define TOSA_GPIO_IRDA_TX       (47)
0085 #define TOSA_GPIO_TG_SPI_SCLK       (81)
0086 #define TOSA_GPIO_TG_SPI_CS     (82)
0087 #define TOSA_GPIO_TG_SPI_MOSI       (83)
0088 #define TOSA_GPIO_BAT1_LOW      (84)
0089 
0090 #define TOSA_GPIO_HP_IN         GPIO_EAR_IN
0091 
0092 #define TOSA_GPIO_MAIN_BAT_LOW      GPIO_BAT0_LOW
0093 
0094 #define TOSA_KEY_STROBE_NUM     (11)
0095 #define TOSA_KEY_SENSE_NUM      (7)
0096 
0097 #define TOSA_GPIO_HIGH_STROBE_BIT   (0xfc000000)
0098 #define TOSA_GPIO_LOW_STROBE_BIT    (0x0000001f)
0099 #define TOSA_GPIO_ALL_SENSE_BIT     (0x00000fe0)
0100 #define TOSA_GPIO_ALL_SENSE_RSHIFT  (5)
0101 #define TOSA_GPIO_STROBE_BIT(a)     GPIO_bit(58+(a))
0102 #define TOSA_GPIO_SENSE_BIT(a)      GPIO_bit(69+(a))
0103 #define TOSA_GAFR_HIGH_STROBE_BIT   (0xfff00000)
0104 #define TOSA_GAFR_LOW_STROBE_BIT    (0x000003ff)
0105 #define TOSA_GAFR_ALL_SENSE_BIT     (0x00fffc00)
0106 #define TOSA_GPIO_KEY_SENSE(a)      (69+(a))
0107 #define TOSA_GPIO_KEY_STROBE(a)     (58+(a))
0108 
0109 /*
0110  * Interrupts
0111  */
0112 #define TOSA_IRQ_GPIO_WAKEUP            PXA_GPIO_TO_IRQ(TOSA_GPIO_WAKEUP)
0113 #define TOSA_IRQ_GPIO_AC_IN             PXA_GPIO_TO_IRQ(TOSA_GPIO_AC_IN)
0114 #define TOSA_IRQ_GPIO_RECORD_BTN        PXA_GPIO_TO_IRQ(TOSA_GPIO_RECORD_BTN)
0115 #define TOSA_IRQ_GPIO_SYNC              PXA_GPIO_TO_IRQ(TOSA_GPIO_SYNC)
0116 #define TOSA_IRQ_GPIO_USB_IN            PXA_GPIO_TO_IRQ(TOSA_GPIO_USB_IN)
0117 #define TOSA_IRQ_GPIO_JACKET_DETECT     PXA_GPIO_TO_IRQ(TOSA_GPIO_JACKET_DETECT)
0118 #define TOSA_IRQ_GPIO_nSD_INT           PXA_GPIO_TO_IRQ(TOSA_GPIO_nSD_INT)
0119 #define TOSA_IRQ_GPIO_nSD_DETECT        PXA_GPIO_TO_IRQ(TOSA_GPIO_nSD_DETECT)
0120 #define TOSA_IRQ_GPIO_BAT1_CRG          PXA_GPIO_TO_IRQ(TOSA_GPIO_BAT1_CRG)
0121 #define TOSA_IRQ_GPIO_CF_CD             PXA_GPIO_TO_IRQ(TOSA_GPIO_CF_CD)
0122 #define TOSA_IRQ_GPIO_BAT0_CRG          PXA_GPIO_TO_IRQ(TOSA_GPIO_BAT0_CRG)
0123 #define TOSA_IRQ_GPIO_TC6393XB_INT      PXA_GPIO_TO_IRQ(TOSA_GPIO_TC6393XB_INT)
0124 #define TOSA_IRQ_GPIO_BAT0_LOW          PXA_GPIO_TO_IRQ(TOSA_GPIO_BAT0_LOW)
0125 #define TOSA_IRQ_GPIO_EAR_IN            PXA_GPIO_TO_IRQ(TOSA_GPIO_EAR_IN)
0126 #define TOSA_IRQ_GPIO_CF_IRQ            PXA_GPIO_TO_IRQ(TOSA_GPIO_CF_IRQ)
0127 #define TOSA_IRQ_GPIO_ON_KEY            PXA_GPIO_TO_IRQ(TOSA_GPIO_ON_KEY)
0128 #define TOSA_IRQ_GPIO_VGA_LINE          PXA_GPIO_TO_IRQ(TOSA_GPIO_VGA_LINE)
0129 #define TOSA_IRQ_GPIO_TP_INT            PXA_GPIO_TO_IRQ(TOSA_GPIO_TP_INT)
0130 #define TOSA_IRQ_GPIO_JC_CF_IRQ         PXA_GPIO_TO_IRQ(TOSA_GPIO_JC_CF_IRQ)
0131 #define TOSA_IRQ_GPIO_BAT_LOCKED        PXA_GPIO_TO_IRQ(TOSA_GPIO_BAT_LOCKED)
0132 #define TOSA_IRQ_GPIO_BAT1_LOW          PXA_GPIO_TO_IRQ(TOSA_GPIO_BAT1_LOW)
0133 #define TOSA_IRQ_GPIO_KEY_SENSE(a)      PXA_GPIO_TO_IRQ(69+(a))
0134 
0135 #define TOSA_IRQ_GPIO_MAIN_BAT_LOW  PXA_GPIO_TO_IRQ(TOSA_GPIO_MAIN_BAT_LOW)
0136 
0137 #define TOSA_KEY_SYNC       KEY_102ND /* ??? */
0138 
0139 #ifndef CONFIG_TOSA_USE_EXT_KEYCODES
0140 #define TOSA_KEY_RECORD     KEY_YEN
0141 #define TOSA_KEY_ADDRESSBOOK    KEY_KATAKANA
0142 #define TOSA_KEY_CANCEL     KEY_ESC
0143 #define TOSA_KEY_CENTER     KEY_HIRAGANA
0144 #define TOSA_KEY_OK     KEY_HENKAN
0145 #define TOSA_KEY_CALENDAR   KEY_KATAKANAHIRAGANA
0146 #define TOSA_KEY_HOMEPAGE   KEY_HANGEUL
0147 #define TOSA_KEY_LIGHT      KEY_MUHENKAN
0148 #define TOSA_KEY_MENU       KEY_HANJA
0149 #define TOSA_KEY_FN     KEY_RIGHTALT
0150 #define TOSA_KEY_MAIL       KEY_ZENKAKUHANKAKU
0151 #else
0152 #define TOSA_KEY_RECORD     KEY_RECORD
0153 #define TOSA_KEY_ADDRESSBOOK    KEY_ADDRESSBOOK
0154 #define TOSA_KEY_CANCEL     KEY_CANCEL
0155 #define TOSA_KEY_CENTER     KEY_SELECT /* ??? */
0156 #define TOSA_KEY_OK     KEY_OK
0157 #define TOSA_KEY_CALENDAR   KEY_CALENDAR
0158 #define TOSA_KEY_HOMEPAGE   KEY_HOMEPAGE
0159 #define TOSA_KEY_LIGHT      KEY_KBDILLUMTOGGLE
0160 #define TOSA_KEY_MENU       KEY_MENU
0161 #define TOSA_KEY_FN     KEY_FN
0162 #define TOSA_KEY_MAIL       KEY_MAIL
0163 #endif
0164 
0165 #endif /* _ASM_ARCH_TOSA_H_ */