.../bindings/spi/mediatek,spi-mtk-nor.yaml | 45 ++++++++++++++----- 1 file changed, 33 insertions(+), 12 deletions(-)
Update mediatek,spi-mtk-nor.yaml to add conditional clock and
clock-names bindings for the mt8189-nor platform. The mt8189-nor
controller requires five specific clocks and corresponding clock-names
("spi", "sf", "axi_f", "axi_h", "axi_p"). This change enforces these
requirements in the device tree binding schema.
For other platforms, the minimum number of clocks and clock-names
remains unchanged. The patch also adds an example for mt8189-nor,
illustrating the new clock configuration.
This update ensures correct hardware description and validation for
mt8189-nor, improving compatibility and reducing configuration errors.
Signed-off-by: Meiker Gao <ot_meiker.gao@mediatek.com>
(cherry picked from commit c3180d35e52b5213764a89403e71f9a34d7bb842)
---
.../bindings/spi/mediatek,spi-mtk-nor.yaml | 45 ++++++++++++++-----
1 file changed, 33 insertions(+), 12 deletions(-)
diff --git a/Documentation/devicetree/bindings/spi/mediatek,spi-mtk-nor.yaml b/Documentation/devicetree/bindings/spi/mediatek,spi-mtk-nor.yaml
index a453996c13f2..bd6f43a0c399 100644
--- a/Documentation/devicetree/bindings/spi/mediatek,spi-mtk-nor.yaml
+++ b/Documentation/devicetree/bindings/spi/mediatek,spi-mtk-nor.yaml
@@ -17,9 +17,6 @@ description: |
for devices other than SPI NOR flash due to limited transfer
capability of this controller.
-allOf:
- - $ref: /schemas/spi/spi-controller.yaml#
-
properties:
compatible:
oneOf:
@@ -27,6 +24,7 @@ properties:
- mediatek,mt8173-nor
- mediatek,mt8186-nor
- mediatek,mt8192-nor
+ - mediatek,mt8189-nor
- items:
- enum:
- mediatek,mt2701-nor
@@ -39,6 +37,7 @@ properties:
- items:
- enum:
- mediatek,mt8188-nor
+ - mediatek,mt8189-nor
- const: mediatek,mt8186-nor
reg:
@@ -56,14 +55,8 @@ properties:
design, so this is optional.
- description: clock used for controller axi slave bus.
this depends on hardware design, so it is optional.
-
- clock-names:
- minItems: 2
- items:
- - const: spi
- - const: sf
- - const: axi
- - const: axi_s
+ - description: clock used for controller axi_f, axi_h, and
+ axi_p to support the new platform.
required:
- compatible
@@ -71,6 +64,34 @@ required:
- clocks
- clock-names
+allOf:
+ - $ref: /schemas/spi/spi-controller.yaml#
+ - if:
+ properties:
+ compatible:
+ contains:
+ const: mediatek,mt8189-nor
+ then:
+ properties:
+ clocks:
+ maxItems: 5
+ clock-names:
+ items:
+ - const: spi
+ - const: sf
+ - const: axi_f
+ - const: axi_h
+ - const: axi_p
+ else:
+ properties:
+ clocks:
+ maxItems: 4
+ clock-names:
+ items:
+ - const: spi
+ - const: sf
+ - const: axi
+
unevaluatedProperties: false
examples:
@@ -81,7 +102,7 @@ examples:
#address-cells = <2>;
#size-cells = <2>;
- nor_flash: spi@1100d000 {
+ spi@1100d000 {
compatible = "mediatek,mt8173-nor";
reg = <0 0x1100d000 0 0xe0>;
interrupts = <1>;
--
2.45.2
On 11/03/2026 06:33, Meiker Gao wrote:
> Update mediatek,spi-mtk-nor.yaml to add conditional clock and
> clock-names bindings for the mt8189-nor platform. The mt8189-nor
> controller requires five specific clocks and corresponding clock-names
> ("spi", "sf", "axi_f", "axi_h", "axi_p"). This change enforces these
> requirements in the device tree binding schema.
>
> For other platforms, the minimum number of clocks and clock-names
> remains unchanged. The patch also adds an example for mt8189-nor,
> illustrating the new clock configuration.
>
> This update ensures correct hardware description and validation for
> mt8189-nor, improving compatibility and reducing configuration errors.
>
> Signed-off-by: Meiker Gao <ot_meiker.gao@mediatek.com>
> (cherry picked from commit c3180d35e52b5213764a89403e71f9a34d7bb842)
Clean your patches before sending them.
> ---
> .../bindings/spi/mediatek,spi-mtk-nor.yaml | 45 ++++++++++++++-----
> 1 file changed, 33 insertions(+), 12 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/spi/mediatek,spi-mtk-nor.yaml b/Documentation/devicetree/bindings/spi/mediatek,spi-mtk-nor.yaml
> index a453996c13f2..bd6f43a0c399 100644
> --- a/Documentation/devicetree/bindings/spi/mediatek,spi-mtk-nor.yaml
> +++ b/Documentation/devicetree/bindings/spi/mediatek,spi-mtk-nor.yaml
> @@ -17,9 +17,6 @@ description: |
> for devices other than SPI NOR flash due to limited transfer
> capability of this controller.
>
> -allOf:
> - - $ref: /schemas/spi/spi-controller.yaml#
> -
> properties:
> compatible:
> oneOf:
> @@ -27,6 +24,7 @@ properties:
> - mediatek,mt8173-nor
> - mediatek,mt8186-nor
> - mediatek,mt8192-nor
> + - mediatek,mt8189-nor
> - items:
> - enum:
> - mediatek,mt2701-nor
> @@ -39,6 +37,7 @@ properties:
> - items:
> - enum:
> - mediatek,mt8188-nor
> + - mediatek,mt8189-nor
> - const: mediatek,mt8186-nor
>
> reg:
> @@ -56,14 +55,8 @@ properties:
> design, so this is optional.
> - description: clock used for controller axi slave bus.
> this depends on hardware design, so it is optional.
> -
> - clock-names:
You cannot remove properties.
> - minItems: 2
> - items:
> - - const: spi
> - - const: sf
> - - const: axi
> - - const: axi_s
> + - description: clock used for controller axi_f, axi_h, and
> + axi_p to support the new platform.
>
> required:
> - compatible
> @@ -71,6 +64,34 @@ required:
> - clocks
> - clock-names
>
> +allOf:
> + - $ref: /schemas/spi/spi-controller.yaml#
> + - if:
> + properties:
> + compatible:
> + contains:
> + const: mediatek,mt8189-nor
> + then:
> + properties:
> + clocks:
minItems
> + maxItems: 5
> + clock-names:
> + items:
> + - const: spi
> + - const: sf
> + - const: axi_f
That's just axi, no? Thus keep the list in top-level.
> + - const: axi_h
And that's axi_s
> + - const: axi_p
And what does p stand for? Do you understand these are names of clock
inputs, not names of clocks?
> + else:
> + properties:
> + clocks:
Missing minItems
> + maxItems: 4
> + clock-names:
> + items:
> + - const: spi
> + - const: sf
> + - const: axi
And that's ABI change, NAK.
Best regards,
Krzysztof
© 2016 - 2026 Red Hat, Inc.