Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933485AbcCHQzT (ORCPT ); Tue, 8 Mar 2016 11:55:19 -0500 Received: from ring0.de ([5.45.101.7]:33633 "EHLO ring0.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933085AbcCHQuG (ORCPT ); Tue, 8 Mar 2016 11:50:06 -0500 X-Spam-Report: * -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP * 0.0 HEADER_FROM_DIFFERENT_DOMAINS From and EnvelopeFrom 2nd level mail * domains are different * -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% * [score: 0.0000] From: Sebastian Reichel To: Sebastian Reichel , Tony Lindgren , Aaro Koskinen , Tomi Valkeinen Cc: Laurent Pinchart , David Airlie , linux-omap@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org Subject: [PATCH 19/23] drm: omapdrm: panel-dsi-cm: improve DT support Date: Tue, 8 Mar 2016 17:39:51 +0100 Message-Id: <1457455195-1938-20-git-send-email-sre@kernel.org> X-Mailer: git-send-email 2.7.0 In-Reply-To: <1457455195-1938-1-git-send-email-sre@kernel.org> References: <1457455195-1938-1-git-send-email-sre@kernel.org> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1768 Lines: 56 Introduce new DT properties, so that it's possible to use different panels with the driver. * resolution-x (default: 864) * resolution-y (default: 480) * has-dsi-backlight (default: no backlight) Signed-off-by: Sebastian Reichel --- drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c b/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c index 8316b6c2d8aa..4c1e76da68cd 100644 --- a/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c +++ b/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c @@ -1240,7 +1240,12 @@ static int dsicm_probe_of(struct platform_device *pdev) ddata->in = in; - /* TODO: ulps, backlight */ + ddata->use_dsi_backlight = of_property_read_bool(node, "has-dsi-backlight"); + + of_property_read_u32(node, "resolution-x", (u32*) &ddata->timings.x_res); + of_property_read_u32(node, "resolution-y", (u32*) &ddata->timings.y_res); + + ddata->timings.pixelclock = ddata->timings.x_res * ddata->timings.y_res * 60; return 0; } @@ -1263,6 +1268,12 @@ static int dsicm_probe(struct platform_device *pdev) platform_set_drvdata(pdev, ddata); ddata->pdev = pdev; + /* setup defaults */ + ddata->ulps_timeout = 500; + ddata->timings.x_res = 864; + ddata->timings.y_res = 480; + ddata->timings.pixelclock = 864 * 480 * 60; + if (dev_get_platdata(dev)) { r = dsicm_probe_pdata(pdev); if (r) @@ -1275,10 +1286,6 @@ static int dsicm_probe(struct platform_device *pdev) return -ENODEV; } - ddata->timings.x_res = 864; - ddata->timings.y_res = 480; - ddata->timings.pixelclock = 864 * 480 * 60; - dssdev = &ddata->dssdev; dssdev->dev = dev; dssdev->driver = &dsicm_ops; -- 2.7.0