Message ID | 1463131568-36948-2-git-send-email-harinik@xilinx.com |
---|---|
State | RFC, archived |
Delegated to: | David Miller |
Headers | show |
> + mdio { > + compatible = "cdns,macb-mdio"; > + reg = <0x0 0xff0b0000 0x0 0x1000>; > + clocks = <&clk125>, <&clk125>, <&clk125>; > + clock-names = "pclk", "hclk", "tx_clk"; > + ethernet_phyC: ethernet-phy@C { > + reg = <C>; I think that needs an 0x prefix. Andrew
Hi Harini Is this backward compatible? Will devices using the old binding still work? /* Disable RX and TX (XXX: Should we halt the transmission * more gracefully?) */ - macb_writel(bp, NCR, 0); + ctrl = macb_readl(bp, NCR); + ctrl &= ~(MACB_BIT(RE) | MACB_BIT(TE)); + macb_writel(bp, NCR, ctrl); /* Clear the stats registers (XXX: Update stats first?) */ - macb_writel(bp, NCR, MACB_BIT(CLRSTAT)); + ctrl |= MACB_BIT(CLRSTAT); + macb_writel(bp, NCR, ctrl); /* Clear all status flags */ macb_writel(bp, TSR, -1); It is not clear to me what this part has to do with MDIO. Andrew
HI Andrew, On Fri, May 13, 2016 at 11:13 PM, Andrew Lunn <andrew@lunn.ch> wrote: > Hi Harini > > Is this backward compatible? Will devices using the old binding still > work? It isn't right now. I will have to assign the bus read/write functions conditionally in order to do that - I'll see if I can make it clean. > > /* Disable RX and TX (XXX: Should we halt the transmission > * more gracefully?) > */ > - macb_writel(bp, NCR, 0); > + ctrl = macb_readl(bp, NCR); > + ctrl &= ~(MACB_BIT(RE) | MACB_BIT(TE)); > + macb_writel(bp, NCR, ctrl); > > /* Clear the stats registers (XXX: Update stats first?) */ > - macb_writel(bp, NCR, MACB_BIT(CLRSTAT)); > + ctrl |= MACB_BIT(CLRSTAT); > + macb_writel(bp, NCR, ctrl); > > /* Clear all status flags */ > macb_writel(bp, TSR, -1); > > It is not clear to me what this part has to do with MDIO. > Sorry, I'll move this to a separate patch in my next version. It is intended to write those registers without disturbing reserved bits. Regards, Harini
diff --git a/Documentation/devicetree/bindings/net/macb-mdio.txt b/Documentation/devicetree/bindings/net/macb-mdio.txt new file mode 100644 index 0000000..11c70a3 --- /dev/null +++ b/Documentation/devicetree/bindings/net/macb-mdio.txt @@ -0,0 +1,31 @@ +* Cadence MACB MDIO controller + +Required properties: +- compatible: Should be "cdns,macb-mdio" +- reg: Address and length of the register set of MAC to be used +- clock-names: Tuple listing input clock names. + Required elements: 'pclk', 'hclk' + Optional elements: 'tx_clk' +- clocks: Phandles to input clocks. + +Examples: + + mdio { + compatible = "cdns,macb-mdio"; + reg = <0x0 0xff0b0000 0x0 0x1000>; + clocks = <&clk125>, <&clk125>, <&clk125>; + clock-names = "pclk", "hclk", "tx_clk"; + ethernet_phyC: ethernet-phy@C { + reg = <C>; + }; + ethernet_phy7: ethernet-phy@7 { + reg = <7>; + }; + ethernet_phy3: ethernet-phy@3 { + reg = <3>; + }; + ethernet_phy8: ethernet-phy@8 { + reg = <8>; + }; + }; +
Add documentations for macb mdio driver. Signed-off-by: Harini Katakam <harinik@xilinx.com> --- .../devicetree/bindings/net/macb-mdio.txt | 31 ++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 Documentation/devicetree/bindings/net/macb-mdio.txt