diff options
| author | Mike Rapoport <mike@compulab.co.il> | 2009-12-08 21:13:40 +0000 |
|---|---|---|
| committer | Koen Kooi <koen@openembedded.org> | 2009-12-09 09:37:11 +0100 |
| commit | 4c82c46829cc5a0eb1f2a88be4f35f4485db386d (patch) | |
| tree | 46c01fb06ff521a415d84ed3b0512a173765bb0f /recipes | |
| parent | af43bbdcad6f7a83c272655a9b3bdd038c009940 (diff) | |
linux-omap 2.6.32: add cm-t35 support
Signed-off-by: Mike Rapoport <mike@compulab.co.il>
Diffstat (limited to 'recipes')
8 files changed, 2986 insertions, 1 deletions
diff --git a/recipes/linux/linux-omap-2.6.32/cm-t35/0001-OMAP-DSS2-add-Toppoly-TDO35S-panel.patch b/recipes/linux/linux-omap-2.6.32/cm-t35/0001-OMAP-DSS2-add-Toppoly-TDO35S-panel.patch new file mode 100644 index 0000000000..423b29f841 --- /dev/null +++ b/recipes/linux/linux-omap-2.6.32/cm-t35/0001-OMAP-DSS2-add-Toppoly-TDO35S-panel.patch @@ -0,0 +1,159 @@ +From 971595be3dc245cfa095747263b94535d27a3f1c Mon Sep 17 00:00:00 2001 +From: Mike Rapoport <mike@compulab.co.il> +Date: Tue, 1 Dec 2009 12:14:10 +0200 +Subject: [PATCH 1/6] OMAP: DSS2: add Toppoly TDO35S panel + +Signed-off-by: Mike Rapoport <mike@compulab.co.il> +--- + drivers/video/omap2/displays/Kconfig | 6 + + drivers/video/omap2/displays/Makefile | 1 + + .../video/omap2/displays/panel-toppoly-tdo35s.c | 112 ++++++++++++++++++++ + 3 files changed, 119 insertions(+), 0 deletions(-) + create mode 100644 drivers/video/omap2/displays/panel-toppoly-tdo35s.c + +diff --git a/drivers/video/omap2/displays/Kconfig b/drivers/video/omap2/displays/Kconfig +index 79d2861..0d0d4f3 100644 +--- a/drivers/video/omap2/displays/Kconfig ++++ b/drivers/video/omap2/displays/Kconfig +@@ -25,4 +25,10 @@ config PANEL_TAAL + help + Taal DSI command mode panel from TPO. + ++config PANEL_TOPPOLY_TDO35S ++ tristate "Toppoly TDO35S LCD Panel support" ++ depends on OMAP2_DSS ++ help ++ LCD Panel used in CM-T35 ++ + endmenu +diff --git a/drivers/video/omap2/displays/Makefile b/drivers/video/omap2/displays/Makefile +index d44e765..e299454 100644 +--- a/drivers/video/omap2/displays/Makefile ++++ b/drivers/video/omap2/displays/Makefile +@@ -3,3 +3,4 @@ obj-$(CONFIG_PANEL_SAMSUNG_LTE430WQ_F0C) += panel-samsung-lte430wq-f0c.o + obj-$(CONFIG_PANEL_SHARP_LS037V7DW01) += panel-sharp-ls037v7dw01.o + + obj-$(CONFIG_PANEL_TAAL) += panel-taal.o ++obj-$(CONFIG_PANEL_TOPPOLY_TDO35S) += panel-toppoly-tdo35s.o +\ No newline at end of file +diff --git a/drivers/video/omap2/displays/panel-toppoly-tdo35s.c b/drivers/video/omap2/displays/panel-toppoly-tdo35s.c +new file mode 100644 +index 0000000..e744b8c +--- /dev/null ++++ b/drivers/video/omap2/displays/panel-toppoly-tdo35s.c +@@ -0,0 +1,112 @@ ++/* ++ * LCD panel driver for Toppoly TDO35S ++ * ++ * Copyright (C) 2009 CompuLab, Ltd. ++ * Author: Mike Rapoport <mike@compulab.co.il> ++ * ++ * Based on generic panel support ++ * Copyright (C) 2008 Nokia Corporation ++ * Author: Tomi Valkeinen <tomi.valkeinen@nokia.com> ++ * ++ * This program is free software; you can redistribute it and/or modify it ++ * under the terms of the GNU General Public License version 2 as published by ++ * the Free Software Foundation. ++ * ++ * This program is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or ++ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for ++ * more details. ++ * ++ * You should have received a copy of the GNU General Public License along with ++ * this program. If not, see <http://www.gnu.org/licenses/>. ++ */ ++ ++#include <linux/module.h> ++#include <linux/delay.h> ++ ++#include <plat/display.h> ++ ++static struct omap_video_timings toppoly_tdo_panel_timings = { ++ /* 640 x 480 @ 60 Hz Reduced blanking VESA CVT 0.31M3-R */ ++ .x_res = 480, ++ .y_res = 640, ++ ++ .pixel_clock = 26000, ++ ++ .hfp = 104, ++ .hsw = 8, ++ .hbp = 8, ++ ++ .vfp = 4, ++ .vsw = 2, ++ .vbp = 2, ++}; ++ ++static int toppoly_tdo_panel_probe(struct omap_dss_device *dssdev) ++{ ++ dssdev->panel.config = OMAP_DSS_LCD_TFT | OMAP_DSS_LCD_IVS | ++ OMAP_DSS_LCD_IHS; ++ dssdev->panel.timings = toppoly_tdo_panel_timings; ++ ++ return 0; ++} ++ ++static void toppoly_tdo_panel_remove(struct omap_dss_device *dssdev) ++{ ++} ++ ++static int toppoly_tdo_panel_enable(struct omap_dss_device *dssdev) ++{ ++ int r = 0; ++ ++ if (dssdev->platform_enable) ++ r = dssdev->platform_enable(dssdev); ++ ++ return r; ++} ++ ++static void toppoly_tdo_panel_disable(struct omap_dss_device *dssdev) ++{ ++ if (dssdev->platform_disable) ++ dssdev->platform_disable(dssdev); ++} ++ ++static int toppoly_tdo_panel_suspend(struct omap_dss_device *dssdev) ++{ ++ toppoly_tdo_panel_disable(dssdev); ++ return 0; ++} ++ ++static int toppoly_tdo_panel_resume(struct omap_dss_device *dssdev) ++{ ++ return toppoly_tdo_panel_enable(dssdev); ++} ++ ++static struct omap_dss_driver generic_driver = { ++ .probe = toppoly_tdo_panel_probe, ++ .remove = toppoly_tdo_panel_remove, ++ ++ .enable = toppoly_tdo_panel_enable, ++ .disable = toppoly_tdo_panel_disable, ++ .suspend = toppoly_tdo_panel_suspend, ++ .resume = toppoly_tdo_panel_resume, ++ ++ .driver = { ++ .name = "toppoly_tdo35s_panel", ++ .owner = THIS_MODULE, ++ }, ++}; ++ ++static int __init toppoly_tdo_panel_drv_init(void) ++{ ++ return omap_dss_register_driver(&generic_driver); ++} ++ ++static void __exit toppoly_tdo_panel_drv_exit(void) ++{ ++ omap_dss_unregister_driver(&generic_driver); ++} ++ ++module_init(toppoly_tdo_panel_drv_init); ++module_exit(toppoly_tdo_panel_drv_exit); ++MODULE_LICENSE("GPL"); +-- +1.6.4.4 + diff --git a/recipes/linux/linux-omap-2.6.32/cm-t35/0001-backlight-tdo24m-ensure-chip-select-changes-between-.patch b/recipes/linux/linux-omap-2.6.32/cm-t35/0001-backlight-tdo24m-ensure-chip-select-changes-between-.patch new file mode 100644 index 0000000000..b540987af0 --- /dev/null +++ b/recipes/linux/linux-omap-2.6.32/cm-t35/0001-backlight-tdo24m-ensure-chip-select-changes-between-.patch @@ -0,0 +1,30 @@ +From 8a2cbbaa60ea06370d2a6d9303b1aab54cdb8a69 Mon Sep 17 00:00:00 2001 +From: Mike Rapoport <mike@compulab.co.il> +Date: Tue, 24 Nov 2009 10:09:35 +0200 +Subject: [PATCH] backlight: tdo24m: ensure chip select changes between transfers + +Some SPI host drivers do not change chip select betwen transfers unless +.cs_chnage field is explicitly set. The LCD spec requires chip select +change between consecuitive transfers, so ensure it at the SPI driver +level. + +Signed-off-by: Mike Rapoport <mike@compulab.co.il> +--- + drivers/video/backlight/tdo24m.c | 1 + + 1 files changed, 1 insertions(+), 0 deletions(-) + +diff --git a/drivers/video/backlight/tdo24m.c b/drivers/video/backlight/tdo24m.c +index bbfb502..4a3d46e 100644 +--- a/drivers/video/backlight/tdo24m.c ++++ b/drivers/video/backlight/tdo24m.c +@@ -367,6 +367,7 @@ static int __devinit tdo24m_probe(struct spi_device *spi) + + spi_message_init(m); + ++ x->cs_change = 1; + x->tx_buf = &lcd->buf[0]; + spi_message_add_tail(x, m); + +-- +1.6.4.4 + diff --git a/recipes/linux/linux-omap-2.6.32/cm-t35/0002-omap3-cm-t35-add-DSS2-display-support.patch b/recipes/linux/linux-omap-2.6.32/cm-t35/0002-omap3-cm-t35-add-DSS2-display-support.patch new file mode 100644 index 0000000000..199e89bc93 --- /dev/null +++ b/recipes/linux/linux-omap-2.6.32/cm-t35/0002-omap3-cm-t35-add-DSS2-display-support.patch @@ -0,0 +1,307 @@ +From 7d601fa33c5475bcd3035df797a3cbe40cc542d4 Mon Sep 17 00:00:00 2001 +From: Mike Rapoport <mike@compulab.co.il> +Date: Tue, 1 Dec 2009 13:09:28 +0200 +Subject: [PATCH 2/6] omap3: cm-t35: add DSS2 display support + +Signed-off-by: Mike Rapoport <mike@compulab.co.il> +--- + arch/arm/mach-omap2/board-cm-t35.c | 234 +++++++++++++++++++++++++++++++++++- + 1 files changed, 233 insertions(+), 1 deletions(-) + +diff --git a/arch/arm/mach-omap2/board-cm-t35.c b/arch/arm/mach-omap2/board-cm-t35.c +index 22c4529..2d7a819 100644 +--- a/arch/arm/mach-omap2/board-cm-t35.c ++++ b/arch/arm/mach-omap2/board-cm-t35.c +@@ -32,6 +32,9 @@ + #include <linux/i2c/twl4030.h> + #include <linux/regulator/machine.h> + ++#include <linux/spi/spi.h> ++#include <linux/spi/tdo24m.h> ++ + #include <asm/mach-types.h> + #include <asm/mach/arch.h> + #include <asm/mach/map.h> +@@ -42,6 +45,7 @@ + #include <plat/nand.h> + #include <plat/gpmc.h> + #include <plat/usb.h> ++#include <plat/display.h> + + #include <mach/hardware.h> + +@@ -248,7 +252,6 @@ static inline void cm_t35_init_nand(void) {} + + #if defined(CONFIG_TOUCHSCREEN_ADS7846) || \ + defined(CONFIG_TOUCHSCREEN_ADS7846_MODULE) +-#include <linux/spi/spi.h> + #include <linux/spi/ads7846.h> + + #include <plat/mcspi.h> +@@ -304,6 +307,193 @@ static void __init cm_t35_init_ads7846(void) + static inline void cm_t35_init_ads7846(void) {} + #endif + ++#define CM_T35_LCD_EN_GPIO 157 ++#define CM_T35_LCD_BL_GPIO 58 ++#define CM_T35_DVI_EN_GPIO 54 ++ ++static int lcd_bl_gpio; ++static int lcd_en_gpio; ++static int dvi_en_gpio; ++ ++static int lcd_enabled; ++static int dvi_enabled; ++ ++static int cm_t35_panel_enable_lcd(struct omap_dss_device *dssdev) ++{ ++ if (dvi_enabled) { ++ printk(KERN_ERR "cannot enable LCD, DVI is enabled\n"); ++ return -EINVAL; ++ } ++ ++ gpio_set_value(lcd_en_gpio, 1); ++ gpio_set_value(lcd_bl_gpio, 1); ++ ++ lcd_enabled = 1; ++ ++ return 0; ++} ++ ++static void cm_t35_panel_disable_lcd(struct omap_dss_device *dssdev) ++{ ++ lcd_enabled = 0; ++ ++ gpio_set_value(lcd_bl_gpio, 0); ++ gpio_set_value(lcd_en_gpio, 0); ++} ++ ++static int cm_t35_panel_enable_dvi(struct omap_dss_device *dssdev) ++{ ++ if (lcd_enabled) { ++ printk(KERN_ERR "cannot enable DVI, LCD is enabled\n"); ++ return -EINVAL; ++ } ++ ++ gpio_set_value(dvi_en_gpio, 0); ++ dvi_enabled = 1; ++ ++ return 0; ++} ++ ++static void cm_t35_panel_disable_dvi(struct omap_dss_device *dssdev) ++{ ++ gpio_set_value(dvi_en_gpio, 1); ++ dvi_enabled = 0; ++} ++ ++static int cm_t35_panel_enable_tv(struct omap_dss_device *dssdev) ++{ ++ return 0; ++} ++ ++static void cm_t35_panel_disable_tv(struct omap_dss_device *dssdev) ++{ ++} ++ ++static struct omap_dss_device cm_t35_lcd_device = { ++ .name = "lcd", ++ .driver_name = "toppoly_tdo35s_panel", ++ .type = OMAP_DISPLAY_TYPE_DPI, ++ .phy.dpi.data_lines = 18, ++ .platform_enable = cm_t35_panel_enable_lcd, ++ .platform_disable = cm_t35_panel_disable_lcd, ++}; ++ ++static struct omap_dss_device cm_t35_dvi_device = { ++ .name = "dvi", ++ .driver_name = "generic_panel", ++ .type = OMAP_DISPLAY_TYPE_DPI, ++ .phy.dpi.data_lines = 24, ++ .platform_enable = cm_t35_panel_enable_dvi, ++ .platform_disable = cm_t35_panel_disable_dvi, ++}; ++ ++static struct omap_dss_device cm_t35_tv_device = { ++ .name = "tv", ++ .driver_name = "venc", ++ .type = OMAP_DISPLAY_TYPE_VENC, ++ .phy.venc.type = OMAP_DSS_VENC_TYPE_SVIDEO, ++ .platform_enable = cm_t35_panel_enable_tv, ++ .platform_disable = cm_t35_panel_disable_tv, ++}; ++ ++static struct omap_dss_device *cm_t35_dss_devices[] = { ++ &cm_t35_lcd_device, ++ &cm_t35_dvi_device, ++ &cm_t35_tv_device, ++}; ++ ++static struct omap_dss_board_info cm_t35_dss_data = { ++ .num_devices = ARRAY_SIZE(cm_t35_dss_devices), ++ .devices = cm_t35_dss_devices, ++ .default_device = &cm_t35_dvi_device, ++}; ++ ++static struct platform_device cm_t35_dss_device = { ++ .name = "omapdss", ++ .id = -1, ++ .dev = { ++ .platform_data = &cm_t35_dss_data, ++ }, ++}; ++ ++static struct omap2_mcspi_device_config tdo24m_mcspi_config = { ++ .turbo_mode = 0, ++ .single_channel = 1, /* 0: slave, 1: master */ ++}; ++ ++static struct tdo24m_platform_data tdo24m_config = { ++ .model = TDO35S, ++}; ++ ++static struct spi_board_info cm_t35_lcd_spi_board_info[] __initdata = { ++ { ++ .modalias = "tdo24m", ++ .bus_num = 4, ++ .chip_select = 0, ++ .max_speed_hz = 1000000, ++ .controller_data = &tdo24m_mcspi_config, ++ .platform_data = &tdo24m_config, ++ }, ++}; ++ ++static void __init cm_t35_display_init(void) ++{ ++ int err; ++ ++ lcd_en_gpio = CM_T35_LCD_EN_GPIO; ++ lcd_bl_gpio = CM_T35_LCD_BL_GPIO; ++ dvi_en_gpio = CM_T35_DVI_EN_GPIO; ++ ++ spi_register_board_info(cm_t35_lcd_spi_board_info, ++ ARRAY_SIZE(cm_t35_lcd_spi_board_info)); ++ ++ err = gpio_request(lcd_en_gpio, "LCD RST"); ++ if (err) { ++ pr_err("CM-T35: failed to get LCD reset GPIO\n"); ++ goto out; ++ } ++ ++ err = gpio_request(lcd_bl_gpio, "LCD BL"); ++ if (err) { ++ pr_err("CM-T35: failed to get LCD backlight control GPIO\n"); ++ goto err_lcd_bl; ++ } ++ ++ err = gpio_request(dvi_en_gpio, "DVI EN"); ++ if (err) { ++ pr_err("CM-T35: failed to get DVI reset GPIO\n"); ++ goto err_dvi_en; ++ } ++ ++ gpio_export(lcd_en_gpio, 0); ++ gpio_export(lcd_bl_gpio, 0); ++ gpio_export(dvi_en_gpio, 0); ++ gpio_direction_output(lcd_en_gpio, 0); ++ gpio_direction_output(lcd_bl_gpio, 0); ++ gpio_direction_output(dvi_en_gpio, 1); ++ ++ msleep(50); ++ gpio_set_value(lcd_en_gpio, 1); ++ ++ err = platform_device_register(&cm_t35_dss_device); ++ if (err) { ++ pr_err("CM-T35: failed to register DSS device\n"); ++ goto err_dev_reg; ++ } ++ ++ return; ++ ++err_dev_reg: ++ gpio_free(dvi_en_gpio); ++err_dvi_en: ++ gpio_free(lcd_bl_gpio); ++err_lcd_bl: ++ gpio_free(lcd_en_gpio); ++out: ++ ++ return; ++} ++ + static struct regulator_consumer_supply cm_t35_vmmc1_supply = { + .supply = "vmmc", + }; +@@ -312,6 +502,16 @@ static struct regulator_consumer_supply cm_t35_vsim_supply = { + .supply = "vmmc_aux", + }; + ++static struct regulator_consumer_supply cm_t35_vdac_supply = { ++ .supply = "vdda_dac", ++ .dev = &cm_t35_dss_device.dev, ++}; ++ ++static struct regulator_consumer_supply cm_t35_vdvi_supply = { ++ .supply = "vdvi", ++ .dev = &cm_t35_dss_device.dev, ++}; ++ + /* VMMC1 for MMC1 pins CMD, CLK, DAT0..DAT3 (20 mA, plus card == max 220 mA) */ + static struct regulator_init_data cm_t35_vmmc1 = { + .constraints = { +@@ -342,6 +542,35 @@ static struct regulator_init_data cm_t35_vsim = { + .consumer_supplies = &cm_t35_vsim_supply, + }; + ++/* VDAC for DSS driving S-Video (8 mA unloaded, max 65 mA) */ ++static struct regulator_init_data cm_t35_vdac = { ++ .constraints = { ++ .min_uV = 1800000, ++ .max_uV = 1800000, ++ .valid_modes_mask = REGULATOR_MODE_NORMAL ++ | REGULATOR_MODE_STANDBY, ++ .valid_ops_mask = REGULATOR_CHANGE_MODE ++ | REGULATOR_CHANGE_STATUS, ++ }, ++ .num_consumer_supplies = 1, ++ .consumer_supplies = &cm_t35_vdac_supply, ++}; ++ ++/* VPLL2 for digital video outputs */ ++static struct regulator_init_data cm_t35_vpll2 = { ++ .constraints = { ++ .name = "VDVI", ++ .min_uV = 1800000, ++ .max_uV = 1800000, ++ .valid_modes_mask = REGULATOR_MODE_NORMAL ++ | REGULATOR_MODE_STANDBY, ++ .valid_ops_mask = REGULATOR_CHANGE_MODE ++ | REGULATOR_CHANGE_STATUS, ++ }, ++ .num_consumer_supplies = 1, ++ .consumer_supplies = &cm_t35_vdvi_supply, ++}; ++ + static struct twl4030_usb_data cm_t35_usb_data = { + .usb_mode = T2_USB_MODE_ULPI, + }; +@@ -445,6 +674,8 @@ static struct twl4030_platform_data cm_t35_twldata = { + .gpio = &cm_t35_gpio_data, + .vmmc1 = &cm_t35_vmmc1, + .vsim = &cm_t35_vsim, ++ .vdac = &cm_t35_vdac, ++ .vpll2 = &cm_t35_vpll2, + }; + + static struct i2c_board_info __initdata cm_t35_i2c_boardinfo[] = { +@@ -490,6 +721,7 @@ static void __init cm_t35_init(void) + cm_t35_init_ads7846(); + cm_t35_init_ethernet(); + cm_t35_init_led(); ++ cm_t35_display_init(); + + usb_musb_init(); + +-- +1.6.4.4 + diff --git a/recipes/linux/linux-omap-2.6.32/cm-t35/0003-omap3-cm-t35-update-defconfig-for-DSS2.patch b/recipes/linux/linux-omap-2.6.32/cm-t35/0003-omap3-cm-t35-update-defconfig-for-DSS2.patch new file mode 100644 index 0000000000..dc1e5270c9 --- /dev/null +++ b/recipes/linux/linux-omap-2.6.32/cm-t35/0003-omap3-cm-t35-update-defconfig-for-DSS2.patch @@ -0,0 +1,145 @@ +From 10cd78db62cbda2f9db1c53d459ee03a35b84662 Mon Sep 17 00:00:00 2001 +From: Mike Rapoport <mike@compulab.co.il> +Date: Tue, 1 Dec 2009 13:16:02 +0200 +Subject: [PATCH 3/6] omap3: cm-t35: update defconfig for DSS2 + +Signed-off-by: Mike Rapoport <mike@compulab.co.il> +--- + arch/arm/configs/cm_t35_defconfig | 82 +++++++++++++++++++++++++++++++++++-- + 1 files changed, 78 insertions(+), 4 deletions(-) + +diff --git a/arch/arm/configs/cm_t35_defconfig b/arch/arm/configs/cm_t35_defconfig +index e42c5c8..bd6f882 100644 +--- a/arch/arm/configs/cm_t35_defconfig ++++ b/arch/arm/configs/cm_t35_defconfig +@@ -1,7 +1,7 @@ + # + # Automatically generated make config: don't edit +-# Linux kernel version: 2.6.32-rc4 +-# Tue Oct 13 17:10:40 2009 ++# Linux kernel version: 2.6.32-rc8 ++# Tue Dec 1 12:08:44 2009 + # + CONFIG_ARM=y + CONFIG_SYS_SUPPORTS_APM_EMULATION=y +@@ -215,6 +215,7 @@ CONFIG_OMAP_DM_TIMER=y + # CONFIG_OMAP_LL_DEBUG_UART1 is not set + # CONFIG_OMAP_LL_DEBUG_UART2 is not set + CONFIG_OMAP_LL_DEBUG_UART3=y ++# CONFIG_OMAP_LL_DEBUG_NONE is not set + # CONFIG_OMAP_PM_NONE is not set + CONFIG_OMAP_PM_NOOP=y + CONFIG_ARCH_OMAP34XX=y +@@ -227,11 +228,15 @@ CONFIG_ARCH_OMAP3430=y + # CONFIG_MACH_OMAP_LDP is not set + # CONFIG_MACH_OVERO is not set + # CONFIG_MACH_OMAP3EVM is not set ++# CONFIG_MACH_OMAP3517EVM is not set + # CONFIG_MACH_OMAP3_PANDORA is not set + # CONFIG_MACH_OMAP_3430SDP is not set + # CONFIG_MACH_NOKIA_RX51 is not set + # CONFIG_MACH_OMAP_ZOOM2 is not set ++# CONFIG_MACH_OMAP_ZOOM3 is not set + CONFIG_MACH_CM_T35=y ++# CONFIG_MACH_IGEP0020 is not set ++# CONFIG_MACH_OMAP_3630SDP is not set + + # + # Processor Type +@@ -963,6 +968,7 @@ CONFIG_SSB_POSSIBLE=y + # CONFIG_TPS65010 is not set + CONFIG_TWL4030_CORE=y + # CONFIG_TWL4030_POWER is not set ++# CONFIG_TWL4030_CODEC is not set + # CONFIG_MFD_TMIO is not set + # CONFIG_MFD_T7L66XB is not set + # CONFIG_MFD_TC6387XB is not set +@@ -993,8 +999,66 @@ CONFIG_REGULATOR_TWL4030=y + # + # CONFIG_VGASTATE is not set + # CONFIG_VIDEO_OUTPUT_CONTROL is not set +-# CONFIG_FB is not set +-# CONFIG_BACKLIGHT_LCD_SUPPORT is not set ++CONFIG_FB=y ++# CONFIG_FIRMWARE_EDID is not set ++# CONFIG_FB_DDC is not set ++# CONFIG_FB_BOOT_VESA_SUPPORT is not set ++CONFIG_FB_CFB_FILLRECT=y ++CONFIG_FB_CFB_COPYAREA=y ++CONFIG_FB_CFB_IMAGEBLIT=y ++# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set ++# CONFIG_FB_SYS_FILLRECT is not set ++# CONFIG_FB_SYS_COPYAREA is not set ++# CONFIG_FB_SYS_IMAGEBLIT is not set ++# CONFIG_FB_FOREIGN_ENDIAN is not set ++# CONFIG_FB_SYS_FOPS is not set ++# CONFIG_FB_SVGALIB is not set ++# CONFIG_FB_MACMODES is not set ++# CONFIG_FB_BACKLIGHT is not set ++# CONFIG_FB_MODE_HELPERS is not set ++# CONFIG_FB_TILEBLITTING is not set ++ ++# ++# Frame buffer hardware drivers ++# ++# CONFIG_FB_S1D13XXX is not set ++# CONFIG_FB_VIRTUAL is not set ++# CONFIG_FB_METRONOME is not set ++# CONFIG_FB_MB862XX is not set ++# CONFIG_FB_BROADSHEET is not set ++# CONFIG_FB_OMAP_BOOTLOADER_INIT is not set ++CONFIG_OMAP2_VRAM=y ++CONFIG_OMAP2_VRFB=y ++CONFIG_OMAP2_DSS=y ++CONFIG_OMAP2_VRAM_SIZE=4 ++CONFIG_OMAP2_DSS_DEBUG_SUPPORT=y ++# CONFIG_OMAP2_DSS_RFBI is not set ++CONFIG_OMAP2_DSS_VENC=y ++# CONFIG_OMAP2_DSS_SDI is not set ++# CONFIG_OMAP2_DSS_DSI is not set ++# CONFIG_OMAP2_DSS_FAKE_VSYNC is not set ++CONFIG_OMAP2_DSS_MIN_FCK_PER_PCK=0 ++CONFIG_FB_OMAP2=y ++CONFIG_FB_OMAP2_DEBUG_SUPPORT=y ++# CONFIG_FB_OMAP2_FORCE_AUTO_UPDATE is not set ++CONFIG_FB_OMAP2_NUM_FBS=3 ++ ++# ++# OMAP2/3 Display Device Drivers ++# ++CONFIG_PANEL_GENERIC=y ++# CONFIG_PANEL_SAMSUNG_LTE430WQ_F0C is not set ++# CONFIG_PANEL_SHARP_LS037V7DW01 is not set ++CONFIG_PANEL_TOPPOLY_TDO35S=y ++CONFIG_BACKLIGHT_LCD_SUPPORT=y ++CONFIG_LCD_CLASS_DEVICE=y ++# CONFIG_LCD_LMS283GF05 is not set ++# CONFIG_LCD_LTV350QV is not set ++# CONFIG_LCD_ILI9320 is not set ++CONFIG_LCD_TDO24M=y ++# CONFIG_LCD_VGG2432A4 is not set ++# CONFIG_LCD_PLATFORM is not set ++# CONFIG_BACKLIGHT_CLASS_DEVICE is not set + + # + # Display device support +@@ -1006,6 +1070,16 @@ CONFIG_REGULATOR_TWL4030=y + # + # CONFIG_VGA_CONSOLE is not set + CONFIG_DUMMY_CONSOLE=y ++CONFIG_FRAMEBUFFER_CONSOLE=y ++# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set ++# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set ++# CONFIG_FONTS is not set ++CONFIG_FONT_8x8=y ++CONFIG_FONT_8x16=y ++CONFIG_LOGO=y ++CONFIG_LOGO_LINUX_MONO=y ++CONFIG_LOGO_LINUX_VGA16=y ++CONFIG_LOGO_LINUX_CLUT224=y + # CONFIG_SOUND is not set + CONFIG_HID_SUPPORT=y + CONFIG_HID=y +-- +1.6.4.4 + diff --git a/recipes/linux/linux-omap-2.6.32/cm-t35/0004-omap3-cm-t35-add-cm-t35-mux-configs.patch b/recipes/linux/linux-omap-2.6.32/cm-t35/0004-omap3-cm-t35-add-cm-t35-mux-configs.patch new file mode 100644 index 0000000000..ff8b50b1c9 --- /dev/null +++ b/recipes/linux/linux-omap-2.6.32/cm-t35/0004-omap3-cm-t35-add-cm-t35-mux-configs.patch @@ -0,0 +1,427 @@ +From a1a572a6b020996155fa3fd7e70a96299b37cf30 Mon Sep 17 00:00:00 2001 +From: Mike Rapoport <mike@compulab.co.il> +Date: Mon, 7 Dec 2009 10:27:48 +0200 +Subject: [PATCH 4/6] omap3: cm-t35: add cm-t35 mux configs + +Signed-off-by: Mike Rapoport <mike@compulab.co.il> +--- + arch/arm/mach-omap2/board-cm-t35.c | 94 +++++++++++++++++++ + arch/arm/mach-omap2/mux.c | 158 ++++++++++++++++++++++++++++++++- + arch/arm/plat-omap/include/plat/mux.h | 86 ++++++++++++++++++ + 3 files changed, 337 insertions(+), 1 deletions(-) + +diff --git a/arch/arm/mach-omap2/board-cm-t35.c b/arch/arm/mach-omap2/board-cm-t35.c +index 2d7a819..3e54499 100644 +--- a/arch/arm/mach-omap2/board-cm-t35.c ++++ b/arch/arm/mach-omap2/board-cm-t35.c +@@ -693,6 +693,99 @@ static void __init cm_t35_init_i2c(void) + ARRAY_SIZE(cm_t35_i2c_boardinfo)); + } + ++static void __init cm_t35_init_mux(void) ++{ ++ /* nCS and IRQ mux for CM-T35 ethernet */ ++ omap_cfg_reg(G5_34XX_GPMC_NCS5); ++ omap_cfg_reg(A23_34XX_GPIO163_UP); ++ ++ /* nCS, IRQ and reset mux for SB-T35 ethernet */ ++ omap_cfg_reg(F4_34XX_GPMC_NCS4); ++ omap_cfg_reg(N21_34XX_GPIO127_UP); ++ omap_cfg_reg(B23_34XX_GPIO164_OUT); ++ ++ /* PENDOWN GPIO */ ++ omap_cfg_reg(F3_34XX_GPIO57_UP); ++ ++ /* mUSB */ ++ omap_cfg_reg(R21_3430_USB0HS_PHY_CLK); ++ omap_cfg_reg(R23_3430_USB0HS_PHY_STP); ++ omap_cfg_reg(P23_3430_USB0HS_PHY_DIR); ++ omap_cfg_reg(R22_3430_USB0HS_PHY_NXT); ++ omap_cfg_reg(T24_3430_USB0HS_PHY_DATA0); ++ omap_cfg_reg(T23_3430_USB0HS_PHY_DATA1); ++ omap_cfg_reg(U24_3430_USB0HS_PHY_DATA2); ++ omap_cfg_reg(U23_3430_USB0HS_PHY_DATA3); ++ omap_cfg_reg(W24_3430_USB0HS_PHY_DATA4); ++ omap_cfg_reg(V23_3430_USB0HS_PHY_DATA5); ++ omap_cfg_reg(W23_3430_USB0HS_PHY_DATA6); ++ omap_cfg_reg(T22_3430_USB0HS_PHY_DATA7); ++ ++ /* MMC 2 */ ++ omap_cfg_reg(AB2_3430_MMC2_DIR_DAT0); ++ omap_cfg_reg(AA2_3430_MMC2_DIR_DAT1); ++ omap_cfg_reg(Y2_3430_MMC2_DIR_CMD); ++ omap_cfg_reg(AA1_3420_MMC2_CLKIN); ++ ++ /* McSPI 1 */ ++ omap_cfg_reg(T5_34XX_MCSPI1_CLK); ++ omap_cfg_reg(R4_34XX_MCSPI1_SIMO); ++ omap_cfg_reg(T4_34XX_MCSPI1_SOMI); ++ omap_cfg_reg(T6_34XX_MCSPI1_CS0); ++ ++ /* McBSP 2 */ ++ omap_cfg_reg(V20_34XX_MCBSP2_FSX); ++ omap_cfg_reg(T21_34XX_MCBSP2_CLKX); ++ omap_cfg_reg(V19_34XX_MCBSP2_DR); ++ omap_cfg_reg(R20_34XX_MCBSP2_DX); ++ ++ omap_cfg_reg(F21_34XX_GPIO109_OUT); ++ ++ /* serial ports */ ++ omap_cfg_reg(W4_34XX_UART2_TX); ++ omap_cfg_reg(V4_34XX_UART2_RX); ++ omap_cfg_reg(W7_34XX_UART1_TX); ++ omap_cfg_reg(V7_34XX_UART1_RX); ++ ++ /* display controls */ ++ omap_cfg_reg(U8_34XX_GPIO54_OUT); ++ omap_cfg_reg(G4_34XX_GPIO58_OUT); ++/* omap_cfg_reg(??_34XX_GPIO129_OUT); */ ++ ++ /* DSS */ ++ omap_cfg_reg(G22_34XX_DSS_PCLK); ++ omap_cfg_reg(E22_34XX_DSS_HSYNC); ++ omap_cfg_reg(F22_34XX_DSS_VSYNC); ++ omap_cfg_reg(J21_34XX_DSS_ACBIAS); ++ omap_cfg_reg(AC19_34XX_DSS_DATA0); ++ omap_cfg_reg(AB19_34XX_DSS_DATA1); ++ omap_cfg_reg(AD20_34XX_DSS_DATA2); ++ omap_cfg_reg(AC20_34XX_DSS_DATA3); ++ omap_cfg_reg(AD21_34XX_DSS_DATA4); ++ omap_cfg_reg(AC21_34XX_DSS_DATA5); ++ omap_cfg_reg(D24_34XX_DSS_DATA6); ++ omap_cfg_reg(E23_34XX_DSS_DATA7); ++ omap_cfg_reg(E24_34XX_DSS_DATA8); ++ omap_cfg_reg(F23_34XX_DSS_DATA9); ++ omap_cfg_reg(AC22_34XX_DSS_DATA10); ++ omap_cfg_reg(AC23_34XX_DSS_DATA11); ++ omap_cfg_reg(AB22_34XX_DSS_DATA12); ++ omap_cfg_reg(Y22_34XX_DSS_DATA13); ++ omap_cfg_reg(W22_34XX_DSS_DATA14); ++ omap_cfg_reg(V22_34XX_DSS_DATA15); ++ omap_cfg_reg(J22_34XX_DSS_DATA16); ++ omap_cfg_reg(G23_34XX_DSS_DATA17); ++ omap_cfg_reg(G24_34XX_DSS_DATA18); ++ omap_cfg_reg(H23_34XX_DSS_DATA19); ++ omap_cfg_reg(D23_34XX_DSS_DATA20); ++ omap_cfg_reg(K22_34XX_DSS_DATA21); ++ omap_cfg_reg(V21_34XX_DSS_DATA22); ++ omap_cfg_reg(W21_34XX_DSS_DATA23); ++ ++ /* TPS IRQ */ ++ omap_cfg_reg(AF26_34XX_SYS_NIRQ); ++} ++ + static struct omap_board_config_kernel cm_t35_config[] __initdata = { + }; + +@@ -716,6 +809,7 @@ static void __init cm_t35_map_io(void) + static void __init cm_t35_init(void) + { + omap_serial_init(); ++ cm_t35_init_mux(); + cm_t35_init_i2c(); + cm_t35_init_nand(); + cm_t35_init_ads7846(); +diff --git a/arch/arm/mach-omap2/mux.c b/arch/arm/mach-omap2/mux.c +index c18a94e..23eb011 100644 +--- a/arch/arm/mach-omap2/mux.c ++++ b/arch/arm/mach-omap2/mux.c +@@ -279,6 +279,33 @@ MUX_CFG_34XX("AD26_34XX_I2C4_SCL", 0xa00, + MUX_CFG_34XX("AE26_34XX_I2C4_SDA", 0xa02, + OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_INPUT_PULLUP) + ++/* HSUSB Port 0 */ ++MUX_CFG_34XX("R21_3430_USB0HS_PHY_CLK", 0x1a2, ++ OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_INPUT) ++MUX_CFG_34XX("R23_3430_USB0HS_PHY_STP", 0x1a4, ++ OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_OUTPUT | \ ++ OMAP2_PULL_ENA | OMAP2_PULL_UP) ++MUX_CFG_34XX("P23_3430_USB0HS_PHY_DIR", 0x1a6, ++ OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_INPUT) ++MUX_CFG_34XX("R22_3430_USB0HS_PHY_NXT", 0x1a8, ++ OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_INPUT) ++MUX_CFG_34XX("T24_3430_USB0HS_PHY_DATA0", 0x1aa, ++ OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_INPUT) ++MUX_CFG_34XX("T23_3430_USB0HS_PHY_DATA1", 0x1ac, ++ OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_INPUT) ++MUX_CFG_34XX("U24_3430_USB0HS_PHY_DATA2", 0x1ae, ++ OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_INPUT) ++MUX_CFG_34XX("U23_3430_USB0HS_PHY_DATA3", 0x1b0, ++ OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_INPUT) ++MUX_CFG_34XX("W24_3430_USB0HS_PHY_DATA4", 0x1b2, ++ OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_INPUT) ++MUX_CFG_34XX("V23_3430_USB0HS_PHY_DATA5", 0x1b4, ++ OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_INPUT) ++MUX_CFG_34XX("W23_3430_USB0HS_PHY_DATA6", 0x1b6, ++ OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_INPUT) ++MUX_CFG_34XX("T22_3430_USB0HS_PHY_DATA7", 0x1b8, ++ OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_INPUT) ++ + /* PHY - HSUSB: 12-pin ULPI PHY: Port 1*/ + MUX_CFG_34XX("Y8_3430_USB1HS_PHY_CLK", 0x5da, + OMAP34XX_MUX_MODE3 | OMAP34XX_PIN_OUTPUT) +@@ -541,6 +568,15 @@ MUX_CFG_34XX("AF3_3430_MMC2_DAT6", 0x168, + MUX_CFG_34XX("AE3_3430_MMC2_DAT7", 0x16A, + OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_INPUT_PULLUP) + ++MUX_CFG_34XX("AB2_3430_MMC2_DIR_DAT0", 0x164, ++ OMAP34XX_MUX_MODE1 | OMAP34XX_PIN_OUTPUT) ++MUX_CFG_34XX("AA2_3430_MMC2_DIR_DAT1", 0x166, ++ OMAP34XX_MUX_MODE1 | OMAP34XX_PIN_OUTPUT) ++MUX_CFG_34XX("Y2_3430_MMC2_DIR_CMD", 0x168, ++ OMAP34XX_MUX_MODE1 | OMAP34XX_PIN_OUTPUT) ++MUX_CFG_34XX("AA1_3420_MMC2_CLKIN", 0x16a, ++ OMAP34XX_MUX_MODE1 | OMAP34XX_PIN_INPUT) ++ + /* MMC3 */ + MUX_CFG_34XX("AF10_3430_MMC3_CLK", 0x5d8, + OMAP34XX_MUX_MODE2 | OMAP34XX_PIN_INPUT_PULLUP) +@@ -559,13 +595,133 @@ MUX_CFG_34XX("AF13_3430_MMC3_DAT3", 0x5e2, + MUX_CFG_34XX("AF26_34XX_SYS_NIRQ", 0x1E0, + OMAP3_WAKEUP_EN | OMAP34XX_PIN_INPUT_PULLUP | + OMAP34XX_MUX_MODE0) +-/* EHCI GPIO's on OMAP3EVM (Rev >= E) */ ++ + MUX_CFG_34XX("AH14_34XX_GPIO21", 0x5ea, + OMAP34XX_MUX_MODE4 | OMAP34XX_PIN_INPUT_PULLUP) + MUX_CFG_34XX("AF9_34XX_GPIO22", 0x5ec, + OMAP34XX_MUX_MODE4 | OMAP34XX_PIN_INPUT_PULLUP) + MUX_CFG_34XX("U3_34XX_GPIO61", 0x0c8, + OMAP34XX_MUX_MODE4 | OMAP34XX_PIN_INPUT_PULLUP) ++ ++MUX_CFG_34XX("AG4_34XX_GPIO134", 0x160, ++ OMAP34XX_MUX_MODE4 | OMAP34XX_PIN_OUTPUT) ++MUX_CFG_34XX("U8_34XX_GPIO54", 0x0b4, ++ OMAP34XX_MUX_MODE4 | OMAP34XX_PIN_OUTPUT) ++MUX_CFG_34XX("AE4_34XX_GPIO136", 0x164, ++ OMAP34XX_MUX_MODE4 | OMAP34XX_PIN_OUTPUT) ++MUX_CFG_34XX("F3_34XX_GPIO57_UP", 0x0ba, ++ OMAP34XX_MUX_MODE4 | OMAP34XX_PIN_INPUT_PULLUP) ++MUX_CFG_34XX("G4_34XX_GPIO58_OUT", 0x0bc, ++ OMAP34XX_MUX_MODE4 | OMAP34XX_PIN_OUTPUT) ++MUX_CFG_34XX("W2_34XX_GPIO59", 0x0be, ++ OMAP34XX_MUX_MODE4 | OMAP34XX_PIN_INPUT) ++MUX_CFG_34XX("L1_34XX_GPIO61_OUT", 0x0c8, ++ OMAP34XX_MUX_MODE4 | OMAP34XX_PIN_OUTPUT) ++MUX_CFG_34XX("C2_34XX_GPIO65", 0x0d2, ++ OMAP34XX_MUX_MODE4 | OMAP34XX_PIN_OUTPUT) ++MUX_CFG_34XX("N21_34XX_GPIO127_UP", 0x152, ++ OMAP34XX_MUX_MODE4 | OMAP34XX_PIN_INPUT_PULLUP) ++MUX_CFG_34XX("A23_34XX_GPIO163_UP", 0x19a, ++ OMAP34XX_MUX_MODE4 | OMAP34XX_PIN_INPUT_PULLUP) ++MUX_CFG_34XX("B23_34XX_GPIO164_OUT", 0x19c, ++ OMAP34XX_MUX_MODE4 | OMAP34XX_PIN_OUTPUT) ++MUX_CFG_34XX("AA6_34XX_GPIO164_OUT", 0x1e2, ++ OMAP34XX_MUX_MODE4 | OMAP34XX_PIN_OUTPUT) ++ ++/* GPMC */ ++MUX_CFG_34XX("F4_34XX_GPMC_NCS4", 0x0b6, OMAP34XX_MUX_MODE0) ++MUX_CFG_34XX("G5_34XX_GPMC_NCS5", 0x0b8, OMAP34XX_MUX_MODE0) ++ ++/* McSPI 1 */ ++MUX_CFG_34XX("T5_34XX_MCSPI1_CLK", 0x1c8, ++ OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_INPUT) ++MUX_CFG_34XX("R4_34XX_MCSPI1_SIMO", 0x1ca, ++ OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_INPUT) ++MUX_CFG_34XX("T4_34XX_MCSPI1_SOMI", 0x1cc, ++ OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_INPUT) ++MUX_CFG_34XX("T6_34XX_MCSPI1_CS0", 0x1ce, ++ OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_INPUT_PULLDOWN) ++ ++/* McBSP 2 */ ++MUX_CFG_34XX("V20_34XX_MCBSP2_FSX", 0x13c, ++ OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_INPUT) ++MUX_CFG_34XX("T21_34XX_MCBSP2_CLKX", 0x13e, ++ OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_INPUT) ++MUX_CFG_34XX("V19_34XX_MCBSP2_DR", 0x140, ++ OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_INPUT) ++MUX_CFG_34XX("R20_34XX_MCBSP2_DX", 0x142, ++ OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_OUTPUT) ++ ++MUX_CFG_34XX("F21_34XX_GPIO109_OUT", 0x12a, ++ OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_OUTPUT) ++ ++/* Serial ports */ ++MUX_CFG_34XX("W4_34XX_UART2_TX", 0x170, ++ OMAP34XX_MUX_MODE1 | OMAP34XX_PIN_OUTPUT) ++MUX_CFG_34XX("V4_34XX_UART2_RX", 0x172, ++ OMAP34XX_MUX_MODE1 | OMAP34XX_PIN_INPUT) ++MUX_CFG_34XX("W7_34XX_UART1_TX", 0x17c, ++ OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_OUTPUT) ++MUX_CFG_34XX("V7_34XX_UART1_RX", 0x182, ++ OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_INPUT) ++ ++/* DSS */ ++MUX_CFG_34XX("G22_34XX_DSS_PCLK", 0x0d4, ++ OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_OUTPUT) ++MUX_CFG_34XX("E22_34XX_DSS_HSYNC", 0x0d6, ++ OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_OUTPUT) ++MUX_CFG_34XX("F22_34XX_DSS_VSYNC", 0x0d8, ++ OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_OUTPUT) ++MUX_CFG_34XX("J21_34XX_DSS_ACBIAS", 0x0da, ++ OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_OUTPUT) ++MUX_CFG_34XX("AC19_34XX_DSS_DATA0", 0x0dc, ++ OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_OUTPUT) ++MUX_CFG_34XX("AB19_34XX_DSS_DATA1", 0x0de, ++ OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_OUTPUT) ++MUX_CFG_34XX("AD20_34XX_DSS_DATA2", 0x0e0, ++ OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_OUTPUT) ++MUX_CFG_34XX("AC20_34XX_DSS_DATA3", 0x0e2, ++ OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_OUTPUT) ++MUX_CFG_34XX("AD21_34XX_DSS_DATA4", 0x0e4, ++ OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_OUTPUT) ++MUX_CFG_34XX("AC21_34XX_DSS_DATA5", 0x0e6, ++ OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_OUTPUT) ++MUX_CFG_34XX("D24_34XX_DSS_DATA6", 0x0e8, ++ OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_OUTPUT) ++MUX_CFG_34XX("E23_34XX_DSS_DATA7", 0x0ea, ++ OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_OUTPUT) ++MUX_CFG_34XX("E24_34XX_DSS_DATA8", 0x0ec, ++ OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_OUTPUT) ++MUX_CFG_34XX("F23_34XX_DSS_DATA9", 0x0ee, ++ OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_OUTPUT) ++MUX_CFG_34XX("AC22_34XX_DSS_DATA10", 0x0f0, ++ OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_OUTPUT) ++MUX_CFG_34XX("AC23_34XX_DSS_DATA11", 0x0f2, ++ OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_OUTPUT) ++MUX_CFG_34XX("AB22_34XX_DSS_DATA12", 0x0f4, ++ OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_OUTPUT) ++MUX_CFG_34XX("Y22_34XX_DSS_DATA13", 0x0f6, ++ OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_OUTPUT) ++MUX_CFG_34XX("W22_34XX_DSS_DATA14", 0x0f8, ++ OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_OUTPUT) ++MUX_CFG_34XX("V22_34XX_DSS_DATA15", 0x0fa, ++ OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_OUTPUT) ++MUX_CFG_34XX("J22_34XX_DSS_DATA16", 0x0fc, ++ OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_OUTPUT) ++MUX_CFG_34XX("G23_34XX_DSS_DATA17", 0x0fe, ++ OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_OUTPUT) ++MUX_CFG_34XX("G24_34XX_DSS_DATA18", 0x100, ++ OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_OUTPUT) ++MUX_CFG_34XX("H23_34XX_DSS_DATA19", 0x102, ++ OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_OUTPUT) ++MUX_CFG_34XX("D23_34XX_DSS_DATA20", 0x104, ++ OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_OUTPUT) ++MUX_CFG_34XX("K22_34XX_DSS_DATA21", 0x106, ++ OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_OUTPUT) ++MUX_CFG_34XX("V21_34XX_DSS_DATA22", 0x108, ++ OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_OUTPUT) ++MUX_CFG_34XX("W21_34XX_DSS_DATA23", 0x10a, ++ OMAP34XX_MUX_MODE0 | OMAP34XX_PIN_OUTPUT) + }; + + #define OMAP34XX_PINS_SZ ARRAY_SIZE(omap34xx_pins) +diff --git a/arch/arm/plat-omap/include/plat/mux.h b/arch/arm/plat-omap/include/plat/mux.h +index ba77de6..119379c 100644 +--- a/arch/arm/plat-omap/include/plat/mux.h ++++ b/ar |
