mirror of https://gitee.com/openkylin/linux.git
drm/omap: panel-dsi-cm: add physical size support
Add support to load physical size information from DT using the properties defined by the common panel binding. Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.co.uk> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
This commit is contained in:
parent
82fa10d46b
commit
d95c5a0e01
|
@ -66,6 +66,9 @@ struct panel_drv_data {
|
|||
|
||||
bool use_dsi_backlight;
|
||||
|
||||
int width_mm;
|
||||
int height_mm;
|
||||
|
||||
struct omap_dsi_pin_config pin_config;
|
||||
|
||||
/* runtime variables */
|
||||
|
@ -1163,6 +1166,15 @@ static int dsicm_check_timings(struct omap_dss_device *dssdev,
|
|||
return ret;
|
||||
}
|
||||
|
||||
static void dsicm_get_size(struct omap_dss_device *dssdev,
|
||||
unsigned int *width, unsigned int *height)
|
||||
{
|
||||
struct panel_drv_data *ddata = to_panel_data(dssdev);
|
||||
|
||||
*width = ddata->width_mm;
|
||||
*height = ddata->height_mm;
|
||||
}
|
||||
|
||||
static struct omap_dss_driver dsicm_ops = {
|
||||
.connect = dsicm_connect,
|
||||
.disconnect = dsicm_disconnect,
|
||||
|
@ -1175,6 +1187,7 @@ static struct omap_dss_driver dsicm_ops = {
|
|||
|
||||
.get_timings = dsicm_get_timings,
|
||||
.check_timings = dsicm_check_timings,
|
||||
.get_size = dsicm_get_size,
|
||||
|
||||
.enable_te = dsicm_enable_te,
|
||||
.get_te = dsicm_get_te,
|
||||
|
@ -1216,6 +1229,12 @@ static int dsicm_probe_of(struct platform_device *pdev)
|
|||
"failed to get video timing, using defaults\n");
|
||||
}
|
||||
|
||||
ddata->width_mm = 0;
|
||||
of_property_read_u32(node, "width-mm", &ddata->width_mm);
|
||||
|
||||
ddata->height_mm = 0;
|
||||
of_property_read_u32(node, "height-mm", &ddata->height_mm);
|
||||
|
||||
in = omapdss_of_find_source_for_first_ep(node);
|
||||
if (IS_ERR(in)) {
|
||||
dev_err(&pdev->dev, "failed to find video source\n");
|
||||
|
|
Loading…
Reference in New Issue