On Tue, Dec 20, 2016 at 05:09:44PM -0500, Murali Karicheri wrote: > From: WingMan Kwok <w-kwok2@xxxxxx> > > 10gbe phy driver needs to access the 10gbe subsystem control > register during phy initialization. To facilitate the shared > access of the subsystem register region between the 10gbe Ethernet > driver and the phy driver, this patch adds support of the > subsystem register region defined by a syscon node in the dts. > > Although there is no shared access to the gbe subsystem register > region, using syscon for that is for the sake of consistency. > > This change is backward compatible with previously released gbe > devicetree bindings. > > Signed-off-by: WingMan Kwok <w-kwok2@xxxxxx> > Signed-off-by: Murali Karicheri <m-karicheri2@xxxxxx> > Signed-off-by: Sekhar Nori <nsekhar@xxxxxx> > --- > .../devicetree/bindings/net/keystone-netcp.txt | 16 ++- > drivers/net/ethernet/ti/netcp_ethss.c | 140 +++++++++++++++++---- > 2 files changed, 127 insertions(+), 29 deletions(-) > > diff --git a/Documentation/devicetree/bindings/net/keystone-netcp.txt b/Documentation/devicetree/bindings/net/keystone-netcp.txt > index 04ba1dc..0854a73 100644 > --- a/Documentation/devicetree/bindings/net/keystone-netcp.txt > +++ b/Documentation/devicetree/bindings/net/keystone-netcp.txt > @@ -72,20 +72,24 @@ Required properties: > "ti,netcp-gbe-2" for 1GbE N NetCP 1.5 (N=2) > "ti,netcp-xgbe" for 10 GbE > > +- syscon-subsys: phandle to syscon node of the switch > + subsystem registers. > + > - reg: register location and the size for the following register > regions in the specified order. > - switch subsystem registers > + - sgmii module registers This needs to go on the end of the list. Otherwise, it is not backwards compatible. > - sgmii port3/4 module registers (only for NetCP 1.4) > - switch module registers > - serdes registers (only for 10G) > > NetCP 1.4 ethss, here is the order > - index #0 - switch subsystem registers > + index #0 - sgmii module registers > index #1 - sgmii port3/4 module registers > index #2 - switch module registers > > NetCP 1.5 ethss 9 port, 5 port and 2 port > - index #0 - switch subsystem registers > + index #0 - sgmii module registers > index #1 - switch module registers > index #2 - serdes registers > > @@ -145,6 +149,11 @@ Optional properties: > > Example binding: > > +gbe_subsys: subsys@2090000 { > + compatible = "syscon"; > + reg = <0x02090000 0x100>; > +}; > + > netcp: netcp@2000000 { > reg = <0x2620110 0x8>; > reg-names = "efuse"; > @@ -163,7 +172,8 @@ netcp: netcp@2000000 { > ranges; > gbe@90000 { > label = "netcp-gbe"; > - reg = <0x90000 0x300>, <0x90400 0x400>, <0x90800 0x700>; > + syscon-subsys = <&gbe_subsys>; > + reg = <0x90100 0x200>, <0x90400 0x200>, <0x90800 0x700>; > /* enable-ale; */ > tx-queue = <648>; > tx-channel = <8>; -- 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