Hi, Bibby: On Thu, 2019-03-07 at 09:39 +0800, CK Hu wrote: > 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. > > This look like the same as 'reg' property. I would prefer use > already-defined property, for example: > > mmsys: clock-controller@14000000 { > compatible = "mediatek,mt8173-mmsys", "syscon"; > reg = <0 0x14000000 0 0x1000>; > mediatek,gce-subsys = <&gce SUBSYS_1400XXXX>; > }; My previous thinking may not be proper, GCE could write register but its behavior may be not the same as CPU, so it's better not to mix these two register_base_address. Regards, CK > > Regards, > CK > > > + subsys_number: specify the sub-system id which is corresponding > > + to the register address. > > > > 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>, >