Il 24/01/24 10:52, Rafał Miłecki ha scritto:
From: Rafał Miłecki <rafal@xxxxxxxxxx> This helps validating DTS files. Introduced changes: 1. Reworded title 2. Added required #include-s and adjusted "reg" in example Signed-off-by: Rafał Miłecki <rafal@xxxxxxxxxx> --- .../bindings/media/mediatek,mt7622-cir.yaml | 81 +++++++++++++++++++ .../devicetree/bindings/media/mtk-cir.txt | 28 ------- 2 files changed, 81 insertions(+), 28 deletions(-) create mode 100644 Documentation/devicetree/bindings/media/mediatek,mt7622-cir.yaml delete mode 100644 Documentation/devicetree/bindings/media/mtk-cir.txt diff --git a/Documentation/devicetree/bindings/media/mediatek,mt7622-cir.yaml b/Documentation/devicetree/bindings/media/mediatek,mt7622-cir.yaml new file mode 100644 index 000000000000..a2d0eed33292 --- /dev/null +++ b/Documentation/devicetree/bindings/media/mediatek,mt7622-cir.yaml @@ -0,0 +1,81 @@ +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/media/mediatek,mt7622-cir.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Mediatek consumer IR on-SoC controller
title: MediaTek Consumer Infrared Receiver on-SoC Controller
+ +maintainers: + - Sean Wang <sean.wang@xxxxxxxxxxxx> + +properties: + compatible: + enum: + - mediatek,mt7622-cir + - mediatek,mt7623-cir + + reg: + maxItems: 1 + + interrupts: + maxItems: 1 + + clocks: + minItems: 1 + maxItems: 2 + + clock-names: + minItems: 1 + items: + - const: clk + - const: bus
The driver says: ir->bus = devm_clk_get(dev, "bus"); if (IS_ERR(ir->bus)) { /* * For compatibility with older device trees try unnamed * ir->bus uses the same clock as ir->clock. */ ir->bus = ir->clk; } This makes me think that requiring *one* clock on MT7623 would be a mistake and the devicetree should use clk, bus - CLK_INFRA_IRRX_PD, CLK_TOP_F10M_REF_SEL. Seen that - I'm sure that setting maxItems: 1 on mediatek,mt7623-cir would as well be a mistake.
+ +required: + - reg + - interrupts + - clocks + - clock-names + +allOf: + - $ref: rc.yaml# + - if:
The solution would be to simply delete those if branches and, to keep compatibility with the already present mt7623.dtsi file, keep min/max items to 1 and 2 (of course in the case of clock-names, maxItems shall not be declared, as it's dictated by the consts).
+ properties: + compatible: + contains: + const: mediatek,mt7622-cir + then: + properties: + clocks: + minItems: 2 + + clock-names: + minItems: 2 + - if: + properties: + compatible: + contains: + const: mediatek,mt7623-cir + then: + properties: + clocks: + maxItems: 1 + + clock-names: + maxItems: 1 + +unevaluatedProperties: false + +examples: + - | + #include <dt-bindings/clock/mt2701-clk.h> + #include <dt-bindings/interrupt-controller/arm-gic.h> + + ir@10013000 {
Please use a common generic name, as seen in gpio-ir-receiver.yaml and in amlogic,meson6-ir.yaml: ir-receiver@10013000 { Cheers, Angelo