diff mbox

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

Message ID 1500065326-26182-1-git-send-email-mdf@kernel.org
State Changes Requested, archived
Delegated to: David Miller
Headers show

Commit Message

Moritz Fischer July 14, 2017, 8:48 p.m. UTC
This adds bindings for the NI XGE 1G/10G network device.

Signed-off-by: Moritz Fischer <mdf@kernel.org>
---
 Documentation/devicetree/bindings/net/nixge.txt | 32 +++++++++++++++++++++++++
 1 file changed, 32 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/net/nixge.txt

Comments

Andrew Lunn July 15, 2017, 6:37 p.m. UTC | #1
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 <mdf@kernel.org>
> ---
>  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 0000000..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@40000000 {
> +		compatible = "ni,xge-enet-2.00";
> +		reg = <0x40000000 0x6000>;
> +
> +		nvmem-cells = <&eth1_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 = <&ethernet_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
Moritz Fischer July 15, 2017, 6:46 p.m. UTC | #2
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 <mdf@kernel.org>
> > ---
> >  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 0000000..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@40000000 {
> > +		compatible = "ni,xge-enet-2.00";
> > +		reg = <0x40000000 0x6000>;
> > +
> > +		nvmem-cells = <&eth1_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 = <&ethernet_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
Andrew Lunn July 15, 2017, 7:48 p.m. UTC | #3
> > > +		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
Moritz Fischer July 17, 2017, 4:45 p.m. UTC | #4
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
Rob Herring July 17, 2017, 7:03 p.m. UTC | #5
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 <mdf@kernel.org>
> ---
>  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 0000000..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@40000000 {
> +		compatible = "ni,xge-enet-2.00";
> +		reg = <0x40000000 0x6000>;
> +
> +		nvmem-cells = <&eth1_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 = <&ethernet_phy1>;
> +
> +		ethernet_phy1: ethernet-phy@4 {
> +			compatible = "ethernet-phy-ieee802.3-c45";
> +			reg = <4>;
> +			devices = <0xa>;

??

> +		};
> +	};
> -- 
> 2.7.4
>
diff mbox

Patch

diff --git a/Documentation/devicetree/bindings/net/nixge.txt b/Documentation/devicetree/bindings/net/nixge.txt
new file mode 100644
index 0000000..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.
+- nvmem-cells: Phandle of nvmem cell containing the mac address
+- nvmem-cell-names: Should be "address"
+
+Examples (10G generic PHY):
+	nixge0: ethernet@40000000 {
+		compatible = "ni,xge-enet-2.00";
+		reg = <0x40000000 0x6000>;
+
+		nvmem-cells = <&eth1_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 = <&ethernet_phy1>;
+
+		ethernet_phy1: ethernet-phy@4 {
+			compatible = "ethernet-phy-ieee802.3-c45";
+			reg = <4>;
+			devices = <0xa>;
+		};
+	};