* [PATCH net-next] dt-bindings: net: xilinx: document xilinx emaclite driver binding
@ 2022-05-20 7:24 Radhey Shyam Pandey
2022-05-21 15:43 ` Krzysztof Kozlowski
0 siblings, 1 reply; 6+ messages in thread
From: Radhey Shyam Pandey @ 2022-05-20 7:24 UTC (permalink / raw)
To: davem, edumazet, kuba, pabeni, robh+dt, krzysztof.kozlowski+dt,
harini.katakam, michal.simek
Cc: netdev, devicetree, linux-kernel, git, Radhey Shyam Pandey
Add basic description for the xilinx emaclite driver DT bindings.
Signed-off-by: Radhey Shyam Pandey <radhey.shyam.pandey@amd.com>
---
Changes since RFC:
- Add ethernet-controller yaml reference.
- 4 space indent for DTS example.
---
.../bindings/net/xlnx,emaclite.yaml | 63 +++++++++++++++++++
1 file changed, 63 insertions(+)
create mode 100644 Documentation/devicetree/bindings/net/xlnx,emaclite.yaml
diff --git a/Documentation/devicetree/bindings/net/xlnx,emaclite.yaml b/Documentation/devicetree/bindings/net/xlnx,emaclite.yaml
new file mode 100644
index 000000000000..6105122ad583
--- /dev/null
+++ b/Documentation/devicetree/bindings/net/xlnx,emaclite.yaml
@@ -0,0 +1,63 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/net/xlnx,emaclite.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Xilinx Emaclite Ethernet controller
+
+allOf:
+ - $ref: ethernet-controller.yaml#
+
+maintainers:
+ - Radhey Shyam Pandey <radhey.shyam.pandey@amd.com>
+ - Harini Katakam <harini.katakam@amd.com>
+
+properties:
+ compatible:
+ enum:
+ - xlnx,opb-ethernetlite-1.01.a
+ - xlnx,opb-ethernetlite-1.01.b
+ - xlnx,xps-ethernetlite-1.00.a
+ - xlnx,xps-ethernetlite-2.00.a
+ - xlnx,xps-ethernetlite-2.01.a
+ - xlnx,xps-ethernetlite-3.00.a
+
+ reg:
+ maxItems: 1
+
+ interrupts:
+ maxItems: 1
+
+ phy-handle: true
+
+ local-mac-address: true
+
+ xlnx,tx-ping-pong:
+ type: boolean
+ description: hardware supports tx ping pong buffer.
+
+ xlnx,rx-ping-pong:
+ type: boolean
+ description: hardware supports rx ping pong buffer.
+
+required:
+ - compatible
+ - reg
+ - interrupts
+ - phy-handle
+
+additionalProperties: false
+
+examples:
+ - |
+ axi_ethernetlite_1: ethernet@40e00000 {
+ compatible = "xlnx,xps-ethernetlite-3.00.a";
+ interrupt-parent = <&axi_intc_1>;
+ interrupts = <1 0>;
+ local-mac-address = [00 0a 35 00 00 00];
+ phy-handle = <&phy0>;
+ reg = <0x40e00000 0x10000>;
+ xlnx,rx-ping-pong;
+ xlnx,tx-ping-pong;
+ };
--
2.25.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH net-next] dt-bindings: net: xilinx: document xilinx emaclite driver binding
2022-05-20 7:24 [PATCH net-next] dt-bindings: net: xilinx: document xilinx emaclite driver binding Radhey Shyam Pandey
@ 2022-05-21 15:43 ` Krzysztof Kozlowski
2022-05-30 13:21 ` Radhey Shyam Pandey
0 siblings, 1 reply; 6+ messages in thread
From: Krzysztof Kozlowski @ 2022-05-21 15:43 UTC (permalink / raw)
To: Radhey Shyam Pandey, davem, edumazet, kuba, pabeni, robh+dt,
krzysztof.kozlowski+dt, harini.katakam, michal.simek
Cc: netdev, devicetree, linux-kernel, git
On 20/05/2022 09:24, Radhey Shyam Pandey wrote:
> Add basic description for the xilinx emaclite driver DT bindings.
>
> Signed-off-by: Radhey Shyam Pandey <radhey.shyam.pandey@amd.com>
> ---
> Changes since RFC:
> - Add ethernet-controller yaml reference.
> - 4 space indent for DTS example.
> ---
> .../bindings/net/xlnx,emaclite.yaml | 63 +++++++++++++++++++
> 1 file changed, 63 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/net/xlnx,emaclite.yaml
>
> diff --git a/Documentation/devicetree/bindings/net/xlnx,emaclite.yaml b/Documentation/devicetree/bindings/net/xlnx,emaclite.yaml
> new file mode 100644
> index 000000000000..6105122ad583
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/net/xlnx,emaclite.yaml
> @@ -0,0 +1,63 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/net/xlnx,emaclite.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Xilinx Emaclite Ethernet controller
> +
> +allOf:
> + - $ref: ethernet-controller.yaml#
This goes just before properties (so after maintainers).
> +
> +maintainers:
> + - Radhey Shyam Pandey <radhey.shyam.pandey@amd.com>
> + - Harini Katakam <harini.katakam@amd.com>
> +
> +properties:
> + compatible:
> + enum:
> + - xlnx,opb-ethernetlite-1.01.a
> + - xlnx,opb-ethernetlite-1.01.b
> + - xlnx,xps-ethernetlite-1.00.a
> + - xlnx,xps-ethernetlite-2.00.a
> + - xlnx,xps-ethernetlite-2.01.a
> + - xlnx,xps-ethernetlite-3.00.a
> +
> + reg:
> + maxItems: 1
> +
> + interrupts:
> + maxItems: 1
> +
> + phy-handle: true
> +
> + local-mac-address: true
> +
> + xlnx,tx-ping-pong:
> + type: boolean
> + description: hardware supports tx ping pong buffer.
> +
> + xlnx,rx-ping-pong:
> + type: boolean
> + description: hardware supports rx ping pong buffer.
> +
> +required:
> + - compatible
> + - reg
> + - interrupts
> + - phy-handle
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + axi_ethernetlite_1: ethernet@40e00000 {
> + compatible = "xlnx,xps-ethernetlite-3.00.a";
> + interrupt-parent = <&axi_intc_1>;
> + interrupts = <1 0>;
Is "0" an interrupt none type? If yes, then this should be rather a
define and a proper type, not none.
> + local-mac-address = [00 0a 35 00 00 00];
Each device should get it's own MAC address, right? I understand you
leave it for bootloader, then just fill it with 0.
> + phy-handle = <&phy0>;
> + reg = <0x40e00000 0x10000>;
Put the reg after compatible in DTS code.
> + xlnx,rx-ping-pong;
> + xlnx,tx-ping-pong;
> + };
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 6+ messages in thread
* RE: [PATCH net-next] dt-bindings: net: xilinx: document xilinx emaclite driver binding
2022-05-21 15:43 ` Krzysztof Kozlowski
@ 2022-05-30 13:21 ` Radhey Shyam Pandey
2022-05-30 19:09 ` Krzysztof Kozlowski
0 siblings, 1 reply; 6+ messages in thread
From: Radhey Shyam Pandey @ 2022-05-30 13:21 UTC (permalink / raw)
To: Krzysztof Kozlowski, Radhey Shyam Pandey, davem, edumazet, kuba,
pabeni, robh+dt, krzysztof.kozlowski+dt, harini.katakam,
michal.simek
Cc: netdev, devicetree, linux-kernel, git
> -----Original Message-----
> From: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
> Sent: Saturday, May 21, 2022 9:14 PM
> To: Radhey Shyam Pandey <radhey.shyam.pandey@amd.com>;
> davem@davemloft.net; edumazet@google.com; kuba@kernel.org;
> pabeni@redhat.com; robh+dt@kernel.org; krzysztof.kozlowski+dt@linaro.org;
> harini.katakam@amd.com; michal.simek@amd.com
> Cc: netdev@vger.kernel.org; devicetree@vger.kernel.org; linux-
> kernel@vger.kernel.org; git@amd.com
> Subject: Re: [PATCH net-next] dt-bindings: net: xilinx: document xilinx emaclite
> driver binding
>
>
> On 20/05/2022 09:24, Radhey Shyam Pandey wrote:
> > Add basic description for the xilinx emaclite driver DT bindings.
> >
> > Signed-off-by: Radhey Shyam Pandey <radhey.shyam.pandey@amd.com>
> > ---
> > Changes since RFC:
> > - Add ethernet-controller yaml reference.
> > - 4 space indent for DTS example.
> > ---
> > .../bindings/net/xlnx,emaclite.yaml | 63 +++++++++++++++++++
> > 1 file changed, 63 insertions(+)
> > create mode 100644
> Documentation/devicetree/bindings/net/xlnx,emaclite.yaml
> >
> > diff --git a/Documentation/devicetree/bindings/net/xlnx,emaclite.yaml
> b/Documentation/devicetree/bindings/net/xlnx,emaclite.yaml
> > new file mode 100644
> > index 000000000000..6105122ad583
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/net/xlnx,emaclite.yaml
> > @@ -0,0 +1,63 @@
> > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> > +%YAML 1.2
> > +---
> > +$id: http://devicetree.org/schemas/net/xlnx,emaclite.yaml#
> > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > +
> > +title: Xilinx Emaclite Ethernet controller
> > +
> > +allOf:
> > + - $ref: ethernet-controller.yaml#
>
> This goes just before properties (so after maintainers).
Ok . sure will fix in v2.
>
> > +
> > +maintainers:
> > + - Radhey Shyam Pandey <radhey.shyam.pandey@amd.com>
> > + - Harini Katakam <harini.katakam@amd.com>
> > +
> > +properties:
> > + compatible:
> > + enum:
> > + - xlnx,opb-ethernetlite-1.01.a
> > + - xlnx,opb-ethernetlite-1.01.b
> > + - xlnx,xps-ethernetlite-1.00.a
> > + - xlnx,xps-ethernetlite-2.00.a
> > + - xlnx,xps-ethernetlite-2.01.a
> > + - xlnx,xps-ethernetlite-3.00.a
> > +
> > + reg:
> > + maxItems: 1
> > +
> > + interrupts:
> > + maxItems: 1
> > +
> > + phy-handle: true
> > +
> > + local-mac-address: true
> > +
> > + xlnx,tx-ping-pong:
> > + type: boolean
> > + description: hardware supports tx ping pong buffer.
> > +
> > + xlnx,rx-ping-pong:
> > + type: boolean
> > + description: hardware supports rx ping pong buffer.
> > +
> > +required:
> > + - compatible
> > + - reg
> > + - interrupts
> > + - phy-handle
> > +
> > +additionalProperties: false
> > +
> > +examples:
> > + - |
> > + axi_ethernetlite_1: ethernet@40e00000 {
> > + compatible = "xlnx,xps-ethernetlite-3.00.a";
> > + interrupt-parent = <&axi_intc_1>;
> > + interrupts = <1 0>;
>
> Is "0" an interrupt none type? If yes, then this should be rather a
> define and a proper type, not none.
I looked at axi intc driver and it seems second cell in unused here.
For interrupt type level/edge , interrupt controller has separate
binding "xlnx,kind-of-intr". So will remove the unused cell.
+ interrupts = <1>;
>
> > + local-mac-address = [00 0a 35 00 00 00];
>
> Each device should get it's own MAC address, right? I understand you
> leave it for bootloader, then just fill it with 0.
The emaclite driver uses of_get_ethdev_address() to get mac from DT.
i.e 'local-mac-address' if present in DT it will be read and this MAC
address is programmed in the MAC core. So I think it's ok to have a
user defined mac-address (instead of 0s) here in DT example?
>
> > + phy-handle = <&phy0>;
> > + reg = <0x40e00000 0x10000>;
>
> Put the reg after compatible in DTS code.
Ok, sure will fix it in v2.
>
> > + xlnx,rx-ping-pong;
> > + xlnx,tx-ping-pong;
> > + };
>
>
> Best regards,
> Krzysztof
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH net-next] dt-bindings: net: xilinx: document xilinx emaclite driver binding
2022-05-30 13:21 ` Radhey Shyam Pandey
@ 2022-05-30 19:09 ` Krzysztof Kozlowski
2022-05-31 18:19 ` Radhey Shyam Pandey
0 siblings, 1 reply; 6+ messages in thread
From: Krzysztof Kozlowski @ 2022-05-30 19:09 UTC (permalink / raw)
To: Radhey Shyam Pandey, Radhey Shyam Pandey, davem, edumazet, kuba,
pabeni, robh+dt, krzysztof.kozlowski+dt, harini.katakam,
michal.simek
Cc: netdev, devicetree, linux-kernel, git
On 30/05/2022 15:21, Radhey Shyam Pandey wrote:
>>
>>> + local-mac-address = [00 0a 35 00 00 00];
>>
>> Each device should get it's own MAC address, right? I understand you
>> leave it for bootloader, then just fill it with 0.
>
> The emaclite driver uses of_get_ethdev_address() to get mac from DT.
> i.e 'local-mac-address' if present in DT it will be read and this MAC
> address is programmed in the MAC core. So I think it's ok to have a
> user defined mac-address (instead of 0s) here in DT example?
And you want to program the same MAC address in every device in the
world? How would that work?
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 6+ messages in thread
* RE: [PATCH net-next] dt-bindings: net: xilinx: document xilinx emaclite driver binding
2022-05-30 19:09 ` Krzysztof Kozlowski
@ 2022-05-31 18:19 ` Radhey Shyam Pandey
2022-05-31 20:09 ` Krzysztof Kozlowski
0 siblings, 1 reply; 6+ messages in thread
From: Radhey Shyam Pandey @ 2022-05-31 18:19 UTC (permalink / raw)
To: Krzysztof Kozlowski, Radhey Shyam Pandey, davem, edumazet, kuba,
pabeni, robh+dt, krzysztof.kozlowski+dt, harini.katakam,
michal.simek
Cc: netdev, devicetree, linux-kernel, git
> -----Original Message-----
> From: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
> Sent: Tuesday, May 31, 2022 12:40 AM
> To: Radhey Shyam Pandey <radheys@xilinx.com>; Radhey Shyam Pandey
> <radhey.shyam.pandey@amd.com>; davem@davemloft.net;
> edumazet@google.com; kuba@kernel.org; pabeni@redhat.com;
> robh+dt@kernel.org; krzysztof.kozlowski+dt@linaro.org;
> harini.katakam@amd.com; michal.simek@amd.com
> Cc: netdev@vger.kernel.org; devicetree@vger.kernel.org; linux-
> kernel@vger.kernel.org; git@amd.com
> Subject: Re: [PATCH net-next] dt-bindings: net: xilinx: document xilinx emaclite
> driver binding
>
> On 30/05/2022 15:21, Radhey Shyam Pandey wrote:
> >>
> >>> + local-mac-address = [00 0a 35 00 00 00];
> >>
> >> Each device should get it's own MAC address, right? I understand you
> >> leave it for bootloader, then just fill it with 0.
> >
> > The emaclite driver uses of_get_ethdev_address() to get mac from DT.
> > i.e 'local-mac-address' if present in DT it will be read and this MAC
> > address is programmed in the MAC core. So I think it's ok to have a
> > user defined mac-address (instead of 0s) here in DT example?
>
> And you want to program the same MAC address in every device in the world?
> How would that work?
I agree, for most of practical usecases mac address will be set by bootloader[1].
But just thinking for usecases where uboot can't read from non-volatile memory
user are still provided with option to set local-mac-address in DT and let linux
also configures it? Also see this in couple of other networking driver examples.
cdns,macb.yaml: local-mac-address: true
cdns,macb.yaml: local-mac-address = [3a 0e 03 04 05 06];
brcm,systemport.yaml: local-mac-address = [ 00 11 22 33 44 55 ];
In emaclite yaml - as it an example I will set it mac-address to 0 to align
with common usecase. local-mac-address = [00 00 00 00 00 00]
[1]: https://support.xilinx.com/s/article/53476
>
>
>
> Best regards,
> Krzysztof
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH net-next] dt-bindings: net: xilinx: document xilinx emaclite driver binding
2022-05-31 18:19 ` Radhey Shyam Pandey
@ 2022-05-31 20:09 ` Krzysztof Kozlowski
0 siblings, 0 replies; 6+ messages in thread
From: Krzysztof Kozlowski @ 2022-05-31 20:09 UTC (permalink / raw)
To: Radhey Shyam Pandey, Radhey Shyam Pandey, davem, edumazet, kuba,
pabeni, robh+dt, krzysztof.kozlowski+dt, harini.katakam,
michal.simek
Cc: netdev, devicetree, linux-kernel, git
On 31/05/2022 20:19, Radhey Shyam Pandey wrote:
>> -----Original Message-----
>> From: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
>> Sent: Tuesday, May 31, 2022 12:40 AM
>> To: Radhey Shyam Pandey <radheys@xilinx.com>; Radhey Shyam Pandey
>> <radhey.shyam.pandey@amd.com>; davem@davemloft.net;
>> edumazet@google.com; kuba@kernel.org; pabeni@redhat.com;
>> robh+dt@kernel.org; krzysztof.kozlowski+dt@linaro.org;
>> harini.katakam@amd.com; michal.simek@amd.com
>> Cc: netdev@vger.kernel.org; devicetree@vger.kernel.org; linux-
>> kernel@vger.kernel.org; git@amd.com
>> Subject: Re: [PATCH net-next] dt-bindings: net: xilinx: document xilinx emaclite
>> driver binding
>>
>> On 30/05/2022 15:21, Radhey Shyam Pandey wrote:
>>>>
>>>>> + local-mac-address = [00 0a 35 00 00 00];
>>>>
>>>> Each device should get it's own MAC address, right? I understand you
>>>> leave it for bootloader, then just fill it with 0.
>>>
>>> The emaclite driver uses of_get_ethdev_address() to get mac from DT.
>>> i.e 'local-mac-address' if present in DT it will be read and this MAC
>>> address is programmed in the MAC core. So I think it's ok to have a
>>> user defined mac-address (instead of 0s) here in DT example?
>>
>> And you want to program the same MAC address in every device in the world?
>> How would that work?
>
> I agree, for most of practical usecases mac address will be set by bootloader[1].
> But just thinking for usecases where uboot can't read from non-volatile memory
> user are still provided with option to set local-mac-address in DT and let linux
> also configures it? Also see this in couple of other networking driver examples.
Which is not necessarily correct approach
>
> cdns,macb.yaml: local-mac-address: true
> cdns,macb.yaml: local-mac-address = [3a 0e 03 04 05 06];
> brcm,systemport.yaml: local-mac-address = [ 00 11 22 33 44 55 ];
This brcm looks like an invalid MAC, so could be just placeholder.
>
> In emaclite yaml - as it an example I will set it mac-address to 0 to align
> with common usecase. local-mac-address = [00 00 00 00 00 00]
>
Thanks.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2022-05-31 20:09 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-05-20 7:24 [PATCH net-next] dt-bindings: net: xilinx: document xilinx emaclite driver binding Radhey Shyam Pandey
2022-05-21 15:43 ` Krzysztof Kozlowski
2022-05-30 13:21 ` Radhey Shyam Pandey
2022-05-30 19:09 ` Krzysztof Kozlowski
2022-05-31 18:19 ` Radhey Shyam Pandey
2022-05-31 20:09 ` Krzysztof Kozlowski
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.