|
From: <bob...@us...> - 2007-01-07 15:19:52
|
Revision: 727
http://svn.sourceforge.net/hackndev/?rev=727&view=rev
Author: bobofdoom
Date: 2007-01-07 07:19:50 -0800 (Sun, 07 Jan 2007)
Log Message:
-----------
palmt680: Added initial code based on Treo 650 port.
Modified Paths:
--------------
linux4palm/linux/trunk/arch/arm/mach-pxa/Kconfig
linux4palm/linux/trunk/arch/arm/mach-pxa/Makefile
Added Paths:
-----------
linux4palm/linux/trunk/include/asm-arm/arch-pxa/palmt680-gpio.h
Modified: linux4palm/linux/trunk/arch/arm/mach-pxa/Kconfig
===================================================================
--- linux4palm/linux/trunk/arch/arm/mach-pxa/Kconfig 2007-01-07 15:19:15 UTC (rev 726)
+++ linux4palm/linux/trunk/arch/arm/mach-pxa/Kconfig 2007-01-07 15:19:50 UTC (rev 727)
@@ -43,6 +43,7 @@
source "arch/arm/mach-pxa/rover/Kconfig"
source "arch/arm/mach-pxa/palmld/Kconfig"
source "arch/arm/mach-pxa/palmt650/Kconfig"
+source "arch/arm/mach-pxa/palmt680/Kconfig"
source "arch/arm/mach-pxa/palmte2/Kconfig"
source "arch/arm/mach-pxa/palmt3/Kconfig"
source "arch/arm/mach-pxa/palmt5/Kconfig"
Modified: linux4palm/linux/trunk/arch/arm/mach-pxa/Makefile
===================================================================
--- linux4palm/linux/trunk/arch/arm/mach-pxa/Makefile 2007-01-07 15:19:15 UTC (rev 726)
+++ linux4palm/linux/trunk/arch/arm/mach-pxa/Makefile 2007-01-07 15:19:50 UTC (rev 727)
@@ -40,6 +40,7 @@
obj-y += rover/
obj-$(CONFIG_MACH_XSCALE_PALMLD) += palmld/
obj-$(CONFIG_MACH_XSCALE_PALMTREO650) += palmt650/
+obj-$(CONFIG_MACH_XSCALE_PALMTREO680) += palmt650/
obj-$(CONFIG_MACH_T3XSCALE) += ssp.o palmt3/
obj-$(CONFIG_MACH_XSCALE_PALMTT5) += palmt5/
obj-$(CONFIG_MACH_XSCALE_PALMTX) += palmtx/
Added: linux4palm/linux/trunk/include/asm-arm/arch-pxa/palmt680-gpio.h
===================================================================
--- linux4palm/linux/trunk/include/asm-arm/arch-pxa/palmt680-gpio.h (rev 0)
+++ linux4palm/linux/trunk/include/asm-arm/arch-pxa/palmt680-gpio.h 2007-01-07 15:19:50 UTC (rev 727)
@@ -0,0 +1,103 @@
+/*
+ * include/asm-arm/arch-pxa/palmt680-gpio.h
+ *
+ */
+
+#ifndef _PALMT680_GPIO_H_
+#define _PALMT680_GPIO_H_
+
+#include <asm/arch/pxa-regs.h>
+
+/* IO mappings */
+#define PALMT680_ASIC6_PHYS (PXA_CS2_PHYS)
+#define PALMT680_ASIC6_VIRT (0xf0000000)
+#define PALMT680_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 680 GPIOs */
+/* FIXME: these values are currently from 650. They will probably be
+ * different for the 680. */
+#define GPIO_NR_PALMT680_POWER_DETECT 15
+#define GPIO_NR_PALMT680_VIBRATE_EN 26
+#define GPIO_NR_PALMT680_SILENT_SWITCH 33
+#define GPIO_NR_PALMT680_WM9712_IRQ 90
+#define GPIO_NR_PALMT680_SD_DETECT_N 113 /* SD card inserted; RE FE; Input */
+
+#define GPIO_NR_PALMT680_KP_MKIN0 100
+#define GPIO_NR_PALMT680_KP_MKIN1 101
+#define GPIO_NR_PALMT680_KP_MKIN2 102
+#define GPIO_NR_PALMT680_KP_MKIN3 97
+#define GPIO_NR_PALMT680_KP_MKIN4 98
+#define GPIO_NR_PALMT680_KP_MKIN5 99
+#define GPIO_NR_PALMT680_KP_MKIN6 17
+#define GPIO_NR_PALMT680_KP_MKIN7 13
+
+#define GPIO_NR_PALMT680_KP_MKOUT0 103
+#define GPIO_NR_PALMT680_KP_MKOUT1 104
+#define GPIO_NR_PALMT680_KP_MKOUT2 105
+#define GPIO_NR_PALMT680_KP_MKOUT3 106
+#define GPIO_NR_PALMT680_KP_MKOUT4 107
+#define GPIO_NR_PALMT680_KP_MKOUT5 108
+#define GPIO_NR_PALMT680_KP_MKOUT6 40
+
+#define IRQ_GPIO_PALMT680_SD_DETECT_N IRQ_GPIO(GPIO_NR_PALMT680_SD_DETECT_N)
+#define IRQ_GPIO_PALMT680_WM9712_IRQ IRQ_GPIO(GPIO_NR_PALMT680_WM9712_IRQ)
+
+#define GPIO_NR_PALMT680_KP_MKIN0_MD (GPIO_NR_PALMT680_KP_MKIN0 | GPIO_ALT_FN_1_IN)
+#define GPIO_NR_PALMT680_KP_MKIN1_MD (GPIO_NR_PALMT680_KP_MKIN1 | GPIO_ALT_FN_1_IN)
+#define GPIO_NR_PALMT680_KP_MKIN2_MD (GPIO_NR_PALMT680_KP_MKIN2 | GPIO_ALT_FN_1_IN)
+#define GPIO_NR_PALMT680_KP_MKIN3_MD (GPIO_NR_PALMT680_KP_MKIN3 | GPIO_ALT_FN_3_IN)
+#define GPIO_NR_PALMT680_KP_MKIN4_MD (GPIO_NR_PALMT680_KP_MKIN4 | GPIO_ALT_FN_3_IN)
+#define GPIO_NR_PALMT680_KP_MKIN5_MD (GPIO_NR_PALMT680_KP_MKIN5 | GPIO_ALT_FN_3_IN)
+#define GPIO_NR_PALMT680_KP_MKIN6_MD (GPIO_NR_PALMT680_KP_MKIN6 | GPIO_ALT_FN_1_IN)
+#define GPIO_NR_PALMT680_KP_MKIN7_MD (GPIO_NR_PALMT680_KP_MKIN7 | GPIO_ALT_FN_3_IN)
+
+#define GPIO_NR_PALMT680_KP_MKOUT0_MD (GPIO_NR_PALMT680_KP_MKOUT0 | GPIO_ALT_FN_2_OUT)
+#define GPIO_NR_PALMT680_KP_MKOUT1_MD (GPIO_NR_PALMT680_KP_MKOUT1 | GPIO_ALT_FN_2_OUT)
+#define GPIO_NR_PALMT680_KP_MKOUT2_MD (GPIO_NR_PALMT680_KP_MKOUT2 | GPIO_ALT_FN_2_OUT)
+#define GPIO_NR_PALMT680_KP_MKOUT3_MD (GPIO_NR_PALMT680_KP_MKOUT3 | GPIO_ALT_FN_2_OUT)
+#define GPIO_NR_PALMT680_KP_MKOUT4_MD (GPIO_NR_PALMT680_KP_MKOUT4 | GPIO_ALT_FN_2_OUT)
+#define GPIO_NR_PALMT680_KP_MKOUT5_MD (GPIO_NR_PALMT680_KP_MKOUT5 | GPIO_ALT_FN_2_OUT)
+#define GPIO_NR_PALMT680_KP_MKOUT6_MD (GPIO_NR_PALMT680_KP_MKOUT6 | GPIO_ALT_FN_1_OUT)
+
+/* Utility macros */
+#define GET_PALMT680_GPIO(gpio) \
+ (GPLR(GPIO_NR_PALMT680_ ## gpio) & GPIO_bit(GPIO_NR_PALMT680_ ## gpio))
+
+#define SET_PALMT680_GPIO(gpio, setp) \
+do { \
+if (setp) \
+ GPSR(GPIO_NR_PALMT680_ ## gpio) = GPIO_bit(GPIO_NR_PALMT680_ ## gpio); \
+else \
+ GPCR(GPIO_NR_PALMT680_ ## gpio) = GPIO_bit(GPIO_NR_PALMT680_ ## gpio); \
+} while (0)
+
+#define SET_PALMT680_GPIO_N(gpio, setp) \
+do { \
+if (setp) \
+ GPCR(GPIO_NR_PALMT680_ ## gpio) = GPIO_bit(GPIO_NR_PALMT680_ ## gpio); \
+else \
+ GPSR(GPIO_NR_PALMT680_ ## gpio) = GPIO_bit(GPIO_NR_PALMT680_ ## gpio); \
+} while (0)
+
+
+#define GET_GPIO(gpio) (GPLR(gpio) & GPIO_bit(gpio))
+
+
+#endif /* _PALMT680_GPIO_H_ */
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|