From nobody Sun Feb 8 12:42:53 2026 Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on2047.outbound.protection.outlook.com [40.107.22.47]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 180AF1FCCED; Tue, 4 Mar 2025 10:14:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.22.47 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741083285; cv=fail; b=HVp9Qo+US7bPP+eSQhSI64mdaUYqDsCOOKH/bVnnqos7MIDyKb4pTM4DangDWPYKv6/2LFDSn3VcVJSYybsydz9+7c38xnFpYVPQDsR/oLd25/zs0B7Gaaww60I5KuMlV5UJLuIY61Mn/DOLT88AK4t2C2zyslc49nxlN7pk9V0= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741083285; c=relaxed/simple; bh=b6t4UxSGsEC7oes2ark1vmi6xkulNAUdvqoT1Gas+0A=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=NXF/Q7x39mdA4qmK4dWSAe7r4S8NF9qU62bfYsPpphfmZ8bXJaTIt7FC5L6dDkNyrUZw1Kq5XBfNjcp4mxeUg5iPTc6qXuEOsw6VvqjCcYahnNVdeAVGonomx9nPk8DltqsMDEtgodV/Easl5JJNY8c/sUMP1Y3jVd+zEZTOpO8= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com; spf=pass smtp.mailfrom=nxp.com; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b=RwFgiDrw; arc=fail smtp.client-ip=40.107.22.47 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b="RwFgiDrw" 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> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SG2PR04CA0188.apcprd04.prod.outlook.com (2603:1096:4:14::26) To AM7PR04MB7046.eurprd04.prod.outlook.com (2603:10a6:20b:113::22) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: 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: =?us-ascii?Q?YrQkNo6Qvqjp/2tVRRyX4s/RCU2G+Xp2QPc/RVSj+a0ZNCL6Qw6a6/dkgsHR?= =?us-ascii?Q?LP8EHfRQ5l6tYnWDdVm1zf77D71e0bWhmkvFcwBAaDv65O/AelPVyes+eJPx?= =?us-ascii?Q?b4Ao7i1rDKJ8SLHTxXmLZ5JDd92mPfVUnQY3yUsuz2SXNlT8U/HUROutD0x6?= =?us-ascii?Q?9XPbR+mLKEsF5g5tYxm1lSHsLsfqRutlNZyZt0uX02nm0hLIciTPxpL9gSPU?= =?us-ascii?Q?fesearVvBaertHz07cltrxC3GBnPr8mu1iVtqGlFG/bTV5z8fT7tUywlmu3I?= =?us-ascii?Q?naBwOBhC390iwFJ4/hR9JPM6sGRuT3gSUhxDRPjAIwqYrfUfhY404cZsvcLD?= =?us-ascii?Q?wEbQmn8sczLBOuhO7+DtHHa7uK8QfsGQnB4YAdCiKBy11YHJmIXAqov9DFk7?= =?us-ascii?Q?LZvRhXA8pg1bfNjfpzkNmCHGee+3CjksyjvglSlgWmpY63QLXstjiP471DGb?= =?us-ascii?Q?GmqRzIKFba4d49DIcqpiBq1IG5OherB2fdWZWb3keIxqNSc8zd4PcPlZ4unT?= =?us-ascii?Q?5nab4rulVM64ZK+l0w9Syr55rNLc0QBLhoQbP0dEEDdEm0bkjCoojP8+ej4J?= =?us-ascii?Q?bYoxRB/BSPlAOnAWBo0KQC7Zr4o00Z19F7DqWm+I/RK3AcL6vHBPiwRpawcI?= =?us-ascii?Q?UykpLPR+5PuJYyaSYPxbKzagFbTmCqhdyILcJwjMB0ebHhg4C6FwADcqFOkO?= =?us-ascii?Q?B3FFXG8ntPFoaFhFYUl8dIh2LM2SuKhaxM7pPLbO4E6HYJEHpaS1N7CC+Qsy?= =?us-ascii?Q?RCAYmqZwh+hJvR9Vt2XbxfvBz4DVyOchR9WGdMKHyX1Hjg/gEd3sKopAQRbF?= =?us-ascii?Q?qzE2Q24wizGiyHxg2rAoaZktDMFQC5biJhkZaTMwDnQjKe6mUlVoORgTirXp?= =?us-ascii?Q?ZhlvVtYgHWKZiDn7+zNjZLWtitjTOFZSfFucTa1CHfi2/poQmuLH/OWm+jhP?= =?us-ascii?Q?JvweH0FyDkFo8zYKtXjEmEItbcwnF/cGMk1Q995N35mF584Ah7Z+9fg0253o?= =?us-ascii?Q?Y0zTNANScEcMrYvzExHhXtWr4SPtzZW2Df8Z0cUYZCd4WvK9P6vPhn4v1pNt?= =?us-ascii?Q?hleI0KvpQF9jSdsTjXFsV0WDevPQAZs/ttANF5W7VRfeKvfMI7V8S3lYZtWp?= =?us-ascii?Q?YIZGf0b1brLCE/NpmjdLek1EA9DHF0PkRhcIksnXfKIabv4yqBYi+oJbMFrL?= =?us-ascii?Q?Hnhj1BG8FhG8PJdJ/LGFuALM28fw7/gWUsZPceRW+1UXQMVPP/9Y6WDCuTfH?= =?us-ascii?Q?kSG4UMYvOWDv9khYb50u3G0mns3caD9TjtSQNjiybGGebiTPCNycIrYkGtX1?= =?us-ascii?Q?0+E9zEBEZI2IBQY3hqxWJN1vpK6/bRihEJlx954hpLp2/IdSaiISlFuKa+UE?= =?us-ascii?Q?p8E9drzwK/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: =?us-ascii?Q?pjXX/8B/v4xOBikIJ28KoIKns1M7CP6IXySjYVyG/rFBVcuSHK4YkdP0fZNc?= =?us-ascii?Q?HlJFiVDBz0MpHRyojfrsstGQD32uqyoUAUZcKHVaumrItFfGcc/ZxPik1zuU?= =?us-ascii?Q?2LUcPAKgJdZzBJAp4cUEITF7T434tOIgZW8m4vAVrMD8Y+yv7z7eViZDavbb?= =?us-ascii?Q?Z4lDoM6YoJC3tkZKSEEXLCANDsW5J1nvhZySJ7asGdnUhBDVJMjDJuhYXGN/?= =?us-ascii?Q?LVNS4o1TfeJG8Q+1Y6qmfN+0rK23GelrhTxCLRjVRHmoe1evG07pO7FyJ/+T?= =?us-ascii?Q?qnwj6szDRtycf68tjCcVaVVFuUUVX1+PBKR/0rG6T0CfXp4q3YXnMUIKqu87?= =?us-ascii?Q?fd7nVi/S+UP9wfYtFXNsctL1+0M7L2uj2oHQ0f6D708skKybs43YMEPG7OWr?= =?us-ascii?Q?ahK/d2hujBA0X5KeJUXlNcFseSsdpvSC1qgzmzdqZLtDPLMhMjx9bqUOzm+z?= =?us-ascii?Q?IK+3ZxafqaDbXebJuh18RZdESRyKL7aOlL2zAGzRvxQ8b4UKPi4qbe2XVC7z?= =?us-ascii?Q?K8+dI1di9R1lThYO+pQt5deyRyiOYJoIf0M+Dvywj8dOz1xq1gCozNzkj9fI?= =?us-ascii?Q?l2tBHXpILj36EVtlPdhjmVvlH98tEt17hQYi6Qd391ePjh43DHqbo2wnLCXB?= =?us-ascii?Q?2+ZzcGHcqvlWVESxbe2sbbjfSUn/LjvGBJfueQfj933eM4A+ch1C92EEVCJn?= =?us-ascii?Q?RhIDEe6Nz3nuQZHNEnB/M29As1+skwabKSuv5+NuQRhJDYBnXmZkAL9FVdV1?= =?us-ascii?Q?VZHxJC+PmrrktiEbeMPEU/ejpOZ8ZtAVvWdNYAVEUfOxSpm78kIzFLVCywR0?= =?us-ascii?Q?JssS1ABvyIZbrinI0hxz7xR6ggBo6s8T43RkZNr8fXVXe2Zr/M1gQP8lX3xc?= =?us-ascii?Q?otCCzPzscvw+BjrzT2bxqdVK8E284GNG3Zkruch4C2t5Wd4smGIOx7FewxU3?= =?us-ascii?Q?s/0cKoGRkevZQ/J5osgqi3hLniTr2Le885n2jK4A26shfOM90IVU+1J9J3cD?= =?us-ascii?Q?FkBtqeatWTiQRRMAFT8Ib6jk3MUmBISUPSYMjp94JpH7QsAYDJdwIAYi2vBr?= =?us-ascii?Q?G3SqVFgyAtbi+XjK5PEExKf4t8jHGTvxrC3dz7+dncTDTU85tFcswcFpqoXr?= =?us-ascii?Q?MAEepDMh2XXBgCNLTTKv+nr47EqHtV1FJlQdDztZ5WZurXtbfm6FRM6pBq3Q?= =?us-ascii?Q?+Ep4LnElDJ9XHPNEsLykDgwmwy4zPCMmVGWjftzTSvWMrMnV7qnKCX1p0Pu+?= =?us-ascii?Q?JJcuerialyo47AdiwKYmxu1LYLjCbDS3rnNm8T1uin/HXqw+E2tPGtekgZUA?= =?us-ascii?Q?Id15kt5snVpiTr9sdwNgo6wwm5tNpO42EJIaaK9zNemn1e8R4iX2SfMeogNN?= =?us-ascii?Q?bh9cpzmJyMWJiB+iLKUHx/xNXiQ0iOnhDnVhsDQIxiIUnv1c3R5ne3252igS?= =?us-ascii?Q?fJDw9uIpqC5jqp5X+r/eEq22n3OY772uG3ZEQ+HJtB1tKxdNPqq35p+pece5?= =?us-ascii?Q?I/fhUHPdcJx4oeZEO1Ie59wPV98NAGSOwEtFpW3a0PIgHhEejlMtY6eQ6qni?= =?us-ascii?Q?cG3K+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 Content-Type: text/plain; charset="utf-8" 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-cod= ing.yaml diff --git a/Documentation/devicetree/bindings/display/dpi-color-coding.yam= l 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 prim= ary + 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 | | + +=3D=3D=3D=3D=3D=3D=3D=3D+=3D=3D=3D=3D=3D=3D=3D=3D+=3D=3D=3D=3D=3D= =3D=3D=3D+=3D=3D=3D=3D=3D=3D=3D=3D+=3D=3D=3D=3D=3D=3D=3D=3D+=3D=3D=3D=3D=3D= =3D=3D=3D+=3D=3D=3D=3D=3D=3D=3D=3D+ + | 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 mapp= ings + for 18-bit pixels to data signals, and one mapping for 24-bit pixels= to + data signals. + +additionalProperties: true + +... --=20 2.34.1 From nobody Sun Feb 8 12:42:53 2026 Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on2047.outbound.protection.outlook.com [40.107.22.47]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 530561FCFD2; Tue, 4 Mar 2025 10:14:45 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.22.47 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741083287; cv=fail; b=ka9SpgcnyuREjdI1/eHE0ez6kcdIrsuCwyoq7mOd6K4jth1n7bSU43Z4xdJs2cHjrcEabdQhIslkZUtK2kkcs4XWGGfi3mZ0vsXx0XQdBN+mGeYHUIiX4YjRIqOHrP+SHTPZ7MA5HrthnIrMPlRd4ycs42uxHYgDXgLvyYY+pMc= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741083287; c=relaxed/simple; bh=ytXWiR8DmoNafRHX6ZgRGNpqxwWuGRoMjhIcNjGz7v4=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=UugPqr6ttzzi3jqJsyLFhIBb2yG1GEK+mPVXI1xzDVAkUzFiEKknw79DXkP3XhbN/nTVIwSdq2WlnixYzd1xoy7/bS9fnJM33ziE957ToLy6lnXBh+XamANb3cJxaX7k9m/odsPGDcnwiQkd5uc6JhQVD46/7wzghbi+7fKYWvc= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com; spf=pass smtp.mailfrom=nxp.com; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b=g3OhoYgV; arc=fail smtp.client-ip=40.107.22.47 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b="g3OhoYgV" 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> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SG2PR04CA0188.apcprd04.prod.outlook.com (2603:1096:4:14::26) To AM7PR04MB7046.eurprd04.prod.outlook.com (2603:10a6:20b:113::22) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: 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: =?us-ascii?Q?gObhO2ncgqFatWEifwnflKgxb5wyMtDhCfckoXhWDlhgIUIVEnNbg8aC6iU9?= =?us-ascii?Q?GdeU4dZL86JhpyKF1j71dsVsvQI6N3ed2l3wwwKotM2rRmObGsBYLARzJOdv?= =?us-ascii?Q?NKY7utTSF9Z1fHBKnDuEgUPO/LNLwRbNx2bRV02DXRty3jPL1TB8Ch/jLxM/?= =?us-ascii?Q?0+W5tJepqo/LjpeESlZtsYTtpOOuCrqlWGKGeJNr+dx4gpMremX+ZKq9KDYC?= =?us-ascii?Q?MGBNWi5aAiglzSDbfmlMSXmsuNLnXaRl36PWcNzaRfXXYdJnbhfd+FwbctuY?= =?us-ascii?Q?nx2EJlT4VvAFRWhfP3LQo0/DmIn/GuWr/juldyrTjeh/k9eMzMPa4wXH5PGM?= =?us-ascii?Q?E5SQmsXdO7niOXudDse+ow5kemqffruyVDyFEwu/BFbkwnBy5YWEA2OfWTt2?= =?us-ascii?Q?YaXUCbXY+EKVP9ltZ94fA/VvmgbtjuTNEaOt4j6bPIEUtm3ibfaCGBrQ/5rY?= =?us-ascii?Q?XzLzbx+9UZRvX6aUGrKrhLXVeNzTotUDluLg3pIECi3YeXyM49AKmfpSrHWb?= =?us-ascii?Q?YQJ/A9o00HvAoY0+msLNQQ4qzduqBGDjhEYmm8qUPbG0/pr4wEsPqIkqi9qI?= =?us-ascii?Q?ILQnhsMCyNOU4qczN4sSSUtvQa8u+uBFq0RHUxfV8nQ2DH/fa9e/v1oYz2yq?= =?us-ascii?Q?KQ9NkCwg1H9565pOzI+u/DD9N8AHxsDkplW/NCk2dtAVEVct5ZqtmClAoMij?= =?us-ascii?Q?AwtEqPyPUlqikoRkeRadkk/MkRcHYePhkib2LmtaRHi++2O3Q7/d2qY0Im0x?= =?us-ascii?Q?DvJPJWEiSIbo4EBjJy0LQOlao6WFTIm2KWYxGl6l6KZAzT4uLnuZxZoytzUJ?= =?us-ascii?Q?ee5BjjAYSYzJmmu1ONrqLJPpG1E3e8IXk1JWdLEyQ1+Xa1AuunhdQEAIK6CH?= =?us-ascii?Q?acXvmGhf8AOcpSobv+oX2g3ZISHArLLNGtOECccT/jgakGtEiDebkfMiY75H?= =?us-ascii?Q?ybVNFI015LyzCRr+Ld2O3QxMUIDDaUH4IdQiNexMZfWsUXqkeK41rDfN6JSA?= =?us-ascii?Q?pWQWpWdutonZqMV6dHYYxLOHWdA8jbPM5eopWDclzVKyelHgkIQhFShWlK1w?= =?us-ascii?Q?IycOeyC/yYsJBfZ9AI6Sy1wx0EgrQyx1USj2WBCaWNFGXn0Xyao1Y2H/IMgZ?= =?us-ascii?Q?Fi2XB1cl6GLNhuaXG2JQm2vK+YomsfBLvhkNY0zkR3/Jc6JNqNhfsrEsuTnO?= =?us-ascii?Q?fwDCIAo+Vey7DCRYrorC2VFbGYmmIf8ndyFKAAbED/5YyKoAJFBhtVL77Fnk?= =?us-ascii?Q?WgDWyLu1ZBjJCCbyOW942RUkj5N5RrbjvTaVuIZEmTrL1if9pP1P9bJZHoF7?= =?us-ascii?Q?TUPPoN9vXpUTP9iaxbsliZIWXVekJxZi4g9c6nroLs39RVp0Ew1dVClJmwbG?= =?us-ascii?Q?ZnwRve1trHYSl6/3vMMyla5k7GK5Hsn7EhoW8JuBrApWO31mBVaFg/5S4UW0?= =?us-ascii?Q?/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: =?us-ascii?Q?0RRXg32AT54ahYoyOGr3axIIWgPVSc+NCTRPi1yCq9RWWguTzzWXtbdrG68R?= =?us-ascii?Q?qYJghUGST74R4KyVkXAKglBN/QuPzNI7D0N6bNHfMFNfXWhJ3naDymedFsUf?= =?us-ascii?Q?kiVvB7pRhJAVlydEdc7/C3sAmOd8mWD1IxYqhSrU4fz4+eRh1t9M+/J6vNr8?= =?us-ascii?Q?XmLNKsl2ZrcXACjpB/dR1EZVAQ8J4nuwpSV/fmk969D8PxWa/Mi4kbX4YF+l?= =?us-ascii?Q?b3OrfTmSmTbr16RKS5Ep7WbAYFD32OuixdfSJx8CCefsL3jcAzTCw7FbUbO2?= =?us-ascii?Q?LdjNOLAqfs8hJOgRxL3PR4uVsA1WeH73KFYAgelIgG5KgJLMJ7Y/IEYU5/Xs?= =?us-ascii?Q?gPbGoq2ntgMRaJ8WuOrbm7/aaR/IeOZP52Cam4Nx3I7YbP1KWA5c7UgRj33k?= =?us-ascii?Q?7p1TMTG6EasaZt8P2PLp1ZQ4Ezaci5OMIXOfVePvUZ+F+NPWvF8lGdkuKLcL?= =?us-ascii?Q?3pkSuYA2DE8qXy1QMKX5wq6I1EANNzmYZxbnY5JI17NRuL82Tv9LHwgURxKd?= =?us-ascii?Q?/C7Lev8uGHnz6sEaNew4OEU6zP+QISbwVf2dfWjViqoCc8kVTiWuS/BRS4xn?= =?us-ascii?Q?iIcGronT8MOTAdiIZQxIhcdgZ78O2HAEn2bz77m4sGO/cv1G3MsDY9snoIxt?= =?us-ascii?Q?DUO0qvFaRAzyKbFrfsccS0vIFBHQWYoRgGFNmTDibNCHpBETDpcIjJQk7qQd?= =?us-ascii?Q?xY8n9CabgExGvHXITyVefyibVEsEWpJ/s9dHe4AHbjyk6sNssUGjoCHCAPHd?= =?us-ascii?Q?WtmLQJLiIe5BP0RBv8Vk4VqmkDb+U09JTqWEicZZ0WDp75orTLRI6eCeD0yR?= =?us-ascii?Q?3bCgo4nztWmo2Bq3jjqcHcAR01h64Fa6fo5W60Bi3catYmkTm77IDfqEAvRG?= =?us-ascii?Q?bz1Y3IFef3O+OKlB/+tdVXrtW7G0sQz/mwNJ1RGbUqZV5+NO9dte8mVFh6B8?= =?us-ascii?Q?dvF08f/sPlC0fUB5RBOXWipAG07erc89YYnwxSNETKGnN4vfW0GaGwxjBE6c?= =?us-ascii?Q?DzkVO+leNRA5pa9dIX3ceD/Efo4+aYl4U5+XKyLTLjTUpNLDHOTEawlVZ2Pp?= =?us-ascii?Q?7CjH/gzICih1xTkOZLjyU87iSTpDYp1aNI7bDwHeFRCA2PhJthqKzxJcmJGc?= =?us-ascii?Q?4Hb3Z+c7iXNRy8rWJ+VaIND6A2NVXC0apZgijmPWzNrpQpCz9eDt3EzXKpuO?= =?us-ascii?Q?tfJ98bD8spuMumWgMhMydCQaCv/Ppt8m7Auye62UkpcaONrxMt8YWbeLRWKb?= =?us-ascii?Q?2pFckZVqSf6p3u6VQrDiVmlH6fT6WmXMtkwO3+jQzfQ0riFJ7IkDgP1TZfIn?= =?us-ascii?Q?svhxjbPnO1xlmMwgX3WnQ4cxnuspP88QsZRbt2/uYgD+5U/AesXHYi4ntTlU?= =?us-ascii?Q?bXua9ISOt4NPU2KkyLJbgHkt/qQcJr6SCD4ihEmpkMH2AoaSGCjJmsDGLvUV?= =?us-ascii?Q?GPvZLTuEhzoMXVgH5LI4kdcC8MhzBoF89yNc7i1n/QKgN8odp3EcThOExfDj?= =?us-ascii?Q?N5uOpyLdGbezSAxfv4pDVYwc4+8+OzMlt50bDvgwYcv8t5i3ogb0+oBxn8Tu?= =?us-ascii?Q?cuYGAGX6PcsN8dSdIdR+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 Content-Type: text/plain; charset="utf-8" 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_no= de *np, } EXPORT_SYMBOL_GPL(drm_of_find_panel_or_bridge); =20 +/** + * 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 form= at + * 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 =3D 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 =3D BIT(0), DRM_OF_LVDS_ODD =3D 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 st= ruct device_node *np, return -EINVAL; } =20 +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) --=20 2.34.1 From nobody Sun Feb 8 12:42:53 2026 Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on2060.outbound.protection.outlook.com [40.107.22.60]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8610C1FAC50; Tue, 4 Mar 2025 10:14:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.22.60 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741083299; cv=fail; b=Ks+mt2xpBi2fKxEysL2hhCAl7DtMWDc4X37zgVf0Pfv6dIyxhe7m1OfhE9BnaZ+vL3P5IfJhTIEx10raM/OcY2M2IPRiAscwA4vg0AyLkBtkzzTAu+bqtaH6bIH5hkSQFV57+90hXT79QYX9q5EYNlh/09UsFHwI3mIhu3sMlt8= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741083299; c=relaxed/simple; bh=EDUXPu6FJAJVED6v2kljSpNXrU0yfsXCk/hWJmGByh8=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=AkiQNnRrA2pi05YtTr4swOcQEO0r3n9knJxikMGU3IVXIGsV9Y8yxk2dcxmPrpEI2TCTCQbzx1Zx9yVnw9kS/O4991zAIJIc7qor5hIz6dRoOZOJG9r4jKMdJvTIAw+tNufV40XwX84ecv5wU5BOV3V11uNYi5j5JclyNRG6tp0= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com; spf=pass smtp.mailfrom=nxp.com; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b=YsJyXf0g; arc=fail smtp.client-ip=40.107.22.60 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b="YsJyXf0g" 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> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SG2PR04CA0188.apcprd04.prod.outlook.com (2603:1096:4:14::26) To AM7PR04MB7046.eurprd04.prod.outlook.com (2603:10a6:20b:113::22) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: 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: =?us-ascii?Q?DYbb4M8XkYNh6ojCC2GELV0eLEbs5rWc21AtfIFZHS9MrxC6oNULewK0S4vK?= =?us-ascii?Q?ksIDCO8TkiVIHm/pvVufwtBkQbm+rd7HHfW6yYNCSd0LdxMf7+vaZRj20Axw?= =?us-ascii?Q?T+jf1KjU7y1fq8/LaNPgeo5R63t/z6N2F4LlwvaEnQ6krF35sFEz12eqtMUq?= =?us-ascii?Q?oU1oTJ/vd9WVSdTsd7N8jlHLmgbxEMdjSi6/tBEcLHsQe/xr6diwJCB/89bW?= =?us-ascii?Q?8NfoZoZW3mS6uTZmGjQk77+sLBqe0WMd+ezG4yjC94S7vj/IRfDrekJPyfNP?= =?us-ascii?Q?iDuoX8+z+jOiQ+1IhBKIrF0UifhINO2kx/RxNISTQbbg7JidHpn3KFp5FNp+?= =?us-ascii?Q?uIrHvQZzSVrQQHW/48utfb51IO/dZXDz+PenRxG8DE3Vj0U310Jx12SVMbug?= =?us-ascii?Q?QldoynsF+LObI9J3b0enxQ8wVzcOgNI5poGA85rRwArukLCoKnHiJpvJxYey?= =?us-ascii?Q?JtBCZvkByBcZhCGhiA+I9ym1/QIc3aQyLopnU6kYxMen5nDks457SWvR/0kC?= =?us-ascii?Q?PMpgJ6wQI2exMrIWLkTQ/RdIJZRpMMF93sUhr5NcY4TzcSpTGMDz+usuDiGr?= =?us-ascii?Q?qToteWIusn+iEq10YFca02HQ2PHbxUO0QSjXnMdB7GvI9RPeETME1meztzus?= =?us-ascii?Q?/oif3P1cGAuMDugSZ7aJO3Ew009TxKrdBI71dWWNZ8zr5XBZwxdZqoC7oBda?= =?us-ascii?Q?zrRsq8BOqcNBeccPg094cnScg6k3BXAmVtoIzqSotLgKmK1rmunr+zCgA+Lx?= =?us-ascii?Q?eUTS1uJ4Jlub25iUyzx127EwyZYTOLEmFPQ3XQ1dsbdrW+7zOCAXVQtUhOig?= =?us-ascii?Q?9snx+akVce/vpJNAc5D291cIDyclNuQ45O65yYW9SmNXpLGsZHxQhSCviQ8d?= =?us-ascii?Q?cRTYtwDYvdxqda+NGuBZF0MnB8TpUics0HhfAYMI24y3Hui7L9uSkLSnxGkU?= =?us-ascii?Q?qszsojg7Qd4gsnvKhb2/UU/CSnctyHjpOqykeQL5S+KdNc1MJQOagSxAM4Xr?= =?us-ascii?Q?04rn+SGjyJFSYjc226nqA9J1QIV7gIqezO4M+HTv4edhTqVo9GDRPeDLMfjW?= =?us-ascii?Q?/ECQyyq4D8imE9aIHGeRisM92nc1cawPfIW+M9wXK3hBj4q7OFBNZbBnpH31?= =?us-ascii?Q?0J37YhpVB9X26Po9WCrnABoyWIt/8hUH9xbyB/vDlNUbf/ZK4cMcafXqODgQ?= =?us-ascii?Q?rA+6AbWrihjdaE0eEOrt4MZCtZUQPYwaQY9tmEx1SmAZwTKSUUv6J5TT0bge?= =?us-ascii?Q?t47bpF9BYxAq7RaG1srDw9TRQVCVZSsrDmtcUvyF6Y5ht3alwm7CNRM/Y/2s?= =?us-ascii?Q?zhIhDT1WzERtTqlnAbTJUJoiLKORZeYZS7p7HkasGesxs9/KmxXZfiLQx2H9?= =?us-ascii?Q?HznNOmj6A7pjMHrwRJUHEzGobrBl?= 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: =?us-ascii?Q?MENa6s8bwiKFc4gjeI9bMwvph3lVm8mtJ/YgMh1PqzOQjzPU8XVdrwvCUnPe?= =?us-ascii?Q?SsLvEI14+X0zzeZ1CbfDBECY0l/2xNUI3YEvNhvD1uXeHnMO6j1Bwoh5d00P?= =?us-ascii?Q?QiGBuWKwrf41bcmFPjDzmXZV1vQTajrYayfArJjEsHlaS4OuM/6JnSpn4Q2S?= =?us-ascii?Q?Q//ho34hGxPGZJOeKHPbtI0CD6UqV7DBb7VhKQdQpG1ecbACatkkCVukMi9f?= =?us-ascii?Q?ctJQHr42RDIPhRBJyNSV20p1GqcMdvl9fCHMvd1EOg4IS7hsk/kx1Oq0D1zI?= =?us-ascii?Q?XP1jv+k2MDVrIfwFLY78AqWGc4NoHOjSqFGjIjQPaCuTQvoNp6y+SZ2zW6QQ?= =?us-ascii?Q?wMHNCg5R/eegT5mTwOto3Koc/OGtwbYMHuvwfW6wIjp5LdJOVft1+4r/3gJ2?= =?us-ascii?Q?Yw9VIYnp8IrXVGjZV6tuoQ6iDWaGNfIMnG2svpKxsMYIGbsMrrqbaK9By9sW?= =?us-ascii?Q?qAsFJDhK1J4U+OcStV6oLfbtlzXAYXj1N4EL5FDl3iTe33nkERUCqFkG9Thj?= =?us-ascii?Q?KLJVxdB44zlFINgNCUdBwqM8myB5IllL+bYYa5YX+6HgmEIHp0a1H14MNmw3?= =?us-ascii?Q?QgxrFaApCE5leQm23Y7pFJ3xtm7QkQl+Cf/LVXPa4vPpKQhC4F2E4yE5tHKz?= =?us-ascii?Q?dpJgeWrEs+SctrEyPtnOn8AxE2kbg85NCI/ftEMga0/Xt/WeNV2ia6G+l4or?= =?us-ascii?Q?ZjfXz+aI4mVuufqc4zFo2jmjZCGph94O89FgEC3YhFiZFHWeLaeJg7o/kr+k?= =?us-ascii?Q?D5+CMINRbxLnbFzKabAQpFtpG2JhXVotgEnwbYZnYsjJCno2wu3ORvWxlbzN?= =?us-ascii?Q?p8lheCm5E7sj/use1Fa92Gc5WFFyFsUlYyACUZCV9QOodmBqq0scVJCNEv1J?= =?us-ascii?Q?X7gciSRk9vBbUBDBikh/xyLklFQ4S9hGBONHoP5NBteJfj3xIw9w6SRPapCC?= =?us-ascii?Q?DqHVMylsxrZXpI7L8G1A8A8H6ZlgDxtpRhTL4EbdRcDp8D6sUlBqBehyZjkD?= =?us-ascii?Q?vQFdNBi3m37fGM8VROJYZuE8SXoqj2+GRE60EciRnq3a/umLz8GNx1XsgWGH?= =?us-ascii?Q?fG155YxkpOjivuqC6kqYMiCdi+YXyuy/HU7Vb/LxYNTVl1720Gqej1nYduCs?= =?us-ascii?Q?5h6HBOQQ4bjeuGjdZ6w+W1IM7SIrBLZJwY7XyVFWobchyFVQkWhe2f5xxa3p?= =?us-ascii?Q?VASyJCrvc2U5inKsnzqCz6NRFyoSJM0IA9OrRaXhS3LUPeOfF1BQP3bG6/SB?= =?us-ascii?Q?Wud+NCQac2OFJz4KGmkFoy3D+G+sG76cBW94vE2puaehIEsEmZA1zOqrf8FX?= =?us-ascii?Q?1N1v1Wfi+ezhEDoSNy95ByJFq8Xwhj5/OecxPPLI5F6202o7oy8AyyozeE9J?= =?us-ascii?Q?9qCHylqqwYgT31OYkAFQxpIgah9P32lnuG3QIQzdCVsXA/q2CExBMYgZS/rU?= =?us-ascii?Q?jCaFyNLX9rVWQc7uXiXRH2OD7rfLowcLrhn0odYF7fwj6sBBD5UpKuAa43Lq?= =?us-ascii?Q?wKmMUhTJGtf2dXjpVB9ORRZv0k1C2WNEoNDZZR05uElsPwFa6Wusw5y4Og/3?= =?us-ascii?Q?US6lPgXKNH4EZqqq+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 Content-Type: text/plain; charset="utf-8" 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: =20 properties: port@0: - $ref: /schemas/graph.yaml#/properties/port + $ref: /schemas/graph.yaml#/$defs/port-base + unevaluatedProperties: false description: The bridge input =20 + 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 =20 + 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: =20 additionalProperties: false =20 +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: }; }; =20 + - | + bridge { + compatible =3D "dpi-color-enoder"; + + ports { + #address-cells =3D <1>; + #size-cells =3D <0>; + + port@0 { + reg =3D <0>; + + dpi_in: endpoint { + remote-endpoint =3D <&dc_out>; + dpi-color-coding =3D "18bit-configuration1"; + }; + }; + + port@1 { + reg =3D <1>; + + dpi_out: endpoint { + remote-endpoint =3D <&panel_in>; + dpi-color-coding =3D "24bit"; + }; + }; + }; + }; + ... --=20 2.34.1 From nobody Sun Feb 8 12:42:53 2026 Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on2060.outbound.protection.outlook.com [40.107.22.60]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D917C1FE44B; Tue, 4 Mar 2025 10:14:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.22.60 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741083301; cv=fail; b=s1ZxuVjNUTrsXIjkstklSNlIP9Y9z61vrwvoOj0eSE1Fz7jlesaUJTW0OGvH/LoVcp9ZbXBH2D7z4jPoe4m8+ELb0hUyA49vGA0mf5wMIH13/sSo2SfRnrSZcgwkbVq8GA1EopT1xQn9CskSya70SRD6oVznGzK9CvjxccXVVRY= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741083301; c=relaxed/simple; bh=kVRl7gSxjMJ5XYMUc4HrXDg7w54ZBMLvxvjXUfkQXVE=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=VkHjslGMsuPuXJvN1mr/xPE9QcmDbaYQWUk390LlS4Ln6fWQEiGUQAKUoquwgsCCaQiIqcGRq8tWkIbn8qHgMBaLPuHoyFhiAlNsbhnJFarRDfpTjDVkEQfmQ0njHC7xm/fBe3PBl1r0o2+nLEMT5Rf+XEBE/AC0lzK/J2KCOZM= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com; spf=pass smtp.mailfrom=nxp.com; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b=dJNqTMjS; arc=fail smtp.client-ip=40.107.22.60 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b="dJNqTMjS" 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> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SG2PR04CA0188.apcprd04.prod.outlook.com (2603:1096:4:14::26) To AM7PR04MB7046.eurprd04.prod.outlook.com (2603:10a6:20b:113::22) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: 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: =?us-ascii?Q?4Jrj4ML7qb8W6lG7JoBJ2O0odMfGB6K2mGjJpt89XX5yG1W7c+heZNQLxEj2?= =?us-ascii?Q?Wnh9etin4CxnKAxwBG71Of0P0IUt4jiiUq74rRIStVvEU97XuTV69z6C5Elt?= =?us-ascii?Q?JmfdzT7b0NcUCUWKUlCFeeS0SqZmJ4sBCyZB/OreVZDMXLL+sj5dx6ANE3BJ?= =?us-ascii?Q?LT6Hom9o14DyFdVlwAie9fx6ASJoLUTpWssgH0qkCy3H1AGUIXrTVOSaepec?= =?us-ascii?Q?rX5H3C2UvCUdxesFs7Vf/fMIfD0lQveQb0CdZwS7bhBzm1dUuHlgMTM09Fmr?= =?us-ascii?Q?X+MAg//VTjWfDV6t3NTGg5WEWtw6FxJb3WVsLwQVwxjp9FRn7CNaTwlHdrs0?= =?us-ascii?Q?qKDYHV5x0yhmlaTRaOYxfS3KfSlI4qd0nsYwqP9SfLYXf69DYvIPHHiZrt/q?= =?us-ascii?Q?lQAEmpDQDLGJp0EVYV+gcQzFG+CRXRfzg3xOUxPWpQQXBX4j0oe+Wfa2omHa?= =?us-ascii?Q?Df/UTtAiEZDrKGY6/Q5DMDLKlY3SJmYWS7ni5SgMXkZs7G5p6Bryg+Hi8PPu?= =?us-ascii?Q?Fw1Jw+v0/aAZ7bEqUmV1uj094B0rC6dDcZLkPzraT1oiyQiXo+DzDmLSy5VT?= =?us-ascii?Q?VzvDi3B23MBnrCkdEMqewEeR/4n4u1VVO7nBTV0tQXbB92BWid66EsJIx+Hm?= =?us-ascii?Q?x5qyH9xMWauiMPj9tBy//NQj54+x+eX1a0CDPBUBGLJTIPAyWEv7dBlobB09?= =?us-ascii?Q?UT/cgCWfs45rxmMC5H/uFJe8UUMb5g0vJJmLjhpPPKONah06eFOvC7Gk2AV4?= =?us-ascii?Q?tV77D/lnHr+aznwxGAavhGszO8kjUBJB/AS7tQMGLmi8tmjcDwQrYz8zoggF?= =?us-ascii?Q?hZrMVAETP2TCVjm1JUJVUdgdhgb9hsK5am6PoW63oqVOFO9MRwELcbUf59Wf?= =?us-ascii?Q?XB/Q9TQNedAjEmaw/AgEzzPHAseLki+96R93Hd1/R8Rrc2dK/RnTl16/O7vy?= =?us-ascii?Q?GcTZlBapDTvyKUsyhPls/I1zcbyNpW6C79h9sA21oW3yfFCR41Np6tvBztwe?= =?us-ascii?Q?bRlsWLc4kGXiehZCzacAkAkhyN34Y5jKwZSmmCgZ45CsSy1Qx9kZ/e8Ql+tC?= =?us-ascii?Q?g1lVi4sdx0eejwY0JJMXdssENVJ70IxpX4yuiW+QhrOFOu6p+dKNXi+DGEPp?= =?us-ascii?Q?1Q+94T3bGH7xQ4/f2LKXhdbc+8X8AeOKLg3h4kN5ZX2uhz0Yof9knrY3Zu0C?= =?us-ascii?Q?z336T9kYRRmi0t/F4dnshTAGhJvmhI9bBCN9Gu87bclK9lINaY6ZfLdiNT0G?= =?us-ascii?Q?tgaNaHcomHbsvFsDIf1PZkmGyEJojoeQ3PhLVY5avk+vxlis9IveD2RCh5Po?= =?us-ascii?Q?yvQhfpmGsMckoPyEa6IRBlbkjbMINiUolInW36PaGTkLZD+C91XLJrFEddbn?= =?us-ascii?Q?tln3q2XSgYHczdcDGUYfDKCCw3Eq?= 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: =?us-ascii?Q?lqKQXak1S6sADSJ69sRKQv7iwH2HpVqhKQhw2vDtYe9X/hRPqXDB7rch9NaR?= =?us-ascii?Q?laq/EMBebV1FAbJBZtYAp5AmlR6xZBD2uSl/VQDKTdthNO7xbNupiOeJMHs5?= =?us-ascii?Q?IOm5wqxjl2QykYqKLhgytI/6sd3usURo6LTuB1TBYGmGYSJn1cqfxtx8exBH?= =?us-ascii?Q?nJkS89swVotrGcd8nbtiszyi2wIHvE43pLV5HGGvTA6oNhdPiDBl2xhUkhIi?= =?us-ascii?Q?yK7t+xiJY6QNAZdKzypgKpohMuxPFbWDspHcY4DCpbDcZRvxlh0QHIQCDkSk?= =?us-ascii?Q?k4exQPbym8ZxxLbx+XTRZ/JAvK6qMneG6k/IfJR1XFrPo8K0eJhyrOKnvdvj?= =?us-ascii?Q?y4WsITm+wuhq1Lv7kgSwAI+qcDKXEnLEJ0A4KFP7SA/eAgShAj5AlhBC2N2h?= =?us-ascii?Q?abPE9ABeE/b28RYjCY61QDyh/Q6nKv+14/vIX+QESMxGjBtlepeu9wzHS9SA?= =?us-ascii?Q?XWpfRwJdTL+002VfA8DsSrGxlYIH2UXst0yMWY73DlZUgfYdfREOWkUbj1Og?= =?us-ascii?Q?6jKAytGQuYpqJwyrcoNsakBjO6hFhD0ifTaQkvFAUKu7+S0iajfxSJQwI0oD?= =?us-ascii?Q?FXmJrdWbxOu3xHjQNL3dZ1JRM9OwwTQ75kdUrGjfpmc4pIeVPTF+m9MEl8ku?= =?us-ascii?Q?7wVPpPnFMWR1gTTP8cw+1ehGrFrdKZXesYJpifcDYbIeF05tfk1LxbyMpKmr?= =?us-ascii?Q?MMWxu85QpB8WQTNEZL9lcGdLujodfoq1ynDguueIjBb54n2HucdoJY9Sl+RP?= =?us-ascii?Q?QZKgjojFEtvSDKmwRmTceAF3H9m0sEzK6CO1BgdTRivm/XLlnJhhNfGSKUpK?= =?us-ascii?Q?2NyGkHlW2x9RFFhF0Eq7nZ5QnSYf3Rt3QFTDfVeWr7ltT6c3DCfl+AEXvdG3?= =?us-ascii?Q?yNA8qctD8VT1eAVvUVdQDo8k56F4Ko0Toz50SLN9COXrxBSuw+J/6urRg9bx?= =?us-ascii?Q?EyoMDYvZUf4RTC22VAT2K+Ty+6xKvCeLeHMztKEAU0ubkjyPKvKLoenLyMTX?= =?us-ascii?Q?AqsmneLs8vEeld52q4cRBjUggV2BKmRHgFz0eVlDHbFFJZQ7LYDwP9pNYGOM?= =?us-ascii?Q?adtPcFTsnl4zJIyZrtRIpKRfToKoBJdTWsY55VZ10YBxe/qaTDdvtFH0lfE9?= =?us-ascii?Q?KQYgfDOylUZGTm7QdKf0hfQmG8ElM/1PRQO/Lw6Itf/rCCGix7zcDCu9SDJ5?= =?us-ascii?Q?EHdZvZ/s/f7Cmkw0KVbOiFoRFbA7frVVDC1es6xqxDFkZQO+ayA4j9vjOeg6?= =?us-ascii?Q?WLjQNU8BLqzv1fdriZm+BavJLSA2tkINsgr5Y4Jd3Sg0WctJtRgPuXGp4WBU?= =?us-ascii?Q?U/5IluSb8625pheDShtVnZFmfiZpayT1ueJ2S0CWM73mVxijsa5OOiZinWGJ?= =?us-ascii?Q?fVpMxpa6j8PwULPW4lHY10uAza7Z4aWSfR1yGsbMcb8G/pJPlbC/EzECvf9t?= =?us-ascii?Q?70R9Panbs8QVIbjYU23EKtqv45I7nTQHKT2uneIvCj3LviPgfv04OTFb0519?= =?us-ascii?Q?QcopLMygoWWDyCMI3/FdYrwI7DWjqVu/oNSrJRnCMWNchUx3hsznfmNMjt/G?= =?us-ascii?Q?6gxKuc4YhHpJzq8ax4qJO1YVB3FucIpIELZl63ew?= 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 Content-Type: text/plain; charset="utf-8" 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/bridg= e/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 @@ */ =20 #include +#include #include #include #include @@ -17,12 +18,14 @@ #include #include #include +#include #include #include =20 struct simple_bridge_info { const struct drm_bridge_timings *timings; unsigned int connector_type; + const struct drm_bridge_funcs *bridge_funcs; }; =20 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; }; =20 static inline struct simple_bridge * @@ -156,16 +162,93 @@ static void simple_bridge_disable(struct drm_bridge *= bridge) regulator_disable(sbridge->vdd); } =20 -static const struct drm_bridge_funcs simple_bridge_bridge_funcs =3D { +static const struct drm_bridge_funcs default_simple_bridge_bridge_funcs = =3D { .attach =3D simple_bridge_attach, .enable =3D simple_bridge_enable, .disable =3D simple_bridge_disable, }; =20 +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 =3D drm_bridge_to_simple_bridge(bridge); + u32 *input_fmts; + + *num_input_fmts =3D 0; + + if (sbridge->dpi_color_coding_output !=3D output_fmt) + return NULL; + + input_fmts =3D kzalloc(sizeof(*input_fmts), GFP_KERNEL); + if (!input_fmts) + return NULL; + + *num_input_fmts =3D 1; + input_fmts[0] =3D sbridge->dpi_color_coding_input; + return input_fmts; +} + +static const struct drm_bridge_funcs dpi_color_encoder_bridge_funcs =3D { + .attach =3D simple_bridge_attach, + .enable =3D simple_bridge_enable, + .disable =3D simple_bridge_disable, + .atomic_reset =3D drm_atomic_helper_bridge_reset, + .atomic_duplicate_state =3D drm_atomic_helper_bridge_duplicate_state, + .atomic_destroy_state =3D drm_atomic_helper_bridge_destroy_state, + .atomic_get_input_bus_fmts =3D dpi_color_encoder_atomic_get_input_bus_fmt= s, +}; + +static int simple_bridge_get_dpi_color_coding(struct simple_bridge *sbridg= e, + struct device *dev) +{ + struct device_node *ep0, *ep1 =3D NULL; + int ret =3D 0; + + ep0 =3D of_graph_get_endpoint_by_regs(dev->of_node, 0, 0); + if (!ep0) { + dev_err(dev, "failed to get port@0 endpoint\n"); + ret =3D -ENODEV; + goto out; + } + + ep1 =3D of_graph_get_endpoint_by_regs(dev->of_node, 1, 0); + if (!ep1) { + dev_err(dev, "failed to get port@1 endpoint\n"); + ret =3D -ENODEV; + goto out; + } + + sbridge->dpi_color_coding_input =3D 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 =3D sbridge->dpi_color_coding_input; + goto out; + } + + sbridge->dpi_color_coding_output =3D 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 =3D 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; =20 sbridge =3D 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"); =20 + if (of_device_is_compatible(pdev->dev.of_node, "dpi-color-encoder")) { + ret =3D simple_bridge_get_dpi_color_coding(sbridge, &pdev->dev); + if (ret) + return ret; + } + /* Register the bridge. */ - sbridge->bridge.funcs =3D &simple_bridge_bridge_funcs; + sbridge->bridge.funcs =3D sbridge->info->bridge_funcs; sbridge->bridge.of_node =3D pdev->dev.of_node; sbridge->bridge.timings =3D sbridge->info->timings; =20 @@ -253,29 +342,40 @@ static const struct of_device_id simple_bridge_match[= ] =3D { .compatible =3D "dumb-vga-dac", .data =3D &(const struct simple_bridge_info) { .connector_type =3D DRM_MODE_CONNECTOR_VGA, + .bridge_funcs =3D &default_simple_bridge_bridge_funcs, }, }, { .compatible =3D "adi,adv7123", .data =3D &(const struct simple_bridge_info) { .timings =3D &default_bridge_timings, .connector_type =3D DRM_MODE_CONNECTOR_VGA, + .bridge_funcs =3D &default_simple_bridge_bridge_funcs, + }, + }, { + .compatible =3D "dpi-color-encoder", + .data =3D &(const struct simple_bridge_info) { + .connector_type =3D DRM_MODE_CONNECTOR_DPI, + .bridge_funcs =3D &dpi_color_encoder_bridge_funcs, }, }, { .compatible =3D "ti,opa362", .data =3D &(const struct simple_bridge_info) { .connector_type =3D DRM_MODE_CONNECTOR_Composite, + .bridge_funcs =3D &default_simple_bridge_bridge_funcs, }, }, { .compatible =3D "ti,ths8135", .data =3D &(const struct simple_bridge_info) { .timings =3D &ti_ths8135_bridge_timings, .connector_type =3D DRM_MODE_CONNECTOR_VGA, + .bridge_funcs =3D &default_simple_bridge_bridge_funcs, }, }, { .compatible =3D "ti,ths8134", .data =3D &(const struct simple_bridge_info) { .timings =3D &ti_ths8134_bridge_timings, .connector_type =3D DRM_MODE_CONNECTOR_VGA, + .bridge_funcs =3D &default_simple_bridge_bridge_funcs, }, }, {}, --=20 2.34.1 From nobody Sun Feb 8 12:42:53 2026 Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on2060.outbound.protection.outlook.com [40.107.22.60]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2977C1FC7DD; Tue, 4 Mar 2025 10:15:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.22.60 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741083304; cv=fail; b=oowvSTuALb66TMPxFyDS8/p841k6/VMiQRVyvUWq+/yAsF1GtY798/W4nZLdUTD+2XoUUh48yOhALL1RADV0Skky7XtREls5god+AmldqZEYhsz+u7JBXd1y7q+kfS0K5Qt4TLV0ijeLEN/SDUisCyyN9a04TC558cKF4nqGEj0= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741083304; c=relaxed/simple; bh=Sq8Zm8fzRuWXZCHfOg9Ur4tfjPHev73ZHw9gIzCqm2I=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=OUT78iNUsQZLSiosUZByYO+BVH8uQfMElPYdlwjgxerT5Yl1DH2qMkcer8o3i8tzr4tIDSfTLyhRGzTx4Q+6/k8iqJAWSkon4775891rsADG7xfBqqw3XBqJFIXwcP6YgTQ1TvILDpycbVsNaW3H4K66AcEa3ULNVeP5Sg5N4Bg= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com; spf=pass smtp.mailfrom=nxp.com; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b=e3MnPn0r; arc=fail smtp.client-ip=40.107.22.60 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b="e3MnPn0r" 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> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SG2PR04CA0188.apcprd04.prod.outlook.com (2603:1096:4:14::26) To AM7PR04MB7046.eurprd04.prod.outlook.com (2603:10a6:20b:113::22) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: 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: =?us-ascii?Q?mmi1NxmNmAb6RDhuFt19ZQVliSAphHE64y+eRC8flGLPiMDIwdo6/+A6K3XB?= =?us-ascii?Q?Nkuv45tYa9BMrvDDrnMNqtFpi19WdyLQTvQAHELveeRRZUpG6yKpVlN0ysO5?= =?us-ascii?Q?cUdjtqI9ctCpEDlsAPHxFuDqVDKS6UTx84l1COvScROwp09NYiD/QulpgWLs?= =?us-ascii?Q?FVQ3NCDnkV2bVAgWvV/xnoWYgoxBro1DAVhfwL+vXUNXmzGXwOTTML9nXkDM?= =?us-ascii?Q?S7UdsSB+TuZMieSj1DPt6tIJ85J0qDP1Nl2yYEQA/YcktDMud4W06p5W6sDI?= =?us-ascii?Q?MwMWFVtAV8B0esWoM+wDbccxNV8UOWgQVfnH3C1kbV1Gz5sjzjo4XEDnSJT2?= =?us-ascii?Q?9Tru5ByWfCEw+nXDjnJGQYyKAA/YX6fmX66eFDK9y5LM6hY/6VxdnF0Q20dD?= =?us-ascii?Q?Ac/WWXoKDJXE6oAE+a4Y8qkFLK3nUF5gyL/niA36M4/KgdAxMJx9ZA+/dBWY?= =?us-ascii?Q?rmw1XVy+JvwrChqaDpZSyRC/zLvxsmhENv38Gd3eN1IefqYcU1+yr39bbRKn?= =?us-ascii?Q?FyGUSTi78yw78sy4B+EJq1ZYkzbsyrCleD3AKwHxL9leFkHBQYnOk6SFMdUP?= =?us-ascii?Q?67j6/SRCrfZWEwsa3SgESHOp9JI5RDJH+78ImdkFlgqjKutG0I5IISVxWGet?= =?us-ascii?Q?wWRUIfbw/rqKioF3RIxD8xkoemHySXtyNXOm74UQJKjb+c6XRvaFHhKiItLx?= =?us-ascii?Q?oCRpgJMlJHevwf4DYTiDYW3yl4fLqCpOI/sxTfdmzxHT/c0KYbH0s0vxdU5n?= =?us-ascii?Q?lnXsPUJmVStaHlvM6i+2RlzzhykdZtX9teiTt3yi3DTqAeDVgdLPyAD/moLW?= =?us-ascii?Q?7Qsn+oVWJiTue2YQKSVhMkBvqD2D5j8zeE/q7kLxJVDXwGP1k+id91A5Ivs1?= =?us-ascii?Q?6Jg2dvxlwSQpXTMdeE/jl7ac1bPleQFAGy1u9PJvchBTxFWW2UKs60aLbLqq?= =?us-ascii?Q?M53w0Dna+Kbgz/9PUczQVXYIcVF5cPo7Ed8QzXWGnRZDBj5ZR7wmMwrTMZB2?= =?us-ascii?Q?NogO2SO7usxLaDhTFrBSF8xbT5om7LEhu+Ehp/zV5Hi+vIHMpij3m6JXqvNj?= =?us-ascii?Q?kmZSK/0II+mcKlsM+QDwXRzvrdM3fwyMOZtq9wqdi27Re17yreRwN2To6GYA?= =?us-ascii?Q?79V9klkLPDhhHjkWUraJv/A5B48dKJBJGUDXx2OYPenrq9C56HZDFC3Gvxor?= =?us-ascii?Q?ZZQEcn1JVKmaYSfAHGX1+jObaG9VvsnZFjrfmDKfoJo9vuEvASJNIhHynpLt?= =?us-ascii?Q?1TcdRHq8C58NXmp2N51Q3SRuM3c2v4uX+AI7gXY/5YY3/JXLHqN5AzSoqZmw?= =?us-ascii?Q?G0MLbE7BkZFx2s6aR+CIj5wTi2RoquFrPf2isjSXetCRkkKa63iDVeA+vPvj?= =?us-ascii?Q?vgJdmEZQXqAv3DdrpUOkPsp5YT/if2YHhOExxaEEW54rev3bNeOeYP0IYfmb?= =?us-ascii?Q?cTojLQLdPXm9fJrHwlRlB01DD3Uz3F7/?= 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: =?us-ascii?Q?9emBCAUYFQNYUdvF22VpUWcNcEmfTQHfxVtxfAfKOBll1X5b3sms+iFwOhjb?= =?us-ascii?Q?Ffk+JE8YsdmfCS3XttlE9T0xGSZ2j8CPpbDe10IeFmerDym+hEYyqZpHhIxn?= =?us-ascii?Q?qCpAP0auD2ijHxcUspuQSiNw5Iz3eOquVoYwDpybyQdJ6zFqC+ZQvkVnPXV/?= =?us-ascii?Q?6+YQCMP/5dehSbDWr/90v05yobtT9/1pWdF8aGcx2WBi5ZYCPUyCmuAG19fV?= =?us-ascii?Q?46RX8O4acVDZky4HVV7zBe+OduPiq4mUMMK+v1RsYg/yuXIm3q54SQt+ncVR?= =?us-ascii?Q?4bF4hW7GLRzF3LShBx0UtN03PuY5qEaI50xzQ7wSym0sf4Kqb+QTrHTS+vUr?= =?us-ascii?Q?ozpOxqwYhbt07Ezt586YN+71ssKeq35Ok2JEfET5baJheox45cNi8nTkUb98?= =?us-ascii?Q?t6rQrW/5R+/mvO9yqiYs3BVrVuuJ+POpD9hTVa8C8WSpntX0ldjI2pn6k109?= =?us-ascii?Q?JZsObB3yRUphhrz5mqQszHsjlZtG+1HLcm+stmdxZM9GYOy1HBcaMJNLsyz6?= =?us-ascii?Q?dLW6gwEGrEcxEEzghvqwCQcO4NpsL7rOCBmVpj6aDHhk4FgjpSdbfJ2EZUpH?= =?us-ascii?Q?/INb6mRLBlvT0D8wv/G24LfKn9k++ZldpwX+GDIIjwlqhJVI9lqO51065eD6?= =?us-ascii?Q?bZvM7b4u5Pgx+uVpcaw3prheDG16tvjTlp/JJhTtUNtPYdp6xH28dKQpJjGk?= =?us-ascii?Q?YV9O9OvFjkYDvcc6gu01zuY7h9FanqYj/LRexpqGplsbVirx1SozuK/KyHJh?= =?us-ascii?Q?paxNyAUNqH5UKrPltzSKD0HiC5k9Vs7qcvRbJHBdFc4f4SzS0fsbUOCaUUVJ?= =?us-ascii?Q?n2HNW+1mGMU+1z7pcT87XPrpJ6+saDUUxw5OQKCnMT6h/KO2ziAo72urcnvC?= =?us-ascii?Q?cK4RMucFHdylejKisZgpjSag+YJm1MwXiM28BAwhP9iPlRWPOjYLemGwXQYY?= =?us-ascii?Q?frcY6feRGe8X0Hy+WxkMjvIBq0EUmAhnDq1M9BM7fLpdZ+L5q8IZ1hzs/Q4d?= =?us-ascii?Q?hKNg/siF/6TlxazVG3GCePOO8P3qPkcS1XA7S/dOhOm0qgZwMHjVSug9OCM3?= =?us-ascii?Q?s2Ufs+D0pXhOQwOKt22PeCKa+3dEtmV5b9KpMLAKzDamX2V1VhrjgihiNI8Y?= =?us-ascii?Q?GgSzVCyEHqBbElJGorHNSyZVzJKLaAT2aI6fcvEFhUfKZsWY5nOI0F7HPU51?= =?us-ascii?Q?7pj78zY1QImF3SuF+LJHUGDssYZxWDEkSB40ZPHUF+g4Cju3TWd0sCFpwDob?= =?us-ascii?Q?pPJ3lFjJFH+LT8Qsq8N3oc0i+RfJpe55qAW+yms+1fRZTCLZb/fl/8EIKlTA?= =?us-ascii?Q?LJ6e2CKFRuu82hx+3xbbuuMn378lWg5+Av4SmyvoBIYaAzWuhC24SKBFLG1E?= =?us-ascii?Q?1yRm33B3zgH3aO0r8nYg8WluCnDtZtiMUFNXpfleFDUkz9UyF55IQjUKRCxT?= =?us-ascii?Q?hQvCwnQGzyQ6h/+DojUj33upxrFXadxbUHNTLbQ64aDutRdxDch/8gK3L/JN?= =?us-ascii?Q?9rCEE1mwSCjQZkM7TbJD+9CaDDgX3IvYz7L2eKDdH4Tc73ejKqwEuautMGg9?= =?us-ascii?Q?V3M+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 Content-Type: text/plain; charset="utf-8" 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/bridg= e/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 =20 @@ -35,6 +36,7 @@ struct simple_bridge { const struct simple_bridge_info *info; =20 struct drm_bridge *next_bridge; + struct drm_panel *next_panel; struct regulator *vdd; struct gpio_desc *enable; =20 @@ -114,6 +116,10 @@ static int simple_bridge_attach(struct drm_bridge *bri= dge, struct simple_bridge *sbridge =3D drm_bridge_to_simple_bridge(bridge); int ret; =20 + if (sbridge->next_panel) + return drm_bridge_attach(bridge->encoder, sbridge->next_bridge, + bridge, flags); + ret =3D 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 si= mple_bridge *sbridge, static int simple_bridge_probe(struct platform_device *pdev) { struct simple_bridge *sbridge; - struct device_node *remote; int ret; =20 sbridge =3D devm_kzalloc(&pdev->dev, sizeof(*sbridge), GFP_KERNEL); @@ -257,17 +262,20 @@ static int simple_bridge_probe(struct platform_device= *pdev) sbridge->info =3D of_device_get_match_data(&pdev->dev); =20 /* Get the next bridge in the pipeline. */ - remote =3D of_graph_get_remote_node(pdev->dev.of_node, 1, -1); - if (!remote) - return -EINVAL; - - sbridge->next_bridge =3D 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 =3D 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 =3D 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"); =20 /* Get the regulator and GPIO resources. */ sbridge->vdd =3D devm_regulator_get_optional(&pdev->dev, "vdd"); --=20 2.34.1