From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from bali.collaboradmins.com (bali.collaboradmins.com [148.251.105.195]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id AE0BC481FB9; Wed, 1 Jul 2026 13:11:22 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=148.251.105.195 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782911484; cv=none; b=iqIeQvakH+P8EIZEEA0E0Pz2p0Z6CtewNJop263dZ2+mL03EPvLhbrTfMErKmlPqoBG8zxSy3eNVDWq8FcAdTlJJ7KN/rjHTyi+Wq8f5NI2VHI7pQczeK5GMSfCp82FCHxifeD//sdtaJYkYgMgN2J/jEaiF4zj0T/Gf0WTnRmM= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782911484; c=relaxed/simple; bh=glnsAIAYYs1UrifWVPnFZQY8GUc1ElQxOqEzZ8WzTDc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=DHQPfbnh27uqqlOZJhtSEIGkZyG4rLp3kKAzcNJ0tOVSZt2ZECGYZH3qP2X1J5TFtPPI92fwuD+3UoA8jPwWvgM1E9CmBBg7dX0kFmq6oDZ3wgfyOThWRBywr4RlnOmjjy2hsk39ZNM4eO9qpy9stRrd4UkonhXJiPDbM833Pc8= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=collabora.com; spf=pass smtp.mailfrom=collabora.com; dkim=pass (2048-bit key) header.d=collabora.com header.i=@collabora.com header.b=Cj5CDYUQ; arc=none smtp.client-ip=148.251.105.195 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=collabora.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=collabora.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=collabora.com header.i=@collabora.com header.b="Cj5CDYUQ" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1782911481; bh=glnsAIAYYs1UrifWVPnFZQY8GUc1ElQxOqEzZ8WzTDc=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=Cj5CDYUQAmxp06fRyrRVUQT9qfBZKKgVZw6HCV7c0z5jbYSDYEDbKHQ6uT/dLXTG/ Gr6HpN6r5F6RngR0p9MhNNw8PKfsqrXO/gvr3yG0wf2rWdEZeqQUeC27or7ZL7OCPh CSFtwYRWVgVomrxkuYrbn655nWJzSdfhxUt8dksc1YfsAXx4aXsm2dfCxhOHkvm8Th OhpvnPkSWze89xzoDTQhwpl45Suo/6eleQjAs7r5ekpGkW4ItzNZQ73C3SS3/9dDzv o7HSUyv+X5U6jgDtWg5xJrYnp4113YVSXcxGGGHMEfQ7liIyrG90VSQnty78O6jmbP 6fCQNo6x8GA+w== Received: from yukiji.home (unknown [100.64.0.131]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: laeyraud) by bali.collaboradmins.com (Postfix) with ESMTPSA id 3448A17E0D72; Wed, 1 Jul 2026 15:11:20 +0200 (CEST) From: Louis-Alexis Eyraud Date: Wed, 01 Jul 2026 15:11:07 +0200 Subject: [PATCH 02/15] dt-bindings: clock: mediatek: regroup MT8188 dt-bindings into MT8186 Precedence: bulk X-Mailing-List: devicetree@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <20260701-mt8189-clocks-system-base-v1-2-2b048feea50a@collabora.com> References: <20260701-mt8189-clocks-system-base-v1-0-2b048feea50a@collabora.com> In-Reply-To: <20260701-mt8189-clocks-system-base-v1-0-2b048feea50a@collabora.com> To: Michael Turquette , Stephen Boyd , Brian Masney , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Matthias Brugger , AngeloGioacchino Del Regno , Chun-Jie Chen , Philipp Zabel , Edward-JW Yang , Richard Cochran Cc: kernel@collabora.com, linux-clk@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, netdev@vger.kernel.org, Louis-Alexis Eyraud X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=ed25519-sha256; t=1782911477; l=11008; i=louisalexis.eyraud@collabora.com; s=20250113; h=from:subject:message-id; bh=glnsAIAYYs1UrifWVPnFZQY8GUc1ElQxOqEzZ8WzTDc=; b=1EyKo7E4jaKKatwvUvu4eKDKLtVcOHZQdvp/dugjzj7pZNn81e/UaCjYuRLw47jFRGReTjL0j jtkOzRBo+iJCWwqhH/pteOvGr0nlyz/W5oE1jMlFsKALxKomfTaSrxl X-Developer-Key: i=louisalexis.eyraud@collabora.com; a=ed25519; pk=CHFBDB2Kqh4EHc6JIqFn69GhxJJAzc0Zr4e8QxtumuM= Regroup the MT8188 clock and system clock dt-bindings into MT8186 ones to ease maintainability and have common files for several currently supported SoC or new future ones, that have the same kind of clock controller design. Note: The `#clock-cells` property is a required property for all compatibles declared in MT8188 clock and system clock dt-bindings but not in MT8186 ones. To avoid ABI breakage, conditional blocks to check this requirement for MT8188 compatibles are added, rather than enforcing it for MT8186 compatibles. Signed-off-by: Louis-Alexis Eyraud --- .../bindings/clock/mediatek,mt8186-clock.yaml | 82 ++++++++++++++++++- .../bindings/clock/mediatek,mt8186-sys-clock.yaml | 20 ++++- .../bindings/clock/mediatek,mt8188-clock.yaml | 93 ---------------------- .../bindings/clock/mediatek,mt8188-sys-clock.yaml | 58 -------------- 4 files changed, 100 insertions(+), 153 deletions(-) diff --git a/Documentation/devicetree/bindings/clock/mediatek,mt8186-clock.yaml b/Documentation/devicetree/bindings/clock/mediatek,mt8186-clock.yaml index 37e1d7487ab4..28e05b5fb23b 100644 --- a/Documentation/devicetree/bindings/clock/mediatek,mt8186-clock.yaml +++ b/Documentation/devicetree/bindings/clock/mediatek,mt8186-clock.yaml @@ -4,7 +4,7 @@ $id: http://devicetree.org/schemas/clock/mediatek,mt8186-clock.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# -title: MediaTek Functional Clock Controller for MT8186 +title: MediaTek Functional Clock Controller for Mediatek SoCs maintainers: - Chun-Jie Chen @@ -35,6 +35,30 @@ properties: - mediatek,mt8186-vdecsys - mediatek,mt8186-vencsys - mediatek,mt8186-wpesys + - mediatek,mt8188-adsp-audio26m + - mediatek,mt8188-camsys + - mediatek,mt8188-camsys-rawa + - mediatek,mt8188-camsys-rawb + - mediatek,mt8188-camsys-yuva + - mediatek,mt8188-camsys-yuvb + - mediatek,mt8188-ccusys + - mediatek,mt8188-imgsys + - mediatek,mt8188-imgsys-wpe1 + - mediatek,mt8188-imgsys-wpe2 + - mediatek,mt8188-imgsys-wpe3 + - mediatek,mt8188-imgsys1-dip-nr + - mediatek,mt8188-imgsys1-dip-top + - mediatek,mt8188-imp-iic-wrap-c + - mediatek,mt8188-imp-iic-wrap-en + - mediatek,mt8188-imp-iic-wrap-w + - mediatek,mt8188-ipesys + - mediatek,mt8188-mfgcfg + - mediatek,mt8188-vdecsys + - mediatek,mt8188-vdecsys-soc + - mediatek,mt8188-vencsys + - mediatek,mt8188-wpesys + - mediatek,mt8188-wpesys-vpp0 + reg: maxItems: 1 @@ -42,10 +66,66 @@ properties: '#clock-cells': const: 1 + '#reset-cells': + const: 1 + required: - compatible - reg +allOf: + - if: + properties: + compatible: + enum: + - mediatek,mt8188-adsp-audio26m + - mediatek,mt8188-camsys + - mediatek,mt8188-camsys-rawa + - mediatek,mt8188-camsys-rawb + - mediatek,mt8188-camsys-yuva + - mediatek,mt8188-camsys-yuvb + - mediatek,mt8188-ccusys + - mediatek,mt8188-imgsys + - mediatek,mt8188-imgsys-wpe1 + - mediatek,mt8188-imgsys-wpe2 + - mediatek,mt8188-imgsys-wpe3 + - mediatek,mt8188-imgsys1-dip-nr + - mediatek,mt8188-imgsys1-dip-top + - mediatek,mt8188-imp-iic-wrap-c + - mediatek,mt8188-imp-iic-wrap-en + - mediatek,mt8188-imp-iic-wrap-w + - mediatek,mt8188-ipesys + - mediatek,mt8188-mfgcfg + - mediatek,mt8188-vdecsys + - mediatek,mt8188-vdecsys-soc + - mediatek,mt8188-vencsys + - mediatek,mt8188-wpesys + - mediatek,mt8188-wpesys-vpp0 + then: + required: + - '#clock-cells' + + - if: + properties: + compatible: + enum: + - mediatek,mt8188-camsys-rawa + - mediatek,mt8188-camsys-rawb + - mediatek,mt8188-camsys-yuva + - mediatek,mt8188-camsys-yuvb + - mediatek,mt8188-imgsys-wpe1 + - mediatek,mt8188-imgsys-wpe2 + - mediatek,mt8188-imgsys-wpe3 + - mediatek,mt8188-imgsys1-dip-nr + - mediatek,mt8188-imgsys1-dip-top + - mediatek,mt8188-ipesys + then: + required: + - '#reset-cells' + else: + properties: + reset-cells: false + additionalProperties: false examples: diff --git a/Documentation/devicetree/bindings/clock/mediatek,mt8186-sys-clock.yaml b/Documentation/devicetree/bindings/clock/mediatek,mt8186-sys-clock.yaml index c857a40ca2f0..edf9562ca8b9 100644 --- a/Documentation/devicetree/bindings/clock/mediatek,mt8186-sys-clock.yaml +++ b/Documentation/devicetree/bindings/clock/mediatek,mt8186-sys-clock.yaml @@ -4,7 +4,7 @@ $id: http://devicetree.org/schemas/clock/mediatek,mt8186-sys-clock.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# -title: MediaTek System Clock Controller for MT8186 +title: MediaTek System Clock Controller for Mediatek SoCs maintainers: - Chun-Jie Chen @@ -31,6 +31,10 @@ properties: - mediatek,mt8186-infracfg_ao - mediatek,mt8186-mcusys - mediatek,mt8186-topckgen + - mediatek,mt8188-apmixedsys + - mediatek,mt8188-infracfg-ao + - mediatek,mt8188-pericfg-ao + - mediatek,mt8188-topckgen - const: syscon reg: @@ -46,6 +50,20 @@ required: - compatible - reg +allOf: + - if: + properties: + compatible: + contains: + enum: + - mediatek,mt8188-apmixedsys + - mediatek,mt8188-infracfg-ao + - mediatek,mt8188-pericfg-ao + - mediatek,mt8188-topckgen + then: + required: + - '#clock-cells' + additionalProperties: false examples: diff --git a/Documentation/devicetree/bindings/clock/mediatek,mt8188-clock.yaml b/Documentation/devicetree/bindings/clock/mediatek,mt8188-clock.yaml deleted file mode 100644 index 5403242545ab..000000000000 --- a/Documentation/devicetree/bindings/clock/mediatek,mt8188-clock.yaml +++ /dev/null @@ -1,93 +0,0 @@ -# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) -%YAML 1.2 ---- -$id: http://devicetree.org/schemas/clock/mediatek,mt8188-clock.yaml# -$schema: http://devicetree.org/meta-schemas/core.yaml# - -title: MediaTek Functional Clock Controller for MT8188 - -maintainers: - - Garmin Chang - -description: | - The clock architecture in MediaTek like below - PLLs --> - dividers --> - muxes - --> - clock gate - - The devices provide clock gate control in different IP blocks. - -properties: - compatible: - enum: - - mediatek,mt8188-adsp-audio26m - - mediatek,mt8188-camsys - - mediatek,mt8188-camsys-rawa - - mediatek,mt8188-camsys-rawb - - mediatek,mt8188-camsys-yuva - - mediatek,mt8188-camsys-yuvb - - mediatek,mt8188-ccusys - - mediatek,mt8188-imgsys - - mediatek,mt8188-imgsys-wpe1 - - mediatek,mt8188-imgsys-wpe2 - - mediatek,mt8188-imgsys-wpe3 - - mediatek,mt8188-imgsys1-dip-nr - - mediatek,mt8188-imgsys1-dip-top - - mediatek,mt8188-imp-iic-wrap-c - - mediatek,mt8188-imp-iic-wrap-en - - mediatek,mt8188-imp-iic-wrap-w - - mediatek,mt8188-ipesys - - mediatek,mt8188-mfgcfg - - mediatek,mt8188-vdecsys - - mediatek,mt8188-vdecsys-soc - - mediatek,mt8188-vencsys - - mediatek,mt8188-wpesys - - mediatek,mt8188-wpesys-vpp0 - - reg: - maxItems: 1 - - '#clock-cells': - const: 1 - - '#reset-cells': - const: 1 - -required: - - compatible - - reg - - '#clock-cells' - -allOf: - - if: - properties: - compatible: - contains: - enum: - - mediatek,mt8188-camsys-rawa - - mediatek,mt8188-camsys-rawb - - mediatek,mt8188-camsys-yuva - - mediatek,mt8188-camsys-yuvb - - mediatek,mt8188-imgsys-wpe1 - - mediatek,mt8188-imgsys-wpe2 - - mediatek,mt8188-imgsys-wpe3 - - mediatek,mt8188-imgsys1-dip-nr - - mediatek,mt8188-imgsys1-dip-top - - mediatek,mt8188-ipesys - - then: - required: - - '#reset-cells' - -additionalProperties: false - -examples: - - | - clock-controller@11283000 { - compatible = "mediatek,mt8188-imp-iic-wrap-c"; - reg = <0x11283000 0x1000>; - #clock-cells = <1>; - }; - diff --git a/Documentation/devicetree/bindings/clock/mediatek,mt8188-sys-clock.yaml b/Documentation/devicetree/bindings/clock/mediatek,mt8188-sys-clock.yaml deleted file mode 100644 index db13d51a4903..000000000000 --- a/Documentation/devicetree/bindings/clock/mediatek,mt8188-sys-clock.yaml +++ /dev/null @@ -1,58 +0,0 @@ -# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) -%YAML 1.2 ---- -$id: http://devicetree.org/schemas/clock/mediatek,mt8188-sys-clock.yaml# -$schema: http://devicetree.org/meta-schemas/core.yaml# - -title: MediaTek System Clock Controller for MT8188 - -maintainers: - - Garmin Chang - -description: | - The clock architecture in MediaTek like below - PLLs --> - dividers --> - muxes - --> - clock gate - - The apmixedsys provides most of PLLs which generated from SoC 26m. - The topckgen provides dividers and muxes which provide the clock source to other IP blocks. - The infracfg_ao provides clock gate in peripheral and infrastructure IP blocks. - The mcusys provides mux control to select the clock source in AP MCU. - The device nodes also provide the system control capacity for configuration. - -properties: - compatible: - items: - - enum: - - mediatek,mt8188-apmixedsys - - mediatek,mt8188-infracfg-ao - - mediatek,mt8188-pericfg-ao - - mediatek,mt8188-topckgen - - const: syscon - - reg: - maxItems: 1 - - '#clock-cells': - const: 1 - - '#reset-cells': - const: 1 - -required: - - compatible - - reg - - '#clock-cells' - -additionalProperties: false - -examples: - - | - clock-controller@10000000 { - compatible = "mediatek,mt8188-topckgen", "syscon"; - reg = <0x10000000 0x1000>; - #clock-cells = <1>; - }; -- 2.54.0