mirror of https://gitee.com/openkylin/linux.git
ARM: davinci: da850-evm: switch to using a fixed regulator for lcdc
Now that the da8xx fbdev driver supports power control with an actual regulator, switch to using a fixed power supply for da850-evm. Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com> Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Sekhar Nori <nsekhar@ti.com>
This commit is contained in:
parent
611097d5da
commit
9c65754cd3
|
@ -803,12 +803,6 @@ static const short da850_evm_mmcsd0_pins[] __initconst = {
|
||||||
-1
|
-1
|
||||||
};
|
};
|
||||||
|
|
||||||
static void da850_panel_power_ctrl(int val)
|
|
||||||
{
|
|
||||||
/* lcd power */
|
|
||||||
gpio_set_value(DA850_LCD_PWR_PIN, val);
|
|
||||||
}
|
|
||||||
|
|
||||||
static struct property_entry da850_lcd_backlight_props[] = {
|
static struct property_entry da850_lcd_backlight_props[] = {
|
||||||
PROPERTY_ENTRY_BOOL("default-on"),
|
PROPERTY_ENTRY_BOOL("default-on"),
|
||||||
{ }
|
{ }
|
||||||
|
@ -828,28 +822,61 @@ static const struct platform_device_info da850_lcd_backlight_info = {
|
||||||
.properties = da850_lcd_backlight_props,
|
.properties = da850_lcd_backlight_props,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static struct regulator_consumer_supply da850_lcd_supplies[] = {
|
||||||
|
REGULATOR_SUPPLY("lcd", NULL),
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct regulator_init_data da850_lcd_supply_data = {
|
||||||
|
.consumer_supplies = da850_lcd_supplies,
|
||||||
|
.num_consumer_supplies = ARRAY_SIZE(da850_lcd_supplies),
|
||||||
|
.constraints = {
|
||||||
|
.valid_ops_mask = REGULATOR_CHANGE_STATUS,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct fixed_voltage_config da850_lcd_supply = {
|
||||||
|
.supply_name = "lcd",
|
||||||
|
.microvolts = 33000000,
|
||||||
|
.init_data = &da850_lcd_supply_data,
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct platform_device da850_lcd_supply_device = {
|
||||||
|
.name = "reg-fixed-voltage",
|
||||||
|
.id = 1, /* Dummy fixed regulator is 0 */
|
||||||
|
.dev = {
|
||||||
|
.platform_data = &da850_lcd_supply,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct gpiod_lookup_table da850_lcd_supply_gpio_table = {
|
||||||
|
.dev_id = "reg-fixed-voltage.1",
|
||||||
|
.table = {
|
||||||
|
GPIO_LOOKUP("davinci_gpio", DA850_LCD_PWR_PIN, NULL, 0),
|
||||||
|
{ }
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct gpiod_lookup_table *da850_lcd_gpio_lookups[] = {
|
||||||
|
&da850_lcd_backlight_gpio_table,
|
||||||
|
&da850_lcd_supply_gpio_table,
|
||||||
|
};
|
||||||
|
|
||||||
static int da850_lcd_hw_init(void)
|
static int da850_lcd_hw_init(void)
|
||||||
{
|
{
|
||||||
struct platform_device *backlight;
|
struct platform_device *backlight;
|
||||||
int status;
|
int status;
|
||||||
|
|
||||||
gpiod_add_lookup_table(&da850_lcd_backlight_gpio_table);
|
gpiod_add_lookup_tables(da850_lcd_gpio_lookups,
|
||||||
|
ARRAY_SIZE(da850_lcd_gpio_lookups));
|
||||||
|
|
||||||
backlight = platform_device_register_full(&da850_lcd_backlight_info);
|
backlight = platform_device_register_full(&da850_lcd_backlight_info);
|
||||||
if (IS_ERR(backlight))
|
if (IS_ERR(backlight))
|
||||||
return PTR_ERR(backlight);
|
return PTR_ERR(backlight);
|
||||||
|
|
||||||
status = gpio_request(DA850_LCD_PWR_PIN, "lcd pwr");
|
status = platform_device_register(&da850_lcd_supply_device);
|
||||||
if (status < 0)
|
if (status)
|
||||||
return status;
|
return status;
|
||||||
|
|
||||||
gpio_direction_output(DA850_LCD_PWR_PIN, 0);
|
|
||||||
|
|
||||||
/* Switch off panel power */
|
|
||||||
da850_panel_power_ctrl(0);
|
|
||||||
|
|
||||||
/* Switch on panel power */
|
|
||||||
da850_panel_power_ctrl(1);
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1459,7 +1486,6 @@ static __init void da850_evm_init(void)
|
||||||
if (ret)
|
if (ret)
|
||||||
pr_warn("%s: LCD initialization failed: %d\n", __func__, ret);
|
pr_warn("%s: LCD initialization failed: %d\n", __func__, ret);
|
||||||
|
|
||||||
sharp_lk043t1dg01_pdata.panel_power_ctrl = da850_panel_power_ctrl,
|
|
||||||
ret = da8xx_register_lcdc(&sharp_lk043t1dg01_pdata);
|
ret = da8xx_register_lcdc(&sharp_lk043t1dg01_pdata);
|
||||||
if (ret)
|
if (ret)
|
||||||
pr_warn("%s: LCDC registration failed: %d\n", __func__, ret);
|
pr_warn("%s: LCDC registration failed: %d\n", __func__, ret);
|
||||||
|
|
Loading…
Reference in New Issue