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. |