On Mon, 2018-02-05 at 00:08 -0600, Rob Herring wrote: > On Wed, Jan 31, 2018 at 03:42:44PM +0800, Ryder Lee wrote: > > As the MediaTek audio hardware block that expose functionalities that are > > handled by separate subsystems in the kernel, and there are registers that > > are shared between related drivers. > > > > Switch the current device to an MFD device, add more descriptions about the > > subsystem and modify example accordingly. > > > > Signed-off-by: Ryder Lee <ryder.lee@xxxxxxxxxxxx> > > --- > > .../bindings/arm/mediatek/mediatek,audsys.txt | 37 ++++++++++++++++++---- > > 1 file changed, 30 insertions(+), 7 deletions(-) > > > > diff --git a/Documentation/devicetree/bindings/arm/mediatek/mediatek,audsys.txt b/Documentation/devicetree/bindings/arm/mediatek/mediatek,audsys.txt > > index 9b8f578..677af40 100644 > > --- a/Documentation/devicetree/bindings/arm/mediatek/mediatek,audsys.txt > > +++ b/Documentation/devicetree/bindings/arm/mediatek/mediatek,audsys.txt > > @@ -1,22 +1,45 @@ > > -MediaTek AUDSYS controller > > +MediaTek Audio Subsystem > > ============================ > > +The audio subsystem is one of the multi-function blocks of MediaTek SoCs. > > +It contains a system controller, which provides a number registers giving > > +access to two features: AUDSYS clocks and Audio Front End (AFE) components. > > > > +For the top level node: > > +- compatible: must be: "syscon", "simple-mfd"; > > This should have some SoC specific compatible. As we don't have a specific driver (compatible string) for it and if we need to add that I think the term '*-audsys' is very suitable here, but unfortunately, it has already picked for clock driver (see child node). I also took ../../marvell/*-system-controller.txt as examples for my case. Thus, I'm not sure should we still need a new one here? > > +- reg: register area of the Audio Subsystem > > + > > +Required sub-nodes: > > + > > +AUDSYS clocks: > > +------- > > The MediaTek AUDSYS controller provides various clocks to the system. > > > > Required Properties: > > > > - compatible: Should be one of: > > - - "mediatek,mt7622-audsys", "syscon" > > + - "mediatek,mt2701-audsys"; > > + - "mediatek,mt7622-audsys"; > > - #clock-cells: Must be 1 > > > > The AUDSYS controller uses the common clk binding from > > Documentation/devicetree/bindings/clock/clock-bindings.txt > > The available clocks are defined in dt-bindings/clock/mt*-clk.h. > > There's no register range associated with the clocks? If there is, add a > reg property. No, we don't need reg property here, as the two sub-drivers will obtain the regmap which is propagated from the parent. Thanks > > > > +AFE components: > > +------- > > +For common binding part and usage, refer to > > +../sonud/mt2701-afe-pcm.txt. > > + > > Example: > > > > -audsys: audsys@11220000 { > > - compatible = "mediatek,mt7622-audsys", "syscon"; > > - reg = <0 0x11220000 0 0x1000>; > > - #clock-cells = <1>; > > -}; > > + audio-subsystem@11220000 { > > + compatible = "syscon", "simple-mfd"; > > + reg = <0 0x11220000 0 0x2000>; > > + > > + audsys: clock { > > + compatible = "mediatek,mt2701-audsys"; > > + #clock-cells = <1>; > > + }; > > + > > + ... > > + }; > > -- > > 1.9.1 > > > > _______________________________________________ > Linux-mediatek mailing list > Linux-mediatek@xxxxxxxxxxxxxxxxxxx > http://lists.infradead.org/mailman/listinfo/linux-mediatek -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html