From bf7498b0bc89cf33e67a7273d05642966d4e8dae Mon Sep 17 00:00:00 2001 From: Philippe Langlais Date: Wed, 4 May 2011 17:19:21 +0200 Subject: drivers: video: add regulator for CVBS out - Adds a regulator that is used for CVBS TV out by AB8500 DENC and AV8100 DENC. The regulator is for the switch at the AV connector that switches between video out and mic in. ST-Ericsson ID: AP 322391 Linux-next: ST-Ericsson ID: ER 282779 ST-Ericsson FOSS-OUT ID: Trivial Change-Id: Ie7a821b8d3965aa65384b4393e3083ef406c8282 Signed-off-by: Marcel Tunnissen Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/16819 Tested-by: Marcel TUNNISSEN Reviewed-by: Per PERSSON Reviewed-by: Robert FEKETE Conflicts: arch/arm/mach-ux500/board-mop500-regulators.c arch/arm/mach-ux500/board-pdp-mcde.c --- arch/arm/mach-ux500/board-mop500-mcde.c | 8 ++- arch/arm/mach-ux500/board-mop500-mcde.h | 24 ++++++++ arch/arm/mach-ux500/board-mop500-regulators.c | 17 ++++++ drivers/mfd/ab8500-denc.c | 25 +++++++- drivers/video/mcde/display-ab8500.c | 86 ++++++++++++++++++++------- drivers/video/mcde/display-av8100.c | 55 +++++++++++++++++ include/video/mcde_display-ab8500.h | 3 +- include/video/mcde_display-av8100.h | 1 + 8 files changed, 191 insertions(+), 28 deletions(-) create mode 100644 arch/arm/mach-ux500/board-mop500-mcde.h diff --git a/arch/arm/mach-ux500/board-mop500-mcde.c b/arch/arm/mach-ux500/board-mop500-mcde.c index ca10a7e5b92..5d8f0f9058b 100644 --- a/arch/arm/mach-ux500/board-mop500-mcde.c +++ b/arch/arm/mach-ux500/board-mop500-mcde.c @@ -270,7 +270,8 @@ static struct mcde_port port_tvout1 = { }; static struct ab8500_display_platform_data ab8500_display_pdata = { - .denc_regulator_id = "v-tvout", + .nr_regulators = 2, + .regulator_id = {"v-tvout", "v-ab8500-AV-switch"}, .rgb_2_yCbCr_transform = { .matrix = { {0x42, 0x81, 0x19}, @@ -321,7 +322,7 @@ failed: return res; } -static struct mcde_display_device tvout_ab8500_display = { +struct mcde_display_device tvout_ab8500_display = { .name = "mcde_tv_ab8500", .id = TERTIARY_DISPLAY_ID, .port = &port_tvout1, @@ -381,6 +382,7 @@ struct mcde_display_hdmi_platform_data av8100_hdmi_pdata = { .reset_gpio = 0, .reset_delay = 1, .regulator_id = NULL, /* TODO: "display_main" */ + .cvbs_regulator_id = "v-av8100-AV-switch", .ddb_id = 1, .rgb_2_yCbCr_transform = { .matrix = { @@ -392,7 +394,7 @@ struct mcde_display_hdmi_platform_data av8100_hdmi_pdata = { } }; -static struct mcde_display_device av8100_hdmi = { +struct mcde_display_device av8100_hdmi = { .name = "av8100_hdmi", .id = TERTIARY_DISPLAY_ID, .port = &port2, diff --git a/arch/arm/mach-ux500/board-mop500-mcde.h b/arch/arm/mach-ux500/board-mop500-mcde.h new file mode 100644 index 00000000000..38094b81b34 --- /dev/null +++ b/arch/arm/mach-ux500/board-mop500-mcde.h @@ -0,0 +1,24 @@ +/* + * Copyright (C) ST-Ericsson SA 2011 + * + * License Terms: GNU General Public License v2 + * + * Author: Marcel Tunnissen for ST-Ericsson + * + * MOP500 board specific initialization for regulators + */ + +#ifndef __BOARD_MOP500_MCDE_H +#define __BOARD_MOP500_MCDE_H + +#include