Re: [PATCH v2 03/10] dt-binding: gce: add binding for gce subsys property

From: CK Hu
Date: Thu Mar 07 2019 - 20:41:33 EST


Hi, Bibby:

On Wed, 2019-03-06 at 17:50 +0800, Bibby Hsieh wrote:
> cmdq 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>
> ---
> Documentation/devicetree/bindings/mailbox/mtk-gce.txt | 11 ++++++++++-
> 1 file changed, 10 insertions(+), 1 deletion(-)
>
> diff --git a/Documentation/devicetree/bindings/mailbox/mtk-gce.txt b/Documentation/devicetree/bindings/mailbox/mtk-gce.txt
> index 812698f..07b2adf 100644
> --- a/Documentation/devicetree/bindings/mailbox/mtk-gce.txt
> +++ b/Documentation/devicetree/bindings/mailbox/mtk-gce.txt
> @@ -26,6 +26,13 @@ Required properties:
> phandle: Label name of a gce node.
> event_number: the event number defined in 'dt-bindings/gce/mt8173-gce.h'
> or 'dt-binding/gce/mt8183-gce.h'.
> +#subsys-cells: Should be 2.
> + <&phandle register_base_address subsys_number>
> + phandle: Label name of a gce node.
> + register_base_address: the register base address that client
> + want to write or read.
> + subsys_number: specify the sub-system id which is corresponding
> + to the register address.

I would like this description similar to 'reg' property. For example:

If a client want GCE to access register from 0x14002000 ~ 0x14002fff,
in the view of GCE, it would access register from SUBSYS_1400XXXX with
an offset 0x2000 to SUBSYS_1400XXXX with an offset 0x2fff
So the description could be:

mediatek,gce-client-reg = <&gce SUBSYS_1400XXXX 0x2000 0x1000>

the second parameter is subsys, the third parameter is start offset, and
the fourth parameter is the size.

I change the property name to 'mediatek,gce-client-reg' because this
whole property describe the range GCE access rather than the subsys.

Regards,
CK

>
> Required properties for a client device:
> - mboxes: Client use mailbox to communicate with GCE, it should have this
> @@ -50,6 +57,7 @@ Example:
> thread-num = CMDQ_THR_MAX_COUNT;
> #mbox-cells = <3>;
> #event-cells = <1>;
> + #subsys-cells = <2>;
> };
>
> Example for a client device:
> @@ -58,7 +66,8 @@ 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>;
> + mediatek,gce-subsys = <&gce 0x14000000 SUBSYS_1400XXXX>,
> + <&gce 0x14010000 SUBSYS_1401XXXX>;
> mediatek,gce-event-names = "rdma0_sof",
> "rsz0_sof";
> mediatek,gce-events = <&gce CMDQ_EVENT_MDP_RDMA0_SOF>,