mirror of
https://github.com/torvalds/linux.git
synced 2026-07-27 09:36:22 +02:00
dt-bindings: net: dsa: Convert lan9303.txt to yaml format
Convert lan9303.txt to yaml format to fix below CHECK_DTBS warnings: arch/arm/boot/dts/nxp/imx/imx53-kp-hsc.dtb: /soc/bus@50000000/i2c@53fec000/switch@a: failed to match any schema with compatible: ['smsc,lan9303-i2c'] Additional changes: - rename switch-phy to switch in example. Reviewed-by: Rob Herring (Arm) <robh@kernel.org> Signed-off-by: Frank Li <Frank.Li@nxp.com> Link: https://patch.msgid.link/20260610150533.515914-1-Frank.Li@oss.nxp.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
43746895a5
commit
b693b51e08
|
|
@ -1,100 +0,0 @@
|
|||
SMSC/MicroChip LAN9303 three port ethernet switch
|
||||
-------------------------------------------------
|
||||
|
||||
Required properties:
|
||||
|
||||
- compatible: should be
|
||||
- "smsc,lan9303-i2c" for I2C managed mode
|
||||
or
|
||||
- "smsc,lan9303-mdio" for mdio managed mode
|
||||
|
||||
Optional properties:
|
||||
|
||||
- reset-gpios: GPIO to be used to reset the whole device
|
||||
- reset-duration: reset duration in milliseconds, defaults to 200 ms
|
||||
|
||||
Subnodes:
|
||||
|
||||
The integrated switch subnode should be specified according to the binding
|
||||
described in dsa/dsa.yaml. The CPU port of this switch is always port 0.
|
||||
|
||||
Note: always use 'reg = <0/1/2>;' for the three DSA ports, even if the device is
|
||||
configured to use 1/2/3 instead. This hardware configuration will be
|
||||
auto-detected and mapped accordingly.
|
||||
|
||||
Example:
|
||||
|
||||
I2C managed mode:
|
||||
|
||||
master: masterdevice@X {
|
||||
|
||||
fixed-link { /* RMII fixed link to LAN9303 */
|
||||
speed = <100>;
|
||||
full-duplex;
|
||||
};
|
||||
};
|
||||
|
||||
switch: switch@a {
|
||||
compatible = "smsc,lan9303-i2c";
|
||||
reg = <0xa>;
|
||||
reset-gpios = <&gpio7 6 GPIO_ACTIVE_LOW>;
|
||||
reset-duration = <200>;
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
port@0 { /* RMII fixed link to master */
|
||||
reg = <0>;
|
||||
ethernet = <&master>;
|
||||
};
|
||||
|
||||
port@1 { /* external port 1 */
|
||||
reg = <1>;
|
||||
label = "lan1";
|
||||
};
|
||||
|
||||
port@2 { /* external port 2 */
|
||||
reg = <2>;
|
||||
label = "lan2";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
MDIO managed mode:
|
||||
|
||||
master: masterdevice@X {
|
||||
phy-handle = <&switch>;
|
||||
|
||||
mdio {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
switch: switch-phy@0 {
|
||||
compatible = "smsc,lan9303-mdio";
|
||||
reg = <0>;
|
||||
reset-gpios = <&gpio7 6 GPIO_ACTIVE_LOW>;
|
||||
reset-duration = <100>;
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
ethernet = <&master>;
|
||||
};
|
||||
|
||||
port@1 { /* external port 1 */
|
||||
reg = <1>;
|
||||
label = "lan1";
|
||||
};
|
||||
|
||||
port@2 { /* external port 2 */
|
||||
reg = <2>;
|
||||
label = "lan2";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
123
Documentation/devicetree/bindings/net/dsa/smsc,lan9303.yaml
Normal file
123
Documentation/devicetree/bindings/net/dsa/smsc,lan9303.yaml
Normal file
|
|
@ -0,0 +1,123 @@
|
|||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/net/dsa/smsc,lan9303.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: SMSC/MicroChip LAN9303 three port ethernet switch
|
||||
|
||||
maintainers:
|
||||
- Frank Li <Frank.Li@nxp.com>
|
||||
|
||||
description:
|
||||
The LAN9303 is a three port ethernet switch with integrated PHYs for the
|
||||
two external ports. The third port is an RMII/MII interface to a host
|
||||
processor. The device can be managed via I2C or MDIO.
|
||||
|
||||
Note - always use 'reg = <0/1/2>;' for the three DSA ports, even if the
|
||||
device is configured to use 1/2/3 instead. This hardware configuration
|
||||
will be auto-detected and mapped accordingly.
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- smsc,lan9303-i2c
|
||||
- smsc,lan9303-mdio
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
reset-gpios:
|
||||
description:
|
||||
GPIO to be used to reset the whole device
|
||||
maxItems: 1
|
||||
|
||||
reset-duration:
|
||||
description:
|
||||
Reset duration in milliseconds
|
||||
default: 200
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
allOf:
|
||||
- $ref: dsa.yaml#
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
|
||||
/* I2C managed mode */
|
||||
i2c {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
switch@a {
|
||||
compatible = "smsc,lan9303-i2c";
|
||||
reg = <0xa>;
|
||||
reset-gpios = <&gpio7 6 GPIO_ACTIVE_LOW>;
|
||||
reset-duration = <200>;
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
label = "cpu";
|
||||
ethernet = <&master>;
|
||||
};
|
||||
|
||||
port@1 {
|
||||
reg = <1>;
|
||||
label = "lan1";
|
||||
};
|
||||
|
||||
port@2 {
|
||||
reg = <2>;
|
||||
label = "lan2";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
- |
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
|
||||
/* MDIO managed mode */
|
||||
mdio {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
switch@0 {
|
||||
compatible = "smsc,lan9303-mdio";
|
||||
reg = <0>;
|
||||
reset-gpios = <&gpio7 6 GPIO_ACTIVE_LOW>;
|
||||
reset-duration = <100>;
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
label = "cpu";
|
||||
ethernet = <&master>;
|
||||
};
|
||||
|
||||
port@1 {
|
||||
reg = <1>;
|
||||
label = "lan1";
|
||||
};
|
||||
|
||||
port@2 {
|
||||
reg = <2>;
|
||||
label = "lan2";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
@ -12,7 +12,7 @@ Driver details
|
|||
|
||||
The driver is implemented as a DSA driver, see ``Documentation/networking/dsa/dsa.rst``.
|
||||
|
||||
See ``Documentation/devicetree/bindings/net/dsa/lan9303.txt`` for device tree
|
||||
See ``Documentation/devicetree/bindings/net/dsa/smsc,lan9303.yaml`` for device tree
|
||||
binding.
|
||||
|
||||
The LAN9303 can be managed both via MDIO and I2C, both supported by this driver.
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user