From patchwork Tue Dec 3 16:49:30 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: 13892712 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 85112E74AC3 for ; Tue, 3 Dec 2024 16:53:06 +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=zUMJP/s3MYtTzLFMldW9WHKV2OFH1dxcgqMyCi8YpAA=; b=lrrbwtJ/FiA05sVu1noSM5QICq T+XO9x0e4r4P8tPnOkBa0cd9pgHXQl2qMUwd1aoPJDvk9b3KFRfobWBWCMU2XfXuCglQQ10WDwxON d6LtKemOpqqU2Su5ALAGIRMTwOQKF8R1bI731LoMi9Uww+OHpk0lnYv0jddfLmlV+L08841Lo8SxY 8ZAtNPVyXlFLVJ/IkgevU00d4lqDtxJmbDou2IQlYfAOdilN1ZmaMoc2BXvCNbt9asyI+2bIElszi sFLRGs5HZZVj77Wb4CNlkcKlbhTuM7/0/NC0uWZPcG9YjyTDRT1k0Y7/rJUYAcN6VT+H+E5fnThu0 n+zvrHkA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1tIW8o-0000000AAKk-2eUk; Tue, 03 Dec 2024 16:52:50 +0000 Received: from gloria.sntech.de ([185.11.138.130]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1tIW5r-0000000A9W3-32r1; Tue, 03 Dec 2024 16:49:48 +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=zUMJP/s3MYtTzLFMldW9WHKV2OFH1dxcgqMyCi8YpAA=; b=xLgs2Li0E4WWYgibJQvB/usQtS yWwXBBzBss1CTxpCwTQVUlxYtxqwQKa26hziDiYvJi4B9VhJBUYggV6CEHnwCv5pGZ1AsINt7lML8 Kxt9hWcUy4uTExzuAEd/m83ea+gro1NVHD1EFXOYXJ4ZIqN5s8Kboq3hobJ5HImqauVbCJkGz6B0d pVWI3APtYH46o8Dw3zLkeT1T0g+2j6pZCeoVvOtECq8ULONzDDj/4esGWWqVhoBayXe/6WEotxcsL /LuF6baMzZL0uphFqncOt1itZkjB0RknpMzV03UhTwfGRE1E9GcoTKfAYrLyE+DDCec/ikyhNcI+L DZ+aRvzQ==; Received: from i53875bc4.versanet.de ([83.135.91.196] 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 1tIW5n-0003fy-5X; Tue, 03 Dec 2024 17:49:43 +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 v5 0/2] MIPI DSI phy for rk3588 Date: Tue, 3 Dec 2024 17:49:30 +0100 Message-ID: <20241203164934.1500616-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-20241203_084947_760556_3C711169 X-CRM114-Status: GOOD ( 18.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 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