From patchwork Mon Mar 26 21:24:43 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Rosin X-Patchwork-Id: 891271 Return-Path: X-Original-To: incoming-dt@patchwork.ozlabs.org Delivered-To: patchwork-incoming-dt@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=devicetree-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=axentia.se Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=axentia.se header.i=@axentia.se header.b="cDj/4Ypy"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 4096f52fCkz9s1b for ; Tue, 27 Mar 2018 08:26:37 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751674AbeCZVZW (ORCPT ); Mon, 26 Mar 2018 17:25:22 -0400 Received: from mail-eopbgr40113.outbound.protection.outlook.com ([40.107.4.113]:36320 "EHLO EUR03-DB5-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752171AbeCZVZR (ORCPT ); Mon, 26 Mar 2018 17:25:17 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=axentia.se; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=EJa864/ImChiXEqb3mnYMg8B7dAKAunvlZ6A7R1KheQ=; b=cDj/4Ypyvs+17+uxS7RjEyIS94MkXshvSgWcRfF7hE1rEI8TpSpzMmWuw52ryEW4Wl1F1M0nRJ7j601SsfS+EwGZy88k0jxC3NAqDejrkd1fMwLxKRfdYrbMpU5jFM6U3ZCekssa+sHV5aDJu6IZ0UNSR19v94JqAT4jDaVfbIE= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=peda@axentia.se; Received: from orc.pedanet (85.226.244.23) by AM4PR0202MB2769.eurprd02.prod.outlook.com (2603:10a6:200:8c::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.609.10; Mon, 26 Mar 2018 21:25:14 +0000 From: Peter Rosin To: linux-kernel@vger.kernel.org Cc: Peter Rosin , David Airlie , Rob Herring , Mark Rutland , Boris Brezillon , Nicolas Ferre , Alexandre Belloni , Archit Taneja , Andrzej Hajda , Laurent Pinchart , Daniel Vetter , Gustavo Padovan , Sean Paul , Jacopo Mondi , dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org Subject: [PATCH v2 1/5] dt-bindings: display: bridge: lvds-transmitter: add ti, ds90c185 Date: Mon, 26 Mar 2018 23:24:43 +0200 Message-Id: <20180326212447.7380-2-peda@axentia.se> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20180326212447.7380-1-peda@axentia.se> References: <20180326212447.7380-1-peda@axentia.se> MIME-Version: 1.0 X-Originating-IP: [85.226.244.23] X-ClientProxiedBy: HE1P195CA0017.EURP195.PROD.OUTLOOK.COM (2603:10a6:3:fd::27) To AM4PR0202MB2769.eurprd02.prod.outlook.com (2603:10a6:200:8c::19) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: bb28b203-2a58-48e3-31ae-08d5936010ed X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(7021125)(5600026)(4604075)(4534165)(7022125)(4603075)(4627221)(201702281549075)(7048125)(7024125)(7027125)(7028125)(7023125)(2017052603328)(7153060)(7193020); SRVR:AM4PR0202MB2769; X-Microsoft-Exchange-Diagnostics: 1; AM4PR0202MB2769; 3:AhO01TesuJBWf0pyM+m1XFi7itjIHJGHtyNTYrLk23lfOqLQ8XXW2ueXm8/poEcs8Ng8bEufErIoIkwNtEwrWpSUcQtfK9rxfyxg5ZzP4XDBxSiq8rdlHwGBZswowzOmBX7BM0QrGR2UPU40GIXp4jdAtaFrRCN3pjpTkEa+4D8BXkmwDrxf61YWU8ODBGF0wewYtjfqYVhW7K6dRqOMmXvuESJdXgju2y2Bz1MZQFkrExViRH7BAUdYsUxME9xs; 25:1n5oCqdQ4UNaOZbcChKvZoANFdgWS+sr28JCBQ7+2pAM+GRlQS5t+KnAaGQg3rHs3JPcGOzYa+Tmki0zESf+0/7AoWvYY9HKXXpY6kzbisxmgMuxGwnTanD3cvFsrnKmHvP/TxUQSFMzh9vLwPpc7eM/q1t92MA5VvDoslq4Gc5jRWpm6LyRQIX1PTAY1qEOck8a3jgtQjAS1p/PNEC5uI6wWqDDFX7fy/lQT2DV2y3oJAkAJQ7nma72r67zuGvsW/J9tD6mUh0p48JA0J714JhQU9omEAoWjjnClO35cLcvgDoaUrHqt/kb7mqhJF09vegXEedkRZ187VbSJ5JSGg==; 31:s+DyrjeD4L8Lkh6NLSvQEaiU0lJ4ssED5ityhNFP2hw2KwFS71D8G/d/bCxdVe1/TQ3Pkqu7Orjchgv/Bbuc4rkQcy4U6B3P9UAn/EoDwyvdvpj0i5jeMUI6E83y117KAeajCTKXvL5De73StfRs/fGn+QKcP1FOOfD72QNBdbx8/yrRUgVLU8MGhR5ZFnwDKVI7rne48EUioIIfDQGOPnM4ufW+KpaKbHb5BXsN0S0= X-MS-TrafficTypeDiagnostic: AM4PR0202MB2769: X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040522)(2401047)(8121501046)(5005006)(3002001)(10201501046)(93006095)(93001095)(3231221)(944501327)(52105095)(6041310)(20161123562045)(2016111802025)(20161123560045)(20161123564045)(20161123558120)(6043046)(6072148)(201708071742011); SRVR:AM4PR0202MB2769; BCL:0; PCL:0; RULEID:; SRVR:AM4PR0202MB2769; X-Microsoft-Exchange-Diagnostics: 1; AM4PR0202MB2769; 4:Fsyb7hJhOBUDA6rWUx2Ibqx4CxAn0U9vjrF0YM2Zdc4AtXOy0kBp7ubCB+t8OdcVkg/rwdoYMZwka7aisRYXuEWpOyWKDSi6mywJl2lTUM6wCE1DUiiEnAoh9lmDY6X5Zff/P0EtmGBKIhX3IIl1nApLa3V+WYcElK4UrANr2R8SbWsD/5FO0q4HXf2/mMiBqsqPpTBO2BJExKu8xLeMdPv9DdubdfDXbeF+srYgv3nEU0krecesGbVlj0x9PCFD7sKTUs1puww43KSPjwOT/g== X-Forefront-PRVS: 06237E4555 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(376002)(346002)(39830400003)(366004)(39380400002)(396003)(199004)(189003)(446003)(2351001)(316002)(16526019)(186003)(54906003)(16586007)(11346002)(2361001)(97736004)(105586002)(6486002)(53936002)(956004)(6512007)(2906002)(2616005)(1076002)(68736007)(66066001)(51416003)(76176011)(48376002)(486005)(486005)(52116002)(6666003)(5660300001)(106356001)(86362001)(6916009)(50466002)(47776003)(478600001)(386003)(305945005)(8676002)(25786009)(26005)(74482002)(6506007)(7736002)(6116002)(36756003)(7416002)(4326008)(3846002)(81166006)(59450400001)(81156014)(8936002)(476003)(50226002)(142933001)(42262002); DIR:OUT; SFP:1102; SCL:1; SRVR:AM4PR0202MB2769; H:orc.pedanet; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; Received-SPF: None (protection.outlook.com: axentia.se does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; AM4PR0202MB2769; 23:1mkYp2d54pyJJ25KxoI3afDBWtraDIBGqASbWX8?= Apm3aTpzZLdUzh1VNicjiijULKwYCgVap9YdoN2VY35ehb2WeWy0Dghf29ybUMXtQZqbnO/IhcCm9tiduA1PjXqqXEyWIhFsqYVVnEgool/uC2nwORXADs0hXIFlRqHKvfyY/dGelkd7yY5fyKsArGo9OsNN+qCgK7xGngSB6vGGc1ZMJu+8yfygAElXtC9d9ayB4J5/IRNAWsuoJhJYCaqcZpVqL/zD5Q00Qtpr4pWiJCrEkwbsecWBtCS2CVCn0elJ1O04hheIZ6pMn3tY1LauXsIDH1a4zuEfEE0ItMe4dyJEiIyKRMQzTsaTe02RwWNIRoNF4apzqzRIr+QbvynN4uaamdGX02T+NrhWdB/fNgrEBkYfKgx4CuDnFj9elXrS9jwDVAUvTVhPvpe2vQLXl0v5WSxpL0Xe6NmmQNgvXElZtIMkWbZ7LbFwU3GxqigU/vtjTKlDXfE5uziDsnjUCs7C/hSTPIjbI0hrU+Ihkm38HTmO5vCDkaEOkwQPFGZch07AjMEBdmOQjIxpPrTAZ7KEF82uuR1LDQMrXiKqsGHKff9SJjX92HACeNwwZjpIewPTVdyJoah0aLkiIi3u6l/w37mjLij59ZgHIPN9dPrC4CwQj1cPEOV6Z6KLvbbL58HmaBg8Q+0GMRRp7UAPwW2wGdamfUqUpdjB+eFfNGkimu5Wx8Q84TUgNEZvwfxPScmO3pq+N8rQiWoYopB1Y0yDlsQrBwwaHregIVzOBdq0mxGBUf5ETU+61xOyBLp6CbBrEUnhStrsyfMKqvT5dnBSY3v31pmpCHyEBaJfazLkVfFtEWX847ZWCnK2U+spRDhC68TtZTpAbb9DgOk9OROTYRQiGZd9ZEiO3/ZAZtwD5nvpRSnc1cU+IIzNPW0q582mg+8VYEhELfhqpTRBbBZKtRHmMqmWy/PzbS+f0kDEmulq4L27QszTGg2IUdBVFdi9REAFtZFRIsCRQDcfqx270su5g79jzXBdG5aG08EXJzdveHjPkf2FGbOWbTrnIFDPxHHglZ+DZvG467sm1pJn6zYuHS9SHttfXibHZHbt+upkC7CDuGQrxNh3888nIbwBwpJFOcCQkk2FuAtqZobWvF7oKTMQoomkeUCvA3zsgg11jWuMpnQbzYq02NmBmwM/WOdJrHLnIuv1bcxwhNqehG9NhpbuYL8z35yzNf5k7X2WA1zh5DVTPz6iL4H4dhPzVo7V7brjotX4qb061qxCWTskFC5FFu1l2S0KjiqzuL8LIKElfe4MFH/jON0kPYL3/ziSDavbrYhoR5n9DSF9V/a6o6mYKyPKlpanwpOWuEl8ktGoxB3N97gu787I= X-Microsoft-Antispam-Message-Info: 2FtABdgY0RLlYY7BKXd9knrvn8CYx1MQxnWX5FbmcvA0bwgoBWdW8xJb+/hxxJN0ArX3ch2bvS9iC1ssdrao6AJugu1EqCgiGWTmrpgfFb4GE3JD0FCIBsqNmDsV/yLMj5qLhCXpwVaKFSqBU9w25W1uvXaY7DoTwJi0YrInV607WlHKOPnEMUYzm0HeZr9G X-Microsoft-Exchange-Diagnostics: 1; AM4PR0202MB2769; 6:M+qljus9m6QbyrKarDoSPZEvvK5hEF+kCt5hLzn2Lj1makfNmpl84LznTPj+gcf1aILzF6Sp+QqagjHk6O88jxJE2sOzoHCf10M8ESor9YHJ+KrhdYZT5Cwua+RbaD7MecpMW+d9SY/mMgQ9ebvK4djgUzDBHUOmHsoRyxauqGpEiEq9F+I6LYH63oJCh8fiyAbwU9+VAHco0vyszeErMWJEnl5IB0y/5/HLqc42lgiSlzyohIO1tj0JfLCO71osZWnvBgNC/WCbRsfG+HZq6dsNJIpEUpFkTYKFcDCdzg/OLcTqBN3mwVUeU/TV4CQIpfNneexS/Z0ukMbQsGCzj5N7vfF1jaxugfHO4NiuEPkWbea2qhG1mlCtuqOCy5ZizxJH5ObJi9GVW8KtsUBa9CvDyyxBZ5MWMYPkp5SSc1tXJpJB6nfmYp/J2QAi/LOh3WRa6E29wzguMU4MAB4QiA==; 5:j4royHAhIBhKKMBgftO+jal7Z00FqK0+1uI/tqtCZr5wsPI3ENMpS8NR9vgxXlU9uYFdYXpykM3qKYncH57nVFAZKOvlEzRdiZ3EGqSCXlPcge8F1iztaU8C5fiPEKlkIEFu/+fLXUujY+Fm1aalB9RxiKZQ4TotfE4KxsRNwJE=; 24:n/fhvwlAT0Yt/yfjVo0RO2ZIgE1QDPPPYtPcKDZMJ0NC6S6+bqSdVz7fJuozVy8LJ+hYqaj6pe3CMe279uy6if1tI0J3b2ZYxINXMseN6w0= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; AM4PR0202MB2769; 7:KRZ75L8aAHT2gAYeaG1H/dec1olR2TawbQ+9AMXTFs2qyT2xzUNrRuh+HrJpd/61PS/ktOFFqIjUS2v6iGUsNAnNXCgn1XojoseeqLUJoHT9ilHSqRuMhD3fFF+HQ7SYArGG9hRYr6ATNKD8+CtqoIl0Vq51MmjtTP6iBlrc7HcW9g2LbA8Gh++7gu79/qG+k3oT3yZmlzSAZrFweCLtsuvEciUu0deocjmqwK/euhktmwZDQxyKLyuSSdpaVd1C X-OriginatorOrg: axentia.se X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Mar 2018 21:25:14.2208 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: bb28b203-2a58-48e3-31ae-08d5936010ed X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4ee68585-03e1-4785-942a-df9c1871a234 X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM4PR0202MB2769 Sender: devicetree-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org Start list of actual chips compatible with "lvds-encoder". Signed-off-by: Peter Rosin Reviewed-by: Laurent Pinchart --- .../devicetree/bindings/display/bridge/lvds-transmitter.txt | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/Documentation/devicetree/bindings/display/bridge/lvds-transmitter.txt b/Documentation/devicetree/bindings/display/bridge/lvds-transmitter.txt index fd39ad34c383..50220190c203 100644 --- a/Documentation/devicetree/bindings/display/bridge/lvds-transmitter.txt +++ b/Documentation/devicetree/bindings/display/bridge/lvds-transmitter.txt @@ -22,7 +22,13 @@ among others. Required properties: -- compatible: Must be "lvds-encoder" +- compatible: Must be one or more of the following + - "ti,ds90c185" for the TI DS90C185 FPD-Link Serializer + - "lvds-encoder" for a generic LVDS encoder device + + When compatible with the generic version, nodes must list the + device-specific version corresponding to the device first + followed by the generic version. Required nodes: From patchwork Mon Mar 26 21:24:45 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Rosin X-Patchwork-Id: 891270 Return-Path: X-Original-To: incoming-dt@patchwork.ozlabs.org Delivered-To: patchwork-incoming-dt@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=devicetree-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=axentia.se Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=axentia.se header.i=@axentia.se header.b="laSfYR3p"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 4096ds1mx2z9s1c for ; Tue, 27 Mar 2018 08:26:25 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752319AbeCZVZj (ORCPT ); Mon, 26 Mar 2018 17:25:39 -0400 Received: from mail-eopbgr10110.outbound.protection.outlook.com ([40.107.1.110]:43744 "EHLO EUR02-HE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752259AbeCZVZe (ORCPT ); Mon, 26 Mar 2018 17:25:34 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=axentia.se; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=/c30zaZ/0ETBoaJzOK3mGT7jSra8Pj31ACcnVVd+RK4=; b=laSfYR3p25yhxMgmw5ZKaidVA/lz29gxr5yjfc4eG3cdp7n/AKZy0e8SnlnGYgxh+fwzjtshWHYF6PnXoKEkyTMnQAnAlfMG2CBsLnG1Mj250hijTqniFBYoRAJEGHFmerMU6WuiyKjFNOKd9s1cQum/JywRKaDAkyet1zJxQog= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=peda@axentia.se; Received: from orc.pedanet (85.226.244.23) by AM4PR0202MB2769.eurprd02.prod.outlook.com (2603:10a6:200:8c::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.609.10; Mon, 26 Mar 2018 21:25:31 +0000 From: Peter Rosin To: linux-kernel@vger.kernel.org Cc: Peter Rosin , David Airlie , Rob Herring , Mark Rutland , Boris Brezillon , Nicolas Ferre , Alexandre Belloni , Archit Taneja , Andrzej Hajda , Laurent Pinchart , Daniel Vetter , Gustavo Padovan , Sean Paul , Jacopo Mondi , dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org Subject: [PATCH v2 3/5] drm: of: add display bus-format parser Date: Mon, 26 Mar 2018 23:24:45 +0200 Message-Id: <20180326212447.7380-4-peda@axentia.se> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20180326212447.7380-1-peda@axentia.se> References: <20180326212447.7380-1-peda@axentia.se> MIME-Version: 1.0 X-Originating-IP: [85.226.244.23] X-ClientProxiedBy: HE1P195CA0017.EURP195.PROD.OUTLOOK.COM (2603:10a6:3:fd::27) To AM4PR0202MB2769.eurprd02.prod.outlook.com (2603:10a6:200:8c::19) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 06a87ddc-6808-4af2-31d6-08d593601b1f X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(7021125)(5600026)(4604075)(4534165)(7022125)(4603075)(4627221)(201702281549075)(7048125)(7024125)(7027125)(7028125)(7023125)(2017052603328)(7153060)(7193020); SRVR:AM4PR0202MB2769; X-Microsoft-Exchange-Diagnostics: 1; AM4PR0202MB2769; 3:mqYa0O8ypyAtXFEyM3I8I0EG6gVHvfKHOZGNeKJNewJazMbWOgcKFqDQLH1tpG67XqWOHZvGhTblmWNpPvkULfK0zgAeFBijpOtbett5mAf09YsUqXgz19q7LKyveQb6HgZ01kToBTwfcWGky0oD8ruX9qM7T8HlHOdSa4mH4cG2JCyDpb+aDu5dzgEqACXJ5Tsy5eKyjQfzgDBd7opP0AacB/3k7BAFjN98LXQPq3CEFPYBL4svEkpdR3sqRNDN; 25:ch+/lCFwh18i4qaVHqbqeGo7PCIqbXq8Eizf78tn76R5ln3ue1zR0JAFTH2mIDbqBwgu702OMcBm9Z2Nk6dIZbllleYBJtsW65NiRDnJfEEDgoUffIR9khoKKKrPGMKftLwz+or83YGWUapIJtfs+aSm5UQDRWBDxelHcL/0CnPm0Vk/VuM6aHKDykWBSCZwaxrZRhZiXeWWLexydEWl+VFivRVX13fjk2pf3rb7VxWybLTdNWdXsnb6wIdHZb0h8OTefNDMO3MwHVWFMf5yp9JavuOg6MY2yCXKMt46mkR66gBQCatNT9lCyobfWG49vlc/CLz+YcGP6A3K7PgtAQ==; 31:LTulc+uDbzFQI0ABirUvUqvGn4UUiZHz0knOo9LmvcQVl+Qm5Tdyr3ks5ZHc5yFikWjzuAr2TPnLbqijZ+pvuEtqCKp2ZLyWkNj8KBiBmncjiXkUpoyvV53y6++x/izf0lGYpf2fISRaimlUcYMZ/F2g9aPfcC8vvJGi/DQj7F1eY0Q+oZgy+J2fNO08wmgxeKUER9dIfBy7ORFSa9BvBlidcC7TAgTMNBF3SllI5Vo= X-MS-TrafficTypeDiagnostic: AM4PR0202MB2769: X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040522)(2401047)(8121501046)(5005006)(3002001)(10201501046)(93006095)(93001095)(3231221)(944501327)(52105095)(6041310)(20161123562045)(2016111802025)(20161123560045)(20161123564045)(20161123558120)(6043046)(6072148)(201708071742011); SRVR:AM4PR0202MB2769; BCL:0; PCL:0; RULEID:; SRVR:AM4PR0202MB2769; X-Microsoft-Exchange-Diagnostics: 1; AM4PR0202MB2769; 4:dpZbh/t58qWtxC9RLR51lgITRAvyWRx0rToBltwY0UrrJ+7z0b5C0p4qs4KdUCgDCt96fEnQuJadgOZ9EMnvKr6ULWXjc3DpwRR9Fec8kYDcVd12aF8PTCgpQZN596XMb4LXYMV3ukryaO2keqCUyyYgHnWrwXN7Mdt+gh/A9/yNttza5f5oWIvYKWGnILR0AGK6mmGp3qIWQa4uNjP4fj80muCRkxH5j3EPRKhwRYWxeSevNsZ6ZB+0vw0gmpvi4OyUUQXy+frVPOcYcqvF8A== X-Forefront-PRVS: 06237E4555 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(376002)(346002)(39830400003)(366004)(39380400002)(396003)(199004)(189003)(446003)(2351001)(316002)(16526019)(186003)(54906003)(16586007)(11346002)(2361001)(97736004)(105586002)(6486002)(53936002)(956004)(6512007)(2906002)(2616005)(1076002)(68736007)(66066001)(51416003)(76176011)(48376002)(486005)(486005)(52116002)(6666003)(5660300001)(106356001)(86362001)(6916009)(50466002)(47776003)(478600001)(386003)(305945005)(8676002)(25786009)(26005)(74482002)(6506007)(7736002)(6116002)(36756003)(7416002)(4326008)(3846002)(81166006)(59450400001)(81156014)(8936002)(476003)(50226002)(42262002); DIR:OUT; SFP:1102; SCL:1; SRVR:AM4PR0202MB2769; H:orc.pedanet; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; Received-SPF: None (protection.outlook.com: axentia.se does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; AM4PR0202MB2769; 23:LpCLQCQz8QxirxCAGfTUlYvv+m3nQnju0ZupejK?= ii5DlVo8WU5WjrAqOF4iv1VGRjY7toqRUN5a1SNUhoOql0AgbDdmxKqoGVxTwgl7o2kKxKstaQeCP2QKuwsJ+IXUI3XJjvY4IkUeicr8FDmA22VMkjQj8Nk+/icrZJNflKtHAV9bB+K7lqYK7mIFoZzRGRfMH/hLvO3sEkGxzAHU6B82pfSAQeZFLVJ7vKgkNpD0FU8ggJ42A6Yf7i92PBUMMiuPT43JZkWgnEIYjIjvq5isyWEhgn7d4J07C+HZW8dYsRL06WHOHWLCYdSNOk4h3pYOMhO65aMwk+JnmjznC4lpfpWn1go2d5mVkAPtWutgOlHh863NgpIQ9dr/Kg69lKLDdpiV21vwd1WPDKXEdSMJjslLgX2EHuYzFu/rjc6OMhTQhtmWN1oebI6A+AP3lZ6UcieFyEyclnAIVEtGi31I/HTaa95mEbFgIkMuxivBu9Lh9puUMhRG/NxNm7Hq0RogCqjN7quJQjiTTIMesm4LIRr1o4givHUNCz675MdBy2BPkudduzVDSf/qB2S4gFz00U0dp8zg1rTfWfakVBQBgUc+owXHd9RMai+o+gIAWh5p/U1hi+LzaRyQgszqAbJNphb3n/Y1bSXGTN9nwQVKWu9NWZIeG9T5Z9SKlW/SbkjD2Fv/s1bycUWq/TeaF8Jxzs6BfdLIyKIcxfgiLzlaix/KSTphEcTQ+pfwRr9r+fGEkAatBSYxvVbPBVyw28RGtGIwFuq09aQysQ96YrtktcZQEd6/uBk33DSY2K97/ui1187lSnCGgLyTDpQvAJM9cdRx1xN1X+Jxo+0LuGnYJ36QuczyzNfqzToYEI6WzLdR12C1X8ZjB+O7KJ78edjgNlneZIiCKO5VED88VNEaHuxL+03Xe42wPC0uicUl1FyEjXgYYcdYFT+GddYHogG9lmRYSpuTVd5I1y5ufhQnfCPer6Oh6a/epfy8Ksg9u7BcEshYEXlCrJg2xU20amXzCk5PoJMhjdQDpdDrVxSpFaMlngvYIX1cGHnzGWmRjGqqkamJmDZ4hKub2KM31qQ1qb31mVOs/EFJjkpRzIL0/OaBEMM2PdK4UoeMnRggmM7BF24WC0FwQJ1PNtYI3MlUbXGrzxjR5TKDQHLAczFeMEkx1/c5grbHixRoQylHVd9Ws1MwIzAPTOPLelwZpQ2rPUTCbCIOO2HmjqjIiqyYR89Yj5VlkO827xi/3LGxihNoS1KzIKUtMie+iFY9xAfDyAxCY4E/GYJz4HE5X1YyszafJKyAcKkbvvih4/wHXg7Cyk2r+1mQxLYqNGFHYlMBPEp1Ay1RnowarZII7sw== X-Microsoft-Antispam-Message-Info: 1L7V3NvmnnpOFUNkRyHlOb4bVrGvgL+aW/hUyj1CIODcGgdb8uxn9mQMBtGBQonVL5rs4aGOk+fbbIERspmOSR+cC6rbAECMfejtJVHsyhzK3VPaUI/rmHhH63xX10LoEmT9kikbT88KG1oTCWNKJolmXU8mDq2uMkIHI7039/B27UMwbodgBNcJKWg+Qzf9 X-Microsoft-Exchange-Diagnostics: 1; AM4PR0202MB2769; 6:6R+F4ox5wpJC08cXL/rcWuX4JzLeAD9sBPul7akzhRtYYZghRkrg988pclTfPsuKKYYLTu5a9xxKI0j1SiblU6zK6gCw8oOGAxKWflUNUCVEfDS+bOJ9aswinkdM2zRuwO/Q/rnanrIfj9/1Frg2YPywInTLLHYt37QqzAnXsYlv1NDlfi51Bav6zCntaFmAXyI7G0uzWwPcuJ69Wlxgh4y8yCul3+/H7nHKQK9CZRssaFizU6/ChvwQu/zRngs6dK29bGwm8s/BwHJkDDEhI34YcuYO447LoKV1A2apX4tZ74DLV42R7HfWNJb5qgscnreVNpn1VHbH2NzRfoA7Cps3aQ/La3RmQmZHla3lFWPOMqlZ9JpyqvKg0pXwTrI/laegoQwgAD29wBBM6CXmJOVkmHkcKvCqhRWt8Su3DBl+mmlN3Du42Pl2UDAxjq2iPe80wi0RfXYU57E+eJjOIA==; 5:WaIDcdPIGOSrU4sv5v6hV7MDAhA66qQRr0XnZhZ3JY55Pm2VUFd0EP7SZxe1ut3lUe1NMUVpT5tIoEcTjSqXgcz9JKMgFSaLS+3bHY/HVaOP78fBSH4OK+jHjVGZFmZOMaJ5NV6aZ701MoU5nzKnipb9ea18vVTi2auKn3WFJn8=; 24:6jfGEPPxSB+HA/AXU9BOsqplDtxz3373WJPzXm4aAsBauC4+WoB6MgJklHQYJDxkfk43fsMRSeILbKUcYcj04gxkSDt2iEdnCZxuAVuvo+E= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; AM4PR0202MB2769; 7:Y9JZdr9Bdt2CpQW/Rqstf5CZr0bmXDzHdfm3VbxFo6uWJhEyeAH86v7q59/FNoo5ERcRk/8q0CLdhUUofq4/7pokcMffHh6FlDmKnnZCk9YbZGFRrp+GeG31DV8rsHIjCOkFym7LYqf6uMQ55cq03Pm8PILp1bxShERUV1ec6oJO4IhM+z8bji3a86vuSUkqPHg7DehBT0hrpOGwI6Johhe5NAgXP2wXZ05ZD9ipaVvTthd31lDG7cjyYe17rBBw X-OriginatorOrg: axentia.se X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Mar 2018 21:25:31.3287 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 06a87ddc-6808-4af2-31d6-08d593601b1f X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4ee68585-03e1-4785-942a-df9c1871a234 X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM4PR0202MB2769 Sender: devicetree-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org Add a common API to parse display bus format strings into fourcc codes. Signed-off-by: Peter Rosin --- .../devicetree/bindings/display/bus-format.txt | 35 +++++++++++++ drivers/gpu/drm/drm_of.c | 59 ++++++++++++++++++++++ include/drm/drm_of.h | 9 ++++ 3 files changed, 103 insertions(+) create mode 100644 Documentation/devicetree/bindings/display/bus-format.txt diff --git a/Documentation/devicetree/bindings/display/bus-format.txt b/Documentation/devicetree/bindings/display/bus-format.txt new file mode 100644 index 000000000000..590e6c73f3dc --- /dev/null +++ b/Documentation/devicetree/bindings/display/bus-format.txt @@ -0,0 +1,35 @@ +Bus formats in the display pipe +=============================== + +Various encoders in display controllers output the pixels in different +formats. Circuits handling display connectors and hardwired panels also +expect pixel input in various formats. We call these formats bus formats. + +Some bus formats are: + +Parallel +-------- + +rgb888 + 8 parallel lines for red, green and blue respectively. There are + also lines for the pixel-clock, horizontal-sync, vertical-sync + and data-enable. + +rgb666 + Same as rgb888, but with 6 lines per color. + +rgb565 + Same as rgb888, but with 6 green lines and 5 red and blue lines. + +rgb444 + Same as rgb888, but with 4 lines per color. + + +LVDS +---- + +jeida-18 +jeida-24 +vesa-24 + These are LVDS bus formats, see the data-mapping property in + panel/panel-lvds.txt for a description of these bus formats. diff --git a/drivers/gpu/drm/drm_of.c b/drivers/gpu/drm/drm_of.c index 4c191c050e7d..5f65471225bb 100644 --- a/drivers/gpu/drm/drm_of.c +++ b/drivers/gpu/drm/drm_of.c @@ -262,3 +262,62 @@ int drm_of_find_panel_or_bridge(const struct device_node *np, return ret; } EXPORT_SYMBOL_GPL(drm_of_find_panel_or_bridge); + +/* + * drm_of_bus_formats - parse list of bus format strings into drm fourcc + * @np: device tree node containing bus format property + * @propname: name of bus format property + * @bus_formats: array of parsed fourcc codes + * + * On success, @bus_formats points to a location where the actual drm + * fourcc codes are. + * WARNING: The caller is responsible for freeing this memory with kfree. + * + * Returns the number of parsed bus format entries, or one of the standard + * error codes on failure. + */ +int drm_of_bus_formats(const struct device_node *np, const char *propname, + u32 **bus_formats) +{ + int num_bus_formats = of_property_count_strings(np, propname); + const char *fmt; + int ret; + int i; + + if (num_bus_formats <= 0) + return num_bus_formats; + + *bus_formats = kmalloc(num_bus_formats * sizeof(**bus_formats), + GFP_KERNEL); + if (!*bus_formats) + return -ENOMEM; + + for (i = 0; i < num_bus_formats; ++i) { + ret = of_property_read_string_index(np, propname, i, &fmt); + if (ret < 0) + return ret; + + if (!strcmp(fmt, "rgb444")) { + *bus_formats[i] = MEDIA_BUS_FMT_RGB444_1X12; + } else if (!strcmp(fmt, "rgb565")) { + *bus_formats[i] = MEDIA_BUS_FMT_RGB565_1X16; + } else if (!strcmp(fmt, "rgb666")) { + *bus_formats[i] = MEDIA_BUS_FMT_RGB666_1X18; + } else if (!strcmp(fmt, "rgb888")) { + *bus_formats[i] = MEDIA_BUS_FMT_RGB888_1X24; + } else if (!strcmp(fmt, "jeida-18")) { + *bus_formats[i] = MEDIA_BUS_FMT_RGB666_1X7X3_SPWG; + } else if (!strcmp(fmt, "jeida-24")) { + *bus_formats[i] = MEDIA_BUS_FMT_RGB888_1X7X4_JEIDA; + } else if (!strcmp(fmt, "vesa-24")) { + *bus_formats[i] = MEDIA_BUS_FMT_RGB888_1X7X4_SPWG; + } else { + kfree(*bus_formats); + *bus_formats = NULL; + return -EINVAL; + } + } + + return num_bus_formats; +} +EXPORT_SYMBOL_GPL(drm_of_bus_formats); diff --git a/include/drm/drm_of.h b/include/drm/drm_of.h index b93c239afb60..ccacddc03a2e 100644 --- a/include/drm/drm_of.h +++ b/include/drm/drm_of.h @@ -33,6 +33,8 @@ int drm_of_find_panel_or_bridge(const struct device_node *np, int port, int endpoint, struct drm_panel **panel, struct drm_bridge **bridge); +int drm_of_bus_formats(const struct device_node *np, const char *propname, + u32 **bus_formats); #else static inline uint32_t drm_of_find_possible_crtcs(struct drm_device *dev, struct device_node *port) @@ -69,6 +71,13 @@ static inline int drm_of_find_panel_or_bridge(const struct device_node *np, { return -EINVAL; } + +static inline int drm_of_bus_formats(const struct device_node *np, + const char *propname, + u32 **bus_formats) +{ + return -EINVAL; +} #endif /* From patchwork Mon Mar 26 21:24:46 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Rosin X-Patchwork-Id: 891269 Return-Path: X-Original-To: incoming-dt@patchwork.ozlabs.org Delivered-To: patchwork-incoming-dt@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=devicetree-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=axentia.se Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=axentia.se header.i=@axentia.se header.b="YPJCmfgH"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 4096dD12RXz9s1b for ; Tue, 27 Mar 2018 08:25:52 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752266AbeCZVZu (ORCPT ); Mon, 26 Mar 2018 17:25:50 -0400 Received: from mail-he1eur01on0091.outbound.protection.outlook.com ([104.47.0.91]:51428 "EHLO EUR01-HE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752259AbeCZVZp (ORCPT ); Mon, 26 Mar 2018 17:25:45 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=axentia.se; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=BqBL0TIgfuQCYuRIsJvwdl1d5MIQoB4qKrjH4ZM9qK8=; b=YPJCmfgHKt+ZdoxUa9A8NrWktf/6cOzmX2A5s6qlGEsfwexy/k33CFH0UqVwE2VndJnGdeUV6GhMRm7y74CRwzp1nlQpNjHWv8iLYaRzR1C3/vL5j9PR1qSfIAiMfhV7JE9aC8fMUgluFzt/oapTYbnY3z38cIJCzNd9+GJhUxg= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=peda@axentia.se; Received: from orc.pedanet (85.226.244.23) by AM4PR0202MB2769.eurprd02.prod.outlook.com (2603:10a6:200:8c::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.609.10; Mon, 26 Mar 2018 21:25:42 +0000 From: Peter Rosin To: linux-kernel@vger.kernel.org Cc: Peter Rosin , David Airlie , Rob Herring , Mark Rutland , Boris Brezillon , Nicolas Ferre , Alexandre Belloni , Archit Taneja , Andrzej Hajda , Laurent Pinchart , Daniel Vetter , Gustavo Padovan , Sean Paul , Jacopo Mondi , dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org Subject: [PATCH v2 4/5] drm: bridge: lvds-encoder: allow specifying the input bus format Date: Mon, 26 Mar 2018 23:24:46 +0200 Message-Id: <20180326212447.7380-5-peda@axentia.se> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20180326212447.7380-1-peda@axentia.se> References: <20180326212447.7380-1-peda@axentia.se> MIME-Version: 1.0 X-Originating-IP: [85.226.244.23] X-ClientProxiedBy: HE1P195CA0017.EURP195.PROD.OUTLOOK.COM (2603:10a6:3:fd::27) To AM4PR0202MB2769.eurprd02.prod.outlook.com (2603:10a6:200:8c::19) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: c3a099ea-742e-45f5-ae5d-08d59360218a X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(7021125)(5600026)(4604075)(4534165)(7022125)(4603075)(4627221)(201702281549075)(7048125)(7024125)(7027125)(7028125)(7023125)(2017052603328)(7153060)(7193020); SRVR:AM4PR0202MB2769; X-Microsoft-Exchange-Diagnostics: 1; AM4PR0202MB2769; 3:IJBMGN/d5o+egSTP77+WMOGlh8bD2mi1yzmyYgQU679pfH0M21Gi9To/o2wBDlvYikuVUm9Fr7UtfTZHD65OD//Qv01+5JoMiyRvGCi461wJjxx0OVKr9D1en+ee6j1SH+ldIMJQL8L0YlJ3B1ckIY1KufIAM6dc4TZvMCgY/pdfK9zNl/pSsgF9RFB4H3vOFtQgOpa3BoG++txg/uEIn1j2ZJ6E6D6oHNUAaxNLrqU34tRzVcLoM64PKpuVkKJj; 25:7VQAwrN37ufwN0/haKN8zkrTKu0mUc5O7gFUb0ylBbLZYHrz5z4oYdGZd1yZoVo+SBCGKh1N2x0ZNT3pjNfuLaXq+zzTBTVFMpghTCNr55SqANVHbvpa3jC82LK8heYc3lU9lJ9b0EN/is8Psh+OHLmASbHW84UXi/OknHOBylPjna8t6EIbSjN0xLexscn1OGUUB1FIRI371GYnANipVZuCx1WDQI5vvD8y62gxkE90dLfCUQivCy3ONyBar9ir5Mzo+jrIPN9oAasCAfk1ZkakYANeUu+unpS9zGtwgbgjVv8lR7BE6YHcF3ZIuWbZawAWuLYC3wkXgKph95WpzQ==; 31:AnXnqft+7EARZfCTjf1VpyHjoEYc2hHxsenVPbEkUoLBjqr6k/xSlRlwqfdziuTxt/XTnFm6rry4PKPUj47FPitAVK5mL352phZLo0cIGcAs6p16U2dwek7HEseEqpZo1dX98wjsc1OEO2A2MYxNHgSenPgzklx8WgHGb2jm8egwzyGeD2mC0WDQHk4+NNJYM3minEo9E2qj6Gu7NijbksgenZvfNCRG4bqCt+5RmYc= X-MS-TrafficTypeDiagnostic: AM4PR0202MB2769: X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040522)(2401047)(8121501046)(5005006)(3002001)(10201501046)(93006095)(93001095)(3231221)(944501327)(52105095)(6041310)(20161123562045)(2016111802025)(20161123560045)(20161123564045)(20161123558120)(6043046)(6072148)(201708071742011); SRVR:AM4PR0202MB2769; BCL:0; PCL:0; RULEID:; SRVR:AM4PR0202MB2769; X-Microsoft-Exchange-Diagnostics: 1; AM4PR0202MB2769; 4:XAE7y6uAqsYyLKV0ZRLmEZL0VWeqj/VdrfAGV0z0cXm3/MIWt1qz1vKP2S9GOUR42B1nedAhf3bb1HYHJVTWdP0UfzaHiNpxgCPGQXC5ypzVfVERSTfr2FgOZZ1S9AdvAoM65dLyivPuMGLDQBVJqDoqay2/upbWC1yI9U0McyAtEHpd9XlXp8xkjYgGVR1kSom9TNcaSkfhO/2FGsXPSG/sUjB4bAA+XngUDu5uQbL9udJFmEFGO+9LKYSDa20ZX6FTNc1J4XECZrSfmsl9WA== X-Forefront-PRVS: 06237E4555 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(376002)(346002)(366004)(39380400002)(396003)(39840400004)(199004)(189003)(446003)(2351001)(316002)(16526019)(186003)(54906003)(16586007)(11346002)(2361001)(97736004)(105586002)(6486002)(53936002)(956004)(6512007)(2906002)(2616005)(1076002)(68736007)(66066001)(51416003)(76176011)(48376002)(486005)(486005)(52116002)(5660300001)(106356001)(86362001)(6916009)(575784001)(50466002)(47776003)(478600001)(386003)(305945005)(8676002)(25786009)(26005)(74482002)(6506007)(7736002)(6116002)(36756003)(7416002)(4326008)(3846002)(5890100001)(81166006)(81156014)(8936002)(476003)(50226002)(42262002); DIR:OUT; SFP:1102; SCL:1; SRVR:AM4PR0202MB2769; H:orc.pedanet; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; Received-SPF: None (protection.outlook.com: axentia.se does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; AM4PR0202MB2769; 23:nffUheGPQ+1XqV+cm5CelJsSNWJwLOl9KntH0IE?= vomDraIGnaR/FkRvR3wsQPVglYAhfb1kNRvALA81x9sTMuSoNaUlZXH+idF1Ybp55R9h8ylIDsPayhE1VS8Fy3w+sQVbia5zygrQ/rddX8ZfCivsDAcQSfc1mUIjx5uD/cg3ThQbTeB9tVqagtiBHsW6MBmvvvAwr1NXn7zCA5JRw0+GFEB0326ItWY8LWNhvDwEpBy4GvFmeUBU6DqgFQ3T2ybBQcR3iLItOkbtZ9L0M4RR2rym+QZpS4iunf46r7OHzCMwGze4cotfAQ4tpDUrxo9MnLpCi8MT+INNXTyHocUhjWkj8rtm11RTKUyMXREwqsOZ9fXieG+etiup/HSyYlDqx8ZywJ54s9JUwdpXB3tVP7hGPFbluGABY9A0682xThRpUenTkDVoX2/47ZeqZ2TW7GbuXfkERjePN0ro0ak60nQxcWPGaTlsYA4tlYiyhZeDgjrsqHXSWCNZRMpshdTqLtXI4NffeBn73O4yFLjnCc3pNXlTIEqsVn9r2QrNaYYK8tXKMCfE727NVT01h9MEkbmDbuGubIW3OCAWaNRIwNwlRZAIhoQ/MHxpLsmj2IRVcHmHHd2KmQP3+SkeNJwCjrjmVtPSFqrSKfgFMemfOWiwj/isKNf+mSAVkf7sIndoVxHHU8By7Pbn7igO2e2piTtSy9o7YG4xFXd9v7fvlZdDYabwas/4NZUwKYTT/lSKa4d9lwm00WTI99JvR0L/fCL0Y5zOYs59+BH3qDdAFtVNZGVBbC0wInFky/syjQsJP0kn58iNxO4g2gGgz8f/U7e5Qg+BakZuo3tmhgbCXXAec/8tKkkHIeYQ//go2rV3ac2ZmzPhxkdGWPq5wY2aPH4L/zE9o/0Xk23cZev/VwKevdDa9QxFPotvr49Nzg8IFb9oDyGsx7DnlEWeZzur2gTmJjR7dF5pbuviAjABMY8cAwMp+Jp7SWPIt0mo4fzlbOQkTXm90hO0isWl0qboQm98RCslpvXNNQwgVVG9SFOFFCYxh/oJTQfbrVvVnME27cbLxPZzFgGmhL9gZBWDQQixzk/Ws3HIEvMrIvDrTKD7N96sqyXVDaMlhGTuVUN/yUKUlpxTBon+j7fFlgb+BreO/eFL1PitBN0ML6u7EaJSzKvhqHH1TEH61myJWVMlNbRG0ShY7LVgdfOJYd4wUIOR7TYnsaxa3it8CIKOmtOC5glzXNgLrgq1Nuh8OA1Mx9n3wAATOwS03ALmQfHC+nd/fiNs6RNv0tQ6bYq46f230bSdGDXJGcrITilAj1PK4Mb/E1vwp/8k1UH4lPQERPdgf7IoGXrT0OeolkA== X-Microsoft-Antispam-Message-Info: a7ojIwwrAeShxIuYoKKEBrmwXKEs1kO83US8Em04O9GKx9AGsrsMeTtpSBvyT2TD4gocTOZZgmo9MSvNK2B5myeGM13U15gPCLCKJGxq/hJuO1hkQyyuG5Aj+Rvrn44o4oeO3QsMFVU7uHKqrNbkm4qq//fKzqySSSqAvadlbxJNdPMapb2cB7gAL0HyllKO X-Microsoft-Exchange-Diagnostics: 1; AM4PR0202MB2769; 6:s5NiJ8TAd1V4P8ppdW0gOzHNmYEqm5e6Vb0trJqBKTf/sZ/29U0wVOzEwFvV2wBtI/lSC6PIY6OWkJTDFMsEEUJaUVlh/kzaDS3y8/WRvWbsrd1Xrfe0lDWlCTtEJFPksTmWN4D8kw/ZH42cu8tPhN/bKAj1YpgLf4ymB5/k4i3h1HlHV6x2Ip/1gWF2Oqqq7r0zmnItWpvQnHH2CnMYT+0bPDf6rzsD8d52lMBH31kMPI8nKN7w7dYTtmUDlRhR2l4QbFa/VsrMZKtXoOC7RAynZ8LJ5d3h+yvQIdcrjFCBowO+h+F5ogFa+hXwIEm3obSw+nkvNcEsXLdxuRsvdp6P3so5bYUZf9exgGHh6uaOnlQr9FxKOyhvI3hAVT410t3EgYVUN6TNHyJ3KudBLov0skNy7qyFK9kWIaSEbo/HqUSPUdIV+MC6udzBbp+KA1u6zuIjM5+LJ5fBpqHpUA==; 5:BiDle2Ad0+gUyGBdFYaC7Hmbckwr4KYX1JqeyLu9LPxub28fvvIfqmvb/BVx4E4jbBE4lsyCKulvyUdiABsddAkvY/mUAtiwu4JiwH7UOsIPz917TQByHReT6jdxSiCkMS/9HN6gcQwHq/Suo0QhO7vPP9xxAOoGmGzZwuOxm68=; 24:UrCE7SRvfodBKxjoslA9P1ngtOYWzJopqlix1hevO6kkTXugswfWt63CyJxIeUD2Cw1IAME2TsZq00Tl3ttAE7FGvvQtLbm/3Lsa8h2kd24= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; AM4PR0202MB2769; 7:1+oTJdFz/Ezf7n7/8DYxnAY7aTi+M8R+zD9gZpQhgJJnQnM835/6czTyvUwl12EOCYTbXpa9xPie1RnI2N0XGuJTROSFrJG5+mdm5OOnrDbU2g6NIUkYQ7/ag3B31eTcfXzEHY9uGlff/cfdhDOCLkokpepZijBbFhoXV42B8tyrTWa1gFpMAL8X0vKDop7fOEXwxMopYnaChcaQOqmX+O0KBgo4fscSk+QeDkTFC16JhbZEjfA9uMw+fjEajH7R X-OriginatorOrg: axentia.se X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Mar 2018 21:25:42.0994 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: c3a099ea-742e-45f5-ae5d-08d59360218a X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4ee68585-03e1-4785-942a-df9c1871a234 X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM4PR0202MB2769 Sender: devicetree-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org If the bridge changes the bus format, allow this to be described in the bridge, instead of providing false information about the bus format of the connector or panel. Signed-off-by: Peter Rosin --- .../bindings/display/bridge/lvds-transmitter.txt | 6 ++++++ drivers/gpu/drm/bridge/lvds-encoder.c | 25 ++++++++++++++++++++++ 2 files changed, 31 insertions(+) diff --git a/Documentation/devicetree/bindings/display/bridge/lvds-transmitter.txt b/Documentation/devicetree/bindings/display/bridge/lvds-transmitter.txt index 50220190c203..8d40a2069252 100644 --- a/Documentation/devicetree/bindings/display/bridge/lvds-transmitter.txt +++ b/Documentation/devicetree/bindings/display/bridge/lvds-transmitter.txt @@ -30,6 +30,12 @@ Required properties: device-specific version corresponding to the device first followed by the generic version. +Optional properties: + +- interface-pix-fmt: + List of valid input bus formats of the encoder. Recognized bus formats + are listed in ../bus-format.txt + Required nodes: This device has two video ports. Their connections are modeled using the OF diff --git a/drivers/gpu/drm/bridge/lvds-encoder.c b/drivers/gpu/drm/bridge/lvds-encoder.c index 75b0d3f6e4de..b78619b5560a 100644 --- a/drivers/gpu/drm/bridge/lvds-encoder.c +++ b/drivers/gpu/drm/bridge/lvds-encoder.c @@ -9,6 +9,7 @@ #include #include +#include #include #include @@ -16,6 +17,8 @@ struct lvds_encoder { struct drm_bridge bridge; struct drm_bridge *panel_bridge; + int num_bus_formats; + u32 *bus_formats; }; static int lvds_encoder_attach(struct drm_bridge *bridge) @@ -28,8 +31,22 @@ static int lvds_encoder_attach(struct drm_bridge *bridge) bridge); } +static int lvds_encoder_input_formats(struct drm_bridge *bridge, + const u32 **bus_formats) +{ + struct lvds_encoder *lvds_encoder = container_of(bridge, + struct lvds_encoder, + bridge); + + if (lvds_encoder->num_bus_formats) + *bus_formats = lvds_encoder->bus_formats; + + return lvds_encoder->num_bus_formats; +} + static struct drm_bridge_funcs funcs = { .attach = lvds_encoder_attach, + .input_formats = lvds_encoder_input_formats, }; static int lvds_encoder_probe(struct platform_device *pdev) @@ -39,6 +56,7 @@ static int lvds_encoder_probe(struct platform_device *pdev) struct device_node *panel_node; struct drm_panel *panel; struct lvds_encoder *lvds_encoder; + int ret; lvds_encoder = devm_kzalloc(&pdev->dev, sizeof(*lvds_encoder), GFP_KERNEL); @@ -79,6 +97,12 @@ static int lvds_encoder_probe(struct platform_device *pdev) if (IS_ERR(lvds_encoder->panel_bridge)) return PTR_ERR(lvds_encoder->panel_bridge); + ret = drm_of_bus_formats(pdev->dev.of_node, "interface-pix-fmt", + &lvds_encoder->bus_formats); + if (ret < 0) + return ret; + lvds_encoder->num_bus_formats = ret; + /* The panel_bridge bridge is attached to the panel's of_node, * but we need a bridge attached to our of_node for our user * to look up. @@ -96,6 +120,7 @@ static int lvds_encoder_remove(struct platform_device *pdev) { struct lvds_encoder *lvds_encoder = platform_get_drvdata(pdev); + kfree(lvds_encoder->bus_formats); drm_bridge_remove(&lvds_encoder->bridge); return 0;