From patchwork Tue Nov 26 13:17:33 2024 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: 13886010 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 9E084D3B98E for ; Tue, 26 Nov 2024 13:25:07 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Content-Transfer-Encoding: MIME-Version:Message-ID:Date:Subject:Cc:To:From: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-Owner; bh=4/koaIM9Q80mkdAO8h6VeJJ2lCEZ0Z0nfGBdynTc+f8=; b=g587Ri0EV+yku1nvUy6dFs//pM lYhUVRr7LaBPncH0c04ij6tKR2N9FdrOndKbHeV85sIZiWfP/btv0dJo2rRuT25Mkkhq7hYqVU1/G 7h/v43LnWcSADOS/PCmvnlazYOF++iVybc+RJ+NbW0xj48c3IITzNdUQqhy1yu1MUYSkWJ5j1zgaB Gv22k71HWEWdv8k45j/TZ6T2zDkl+ywQHefzxCO430UokxascOv6xJ+OJ+tJfYQHjNhCEzFlmu15l l3BIN/yrjDBWbQY5vQ6+6Agn+NBg5h8c8qwzWilQMV8QwJ7E0i50AorkGNU5c1O9JWyfIKtqNraUx 6JZymJWw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1tFvYm-0000000AimM-2i1S; Tue, 26 Nov 2024 13:24:56 +0000 Received: from gloria.sntech.de ([185.11.138.130]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1tFvRp-0000000AgbN-1PIH; Tue, 26 Nov 2024 13:17:46 +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=4/koaIM9Q80mkdAO8h6VeJJ2lCEZ0Z0nfGBdynTc+f8=; b=nmF8GsAYVNNoUw56AGl8jYnHcJ GnPjzYIrZzPdF6Q3wGhtlFHPsIxjSlNrfDr9mIj3L60IlxHdOgHXNOFw0sJFKs0jXWwiLgOR6eojd 0ZsWVJLUgsA94jpXRNNcD1ORh4FI9sc8YfwjY9hTadnv6E27qlfXH+vmnU2NkCGH8Uiq/P6lMhTdc NqDed/14NJt/WvG3vWf2sT7BOQ/RyaKY3YlfLcqpJi/9xIOVLI96BritZ4NQMw3ex6QMs40WytqoC 9IYZeOyVmTbdaDvKgUZvdH9XojJUMOcaCHPwd5XoHz10FsqNiEcKa6/iAvx1PxYojEdZt6JOs5fRe gnjq83tg==; Received: from i5e86190f.versanet.de ([94.134.25.15] helo=phil..) by gloria.sntech.de with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1tFvRh-0007zi-ST; Tue, 26 Nov 2024 14:17:37 +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 v4 0/2] MIPI DSI phy for rk3588 Date: Tue, 26 Nov 2024 14:17:33 +0100 Message-ID: <20241126131736.465111-1-heiko@sntech.de> X-Mailer: git-send-email 2.45.2 MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20241126_051745_404596_BE909D9B X-CRM114-Status: GOOD ( 17.00 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org This 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 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 | 1602 +++++++++++++++++ 4 files changed, 1702 insertions(+) create mode 100644 Documentation/devicetree/bindings/phy/rockchip,rk3588-mipi-dcphy.yaml create mode 100644 drivers/phy/rockchip/phy-rockchip-samsung-dcphy.c