From 09e07d6550872a195e1901fefa26ef30ea605b52 Mon Sep 17 00:00:00 2001 From: patacongo Date: Thu, 27 Sep 2012 20:15:24 +0000 Subject: [PATCH] Fix STM32 SPI3 remap logic git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5200 42af7a65-404d-4744-a932-0658087f49c3 --- ChangeLog | 3 +++ arch/arm/src/stm32/stm32_gpio.c | 1 + configs/shenzhou/nxwm/defconfig | 6 +++--- configs/shenzhou/src/up_touchscreen.c | 3 --- drivers/input/ads7843e.c | 3 +-- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/ChangeLog b/ChangeLog index 1e667ddcfa..48ebddfca0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -3435,3 +3435,6 @@ DM9161 PHY. If the DM9161 failed to initialize, then use the up_sysemreset() logic to reset the MCU. Contributed by Darcy Gong. + * arch/arm/src/stm32/stm32_gpio.c: Add missing logic to set bit + for SPI3 remap. This fixes the XPT2046 touchscreen driver using + drivers/input/ads7843.c diff --git a/arch/arm/src/stm32/stm32_gpio.c b/arch/arm/src/stm32/stm32_gpio.c index 4703e82089..1dedd7ce70 100644 --- a/arch/arm/src/stm32/stm32_gpio.c +++ b/arch/arm/src/stm32/stm32_gpio.c @@ -128,6 +128,7 @@ static inline void stm32_gpioremap(void) val |= AFIO_MAPR_SPI1_REMAP; #endif #ifdef CONFIG_STM32_SPI3_REMAP + val |= AFIO_MAPR_SPI3_REMAP; #endif #ifdef CONFIG_STM32_I2C1_REMAP diff --git a/configs/shenzhou/nxwm/defconfig b/configs/shenzhou/nxwm/defconfig index b529907c1d..811ba02667 100644 --- a/configs/shenzhou/nxwm/defconfig +++ b/configs/shenzhou/nxwm/defconfig @@ -362,9 +362,9 @@ CONFIG_INPUT_ADS7843E=y # CONFIG_ADS7843E_MULTIPLE is not set CONFIG_ADS7843E_SPIMODE=0 CONFIG_ADS7843E_FREQUENCY=100000 -# CONFIG_ADS7843E_SWAPXY is not set -CONFIG_ADS7843E_THRESHX=12 -CONFIG_ADS7843E_THRESHY=12 +CONFIG_ADS7843E_SWAPXY=y +CONFIG_ADS7843E_THRESHX=39 +CONFIG_ADS7843E_THRESHY=51 # CONFIG_INPUT_STMPE811 is not set CONFIG_LCD=y # CONFIG_LCD_NOGETRUN is not set diff --git a/configs/shenzhou/src/up_touchscreen.c b/configs/shenzhou/src/up_touchscreen.c index 969b23be45..4740f60a50 100644 --- a/configs/shenzhou/src/up_touchscreen.c +++ b/configs/shenzhou/src/up_touchscreen.c @@ -209,9 +209,6 @@ static bool tsc_busy(FAR struct ads7843e_config_s *state) * between sending the command, then reading the returned data. */ -#if 0 - up_udelay(1600); /* 1.6MS */ -#endif return false; } diff --git a/drivers/input/ads7843e.c b/drivers/input/ads7843e.c index ce45e4537b..27060bd078 100644 --- a/drivers/input/ads7843e.c +++ b/drivers/input/ads7843e.c @@ -951,8 +951,7 @@ static ssize_t ads7843e_read(FAR struct file *filep, FAR char *buffer, size_t le if (sample.valid) { - report->point[0].flags = TOUCH_UP | TOUCH_ID_VALID | - TOUCH_POS_VALID | TOUCH_PRESSURE_VALID; + report->point[0].flags = TOUCH_UP | TOUCH_ID_VALID | TOUCH_POS_VALID; } else {