From mboxrd@z Thu Jan 1 00:00:00 1970 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 7F2ADC5CFE7 for ; Wed, 12 Aug 2026 02:01:42 +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-Type: Content-Transfer-Encoding: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=VZkxtZwQR+A6lSI7w2rkwutM7nZcpuncf0RtdkAm8Tw=; b=k0PmM2ixo7z6onTigXnpVwh5/M RT61lSMY1+ngmRIDBh2J9IMccQ+fMi1eIdeaJeT8xLXs9TDtDOJUVpIlZA1ErdoPJYem24mqTwosw H2N3qYODvw0bn4G/Jt4CHv8lxjM24X8flGutjicg6O+qk/3mdE7yJpsPPeL1fRcBiq/6lDagz2OtF uXjD+KRUNa/S87Y/8Vb6eppkdAvSJqZOKDyYlqtKR0AedxnER9te/8GP+F+Y0DDt8H+YeigYhm7Nt wmSJ61RQWAVgC2PNGBhtaT9gyiK4PlMamsxJPX9IlQrItZtfcKe/DV72xfhb+iNKY4tRUuqWiY2fl kOq3QU8A==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1wtyHV-0000000FEXb-1OmM; Wed, 12 Aug 2026 02:01:25 +0000 Received: from desiato.infradead.org ([2001:8b0:10b:1:d65d:64ff:fe57:4e05]) by bombadil.infradead.org with esmtps (Exim 4.99.1 #2 (Red Hat Linux)) id 1wtyGZ-0000000FEIO-2Tqi; Wed, 12 Aug 2026 02:00:40 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=desiato.20200630; h=Content-Type:Content-Transfer-Encoding :MIME-Version:Message-ID:Date:Subject:CC:To:From:Sender:Reply-To:Content-ID: Content-Description:In-Reply-To:References; bh=VZkxtZwQR+A6lSI7w2rkwutM7nZcpuncf0RtdkAm8Tw=; b=gzjiYprAP9M6D73Jiu2YEgd+Vz qEGrrXzFbkJYS/+JL//XNaf3ywnIuCeAHDJ2mCaRJEGiw7yAsTajrVmB1LBGlJeJ5XbKI5MBLedOT p8RShyPFkUCWCCVLfULptxRi0nneJgVAFO81IRWSayTHUG72uV/II8bl8R8X0LoEzd703kquaxcIO 5s0qkP0jGjJDeh+kjw92aqwpn3wS+wULo8hozv2ZRNJfr3/xxh15V4KN6B2OfWDtttVPsg4Dal9fd USwDF5Cf2XYMI/PuNPw/m7XQgJJNd7leF6+cOL8QA9e90pqisk7PyjrMj0MoKSrupEC41GIIffebA s/rOTBcA==; Received: from rtits2.realtek.com ([211.75.126.72] helo=rtits2.realtek.com.tw) by desiato.infradead.org with esmtps (Exim 4.99.2 #2 (Red Hat Linux)) id 1wtyGV-0000000F2ZE-1nPg; Wed, 12 Aug 2026 02:00:25 +0000 X-SpamFilter-By: ArmorX SpamTrap 5.80 with qID 67C20AB503195235, This message is accepted by code: ctloc85258 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=realtek.com; s=dkim; t=1786500011; bh=VZkxtZwQR+A6lSI7w2rkwutM7nZcpuncf0RtdkAm8Tw=; h=From:To:CC:Subject:Date:Message-ID:MIME-Version: Content-Transfer-Encoding:Content-Type; b=JIKLuX/LDfNr44FRMjl0u8i++9CuBDLMblXObZjox4zQ/u4oi22859jzNa0CwyZO0 Wel2eZHWRoPw4hN8AVf3zfCrMbTYLefXFwNzu0Eitg4Rf1MerkMzNy9qX4Amonr4I3 V5iRnuy7YVlVpGAWYa7vCs/geoZCrnZL6/QQVbqFSQWfykQHIR874xvicRSPBglF8z UfZeYg0Cy+aZJ9AMRCneqrJnsxzaY6vxtvgBEAidoLtoUthrpTBXimTIjwAaGnIeMi 5QZpsvV80Izw0N0LQXDw69Zv4e5wdlqaNPDQ/O8BpRB3rL899NLNRmKfSYsyQkuXTL Y1s7KpfDZIvvw== Received: from mail.realtek.com (rtkexhmbs02.realtek.com.tw[172.21.6.41]) by rtits2.realtek.com.tw (8.15.2/3.29/5.94) with ESMTPS id 67C20AB503195235 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Wed, 12 Aug 2026 10:00:11 +0800 Received: from RTKEXHMBS04.realtek.com.tw (10.21.1.54) by RTKEXHMBS02.realtek.com.tw (172.21.6.41) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.43; Wed, 12 Aug 2026 10:00:10 +0800 Received: from cn1dhc-k02 (172.21.252.101) by RTKEXHMBS04.realtek.com.tw (10.21.1.54) with Microsoft SMTP Server id 15.2.2562.43 via Frontend Transport; Wed, 12 Aug 2026 10:00:09 +0800 From: Yu-Chun Lin To: , , , , , , , , , CC: , , , , , , , , Subject: [PATCH v13 00/11] clk / reset: realtek: Add RTD1625 clock and reset support Date: Wed, 12 Aug 2026 09:59:58 +0800 Message-ID: <20260812020009.3480538-1-eleanor.lin@realtek.com> X-Mailer: git-send-email 2.50.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.9.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20260812_030024_095496_1AA41D90 X-CRM114-Status: GOOD ( 14.65 ) 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 Hello, This patch series adds the clock and reset controller support for Realtek's RTD1625 SoC platform. Because the reset controllers share the same register space with the clock controllers on this platform, we utilize the Auxiliary Bus framework to decouple them. The clock controllers act as the primary devices, registering the reset controllers as auxiliary devices. To make it easier for maintainers to review, the series has been organized by subsystem: 1. Device Tree Bindings: - Add bindings for the Realtek RTD1625 Clock & Reset Controllers. 2. Reset Subsystem: - Introduce the basic Realtek reset infrastructure. - Add the RTD1625 platform reset drivers. 3. Clock Subsystem Infrastructure: - Introduce a common probe, and add support for basic clocks including PLLs, gate clocks, mux clocks, and MMC-tuned PLLs. 4. Clock Platform Drivers: - Add the clock controller drivers for RTD1625-CRT and RTD1625-ISO. - These drivers provide the clock sources and instantiate the corresponding auxiliary reset devices. Best regards, Yu-Chun Lin --- Changes in v13: Patch 8: - Add Reviewed-by tag from Brian. Patch 9: - Add spaces to align the equal signs. - Add Reviewed-by tag from Brian. Patch 10: - Add Reviewed-by tag from Brian. v12: https://lore.kernel.org/lkml/20260804163807.1285869-1-eleanor.lin@realtek.com/ v11: https://lore.kernel.org/lkml/20260728142806.1954638-1-eleanor.lin@realtek.com/ v10: https://lore.kernel.org/lkml/20260713155630.3054636-1-eleanor.lin@realtek.com/ v9: https://lore.kernel.org/lkml/20260624112940.3475605-1-eleanor.lin@realtek.com/ v8: https://lore.kernel.org/lkml/20260610080824.255063-1-eleanor.lin@realtek.com/ v7: https://lore.kernel.org/lkml/20260508111641.3192177-1-eleanor.lin@realtek.com/ v6: https://lore.kernel.org/lkml/20260402073957.2742459-1-eleanor.lin@realtek.com/ v5: https://lore.kernel.org/lkml/20260324025332.3416977-1-eleanor.lin@realtek.com/ v4: https://lore.kernel.org/lkml/20260313081100.596224-1-eleanor.lin@realtek.com/ v3: https://lore.kernel.org/lkml/20260122110857.12995-1-eleanor.lin@realtek.com/ v2: https://lore.kernel.org/lkml/20260113112333.821-1-eleanor.lin@realtek.com/ v1: https://lore.kernel.org/lkml/20251229075313.27254-1-eleanor.lin@realtek.com/ Cheng-Yu Lee (9): reset: Add Realtek basic reset support reset: realtek: Add RTD1625 reset controller driver clk: realtek: Introduce common probe() and remove() clk: realtek: Add support for phase locked loops (PLLs) clk: realtek: Add support for gate clock clk: realtek: Add support for mux clock clk: realtek: Add support for MMC-tuned PLL clocks clk: realtek: Add RTD1625-CRT clock controller driver clk: realtek: Add RTD1625-ISO clock controller driver Yu-Chun Lin (2): dt-bindings: clock: Add Realtek RTD1625 Clock & Reset Controller arm64: dts: realtek: Add clock support for RTD1625 .../bindings/clock/realtek,rtd1625-clk.yaml | 58 ++ MAINTAINERS | 10 + arch/arm64/boot/dts/realtek/kent.dtsi | 33 + drivers/clk/Kconfig | 1 + drivers/clk/Makefile | 1 + drivers/clk/realtek/Kconfig | 48 ++ drivers/clk/realtek/Makefile | 12 + drivers/clk/realtek/clk-pll-mmc.c | 431 ++++++++++ drivers/clk/realtek/clk-pll.c | 217 +++++ drivers/clk/realtek/clk-pll.h | 60 ++ drivers/clk/realtek/clk-regmap-gate.c | 70 ++ drivers/clk/realtek/clk-regmap-gate.h | 65 ++ drivers/clk/realtek/clk-regmap-mux.c | 41 + drivers/clk/realtek/clk-regmap-mux.h | 43 + drivers/clk/realtek/clk-rtd1625-crt.c | 803 ++++++++++++++++++ drivers/clk/realtek/clk-rtd1625-iso.c | 142 ++++ drivers/clk/realtek/clk-rtk-common.c | 83 ++ drivers/clk/realtek/clk-rtk-common.h | 38 + drivers/clk/realtek/freq_table.c | 57 ++ drivers/clk/realtek/freq_table.h | 22 + drivers/reset/Kconfig | 1 + drivers/reset/Makefile | 1 + drivers/reset/realtek/Kconfig | 19 + drivers/reset/realtek/Makefile | 3 + drivers/reset/realtek/reset-rtd1625.c | 263 ++++++ drivers/reset/realtek/reset-rtk-common.c | 73 ++ drivers/reset/realtek/reset-rtk-common.h | 29 + .../dt-bindings/clock/realtek,rtd1625-clk.h | 165 ++++ include/dt-bindings/reset/realtek,rtd1625.h | 171 ++++ 29 files changed, 2960 insertions(+) create mode 100644 Documentation/devicetree/bindings/clock/realtek,rtd1625-clk.yaml create mode 100644 drivers/clk/realtek/Kconfig create mode 100644 drivers/clk/realtek/Makefile create mode 100644 drivers/clk/realtek/clk-pll-mmc.c create mode 100644 drivers/clk/realtek/clk-pll.c create mode 100644 drivers/clk/realtek/clk-pll.h create mode 100644 drivers/clk/realtek/clk-regmap-gate.c create mode 100644 drivers/clk/realtek/clk-regmap-gate.h create mode 100644 drivers/clk/realtek/clk-regmap-mux.c create mode 100644 drivers/clk/realtek/clk-regmap-mux.h create mode 100644 drivers/clk/realtek/clk-rtd1625-crt.c create mode 100644 drivers/clk/realtek/clk-rtd1625-iso.c create mode 100644 drivers/clk/realtek/clk-rtk-common.c create mode 100644 drivers/clk/realtek/clk-rtk-common.h create mode 100644 drivers/clk/realtek/freq_table.c create mode 100644 drivers/clk/realtek/freq_table.h create mode 100644 drivers/reset/realtek/Kconfig create mode 100644 drivers/reset/realtek/Makefile create mode 100644 drivers/reset/realtek/reset-rtd1625.c create mode 100644 drivers/reset/realtek/reset-rtk-common.c create mode 100644 drivers/reset/realtek/reset-rtk-common.h create mode 100644 include/dt-bindings/clock/realtek,rtd1625-clk.h create mode 100644 include/dt-bindings/reset/realtek,rtd1625.h -- 2.43.0