From patchwork Sat Feb 3 16:52:41 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adam Ford X-Patchwork-Id: 13544288 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 22C6AC4828D for ; Sat, 3 Feb 2024 16:53:41 +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=PWhTbUI7m1V8B50o4WtjFzq1p1l68PeeRXO2h5NalbQ=; b=ecDi1hfIesSpFA emGYKW412QSc+u8WqImYtQytJzE6Q4La8gFQJ+FF15SMJuFMsPMGQSpByxzZH3CX58e0NlkFy7crQ WW9FJnuckZ4aBjyAXLjKVx/CvUgduYpxQNAMIKP7jmWjnWEvB8bbK1AhG3ffAqWzgHlIZ6nVBWFK6 7vYZqSz80BEvSOQe/NinGxPMoGV89wph1aYZ5D5snJQMXfuKgH+JP7Sz4gOeIIY8ozZtH9EySuImS d21/BBxJoIhs2Z+Yb1zcXu9YaLu6fN/LvAK0jRYeS6/JfZaPCzZgKWcuu41D1pR8JyUvst6kbTS00 6xZYVa/nH7bB1gyX6qIw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1rWJGu-0000000Gq6P-3KQc; Sat, 03 Feb 2024 16:53:40 +0000 Received: from mail-io1-xd36.google.com ([2607:f8b0:4864:20::d36]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1rWJGr-0000000Gq4s-3zmp; Sat, 03 Feb 2024 16:53:39 +0000 Received: by mail-io1-xd36.google.com with SMTP id ca18e2360f4ac-7c009016d5bso120318439f.1; Sat, 03 Feb 2024 08:53:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1706979216; x=1707584016; darn=lists.infradead.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=DkvYfuuKpH2RXM+gZl2DrO4caEYcPakC9a9yPqGZtlw=; b=LsTxyoiT+YYBioOdOm2mIGbMabOY+C63XIGuJz0QdrS3SkkwdteitENgTiGY8rFUdB qF5siiPUptdy2cePsN5oiabHZ1D3FE2hlAscWSx4oUp/plUiARgacDGqLqSCH2Syi8Fo ttQXIqCeRj9b3WSYhKNn3Kbo67lmI+MxEyeopOjkrkqk18Az7J7URqUKUmqggYaz0hHF KaXcJiPD+kWmoOBQ+2isH4szHhnI2bCm5LMHImJGdb5F9glVGZv5CvjoC83Ezr9/l4g6 VdyV0BsgOLQoMPhvzJvbkvB0gNAlPZ+drX8cPhpcxJHsal1x5kJWhs9gKkd5evq8Pm4B MiRA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1706979216; x=1707584016; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=DkvYfuuKpH2RXM+gZl2DrO4caEYcPakC9a9yPqGZtlw=; b=DwnI673WK0yd7pq2+NDVNbfI/n6IQ7/firvWBw/5SX1jnVm5ylh5UNs+HrPzLzAmKF K3o6sXXebgK4VUc/5eJg8swtyH7Jgd6l7ANe+MndeXDZDlL+QaGQVJiLKO8gIq1AH1XJ ry4dCZvXFeH10HtEGjjQEsVIzprWMzsDf6oVM5toLShmpNvMC9lYU0T1ycsrXve2CLgN NkKFnVDT/CUAL63b9+Rpu5udaXh4fBRLwwEWnrEnKIGpNhENbjFB1rlY9b0boxhegOo5 cUQFe0dzkZIqOt+IuKMAlPfJYYiv+3H3zOOjINesPiEUjBgCLWtbcdR2XLZKn5s3QtbC 3WTw== X-Gm-Message-State: AOJu0YwOccoQEey7myQsJPgz0PN0Fvt98uVVwqdPIEU9unvAsYiStRpk gUO/ewa4yofadytDphLZl67fXlj0ngvltmgBLMErTDZzeBtqrH5sRKz1xh02xss= X-Google-Smtp-Source: AGHT+IEnlehfxC3EzWtYjfCC3lg1i9dFNOJn0VmenuEK/v0vuI8ECXoRZdHOVhb90XAj8e9K5eLOTA== X-Received: by 2002:a05:6602:122e:b0:7c2:c868:d864 with SMTP id z14-20020a056602122e00b007c2c868d864mr3311227iot.10.1706979215630; Sat, 03 Feb 2024 08:53:35 -0800 (PST) X-Forwarded-Encrypted: i=0; AJvYcCVjSq9uyvcTPIb1quTtFSupfo+AL7NwJHi6Gu9nFWWPsmK3n0IEtNuMcvPWgzs9ROEuzmDK7+Wupt2U4qGGShNuzx2ikrWYvZJ/eLQgqMNjsPAmbBFMoOlIfiUgvt9rDcSf90uM05CbsK7HmPlbjA4HdOvDHgzozVjMJ4nYwd3PIt7kwXGtQX+NC0ehIFWD/Iqc3ihmxr3qjqO0ux70S7eSaXSAudI43x6cWqJTIpY9O7Z0EJAQBAerJvvb63N4nuYp0CDntCNnt9jv5xL8UiE2YnKrLFgPQWmetCSi3NNhyIXe3NjiYKKKQjVdr/L6ApH0/1upjtGlWPICCQGcbX+MsVUVWD+10W428nzxIH+5dSaEUNKgA2UXG5O+3x8BPM42Lk1nw6769jHifqDAbmh8oYgREXJt43SEtWs0Q2Kw+8fa29c5MY4eUANjOM2LEd29krLgsvnzynjeAcWOgT2StD4fdgMHOHikKBm0upJuFRx6E24nV2rMqvEYYXlvVptT1CRz0FQaq3BXGZ2/+tYak8y962zSr0Z97YrKXI65juREBPHm/SogAU7MW2Vmz8Bug/jcPZt1ycppSiD3Y3CyVrF9zGlf3Ym+b7QEVGQVh43eY119Xx42CFZZjbRmMfdnRHG7LBZF0uGpH3ekeVHTbnVURFewtaY8GnQvpu/5v7C7deIBXMNhFN4aYbmBMWPdE7xaGuzpxOx85u4690rcnBzSOP37lsU/rU26nkQFukAKLzdkSNZCuiNoN55jijF5Q0zBbV6q5CMc2GY8g3jy0gMHsI2IHqeG+o/JM3vWdqh2gpJDd7rE7ckT5vg27ALY/Y2rER5Tbsanb4jlygSWOkMuURwUEdv0oecCQ2UxmAtpFh68Dr5hso0K9/yy7hag2o9VcCLmnHXBC2VVS4vSWHddjoSYUei0RdcQJO7eNCotvGJXUrv9rha08zAHKY94An d4r+OPZZMUhxaoi6lIu2Mv8TVSA6zWR4R7R+d4rA+c/RakQwPr38lbHRVnrC3W7wuFaXfGqiZswJWCs9+HeFccxOyl7VxYNRbbmce3Dyn+5gm+OpGoD+yu7xaaUBGZSoE2L3R/KWDDKIRnq98KiwcqGM1DcpLSTdJq1lC7Ni01p+sRk70WhetbCqzNgP6N/NWFDqhP2I0RhVgFQAw47O++snhkvHAL9d1il3HDdBnzucrXNqTLTuqp8gBJKqbZXj7hqlNYjBjc Received: from aford-System-Version.lan ([2601:447:d002:5be:d9b2:bb4f:5531:6aa9]) by smtp.gmail.com with ESMTPSA id t30-20020a05663836de00b00470b29b82b1sm1086256jau.154.2024.02.03.08.53.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 03 Feb 2024 08:53:32 -0800 (PST) From: Adam Ford To: linux-arm-kernel@lists.infradead.org Cc: marex@denx.de, alexander.stein@ew.tq-group.com, frieder.schrempf@kontron.de, Lucas Stach , Adam Ford , Krzysztof Kozlowski , Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Daniel Vetter , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , NXP Linux Team , Philipp Zabel , Vinod Koul , Kishon Vijay Abraham I , Catalin Marinas , Will Deacon , Liu Ying , Ulf Hansson , dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-phy@lists.infradead.org, linux-pm@vger.kernel.org Subject: [PATCH V8 01/12] dt-bindings: phy: add binding for the i.MX8MP HDMI PHY Date: Sat, 3 Feb 2024 10:52:41 -0600 Message-ID: <20240203165307.7806-2-aford173@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240203165307.7806-1-aford173@gmail.com> References: <20240203165307.7806-1-aford173@gmail.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240203_085338_064969_2F340FB9 X-CRM114-Status: GOOD ( 15.98 ) X-BeenThere: linux-phy@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Linux Phy Mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-phy" Errors-To: linux-phy-bounces+linux-phy=archiver.kernel.org@lists.infradead.org From: Lucas Stach Add a DT binding for the HDMI PHY found on the i.MX8MP SoC. Signed-off-by: Lucas Stach Signed-off-by: Adam Ford Reviewed-by: Krzysztof Kozlowski Reviewed-by: Luca Ceresoli --- V3: Removed mintems at the request of Krzysztof and add his reviewed-by V2: I tried to help move this along, so I took Lucas' patch and attempted to apply fixes based on feedback. I don't have all the history, so apologies for that. Added phy-cells to the required list and fixed an error due to the word 'binding' being in the title. --- .../bindings/phy/fsl,imx8mp-hdmi-phy.yaml | 62 +++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 Documentation/devicetree/bindings/phy/fsl,imx8mp-hdmi-phy.yaml diff --git a/Documentation/devicetree/bindings/phy/fsl,imx8mp-hdmi-phy.yaml b/Documentation/devicetree/bindings/phy/fsl,imx8mp-hdmi-phy.yaml new file mode 100644 index 000000000000..c43e86a8c2e0 --- /dev/null +++ b/Documentation/devicetree/bindings/phy/fsl,imx8mp-hdmi-phy.yaml @@ -0,0 +1,62 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/phy/fsl,imx8mp-hdmi-phy.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Freescale i.MX8MP HDMI PHY + +maintainers: + - Lucas Stach + +properties: + compatible: + enum: + - fsl,imx8mp-hdmi-phy + + reg: + maxItems: 1 + + "#clock-cells": + const: 0 + + clocks: + maxItems: 2 + + clock-names: + items: + - const: apb + - const: ref + + "#phy-cells": + const: 0 + + power-domains: + maxItems: 1 + +required: + - compatible + - reg + - "#clock-cells" + - clocks + - clock-names + - "#phy-cells" + - power-domains + +additionalProperties: false + +examples: + - | + #include + #include + + phy@32fdff00 { + compatible = "fsl,imx8mp-hdmi-phy"; + reg = <0x32fdff00 0x100>; + clocks = <&clk IMX8MP_CLK_HDMI_APB>, + <&clk IMX8MP_CLK_HDMI_24M>; + clock-names = "apb", "ref"; + power-domains = <&hdmi_blk_ctrl IMX8MP_HDMIBLK_PD_HDMI_TX_PHY>; + #clock-cells = <0>; + #phy-cells = <0>; + }; From patchwork Sat Feb 3 16:52:42 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adam Ford X-Patchwork-Id: 13544293 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 EAE14C4828D for ; Sat, 3 Feb 2024 16:53:53 +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=vQS62GBuPNWNJxHyczrio5Jpmk35gM5rCDagYa1R6cs=; b=uDXKtb5oAtkcXB LEXKWc+LWiKQQRBnVL1U37CNlVPI1NfyV1lE7YYxkENeso/6yknftTgI//NBXHDwWyIXJgeWQSCe8 qs2Gc3FkUAmXTd2rg3KjZwUAS1lOa25aVddle+IR0hKX/6WnEkCKa0uzsbnnpo8hgFgUBXu18Y1Kv KGGL0csgyTDl/+KG7ZJ722LWqtSYCCBbpSZrAptIlinh0qmI1M28o0AweuNQ/khHGbIIapFY8fy3u 2BUSTcbZaoK1XRM/ZoFDNd9WCt372U02sZbXX8Qb/QbO6zaSrC+UIV1jxau3VubHg5ykEgEBv1adQ sQMK5t4rvQ5zb3MoEIDA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1rWJH7-0000000GqDT-1jqr; Sat, 03 Feb 2024 16:53:53 +0000 Received: from mail-io1-xd2c.google.com ([2607:f8b0:4864:20::d2c]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1rWJH1-0000000Gq7r-0EPY; Sat, 03 Feb 2024 16:53:51 +0000 Received: by mail-io1-xd2c.google.com with SMTP id ca18e2360f4ac-7beda2e6794so63312039f.1; Sat, 03 Feb 2024 08:53:44 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1706979223; x=1707584023; darn=lists.infradead.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=sTt4IustaYWqtf43/+p8t7gMS/7f10DukH4cFzdIOfE=; b=gqxqdixC0vWDsv+0oXrhHUo6pYHulYvY74uYh3IZmqAfDxY3+zwRu6LJswKlpdD0WA /EiK67ZCAb5iKUctJzBovEmSnGqwGpxYY8g/7YSGjBRp+/QRha7vgoTd6AnzqHNw+pfn PQJQQmVIeSu8rmj8aWJT5qtG6zje7U6myftCs4vLxSVzu0pHZ4QjRW50FPeE9hr/BHVR CfLPhs9agxDV0Vu5dn5ESE19FQ+uqe0kf8tq2A+5FK2o6MMKX0la5xfeS+2UsngejsWP TlT8ab35svwrT+yh35dzQjewCNiw0eVIGPBRdFvk/heOCO1ISvzCqB6fpDxjW4J5Ggcq epqQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1706979223; x=1707584023; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=sTt4IustaYWqtf43/+p8t7gMS/7f10DukH4cFzdIOfE=; b=Ptlo/a+GLsMtctqWOQbTdWZ5QzGwm5mwhR5UrRF/uGPwiSv1FqLAT/pVRs4VZCfq5V ro/plW+dfqRfA9n0UseK8E4kVYT6BhZvLJffjfaekQXkiPOYsPHaRPYBYz+NSfMVL120 iSF7YYoKIO4iZfIHlyYnu09hwHydP/Ge8j8yXQ4Bn1J/B4891fuOlx3OqJ/2GMJLZNtq JcjQ3cQhdNBpX/Hdh5nln3UJHdR0/EPVESlftFMOWh3WO7e0NXl6YXt9swwfjZN9WyNG QyT0mJAMkJDzoUAmB7ei9Sw7l4++0mJ1BSRMng6tZQ6ViUTDNVk2Gq2m2f8pXWFupSMI cm1w== X-Gm-Message-State: AOJu0Yzd+qCw2WHzIzOgnjCA36b67UsdlD29S5FScDyHYgGEikdDhY7E cOCYBH6UPi78I6Ni80SukeLcq1cz23wd7cHypcaNUAFgCMxXoBdLQ9xgfTgg+tk= X-Google-Smtp-Source: AGHT+IFvhKxt0CvbPbeCyayeiqeoN7ivfYW0lQPAhxgIXd/7DwUnz8D5+wGaqNOEMPj5OaacQ6jR0g== X-Received: by 2002:a05:6602:1549:b0:7c0:3d0f:b7cf with SMTP id h9-20020a056602154900b007c03d0fb7cfmr1459386iow.8.1706979222475; Sat, 03 Feb 2024 08:53:42 -0800 (PST) X-Forwarded-Encrypted: i=0; AJvYcCXKufmlinHDuxRoWwZ8laTspUhQscwgvcjE5WqzVcaL+HG8o+QTOZekKNUncYftgZYRsS26IMoJJlEtJlbKJ9usp1Rnw2LKqBrU1fz8S3kisR4l8vxGo1Dj1LRaeqBtfch+2/TvaWmYXwSPxykgTayaloVlrpRLN40wmoCjPNpc7+0AiQ0CLMuflwNRZ8+PLQaG+UJT/ICfCXWbd0Xjf9zJLl1C4HH49JNs76dHIE8aznpfSq0MkniUNTdXODmE8pyo5Oe3S0n+jil2E50EBK2iwwPVY8Ma6imDEnPWCOuK1Z9QD7fwODW/CwAQZvP6iTGQ8qeVn1Gebsj2Ya2Umjzta/r2V9PN9VZnGtWqn7PmrFImaK28r2jRxixjOjzXem42TqkDWfe0Fm9olG0SHaNmO4r5N1iZ4EdrWasqjIDGLWYf13JeSSeJa85FGiP1GnPNz4mxg+k9Quehg6g+wEicL3Ja8oKtIbAAhdlcyzMqqza+cCX39dc7X7QVpLmsHFP5+yaCgeQXER5JJ95zpewOYeOttWUYJwCZqkXpEs/1KtBX4KGDGuJAGqkOtNj8aaiRImk3ezdD3P1g2USQQwyLMNxDWSqJ8YiTKf/pQvI1JGQDBc+ZMKQJYiLUrmiIuJ9K4CYvdSMbVygPqeBJKB44GHtg8/dX2FJBE5WiBuJNcMvTiGy0VOpFy6XrgxlnGR/wsRz5VJCddYYwZw2L87Oome6jyA2EQYOX22RmQSIHuRINW3n3SpboXwgzhT6kTFnhOvKki+3nBGR87hNRcsyxqFmhJZ7EO1gRcVB8ZbCAn7W/SE3838nKhxJUCxMTq7bu4DqpA4sPqr5AsIdMxHOZNvb46snKyozFivPlev0LnqfQnMDa1LhBNU9Hxl2lMFetxxqcht365fYEj/UpMJ6xueztmUunGnZ5atkziXdk5WZ8JYTTy54xy6nBdnkYwxjUvT C0UjN28EhI7I0mT13lI28H5KAjyUMgFpwiAJX6QBnXibQ9Dzi2w01LHsw2yGFc7eTilcxzCB8IeUpeHtXc3OIv2oyTP7pgUza4289YJqyP/0C03fFhNZD8QGCtznXx0OEuaVO+QbrfXek2QH5bbY9pM6TfEWi3TwTN2A43ojLDJW+NMvzdTdKYU2C2ORpFnQdO5XCNjGGKGFadsfzhhi8llUKVTejPvg== Received: from aford-System-Version.lan ([2601:447:d002:5be:d9b2:bb4f:5531:6aa9]) by smtp.gmail.com with ESMTPSA id t30-20020a05663836de00b00470b29b82b1sm1086256jau.154.2024.02.03.08.53.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 03 Feb 2024 08:53:39 -0800 (PST) From: Adam Ford To: linux-arm-kernel@lists.infradead.org Cc: marex@denx.de, alexander.stein@ew.tq-group.com, frieder.schrempf@kontron.de, Lucas Stach , Adam Ford , Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , David Airlie , Daniel Vetter , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , NXP Linux Team , Philipp Zabel , Vinod Koul , Kishon Vijay Abraham I , Catalin Marinas , Will Deacon , Liu Ying , Ulf Hansson , dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-phy@lists.infradead.org, linux-pm@vger.kernel.org Subject: [PATCH V8 02/12] phy: freescale: add Samsung HDMI PHY Date: Sat, 3 Feb 2024 10:52:42 -0600 Message-ID: <20240203165307.7806-3-aford173@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240203165307.7806-1-aford173@gmail.com> References: <20240203165307.7806-1-aford173@gmail.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240203_085347_179886_3719E2D7 X-CRM114-Status: GOOD ( 17.20 ) X-BeenThere: linux-phy@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Linux Phy Mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-phy" Errors-To: linux-phy-bounces+linux-phy=archiver.kernel.org@lists.infradead.org From: Lucas Stach This adds the driver for the Samsung HDMI PHY found on the i.MX8MP SoC. Signed-off-by: Lucas Stach Signed-off-by: Adam Ford Tested-by: Alexander Stein --- V4: Make lookup table hex values lower case. V3: Re-order the Makefile to keep it alphabetical Remove unused defines V2: Fixed some whitespace found from checkpatch Change error handling when enabling apbclk to use dev_err_probe Rebase on Linux-Next I (Adam) tried to help move this along, so I took Lucas' patch and attempted to apply fixes based on feedback. I don't have all the history, so apologies for that. --- drivers/phy/freescale/Kconfig | 6 + drivers/phy/freescale/Makefile | 1 + drivers/phy/freescale/phy-fsl-samsung-hdmi.c | 1075 ++++++++++++++++++ 3 files changed, 1082 insertions(+) create mode 100644 drivers/phy/freescale/phy-fsl-samsung-hdmi.c diff --git a/drivers/phy/freescale/Kconfig b/drivers/phy/freescale/Kconfig index 853958fb2c06..5c2b73042dfc 100644 --- a/drivers/phy/freescale/Kconfig +++ b/drivers/phy/freescale/Kconfig @@ -35,6 +35,12 @@ config PHY_FSL_IMX8M_PCIE Enable this to add support for the PCIE PHY as found on i.MX8M family of SOCs. +config PHY_FSL_SAMSUNG_HDMI_PHY + tristate "Samsung HDMI PHY support" + depends on OF && HAS_IOMEM + help + Enable this to add support for the Samsung HDMI PHY in i.MX8MP. + endif config PHY_FSL_LYNX_28G diff --git a/drivers/phy/freescale/Makefile b/drivers/phy/freescale/Makefile index cedb328bc4d2..79e5f16d3ce8 100644 --- a/drivers/phy/freescale/Makefile +++ b/drivers/phy/freescale/Makefile @@ -4,3 +4,4 @@ obj-$(CONFIG_PHY_MIXEL_LVDS_PHY) += phy-fsl-imx8qm-lvds-phy.o obj-$(CONFIG_PHY_MIXEL_MIPI_DPHY) += phy-fsl-imx8-mipi-dphy.o obj-$(CONFIG_PHY_FSL_IMX8M_PCIE) += phy-fsl-imx8m-pcie.o obj-$(CONFIG_PHY_FSL_LYNX_28G) += phy-fsl-lynx-28g.o +obj-$(CONFIG_PHY_FSL_SAMSUNG_HDMI_PHY) += phy-fsl-samsung-hdmi.o diff --git a/drivers/phy/freescale/phy-fsl-samsung-hdmi.c b/drivers/phy/freescale/phy-fsl-samsung-hdmi.c new file mode 100644 index 000000000000..bf0e2299d00f --- /dev/null +++ b/drivers/phy/freescale/phy-fsl-samsung-hdmi.c @@ -0,0 +1,1075 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Copyright 2020 NXP + * Copyright 2022 Pengutronix, Lucas Stach + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#define PHY_REG_33 0x84 +#define REG33_MODE_SET_DONE BIT(7) +#define REG33_FIX_DA BIT(1) + +#define PHY_REG_34 0x88 +#define REG34_PHY_READY BIT(7) +#define REG34_PLL_LOCK BIT(6) +#define REG34_PHY_CLK_READY BIT(5) + + +#define PHY_PLL_REGS_NUM 48 + +struct phy_config { + u32 clk_rate; + u8 regs[PHY_PLL_REGS_NUM]; +}; + +const struct phy_config phy_pll_cfg[] = { + { 22250000, { + 0x00, 0xd1, 0x4b, 0xf1, 0x89, 0x88, 0x80, 0x40, + 0x4f, 0x30, 0x33, 0x65, 0x00, 0x15, 0x25, 0x80, + 0x6c, 0xf2, 0x67, 0x00, 0x10, 0x8f, 0x30, 0x32, + 0x60, 0x8f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xe0, 0x83, 0x0f, 0x3e, 0xf8, 0x00, 0x00, + }, + }, { + 23750000, { + 0x00, 0xd1, 0x50, 0xf1, 0x86, 0x85, 0x80, 0x40, + 0x4f, 0x30, 0x33, 0x65, 0x00, 0x03, 0x25, 0x80, + 0x6c, 0xf2, 0x67, 0x00, 0x10, 0x8f, 0x30, 0x32, + 0x60, 0x8f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xe0, 0x83, 0x0f, 0x3e, 0xf8, 0x00, 0x00, + }, + }, { + 24000000, { + 0x00, 0xd1, 0x50, 0xf0, 0x00, 0x00, 0x80, 0x00, + 0x4f, 0x30, 0x33, 0x65, 0x00, 0x01, 0x25, 0x80, + 0x6c, 0xf2, 0x67, 0x00, 0x10, 0x8f, 0x30, 0x32, + 0x60, 0x8f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xe0, 0x83, 0x0f, 0x3e, 0xf8, 0x00, 0x00, + }, + }, { + 24024000, { + 0x00, 0xd1, 0x50, 0xf1, 0x99, 0x02, 0x80, 0x40, + 0x4f, 0x30, 0x33, 0x65, 0x00, 0x00, 0x25, 0x80, + 0x6c, 0xf2, 0x67, 0x00, 0x10, 0x8f, 0x30, 0x32, + 0x60, 0x8f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xe0, 0x83, 0x0f, 0x3e, 0xf8, 0x00, 0x00, + }, + }, { + 25175000, { + 0x00, 0xd1, 0x54, 0xfc, 0xcc, 0x91, 0x80, 0x40, + 0x4f, 0x30, 0x33, 0x65, 0x00, 0xf5, 0x24, 0x80, + 0x6c, 0xf2, 0x67, 0x00, 0x10, 0x8f, 0x30, 0x32, + 0x60, 0x8f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xe0, 0x83, 0x0f, 0x3e, 0xf8, 0x00, 0x00, + }, + }, { + 25200000, { + 0x00, 0xd1, 0x54, 0xf0, 0x00, 0x00, 0x80, 0x00, + 0x4f, 0x30, 0x33, 0x65, 0x00, 0xf4, 0x24, 0x80, + 0x6c, 0xf2, 0x67, 0x00, 0x10, 0x8f, 0x30, 0x32, + 0x60, 0x8f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xe0, 0x83, 0x0f, 0x3e, 0xf8, 0x00, 0x00, + }, + }, { + 26750000, { + 0x00, 0xd1, 0x5a, 0xf2, 0x89, 0x88, 0x80, 0x40, + 0x4f, 0x30, 0x33, 0x65, 0x00, 0xe6, 0x24, 0x80, + 0x6c, 0xf2, 0x67, 0x00, 0x10, 0x8f, 0x30, 0x32, + 0x60, 0x8f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xe0, 0x83, 0x0f, 0x3e, 0xf8, 0x00, 0x00, + }, + }, { + 27000000, { + 0x00, 0xd1, 0x5a, 0xf0, 0x00, 0x00, 0x80, 0x00, + 0x4f, 0x30, 0x33, 0x65, 0x00, 0xe4, 0x24, 0x80, + 0x6c, 0xf2, 0x67, 0x00, 0x10, 0x8f, 0x30, 0x32, + 0x60, 0x8f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xe0, 0x83, 0x0f, 0x3e, 0xf8, 0x00, 0x00, + }, + }, { + 27027000, { + 0x00, 0xd1, 0x5a, 0xf2, 0xfd, 0x0c, 0x80, 0x40, + 0x4f, 0x30, 0x33, 0x65, 0x00, 0xe4, 0x24, 0x80, + 0x6c, 0xf2, 0x67, 0x00, 0x10, 0x8f, 0x30, 0x32, + 0x60, 0x8f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xe0, 0x83, 0x0f, 0x3e, 0xf8, 0x00, 0x00, + }, + }, { + 29500000, { + 0x00, 0xd1, 0x62, 0xf4, 0x95, 0x08, 0x80, 0x40, + 0x4f, 0x30, 0x33, 0x65, 0x00, 0xd1, 0x24, 0x80, + 0x6c, 0xf2, 0x67, 0x00, 0x10, 0x8f, 0x30, 0x32, + 0x60, 0x8f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xe0, 0x83, 0x0f, 0x3e, 0xf8, 0x00, 0x00, + }, + }, { + 30750000, { + 0x00, 0xd1, 0x66, 0xf4, 0x82, 0x01, 0x88, 0x45, + 0x4f, 0x30, 0x33, 0x65, 0x00, 0xc8, 0x24, 0x80, + 0x6c, 0xf2, 0x67, 0x00, 0x10, 0x8f, 0x30, 0x32, + 0x60, 0x8f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xe0, 0x83, 0x0f, 0x3e, 0xf8, 0x00, 0x00, + }, + }, { + 30888000, { + 0x00, 0xd1, 0x66, 0xf4, 0x99, 0x18, 0x88, 0x45, + 0x4f, 0x30, 0x33, 0x65, 0x00, 0xc7, 0x24, 0x80, + 0x6c, 0xf2, 0x67, 0x00, 0x10, 0x8f, 0x30, 0x32, + 0x60, 0x8f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xe0, 0x83, 0x0f, 0x3e, 0xf8, 0x00, 0x00, + }, + }, { + 33750000, { + 0x00, 0xd1, 0x70, 0xf4, 0x82, 0x01, 0x80, 0x40, + 0x4f, 0x30, 0x33, 0x65, 0x00, 0xb7, 0x24, 0x80, + 0x6c, 0xf2, 0x67, 0x00, 0x10, 0x8f, 0x30, 0x32, + 0x60, 0x8f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xe0, 0x83, 0x0f, 0x3e, 0xf8, 0x00, 0x00, + }, + }, { + 35000000, { + 0x00, 0xd1, 0x58, 0xb8, 0x8b, 0x88, 0x80, 0x40, + 0x4f, 0x30, 0x33, 0x65, 0x00, 0xb0, 0x24, 0x80, + 0x6c, 0xf2, 0x67, 0x00, 0x10, 0x8b, 0x30, 0x32, + 0x60, 0x8f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xe0, 0x83, 0x0f, 0x3e, 0xf8, 0x00, 0x00, + }, + }, { + 36000000, { + 0x00, 0xd1, 0x5a, 0xb0, 0x00, 0x00, 0x80, 0x00, + 0x4f, 0x30, 0x33, 0x65, 0x00, 0xab, 0x24, 0x80, + 0x6c, 0xf2, 0x67, 0x00, 0x10, 0x8b, 0x30, 0x32, + 0x60, 0x8f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xe0, 0x83, 0x0f, 0x3e, 0xf8, 0x00, 0x00, + }, + }, { + 36036000, { + 0x00, 0xd1, 0x5a, 0xb2, 0xfd, 0x0c, 0x80, 0x40, + 0x4f, 0x30, 0x33, 0x65, 0x00, 0xab, 0x24, 0x80, + 0x6c, 0xf2, 0x67, 0x00, 0x10, 0x8b, 0x30, 0x32, + 0x60, 0x8f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xe0, 0x83, 0x0f, 0x3e, 0xf8, 0x00, 0x00, + }, + }, { + 40000000, { + 0x00, 0xd1, 0x64, 0xb0, 0x00, 0x00, 0x80, 0x00, + 0x4f, 0x30, 0x33, 0x65, 0x00, 0x9a, 0x24, 0x80, + 0x6c, 0xf2, 0x67, 0x00, 0x10, 0x8b, 0x30, 0x32, + 0x60, 0x8f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xe0, 0x83, 0x0f, 0x3e, 0xf8, 0x00, 0x00, + }, + }, { + 43200000, { + 0x00, 0xd1, 0x5a, 0x90, 0x00, 0x00, 0x80, 0x00, + 0x4f, 0x30, 0x33, 0x65, 0x00, 0x8f, 0x24, 0x80, + 0x6c, 0xf2, 0x67, 0x00, 0x10, 0x89, 0x30, 0x32, + 0x60, 0x8f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xe0, 0x83, 0x0f, 0x3e, 0xf8, 0x00, 0x00, + }, + }, { + 43243200, { + 0x00, 0xd1, 0x5a, 0x92, 0xfd, 0x0c, 0x80, 0x40, + 0x4f, 0x30, 0x33, 0x65, 0x00, 0x8f, 0x24, 0x80, + 0x6c, 0xf2, 0x67, 0x00, 0x10, 0x89, 0x30, 0x32, + 0x60, 0x8f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xe0, 0x83, 0x0f, 0x3e, 0xf8, 0x00, 0x00, + }, + }, { + 44500000, { + 0x00, 0xd1, 0x5c, 0x92, 0x98, 0x11, 0x84, 0x41, + 0x4f, 0x30, 0x33, 0x65, 0x00, 0x8b, 0x24, 0x80, + 0x6c, 0xf2, 0x67, 0x00, 0x10, 0x89, 0x30, 0x32, + 0x60, 0x8f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xe0, 0x83, 0x0f, 0x3e, 0xf8, 0x00, 0x00, + }, + }, { + 47000000, { + 0x00, 0xd1, 0x62, 0x94, 0x95, 0x82, 0x80, 0x40, + 0x4f, 0x30, 0x33, 0x65, 0x00, 0x83, 0x24, 0x80, + 0x6c, 0xf2, 0x67, 0x00, 0x10, 0x89, 0x30, 0x32, + 0x60, 0x8f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xe0, 0x83, 0x0f, 0x3e, 0xf8, 0x00, 0x00, + }, + }, { + 47500000, { + 0x00, 0xd1, 0x63, 0x96, 0xa1, 0x82, 0x80, 0x40, + 0x4f, 0x30, 0x33, 0x65, 0x00, 0x82, 0x24, 0x80, + 0x6c, 0xf2, 0x67, 0x00, 0x10, 0x89, 0x30, 0x32, + 0x60, 0x8f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xe0, 0x83, 0x0f, 0x3e, 0xf8, 0x00, 0x00, + }, + }, { + 50349650, { + 0x00, 0xd1, 0x54, 0x7c, 0xc3, 0x8f, 0x80, 0x40, + 0x4f, 0x30, 0x33, 0x65, 0x10, 0xf5, 0x24, 0x80, + 0x6c, 0xf2, 0x67, 0x00, 0x10, 0x87, 0x30, 0x32, + 0x60, 0x8f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xe0, 0x83, 0x0f, 0x3e, 0xf8, 0x00, 0x00, + }, + }, { + 50400000, { + 0x00, 0xd1, 0x54, 0x70, 0x00, 0x00, 0x80, 0x00, + 0x4f, 0x30, 0x33, 0x65, 0x10, 0xf4, 0x24, 0x80, + 0x6c, 0xf2, 0x67, 0x00, 0x10, 0x87, 0x30, 0x32, + 0x60, 0x8f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xe0, 0x83, 0x0f, 0x3e, 0xf8, 0x00, 0x00, + }, + }, { + 53250000, { + 0x00, 0xd1, 0x58, 0x72, 0x84, 0x03, 0x82, 0x41, + 0x4f, 0x30, 0x33, 0x65, 0x10, 0xe7, 0x24, 0x80, + 0x6c, 0xf2, 0x67, 0x00, 0x10, 0x87, 0x30, 0x32, + 0x60, 0x8f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xe0, 0x83, 0x0f, 0x3e, 0xf8, 0x00, 0x00, + }, + }, { + 53500000, { + 0x00, 0xd1, 0x5a, 0x72, 0x89, 0x88, 0x80, 0x40, + 0x4f, 0x30, 0x33, 0x65, 0x10, 0xe6, 0x24, 0x80, + 0x6c, 0xf2, 0x67, 0x00, 0x10, 0x87, 0x30, 0x32, + 0x60, 0x8f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xe0, 0x83, 0x0f, 0x3e, 0xf8, 0x00, 0x00, + }, + }, { + 54000000, { + 0x00, 0xd1, 0x5a, 0x70, 0x00, 0x00, 0x80, 0x00, + 0x4f, 0x30, 0x33, 0x65, 0x10, 0xe4, 0x24, 0x80, + 0x6c, 0xf2, 0x67, 0x00, 0x10, 0x87, 0x30, 0x32, + 0x60, 0x8f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xe0, 0x83, 0x0f, 0x3e, 0xf8, 0x00, 0x00, + }, + }, { + 54054000, { + 0x00, 0xd1, 0x5a, 0x72, 0xfd, 0x0c, 0x80, 0x40, + 0x4f, 0x30, 0x33, 0x65, 0x10, 0xe4, 0x24, 0x80, + 0x6c, 0xf2, 0x67, 0x00, 0x10, 0x87, 0x30, 0x32, + 0x60, 0x8f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xe0, 0x83, 0x0f, 0x3e, 0xf8, 0x00, 0x00, + }, + }, { + 59000000, { + 0x00, 0xd1, 0x62, 0x74, 0x95, 0x08, 0x80, 0x40, + 0x4f, 0x30, 0x33, 0x65, 0x10, 0xd1, 0x24, 0x80, + 0x6c, 0xf2, 0x67, 0x00, 0x10, 0x87, 0x30, 0x32, + 0x60, 0x8f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xe0, 0x83, 0x0f, 0x3e, 0xf8, 0x00, 0x00, + }, + }, { + 59340659, { + 0x00, 0xd1, 0x62, 0x74, 0xdb, 0x52, 0x88, 0x47, + 0x4f, 0x30, 0x33, 0x65, 0x10, 0xd0, 0x24, 0x80, + 0x6c, 0xf2, 0x67, 0x00, 0x10, 0x87, 0x30, 0x32, + 0x60, 0x8f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xe0, 0x83, 0x0f, 0x3e, 0xf8, 0x00, 0x00, + }, + }, { + 59400000, { + 0x00, 0xd1, 0x63, 0x70, 0x00, 0x00, 0x80, 0x00, + 0x4f, 0x30, 0x33, 0x65, 0x10, 0xcf, 0x24, 0x80, + 0x6c, 0xf2, 0x67, 0x00, 0x10, 0x87, 0x30, 0x32, + 0x60, 0x8f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xe0, 0x83, 0x0f, 0x3e, 0xf8, 0x00, 0x00, + }, + }, { + 61500000, { + 0x00, 0xd1, 0x66, 0x74, 0x82, 0x01, 0x88, 0x45, + 0x4f, 0x30, 0x33, 0x65, 0x10, 0xc8, 0x24, 0x80, + 0x6c, 0xf2, 0x67, 0x00, 0x10, 0x87, 0x30, 0x32, + 0x60, 0x8f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xe0, 0x83, 0x0f, 0x3e, 0xf8, 0x00, 0x00, + }, + }, { + 63500000, { + 0x00, 0xd1, 0x69, 0x74, 0x89, 0x08, 0x80, 0x40, + 0x4f, 0x30, 0x33, 0x65, 0x10, 0xc2, 0x24, 0x80, + 0x6c, 0xf2, 0x67, 0x00, 0x10, 0x87, 0x30, 0x32, + 0x60, 0x8f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xe0, 0x83, 0x0f, 0x3e, 0xf8, 0x00, 0x00, + }, + }, { + 67500000, { + 0x00, 0xd1, 0x54, 0x52, 0x87, 0x03, 0x80, 0x40, + 0x4f, 0x30, 0x33, 0x65, 0x10, 0xb7, 0x24, 0x80, + 0x6c, 0xf2, 0x67, 0x00, 0x10, 0x85, 0x30, 0x32, + 0x60, 0x8f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xe0, 0x83, 0x0f, 0x3e, 0xf8, 0x00, 0x00, + }, + }, { + 70000000, { + 0x00, 0xd1, 0x58, 0x58, 0x8b, 0x88, 0x80, 0x40, + 0x4f, 0x30, 0x33, 0x65, 0x10, 0xb0, 0x24, 0x80, + 0x6c, 0xf2, 0x67, 0x00, 0x10, 0x85, 0x30, 0x32, + 0x60, 0x8f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xe0, 0x83, 0x0f, 0x3e, 0xf8, 0x00, 0x00, + }, + }, { + 72000000, { + 0x00, 0xd1, 0x5a, 0x50, 0x00, 0x00, 0x80, 0x00, + 0x4f, 0x30, 0x33, 0x65, 0x10, 0xab, 0x24, 0x80, + 0x6c, 0xf2, 0x67, 0x00, 0x10, 0x85, 0x30, 0x32, + 0x60, 0x8f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xe0, 0x83, 0x0f, 0x3e, 0xf8, 0x00, 0x00, + }, + }, { + 72072000, { + 0x00, 0xd1, 0x5a, 0x52, 0xfd, 0x0c, 0x80, 0x40, + 0x4f, 0x30, 0x33, 0x65, 0x10, 0xab, 0x24, 0x80, + 0x6c, 0xf2, 0x67, 0x00, 0x10, 0x85, 0x30, 0x32, + 0x60, 0x8f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xe0, 0x83, 0x0f, 0x3e, 0xf8, 0x00, 0x00, + }, + }, { + 74176000, { + 0x00, 0xd1, 0x5d, 0x58, 0xdb, 0xa2, 0x88, 0x41, + 0x4f, 0x30, 0x33, 0x65, 0x10, 0xa6, 0x24, 0x80, + 0x6c, 0xf2, 0x67, 0x00, 0x10, 0x85, 0x30, 0x32, + 0x60, 0x8f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xe0, 0x83, 0x0f, 0x3e, 0xf8, 0x00, 0x00, + }, + }, { + 74250000, { + 0x00, 0xd1, 0x5c, 0x52, 0x90, 0x0d, 0x84, 0x41, + 0x4f, 0x30, 0x33, 0x65, 0x10, 0xa6, 0x24, 0x80, + 0x6c, 0xf2, 0x67, 0x00, 0x10, 0x85, 0x30, 0x32, + 0x60, 0x8f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xe0, 0x83, 0x0f, 0x3e, 0xf8, 0x00, 0x00, + }, + }, { + 78500000, { + 0x00, 0xd1, 0x62, 0x54, 0x87, 0x01, 0x80, 0x40, + 0x4f, 0x30, 0x33, 0x65, 0x10, 0x9d, 0x24, 0x80, + 0x6c, 0xf2, 0x67, 0x00, 0x10, 0x85, 0x30, 0x32, + 0x60, 0x8f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xe0, 0x83, 0x0f, 0x3e, 0xf8, 0x00, 0x00, + }, + }, { + 80000000, { + 0x00, 0xd1, 0x64, 0x50, 0x00, 0x00, 0x80, 0x00, + 0x4f, 0x30, 0x33, 0x65, 0x10, 0x9a, 0x24, 0x80, + 0x6c, 0xf2, 0x67, 0x00, 0x10, 0x85, 0x30, 0x32, + 0x60, 0x8f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xe0, 0x83, 0x0f, 0x3e, 0xf8, 0x00, 0x00, + }, + }, { + 82000000, { + 0x00, 0xd1, 0x66, 0x54, 0x82, 0x01, 0x88, 0x45, + 0x4f, 0x30, 0x33, 0x65, 0x10, 0x96, 0x24, 0x80, + 0x6c, 0xf2, 0x67, 0x00, 0x10, 0x85, 0x30, 0x32, + 0x60, 0x8f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xe0, 0x83, 0x0f, 0x3e, 0xf8, 0x00, 0x00, + }, + }, { + 82500000, { + 0x00, 0xd1, 0x67, 0x54, 0x88, 0x01, 0x90, 0x49, + 0x4f, 0x30, 0x33, 0x65, 0x10, 0x95, 0x24, 0x80, + 0x6c, 0xf2, 0x67, 0x00, 0x10, 0x85, 0x30, 0x32, + 0x60, 0x8f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xe0, 0x83, 0x0f, 0x3e, 0xf8, 0x00, 0x00, + }, + }, { + 89000000, { + 0x00, 0xd1, 0x70, 0x54, 0x84, 0x83, 0x80, 0x40, + 0x4f, 0x30, 0x33, 0x65, 0x10, 0x8b, 0x24, 0x80, + 0x6c, 0xf2, 0x67, 0x00, 0x10, 0x85, 0x30, 0x32, + 0x60, 0x8f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xe0, 0x83, 0x0f, 0x3e, 0xf8, 0x00, 0x00, + }, + }, { + 90000000, { + 0x00, 0xd1, 0x70, 0x54, 0x82, 0x01, 0x80, 0x40, + 0x4f, 0x30, 0x33, 0x65, 0x10, 0x89, 0x24, 0x80, + 0x6c, 0xf2, 0x67, 0x00, 0x10, 0x85, 0x30, 0x32, + 0x60, 0x8f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xe0, 0x83, 0x0f, 0x3e, 0xf8, 0x00, 0x00, + }, + }, { + 94000000, { + 0x00, 0xd1, 0x4e, 0x32, 0xa7, 0x10, 0x80, 0x40, + 0x4f, 0x30, 0x33, 0x65, 0x10, 0x83, 0x24, 0x80, + 0x6c, 0xf2, 0x67, 0x00, 0x10, 0x83, 0x30, 0x32, + 0x60, 0x8f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xe0, 0x83, 0x0f, 0x3e, 0xf8, 0x00, 0x00, + }, + }, { + 95000000, { + 0x00, 0xd1, 0x50, 0x31, 0x86, 0x85, 0x80, 0x40, + 0x4f, 0x30, 0x33, 0x65, 0x10, 0x82, 0x24, 0x80, + 0x6c, 0xf2, 0x67, 0x00, 0x10, 0x83, 0x30, 0x32, + 0x60, 0x8f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xe0, 0x83, 0x0f, 0x3e, 0xf8, 0x00, 0x00, + }, + }, { + 98901099, { + 0x00, 0xd1, 0x52, 0x3a, 0xdb, 0x4c, 0x88, 0x47, + 0x4f, 0x30, 0x33, 0x65, 0x10, 0x7d, 0x24, 0x80, + 0x6c, 0xf2, 0x67, 0x00, 0x10, 0x83, 0x30, 0x32, + 0x60, 0x8f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xe0, 0x83, 0x0f, 0x3e, 0xf8, 0x00, 0x00, + }, + }, { + 99000000, { + 0x00, 0xd1, 0x52, 0x32, 0x82, 0x01, 0x88, 0x47, + 0x4f, 0x30, 0x33, 0x65, 0x10, 0x7d, 0x24, 0x80, + 0x6c, 0xf2, 0x67, 0x00, 0x10, 0x83, 0x30, 0x32, + 0x60, 0x8f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xe0, 0x83, 0x0f, 0x3e, 0xf8, 0x00, 0x00, + }, + }, { + 100699300, { + 0x00, 0xd1, 0x54, 0x3c, 0xc3, 0x8f, 0x80, 0x40, + 0x4f, 0x30, 0x33, 0x65, 0x20, 0xf5, 0x24, 0x80, + 0x6c, 0xf2, 0x67, 0x00, 0x10, 0x83, 0x30, 0x32, + 0x60, 0x8f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xe0, 0x83, 0x0f, 0x3e, 0xf8, 0x00, 0x00, + }, + }, { + 100800000, { + 0x00, 0xd1, 0x54, 0x30, 0x00, 0x00, 0x80, 0x00, + 0x4f, 0x30, 0x33, 0x65, 0x20, 0xf4, 0x24, 0x80, + 0x6c, 0xf2, 0x67, 0x00, 0x10, 0x83, 0x30, 0x32, + 0x60, 0x8f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xe0, 0x83, 0x0f, 0x3e, 0xf8, 0x00, 0x00, + }, + }, { + 102500000, { + 0x00, 0xd1, 0x55, 0x32, 0x8c, 0x05, 0x90, 0x4b, + 0x4f, 0x30, 0x33, 0x65, 0x20, 0xf0, 0x24, 0x80, + 0x6c, 0xf2, 0x67, 0x00, 0x10, 0x83, 0x30, 0x32, + 0x60, 0x8f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xe0, 0x83, 0x0f, 0x3e, 0xf8, 0x00, 0x00, + }, + }, { + 104750000, { + 0x00, 0xd1, 0x57, 0x32, 0x98, 0x07, 0x90, 0x49, + 0x4f, 0x30, 0x33, 0x65, 0x20, 0xeb, 0x24, 0x80, + 0x6c, 0xf2, 0x67, 0x00, 0x10, 0x83, 0x30, 0x32, + 0x60, 0x8f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xe0, 0x83, 0x0f, 0x3e, 0xf8, 0x00, 0x00, + }, + }, { + 106500000, { + 0x00, 0xd1, 0x58, 0x32, 0x84, 0x03, 0x82, 0x41, + 0x4f, 0x30, 0x33, 0x65, 0x20, 0xe7, 0x24, 0x80, + 0x6c, 0xf2, 0x67, 0x00, 0x10, 0x83, 0x30, 0x32, + 0x60, 0x8f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xe0, 0x83, 0x0f, 0x3e, 0xf8, 0x00, 0x00, + }, + }, { + 107000000, { + 0x00, 0xd1, 0x5a, 0x32, 0x89, 0x88, 0x80, 0x40, + 0x4f, 0x30, 0x33, 0x65, 0x20, 0xe6, 0x24, 0x80, + 0x6c, 0xf2, 0x67, 0x00, 0x10, 0x83, 0x30, 0x32, + 0x60, 0x8f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xe0, 0x83, 0x0f, 0x3e, 0xf8, 0x00, 0x00, + }, + }, { + 108000000, { + 0x00, 0xd1, 0x5a, 0x30, 0x00, 0x00, 0x80, 0x00, + 0x4f, 0x30, 0x33, 0x65, 0x20, 0xe4, 0x24, 0x80, + 0x6c, 0xf2, 0x67, 0x00, 0x10, 0x83, 0x30, 0x32, + 0x60, 0x8f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xe0, 0x83, 0x0f, 0x3e, 0xf8, 0x00, 0x00, + }, + }, { + 108108000, { + 0x00, 0xd1, 0x5a, 0x32, 0xfd, 0x0c, 0x80, 0x40, + 0x4f, 0x30, 0x33, 0x65, 0x20, 0xe4, 0x24, 0x80, + 0x6c, 0xf2, 0x67, 0x00, 0x10, 0x83, 0x30, 0x32, + 0x60, 0x8f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xe0, 0x83, 0x0f, 0x3e, 0xf8, 0x00, 0x00, + }, + }, { + 118000000, { + 0x00, 0xd1, 0x62, 0x34, 0x95, 0x08, 0x80, 0x40, + 0x4f, 0x30, 0x33, 0x65, 0x20, 0xd1, 0x24, 0x80, + 0x6c, 0xf2, 0x67, 0x00, 0x10, 0x83, 0x30, 0x32, + 0x60, 0x8f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xe0, 0x83, 0x0f, 0x3e, 0xf8, 0x00, 0x00, + }, + }, { + 118800000, { + 0x00, 0xd1, 0x63, 0x30, 0x00, 0x00, 0x80, 0x00, + 0x4f, 0x30, 0x33, 0x65, 0x20, 0xcf, 0x24, 0x80, + 0x6c, 0xf2, 0x67, 0x00, 0x10, 0x83, 0x30, 0x32, + 0x60, 0x8f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xe0, 0x83, 0x0f, 0x3e, 0xf8, 0x00, 0x00, + }, + }, { + 123000000, { + 0x00, 0xd1, 0x66, 0x34, 0x82, 0x01, 0x88, 0x45, + 0x4f, 0x30, 0x33, 0x65, 0x20, 0xc8, 0x24, 0x80, + 0x6c, 0xf2, 0x67, 0x00, 0x10, 0x83, 0x30, 0x32, + 0x60, 0x8f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xe0, 0x83, 0x0f, 0x3e, 0xf8, 0x00, 0x00, + }, + }, { + 127000000, { + 0x00, 0xd1, 0x69, 0x34, 0x89, 0x08, 0x80, 0x40, + 0x4f, 0x30, 0x33, 0x65, 0x20, 0xc2, 0x24, 0x80, + 0x6c, 0xf2, 0x67, 0x00, 0x10, 0x83, 0x30, 0x32, + 0x60, 0x8f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xe0, 0x83, 0x0f, 0x3e, 0xf8, 0x00, 0x00, + }, + }, { + 135000000, { + 0x00, 0xd1, 0x70, 0x34, 0x82, 0x01, 0x80, 0x40, + 0x4f, 0x30, 0x33, 0x65, 0x20, 0xb7, 0x24, 0x80, + 0x6c, 0xf2, 0x67, 0x00, 0x10, 0x83, 0x30, 0x32, + 0x60, 0x8f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xe0, 0x83, 0x0f, 0x3e, 0xf8, 0x00, 0x00, + }, + }, { + 135580000, { + 0x00, 0xd1, 0x71, 0x39, 0xe9, 0x82, 0x9c, 0x5b, + 0x4f, 0x30, 0x33, 0x65, 0x20, 0xb6, 0x24, 0x80, + 0x6c, 0xf2, 0x67, 0x00, 0x10, 0x83, 0x30, 0x32, + 0x60, 0x8f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xe0, 0x83, 0x0f, 0x3e, 0xf8, 0x00, 0x00, + }, + }, { + 137520000, { + 0x00, 0xd1, 0x72, 0x38, 0x99, 0x10, 0x85, 0x41, + 0x4f, 0x30, 0x33, 0x65, 0x20, 0xb3, 0x24, 0x80, + 0x6c, 0xf2, 0x67, 0x00, 0x10, 0x83, 0x30, 0x32, + 0x60, 0x8f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xe0, 0x83, 0x0f, 0x3e, 0xf8, 0x00, 0x00, + }, + }, { + 138750000, { + 0x00, 0xd1, 0x73, 0x35, 0x88, 0x05, 0x90, 0x4d, + 0x4f, 0x30, 0x33, 0x65, 0x20, 0xb2, 0x24, 0x80, + 0x6c, 0xf2, 0x67, 0x00, 0x10, 0x83, 0x30, 0x32, + 0x60, 0x8f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xe0, 0x83, 0x0f, 0x3e, 0xf8, 0x00, 0x00, + }, + }, { + 140000000, { + 0x00, 0xd1, 0x75, 0x36, 0xa7, 0x90, 0x80, 0x40, + 0x4f, 0x30, 0x33, 0x65, 0x20, 0xb0, 0x24, 0x80, + 0x6c, 0xf2, 0x67, 0x00, 0x10, 0x83, 0x30, 0x32, + 0x60, 0x8f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xe0, 0x83, 0x0f, 0x3e, 0xf8, 0x00, 0x00, + }, + }, { + 144000000, { + 0x00, 0xd1, 0x78, 0x30, 0x00, 0x00, 0x80, 0x00, + 0x4f, 0x30, 0x33, 0x65, 0x20, 0xab, 0x24, 0x80, + 0x6c, 0xf2, 0x67, 0x00, 0x10, 0x83, 0x30, 0x32, + 0x60, 0x8f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xe0, 0x83, 0x0f, 0x3e, 0xf8, 0x00, 0x00, + }, + }, { + 148352000, { + 0x00, 0xd1, 0x7b, 0x35, 0xdb, 0x39, 0x90, 0x45, + 0x4f, 0x30, 0x33, 0x65, 0x20, 0xa6, 0x24, 0x80, + 0x6c, 0xf2, 0x67, 0x00, 0x10, 0x83, 0x30, 0x32, + 0x60, 0x8f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xe0, 0x83, 0x0f, 0x3e, 0xf8, 0x00, 0x00, + }, + }, { + 148500000, { + 0x00, 0xd1, 0x7b, 0x35, 0x84, 0x03, 0x90, 0x45, + 0x4f, 0x30, 0x33, 0x65, 0x20, 0xa6, 0x24, 0x80, + 0x6c, 0xf2, 0x67, 0x00, 0x10, 0x83, 0x30, 0x32, + 0x60, 0x8f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xe0, 0x83, 0x0f, 0x3e, 0xf8, 0x00, 0x00, + }, + }, { + 154000000, { + 0x00, 0xd1, 0x40, 0x18, 0x83, 0x01, 0x00, 0x40, + 0x4f, 0x30, 0x33, 0x65, 0x20, 0xa0, 0x24, 0x80, + 0x6c, 0xf2, 0x67, 0x00, 0x10, 0x81, 0x30, 0x32, + 0x60, 0x8f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xe0, 0x83, 0x0f, 0x3e, 0xf8, 0x00, 0x00, + }, + }, { + 157000000, { + 0x00, 0xd1, 0x41, 0x11, 0xa7, 0x14, 0x80, 0x40, + 0x4f, 0x30, 0x33, 0x65, 0x20, 0x9d, 0x24, 0x80, + 0x6c, 0xf2, 0x67, 0x00, 0x10, 0x81, 0x30, 0x32, + 0x60, 0x8f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xe0, 0x83, 0x0f, 0x3e, 0xf8, 0x00, 0x00, + }, + }, { + 160000000, { + 0x00, 0xd1, 0x42, 0x12, 0xa1, 0x20, 0x80, 0x40, + 0x4f, 0x30, 0x33, 0x65, 0x20, 0x9a, 0x24, 0x80, + 0x6c, 0xf2, 0x67, 0x00, 0x10, 0x81, 0x30, 0x32, + 0x60, 0x8f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xe0, 0x83, 0x0f, 0x3e, 0xf8, 0x00, 0x00, + }, + }, { + 162000000, { + 0x00, 0xd1, 0x43, 0x18, 0x8b, 0x08, 0x96, 0x55, + 0x4f, 0x30, 0x33, 0x65, 0x20, 0x98, 0x24, 0x80, + 0x6c, 0xf2, 0x67, 0x00, 0x10, 0x81, 0x30, 0x32, + 0x60, 0x8f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xe0, 0x83, 0x0f, 0x3e, 0xf8, 0x00, 0x00, + }, + }, { + 164000000, { + 0x00, 0xd1, 0x45, 0x11, 0x83, 0x82, 0x90, 0x4b, + 0x4f, 0x30, 0x33, 0x65, 0x20, 0x96, 0x24, 0x80, + 0x6c, 0xf2, 0x67, 0x00, 0x10, 0x81, 0x30, 0x32, + 0x60, 0x8f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xe0, 0x83, 0x0f, 0x3e, 0xf8, 0x00, 0x00, + }, + }, { + 165000000, { + 0x00, 0xd1, 0x45, 0x11, 0x84, 0x81, 0x90, 0x4b, + 0x4f, 0x30, 0x33, 0x65, 0x20, 0x95, 0x24, 0x80, + 0x6c, 0xf2, 0x67, 0x00, 0x10, 0x81, 0x30, 0x32, + 0x60, 0x8f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xe0, 0x83, 0x0f, 0x3e, 0xf8, 0x00, 0x00, + }, + }, { + 180000000, { + 0x00, 0xd1, 0x4b, 0x10, 0x00, 0x00, 0x80, 0x00, + 0x4f, 0x30, 0x33, 0x65, 0x20, 0x89, 0x24, 0x80, + 0x6c, 0xf2, 0x67, 0x00, 0x10, 0x81, 0x30, 0x32, + 0x60, 0x8f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xe0, 0x83, 0x0f, 0x3e, 0xf8, 0x00, 0x00, + }, + }, { + 185625000, { + 0x00, 0xd1, 0x4e, 0x12, 0x9a, 0x95, 0x80, 0x40, + 0x4f, 0x30, 0x33, 0x65, 0x20, 0x85, 0x24, 0x80, + 0x6c, 0xf2, 0x67, 0x00, 0x10, 0x81, 0x30, 0x32, + 0x60, 0x8f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xe0, 0x83, 0x0f, 0x3e, 0xf8, 0x00, 0x00, + }, + }, { + 188000000, { + 0x00, 0xd1, 0x4e, 0x12, 0xa7, 0x10, 0x80, 0x40, + 0x4f, 0x30, 0x33, 0x65, 0x20, 0x83, 0x24, 0x80, + 0x6c, 0xf2, 0x67, 0x00, 0x10, 0x81, 0x30, 0x32, + 0x60, 0x8f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xe0, 0x83, 0x0f, 0x3e, 0xf8, 0x00, 0x00, + }, + }, { + 198000000, { + 0x00, 0xd1, 0x52, 0x12, 0x82, 0x01, 0x88, 0x47, + 0x4f, 0x30, 0x33, 0x65, 0x20, 0x7d, 0x24, 0x80, + 0x6c, 0xf2, 0x67, 0x00, 0x10, 0x81, 0x30, 0x32, + 0x60, 0x8f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xe0, 0x83, 0x0f, 0x3e, 0xf8, 0x00, 0x00, + }, + }, { + 205000000, { + 0x00, 0xd1, 0x55, 0x12, 0x8c, 0x05, 0x90, 0x4b, + 0x4f, 0x30, 0x33, 0x65, 0x30, 0xf0, 0x24, 0x80, + 0x6c, 0xf2, 0x67, 0x00, 0x10, 0x81, 0x30, 0x32, + 0x60, 0x8f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xe0, 0x83, 0x0f, 0x3e, 0xf8, 0x00, 0x00, + }, + }, { + 209500000, { + 0x00, 0xd1, 0x57, 0x12, 0x98, 0x07, 0x90, 0x49, + 0x4f, 0x30, 0x33, 0x65, 0x30, 0xeb, 0x24, 0x80, + 0x6c, 0xf2, 0x67, 0x00, 0x10, 0x81, 0x30, 0x32, + 0x60, 0x8f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xe0, 0x83, 0x0f, 0x3e, 0xf8, 0x00, 0x00, + }, + }, { + 213000000, { + 0x00, 0xd1, 0x58, 0x12, 0x84, 0x03, 0x82, 0x41, + 0x4f, 0x30, 0x33, 0x65, 0x30, 0xe7, 0x24, 0x80, + 0x6c, 0xf2, 0x67, 0x00, 0x10, 0x81, 0x30, 0x32, + 0x60, 0x8f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xe0, 0x83, 0x0f, 0x3e, 0xf8, 0x00, 0x00, + }, + }, { + 216000000, { + 0x00, 0xd1, 0x5a, 0x10, 0x00, 0x00, 0x80, 0x00, + 0x4f, 0x30, 0x33, 0x65, 0x30, 0xe4, 0x24, 0x80, + 0x6c, 0xf2, 0x67, 0x00, 0x10, 0x81, 0x30, 0x32, + 0x60, 0x8f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xe0, 0x83, 0x0f, 0x3e, 0xf8, 0x00, 0x00, + }, + }, { + 216216000, { + 0x00, 0xd1, 0x5a, 0x12, 0xfd, 0x0c, 0x80, 0x40, + 0x4f, 0x30, 0x33, 0x65, 0x30, 0xe4, 0x24, 0x80, + 0x6c, 0xf2, 0x67, 0x00, 0x10, 0x81, 0x30, 0x32, + 0x60, 0x8f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xe0, 0x83, 0x0f, 0x3e, 0xf8, 0x00, 0x00, + }, + }, { + 237600000, { + 0x00, 0xd1, 0x63, 0x10, 0x00, 0x00, 0x80, 0x00, + 0x4f, 0x30, 0x33, 0x65, 0x30, 0xcf, 0x24, 0x80, + 0x6c, 0xf2, 0x67, 0x00, 0x10, 0x81, 0x30, 0x32, + 0x60, 0x8f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xe0, 0x83, 0x0f, 0x3e, 0xf8, 0x00, 0x00, + }, + }, { + 254000000, { + 0x00, 0xd1, 0x69, 0x14, 0x89, 0x08, 0x80, 0x40, + 0x4f, 0x30, 0x33, 0x65, 0x30, 0xc2, 0x24, 0x80, + 0x6c, 0xf2, 0x67, 0x00, 0x10, 0x81, 0x30, 0x32, + 0x60, 0x8f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xe0, 0x83, 0x0f, 0x3e, 0xf8, 0x00, 0x00, + }, + }, { + 277500000, { + 0x00, 0xd1, 0x73, 0x15, 0x88, 0x05, 0x90, 0x4d, + 0x4f, 0x30, 0x33, 0x65, 0x30, 0xb2, 0x24, 0x80, + 0x6c, 0xf2, 0x67, 0x00, 0x10, 0x81, 0x30, 0x32, + 0x60, 0x8f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xe0, 0x83, 0x0f, 0x3e, 0xf8, 0x00, 0x00, + }, + }, { + 288000000, { + 0x00, 0xd1, 0x78, 0x10, 0x00, 0x00, 0x80, 0x00, + 0x4f, 0x30, 0x33, 0x65, 0x30, 0xab, 0x24, 0x80, + 0x6c, 0xf2, 0x67, 0x00, 0x10, 0x81, 0x30, 0x32, + 0x60, 0x8f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xe0, 0x83, 0x0f, 0x3e, 0xf8, 0x00, 0x00, + }, + }, { + 297000000, { + 0x00, 0xd1, 0x7b, 0x15, 0x84, 0x03, 0x90, 0x45, + 0x4f, 0x30, 0x33, 0x65, 0x30, 0xa6, 0x24, 0x80, + 0x6c, 0xf2, 0x67, 0x00, 0x10, 0x81, 0x30, 0x32, + 0x60, 0x8f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xe0, 0x83, 0x0f, 0x3e, 0xf8, 0x00, 0x00, + }, + }, +}; + +struct fsl_samsung_hdmi_phy { + struct device *dev; + void __iomem *regs; + struct clk *apbclk; + struct clk *refclk; + + /* clk provider */ + struct clk_hw hw; + const struct phy_config *cur_cfg; +}; + +static inline struct fsl_samsung_hdmi_phy * +to_fsl_samsung_hdmi_phy(struct clk_hw *hw) +{ + return container_of(hw, struct fsl_samsung_hdmi_phy, hw); +} + +static int fsl_samsung_hdmi_phy_configure(struct fsl_samsung_hdmi_phy *phy, + const struct phy_config *cfg) +{ + int i, ret; + u8 val; + + /* HDMI PHY init */ + writeb(REG33_FIX_DA, phy->regs + PHY_REG_33); + + for (i = 0; i < PHY_PLL_REGS_NUM; i++) + writeb(cfg->regs[i], phy->regs + i * 4); + + writeb(REG33_FIX_DA | REG33_MODE_SET_DONE, phy->regs + PHY_REG_33); + + ret = readb_poll_timeout(phy->regs + PHY_REG_34, val, + val & REG34_PLL_LOCK, + 50, 20000); + if (ret) + dev_err(phy->dev, "PLL failed to lock\n"); + + return ret; +} + +static unsigned long phy_clk_recalc_rate(struct clk_hw *hw, + unsigned long parent_rate) +{ + struct fsl_samsung_hdmi_phy *phy = to_fsl_samsung_hdmi_phy(hw); + + if (!phy->cur_cfg) + return 74250000; + + return phy->cur_cfg->clk_rate; +} + +static long phy_clk_round_rate(struct clk_hw *hw, + unsigned long rate, unsigned long *parent_rate) +{ + int i; + + for (i = ARRAY_SIZE(phy_pll_cfg) - 1; i >= 0; i--) + if (phy_pll_cfg[i].clk_rate <= rate) + return phy_pll_cfg[i].clk_rate; + + return -EINVAL; +} + +static int phy_clk_set_rate(struct clk_hw *hw, + unsigned long rate, unsigned long parent_rate) +{ + struct fsl_samsung_hdmi_phy *phy = to_fsl_samsung_hdmi_phy(hw); + int i; + + for (i = ARRAY_SIZE(phy_pll_cfg) - 1; i >= 0; i--) + if (phy_pll_cfg[i].clk_rate <= rate) + break; + + if (i < 0) + return -EINVAL; + + phy->cur_cfg = &phy_pll_cfg[i]; + + return fsl_samsung_hdmi_phy_configure(phy, phy->cur_cfg); +} + +static const struct clk_ops phy_clk_ops = { + .recalc_rate = phy_clk_recalc_rate, + .round_rate = phy_clk_round_rate, + .set_rate = phy_clk_set_rate, +}; + +static int phy_clk_register(struct fsl_samsung_hdmi_phy *phy) +{ + struct device *dev = phy->dev; + struct device_node *np = dev->of_node; + struct clk_init_data init; + const char *parent_name; + struct clk *phyclk; + int ret; + + parent_name = __clk_get_name(phy->refclk); + + init.parent_names = &parent_name; + init.num_parents = 1; + init.flags = 0; + init.name = "hdmi_pclk"; + init.ops = &phy_clk_ops; + + phy->hw.init = &init; + + phyclk = devm_clk_register(dev, &phy->hw); + if (IS_ERR(phyclk)) + return dev_err_probe(dev, PTR_ERR(phyclk), + "failed to register clock\n"); + + ret = of_clk_add_provider(np, of_clk_src_simple_get, phyclk); + if (ret) + return dev_err_probe(dev, ret, + "failed to register clock provider\n"); + + return 0; +} + +static int fsl_samsung_hdmi_phy_probe(struct platform_device *pdev) +{ + struct fsl_samsung_hdmi_phy *phy; + int ret; + + phy = devm_kzalloc(&pdev->dev, sizeof(*phy), GFP_KERNEL); + if (!phy) + return -ENOMEM; + + platform_set_drvdata(pdev, phy); + phy->dev = &pdev->dev; + + phy->regs = devm_platform_ioremap_resource(pdev, 0); + if (IS_ERR(phy->regs)) + return PTR_ERR(phy->regs); + + phy->apbclk = devm_clk_get(phy->dev, "apb"); + if (IS_ERR(phy->apbclk)) + return dev_err_probe(phy->dev, PTR_ERR(phy->apbclk), + "failed to get apb clk\n"); + + phy->refclk = devm_clk_get(phy->dev, "ref"); + if (IS_ERR(phy->refclk)) + return dev_err_probe(phy->dev, PTR_ERR(phy->refclk), + "failed to get ref clk\n"); + + ret = clk_prepare_enable(phy->apbclk); + if (ret) { + dev_err(phy->dev, "failed to enable apbclk\n"); + return ret; + } + + pm_runtime_get_noresume(phy->dev); + pm_runtime_set_active(phy->dev); + pm_runtime_enable(phy->dev); + + ret = phy_clk_register(phy); + if (ret) { + dev_err(&pdev->dev, "register clk failed\n"); + goto register_clk_failed; + } + + pm_runtime_put(phy->dev); + + return 0; + +register_clk_failed: + clk_disable_unprepare(phy->apbclk); + + return ret; +} + +static int fsl_samsung_hdmi_phy_remove(struct platform_device *pdev) +{ + of_clk_del_provider(pdev->dev.of_node); + + return 0; +} + +#ifdef CONFIG_PM +static int fsl_samsung_hdmi_phy_suspend(struct device *dev) +{ + struct fsl_samsung_hdmi_phy *phy = dev_get_drvdata(dev); + + clk_disable_unprepare(phy->apbclk); + + return 0; +} + +static int fsl_samsung_hdmi_phy_resume(struct device *dev) +{ + struct fsl_samsung_hdmi_phy *phy = dev_get_drvdata(dev); + int ret = 0; + + ret = clk_prepare_enable(phy->apbclk); + if (ret) { + dev_err(phy->dev, "failed to enable apbclk\n"); + return ret; + } + + if (phy->cur_cfg) + ret = fsl_samsung_hdmi_phy_configure(phy, phy->cur_cfg); + + return ret; + +} +#endif + +static const struct dev_pm_ops fsl_samsung_hdmi_phy_pm_ops = { + SET_RUNTIME_PM_OPS(fsl_samsung_hdmi_phy_suspend, + fsl_samsung_hdmi_phy_resume, NULL) + SET_SYSTEM_SLEEP_PM_OPS(pm_runtime_force_suspend, + pm_runtime_force_resume) +}; + +static const struct of_device_id fsl_samsung_hdmi_phy_of_match[] = { + { + .compatible = "fsl,imx8mp-hdmi-phy", + }, { + /* sentinel */ + } +}; +MODULE_DEVICE_TABLE(of, fsl_samsung_hdmi_phy_of_match); + +static struct platform_driver fsl_samsung_hdmi_phy_driver = { + .probe = fsl_samsung_hdmi_phy_probe, + .remove = fsl_samsung_hdmi_phy_remove, + .driver = { + .name = "fsl-samsung-hdmi-phy", + .of_match_table = fsl_samsung_hdmi_phy_of_match, + .pm = &fsl_samsung_hdmi_phy_pm_ops, + }, +}; +module_platform_driver(fsl_samsung_hdmi_phy_driver); + +MODULE_AUTHOR("Sandor Yu "); +MODULE_DESCRIPTION("SAMSUNG HDMI 2.0 Transmitter PHY Driver"); +MODULE_LICENSE("GPL v2"); From patchwork Sat Feb 3 16:52:43 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adam Ford X-Patchwork-Id: 13544294 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 E5662C4828F for ; Sat, 3 Feb 2024 16:53:58 +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=Bu9Lsat4+mLVD+eFS5K6iBW8Pz52eSBCT7dcZ8Jsq1k=; b=br+kJjg0qQXy+S ZS/dS/mFP2PQS4Q8CAaZUos5534vcQHsDvFXd/hn8pmnFDEmWMHYZITl8AoVEcBBGt90y3dtp2IoY Q2PBfbtC1Uka1+gsuZyHExc3m/3gtXW5Ip+CDH5AG7b3rxVNMeuD5Zt1sEpuBpgDyoEPwhOg1chIM V7RvIBhahhUBzulzf2LkQud0w8nhnFIRpmTVOFQcoJPE1TvQJ7nu5VxTX4ZnDLCUYkcOROUKRHZ9/ NB8FBFGgV4wDRRaBBjVC+30TZUJlnVXd29FvtNPpqWIGd8DFwZGNmet+DRRf9Etw8gRF0rlhWsjdN Zn4bst1Oc+DLwCJ6ayIw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1rWJHC-0000000GqHm-1cO1; Sat, 03 Feb 2024 16:53:58 +0000 Received: from mail-io1-xd29.google.com ([2607:f8b0:4864:20::d29]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1rWJH5-0000000GqAS-47HR; Sat, 03 Feb 2024 16:53:53 +0000 Received: by mail-io1-xd29.google.com with SMTP id ca18e2360f4ac-7bed9fb159fso131425939f.1; Sat, 03 Feb 2024 08:53:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1706979228; x=1707584028; darn=lists.infradead.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=5yxNJ6iw10E/jIc+eH30kqf5Ccz8IbGrYAyBw9Fu8JA=; b=QtoqzH99YRWqZI83VH3/yZ4cZ5YqtiZ5b4sFi448XvgtdN/B89UuBMXLPd/G9jGaz8 AHNlimkbnW7MiCFY9/A6IN6smmaJA1/VVqiFioGORaD4GsRzoMfVmE0G5jWTHJogVYoQ qLWyzLkaDWH/nCQbSMVNyq58GOSvEhAMukPyvaYM/2FpQ/8S7WsjZ0/DYgZ++JKDyIoC EAaMuO1GcWh5Mer1d7X6tp9rF2wNA529VMRUz5nf5oM0GEj2N7Kyh6VtqaGoNWy7kMy+ 818Sd5X62JTM49bNkX2hMmKqWeksascFSMxAZ1jMKc7Qs/sq3aJah8Pcbt2S7RFNa2Wa h2eA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1706979228; x=1707584028; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=5yxNJ6iw10E/jIc+eH30kqf5Ccz8IbGrYAyBw9Fu8JA=; b=SAb0SccXXOlX5UbyZ63NXGQIJHFoaZZKhCO/3em5VoAIwRnDI6fq8rzZxr/memvbfL yGn9gtJzm12akogpfA21c5zLxCHfYwZxyosJLC/rniGgvIy5WL5gR59xn3AtfW/PR0eH KOWD8SBQJQHsMc0sH2p+Bn9vUHrCjeaIaglWCYPQ8MG9hqd+LoC3qoZE7AEJ2+C/AK4b pvnZzQIlLAKPMBWAzwAOV7ZeoXEFVt7xhfEVbw+4ojPraJ3oWPcnNH3fcjg9J0macnxn iSTCBB1lnOZYQMD2fggXfiYlPZ3FhhBVTlKIn9D8Bx/9PGFT6oWz3Lk1W5lyGLg538fo O+zw== X-Gm-Message-State: AOJu0Yy2Aq7/GrgLXgRyxxQo/OfP8beJEBNcSwI21k5hj4QRqZreeT+z +1C1FkIzykEDKzqQAiOTC08jwSj8mpFS1ybLCP8gjWGJLJed76ZvizxfCYsdOZY= X-Google-Smtp-Source: AGHT+IGLICMierknlRorVEXNALWPHIbd9g8JvYQciri7x3uPr5CUp4NijI+2uAuRaeVh6/Kmz8+V0w== X-Received: by 2002:a6b:c953:0:b0:7c0:1f36:b164 with SMTP id z80-20020a6bc953000000b007c01f36b164mr12895332iof.15.1706979227992; Sat, 03 Feb 2024 08:53:47 -0800 (PST) X-Forwarded-Encrypted: i=0; AJvYcCVA9CZ4OBFcoM04s5n21XZMv7Q/nxNcmPFO+x1Hx/0kUqPWvHWgXAMhmWWYSeu3FnFFbdWnIQIXkcJ8bvjPe4SRA+PEake0K2o9+SdFQVa0uhauF6xPTPbN6t02ZtR4ijMGSn6bpH/o1D/WhzSp1LNi/qJBO6dUNrXqU0xlwDLjVT0na4dfFVj0vjAP8PLreg0xiTninmHNzxkiLB59Wze+9DOg/GLsJH4TPAUkmXpKZUzkeSul4u9iC6945qk4uxoHVuI4LSZXsQ7y9qiyzP2cMlcs+JP0fV4m5o5JizP5UVba5st/J/YGP/ZOTzDmylMIzpS0bkkba+K1/9SD6wR++0T+vPbWfHEe3wJwDqVW15We868sluUY1Hc5JKoa5QMsz40Hn37WkpB/sCANoznyJeNkPi3K0n1T/KmJJtLTBr1VzyFNKujQekHA3LzIN3TrDhO1XmFYseWfskZ/6n5IdfNiFNYU3rCxUzR6aIYmogpso3AFRoUwnAgAD0esSSDoQ5MCBq/Kh1ck3wd1Rbcu77+yjr6xL/U9pQmqi4sWob0k1ENb/g9aYf8PGpWQaj0vzwjmKo3L3PWIlsYk7bF6hdeM+08pLHa75lJ0UX69ERLEVOhEQ3M+HZOzzmHwP2zGjmSVp6Yf0IOs9xqmJvw32JvuHy+LYGtkK+fWKEw6mjfAYMCyzceYBz8qtTY2se/d98gG3FunwStU6JBNtSDkTHnzjseKe9YQCCR48d63IRE/nASGuG1uzo7Bs6Sti1A252RslipIk7/QB2Is1ulD8+N+9xAvPZqDb25ghHibwI6MlFtaCx66JtMIJsw6TklhYfBvigYAeGRZ9p7yU6jsENqoAhAgA0oJsoBZdtjWtMOkjSu3Sqt+fWW5RpD+GSGtXiVhQ59kCwo59MlPjZfDiPi+XmXRKRrqekWAefFpV8tMcq30iwW+lTh+2VsESwvX7E EIkQFHHCNJraRxEphrKmY5jpUPi2se35+9fzW/8/MJU1JVMVbaJ6Ju3BDhiaaIF9ish60lHhllqGuZQdDOEY3tReKYlh46VVzGRNUoYhknSUM9+VgaYtxzn0LVe7CYPkurkr+0nTkOZ030FUw6CpdAMA2THIwB00py45S/j8jbnvTzvgVIlNAeY0tGiYKzEUfSffiU2FR9K7ClVCD3rJDx42Ni2vHIhw== Received: from aford-System-Version.lan ([2601:447:d002:5be:d9b2:bb4f:5531:6aa9]) by smtp.gmail.com with ESMTPSA id t30-20020a05663836de00b00470b29b82b1sm1086256jau.154.2024.02.03.08.53.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 03 Feb 2024 08:53:46 -0800 (PST) From: Adam Ford To: linux-arm-kernel@lists.infradead.org Cc: marex@denx.de, alexander.stein@ew.tq-group.com, frieder.schrempf@kontron.de, Adam Ford , Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Daniel Vetter , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , NXP Linux Team , Philipp Zabel , Vinod Koul , Kishon Vijay Abraham I , Catalin Marinas , Will Deacon , Liu Ying , Ulf Hansson , Lucas Stach , dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-phy@lists.infradead.org, linux-pm@vger.kernel.org Subject: [PATCH V8 03/12] dt-bindings: soc: imx: add missing clock and power-domains to imx8mp-hdmi-blk-ctrl Date: Sat, 3 Feb 2024 10:52:43 -0600 Message-ID: <20240203165307.7806-4-aford173@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240203165307.7806-1-aford173@gmail.com> References: <20240203165307.7806-1-aford173@gmail.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240203_085352_052794_24B5204A X-CRM114-Status: GOOD ( 14.74 ) X-BeenThere: linux-phy@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Linux Phy Mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-phy" Errors-To: linux-phy-bounces+linux-phy=archiver.kernel.org@lists.infradead.org Per guidance from the NXP downstream kernel, if the clock is disabled before HDMI/LCDIF probe, LCDIF will not get pixel clock from HDMI PHY and throw an error: [CRTC:39:crtc-2] vblank wait timed out WARNING: CPU: 2 PID: 9 at drivers/gpu/drm/drm_atomic_helper.c: 1634 drm_atomic_helper_wait_for_vblanks.part.0+0x23c/0x260 Fix this by adding the fdcc clock to the hdmi_blk_ctrl. This should be safe, since neither this power domain nor the dependent HDMI and LCDIF drivers been enabled or added to the SoC device tree yet. According to Sandor Yu from NXP, "the FDCC clock is not for HDMITX in desgin, but it is part of HDMI domain that needed by HDMITX. So I think it is reasonable added it to the power domain driver." The driver also supports two power domains which are missing from the binding that also fix an issue with resuming from suspend. Signed-off-by: Adam Ford Reviewed-by: Rob Herring --- V2: Update commit message to both show error and give a bit more background. Add missing power domains hdcp and hdrv as pointed out by Marek Vasut --- .../soc/imx/fsl,imx8mp-hdmi-blk-ctrl.yaml | 22 ++++++++++++------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/Documentation/devicetree/bindings/soc/imx/fsl,imx8mp-hdmi-blk-ctrl.yaml b/Documentation/devicetree/bindings/soc/imx/fsl,imx8mp-hdmi-blk-ctrl.yaml index 1be4ce2a45e8..bd1cdaa4f54b 100644 --- a/Documentation/devicetree/bindings/soc/imx/fsl,imx8mp-hdmi-blk-ctrl.yaml +++ b/Documentation/devicetree/bindings/soc/imx/fsl,imx8mp-hdmi-blk-ctrl.yaml @@ -27,8 +27,8 @@ properties: const: 1 power-domains: - minItems: 8 - maxItems: 8 + minItems: 10 + maxItems: 10 power-domain-names: items: @@ -40,10 +40,12 @@ properties: - const: trng - const: hdmi-tx - const: hdmi-tx-phy + - const: hdcp + - const: hrv clocks: - minItems: 4 - maxItems: 4 + minItems: 5 + maxItems: 5 clock-names: items: @@ -51,6 +53,7 @@ properties: - const: axi - const: ref_266m - const: ref_24m + - const: fdcc interconnects: maxItems: 3 @@ -82,12 +85,15 @@ examples: clocks = <&clk IMX8MP_CLK_HDMI_APB>, <&clk IMX8MP_CLK_HDMI_ROOT>, <&clk IMX8MP_CLK_HDMI_REF_266M>, - <&clk IMX8MP_CLK_HDMI_24M>; - clock-names = "apb", "axi", "ref_266m", "ref_24m"; + <&clk IMX8MP_CLK_HDMI_24M>, + <&clk IMX8MP_CLK_HDMI_FDCC_TST>; + clock-names = "apb", "axi", "ref_266m", "ref_24m", "fdcc"; power-domains = <&pgc_hdmimix>, <&pgc_hdmimix>, <&pgc_hdmimix>, <&pgc_hdmimix>, <&pgc_hdmimix>, <&pgc_hdmimix>, - <&pgc_hdmimix>, <&pgc_hdmi_phy>; + <&pgc_hdmimix>, <&pgc_hdmi_phy>, + <&pgc_hdmimix>, <&pgc_hdmimix>; power-domain-names = "bus", "irqsteer", "lcdif", "pai", "pvi", "trng", - "hdmi-tx", "hdmi-tx-phy"; + "hdmi-tx", "hdmi-tx-phy", + "hdcp", "hrv"; #power-domain-cells = <1>; }; From patchwork Sat Feb 3 16:52:44 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adam Ford X-Patchwork-Id: 13544295 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 74248C4828D for ; Sat, 3 Feb 2024 16:54:02 +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=0lgYVyImvL5CfQoVe8MpySOgqTf/xmHkhXtCHPVyEPc=; b=G1Y74y++DRmIow 8iM52mQFxN2R5w9pZo16TJEEskQPoBjo17/qt64DUHi8OK8BWMbjvgeqvyKKNq2tkinS4yozE4lHH jiVbV7e2yhFlRGFr+10YQtRhcfsF6iZIDgF9Xe7U2QCQeN02UllHnZ/Kb4roeHF6ecqCGaPMu98aT MAPyNfIqFZyaKnhHt9vamr5cf65UIg0wsLlX3O0/VzVfTy6/iJLQAgpQEHxBnHoo4aBEib4EiZDNb VOoXOIXN5jqFdJtEdmE0s/zTqyN+6h1lrrPvbu3KJokoG8cUGj9MBOsmbuwZZhnwquxUjyEEapZXw TsZO1V/0Yw26jBGfcp5w==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1rWJHF-0000000GqKL-3Yyx; Sat, 03 Feb 2024 16:54:01 +0000 Received: from mail-io1-xd35.google.com ([2607:f8b0:4864:20::d35]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1rWJHA-0000000GqF3-1wJI; Sat, 03 Feb 2024 16:53:58 +0000 Received: by mail-io1-xd35.google.com with SMTP id ca18e2360f4ac-7bed9c7d33fso126091639f.1; Sat, 03 Feb 2024 08:53:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1706979234; x=1707584034; darn=lists.infradead.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=xTz41youk0MNhd57tDHSRqDDcqb1mXikbXnVvCDl5qs=; b=GyCkgMu+9Hzq07xQCyIa4o4Ap/r0b6ehmKFjnUgUlwKLCxG/Ah83/BO33JzduVpzA4 FUM0L13bkU4YIZG4lZcWsgTnUFppB1EyOL12eQhq1VqarOaGj3czoDarywalCiKium1E uVZBNIvWav8gt3gsOVAp51O3J0pP2+snn340x1pNi9iBGWADuxgyuyaK/pkqlSsN0kDj sjBAD9EVglmVHHgBP8ZUyPD9DidZ/midq8UKLQx+oASB5IbBuaMHlpA73p/MYRvFf243 XAWiV6rTYi2D4mO4KuUwt5o7PoUAWoN9U0KQuGVfqxMG/5PUqhl5E7LhwRV1oMe6HH// Y4lA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1706979234; x=1707584034; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=xTz41youk0MNhd57tDHSRqDDcqb1mXikbXnVvCDl5qs=; b=tG+Z1gpx20wihZ2FOgukM87umKk/n0j7gCJ6FqSOj29FS7ou6yc0rrAEaiNONWb+UB CtNdmAZyc3AjK3sMVRD5C+sPWPQifM9VXz1QCYQOa9ELcvAfRqU+XFWFfSL5dVAz0wNX 3xb24VbzKH+BHP+JQkac2D/u/WaOfsHnWlU3vr4796UWUotVj+jb503Z0YctNG6TBUfL xrFEaPXulBQCvdPL49ozRj9dNM09rDQ55rFxYqYTUSHVLmRQd1Kzt6yxrBFxaqjcVPBG mSs1Z5UNQxKDo83uMXSp7JD1mT/68NBPNIvt6q1iGENXc6iLnTl+9N+oLpuCMO3Q5RyH CWsA== X-Gm-Message-State: AOJu0Yz3AjnJmvGnvgdrNlGMSmyTCv1RCGYV8mMmCHwZZRRm0HvG3tl+ 8r0s0YUGjPHjOVlbADMlDfDbMhBlIUgbNVFxdlbUEncZb5LarGG1dJMj0rIMClg= X-Google-Smtp-Source: AGHT+IFyEA0Xii6DxXVLQmKqTt50wj06h7R4pQOHBCC/7rAn9AxwjHk/98owuv5mKfuaCa0UFjMBEQ== X-Received: by 2002:a6b:fb03:0:b0:7c0:3e75:f46d with SMTP id h3-20020a6bfb03000000b007c03e75f46dmr4802889iog.1.1706979233728; Sat, 03 Feb 2024 08:53:53 -0800 (PST) X-Forwarded-Encrypted: i=0; AJvYcCVZdVoNbFEdixs+13RcadW8GCllVZ7xKVTj2NXM54/anl1fBuhrAHCat0rqnv3RhPASNx1opDJMA21l2z1ij3X8Rx12yVkcQF3JZTOK/TdeH+RaAtahnLEJQFr1EBEUsLv9uMvFjgkQj5cv+aAdNFwFbShA0kgja3hR3iG+/3YWHfTuV/1S1mP0chXWaEzo1MccDnVMn18czRjOnRdwS7S8EUhB/wt2V5/2+DD3jLoPD1YGeWMWIWwvNSPDn99bqMs6krYj7WIBM8uXm9uPmLjqWgjON/i6J4pg7Gd0ha42QIp6q8ORyMPm+DNgUlu+ZnGaGNxp7pw/60q7lPdfXZAwTb4x3OFApr+MUxTmbZOXDfUy89W0rZix+B3E3fOytm2w1Os/SuG+zS2jWyWAG49gtmBoWgVC9EN0+CjvIUNdxiAk0NCabImRXO4kvDZ/05GrkGmjNjwhmCwOHTNxNJ/VYPYDz8C+m20Zh3YXaeRs/ZzFi1qNX6Hbu6nGQgB53BFrrE7DW8wy7BerDEwfQN7OF6Lxf3q82TSpWlsu+op0Si2PXXkMX/A9CMmDR5IQNaxVjjL4V/4Ykpc/iOapGlUYY9hGaC4h9/BtwNDpSpu9qJs5ZIS6Pds7A8ARxvis4/LecvT0lPDtItXD1lA9gzCH9fIkyLGw/tO9z1GQdU5fJzgUlbZQcdA1S2vN/dobTHOkGlgkEkBEEypLuGbX/OJCO0DBcGp7xE8+MtJradWpWSB7zSmA0Sp2ghrlum17CIgR353mLSHpuhim31D3HFt5reRqCIhlV5aClUhtcLqzM/ACrx3JM79u06NOcVklVWAb5WPhjkdTaw2RJA+/DBN7RMsH9Ruthu4++IamxsZN0zGXu94y3o/HqeWtxxec24GM6y7XWNJl1u7NWvSf9ptVeauIDMqfUwFnszPpQr0AR4e3aUVEVEPFasL8tlOP00vcN+ mpGj9R8UMZ1+rT0d+JO6gXS+Yd+LDUMkxu/IWny7gVOlL4rA/IwaPBq/NnhEmmHkNPit6gfH7urCstUx8uEBN6/fIb4pnzHC1PX52xvzvlMLFrlSyowHFSRg+imxQyt00NhHYnbLy7R8EvstG8GndKToyv0053jjyytesykhtwZRO2JKVkUX/w6GQUERQnIpcKJZJ6aWP9YjuMSDPAxUDfkw/dQPb++belRYOp318rrcFN+Sd0dXaZDCDwVPT5KRGQZqg2zIermNjiPcM= Received: from aford-System-Version.lan ([2601:447:d002:5be:d9b2:bb4f:5531:6aa9]) by smtp.gmail.com with ESMTPSA id t30-20020a05663836de00b00470b29b82b1sm1086256jau.154.2024.02.03.08.53.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 03 Feb 2024 08:53:51 -0800 (PST) From: Adam Ford To: linux-arm-kernel@lists.infradead.org Cc: marex@denx.de, alexander.stein@ew.tq-group.com, frieder.schrempf@kontron.de, Adam Ford , Jacky Bai , Sandor Yu , Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , David Airlie , Daniel Vetter , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , NXP Linux Team , Philipp Zabel , Vinod Koul , Kishon Vijay Abraham I , Catalin Marinas , Will Deacon , Liu Ying , Ulf Hansson , Lucas Stach , dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-phy@lists.infradead.org, linux-pm@vger.kernel.org Subject: [PATCH V8 04/12] pmdomain: imx8mp-blk-ctrl: imx8mp_blk: Add fdcc clock to hdmimix domain Date: Sat, 3 Feb 2024 10:52:44 -0600 Message-ID: <20240203165307.7806-5-aford173@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240203165307.7806-1-aford173@gmail.com> References: <20240203165307.7806-1-aford173@gmail.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240203_085356_604163_84D2DF99 X-CRM114-Status: GOOD ( 14.63 ) X-BeenThere: linux-phy@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Linux Phy Mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-phy" Errors-To: linux-phy-bounces+linux-phy=archiver.kernel.org@lists.infradead.org According to i.MX8MP RM and HDMI ADD, the fdcc clock is part of hdmi rx verification IP that should not enable for HDMI TX. But actually if the clock is disabled before HDMI/LCDIF probe, LCDIF will not get pixel clock from HDMI PHY and print the error logs: [CRTC:39:crtc-2] vblank wait timed out WARNING: CPU: 2 PID: 9 at drivers/gpu/drm/drm_atomic_helper.c:1634 drm_atomic_helper_wait_for_vblanks.part.0+0x23c/0x260 Add fdcc clock to LCDIF and HDMI TX power domains to fix the issue. Signed-off-by: Adam Ford Reviewed-by: Jacky Bai Signed-off-by: Sandor Yu --- V2: No Change --- drivers/pmdomain/imx/imx8mp-blk-ctrl.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/drivers/pmdomain/imx/imx8mp-blk-ctrl.c b/drivers/pmdomain/imx/imx8mp-blk-ctrl.c index e488cf79b800..77e889165eed 100644 --- a/drivers/pmdomain/imx/imx8mp-blk-ctrl.c +++ b/drivers/pmdomain/imx/imx8mp-blk-ctrl.c @@ -55,7 +55,7 @@ struct imx8mp_blk_ctrl_domain_data { const char *gpc_name; }; -#define DOMAIN_MAX_CLKS 2 +#define DOMAIN_MAX_CLKS 3 #define DOMAIN_MAX_PATHS 3 struct imx8mp_blk_ctrl_domain { @@ -457,8 +457,8 @@ static const struct imx8mp_blk_ctrl_domain_data imx8mp_hdmi_domain_data[] = { }, [IMX8MP_HDMIBLK_PD_LCDIF] = { .name = "hdmiblk-lcdif", - .clk_names = (const char *[]){ "axi", "apb" }, - .num_clks = 2, + .clk_names = (const char *[]){ "axi", "apb", "fdcc" }, + .num_clks = 3, .gpc_name = "lcdif", .path_names = (const char *[]){"lcdif-hdmi"}, .num_paths = 1, @@ -483,8 +483,8 @@ static const struct imx8mp_blk_ctrl_domain_data imx8mp_hdmi_domain_data[] = { }, [IMX8MP_HDMIBLK_PD_HDMI_TX] = { .name = "hdmiblk-hdmi-tx", - .clk_names = (const char *[]){ "apb", "ref_266m" }, - .num_clks = 2, + .clk_names = (const char *[]){ "apb", "ref_266m", "fdcc" }, + .num_clks = 3, .gpc_name = "hdmi-tx", }, [IMX8MP_HDMIBLK_PD_HDMI_TX_PHY] = { From patchwork Sat Feb 3 16:52:45 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adam Ford X-Patchwork-Id: 13544296 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 F2FC4C48298 for ; Sat, 3 Feb 2024 16:54:10 +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=Vmrz9En2onFLNQ2C32/BW7zlxsaeUyYtRrlqGNR9tI8=; b=iJoDI45aDwQO45 3g7Gfp7pqXYYn6E3uEntiCamp0MXM5grSFAEldKHybUg90MJ+Yb41kznud02Hg7bGJTHT53yHKmEN DAn9WRh8J1WRGtv0h7g2ir8GB+9rnbR6UZcdMpKNHxv3w+RHk0WffiONTMmMHnWQRo+h5s00lrWXu C33o4BJQnhZ/wljEnGlAv9d2maQdC3+4TBliHecHYkKj5hzUEtja3HPcS+v96aZZasMYlUIzjDx/P 7ODGMNzwkaGXQBX0BXZ/bI/AqL0Ov7yuICpx+M1hBM8zM/NSYtvWU+/hEmmzwVbp0hVAwKF/SeKOZ GwBeJD5Cq/hYdyNBh6yw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1rWJHO-0000000GqRf-1e1E; Sat, 03 Feb 2024 16:54:10 +0000 Received: from mail-io1-xd30.google.com ([2607:f8b0:4864:20::d30]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1rWJHE-0000000GqIG-2Jbe; Sat, 03 Feb 2024 16:54:02 +0000 Received: by mail-io1-xd30.google.com with SMTP id ca18e2360f4ac-7bfd5eeffefso126456739f.1; Sat, 03 Feb 2024 08:53:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1706979238; x=1707584038; darn=lists.infradead.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=taDwADqgs/vXZTWtQL/uIsBG3gMoUnf1EEy+EC/Jro4=; b=Idhe9otWeaY5zmj4JCGDWR0HXl5PIFT+4pvKyPg5GeBPl7yEPjVOGUeBQBMplpPVNa U2Xg/jLXmBjotZNBAhTKPwcD1hU8ayFJamkwOm078CQPoyUG4544atWTkv3XRIAZpOCv OoQEZtgSMPduVHh/6ip5o56F4aFfDQWcvmgDAfPSHHJ7Xex7dM9aITSTv3c6GhZjOT6Q 4VYgsBvrbtWY7WC7nWblV3DLgZq1jkAGo38UZtuQ+gmhapRSOqzXAS+vKwMSyTD4Eraq U+pi3oV7x3hJpU4fhNbfk24Px0OayQkCGnd+taxiQC5MDHUfznSMDj+5MHYjJ+Kjxeds nNzA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1706979238; x=1707584038; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=taDwADqgs/vXZTWtQL/uIsBG3gMoUnf1EEy+EC/Jro4=; b=dlhjdY9xLWDtBs5wD9WZPkJ4GWyieaGu+ceXTzl14arKou/bImGVwV3EM1TRYdThmK UxJaEM7rWAaNdeha0JOA2euhZQGPukXFL30xrmcFpNRp/WTuItYQ//Thmpb4L7qYsY01 3dxDjW9HgjkkQ35ye2G1XAc9WriXV9zk2sw2Aju2YQM4PIi4SzuYzeeGCMf06Cc8RdBH rMVfCyDb66kGccF04wzYuDBS2d3qESWTKFTAvHKMG3nPunZSiFvcDwqeqXD0V1V4x6Q0 j2WsjHUDaQps8Z4U1AQxdbJmjj6By3Pn2zYU0atLNIQcCe0euAy+hpoWlGPExcYwy8F5 Drbw== X-Gm-Message-State: AOJu0Yx0No9cCDOChG9eNCSvSyfUFPL9XkoYn+bs0w71gozcyhhRAUMD NdhSXdDHSVnAazbcoexrC9CCWBSAq/NSCPd/daONNa8ODtTgDErot/Uy0zpu2ck= X-Google-Smtp-Source: AGHT+IGSIrWbB8jR5uaJBwAlIfAilmzMPT34+qSqtn8M+K3ASa98MtXlrgLootz9nRYzgIf22ww9/A== X-Received: by 2002:a05:6602:2806:b0:7c0:3e72:998c with SMTP id d6-20020a056602280600b007c03e72998cmr6003233ioe.9.1706979238133; Sat, 03 Feb 2024 08:53:58 -0800 (PST) X-Forwarded-Encrypted: i=0; AJvYcCUD62zg8tJ7qMwNwxmrNMP/+OYqlFBEhICF5gxfVobVJ4LnXerUR5pumG2PtuG5+Cmz7Qfs6PkvZNFzjWFg6HopgDfdIH+CrhJFHbAwLVkYFE1Gky5g76gmocMJz7rKSZSFH0wz0PGpn+QujBSeWaW1bTd4givdDsdoFza+0pxjcv6yKGy7rEu1/s7iTfuXWHEMSK1g8YxlUZ4ksVEg9YAVZdvygkgS04Ukez64aJpKQb5+2v2XodxFNH/1cAABEgBKWMPLLzszvggkQTSHX1GIolk8NFkZPPeLGYeYiUkpbeoRwsEhdm91rZxvI2XOpmQOT3rUKclMKk6QdMrzukJVrFFPyjXfvG//tBYVoSxIwE0BlykyOEbpyG+4FQFGigvg4XfwpnyZMSC9GgupXhY5d+t8AFac/q1sF2IdQXbISCSiY4ZAAaQI5dXDRVcf5BbfkjTrnoErFj1kkAX0sAKCdiLjVXD45OcGOIwrmReYBeajeQ9mV18gnX4UKlvr+uguAgY1PxVQ3g+CAAvwSlD8PdWuun7nmhBAM0+PBzXyteqCNHXeiswiDUcbqMyv9vhmmzJSJJP9iU07weq0Ne/emI/B35nszR/mec2Vw6qhN2F7u7TA22yJ61oR0pGna47Zv3k+AwHQdQ2z1JcP/od3janjHDB1aTzX9NNnYpC/WvYklUCj757VfqhEfzsVwqOTqRvRQcbYSS6bjs695FEGfS+gTqoI9XaRfw/wVyQvzSz0pCKN+ybkBc8UrWX3nt1CEdOw0keAF86Jp6Og8hwRbADGnVhU80JfhgEPIiVyzk4gWlVMOGMPHgDd00CbvE1A5M2HCUJrRackwYDqHSvO/JLky9AjE2C+/u1wQaqiRVngv6pYBgBUAzCqqqEK7X680hK1IciJbH63FpWpnoSS4FSoDH6zlB7rzbllUnyRFzEN8lftCtU9vmNGp84/0bO6zC tPc+kBpnmgA8VI5bKu/CBQBhxIXDGMbduBGf5zFg/mUqGiqIRi/nukYaNl5I8AcS2jy5e2zjr3Jfer0jAAOV7PBb7frc24lvmLSilFIjuj+0MkhPhuOWv5cvogwrsDLXMJ75BPLDJ3j54uiLyFRUhAmNX80hkWwe4o9O3vAKH/wFiBgsUin1KJr7WD0JtKOfNhxluLTZcCpooyc1EfcgOYrHNZNWHp8A== Received: from aford-System-Version.lan ([2601:447:d002:5be:d9b2:bb4f:5531:6aa9]) by smtp.gmail.com with ESMTPSA id t30-20020a05663836de00b00470b29b82b1sm1086256jau.154.2024.02.03.08.53.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 03 Feb 2024 08:53:56 -0800 (PST) From: Adam Ford To: linux-arm-kernel@lists.infradead.org Cc: marex@denx.de, alexander.stein@ew.tq-group.com, frieder.schrempf@kontron.de, Lucas Stach , Adam Ford , Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , David Airlie , Daniel Vetter , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , NXP Linux Team , Philipp Zabel , Vinod Koul , Kishon Vijay Abraham I , Catalin Marinas , Will Deacon , Liu Ying , Ulf Hansson , dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-phy@lists.infradead.org, linux-pm@vger.kernel.org Subject: [PATCH V8 05/12] arm64: dts: imx8mp: add HDMI power-domains Date: Sat, 3 Feb 2024 10:52:45 -0600 Message-ID: <20240203165307.7806-6-aford173@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240203165307.7806-1-aford173@gmail.com> References: <20240203165307.7806-1-aford173@gmail.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240203_085400_722100_4F2BB5B9 X-CRM114-Status: UNSURE ( 9.18 ) X-CRM114-Notice: Please train this message. X-BeenThere: linux-phy@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Linux Phy Mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-phy" Errors-To: linux-phy-bounces+linux-phy=archiver.kernel.org@lists.infradead.org From: Lucas Stach This adds the PGC and HDMI blk-ctrl nodes providing power control for HDMI subsystem peripherals. Signed-off-by: Adam Ford Signed-off-by: Lucas Stach --- V2: Add missing power-domains hdcp and hrv --- arch/arm64/boot/dts/freescale/imx8mp.dtsi | 38 +++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/arch/arm64/boot/dts/freescale/imx8mp.dtsi b/arch/arm64/boot/dts/freescale/imx8mp.dtsi index 76c73daf546b..5c54073de615 100644 --- a/arch/arm64/boot/dts/freescale/imx8mp.dtsi +++ b/arch/arm64/boot/dts/freescale/imx8mp.dtsi @@ -836,6 +836,23 @@ pgc_mediamix: power-domain@10 { <&clk IMX8MP_CLK_MEDIA_APB_ROOT>; }; + pgc_hdmimix: power-domains@14 { + #power-domain-cells = <0>; + reg = ; + clocks = <&clk IMX8MP_CLK_HDMI_ROOT>, + <&clk IMX8MP_CLK_HDMI_APB>; + assigned-clocks = <&clk IMX8MP_CLK_HDMI_AXI>, + <&clk IMX8MP_CLK_HDMI_APB>; + assigned-clock-parents = <&clk IMX8MP_SYS_PLL2_500M>, + <&clk IMX8MP_SYS_PLL1_133M>; + assigned-clock-rates = <500000000>, <133000000>; + }; + + pgc_hdmi_phy: power-domains@15 { + #power-domain-cells = <0>; + reg = ; + }; + pgc_mipi_phy2: power-domain@16 { #power-domain-cells = <0>; reg = ; @@ -1361,6 +1378,27 @@ eqos: ethernet@30bf0000 { intf_mode = <&gpr 0x4>; status = "disabled"; }; + + hdmi_blk_ctrl: blk-ctrl@32fc0000 { + compatible = "fsl,imx8mp-hdmi-blk-ctrl", "syscon"; + reg = <0x32fc0000 0x23c>; + clocks = <&clk IMX8MP_CLK_HDMI_APB>, + <&clk IMX8MP_CLK_HDMI_ROOT>, + <&clk IMX8MP_CLK_HDMI_REF_266M>, + <&clk IMX8MP_CLK_HDMI_24M>, + <&clk IMX8MP_CLK_HDMI_FDCC_TST>; + clock-names = "apb", "axi", "ref_266m", "ref_24m", "fdcc"; + power-domains = <&pgc_hdmimix>, <&pgc_hdmimix>, + <&pgc_hdmimix>, <&pgc_hdmimix>, + <&pgc_hdmimix>, <&pgc_hdmimix>, + <&pgc_hdmimix>, <&pgc_hdmi_phy>, + <&pgc_hdmimix>, <&pgc_hdmimix>; + power-domain-names = "bus", "irqsteer", "lcdif", + "pai", "pvi", "trng", + "hdmi-tx", "hdmi-tx-phy", + "hdcp", "hrv"; + #power-domain-cells = <1>; + }; }; aips5: bus@30c00000 { From patchwork Sat Feb 3 16:52:46 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adam Ford X-Patchwork-Id: 13544297 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 5F02FC4828D for ; Sat, 3 Feb 2024 16:54:18 +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=7MxPg6C4fv+k8WVWSOKrvNmMT27mqdHGk0nZLNHZXEY=; b=YSoHS6+RbIpo/c qphPcNWjiswBi4gXK/NvEfcaAW3I249QzUF+tYDC/eXoIW2D+xeRQLI95VYd8BlHJ8bmRxTVQs5aS UcMRwQsBEhly1dEyhIzwbywMOCv4z0nMI+zWDIWFi1dTRnUcXjDiOj0oYHRropCfn173aZZmW2iIs lkdZwzujzpIk131eiiAmAVffAPRnOvsJ0LudOce+lBZ5UUuHc2NdaNmIGF9A42dX4zmxQ/Ln8Du/2 ery+SZysgMYR/1t7WZPLnyHca14hieOhKKGWw3fHO+C10KR2OKSPpFIFwVismMYCjBHaJ9F0BLYsF fA/mZxDxbAO5v8eH75iw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1rWJHV-0000000GqY6-2yUZ; Sat, 03 Feb 2024 16:54:17 +0000 Received: from mail-il1-x12a.google.com ([2607:f8b0:4864:20::12a]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1rWJHJ-0000000GqM4-2H06; Sat, 03 Feb 2024 16:54:07 +0000 Received: by mail-il1-x12a.google.com with SMTP id e9e14a558f8ab-363a7ba0b8aso10111785ab.0; Sat, 03 Feb 2024 08:54:04 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1706979243; x=1707584043; darn=lists.infradead.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=JtGhKs15Hj8i5RJ5ho6JwLU0TmKEm52r/T9AweQyD3U=; b=YWQ8XmPCrFytmBYawJrTGMj/tPFzmsH8e30nlR27666M8fhm+MQNeOhKtDiyEe9jE5 t+rDEAIsumX7LH6ZAayNMt3pzoulQ1B+7dy/8U1MLpfp5w4Lf/QscvfOs5IKYYWx03cV joUwNJQzRKcIvoKOXxam4Kpyeg/OkL/7yIPHc5dx3XAArM/JRiCMT5p6bQ0ZiWFuUAhF +G21IedY+/5fI6YKZfFYS28CxOPenx7PA2M/qz9oepVIeR728AiMIUd4UvOYlux+/2ZY 7dF5xSp6rapCwgfXtL/lQzqoqz3U8RaZugoETlbIzCiXiRorAUkKWzYFhov4nEHSZyWS p3sw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1706979243; x=1707584043; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=JtGhKs15Hj8i5RJ5ho6JwLU0TmKEm52r/T9AweQyD3U=; b=Qh4WpmjdKTkAogt+Xp/fi6W/KITMHuLnRAUcdvGPoLruBxiFP4/8IKRYNYVbok91lw H/zn7dh5iM6goViz9bqBVjtTFepPYrj55sQGjkEEt5r5xbzlNc1SzexJbOH78EIEaLOB w/bY1EhgNPxPm617TlxMKYYxPzeO0qsGI8XijaZAs0HgwMLOgr+mxdPic30PDwaLfhSR AHGWfuMavpx2Bccwf84fnSaj9sNJhtWfCej7+eTIKcKIwJod6iffcLW+26/Mj+sOvrZv 0ZyhpzOFbONPsQpJ3690LDOmOnsbQP+oWNC4oqhHj55Q+ZKTCTc4eMTMOY0cy1gMTxbV E1ww== X-Gm-Message-State: AOJu0Yy4uHmHWzROpniyzk3u4aviX51yRbcnnv61fRdeB5r8b+Cc+TuV QaLzs1kxOwJv5JqkmH/0lREFbHrZxuE25w+Id5mfm/jj6TF8i1MQiEctJyLM1ek= X-Google-Smtp-Source: AGHT+IEtUlUuWsf9Gbr9GJbRlc1FEcGkrsmzLVx90UiAKNG3C5GbacaJqKTLB3V+VnaauWFjXUN5Nw== X-Received: by 2002:a92:d3cf:0:b0:363:81df:3d3 with SMTP id c15-20020a92d3cf000000b0036381df03d3mr5301076ilh.4.1706979243145; Sat, 03 Feb 2024 08:54:03 -0800 (PST) X-Forwarded-Encrypted: i=0; AJvYcCU/UwDB46wLoYIFz3O6l5HXVdZUTuSGDGGNGDOBmA1nI1v32qlpxeuKPfkKPapsxAKPEyV6GPHaDnimTNr3DbJrYuloAkEnRbdSF2fb4CuRVyDXSHYK2eHAj/DTf82WRn6QOBFR5iwj2elDQNofClJ97c127Khba7hPCHaIlPasYNq2qlgRpAe3cwfen4EiVjlNaH4EfMYkZWjk/HYMl0zDZBa/UgXs6nqfuXwFARAOWRxFGSFfyowwZVJF3kfGTotEIkCx2VRUu5lOCSshBDa2s1TZVeZklv0lOBCQgeq2YYhVWTR0bj49etVariQ5188+WbNbo6s3wS0WDD27C7xTyep7AKf1ozf5xpunMCecoMQIZdeooVqkuvOeAarWQ6LbtFZldbUz1p4tfaiY/RL+R3e0HKdB0SEQfup7eprMSVdd2qtIMqi64bzq74UM3/P4HgBRcZlf16SZeUZ8oGeBnGKvp3E1GToJqiOk8A8K9SyHSsQXKJX/rVYQ/tfwLPDt3RTCtGUJZ7rmlNxDJXZu5etd7fWDAcCIJgiT3rXAlT4YRnFwWtdICYcfItQokTzmrNE5QZXYdSP6oc2uAkMUfqd2rYHvSzQpoi53MwL+SYArEuvYM5+ePpPj0XleBmwr6Q2aWPhEQiNFbT0UJFo9vkFus0VAOYDq4KJSKXXDvtp03Q8q6nfhzdIbf/ty5SeTXaiDo7vGDKgOARera2E+oLcjiw2QSr+7HzADqONxj94o8TWoUIjFN/+o6mvZbmaT5dwL95LBBD48M0cEGfDvHAF9Q6eaPC1CthonwR93ceLtw5fmr1u4ReEB9ENscdoRdfFjzMp26HdZhHmF7Kwb2AVHcafwsOLyjSdRUgGR2Ystz8uLQGuHxLwwS/pViR3hkiRxruq+4cKnGxmOnLyOgIUOL1Z93q2KFjHW9hJ9d0ntICMUPEbe4O/xrJzko/4NAo zKTMm/HRtldmfyvTUtcKEXGp1JpMp5rUj4zBHe5CyHWYwb8SeNSFH+sXwQPOBCSupIPgOw3CnTspR5lOggwYfaNWyhC7GD4aoUU0Irb4Dj7KPDYSGx7gRih9Mw4rrejlDGk57IACnM1O8zQE8s/o48ubKXEXq0CzXFZbAioDyJSkJ4R4u613NpycCar9bMYqVgC10= Received: from aford-System-Version.lan ([2601:447:d002:5be:d9b2:bb4f:5531:6aa9]) by smtp.gmail.com with ESMTPSA id t30-20020a05663836de00b00470b29b82b1sm1086256jau.154.2024.02.03.08.53.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 03 Feb 2024 08:54:01 -0800 (PST) From: Adam Ford To: linux-arm-kernel@lists.infradead.org Cc: marex@denx.de, alexander.stein@ew.tq-group.com, frieder.schrempf@kontron.de, Lucas Stach , Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Daniel Vetter , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , NXP Linux Team , Philipp Zabel , Vinod Koul , Kishon Vijay Abraham I , Catalin Marinas , Will Deacon , Liu Ying , Ulf Hansson , dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-phy@lists.infradead.org, linux-pm@vger.kernel.org Subject: [PATCH V8 06/12] arm64: dts: imx8mp: add HDMI irqsteer Date: Sat, 3 Feb 2024 10:52:46 -0600 Message-ID: <20240203165307.7806-7-aford173@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240203165307.7806-1-aford173@gmail.com> References: <20240203165307.7806-1-aford173@gmail.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240203_085405_807738_BF8AD344 X-CRM114-Status: UNSURE ( 9.66 ) X-CRM114-Notice: Please train this message. X-BeenThere: linux-phy@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Linux Phy Mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-phy" Errors-To: linux-phy-bounces+linux-phy=archiver.kernel.org@lists.infradead.org From: Lucas Stach The HDMI irqsteer is a secondary interrupt controller within the HDMI subsystem that maps all HDMI peripheral IRQs into a single upstream IRQ line. Signed-off-by: Lucas Stach --- arch/arm64/boot/dts/freescale/imx8mp.dtsi | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/arch/arm64/boot/dts/freescale/imx8mp.dtsi b/arch/arm64/boot/dts/freescale/imx8mp.dtsi index 5c54073de615..5e51a766f3d9 100644 --- a/arch/arm64/boot/dts/freescale/imx8mp.dtsi +++ b/arch/arm64/boot/dts/freescale/imx8mp.dtsi @@ -1399,6 +1399,19 @@ hdmi_blk_ctrl: blk-ctrl@32fc0000 { "hdcp", "hrv"; #power-domain-cells = <1>; }; + + irqsteer_hdmi: interrupt-controller@32fc2000 { + compatible = "fsl,imx-irqsteer"; + reg = <0x32fc2000 0x44>; + interrupts = ; + interrupt-controller; + #interrupt-cells = <1>; + fsl,channel = <1>; + fsl,num-irqs = <64>; + clocks = <&clk IMX8MP_CLK_HDMI_APB>; + clock-names = "ipg"; + power-domains = <&hdmi_blk_ctrl IMX8MP_HDMIBLK_PD_IRQSTEER>; + }; }; aips5: bus@30c00000 { From patchwork Sat Feb 3 16:52:47 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adam Ford X-Patchwork-Id: 13544298 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 4DA35C4828F for ; Sat, 3 Feb 2024 16:54:21 +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=oHPliRuapnb7cU9Ou8HsvHQTPJRNSWSYbaX8mkr3DzE=; b=1v9zyyrWH3bjvg QmjG20Khnyttar0bHObA93oMHnTx5EvmZuRmkspgvixVaOmzAPu72x+DJZsLxgyITaiu8NLUFUi3h gQm/uM0DOGQSHTgEYAmnZDiQ2K15c2p+VM2wpuHhWuFjHDFeL24yegW3rYXOHPUrj0SMpNVmJsUYl e5xMp94UbDsdVGyoBk62dg1x/SSzAn81onByDjQWF7QP+O16pJ2fPmNM67iT/AttWCsVL2z4ADKZ8 kX5pXkvuEaZq3ttlsNEG1z8ZaHiJoLayqSjpBRT97J3uioHiDgMMAdt1LJ3hBA7PHgwGFHwmf7yX5 u8D2rVqoPu5J8g/gTejQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1rWJHY-0000000GqaQ-3J3e; Sat, 03 Feb 2024 16:54:20 +0000 Received: from mail-io1-xd35.google.com ([2607:f8b0:4864:20::d35]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1rWJHM-0000000GqPa-33tX; Sat, 03 Feb 2024 16:54:11 +0000 Received: by mail-io1-xd35.google.com with SMTP id ca18e2360f4ac-7bff28b2937so127406839f.1; Sat, 03 Feb 2024 08:54:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1706979247; x=1707584047; darn=lists.infradead.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=iN7CHiElDXoarw0CBzFnW/ft9HNctCbMZzIXIZ/bUo8=; b=gp1vDJJ4Rt4M4HBwaSjFrSKNAJHsEsfzIo0sMWdSOmfvWjbB2HMwCCQiXy3vuDNTqD 6YLZ3jR7+fQh7bCqU0yXbBN6637mIaA7WIJVpD9ymnfwXz0YirWN2JOIFFH+5dox9+KM blle4ORudlJw5M/SpI8vzroVEd0E8nZvtf+ElITbb5+t5qEs3LNP0CON6V2eoN16NsWO CA3JGFLW1iqsinr7mlEZ2k46Jn2aKj0la+eVSv4sVOOUyQPnCkvyBdfgJn0WrI3DdjEr NXiS1jB+bfLRHZWgYIpYLzmVFDNVTtkspWZWmC5VG5BGB8AyK7zAFD+izaVNJI/Xj86X sYRw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1706979247; x=1707584047; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=iN7CHiElDXoarw0CBzFnW/ft9HNctCbMZzIXIZ/bUo8=; b=EvTziqijA4tjIH3//MeaW+dQ1Ajsf+ZeoH0TAj6e9xuseSodwKuGy1R3j69yisOlz6 r3MO3hghl4h+v+6n5PRFXz2TuMrl7uK4oo3RMGtfTDNsX6P77Woa2P2SSoFtK+YlZFZe o1Y6Wps8NgC8qAmcuCLu/fyGG+hxMMx5taoYdxSzOzhUIJImTo3EHrFOx8ZmHnrZMnUE QvDNknbejoRwgo05HcfAyrpEJ2Z1FeYa69OQnt4ttG+qQhcbKKGo8DbfZkKdAr4inADD dAS96MV4G0bmds6FUZujpqyBYnzLqSQIuZW10iG5f50sFp2oHlk5phH9TDa7rqLlGm+w Kwzw== X-Gm-Message-State: AOJu0YzcnDLf1dKWvZzaS506WF1vfAMC0XqpUElYkkEZ12IpSJXFg6d/ 29Htt79Q/RK3VcblZTCeKXRK4kg7n0hxVWOtqIcT6JOwUSZX6u5NpBYxtJirQ/E= X-Google-Smtp-Source: AGHT+IHF9zh6CYjYVL5XR4aOsuCz2JWMZKXEuAxJLr9Xj8pwzfzLUwChQP/CnjWMh7hRgUYvMP22WA== X-Received: by 2002:a5e:d915:0:b0:7bc:3cb7:b68b with SMTP id n21-20020a5ed915000000b007bc3cb7b68bmr9293261iop.17.1706979247353; Sat, 03 Feb 2024 08:54:07 -0800 (PST) X-Forwarded-Encrypted: i=0; AJvYcCVWZ3cE3qI9Oj54mFr3sAnVJXSwCFl8jEzpL9ucr/wb7wJtIiD8UuODjyzAMUp0ByTuWPWRCY3gFUaj6Tl1QSSEoFmjcqHnSIJm/CcYV2fBCR2TzZs6oMwGgz5yIoAFA319P7Cu/VvHvowXSFkPvrNG9Nk/p1zhIlaMWQVBz3OSXWpNjQTYmfW/BQolQDULLpBgKPdzTdQSV0JBqGa3HHFXp7F4tkWXzXv1y6RIxVcEbZ3kiXP0iTHuyLXiXyDE4oE+kWbIvORuO/pbkidoXGyPiHMTqHlcHCP6RyLAHu+WtrTwo+g1+tIBsqmnd3WPmnxcuegvPP95EWGHrYIdQSQ5Idbi4CwazuUWx2XpS24CfIaw8kbQLVFgOMCHdlhz9Pvz9XROrEFXVxzlJ1bvLegZgn8gzI1xXH9W9HOzuq1PMFioWzwvJdcCATyJeg2qPCZ0qZmHTBpt4mrW4zoAK/0TSwlUiG4XVET3T0cSJu0+3pOg4A8dzMvmlv9bwJT/FzSWVlGCyECr0tPGwNLcgv5hJ6a0E9vBLE0gA+Zuo671skr3tDr+otnlIdQfBv84iJVTiq/BagoTPx5fjx91RezHWRZi4PLpR88/htGeuFRZKJmoFIW9O+A0i1CMkwW+tpboQCIaRk8nL/tEsGc5GwTjAYBBAYnxrTMIYXQe6J1iCDjMHb50yy0ys1CsDDDN9O/57CQQ4yNiXYw57qtRvh6wglVsdEk2/o9OSlbUtzmv5X+RKM6+Jo5v6ACtTp/2R3Kb5XJX8DBNHt8MLEpAE6H0oiw7YZMxPMfrqUrsQx0rM+vHkHSPYfqbFKv6kSt+4S7NC61JYbp/haR+aVmsLSl9dfvWtwtdXMop/gIejD9oK83qBw6/OQfe3Qd2eZvpRGa7q+KETghsHfoNPq9ANbXAHYAP1lzUKelCh9KJtcEdUT0G9eyxTOPnnWm++V0vH82B46 Op9yK3+Tazd+mB0eyGk7bUQiVbqEL1o+LnXA3pkY2OhBG/HNhjdGW/YhvFGDeSNAwHjh81LUNI122dg4+sDdF5D0ZfPnEwslU0jnCcOQ0rvvfxkXCjqSo0ypjOan2P0+R1Xtrho+l5/mS7NurD/WMxlLi/NHZGM3zN7RAGATKJEfT+oXCbdVquZgIBh5CsV6bN3/B7/E+jpc2JhNIVIy0qd4W//NRD7kGqGSt3b/48KAOc5HsaYPhWjAAPDDbPhE9SKMsAJIWwu5h+hYv8VkCh9cO6E/9aUkv7S+j0YQdt1N2R21dDVg== Received: from aford-System-Version.lan ([2601:447:d002:5be:d9b2:bb4f:5531:6aa9]) by smtp.gmail.com with ESMTPSA id t30-20020a05663836de00b00470b29b82b1sm1086256jau.154.2024.02.03.08.54.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 03 Feb 2024 08:54:06 -0800 (PST) From: Adam Ford To: linux-arm-kernel@lists.infradead.org Cc: marex@denx.de, alexander.stein@ew.tq-group.com, frieder.schrempf@kontron.de, Lucas Stach , Laurent Pinchart , Conor Dooley , Adam Ford , Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Daniel Vetter , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , NXP Linux Team , Philipp Zabel , Vinod Koul , Kishon Vijay Abraham I , Catalin Marinas , Will Deacon , Liu Ying , Ulf Hansson , dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-phy@lists.infradead.org, linux-pm@vger.kernel.org Subject: [PATCH V8 07/12] dt-bindings: display: imx: add binding for i.MX8MP HDMI PVI Date: Sat, 3 Feb 2024 10:52:47 -0600 Message-ID: <20240203165307.7806-8-aford173@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240203165307.7806-1-aford173@gmail.com> References: <20240203165307.7806-1-aford173@gmail.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240203_085409_041064_5BE798D7 X-CRM114-Status: GOOD ( 14.42 ) X-BeenThere: linux-phy@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Linux Phy Mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-phy" Errors-To: linux-phy-bounces+linux-phy=archiver.kernel.org@lists.infradead.org From: Lucas Stach Add binding for the i.MX8MP HDMI parallel video interface block. Signed-off-by: Lucas Stach Reviewed-by: Laurent Pinchart Reviewed-by: Conor Dooley Signed-off-by: Adam Ford Reviewed-by: Luca Ceresoli --- V8: Add interrupt-parent V7: No Change V6: Add s-o-b message for myself (Adam) V5: I tried to help move this along, so I took Lucas' patch and attempted to apply fixes based on feedback. I don't have all the history, so apologies for that. Removed the pipe character from the Description. Increased the register size from 0x40 to 0x44. --- .../display/imx/fsl,imx8mp-hdmi-pvi.yaml | 84 +++++++++++++++++++ 1 file changed, 84 insertions(+) create mode 100644 Documentation/devicetree/bindings/display/imx/fsl,imx8mp-hdmi-pvi.yaml diff --git a/Documentation/devicetree/bindings/display/imx/fsl,imx8mp-hdmi-pvi.yaml b/Documentation/devicetree/bindings/display/imx/fsl,imx8mp-hdmi-pvi.yaml new file mode 100644 index 000000000000..56da1636014c --- /dev/null +++ b/Documentation/devicetree/bindings/display/imx/fsl,imx8mp-hdmi-pvi.yaml @@ -0,0 +1,84 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/display/imx/fsl,imx8mp-hdmi-pvi.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Freescale i.MX8MP HDMI Parallel Video Interface + +maintainers: + - Lucas Stach + +description: + The HDMI parallel video interface is a timing and sync generator block in the + i.MX8MP SoC, that sits between the video source and the HDMI TX controller. + +properties: + compatible: + const: fsl,imx8mp-hdmi-pvi + + reg: + maxItems: 1 + + interrupts: + maxItems: 1 + + power-domains: + maxItems: 1 + + ports: + $ref: /schemas/graph.yaml#/properties/ports + + properties: + port@0: + $ref: /schemas/graph.yaml#/properties/port + description: Input from the LCDIF controller. + + port@1: + $ref: /schemas/graph.yaml#/properties/port + description: Output to the HDMI TX controller. + + required: + - port@0 + - port@1 + +required: + - compatible + - reg + - interrupts + - power-domains + - ports + +additionalProperties: false + +examples: + - | + #include + #include + + display-bridge@32fc4000 { + compatible = "fsl,imx8mp-hdmi-pvi"; + reg = <0x32fc4000 0x44>; + interrupt-parent = <&irqsteer_hdmi>; + interrupts = <12 IRQ_TYPE_LEVEL_HIGH>; + power-domains = <&hdmi_blk_ctrl IMX8MP_HDMIBLK_PD_PVI>; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + pvi_from_lcdif3: endpoint { + remote-endpoint = <&lcdif3_to_pvi>; + }; + }; + + port@1 { + reg = <1>; + pvi_to_hdmi_tx: endpoint { + remote-endpoint = <&hdmi_tx_from_pvi>; + }; + }; + }; + }; From patchwork Sat Feb 3 16:52:48 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adam Ford X-Patchwork-Id: 13544299 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 8C975C4828D for ; Sat, 3 Feb 2024 16:54:31 +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=4AvAQtU/73OatAEkLCpvEAng+lpi+UhkXSIlZyW+mpQ=; b=rDel20hFxEGdAf i1QcUhQ75/lp3NfIaGGoLCucnnUVrnoZsNLqZU2xRJvmvH80++3xxVz77htpz2XVJmGnCwnKFcGV1 nCJ0PW2wyFaJ4eAClMcnlXaDA8x3LVnTnE8w27BpYdbklh5ij+svAhaJqKOwEEPjrn5IPMNYqz55F 1Lb/iHkpX8au8Kh/+KXKqGal9B5/3x+Hc0TiTmhxRWKiNypp4sp5BLAzJUjWt/HItU2AFJf2rC9ld B9um3h7ObhXkH0LEkB4JeZ1/eyrJT8VkDI8Xa4zUavpYP+KPo3CPr6gHLmavJ3lUS4a2fDntI49m3 vIKjUG50BgzaWuI3Wx+g==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1rWJHi-0000000Gqhw-38Fh; Sat, 03 Feb 2024 16:54:30 +0000 Received: from mail-io1-xd2c.google.com ([2607:f8b0:4864:20::d2c]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1rWJHR-0000000GqUO-1EcX; Sat, 03 Feb 2024 16:54:27 +0000 Received: by mail-io1-xd2c.google.com with SMTP id ca18e2360f4ac-7bb5fda069bso155234739f.0; Sat, 03 Feb 2024 08:54:13 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1706979252; x=1707584052; darn=lists.infradead.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=nS1U6CsEeokUdAK6p14gWlLI/p7zyPtTy5BLbUv6Q3Y=; b=LlfjTIxLfYjzSgiZ6rwD9CWmGvrxxQ1Cp+gbEX4G2hujkkKnv2Xqp3MVknCoxB+Wn5 8vyQ8dI90qD218CUweMOd0wsp6j2l8Xb9XrfoRStuSsSJ8DpQtsGQX3JbQ9CcAiKFXfY qa3OJ4VBqugvhfU1q1aqSbJGUjB32iPf0VxjH/zWBMDP8d9kCO5pV1p2HH52BJcr3Jbx id08yzaleMmWB+UwjpmYvzMa3jg8lDi9ubbXB96C7KFGBZiAuPOAOWHM/ZREbN3pXTdW JiLU6Q/0NT5iVWIUJsUQLLd8ZtOrTvYieFh1+t//7KyO2BFPpRQQH8uax78xcRxRBaGW 9kbA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1706979252; x=1707584052; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=nS1U6CsEeokUdAK6p14gWlLI/p7zyPtTy5BLbUv6Q3Y=; b=ZNzU8SbxYBsKzlEI0Wp1tgS1CWtBrFOjKkHNW2ii8EmtDsOdCMP0Wyq2tVzldR6cem MPdcfPRBTDslkJjE0OLny31Km4iTnYyy33nmMiZYA5Jsvt3e5dMmiwemBy3MFsLyfLFQ S6I4pqI9DBlmDLbJ+jZGX/WkTrmd0iPVK7u4yjOO+PWFXnXV2koDBaKEhpo3LiP3kdhY BPBG0W684WozzTR9aIELRCvxJns03ptR+q3fpmv/kL8IliK3s3MQ+0L+1LHhnGJRhCpv 3jGjomLXIkbRxKzmZZ5ZG/tKqbaM8cjwXn+6Di6Iz17AfHuEwM+M2crHsB+Mr+AsAj/8 BwOQ== X-Gm-Message-State: AOJu0YwZ2xBjMkdZjVBQ8S1H4NSAIc9HRFBsKcRD3vfeUZU7f8EByshM +SSvgfZDnysppfbKQxvL5uIOhvJGQpVydE0C4xsS9WKKYryaJVjidWy/SOEAP0Q= X-Google-Smtp-Source: AGHT+IFrrWdkMpDl5OZYBiBfbxaXp3K9xnVbfleGcTWpBuTBqAMQ2JwvReCiRUHRHQTm8YfOKToKsQ== X-Received: by 2002:a5e:dc43:0:b0:7bf:da4d:3477 with SMTP id s3-20020a5edc43000000b007bfda4d3477mr12909894iop.9.1706979251851; Sat, 03 Feb 2024 08:54:11 -0800 (PST) X-Forwarded-Encrypted: i=0; AJvYcCWtJ3htmPbVibzr6e+4lQlOltg/gjP51UEUwO3KrmFljhhl5pWMKK9VZbywdm8qKxEksEtRtyXaaABe21u/XY9kBnWNeb5ACbwKIezVpe0uAKNNmNZgOrvuPFe4/yko2uwZuaX9ZuRnZEI9ZIZ2doxFNAIAio5aIxeOUm+jS+3hSf6OEkxpi5vGiCS3HUdmWtdwYI13pfK/d2iOyC5IQ6z1dDC70AKp1GY/udpFYQgJg1u3dUh+a3S1VrO2f0mCa/9FoNbBOE6GFbK+/jpZdVPAm7X6Mt0ytgwUbVGQ//znjDMQjA/3BA5QFN4V8+C6Nb/G2uYtH3vZa3oT3hIcRGUzREv0DaqhJkpzarzCjD3iICg+QPOqF7r3eFHuZWgfSE2p/xBckhEuaN5fC/2dr8ljB1uNBxClNLEZHNlAVWJ8Xu1sToM550SOvB1bC1SEm3OXmqqq2QxAdWZv/Y/XCpRdt8+2vFj8t+OagQCXbFco6V+2BJoWnEyTC6bkx5OwE5IALra9l7gE8X4+wQscveFtdwVltDcGq8pH+cBIQAQH6PH/jo6Om/3gRdmX3o6Uq1EzRcNLuXjO4bZj1x5Ej+/IG+lkIakEzBlaMC9lW2ydCYDEV98g+V/tGaQEXPZSuTMJbsm8OuUYJWTee7ZADdRYIJuRlKbHE2qPUL5ZjFyBi0j9iagnpEjKj6MNIx6EBwe76JTUK78e5FcC2jwU4Q54jSi1z7cI1CRHoO+RoeGm5Ef9jnBy5YNhKoFGdZYVrL0A8pjzWmj1FJ07W1MGA8phDBWUgtV6E5kIZ+gyVMD/qCn0Q//t1mYVOFGBmzRNRJE4rb+xvOPafqyZyhj0z2F9ALYwuEX9685QpY1zJC364Gw614rVX/42vo/LBf5t39N/W9WHQQyfitVcqxh7Ee5YkoRC7ge7Bc2TcVKymG4AcEd29eO/Ad8rS+9wVeOR4/nSO1 AA2DxDnPtlcFS0Uyl6gXJ1pvSU98BPb9FuhJT+wtGQECFTYIRCCD3l7aUl7tb+dZIlTSWSRaTECmYXgD/n1twe3NLsnAHnOTOKcsN9mXTPv05Y6ZXEyah6i8LRal+ZShTupWEfcW69K7yX+6l1UNwMboVQ+Qr1kLob2n9LFgMYeF2OHD77j1eU8+rvNJN/WOPn1f2rSD4LS482dhwTTtipgjowm052XOo0JXXEAFIgVIkItlAFuEEbO3beWbvZfBhc5QiXYCsTzs0ovP+HtjWRQOFi3+w8u7msJPr1AFr9wDGdBlmumRUA9ku41IX9jThWYGI6u31VJ7sP9npKHlEJVMo= Received: from aford-System-Version.lan ([2601:447:d002:5be:d9b2:bb4f:5531:6aa9]) by smtp.gmail.com with ESMTPSA id t30-20020a05663836de00b00470b29b82b1sm1086256jau.154.2024.02.03.08.54.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 03 Feb 2024 08:54:10 -0800 (PST) From: Adam Ford To: linux-arm-kernel@lists.infradead.org Cc: marex@denx.de, alexander.stein@ew.tq-group.com, frieder.schrempf@kontron.de, Lucas Stach , Luca Ceresoli , Richard Leitner , Laurent Pinchart , Fabio Estevam , Adam Ford , Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , David Airlie , Daniel Vetter , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , NXP Linux Team , Philipp Zabel , Vinod Koul , Kishon Vijay Abraham I , Catalin Marinas , Will Deacon , Liu Ying , Ulf Hansson , dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-phy@lists.infradead.org, linux-pm@vger.kernel.org Subject: [PATCH V8 08/12] drm/bridge: imx: add driver for HDMI TX Parallel Video Interface Date: Sat, 3 Feb 2024 10:52:48 -0600 Message-ID: <20240203165307.7806-9-aford173@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240203165307.7806-1-aford173@gmail.com> References: <20240203165307.7806-1-aford173@gmail.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240203_085413_760762_855AFF59 X-CRM114-Status: GOOD ( 25.45 ) X-BeenThere: linux-phy@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Linux Phy Mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-phy" Errors-To: linux-phy-bounces+linux-phy=archiver.kernel.org@lists.infradead.org From: Lucas Stach This IP block is found in the HDMI subsystem of the i.MX8MP SoC. It has a full timing generator and can switch between different video sources. On the i.MX8MP however the only supported source is the LCDIF. The block just needs to be powered up and told about the polarity of the video sync signals to act in bypass mode. Signed-off-by: Lucas Stach Reviewed-by: Luca Ceresoli (v7) Tested-by: Marek Vasut (v1) Tested-by: Luca Ceresoli (v7) Tested-by: Richard Leitner (v2) Tested-by: Frieder Schrempf (v2) Reviewed-by: Laurent Pinchart (v3) Reviewed-by: Luca Ceresoli Tested-by: Luca Ceresoli Tested-by: Fabio Estevam Signed-off-by: Adam Ford --- V8: No Change V7: Re-do some includes to address build issues after rebasing from Linux-next V6: No change. V5: I (Adam) tried to help move this along, so I took Lucas' patch and attempted to apply fixes based on feedback. I don't have all the history, so apologies for that. No changes from V4 to V5 --- drivers/gpu/drm/bridge/imx/Kconfig | 7 + drivers/gpu/drm/bridge/imx/Makefile | 1 + drivers/gpu/drm/bridge/imx/imx8mp-hdmi-pvi.c | 207 +++++++++++++++++++ 3 files changed, 215 insertions(+) create mode 100644 drivers/gpu/drm/bridge/imx/imx8mp-hdmi-pvi.c diff --git a/drivers/gpu/drm/bridge/imx/Kconfig b/drivers/gpu/drm/bridge/imx/Kconfig index 5a4f3d58501e..a4d13331e320 100644 --- a/drivers/gpu/drm/bridge/imx/Kconfig +++ b/drivers/gpu/drm/bridge/imx/Kconfig @@ -3,6 +3,13 @@ if ARCH_MXC || COMPILE_TEST config DRM_IMX_LDB_HELPER tristate +config DRM_IMX8MP_HDMI_PVI + tristate "Freescale i.MX8MP HDMI PVI bridge support" + depends on OF + help + Choose this to enable support for the internal HDMI TX Parallel + Video Interface found on the Freescale i.MX8MP SoC. + config DRM_IMX8QM_LDB tristate "Freescale i.MX8QM LVDS display bridge" depends on OF diff --git a/drivers/gpu/drm/bridge/imx/Makefile b/drivers/gpu/drm/bridge/imx/Makefile index 2b0c2e44aa1b..e2c2106509fa 100644 --- a/drivers/gpu/drm/bridge/imx/Makefile +++ b/drivers/gpu/drm/bridge/imx/Makefile @@ -1,4 +1,5 @@ obj-$(CONFIG_DRM_IMX_LDB_HELPER) += imx-ldb-helper.o +obj-$(CONFIG_DRM_IMX8MP_HDMI_PVI) += imx8mp-hdmi-pvi.o obj-$(CONFIG_DRM_IMX8QM_LDB) += imx8qm-ldb.o obj-$(CONFIG_DRM_IMX8QXP_LDB) += imx8qxp-ldb.o obj-$(CONFIG_DRM_IMX8QXP_PIXEL_COMBINER) += imx8qxp-pixel-combiner.o diff --git a/drivers/gpu/drm/bridge/imx/imx8mp-hdmi-pvi.c b/drivers/gpu/drm/bridge/imx/imx8mp-hdmi-pvi.c new file mode 100644 index 000000000000..a76b7669fe8a --- /dev/null +++ b/drivers/gpu/drm/bridge/imx/imx8mp-hdmi-pvi.c @@ -0,0 +1,207 @@ +// SPDX-License-Identifier: GPL-2.0+ + +/* + * Copyright (C) 2022 Pengutronix, Lucas Stach + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#define HTX_PVI_CTRL 0x0 +#define PVI_CTRL_OP_VSYNC_POL BIT(18) +#define PVI_CTRL_OP_HSYNC_POL BIT(17) +#define PVI_CTRL_OP_DE_POL BIT(16) +#define PVI_CTRL_INP_VSYNC_POL BIT(14) +#define PVI_CTRL_INP_HSYNC_POL BIT(13) +#define PVI_CTRL_INP_DE_POL BIT(12) +#define PVI_CTRL_MODE_MASK GENMASK(2, 1) +#define PVI_CTRL_MODE_LCDIF 2 +#define PVI_CTRL_EN BIT(0) + +struct imx8mp_hdmi_pvi { + struct drm_bridge bridge; + struct device *dev; + struct drm_bridge *next_bridge; + void __iomem *regs; +}; + +static inline struct imx8mp_hdmi_pvi * +to_imx8mp_hdmi_pvi(struct drm_bridge *bridge) +{ + return container_of(bridge, struct imx8mp_hdmi_pvi, bridge); +} + +static int imx8mp_hdmi_pvi_bridge_attach(struct drm_bridge *bridge, + enum drm_bridge_attach_flags flags) +{ + struct imx8mp_hdmi_pvi *pvi = to_imx8mp_hdmi_pvi(bridge); + + return drm_bridge_attach(bridge->encoder, pvi->next_bridge, + bridge, flags); +} + +static void imx8mp_hdmi_pvi_bridge_enable(struct drm_bridge *bridge, + struct drm_bridge_state *bridge_state) +{ + struct drm_atomic_state *state = bridge_state->base.state; + struct imx8mp_hdmi_pvi *pvi = to_imx8mp_hdmi_pvi(bridge); + struct drm_connector_state *conn_state; + const struct drm_display_mode *mode; + struct drm_crtc_state *crtc_state; + struct drm_connector *connector; + u32 bus_flags, val; + + connector = drm_atomic_get_new_connector_for_encoder(state, bridge->encoder); + conn_state = drm_atomic_get_new_connector_state(state, connector); + crtc_state = drm_atomic_get_new_crtc_state(state, conn_state->crtc); + + if (WARN_ON(pm_runtime_resume_and_get(pvi->dev))) + return; + + mode = &crtc_state->adjusted_mode; + + val = FIELD_PREP(PVI_CTRL_MODE_MASK, PVI_CTRL_MODE_LCDIF) | PVI_CTRL_EN; + + if (mode->flags & DRM_MODE_FLAG_PVSYNC) + val |= PVI_CTRL_OP_VSYNC_POL | PVI_CTRL_INP_VSYNC_POL; + + if (mode->flags & DRM_MODE_FLAG_PHSYNC) + val |= PVI_CTRL_OP_HSYNC_POL | PVI_CTRL_INP_HSYNC_POL; + + if (pvi->next_bridge->timings) + bus_flags = pvi->next_bridge->timings->input_bus_flags; + else if (bridge_state) + bus_flags = bridge_state->input_bus_cfg.flags; + + if (bus_flags & DRM_BUS_FLAG_DE_HIGH) + val |= PVI_CTRL_OP_DE_POL | PVI_CTRL_INP_DE_POL; + + writel(val, pvi->regs + HTX_PVI_CTRL); +} + +static void imx8mp_hdmi_pvi_bridge_disable(struct drm_bridge *bridge, + struct drm_bridge_state *bridge_state) +{ + struct imx8mp_hdmi_pvi *pvi = to_imx8mp_hdmi_pvi(bridge); + + writel(0x0, pvi->regs + HTX_PVI_CTRL); + + pm_runtime_put(pvi->dev); +} + +static u32 * +imx8mp_hdmi_pvi_bridge_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 imx8mp_hdmi_pvi *pvi = to_imx8mp_hdmi_pvi(bridge); + struct drm_bridge *next_bridge = pvi->next_bridge; + struct drm_bridge_state *next_state; + + if (!next_bridge->funcs->atomic_get_input_bus_fmts) + return 0; + + next_state = drm_atomic_get_new_bridge_state(crtc_state->state, + next_bridge); + + return next_bridge->funcs->atomic_get_input_bus_fmts(next_bridge, + next_state, + crtc_state, + conn_state, + output_fmt, + num_input_fmts); +} + +static const struct drm_bridge_funcs imx_hdmi_pvi_bridge_funcs = { + .attach = imx8mp_hdmi_pvi_bridge_attach, + .atomic_enable = imx8mp_hdmi_pvi_bridge_enable, + .atomic_disable = imx8mp_hdmi_pvi_bridge_disable, + .atomic_get_input_bus_fmts = imx8mp_hdmi_pvi_bridge_get_input_bus_fmts, + .atomic_duplicate_state = drm_atomic_helper_bridge_duplicate_state, + .atomic_destroy_state = drm_atomic_helper_bridge_destroy_state, + .atomic_reset = drm_atomic_helper_bridge_reset, +}; + +static int imx8mp_hdmi_pvi_probe(struct platform_device *pdev) +{ + struct device_node *remote; + struct imx8mp_hdmi_pvi *pvi; + + pvi = devm_kzalloc(&pdev->dev, sizeof(*pvi), GFP_KERNEL); + if (!pvi) + return -ENOMEM; + + platform_set_drvdata(pdev, pvi); + pvi->dev = &pdev->dev; + + pvi->regs = devm_platform_ioremap_resource(pdev, 0); + if (IS_ERR(pvi->regs)) + return PTR_ERR(pvi->regs); + + /* Get the next bridge in the pipeline. */ + remote = of_graph_get_remote_node(pdev->dev.of_node, 1, -1); + if (!remote) + return -EINVAL; + + pvi->next_bridge = of_drm_find_bridge(remote); + of_node_put(remote); + + if (!pvi->next_bridge) + return dev_err_probe(&pdev->dev, -EPROBE_DEFER, + "could not find next bridge\n"); + + pm_runtime_enable(&pdev->dev); + + /* Register the bridge. */ + pvi->bridge.funcs = &imx_hdmi_pvi_bridge_funcs; + pvi->bridge.of_node = pdev->dev.of_node; + pvi->bridge.timings = pvi->next_bridge->timings; + + drm_bridge_add(&pvi->bridge); + + return 0; +} + +static int imx8mp_hdmi_pvi_remove(struct platform_device *pdev) +{ + struct imx8mp_hdmi_pvi *pvi = platform_get_drvdata(pdev); + + drm_bridge_remove(&pvi->bridge); + + pm_runtime_disable(&pdev->dev); + + return 0; +} + +static const struct of_device_id imx8mp_hdmi_pvi_match[] = { + { + .compatible = "fsl,imx8mp-hdmi-pvi", + }, { + /* sentinel */ + } +}; +MODULE_DEVICE_TABLE(of, imx8mp_hdmi_pvi_match); + +static struct platform_driver imx8mp_hdmi_pvi_driver = { + .probe = imx8mp_hdmi_pvi_probe, + .remove = imx8mp_hdmi_pvi_remove, + .driver = { + .name = "imx-hdmi-pvi", + .of_match_table = imx8mp_hdmi_pvi_match, + }, +}; +module_platform_driver(imx8mp_hdmi_pvi_driver); + +MODULE_DESCRIPTION("i.MX8MP HDMI TX Parallel Video Interface bridge driver"); +MODULE_LICENSE("GPL"); From patchwork Sat Feb 3 16:52:49 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adam Ford X-Patchwork-Id: 13544300 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 01071C4828F for ; Sat, 3 Feb 2024 16:54:40 +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=c7IXBdCqFcBfseKYqqkEQnO1xAT+gts9sGpJSKEP0s0=; b=kNwdE3Hsak8b9g MXsT9ONjF+/Nk0gvyx/XHjzsBAu8b69Uwx02f2ox4gBJ3/0F73KOLx90HAEoyAId+TmX++rVm3yxY d0GjudbjuHWYagO/CrpQDvFs8bL65bH6st8q9gO4+9lYfxlqeM4tkipb3df6a3tE2f00dOhIK2wwc UWRrUhLVu9SNqCDMbA3SqorPjURRWh+udHwejDcp7Mz1eYtNAXTHl4aOCucl6/9Z/xdyhegFFGZNT PvQ255tTk35lTWtjK6ppxcZ/ToA1gptuF6mPQTHci90Vvm3wT323u3NkR6cpn7i3B2MsUo8MxeVhv QBHtq0hta6wWgXC/o+lA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1rWJHs-0000000Gqon-1rJn; Sat, 03 Feb 2024 16:54:40 +0000 Received: from mail-io1-f43.google.com ([209.85.166.43]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1rWJHZ-0000000GqaF-3ywm; Sat, 03 Feb 2024 16:54:33 +0000 Received: by mail-io1-f43.google.com with SMTP id ca18e2360f4ac-7bed9fb159fso131438639f.1; Sat, 03 Feb 2024 08:54:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1706979259; x=1707584059; darn=lists.infradead.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=iHK4uYY3PEuLbfB443xySfJh6mTWFIfLyC9ZOn+YSEA=; b=FBnocbcfVIy1HQsuYYPOLCtSdOSKBnl/yybetzHOXb0bA/wOq2Y1oMc/nYU+0fR6WM ykGiCRFlA8vhfN0FbZyvf52LZ8cN2BZvVrnZV2tSi3eRcGx92IT8ZxiqkxMm5ExX4URM qq3irINbZFObzgycmqSNYgEUPI1/bvTPyMtfJNW5vdCmCFDP/2jl6/gN3cVRHgCkLaGZ YnLKyfl/ADD2IRJgqtlCG0IMUXDOom8oZm0b2Pb6WmuUh0fpMB4RXCrOT08tDX00nwBl g94lWay2c+O4jZsLCgSb81P3+X1kqi17qmlE0RmUvfKLIDgvqCT8yFCPsH+3wYwcvBNa TE7w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1706979259; x=1707584059; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=iHK4uYY3PEuLbfB443xySfJh6mTWFIfLyC9ZOn+YSEA=; b=QGkNHh7BzZMf7zD6OzIK08JVabfWzqlxIQ3ynspF21fuD0VyOI8Dv3r5WL9epCY7vm DOwmS8QmWzM79c7lBhRFMyEz+CZeUp+iOhBOC2LCdkEGj/zHJiyVRzMDMIIJCUXMRJLA 0vUD6z6oIZY+3l4dANMZT2H3T1FyJBcl2fzpVEA4nUT49j1WxCVorl5XQ/Z+RnC8ckQS nDLSQLs4eBL79Nc9bap4zBVEXMpw4d+KaB0wpAffmRNnNbq83oQdy1odTBJQGDPxcgsU SL7wMD1u5vNk1czSZO9f/a/aRA4tJxU9+UHCey4s6xUiXsL3PlOLzBuSXfM+Tb/E0GEx XFGw== X-Gm-Message-State: AOJu0YwaxYth3TEQFENIm3yJcZhvKybEeSgx3ftsmKSC82SzosfTfoU4 TVZhWy0RYI9oAHVKgb3osR1GJMa62XnH4CRqCIuhUDrpW/tLbyKjLUqMgxrasJg= X-Google-Smtp-Source: AGHT+IH5DzrelkZeUzQOrbkI+GctzSKGfiIH9RZE+YFrVkDU00cTd2CRzJq//djvwBf6b1rrDqsQQQ== X-Received: by 2002:a6b:5819:0:b0:7c0:409e:e3c5 with SMTP id m25-20020a6b5819000000b007c0409ee3c5mr5574885iob.19.1706979259164; Sat, 03 Feb 2024 08:54:19 -0800 (PST) X-Forwarded-Encrypted: i=0; AJvYcCXyOusTxAlEpAGlVDzNppwPsOqKckjm7lzwaCDbk6BJXWppLX7luv3fv5T0RSa5IzcdTQ7VwdHiKJ+0mT3b+ebzMbtut5OfmBMbUET5BV5ADOvN8uuvTTA5Zpn1ViPvRYwd5UUil8Z3a8lHC7Je0LPNbREzDR7R2vYu5SnvQ0qChXh7IaU8w/1fBVNQvschkCOvUnidyCQi0TMWC+RXvO7Ebcsi9fmLs+1CxyljaOLzlGRfYlsvPL5peem3JM0/HJkIEKuOnO9nDYKPlvD21irh+rwl2ze/t9idOn6BT2hqU5KEsryzAa1k4tgXK/GjW45TPqymEA/GquwctU4VldBwtDY4bDgdx5hEFeZsl6MHjEl2ZfOMazVnqAwiiT+DRVRsO4Zf09i28gfbWNK8P+Guka9VZM6iEYmMnpHpWjpWByNVY3FkuHO16LAfKay0uZUXHZteofRXFMLY2wT1s6xGVjXHGcmg9N7D6T8x2T5DBPYkrLc6sFH+2E1nzEFEFsPsLwkQRL+h87diA7AuIDqFeq4hQzGCAVigzRi5mAAknvFOiNVkOjx2uaVQwurSHvB9d5dT4poievAH/jkGiNaQVRCk152bP4QLPJHLeqzzCu/jr0kFPc25ZbApxcToIHcHzjM1Pmn5DMF2mxDpc8IUXuVwNWgT7ZE7mpovYvyq7jGeaB2Z0mcIjMcXpcIZoqWaOx8VagivoUmpGMNMGa21eG8+Vdv+aVlwN0l8LmzkkNamRwKTM4g7B6dwMlMC9MNnIrRDVF8rb0ja5kx43Ifwy8lCIi7AONLkciGw1dVR9+UEpO4KuKNm67CEzvCrxykvmAI6d8BB0efxYQ6e1Pl29sXmpXT/z/+Dse0auIzT4H0FQfEkO//4htSCy6oliv6omAsMZMMRr9Wj9gwrH/m+0w1QjRghCkiySHtI6eeBdwEw7rM58x1bBZCnKJSgfsQXw0 sfJvvq0jKffalZMFTlDiHXwfsmaWZZguesYFTHSgC6j4BAOBu0KcNqADA3m2HqTp9nv/g7kGB1gY7aNY6cYj1YLFrcTePHBl8NLNtrtgczP2D8Y2E7mlOCEJJI4ebctHmnH1pZjWQU95luF1YCMOHFedMkYepuL5oIUOTukmoCI3x5cMy40sPwXlNqk2aF22Fodwztf824P6ccxmWCriu5UxydYuzgSw== Received: from aford-System-Version.lan ([2601:447:d002:5be:d9b2:bb4f:5531:6aa9]) by smtp.gmail.com with ESMTPSA id t30-20020a05663836de00b00470b29b82b1sm1086256jau.154.2024.02.03.08.54.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 03 Feb 2024 08:54:15 -0800 (PST) From: Adam Ford To: linux-arm-kernel@lists.infradead.org Cc: marex@denx.de, alexander.stein@ew.tq-group.com, frieder.schrempf@kontron.de, Lucas Stach , Adam Ford , Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Daniel Vetter , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , NXP Linux Team , Philipp Zabel , Vinod Koul , Kishon Vijay Abraham I , Catalin Marinas , Will Deacon , Liu Ying , Ulf Hansson , dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-phy@lists.infradead.org, linux-pm@vger.kernel.org Subject: [PATCH V8 09/12] dt-bindings: display: imx: add binding for i.MX8MP HDMI TX Date: Sat, 3 Feb 2024 10:52:49 -0600 Message-ID: <20240203165307.7806-10-aford173@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240203165307.7806-1-aford173@gmail.com> References: <20240203165307.7806-1-aford173@gmail.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240203_085422_390747_8899769A X-CRM114-Status: GOOD ( 13.25 ) X-BeenThere: linux-phy@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Linux Phy Mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-phy" Errors-To: linux-phy-bounces+linux-phy=archiver.kernel.org@lists.infradead.org From: Lucas Stach The HDMI TX controller on the i.MX8MP SoC is a Synopsys designware IP core with a little bit of SoC integration around it. Signed-off-by: Lucas Stach Signed-off-by: Adam Ford Reviewed-by: Rob Herring Reviewed-by: Luca Ceresoli --- V3: Change name and location to better idenfity as a bridge and HDMI 2.0a transmitter Fix typos and feedback from Rob and added ports. --- .../display/bridge/fsl,imx8mp-hdmi-tx.yaml | 102 ++++++++++++++++++ 1 file changed, 102 insertions(+) create mode 100644 Documentation/devicetree/bindings/display/bridge/fsl,imx8mp-hdmi-tx.yaml diff --git a/Documentation/devicetree/bindings/display/bridge/fsl,imx8mp-hdmi-tx.yaml b/Documentation/devicetree/bindings/display/bridge/fsl,imx8mp-hdmi-tx.yaml new file mode 100644 index 000000000000..3791c9f4ebab --- /dev/null +++ b/Documentation/devicetree/bindings/display/bridge/fsl,imx8mp-hdmi-tx.yaml @@ -0,0 +1,102 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/display/bridge/fsl,imx8mp-hdmi-tx.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Freescale i.MX8MP DWC HDMI TX Encoder + +maintainers: + - Lucas Stach + +description: + The i.MX8MP HDMI transmitter is a Synopsys DesignWare + HDMI 2.0a TX controller IP. + +allOf: + - $ref: /schemas/display/bridge/synopsys,dw-hdmi.yaml# + +properties: + compatible: + enum: + - fsl,imx8mp-hdmi-tx + + reg-io-width: + const: 1 + + clocks: + maxItems: 4 + + clock-names: + items: + - const: iahb + - const: isfr + - const: cec + - const: pix + + power-domains: + maxItems: 1 + + ports: + $ref: /schemas/graph.yaml#/properties/ports + + properties: + port@0: + $ref: /schemas/graph.yaml#/properties/port + description: Parallel RGB input port + + port@1: + $ref: /schemas/graph.yaml#/properties/port + description: HDMI output port + + required: + - port@0 + - port@1 + +required: + - compatible + - reg + - clocks + - clock-names + - interrupts + - power-domains + - ports + +unevaluatedProperties: false + +examples: + - | + #include + #include + #include + + hdmi@32fd8000 { + compatible = "fsl,imx8mp-hdmi-tx"; + reg = <0x32fd8000 0x7eff>; + interrupts = <0 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&clk IMX8MP_CLK_HDMI_APB>, + <&clk IMX8MP_CLK_HDMI_REF_266M>, + <&clk IMX8MP_CLK_32K>, + <&hdmi_tx_phy>; + clock-names = "iahb", "isfr", "cec", "pix"; + power-domains = <&hdmi_blk_ctrl IMX8MP_HDMIBLK_PD_HDMI_TX>; + reg-io-width = <1>; + ports { + #address-cells = <1>; + #size-cells = <0>; + port@0 { + reg = <0>; + + hdmi_tx_from_pvi: endpoint { + remote-endpoint = <&pvi_to_hdmi_tx>; + }; + }; + + port@1 { + reg = <1>; + hdmi_tx_out: endpoint { + remote-endpoint = <&hdmi0_con>; + }; + }; + }; + }; From patchwork Sat Feb 3 16:52:50 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adam Ford X-Patchwork-Id: 13544302 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 DCE1EC4828D for ; Sat, 3 Feb 2024 16:54:51 +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=KeO1LrvfoYSiwBBB3cBPlYYZSDCRi2RrtG343n72CO0=; b=DKkfqT/GikpwT9 QfFbzEsAZXiTBiIeUEy4Ql/n8eTZzRPj/Sb0tK3CrkdwmP0Q5CiS948GGDTb5dVJzUZ599WeOTe4F VCWKnZRTOz8LbkS5MVlMGJGT6bh4Nz/glhODHWIwv3rIcZHB/ECaEzBT1MrfsDK9whrKOSIAM9LKe k9Tv27bL9PaiM+KmOHtEPJ5OcoSw/uga+B8GEfKugbsdebKHAhyt43iNoFqVeJIOKwpDJgy4KERxB jd9pC74EOuzI8/84pG0u3YN9g917GaXZkNbI7Qh4RF1hap+HQiUisjS0O42c0SXK8tRaaI7/Cpkqr vM2fFuoEyFn/2fM4HgbQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1rWJI3-0000000GqwR-0fW3; Sat, 03 Feb 2024 16:54:51 +0000 Received: from mail-il1-x135.google.com ([2607:f8b0:4864:20::135]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1rWJHd-0000000GqdG-3qFB; Sat, 03 Feb 2024 16:54:41 +0000 Received: by mail-il1-x135.google.com with SMTP id e9e14a558f8ab-3639aa6a54fso10652405ab.1; Sat, 03 Feb 2024 08:54:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1706979263; x=1707584063; darn=lists.infradead.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=Pee85pXx8M9QJJ/rvdrRgJpwO1Us9mIqzBO/JdTu/x0=; b=g5ceah99Knz0FJErPWswBDbgK14TyC5i/fE80eFBz8YkRvvhmpvhgr2rhDNAUOqRlN lvttvQqUoTg+WEezTv9FpdyvsEoBoejsVUWTCDsIaWl36eSU/+tfigeOGX+2TnmgS0Hc IWu4yhBGRyIY/2X6vxyKQwsZZW7hJ/ngHsRg13DU8SZdX+jQCcgrL2MoeuBackxpsIgb NqaVCA6lZ5oFI3jF4OnTAYKbfqRCakfXKHSSJU8xDzv9TBk9j2saIszfcVxJ5AcUr6TR Q6H8c0kpgk5gwgulrn20bs0ArzIk0Cdbu5YQAoCz3xQZ7dPzse1hs3vis6bq0Y9H0MDY CfMw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1706979263; x=1707584063; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Pee85pXx8M9QJJ/rvdrRgJpwO1Us9mIqzBO/JdTu/x0=; b=VjeeyVvk4EQbreTdIYorbxiF85vN5OGXmnHbglTC9bHRyW2qKwGKi7nf7ekxTQdvu4 8g1sbM4mwdaAuZ3a4kagu+q+oIlT+SnEwdPBbCw3ynbFzVAejrC+qXlQAofvQU0GnwaD ciTR1CzBgSFuvpg59tnTGKz9tYk4x8IuwKLn7bLnWWJcwCaXkj3qiFrRrNnaGGXtcLRT VOvXBXYKhkaitNXAKrxf3kMBeVrJYhmL1pSZf4RgeD2pfcfwLo8vO8nuHo8C5tpeawG9 aOcOwZvWqIX5P4/kIXADo+Z8YH8sF8VCkV/H86yL/Q3ImYRl2xMN6j+35oJkd49TsSHC ogsw== X-Gm-Message-State: AOJu0YywK8DqyFqgo+OtPz/DLrB1l7jURyoqPj8Gwi8Lo9yazxtOkyMo p7keLhRdgA3spwEYROXump0P0gEG8inoNovEzdb71MZg86wVpcdT9b2Li4w9XbY= X-Google-Smtp-Source: AGHT+IHRFQgHaPOvu2q/tkWyDuGYDcTayUKcocuvucQwCdhjRkYOMCll5WxoIGddaWvUvS92td8dQA== X-Received: by 2002:a92:c5ce:0:b0:363:6da9:2bc3 with SMTP id s14-20020a92c5ce000000b003636da92bc3mr5239097ilt.11.1706979263479; Sat, 03 Feb 2024 08:54:23 -0800 (PST) X-Forwarded-Encrypted: i=0; AJvYcCVTi8yyqyf2Habkk9tyCJoPOe9LH5AypnN3NhPkjbPVJALV182rjeRxj4FycC5oyDOecYqR50/JvNFZONhmnUrRWETF5iMlz7YUC4uJUCjOoQObjV6exynOq8X0pQhyNU+pMLtpwMtGsedHX9Z+XeaP1fuuoZ3E4V1EqM3Xw7Yik/SElx47SV21Kar6w86hZQ8JIvRSerSIxojL5fmtbOBJxCqbfm9ZWJ6a2cRemiaqExR+Yu1EZFFARQHk1eR8K6OQ4P0ON2Na9j3f/p0WkN5/ulAWeddoeYpFdUiUX9BfPYrBOOitBbAIjhHnSEn1JiKlut0e6NaVjtt9ZDQQeZGbYgMS80KWY+xTsDfXpGz9cVXcwD6aLwJutnIfKvDn/S8MVY8n+ZkmoB73UwOIc2JlJjuPAQPq0R5GXWAAiVsozOJVxm10vv0+vhT+aW6a80fzM3cbohBjCT3SyhKXkDJtD6NsGd+2B3Wq0e4f2H58gQbpFBSndPlM77Kg9IOr4MQ9VH2VdcsnqyBPp3bMudL2OrVmUDzH3JB6FLwyKDlHXopoTsws3k+av9arIOACAxyNKdXX79qb3dkp+YYTsiZVxssoQRTjNCMBQ4A4gjN23YClZITcro7eTmcA224dIELgSwMbtR8oWXfAP2GmqWMROgq0QJPEAz9TSjk2WgLgawQaylndaqWGGmu4dSNojrahrpy7G8Iy6SfaxYdcgu4mDbDpBoiczdMVyaEg5HRUHIz+EHHU3jdOsMHjjFtMRy4TCdJAqPyGQB/IEhJGkOR0Ud4Z36O7Qe6HobWA1oPfzuVpwFNqtgn2qK55gIBVR0x03BwTYgtVNYfxEqhbFaEWRFpLUd5g0H7RDGoFo2Pg8KWARudtVCCYhZBrrJKfXs1hisDwrqqoV0fVwPa3MzqFnrU9pmuiY9aYm/zEPKvbgOAzla4d4CRZwdqiIlQJ+gZyGL FuHaml/Lvoe8M8XSpOqi35Zh3SY5nJN5p+lr5fRIWPRnqwRW8/J46pdXlWmSsehsybAFVj2YaMI86ecPzwkDxhedXLL04jMmwTBKJO6HKnb4nZqmXCS8D2BeoVbkaVWgBcH2659KRgFRPREi0p0R56XRef4KO6vajRs4lfZxBX6IQcYWV2d5ruxvBcPc5J76unsLw1wXpoZ69CXegazQBg8Y6nrh07x7obUCecPgn9JYiyn5RzduCgAcPlxRh1DiqzwFA+Kp3SQ1PjLrY1IBGto3RQauywZAZfMQBK9AVxhLH9RZaCvNInmwpvXeMY125E4w45wHgLDaEpNeaRtPWa3QU= Received: from aford-System-Version.lan ([2601:447:d002:5be:d9b2:bb4f:5531:6aa9]) by smtp.gmail.com with ESMTPSA id t30-20020a05663836de00b00470b29b82b1sm1086256jau.154.2024.02.03.08.54.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 03 Feb 2024 08:54:22 -0800 (PST) From: Adam Ford To: linux-arm-kernel@lists.infradead.org Cc: marex@denx.de, alexander.stein@ew.tq-group.com, frieder.schrempf@kontron.de, Lucas Stach , Laurent Pinchart , Adam Ford , Richard Leitner , Luca Ceresoli , Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Daniel Vetter , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , NXP Linux Team , Philipp Zabel , Vinod Koul , Kishon Vijay Abraham I , Catalin Marinas , Will Deacon , Liu Ying , Ulf Hansson , dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-phy@lists.infradead.org, linux-pm@vger.kernel.org Subject: [PATCH V8 10/12] drm/bridge: imx: add bridge wrapper driver for i.MX8MP DWC HDMI Date: Sat, 3 Feb 2024 10:52:50 -0600 Message-ID: <20240203165307.7806-11-aford173@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240203165307.7806-1-aford173@gmail.com> References: <20240203165307.7806-1-aford173@gmail.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240203_085426_289608_8847B1DB X-CRM114-Status: GOOD ( 23.49 ) X-BeenThere: linux-phy@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Linux Phy Mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-phy" Errors-To: linux-phy-bounces+linux-phy=archiver.kernel.org@lists.infradead.org From: Lucas Stach Add a simple wrapper driver for the DWC HDMI bridge driver that implements the few bits that are necessary to abstract the i.MX8MP SoC integration. Signed-off-by: Lucas Stach Reviewed-by: Laurent Pinchart Tested-by: Marek Vasut Tested-by: Adam Ford #imx8mp-beacon Tested-by: Richard Leitner Tested-by: Frieder Schrempf Tested-by: Luca Ceresoli Signed-off-by: Adam Ford Reviewed-by: Luca Ceresoli --- v3: To move this along, I (Adam) took Lucas' V2 and attempted to address concerns: Changed name to imx8mp-hdmi-tx Re-ordered includes to make drm come after linux Removed unused variable build warning Removed fdcc clock since it's part of the power domain now set the phy_force_vendor = true Removed comma after sentinel Also added suspend/resume functions from Marek Vasut Configured Kconfig to select the PVI and PHY automatically since the HDMI-tx is useless without the other two components I apologize that don't have the version history prior to V2. --- drivers/gpu/drm/bridge/imx/Kconfig | 11 ++ drivers/gpu/drm/bridge/imx/Makefile | 1 + drivers/gpu/drm/bridge/imx/imx8mp-hdmi-tx.c | 154 ++++++++++++++++++++ 3 files changed, 166 insertions(+) create mode 100644 drivers/gpu/drm/bridge/imx/imx8mp-hdmi-tx.c diff --git a/drivers/gpu/drm/bridge/imx/Kconfig b/drivers/gpu/drm/bridge/imx/Kconfig index a4d13331e320..5965e8027529 100644 --- a/drivers/gpu/drm/bridge/imx/Kconfig +++ b/drivers/gpu/drm/bridge/imx/Kconfig @@ -3,6 +3,17 @@ if ARCH_MXC || COMPILE_TEST config DRM_IMX_LDB_HELPER tristate +config DRM_IMX8MP_DW_HDMI_BRIDGE + tristate "Freescale i.MX8MP HDMI-TX bridge support" + depends on OF + depends on COMMON_CLK + select DRM_DW_HDMI + select DRM_IMX8MP_HDMI_PVI + select PHY_FSL_SAMSUNG_HDMI_PHY + help + Choose this to enable support for the internal HDMI encoder found + on the i.MX8MP SoC. + config DRM_IMX8MP_HDMI_PVI tristate "Freescale i.MX8MP HDMI PVI bridge support" depends on OF diff --git a/drivers/gpu/drm/bridge/imx/Makefile b/drivers/gpu/drm/bridge/imx/Makefile index e2c2106509fa..edb0a7b71b30 100644 --- a/drivers/gpu/drm/bridge/imx/Makefile +++ b/drivers/gpu/drm/bridge/imx/Makefile @@ -1,4 +1,5 @@ obj-$(CONFIG_DRM_IMX_LDB_HELPER) += imx-ldb-helper.o +obj-$(CONFIG_DRM_IMX8MP_DW_HDMI_BRIDGE) += imx8mp-hdmi-tx.o obj-$(CONFIG_DRM_IMX8MP_HDMI_PVI) += imx8mp-hdmi-pvi.o obj-$(CONFIG_DRM_IMX8QM_LDB) += imx8qm-ldb.o obj-$(CONFIG_DRM_IMX8QXP_LDB) += imx8qxp-ldb.o diff --git a/drivers/gpu/drm/bridge/imx/imx8mp-hdmi-tx.c b/drivers/gpu/drm/bridge/imx/imx8mp-hdmi-tx.c new file mode 100644 index 000000000000..89fc432ac611 --- /dev/null +++ b/drivers/gpu/drm/bridge/imx/imx8mp-hdmi-tx.c @@ -0,0 +1,154 @@ +// SPDX-License-Identifier: GPL-2.0+ + +/* + * Copyright (C) 2022 Pengutronix, Lucas Stach + */ + +#include +#include +#include +#include +#include +#include + +struct imx8mp_hdmi { + struct dw_hdmi_plat_data plat_data; + struct dw_hdmi *dw_hdmi; + struct clk *pixclk; +}; + +static enum drm_mode_status +imx8mp_hdmi_mode_valid(struct dw_hdmi *dw_hdmi, void *data, + const struct drm_display_info *info, + const struct drm_display_mode *mode) +{ + struct imx8mp_hdmi *hdmi = (struct imx8mp_hdmi *)data; + + if (mode->clock < 13500) + return MODE_CLOCK_LOW; + + if (mode->clock > 297000) + return MODE_CLOCK_HIGH; + + if (clk_round_rate(hdmi->pixclk, mode->clock * 1000) != + mode->clock * 1000) + return MODE_CLOCK_RANGE; + + /* We don't support double-clocked and Interlaced modes */ + if ((mode->flags & DRM_MODE_FLAG_DBLCLK) || + (mode->flags & DRM_MODE_FLAG_INTERLACE)) + return MODE_BAD; + + return MODE_OK; +} + +static int imx8mp_hdmi_phy_init(struct dw_hdmi *dw_hdmi, void *data, + const struct drm_display_info *display, + const struct drm_display_mode *mode) +{ + return 0; +} + +static void imx8mp_hdmi_phy_disable(struct dw_hdmi *dw_hdmi, void *data) +{ +} + +static void im8mp_hdmi_phy_setup_hpd(struct dw_hdmi *hdmi, void *data) +{ + /* + * Just release PHY core from reset, all other power management is done + * by the PHY driver. + */ + dw_hdmi_phy_gen1_reset(hdmi); + + dw_hdmi_phy_setup_hpd(hdmi, data); +} + +static const struct dw_hdmi_phy_ops imx8mp_hdmi_phy_ops = { + .init = imx8mp_hdmi_phy_init, + .disable = imx8mp_hdmi_phy_disable, + .setup_hpd = im8mp_hdmi_phy_setup_hpd, + .read_hpd = dw_hdmi_phy_read_hpd, + .update_hpd = dw_hdmi_phy_update_hpd, +}; + +static int imx8mp_dw_hdmi_probe(struct platform_device *pdev) +{ + struct device *dev = &pdev->dev; + struct dw_hdmi_plat_data *plat_data; + struct imx8mp_hdmi *hdmi; + + hdmi = devm_kzalloc(dev, sizeof(*hdmi), GFP_KERNEL); + if (!hdmi) + return -ENOMEM; + + plat_data = &hdmi->plat_data; + + hdmi->pixclk = devm_clk_get(dev, "pix"); + if (IS_ERR(hdmi->pixclk)) + return dev_err_probe(dev, PTR_ERR(hdmi->pixclk), + "Unable to get pixel clock\n"); + + plat_data->mode_valid = imx8mp_hdmi_mode_valid; + plat_data->phy_ops = &imx8mp_hdmi_phy_ops; + plat_data->phy_name = "SAMSUNG HDMI TX PHY"; + plat_data->priv_data = hdmi; + plat_data->phy_force_vendor = true; + + hdmi->dw_hdmi = dw_hdmi_probe(pdev, plat_data); + if (IS_ERR(hdmi->dw_hdmi)) + return PTR_ERR(hdmi->dw_hdmi); + + platform_set_drvdata(pdev, hdmi); + + return 0; +} + +static int imx8mp_dw_hdmi_remove(struct platform_device *pdev) +{ + struct imx8mp_hdmi *hdmi = platform_get_drvdata(pdev); + + dw_hdmi_remove(hdmi->dw_hdmi); + + return 0; +} + +static int __maybe_unused imx8mp_dw_hdmi_pm_suspend(struct device *dev) +{ + return 0; +} + +static int __maybe_unused imx8mp_dw_hdmi_pm_resume(struct device *dev) +{ + struct imx8mp_hdmi *hdmi = dev_get_drvdata(dev); + + dw_hdmi_resume(hdmi->dw_hdmi); + + return 0; +} + +static const struct dev_pm_ops imx8mp_dw_hdmi_pm_ops = { + SET_SYSTEM_SLEEP_PM_OPS(imx8mp_dw_hdmi_pm_suspend, + imx8mp_dw_hdmi_pm_resume) +}; + +static const struct of_device_id imx8mp_dw_hdmi_of_table[] = { + { .compatible = "fsl,imx8mp-hdmi-tx" }, + { /* Sentinel */ } +}; +MODULE_DEVICE_TABLE(of, imx8mp_dw_hdmi_of_table); + +static struct platform_driver imx8mp_dw_hdmi_platform_driver = { + .probe = imx8mp_dw_hdmi_probe, + .remove = imx8mp_dw_hdmi_remove, + .driver = { + .name = "imx8mp-dw-hdmi-tx", + .of_match_table = imx8mp_dw_hdmi_of_table, + .pm = &imx8mp_dw_hdmi_pm_ops, + }, +}; + +module_platform_driver(imx8mp_dw_hdmi_platform_driver); + +MODULE_DESCRIPTION("i.MX8MP HDMI encoder driver"); +MODULE_LICENSE("GPL"); From patchwork Sat Feb 3 16:52:51 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adam Ford X-Patchwork-Id: 13544301 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 C18FDC4828D for ; Sat, 3 Feb 2024 16:54:45 +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=rL68RRP/Jj+/cA0g/SDLErCBOMK8HVCYimMpUHae9YA=; b=W957SI0D9gxG41 /OXqnWzm/gvaZLE41bqKzCww+ZGRiCELHiE3I+RXlwLIYPq/uu8mQeNk9UtUhv6xCNGxfzUhDHz2r q4Bi72xYWMbe7JYThOsUkBG+GUV+BZfScI3F+mdNNyiKbDWedGDElAQIls206LT6wrmqLHTpIEz7u LSuWN3fmpMbZeF+GWchD1M+RZSpfY/Cp4JRo+JUO7mGT8evcjZx+kxHOyOBy2zKTSliO8D2jLZdxh B4l/CpCvZCwNhLtx73jR/Qpvi7QzUrEzz57Mqgwafv1h00TaMD79oTyGkci/mZJXEp7O5NIHvog1X zGsE0Vxlf8sze7YpLomg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1rWJHx-0000000Gqrp-0MIK; Sat, 03 Feb 2024 16:54:45 +0000 Received: from desiato.infradead.org ([2001:8b0:10b:1:d65d:64ff:fe57:4e05]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1rWJHo-0000000Gqlg-2WlT; Sat, 03 Feb 2024 16:54:36 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=desiato.20200630; h=Content-Transfer-Encoding:MIME-Version :References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:Sender:Reply-To: Content-Type:Content-ID:Content-Description; bh=xV5GVJAeOV5TOmmqtEiNPh6TTuzFDGGYosrKg+K0ogs=; b=UPcsnb2VB5eHfuPgx341kgyHZp 8K8dp09cdsIUDW/FwJoRlLKFhs/a5C0j1nvzc0+8RWoSCSsxVFCYknF6aS/PplAU36tjEgcaDU+/H UxC9Q64nZoFIy8op0HGTbRoyZmbmeKy7VMWyz8JV7MpV3NGT7ihLT0xk1wdFPJHn460dlGdsoKfcM cmgx4JKdBmxl+R5pIjB1JvBzrmEW28zuxOigUIS08ayF6ueUOPZUbMIrMZJuSWcI0/Zygi+iMDTkL bdYhq6Koia3D0YsJEfaUH3M8qZ21nUb82BHkfaWtVmznosuUbuTAbHlhZVVSA0utm6XyUrY2PLmfm IpnBLSgw==; Received: from mail-io1-xd34.google.com ([2607:f8b0:4864:20::d34]) by desiato.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1rWJHk-0000000Asgv-3cbV; Sat, 03 Feb 2024 16:54:35 +0000 Received: by mail-io1-xd34.google.com with SMTP id ca18e2360f4ac-7c2d5978ec6so12533539f.1; Sat, 03 Feb 2024 08:54:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1706979268; x=1707584068; darn=lists.infradead.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=xV5GVJAeOV5TOmmqtEiNPh6TTuzFDGGYosrKg+K0ogs=; b=VSiEJFrqDf6HQ13ixRvoeH07kq7ss5sfHePpkvfVHQRitBjFYSiTdDbG17Xsmv6ENx NndeVbBxBze87L3R4MSVtg1ATUIc6sEF0RnAclYVdi0Iw1ke7yRR8LKHVekGEiGSm8c9 3O/Syz6GjmbrCdvArTgIPWTT5/bR/Gd4VE8Elb7Kpcobh4TOgYGsZqYyFnIEdpwDNbY2 qrGYbcPCeHjxtOMJBuXwtsxuwoFWkyjjEkycLcfDjznD+SFhPb5RDFWuxZn9waxthhEE jhZL6toe2RysgLiqth2hDqcFQSxVMYlhtjxXXkMRiVibbeay0yZQla3O1kODNv5LXo65 6P3g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1706979268; x=1707584068; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=xV5GVJAeOV5TOmmqtEiNPh6TTuzFDGGYosrKg+K0ogs=; b=xDxTz9nR/NA79AdsqDD+bfQgy4xC6hIkSTd1tXipxgTLOK93ZPGWvpsRMX55nYyEAh Awy+fGpiQjTQGG8CKZirVWmHWXHyESPnZWWAT26UuPEiREmh5e7HfXtFCYnqDa50VV8K k7BTvjG84yjJcr/7Pk6TdBXE8QjYwQJjH53qXQpWg7eltMNNQcSMIv4rRNDXVr7PO8cj oCpeADfyAwti8MLRQmn+pnclOWcRt/U48onqJOh1vM9Nq0R9vG6QL+udWnedVVIDLLdz fpSjdgt1me++rMJL4estK74c/hCm/tqYuMkHLzcOTqx4sGvHRViPcAZxnjNR4Kkp1K/C LFKg== X-Gm-Message-State: AOJu0Yx8crc/+pZAaUVDN4oOYnI3uLAf/HQW5t7Q6AquXNfO/ehpNqQt uG0VMw6TimrROQC6a/a68VUUHdvUTMivP77vimgBlwIpIhAm10ZlZDWjre7pe2A= X-Google-Smtp-Source: AGHT+IFnDvtXlMmMQMAwllyK2p1O6sOo0/5lgyhi5R6gSBcyqbb6GieWlNuW2+KRpkUDfPvTDFKq0w== X-Received: by 2002:a6b:6e17:0:b0:7c1:b54c:15db with SMTP id d23-20020a6b6e17000000b007c1b54c15dbmr4318249ioh.15.1706979268376; Sat, 03 Feb 2024 08:54:28 -0800 (PST) X-Forwarded-Encrypted: i=0; AJvYcCXmqWTm894swln2GDV8F3WEq0djHX3OxF/EqeGpkI7kiPokKS2KcpbgZo/Uut92LTwLhUI6PYbQDh31v+/cFCyk+FJH2smLUK0r/V63WoEXqaD2Cp0aFLb+Hy2N8+QWKvt6x6e6pT0ImqLU9m7LjhQK6aDCCVEbHcYd+SdsbHG1AST5aBMskATXyLHvegi1DtRqOf5M1EjuNqXD1+SyPzdufudg/fCA9qsLiED37rWzRNrj1e2B+xkeiQQOC6iiD6BtQn4BjFCVif3rWMf4ea27VaZ4WGtJw7/2QpKQPpn3scr9XL113hBuZ00WR3QrCR1L9GLav1MBgTDbYEVYTfz0oDB1iGec1YcNnZICfuifQDWEsz+rwno7sL49LLhE6S5YnKbxzPSBW+4yvvRpQrfyjb60E34WzSnUQOcaf6Dv75Z2SduMXvvhVrY5L0NaQ5XEpiF+1ZHVX5cpWqcpK7QdIK3QhV6y2nfJGIznwKDU61GfYW1w6C48a6JGzi/5pxeWexQU/O7lsZ4FPr7CzsUSizXl4QEuQH9hPzT4drBAoA5qm359X+ty9HM68qF10ccyO1npxaJQ1cf5JWCUuZauyXNFz54cAaUsZUjdN3fhgOgErzpiutEPxXwr1GOeeNBmNyDYsPImDEFH46D0NPvt6Jov6X4VLO+Zhmd+N9+XwkSJgPx0eRmT+se+VwAjD0dHBWmQdUlIAZ0fCqF8/mIup/bugxLhtDOm0nCUj5x2nglochi1SjxxVdbIJhjHjc0nVSJNeG2aQ+x23fP7eFf7HcZ3DqBuujqpIYLm1DQwuyIuBfgpAmH9dZlEPegP4DQzDy/HOqkEDdIqO5CSFX8kB5IV/BKnGuhRTIeBo8IHloiulv2DHmwsNH/KTo1zUXvixxQYDmxoqRw+blKfqc5zUCVirPgT/dsqSdbF2f3fN5Dd4MvBmWNqYCboBQj3W0/ris emPfAbHNNRrGK4lwUBOjq5ovieCPN1t2tDrNLQzrfSqo6vMcVv5O2MPoOiYjsYb+O1Yw6xBf18ayT5cS03xuZNTZ9njmDDY9M4kenkI/u19v80u6GvW2R4ehld2ewO1GKmkQwVCNxz2+e9mO3RWYe7tVQ2YtKrYS6EJT+49cK5rnNDdDw1h2T7s/gI4BNHB1tlkK8od3YGs7C7rmiIdVQ/oQhiR5vuQA== Received: from aford-System-Version.lan ([2601:447:d002:5be:d9b2:bb4f:5531:6aa9]) by smtp.gmail.com with ESMTPSA id t30-20020a05663836de00b00470b29b82b1sm1086256jau.154.2024.02.03.08.54.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 03 Feb 2024 08:54:26 -0800 (PST) From: Adam Ford To: linux-arm-kernel@lists.infradead.org Cc: marex@denx.de, alexander.stein@ew.tq-group.com, frieder.schrempf@kontron.de, Lucas Stach , Adam Ford , Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , David Airlie , Daniel Vetter , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , NXP Linux Team , Philipp Zabel , Vinod Koul , Kishon Vijay Abraham I , Catalin Marinas , Will Deacon , Liu Ying , Ulf Hansson , dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-phy@lists.infradead.org, linux-pm@vger.kernel.org Subject: [PATCH V8 11/12] arm64: dts: imx8mp: add HDMI display pipeline Date: Sat, 3 Feb 2024 10:52:51 -0600 Message-ID: <20240203165307.7806-12-aford173@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240203165307.7806-1-aford173@gmail.com> References: <20240203165307.7806-1-aford173@gmail.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240203_165433_060162_351C5807 X-CRM114-Status: GOOD ( 10.96 ) X-BeenThere: linux-phy@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Linux Phy Mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-phy" Errors-To: linux-phy-bounces+linux-phy=archiver.kernel.org@lists.infradead.org From: Lucas Stach This adds the DT nodes for all the peripherals that make up the HDMI display pipeline. Signed-off-by: Lucas Stach Signed-off-by: Adam Ford --- V2: I took this from Lucas' original submission with the following: Removed extra clock from HDMI-TX since it is now part of the power domain Added interrupt-parent to PVI Changed the name of the HDMI tranmitter to fsl,imx8mp-hdmi-tx Added ports to HDMI-tx --- arch/arm64/boot/dts/freescale/imx8mp.dtsi | 94 +++++++++++++++++++++++ 1 file changed, 94 insertions(+) diff --git a/arch/arm64/boot/dts/freescale/imx8mp.dtsi b/arch/arm64/boot/dts/freescale/imx8mp.dtsi index 5e51a766f3d9..e84b4f40e570 100644 --- a/arch/arm64/boot/dts/freescale/imx8mp.dtsi +++ b/arch/arm64/boot/dts/freescale/imx8mp.dtsi @@ -1412,6 +1412,100 @@ irqsteer_hdmi: interrupt-controller@32fc2000 { clock-names = "ipg"; power-domains = <&hdmi_blk_ctrl IMX8MP_HDMIBLK_PD_IRQSTEER>; }; + + hdmi_pvi: display-bridge@32fc4000 { + compatible = "fsl,imx8mp-hdmi-pvi"; + reg = <0x32fc4000 0x40>; + interrupt-parent = <&irqsteer_hdmi>; + interrupts = <12 IRQ_TYPE_LEVEL_HIGH>; + power-domains = <&hdmi_blk_ctrl IMX8MP_HDMIBLK_PD_PVI>; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + pvi_from_lcdif3: endpoint { + remote-endpoint = <&lcdif3_to_pvi>; + }; + }; + + port@1 { + reg = <1>; + pvi_to_hdmi_tx: endpoint { + remote-endpoint = <&hdmi_tx_from_pvi>; + }; + }; + }; + }; + + lcdif3: display-controller@32fc6000 { + compatible = "fsl,imx8mp-lcdif"; + reg = <0x32fc6000 0x238>; + interrupts = <8 IRQ_TYPE_LEVEL_HIGH>; + interrupt-parent = <&irqsteer_hdmi>; + clocks = <&hdmi_tx_phy>, + <&clk IMX8MP_CLK_HDMI_APB>, + <&clk IMX8MP_CLK_HDMI_ROOT>; + clock-names = "pix", "axi", "disp_axi"; + power-domains = <&hdmi_blk_ctrl IMX8MP_HDMIBLK_PD_LCDIF>; + + port { + lcdif3_to_pvi: endpoint { + remote-endpoint = <&pvi_from_lcdif3>; + }; + }; + }; + + hdmi_tx: hdmi@32fd8000 { + compatible = "fsl,imx8mp-hdmi-tx"; + reg = <0x32fd8000 0x7eff>; + interrupts = <0 IRQ_TYPE_LEVEL_HIGH>; + interrupt-parent = <&irqsteer_hdmi>; + clocks = <&clk IMX8MP_CLK_HDMI_APB>, + <&clk IMX8MP_CLK_HDMI_REF_266M>, + <&clk IMX8MP_CLK_32K>, + <&hdmi_tx_phy>; + clock-names = "iahb", "isfr", "cec", "pix"; + assigned-clocks = <&clk IMX8MP_CLK_HDMI_REF_266M>; + assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_266M>; + power-domains = <&hdmi_blk_ctrl IMX8MP_HDMIBLK_PD_HDMI_TX>; + reg-io-width = <1>; + status = "disabled"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + + hdmi_tx_from_pvi: endpoint { + remote-endpoint = <&pvi_to_hdmi_tx>; + }; + }; + + port@1 { + reg = <1>; + /* Point endpoint to the HDMI connector */ + }; + }; + }; + + hdmi_tx_phy: phy@32fdff00 { + compatible = "fsl,imx8mp-hdmi-phy"; + reg = <0x32fdff00 0x100>; + clocks = <&clk IMX8MP_CLK_HDMI_APB>, + <&clk IMX8MP_CLK_HDMI_24M>; + clock-names = "apb", "ref"; + assigned-clocks = <&clk IMX8MP_CLK_HDMI_24M>; + assigned-clock-parents = <&clk IMX8MP_CLK_24M>; + power-domains = <&hdmi_blk_ctrl IMX8MP_HDMIBLK_PD_HDMI_TX_PHY>; + #clock-cells = <0>; + #phy-cells = <0>; + status = "disabled"; + }; }; aips5: bus@30c00000 { From patchwork Sat Feb 3 16:52:52 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adam Ford X-Patchwork-Id: 13544303 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 C798AC4828D for ; Sat, 3 Feb 2024 16:54:58 +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=m//MEvI/u/ceaKUJpt7B1Zt4H8ud5vFPNqqUf+Q2Oxk=; b=EG0reGPXwlcY+9 tQS/TMndA4o4y7GzNVGu/3LG9KZu4i/0jMUOp99awqkL4O/JV5R8sjgAcSP/cm9E+aU3KGI4hYW+t C/9Y7DU5xYt1WsheOiYF14OQmdV6OFN5bJbx4TvzvL8SCCwgTIvdRBaULDD0/3352TaPFmwqCXjYr Q/4NokMTQEJg8KE2UQE62yLPhAFamHSrdQ46lUxvEv6rKmKbzBPnhCBgQ7MmX1gNQG3gWYED6ch6B IoMkQ51rR86t1rSiq1QItUK+6ugAHqRLMG/ZhIrvl47s7Ts8s3KYNVzZvqoesvGv4LIwxDaYD2gNw DFklZDSyBDd5nA9iLiMQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1rWJIA-0000000Gr1b-0OrL; Sat, 03 Feb 2024 16:54:58 +0000 Received: from desiato.infradead.org ([2001:8b0:10b:1:d65d:64ff:fe57:4e05]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1rWJHw-0000000GqrP-3S84; Sat, 03 Feb 2024 16:54:44 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=desiato.20200630; h=Content-Transfer-Encoding:MIME-Version :References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:Sender:Reply-To: Content-Type:Content-ID:Content-Description; bh=vyFysKI+ulqGIrIVYWeP6alGWB5geZ7uKPOowV05Tlo=; b=KFL7pzrUpkS9yFdAbvGu64J3GB xrBZX51e5l5hMmnOSMmpsAx/gtz8NRCmaVS9W/+Peoo0yu2Bh/uaJj1BsP/91RC01pF6fIDTW6PpS 5wwR03SGGAbkGgupTRkQStl/v56NqqQf6dRyWLyR9RxMw14F0pXVlOe1aE3nRje2SuiRKu7x/3COZ tPnNHqVu0Vs9pmg/4lHefhtkbzCsEZLbXrADdMDV2fpVDgzIz6vRB4Hvr6zstNhTmGbQRge/aT12t wzCttX5d4FW0hbxIqKwaoJ5GbmySDGI1OWHqb5fKKZ8ICIisc3teQ15NN7hByMyrsKFMhz5BtaRDA TKi//thQ==; Received: from mail-il1-x12d.google.com ([2607:f8b0:4864:20::12d]) by desiato.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1rWJHt-0000000Asi0-0Axp; Sat, 03 Feb 2024 16:54:43 +0000 Received: by mail-il1-x12d.google.com with SMTP id e9e14a558f8ab-363c28eb463so819315ab.3; Sat, 03 Feb 2024 08:54:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1706979276; x=1707584076; darn=lists.infradead.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=vyFysKI+ulqGIrIVYWeP6alGWB5geZ7uKPOowV05Tlo=; b=Q8SCqnTZMJgBcZ65BQk19MiGpS9M197crSEixxoIztIG3VkBqobTa/2pqmWjMONYzn k/rQohUfBzH7JGxWkfjHBjlGCHXBrQ19m9nOe1+OROGDD3+N8DwINAO1S5xbB/bA1SBr 1HVi1L8TV1l6J0ucMDHjr38dimbJAeYoczMLOSpx8Riq/u87kAYskUR3y47f2kSiNHiI qVCW4iDS8Kkg/e+aUwZWR84axyX/81NCSEpdaclrN2MVeAKgAysF5cU01IbewGdCqmec P5dSdKBL5ZyAETqd90xa7SfrS6KBY/Xe8uIaoH4wHj1iu6WGG5w0AeWJtAhYE7rAU+IL bvAg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1706979276; x=1707584076; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=vyFysKI+ulqGIrIVYWeP6alGWB5geZ7uKPOowV05Tlo=; b=qDSbVuHLpAx8pt7KocA6k61J2PImH3nLHTamF/txgAPoD2+n+iugO6H04ekNSw4aOs +QQUn35s2JPJIPxCLc15C2lwJoPLhAg3UYFtrI7QMqI94kiiPb/JhzZVMu950OYxjcPB BY0Jzg6nJZXj86wweipoQziP21Y6TY4d1qrjoHkfn4Tf39jYFPeXaGyXx2yNUuuI4Ek3 4Je77RCnnlFeuQWkORid+gCLkewvS651snaT3EpQppTT/1IaQmWymkieOrO1ogY/2mDK IJ9ES1ZeFo1gY7/slxSsQ7ueENtQBXQWA2UoKXmUBujpI+tKCHbzi2OVjIx2j8BW4IAj Dy8g== X-Gm-Message-State: AOJu0YwviLZaULzCbL/zMyGlbOHwbZcwXawqk5zVItOrIFP0M9eAWi2n 1KOFQ7DsvJKVRvIkCBVicdoUOAGVETkG4bTJ+7piVM5wgoF6OV7BxlgXP+oo3Eg= X-Google-Smtp-Source: AGHT+IF1aACYQI7zwb4q5hLiUZpptfXorBFS4iS5gGCHnkIEhvZqaIY+gUX6CxiigB4ll3DqgkpL/w== X-Received: by 2002:a05:6e02:1d01:b0:363:ac17:f529 with SMTP id i1-20020a056e021d0100b00363ac17f529mr8191065ila.9.1706979276564; Sat, 03 Feb 2024 08:54:36 -0800 (PST) X-Forwarded-Encrypted: i=0; AJvYcCVljTFGqHUSDda9IQphGIjLtMyFUmJsD5/fnOAFZYp2KpiC41NPfYVmEJNncZEAjdeLOrMUzdpOV5TbIlRuJLdiUGYnrmJbe41q13QCeCPiB4j+CHYs8WDll/NAuhl3pkt3eXzSWivXd/aXcCDCFBeeLXBvU9kyEhEqZZ/eUrewxxe2CwctMrTQYkJRL0xNw2AK3RX4xAeRXReeeWiCLNTAonyxyEAH4iiwBktEmXvbCu6eh58loDAY78XJsgrBp0gxfxxSB3KpbxvbznhG6ugQy0RHkFGg8ADrXOhxL7TPQBSRu2IqAyPopNRGXlwlzsOwD0Hg4RD8Ln2fjUD7uNk368Z1ZtaOuXnh/Z/g/W1hEnPiFUzLtP57Hl+G68yJ9OmYP5X0GGiMfmxdXJ3aa6YX+YTrhkgbUnjIPe4tBXyaNp2UN+qUZi8bGhE9ah9VRB6zKxAdunomFwGVngvOAwa5B9Dx2PILpUY0bfyN/ir6lzJCrsuyXO1o8F5T9S1cfriObbMiEPNHZa0qZ2okO/1w9JJj2sJ2sim4jLAsTOFDq+e/qxSfM9C6RI0bJImP57JqQg1G7O2wzDofYy+mf0ZuTCNYTHnAOIbqeAqvy896QqFaulKzd9yWq8IR99RiUFkRL0gJHob+80GOrvW5AJiQWS62k5Mtbh3O7ckOQfNveRcTw/E7XU5SouMLkcvsAdO5ePF12rv1Pzj3rLeMcHfyYgaWxiGs0i+IubvfyBABcO6xRt7LEHpYJijivKUpwW7juAGu939vJs0Fr/ebqBENphxakW6KwZYGtPja8EAxdRr9fVlrzgckTLX/szX2NxeyohtcmqIoPvt2vp1ld/eL258lQbGt3DiDGzr5ALeTbchKxeNt8vqIXl2zrSO9E6OcB+md7JB40W5GI9ByeKZI9AiA5d3NXhDNU81E7wOZt8PjCKtoWtF84pbIkA+2cKoD0g 3XwtNaf3IbP/ifREnAcq+5U3JXWrBWvuZg4Lm5VzSB+3EXvlL8OCnXdfpE5mp2peJ6R+cYt7c7baJLe25xPG0v4H8XAwA/pNVH1YuvC8oPK7Snx4QC/qXMw7M5l1WQN55hX+TVd5z6XkZX6KnyRHUiSMPvb17dSTk7B3F7ldYrcx+JrSkuAmx2OMjXShCBwUA2xbCQGwRrMBEp833JC+DPrJ1ZRzus5Q== Received: from aford-System-Version.lan ([2601:447:d002:5be:d9b2:bb4f:5531:6aa9]) by smtp.gmail.com with ESMTPSA id t30-20020a05663836de00b00470b29b82b1sm1086256jau.154.2024.02.03.08.54.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 03 Feb 2024 08:54:32 -0800 (PST) From: Adam Ford To: linux-arm-kernel@lists.infradead.org Cc: marex@denx.de, alexander.stein@ew.tq-group.com, frieder.schrempf@kontron.de, Adam Ford , Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , David Airlie , Daniel Vetter , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , NXP Linux Team , Philipp Zabel , Vinod Koul , Kishon Vijay Abraham I , Catalin Marinas , Will Deacon , Liu Ying , Ulf Hansson , Lucas Stach , dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-phy@lists.infradead.org, linux-pm@vger.kernel.org Subject: [PATCH V8 12/12] arm64: defconfig: Enable DRM_IMX8MP_DW_HDMI_BRIDGE as module Date: Sat, 3 Feb 2024 10:52:52 -0600 Message-ID: <20240203165307.7806-13-aford173@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240203165307.7806-1-aford173@gmail.com> References: <20240203165307.7806-1-aford173@gmail.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240203_165441_688277_B8C3FC12 X-CRM114-Status: UNSURE ( 8.57 ) X-CRM114-Notice: Please train this message. X-BeenThere: linux-phy@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Linux Phy Mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-phy" Errors-To: linux-phy-bounces+linux-phy=archiver.kernel.org@lists.infradead.org The i.MX8M Plus has support for an HDMI transmitter. The video is genereated by lcdif3, routed to the hdmi parallel video interface, then fed to a DW HDMI bridge to support up to 4K video output. Signed-off-by: Adam Ford --- arch/arm64/configs/defconfig | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig index e6cf3e5d63c3..3e33825f0ed7 100644 --- a/arch/arm64/configs/defconfig +++ b/arch/arm64/configs/defconfig @@ -880,6 +880,7 @@ CONFIG_DRM_ANALOGIX_ANX7625=m CONFIG_DRM_I2C_ADV7511=m CONFIG_DRM_I2C_ADV7511_AUDIO=y CONFIG_DRM_CDNS_MHDP8546=m +CONFIG_DRM_IMX8MP_DW_HDMI_BRIDGE=m CONFIG_DRM_DW_HDMI_AHB_AUDIO=m CONFIG_DRM_DW_HDMI_CEC=m CONFIG_DRM_IMX_DCSS=m