diff mbox series

[net-next,v2,2/3] dt-bindings: net: dsa: realtek: add reset controller

Message ID 20231027190910.27044-3-luizluca@gmail.com
State Changes Requested, archived
Headers show
Series [net-next,v2,1/3] dt-bindings: net: dsa: realtek: reset-gpios is not required | expand

Checks

Context Check Description
robh/checkpatch success
robh/patch-applied success
robh/dt-meta-schema fail build log

Commit Message

Luiz Angelo Daros de Luca Oct. 27, 2023, 7 p.m. UTC
Realtek switches can use a reset controller instead of reset-gpios.

Signed-off-by: Luiz Angelo Daros de Luca <luizluca@gmail.com>
Cc: devicetree@vger.kernel.org
---
 .../devicetree/bindings/net/dsa/realtek.yaml  | 75 +++++++++++++++++++
 1 file changed, 75 insertions(+)

Comments

Arınç ÜNAL Oct. 28, 2023, 7:50 a.m. UTC | #1
On 27.10.2023 22:00, Luiz Angelo Daros de Luca wrote:
> Realtek switches can use a reset controller instead of reset-gpios.
> 
> Signed-off-by: Luiz Angelo Daros de Luca <luizluca@gmail.com>

Acked-by: Arınç ÜNAL <arinc.unal@arinc9.com>

Arınç
Rob Herring Oct. 30, 2023, 1:15 p.m. UTC | #2
On Fri, Oct 27, 2023 at 04:00:56PM -0300, Luiz Angelo Daros de Luca wrote:
> Realtek switches can use a reset controller instead of reset-gpios.
> 
> Signed-off-by: Luiz Angelo Daros de Luca <luizluca@gmail.com>
> Cc: devicetree@vger.kernel.org
> ---
>  .../devicetree/bindings/net/dsa/realtek.yaml  | 75 +++++++++++++++++++
>  1 file changed, 75 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/net/dsa/realtek.yaml b/Documentation/devicetree/bindings/net/dsa/realtek.yaml
> index 46e113df77c8..ef7b27c3b1a3 100644
> --- a/Documentation/devicetree/bindings/net/dsa/realtek.yaml
> +++ b/Documentation/devicetree/bindings/net/dsa/realtek.yaml
> @@ -59,6 +59,9 @@ properties:
>      description: GPIO to be used to reset the whole device
>      maxItems: 1
>  
> +  resets:
> +    maxItems: 1
> +
>    realtek,disable-leds:
>      type: boolean
>      description: |
> @@ -385,3 +388,75 @@ examples:
>                      };
>              };
>        };
> +
> +  - |
> +    #include <dt-bindings/gpio/gpio.h>
> +
> +    platform {
> +            switch {
> +                    compatible = "realtek,rtl8365mb";
> +                    mdc-gpios = <&gpio1 16 GPIO_ACTIVE_HIGH>;
> +                    mdio-gpios = <&gpio1 17 GPIO_ACTIVE_HIGH>;
> +
> +                    resets = <&rst 8>;
> +
> +                    ethernet-ports {
> +                            #address-cells = <1>;
> +                            #size-cells = <0>;
> +
> +                            ethernet-port@0 {
> +                                    reg = <0>;
> +                                    label = "wan";
> +                                    phy-handle = <&ethphy-0>;
> +                            };
> +                            ethernet-port@1 {
> +                                    reg = <1>;
> +                                    label = "lan1";
> +                                    phy-handle = <&ethphy-1>;
> +                            };
> +                            ethernet-port@2 {
> +                                    reg = <2>;
> +                                    label = "lan2";
> +                                    phy-handle = <&ethphy-2>;
> +                            };
> +                            ethernet-port@3 {
> +                                    reg = <3>;
> +                                    label = "lan3";
> +                                    phy-handle = <&ethphy-3>;
> +                            };
> +                            ethernet-port@4 {
> +                                    reg = <4>;
> +                                    label = "lan4";
> +                                    phy-handle = <&ethphy-4>;
> +                            };
> +                            ethernet-port@5 {
> +                                    reg = <5>;
> +                                    ethernet = <&eth0>;
> +                                    phy-mode = "rgmii";
> +                                    fixed-link {
> +                                            speed = <1000>;
> +                                            full-duplex;
> +                                    };
> +                            };
> +                    };
> +
> +                    mdio {
> +                            compatible = "realtek,smi-mdio";
> +                            #address-cells = <1>;
> +                            #size-cells = <0>;
> +
> +                            ethphy-0: ethernet-phy@0 {

You didn't test your binding (make dt_binding_check).

'-' is not valid in labels.


Why do we have a whole other example just for 'resets' instead of 
'reset-gpios'? That's not really worth it.

Rob
Luiz Angelo Daros de Luca Oct. 30, 2023, 10:30 p.m. UTC | #3
> On Fri, Oct 27, 2023 at 04:00:56PM -0300, Luiz Angelo Daros de Luca wrote:
> > Realtek switches can use a reset controller instead of reset-gpios.
> >
> > Signed-off-by: Luiz Angelo Daros de Luca <luizluca@gmail.com>
> > Cc: devicetree@vger.kernel.org
> > ---
> >  .../devicetree/bindings/net/dsa/realtek.yaml  | 75 +++++++++++++++++++
> >  1 file changed, 75 insertions(+)
> >
> > diff --git a/Documentation/devicetree/bindings/net/dsa/realtek.yaml b/Documentation/devicetree/bindings/net/dsa/realtek.yaml
> > index 46e113df77c8..ef7b27c3b1a3 100644
> > --- a/Documentation/devicetree/bindings/net/dsa/realtek.yaml
> > +++ b/Documentation/devicetree/bindings/net/dsa/realtek.yaml
> > @@ -59,6 +59,9 @@ properties:
> >      description: GPIO to be used to reset the whole device
> >      maxItems: 1
> >
> > +  resets:
> > +    maxItems: 1
> > +
> >    realtek,disable-leds:
> >      type: boolean
> >      description: |
> > @@ -385,3 +388,75 @@ examples:
> >                      };
> >              };
> >        };
> > +
> > +  - |
> > +    #include <dt-bindings/gpio/gpio.h>
> > +
> > +    platform {
> > +            switch {
> > +                    compatible = "realtek,rtl8365mb";
> > +                    mdc-gpios = <&gpio1 16 GPIO_ACTIVE_HIGH>;
> > +                    mdio-gpios = <&gpio1 17 GPIO_ACTIVE_HIGH>;
> > +
> > +                    resets = <&rst 8>;
> > +
> > +                    ethernet-ports {
> > +                            #address-cells = <1>;
> > +                            #size-cells = <0>;
> > +
> > +                            ethernet-port@0 {
> > +                                    reg = <0>;
> > +                                    label = "wan";
> > +                                    phy-handle = <&ethphy-0>;
> > +                            };
> > +                            ethernet-port@1 {
> > +                                    reg = <1>;
> > +                                    label = "lan1";
> > +                                    phy-handle = <&ethphy-1>;
> > +                            };
> > +                            ethernet-port@2 {
> > +                                    reg = <2>;
> > +                                    label = "lan2";
> > +                                    phy-handle = <&ethphy-2>;
> > +                            };
> > +                            ethernet-port@3 {
> > +                                    reg = <3>;
> > +                                    label = "lan3";
> > +                                    phy-handle = <&ethphy-3>;
> > +                            };
> > +                            ethernet-port@4 {
> > +                                    reg = <4>;
> > +                                    label = "lan4";
> > +                                    phy-handle = <&ethphy-4>;
> > +                            };
> > +                            ethernet-port@5 {
> > +                                    reg = <5>;
> > +                                    ethernet = <&eth0>;
> > +                                    phy-mode = "rgmii";
> > +                                    fixed-link {
> > +                                            speed = <1000>;
> > +                                            full-duplex;
> > +                                    };
> > +                            };
> > +                    };
> > +
> > +                    mdio {
> > +                            compatible = "realtek,smi-mdio";
> > +                            #address-cells = <1>;
> > +                            #size-cells = <0>;
> > +
> > +                            ethphy-0: ethernet-phy@0 {
>
> You didn't test your binding (make dt_binding_check).
>
> '-' is not valid in labels.
>

My bad. I (wrongly) fixed that in the realtek.example.dtb content,
which is derived from the realtek.yaml.
As it has a newer mtime, it was not updated with dt_binding_check.

>
> Why do we have a whole other example just for 'resets' instead of
> 'reset-gpios'? That's not really worth it.

However, as it is not worth it, I'll drop it.

> Rob
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/net/dsa/realtek.yaml b/Documentation/devicetree/bindings/net/dsa/realtek.yaml
index 46e113df77c8..ef7b27c3b1a3 100644
--- a/Documentation/devicetree/bindings/net/dsa/realtek.yaml
+++ b/Documentation/devicetree/bindings/net/dsa/realtek.yaml
@@ -59,6 +59,9 @@  properties:
     description: GPIO to be used to reset the whole device
     maxItems: 1
 
+  resets:
+    maxItems: 1
+
   realtek,disable-leds:
     type: boolean
     description: |
@@ -385,3 +388,75 @@  examples:
                     };
             };
       };
+
+  - |
+    #include <dt-bindings/gpio/gpio.h>
+
+    platform {
+            switch {
+                    compatible = "realtek,rtl8365mb";
+                    mdc-gpios = <&gpio1 16 GPIO_ACTIVE_HIGH>;
+                    mdio-gpios = <&gpio1 17 GPIO_ACTIVE_HIGH>;
+
+                    resets = <&rst 8>;
+
+                    ethernet-ports {
+                            #address-cells = <1>;
+                            #size-cells = <0>;
+
+                            ethernet-port@0 {
+                                    reg = <0>;
+                                    label = "wan";
+                                    phy-handle = <&ethphy-0>;
+                            };
+                            ethernet-port@1 {
+                                    reg = <1>;
+                                    label = "lan1";
+                                    phy-handle = <&ethphy-1>;
+                            };
+                            ethernet-port@2 {
+                                    reg = <2>;
+                                    label = "lan2";
+                                    phy-handle = <&ethphy-2>;
+                            };
+                            ethernet-port@3 {
+                                    reg = <3>;
+                                    label = "lan3";
+                                    phy-handle = <&ethphy-3>;
+                            };
+                            ethernet-port@4 {
+                                    reg = <4>;
+                                    label = "lan4";
+                                    phy-handle = <&ethphy-4>;
+                            };
+                            ethernet-port@5 {
+                                    reg = <5>;
+                                    ethernet = <&eth0>;
+                                    phy-mode = "rgmii";
+                                    fixed-link {
+                                            speed = <1000>;
+                                            full-duplex;
+                                    };
+                            };
+                    };
+
+                    mdio {
+                            compatible = "realtek,smi-mdio";
+                            #address-cells = <1>;
+                            #size-cells = <0>;
+
+                            ethphy-0: ethernet-phy@0 {
+                                    reg = <0>;
+                            };
+                            ethphy-1: ethernet-phy@1 {
+                                    reg = <1>;
+                            };
+                            ethphy-2: ethernet-phy@2 {
+                                    reg = <2>;
+                            };
+                            ethphy-3: ethernet-phy@3 {
+                                    reg = <3>;
+                            };
+                    };
+            };
+    };