Re: [PATCH v2 1/2] dt-bindings: net: Add bindings for National Instruments XGE netdev

2017-07-15 Thread Andrew Lunn
On Fri, Jul 14, 2017 at 01:48:45PM -0700, Moritz Fischer wrote:
> This adds bindings for the NI XGE 1G/10G network device.
> 
> Signed-off-by: Moritz Fischer 
> ---
>  Documentation/devicetree/bindings/net/nixge.txt | 32 
> +
>  1 file changed, 32 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/net/nixge.txt
> 
> diff --git a/Documentation/devicetree/bindings/net/nixge.txt 
> b/Documentation/devicetree/bindings/net/nixge.txt
> new file mode 100644
> index 000..9fff5a7
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/net/nixge.txt
> @@ -0,0 +1,32 @@
> +* NI XGE Ethernet controller
> +
> +Required properties:
> +- compatible: Should be "ni,xge-enet-2.00"
> +- reg: Address and length of the register set for the device
> +- interrupts: Should contain tx and rx interrupt
> +- interrupt-names: Should be "rx-irq" and "tx-irq"
> +- phy-mode: See ethernet.txt file in the same directory.

Hi Moritz

phy-handle is now required.

> +Examples (10G generic PHY):
> + nixge0: ethernet@4000 {
> + compatible = "ni,xge-enet-2.00";
> + reg = <0x4000 0x6000>;
> +
> + nvmem-cells = <ð1_addr>;
> + nvmem-cell-names = "address";
> +
> + interrupts = <0 29 4>, <0 30 4>;

IRQ_TYPE_LEVEL_HIGH

> + interrupt-names = "rx-irq", "tx-irq";
> + interrupt-parent = <&intc>;
> +
> + phy-mode = "xgmii";
> + phy-handle = <ðernet_phy1>;
> +
> + ethernet_phy1: ethernet-phy@4 {
> + compatible = "ethernet-phy-ieee802.3-c45";
> + reg = <4>;
> + devices = <0xa>;
> + };

Since you don't fully implement c45, does this example actually work?
And devices is not a standard phy property.

Andrew


Re: [PATCH v2 1/2] dt-bindings: net: Add bindings for National Instruments XGE netdev

2017-07-15 Thread Moritz Fischer
Hi Andrew,

On Sat, Jul 15, 2017 at 08:37:45PM +0200, Andrew Lunn wrote:
> On Fri, Jul 14, 2017 at 01:48:45PM -0700, Moritz Fischer wrote:
> > This adds bindings for the NI XGE 1G/10G network device.
> > 
> > Signed-off-by: Moritz Fischer 
> > ---
> >  Documentation/devicetree/bindings/net/nixge.txt | 32 
> > +
> >  1 file changed, 32 insertions(+)
> >  create mode 100644 Documentation/devicetree/bindings/net/nixge.txt
> > 
> > diff --git a/Documentation/devicetree/bindings/net/nixge.txt 
> > b/Documentation/devicetree/bindings/net/nixge.txt
> > new file mode 100644
> > index 000..9fff5a7
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/net/nixge.txt
> > @@ -0,0 +1,32 @@
> > +* NI XGE Ethernet controller
> > +
> > +Required properties:
> > +- compatible: Should be "ni,xge-enet-2.00"
> > +- reg: Address and length of the register set for the device
> > +- interrupts: Should contain tx and rx interrupt
> > +- interrupt-names: Should be "rx-irq" and "tx-irq"
> > +- phy-mode: See ethernet.txt file in the same directory.
> 
> Hi Moritz
> 
> phy-handle is now required.

Good catch, thanks.
> 
> > +Examples (10G generic PHY):
> > +   nixge0: ethernet@4000 {
> > +   compatible = "ni,xge-enet-2.00";
> > +   reg = <0x4000 0x6000>;
> > +
> > +   nvmem-cells = <ð1_addr>;
> > +   nvmem-cell-names = "address";
> > +
> > +   interrupts = <0 29 4>, <0 30 4>;
> 
> IRQ_TYPE_LEVEL_HIGH

Sure, will do.
> 
> > +   interrupt-names = "rx-irq", "tx-irq";
> > +   interrupt-parent = <&intc>;
> > +
> > +   phy-mode = "xgmii";
> > +   phy-handle = <ðernet_phy1>;
> > +
> > +   ethernet_phy1: ethernet-phy@4 {
> > +   compatible = "ethernet-phy-ieee802.3-c45";
> > +   reg = <4>;
> > +   devices = <0xa>;
> > +   };
> 
> Since you don't fully implement c45, does this example actually work?

Yeah, I've tested this continuously. But for v3 I anyways implmented c45
writes.

> And devices is not a standard phy property.
> 

Will fix.
> Andrew

Cheers,

Moritz


Re: [PATCH v2 1/2] dt-bindings: net: Add bindings for National Instruments XGE netdev

2017-07-15 Thread Andrew Lunn
> > > + ethernet_phy1: ethernet-phy@4 {
> > > + compatible = "ethernet-phy-ieee802.3-c45";
> > > + reg = <4>;
> > > + devices = <0xa>;
> > > + };
> > 
> > Since you don't fully implement c45, does this example actually work?
> 
> Yeah, I've tested this continuously. But for v3 I anyways implmented c45
> writes.

Hi Moritz

Just out of interest, what PHY are you using?

Andrew


Re: [PATCH v2 1/2] dt-bindings: net: Add bindings for National Instruments XGE netdev

2017-07-17 Thread Moritz Fischer
On Sat, Jul 15, 2017 at 09:48:32PM +0200, Andrew Lunn wrote:
> > > > +   ethernet_phy1: ethernet-phy@4 {
> > > > +   compatible = "ethernet-phy-ieee802.3-c45";
> > > > +   reg = <4>;
> > > > +   devices = <0xa>;
> > > > +   };
> > > 
> > > Since you don't fully implement c45, does this example actually work?
> > 
> > Yeah, I've tested this continuously. But for v3 I anyways implmented c45
> > writes.
> 
> Hi Moritz
> 
> Just out of interest, what PHY are you using?

Depending on whether the FPGA image is configured either:

- Xilinx 10G PCS/PMA LogiCore IP (C45)
- Xilinx LogiCORE IP Ethernet 1000Base-X PCS/PMA (C22)

in between that and the DMA engine there's a bunch of custom
stuff (will be open source once the product ships).

Moritz


signature.asc
Description: PGP signature


Re: [PATCH v2 1/2] dt-bindings: net: Add bindings for National Instruments XGE netdev

2017-07-17 Thread Rob Herring
On Fri, Jul 14, 2017 at 01:48:45PM -0700, Moritz Fischer wrote:
> This adds bindings for the NI XGE 1G/10G network device.
> 
> Signed-off-by: Moritz Fischer 
> ---
>  Documentation/devicetree/bindings/net/nixge.txt | 32 
> +
>  1 file changed, 32 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/net/nixge.txt
> 
> diff --git a/Documentation/devicetree/bindings/net/nixge.txt 
> b/Documentation/devicetree/bindings/net/nixge.txt
> new file mode 100644
> index 000..9fff5a7
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/net/nixge.txt
> @@ -0,0 +1,32 @@
> +* NI XGE Ethernet controller
> +
> +Required properties:
> +- compatible: Should be "ni,xge-enet-2.00"
> +- reg: Address and length of the register set for the device
> +- interrupts: Should contain tx and rx interrupt
> +- interrupt-names: Should be "rx-irq" and "tx-irq"

The "-irq" part is redundant.

> +- phy-mode: See ethernet.txt file in the same directory.
> +- nvmem-cells: Phandle of nvmem cell containing the mac address

s/mac/MAC/

> +- nvmem-cell-names: Should be "address"
> +
> +Examples (10G generic PHY):
> + nixge0: ethernet@4000 {
> + compatible = "ni,xge-enet-2.00";
> + reg = <0x4000 0x6000>;
> +
> + nvmem-cells = <ð1_addr>;
> + nvmem-cell-names = "address";
> +
> + interrupts = <0 29 4>, <0 30 4>;
> + interrupt-names = "rx-irq", "tx-irq";
> + interrupt-parent = <&intc>;
> +
> + phy-mode = "xgmii";
> + phy-handle = <ðernet_phy1>;
> +
> + ethernet_phy1: ethernet-phy@4 {
> + compatible = "ethernet-phy-ieee802.3-c45";
> + reg = <4>;
> + devices = <0xa>;

??

> + };
> + };
> -- 
> 2.7.4
>