From patchwork Thu Feb 13 21:05:46 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?q?Heiko_St=C3=BCbner?= X-Patchwork-Id: 13974059 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 50677C021A0 for ; Thu, 13 Feb 2025 21:06:25 +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:Message-ID:Date:Subject:Cc :To:From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References: List-Owner; bh=7gZhXQUnbQAcojJ/tM3wKXj2qudAsZ5pxe0S+GXUVyw=; b=KG7o4+e50qWbTN 3jfucrWT5dPuMS6QHV5T+ocOmQePZXWO4Mlop8nQKMiiXe+1UTsrM/UDaS0K5ipRIyocSZrvS/pdB dQD1O6wtMm6gIREDUs4ZozRhHMK0NBvpQ6LhNfcg5uVigSiS+5/o9H3HkBCQIWgQao2NVCgMY72HX J4xVtEsR7nQZ7jBMxF52+/ktr3fWYjHXEsVs822oQHGuwMFzNdd5wcypHohwLxfqGm6HC7BGptNlc 2dtLpfXPUpXYAPFtaM/TFLYQJY/HM9LPWiiOXU9/p6DSEyD2TtsNWmqX8HOXHl9ZvdoDi4Jnro0gB bD7mdbDXoGNtYCp38nVw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1tigPg-0000000Ce1u-3EIR; Thu, 13 Feb 2025 21:06:24 +0000 Received: from gloria.sntech.de ([185.11.138.130]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1tigPd-0000000Ce0A-3PHd; Thu, 13 Feb 2025 21:06:23 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=sntech.de; s=gloria202408; h=Content-Transfer-Encoding:MIME-Version:Message-ID:Date: Subject:Cc:To:From:Sender:Reply-To:Content-Type:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:In-Reply-To:References:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=NXJUGBvDPkCp2lSwyUa9SRmZSrIoKC6js7gmMeChEic=; b=oVNy0YXXg2Rpbu8oXcoHKrmwfP TkV1Lnz+e07AfltG+k9Ltrv4ftiaYWRtbUgcb1JedmnFg8+S1fZHWZ7Y9n6JnbMnl/3BOoNbXNqXt w8M/0GV10waXdXPCaF+zNv1d2NfopMz95VyRdzYoCjddA2h/LDJw8h+KDi3vPoeKWgpEteGx3zSf/ 1VUK/VOtrdnTZscIO7Zk4RNEPkeqZ/SjBA/cfT2avcAoLU5nm8T+oUs8Ui1bCtm1GlOXCuG4oO6so wWu4AC7ExGsSEW6nOoJ9uhmXM46m7RqUmp17FhfAcc6RklKRFBAjJL+irOL5SMhKLkiCKi8J/c8/Q 6+h1ZqCg==; Received: from i53875bc0.versanet.de ([83.135.91.192] helo=localhost.localdomain) by gloria.sntech.de with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1tigPY-0006WG-UP; Thu, 13 Feb 2025 22:06:17 +0100 From: Heiko Stuebner To: vkoul@kernel.org, kishon@kernel.org Cc: robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, quentin.schulz@cherry.de, sebastian.reichel@collabora.com, heiko@sntech.de, linux-phy@lists.infradead.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org, dse@thaumatec.com Subject: [PATCH v6 0/2] MIPI DSI phy for rk3588 Date: Thu, 13 Feb 2025 22:05:46 +0100 Message-ID: <20250213210554.1645755-1-heiko@sntech.de> X-Mailer: git-send-email 2.47.2 MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250213_130621_870727_114D7B46 X-CRM114-Status: GOOD ( 17.56 ) 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 This adds the phy driver need for DSI output on rk3588. The phy itself is used for both DSI output and CSI input, though the CSI part for the whole chain needs a lot more work, so is left out for now and only the DSI part implemented. This allows the rk3588 with its current VOP support to drive a DSI display using the DSI2 controller driver I'll submit in a next step. Only generic phy interfaces are used, so the DSI part is pretty straight forward. changes in v6: - rebase onto 6.14-rc1 - add Krzysztof binding review - v5 was sent at the beginning of december '24, so probably has been lost changes in v5: - add bitfield.h for the FIELD_PROP definition (reported by kernel-test-robot) - add Sebastian's Reviewed-by - add Conor's Ack to the dt-binding changes in v4: - moved to #phy-cells = 1 as suggested by Sebastian, with the argument denoting the requested phy-type (C-PHY, D-PHY). This works similarly how the Mediatek C/D-PHY already implements this, see mails around: https://lore.kernel.org/all/20230608200552.GA3303349-robh@kernel.org/ - dropped Krzysztof's review tag from the binding because of this - dropped custom UPDATE macro and use FIELD_PREP instead - build a FIELD_PREP_HIWORD macro for the GRF settings - add received Tested-by tags changes in v3: - add Krzysztof review tag to the binding - address Sebastian's review comments - better error handling - dropping empty function - headers - not using of_match_ptr - this should also make the test-robot happier changes in v2: - fix error in dt-binding example - drop unused frequency table - pull in some more recent improvements from the vendor-kernel which includes a lot less magic values - already include the support for rk3576 - use dev_err_probe Heiko Stuebner (2): dt-bindings: phy: Add Rockchip MIPI C-/D-PHY schema phy: rockchip: Add Samsung MIPI D-/C-PHY driver .../phy/rockchip,rk3588-mipi-dcphy.yaml | 87 + drivers/phy/rockchip/Kconfig | 12 + drivers/phy/rockchip/Makefile | 1 + .../phy/rockchip/phy-rockchip-samsung-dcphy.c | 1604 +++++++++++++++++ 4 files changed, 1704 insertions(+) create mode 100644 Documentation/devicetree/bindings/phy/rockchip,rk3588-mipi-dcphy.yaml create mode 100644 drivers/phy/rockchip/phy-rockchip-samsung-dcphy.c Tested-by: Quentin Schulz