Hi all,
This patch series converts the Smart Mixed-Signal Connectivity (SMSC)
LAN911x/912x Controller Device Tree binding documentation to
json-schema, after fixing a few issues in DTS files.
Thanks for your comments!
Geert Uytterhoeven (5):
ARM: dts: i.MX51: digi-connectcore-som: Correct Ethernet node name
ARM: dts: imx53-ard: Correct Ethernet node name
ARM: dts: qcom-apq8060: Correct Ethernet node name and drop bogus irq
property
MIPS: SEAD3: Correct Ethernet node name
dt-bindings: net: sms911x: Convert to json-schema
.../devicetree/bindings/net/gpmc-eth.txt | 2 +-
.../devicetree/bindings/net/smsc,lan9115.yaml | 107 ++++++++++++++++++
.../devicetree/bindings/net/smsc911x.txt | 43 -------
.../boot/dts/imx51-digi-connectcore-som.dtsi | 2 +-
arch/arm/boot/dts/imx53-ard.dts | 2 +-
.../arm/boot/dts/qcom-apq8060-dragonboard.dts | 4 +-
arch/mips/boot/dts/mti/sead3.dts | 2 +-
7 files changed, 112 insertions(+), 50 deletions(-)
create mode 100644 Documentation/devicetree/bindings/net/smsc,lan9115.yaml
delete mode 100644 Documentation/devicetree/bindings/net/smsc911x.txt
--
2.25.1
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
Convert the Smart Mixed-Signal Connectivity (SMSC) LAN911x/912x
Controller Device Tree binding documentation to json-schema.
Document missing properties.
Make "phy-mode" not required, as many DTS files do not have it, and the
Linux drivers falls back to PHY_INTERFACE_MODE_NA.
Correct nodename in example.
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
---
I have listed Shawn as the maintainer, as he wrote the original
bindings. Shawn: Please scream if this is inappropriate ;-)
I left "additionalProperties: true", as there are lots of bus-specific
properties ("qcom,*", "samsung,*", "fsl,*", "gpmc,*", ...) to be found,
that actually depend on the compatible value of the parent node.
---
.../devicetree/bindings/net/gpmc-eth.txt | 2 +-
.../devicetree/bindings/net/smsc,lan9115.yaml | 107 ++++++++++++++++++
.../devicetree/bindings/net/smsc911x.txt | 43 -------
3 files changed, 108 insertions(+), 44 deletions(-)
create mode 100644 Documentation/devicetree/bindings/net/smsc,lan9115.yaml
delete mode 100644 Documentation/devicetree/bindings/net/smsc911x.txt
@@ -13,7 +13,7 @@ Documentation/devicetree/bindings/memory-controllers/omap-gpmc.txt For the properties relevant to the ethernet controller connected to the GPMC refer to the binding documentation of the device. For example, the documentation-for the SMSC 911x is Documentation/devicetree/bindings/net/smsc911x.txt+for the SMSC 911x is Documentation/devicetree/bindings/net/smsc,lan9115.yaml Child nodes need to specify the GPMC bus address width using the "bank-width" property but is possible that an ethernet controller also has a property to
@@ -0,0 +1,107 @@+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)+%YAML1.2+---+$id:http://devicetree.org/schemas/net/smsc,lan9115.yaml#+$schema:http://devicetree.org/meta-schemas/core.yaml#++title:Smart Mixed-Signal Connectivity (SMSC) LAN911x/912x Controller++maintainers:+-Shawn Guo <shawnguo@kernel.org>++allOf:+-$ref:ethernet-controller.yaml#++properties:+compatible:+oneOf:+-const:smsc,lan9115+-items:+-enum:+-"smsc,lan89218"+-"smsc,lan9117"+-"smsc,lan9118"+-"smsc,lan9220"+-"smsc,lan9221"+-const:smsc,lan9115++reg:+maxItems:1++reg-shift:true++reg-io-width:+enum:[2,4]+default:2++interrupts:+minItems:1+items:+-description:+LAN interrupt line+-description:+Optional PME (power management event) interrupt that is able to wake+up the host system with a 50ms pulse on network activity++clocks:+maxItems:1++phy-mode:true++smsc,irq-active-high:+type:boolean+description:Indicates the IRQ polarity is active-high++smsc,irq-push-pull:+type:boolean+description:Indicates the IRQ type is push-pull++smsc,force-internal-phy:+type:boolean+description:Forces SMSC LAN controller to use internal PHY++smsc,force-external-phy:+type:boolean+description:Forces SMSC LAN controller to use external PHY++smsc,save-mac-address:+type:boolean+description:+Indicates that MAC address needs to be saved before resetting the+controller++reset-gpios:+maxItems:1+description:+A GPIO line connected to the RESET (active low) signal of the device.+On many systems this is wired high so the device goes out of reset at+power-on, but if it is under program control, this optional GPIO can+wake up in response to it.++vdd33a-supply:+description:3.3V analog power supply++vddvario-supply:+description:IO logic power supply++required:+-compatible+-reg+-interrupts++additionalProperties:true++examples:+-|+#include <dt-bindings/gpio/gpio.h>++ethernet@f4000000 {+compatible = "smsc,lan9220", "smsc,lan9115";+reg = <0xf4000000 0x2000000>;+phy-mode = "mii";+interrupt-parent = <&gpio1>;+interrupts = <31>, <32>;+reset-gpios = <&gpio1 30 GPIO_ACTIVE_LOW>;+reg-io-width = <4>;+smsc,irq-push-pull;+};
@@ -1,43 +0,0 @@-* Smart Mixed-Signal Connectivity (SMSC) LAN911x/912x Controller--Required properties:-- compatible : Should be "smsc,lan<model>", "smsc,lan9115"-- reg : Address and length of the io space for SMSC LAN-- interrupts : one or two interrupt specifiers- - The first interrupt is the SMSC LAN interrupt line- - The second interrupt (if present) is the PME (power- management event) interrupt that is able to wake up the host- system with a 50ms pulse on network activity-- phy-mode : See ethernet.txt file in the same directory--Optional properties:-- reg-shift : Specify the quantity to shift the register offsets by-- reg-io-width : Specify the size (in bytes) of the IO accesses that- should be performed on the device. Valid value for SMSC LAN is- 2 or 4. If it's omitted or invalid, the size would be 2.-- smsc,irq-active-high : Indicates the IRQ polarity is active-high-- smsc,irq-push-pull : Indicates the IRQ type is push-pull-- smsc,force-internal-phy : Forces SMSC LAN controller to use- internal PHY-- smsc,force-external-phy : Forces SMSC LAN controller to use- external PHY-- smsc,save-mac-address : Indicates that mac address needs to be saved- before resetting the controller-- reset-gpios : a GPIO line connected to the RESET (active low) signal- of the device. On many systems this is wired high so the device goes- out of reset at power-on, but if it is under program control, this- optional GPIO can wake up in response to it.-- vdd33a-supply, vddvario-supply : 3.3V analog and IO logic power supplies--Examples:--lan9220@f4000000 {- compatible = "smsc,lan9220", "smsc,lan9115";- reg = <0xf4000000 0x2000000>;- phy-mode = "mii";- interrupt-parent = <&gpio1>;- interrupts = <31>, <32>;- reset-gpios = <&gpio1 30 GPIO_ACTIVE_LOW>;- reg-io-width = <4>;- smsc,irq-push-pull;-};
make dtbs_check:
ethernet-ebi2@2,0: $nodename:0: 'ethernet-ebi2@2,0' does not match '^ethernet(@.*)?$'
ethernet-ebi2@2,0: 'smsc,irq-active-low' does not match any of the regexes: 'pinctrl-[0-9]+'
There is no "smsc,irq-active-low" property, as active low is the
default.
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
---
arch/arm/boot/dts/qcom-apq8060-dragonboard.dts | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
From: Thomas Bogendoerfer <tsbogend@alpha.franken.de> Date: 2021-05-20 15:08:31
On Thu, May 20, 2021 at 03:58:38PM +0200, Geert Uytterhoeven wrote:
make dtbs_check:
eth@1f010000: $nodename:0: 'eth@1f010000' does not match '^ethernet(@.*)?$'
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
---
arch/mips/boot/dts/mti/sead3.dts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Acked-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
--
Crap can work. Given enough thrust pigs will fly, but it's not necessarily a
good idea. [ RFC1925, 2.3 ]
From: Rob Herring <robh@kernel.org> Date: 2021-05-20 19:56:13
On Thu, May 20, 2021 at 03:58:39PM +0200, Geert Uytterhoeven wrote:
Convert the Smart Mixed-Signal Connectivity (SMSC) LAN911x/912x
Controller Device Tree binding documentation to json-schema.
Document missing properties.
Make "phy-mode" not required, as many DTS files do not have it, and the
Linux drivers falls back to PHY_INTERFACE_MODE_NA.
Correct nodename in example.
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
---
I have listed Shawn as the maintainer, as he wrote the original
bindings. Shawn: Please scream if this is inappropriate ;-)
I left "additionalProperties: true", as there are lots of bus-specific
properties ("qcom,*", "samsung,*", "fsl,*", "gpmc,*", ...) to be found,
that actually depend on the compatible value of the parent node.
Can you put a comment above additionalProperties to that effect. I need
to come up with some solution for this, but don't want folks copying
that when normally not needed.
@@ -13,7 +13,7 @@ Documentation/devicetree/bindings/memory-controllers/omap-gpmc.txt For the properties relevant to the ethernet controller connected to the GPMC refer to the binding documentation of the device. For example, the documentation-for the SMSC 911x is Documentation/devicetree/bindings/net/smsc911x.txt+for the SMSC 911x is Documentation/devicetree/bindings/net/smsc,lan9115.yaml Child nodes need to specify the GPMC bus address width using the "bank-width" property but is possible that an ethernet controller also has a property to
+ - const: smsc,lan9115
+
+ reg:
+ maxItems: 1
+
+ reg-shift: true
+
+ reg-io-width:
+ enum: [ 2, 4 ]
+ default: 2
+
+ interrupts:
+ minItems: 1
+ items:
+ - description:
+ LAN interrupt line
+ - description:
+ Optional PME (power management event) interrupt that is able to wake
+ up the host system with a 50ms pulse on network activity
+
+ clocks:
+ maxItems: 1
+
+ phy-mode: true
+
+ smsc,irq-active-high:
+ type: boolean
+ description: Indicates the IRQ polarity is active-high
+
+ smsc,irq-push-pull:
+ type: boolean
+ description: Indicates the IRQ type is push-pull
+
+ smsc,force-internal-phy:
+ type: boolean
+ description: Forces SMSC LAN controller to use internal PHY
+
+ smsc,force-external-phy:
+ type: boolean
+ description: Forces SMSC LAN controller to use external PHY
+
+ smsc,save-mac-address:
+ type: boolean
+ description:
+ Indicates that MAC address needs to be saved before resetting the
+ controller
+
+ reset-gpios:
+ maxItems: 1
+ description:
+ A GPIO line connected to the RESET (active low) signal of the device.
+ On many systems this is wired high so the device goes out of reset at
+ power-on, but if it is under program control, this optional GPIO can
+ wake up in response to it.
+
+ vdd33a-supply:
+ description: 3.3V analog power supply
+
+ vddvario-supply:
+ description: IO logic power supply
+
+required:
+ - compatible
+ - reg
+ - interrupts
+
+additionalProperties: true
+
+examples:
+ - |
+ #include <dt-bindings/gpio/gpio.h>
+
+ ethernet@f4000000 {
+ compatible = "smsc,lan9220", "smsc,lan9115";
+ reg = <0xf4000000 0x2000000>;
+ phy-mode = "mii";
+ interrupt-parent = <&gpio1>;
+ interrupts = <31>, <32>;
+ reset-gpios = <&gpio1 30 GPIO_ACTIVE_LOW>;
+ reg-io-width = <4>;
+ smsc,irq-push-pull;
+ };
@@ -1,43 +0,0 @@-* Smart Mixed-Signal Connectivity (SMSC) LAN911x/912x Controller--Required properties:-- compatible : Should be "smsc,lan<model>", "smsc,lan9115"-- reg : Address and length of the io space for SMSC LAN-- interrupts : one or two interrupt specifiers- - The first interrupt is the SMSC LAN interrupt line- - The second interrupt (if present) is the PME (power- management event) interrupt that is able to wake up the host- system with a 50ms pulse on network activity-- phy-mode : See ethernet.txt file in the same directory--Optional properties:-- reg-shift : Specify the quantity to shift the register offsets by-- reg-io-width : Specify the size (in bytes) of the IO accesses that- should be performed on the device. Valid value for SMSC LAN is- 2 or 4. If it's omitted or invalid, the size would be 2.-- smsc,irq-active-high : Indicates the IRQ polarity is active-high-- smsc,irq-push-pull : Indicates the IRQ type is push-pull-- smsc,force-internal-phy : Forces SMSC LAN controller to use- internal PHY-- smsc,force-external-phy : Forces SMSC LAN controller to use- external PHY-- smsc,save-mac-address : Indicates that mac address needs to be saved- before resetting the controller-- reset-gpios : a GPIO line connected to the RESET (active low) signal- of the device. On many systems this is wired high so the device goes- out of reset at power-on, but if it is under program control, this- optional GPIO can wake up in response to it.-- vdd33a-supply, vddvario-supply : 3.3V analog and IO logic power supplies--Examples:--lan9220@f4000000 {- compatible = "smsc,lan9220", "smsc,lan9115";- reg = <0xf4000000 0x2000000>;- phy-mode = "mii";- interrupt-parent = <&gpio1>;- interrupts = <31>, <32>;- reset-gpios = <&gpio1 30 GPIO_ACTIVE_LOW>;- reg-io-width = <4>;- smsc,irq-push-pull;-};
On Thu, May 20, 2021 at 3:58 PM Geert Uytterhoeven
[off-list ref] wrote:
make dtbs_check:
ethernet-ebi2@2,0: $nodename:0: 'ethernet-ebi2@2,0' does not match '^ethernet(@.*)?$'
ethernet-ebi2@2,0: 'smsc,irq-active-low' does not match any of the regexes: 'pinctrl-[0-9]+'
There is no "smsc,irq-active-low" property, as active low is the
default.
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Linus Walleij <redacted>
I think Bjorn Andersson has to apply this patch.
Yours,
Linus Walleij
On Thu, May 20, 2021 at 03:58:36PM +0200, Geert Uytterhoeven wrote:
make dtbs_check:
lan9220@f4000000: $nodename:0: 'lan9220@f4000000' does not match '^ethernet(@.*)?$'
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Hi Thomas,
On Thu, May 20, 2021 at 5:08 PM Thomas Bogendoerfer
[off-list ref] wrote:
On Thu, May 20, 2021 at 03:58:38PM +0200, Geert Uytterhoeven wrote:
quoted
make dtbs_check:
eth@1f010000: $nodename:0: 'eth@1f010000' does not match '^ethernet(@.*)?$'
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
---
arch/mips/boot/dts/mti/sead3.dts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Acked-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Can you please take this through the MIPS tree?
Thanks!
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds