Hi, Rob, Sorry to bother you, could you please review this patch when you are available? Thanks. On Mon, 2019-07-01 at 15:48 +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-client-reg. > > Signed-off-by: Bibby Hsieh <bibby.hsieh@xxxxxxxxxxxx> > --- > .../devicetree/bindings/mailbox/mtk-gce.txt | 18 ++++++++++++++---- > 1 file changed, 14 insertions(+), 4 deletions(-) > > diff --git a/Documentation/devicetree/bindings/mailbox/mtk-gce.txt b/Documentation/devicetree/bindings/mailbox/mtk-gce.txt > index 1f7f8f2a3f49..d48282d6b02d 100644 > --- a/Documentation/devicetree/bindings/mailbox/mtk-gce.txt > +++ b/Documentation/devicetree/bindings/mailbox/mtk-gce.txt > @@ -21,12 +21,21 @@ 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. > > 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 > - to the register address. > +Optional properties for a client device: > +- mediatek,gce-client-reg: Specify the sub-system id which is corresponding > + to the register address, it should have this property and list of phandle, > + sub-system specifiers. > > Some vaules of properties are defined in 'dt-bindings/gce/mt8173-gce.h' > or 'dt-binding/gce/mt8183-gce.h'. Such as sub-system ids, thread priority, event ids. > @@ -40,6 +49,7 @@ Example: > clocks = <&infracfg CLK_INFRA_GCE>; > clock-names = "gce"; > #mbox-cells = <3>; > + #subsys-cells = <3>; > }; > > Example for a client device: > @@ -48,9 +58,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>; > ... > }; -- Bibby