^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) /* SPDX-License-Identifier: GPL-2.0-only */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) * GPIOs and interrupts for Palm Tungsten|T5 Handheld Computer
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) * Authors: Ales Snuparek <snuparek@atlas.cz>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) * Marek Vasut <marek.vasut@gmail.com>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) * Justin Kendrick <twilightsentry@gmail.com>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) * RichardT5 <richard_t5@users.sourceforge.net>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) #ifndef _INCLUDE_PALMT5_H_
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) #define _INCLUDE_PALMT5_H_
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) #include <mach/irqs.h> /* PXA_GPIO_TO_IRQ */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) /** HERE ARE GPIOs **/
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) /* GPIOs */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) #define GPIO_NR_PALMT5_GPIO_RESET 1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) #define GPIO_NR_PALMT5_POWER_DETECT 90
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) #define GPIO_NR_PALMT5_HOTSYNC_BUTTON_N 10
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) #define GPIO_NR_PALMT5_EARPHONE_DETECT 107
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) /* SD/MMC */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) #define GPIO_NR_PALMT5_SD_DETECT_N 14
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) #define GPIO_NR_PALMT5_SD_POWER 114
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) #define GPIO_NR_PALMT5_SD_READONLY 115
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) /* TOUCHSCREEN */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) #define GPIO_NR_PALMT5_WM9712_IRQ 27
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) /* IRDA - disable GPIO connected to SD pin of tranceiver (TFBS4710?) ? */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) #define GPIO_NR_PALMT5_IR_DISABLE 40
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) /* USB */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) #define GPIO_NR_PALMT5_USB_DETECT_N 15
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) #define GPIO_NR_PALMT5_USB_PULLUP 93
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) /* LCD/BACKLIGHT */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) #define GPIO_NR_PALMT5_BL_POWER 84
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) #define GPIO_NR_PALMT5_LCD_POWER 96
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) /* BLUETOOTH */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) #define GPIO_NR_PALMT5_BT_POWER 17
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) #define GPIO_NR_PALMT5_BT_RESET 83
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) /* INTERRUPTS */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) #define IRQ_GPIO_PALMT5_SD_DETECT_N PXA_GPIO_TO_IRQ(GPIO_NR_PALMT5_SD_DETECT_N)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) #define IRQ_GPIO_PALMT5_WM9712_IRQ PXA_GPIO_TO_IRQ(GPIO_NR_PALMT5_WM9712_IRQ)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) #define IRQ_GPIO_PALMT5_USB_DETECT PXA_GPIO_TO_IRQ(GPIO_NR_PALMT5_USB_DETECT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) #define IRQ_GPIO_PALMT5_GPIO_RESET PXA_GPIO_TO_IRQ(GPIO_NR_PALMT5_GPIO_RESET)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) /** HERE ARE INIT VALUES **/
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) /* Various addresses */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) #define PALMT5_PHYS_RAM_START 0xa0000000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) #define PALMT5_PHYS_IO_START 0x40000000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) #define PALMT5_STR_BASE 0xa0200000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) /* TOUCHSCREEN */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62) #define AC97_LINK_FRAME 21
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64) /* BATTERY */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65) #define PALMT5_BAT_MAX_VOLTAGE 4000 /* 4.00v current voltage */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66) #define PALMT5_BAT_MIN_VOLTAGE 3550 /* 3.55v critical voltage */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67) #define PALMT5_BAT_MAX_CURRENT 0 /* unknown */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68) #define PALMT5_BAT_MIN_CURRENT 0 /* unknown */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69) #define PALMT5_BAT_MAX_CHARGE 1 /* unknown */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70) #define PALMT5_BAT_MIN_CHARGE 1 /* unknown */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71) #define PALMT5_MAX_LIFE_MINS 360 /* on-life in minutes */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73) #define PALMT5_BAT_MEASURE_DELAY (HZ * 1)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75) /* BACKLIGHT */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76) #define PALMT5_MAX_INTENSITY 0xFE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 77) #define PALMT5_DEFAULT_INTENSITY 0x7E
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 78) #define PALMT5_LIMIT_MASK 0x7F
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 79) #define PALMT5_PRESCALER 0x3F
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 80) #define PALMT5_PERIOD_NS 3500
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 81)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 82) #endif