From patchwork Thu Apr 17 14:57:41 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Li X-Patchwork-Id: 14055812 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 3AA59C369C9 for ; Thu, 17 Apr 2025 15:48:06 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:MIME-Version:Content-Type: Content-Transfer-Encoding:Message-Id:Date:Subject:Cc:To:From:Reply-To: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:List-Owner; bh=q84IkEPMpqSOBlm5UmYmQLhggw7ll6HBtAnErTlTk2c=; b=uNbKkdqKwSk7SwVL4Y+UkAp3oB zCYNGZNmo41dmuT8gJcTUr6yo6q5baCbhatSgsQE9g2TLb3Lrrajvjwr1Mz1aDXYYQzk60c8Iw8W+ kliI2NX80Kphf96m3AfeNjzflEZPtOcFGBlSTttAsdLz4apux6kXI7y56cBlCo8tyF6SjbEoxnPP8 Jj/zOtlpU0ajaHpV2T0YA3KlK3yKyOy/Ouj/4LPRvfmA36AwTeRYGNv6Gf686E4+sJrut6fUhDJ58 y7sGxzlg/JVNmS7DGwSyEfhw/pLSpegKTLZ/vd6DYIUccryeC0mKTNtuaos2F6AP280+SzANvpRuu S42paSSA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1u5RT3-0000000DZBv-2zJx; Thu, 17 Apr 2025 15:47:57 +0000 Received: from mail-am6eur05on20630.outbound.protection.outlook.com ([2a01:111:f403:2612::630] helo=EUR05-AM6-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1u5Qgq-0000000DPB1-2DEu for linux-arm-kernel@lists.infradead.org; Thu, 17 Apr 2025 14:58:09 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=NQuJvKZ9a5E0hffIOheAMTi/OXx06k6/Y674cXfRBnYE2ZfRxzWGDUeQHUXqKBCGkPlL0ngFk2m/9dnuvhBpqK67L2Q2YWoDfX/TsN4EpU5ES174xKQKD+tJK+oaszpGhrvHlVQkobi2ZSvyZWWotGQCQD6TUDDiWhpKXdCVe7FsXqxvSz5RGpyOIH4uxE/1LZ7wjqW5nKExOrRif7waxza58fP5gbVlREQruIMKZIS76IOMYwhSvRSCwY5/4kkIbNVeJGRmfMhFT3ETy0B07eiR9ThbKlQ75k7+BqeZICxBzq+U2rHZOWXEtQIgrqDPLhOGzjRvS1P9EHffjU8igQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=q84IkEPMpqSOBlm5UmYmQLhggw7ll6HBtAnErTlTk2c=; b=MlJeEQojxZJVBIlHp7sO7Rc8lU5Yfw7nJ3+aoZdPYkIXn4/T9j0Cx6oo8Ve6XY55mxGNYfNQmCHBNfMvBI2XrO+w1g4AbrmvcLuSRjbqwzjugWajtth1oHywK6h0b7y62hemf6XoRPx271dlRWz6GJt87yhNWDrIyZUFnOpZvuEEzs3M9FA8ualBK2Vl4Vjy3XRfec1EkWYGZszYm6SvywYMvz9SgzWj6Xtr7px6FSLZqxxza7inCzZltHjnvUxKDf14wgYsrmkkN6+sLgb/6Lfi4vkBA3lzZ246VeAkfhcX1hcGfQC/OsKbu/G1V6/kqDEa7LfLrT0E9rq7WdzTLw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=q84IkEPMpqSOBlm5UmYmQLhggw7ll6HBtAnErTlTk2c=; b=m3IyPNV5T+5SRjiA9LL+pqVsF1B3FlgzWmyFMEjQz8M0m7wB0yYv+xl/uppfANYm1cAGWHTlxaViP678x9tW5m0sHcbVX+pIywGPXKWG7jzw5g3mK5FVJoH4QYbZ0s7Dx+BaokJNI6JlwjeSsuflqjYPOvw3ZnKMjRro5jQVqwbfLtsProrM88fxqwHa05A1MIoNwkD3P/5ToMzVALPk5iSxlBvjcaEWn5y/mdMSBrq4IF/EGUVpuEpWtzl2RoWf4OP7gba/YdofOSVm5AfrvHUDgihVdlFZkRTCUaBe2onOaBN/OWbYQvcMXFeUmAmwW2fHyDPL91cXL8YZaZM70A== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) by PA1PR04MB10603.eurprd04.prod.outlook.com (2603:10a6:102:484::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8632.28; Thu, 17 Apr 2025 14:58:02 +0000 Received: from PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06]) by PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::9126:a61e:341d:4b06%2]) with mapi id 15.20.8632.035; Thu, 17 Apr 2025 14:58:01 +0000 From: Frank Li To: Philipp Zabel , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , dri-devel@lists.freedesktop.org (open list:DRM DRIVERS FOR FREESCALE IMX 5/6), devicetree@vger.kernel.org (open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS), imx@lists.linux.dev (open list:ARM/FREESCALE IMX / MXC ARM ARCHITECTURE), linux-arm-kernel@lists.infradead.org (moderated list:ARM/FREESCALE IMX / MXC ARM ARCHITECTURE), linux-kernel@vger.kernel.org (open list) Cc: imx@lists.linux.dev Subject: [PATCH v2 1/1] dt-bindings: display: imx: convert ldb.txt to yaml format Date: Thu, 17 Apr 2025 10:57:41 -0400 Message-Id: <20250417145742.3568572-1-Frank.Li@nxp.com> X-Mailer: git-send-email 2.34.1 X-ClientProxiedBy: PH7PR10CA0003.namprd10.prod.outlook.com (2603:10b6:510:23d::24) To PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR04MB9642:EE_|PA1PR04MB10603:EE_ X-MS-Office365-Filtering-Correlation-Id: 1ee0f721-77e4-4c2b-476b-08dd7dc03f85 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|52116014|376014|1800799024|366016|921020|38350700014; X-Microsoft-Antispam-Message-Info: aXKL57rnm/9j+DEULveSwslXJzr0a6y6qHAhDXJfIB9VUU5ZIo92IbWCrxrqYc1azda/P6VHXXLZFao0WSxyKLqSsLzeGp3DiNcatgsS9emO36I5pwyCL1bD98IooiV6L3Q6piFcsQfUmbMiQnvPhZX2rv/iuWA753utmmEvosGqsNklKi/J6QNshPVpjoRtI/nURxGmbtQTb2lSgyNzSpGQEV5Zal6fBBg6acMkqCvrODGUTUqH9E43yq7+h4PtRTQB1avOK0+Lb08HTvdmYR5Wn/+iJmYxCd3kSYqWS+UlZgcYippQFVeXqpnpSncZE7mcc6ujrrSv6WWDg0ROvx7Ks9soYtyOj5rFCzktWuaGARmk9GrHN1eoJUVHQZ9yoAhPgbT5jEVyrcB39GXFc0WaxzN5wEHvM8JQKG2jLtsKC3iQDmw7lA9rocClUestYgrOeEz67zLfmeHzPyeTnJmeIDy4oksbWx9Ebm5FBm4+qdQKW0gvjAaD2/w9XapZE66QQPONiHVgSI0ZNW4oQpTXRFw2OQsao2ZUFmQCsez0dbvLxNB4oMIXM4JuftfpKC/WGhWX9fz1TMXomW8tEMJJQ97PR/JU4zIcjr8hrfF1iJ8Dxf9f5rst2nTj+pvG1/niNk7nvCzH7PpcSYyOLvyxrF2OK3FMyvvtda8FPEudYqK/JOueaDTRG99ExNUzI3wEgPQ/dKzmgN0Cx819Hu1eHh7tou6C52Q2jjXdX8KD3Q/rw+RazLCqt9xnvYKGNMwrBty08fPoDpdlBJywzzVS3qLy+XMcSyTtSm5F4Drld4hixgBnSfUHquCRKHyImEgfznBFnjlSL/Ef4J5u2rKz9jq0+UXA5GVhW+LR5GhRMeGVqKzL1HbVtLgfK+/tMgxubuhrm+A9B6Aww9QiZMaB014OPq+a+RArGHgtwr9tEgMnG8S7MUJ7VP0oeG7ZAO/UrUZOwLoSycl6fjBLSeBwsWrx1JRF4yyvpvaQvBCYk2eMu8NQFBjK3/cLNcEhjJcQiLHrHlmZ+AvdNsnfMuXPhuq61jHupomI5zVBTgQLt0R0+Y1EISwWO4+M7LVp0sZjH+9xOdDONX+jBq6t8CpV04jGQ/YNfLfm7JD3kcloyd+veTtIObibH9ApK7ZR99c+QhsYexgSD9QcJ6z8+WVeciSVJecsCyjA/POBeZ6rj+6UZsb4i/lfmfrRndUPGBia/6gmm996P9E5l+J4Yu9d57t7z+S/0v3tqvKGavnvSEJ5J0MhC8H5dcC4VnMnYMAlEAvHE0ouajpqRNgLcHf+zQ85CSjO/lLrpvqe/4ZXRIJC7JeHHfOMwnTecNC/gcJCO0L1a2ttKNyxKowYCcL38tKctQIgflakbgu0HCqr1whm1NCjJUVpKxqNAZTuklzvxU8lV8xFFzk7GV2kWO78f1o7D86TLTHVajm2bCY= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB9642.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(7416014)(52116014)(376014)(1800799024)(366016)(921020)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: k8gAkKZVSIYit0d7P2TLw+ps5+wImqiGVggPuJ74DVjmVOXptuKYU4cq2yBIk+XPdWS2R/OPZK2HdduMhy1ukhv1Wx0ptmkayr+KVizSUcJx5UGSevgwZyQK14anDpSB6lglWpofAhiQAs9H4CHqV/IwJXsLr4M1/r/P4AGFVKO6tDm087jAscaKg0q2JWI9aFsS0/iH9fVakV4UgCKsRviW43vDgroXgtPTyn05RRpSYyt6QthGWenVgZ3rnOaQCri1u9dN9dv6s7FL1ZMXhi76pveWOgsEuz4MLafdtLORaHwFn594qTjglg3lI+22uT0OreKyrPxRgS7NJskfTA9KRsY6CnyvEWpwRDzEobkn7xKmiw1XpQ19Fk5rfaNnqFWiiLYIy6Aq7UqMasUlLOdHaDIooapBDBSmeIK5gYv9VwZAnPPDFaZBdOWd4oek9yv1ktH57tSLmjzisjNfiBoWQz8gNX4b2mhqeo7Z0q8782EBOijto+N8gCeSPrFvTvRBeXOHMkHsHUdqw06w/J5v8SfVspAX8BLk5XAsW7jHrYmIhWQ058U6ePT3+IVzWjb4XVEANgSKd3nsgW776zssMnuFObv3FoCaMGJROjyAeFl2q7YnJy9G2xb7Pk3KFx4VY3zyixTIkndhiPILmHEirxzfeRw2BlSBgoNyq5ZtMYGu9pyrNJg+3OmjtvEcLSKoJYkBJpQ88DmrM+jO0fmxEYUJ/d+j6SdWCwi3Tx19uHi/D6Ll+yVGXxTBAom9QmoGImwnWSKdycqgsbrNXJlmf8qc0D5aeyLaSEexyvW1TzVsM4GuCH/jCZ9ZSHree4D9eOsEce/bbqpTGH0d/9/f88RV6LA+WBFXYlUFarkq4xw7GlBzihNcoXNRIcAbS5rNSrXn/ulCCx6NXzuWjIob4EeR0YPH+/WXwkipwSCA88CVcj/Gq85YP40OZIqLZfK5juKrQrMw/E7JxX8cmmYCt7zyGJcHjwHp9Ktboe8sFIChmJ1o5MNzkbIoFU94PMUnzrNX7iyTFw7NJ3FkVtTZ2kEx872Jd6VADMhhEB+Uo2WY28OGa1kiFAFonjKt5L6ZHqmq78MIDhOIiUq+/5gskyD1/O/U+TYpirKpvF66myO36hveh4pDZ/+b8lGl+ZQk7+Gi7hp5wFdlLHy+nlOjdOYoosQ2WNxkM080icFYWRrdj3FiI9bw1BB4uhScow34uc0kzp2GedlSuGdSOncGaCDZuDzrd7npcEyRIj8B5Uzo6Oe9q5BhlRwmMXv0YRH7tZVx936VQy3HxnMWlLMHR0G539QgUkkDBGX22eRcH+M/vx8xgEJHvaB2KJDEwsJ3IFGVN/1Uhm2shbIPi8evX2izBaYHpyMmQ3nf6NSv15mKf2sReAeDE7KSsldnmYtuRwPz32ZrYf+I2BhfZbuS7S3pFTLcOxiNVfMQXnFNWQMLKDFhanZWIUCZkBm1yTBDw+dxob/jjAPLX54/ZdUOks+5S/Yu7CiYSRpQ7wnUusgtCFOzJHju811v9Lj0lvwmgYELMehx9l5EhL7JBPvGNwGjJ7rm6fsHblqp8YE= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1ee0f721-77e4-4c2b-476b-08dd7dc03f85 X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB9642.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Apr 2025 14:58:01.3742 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: XM2Bg6L8svV2ZYZXugM4lHfoOUufrmfQVAvBbVAJcdmpdby855s6mG2pu0OJn5NDbCl0Oy6fZuuLjnd3VpQLWg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA1PR04MB10603 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250417_075808_732562_AA0D5571 X-CRM114-Status: GOOD ( 19.36 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Convert ldb.txt to yaml format. Additional changes - fix clock-names order to match existed dts file. - remove lvds-panel and iomuxc-gpr node in examples. - fsl,imx6q-ldb fail back to fsl,imx53-ldb. - add fsl,panel property to match existed dts. Signed-off-by: Frank Li --- change from v1 to v2 - use oneof in clock-names. imx6dl use imx6q-ldb comaptible string, but the clock-names is the same as imx53. To reduce dts impact, use oneof to allow two group clock-names list - fix typo pannel --- .../bindings/display/imx/fsl,imx6q-ldb.yaml | 194 ++++++++++++++++++ .../devicetree/bindings/display/imx/ldb.txt | 146 ------------- 2 files changed, 194 insertions(+), 146 deletions(-) create mode 100644 Documentation/devicetree/bindings/display/imx/fsl,imx6q-ldb.yaml delete mode 100644 Documentation/devicetree/bindings/display/imx/ldb.txt diff --git a/Documentation/devicetree/bindings/display/imx/fsl,imx6q-ldb.yaml b/Documentation/devicetree/bindings/display/imx/fsl,imx6q-ldb.yaml new file mode 100644 index 0000000000000..0f0a229956b78 --- /dev/null +++ b/Documentation/devicetree/bindings/display/imx/fsl,imx6q-ldb.yaml @@ -0,0 +1,194 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/display/imx/fsl,imx6q-ldb.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Freescale LVDS Display Bridge (ldb) + +description: + The LVDS Display Bridge device tree node contains up to two lvds-channel + nodes describing each of the two LVDS encoder channels of the bridge. + +maintainers: + - Frank Li + +properties: + compatible: + oneOf: + - enum: + - fsl,imx53-ldb + - items: + - enum: + - fsl,imx6q-ldb + - const: fsl,imx53-ldb + + reg: + maxItems: 1 + + '#address-cells': + const: 1 + + '#size-cells': + const: 0 + + gpr: + $ref: /schemas/types.yaml#/definitions/phandle + description: + The phandle points to the iomuxc-gpr region containing the LVDS + control register. + + clocks: + minItems: 6 + maxItems: 8 + + clock-names: + oneOf: + - items: + - const: di0_pll + - const: di1_pll + - const: di0_sel + - const: di1_sel + - const: di0 + - const: di1 + - items: + - const: di0_pll + - const: di1_pll + - const: di0_sel + - const: di1_sel + - const: di2_sel + - const: di3_sel + - const: di0 + - const: di1 + + fsl,dual-channel: + $ref: /schemas/types.yaml#/definitions/flag + description: + if it exists, only LVDS channel 0 should + be configured - one input will be distributed on both outputs in dual + channel mode + +patternProperties: + '^lvds-channel@[0-1]$': + type: object + description: + Each LVDS Channel has to contain either an of graph link to a panel device node + or a display-timings node that describes the video timings for the connected + LVDS display as well as the fsl,data-mapping and fsl,data-width properties. + + properties: + reg: + maxItems: 1 + + '#address-cells': + const: 1 + + '#size-cells': + const: 0 + + display-timings: + $ref: /schemas/display/panel/display-timings.yaml# + + fsl,data-mapping: + enum: + - spwg + - jeida + + fsl,data-width: + $ref: /schemas/types.yaml#/definitions/uint32 + description: should be <18> or <24> + enum: + - 18 + - 24 + + fsl,panel: + $ref: /schemas/types.yaml#/definitions/phandle + description: phandle to lcd panel + + patternProperties: + '^port@[0-4]$': + $ref: /schemas/graph.yaml#/$defs/port-base + unevaluatedProperties: false + description: + On i.MX5, the internal two-input-multiplexer is used. Due to hardware + limitations, only one input port (port@[0,1]) can be used for each channel + (lvds-channel@[0,1], respectively). + On i.MX6, there should be four input ports (port@[0-3]) that correspond + to the four LVDS multiplexer inputs. + A single output port (port@2 on i.MX5, port@4 on i.MX6) must be connected + to a panel input port. Optionally, the output port can be left out if + display-timings are used instead. + + additionalProperties: false + +required: + - compatible + - gpr + - clocks + - clock-names + +additionalProperties: false + +examples: + - | + #include + + ldb@53fa8008 { + compatible = "fsl,imx53-ldb"; + reg = <0x53fa8008 0x4>; + #address-cells = <1>; + #size-cells = <0>; + gpr = <&gpr>; + clocks = <&clks IMX5_CLK_LDB_DI0_SEL>, + <&clks IMX5_CLK_LDB_DI1_SEL>, + <&clks IMX5_CLK_IPU_DI0_SEL>, + <&clks IMX5_CLK_IPU_DI1_SEL>, + <&clks IMX5_CLK_LDB_DI0_GATE>, + <&clks IMX5_CLK_LDB_DI1_GATE>; + clock-names = "di0_pll", "di1_pll", + "di0_sel", "di1_sel", + "di0", "di1"; + + /* Using an of-graph endpoint link to connect the panel */ + lvds-channel@0 { + reg = <0>; + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + + endpoint { + remote-endpoint = <&ipu_di0_lvds0>; + }; + }; + + port@2 { + reg = <2>; + + endpoint { + remote-endpoint = <&panel_in>; + }; + }; + }; + + /* Using display-timings and fsl,data-mapping/width instead */ + lvds-channel@1 { + reg = <1>; + #address-cells = <1>; + #size-cells = <0>; + fsl,data-mapping = "spwg"; + fsl,data-width = <24>; + + display-timings {/* ... */ + }; + + port@1 { + reg = <1>; + + endpoint { + remote-endpoint = <&ipu_di1_lvds1>; + }; + }; + }; + }; diff --git a/Documentation/devicetree/bindings/display/imx/ldb.txt b/Documentation/devicetree/bindings/display/imx/ldb.txt deleted file mode 100644 index 03653a291b549..0000000000000 --- a/Documentation/devicetree/bindings/display/imx/ldb.txt +++ /dev/null @@ -1,146 +0,0 @@ -Device-Tree bindings for LVDS Display Bridge (ldb) - -LVDS Display Bridge -=================== - -The LVDS Display Bridge device tree node contains up to two lvds-channel -nodes describing each of the two LVDS encoder channels of the bridge. - -Required properties: - - #address-cells : should be <1> - - #size-cells : should be <0> - - compatible : should be "fsl,imx53-ldb" or "fsl,imx6q-ldb". - Both LDB versions are similar, but i.MX6 has an additional - multiplexer in the front to select any of the four IPU display - interfaces as input for each LVDS channel. - - gpr : should be <&gpr> on i.MX53 and i.MX6q. - The phandle points to the iomuxc-gpr region containing the LVDS - control register. -- clocks, clock-names : phandles to the LDB divider and selector clocks and to - the display interface selector clocks, as described in - Documentation/devicetree/bindings/clock/clock-bindings.txt - The following clocks are expected on i.MX53: - "di0_pll" - LDB LVDS channel 0 mux - "di1_pll" - LDB LVDS channel 1 mux - "di0" - LDB LVDS channel 0 gate - "di1" - LDB LVDS channel 1 gate - "di0_sel" - IPU1 DI0 mux - "di1_sel" - IPU1 DI1 mux - On i.MX6q the following additional clocks are needed: - "di2_sel" - IPU2 DI0 mux - "di3_sel" - IPU2 DI1 mux - The needed clock numbers for each are documented in - Documentation/devicetree/bindings/clock/imx5-clock.yaml, and in - Documentation/devicetree/bindings/clock/imx6q-clock.yaml. - -Optional properties: - - pinctrl-names : should be "default" on i.MX53, not used on i.MX6q - - pinctrl-0 : a phandle pointing to LVDS pin settings on i.MX53, - not used on i.MX6q - - fsl,dual-channel : boolean. if it exists, only LVDS channel 0 should - be configured - one input will be distributed on both outputs in dual - channel mode - -LVDS Channel -============ - -Each LVDS Channel has to contain either an of graph link to a panel device node -or a display-timings node that describes the video timings for the connected -LVDS display as well as the fsl,data-mapping and fsl,data-width properties. - -Required properties: - - reg : should be <0> or <1> - - port: Input and output port nodes with endpoint definitions as defined in - Documentation/devicetree/bindings/graph.txt. - On i.MX5, the internal two-input-multiplexer is used. Due to hardware - limitations, only one input port (port@[0,1]) can be used for each channel - (lvds-channel@[0,1], respectively). - On i.MX6, there should be four input ports (port@[0-3]) that correspond - to the four LVDS multiplexer inputs. - A single output port (port@2 on i.MX5, port@4 on i.MX6) must be connected - to a panel input port. Optionally, the output port can be left out if - display-timings are used instead. - -Optional properties (required if display-timings are used): - - display-timings : A node that describes the display timings as defined in - Documentation/devicetree/bindings/display/panel/display-timing.txt. - - fsl,data-mapping : should be "spwg" or "jeida" - This describes how the color bits are laid out in the - serialized LVDS signal. - - fsl,data-width : should be <18> or <24> - -example: - -gpr: iomuxc-gpr@53fa8000 { - /* ... */ -}; - -ldb: ldb@53fa8008 { - #address-cells = <1>; - #size-cells = <0>; - compatible = "fsl,imx53-ldb"; - gpr = <&gpr>; - clocks = <&clks IMX5_CLK_LDB_DI0_SEL>, - <&clks IMX5_CLK_LDB_DI1_SEL>, - <&clks IMX5_CLK_IPU_DI0_SEL>, - <&clks IMX5_CLK_IPU_DI1_SEL>, - <&clks IMX5_CLK_LDB_DI0_GATE>, - <&clks IMX5_CLK_LDB_DI1_GATE>; - clock-names = "di0_pll", "di1_pll", - "di0_sel", "di1_sel", - "di0", "di1"; - - /* Using an of-graph endpoint link to connect the panel */ - lvds-channel@0 { - #address-cells = <1>; - #size-cells = <0>; - reg = <0>; - - port@0 { - reg = <0>; - - lvds0_in: endpoint { - remote-endpoint = <&ipu_di0_lvds0>; - }; - }; - - port@2 { - reg = <2>; - - lvds0_out: endpoint { - remote-endpoint = <&panel_in>; - }; - }; - }; - - /* Using display-timings and fsl,data-mapping/width instead */ - lvds-channel@1 { - #address-cells = <1>; - #size-cells = <0>; - reg = <1>; - fsl,data-mapping = "spwg"; - fsl,data-width = <24>; - - display-timings { - /* ... */ - }; - - port@1 { - reg = <1>; - - lvds1_in: endpoint { - remote-endpoint = <&ipu_di1_lvds1>; - }; - }; - }; -}; - -panel: lvds-panel { - /* ... */ - - port { - panel_in: endpoint { - remote-endpoint = <&lvds0_out>; - }; - }; -};