dm: charge display: add interface to get and update fdt parameter

Change-Id: Ie2ab5c8c68fb629fd7628310f8a67084ef751f21
Signed-off-by: Joseph Chen <chenjh@rock-chips.com>
This commit is contained in:
Joseph Chen 2017-11-14 21:07:53 +08:00 committed by Kever Yang
parent 54457d1a88
commit 0cd6d3b96f
2 changed files with 49 additions and 0 deletions

View File

@ -29,6 +29,16 @@ int charge_display_get_power_on_voltage(struct udevice *dev)
return ops->get_power_on_voltage(dev);
}
int charge_display_get_screen_on_voltage(struct udevice *dev)
{
const struct dm_charge_display_ops *ops = dev_get_driver_ops(dev);
if (!ops || !ops->get_screen_on_voltage)
return -ENOSYS;
return ops->get_screen_on_voltage(dev);
}
int charge_display_show(struct udevice *dev)
{
const struct dm_charge_display_ops *ops = dev_get_driver_ops(dev);
@ -39,6 +49,36 @@ int charge_display_show(struct udevice *dev)
return ops->show(dev);
}
int charge_display_set_power_on_soc(struct udevice *dev, int val)
{
const struct dm_charge_display_ops *ops = dev_get_driver_ops(dev);
if (!ops || !ops->set_power_on_soc)
return -ENOSYS;
return ops->set_power_on_soc(dev, val);
}
int charge_display_set_power_on_voltage(struct udevice *dev, int val)
{
const struct dm_charge_display_ops *ops = dev_get_driver_ops(dev);
if (!ops || !ops->set_power_on_voltage)
return -ENOSYS;
return ops->set_power_on_voltage(dev, val);
}
int charge_display_set_screen_on_voltage(struct udevice *dev, int val)
{
const struct dm_charge_display_ops *ops = dev_get_driver_ops(dev);
if (!ops || !ops->set_screen_on_voltage)
return -ENOSYS;
return ops->set_screen_on_voltage(dev, val);
}
UCLASS_DRIVER(charge_display) = {
.id = UCLASS_CHARGE_DISPLAY,
.name = "charge_display",

View File

@ -10,11 +10,20 @@
struct dm_charge_display_ops {
int (*get_power_on_soc)(struct udevice *dev);
int (*get_power_on_voltage)(struct udevice *dev);
int (*get_screen_on_voltage)(struct udevice *dev);
int (*set_power_on_soc)(struct udevice *dev, int val);
int (*set_power_on_voltage)(struct udevice *dev, int val);
int (*set_screen_on_voltage)(struct udevice *dev, int val);
int (*show)(struct udevice *dev);
};
int charge_display_get_power_on_soc(struct udevice *dev);
int charge_display_get_power_on_voltage(struct udevice *dev);
int charge_display_get_screen_on_voltage(struct udevice *dev);
int charge_display_set_power_on_soc(struct udevice *dev, int val);
int charge_display_set_power_on_voltage(struct udevice *dev, int val);
int charge_display_set_screen_on_voltage(struct udevice *dev, int val);
int charge_display_show(struct udevice *dev);
#endif