From patchwork Thu Apr 14 06:48:54 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Liu Ying X-Patchwork-Id: 12812991 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id E11F3C433EF for ; Thu, 14 Apr 2022 06:49:27 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=2WbuRp/Fq7dWJJpFRJcyRIM8A79R3uVF+uwZ4HP/v5c=; b=T/Tz2JcIPiQXRL njCv3+KuLok4KP4e8NS8GlruruTrmFgNeRbTYBQC0+Ex2tERIUcraVxT2y1la4d5kz0ckvMRfq72X beiWaD0ULxLhwKm0Tbh5ENAdFRA04WkuDz/ebRkRwQDMz61PettqEtvOylURKMaMzBXOeSlLQ1Tgg Wp8puuEymX6gwA9921W7IWX2Nk2xVqSAfa/6DR681lkjm6tEOxVgFFRdPg7U2tMPSNeZsgvMA6n9m zvy1Fu7zvqVH0qjRgI8FDPAA7tBiRSdcskveeK+O5FoocTUoOVXKSA3tS86FfGt4VVAc+gU8MPc6g gJ1djTCkfgNo0LIo9fSw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1netH1-004ApA-L2; Thu, 14 Apr 2022 06:48:11 +0000 Received: from mail-am6eur05on20623.outbound.protection.outlook.com ([2a01:111:f400:7e1b::623] helo=EUR05-AM6-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1netGN-004APe-HI; Thu, 14 Apr 2022 06:47:33 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=LM/wduR7FXx+y24guxRVMohphP7B8sPOX0p1tp2fgroc9gtRjQjR4lbD3brXj8TtqkZnueXlTUXWen/osjRXsGIq2/Eki0OQlIM4zq48ilg6SrI4e/UyGmzTPkF5K6Qv+wNwHHN8v5C4ayRj8Pt4z3IMINnyTmBNa7xQrzGUAbbRXL1m2T9fZdmcTg9Zba7dc7zrhof57H+dp+uQOHbINYiIP39XLN5fYlE6lkRYFcaQx8e+yCexun/VZTLJeU6Ky1IPXi1jLWpmlWmf+yIFMkNfMrjQW8RTnCbWPCKztXoYjemwEIYB3UnvSqsu67EoRkn4en8Sj+X1Jt23uyDU/w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=6uqG1TtbXF7+KFyfyyBlvzGXLuQEZxe93n27M5vWflI=; b=AewBwi2yUBVhPd0VFZjb8yQxNPx9jsVN7LdiWJZBpAk6EtTmS8xUD6+UAgQR+DpFUdTL5M8jghNCwa5/zLGkR02N+p2c8BtYc/BDsmoOI/EtxSXGx6eKFTr1mTRlE37PA4WEmFXEK6vYPGclzJyFB1LY8D/aPL2aGPQtKHVNTaGLTBUPkJ1q2qH1mNCWSLizZ6IRFt2zsfxoqu5RSEs+lKot2mGSfrnwrjDRQyV5enQYBvXExIgT1PiWaNIhVwTk8zoMv7H5X4q06zYhvTU/yJ4AR6oFw8XRKPID21RRJ5Zq/D90SIMAAky7XdRjKr873qK61RQTyt75zMdVnRlUGQ== 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=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=6uqG1TtbXF7+KFyfyyBlvzGXLuQEZxe93n27M5vWflI=; b=dxcVFaWwZXnadO5EELaFG29fxEQcJ6In4K/MPG8TMiOC0Hi0e65iIzcbxCFx6qYPq7pQ90m9n7TrtAyWmlr20Kf/ZrjD64HDvaqUNCOAafRNC2XkQTM4E1AcZtnEalSEBMJmSqTgGDezRCEU6+WxKFf54+Fg0LN0z8plxMH/ZVQ= 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 AS1PR04MB9381.eurprd04.prod.outlook.com (2603:10a6:20b:4db::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5144.29; Thu, 14 Apr 2022 06:47:28 +0000 Received: from AM7PR04MB7046.eurprd04.prod.outlook.com ([fe80::b09c:8ffe:8e02:7387]) by AM7PR04MB7046.eurprd04.prod.outlook.com ([fe80::b09c:8ffe:8e02:7387%9]) with mapi id 15.20.5164.018; Thu, 14 Apr 2022 06:47:28 +0000 From: Liu Ying To: linux-phy@lists.infradead.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-arm-kernel@lists.infradead.org Cc: kishon@ti.com, vkoul@kernel.org, robh+dt@kernel.org, krzk+dt@kernel.org, andrzej.hajda@intel.com, narmstrong@baylibre.com, robert.foss@linaro.org, Laurent.pinchart@ideasonboard.com, jonas@kwiboo.se, jernej.skrabec@gmail.com, airlied@linux.ie, daniel@ffwll.ch, shawnguo@kernel.org, s.hauer@pengutronix.de, kernel@pengutronix.de, festevam@gmail.com, linux-imx@nxp.com, agx@sigxcpu.org, robert.chiras@nxp.com, martin.kepplinger@puri.sm, Andrzej Hajda , Jernej Skrabec Subject: [PATCH v7 1/5] drm/bridge: nwl-dsi: Set PHY mode in nwl_dsi_mode_set() Date: Thu, 14 Apr 2022 14:48:54 +0800 Message-Id: <20220414064858.405096-2-victor.liu@nxp.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220414064858.405096-1-victor.liu@nxp.com> References: <20220414064858.405096-1-victor.liu@nxp.com> X-ClientProxiedBy: SI2PR06CA0005.apcprd06.prod.outlook.com (2603:1096:4:186::12) To AM7PR04MB7046.eurprd04.prod.outlook.com (2603:10a6:20b:113::22) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 51dc4fe1-8f9a-4cba-71a7-08da1de2a434 X-MS-TrafficTypeDiagnostic: AS1PR04MB9381:EE_ X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: y5RbcGuES5mkkIh+wg/Ul7E1lIYf/xRAkSETt3w+5zkUjElJpcWix1AGADGpL2Ck1Ila9DCa3ap5dZNfnAoSUAciMFsi794B9zBU69iZtLRiSx1yjgQyBNFZf5iebY/4tXUPNIQdY5r8Fp9EMlM8+GVVHvrMTgy3LC9u4g7PXXHvImcJuQIEVS9n5Xlig3hsICRVzcAETm7rcljX73rEUNpOVTbWugX1NbNc+Zx6bLf8GXnvKIaOvE0BDn3dx3A5CtA1EkB9W13lzGBkGG6a+Jr6zQGeDdKtS/Fwuq6lFoLW8C2af1zX3TMLZHaP5dPi9xmqYr05Sj08trwAyZZi7yctWhTs73f3BMWisRPLmDyc7USX/G2TFFqMVEAAcJbiS6YncqaM/o/z8anesAFo5wwSmUfJ4orCQVpJ5sA9SN+KXyfJ3MINBEk3rHRuoyTsBHUwB933fVf5zYDcLx07Ij9boVG7+LhwK/vmoxi+7PDBscNxL+mpsArZv/RQjP1ZAFQFElEB8JN3txSehpNo9+Njhd+JBUkh8u9CFZcAvnRHj5jtjVhmufBWn3BK1e1CBBfmtX2+xJc8AAX+oHIkvSi2UKx/Gp1OCz66KPqTJgsx9NPUPhSJiHORF+DoR1CO2bFdJZYjA6VpZUDc4aaqF2HbnpRHyNzSM5vrWvOzH7aZrq99ZJ59sXCmu+pTkK6yQebOrTGxiiqAFA7GgbzZ7g== 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:(13230001)(4636009)(366004)(54906003)(1076003)(6666004)(6506007)(2906002)(508600001)(38100700002)(38350700002)(86362001)(6486002)(5660300002)(8936002)(6512007)(316002)(186003)(7416002)(8676002)(4326008)(52116002)(66556008)(36756003)(66476007)(66946007)(2616005)(26005); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?9PTFgGnEp+n23GVzSZOSowLrzZON?= =?utf-8?q?K9FNPEfzHH0j2lJgzu+RlxRnjrJCXMrQdd/nYyFSEw7u9lhDRhFta6XU2j51Ofz8i?= =?utf-8?q?P6GzdktgI4kk0aEYR7xQ1rrwhXVzBFw0XfyOgAjDaW7TdHatX9WWSMvIVLZN0joWo?= =?utf-8?q?PAo3YRVa7Lcz3CtS/BqXnSwUHJZGwSlrU5k+Yjz+p1l99ZWIvx+62FEaNAOAYcRVz?= =?utf-8?q?HOx56YnhuQ99N9/krcFnee55OvwJuG/PfZ2sXLB+dJj99fWP3cSL6DBrE2okBIBsr?= =?utf-8?q?XLWBOSOGJtJsUIplTBIw82fD0jpPf4WSlQrxxNkSjZL1qQI+YvGHqBlHyNZ65AmXr?= =?utf-8?q?6EcGHH+99slJKfFvPRF2cInRysYvIbRK8P7pVa28sa31WWs/gZK4KjAAH1daq9ViH?= =?utf-8?q?PmAo4rnfP3YrOdO1MvRM3VsagxLcGxa4LYh5QxqKpRudazRCls/bd7jwMfhOedvjk?= =?utf-8?q?1lHO4ZMEZ/eVFuDVMCcP1p+Paq4qOJpqsfaz9FHYDRyuLUBgoADLByPDfto1iHtde?= =?utf-8?q?2srHgjR7LRl3daAdkpoqGqXqvPV2YPSLUhPnrob9gSJx9VOKHxUCpVPs2JShmqTUP?= =?utf-8?q?9llW+yzpt7K1oFMnlIEDGjdWqD1tXu/oNfpMoPpqGg/Lh0Js2g6iAGqesRAnY7u7m?= =?utf-8?q?Ny6oySTcFp0+4KKa7ZtkuDN6Ix3geMSNVB+bcZJZURPmok7+3Jx7IH4DVL0+6pJ9n?= =?utf-8?q?uiSOtYOv3pjIU3FXDxD10OGjkC94ZF/830SnpaVu4XgRNAsll2qjgmjF1jicX6prz?= =?utf-8?q?549PVXqyqdiq43w7PKDCfs3xWW4i5gWww+YCSC/9C6naWV4DTofrdy+0mJakdM+Sq?= =?utf-8?q?BMa2/zNgaJTskSBguJJgFvzhGxvg6OZNCmwu9Nu1q2W15ZehYT8stPdDhyq5oghP2?= =?utf-8?q?39qKczDLWLWmeUF/5Camtqs217Yy68jUcwnevtNmuIm8RwS2kGJpw22R9hhwjK8l3?= =?utf-8?q?PF/KEDojv1pfPZ5JjkUMy1A3swgOBRPIiEIdSeQCQpFGZoqCBrSh4RF+l03gWu+ug?= =?utf-8?q?dXFi0rXVRDPMkWgABCrkhJE+LR3rh5p4xU41vbj3i+GkZYJ2zb7rpMkuT5Qnf4UNJ?= =?utf-8?q?wdXNN/dOICrtozz3L2nA5RllOTeqmu+ayQj0yUytKRwzdXrS/NBwFkZn03c8uIL41?= =?utf-8?q?cO5iwZpmNOjRJIEueMYXsmkPpo+rzD4cNCVTtw4iyNpCQV9kdeLgPD7RReHCmIDLz?= =?utf-8?q?twGerKfS2tNsj11Fa59WzenK61xfbk/YIU7nCz4pQ1NQgqeuFGQw1o9cgHLnB5nrt?= =?utf-8?q?9jQixukwXaNddWMdL3YBaGco0lGKjgpIhPsvmaYQh8walTZD33t13XNDqM6zsALXe?= =?utf-8?q?4cfv9OXQ9OmEjaQ91nVeYqQOHAhy70jZn9f71x231F/t20zG9/M1atvpZkeoLk3Ez?= =?utf-8?q?Bd9yy3tgO8ffqDBiSItkoDf6CEXvLS9ww+VB4EZP+pkOUsLDNbIXjDYY7AHoLg/TM?= =?utf-8?q?AHqFTt0LgqWeF7082+f/OLmCRWUyD6f8u/8F13O+MRF/bWPVXZRoFwRDlbB1PiDjb?= =?utf-8?q?ivLGJiwwKww9BGHs0kPX86GVNFskvSWSU7hls+wjCWU5oMnvie9E31i6OK3n3HqSX?= =?utf-8?q?Dlv9qRJ4mOHNQYhY7CFdeDXPlFpjgBVlMcgO/Alf/s2yynlqqS2/pkAzSFWUJPspT?= =?utf-8?q?HfMtoGDUdIE4VJ639CRVctdXHdJShDfA=3D=3D?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 51dc4fe1-8f9a-4cba-71a7-08da1de2a434 X-MS-Exchange-CrossTenant-AuthSource: AM7PR04MB7046.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Apr 2022 06:47:28.6529 (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: VePCckByugecxzg7fHppt8NfGoEomugMtQPtUylW95YBeVyYFxDABYBDCJe0BOo/HBjb//lZWqJ1Qqn81w2FAw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS1PR04MB9381 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220413_234731_603968_3172117A X-CRM114-Status: GOOD ( 11.08 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org The Northwest Logic MIPI DSI host controller embedded in i.MX8qxp works with a Mixel MIPI DPHY + LVDS PHY combo to support either a MIPI DSI display or a LVDS display. So, this patch calls phy_set_mode() from nwl_dsi_mode_set() to set PHY mode to MIPI DPHY explicitly. Cc: Guido Günther Cc: Robert Chiras Cc: Martin Kepplinger Cc: Andrzej Hajda Cc: Neil Armstrong Cc: Laurent Pinchart Cc: Jonas Karlman Cc: Jernej Skrabec Cc: David Airlie Cc: Daniel Vetter Cc: NXP Linux Team Signed-off-by: Liu Ying Reviewed-by: Guido Günther --- v6->v7: * No change. v5->v6: * Rebase the series upon v5.17-rc1. * Set PHY mode in ->mode_set() instead of ->pre_enable() in the nwl-dsi bridge driver due to the rebase. * Drop Guido's R-b tag due to the rebase. v4->v5: * No change. v3->v4: * No change. v2->v3: * No change. v1->v2: * Add Guido's R-b tag. drivers/gpu/drm/bridge/nwl-dsi.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/gpu/drm/bridge/nwl-dsi.c b/drivers/gpu/drm/bridge/nwl-dsi.c index d5945501a5ee..85bab7372af1 100644 --- a/drivers/gpu/drm/bridge/nwl-dsi.c +++ b/drivers/gpu/drm/bridge/nwl-dsi.c @@ -666,6 +666,12 @@ static int nwl_dsi_mode_set(struct nwl_dsi *dsi) return ret; } + ret = phy_set_mode(dsi->phy, PHY_MODE_MIPI_DPHY); + if (ret < 0) { + DRM_DEV_ERROR(dev, "Failed to set DSI phy mode: %d\n", ret); + goto uninit_phy; + } + ret = phy_configure(dsi->phy, phy_cfg); if (ret < 0) { DRM_DEV_ERROR(dev, "Failed to configure DSI phy: %d\n", ret); From patchwork Thu Apr 14 06:48:55 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Liu Ying X-Patchwork-Id: 12813010 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id F21DBC433F5 for ; Thu, 14 Apr 2022 07:04:12 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=lWa9WuJAQak/hHM3k2USQlPwzq0xPo3f3ejqFqVM7gM=; b=4wNRdByhMNHCS6 /LsErEpAozFri8yZqbgU/VdCnKcVOG9ed31U3VjQUh48njnm2sjtx3p3jERTSl7qzGg0v3D7UIN7D iaBe4bKR7+XLVV2UuYhAJKqUIZLdHvYc7OIJ/60BDdvcZ/zOSUbAcyNd/xRb8Sl7VSBSgiPs86Jm2 MSMsBMkm3hPCaWJ6wtUiuPnvVMjEQc5aSIUF7dGqqwOEd/yrvVo2Pev1U0CKIIyiqWJWaz1dFc1zg yq9bZ7ytZ4Nh9eSJpJAOMXiH0qqkIh9dhwHK4YH2bxlEARgR1ThoCwseYUnGgJ/5j87kW2zqtxtKm A3lJ7nAkM1kRqNZ7TzMA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1netVP-004Exj-4N; Thu, 14 Apr 2022 07:03:03 +0000 Received: from mail-he1eur04on060e.outbound.protection.outlook.com ([2a01:111:f400:fe0d::60e] helo=EUR04-HE1-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1netVL-004EwY-PV; Thu, 14 Apr 2022 07:03:01 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=htlAUFN0r8TyI8nr38Q+tD64D98q0bHehrNJOo1kERyx4c2ajmNK80E4GaCR1/siYEpsLkKMgJBBxklQ/orRb3jSEbsGkGTZWGFJ4nmKYx6YMaL0otzIi/IO+FJMtEoTNpvc5eRI/0r2OLpNzdMDVRPIRp7Xf/NRygs++JyM8YU2WtA38cLzxaI513NlMFkQDLrQF+roU/qtTn6WvPFJnP6K1TJxZJE21aEb48dKZRg3Dg7RW8aXxkc+ERs89h1VTL6WFG9k2DEVPfvLayNo0XwWZmx2gw5MdeeNelEy/Yzu/MzKc+VEkn5nbsXBC3dZFde844887QePhlzWw7bNXA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=K8Zr3YFbJIKG5gvgmaqYc73+19wAQsUeNtXpvpqylHs=; b=EhE+Qn3LBd2ZfBORzFSj94Pbojxi5ItKTWBj2SXAIKJZ6HogSn12N1C7IJagALm7FS9gxveBaIA664BKZ65+tUkY7Jsso0SsCDf9+i5jjmAZA4H3ekgmuD8l5G87FsvSbKojb48T7yHl906k+rIBpBb85dsUjK88Rf1Jeoy0f7Uo9e5PYjBms2TJXX4q9eIpHTQSgfj7g/huymKR4+Wm/hKcdTqCVCM4d/I31gSiL+ZrpRabdgQSK3TETgHEIXQMyEGnNaaedncz6X0G5hxN5N1ZllK/Zb/B4IExQ7XZJ2i7b715NuIACKvjxSzFYwf8tFgYgmOrsuJp3r95Hv+UXQ== 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=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=K8Zr3YFbJIKG5gvgmaqYc73+19wAQsUeNtXpvpqylHs=; b=eheeULgu81vY5G3fOXJ1roIIqTjTeVwMjaMnv/il6CkkAzo2F2RYjTvh7ivap9sRHCGG3ME8oJE6NsvQdZoQrga7sqC0JFndTQypkTKrau2DfDGwe/QQRoQ9Bxhwr8x6EP0oOnjo0agEKn1fJQJb0cSKzvtTOYRJ8JRV/EeFWPk= 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 AM6PR04MB4744.eurprd04.prod.outlook.com (2603:10a6:20b:5::30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5144.30; Thu, 14 Apr 2022 06:47:35 +0000 Received: from AM7PR04MB7046.eurprd04.prod.outlook.com ([fe80::b09c:8ffe:8e02:7387]) by AM7PR04MB7046.eurprd04.prod.outlook.com ([fe80::b09c:8ffe:8e02:7387%9]) with mapi id 15.20.5164.018; Thu, 14 Apr 2022 06:47:35 +0000 From: Liu Ying To: linux-phy@lists.infradead.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-arm-kernel@lists.infradead.org Cc: kishon@ti.com, vkoul@kernel.org, robh+dt@kernel.org, krzk+dt@kernel.org, andrzej.hajda@intel.com, narmstrong@baylibre.com, robert.foss@linaro.org, Laurent.pinchart@ideasonboard.com, jonas@kwiboo.se, jernej.skrabec@gmail.com, airlied@linux.ie, daniel@ffwll.ch, shawnguo@kernel.org, s.hauer@pengutronix.de, kernel@pengutronix.de, festevam@gmail.com, linux-imx@nxp.com, agx@sigxcpu.org, robert.chiras@nxp.com, martin.kepplinger@puri.sm Subject: [PATCH v7 2/5] phy: Add LVDS configuration options Date: Thu, 14 Apr 2022 14:48:55 +0800 Message-Id: <20220414064858.405096-3-victor.liu@nxp.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220414064858.405096-1-victor.liu@nxp.com> References: <20220414064858.405096-1-victor.liu@nxp.com> X-ClientProxiedBy: SI2PR06CA0005.apcprd06.prod.outlook.com (2603:1096:4:186::12) To AM7PR04MB7046.eurprd04.prod.outlook.com (2603:10a6:20b:113::22) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 26dbf842-370c-4f30-8123-08da1de2a8a8 X-MS-TrafficTypeDiagnostic: AM6PR04MB4744:EE_ X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 80BbM7AptSc0gjO+4RQSfNZUrHmd4Z/hD9clOmKtTr7D5rODRPY6bZk/jsJuAKBpPTQ4Kh+O47wL/+xtrAe1X7wi61wgBYjytDg/4H+tjK9Jg9JNisMfeCzXBBsyfcl9H/m/FBv1LdHSO9NwFdub9pr2nya7zYkih2mjk6a2EPFoachoWJoGCU9pDnKF7QGq9sTDvdGGJlSTwCDSWfyoU5ZoL4LHHVw1zYB+PmV6kdE5bkmXdkkedHMucGSksfqNKOq9oxufujmstBhiGV8RtHaZFIc9huOya6fq44kAJ4TMJbp/UubI5v8oq+HWVOB5Qxe2cKlJxQ2ZEqZDCZQaA/+iNV5It0Gv/G953C+hKwM7plc+W6YBYIq1zrLNpTeafSI+RplliGHIX7TlLIriONRGlY4oEZkwxRru1N0fcf3LkwVNbju5N0qGUtlufO7NOXL0juKkUmFMrCD3u5XnR481LeweXkgkXbI2y93YdNv+vEK8Op88e3vNP3KbehuD+Q4wBP5y72C+FC5DKztxV4JPN5JGwtw+HUA0ZZT1PAlTOiCf9SydI24h7jDQxsEuZcRdAymCTlv8Af65CMUEJ9C/TfD2kftPaChAhKgT+kMCryj8ofrKxDwI9L53TxTT32ySsc0FmJDVwlblTreAkVDQhKUTGkEdFiUZWVyo1gK2XZQtiFGG1tOVdOHTjlcCkmmE5RZ8qboCws6Djy+oTQ== 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:(13230001)(4636009)(366004)(316002)(7416002)(36756003)(38350700002)(8676002)(5660300002)(6512007)(83380400001)(66946007)(1076003)(66556008)(66476007)(186003)(2616005)(6506007)(86362001)(4326008)(26005)(2906002)(6486002)(8936002)(38100700002)(6666004)(508600001)(52116002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: knZaC7SOezZ/XO+2xVPZ+obkWU+892nNknWAenH6ZV7UBZyP/z5VxITvTk2EfZoOrt2CB77i2OFZzfgQJbfk/e9omQ5osf8Vt/7Z2m71lxZQ7aEhD67OkzpshTxsZ5oG36K6NCHcykyJzOXjL9sH+1PliAfkZ3GwWKoBZkLlZ8koAn248s++bWHLthKaIV+zPZT0JeaDwKNyTjHC2oidNa7GiArtW7DydL+LxRD2DYbMl5jwlFI83h0+lPfM/HMCYq9tvFNcwqyiImAr6YwMnksbvhCK8WGbDCfoEifWiGFvwMv5l8VX/F0M2H+BJWb+srLTEgiUc9nCmSglOw/93xHAXIJv4EZiACygubUJ8uyztmk5pD3iKcT5UhLrvsSax4kr5vJpREBj9IdWddVVzGuyOq0WCPh94XE4eL5vRTWZ+e5fIcWFlz6q95w5xH6Tc5pEcixChdgJUMdokIE1g5VA5/P5eKuAMVCkEcTqLJFvSPOPHrDR4d1ZOhJix64RKaAwHJFB9/gsD4HTXqsOUnc/SdpSiQjDw8enPz2gHB8KyywwfHmN1qFUMZBhSoEcMKVBLWO2yW933LuMgA8yC6xpMrBzvwkCnVpQdYqlwsTC+l6BJYLdDCtQz3CNNsOxGNBzrIaHzwTRaHiTdLqNHpQo00OMg20InMvu9M18ZrSnJ9jZljr8nqwTz0ZXFK8j7mccn2KSx042ZM1/jxHUEJTcRtFfYppF8ES153Y4EfuW2+kqFRB77p0pRMR3W4R+n3RBmzNgnDhBraSW3ONQQhtUp9SYUWaIlxldJwpSZ0VkEv4r1RcqKajNXqu5JYaI8dRJeiwHt3PnX58c5olPKJqV/Z9gSFvZKn+F4XIig+yHsBz3OKeRfLIGkSFn3oaEThKaasTG3E04/cXjXTtSfQpipi0AEPosiPQYyxZP4OgXyLIKCdi3Jm6N5Yt55Y7A+dRtv3+sDgRv1SSg/g1XSHIYgsEfAviMSaA/b2QKc4K3sCUWpbiPmHNCU93SoGL3EgvqdmlaYH1d0llqzm2jSaFeFgxHyIPwOQX/pFbkpYbaliVaR26ZBqviklIKsX+EgJGnR5OsfGpZsRkVXxDwfq2tQQbkYIr9/3Ir8SRrE+wVKsCc1KUQ+6xWP4Y0mvs0LoLwIeWkiVAw+XgFXlkTAwtze7qERsImTJD03FVHtrtVeaIEz5DAZgm0tVARPWfsbL4U6fPE6z+fJ/QwsYFOC3DCbGmq/kcC2FaQNm092ANETKFQ4hGRM8Pxt/vxV9ERCdo2szQ5ROR/U15ksbHKHQaXHJg5fASx+q1pVXpvVMgSmHUHp+BhfOKhkH+rM49H10IBw1U1euK6Bk9BdrgfqGr3MnazgqYgx5W5ef+dnBXN84IwIDbtW97RWtge5+N1T2HJsVdQ+QjdbLIPP3Fc6VfsuDwAIGDWEHjEXkwZCSkkbCahzM7RvmE4hHEqokdvIM0KQZXEGnmYuNgxaxN3bnEwf1K/xXmGjF/AX44Ecuc7mp7/U2RGYo/uI+y5gTc/8i9+jABtj7xlibOG4OVVV27uq0ngq2vGb60XeluxBq6t7yAHBrFI2IRuYP97I20M5/1hrntW1NXjggtTWMwhH3OMr3Ii2RYRp58JO/BIQq9pex8sTDpoF0Hi9POXHY7MoAxu2qZUH20vNTLCHJXwpLxKskOi76xtXewqt0VWPpf9aD10Cqs3FcvW6d1eWbs1E/EaFRRVczVtjXkLKHhWjA== X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 26dbf842-370c-4f30-8123-08da1de2a8a8 X-MS-Exchange-CrossTenant-AuthSource: AM7PR04MB7046.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Apr 2022 06:47:35.8432 (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: Hvoi4AkO3wpaQYJGl3GMraPee2b2Ih3YRYqh24oSHb3tDwRbYyTlrKYrYgLUT089BUhVJssSC6XqkeuH941f+A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR04MB4744 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220414_000259_862739_75AC2B60 X-CRM114-Status: GOOD ( 17.47 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org This patch allows LVDS PHYs to be configured through the generic functions and through a custom structure added to the generic union. The parameters added here are based on common LVDS PHY implementation practices. The set of parameters should cover all potential users. Cc: Kishon Vijay Abraham I Cc: Vinod Koul Cc: NXP Linux Team Signed-off-by: Liu Ying --- v6->v7: * Update the year of copyright. * Better variable explaination for bits_per_lane_and_dclk_cycle. v5->v6: * Rebase upon v5.17-rc1. v4->v5: * Align kernel-doc style to include/linux/phy/phy.h. (Vinod) * Trivial tweaks. * Drop Robert's R-b tag. v3->v4: * Add Robert's R-b tag. v2->v3: * No change. v1->v2: * No change. include/linux/phy/phy-lvds.h | 32 ++++++++++++++++++++++++++++++++ include/linux/phy/phy.h | 4 ++++ 2 files changed, 36 insertions(+) create mode 100644 include/linux/phy/phy-lvds.h diff --git a/include/linux/phy/phy-lvds.h b/include/linux/phy/phy-lvds.h new file mode 100644 index 000000000000..9f06dfedc435 --- /dev/null +++ b/include/linux/phy/phy-lvds.h @@ -0,0 +1,32 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* + * Copyright 2020,2022 NXP + */ + +#ifndef __PHY_LVDS_H_ +#define __PHY_LVDS_H_ + +/** + * struct phy_configure_opts_lvds - LVDS configuration set + * @bits_per_lane_and_dclk_cycle: Number of bits per lane per differential + clock cycle. + * @differential_clk_rate: Clock rate, in Hertz, of the LVDS + * differential clock. + * @lanes: Number of active, consecutive, + * data lanes, starting from lane 0, + * used for the transmissions. + * @is_slave: Boolean, true if the phy is a slave + * which works together with a master + * phy to support dual link transmission, + * otherwise a regular phy or a master phy. + * + * This structure is used to represent the configuration state of a LVDS phy. + */ +struct phy_configure_opts_lvds { + unsigned int bits_per_lane_and_dclk_cycle; + unsigned long differential_clk_rate; + unsigned int lanes; + bool is_slave; +}; + +#endif /* __PHY_LVDS_H_ */ diff --git a/include/linux/phy/phy.h b/include/linux/phy/phy.h index f3286f4cd306..b1413757fcc3 100644 --- a/include/linux/phy/phy.h +++ b/include/linux/phy/phy.h @@ -17,6 +17,7 @@ #include #include +#include #include struct phy; @@ -57,10 +58,13 @@ enum phy_media { * the MIPI_DPHY phy mode. * @dp: Configuration set applicable for phys supporting * the DisplayPort protocol. + * @lvds: Configuration set applicable for phys supporting + * the LVDS phy mode. */ union phy_configure_opts { struct phy_configure_opts_mipi_dphy mipi_dphy; struct phy_configure_opts_dp dp; + struct phy_configure_opts_lvds lvds; }; /** From patchwork Thu Apr 14 06:48:56 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Liu Ying X-Patchwork-Id: 12812992 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 525D0C433F5 for ; Thu, 14 Apr 2022 06:49:57 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=XODxnIjU046Y0x0J0jLiUbaqtNdRe/s7/Pxf9uf8bPA=; b=TO7BnGgQvF4ijd 9BwxW1hZO6R5pgZqr+fwylujy8rrd+6W1MlDKoSzpwN9saBF6dRadf5xk9BLkaWx78SK1vB0LitZL oSl3iZPZB1NJrTbinw4hTWCf0nTTVp0TLtL0DDj/hzCb28cYVnGeKyKJGfDs/A61Qdp0LMFVjV0XK vvFkBNuA+66JcKnbzP2MLbTmuMj9vb106VqknHR5g7JB1QbCuRKfvVFB9XtQHnvKJ/M2CQArrEkpv 2pxmM0Gtviy6pnL9m/oB8hS1KG38Kt0xZDPAnf8INEQd1v44S/Vn8pI3ax9ced6tXdzEKSuvDQuJ3 U7YBN2hVDIqmLqDL905A==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1netHM-004Az8-RD; Thu, 14 Apr 2022 06:48:33 +0000 Received: from mail-am5eur03on0605.outbound.protection.outlook.com ([2a01:111:f400:fe08::605] helo=EUR03-AM5-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1netGd-004Abr-PO; Thu, 14 Apr 2022 06:47:50 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=U5K9i2OmlZJqsqQQKFBWNLQf0/sPIg2RxE6T0/xv/lgOTkjPrnLUTABsapcob7bi7iNbyiW3P3WWBJEVhDYd6G957BTseP2nzKC8GnUHxzyPmNIzdXEWDF+ABmV6H/mBcSAM/h5g5ioqJpfJU7mOzqilbiFuOZBJcr71MGercmDjN2D8zWb4hpE2P7jUkHVzc0xLYi1ISEG+NJ9H0tM4ElL+Kj++L2UDLHqy1hGklfHj5sbOqpLfxb5QVSBTdjtk4exAp2Pt+VXFZgS9DRTprYRmmsYf4qc3RdbWxeId/c/wRhmS+1DQ9kEHDaITCrvyR/hCNuQjxFBJu3u+/Ro+4Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=D1NQuLWQmGo8PY4g1WlzZd8VjCk1WnNjcOgPsLF3YTU=; b=Eoe6nkA3U8wA3xp8o1W+yLFbk0eseZGACqp5CIaPVDw2yMeHSAY/J/XhF5eRFWtrO02ra5+CGmb6cIN3C1qNzzwwuYxdl4W2UPTLwM99hT81drPs3DOvrSDHP63W/BJ1//fiiUfSJUmJLENZym7o/Q5UnPo3oCmJWIHVzxBeeijX05oJzv0XOywP7Eew5N64DEIifbYWkdFGf2Po30VuDZcVKSAwIhRe/aOoz0x5bZb6wv9gsLdjOJ/Ldj3OWti0SZRB4oRl04EA2pNEMBt/GVFJhVOB+fGfu2oRDtoO05jjlF3+jzvjz1h4zvrRph9/jI+CqSjGIJiu4fgC/vzuSg== 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=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=D1NQuLWQmGo8PY4g1WlzZd8VjCk1WnNjcOgPsLF3YTU=; b=R5mGTerrcBOZsPccJ1KKlvIGHtTD70yl0hqqTFmECkydbJhM6J/nhh9S3W90LMz/VAiktb/fRZ+uCAxB6aLF1GMMebn/J1Q07qvoCZOX7UpisBQhyPxUkgU/q7RtdhFVCKkHWUd/PGstf8yFDp7ybCREdYYp4ZOwjUoLq6QBauE= 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 AM6PR04MB4744.eurprd04.prod.outlook.com (2603:10a6:20b:5::30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5144.30; Thu, 14 Apr 2022 06:47:43 +0000 Received: from AM7PR04MB7046.eurprd04.prod.outlook.com ([fe80::b09c:8ffe:8e02:7387]) by AM7PR04MB7046.eurprd04.prod.outlook.com ([fe80::b09c:8ffe:8e02:7387%9]) with mapi id 15.20.5164.018; Thu, 14 Apr 2022 06:47:43 +0000 From: Liu Ying To: linux-phy@lists.infradead.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-arm-kernel@lists.infradead.org Cc: kishon@ti.com, vkoul@kernel.org, robh+dt@kernel.org, krzk+dt@kernel.org, andrzej.hajda@intel.com, narmstrong@baylibre.com, robert.foss@linaro.org, Laurent.pinchart@ideasonboard.com, jonas@kwiboo.se, jernej.skrabec@gmail.com, airlied@linux.ie, daniel@ffwll.ch, shawnguo@kernel.org, s.hauer@pengutronix.de, kernel@pengutronix.de, festevam@gmail.com, linux-imx@nxp.com, agx@sigxcpu.org, robert.chiras@nxp.com, martin.kepplinger@puri.sm, Rob Herring Subject: [PATCH v7 3/5] dt-bindings: phy: Convert mixel, mipi-dsi-phy to json-schema Date: Thu, 14 Apr 2022 14:48:56 +0800 Message-Id: <20220414064858.405096-4-victor.liu@nxp.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220414064858.405096-1-victor.liu@nxp.com> References: <20220414064858.405096-1-victor.liu@nxp.com> X-ClientProxiedBy: SI2PR06CA0005.apcprd06.prod.outlook.com (2603:1096:4:186::12) To AM7PR04MB7046.eurprd04.prod.outlook.com (2603:10a6:20b:113::22) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: bb1a901b-4c27-45fe-f14d-08da1de2ace7 X-MS-TrafficTypeDiagnostic: AM6PR04MB4744:EE_ X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 3OjWEkhC/qyPAwg1Jhm3gHT4niLiXVkxAYgE5NT1nA/iR6L7qkNbsIjqdxci0qP82d4L/WmbeLfj/oQqzrtlskFW1WQUYXk62kvL0myi3f8987bMIrc1Lslgcpck6M2OiFoAoDFVMNGPDGQ2PKWdCB0kimeioynQo9eBLO3jszTPmizqsCkSPzte8D1YCczRsEPFJKH8SgwiS5qg8LylaloOH6JjorZ/58lPhn+JIBkWtITRRY1So4n/djC10YX5sIOte4AWrOMpXBAm82YwCHU+nZ3b9zEhp9gnwh5GhHSfOpBKuLjLjQVStaT2aCgQLbwpapkZOqPtlFbixGxtv5JawPdwXNlBcri9qxdHFOi6uFJ1Due7PyIau+KCV96olRqrzotK2REM00lTi+xkw+IKN2OEe0e/AFM9p8Q7g+/MVrwF/wNWY/68rBHFc8petcwzDFsyHtdf/ma13dHJfd7iYJi0UdTk1Y2aekiZlOWriuMqAY/8cskKbgjomgTay/Tr4CTnG4u4Qf+6EUXpShsr5893sBNN9pET7wZBSBsMi4DRV/WZETMG2m/dPZO3Cj8stDM/CHTVRIBr2C4UG8OubINXQzzkIQR4CByXHPmQPTS5sX9CQatFhvgyHPUXJoHKYb+oQM4sNvBcj/mn6qfjOEaRl+KsF0Qj3qFGBv/dh/+VbfYBlXmpCVYkuyNp+UMXmvjyChUUIk6WF1M03iCB0SrDpKEK/FPKs1V9+ySwF9MaavFDGUJpkX/So5pEhx+GQnD3OTUdQneWz+LDfTglk7eBT3+TvCsi0av9MnLQW/jdmBQ+3uruKqbvW+o6Tl6PewxfiMbkfPJKdC7aNg== 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:(13230001)(4636009)(366004)(316002)(7416002)(36756003)(38350700002)(8676002)(5660300002)(6512007)(83380400001)(66946007)(1076003)(66556008)(66476007)(66574015)(186003)(2616005)(6506007)(86362001)(4326008)(26005)(2906002)(966005)(6486002)(8936002)(38100700002)(6666004)(508600001)(52116002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?9l0bSt6fquncyzT2f7LzqKH1rvTb?= =?utf-8?q?TVQR2kukhllZr5XBsO0os4t6XkWSMcceNTf53jDlLD/28Fc8+dESVoNg0Gyq1AznV?= =?utf-8?q?kv2Ms0+sY/isLuPwp+Yo7BYbEwUtcW718acxUoHVUhnt8ISELXR2sFlsHkwQbU8ll?= =?utf-8?q?5cYlcxejigBHCalbMFF/b/cgJx0jnCo2JnAs5ROBFJYRP/KazzDKGf3l9+rizI1pi?= =?utf-8?q?tohyfmbiwjKD3xMdAx07Rd1DmLXTxSDVxJ0HyariRIS9495xL4AmDexCGbMGKN7Zm?= =?utf-8?q?vswPG4kvILLXX/DGLfHXA49ZeuFUcGp3gebywQAKXHlJPZUK5DLI6rjttnEIi2r0k?= =?utf-8?q?xUXurqUigAHJhgAtYDtvQ2k35TrLLwl2FyCb6Wpj+IvLsYMi7mZtH7FYNNu08xNTl?= =?utf-8?q?MVEZXpZm0rsYILnegEl6I3aaqQksDhx9ySiXs57X00OI7aY44CSnXXAGlcLNRdGpk?= =?utf-8?q?NtVFj4nyHsQcxUgfszRFWz1Wx8pP9SEwztw3KxuxFkHD2dOer47bThdUsL1SIbXXn?= =?utf-8?q?m/pTzLzpcDHOLTPz8nNUviBTFwEm1Rhff5V9FegkpRvno6dChbWsq6WpDfhaU9jo7?= =?utf-8?q?FSM03GlaiEUxz5/FrTjgv7D0xzeTM1WNNbc5qr9M4J3Z5fI6VZVGmCEZtVRtwrFV4?= =?utf-8?q?zJaATXk1DoinACU/8ob/Ki+Hfog85Y5+HaQH9W2Ga5FXKaDcMbRaj6hBCZ4ikDlrg?= =?utf-8?q?V7jKZzqEdbp7E5LOWwiYQgIgb+34BAQ8NSoMxHa+UbKZks98Fm6g5JOGdipMgpIvT?= =?utf-8?q?e1EA1NK/4hDJ7BFsBUYWJGMt1NEpyCV4CHxGYBny5mjPgF2OKforxjqR6Wn4iwe+9?= =?utf-8?q?26TlE9p/DcwZPA+GWZ5CtCaDKkuypm0+qOvVorNh2BKVNuEKZDfOmCtzn1y5Nbq+o?= =?utf-8?q?DGCgK24G/cLoeAxGQh7v+K4J2JNAWMtLN9IvfDd4F6KgroRDAZdaGLhq7I5mmlLK1?= =?utf-8?q?YX76o8bhvxs2WFmaNaMbu0LBv0Ev4Cwy8ljzUx7/5khJYulYrmcorcsRXSKW3lgkn?= =?utf-8?q?He/pZPWxiP3GSa457uuLDSz3M7qBxKh+PKYPgFB5Ar+gjzBCKo/56oaW6XnBoW2PP?= =?utf-8?q?2VFtRvs7wBP3upNdQGHjH7O4wx19LXggGbFtAKfDtv/t9jbE4m1NeqTUgMHrql3gA?= =?utf-8?q?8WhRWo2SVWYfmvDAwzTWHayAScfidRqGEF1LQmokronsrJeoTc56WUpojKK8uJijJ?= =?utf-8?q?szQIXq6tdocPqhMqUCGTONXH/Lvw8g9dvmZOCQfFuyRy6LZmJK2ojDrnDNrma/Xlm?= =?utf-8?q?xrBOtkQIvCYngAfecoTwlbJo0fFYcO053g6WEHCo1/ZCWlwFKnuNg+739HFwIXpH1?= =?utf-8?q?s68DII/VjEaue4xYzX4enyPOvD5sRL0I9U4bineL4Dr/pgSd2Jg7eBASzygVy1/qL?= =?utf-8?q?kbGzHGqd0OtjiABRVoxcFCXgFvX/3QOYWuAfHdSpjv6nCgVYMWjyjIhoQou4MRjch?= =?utf-8?q?P6llF9H3R6p+yhI19FdNHt/Pp3W02rxQ1uKV1rzhzsFWX8XmObwnIi8L3xDzl5NA7?= =?utf-8?q?LmVG08j70SkImUIthxIwtkxydG/fT3fNEV8uj2kaYTmH38xzVVDgnSjyxLQakcmMh?= =?utf-8?q?XRCNNwv8ok/8/hZcxPE/7cOXJ4z35r+MXILmjjQAgjF+IKTULnrLsYZV7uDOL+Kyn?= =?utf-8?q?eBr+HclJaww/quZOBBSjywzZC2lRnByw=3D=3D?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: bb1a901b-4c27-45fe-f14d-08da1de2ace7 X-MS-Exchange-CrossTenant-AuthSource: AM7PR04MB7046.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Apr 2022 06:47:42.9385 (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: t+2K5ux2CfGwFxZTJGCfi3krU73bsw85h/ik1OZwbzvAst6ChUgRxrzAicmVcwwovjde4fX/JZWNJlujPF+ASA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR04MB4744 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220413_234747_908305_55F252F7 X-CRM114-Status: GOOD ( 16.77 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org This patch converts the mixel,mipi-dsi-phy binding to DT schema format using json-schema. Comparing to the plain text version, the new binding adds the 'assigned-clocks', 'assigned-clock-parents' and 'assigned-clock-rates' properites, otherwise 'make dtbs_check' would complain that there are mis-matches. Also, the new binding requires the 'power-domains' property since all potential SoCs that embed this PHY would provide a power domain for it. The example of the new binding takes reference to the latest dphy node in imx8mq.dtsi. Cc: Guido Günther Cc: Kishon Vijay Abraham I Cc: Vinod Koul Cc: Rob Herring Cc: NXP Linux Team Reviewed-by: Rob Herring Reviewed-by: Guido Günther Signed-off-by: Liu Ying --- v6->v7: * No change. v5->v6: * No change. v4->v5: * No change. v3->v4: * Add Rob's and Guido's R-b tags. v2->v3: * Improve the 'clock-names' property by dropping 'items:'. v1->v2: * Newly introduced in v2. (Guido) .../bindings/phy/mixel,mipi-dsi-phy.txt | 29 -------- .../bindings/phy/mixel,mipi-dsi-phy.yaml | 72 +++++++++++++++++++ 2 files changed, 72 insertions(+), 29 deletions(-) delete mode 100644 Documentation/devicetree/bindings/phy/mixel,mipi-dsi-phy.txt create mode 100644 Documentation/devicetree/bindings/phy/mixel,mipi-dsi-phy.yaml diff --git a/Documentation/devicetree/bindings/phy/mixel,mipi-dsi-phy.txt b/Documentation/devicetree/bindings/phy/mixel,mipi-dsi-phy.txt deleted file mode 100644 index 9b23407233c0..000000000000 --- a/Documentation/devicetree/bindings/phy/mixel,mipi-dsi-phy.txt +++ /dev/null @@ -1,29 +0,0 @@ -Mixel DSI PHY for i.MX8 - -The Mixel MIPI-DSI PHY IP block is e.g. found on i.MX8 platforms (along the -MIPI-DSI IP from Northwest Logic). It represents the physical layer for the -electrical signals for DSI. - -Required properties: -- compatible: Must be: - - "fsl,imx8mq-mipi-dphy" -- clocks: Must contain an entry for each entry in clock-names. -- clock-names: Must contain the following entries: - - "phy_ref": phandle and specifier referring to the DPHY ref clock -- reg: the register range of the PHY controller -- #phy-cells: number of cells in PHY, as defined in - Documentation/devicetree/bindings/phy/phy-bindings.txt - this must be <0> - -Optional properties: -- power-domains: phandle to power domain - -Example: - dphy: dphy@30a0030 { - compatible = "fsl,imx8mq-mipi-dphy"; - clocks = <&clk IMX8MQ_CLK_DSI_PHY_REF>; - clock-names = "phy_ref"; - reg = <0x30a00300 0x100>; - power-domains = <&pd_mipi0>; - #phy-cells = <0>; - }; diff --git a/Documentation/devicetree/bindings/phy/mixel,mipi-dsi-phy.yaml b/Documentation/devicetree/bindings/phy/mixel,mipi-dsi-phy.yaml new file mode 100644 index 000000000000..c34f2e6d6bd5 --- /dev/null +++ b/Documentation/devicetree/bindings/phy/mixel,mipi-dsi-phy.yaml @@ -0,0 +1,72 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/phy/mixel,mipi-dsi-phy.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Mixel DSI PHY for i.MX8 + +maintainers: + - Guido Günther + +description: | + The Mixel MIPI-DSI PHY IP block is e.g. found on i.MX8 platforms (along the + MIPI-DSI IP from Northwest Logic). It represents the physical layer for the + electrical signals for DSI. + +properties: + compatible: + enum: + - fsl,imx8mq-mipi-dphy + + reg: + maxItems: 1 + + clocks: + maxItems: 1 + + clock-names: + const: phy_ref + + assigned-clocks: + maxItems: 1 + + assigned-clock-parents: + maxItems: 1 + + assigned-clock-rates: + maxItems: 1 + + "#phy-cells": + const: 0 + + power-domains: + maxItems: 1 + +required: + - compatible + - reg + - clocks + - clock-names + - assigned-clocks + - assigned-clock-parents + - assigned-clock-rates + - "#phy-cells" + - power-domains + +additionalProperties: false + +examples: + - | + #include + dphy: dphy@30a0030 { + compatible = "fsl,imx8mq-mipi-dphy"; + reg = <0x30a00300 0x100>; + clocks = <&clk IMX8MQ_CLK_DSI_PHY_REF>; + clock-names = "phy_ref"; + assigned-clocks = <&clk IMX8MQ_CLK_DSI_PHY_REF>; + assigned-clock-parents = <&clk IMX8MQ_VIDEO_PLL1_OUT>; + assigned-clock-rates = <24000000>; + #phy-cells = <0>; + power-domains = <&pgc_mipi>; + }; From patchwork Thu Apr 14 06:48:57 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Liu Ying X-Patchwork-Id: 12812993 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 61ECCC433F5 for ; Thu, 14 Apr 2022 06:50:20 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=bT1USXde+ebghJjuRn20GYFQJUCMctmYvQhuGMa5FeQ=; b=yQB5Gv4dXBLxnL cvcYzKD1HEOkixkim2W/SL0bV9JSJj3bATHeGhc5a5GfHhEq0Fklovv0tPkuFeILhfIMdVbSpVx2V 010GAygiXxCkJB4Jvov1e7OmSlnUApLZyUzHtwKuXmVBuQE2GYMuAVMCJ0ZCZ23bgc45K8E5SfbWo n5iIp3g9A3i4GfajK65XAqMmvZ6ZOP188IKTSN1t8uEC1Fk++NVc08IumyXOMwi1jg7vS2ajdpfa5 xKMU7U9+pSvhpvOjIIZsh6YTm6MOz7TU748w4wGeK9H6779rn7r27YzS7Fwu/ndp9sTsaHdI4C2oV f5N7J7Wr/FXzEwvuqKpA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1netHe-004B6P-K1; Thu, 14 Apr 2022 06:48:51 +0000 Received: from mail-vi1eur05on20626.outbound.protection.outlook.com ([2a01:111:f400:7d00::626] helo=EUR05-VI1-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1netGl-004Agn-FC; Thu, 14 Apr 2022 06:47:57 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=hinQ4xF+qKTzkSsKsVTnbnSuyYADIsX/I+8IS2U3Ww5IsOj+vhngOau2iT9ix8rkhjuxUcH4qshLcuwRS3r+82Z9A7b3p22KbMHrbBHbC//8CpKuxE00bdU77Bj2mU7fnr3wJU9KJwBKEdON0oEqU5Pd+ODO8JFowr/GLglFHypn0BrgKJr89MKeRtAGLHTm1TuOJDT8GHJ9EruyBQcn1qLj1xb9P0KiCdbWnMeGA1vFddRKf6ig8WL9st+7kzlARqi73oies2e3kQdbh2ojW0Brx9vVs1/2J1r55Rg/FcQMc+Thty7m+jSM8fZGjpx+6bcIhYwXVoMXgwzuaoxo5Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=OysCnXbfG3jgkz/UBNk5z1dEY6LvOl0+eSokDR93wQg=; b=TByVS3t19vGDWXI+jvZhPms+wDX0ivPHv9Gx3ObNIblsP//kGDnVTzsJZbpYWYUPcUCzHNQhR+IxL4VZAYX0JfI0hRzsWW4hqYHmPX/FK1UxchoDujGO2w6G1xrj8zenuv2DSeL0ISxHsw0GY/XUoTpIVIVOZTilr1pIFoI7IdHPF5mtwjvgP8GMHbCR5TNJ3u7VsV2KE22skKekCRYPqBpaURli1Z1BWhbs6DnDvkohEVc3FSFmuJQ2rJyg5SxsGFr4kJGfPjM6wyfXZvuY01+WIdN2nCi7BGlDP7WM8S1fR73hpJM3CLpxXYUsDI1VTvVozbYxQrBThKBjGwpxrw== 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=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=OysCnXbfG3jgkz/UBNk5z1dEY6LvOl0+eSokDR93wQg=; b=e+Mv5Wyd1CSLsYFM1Uv1YCIJUknXqfLyAWzIFQLIPUMwS4f3btw2z9GsLUkjYcqsCkoe0gqsyIEXUIfSrmbKvo+uc+9Y1ZGazbBEYEmvvojez5FIhVlpi45TaZRZ3/nJhiTA7VZxjACKI5iZ6kkgdtM+qxmQoHfjxhUQvqE1TVo= 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 DB7PR04MB4457.eurprd04.prod.outlook.com (2603:10a6:5:3b::30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5164.20; Thu, 14 Apr 2022 06:47:50 +0000 Received: from AM7PR04MB7046.eurprd04.prod.outlook.com ([fe80::b09c:8ffe:8e02:7387]) by AM7PR04MB7046.eurprd04.prod.outlook.com ([fe80::b09c:8ffe:8e02:7387%9]) with mapi id 15.20.5164.018; Thu, 14 Apr 2022 06:47:50 +0000 From: Liu Ying To: linux-phy@lists.infradead.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-arm-kernel@lists.infradead.org Cc: kishon@ti.com, vkoul@kernel.org, robh+dt@kernel.org, krzk+dt@kernel.org, andrzej.hajda@intel.com, narmstrong@baylibre.com, robert.foss@linaro.org, Laurent.pinchart@ideasonboard.com, jonas@kwiboo.se, jernej.skrabec@gmail.com, airlied@linux.ie, daniel@ffwll.ch, shawnguo@kernel.org, s.hauer@pengutronix.de, kernel@pengutronix.de, festevam@gmail.com, linux-imx@nxp.com, agx@sigxcpu.org, robert.chiras@nxp.com, martin.kepplinger@puri.sm, Rob Herring Subject: [PATCH v7 4/5] dt-bindings: phy: mixel: mipi-dsi-phy: Add Mixel combo PHY support for i.MX8qxp Date: Thu, 14 Apr 2022 14:48:57 +0800 Message-Id: <20220414064858.405096-5-victor.liu@nxp.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220414064858.405096-1-victor.liu@nxp.com> References: <20220414064858.405096-1-victor.liu@nxp.com> X-ClientProxiedBy: SI2PR06CA0005.apcprd06.prod.outlook.com (2603:1096:4:186::12) To AM7PR04MB7046.eurprd04.prod.outlook.com (2603:10a6:20b:113::22) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 825ddf17-32b1-4d70-d9ba-08da1de2b127 X-MS-TrafficTypeDiagnostic: DB7PR04MB4457:EE_ X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: iD+ws2V8XxA0+0hFcr27GKhKijmhoHU9XM23DsOH5WlfVmG4umeY+7N7+KeKhWJ+HayA7fD4ZCzDTiWHi5sAxitOs4LlibsslxQYVssQZXP5Lk3+FNF50y2yYhQQtL7SBbeaWXJLmABXzpwhxBXEVqb5LhUkyJwIW+QB/FpYv99wvYlZ04Hm3hJOnDiAbysHwUJoKe2o3UU/6UpsZoma8juLG77b3yQUYNEqTqkrZFT9LIPvkBSx/KzgPlJlJsW5ni9zxuB7HcsQ6OrAp4qhY9HC3/VGvecjFiXxgPQybLxVemb2C6Ki2IlOjl4Im2aD8Qa6IR4tSQaRGLaLl/0PZvfuyIg1DP6Tar86MJq6SJhhPJ7sbmYDC7jjEijv9yttFlVBihIsfq5wTXeeDEv3PZYadXHxOiag7XFJIs/Kzwzrpmn7o+8ibDBft0li2xTWHvywyUs3AtqU9Rwf3dT+qQPzXAsAM2QgIa/61GKgn/sVCPROhdPd/E0KrJsuZkTJUPpMTZWb5iJvlf9wNndp+tgI9KuaUCO+nleMRo47nDsCcRNEPbE49qx8OCeb665otp8dt+PtNX9+/i87ib+OQZDar6zk5CvKPrLWTqlH+rU29oJeb0qILtnFsrwU9XTgdCKq6YNp6+YKYDPJgtBb/CQ+kCmDTn3oK7IHlokMt3olWhh0Oz0GrRo1Nt21f7FyEuA0C0dwEl4K6doAmTOCjA== 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:(13230001)(4636009)(366004)(2906002)(316002)(8936002)(66476007)(4326008)(508600001)(7416002)(8676002)(66946007)(36756003)(38100700002)(38350700002)(5660300002)(83380400001)(52116002)(66556008)(6486002)(6512007)(2616005)(26005)(186003)(6506007)(86362001)(1076003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?cR3Eg4AlJF7fzLb8HTbpHzAkfG6i?= =?utf-8?q?dzNeeCf+caap8f6yYG+RMiD2sT8LgFbLj2THrra/yQpxrb+Ca95BjcyiYlEJPHcbB?= =?utf-8?q?aRKotZENBgsD1XDU/nj6vmfo52A98z2wqDxu3IGgPfiaYVvOq4qZzYNAm0JJvI0wm?= =?utf-8?q?vANjpKUsYh5hoDtdeCo1KhLDVBPHrel7gnuNL6EtLhmrI/hHeUSKazWgRDVfA8Ssy?= =?utf-8?q?dd6FpnjSYETktMh3DmuYtZPFFfX7LjKTPSsHIvvLqmGm3j5Vmsc6ETDyoHayMdmsg?= =?utf-8?q?xbVF2wq50uciLxA4RSfM1fsXC00AvOPXkLdWsSUKf65kO2ABp6EgqO0C+B5Z6vzhY?= =?utf-8?q?+bglA5SOm379exmyStXJUWr1NqyO0b3xPJzdsPpZejdGkNGpnOpRvvbwA4lq65c3S?= =?utf-8?q?cqubROobBi5Pm6ghx4xMzLzkla2v1TmIU7mpGOerCm0w179wK3OTcO5TIIigSoW3w?= =?utf-8?q?djjnwsDiYjpjkrZgCsb2VKRG1k/UOLr/DMk3ELbJc7yQ4GSNyWK9go9ZjwOIS57Hg?= =?utf-8?q?vDmGY8cca7exZsg2mc3qjw0z5WZHVXx9L0KSPEIVq0GwyLfOXOBi+X0IQ/046vNPf?= =?utf-8?q?Oxfp82KLzIh3b9GuEYjLoozv0KoHhdvoMx5oR2wtcElxEGWG11Iaj7JGEdDE7i5QB?= =?utf-8?q?g5pYsi8hcRKCEgSo3c3ggi16gBhRSHix87XAk+4HC2wcEN8BxIYru3u2SQH8/rxK7?= =?utf-8?q?pkgIVd1zDBvuRs9q+4hW7ez3kSez5q5pYxrgrd197ZCjzFalpR0+Qd8ve1ywgez6c?= =?utf-8?q?oaYz7RXs7G++rNPPpcyr+QodMgkRRapaSj7M3pLeCuRN17ze5D5VEZI2pYz3TDZ5t?= =?utf-8?q?ztL0VyE6Nt5IZqAkiDSh9QvPHIbHzQHMdJXiPPyAiuREX8+GvLPZTNsxlIqaz5aJu?= =?utf-8?q?XaZ/HhulNyvCWNr+7IbJDKp5t0QfSXmyDHKPeIXmSe5u75z+Cidocpaj35+ACwhwx?= =?utf-8?q?OXopcQi5w2o2gq1+Z+SKvZcJgEgcx8PvyV84AP2DqrwCu0WI3DWU8pAftw/P5SYAI?= =?utf-8?q?HA4A1i4wIA/htNliVQFSGXrjvCoyIrNr3BbmNOAj9itrz9Zwha+snyYRjZ6slgRH9?= =?utf-8?q?6K5ZQYJBBlKnTTtehYJDnbfz9JMgg+3A0N+2+y7kjniUZjbjSjB0KnxItdQKvFbPO?= =?utf-8?q?nSVbs7vJpfhx5VIGrBWJVrQTbbtEKggCx0asrgHOOWUxeJnpxnFeKFvVVup1/2WR9?= =?utf-8?q?hVJE639IwFcfCwCTQ9sSxgb9vmfuakFi8hGmDKtMaOpsUbdqs2S4pU0GupIVXVI34?= =?utf-8?q?+uw7wQKIvFJxvfXmarUyuA5kWcUVBtXc3Zy/zaVroQ4rPHRKzTT6+9sOdLa1s/wrh?= =?utf-8?q?1EKqZL4v38566+V/KATW2btlyY1omq0GMi7c0e0M2HXJULa3sEpblk85c+d9oo2qb?= =?utf-8?q?xnBDkKfAl8KRkMFxuYUEq8g+JIJKvukTVY4QqWnn/U3d/kgE9UGJKfNCksAd4g0Qv?= =?utf-8?q?o+JrRX08GHTL2aKZVnxTzYQF5id7qYQ8Nu+YRRXiwroIvhMVcVU+gVdZnzKAlGTU5?= =?utf-8?q?vZvxoTqN5hiADPNbHV46L1E/5/nrgBE771RVJdvJErdn2YsAhvLFnGcWEdVnWBu7T?= =?utf-8?q?EFfHe3W2xae6FQiw2Xpl3hNaN/mQHIMBgxIXqcuGEXYmfaNZ32Xsjv05y0wmlYjlr?= =?utf-8?q?/RCzgwW7NN70VOXV8X6qCu1FnGeB7fZw=3D=3D?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 825ddf17-32b1-4d70-d9ba-08da1de2b127 X-MS-Exchange-CrossTenant-AuthSource: AM7PR04MB7046.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Apr 2022 06:47:50.0839 (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: BHXgiXOJb+RESbVvaKN5aYbO1LrYgqkd//pKQzqCI/bjU+kvP24RnXOtDl05sFqZcrOpmF120TUoyrdGgCOX6g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR04MB4457 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220413_234755_599125_DF77D052 X-CRM114-Status: UNSURE ( 9.07 ) X-CRM114-Notice: Please train this message. X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Add support for Mixel MIPI DPHY + LVDS PHY combo IP as found on Freescale i.MX8qxp SoC. Cc: Guido Günther Cc: Kishon Vijay Abraham I Cc: Vinod Koul Cc: Rob Herring Cc: NXP Linux Team Reviewed-by: Rob Herring Reviewed-by: Guido Günther Signed-off-by: Liu Ying --- v6->v7: * No change. v5->v6: * No change. v4->v5: * No change. v3->v4: * Add Rob's and Guido's R-b tags. v2->v3: * No change. v1->v2: * Add the binding for i.MX8qxp Mixel combo PHY based on the converted binding. (Guido) .../bindings/phy/mixel,mipi-dsi-phy.yaml | 41 +++++++++++++++++-- 1 file changed, 38 insertions(+), 3 deletions(-) diff --git a/Documentation/devicetree/bindings/phy/mixel,mipi-dsi-phy.yaml b/Documentation/devicetree/bindings/phy/mixel,mipi-dsi-phy.yaml index c34f2e6d6bd5..786cfd71cb7e 100644 --- a/Documentation/devicetree/bindings/phy/mixel,mipi-dsi-phy.yaml +++ b/Documentation/devicetree/bindings/phy/mixel,mipi-dsi-phy.yaml @@ -14,10 +14,14 @@ description: | MIPI-DSI IP from Northwest Logic). It represents the physical layer for the electrical signals for DSI. + The Mixel PHY IP block found on i.MX8qxp is a combo PHY that can work + in either MIPI-DSI PHY mode or LVDS PHY mode. + properties: compatible: enum: - fsl,imx8mq-mipi-dphy + - fsl,imx8qxp-mipi-dphy reg: maxItems: 1 @@ -40,6 +44,11 @@ properties: "#phy-cells": const: 0 + fsl,syscon: + $ref: /schemas/types.yaml#/definitions/phandle + description: | + A phandle which points to Control and Status Registers(CSR) module. + power-domains: maxItems: 1 @@ -48,12 +57,38 @@ required: - reg - clocks - clock-names - - assigned-clocks - - assigned-clock-parents - - assigned-clock-rates - "#phy-cells" - power-domains +allOf: + - if: + properties: + compatible: + contains: + const: fsl,imx8mq-mipi-dphy + then: + properties: + fsl,syscon: false + + required: + - assigned-clocks + - assigned-clock-parents + - assigned-clock-rates + + - if: + properties: + compatible: + contains: + const: fsl,imx8qxp-mipi-dphy + then: + properties: + assigned-clocks: false + assigned-clock-parents: false + assigned-clock-rates: false + + required: + - fsl,syscon + additionalProperties: false examples: From patchwork Thu Apr 14 06:48:58 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Liu Ying X-Patchwork-Id: 12812994 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 85C3BC433F5 for ; Thu, 14 Apr 2022 06:50:54 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=qBor+8NxcmmFn+ZYSX8D1r9mhoqP/B77/C9BnuKugh8=; b=0pMdiv2Iz8Vn4t XQhy6pLDIHSqboD4jUEeF0PgnpfUr42T/1i4pXdISs4pqXeWaCbI6qYKFM3D4M5WA97tfnQ5IOKHJ Ta+CKcbU4EpCS30/fF7xykB9PLLgs50lp0VaZE4oMRjWdanJo9xi69wBI/ylQ7meJeqhPJ8yn0SAD cZAAMaDqFbkSHjq4nUyQSZISQQelFrGtFHX1mhRfdCR/Oa0Ti7ss/cah+jsVAoHY8MrhHKAQl+k6E RBuOZAsb+VVse30V2k7ae7e8ompHAamgnovd/B4OiN2IGwF9d/1uvYvELv3jrHkEKt9Q5FW8VY0E4 owzzzS/rBEztwV7QUrVQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1netI7-004BIk-2y; Thu, 14 Apr 2022 06:49:20 +0000 Received: from mail-vi1eur05on2062a.outbound.protection.outlook.com ([2a01:111:f400:7d00::62a] helo=EUR05-VI1-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1netGq-004AjU-Ht; Thu, 14 Apr 2022 06:48:04 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=CafU0QIcldYmE0zvoP9rhNOJLME3BVZjVuQ9TUYkM+7G3TKhKo5rxxltPWRMgPqhTHcBctKA6oiT+YCQZKkxa/+iq+00RRXCrs4On2FgDE0IGhEfMbh+PRys4e0M7fiRk1xL6eafTK9thcCgGOSJsKSTvGN+KL7B6tfmh5v+DP7OJBLq/k1ls+oRKJSwKpLLMzbCnQUOxdoDyY0EzfDffkpG1pDRYXrgsl2rvg104b7yMXdiZWIpO8PG+wXPWk/lHmbPqQcPvf850xiX5zI7sviB/PrYZx7vt7Knar5mNsfHfPu7UhAB2tZqjhFOXZPeniSmqndKFbKiACBmy7tzRQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=n6P1iG6RXJB7n5gsIowMtBbtP9CKJhpWvI3Qkz7ImnI=; b=jQ9bMy2Cm/Ib6+IbErsiZVsSFD+YoUBj/ZVGLgaDz9B1KuUYqgraVlmeAOYqKQeUAn4OfdnkamNMzFrAQAvzSMN6+WP2DjuQpuLGSUaynWdCmpuvzQi2fypmUNvd6okvs1NkLIdHiZCWmpNTohanIhec+hfZ18LfXGeb2vQ1mLYusnbtLQ81Cax13LJnhlSDN16h4JMof7on8CJlB2Jb/4BcEpCvaRsL2XtQqaEq36WRJkGHxF9GeRa96G6BkBJWwD+BOhc4lnkw0UvLsTPu+NKAVW/1qZIfkPXP3TzJ5rZfVqor0fo83WSGFmD4/9/yGF1Km8Dhh4tOU3iUmg42zQ== 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=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=n6P1iG6RXJB7n5gsIowMtBbtP9CKJhpWvI3Qkz7ImnI=; b=fLOO5fINd5lF8Vg270gNGwH8bkv0nXnbj1VBS1PLIRRm98cnqclBRhOqMQOzSr0xzrHIcJjyj9W7ZUGWWILkFTljXW/pYqVZamTD+zFF3n6xtl8xY8emKL9d5tXb66KJbesbFbG6/B1g41+18xfFH3q3YBobczNTUWwrW6UaNRo= 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 DB7PR04MB4457.eurprd04.prod.outlook.com (2603:10a6:5:3b::30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5164.20; Thu, 14 Apr 2022 06:47:57 +0000 Received: from AM7PR04MB7046.eurprd04.prod.outlook.com ([fe80::b09c:8ffe:8e02:7387]) by AM7PR04MB7046.eurprd04.prod.outlook.com ([fe80::b09c:8ffe:8e02:7387%9]) with mapi id 15.20.5164.018; Thu, 14 Apr 2022 06:47:57 +0000 From: Liu Ying To: linux-phy@lists.infradead.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-arm-kernel@lists.infradead.org Cc: kishon@ti.com, vkoul@kernel.org, robh+dt@kernel.org, krzk+dt@kernel.org, andrzej.hajda@intel.com, narmstrong@baylibre.com, robert.foss@linaro.org, Laurent.pinchart@ideasonboard.com, jonas@kwiboo.se, jernej.skrabec@gmail.com, airlied@linux.ie, daniel@ffwll.ch, shawnguo@kernel.org, s.hauer@pengutronix.de, kernel@pengutronix.de, festevam@gmail.com, linux-imx@nxp.com, agx@sigxcpu.org, robert.chiras@nxp.com, martin.kepplinger@puri.sm Subject: [PATCH v7 5/5] phy: freescale: phy-fsl-imx8-mipi-dphy: Add i.MX8qxp LVDS PHY mode support Date: Thu, 14 Apr 2022 14:48:58 +0800 Message-Id: <20220414064858.405096-6-victor.liu@nxp.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220414064858.405096-1-victor.liu@nxp.com> References: <20220414064858.405096-1-victor.liu@nxp.com> X-ClientProxiedBy: SI2PR06CA0005.apcprd06.prod.outlook.com (2603:1096:4:186::12) To AM7PR04MB7046.eurprd04.prod.outlook.com (2603:10a6:20b:113::22) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: fba3b9f7-f809-4571-2465-08da1de2b541 X-MS-TrafficTypeDiagnostic: DB7PR04MB4457:EE_ X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: j4+TtUNuJTpAal9/QSPLBPw1DHN7agoh5Zsm5gKVlHOtB28hT5vvJZZ5dTyIhpGs7kYsrzQSFU+hriumkGsqRqY129tAcFqiovQW6Mo5pWKvbceYicgAY396GJ2bRjTAADG5eeq6PRdneHsVk+HxmENA4h81FzQrQBmH69saxfnm9mN8ttTZrCipO8oKKJlTmWBimqZfjM3HSo6M5DaDAn1d/OYEUXwcumeYtQbE3iFAeOO22V7PZy5AKSsZbqMIpPkT2I8BuX106OM0k+U6abtfpWHYyI4UQP3nEmaLtWru2t9nI5ingdcHO+L6S65/wD5FR57M8bLbxcl746dR60Nqiv1b6yAesNRT7QRtShj1SBvg5Dt5hi80aAnuYvEK6doCQeTlQZoIpGbnhguQd+cKk3rPIm4xtqONAyGo4WONmJfwgCoRdFgZgpl3XDDpLveS0c6ZCku16/PgaIqTI9nijYRAO1+wnf5IWkU77byaW8tJVJEhQiGl1WtQqDadAy9DiFLGNCUdLsD/C0gq9tJl1NXkntoU2iLdqGMkfQptaKAcIOtdAvyR3dmwm4vKbZdGw5rfP4p7ZmRnPPCw1XTm6Id1UMkJgj63UyNNHxYRD9z8MzbkEgMnm1CZ5gkF5qVH6YjQQfc9Dfga8jF4G+mjaD2GPS5kflxYxlbTqDkzR2ISQMcnReH9XNkepxHsvPPxojPC/XPW/NxD/BAmsA== 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:(13230001)(4636009)(366004)(2906002)(316002)(8936002)(66476007)(4326008)(508600001)(7416002)(8676002)(66946007)(36756003)(38100700002)(38350700002)(5660300002)(83380400001)(52116002)(66556008)(6486002)(6512007)(2616005)(26005)(66574015)(30864003)(186003)(6506007)(86362001)(1076003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?98O8ZZlC+By4HwrLLAhAXA0RRKPY?= =?utf-8?q?lKHRWZv6GLzwNdjDosAwDRU5Oo51M0S3KE9jOxIEf2bjOU7vZk9RX2TQSGlig1cFw?= =?utf-8?q?e0GBhG45KGPzyXFbXSzB1UrOphWfhaLJoPSuUWMWX/hegH5WjS0WDWUnra8ZKxkgr?= =?utf-8?q?uHfrju1qjD/TIRHzHIrVvukK3CICaBU2+RQp7a+PvsGPzlyU9BkrIsHp1kgni7G2L?= =?utf-8?q?iabDXEIvd1M8mVYfEpF+L3br1rMDURk0YHQyatAXZa12IlVv5nckGSe0ymAHQbPqS?= =?utf-8?q?49qxRYHBrJE4RzjPJPO195DZ6+3bhooZclFHRw0SSQTv1JqdyMDpdUxGBQe0NyWxz?= =?utf-8?q?2SKRW77ftTJGwmBPGFctsA3wZPM9VWB8SEK4mAqh2PKAUmpqFQTLxzjrxugPix3pC?= =?utf-8?q?9LCWGhINqSW9ck8YHrAGchxZXquRmi4NYzRdp/5cJEo8DrJg0l+EaJjIE3zUxXF+P?= =?utf-8?q?l/MaDZWsvKiZmvfRieS5/DRS1JOwRFgi2OjLYtijlT3goNvxjEUZuYEhhcU+FPsGR?= =?utf-8?q?whxPrjtGtmVrHkvAltlq87V9yAJNs8QZjR6OcOxFCzW6B/FhjaytVB/oyIJtDhXSG?= =?utf-8?q?S1cgfNwyyZ42ox8xJRBMfC87wBZR0ZzNxAGS+4SSPDDdVBCui91U0Nn98JG9RA/Ep?= =?utf-8?q?6fQgRBjqJ44Dz6lKJ6TkrhlfY2xsSh0SgWLah1A5/6p8t4aTvOSFbNVz1DxBmNUSL?= =?utf-8?q?picmm/CWut+QUZ9BhPkElcSMgSjh6GCnabzy//6KwBVM4oDyyaP7R3ynOOgtnOJCm?= =?utf-8?q?CbwKqxnM2P7YRZNE5RnYk/CL7JnL5tvE1nKyGk8b0PhxBD9PrljYOwyZ4I4BCFuMa?= =?utf-8?q?7SQUuKKi6c8oBsh9Rm3Jm4PEondp2X4wEKpOeGx5cSb11csFlZu6SDyEDv3jPE5bV?= =?utf-8?q?SgUk31mAo21m23kAL1OGZ0XrzUV70it3lRqRy6evMZ+d3qsQR8f1kjRbeb7zArGb7?= =?utf-8?q?ZNQlGejvV9BbBO8OqmCb10kpCveUZNzeKMiwKe9i7cUiZN/Q+19npQC9YtdDa0FQs?= =?utf-8?q?3TNtFWLUFlnWNoBomw2L+tVu4fi5hG4gpWgXFx0zGyEcz81gf7o0WSLyEQPu/Prrq?= =?utf-8?q?ZYHlsqH3Wo9QDuE6J+uJE7Qt6fxKyQ0RrLAo78PO6PHdRoXjZEdw6pBEe+31oHiT4?= =?utf-8?q?sk1JFp+HzR6G70iOb4EqnDxYOH8AiZkVE3Ldngz9joE2XH8MK97weqVNwmonv4NsN?= =?utf-8?q?TZdooChdNl4J3nT73dliW8ILiZTWLZN5nWENZYCGU+wU8htcLhhA3AdtgLEuljyWT?= =?utf-8?q?NwrbfTTD/K7wvPPqWNSzbHEMijIVqYiv224KuMu6mnWljP6MumFkKTc2vgJAbPvle?= =?utf-8?q?oBi/0s5FLh/yS8qLgDWrm0UfG3+aQgSzv+c1f7itXJ4KDVPm028/UF88JYMVkYyMh?= =?utf-8?q?xoj/b0yWYxIdUZnIPfMXvkh6bvKZoNXJ4H2srW9fBE6wS7fvzZ4QHngSbPfixpC67?= =?utf-8?q?zOXad1fH7L6RS11TSNPqc04bW27NSuQyZEVEaM2kF6GdbmbnxhqashnwgYRVfWLaO?= =?utf-8?q?ZJzHKOGMf0wElSblqeYH8LoCS5sxSTHQsLVZFMhV08vguf5jY0lrK1tcMg8hCIyIP?= =?utf-8?q?Fw9YdTi0tiaRLKvumJwDm5Ahk4/sUcBFpxzf1PLaYmz4JrBEG7tciIc9+8vMnCT2N?= =?utf-8?q?ium8hJGb3jRDHVV/WFRMBeGUmulvOsgA=3D=3D?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: fba3b9f7-f809-4571-2465-08da1de2b541 X-MS-Exchange-CrossTenant-AuthSource: AM7PR04MB7046.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Apr 2022 06:47:56.9449 (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: qbf/Si6kP5CblMt5iJjZIeIaiGEKez3zxPgzBZR5jk5x5+bSa5bzU0Y2TaNyztqIK9DlTvWFmnF3VaWa2Hnj/A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR04MB4457 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220413_234800_910727_8CCAE790 X-CRM114-Status: GOOD ( 21.95 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org i.MX8qxp SoC embeds a Mixel MIPI DPHY + LVDS PHY combo which supports either a MIPI DSI display or a LVDS display. The PHY mode is controlled by SCU firmware and the driver would call a SCU firmware function to configure the PHY mode. The single LVDS PHY has 4 data lanes to support a LVDS display. Also, with a master LVDS PHY and a slave LVDS PHY, they may work together to support a LVDS display with 8 data lanes(usually, dual LVDS link display). Note that this patch supports the LVDS PHY mode only for the i.MX8qxp Mixel combo PHY, i.e., the MIPI DPHY mode is yet to be supported, so for now error would be returned from ->set_mode() if MIPI DPHY mode is passed over to it for the combo PHY. Cc: Guido Günther Cc: Robert Chiras Cc: Kishon Vijay Abraham I Cc: Vinod Koul Cc: Shawn Guo Cc: Sascha Hauer Cc: Pengutronix Kernel Team Cc: Fabio Estevam Cc: NXP Linux Team Reviewed-by: Guido Günther Signed-off-by: Liu Ying --- v6->v7: * Use marco instead of magic number for CCM and CA values. * Suppress 'checkpatch --strict' warnings. v5->v6: * No change. v4->v5: * No change. v3->v4: * Add Guido's R-b tag. v2->v3: * Improve readability of mixel_dphy_set_mode(). (Guido) v1->v2: * Print invalid PHY mode in dmesg. (Guido) .../phy/freescale/phy-fsl-imx8-mipi-dphy.c | 276 +++++++++++++++++- 1 file changed, 265 insertions(+), 11 deletions(-) diff --git a/drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c b/drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c index a95572b397ca..e625b32889bf 100644 --- a/drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c +++ b/drivers/phy/freescale/phy-fsl-imx8-mipi-dphy.c @@ -4,17 +4,33 @@ * Copyright 2019 Purism SPC */ +#include #include #include #include +#include +#include #include #include +#include #include #include #include #include #include #include +#include + +/* Control and Status Registers(CSR) */ +#define PHY_CTRL 0x00 +#define CCM_MASK GENMASK(7, 5) +#define CCM(n) FIELD_PREP(CCM_MASK, (n)) +#define CCM_1_2V 0x5 +#define CA_MASK GENMASK(4, 2) +#define CA_3_51MA 0x4 +#define CA(n) FIELD_PREP(CA_MASK, (n)) +#define RFB BIT(1) +#define LVDS_EN BIT(0) /* DPHY registers */ #define DPHY_PD_DPHY 0x00 @@ -55,8 +71,15 @@ #define PWR_ON 0 #define PWR_OFF 1 +#define MIN_VCO_FREQ 640000000 +#define MAX_VCO_FREQ 1500000000 + +#define MIN_LVDS_REFCLK_FREQ 24000000 +#define MAX_LVDS_REFCLK_FREQ 150000000 + enum mixel_dphy_devtype { MIXEL_IMX8MQ, + MIXEL_IMX8QXP, }; struct mixel_dphy_devdata { @@ -65,6 +88,7 @@ struct mixel_dphy_devdata { u8 reg_rxlprp; u8 reg_rxcdrp; u8 reg_rxhs_settle; + bool is_combo; /* MIPI DPHY and LVDS PHY combo */ }; static const struct mixel_dphy_devdata mixel_dphy_devdata[] = { @@ -74,6 +98,10 @@ static const struct mixel_dphy_devdata mixel_dphy_devdata[] = { .reg_rxlprp = 0x40, .reg_rxcdrp = 0x44, .reg_rxhs_settle = 0x48, + .is_combo = false, + }, + [MIXEL_IMX8QXP] = { + .is_combo = true, }, }; @@ -95,8 +123,12 @@ struct mixel_dphy_cfg { struct mixel_dphy_priv { struct mixel_dphy_cfg cfg; struct regmap *regmap; + struct regmap *lvds_regmap; struct clk *phy_ref_clk; const struct mixel_dphy_devdata *devdata; + struct imx_sc_ipc *ipc_handle; + bool is_slave; + int id; }; static const struct regmap_config mixel_dphy_regmap_config = { @@ -317,7 +349,8 @@ static int mixel_dphy_set_pll_params(struct phy *phy) return 0; } -static int mixel_dphy_configure(struct phy *phy, union phy_configure_opts *opts) +static int +mixel_dphy_configure_mipi_dphy(struct phy *phy, union phy_configure_opts *opts) { struct mixel_dphy_priv *priv = phy_get_drvdata(phy); struct mixel_dphy_cfg cfg = { 0 }; @@ -345,15 +378,126 @@ static int mixel_dphy_configure(struct phy *phy, union phy_configure_opts *opts) return 0; } +static int +mixel_dphy_configure_lvds_phy(struct phy *phy, union phy_configure_opts *opts) +{ + struct mixel_dphy_priv *priv = phy_get_drvdata(phy); + struct phy_configure_opts_lvds *lvds_opts = &opts->lvds; + unsigned long data_rate; + unsigned long fvco; + u32 rsc; + u32 co; + int ret; + + priv->is_slave = lvds_opts->is_slave; + + /* LVDS interface pins */ + regmap_write(priv->lvds_regmap, PHY_CTRL, + CCM(CCM_1_2V) | CA(CA_3_51MA) | RFB); + + /* enable MODE8 only for slave LVDS PHY */ + rsc = priv->id ? IMX_SC_R_MIPI_1 : IMX_SC_R_MIPI_0; + ret = imx_sc_misc_set_control(priv->ipc_handle, rsc, IMX_SC_C_DUAL_MODE, + lvds_opts->is_slave); + if (ret) { + dev_err(&phy->dev, "Failed to configure MODE8: %d\n", ret); + return ret; + } + + /* + * Choose an appropriate divider ratio to meet the requirement of + * PLL VCO frequency range. + * + * ----- 640MHz ~ 1500MHz ------------ --------------- + * | VCO | ----------------> | CO divider | -> | LVDS data rate| + * ----- FVCO ------------ --------------- + * 1/2/4/8 div 7 * differential_clk_rate + */ + data_rate = 7 * lvds_opts->differential_clk_rate; + for (co = 1; co <= 8; co *= 2) { + fvco = data_rate * co; + + if (fvco >= MIN_VCO_FREQ) + break; + } + + if (fvco < MIN_VCO_FREQ || fvco > MAX_VCO_FREQ) { + dev_err(&phy->dev, "VCO frequency %lu is out of range\n", fvco); + return -ERANGE; + } + + /* + * CO is configurable, while CN and CM are not, + * as fixed ratios 1 and 7 are applied respectively. + */ + phy_write(phy, __ffs(co), DPHY_CO); + + /* set reference clock rate */ + clk_set_rate(priv->phy_ref_clk, lvds_opts->differential_clk_rate); + + return ret; +} + +static int mixel_dphy_configure(struct phy *phy, union phy_configure_opts *opts) +{ + if (!opts) { + dev_err(&phy->dev, "No configuration options\n"); + return -EINVAL; + } + + if (phy->attrs.mode == PHY_MODE_MIPI_DPHY) + return mixel_dphy_configure_mipi_dphy(phy, opts); + else if (phy->attrs.mode == PHY_MODE_LVDS) + return mixel_dphy_configure_lvds_phy(phy, opts); + + dev_err(&phy->dev, + "Failed to configure PHY with invalid PHY mode: %d\n", phy->attrs.mode); + + return -EINVAL; +} + +static int +mixel_dphy_validate_lvds_phy(struct phy *phy, union phy_configure_opts *opts) +{ + struct phy_configure_opts_lvds *lvds_cfg = &opts->lvds; + + if (lvds_cfg->bits_per_lane_and_dclk_cycle != 7) { + dev_err(&phy->dev, "Invalid bits per LVDS data lane: %u\n", + lvds_cfg->bits_per_lane_and_dclk_cycle); + return -EINVAL; + } + + if (lvds_cfg->lanes != 4) { + dev_err(&phy->dev, "Invalid LVDS data lanes: %u\n", lvds_cfg->lanes); + return -EINVAL; + } + + if (lvds_cfg->differential_clk_rate < MIN_LVDS_REFCLK_FREQ || + lvds_cfg->differential_clk_rate > MAX_LVDS_REFCLK_FREQ) { + dev_err(&phy->dev, + "Invalid LVDS differential clock rate: %lu\n", + lvds_cfg->differential_clk_rate); + return -EINVAL; + } + + return 0; +} + static int mixel_dphy_validate(struct phy *phy, enum phy_mode mode, int submode, union phy_configure_opts *opts) { - struct mixel_dphy_cfg cfg = { 0 }; + if (mode == PHY_MODE_MIPI_DPHY) { + struct mixel_dphy_cfg mipi_dphy_cfg = { 0 }; - if (mode != PHY_MODE_MIPI_DPHY) - return -EINVAL; + return mixel_dphy_config_from_opts(phy, &opts->mipi_dphy, + &mipi_dphy_cfg); + } else if (mode == PHY_MODE_LVDS) { + return mixel_dphy_validate_lvds_phy(phy, opts); + } - return mixel_dphy_config_from_opts(phy, &opts->mipi_dphy, &cfg); + dev_err(&phy->dev, + "Failed to validate PHY with invalid PHY mode: %d\n", mode); + return -EINVAL; } static int mixel_dphy_init(struct phy *phy) @@ -373,26 +517,74 @@ static int mixel_dphy_exit(struct phy *phy) return 0; } -static int mixel_dphy_power_on(struct phy *phy) +static int mixel_dphy_power_on_mipi_dphy(struct phy *phy) { struct mixel_dphy_priv *priv = phy_get_drvdata(phy); u32 locked; int ret; - ret = clk_prepare_enable(priv->phy_ref_clk); - if (ret < 0) - return ret; - phy_write(phy, PWR_ON, DPHY_PD_PLL); ret = regmap_read_poll_timeout(priv->regmap, DPHY_LOCK, locked, locked, PLL_LOCK_SLEEP, PLL_LOCK_TIMEOUT); if (ret < 0) { dev_err(&phy->dev, "Could not get DPHY lock (%d)!\n", ret); - goto clock_disable; + return ret; } phy_write(phy, PWR_ON, DPHY_PD_DPHY); + return 0; +} + +static int mixel_dphy_power_on_lvds_phy(struct phy *phy) +{ + struct mixel_dphy_priv *priv = phy_get_drvdata(phy); + u32 locked; + int ret; + + regmap_update_bits(priv->lvds_regmap, PHY_CTRL, LVDS_EN, LVDS_EN); + + phy_write(phy, PWR_ON, DPHY_PD_DPHY); + phy_write(phy, PWR_ON, DPHY_PD_PLL); + + /* do not wait for slave LVDS PHY being locked */ + if (priv->is_slave) + return 0; + + ret = regmap_read_poll_timeout(priv->regmap, DPHY_LOCK, locked, + locked, PLL_LOCK_SLEEP, + PLL_LOCK_TIMEOUT); + if (ret < 0) { + dev_err(&phy->dev, "Could not get LVDS PHY lock (%d)!\n", ret); + return ret; + } + + return 0; +} + +static int mixel_dphy_power_on(struct phy *phy) +{ + struct mixel_dphy_priv *priv = phy_get_drvdata(phy); + int ret; + + ret = clk_prepare_enable(priv->phy_ref_clk); + if (ret < 0) + return ret; + + if (phy->attrs.mode == PHY_MODE_MIPI_DPHY) { + ret = mixel_dphy_power_on_mipi_dphy(phy); + } else if (phy->attrs.mode == PHY_MODE_LVDS) { + ret = mixel_dphy_power_on_lvds_phy(phy); + } else { + dev_err(&phy->dev, + "Failed to power on PHY with invalid PHY mode: %d\n", + phy->attrs.mode); + ret = -EINVAL; + } + + if (ret) + goto clock_disable; + return 0; clock_disable: clk_disable_unprepare(priv->phy_ref_clk); @@ -406,16 +598,51 @@ static int mixel_dphy_power_off(struct phy *phy) phy_write(phy, PWR_OFF, DPHY_PD_PLL); phy_write(phy, PWR_OFF, DPHY_PD_DPHY); + if (phy->attrs.mode == PHY_MODE_LVDS) + regmap_update_bits(priv->lvds_regmap, PHY_CTRL, LVDS_EN, 0); + clk_disable_unprepare(priv->phy_ref_clk); return 0; } +static int mixel_dphy_set_mode(struct phy *phy, enum phy_mode mode, int submode) +{ + struct mixel_dphy_priv *priv = phy_get_drvdata(phy); + int ret; + + if (priv->devdata->is_combo && mode != PHY_MODE_LVDS) { + dev_err(&phy->dev, "Failed to set PHY mode for combo PHY\n"); + return -EINVAL; + } + + if (!priv->devdata->is_combo && mode != PHY_MODE_MIPI_DPHY) { + dev_err(&phy->dev, "Failed to set PHY mode to MIPI DPHY\n"); + return -EINVAL; + } + + if (priv->devdata->is_combo) { + u32 rsc = priv->id ? IMX_SC_R_MIPI_1 : IMX_SC_R_MIPI_0; + + ret = imx_sc_misc_set_control(priv->ipc_handle, + rsc, IMX_SC_C_MODE, + mode == PHY_MODE_LVDS); + if (ret) { + dev_err(&phy->dev, + "Failed to set PHY mode via SCU ipc: %d\n", ret); + return ret; + } + } + + return 0; +} + static const struct phy_ops mixel_dphy_phy_ops = { .init = mixel_dphy_init, .exit = mixel_dphy_exit, .power_on = mixel_dphy_power_on, .power_off = mixel_dphy_power_off, + .set_mode = mixel_dphy_set_mode, .configure = mixel_dphy_configure, .validate = mixel_dphy_validate, .owner = THIS_MODULE, @@ -424,6 +651,8 @@ static const struct phy_ops mixel_dphy_phy_ops = { static const struct of_device_id mixel_dphy_of_match[] = { { .compatible = "fsl,imx8mq-mipi-dphy", .data = &mixel_dphy_devdata[MIXEL_IMX8MQ] }, + { .compatible = "fsl,imx8qxp-mipi-dphy", + .data = &mixel_dphy_devdata[MIXEL_IMX8QXP] }, { /* sentinel */ }, }; MODULE_DEVICE_TABLE(of, mixel_dphy_of_match); @@ -436,6 +665,7 @@ static int mixel_dphy_probe(struct platform_device *pdev) struct mixel_dphy_priv *priv; struct phy *phy; void __iomem *base; + int ret; if (!np) return -ENODEV; @@ -467,6 +697,30 @@ static int mixel_dphy_probe(struct platform_device *pdev) dev_dbg(dev, "phy_ref clock rate: %lu\n", clk_get_rate(priv->phy_ref_clk)); + if (priv->devdata->is_combo) { + priv->lvds_regmap = + syscon_regmap_lookup_by_phandle(np, "fsl,syscon"); + if (IS_ERR(priv->lvds_regmap)) { + ret = PTR_ERR(priv->lvds_regmap); + dev_err_probe(dev, ret, "Failed to get LVDS regmap\n"); + return ret; + } + + priv->id = of_alias_get_id(np, "mipi_dphy"); + if (priv->id < 0) { + dev_err(dev, "Failed to get phy node alias id: %d\n", + priv->id); + return priv->id; + } + + ret = imx_scu_get_handle(&priv->ipc_handle); + if (ret) { + dev_err_probe(dev, ret, + "Failed to get SCU ipc handle\n"); + return ret; + } + } + dev_set_drvdata(dev, priv); phy = devm_phy_create(dev, np, &mixel_dphy_phy_ops);