From: <mar...@us...> - 2007-05-22 19:06:26
|
Revision: 989 http://svn.sourceforge.net/hackndev/?rev=989&view=rev Author: marex_z71 Date: 2007-05-22 12:06:24 -0700 (Tue, 22 May 2007) Log Message: ----------- PalmT5: added bluetooth stuff Modified Paths: -------------- linux4palm/linux/trunk/arch/arm/configs/palmt5_defconfig linux4palm/linux/trunk/arch/arm/mach-pxa/palmt5/palmt5.c linux4palm/linux/trunk/include/asm-arm/arch-pxa/palmt5-gpio.h Modified: linux4palm/linux/trunk/arch/arm/configs/palmt5_defconfig =================================================================== --- linux4palm/linux/trunk/arch/arm/configs/palmt5_defconfig 2007-05-22 11:23:20 UTC (rev 988) +++ linux4palm/linux/trunk/arch/arm/configs/palmt5_defconfig 2007-05-22 19:06:24 UTC (rev 989) @@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit # Linux kernel version: 2.6.20-hnd0 -# Wed Apr 18 11:05:47 2007 +# Tue May 22 19:25:18 2007 # CONFIG_ARM=y # CONFIG_GENERIC_TIME is not set @@ -413,15 +413,22 @@ # CONFIG_PXA_FICP=y CONFIG_BT=m -# CONFIG_BT_L2CAP is not set -# CONFIG_BT_SCO is not set +CONFIG_BT_L2CAP=m +CONFIG_BT_SCO=m +CONFIG_BT_RFCOMM=m +CONFIG_BT_RFCOMM_TTY=y +CONFIG_BT_BNEP=m +CONFIG_BT_BNEP_MC_FILTER=y +CONFIG_BT_BNEP_PROTO_FILTER=y +CONFIG_BT_HIDP=m # # Bluetooth device drivers # CONFIG_BT_HCIUART=m -# CONFIG_BT_HCIUART_H4 is not set +CONFIG_BT_HCIUART_H4=y # CONFIG_BT_HCIUART_BCSP is not set +CONFIG_BT_BCM2035UART=m # CONFIG_BT_HCIVHCI is not set CONFIG_IEEE80211=m # CONFIG_IEEE80211_DEBUG is not set @@ -620,6 +627,7 @@ # CONFIG_TOUCHSCREEN_ADC is not set # CONFIG_TOUCHSCREEN_ADC_DEBOUNCE is not set # CONFIG_TOUCHSCREEN_UCB1400 is not set +# CONFIG_TOUCHSCREEN_PALMTC is not set CONFIG_TOUCHSCREEN_WM97XX=m # CONFIG_TOUCHSCREEN_WM9705 is not set CONFIG_TOUCHSCREEN_WM9712=y Modified: linux4palm/linux/trunk/arch/arm/mach-pxa/palmt5/palmt5.c =================================================================== --- linux4palm/linux/trunk/arch/arm/mach-pxa/palmt5/palmt5.c 2007-05-22 11:23:20 UTC (rev 988) +++ linux4palm/linux/trunk/arch/arm/mach-pxa/palmt5/palmt5.c 2007-05-22 19:06:24 UTC (rev 989) @@ -36,6 +36,7 @@ #include <asm/arch/irda.h> #include <asm/arch/pxa27x_keyboard.h> #include <asm/arch/pxapwm-bl.h> +#include <asm/arch/serial.h> #include "../generic.h" #include <../drivers/pcmcia/soc_common.h> @@ -256,15 +257,61 @@ .udc_command = palmt5_udc_command, }; +/* Bluetooth */ +void bcm2035_bt_reset(int on) +{ + printk(KERN_NOTICE "Switch BT reset %d\n", on); + if (on) + SET_PALMT5_GPIO( BT_RESET, 1 ); + else + SET_PALMT5_GPIO( BT_RESET, 0 ); +} +EXPORT_SYMBOL(bcm2035_bt_reset); +void bcm2035_bt_power(int on) +{ + printk(KERN_NOTICE "Switch BT power %d\n", on); + if (on) + SET_PALMT5_GPIO( BT_POWER, 1 ); + else + SET_PALMT5_GPIO( BT_POWER, 0 ); +} +EXPORT_SYMBOL(bcm2035_bt_power); + + +struct bcm2035_bt_funcs { + void (*configure) ( int state ); +}; + +static struct bcm2035_bt_funcs bt_funcs; + +static void +bcm2035_bt_configure( int state ) +{ + if (bt_funcs.configure != NULL) + bt_funcs.configure( state ); +} + +static struct platform_pxa_serial_funcs bcm2035_pxa_bt_funcs = { + .configure = bcm2035_bt_configure, +}; + +static struct platform_device bcm2035_bt = { + .name = "bcm2035-bt", + .id = -1, + .dev = { + .platform_data = &bt_funcs, + }, +}; + /************************* * AC97 audio controller * *************************/ static pxa2xx_audio_ops_t palmt5_audio_ops = { /* - .startup = palmld_audio_startup, + .startup = palmt5_audio_startup, .shutdown = mst_audio_shutdown, .suspend = mst_audio_suspend, .resume = mst_audio_resume, @@ -294,6 +341,7 @@ &palmt5_ac97, &palmt5_pm, &palmt5_backlight, + &bcm2035_bt, }; /*************** @@ -372,6 +420,7 @@ pxa_gpio_mode(GPIO31_SYNC_AC97_MD); set_pxa_fb_info ( &palmt5_lcd_screen ); + pxa_set_btuart_info(&bcm2035_pxa_bt_funcs); pxa_set_mci_info ( &palmt5_mci_platform_data ); pxa_set_udc_info ( &palmt5_udc_mach_info ); pxa_set_ficp_info ( &palmt5_ficp_platform_data ); Modified: linux4palm/linux/trunk/include/asm-arm/arch-pxa/palmt5-gpio.h =================================================================== --- linux4palm/linux/trunk/include/asm-arm/arch-pxa/palmt5-gpio.h 2007-05-22 11:23:20 UTC (rev 988) +++ linux4palm/linux/trunk/include/asm-arm/arch-pxa/palmt5-gpio.h 2007-05-22 19:06:24 UTC (rev 989) @@ -68,6 +68,19 @@ #define GPIO_NR_PALMT5_BL_POWER 84 #define GPIO_NR_PALMT5_LCD_POWER 96 +/* Bluetooth */ +#define GPIO_NR_PALMT5_BT_POWER 17 +#define GPIO_NR_PALMT5_BT_RXD 42 +#define GPIO_NR_PALMT5_BT_TXD 43 +#define GPIO_NR_PALMT5_BT_CTS 44 +#define GPIO_NR_PALMT5_BT_RTS 45 +#define GPIO_NR_PALMT5_BT_RESET 83 + +#define GPIO_NR_PALMT5_BT_RXD_MD (GPIO_NR_PALMT5_BT_RXD | GPIO_ALT_FN_1_IN) +#define GPIO_NR_PALMT5_BT_TXD_MD (GPIO_NR_PALMT5_BT_TXD | GPIO_ALT_FN_2_OUT) +#define GPIO_NR_PALMT5_BT_UART_CTS_MD (GPIO_NR_PALMT5_BT_CTS | GPIO_ALT_FN_1_IN) +#define GPIO_NR_PALMT5_BT_UART_RTS_MD (GPIO_NR_PALMT5_BT_RTS | GPIO_ALT_FN_2_OUT) + /* INTERRUPTS */ #define IRQ_GPIO_PALMT5_SD_DETECT_N IRQ_GPIO(GPIO_NR_PALMT5_SD_DETECT_N) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |