* [PATCH] dt-bindings: net: dsa: microchip: add bit-banged SMI example @ 2025-05-28 20:31 Corentin Guillevic 2025-05-28 21:46 ` Rob Herring (Arm) 0 siblings, 1 reply; 3+ messages in thread From: Corentin Guillevic @ 2025-05-28 20:31 UTC (permalink / raw) To: Woojung Huh, UNGLinuxDriver, Andrew Lunn, Vladimir Oltean, David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Marek Vasut Cc: Corentin Guillevic, Woojung Huh, netdev, devicetree, linux-kernel KSZ8863 can be configured using I2C, SPI or Microchip SMI. The latter is similar to MDIO, but uses a different protocol. If the hardware doesn't support this, SMI bit banging can help. This commit adds an device tree example that uses the CONFIG_MDIO_GPIO driver for SMI bit banging. Signed-off-by: Corentin Guillevic <corentin.guillevic@smile.fr> --- .../bindings/net/dsa/microchip,ksz.yaml | 57 +++++++++++++++++++ 1 file changed, 57 insertions(+) diff --git a/Documentation/devicetree/bindings/net/dsa/microchip,ksz.yaml b/Documentation/devicetree/bindings/net/dsa/microchip,ksz.yaml index 62ca63e8a26f..6cab0100065b 100644 --- a/Documentation/devicetree/bindings/net/dsa/microchip,ksz.yaml +++ b/Documentation/devicetree/bindings/net/dsa/microchip,ksz.yaml @@ -242,3 +242,60 @@ examples: }; }; ... + # KSZ8863 with bit-banged SMI + - | + #include <dt-bindings/gpio/gpio.h> + + // Ethernet switch connected via SMI to the host, CPU port wired to eth0: + ethernet0 { + phy-mode = "rmii"; + + fixed-link { + speed = <100>; + full-duplex; + pause; + }; + }; + + mdio: mdio { + #address-cells = <1>; + #size-cells = <0>; + compatible = "microchip,mdio-smi0"; + gpios = <&gpioc 1 GPIO_ACTIVE_HIGH>, + <&gpioa 2 GPIO_ACTIVE_HIGH>; + status = "okay"; + + switch@0 { + compatible = "microchip,ksz8863"; + reg = <0>; + reset-gpios = <&gpioa 4 GPIO_ACTIVE_LOW>; + status = "okay"; + + ethernet-ports { + #address-cells = <1>; + #size-cells = <0>; + lan1: port@0 { + reg = <0>; + label = "lan1"; + phy-mode = "internal"; + }; + lan2: port@1 { + reg = <1>; + label = "lan2"; + phy-mode = "internal"; + }; + port@2 { + reg = <2>; + label = "cpu"; + ethernet = <ðernet0>; + phy-mode = "rmii"; + microchip,rmii-clk-internal; + + fixed-link { + speed = <100>; + full-duplex; + }; + }; + }; + }; + }; -- 2.49.0 ^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] dt-bindings: net: dsa: microchip: add bit-banged SMI example 2025-05-28 20:31 [PATCH] dt-bindings: net: dsa: microchip: add bit-banged SMI example Corentin Guillevic @ 2025-05-28 21:46 ` Rob Herring (Arm) 2025-06-02 17:01 ` Corentin GUILLEVIC 0 siblings, 1 reply; 3+ messages in thread From: Rob Herring (Arm) @ 2025-05-28 21:46 UTC (permalink / raw) To: Corentin Guillevic Cc: devicetree, Jakub Kicinski, netdev, David S. Miller, Andrew Lunn, Marek Vasut, Krzysztof Kozlowski, Vladimir Oltean, Woojung Huh, Conor Dooley, Woojung Huh, UNGLinuxDriver, Paolo Abeni, linux-kernel, Eric Dumazet On Wed, 28 May 2025 22:31:51 +0200, Corentin Guillevic wrote: > KSZ8863 can be configured using I2C, SPI or Microchip SMI. The latter is > similar to MDIO, but uses a different protocol. If the hardware doesn't > support this, SMI bit banging can help. This commit adds an device tree > example that uses the CONFIG_MDIO_GPIO driver for SMI bit banging. > > Signed-off-by: Corentin Guillevic <corentin.guillevic@smile.fr> > --- > .../bindings/net/dsa/microchip,ksz.yaml | 57 +++++++++++++++++++ > 1 file changed, 57 insertions(+) > My bot found errors running 'make dt_binding_check' on your patch: yamllint warnings/errors: ./Documentation/devicetree/bindings/net/dsa/microchip,ksz.yaml:246:1: [error] missing document start "---" (document-start) ./Documentation/devicetree/bindings/net/dsa/microchip,ksz.yaml:246:3: [error] syntax error: expected '<document start>', but found '<block sequence start>' (syntax) dtschema/dtc warnings/errors: /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/net/dsa/microchip,ksz.yaml: ignoring, error parsing file Traceback (most recent call last): File "/usr/bin/yamllint", line 33, in <module> sys.exit(load_entry_point('yamllint==1.29.0', 'console_scripts', 'yamllint')()) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/yamllint/cli.py", line 228, in run prob_level = show_problems(problems, file, args_format=args.format, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/yamllint/cli.py", line 113, in show_problems for problem in problems: File "/usr/lib/python3/dist-packages/yamllint/linter.py", line 200, in _run for problem in get_cosmetic_problems(buffer, conf, filepath): File "/usr/lib/python3/dist-packages/yamllint/linter.py", line 137, in get_cosmetic_problems for problem in rule.check(rule_conf, File "/usr/lib/python3/dist-packages/yamllint/rules/indentation.py", line 583, in check yield from _check(conf, token, prev, next, nextnext, context) File "/usr/lib/python3/dist-packages/yamllint/rules/indentation.py", line 344, in _check if expected < 0: ^^^^^^^^^^^^ TypeError: '<' not supported between instances of 'NoneType' and 'int' ./Documentation/devicetree/bindings/net/dsa/microchip,ksz.yaml:246:3: but found another document make[2]: *** Deleting file 'Documentation/devicetree/bindings/net/dsa/microchip,ksz.example.dts' Documentation/devicetree/bindings/net/dsa/microchip,ksz.yaml:246:3: but found another document make[2]: *** [Documentation/devicetree/bindings/Makefile:26: Documentation/devicetree/bindings/net/dsa/microchip,ksz.example.dts] Error 1 make[2]: *** Waiting for unfinished jobs.... make[1]: *** [/builds/robherring/dt-review-ci/linux/Makefile:1524: dt_binding_check] Error 2 make: *** [Makefile:248: __sub-make] Error 2 doc reference errors (make refcheckdocs): See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20250528203152.628818-1-corentin.guillevic@smile.fr The base for the series is generally the latest rc1. A different dependency should be noted in *this* patch. If you already ran 'make dt_binding_check' and didn't see the above error(s), then make sure 'yamllint' is installed and dt-schema is up to date: pip3 install dtschema --upgrade Please check and re-submit after running the above command yourself. Note that DT_SCHEMA_FILES can be set to your schema file to speed up checking your schema. However, it must be unset to test all examples with your schema. ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] dt-bindings: net: dsa: microchip: add bit-banged SMI example 2025-05-28 21:46 ` Rob Herring (Arm) @ 2025-06-02 17:01 ` Corentin GUILLEVIC 0 siblings, 0 replies; 3+ messages in thread From: Corentin GUILLEVIC @ 2025-06-02 17:01 UTC (permalink / raw) To: Rob Herring (Arm) Cc: devicetree, Jakub Kicinski, netdev, David S. Miller, Andrew Lunn, Marek Vasut, Krzysztof Kozlowski, Vladimir Oltean, Woojung Huh, Conor Dooley, UNGLinuxDriver, Paolo Abeni, linux-kernel, Eric Dumazet Le mer. 28 mai 2025 à 23:46, Rob Herring (Arm) <robh@kernel.org> a écrit : > > > On Wed, 28 May 2025 22:31:51 +0200, Corentin Guillevic wrote: > > KSZ8863 can be configured using I2C, SPI or Microchip SMI. The latter is > > similar to MDIO, but uses a different protocol. If the hardware doesn't > > support this, SMI bit banging can help. This commit adds an device tree > > example that uses the CONFIG_MDIO_GPIO driver for SMI bit banging. > > > > Signed-off-by: Corentin Guillevic <corentin.guillevic@smile.fr> > > --- > > .../bindings/net/dsa/microchip,ksz.yaml | 57 +++++++++++++++++++ > > 1 file changed, 57 insertions(+) > > > > My bot found errors running 'make dt_binding_check' on your patch: > > yamllint warnings/errors: > ./Documentation/devicetree/bindings/net/dsa/microchip,ksz.yaml:246:1: [error] missing document start "---" (document-start) > ./Documentation/devicetree/bindings/net/dsa/microchip,ksz.yaml:246:3: [error] syntax error: expected '<document start>', but found '<block sequence start>' (syntax) > > dtschema/dtc warnings/errors: > /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/net/dsa/microchip,ksz.yaml: ignoring, error parsing file > Traceback (most recent call last): > File "/usr/bin/yamllint", line 33, in <module> > sys.exit(load_entry_point('yamllint==1.29.0', 'console_scripts', 'yamllint')()) > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > File "/usr/lib/python3/dist-packages/yamllint/cli.py", line 228, in run > prob_level = show_problems(problems, file, args_format=args.format, > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > File "/usr/lib/python3/dist-packages/yamllint/cli.py", line 113, in show_problems > for problem in problems: > File "/usr/lib/python3/dist-packages/yamllint/linter.py", line 200, in _run > for problem in get_cosmetic_problems(buffer, conf, filepath): > File "/usr/lib/python3/dist-packages/yamllint/linter.py", line 137, in get_cosmetic_problems > for problem in rule.check(rule_conf, > File "/usr/lib/python3/dist-packages/yamllint/rules/indentation.py", line 583, in check > yield from _check(conf, token, prev, next, nextnext, context) > File "/usr/lib/python3/dist-packages/yamllint/rules/indentation.py", line 344, in _check > if expected < 0: > ^^^^^^^^^^^^ > TypeError: '<' not supported between instances of 'NoneType' and 'int' > ./Documentation/devicetree/bindings/net/dsa/microchip,ksz.yaml:246:3: but found another document > make[2]: *** Deleting file 'Documentation/devicetree/bindings/net/dsa/microchip,ksz.example.dts' > Documentation/devicetree/bindings/net/dsa/microchip,ksz.yaml:246:3: but found another document > make[2]: *** [Documentation/devicetree/bindings/Makefile:26: Documentation/devicetree/bindings/net/dsa/microchip,ksz.example.dts] Error 1 > make[2]: *** Waiting for unfinished jobs.... > make[1]: *** [/builds/robherring/dt-review-ci/linux/Makefile:1524: dt_binding_check] Error 2 > make: *** [Makefile:248: __sub-make] Error 2 > > doc reference errors (make refcheckdocs): > > See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20250528203152.628818-1-corentin.guillevic@smile.fr > > The base for the series is generally the latest rc1. A different dependency > should be noted in *this* patch. > > If you already ran 'make dt_binding_check' and didn't see the above > error(s), then make sure 'yamllint' is installed and dt-schema is up to > date: > > pip3 install dtschema --upgrade > > Please check and re-submit after running the above command yourself. Note > that DT_SCHEMA_FILES can be set to your schema file to speed up checking > your schema. However, it must be unset to test all examples with your schema. > Sorry,.. I send a fixed one. Regards, Corentin ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2025-06-02 17:01 UTC | newest] Thread overview: 3+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2025-05-28 20:31 [PATCH] dt-bindings: net: dsa: microchip: add bit-banged SMI example Corentin Guillevic 2025-05-28 21:46 ` Rob Herring (Arm) 2025-06-02 17:01 ` Corentin GUILLEVIC
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).