From: "stanley.miao" <stanley.miao@windriver.com>
To: Tomi Valkeinen <tomi.valkeinen@ti.com>
Cc: tony@atomide.com, linux-omap@vger.kernel.org
Subject: Re: [PATCH 4/6] OMAP: LDP: Port the display driver to new DSS2
Date: Mon, 9 May 2011 16:08:49 +0800 [thread overview]
Message-ID: <4DC7A111.6040905@windriver.com> (raw)
In-Reply-To: <1304926567-26814-5-git-send-email-tomi.valkeinen@ti.com>
Acked-by: Stanley Miao <stanley.miao@windriver.com>
Stanley.
Tomi Valkeinen wrote:
> Port the old omapfb panel driver to DSS2i. This patch changes the board
> file only, the driver is ported in separate patch.
>
> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
> Cc: Stanley Miao <stanley.miao@windriver.com>
> ---
> arch/arm/mach-omap2/board-ldp.c | 73 +++++++++++++++++++++++++++++++++-----
> 1 files changed, 63 insertions(+), 10 deletions(-)
>
> diff --git a/arch/arm/mach-omap2/board-ldp.c b/arch/arm/mach-omap2/board-ldp.c
> index e2ba779..2fdfd7f 100644
> --- a/arch/arm/mach-omap2/board-ldp.c
> +++ b/arch/arm/mach-omap2/board-ldp.c
> @@ -43,6 +43,8 @@
>
> #include <asm/delay.h>
> #include <plat/usb.h>
> +#include <plat/display.h>
> +#include <plat/panel-generic-dpi.h>
>
> #include "board-flash.h"
> #include "mux.h"
> @@ -275,19 +277,71 @@ static inline void __init ldp_init_smsc911x(void)
> gpio_direction_input(eth_gpio);
> }
>
> -static struct platform_device ldp_lcd_device = {
> - .name = "ldp_lcd",
> - .id = -1,
> +/* LCD */
> +
> +#define LCD_PANEL_BACKLIGHT_GPIO (15 + OMAP_MAX_GPIO_LINES)
> +#define LCD_PANEL_ENABLE_GPIO (7 + OMAP_MAX_GPIO_LINES)
> +#define LCD_PANEL_RESET_GPIO 55
> +#define LCD_PANEL_QVGA_GPIO 56
> +
> +static int ldp_panel_enable_lcd(struct omap_dss_device *dssdev)
> +{
> + gpio_direction_output(LCD_PANEL_ENABLE_GPIO, 1);
> + gpio_direction_output(LCD_PANEL_BACKLIGHT_GPIO, 1);
> +
> + return 0;
> +}
> +
> +static void ldp_panel_disable_lcd(struct omap_dss_device *dssdev)
> +{
> + gpio_direction_output(LCD_PANEL_ENABLE_GPIO, 0);
> + gpio_direction_output(LCD_PANEL_BACKLIGHT_GPIO, 0);
> +}
> +
> +static struct panel_generic_dpi_data ldp_panel_data = {
> + .name = "2430sdp",
> + .platform_enable = ldp_panel_enable_lcd,
> + .platform_disable = ldp_panel_disable_lcd,
> };
>
> -static struct omap_lcd_config ldp_lcd_config __initdata = {
> - .ctrl_name = "internal",
> +static struct omap_dss_device ldp_lcd_device = {
> + .name = "lcd",
> + .driver_name = "generic_dpi_panel",
> + .type = OMAP_DISPLAY_TYPE_DPI,
> + .phy.dpi.data_lines = 16,
> + .data = &ldp_panel_data,
> };
>
> -static struct omap_board_config_kernel ldp_config[] __initdata = {
> - { OMAP_TAG_LCD, &ldp_lcd_config },
> +static struct omap_dss_device *ldp_dss_devices[] = {
> + &ldp_lcd_device,
> +};
> +
> +static struct omap_dss_board_info ldp_dss_data = {
> + .num_devices = ARRAY_SIZE(ldp_dss_devices),
> + .devices = ldp_dss_devices,
> + .default_device = &ldp_lcd_device,
> };
>
> +static void __init ldp_display_init(void)
> +{
> + int r;
> +
> + struct gpio gpios[] = {
> + {LCD_PANEL_RESET_GPIO, GPIOF_OUT_INIT_HIGH, "LCD RESET"},
> + {LCD_PANEL_QVGA_GPIO, GPIOF_OUT_INIT_HIGH, "LCD QVGA"},
> + {LCD_PANEL_ENABLE_GPIO, GPIOF_OUT_INIT_LOW, "LCD ENABLE"},
> + {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(&ldp_dss_data);
> +}
> +
> static void __init omap_ldp_init_early(void)
> {
> omap2_init_common_infrastructure();
> @@ -390,7 +444,6 @@ static struct omap2_hsmmc_info mmc[] __initdata = {
>
> static struct platform_device *ldp_devices[] __initdata = {
> &ldp_smsc911x_device,
> - &ldp_lcd_device,
> &ldp_gpio_keys_device,
> };
>
> @@ -441,8 +494,6 @@ static struct mtd_partition ldp_nand_partitions[] = {
> static void __init omap_ldp_init(void)
> {
> omap3_mux_init(board_mux, OMAP_PACKAGE_CBB);
> - omap_board_config = ldp_config;
> - omap_board_config_size = ARRAY_SIZE(ldp_config);
> ldp_init_smsc911x();
> omap_i2c_init();
> platform_add_devices(ldp_devices, ARRAY_SIZE(ldp_devices));
> @@ -459,6 +510,8 @@ static void __init omap_ldp_init(void)
> omap2_hsmmc_init(mmc);
> /* link regulators to MMC adapters */
> ldp_vmmc1_supply.dev = mmc[0].dev;
> +
> + ldp_display_init();
> }
>
> MACHINE_START(OMAP_LDP, "OMAP LDP board")
next prev parent reply other threads:[~2011-05-09 8:08 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-05-09 7:36 [PATCH 0/6] OMAP: board file changes for DSS2 porting Tomi Valkeinen
2011-05-09 7:36 ` [PATCH 1/6] OMAP: RX51: Remove unused old omapfb stuff Tomi Valkeinen
2011-05-09 7:36 ` [PATCH 2/6] OMAP: omap3touchbook: Remove unused lcd stuff Tomi Valkeinen
2011-05-09 7:36 ` [PATCH 3/6] OMAP: 2420SDP: Port the display driver to new DSS2 Tomi Valkeinen
2011-05-09 8:21 ` Igor Grinberg
2011-05-09 16:57 ` Tomi Valkeinen
2011-05-09 7:36 ` [PATCH 4/6] OMAP: LDP: " Tomi Valkeinen
2011-05-09 8:08 ` stanley.miao [this message]
2011-05-11 4:58 ` Janorkar, Mayuresh
2011-05-11 6:32 ` Tomi Valkeinen
2011-05-12 6:40 ` Igor Grinberg
2011-05-12 7:16 ` Igor Grinberg
2011-05-12 8:38 ` Igor Grinberg
2011-05-12 8:47 ` Janorkar, Mayuresh
2011-05-12 11:20 ` Igor Grinberg
2011-05-12 11:47 ` Tomi Valkeinen
2011-05-12 14:36 ` Janorkar, Mayuresh
2011-05-12 14:47 ` Tomi Valkeinen
2011-05-12 14:50 ` Janorkar, Mayuresh
2011-05-12 14:59 ` Tomi Valkeinen
2011-05-16 8:53 ` Tomi Valkeinen
2011-05-16 11:13 ` Igor Grinberg
2011-05-17 11:49 ` Tomi Valkeinen
2011-05-17 11:56 ` Tomi Valkeinen
2011-05-17 12:28 ` Igor Grinberg
2011-05-17 13:16 ` Tomi Valkeinen
2011-05-16 11:26 ` Janorkar, Mayuresh
2011-05-17 11:44 ` Tomi Valkeinen
2011-05-09 7:36 ` [PATCH 5/6] OMAP: H4: " Tomi Valkeinen
2011-05-09 7:36 ` [PATCH 6/6] OMAP: Apollon: " Tomi Valkeinen
2011-05-09 17:01 ` [PATCH 0/6] OMAP: board file changes for DSS2 porting Tomi Valkeinen
2011-05-10 13:35 ` Tony Lindgren
2011-05-10 14:03 ` Tomi Valkeinen
2011-05-11 7:08 ` Tony Lindgren
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4DC7A111.6040905@windriver.com \
--to=stanley.miao@windriver.com \
--cc=linux-omap@vger.kernel.org \
--cc=tomi.valkeinen@ti.com \
--cc=tony@atomide.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.