Re: [PATCH v5 03/12] dt-binding: gce: add binding for gce subsys property

From: Rob Herring
Date: Tue May 07 2019 - 13:42:07 EST


On Tue, May 07, 2019 at 04:13:46PM +0800, Bibby Hsieh wrote:
> tcmdq driver provide a function that get the relationship
> of sub system number from device node for client.
> add specification for #subsys-cells, mediatek,gce-subsys.
>
> Signed-off-by: Bibby Hsieh <bibby.hsieh@xxxxxxxxxxxx>
> ---
> .../devicetree/bindings/mailbox/mtk-gce.txt | 15 ++++++++++++---
> 1 file changed, 12 insertions(+), 3 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/mailbox/mtk-gce.txt b/Documentation/devicetree/bindings/mailbox/mtk-gce.txt
> index 1f7f8f2a3f49..8fd9479bc9f6 100644
> --- a/Documentation/devicetree/bindings/mailbox/mtk-gce.txt
> +++ b/Documentation/devicetree/bindings/mailbox/mtk-gce.txt
> @@ -21,11 +21,19 @@ Required properties:
> priority: Priority of GCE thread.
> atomic_exec: GCE processing continuous packets of commands in atomic
> way.
> +- #subsys-cells: Should be 3.
> + <&phandle subsys_number start_offset size>
> + phandle: Label name of a gce node.
> + subsys_number: specify the sub-system id which is corresponding
> + to the register address.
> + start_offset: the start offset of register address that GCE can access.
> + size: the total size of register address that GCE can access.

Like the #event-cells, do you need this if it isn't variable?

>
> Required properties for a client device:
> - mboxes: Client use mailbox to communicate with GCE, it should have this
> property and list of phandle, mailbox specifiers.
> -- mediatek,gce-subsys: u32, specify the sub-system id which is corresponding
> +Optional propertier for a client device:
> +- mediatek,gce-client-reg: u32, specify the sub-system id which is corresponding
> to the register address.

This isn't a u32, but a phandle + 3 cells (or a list of those). How many
entries can there be?

>
> Some vaules of properties are defined in 'dt-bindings/gce/mt8173-gce.h'
> @@ -40,6 +48,7 @@ Example:
> clocks = <&infracfg CLK_INFRA_GCE>;
> clock-names = "gce";
> #mbox-cells = <3>;
> + #subsys-cells = <3>;
> };
>
> Example for a client device:
> @@ -48,9 +57,9 @@ Example for a client device:
> compatible = "mediatek,mt8173-mmsys";
> mboxes = <&gce 0 CMDQ_THR_PRIO_LOWEST 1>,
> <&gce 1 CMDQ_THR_PRIO_LOWEST 1>;
> - mediatek,gce-subsys = <SUBSYS_1400XXXX>;
> mutex-event-eof = <CMDQ_EVENT_MUTEX0_STREAM_EOF
> CMDQ_EVENT_MUTEX1_STREAM_EOF>;
> -
> + mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0x3000 0x1000>,
> + <&gce SUBSYS_1401XXXX 0x2000 0x100>;
> ...
> };
> --
> 2.18.0
>