From: Leed Aguilar <leed.aguilar@xxxxxx> This patch sets the proper padconfig value for wvga spi chip select. Also ensures that dvi output is disable. LCD data lines has been changed to 24 for Zoom2 Signed-off-by: Leed Aguilar <leed.aguilar@xxxxxx> --- arch/arm/mach-omap2/mux.c | 15 ++++++++++++--- arch/arm/plat-omap/display.c | 4 ++-- arch/arm/plat-omap/include/mach/mux.h | 8 ++++++++ drivers/video/omap/omap_disp_out.c | 25 +++++++++++++++++-------- 4 files changed, 39 insertions(+), 13 deletions(-) diff --git a/arch/arm/mach-omap2/mux.c b/arch/arm/mach-omap2/mux.c index 0e650a4..cd6de1d 100644 --- a/arch/arm/mach-omap2/mux.c +++ b/arch/arm/mach-omap2/mux.c @@ -25,10 +25,11 @@ */ #include <linux/module.h> #include <linux/init.h> -#include <asm/system.h> #include <linux/io.h> #include <linux/spinlock.h> +#include <asm/system.h> + #include <mach/control.h> #include <mach/mux.h> @@ -450,7 +451,7 @@ MUX_CFG_34XX("AD2_3430_USB3FS_PHY_MM3_TXDAT", 0x188, MUX_CFG_34XX("AC1_3430_USB3FS_PHY_MM3_TXEN_N", 0x18a, OMAP34XX_MUX_MODE6 | OMAP34XX_PIN_OUTPUT) - /* UART3 */ +/* UART3 */ MUX_CFG_34XX("R21_3430_UART3_CTS_RCTX", 0x19a, OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_INPUT_PULLDOWN) MUX_CFG_34XX("T21_3430_UART3_RTS_SD", 0x19c, @@ -460,11 +461,15 @@ MUX_CFG_34XX("U21_3430_UART3_RX_IRRX", 0x19e, MUX_CFG_34XX("V21_3430_UART3_TX_IRTX", 0x1a0, OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_INPUT_PULLDOWN) - /* GPIO */ +/* GPIO */ MUX_CFG_34XX("T21_3430_GPIO164", 0x19c, OMAP34XX_MUX_MODE4 | OMAP34XX_PIN_INPUT_PULLDOWN) MUX_CFG_34XX("V21_3430_GPIO166", 0x1a0, OMAP34XX_MUX_MODE4 | OMAP34XX_PIN_INPUT_PULLDOWN) +MUX_CFG_34XX("AF21_3430_GPIO8", 0xa16, + OMAP34XX_MUX_MODE4 | OMAP34XX_PIN_OUTPUT) +MUX_CFG_34XX("B23_3430_GPIO167", 0x130, + OMAP34XX_MUX_MODE4 | OMAP34XX_PIN_OUTPUT) /* 34XX GPIO - bidirectional, unless the name has an "_OUT" suffix. * No internal pullup/pulldown without "_UP" or "_DOWN" suffix. @@ -473,6 +478,10 @@ MUX_CFG_34XX("AH8_34XX_GPIO29", 0x5fa, OMAP34XX_MUX_MODE4 | OMAP34XX_PIN_INPUT) MUX_CFG_34XX("J25_34XX_GPIO170", 0x1c6, OMAP34XX_MUX_MODE4 | OMAP34XX_PIN_INPUT) + +/* McSPI */ +MUX_CFG_34XX("AB1_3430_McSPI1_CS2", 0x1d2, + OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_INPUT_PULLDOWN) }; #define OMAP34XX_PINS_SZ ARRAY_SIZE(omap34xx_pins) diff --git a/arch/arm/plat-omap/display.c b/arch/arm/plat-omap/display.c index 9ec7ff2..2fca7a9 100644 --- a/arch/arm/plat-omap/display.c +++ b/arch/arm/plat-omap/display.c @@ -1975,10 +1975,10 @@ omap2_disp_config_lcd(u32 clkdiv, u32 hbp, u32 hfp, u32 hsw, #endif dispc_reg_out(DISPC_DIVISOR, divisor); control = dispc_reg_in(DISPC_CONTROL); -#ifdef CONFIG_FB_OMAP_720P_STREAMING +#if defined(CONFIG_FB_OMAP_720P_STREAMING) || defined(CONFIG_MACH_OMAP_ZOOM2) control |= DISPC_CONTROL_TFTDATALINES_OALSB24B; #else -#if defined(CONFIG_MACH_OMAP_LDP) || defined(CONFIG_MACH_OMAP_ZOOM2) +#ifdef CONFIG_MACH_OMAP_LDP control |= DISPC_CONTROL_TFTDATALINES_OALSB18B; #else control |= DISPC_CONTROL_TFTDATALINES_OALSB16B; diff --git a/arch/arm/plat-omap/include/mach/mux.h b/arch/arm/plat-omap/include/mach/mux.h index 0447a78..4055763 100644 --- a/arch/arm/plat-omap/include/mach/mux.h +++ b/arch/arm/plat-omap/include/mach/mux.h @@ -785,8 +785,13 @@ enum omap34xx_index { T21_3430_UART3_RTS_SD, U21_3430_UART3_RX_IRRX, V21_3430_UART3_TX_IRTX, + + /* GPIO */ T21_3430_GPIO164, V21_3430_GPIO166, + AF21_3430_GPIO8, + B23_3430_GPIO167, + /* 34xx GPIO * - normally these are bidirectional, no internal pullup/pulldown * - "_UP" suffix (GPIO3_UP) if internal pullup is configured @@ -795,6 +800,9 @@ enum omap34xx_index { */ AH8_34XX_GPIO29, J25_34XX_GPIO170, + + /* McSPI */ + AB1_3430_McSPI1_CS2, }; struct omap_mux_cfg { diff --git a/drivers/video/omap/omap_disp_out.c b/drivers/video/omap/omap_disp_out.c index 62bf126..4dc818e 100755 --- a/drivers/video/omap/omap_disp_out.c +++ b/drivers/video/omap/omap_disp_out.c @@ -30,25 +30,29 @@ #include <linux/fb.h> #include <linux/delay.h> #include <linux/device.h> -#include <mach/hardware.h> +#include <linux/delay.h> +#include <linux/workqueue.h> +#include <linux/platform_device.h> + #include <asm/uaccess.h> #include <asm/delay.h> -#include <linux/delay.h> -#include <mach/display.h> + #include <mach/gpio.h> #include <mach/clock.h> +#include <mach/hardware.h> +#include <mach/mux.h> +#include <mach/power_companion.h> +#include <mach/resource.h> +#include <mach/display.h> + #if defined(CONFIG_MACH_OMAP_2430SDP) || defined (CONFIG_MACH_OMAP_3430SDP) ||\ defined(CONFIG_MACH_OMAP_LDP) || defined(CONFIG_MACH_OMAP_ZOOM2) #include <linux/i2c/twl4030.h> #endif -#include <linux/workqueue.h> -#include <mach/power_companion.h> -#include <mach/resource.h> #ifdef CONFIG_PM #include <linux/notifier.h> #include <linux/pm.h> #endif -#include <linux/platform_device.h> #ifdef CONFIG_FB_OMAP_LCD_WVGA #include <linux/spi/spi.h> #endif @@ -129,7 +133,7 @@ #define LCD_PANEL_RESET_GPIO 55 #define LCD_PANEL_QVGA_GPIO 56 #define LCD_PANEL_BACKLIGHT_GPIO (7 + OMAP_MAX_GPIO_LINES) -#define DVI_OUTPUT_GPIO 8 +#define DVI_OUTPUT_GPIO 8 #define DVI_POWER_ON_GPIO 167 #elif defined(CONFIG_OMAP3430_ES2) #define LCD_PANEL_ENABLE_GPIO 5 @@ -666,6 +670,7 @@ int initialize_nec_wvgalcd(void) spi_wvgalcd_send(157, 0x00); /* R157 = 00h */ udelay(20); spi_wvgalcd_send(2, 0x00); /* R2 = 00h */ + return 0; } #endif @@ -922,10 +927,14 @@ lcd_probe(struct platform_device *odev) #ifdef CONFIG_FB_OMAP_LCD_WVGA static int wvgalcd_probe(struct spi_device *spi) { + omap_cfg_reg(AF21_3430_GPIO8); + omap_cfg_reg(B23_3430_GPIO167); + omap_cfg_reg(AB1_3430_McSPI1_CS2); wvgalcd_spi = spi; wvgalcd_spi->mode = SPI_MODE_0; wvgalcd_spi->bits_per_word = 32; spi_setup(wvgalcd_spi); + return omap_lcd_init(0); } #endif -- 1.6.0 -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html