|
From: <bob...@us...> - 2007-01-19 02:18:22
|
Revision: 767
http://svn.sourceforge.net/hackndev/?rev=767&view=rev
Author: bobofdoom
Date: 2007-01-18 18:18:21 -0800 (Thu, 18 Jan 2007)
Log Message:
-----------
palmt700wx: Added initial GPIO header based on 650.
Added Paths:
-----------
linux4palm/linux/trunk/include/asm-arm/arch-pxa/palmt700wx-gpio.h
Added: linux4palm/linux/trunk/include/asm-arm/arch-pxa/palmt700wx-gpio.h
===================================================================
--- linux4palm/linux/trunk/include/asm-arm/arch-pxa/palmt700wx-gpio.h (rev 0)
+++ linux4palm/linux/trunk/include/asm-arm/arch-pxa/palmt700wx-gpio.h 2007-01-19 02:18:21 UTC (rev 767)
@@ -0,0 +1,105 @@
+/*
+ * include/asm-arm/arch-pxa/palmt700wx-gpio.h
+ *
+ * Author: you
+ *
+ * Based on palmt650-gpio.h by Alex Osborne <bob...@gm...>
+ *
+ */
+
+#ifndef _PALMT700WX_GPIO_H_
+#define _PALMT700WX_GPIO_H_
+
+#include <asm/arch/pxa-regs.h>
+
+/* IO mappings */
+#define PALMT700WX_ASIC6_PHYS (PXA_CS2_PHYS)
+#define PALMT700WX_ASIC6_VIRT (0xf0000000)
+#define PALMT700WX_ASIC6_SIZE (0x00100000)
+
+/* ASIC 6 registers */
+#define __REG16(x) (*((volatile u16 *)io_p2v(x)))
+#define ASIC6_LED0_TBS __REG16(0x08000080)
+#define ASIC6_LED0_U1 __REG16(0x08000082) /* unknown=0 */
+#define ASIC6_LED0_PERIOD __REG16(0x08000084)
+#define ASIC6_LED0_U2 __REG16(0x08000086) /* unknown=3 */
+#define ASIC6_LED0_DUTY __REG16(0x08000088)
+#define ASIC6_LED0_AUTOSTOP __REG16(0x0800008a)
+#define ASIC6_LED1_TBS __REG16(0x08000090)
+#define ASIC6_LED1_PERIOD __REG16(0x08000094)
+#define ASIC6_LED1_DUTY __REG16(0x08000098)
+#define ASIC6_LED1_AUTOSTOP __REG16(0x0800009a)
+#define ASIC6_LED2_TBS __REG16(0x080000a0)
+#define ASIC6_LED2_PERIOD __REG16(0x080000a4)
+#define ASIC6_LED2_DUTY __REG16(0x080000a8)
+#define ASIC6_LED2_AUTOSTOP __REG16(0x080000aa)
+
+/* Palm Treo 650 GPIOs */
+#define GPIO_NR_PALMT700WX_POWER_DETECT 15
+#define GPIO_NR_PALMT700WX_VIBRATE_EN 26
+#define GPIO_NR_PALMT700WX_SILENT_SWITCH 33
+#define GPIO_NR_PALMT700WX_WM9712_IRQ 90
+#define GPIO_NR_PALMT700WX_SD_DETECT_N 113 /* SD card inserted; RE FE; Input */
+
+#define GPIO_NR_PALMT700WX_KP_MKIN0 100
+#define GPIO_NR_PALMT700WX_KP_MKIN1 101
+#define GPIO_NR_PALMT700WX_KP_MKIN2 102
+#define GPIO_NR_PALMT700WX_KP_MKIN3 97
+#define GPIO_NR_PALMT700WX_KP_MKIN4 98
+#define GPIO_NR_PALMT700WX_KP_MKIN5 99
+#define GPIO_NR_PALMT700WX_KP_MKIN6 17
+#define GPIO_NR_PALMT700WX_KP_MKIN7 13
+
+#define GPIO_NR_PALMT700WX_KP_MKOUT0 103
+#define GPIO_NR_PALMT700WX_KP_MKOUT1 104
+#define GPIO_NR_PALMT700WX_KP_MKOUT2 105
+#define GPIO_NR_PALMT700WX_KP_MKOUT3 106
+#define GPIO_NR_PALMT700WX_KP_MKOUT4 107
+#define GPIO_NR_PALMT700WX_KP_MKOUT5 108
+#define GPIO_NR_PALMT700WX_KP_MKOUT6 40
+
+#define IRQ_GPIO_PALMT700WX_SD_DETECT_N IRQ_GPIO(GPIO_NR_PALMT700WX_SD_DETECT_N)
+#define IRQ_GPIO_PALMT700WX_WM9712_IRQ IRQ_GPIO(GPIO_NR_PALMT700WX_WM9712_IRQ)
+
+#define GPIO_NR_PALMT700WX_KP_MKIN0_MD (GPIO_NR_PALMT700WX_KP_MKIN0 | GPIO_ALT_FN_1_IN)
+#define GPIO_NR_PALMT700WX_KP_MKIN1_MD (GPIO_NR_PALMT700WX_KP_MKIN1 | GPIO_ALT_FN_1_IN)
+#define GPIO_NR_PALMT700WX_KP_MKIN2_MD (GPIO_NR_PALMT700WX_KP_MKIN2 | GPIO_ALT_FN_1_IN)
+#define GPIO_NR_PALMT700WX_KP_MKIN3_MD (GPIO_NR_PALMT700WX_KP_MKIN3 | GPIO_ALT_FN_3_IN)
+#define GPIO_NR_PALMT700WX_KP_MKIN4_MD (GPIO_NR_PALMT700WX_KP_MKIN4 | GPIO_ALT_FN_3_IN)
+#define GPIO_NR_PALMT700WX_KP_MKIN5_MD (GPIO_NR_PALMT700WX_KP_MKIN5 | GPIO_ALT_FN_3_IN)
+#define GPIO_NR_PALMT700WX_KP_MKIN6_MD (GPIO_NR_PALMT700WX_KP_MKIN6 | GPIO_ALT_FN_1_IN)
+#define GPIO_NR_PALMT700WX_KP_MKIN7_MD (GPIO_NR_PALMT700WX_KP_MKIN7 | GPIO_ALT_FN_3_IN)
+
+#define GPIO_NR_PALMT700WX_KP_MKOUT0_MD (GPIO_NR_PALMT700WX_KP_MKOUT0 | GPIO_ALT_FN_2_OUT)
+#define GPIO_NR_PALMT700WX_KP_MKOUT1_MD (GPIO_NR_PALMT700WX_KP_MKOUT1 | GPIO_ALT_FN_2_OUT)
+#define GPIO_NR_PALMT700WX_KP_MKOUT2_MD (GPIO_NR_PALMT700WX_KP_MKOUT2 | GPIO_ALT_FN_2_OUT)
+#define GPIO_NR_PALMT700WX_KP_MKOUT3_MD (GPIO_NR_PALMT700WX_KP_MKOUT3 | GPIO_ALT_FN_2_OUT)
+#define GPIO_NR_PALMT700WX_KP_MKOUT4_MD (GPIO_NR_PALMT700WX_KP_MKOUT4 | GPIO_ALT_FN_2_OUT)
+#define GPIO_NR_PALMT700WX_KP_MKOUT5_MD (GPIO_NR_PALMT700WX_KP_MKOUT5 | GPIO_ALT_FN_2_OUT)
+#define GPIO_NR_PALMT700WX_KP_MKOUT6_MD (GPIO_NR_PALMT700WX_KP_MKOUT6 | GPIO_ALT_FN_1_OUT)
+
+/* Utility macros */
+#define GET_PALMT700WX_GPIO(gpio) \
+ (GPLR(GPIO_NR_PALMT700WX_ ## gpio) & GPIO_bit(GPIO_NR_PALMT700WX_ ## gpio))
+
+#define SET_PALMT700WX_GPIO(gpio, setp) \
+do { \
+if (setp) \
+ GPSR(GPIO_NR_PALMT700WX_ ## gpio) = GPIO_bit(GPIO_NR_PALMT700WX_ ## gpio); \
+else \
+ GPCR(GPIO_NR_PALMT700WX_ ## gpio) = GPIO_bit(GPIO_NR_PALMT700WX_ ## gpio); \
+} while (0)
+
+#define SET_PALMT700WX_GPIO_N(gpio, setp) \
+do { \
+if (setp) \
+ GPCR(GPIO_NR_PALMT700WX_ ## gpio) = GPIO_bit(GPIO_NR_PALMT700WX_ ## gpio); \
+else \
+ GPSR(GPIO_NR_PALMT700WX_ ## gpio) = GPIO_bit(GPIO_NR_PALMT700WX_ ## gpio); \
+} while (0)
+
+
+#define GET_GPIO(gpio) (GPLR(gpio) & GPIO_bit(gpio))
+
+
+#endif /* _PALMT700WX_GPIO_H_ */
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|