RE: [PATCH 6/8] ARM: Exynos4: enable TV support on Universal_C210 board

2011-07-20 Thread Kukjin Kim
Marek Szyprowski wrote:
 
 From: Tomasz Stanislawski t.stanisl...@samsung.com
 
 This patch adds platform devices and regulators for TV devices on
 Samsung Universal C210 board.
 
 Signed-off-by: Tomasz Stanislawski t.stanisl...@samsung.com
 Signed-off-by: Kyungmin Park kyungmin.p...@samsung.com
 Signed-off-by: Marek Szyprowski m.szyprow...@samsung.com
 ---
  arch/arm/mach-exynos4/Kconfig   |2 +
  arch/arm/mach-exynos4/mach-universal_c210.c |   76
 +++
  2 files changed, 78 insertions(+), 0 deletions(-)
 
 diff --git a/arch/arm/mach-exynos4/Kconfig b/arch/arm/mach-exynos4/Kconfig
 index 8236ffb..494ff7b 100644
 --- a/arch/arm/mach-exynos4/Kconfig
 +++ b/arch/arm/mach-exynos4/Kconfig
 @@ -166,9 +166,11 @@ config MACH_UNIVERSAL_C210
   select S3C_DEV_I2C1
   select S3C_DEV_I2C3
   select S3C_DEV_I2C5
 + select S3C_DEV_I2C8
   select S5P_DEV_MFC
   select S5P_DEV_ONENAND
   select EXYNOS4_DEV_PD
 + select S5P_DEV_TV
   select EXYNOS4_SETUP_I2C1
   select EXYNOS4_SETUP_I2C3
   select EXYNOS4_SETUP_I2C5
 diff --git a/arch/arm/mach-exynos4/mach-universal_c210.c b/arch/arm/mach-
 exynos4/mach-universal_c210.c
 index 0e280d1..0fd81be 100644
 --- a/arch/arm/mach-exynos4/mach-universal_c210.c
 +++ b/arch/arm/mach-exynos4/mach-universal_c210.c
 @@ -110,6 +110,8 @@ static struct regulator_consumer_supply
 lp3974_buck1_consumer =
  static struct regulator_consumer_supply lp3974_buck2_consumer =
   REGULATOR_SUPPLY(vddg3d, NULL);
 
 +static struct regulator_consumer_supply lp3974_buck3_consumer =
 + REGULATOR_SUPPLY(vdet, s5p-sdo);
  static struct regulator_init_data lp3974_buck1_data = {
   .constraints= {
   .name   = VINT_1.1V,
 @@ -153,6 +155,8 @@ static struct regulator_init_data lp3974_buck3_data =
{
   .enabled= 1,
   },
   },
 + .num_consumer_supplies = 1,
 + .consumer_supplies = lp3974_buck3_consumer,
  };
 
  static struct regulator_init_data lp3974_buck4_data = {
 @@ -181,6 +185,13 @@ static struct regulator_init_data lp3974_ldo2_data =
{
   },
  };
 
 +static struct regulator_consumer_supply lp3974_ldo3_consumer[] = {
 + REGULATOR_SUPPLY(vusb_a, s3c-hsotg),
 + REGULATOR_SUPPLY(vdd11, s5p-mipi-csis.0),

Is this for TV?

 + REGULATOR_SUPPLY(vdd, exynos4-hdmi),
 + REGULATOR_SUPPLY(vdd_pll, exynos4-hdmi),
 +};
 +
  static struct regulator_init_data lp3974_ldo3_data = {
   .constraints= {
   .name   = VUSB+MIPI_1.1V,
 @@ -192,6 +203,12 @@ static struct regulator_init_data lp3974_ldo3_data =
{
   .disabled   = 1,
   },
   },
 + .num_consumer_supplies = ARRAY_SIZE(lp3974_ldo3_consumer),
 + .consumer_supplies = lp3974_ldo3_consumer,
 +};
 +
 +static struct regulator_consumer_supply lp3974_ldo4_consumer[] = {
 + REGULATOR_SUPPLY(vdd_osc, exynos4-hdmi),
  };
 
  static struct regulator_init_data lp3974_ldo4_data = {
 @@ -205,6 +222,8 @@ static struct regulator_init_data lp3974_ldo4_data = {
   .disabled   = 1,
   },
   },
 + .num_consumer_supplies = ARRAY_SIZE(lp3974_ldo4_consumer),
 + .consumer_supplies = lp3974_ldo4_consumer,
  };
 
  static struct regulator_init_data lp3974_ldo5_data = {
 @@ -246,6 +265,11 @@ static struct regulator_init_data lp3974_ldo7_data =
{
   },
  };
 
 +static struct regulator_consumer_supply lp3974_ldo8_consumer[] = {
 + REGULATOR_SUPPLY(vusb_d, s3c-hsotg),

Same as above.

 + REGULATOR_SUPPLY(vdd33a_dac, s5p-sdo),
 +};
 +
  static struct regulator_init_data lp3974_ldo8_data = {
   .constraints= {
   .name   = VUSB+VDAC_3.3V,
 @@ -257,6 +281,8 @@ static struct regulator_init_data lp3974_ldo8_data = {
   .disabled   = 1,
   },
   },
 + .num_consumer_supplies = ARRAY_SIZE(lp3974_ldo8_consumer),
 + .consumer_supplies = lp3974_ldo8_consumer,
  };
 
  static struct regulator_init_data lp3974_ldo9_data = {
 @@ -472,6 +498,34 @@ static struct max8998_platform_data
 universal_lp3974_pdata = {
   .wakeup = true,
  };
 
 +static struct regulator_consumer_supply hdmi_fixed_consumer =
 + REGULATOR_SUPPLY(hdmi-en, exynos4-hdmi);
 +
 +static struct regulator_init_data hdmi_fixed_voltage_init_data = {
 + .constraints= {
 + .name   = HDMI_5V,
 + .valid_ops_mask = REGULATOR_CHANGE_STATUS,
 + },
 + .num_consumer_supplies  = 1,
 + .consumer_supplies  = hdmi_fixed_consumer,
 +};
 +
 +static struct fixed_voltage_config hdmi_fixed_voltage_config = {
 + .supply_name= HDMI_EN1,
 + .microvolts = 500,
 + .gpio   = EXYNOS4_GPE0(1),
 + .enable_high= true,
 + .init_data  = hdmi_fixed_voltage_init_data,
 +};
 +
 +static struct platform_device 

[PATCH 6/8] ARM: Exynos4: enable TV support on Universal_C210 board

2011-07-19 Thread Marek Szyprowski
From: Tomasz Stanislawski t.stanisl...@samsung.com

This patch adds platform devices and regulators for TV devices on
Samsung Universal C210 board.

Signed-off-by: Tomasz Stanislawski t.stanisl...@samsung.com
Signed-off-by: Kyungmin Park kyungmin.p...@samsung.com
Signed-off-by: Marek Szyprowski m.szyprow...@samsung.com
---
 arch/arm/mach-exynos4/Kconfig   |2 +
 arch/arm/mach-exynos4/mach-universal_c210.c |   76 +++
 2 files changed, 78 insertions(+), 0 deletions(-)

diff --git a/arch/arm/mach-exynos4/Kconfig b/arch/arm/mach-exynos4/Kconfig
index 8236ffb..494ff7b 100644
--- a/arch/arm/mach-exynos4/Kconfig
+++ b/arch/arm/mach-exynos4/Kconfig
@@ -166,9 +166,11 @@ config MACH_UNIVERSAL_C210
select S3C_DEV_I2C1
select S3C_DEV_I2C3
select S3C_DEV_I2C5
+   select S3C_DEV_I2C8
select S5P_DEV_MFC
select S5P_DEV_ONENAND
select EXYNOS4_DEV_PD
+   select S5P_DEV_TV
select EXYNOS4_SETUP_I2C1
select EXYNOS4_SETUP_I2C3
select EXYNOS4_SETUP_I2C5
diff --git a/arch/arm/mach-exynos4/mach-universal_c210.c 
b/arch/arm/mach-exynos4/mach-universal_c210.c
index 0e280d1..0fd81be 100644
--- a/arch/arm/mach-exynos4/mach-universal_c210.c
+++ b/arch/arm/mach-exynos4/mach-universal_c210.c
@@ -110,6 +110,8 @@ static struct regulator_consumer_supply 
lp3974_buck1_consumer =
 static struct regulator_consumer_supply lp3974_buck2_consumer =
REGULATOR_SUPPLY(vddg3d, NULL);
 
+static struct regulator_consumer_supply lp3974_buck3_consumer =
+   REGULATOR_SUPPLY(vdet, s5p-sdo);
 static struct regulator_init_data lp3974_buck1_data = {
.constraints= {
.name   = VINT_1.1V,
@@ -153,6 +155,8 @@ static struct regulator_init_data lp3974_buck3_data = {
.enabled= 1,
},
},
+   .num_consumer_supplies = 1,
+   .consumer_supplies = lp3974_buck3_consumer,
 };
 
 static struct regulator_init_data lp3974_buck4_data = {
@@ -181,6 +185,13 @@ static struct regulator_init_data lp3974_ldo2_data = {
},
 };
 
+static struct regulator_consumer_supply lp3974_ldo3_consumer[] = {
+   REGULATOR_SUPPLY(vusb_a, s3c-hsotg),
+   REGULATOR_SUPPLY(vdd11, s5p-mipi-csis.0),
+   REGULATOR_SUPPLY(vdd, exynos4-hdmi),
+   REGULATOR_SUPPLY(vdd_pll, exynos4-hdmi),
+};
+
 static struct regulator_init_data lp3974_ldo3_data = {
.constraints= {
.name   = VUSB+MIPI_1.1V,
@@ -192,6 +203,12 @@ static struct regulator_init_data lp3974_ldo3_data = {
.disabled   = 1,
},
},
+   .num_consumer_supplies = ARRAY_SIZE(lp3974_ldo3_consumer),
+   .consumer_supplies = lp3974_ldo3_consumer,
+};
+
+static struct regulator_consumer_supply lp3974_ldo4_consumer[] = {
+   REGULATOR_SUPPLY(vdd_osc, exynos4-hdmi),
 };
 
 static struct regulator_init_data lp3974_ldo4_data = {
@@ -205,6 +222,8 @@ static struct regulator_init_data lp3974_ldo4_data = {
.disabled   = 1,
},
},
+   .num_consumer_supplies = ARRAY_SIZE(lp3974_ldo4_consumer),
+   .consumer_supplies = lp3974_ldo4_consumer,
 };
 
 static struct regulator_init_data lp3974_ldo5_data = {
@@ -246,6 +265,11 @@ static struct regulator_init_data lp3974_ldo7_data = {
},
 };
 
+static struct regulator_consumer_supply lp3974_ldo8_consumer[] = {
+   REGULATOR_SUPPLY(vusb_d, s3c-hsotg),
+   REGULATOR_SUPPLY(vdd33a_dac, s5p-sdo),
+};
+
 static struct regulator_init_data lp3974_ldo8_data = {
.constraints= {
.name   = VUSB+VDAC_3.3V,
@@ -257,6 +281,8 @@ static struct regulator_init_data lp3974_ldo8_data = {
.disabled   = 1,
},
},
+   .num_consumer_supplies = ARRAY_SIZE(lp3974_ldo8_consumer),
+   .consumer_supplies = lp3974_ldo8_consumer,
 };
 
 static struct regulator_init_data lp3974_ldo9_data = {
@@ -472,6 +498,34 @@ static struct max8998_platform_data universal_lp3974_pdata 
= {
.wakeup = true,
 };
 
+static struct regulator_consumer_supply hdmi_fixed_consumer =
+   REGULATOR_SUPPLY(hdmi-en, exynos4-hdmi);
+
+static struct regulator_init_data hdmi_fixed_voltage_init_data = {
+   .constraints= {
+   .name   = HDMI_5V,
+   .valid_ops_mask = REGULATOR_CHANGE_STATUS,
+   },
+   .num_consumer_supplies  = 1,
+   .consumer_supplies  = hdmi_fixed_consumer,
+};
+
+static struct fixed_voltage_config hdmi_fixed_voltage_config = {
+   .supply_name= HDMI_EN1,
+   .microvolts = 500,
+   .gpio   = EXYNOS4_GPE0(1),
+   .enable_high= true,
+   .init_data  = hdmi_fixed_voltage_init_data,
+};
+
+static struct platform_device hdmi_fixed_voltage = {
+   .name   =