From patchwork Wed Feb 19 23:02:57 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: 13983109 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 AEF0DC021B0 for ; Wed, 19 Feb 2025 23:10: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: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=DVKdLck7Z9Cux0F2/fLFThFukyLmdCQM018Mrxq5YNY=; b=O8Phai3DuMiiU5 UC5cjiENMzd9GX5QJemzpX88LNxaVSxWdk/iHLiuPmwkynT67UXtRDZkjo/D2/7xdtR19yjxgWUoZ Ld1eXzGRXOQuakvQ4gfyqlSbFKCMQC+XJ8wWeZeKFlIVmCmnQVVULVRKuiURcG6pfNdeLicVSXFOZ Uz99k+7iBBRLAonheLxQfWH1lm6ohxKYjE1bENO1vzjON+AMKXQFi4BimDw/0K6fVZJ6mM3OkahF5 MqFPj7CG6kbmt5OEhEr8E84lBX+HIx5HlGq4AJmSbYRbe7Sl5zE8ovEamCbwDMpLl/udguyNMYUIe GfHhhYEBA/VFj+HMuG5Q==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1tktDK-0000000FcYF-2qlj; Wed, 19 Feb 2025 23:10:46 +0000 Received: from gloria.sntech.de ([185.11.138.130]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1tkt68-0000000FaQ3-3I9W; Wed, 19 Feb 2025 23:03:22 +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=gxy/D70314SLvPjtQ3M8F2Cxl5dglM+LoYwaFSNDAIo=; b=bkLU4YESjqUDorekF8n19QZNSY ufx57LUNk51CyVqi+HqizUoPbK5NYPs8EZQpNDTTb6UNUECJN4cEVgDap4XDMSxsSsGTyfu6rMLpY GP+r8NyvKABBBDf6iK8poZEEdOChXj88Wlm0eLx2xTXBz0dMy0W8eGzLr727m3z4CTMEsfX8RgURx pqvEn/Ifw48zX3T7OaNA/AjkgSqLTciBuJf8XDFMLOTomb9eoPeEQhovep3mrUbnljg6HChbhwoH6 IFPGN0S3L/Ih7dx8nr8XJD1NDA+Ch/9AMmIoEck//pJEsZBukL87j16mgZ2mVJHHgbg8QaAPZBnP3 gQ8cpmew==; 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 1tkt64-0006Du-9o; Thu, 20 Feb 2025 00:03:16 +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, 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, heiko@sntech.de Subject: [PATCH v7 0/2] MIPI DSI phy for rk3588 Date: Thu, 20 Feb 2025 00:02:57 +0100 Message-ID: <20250219230303.2539733-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-20250219_150320_825186_556402DD X-CRM114-Status: GOOD ( 18.29 ) X-BeenThere: linux-rockchip@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Upstream kernel work for Rockchip platforms List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Linux-rockchip" Errors-To: linux-rockchip-bounces+linux-rockchip=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 v7: - missing pclk-disable in resume error path - replace remaining magic values with actual constants - lower-case hex values - made lane_disable behave similar to lane_enable wrt. lane count 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 | 1715 +++++++++++++++++ 4 files changed, 1815 insertions(+) create mode 100644 Documentation/devicetree/bindings/phy/rockchip,rk3588-mipi-dcphy.yaml create mode 100644 drivers/phy/rockchip/phy-rockchip-samsung-dcphy.c