From patchwork Tue Mar 4 10:15:26 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Liu Ying X-Patchwork-Id: 14000350 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 gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (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 CD15DC282D3 for ; Tue, 4 Mar 2025 10:14:46 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 41EF010E556; Tue, 4 Mar 2025 10:14:46 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=nxp.com header.i=@nxp.com header.b="RwFgiDrw"; dkim-atps=neutral Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on2077.outbound.protection.outlook.com [40.107.22.77]) by gabe.freedesktop.org (Postfix) with ESMTPS id CC87810E307 for ; Tue, 4 Mar 2025 10:14:44 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Z12R3f7r0AK23Zf7oCseFoM85OQdJaZdI7F6xHj9OX3wQadFHxgayyxihkheQ1aagpN64R3pDAUd+YrZJ/D/RRlr87LP/b5TqNHWUntpwQyCirRjbxwP2k/W3jVVQwWzk4eaZmU1YbBcrlyJGrSZK25FdtKcF4xraqeP16UQ7hObOSlCB/NudcHdfeCBTq+dW/b26OfcvLYqmddC6oIFFWwyaKrB76Wj77ydRPdS9v4wHVI75NfAhwvNWjHlgoXE7W2qnlBqXKzVQaBPocwecV5KDZnWeJy9XKYG/zio58KNvD0TzcWCLR4Dq0Zhx3AQsF772/fPDRVZLoOepTy9CQ== 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=4v0ZITrKo6z8WXLWDeWeoamf4UafE45+PqI2xPDJjZg=; b=OzF9uwsU2wo3ji3PSDlkbMjqb1qlYmQKEBq9SkGG/+gioVUjmJ8T3xNtFFBqwBkb79R2SL2cjWZ7gZefABLbnYpGGYYHL22v5zGPtbJwX4bLcorA0qLS1Q/26xT1UcLePzfMRtefuVBIJs+Ja9uRYRFyf8z8rQgpL5cN1ASBRHOgdoX47izAdPsUoiQcyx8Cfc6UHJtM42x6UcnwOH45YDXeRl8XpPOBCveUhIbE3HgrmP/gX/aEVZGbUDc+UvV1WWyHQNIeDuxCULIHcEu3Lyqi+in5N9VxiV/ckfBkeeoxPbTX/rQeDNw5tmAFVpbod9fFOk1zx52dr0lhr/A9Sw== 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=4v0ZITrKo6z8WXLWDeWeoamf4UafE45+PqI2xPDJjZg=; b=RwFgiDrwhQ1n7YBxNMR9qre0MLhg+O/s79ThEBh9OKRozeSDcn1G674d1aGKIaFcc0d7uvXSsfDWqnj9TO6AHeZfarabaYkv/2EXwQy0V2NtNYsyMmjSPWBPhlH3R2rZZ0rZbOlraK8OZqPri1hLk0FE1C6fIYr9x+WlG8Jd3OUa/mJ+K4zpPPHYM/ayDid2vTyG1/mL6KF1BBqIV0JV7a1kNCg+feOSSu2FV8gcbNI6EdLIfCpJizyBLjmCwFnG4v/+me6v+ffrQjetmZnDHXyHu1qzAF1A7wdEgxuxtRMICceumpVJmSLmu8MHvy8ELRnhvCeEU+w+9dfyuAQ/Hw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from AM7PR04MB7046.eurprd04.prod.outlook.com (2603:10a6:20b:113::22) by DB9PR04MB9868.eurprd04.prod.outlook.com (2603:10a6:10:4c3::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.28; Tue, 4 Mar 2025 10:14:38 +0000 Received: from AM7PR04MB7046.eurprd04.prod.outlook.com ([fe80::d1ce:ea15:6648:6f90]) by AM7PR04MB7046.eurprd04.prod.outlook.com ([fe80::d1ce:ea15:6648:6f90%3]) with mapi id 15.20.8489.025; Tue, 4 Mar 2025 10:14:38 +0000 From: Liu Ying To: dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Cc: robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, andrzej.hajda@intel.com, neil.armstrong@linaro.org, rfoss@kernel.org, Laurent.pinchart@ideasonboard.com, jonas@kwiboo.se, jernej.skrabec@gmail.com, maarten.lankhorst@linux.intel.com, mripard@kernel.org, tzimmermann@suse.de, airlied@gmail.com, simona@ffwll.ch Subject: [PATCH 1/5] dt-bindings: display: Document DPI color codings Date: Tue, 4 Mar 2025 18:15:26 +0800 Message-Id: <20250304101530.969920-2-victor.liu@nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250304101530.969920-1-victor.liu@nxp.com> References: <20250304101530.969920-1-victor.liu@nxp.com> X-ClientProxiedBy: SG2PR04CA0188.apcprd04.prod.outlook.com (2603:1096:4:14::26) To AM7PR04MB7046.eurprd04.prod.outlook.com (2603:10a6:20b:113::22) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM7PR04MB7046:EE_|DB9PR04MB9868:EE_ X-MS-Office365-Filtering-Correlation-Id: 9dd56f63-0d1e-498c-8570-08dd5b055edc X-LD-Processed: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|52116014|366016|7416014|1800799024|376014|38350700014; X-Microsoft-Antispam-Message-Info: YrQkNo6Qvqjp/2tVRRyX4s/RCU2G+Xp2QPc/RVSj+a0ZNCL6Qw6a6/dkgsHRLP8EHfRQ5l6tYnWDdVm1zf77D71e0bWhmkvFcwBAaDv65O/AelPVyes+eJPxb4Ao7i1rDKJ8SLHTxXmLZ5JDd92mPfVUnQY3yUsuz2SXNlT8U/HUROutD0x69XPbR+mLKEsF5g5tYxm1lSHsLsfqRutlNZyZt0uX02nm0hLIciTPxpL9gSPUfesearVvBaertHz07cltrxC3GBnPr8mu1iVtqGlFG/bTV5z8fT7tUywlmu3InaBwOBhC390iwFJ4/hR9JPM6sGRuT3gSUhxDRPjAIwqYrfUfhY404cZsvcLDwEbQmn8sczLBOuhO7+DtHHa7uK8QfsGQnB4YAdCiKBy11YHJmIXAqov9DFk7LZvRhXA8pg1bfNjfpzkNmCHGee+3CjksyjvglSlgWmpY63QLXstjiP471DGbGmqRzIKFba4d49DIcqpiBq1IG5OherB2fdWZWb3keIxqNSc8zd4PcPlZ4unT5nab4rulVM64ZK+l0w9Syr55rNLc0QBLhoQbP0dEEDdEm0bkjCoojP8+ej4JbYoxRB/BSPlAOnAWBo0KQC7Zr4o00Z19F7DqWm+I/RK3AcL6vHBPiwRpawcIUykpLPR+5PuJYyaSYPxbKzagFbTmCqhdyILcJwjMB0ebHhg4C6FwADcqFOkOB3FFXG8ntPFoaFhFYUl8dIh2LM2SuKhaxM7pPLbO4E6HYJEHpaS1N7CC+QsyRCAYmqZwh+hJvR9Vt2XbxfvBz4DVyOchR9WGdMKHyX1Hjg/gEd3sKopAQRbFqzE2Q24wizGiyHxg2rAoaZktDMFQC5biJhkZaTMwDnQjKe6mUlVoORgTirXpZhlvVtYgHWKZiDn7+zNjZLWtitjTOFZSfFucTa1CHfi2/poQmuLH/OWm+jhPJvweH0FyDkFo8zYKtXjEmEItbcwnF/cGMk1Q995N35mF584Ah7Z+9fg0253oY0zTNANScEcMrYvzExHhXtWr4SPtzZW2Df8Z0cUYZCd4WvK9P6vPhn4v1pNthleI0KvpQF9jSdsTjXFsV0WDevPQAZs/ttANF5W7VRfeKvfMI7V8S3lYZtWpYIZGf0b1brLCE/NpmjdLek1EA9DHF0PkRhcIksnXfKIabv4yqBYi+oJbMFrLHnhj1BG8FhG8PJdJ/LGFuALM28fw7/gWUsZPceRW+1UXQMVPP/9Y6WDCuTfHkSG4UMYvOWDv9khYb50u3G0mns3caD9TjtSQNjiybGGebiTPCNycIrYkGtX10+E9zEBEZI2IBQY3hqxWJN1vpK6/bRihEJlx954hpLp2/IdSaiISlFuKa+UEp8E9drzwK/dAl1Zy1Bj17hbbnBlF X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM7PR04MB7046.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(52116014)(366016)(7416014)(1800799024)(376014)(38350700014); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: pjXX/8B/v4xOBikIJ28KoIKns1M7CP6IXySjYVyG/rFBVcuSHK4YkdP0fZNcHlJFiVDBz0MpHRyojfrsstGQD32uqyoUAUZcKHVaumrItFfGcc/ZxPik1zuU2LUcPAKgJdZzBJAp4cUEITF7T434tOIgZW8m4vAVrMD8Y+yv7z7eViZDavbbZ4lDoM6YoJC3tkZKSEEXLCANDsW5J1nvhZySJ7asGdnUhBDVJMjDJuhYXGN/LVNS4o1TfeJG8Q+1Y6qmfN+0rK23GelrhTxCLRjVRHmoe1evG07pO7FyJ/+Tqnwj6szDRtycf68tjCcVaVVFuUUVX1+PBKR/0rG6T0CfXp4q3YXnMUIKqu87fd7nVi/S+UP9wfYtFXNsctL1+0M7L2uj2oHQ0f6D708skKybs43YMEPG7OWrahK/d2hujBA0X5KeJUXlNcFseSsdpvSC1qgzmzdqZLtDPLMhMjx9bqUOzm+zIK+3ZxafqaDbXebJuh18RZdESRyKL7aOlL2zAGzRvxQ8b4UKPi4qbe2XVC7zK8+dI1di9R1lThYO+pQt5deyRyiOYJoIf0M+Dvywj8dOz1xq1gCozNzkj9fIl2tBHXpILj36EVtlPdhjmVvlH98tEt17hQYi6Qd391ePjh43DHqbo2wnLCXB2+ZzcGHcqvlWVESxbe2sbbjfSUn/LjvGBJfueQfj933eM4A+ch1C92EEVCJnRhIDEe6Nz3nuQZHNEnB/M29As1+skwabKSuv5+NuQRhJDYBnXmZkAL9FVdV1VZHxJC+PmrrktiEbeMPEU/ejpOZ8ZtAVvWdNYAVEUfOxSpm78kIzFLVCywR0JssS1ABvyIZbrinI0hxz7xR6ggBo6s8T43RkZNr8fXVXe2Zr/M1gQP8lX3xcotCCzPzscvw+BjrzT2bxqdVK8E284GNG3Zkruch4C2t5Wd4smGIOx7FewxU3s/0cKoGRkevZQ/J5osgqi3hLniTr2Le885n2jK4A26shfOM90IVU+1J9J3cDFkBtqeatWTiQRRMAFT8Ib6jk3MUmBISUPSYMjp94JpH7QsAYDJdwIAYi2vBrG3SqVFgyAtbi+XjK5PEExKf4t8jHGTvxrC3dz7+dncTDTU85tFcswcFpqoXrMAEepDMh2XXBgCNLTTKv+nr47EqHtV1FJlQdDztZ5WZurXtbfm6FRM6pBq3Q+Ep4LnElDJ9XHPNEsLykDgwmwy4zPCMmVGWjftzTSvWMrMnV7qnKCX1p0Pu+JJcuerialyo47AdiwKYmxu1LYLjCbDS3rnNm8T1uin/HXqw+E2tPGtekgZUAId15kt5snVpiTr9sdwNgo6wwm5tNpO42EJIaaK9zNemn1e8R4iX2SfMeogNNbh9cpzmJyMWJiB+iLKUHx/xNXiQ0iOnhDnVhsDQIxiIUnv1c3R5ne3252igSfJDw9uIpqC5jqp5X+r/eEq22n3OY772uG3ZEQ+HJtB1tKxdNPqq35p+pece5I/fhUHPdcJx4oeZEO1Ie59wPV98NAGSOwEtFpW3a0PIgHhEejlMtY6eQ6qnicG3K+WkbjkmCxmK3sx885OhBu6CNkr8NglplYffa X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9dd56f63-0d1e-498c-8570-08dd5b055edc X-MS-Exchange-CrossTenant-AuthSource: AM7PR04MB7046.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Mar 2025 10:14:38.3230 (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: 0/tcrJszjzgSDlTRlz2Uig/3q3ftShSi/rAm0CVkhIGiusb5rPBg6oV/bB8f965Or8Ebae5LbS0GuIKjKwm/fA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB9868 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Document DPI color codings according to MIPI Alliance Standard for Display Pixel Interface(DPI-2) Version 2.00(15 September 2005). Signed-off-by: Liu Ying --- .../bindings/display/dpi-color-coding.yaml | 90 +++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100644 Documentation/devicetree/bindings/display/dpi-color-coding.yaml diff --git a/Documentation/devicetree/bindings/display/dpi-color-coding.yaml b/Documentation/devicetree/bindings/display/dpi-color-coding.yaml new file mode 100644 index 000000000000..6430d6f1ddd1 --- /dev/null +++ b/Documentation/devicetree/bindings/display/dpi-color-coding.yaml @@ -0,0 +1,90 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/display/dpi-color-coding.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: MIPI DPI Interface Color Coding + +maintainers: + - Liu Ying + +description: + MIPI Alliance Standard for Display Pixel Interface(DPI-2) Version 2.00(15 + September 2005) specifies color codings at the DPI interface. + +properties: + dpi-color-coding: + enum: + - 16bit-configuration1 + - 16bit-configuration2 + - 16bit-configuration3 + - 18bit-configuration1 + - 18bit-configuration2 + - 24bit + description: | + This table specifies the mapping of data bits, as components of primary + pixel color values red(R), green(G) and blue(B), to signal lines at the + interface. + + +--------+--------------------------+-----------------+--------+ + | Signal | 16-bit | 18-bit | | + | +--------+--------+--------+--------+--------+ 24-bit | + | Line | cfg1 | cfg2 | cfg3 | cfg1 | cfg2 | | + +========+========+========+========+========+========+========+ + | D23 | unused | unused | unused | unused | unused | R7 | + +--------+--------+--------+--------+--------+--------+--------+ + | D22 | unused | unused | unused | unused | unused | R6 | + +--------+--------+--------+--------+--------+--------+--------+ + | D21 | unused | unused | R4 | unused | R5 | R5 | + +--------+--------+--------+--------+--------+--------+--------+ + | D20 | unused | R4 | R3 | unused | R4 | R4 | + +--------+--------+--------+--------+--------+--------+--------+ + | D19 | unused | R3 | R2 | unused | R3 | R3 | + +--------+--------+--------+--------+--------+--------+--------+ + | D18 | unused | R2 | R1 | unused | R2 | R2 | + +--------+--------+--------+--------+--------+--------+--------+ + | D17 | unused | R1 | R0 | R5 | R1 | R1 | + +--------+--------+--------+--------+--------+--------+--------+ + | D16 | unused | R0 | unused | R4 | R0 | R0 | + +--------+--------+--------+--------+--------+--------+--------+ + | D15 | R4 | unused | unused | R3 | unused | G7 | + +--------+--------+--------+--------+--------+--------+--------+ + | D14 | R3 | unused | unused | R2 | unused | G6 | + +--------+--------+--------+--------+--------+--------+--------+ + | D13 | R2 | G5 | G5 | R1 | G5 | G5 | + +--------+--------+--------+--------+--------+--------+--------+ + | D12 | R1 | G4 | G4 | R0 | G4 | G4 | + +--------+--------+--------+--------+--------+--------+--------+ + | D11 | R0 | G3 | G3 | G5 | G3 | G3 | + +--------+--------+--------+--------+--------+--------+--------+ + | D10 | G5 | G2 | G2 | G4 | G2 | G2 | + +--------+--------+--------+--------+--------+--------+--------+ + | D9 | G4 | G1 | G1 | G3 | G1 | G1 | + +--------+--------+--------+--------+--------+--------+--------+ + | D8 | G3 | G0 | G0 | G2 | G0 | G0 | + +--------+--------+--------+--------+--------+--------+--------+ + | D7 | G2 | unused | unused | G1 | unused | B7 | + +--------+--------+--------+--------+--------+--------+--------+ + | D6 | G1 | unused | unused | G0 | unused | B6 | + +--------+--------+--------+--------+--------+--------+--------+ + | D5 | G0 | unused | B4 | B5 | B5 | B5 | + +--------+--------+--------+--------+--------+--------+--------+ + | D4 | B4 | B4 | B3 | B4 | B4 | B4 | + +--------+--------+--------+--------+--------+--------+--------+ + | D3 | B3 | B3 | B2 | B3 | B3 | B3 | + +--------+--------+--------+--------+--------+--------+--------+ + | D2 | B2 | B2 | B1 | B2 | B2 | B2 | + +--------+--------+--------+--------+--------+--------+--------+ + | D1 | B1 | B1 | B0 | B1 | B1 | B1 | + +--------+--------+--------+--------+--------+--------+--------+ + | D0 | B0 | B0 | unused | B0 | B0 | B0 | + +--------+--------+--------+--------+--------+--------+--------+ + + There are three mappings for 16-bit pixels to data signals, two mappings + for 18-bit pixels to data signals, and one mapping for 24-bit pixels to + data signals. + +additionalProperties: true + +... From patchwork Tue Mar 4 10:15:27 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Liu Ying X-Patchwork-Id: 14000351 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 gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (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 A545FC282D6 for ; Tue, 4 Mar 2025 10:14:48 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id B2F1210E559; Tue, 4 Mar 2025 10:14:46 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=nxp.com header.i=@nxp.com header.b="g3OhoYgV"; dkim-atps=neutral Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on2077.outbound.protection.outlook.com [40.107.22.77]) by gabe.freedesktop.org (Postfix) with ESMTPS id 4772B10E307 for ; Tue, 4 Mar 2025 10:14:45 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=BquACvqguzh/NTaxYo7bGd879igaVHrPv9b5yZsqYy9xEs0XEjb8C8dsZOOBqIQYhQkAOU6yPATsdgvv8gUBHid9+3M21SIAmX4ezQHY0vCX24nWEyXYItK8qUUCXRKtqvo2dkigRbrchZ8kcNpaUoQHtA2pwcyaXFkiI8Cl73CKvDn+KzRWQz6CL47oAKZMI/dNUYtKshJb7CFs5ptScwCV+lQkjZirHeUsQ0dDF+6I3Yb9bla30dFv3HRKP1TOOsLgIQ08MUaFFvC0AgKmUaJAHnV/DrJnmhBw2GWQ0R0H+AjQklGPc6oXd4wH9I5KcxhkrRbVbqtkIqV6/PuNHA== 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=tEnXwmmvpi0hAcKM1/oDGaFVFL8fqv5GR8PQZTvYynE=; b=mu1daeLDX/FsWNNPgMzKp5Q/2q32W3UHIwzxD4QukKeh8AbHDP9dJx38/sQJIv1PsY7QRggP/MEQjFwl8QQI52QGyHwEkz1WGt9TLLOo3+YDxEip7Of+vvzTJSOnwRlJc/3GMwuDVed2nhXiwQkALrHnHsZWmfu3rlJfcr/yaECsOw+65FW/UXPSjiGjfhcsMiAyEpdy0+6KhVaE5mn8bKg0BLJGZDBoI89Km+AuM/ZiqpYcz+BXekGUmgmEYioCaCjOGbm/jvKbYDor99dANmNxhnWv5e+tr1M0wfbLAWCNv3E0SpzJ9XOruwmRe00KdeOg5ND13MoqJxNkQ1XTIg== 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=tEnXwmmvpi0hAcKM1/oDGaFVFL8fqv5GR8PQZTvYynE=; b=g3OhoYgV8/Ib80cixF8McgSGdRsR8hLklhAB/PBCbThlCk4MOFvFModxQ8pK87Y+NP4MKV4i9MOJA73W3kdcyeRXfNgYIZWOuFBFE5HIuxPDdJqOqMcQKyZ7mIjtXbl6/1AXyXd7CcRpBFuI5XT8jpdPKzeREaCdHmW7qCvJjv1hG1D2OnSPQ1TCrUA/eZmPrFh3j+WoHQVrQDeN04WZORiT/dRj4MYTc8QKkr8uvdIyPJVct3RekEN5J3ap5hvLlE1z8zR3YiPn3TYGAndSmmDwOW8X3BIPM84cq9k5Y5bRyue8z4N6hehTAo09SUPNXugC83hWPldVRgK7bj3KhQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from AM7PR04MB7046.eurprd04.prod.outlook.com (2603:10a6:20b:113::22) by DB9PR04MB9868.eurprd04.prod.outlook.com (2603:10a6:10:4c3::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.28; Tue, 4 Mar 2025 10:14:43 +0000 Received: from AM7PR04MB7046.eurprd04.prod.outlook.com ([fe80::d1ce:ea15:6648:6f90]) by AM7PR04MB7046.eurprd04.prod.outlook.com ([fe80::d1ce:ea15:6648:6f90%3]) with mapi id 15.20.8489.025; Tue, 4 Mar 2025 10:14:43 +0000 From: Liu Ying To: dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Cc: robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, andrzej.hajda@intel.com, neil.armstrong@linaro.org, rfoss@kernel.org, Laurent.pinchart@ideasonboard.com, jonas@kwiboo.se, jernej.skrabec@gmail.com, maarten.lankhorst@linux.intel.com, mripard@kernel.org, tzimmermann@suse.de, airlied@gmail.com, simona@ffwll.ch Subject: [PATCH 2/5] drm/of: Add drm_of_dpi_get_color_coding() Date: Tue, 4 Mar 2025 18:15:27 +0800 Message-Id: <20250304101530.969920-3-victor.liu@nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250304101530.969920-1-victor.liu@nxp.com> References: <20250304101530.969920-1-victor.liu@nxp.com> X-ClientProxiedBy: SG2PR04CA0188.apcprd04.prod.outlook.com (2603:1096:4:14::26) To AM7PR04MB7046.eurprd04.prod.outlook.com (2603:10a6:20b:113::22) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM7PR04MB7046:EE_|DB9PR04MB9868:EE_ X-MS-Office365-Filtering-Correlation-Id: 98a90a58-a318-4366-72e6-08dd5b0561fc X-LD-Processed: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|52116014|366016|7416014|1800799024|376014|38350700014; X-Microsoft-Antispam-Message-Info: gObhO2ncgqFatWEifwnflKgxb5wyMtDhCfckoXhWDlhgIUIVEnNbg8aC6iU9GdeU4dZL86JhpyKF1j71dsVsvQI6N3ed2l3wwwKotM2rRmObGsBYLARzJOdvNKY7utTSF9Z1fHBKnDuEgUPO/LNLwRbNx2bRV02DXRty3jPL1TB8Ch/jLxM/0+W5tJepqo/LjpeESlZtsYTtpOOuCrqlWGKGeJNr+dx4gpMremX+ZKq9KDYCMGBNWi5aAiglzSDbfmlMSXmsuNLnXaRl36PWcNzaRfXXYdJnbhfd+FwbctuYnx2EJlT4VvAFRWhfP3LQo0/DmIn/GuWr/juldyrTjeh/k9eMzMPa4wXH5PGME5SQmsXdO7niOXudDse+ow5kemqffruyVDyFEwu/BFbkwnBy5YWEA2OfWTt2YaXUCbXY+EKVP9ltZ94fA/VvmgbtjuTNEaOt4j6bPIEUtm3ibfaCGBrQ/5rYXzLzbx+9UZRvX6aUGrKrhLXVeNzTotUDluLg3pIECi3YeXyM49AKmfpSrHWbYQJ/A9o00HvAoY0+msLNQQ4qzduqBGDjhEYmm8qUPbG0/pr4wEsPqIkqi9qIILQnhsMCyNOU4qczN4sSSUtvQa8u+uBFq0RHUxfV8nQ2DH/fa9e/v1oYz2yqKQ9NkCwg1H9565pOzI+u/DD9N8AHxsDkplW/NCk2dtAVEVct5ZqtmClAoMijAwtEqPyPUlqikoRkeRadkk/MkRcHYePhkib2LmtaRHi++2O3Q7/d2qY0Im0xDvJPJWEiSIbo4EBjJy0LQOlao6WFTIm2KWYxGl6l6KZAzT4uLnuZxZoytzUJee5BjjAYSYzJmmu1ONrqLJPpG1E3e8IXk1JWdLEyQ1+Xa1AuunhdQEAIK6CHacXvmGhf8AOcpSobv+oX2g3ZISHArLLNGtOECccT/jgakGtEiDebkfMiY75HybVNFI015LyzCRr+Ld2O3QxMUIDDaUH4IdQiNexMZfWsUXqkeK41rDfN6JSApWQWpWdutonZqMV6dHYYxLOHWdA8jbPM5eopWDclzVKyelHgkIQhFShWlK1wIycOeyC/yYsJBfZ9AI6Sy1wx0EgrQyx1USj2WBCaWNFGXn0Xyao1Y2H/IMgZFi2XB1cl6GLNhuaXG2JQm2vK+YomsfBLvhkNY0zkR3/Jc6JNqNhfsrEsuTnOfwDCIAo+Vey7DCRYrorC2VFbGYmmIf8ndyFKAAbED/5YyKoAJFBhtVL77FnkWgDWyLu1ZBjJCCbyOW942RUkj5N5RrbjvTaVuIZEmTrL1if9pP1P9bJZHoF7TUPPoN9vXpUTP9iaxbsliZIWXVekJxZi4g9c6nroLs39RVp0Ew1dVClJmwbGZnwRve1trHYSl6/3vMMyla5k7GK5Hsn7EhoW8JuBrApWO31mBVaFg/5S4UW0/7GrDWnLmNrClV5Rfa5rGDgY+L+ujdtL X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM7PR04MB7046.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(52116014)(366016)(7416014)(1800799024)(376014)(38350700014); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 0RRXg32AT54ahYoyOGr3axIIWgPVSc+NCTRPi1yCq9RWWguTzzWXtbdrG68RqYJghUGST74R4KyVkXAKglBN/QuPzNI7D0N6bNHfMFNfXWhJ3naDymedFsUfkiVvB7pRhJAVlydEdc7/C3sAmOd8mWD1IxYqhSrU4fz4+eRh1t9M+/J6vNr8XmLNKsl2ZrcXACjpB/dR1EZVAQ8J4nuwpSV/fmk969D8PxWa/Mi4kbX4YF+lb3OrfTmSmTbr16RKS5Ep7WbAYFD32OuixdfSJx8CCefsL3jcAzTCw7FbUbO2LdjNOLAqfs8hJOgRxL3PR4uVsA1WeH73KFYAgelIgG5KgJLMJ7Y/IEYU5/XsgPbGoq2ntgMRaJ8WuOrbm7/aaR/IeOZP52Cam4Nx3I7YbP1KWA5c7UgRj33k7p1TMTG6EasaZt8P2PLp1ZQ4Ezaci5OMIXOfVePvUZ+F+NPWvF8lGdkuKLcL3pkSuYA2DE8qXy1QMKX5wq6I1EANNzmYZxbnY5JI17NRuL82Tv9LHwgURxKd/C7Lev8uGHnz6sEaNew4OEU6zP+QISbwVf2dfWjViqoCc8kVTiWuS/BRS4xniIcGronT8MOTAdiIZQxIhcdgZ78O2HAEn2bz77m4sGO/cv1G3MsDY9snoIxtDUO0qvFaRAzyKbFrfsccS0vIFBHQWYoRgGFNmTDibNCHpBETDpcIjJQk7qQdxY8n9CabgExGvHXITyVefyibVEsEWpJ/s9dHe4AHbjyk6sNssUGjoCHCAPHdWtmLQJLiIe5BP0RBv8Vk4VqmkDb+U09JTqWEicZZ0WDp75orTLRI6eCeD0yR3bCgo4nztWmo2Bq3jjqcHcAR01h64Fa6fo5W60Bi3catYmkTm77IDfqEAvRGbz1Y3IFef3O+OKlB/+tdVXrtW7G0sQz/mwNJ1RGbUqZV5+NO9dte8mVFh6B8dvF08f/sPlC0fUB5RBOXWipAG07erc89YYnwxSNETKGnN4vfW0GaGwxjBE6cDzkVO+leNRA5pa9dIX3ceD/Efo4+aYl4U5+XKyLTLjTUpNLDHOTEawlVZ2Pp7CjH/gzICih1xTkOZLjyU87iSTpDYp1aNI7bDwHeFRCA2PhJthqKzxJcmJGc4Hb3Z+c7iXNRy8rWJ+VaIND6A2NVXC0apZgijmPWzNrpQpCz9eDt3EzXKpuOtfJ98bD8spuMumWgMhMydCQaCv/Ppt8m7Auye62UkpcaONrxMt8YWbeLRWKb2pFckZVqSf6p3u6VQrDiVmlH6fT6WmXMtkwO3+jQzfQ0riFJ7IkDgP1TZfInsvhxjbPnO1xlmMwgX3WnQ4cxnuspP88QsZRbt2/uYgD+5U/AesXHYi4ntTlUbXua9ISOt4NPU2KkyLJbgHkt/qQcJr6SCD4ihEmpkMH2AoaSGCjJmsDGLvUVGPvZLTuEhzoMXVgH5LI4kdcC8MhzBoF89yNc7i1n/QKgN8odp3EcThOExfDjN5uOpyLdGbezSAxfv4pDVYwc4+8+OzMlt50bDvgwYcv8t5i3ogb0+oBxn8TucuYGAGX6PcsN8dSdIdR+e3C6F5e5qC557BHC2ix3 X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 98a90a58-a318-4366-72e6-08dd5b0561fc X-MS-Exchange-CrossTenant-AuthSource: AM7PR04MB7046.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Mar 2025 10:14:43.6496 (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: og5nD9dxSJgtOKmQfWTKsbiDUG601wRqJW1ewvPrK5jRhjGRHWnSOvqNo4kHDgljknVcm0zBoM9Fv6FkFp4oCw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB9868 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Add helper function drm_of_dpi_get_color_coding() to get media bus format value from MIPI DPI color coding string. Signed-off-by: Liu Ying --- drivers/gpu/drm/drm_of.c | 43 ++++++++++++++++++++++++++++++++++++++++ include/drm/drm_of.h | 7 +++++++ 2 files changed, 50 insertions(+) diff --git a/drivers/gpu/drm/drm_of.c b/drivers/gpu/drm/drm_of.c index d0183dea7703..6e2e19275b99 100644 --- a/drivers/gpu/drm/drm_of.c +++ b/drivers/gpu/drm/drm_of.c @@ -285,6 +285,49 @@ int drm_of_find_panel_or_bridge(const struct device_node *np, } EXPORT_SYMBOL_GPL(drm_of_find_panel_or_bridge); +/** + * drm_of_dpi_get_color_coding - Get DPI color coding + * @endpoint: DT endpoint node of the DPI source or sink + * + * Convert DT "dpi-color-coding" property string value into media bus format + * value. + * + * Return: + * * MEDIA_BUS_FMT_RGB565_1X16 - dpi-color-coding is "16bit-configuration1" + * * MEDIA_BUS_FMT_RGB565_1X24_CPADHI - dpi-color-coding is + * "16bit-configuration2" + * * MEDIA_BUS_FMT_RGB666_1X18 - dpi-color-coding is "18bit-configuration1" + * * MEDIA_BUS_FMT_BGR666_1X24_CPADHI - dpi-color-coding is + * "18bit-configuration2" + * * MEDIA_BUS_FMT_RGB888_1X24 - dpi-color-coding is "24bit" + * * -EINVAL - the "dpi-color-coding" property is unsupported + * * -ENODEV - the "dpi-color-coding" property is missing + */ +int drm_of_dpi_get_color_coding(const struct device_node *endpoint) +{ + const char *coding; + int ret; + + ret = of_property_read_string(endpoint, "dpi-color-coding", &coding); + if (ret < 0) + return -ENODEV; + + /* TODO: Add 16bit-configuration3 support. */ + if (!strcmp(coding, "16bit-configuration1")) + return MEDIA_BUS_FMT_RGB565_1X16; + if (!strcmp(coding, "16bit-configuration2")) + return MEDIA_BUS_FMT_RGB565_1X24_CPADHI; + if (!strcmp(coding, "18bit-configuration1")) + return MEDIA_BUS_FMT_RGB666_1X18; + if (!strcmp(coding, "18bit-configuration2")) + return MEDIA_BUS_FMT_BGR666_1X24_CPADHI; + if (!strcmp(coding, "24bit")) + return MEDIA_BUS_FMT_RGB888_1X24; + + return -EINVAL; +} +EXPORT_SYMBOL_GPL(drm_of_dpi_get_color_coding); + enum drm_of_lvds_pixels { DRM_OF_LVDS_EVEN = BIT(0), DRM_OF_LVDS_ODD = BIT(1), diff --git a/include/drm/drm_of.h b/include/drm/drm_of.h index 7f0256dae3f1..0a827f3b3a55 100644 --- a/include/drm/drm_of.h +++ b/include/drm/drm_of.h @@ -50,6 +50,7 @@ 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_dpi_get_color_coding(const struct device_node *endpoint); int drm_of_lvds_get_dual_link_pixel_order(const struct device_node *port1, const struct device_node *port2); int drm_of_lvds_get_dual_link_pixel_order_sink(struct device_node *port1, @@ -104,6 +105,12 @@ static inline int drm_of_find_panel_or_bridge(const struct device_node *np, return -EINVAL; } +static inline int +drm_of_dpi_get_color_coding(const struct device_node *endpoint) +{ + return -EINVAL; +} + static inline int drm_of_lvds_get_dual_link_pixel_order(const struct device_node *port1, const struct device_node *port2) From patchwork Tue Mar 4 10:15:28 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Liu Ying X-Patchwork-Id: 14000352 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 gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (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 CEB71C021B8 for ; Tue, 4 Mar 2025 10:14:53 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 4763910E55F; Tue, 4 Mar 2025 10:14:53 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=nxp.com header.i=@nxp.com header.b="YsJyXf0g"; dkim-atps=neutral Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on2052.outbound.protection.outlook.com [40.107.22.52]) by gabe.freedesktop.org (Postfix) with ESMTPS id 1DD1D10E55F for ; Tue, 4 Mar 2025 10:14:52 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=nY8sBR1OnEJW3+4vTAhVYDalf1BSiAHAAp33Uf6EQYsuHSKShTKVSAfhkv14Xah2qZNN7026yA2WvRJwBSVI5TURl4JEOs7FCADRN0NTSUxx2RCDO7IJnj3jqdv4fG0G4UdR1IT4KbbQReQgyxCZJgYha5uHHzEqeA5o4S4ihK7dx+d9ojpQus8Ljhx/V+6JaclSZPrF23ForxMp13XVIdhjbZY2bKx2sHADXzkDdo/W/xAU46qkQMbsVMqwleXFTmyMfq54aiAjPZ3v6N1fUVGSAoRbHFu3YezuEbbnjFHQaNdrab7YE1LhkFFIY60lJUwI9xC06VZyAbl1dBflcg== 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=xTtohqy3cYzJIPf1dbOtgcBHtzHnKO0farFosg+nxEQ=; b=vGNY1ZYQSd3XNI938ly7hpHgpmnGmJDx/kCf2xeTLTVbl1yby/Fd3aTcRa21HF1EEMa/OvQpJQYcn57jWwpfoBAlNYstTkMFioR+LRf+mo9xzr4eGFE5UL1jPxCZkEDv3AZo0muonTgj48XOpTcA4Kq64bgDlkq9j1gF8HuF+rKpwRWcTKaiUoNkMKlBFHRwXh4przGehTRG6o21nLkdyAUZi5+VOqRqvjszsMY9PoUhnXyo/UzUU50CyXkK8rkqEQb0ghCUTkEshPB2Ak+IZtZG1Hr4m6OlE+lWqC+VNbfRoA+MauzcKkbTWVLgAhWCpibLeAt3VHr+s42FHwpKPg== 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=xTtohqy3cYzJIPf1dbOtgcBHtzHnKO0farFosg+nxEQ=; b=YsJyXf0gNNZulBUQt2gC8V0B0nYcBYSCwMtmvu/hNZmIM4Gk5sE8bRrlG5IUL0CxHwIb8UbvSApKrZtk6FYI2Dpz7AzJXgsnVe56lpbdfP+nZV+sdfab6WPArrC5c1KMoSmGX97DiLdQwajz98BreVwDIPcUvlhh1ek1tm3PSTDVniwEO20ASp5OdbH/GFpscBnZ4bHOZJtQA95gsoFdYJ6kyNYNE66iuqqq/kdgCqP013p2KsrJct6hdoDjrrDMsNMPuCdFMJWyps2oqXUcDm5Q9nDg9cVvXSutZSi+xNQ7cpWO+BEDtjBgu0I7Szj2L037FYdq173r8siHBKLGRw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from AM7PR04MB7046.eurprd04.prod.outlook.com (2603:10a6:20b:113::22) by DB9PR04MB9868.eurprd04.prod.outlook.com (2603:10a6:10:4c3::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.28; Tue, 4 Mar 2025 10:14:49 +0000 Received: from AM7PR04MB7046.eurprd04.prod.outlook.com ([fe80::d1ce:ea15:6648:6f90]) by AM7PR04MB7046.eurprd04.prod.outlook.com ([fe80::d1ce:ea15:6648:6f90%3]) with mapi id 15.20.8489.025; Tue, 4 Mar 2025 10:14:48 +0000 From: Liu Ying To: dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Cc: robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, andrzej.hajda@intel.com, neil.armstrong@linaro.org, rfoss@kernel.org, Laurent.pinchart@ideasonboard.com, jonas@kwiboo.se, jernej.skrabec@gmail.com, maarten.lankhorst@linux.intel.com, mripard@kernel.org, tzimmermann@suse.de, airlied@gmail.com, simona@ffwll.ch Subject: [PATCH 3/5] dt-bindings: display: simple-bridge: Document DPI color encoder Date: Tue, 4 Mar 2025 18:15:28 +0800 Message-Id: <20250304101530.969920-4-victor.liu@nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250304101530.969920-1-victor.liu@nxp.com> References: <20250304101530.969920-1-victor.liu@nxp.com> X-ClientProxiedBy: SG2PR04CA0188.apcprd04.prod.outlook.com (2603:1096:4:14::26) To AM7PR04MB7046.eurprd04.prod.outlook.com (2603:10a6:20b:113::22) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM7PR04MB7046:EE_|DB9PR04MB9868:EE_ X-MS-Office365-Filtering-Correlation-Id: 6a2647bb-ab43-405a-9d83-08dd5b056527 X-LD-Processed: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|52116014|366016|7416014|1800799024|376014|38350700014; X-Microsoft-Antispam-Message-Info: DYbb4M8XkYNh6ojCC2GELV0eLEbs5rWc21AtfIFZHS9MrxC6oNULewK0S4vKksIDCO8TkiVIHm/pvVufwtBkQbm+rd7HHfW6yYNCSd0LdxMf7+vaZRj20AxwT+jf1KjU7y1fq8/LaNPgeo5R63t/z6N2F4LlwvaEnQ6krF35sFEz12eqtMUqoU1oTJ/vd9WVSdTsd7N8jlHLmgbxEMdjSi6/tBEcLHsQe/xr6diwJCB/89bW8NfoZoZW3mS6uTZmGjQk77+sLBqe0WMd+ezG4yjC94S7vj/IRfDrekJPyfNPiDuoX8+z+jOiQ+1IhBKIrF0UifhINO2kx/RxNISTQbbg7JidHpn3KFp5FNp+uIrHvQZzSVrQQHW/48utfb51IO/dZXDz+PenRxG8DE3Vj0U310Jx12SVMbugQldoynsF+LObI9J3b0enxQ8wVzcOgNI5poGA85rRwArukLCoKnHiJpvJxYeyJtBCZvkByBcZhCGhiA+I9ym1/QIc3aQyLopnU6kYxMen5nDks457SWvR/0kCPMpgJ6wQI2exMrIWLkTQ/RdIJZRpMMF93sUhr5NcY4TzcSpTGMDz+usuDiGrqToteWIusn+iEq10YFca02HQ2PHbxUO0QSjXnMdB7GvI9RPeETME1meztzus/oif3P1cGAuMDugSZ7aJO3Ew009TxKrdBI71dWWNZ8zr5XBZwxdZqoC7oBdazrRsq8BOqcNBeccPg094cnScg6k3BXAmVtoIzqSotLgKmK1rmunr+zCgA+LxeUTS1uJ4Jlub25iUyzx127EwyZYTOLEmFPQ3XQ1dsbdrW+7zOCAXVQtUhOig9snx+akVce/vpJNAc5D291cIDyclNuQ45O65yYW9SmNXpLGsZHxQhSCviQ8dcRTYtwDYvdxqda+NGuBZF0MnB8TpUics0HhfAYMI24y3Hui7L9uSkLSnxGkUqszsojg7Qd4gsnvKhb2/UU/CSnctyHjpOqykeQL5S+KdNc1MJQOagSxAM4Xr04rn+SGjyJFSYjc226nqA9J1QIV7gIqezO4M+HTv4edhTqVo9GDRPeDLMfjW/ECQyyq4D8imE9aIHGeRisM92nc1cawPfIW+M9wXK3hBj4q7OFBNZbBnpH310J37YhpVB9X26Po9WCrnABoyWIt/8hUH9xbyB/vDlNUbf/ZK4cMcafXqODgQrA+6AbWrihjdaE0eEOrt4MZCtZUQPYwaQY9tmEx1SmAZwTKSUUv6J5TT0bget47bpF9BYxAq7RaG1srDw9TRQVCVZSsrDmtcUvyF6Y5ht3alwm7CNRM/Y/2szhIhDT1WzERtTqlnAbTJUJoiLKORZeYZS7p7HkasGesxs9/KmxXZfiLQx2H9HznNOmj6A7pjMHrwRJUHEzGobrBl X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM7PR04MB7046.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(52116014)(366016)(7416014)(1800799024)(376014)(38350700014); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: MENa6s8bwiKFc4gjeI9bMwvph3lVm8mtJ/YgMh1PqzOQjzPU8XVdrwvCUnPeSsLvEI14+X0zzeZ1CbfDBECY0l/2xNUI3YEvNhvD1uXeHnMO6j1Bwoh5d00PQiGBuWKwrf41bcmFPjDzmXZV1vQTajrYayfArJjEsHlaS4OuM/6JnSpn4Q2SQ//ho34hGxPGZJOeKHPbtI0CD6UqV7DBb7VhKQdQpG1ecbACatkkCVukMi9fctJQHr42RDIPhRBJyNSV20p1GqcMdvl9fCHMvd1EOg4IS7hsk/kx1Oq0D1zIXP1jv+k2MDVrIfwFLY78AqWGc4NoHOjSqFGjIjQPaCuTQvoNp6y+SZ2zW6QQwMHNCg5R/eegT5mTwOto3Koc/OGtwbYMHuvwfW6wIjp5LdJOVft1+4r/3gJ2Yw9VIYnp8IrXVGjZV6tuoQ6iDWaGNfIMnG2svpKxsMYIGbsMrrqbaK9By9sWqAsFJDhK1J4U+OcStV6oLfbtlzXAYXj1N4EL5FDl3iTe33nkERUCqFkG9ThjKLJVxdB44zlFINgNCUdBwqM8myB5IllL+bYYa5YX+6HgmEIHp0a1H14MNmw3QgxrFaApCE5leQm23Y7pFJ3xtm7QkQl+Cf/LVXPa4vPpKQhC4F2E4yE5tHKzdpJgeWrEs+SctrEyPtnOn8AxE2kbg85NCI/ftEMga0/Xt/WeNV2ia6G+l4orZjfXz+aI4mVuufqc4zFo2jmjZCGph94O89FgEC3YhFiZFHWeLaeJg7o/kr+kD5+CMINRbxLnbFzKabAQpFtpG2JhXVotgEnwbYZnYsjJCno2wu3ORvWxlbzNp8lheCm5E7sj/use1Fa92Gc5WFFyFsUlYyACUZCV9QOodmBqq0scVJCNEv1JX7gciSRk9vBbUBDBikh/xyLklFQ4S9hGBONHoP5NBteJfj3xIw9w6SRPapCCDqHVMylsxrZXpI7L8G1A8A8H6ZlgDxtpRhTL4EbdRcDp8D6sUlBqBehyZjkDvQFdNBi3m37fGM8VROJYZuE8SXoqj2+GRE60EciRnq3a/umLz8GNx1XsgWGHfG155YxkpOjivuqC6kqYMiCdi+YXyuy/HU7Vb/LxYNTVl1720Gqej1nYduCs5h6HBOQQ4bjeuGjdZ6w+W1IM7SIrBLZJwY7XyVFWobchyFVQkWhe2f5xxa3pVASyJCrvc2U5inKsnzqCz6NRFyoSJM0IA9OrRaXhS3LUPeOfF1BQP3bG6/SBWud+NCQac2OFJz4KGmkFoy3D+G+sG76cBW94vE2puaehIEsEmZA1zOqrf8FX1N1v1Wfi+ezhEDoSNy95ByJFq8Xwhj5/OecxPPLI5F6202o7oy8AyyozeE9J9qCHylqqwYgT31OYkAFQxpIgah9P32lnuG3QIQzdCVsXA/q2CExBMYgZS/rUjCaFyNLX9rVWQc7uXiXRH2OD7rfLowcLrhn0odYF7fwj6sBBD5UpKuAa43LqwKmMUhTJGtf2dXjpVB9ORRZv0k1C2WNEoNDZZR05uElsPwFa6Wusw5y4Og/3US6lPgXKNH4EZqqq+AjpQ1xhR0haQvvp8QFhOR+q X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6a2647bb-ab43-405a-9d83-08dd5b056527 X-MS-Exchange-CrossTenant-AuthSource: AM7PR04MB7046.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Mar 2025 10:14:48.8784 (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: w1rrN6FQ/6/CiEHjx84tq7c0k1XDxHSS7u/57jKvMgReSwWCXWb+M3Bukzu/6fNNloWi14L/uyevXivywSPOXg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB9868 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" A DPI color encoder, as a simple display bridge, converts input DPI color coding to output DPI color coding, like Adafruit Kippah DPI hat[1] which converts input 18-bit pixel data to 24-bit pixel data(with 2 low padding bits in every color component though). Document the DPI color encoder. [1] https://learn.adafruit.com/adafruit-dpi-display-kippah-ttl-tft/downloads Signed-off-by: Liu Ying --- .../display/bridge/simple-bridge.yaml | 89 ++++++++++++++++++- 1 file changed, 87 insertions(+), 2 deletions(-) diff --git a/Documentation/devicetree/bindings/display/bridge/simple-bridge.yaml b/Documentation/devicetree/bindings/display/bridge/simple-bridge.yaml index 43cf4df9811a..c1747c033040 100644 --- a/Documentation/devicetree/bindings/display/bridge/simple-bridge.yaml +++ b/Documentation/devicetree/bindings/display/bridge/simple-bridge.yaml @@ -27,6 +27,7 @@ properties: - const: adi,adv7123 - enum: - adi,adv7123 + - dpi-color-encoder - dumb-vga-dac - ti,opa362 - ti,ths8134 @@ -37,13 +38,31 @@ properties: properties: port@0: - $ref: /schemas/graph.yaml#/properties/port + $ref: /schemas/graph.yaml#/$defs/port-base + unevaluatedProperties: false description: The bridge input + properties: + endpoint: + $ref: /schemas/media/video-interfaces.yaml# + unevaluatedProperties: false + + properties: + dpi-color-coding: true + port@1: - $ref: /schemas/graph.yaml#/properties/port + $ref: /schemas/graph.yaml#/$defs/port-base + unevaluatedProperties: false description: The bridge output + properties: + endpoint: + $ref: /schemas/media/video-interfaces.yaml# + unevaluatedProperties: false + + properties: + dpi-color-coding: true + required: - port@0 - port@1 @@ -61,6 +80,44 @@ required: additionalProperties: false +allOf: + - $ref: /schemas/display/dpi-color-coding.yaml# + - if: + properties: + compatible: + contains: + const: dpi-color-encoder + then: + properties: + ports: + properties: + port@0: + properties: + endpoint: + required: + - dpi-color-coding + + port@1: + properties: + endpoint: + required: + - dpi-color-coding + else: + properties: + ports: + properties: + port@0: + properties: + endpoint: + properties: + dpi-color-coding: false + + port@1: + properties: + endpoint: + properties: + dpi-color-coding: false + examples: - | bridge { @@ -88,4 +145,32 @@ examples: }; }; + - | + bridge { + compatible = "dpi-color-enoder"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + + dpi_in: endpoint { + remote-endpoint = <&dc_out>; + dpi-color-coding = "18bit-configuration1"; + }; + }; + + port@1 { + reg = <1>; + + dpi_out: endpoint { + remote-endpoint = <&panel_in>; + dpi-color-coding = "24bit"; + }; + }; + }; + }; + ... From patchwork Tue Mar 4 10:15:29 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Liu Ying X-Patchwork-Id: 14000353 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 gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (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 CB676C282D0 for ; Tue, 4 Mar 2025 10:14:59 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 4D3BD10E55B; Tue, 4 Mar 2025 10:14:59 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=nxp.com header.i=@nxp.com header.b="dJNqTMjS"; dkim-atps=neutral Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on2066.outbound.protection.outlook.com [40.107.22.66]) by gabe.freedesktop.org (Postfix) with ESMTPS id 96A6210E55B for ; Tue, 4 Mar 2025 10:14:57 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=xmVPQ/2qaTzS4qm2IDhAQXO+an0WePoeji/r0u95HXpuVp4jBM5yieBez9vH9BiRtb8R/rbtgD8yxi1NTUFWkY8Lmgk9la5dHjNTgMq84f9agsJy0p2+R/wvyckoqiy+k3qz/Y3sUtEmbPP1GyJZUgmAKi8fFz3SLsnfL3eSjPBgNmUCz96KxUcoN2XJToTMo2AV7kdcHotO8zc9bjMilkyzoxQjLiPhdo/LWGxzXGxfEN4dbfVkiyZlu9ZQJw/QxHYV+GOjYSzBjCH13ONgLXZpE5BHbEHTyHX6wV8sb4Cyk8aT4AjBoMZu98OR6kjx14jceznhrqu4tAf+366tEA== 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=zmOF40n0foEyJJGtkAGLeeNuAeyqcsbAHS+FneWPCQw=; b=JLC9EIkHAoWDUzmV862hUpLWZ0QkLwXufzoIssqEApD4hpcW/ksoQFiRXWeZaApCRJ7lpX68xdOx8doUsC2Tb2x4Bh0t/REHGFbPxe38dTFmyxUJ2zpiZUJnXq/rXo382MZt6BTGEhfjovOkW8NRQ+hnT/62VBSx3EmrPmZJYSqn+a7HtdJ2H6cAwmzeqhTo4fMFJQGkqmpzhqs9ZAxCV6xEFpu3JWpnbJjRXUNQWSgopDv12TodPvRG049lIGyUGQ1OHMHm6ojIkDTLBpRwUSB2OHml44TxUHTtT8TWTPd3Uh6AB8JiNZH9i+m5+VCJxwUDIWwOh3O2ZRGXW7IxfQ== 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=zmOF40n0foEyJJGtkAGLeeNuAeyqcsbAHS+FneWPCQw=; b=dJNqTMjS0o81bj+e+GWXXnIM/XhH04v/0+e35bRI3dme8C3XJrgNDziAydff02fFShGi9D3HzqFMKd9Ev2W5eOkc6XmYbBWbfbGrDS/atHSE0sRZCFVIS9PNMGPRdvhsYODlIeJZhxHIRwcJiu+PcK1sBo+tEBU9TNfnG8mOun2mYDp0j37+lwxSUGR98fNV9gQFqIM6m/pkYygXFI44ZUvrZwKcW5WDFvqjJOPoa2BJx3g9q7yUkrrCla7c3JqIcJLRAlyzSOzGvMmJ2NpunTgJRCx2N2gTyKbPrhPbliOBQLAEhxTd/MhnQNoTfR02+4etdSs5IQI3GZuJqdccgg== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from AM7PR04MB7046.eurprd04.prod.outlook.com (2603:10a6:20b:113::22) by DB9PR04MB9868.eurprd04.prod.outlook.com (2603:10a6:10:4c3::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.28; Tue, 4 Mar 2025 10:14:54 +0000 Received: from AM7PR04MB7046.eurprd04.prod.outlook.com ([fe80::d1ce:ea15:6648:6f90]) by AM7PR04MB7046.eurprd04.prod.outlook.com ([fe80::d1ce:ea15:6648:6f90%3]) with mapi id 15.20.8489.025; Tue, 4 Mar 2025 10:14:54 +0000 From: Liu Ying To: dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Cc: robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, andrzej.hajda@intel.com, neil.armstrong@linaro.org, rfoss@kernel.org, Laurent.pinchart@ideasonboard.com, jonas@kwiboo.se, jernej.skrabec@gmail.com, maarten.lankhorst@linux.intel.com, mripard@kernel.org, tzimmermann@suse.de, airlied@gmail.com, simona@ffwll.ch Subject: [PATCH 4/5] drm/bridge: simple-bridge: Add DPI color encoder support Date: Tue, 4 Mar 2025 18:15:29 +0800 Message-Id: <20250304101530.969920-5-victor.liu@nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250304101530.969920-1-victor.liu@nxp.com> References: <20250304101530.969920-1-victor.liu@nxp.com> X-ClientProxiedBy: SG2PR04CA0188.apcprd04.prod.outlook.com (2603:1096:4:14::26) To AM7PR04MB7046.eurprd04.prod.outlook.com (2603:10a6:20b:113::22) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM7PR04MB7046:EE_|DB9PR04MB9868:EE_ X-MS-Office365-Filtering-Correlation-Id: 443931be-a59b-4772-ca04-08dd5b056845 X-LD-Processed: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|52116014|366016|7416014|1800799024|376014|38350700014; X-Microsoft-Antispam-Message-Info: 4Jrj4ML7qb8W6lG7JoBJ2O0odMfGB6K2mGjJpt89XX5yG1W7c+heZNQLxEj2Wnh9etin4CxnKAxwBG71Of0P0IUt4jiiUq74rRIStVvEU97XuTV69z6C5EltJmfdzT7b0NcUCUWKUlCFeeS0SqZmJ4sBCyZB/OreVZDMXLL+sj5dx6ANE3BJLT6Hom9o14DyFdVlwAie9fx6ASJoLUTpWssgH0qkCy3H1AGUIXrTVOSaepecrX5H3C2UvCUdxesFs7Vf/fMIfD0lQveQb0CdZwS7bhBzm1dUuHlgMTM09FmrX+MAg//VTjWfDV6t3NTGg5WEWtw6FxJb3WVsLwQVwxjp9FRn7CNaTwlHdrs0qKDYHV5x0yhmlaTRaOYxfS3KfSlI4qd0nsYwqP9SfLYXf69DYvIPHHiZrt/qlQAEmpDQDLGJp0EVYV+gcQzFG+CRXRfzg3xOUxPWpQQXBX4j0oe+Wfa2omHaDf/UTtAiEZDrKGY6/Q5DMDLKlY3SJmYWS7ni5SgMXkZs7G5p6Bryg+Hi8PPuFw1Jw+v0/aAZ7bEqUmV1uj094B0rC6dDcZLkPzraT1oiyQiXo+DzDmLSy5VTVzvDi3B23MBnrCkdEMqewEeR/4n4u1VVO7nBTV0tQXbB92BWid66EsJIx+Hmx5qyH9xMWauiMPj9tBy//NQj54+x+eX1a0CDPBUBGLJTIPAyWEv7dBlobB09UT/cgCWfs45rxmMC5H/uFJe8UUMb5g0vJJmLjhpPPKONah06eFOvC7Gk2AV4tV77D/lnHr+aznwxGAavhGszO8kjUBJB/AS7tQMGLmi8tmjcDwQrYz8zoggFhZrMVAETP2TCVjm1JUJVUdgdhgb9hsK5am6PoW63oqVOFO9MRwELcbUf59WfXB/Q9TQNedAjEmaw/AgEzzPHAseLki+96R93Hd1/R8Rrc2dK/RnTl16/O7vyGcTZlBapDTvyKUsyhPls/I1zcbyNpW6C79h9sA21oW3yfFCR41Np6tvBztwebRlsWLc4kGXiehZCzacAkAkhyN34Y5jKwZSmmCgZ45CsSy1Qx9kZ/e8Ql+tCg1lVi4sdx0eejwY0JJMXdssENVJ70IxpX4yuiW+QhrOFOu6p+dKNXi+DGEPp1Q+94T3bGH7xQ4/f2LKXhdbc+8X8AeOKLg3h4kN5ZX2uhz0Yof9knrY3Zu0Cz336T9kYRRmi0t/F4dnshTAGhJvmhI9bBCN9Gu87bclK9lINaY6ZfLdiNT0GtgaNaHcomHbsvFsDIf1PZkmGyEJojoeQ3PhLVY5avk+vxlis9IveD2RCh5PoyvQhfpmGsMckoPyEa6IRBlbkjbMINiUolInW36PaGTkLZD+C91XLJrFEddbntln3q2XSgYHczdcDGUYfDKCCw3Eq X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM7PR04MB7046.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(52116014)(366016)(7416014)(1800799024)(376014)(38350700014); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: lqKQXak1S6sADSJ69sRKQv7iwH2HpVqhKQhw2vDtYe9X/hRPqXDB7rch9NaRlaq/EMBebV1FAbJBZtYAp5AmlR6xZBD2uSl/VQDKTdthNO7xbNupiOeJMHs5IOm5wqxjl2QykYqKLhgytI/6sd3usURo6LTuB1TBYGmGYSJn1cqfxtx8exBHnJkS89swVotrGcd8nbtiszyi2wIHvE43pLV5HGGvTA6oNhdPiDBl2xhUkhIiyK7t+xiJY6QNAZdKzypgKpohMuxPFbWDspHcY4DCpbDcZRvxlh0QHIQCDkSkk4exQPbym8ZxxLbx+XTRZ/JAvK6qMneG6k/IfJR1XFrPo8K0eJhyrOKnvdvjy4WsITm+wuhq1Lv7kgSwAI+qcDKXEnLEJ0A4KFP7SA/eAgShAj5AlhBC2N2habPE9ABeE/b28RYjCY61QDyh/Q6nKv+14/vIX+QESMxGjBtlepeu9wzHS9SAXWpfRwJdTL+002VfA8DsSrGxlYIH2UXst0yMWY73DlZUgfYdfREOWkUbj1Og6jKAytGQuYpqJwyrcoNsakBjO6hFhD0ifTaQkvFAUKu7+S0iajfxSJQwI0oDFXmJrdWbxOu3xHjQNL3dZ1JRM9OwwTQ75kdUrGjfpmc4pIeVPTF+m9MEl8ku7wVPpPnFMWR1gTTP8cw+1ehGrFrdKZXesYJpifcDYbIeF05tfk1LxbyMpKmrMMWxu85QpB8WQTNEZL9lcGdLujodfoq1ynDguueIjBb54n2HucdoJY9Sl+RPQZKgjojFEtvSDKmwRmTceAF3H9m0sEzK6CO1BgdTRivm/XLlnJhhNfGSKUpK2NyGkHlW2x9RFFhF0Eq7nZ5QnSYf3Rt3QFTDfVeWr7ltT6c3DCfl+AEXvdG3yNA8qctD8VT1eAVvUVdQDo8k56F4Ko0Toz50SLN9COXrxBSuw+J/6urRg9bxEyoMDYvZUf4RTC22VAT2K+Ty+6xKvCeLeHMztKEAU0ubkjyPKvKLoenLyMTXAqsmneLs8vEeld52q4cRBjUggV2BKmRHgFz0eVlDHbFFJZQ7LYDwP9pNYGOMadtPcFTsnl4zJIyZrtRIpKRfToKoBJdTWsY55VZ10YBxe/qaTDdvtFH0lfE9KQYgfDOylUZGTm7QdKf0hfQmG8ElM/1PRQO/Lw6Itf/rCCGix7zcDCu9SDJ5EHdZvZ/s/f7Cmkw0KVbOiFoRFbA7frVVDC1es6xqxDFkZQO+ayA4j9vjOeg6WLjQNU8BLqzv1fdriZm+BavJLSA2tkINsgr5Y4Jd3Sg0WctJtRgPuXGp4WBUU/5IluSb8625pheDShtVnZFmfiZpayT1ueJ2S0CWM73mVxijsa5OOiZinWGJfVpMxpa6j8PwULPW4lHY10uAza7Z4aWSfR1yGsbMcb8G/pJPlbC/EzECvf9t70R9Panbs8QVIbjYU23EKtqv45I7nTQHKT2uneIvCj3LviPgfv04OTFb0519QcopLMygoWWDyCMI3/FdYrwI7DWjqVu/oNSrJRnCMWNchUx3hsznfmNMjt/G6gxKuc4YhHpJzq8ax4qJO1YVB3FucIpIELZl63ew X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 443931be-a59b-4772-ca04-08dd5b056845 X-MS-Exchange-CrossTenant-AuthSource: AM7PR04MB7046.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Mar 2025 10:14:54.1908 (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: DZRz4CLw7Hvicnr2+PCZCi4g86MChdjvGRF5w7KTdRqGQyCQcYipy7AoWXOKJrj+a3ww6Odz9I0NBq9Ti2vw5A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB9868 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" A DPI color encoder, as a simple display bridge, converts input DPI color coding to output DPI color coding, like Adafruit Kippah DPI hat[1] which converts input 18-bit pixel data to 24-bit pixel data(with 2 low padding bits in every color component though). Add the DPI color encoder support in the simple bridge driver. [1] https://learn.adafruit.com/adafruit-dpi-display-kippah-ttl-tft/downloads Signed-off-by: Liu Ying --- drivers/gpu/drm/bridge/simple-bridge.c | 104 ++++++++++++++++++++++++- 1 file changed, 102 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/bridge/simple-bridge.c b/drivers/gpu/drm/bridge/simple-bridge.c index ab0b0e36e97a..c0445bd20e07 100644 --- a/drivers/gpu/drm/bridge/simple-bridge.c +++ b/drivers/gpu/drm/bridge/simple-bridge.c @@ -7,6 +7,7 @@ */ #include +#include #include #include #include @@ -17,12 +18,14 @@ #include #include #include +#include #include #include struct simple_bridge_info { const struct drm_bridge_timings *timings; unsigned int connector_type; + const struct drm_bridge_funcs *bridge_funcs; }; struct simple_bridge { @@ -34,6 +37,9 @@ struct simple_bridge { struct drm_bridge *next_bridge; struct regulator *vdd; struct gpio_desc *enable; + + int dpi_color_coding_input; + int dpi_color_coding_output; }; static inline struct simple_bridge * @@ -156,16 +162,93 @@ static void simple_bridge_disable(struct drm_bridge *bridge) regulator_disable(sbridge->vdd); } -static const struct drm_bridge_funcs simple_bridge_bridge_funcs = { +static const struct drm_bridge_funcs default_simple_bridge_bridge_funcs = { .attach = simple_bridge_attach, .enable = simple_bridge_enable, .disable = simple_bridge_disable, }; +static u32 * +dpi_color_encoder_atomic_get_input_bus_fmts(struct drm_bridge *bridge, + struct drm_bridge_state *bridge_state, + struct drm_crtc_state *crtc_state, + struct drm_connector_state *conn_state, + u32 output_fmt, + unsigned int *num_input_fmts) +{ + struct simple_bridge *sbridge = drm_bridge_to_simple_bridge(bridge); + u32 *input_fmts; + + *num_input_fmts = 0; + + if (sbridge->dpi_color_coding_output != output_fmt) + return NULL; + + input_fmts = kzalloc(sizeof(*input_fmts), GFP_KERNEL); + if (!input_fmts) + return NULL; + + *num_input_fmts = 1; + input_fmts[0] = sbridge->dpi_color_coding_input; + return input_fmts; +} + +static const struct drm_bridge_funcs dpi_color_encoder_bridge_funcs = { + .attach = simple_bridge_attach, + .enable = simple_bridge_enable, + .disable = simple_bridge_disable, + .atomic_reset = drm_atomic_helper_bridge_reset, + .atomic_duplicate_state = drm_atomic_helper_bridge_duplicate_state, + .atomic_destroy_state = drm_atomic_helper_bridge_destroy_state, + .atomic_get_input_bus_fmts = dpi_color_encoder_atomic_get_input_bus_fmts, +}; + +static int simple_bridge_get_dpi_color_coding(struct simple_bridge *sbridge, + struct device *dev) +{ + struct device_node *ep0, *ep1 = NULL; + int ret = 0; + + ep0 = of_graph_get_endpoint_by_regs(dev->of_node, 0, 0); + if (!ep0) { + dev_err(dev, "failed to get port@0 endpoint\n"); + ret = -ENODEV; + goto out; + } + + ep1 = of_graph_get_endpoint_by_regs(dev->of_node, 1, 0); + if (!ep1) { + dev_err(dev, "failed to get port@1 endpoint\n"); + ret = -ENODEV; + goto out; + } + + sbridge->dpi_color_coding_input = drm_of_dpi_get_color_coding(ep0); + if (sbridge->dpi_color_coding_input < 0) { + dev_err(dev, "failed to get DPI input media bus format\n"); + ret = sbridge->dpi_color_coding_input; + goto out; + } + + sbridge->dpi_color_coding_output = drm_of_dpi_get_color_coding(ep1); + if (sbridge->dpi_color_coding_output < 0) { + dev_err(dev, "failed to get DPI output media bus format\n"); + ret = sbridge->dpi_color_coding_output; + goto out; + } + +out: + of_node_put(ep1); + of_node_put(ep0); + + return ret; +} + static int simple_bridge_probe(struct platform_device *pdev) { struct simple_bridge *sbridge; struct device_node *remote; + int ret; sbridge = devm_kzalloc(&pdev->dev, sizeof(*sbridge), GFP_KERNEL); if (!sbridge) @@ -202,8 +285,14 @@ static int simple_bridge_probe(struct platform_device *pdev) return dev_err_probe(&pdev->dev, PTR_ERR(sbridge->enable), "Unable to retrieve enable GPIO\n"); + if (of_device_is_compatible(pdev->dev.of_node, "dpi-color-encoder")) { + ret = simple_bridge_get_dpi_color_coding(sbridge, &pdev->dev); + if (ret) + return ret; + } + /* Register the bridge. */ - sbridge->bridge.funcs = &simple_bridge_bridge_funcs; + sbridge->bridge.funcs = sbridge->info->bridge_funcs; sbridge->bridge.of_node = pdev->dev.of_node; sbridge->bridge.timings = sbridge->info->timings; @@ -253,29 +342,40 @@ static const struct of_device_id simple_bridge_match[] = { .compatible = "dumb-vga-dac", .data = &(const struct simple_bridge_info) { .connector_type = DRM_MODE_CONNECTOR_VGA, + .bridge_funcs = &default_simple_bridge_bridge_funcs, }, }, { .compatible = "adi,adv7123", .data = &(const struct simple_bridge_info) { .timings = &default_bridge_timings, .connector_type = DRM_MODE_CONNECTOR_VGA, + .bridge_funcs = &default_simple_bridge_bridge_funcs, + }, + }, { + .compatible = "dpi-color-encoder", + .data = &(const struct simple_bridge_info) { + .connector_type = DRM_MODE_CONNECTOR_DPI, + .bridge_funcs = &dpi_color_encoder_bridge_funcs, }, }, { .compatible = "ti,opa362", .data = &(const struct simple_bridge_info) { .connector_type = DRM_MODE_CONNECTOR_Composite, + .bridge_funcs = &default_simple_bridge_bridge_funcs, }, }, { .compatible = "ti,ths8135", .data = &(const struct simple_bridge_info) { .timings = &ti_ths8135_bridge_timings, .connector_type = DRM_MODE_CONNECTOR_VGA, + .bridge_funcs = &default_simple_bridge_bridge_funcs, }, }, { .compatible = "ti,ths8134", .data = &(const struct simple_bridge_info) { .timings = &ti_ths8134_bridge_timings, .connector_type = DRM_MODE_CONNECTOR_VGA, + .bridge_funcs = &default_simple_bridge_bridge_funcs, }, }, {}, From patchwork Tue Mar 4 10:15:30 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Liu Ying X-Patchwork-Id: 14000354 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 gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (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 E97E1C282D3 for ; Tue, 4 Mar 2025 10:15:02 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 5C2F810E562; Tue, 4 Mar 2025 10:15:02 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=nxp.com header.i=@nxp.com header.b="e3MnPn0r"; dkim-atps=neutral Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on2055.outbound.protection.outlook.com [40.107.22.55]) by gabe.freedesktop.org (Postfix) with ESMTPS id 7864210E562 for ; Tue, 4 Mar 2025 10:15:01 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=bHrzSHmbVEKj/FZSxTDwl6GWpG38rUlWG2euuRHy97rxxOWLpwIEtL82DFdh5G6v/phOvKIkNFZT81zOUJzw4xkE+EgI3byTUBsg1U4eBJkXs9Jfx96WEdHrSkvykiRdVH/tz9i+9VE6YVJidljONrgqMrLyHi8UIIe7cC3hVfMI+ZSZZcl9vUzL02WP/gtMvIpPo6ePh1/iq3FyDUe4ykAntC//qZWD70kqhsI8alzggSP7gcluHmk+f2zJqVct8e96jtyOraZKpAuLoNL7dosVUh9xbJ/8yh0XZJg97NrZ2ns2v+x9GZmSgsNjD2AJ0qpNNsQKtIs5/c7JSyWACg== 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=mJSDHRgqIhAV5McM9Ea4GDHgePdURwrsqUQF6kOTf0Y=; b=GgzMaEyudvE4jU9eJn5JsMg7YVuYdQ/sfK8G8QxwHDpVAmkO0fwiiWs0aWpMmLoqo/kkzJXPHNEFUT+3Ohm0yRkfOBUaO0HFcKsITRnBPLO5vuaqrO9vMzdR/IIuDikbb5hiaNq43zth1NHDuoby2CUvNnm0s6JfwBxULw7xyaL85v9DCMhIg6Wr5ZYRj/3SvU6Df1eV99D9b6TBQzt+8XfXmFhoLeeK0hjmojyK9do/AqTKogILrFuqJBhdyrQTp1ZCqB2ky0yOZ1kQXo91MxE9wG/G06Svh2j5vQ+3PwHxOVedYpUtjIkHelKz+a0BXA+cQHeSKvTwo6mxuCWo6w== 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=mJSDHRgqIhAV5McM9Ea4GDHgePdURwrsqUQF6kOTf0Y=; b=e3MnPn0rmGjgjFgZ2gEq/UPD29pq6YBRMqSYekKVi+uym4sUE/fzQKoEaHO2pxVnDSRIRrYHQIvLNo2thzd0Is3HI2PaZwXN1x5tin6qKUr+0g+4vUlmsGYtcqQu2qV209fAI6BwTMonRnhst/o4EtEnh2U4NNVpJa2Xr1iGSiZ0l0ljAbGYL1NhLsTFXaWSi0V4cRQ8sF0BlDt08N+DuZhNfFt1fyZMkuqWJfvZpQYcyht+IbHeKd33luLzUbN40fMISYMM4gbx4zIGQ1+HwYdbLH5NgX73KsVqTQf3t4bwinruc+6VcUDNeU3REIJrfDwAu9rXaEB/UziB/+1JVw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from AM7PR04MB7046.eurprd04.prod.outlook.com (2603:10a6:20b:113::22) by DB9PR04MB9868.eurprd04.prod.outlook.com (2603:10a6:10:4c3::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.28; Tue, 4 Mar 2025 10:14:59 +0000 Received: from AM7PR04MB7046.eurprd04.prod.outlook.com ([fe80::d1ce:ea15:6648:6f90]) by AM7PR04MB7046.eurprd04.prod.outlook.com ([fe80::d1ce:ea15:6648:6f90%3]) with mapi id 15.20.8489.025; Tue, 4 Mar 2025 10:14:59 +0000 From: Liu Ying To: dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Cc: robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, andrzej.hajda@intel.com, neil.armstrong@linaro.org, rfoss@kernel.org, Laurent.pinchart@ideasonboard.com, jonas@kwiboo.se, jernej.skrabec@gmail.com, maarten.lankhorst@linux.intel.com, mripard@kernel.org, tzimmermann@suse.de, airlied@gmail.com, simona@ffwll.ch Subject: [PATCH 5/5] drm/bridge: simple-bridge: Add next panel support Date: Tue, 4 Mar 2025 18:15:30 +0800 Message-Id: <20250304101530.969920-6-victor.liu@nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250304101530.969920-1-victor.liu@nxp.com> References: <20250304101530.969920-1-victor.liu@nxp.com> X-ClientProxiedBy: SG2PR04CA0188.apcprd04.prod.outlook.com (2603:1096:4:14::26) To AM7PR04MB7046.eurprd04.prod.outlook.com (2603:10a6:20b:113::22) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM7PR04MB7046:EE_|DB9PR04MB9868:EE_ X-MS-Office365-Filtering-Correlation-Id: 1e06c5a3-bc35-4302-d5f1-08dd5b056b70 X-LD-Processed: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|52116014|366016|7416014|1800799024|376014|38350700014; X-Microsoft-Antispam-Message-Info: mmi1NxmNmAb6RDhuFt19ZQVliSAphHE64y+eRC8flGLPiMDIwdo6/+A6K3XBNkuv45tYa9BMrvDDrnMNqtFpi19WdyLQTvQAHELveeRRZUpG6yKpVlN0ysO5cUdjtqI9ctCpEDlsAPHxFuDqVDKS6UTx84l1COvScROwp09NYiD/QulpgWLsFVQ3NCDnkV2bVAgWvV/xnoWYgoxBro1DAVhfwL+vXUNXmzGXwOTTML9nXkDMS7UdsSB+TuZMieSj1DPt6tIJ85J0qDP1Nl2yYEQA/YcktDMud4W06p5W6sDIMwMWFVtAV8B0esWoM+wDbccxNV8UOWgQVfnH3C1kbV1Gz5sjzjo4XEDnSJT29Tru5ByWfCEw+nXDjnJGQYyKAA/YX6fmX66eFDK9y5LM6hY/6VxdnF0Q20dDAc/WWXoKDJXE6oAE+a4Y8qkFLK3nUF5gyL/niA36M4/KgdAxMJx9ZA+/dBWYrmw1XVy+JvwrChqaDpZSyRC/zLvxsmhENv38Gd3eN1IefqYcU1+yr39bbRKnFyGUSTi78yw78sy4B+EJq1ZYkzbsyrCleD3AKwHxL9leFkHBQYnOk6SFMdUP67j6/SRCrfZWEwsa3SgESHOp9JI5RDJH+78ImdkFlgqjKutG0I5IISVxWGetwWRUIfbw/rqKioF3RIxD8xkoemHySXtyNXOm74UQJKjb+c6XRvaFHhKiItLxoCRpgJMlJHevwf4DYTiDYW3yl4fLqCpOI/sxTfdmzxHT/c0KYbH0s0vxdU5nlnXsPUJmVStaHlvM6i+2RlzzhykdZtX9teiTt3yi3DTqAeDVgdLPyAD/moLW7Qsn+oVWJiTue2YQKSVhMkBvqD2D5j8zeE/q7kLxJVDXwGP1k+id91A5Ivs16Jg2dvxlwSQpXTMdeE/jl7ac1bPleQFAGy1u9PJvchBTxFWW2UKs60aLbLqqM53w0Dna+Kbgz/9PUczQVXYIcVF5cPo7Ed8QzXWGnRZDBj5ZR7wmMwrTMZB2NogO2SO7usxLaDhTFrBSF8xbT5om7LEhu+Ehp/zV5Hi+vIHMpij3m6JXqvNjkmZSK/0II+mcKlsM+QDwXRzvrdM3fwyMOZtq9wqdi27Re17yreRwN2To6GYA79V9klkLPDhhHjkWUraJv/A5B48dKJBJGUDXx2OYPenrq9C56HZDFC3GvxorZZQEcn1JVKmaYSfAHGX1+jObaG9VvsnZFjrfmDKfoJo9vuEvASJNIhHynpLt1TcdRHq8C58NXmp2N51Q3SRuM3c2v4uX+AI7gXY/5YY3/JXLHqN5AzSoqZmwG0MLbE7BkZFx2s6aR+CIj5wTi2RoquFrPf2isjSXetCRkkKa63iDVeA+vPvjvgJdmEZQXqAv3DdrpUOkPsp5YT/if2YHhOExxaEEW54rev3bNeOeYP0IYfmbcTojLQLdPXm9fJrHwlRlB01DD3Uz3F7/ X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM7PR04MB7046.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(52116014)(366016)(7416014)(1800799024)(376014)(38350700014); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 9emBCAUYFQNYUdvF22VpUWcNcEmfTQHfxVtxfAfKOBll1X5b3sms+iFwOhjbFfk+JE8YsdmfCS3XttlE9T0xGSZ2j8CPpbDe10IeFmerDym+hEYyqZpHhIxnqCpAP0auD2ijHxcUspuQSiNw5Iz3eOquVoYwDpybyQdJ6zFqC+ZQvkVnPXV/6+YQCMP/5dehSbDWr/90v05yobtT9/1pWdF8aGcx2WBi5ZYCPUyCmuAG19fV46RX8O4acVDZky4HVV7zBe+OduPiq4mUMMK+v1RsYg/yuXIm3q54SQt+ncVR4bF4hW7GLRzF3LShBx0UtN03PuY5qEaI50xzQ7wSym0sf4Kqb+QTrHTS+vUrozpOxqwYhbt07Ezt586YN+71ssKeq35Ok2JEfET5baJheox45cNi8nTkUb98t6rQrW/5R+/mvO9yqiYs3BVrVuuJ+POpD9hTVa8C8WSpntX0ldjI2pn6k109JZsObB3yRUphhrz5mqQszHsjlZtG+1HLcm+stmdxZM9GYOy1HBcaMJNLsyz6dLW6gwEGrEcxEEzghvqwCQcO4NpsL7rOCBmVpj6aDHhk4FgjpSdbfJ2EZUpH/INb6mRLBlvT0D8wv/G24LfKn9k++ZldpwX+GDIIjwlqhJVI9lqO51065eD6bZvM7b4u5Pgx+uVpcaw3prheDG16tvjTlp/JJhTtUNtPYdp6xH28dKQpJjGkYV9O9OvFjkYDvcc6gu01zuY7h9FanqYj/LRexpqGplsbVirx1SozuK/KyHJhpaxNyAUNqH5UKrPltzSKD0HiC5k9Vs7qcvRbJHBdFc4f4SzS0fsbUOCaUUVJn2HNW+1mGMU+1z7pcT87XPrpJ6+saDUUxw5OQKCnMT6h/KO2ziAo72urcnvCcK4RMucFHdylejKisZgpjSag+YJm1MwXiM28BAwhP9iPlRWPOjYLemGwXQYYfrcY6feRGe8X0Hy+WxkMjvIBq0EUmAhnDq1M9BM7fLpdZ+L5q8IZ1hzs/Q4dhKNg/siF/6TlxazVG3GCePOO8P3qPkcS1XA7S/dOhOm0qgZwMHjVSug9OCM3s2Ufs+D0pXhOQwOKt22PeCKa+3dEtmV5b9KpMLAKzDamX2V1VhrjgihiNI8YGgSzVCyEHqBbElJGorHNSyZVzJKLaAT2aI6fcvEFhUfKZsWY5nOI0F7HPU517pj78zY1QImF3SuF+LJHUGDssYZxWDEkSB40ZPHUF+g4Cju3TWd0sCFpwDobpPJ3lFjJFH+LT8Qsq8N3oc0i+RfJpe55qAW+yms+1fRZTCLZb/fl/8EIKlTALJ6e2CKFRuu82hx+3xbbuuMn378lWg5+Av4SmyvoBIYaAzWuhC24SKBFLG1E1yRm33B3zgH3aO0r8nYg8WluCnDtZtiMUFNXpfleFDUkz9UyF55IQjUKRCxThQvCwnQGzyQ6h/+DojUj33upxrFXadxbUHNTLbQ64aDutRdxDch/8gK3L/JN9rCEE1mwSCjQZkM7TbJD+9CaDDgX3IvYz7L2eKDdH4Tc73ejKqwEuautMGg9V3M+4XAsukePN07qkFRhX3xo/wSiK47sxEgk4/X5 X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1e06c5a3-bc35-4302-d5f1-08dd5b056b70 X-MS-Exchange-CrossTenant-AuthSource: AM7PR04MB7046.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Mar 2025 10:14:59.4277 (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: /uFJXMpH3BJRZe0AaWQpMgYGiGfVcU2tQO72mMtBvmDI9p1mDQ/m38jUSbzGeB4h3Z16PZWhk11Fes5DaMonvw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB9868 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" The next bridge connected to a simple bridge could be a panel, e.g., a DPI panel connected to a DPI color encoder. Add the next panel support, instead of supporting non-panel next bridge only. Signed-off-by: Liu Ying --- drivers/gpu/drm/bridge/Kconfig | 1 + drivers/gpu/drm/bridge/simple-bridge.c | 32 ++++++++++++++++---------- 2 files changed, 21 insertions(+), 12 deletions(-) diff --git a/drivers/gpu/drm/bridge/Kconfig b/drivers/gpu/drm/bridge/Kconfig index d20f1646dac2..92187dbdd32b 100644 --- a/drivers/gpu/drm/bridge/Kconfig +++ b/drivers/gpu/drm/bridge/Kconfig @@ -310,6 +310,7 @@ config DRM_SIMPLE_BRIDGE tristate "Simple DRM bridge support" depends on OF select DRM_KMS_HELPER + select DRM_PANEL_BRIDGE help Support for non-programmable DRM bridges, such as ADI ADV7123, TI THS8134 and THS8135 or passive resistor ladder DACs. diff --git a/drivers/gpu/drm/bridge/simple-bridge.c b/drivers/gpu/drm/bridge/simple-bridge.c index c0445bd20e07..4c585e5583ca 100644 --- a/drivers/gpu/drm/bridge/simple-bridge.c +++ b/drivers/gpu/drm/bridge/simple-bridge.c @@ -19,6 +19,7 @@ #include #include #include +#include #include #include @@ -35,6 +36,7 @@ struct simple_bridge { const struct simple_bridge_info *info; struct drm_bridge *next_bridge; + struct drm_panel *next_panel; struct regulator *vdd; struct gpio_desc *enable; @@ -114,6 +116,10 @@ static int simple_bridge_attach(struct drm_bridge *bridge, struct simple_bridge *sbridge = drm_bridge_to_simple_bridge(bridge); int ret; + if (sbridge->next_panel) + return drm_bridge_attach(bridge->encoder, sbridge->next_bridge, + bridge, flags); + ret = drm_bridge_attach(bridge->encoder, sbridge->next_bridge, bridge, DRM_BRIDGE_ATTACH_NO_CONNECTOR); if (ret < 0) @@ -247,7 +253,6 @@ static int simple_bridge_get_dpi_color_coding(struct simple_bridge *sbridge, static int simple_bridge_probe(struct platform_device *pdev) { struct simple_bridge *sbridge; - struct device_node *remote; int ret; sbridge = devm_kzalloc(&pdev->dev, sizeof(*sbridge), GFP_KERNEL); @@ -257,17 +262,20 @@ static int simple_bridge_probe(struct platform_device *pdev) sbridge->info = of_device_get_match_data(&pdev->dev); /* Get the next bridge in the pipeline. */ - remote = of_graph_get_remote_node(pdev->dev.of_node, 1, -1); - if (!remote) - return -EINVAL; - - sbridge->next_bridge = of_drm_find_bridge(remote); - of_node_put(remote); - - if (!sbridge->next_bridge) { - dev_dbg(&pdev->dev, "Next bridge not found, deferring probe\n"); - return -EPROBE_DEFER; - } + ret = drm_of_find_panel_or_bridge(pdev->dev.of_node, 1, -1, + &sbridge->next_panel, + &sbridge->next_bridge); + if (ret) + return dev_err_probe(&pdev->dev, ret, + "Next panel or bridge not found\n"); + + if (sbridge->next_panel) + sbridge->next_bridge = devm_drm_panel_bridge_add(&pdev->dev, + sbridge->next_panel); + + if (IS_ERR(sbridge->next_bridge)) + return dev_err_probe(&pdev->dev, PTR_ERR(sbridge->next_bridge), + "Next bridge not found\n"); /* Get the regulator and GPIO resources. */ sbridge->vdd = devm_regulator_get_optional(&pdev->dev, "vdd");