RE: [PATCH 6/8] ARM: Exynos4: enable TV support on Universal_C210 board
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
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 =