On Wed, Jun 21, 2017 at 12:37:34AM +0200, Hauke Mehrtens wrote: > From: Martin Blumenstingl <martin.blumenstingl@xxxxxxxxxxxxxx> > > This adds the initial documentation for the RCU module (a MFD device > which provides USB PHYs, reset controllers and more). > > The RCU register range is used for multiple purposes. Mostly one device > uses one or multiple register exclusively, but for some registers some > bits are for one driver and some other bits are for a different driver. > With this patch all accesses to the RCU registers will go through > syscon. > > Signed-off-by: Hauke Mehrtens <hauke@xxxxxxxxxx> > --- > .../devicetree/bindings/mips/lantiq/rcu.txt | 95 ++++++++++++++++++++++ > 1 file changed, 95 insertions(+) > create mode 100644 Documentation/devicetree/bindings/mips/lantiq/rcu.txt > > diff --git a/Documentation/devicetree/bindings/mips/lantiq/rcu.txt b/Documentation/devicetree/bindings/mips/lantiq/rcu.txt > new file mode 100644 > index 000000000000..9c875f4f3c90 > --- /dev/null > +++ b/Documentation/devicetree/bindings/mips/lantiq/rcu.txt > @@ -0,0 +1,95 @@ > +Lantiq XWAY SoC RCU binding > +=========================== > + > +This binding describes the RCU (reset controller unit) multifunction device, > +where each sub-device has it's own set of registers. > + > +The RCU register range is used for multiple purposes. Mostly one device > +uses one or multiple register exclusively, but for some registers some > +bits are for one driver and some other bits are for a different driver. > +With this patch all accesses to the RCU registers will go through > +syscon. > + > + > +------------------------------------------------------------------------------- > +Required properties: > +- compatible : The first and second values must be: > + "lantiq,xrx200-rcu", "simple-mfd", "syscon" > +- reg : The address and length of the system control registers > + > + > +------------------------------------------------------------------------------- > +Example of the RCU bindings on a xRX200 SoC: > + rcu0: rcu@203000 { > + compatible = "lantiq,xrx200-rcu", "simple-mfd", "syscon"; > + reg = <0x203000 0x100>; > + ranges = <0x0 0x203000 0x100>; > + big-endian; > + > + gphy0: gphy@0 { unit address should match reg, so "phy@20" > + compatible = "lantiq,xrx200a2x-gphy"; > + reg = <0x20 0x4>; > + > + resets = <&reset0 31 30>, <&reset1 7 7>; > + reset-names = "gphy", "gphy2"; > + lantiq,gphy-mode = <GPHY_MODE_GE>; > + }; > + > + gphy1: gphy@1 { phy@68 > + compatible = "lantiq,xrx200a2x-gphy"; > + reg = <0x68 0x4>; > + > + resets = <&reset0 29 28>, <&reset1 6 6>; > + reset-names = "gphy", "gphy2"; > + lantiq,gphy-mode = <GPHY_MODE_GE>; > + }; > + > + reset0: reset-controller@0 { ...@10 > + compatible = "lantiq,xrx200-reset"; > + > + offset-set = <0x10>; > + offset-status = <0x14>; reg = <0x10 8>; > + #reset-cells = <2>; > + }; > + > + reset1: reset-controller@1 { > + compatible = "lantiq,xrx200-reset"; > + > + offset-set = <0x48>; > + offset-status = <0x24>; reg = <0x48 4>, <0x24 4>; > + #reset-cells = <2>; > + }; > + > + usb_phy0: usb2-phy@0 { > + compatible = "lantiq,xrx200-usb2-phy"; > + status = "disabled"; > + > + regmap = <&rcu0>; This should be dropped. > + offset-phy = <0x18>; > + offset-ana = <0x38>; Use reg. > + resets = <&reset1 4 4>, <&reset0 4 4>; > + reset-names = "phy", "ctrl"; > + #phy-cells = <0>; > + }; > + > + usb_phy1: usb2-phy@1 { > + compatible = "lantiq,xrx200-usb2-phy"; > + status = "disabled"; > + > + regmap = <&rcu0>; Drop. > + offset-phy = <0x34>; > + offset-ana = <0x3C>; Use reg. > + resets = <&reset1 5 4>, <&reset0 4 4>; > + reset-names = "phy", "ctrl"; > + #phy-cells = <0>; > + }; > + > + reboot { > + compatible = "syscon-reboot"; > + > + regmap = <&rcu0>; Drop. > + offset = <0x10>; > + mask = <0x40000000>; > + }; > + }; > + > -- > 2.11.0 >