On 19/09/2022 10:13, AngeloGioacchino Del Regno wrote: > Convert the mtk-gce mailbox binding to DT schema format. > Mention any deviations from conversion in the commit msg. > Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@xxxxxxxxxxxxx> > --- > > Changes in v3: > - Removed '|' from description > - Removed mbox client examples > - Squashed patch dt-bindings: arm: mediatek: > mmsys: Reference to mediatek,gce-mailbox.yaml > > Changes in v2: > - Changed mtk-gce.txt references to new yaml file > > > A previous attempt for this was made at [1], but it was changing > the way of getting clocks (by name for all). > Keeping clock-names not required for the multi-gce case makes this > binding simpler, hence I chose to abandon the change at [1] and go > for this one instead. > > Any Reviewed-by or Acked-by tag was dropped, as this conversion was > completely redone from scratch and differs from [1] for the > aforementioned reasons. > > [1]: https://lore.kernel.org/all/20220524151512.247435-1-angelogioacchino.delregno@xxxxxxxxxxxxx/ > > .../bindings/arm/mediatek/mediatek,mmsys.yaml | 3 +- > .../mailbox/mediatek,gce-mailbox.yaml | 80 ++++++++++++++++++ > .../devicetree/bindings/mailbox/mtk-gce.txt | 82 ------------------- > 3 files changed, 82 insertions(+), 83 deletions(-) > create mode 100644 Documentation/devicetree/bindings/mailbox/mediatek,gce-mailbox.yaml > delete mode 100644 Documentation/devicetree/bindings/mailbox/mtk-gce.txt > > diff --git a/Documentation/devicetree/bindings/arm/mediatek/mediatek,mmsys.yaml b/Documentation/devicetree/bindings/arm/mediatek/mediatek,mmsys.yaml > index 6ad023eec193..85e6f4f621fc 100644 > --- a/Documentation/devicetree/bindings/arm/mediatek/mediatek,mmsys.yaml > +++ b/Documentation/devicetree/bindings/arm/mediatek/mediatek,mmsys.yaml > @@ -52,7 +52,8 @@ properties: > description: > Using mailbox to communicate with GCE, it should have this > property and list of phandle, mailbox specifiers. See > - Documentation/devicetree/bindings/mailbox/mtk-gce.txt for details. > + Documentation/devicetree/bindings/mailbox/mediatek,gce-mailbox.yaml > + for details. > $ref: /schemas/types.yaml#/definitions/phandle-array > > mediatek,gce-client-reg: > diff --git a/Documentation/devicetree/bindings/mailbox/mediatek,gce-mailbox.yaml b/Documentation/devicetree/bindings/mailbox/mediatek,gce-mailbox.yaml > new file mode 100644 > index 000000000000..fff8fd2e984a > --- /dev/null > +++ b/Documentation/devicetree/bindings/mailbox/mediatek,gce-mailbox.yaml > @@ -0,0 +1,80 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/mailbox/mediatek,gce-mailbox.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Mediatek Global Command Engine Mailbox > + > +maintainers: > + - Houlong Wei <houlong.wei@xxxxxxxxxxxx> > + > +description: > + The Global Command Engine (GCE) is used to help read/write registers with > + critical time limitation, such as updating display configuration during the > + vblank. The GCE can be used to implement the Command Queue (CMDQ) driver. > + > +properties: > + compatible: > + enum: > + - mediatek,mt6779-gce > + - mediatek,mt8173-gce > + - mediatek,mt8183-gce > + - mediatek,mt8186-gce > + - mediatek,mt8192-gce > + - mediatek,mt8195-gce > + > + "#mbox-cells": > + const: 2 > + description: > + The first cell describes the Thread ID of the GCE, > + the second cell describes the priority of the GCE thread > + > + reg: > + maxItems: 1 > + > + interrupts: > + maxItems: 1 > + > + clocks: > + items: > + - description: Global Command Engine clock > + > + clock-names: > + items: > + - const: gce > + > +required: > + - compatible > + - "#mbox-cells" > + - reg > + - interrupts > + - clocks > + > +if: Put it in allOf block > + not: > + properties: > + compatible: > + contains: > + const: mediatek,mt8195-gce > +then: > + required: > + - clock-names > + > +additionalProperties: false > + > +examples: > + # Example for a device client and for a MediaTek mutex client I think comment is no longer relevant. > + - | > + #include <dt-bindings/clock/mt8173-clk.h> > + #include <dt-bindings/interrupt-controller/arm-gic.h> > + #include <dt-bindings/interrupt-controller/irq.h> > + > + gce: mailbox@12120000 { > + compatible = "mediatek,mt8173-gce"; > + reg = <0x10816000 0x1000>; Didn't you have warnings here? > + interrupts = <GIC_SPI 135 IRQ_TYPE_LEVEL_LOW>; > + #mbox-cells = <2>; > + clocks = <&infracfg CLK_INFRA_GCE>; > + clock-names = "gce"; > + }; Best regards, Krzysztof