Message ID | 20211017114054.67737-2-sven@svenpeter.dev (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Apple Mailbox Controller support | expand |
On Sun, 17 Oct 2021 13:40:53 +0200, Sven Peter wrote: > Apple mailbox controller are found on the M1 and are used for > communication with various co-processors. > > Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io> > Reviewed-by: Mark Kettenis <kettenis@openbsd.org> > Reviewed-by: Rob Herring <robh@kernel.org> > Signed-off-by: Sven Peter <sven@svenpeter.dev> > --- > .../bindings/mailbox/apple,mailbox.yaml | 79 +++++++++++++++++++ > MAINTAINERS | 1 + > 2 files changed, 80 insertions(+) > create mode 100644 Documentation/devicetree/bindings/mailbox/apple,mailbox.yaml > My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check' on your patch (DT_CHECKER_FLAGS is new in v5.13): yamllint warnings/errors: dtschema/dtc warnings/errors: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/mailbox/apple,mailbox.yaml: properties:interrupts: 'oneOf' conditional failed, one must be fixed: [{'description': 'send fifo is empty interrupt'}, {'description': 'send fifo is not empty interrupt'}, {'description': 'receive fifo is empty interrupt'}, {'description': 'receive fifo is not empty interrupt'}] is too long [{'description': 'send fifo is empty interrupt'}, {'description': 'send fifo is not empty interrupt'}, {'description': 'receive fifo is empty interrupt'}, {'description': 'receive fifo is not empty interrupt'}] is too short False schema does not allow 4 1 was expected 4 is greater than the maximum of 2 4 is greater than the maximum of 3 hint: "minItems" is only needed if less than the "items" list length from schema $id: http://devicetree.org/meta-schemas/items.yaml# /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/mailbox/apple,mailbox.yaml: properties:interrupt-names: 'oneOf' conditional failed, one must be fixed: [{'const': 'send-empty'}, {'const': 'send-not-empty'}, {'const': 'recv-empty'}, {'const': 'recv-not-empty'}] is too long [{'const': 'send-empty'}, {'const': 'send-not-empty'}, {'const': 'recv-empty'}, {'const': 'recv-not-empty'}] is too short False schema does not allow 4 1 was expected 4 is greater than the maximum of 2 4 is greater than the maximum of 3 hint: "minItems" is only needed if less than the "items" list length from schema $id: http://devicetree.org/meta-schemas/items.yaml# /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/mailbox/apple,mailbox.yaml: ignoring, error in schema: properties: interrupts warning: no schema found in file: ./Documentation/devicetree/bindings/mailbox/apple,mailbox.yaml Documentation/devicetree/bindings/mailbox/apple,mailbox.example.dt.yaml:0:0: /example-0/mailbox@77408000: failed to match any schema with compatible: ['apple,t8103-asc-mailbox'] doc reference errors (make refcheckdocs): See https://patchwork.ozlabs.org/patch/1542209 This check can fail if there are any dependencies. The base for a patch series is generally the most recent rc1. If you already ran 'make dt_binding_check' and didn't see the above error(s), then make sure 'yamllint' is installed and dt-schema is up to date: pip3 install dtschema --upgrade Please check and re-submit.
On Sun, Oct 17, 2021, at 17:29, Rob Herring wrote: > On Sun, 17 Oct 2021 13:40:53 +0200, Sven Peter wrote: >> Apple mailbox controller are found on the M1 and are used for >> communication with various co-processors. >> >> Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io> >> Reviewed-by: Mark Kettenis <kettenis@openbsd.org> >> Reviewed-by: Rob Herring <robh@kernel.org> >> Signed-off-by: Sven Peter <sven@svenpeter.dev> >> --- >> .../bindings/mailbox/apple,mailbox.yaml | 79 +++++++++++++++++++ >> MAINTAINERS | 1 + >> 2 files changed, 80 insertions(+) >> create mode 100644 Documentation/devicetree/bindings/mailbox/apple,mailbox.yaml >> > > My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check' > on your patch (DT_CHECKER_FLAGS is new in v5.13): > > yamllint warnings/errors: > > dtschema/dtc warnings/errors: > /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/mailbox/apple,mailbox.yaml: > properties:interrupts: 'oneOf' conditional failed, one must be fixed: > [{'description': 'send fifo is empty interrupt'}, {'description': > 'send fifo is not empty interrupt'}, {'description': 'receive fifo is > empty interrupt'}, {'description': 'receive fifo is not empty > interrupt'}] is too long > [{'description': 'send fifo is empty interrupt'}, {'description': > 'send fifo is not empty interrupt'}, {'description': 'receive fifo is > empty interrupt'}, {'description': 'receive fifo is not empty > interrupt'}] is too short > False schema does not allow 4 > 1 was expected > 4 is greater than the maximum of 2 > 4 is greater than the maximum of 3 > hint: "minItems" is only needed if less than the "items" list length > from schema $id: http://devicetree.org/meta-schemas/items.yaml# > /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/mailbox/apple,mailbox.yaml: > properties:interrupt-names: 'oneOf' conditional failed, one must be > fixed: > [{'const': 'send-empty'}, {'const': 'send-not-empty'}, {'const': > 'recv-empty'}, {'const': 'recv-not-empty'}] is too long > [{'const': 'send-empty'}, {'const': 'send-not-empty'}, {'const': > 'recv-empty'}, {'const': 'recv-not-empty'}] is too short > False schema does not allow 4 > 1 was expected > 4 is greater than the maximum of 2 > 4 is greater than the maximum of 3 > hint: "minItems" is only needed if less than the "items" list length > from schema $id: http://devicetree.org/meta-schemas/items.yaml# > /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/mailbox/apple,mailbox.yaml: > ignoring, error in schema: properties: interrupts > warning: no schema found in file: > ./Documentation/devicetree/bindings/mailbox/apple,mailbox.yaml > Documentation/devicetree/bindings/mailbox/apple,mailbox.example.dt.yaml:0:0: > /example-0/mailbox@77408000: failed to match any schema with > compatible: ['apple,t8103-asc-mailbox'] > > doc reference errors (make refcheckdocs): > > See https://patchwork.ozlabs.org/patch/1542209 > > This check can fail if there are any dependencies. The base for a patch > series is generally the most recent rc1. > > If you already ran 'make dt_binding_check' and didn't see the above > error(s), then make sure 'yamllint' is installed and dt-schema is up to > date: > > pip3 install dtschema --upgrade > > Please check and re-submit. Whoops, looks like this fails some new check added since I submitted the last version a month ago. I'll drop the "minItems: 4" since the number of items is constant anyway. Sven
diff --git a/Documentation/devicetree/bindings/mailbox/apple,mailbox.yaml b/Documentation/devicetree/bindings/mailbox/apple,mailbox.yaml new file mode 100644 index 000000000000..d488a4173072 --- /dev/null +++ b/Documentation/devicetree/bindings/mailbox/apple,mailbox.yaml @@ -0,0 +1,79 @@ +# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/mailbox/apple,mailbox.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple Mailbox Controller + +maintainers: + - Hector Martin <marcan@marcan.st> + - Sven Peter <sven@svenpeter.dev> + +description: + The Apple mailbox consists of two FIFOs used to exchange 64+32 bit + messages between the main CPU and a co-processor. Multiple instances + of this mailbox can be found on Apple SoCs. + One of the two FIFOs is used to send data to a co-processor while the other + FIFO is used for the other direction. + Various clients implement different IPC protocols based on these simple + messages and shared memory buffers. + +properties: + compatible: + oneOf: + - description: + ASC mailboxes are the most common variant found on the M1 used + for example for the display controller, the system management + controller and the NVMe coprocessor. + items: + - const: apple,t8103-asc-mailbox + + - description: + M3 mailboxes are an older variant with a slightly different MMIO + interface still found on the M1. It is used for the Thunderbolt + co-processors. + items: + - const: apple,t8103-m3-mailbox + + reg: + maxItems: 1 + + interrupts: + minItems: 4 + items: + - description: send fifo is empty interrupt + - description: send fifo is not empty interrupt + - description: receive fifo is empty interrupt + - description: receive fifo is not empty interrupt + + interrupt-names: + minItems: 4 + items: + - const: send-empty + - const: send-not-empty + - const: recv-empty + - const: recv-not-empty + + "#mbox-cells": + const: 0 + +required: + - compatible + - reg + - interrupts + - interrupt-names + - "#mbox-cells" + +additionalProperties: false + +examples: + - | + mailbox@77408000 { + compatible = "apple,t8103-asc-mailbox"; + reg = <0x77408000 0x4000>; + interrupts = <1 583 4>, <1 584 4>, <1 585 4>, <1 586 4>; + interrupt-names = "send-empty", "send-not-empty", + "recv-empty", "recv-not-empty"; + #mbox-cells = <0>; + }; diff --git a/MAINTAINERS b/MAINTAINERS index a4a0c2baaf27..be83d20a33ef 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -1723,6 +1723,7 @@ C: irc://irc.oftc.net/asahi-dev T: git https://github.com/AsahiLinux/linux.git F: Documentation/devicetree/bindings/arm/apple.yaml F: Documentation/devicetree/bindings/interrupt-controller/apple,aic.yaml +F: Documentation/devicetree/bindings/mailbox/apple,mailbox.yaml F: Documentation/devicetree/bindings/pinctrl/apple,pinctrl.yaml F: arch/arm64/boot/dts/apple/ F: drivers/irqchip/irq-apple-aic.c