Loading arch/arm/mach-omap2/board-2430sdp.c +64 −14 Original line number Diff line number Diff line Loading @@ -39,6 +39,9 @@ #include <plat/usb.h> #include <plat/gpmc-smc91x.h> #include <video/omapdss.h> #include <video/omap-panel-generic-dpi.h> #include "mux.h" #include "hsmmc.h" #include "common-board-devices.h" Loading Loading @@ -99,20 +102,72 @@ static struct platform_device sdp2430_flash_device = { .resource = &sdp2430_flash_resource, }; static struct platform_device sdp2430_lcd_device = { .name = "sdp2430_lcd", .id = -1, }; static struct platform_device *sdp2430_devices[] __initdata = { &sdp2430_flash_device, }; /* LCD */ #define SDP2430_LCD_PANEL_BACKLIGHT_GPIO 91 #define SDP2430_LCD_PANEL_ENABLE_GPIO 154 static int sdp2430_panel_enable_lcd(struct omap_dss_device *dssdev) { gpio_direction_output(SDP2430_LCD_PANEL_ENABLE_GPIO, 1); gpio_direction_output(SDP2430_LCD_PANEL_BACKLIGHT_GPIO, 1); return 0; } static void sdp2430_panel_disable_lcd(struct omap_dss_device *dssdev) { gpio_direction_output(SDP2430_LCD_PANEL_ENABLE_GPIO, 0); gpio_direction_output(SDP2430_LCD_PANEL_BACKLIGHT_GPIO, 0); } static struct panel_generic_dpi_data sdp2430_panel_data = { .name = "nec_nl2432dr22-11b", .platform_enable = sdp2430_panel_enable_lcd, .platform_disable = sdp2430_panel_disable_lcd, }; static struct omap_dss_device sdp2430_lcd_device = { .name = "lcd", .driver_name = "generic_dpi_panel", .type = OMAP_DISPLAY_TYPE_DPI, .phy.dpi.data_lines = 16, .data = &sdp2430_panel_data, }; static struct omap_dss_device *sdp2430_dss_devices[] = { &sdp2430_lcd_device, }; static struct omap_lcd_config sdp2430_lcd_config __initdata = { .ctrl_name = "internal", static struct omap_dss_board_info sdp2430_dss_data = { .num_devices = ARRAY_SIZE(sdp2430_dss_devices), .devices = sdp2430_dss_devices, .default_device = &sdp2430_lcd_device, }; static void __init sdp2430_display_init(void) { int r; static struct gpio gpios[] __initdata = { { SDP2430_LCD_PANEL_ENABLE_GPIO, GPIOF_OUT_INIT_LOW, "LCD reset" }, { SDP2430_LCD_PANEL_BACKLIGHT_GPIO, GPIOF_OUT_INIT_LOW, "LCD Backlight" }, }; r = gpio_request_array(gpios, ARRAY_SIZE(gpios)); if (r) { pr_err("Cannot request LCD GPIOs, error %d\n", r); return; } omap_display_init(&sdp2430_dss_data); } #if defined(CONFIG_SMC91X) || defined(CONFIG_SMC91x_MODULE) static struct omap_smc91x_platform_data board_smc91x_data = { Loading @@ -137,10 +192,6 @@ static inline void board_smc91x_init(void) #endif static struct omap_board_config_kernel sdp2430_config[] __initdata = { {OMAP_TAG_LCD, &sdp2430_lcd_config}, }; static void __init omap_2430sdp_init_early(void) { omap2_init_common_infrastructure(); Loading Loading @@ -228,9 +279,6 @@ static void __init omap_2430sdp_init(void) { omap2430_mux_init(board_mux, OMAP_PACKAGE_ZAC); omap_board_config = sdp2430_config; omap_board_config_size = ARRAY_SIZE(sdp2430_config); omap2430_i2c_init(); platform_add_devices(sdp2430_devices, ARRAY_SIZE(sdp2430_devices)); Loading @@ -246,6 +294,8 @@ static void __init omap_2430sdp_init(void) /* Turn off secondary LCD backlight */ gpio_request_one(SECONDARY_LCD_GPIO, GPIOF_OUT_INIT_LOW, "Secondary LCD backlight"); sdp2430_display_init(); } static void __init omap_2430sdp_map_io(void) Loading arch/arm/mach-omap2/board-3430sdp.c +3 −4 Original line number Diff line number Diff line Loading @@ -37,7 +37,7 @@ #include <plat/dma.h> #include <plat/gpmc.h> #include <video/omapdss.h> #include <video/omap-panel-generic-dpi.h> #include <video/omap-panel-dvi.h> #include <plat/gpmc-smc91x.h> Loading Loading @@ -186,8 +186,7 @@ static struct omap_dss_device sdp3430_lcd_device = { .platform_disable = sdp3430_panel_disable_lcd, }; static struct panel_generic_dpi_data dvi_panel = { .name = "generic", static struct panel_dvi_platform_data dvi_panel = { .platform_enable = sdp3430_panel_enable_dvi, .platform_disable = sdp3430_panel_disable_dvi, }; Loading @@ -195,7 +194,7 @@ static struct panel_generic_dpi_data dvi_panel = { static struct omap_dss_device sdp3430_dvi_device = { .name = "dvi", .type = OMAP_DISPLAY_TYPE_DPI, .driver_name = "generic_dpi_panel", .driver_name = "dvi", .data = &dvi_panel, .phy.dpi.data_lines = 24, }; Loading arch/arm/mach-omap2/board-4430sdp.c +180 −28 Original line number Diff line number Diff line Loading @@ -38,6 +38,8 @@ #include <plat/mmc.h> #include <plat/omap4-keypad.h> #include <video/omapdss.h> #include <video/omap-panel-nokia-dsi.h> #include <video/omap-panel-picodlp.h> #include <linux/wl12xx.h> #include "mux.h" Loading @@ -52,6 +54,8 @@ #define OMAP4_SFH7741_ENABLE_GPIO 188 #define HDMI_GPIO_HPD 60 /* Hot plug pin for HDMI */ #define HDMI_GPIO_LS_OE 41 /* Level shifter for HDMI */ #define DISPLAY_SEL_GPIO 59 /* LCD2/PicoDLP switch */ #define DLP_POWER_ON_GPIO 40 #define GPIO_WIFI_PMENA 54 #define GPIO_WIFI_IRQ 53 Loading Loading @@ -340,11 +344,6 @@ static int __init omap_ethernet_init(void) return status; } static struct platform_device sdp4430_lcd_device = { .name = "sdp4430_lcd", .id = -1, }; static struct regulator_consumer_supply sdp4430_vbat_supply[] = { REGULATOR_SUPPLY("vddvibl", "twl6040-vibra"), REGULATOR_SUPPLY("vddvibr", "twl6040-vibra"), Loading Loading @@ -374,21 +373,12 @@ static struct platform_device sdp4430_vbat = { }; static struct platform_device *sdp4430_devices[] __initdata = { &sdp4430_lcd_device, &sdp4430_gpio_keys_device, &sdp4430_leds_gpio, &sdp4430_leds_pwm, &sdp4430_vbat, }; static struct omap_lcd_config sdp4430_lcd_config __initdata = { .ctrl_name = "internal", }; static struct omap_board_config_kernel sdp4430_config[] __initdata = { { OMAP_TAG_LCD, &sdp4430_lcd_config }, }; static void __init omap_4430sdp_init_early(void) { omap2_init_common_infrastructure(); Loading Loading @@ -648,37 +638,202 @@ static void sdp4430_panel_disable_hdmi(struct omap_dss_device *dssdev) gpio_free(HDMI_GPIO_HPD); } static struct omap_dss_device sdp4430_hdmi_device = { .name = "hdmi", .driver_name = "hdmi_panel", .type = OMAP_DISPLAY_TYPE_HDMI, static struct nokia_dsi_panel_data dsi1_panel = { .name = "taal", .reset_gpio = 102, .use_ext_te = false, .ext_te_gpio = 101, .esd_interval = 0, }; static struct omap_dss_device sdp4430_lcd_device = { .name = "lcd", .driver_name = "taal", .type = OMAP_DISPLAY_TYPE_DSI, .data = &dsi1_panel, .phy.dsi = { .clk_lane = 1, .clk_pol = 0, .data1_lane = 2, .data1_pol = 0, .data2_lane = 3, .data2_pol = 0, .module = 0, }, .clocks = { .dispc = { .channel = { /* Logic Clock = 172.8 MHz */ .lck_div = 1, /* Pixel Clock = 34.56 MHz */ .pck_div = 5, .lcd_clk_src = OMAP_DSS_CLK_SRC_DSI_PLL_HSDIV_DISPC, }, .dispc_fclk_src = OMAP_DSS_CLK_SRC_FCK, }, .dsi = { .regn = 16, /* Fint = 2.4 MHz */ .regm = 180, /* DDR Clock = 216 MHz */ .regm_dispc = 5, /* PLL1_CLK1 = 172.8 MHz */ .regm_dsi = 5, /* PLL1_CLK2 = 172.8 MHz */ .lp_clk_div = 10, /* LP Clock = 8.64 MHz */ .dsi_fclk_src = OMAP_DSS_CLK_SRC_DSI_PLL_HSDIV_DSI, }, }, .channel = OMAP_DSS_CHANNEL_LCD, }; static struct nokia_dsi_panel_data dsi2_panel = { .name = "taal", .reset_gpio = 104, .use_ext_te = false, .ext_te_gpio = 103, .esd_interval = 0, }; static struct omap_dss_device sdp4430_lcd2_device = { .name = "lcd2", .driver_name = "taal", .type = OMAP_DISPLAY_TYPE_DSI, .data = &dsi2_panel, .phy.dsi = { .clk_lane = 1, .clk_pol = 0, .data1_lane = 2, .data1_pol = 0, .data2_lane = 3, .data2_pol = 0, .module = 1, }, .clocks = { .dispc = { .channel = { /* Logic Clock = 172.8 MHz */ .lck_div = 1, /* Pixel Clock = 34.56 MHz */ .pck_div = 5, .lcd_clk_src = OMAP_DSS_CLK_SRC_DSI2_PLL_HSDIV_DISPC, }, .dispc_fclk_src = OMAP_DSS_CLK_SRC_FCK, }, .hdmi = { .regn = 15, .regm2 = 1, .dsi = { .regn = 16, /* Fint = 2.4 MHz */ .regm = 180, /* DDR Clock = 216 MHz */ .regm_dispc = 5, /* PLL1_CLK1 = 172.8 MHz */ .regm_dsi = 5, /* PLL1_CLK2 = 172.8 MHz */ .lp_clk_div = 10, /* LP Clock = 8.64 MHz */ .dsi_fclk_src = OMAP_DSS_CLK_SRC_DSI2_PLL_HSDIV_DSI, }, }, .channel = OMAP_DSS_CHANNEL_LCD2, }; static void sdp4430_lcd_init(void) { int r; r = gpio_request_one(dsi1_panel.reset_gpio, GPIOF_DIR_OUT, "lcd1_reset_gpio"); if (r) pr_err("%s: Could not get lcd1_reset_gpio\n", __func__); r = gpio_request_one(dsi2_panel.reset_gpio, GPIOF_DIR_OUT, "lcd2_reset_gpio"); if (r) pr_err("%s: Could not get lcd2_reset_gpio\n", __func__); } static struct omap_dss_device sdp4430_hdmi_device = { .name = "hdmi", .driver_name = "hdmi_panel", .type = OMAP_DISPLAY_TYPE_HDMI, .platform_enable = sdp4430_panel_enable_hdmi, .platform_disable = sdp4430_panel_disable_hdmi, .channel = OMAP_DSS_CHANNEL_DIGIT, }; static struct picodlp_panel_data sdp4430_picodlp_pdata = { .picodlp_adapter_id = 2, .emu_done_gpio = 44, .pwrgood_gpio = 45, }; static void sdp4430_picodlp_init(void) { int r; const struct gpio picodlp_gpios[] = { {DLP_POWER_ON_GPIO, GPIOF_OUT_INIT_LOW, "DLP POWER ON"}, {sdp4430_picodlp_pdata.emu_done_gpio, GPIOF_IN, "DLP EMU DONE"}, {sdp4430_picodlp_pdata.pwrgood_gpio, GPIOF_OUT_INIT_LOW, "DLP PWRGOOD"}, }; r = gpio_request_array(picodlp_gpios, ARRAY_SIZE(picodlp_gpios)); if (r) pr_err("Cannot request PicoDLP GPIOs, error %d\n", r); } static int sdp4430_panel_enable_picodlp(struct omap_dss_device *dssdev) { gpio_set_value(DISPLAY_SEL_GPIO, 0); gpio_set_value(DLP_POWER_ON_GPIO, 1); return 0; } static void sdp4430_panel_disable_picodlp(struct omap_dss_device *dssdev) { gpio_set_value(DLP_POWER_ON_GPIO, 0); gpio_set_value(DISPLAY_SEL_GPIO, 1); } static struct omap_dss_device sdp4430_picodlp_device = { .name = "picodlp", .driver_name = "picodlp_panel", .type = OMAP_DISPLAY_TYPE_DPI, .phy.dpi.data_lines = 24, .channel = OMAP_DSS_CHANNEL_LCD2, .platform_enable = sdp4430_panel_enable_picodlp, .platform_disable = sdp4430_panel_disable_picodlp, .data = &sdp4430_picodlp_pdata, }; static struct omap_dss_device *sdp4430_dss_devices[] = { &sdp4430_lcd_device, &sdp4430_lcd2_device, &sdp4430_hdmi_device, &sdp4430_picodlp_device, }; static struct omap_dss_board_info sdp4430_dss_data = { .num_devices = ARRAY_SIZE(sdp4430_dss_devices), .devices = sdp4430_dss_devices, .default_device = &sdp4430_hdmi_device, .default_device = &sdp4430_lcd_device, }; void omap_4430sdp_display_init(void) static void omap_4430sdp_display_init(void) { int r; /* Enable LCD2 by default (instead of Pico DLP) */ r = gpio_request_one(DISPLAY_SEL_GPIO, GPIOF_OUT_INIT_HIGH, "display_sel"); if (r) pr_err("%s: Could not get display_sel GPIO\n", __func__); sdp4430_lcd_init(); sdp4430_hdmi_mux_init(); sdp4430_picodlp_init(); omap_display_init(&sdp4430_dss_data); } Loading Loading @@ -802,9 +957,6 @@ static void __init omap_4430sdp_init(void) package = OMAP_PACKAGE_CBL; omap4_mux_init(board_mux, NULL, package); omap_board_config = sdp4430_config; omap_board_config_size = ARRAY_SIZE(sdp4430_config); omap4_i2c_init(); omap_sfh7741prox_init(); platform_add_devices(sdp4430_devices, ARRAY_SIZE(sdp4430_devices)); Loading arch/arm/mach-omap2/board-am3517evm.c +3 −3 Original line number Diff line number Diff line Loading @@ -36,6 +36,7 @@ #include <plat/usb.h> #include <video/omapdss.h> #include <video/omap-panel-generic-dpi.h> #include <video/omap-panel-dvi.h> #include "mux.h" #include "control.h" Loading Loading @@ -333,8 +334,7 @@ static void am3517_evm_panel_disable_dvi(struct omap_dss_device *dssdev) dvi_enabled = 0; } static struct panel_generic_dpi_data dvi_panel = { .name = "generic", static struct panel_dvi_platform_data dvi_panel = { .platform_enable = am3517_evm_panel_enable_dvi, .platform_disable = am3517_evm_panel_disable_dvi, }; Loading @@ -342,7 +342,7 @@ static struct panel_generic_dpi_data dvi_panel = { static struct omap_dss_device am3517_evm_dvi_device = { .type = OMAP_DISPLAY_TYPE_DPI, .name = "dvi", .driver_name = "generic_dpi_panel", .driver_name = "dvi", .data = &dvi_panel, .phy.dpi.data_lines = 24, }; Loading arch/arm/mach-omap2/board-apollon.c +23 −12 Original line number Diff line number Diff line Loading @@ -40,6 +40,9 @@ #include <plat/common.h> #include <plat/gpmc.h> #include <video/omapdss.h> #include <video/omap-panel-generic-dpi.h> #include "mux.h" #include "control.h" Loading Loading @@ -149,11 +152,6 @@ static struct platform_device apollon_smc91x_device = { .resource = apollon_smc91x_resources, }; static struct platform_device apollon_lcd_device = { .name = "apollon_lcd", .id = -1, }; static struct omap_led_config apollon_led_config[] = { { .cdev = { Loading Loading @@ -191,7 +189,6 @@ static struct platform_device apollon_led_device = { static struct platform_device *apollon_devices[] __initdata = { &apollon_onenand_device, &apollon_smc91x_device, &apollon_lcd_device, &apollon_led_device, }; Loading Loading @@ -265,12 +262,26 @@ static struct omap_usb_config apollon_usb_config __initdata = { .pins[0] = 6, }; static struct omap_lcd_config apollon_lcd_config __initdata = { .ctrl_name = "internal", static struct panel_generic_dpi_data apollon_panel_data = { .name = "apollon", }; static struct omap_board_config_kernel apollon_config[] __initdata = { { OMAP_TAG_LCD, &apollon_lcd_config }, static struct omap_dss_device apollon_lcd_device = { .name = "lcd", .driver_name = "generic_dpi_panel", .type = OMAP_DISPLAY_TYPE_DPI, .phy.dpi.data_lines = 18, .data = &apollon_panel_data, }; static struct omap_dss_device *apollon_dss_devices[] = { &apollon_lcd_device, }; static struct omap_dss_board_info apollon_dss_data = { .num_devices = ARRAY_SIZE(apollon_dss_devices), .devices = apollon_dss_devices, .default_device = &apollon_lcd_device, }; static void __init omap_apollon_init_early(void) Loading Loading @@ -314,8 +325,6 @@ static void __init omap_apollon_init(void) u32 v; omap2420_mux_init(board_mux, OMAP_PACKAGE_ZAC); omap_board_config = apollon_config; omap_board_config_size = ARRAY_SIZE(apollon_config); apollon_init_smc91x(); apollon_led_init(); Loading @@ -340,6 +349,8 @@ static void __init omap_apollon_init(void) */ platform_add_devices(apollon_devices, ARRAY_SIZE(apollon_devices)); omap_serial_init(); omap_display_init(&apollon_dss_data); } static void __init omap_apollon_map_io(void) Loading Loading
arch/arm/mach-omap2/board-2430sdp.c +64 −14 Original line number Diff line number Diff line Loading @@ -39,6 +39,9 @@ #include <plat/usb.h> #include <plat/gpmc-smc91x.h> #include <video/omapdss.h> #include <video/omap-panel-generic-dpi.h> #include "mux.h" #include "hsmmc.h" #include "common-board-devices.h" Loading Loading @@ -99,20 +102,72 @@ static struct platform_device sdp2430_flash_device = { .resource = &sdp2430_flash_resource, }; static struct platform_device sdp2430_lcd_device = { .name = "sdp2430_lcd", .id = -1, }; static struct platform_device *sdp2430_devices[] __initdata = { &sdp2430_flash_device, }; /* LCD */ #define SDP2430_LCD_PANEL_BACKLIGHT_GPIO 91 #define SDP2430_LCD_PANEL_ENABLE_GPIO 154 static int sdp2430_panel_enable_lcd(struct omap_dss_device *dssdev) { gpio_direction_output(SDP2430_LCD_PANEL_ENABLE_GPIO, 1); gpio_direction_output(SDP2430_LCD_PANEL_BACKLIGHT_GPIO, 1); return 0; } static void sdp2430_panel_disable_lcd(struct omap_dss_device *dssdev) { gpio_direction_output(SDP2430_LCD_PANEL_ENABLE_GPIO, 0); gpio_direction_output(SDP2430_LCD_PANEL_BACKLIGHT_GPIO, 0); } static struct panel_generic_dpi_data sdp2430_panel_data = { .name = "nec_nl2432dr22-11b", .platform_enable = sdp2430_panel_enable_lcd, .platform_disable = sdp2430_panel_disable_lcd, }; static struct omap_dss_device sdp2430_lcd_device = { .name = "lcd", .driver_name = "generic_dpi_panel", .type = OMAP_DISPLAY_TYPE_DPI, .phy.dpi.data_lines = 16, .data = &sdp2430_panel_data, }; static struct omap_dss_device *sdp2430_dss_devices[] = { &sdp2430_lcd_device, }; static struct omap_lcd_config sdp2430_lcd_config __initdata = { .ctrl_name = "internal", static struct omap_dss_board_info sdp2430_dss_data = { .num_devices = ARRAY_SIZE(sdp2430_dss_devices), .devices = sdp2430_dss_devices, .default_device = &sdp2430_lcd_device, }; static void __init sdp2430_display_init(void) { int r; static struct gpio gpios[] __initdata = { { SDP2430_LCD_PANEL_ENABLE_GPIO, GPIOF_OUT_INIT_LOW, "LCD reset" }, { SDP2430_LCD_PANEL_BACKLIGHT_GPIO, GPIOF_OUT_INIT_LOW, "LCD Backlight" }, }; r = gpio_request_array(gpios, ARRAY_SIZE(gpios)); if (r) { pr_err("Cannot request LCD GPIOs, error %d\n", r); return; } omap_display_init(&sdp2430_dss_data); } #if defined(CONFIG_SMC91X) || defined(CONFIG_SMC91x_MODULE) static struct omap_smc91x_platform_data board_smc91x_data = { Loading @@ -137,10 +192,6 @@ static inline void board_smc91x_init(void) #endif static struct omap_board_config_kernel sdp2430_config[] __initdata = { {OMAP_TAG_LCD, &sdp2430_lcd_config}, }; static void __init omap_2430sdp_init_early(void) { omap2_init_common_infrastructure(); Loading Loading @@ -228,9 +279,6 @@ static void __init omap_2430sdp_init(void) { omap2430_mux_init(board_mux, OMAP_PACKAGE_ZAC); omap_board_config = sdp2430_config; omap_board_config_size = ARRAY_SIZE(sdp2430_config); omap2430_i2c_init(); platform_add_devices(sdp2430_devices, ARRAY_SIZE(sdp2430_devices)); Loading @@ -246,6 +294,8 @@ static void __init omap_2430sdp_init(void) /* Turn off secondary LCD backlight */ gpio_request_one(SECONDARY_LCD_GPIO, GPIOF_OUT_INIT_LOW, "Secondary LCD backlight"); sdp2430_display_init(); } static void __init omap_2430sdp_map_io(void) Loading
arch/arm/mach-omap2/board-3430sdp.c +3 −4 Original line number Diff line number Diff line Loading @@ -37,7 +37,7 @@ #include <plat/dma.h> #include <plat/gpmc.h> #include <video/omapdss.h> #include <video/omap-panel-generic-dpi.h> #include <video/omap-panel-dvi.h> #include <plat/gpmc-smc91x.h> Loading Loading @@ -186,8 +186,7 @@ static struct omap_dss_device sdp3430_lcd_device = { .platform_disable = sdp3430_panel_disable_lcd, }; static struct panel_generic_dpi_data dvi_panel = { .name = "generic", static struct panel_dvi_platform_data dvi_panel = { .platform_enable = sdp3430_panel_enable_dvi, .platform_disable = sdp3430_panel_disable_dvi, }; Loading @@ -195,7 +194,7 @@ static struct panel_generic_dpi_data dvi_panel = { static struct omap_dss_device sdp3430_dvi_device = { .name = "dvi", .type = OMAP_DISPLAY_TYPE_DPI, .driver_name = "generic_dpi_panel", .driver_name = "dvi", .data = &dvi_panel, .phy.dpi.data_lines = 24, }; Loading
arch/arm/mach-omap2/board-4430sdp.c +180 −28 Original line number Diff line number Diff line Loading @@ -38,6 +38,8 @@ #include <plat/mmc.h> #include <plat/omap4-keypad.h> #include <video/omapdss.h> #include <video/omap-panel-nokia-dsi.h> #include <video/omap-panel-picodlp.h> #include <linux/wl12xx.h> #include "mux.h" Loading @@ -52,6 +54,8 @@ #define OMAP4_SFH7741_ENABLE_GPIO 188 #define HDMI_GPIO_HPD 60 /* Hot plug pin for HDMI */ #define HDMI_GPIO_LS_OE 41 /* Level shifter for HDMI */ #define DISPLAY_SEL_GPIO 59 /* LCD2/PicoDLP switch */ #define DLP_POWER_ON_GPIO 40 #define GPIO_WIFI_PMENA 54 #define GPIO_WIFI_IRQ 53 Loading Loading @@ -340,11 +344,6 @@ static int __init omap_ethernet_init(void) return status; } static struct platform_device sdp4430_lcd_device = { .name = "sdp4430_lcd", .id = -1, }; static struct regulator_consumer_supply sdp4430_vbat_supply[] = { REGULATOR_SUPPLY("vddvibl", "twl6040-vibra"), REGULATOR_SUPPLY("vddvibr", "twl6040-vibra"), Loading Loading @@ -374,21 +373,12 @@ static struct platform_device sdp4430_vbat = { }; static struct platform_device *sdp4430_devices[] __initdata = { &sdp4430_lcd_device, &sdp4430_gpio_keys_device, &sdp4430_leds_gpio, &sdp4430_leds_pwm, &sdp4430_vbat, }; static struct omap_lcd_config sdp4430_lcd_config __initdata = { .ctrl_name = "internal", }; static struct omap_board_config_kernel sdp4430_config[] __initdata = { { OMAP_TAG_LCD, &sdp4430_lcd_config }, }; static void __init omap_4430sdp_init_early(void) { omap2_init_common_infrastructure(); Loading Loading @@ -648,37 +638,202 @@ static void sdp4430_panel_disable_hdmi(struct omap_dss_device *dssdev) gpio_free(HDMI_GPIO_HPD); } static struct omap_dss_device sdp4430_hdmi_device = { .name = "hdmi", .driver_name = "hdmi_panel", .type = OMAP_DISPLAY_TYPE_HDMI, static struct nokia_dsi_panel_data dsi1_panel = { .name = "taal", .reset_gpio = 102, .use_ext_te = false, .ext_te_gpio = 101, .esd_interval = 0, }; static struct omap_dss_device sdp4430_lcd_device = { .name = "lcd", .driver_name = "taal", .type = OMAP_DISPLAY_TYPE_DSI, .data = &dsi1_panel, .phy.dsi = { .clk_lane = 1, .clk_pol = 0, .data1_lane = 2, .data1_pol = 0, .data2_lane = 3, .data2_pol = 0, .module = 0, }, .clocks = { .dispc = { .channel = { /* Logic Clock = 172.8 MHz */ .lck_div = 1, /* Pixel Clock = 34.56 MHz */ .pck_div = 5, .lcd_clk_src = OMAP_DSS_CLK_SRC_DSI_PLL_HSDIV_DISPC, }, .dispc_fclk_src = OMAP_DSS_CLK_SRC_FCK, }, .dsi = { .regn = 16, /* Fint = 2.4 MHz */ .regm = 180, /* DDR Clock = 216 MHz */ .regm_dispc = 5, /* PLL1_CLK1 = 172.8 MHz */ .regm_dsi = 5, /* PLL1_CLK2 = 172.8 MHz */ .lp_clk_div = 10, /* LP Clock = 8.64 MHz */ .dsi_fclk_src = OMAP_DSS_CLK_SRC_DSI_PLL_HSDIV_DSI, }, }, .channel = OMAP_DSS_CHANNEL_LCD, }; static struct nokia_dsi_panel_data dsi2_panel = { .name = "taal", .reset_gpio = 104, .use_ext_te = false, .ext_te_gpio = 103, .esd_interval = 0, }; static struct omap_dss_device sdp4430_lcd2_device = { .name = "lcd2", .driver_name = "taal", .type = OMAP_DISPLAY_TYPE_DSI, .data = &dsi2_panel, .phy.dsi = { .clk_lane = 1, .clk_pol = 0, .data1_lane = 2, .data1_pol = 0, .data2_lane = 3, .data2_pol = 0, .module = 1, }, .clocks = { .dispc = { .channel = { /* Logic Clock = 172.8 MHz */ .lck_div = 1, /* Pixel Clock = 34.56 MHz */ .pck_div = 5, .lcd_clk_src = OMAP_DSS_CLK_SRC_DSI2_PLL_HSDIV_DISPC, }, .dispc_fclk_src = OMAP_DSS_CLK_SRC_FCK, }, .hdmi = { .regn = 15, .regm2 = 1, .dsi = { .regn = 16, /* Fint = 2.4 MHz */ .regm = 180, /* DDR Clock = 216 MHz */ .regm_dispc = 5, /* PLL1_CLK1 = 172.8 MHz */ .regm_dsi = 5, /* PLL1_CLK2 = 172.8 MHz */ .lp_clk_div = 10, /* LP Clock = 8.64 MHz */ .dsi_fclk_src = OMAP_DSS_CLK_SRC_DSI2_PLL_HSDIV_DSI, }, }, .channel = OMAP_DSS_CHANNEL_LCD2, }; static void sdp4430_lcd_init(void) { int r; r = gpio_request_one(dsi1_panel.reset_gpio, GPIOF_DIR_OUT, "lcd1_reset_gpio"); if (r) pr_err("%s: Could not get lcd1_reset_gpio\n", __func__); r = gpio_request_one(dsi2_panel.reset_gpio, GPIOF_DIR_OUT, "lcd2_reset_gpio"); if (r) pr_err("%s: Could not get lcd2_reset_gpio\n", __func__); } static struct omap_dss_device sdp4430_hdmi_device = { .name = "hdmi", .driver_name = "hdmi_panel", .type = OMAP_DISPLAY_TYPE_HDMI, .platform_enable = sdp4430_panel_enable_hdmi, .platform_disable = sdp4430_panel_disable_hdmi, .channel = OMAP_DSS_CHANNEL_DIGIT, }; static struct picodlp_panel_data sdp4430_picodlp_pdata = { .picodlp_adapter_id = 2, .emu_done_gpio = 44, .pwrgood_gpio = 45, }; static void sdp4430_picodlp_init(void) { int r; const struct gpio picodlp_gpios[] = { {DLP_POWER_ON_GPIO, GPIOF_OUT_INIT_LOW, "DLP POWER ON"}, {sdp4430_picodlp_pdata.emu_done_gpio, GPIOF_IN, "DLP EMU DONE"}, {sdp4430_picodlp_pdata.pwrgood_gpio, GPIOF_OUT_INIT_LOW, "DLP PWRGOOD"}, }; r = gpio_request_array(picodlp_gpios, ARRAY_SIZE(picodlp_gpios)); if (r) pr_err("Cannot request PicoDLP GPIOs, error %d\n", r); } static int sdp4430_panel_enable_picodlp(struct omap_dss_device *dssdev) { gpio_set_value(DISPLAY_SEL_GPIO, 0); gpio_set_value(DLP_POWER_ON_GPIO, 1); return 0; } static void sdp4430_panel_disable_picodlp(struct omap_dss_device *dssdev) { gpio_set_value(DLP_POWER_ON_GPIO, 0); gpio_set_value(DISPLAY_SEL_GPIO, 1); } static struct omap_dss_device sdp4430_picodlp_device = { .name = "picodlp", .driver_name = "picodlp_panel", .type = OMAP_DISPLAY_TYPE_DPI, .phy.dpi.data_lines = 24, .channel = OMAP_DSS_CHANNEL_LCD2, .platform_enable = sdp4430_panel_enable_picodlp, .platform_disable = sdp4430_panel_disable_picodlp, .data = &sdp4430_picodlp_pdata, }; static struct omap_dss_device *sdp4430_dss_devices[] = { &sdp4430_lcd_device, &sdp4430_lcd2_device, &sdp4430_hdmi_device, &sdp4430_picodlp_device, }; static struct omap_dss_board_info sdp4430_dss_data = { .num_devices = ARRAY_SIZE(sdp4430_dss_devices), .devices = sdp4430_dss_devices, .default_device = &sdp4430_hdmi_device, .default_device = &sdp4430_lcd_device, }; void omap_4430sdp_display_init(void) static void omap_4430sdp_display_init(void) { int r; /* Enable LCD2 by default (instead of Pico DLP) */ r = gpio_request_one(DISPLAY_SEL_GPIO, GPIOF_OUT_INIT_HIGH, "display_sel"); if (r) pr_err("%s: Could not get display_sel GPIO\n", __func__); sdp4430_lcd_init(); sdp4430_hdmi_mux_init(); sdp4430_picodlp_init(); omap_display_init(&sdp4430_dss_data); } Loading Loading @@ -802,9 +957,6 @@ static void __init omap_4430sdp_init(void) package = OMAP_PACKAGE_CBL; omap4_mux_init(board_mux, NULL, package); omap_board_config = sdp4430_config; omap_board_config_size = ARRAY_SIZE(sdp4430_config); omap4_i2c_init(); omap_sfh7741prox_init(); platform_add_devices(sdp4430_devices, ARRAY_SIZE(sdp4430_devices)); Loading
arch/arm/mach-omap2/board-am3517evm.c +3 −3 Original line number Diff line number Diff line Loading @@ -36,6 +36,7 @@ #include <plat/usb.h> #include <video/omapdss.h> #include <video/omap-panel-generic-dpi.h> #include <video/omap-panel-dvi.h> #include "mux.h" #include "control.h" Loading Loading @@ -333,8 +334,7 @@ static void am3517_evm_panel_disable_dvi(struct omap_dss_device *dssdev) dvi_enabled = 0; } static struct panel_generic_dpi_data dvi_panel = { .name = "generic", static struct panel_dvi_platform_data dvi_panel = { .platform_enable = am3517_evm_panel_enable_dvi, .platform_disable = am3517_evm_panel_disable_dvi, }; Loading @@ -342,7 +342,7 @@ static struct panel_generic_dpi_data dvi_panel = { static struct omap_dss_device am3517_evm_dvi_device = { .type = OMAP_DISPLAY_TYPE_DPI, .name = "dvi", .driver_name = "generic_dpi_panel", .driver_name = "dvi", .data = &dvi_panel, .phy.dpi.data_lines = 24, }; Loading
arch/arm/mach-omap2/board-apollon.c +23 −12 Original line number Diff line number Diff line Loading @@ -40,6 +40,9 @@ #include <plat/common.h> #include <plat/gpmc.h> #include <video/omapdss.h> #include <video/omap-panel-generic-dpi.h> #include "mux.h" #include "control.h" Loading Loading @@ -149,11 +152,6 @@ static struct platform_device apollon_smc91x_device = { .resource = apollon_smc91x_resources, }; static struct platform_device apollon_lcd_device = { .name = "apollon_lcd", .id = -1, }; static struct omap_led_config apollon_led_config[] = { { .cdev = { Loading Loading @@ -191,7 +189,6 @@ static struct platform_device apollon_led_device = { static struct platform_device *apollon_devices[] __initdata = { &apollon_onenand_device, &apollon_smc91x_device, &apollon_lcd_device, &apollon_led_device, }; Loading Loading @@ -265,12 +262,26 @@ static struct omap_usb_config apollon_usb_config __initdata = { .pins[0] = 6, }; static struct omap_lcd_config apollon_lcd_config __initdata = { .ctrl_name = "internal", static struct panel_generic_dpi_data apollon_panel_data = { .name = "apollon", }; static struct omap_board_config_kernel apollon_config[] __initdata = { { OMAP_TAG_LCD, &apollon_lcd_config }, static struct omap_dss_device apollon_lcd_device = { .name = "lcd", .driver_name = "generic_dpi_panel", .type = OMAP_DISPLAY_TYPE_DPI, .phy.dpi.data_lines = 18, .data = &apollon_panel_data, }; static struct omap_dss_device *apollon_dss_devices[] = { &apollon_lcd_device, }; static struct omap_dss_board_info apollon_dss_data = { .num_devices = ARRAY_SIZE(apollon_dss_devices), .devices = apollon_dss_devices, .default_device = &apollon_lcd_device, }; static void __init omap_apollon_init_early(void) Loading Loading @@ -314,8 +325,6 @@ static void __init omap_apollon_init(void) u32 v; omap2420_mux_init(board_mux, OMAP_PACKAGE_ZAC); omap_board_config = apollon_config; omap_board_config_size = ARRAY_SIZE(apollon_config); apollon_init_smc91x(); apollon_led_init(); Loading @@ -340,6 +349,8 @@ static void __init omap_apollon_init(void) */ platform_add_devices(apollon_devices, ARRAY_SIZE(apollon_devices)); omap_serial_init(); omap_display_init(&apollon_dss_data); } static void __init omap_apollon_map_io(void) Loading