Re: [PATCH v2] dt-bindings: net: dsa: microchip: add bit-banged SMI example

From: Krzysztof Kozlowski
Date: Mon Jun 02 2025 - 15:53:34 EST


On 02/06/2025 19:04, 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.

So the difference is in one property? Or no difference at all...

>
> Signed-off-by: Corentin Guillevic <corentin.guillevic@xxxxxxxx>
> ---
> Changes in v2:
> - Fix dt_binding_check errors
>
> .../bindings/net/dsa/microchip,ksz.yaml | 59 ++++++++++++++++++-
> 1 file changed, 58 insertions(+), 1 deletion(-)
>
> diff --git a/Documentation/devicetree/bindings/net/dsa/microchip,ksz.yaml b/Documentation/devicetree/bindings/net/dsa/microchip,ksz.yaml
> index 62ca63e8a26f..33a067809ebe 100644
> --- a/Documentation/devicetree/bindings/net/dsa/microchip,ksz.yaml
> +++ b/Documentation/devicetree/bindings/net/dsa/microchip,ksz.yaml
> @@ -241,4 +241,61 @@ 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 {


Drop node, not really used.

> + phy-mode = "rmii";
> +
> + fixed-link {
> + speed = <100>;
> + full-duplex;
> + pause;
> + };
> + };
> +
> + mdio: mdio {
> + #address-cells = <1>;
> + #size-cells = <0>;

Order properties according to DTS coding style.

> + compatible = "microchip,mdio-smi0";

Not relevant. This binding describes device, not bus.

> + gpios = <&gpioc 1 GPIO_ACTIVE_HIGH>,
> + <&gpioa 2 GPIO_ACTIVE_HIGH>;

Messed indentation

> + status = "okay";

Drop status

but anyway all above is not really relevant, drop.

> +
> + switch@0 {
> + compatible = "microchip,ksz8863";
> + reg = <0>;
> + reset-gpios = <&gpioa 4 GPIO_ACTIVE_LOW>;
> + status = "okay";

Drop.

After cleanup from redundant pieces there is basically no difference.
Don't add examples which differ by compatible (or even by one property).



Best regards,
Krzysztof