Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

dt-bindings: net: Convert MDIO mux bindings to DT schema

Convert the common MDIO mux bindings to DT schema.

Drop the example from mdio-mux.yaml as mdio-mux-gpio.yaml has the same one.

Cc: "David S. Miller" <davem@davemloft.net>
Cc: Jakub Kicinski <kuba@kernel.org>
Cc: Ray Jui <rjui@broadcom.com>
Cc: Scott Branden <sbranden@broadcom.com>
Cc: bcm-kernel-feedback-list@broadcom.com
Cc: Andrew Lunn <andrew@lunn.ch>
Cc: Heiner Kallweit <hkallweit1@gmail.com>
Cc: Russell King <linux@armlinux.org.uk>
Cc: netdev@vger.kernel.org
Cc: linux-arm-kernel@lists.infradead.org
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Link: https://lore.kernel.org/r/20210526181411.2888516-1-robh@kernel.org
Signed-off-by: Rob Herring <robh@kernel.org>

+340 -406
+1 -1
Documentation/devicetree/bindings/net/brcm,mdio-mux-iproc.txt
··· 17 17 - clocks: phandle of the core clock which drives the mdio block. 18 18 19 19 Additional information regarding generic multiplexer properties can be found 20 - at- Documentation/devicetree/bindings/net/mdio-mux.txt 20 + at- Documentation/devicetree/bindings/net/mdio-mux.yaml 21 21 22 22 23 23 for example:
-119
Documentation/devicetree/bindings/net/mdio-mux-gpio.txt
··· 1 - Properties for an MDIO bus multiplexer/switch controlled by GPIO pins. 2 - 3 - This is a special case of a MDIO bus multiplexer. One or more GPIO 4 - lines are used to control which child bus is connected. 5 - 6 - Required properties in addition to the generic multiplexer properties: 7 - 8 - - compatible : mdio-mux-gpio. 9 - - gpios : GPIO specifiers for each GPIO line. One or more must be specified. 10 - 11 - 12 - Example : 13 - 14 - /* The parent MDIO bus. */ 15 - smi1: mdio@1180000001900 { 16 - compatible = "cavium,octeon-3860-mdio"; 17 - #address-cells = <1>; 18 - #size-cells = <0>; 19 - reg = <0x11800 0x00001900 0x0 0x40>; 20 - }; 21 - 22 - /* 23 - An NXP sn74cbtlv3253 dual 1-of-4 switch controlled by a 24 - pair of GPIO lines. Child busses 2 and 3 populated with 4 25 - PHYs each. 26 - */ 27 - mdio-mux { 28 - compatible = "mdio-mux-gpio"; 29 - gpios = <&gpio1 3 0>, <&gpio1 4 0>; 30 - mdio-parent-bus = <&smi1>; 31 - #address-cells = <1>; 32 - #size-cells = <0>; 33 - 34 - mdio@2 { 35 - reg = <2>; 36 - #address-cells = <1>; 37 - #size-cells = <0>; 38 - 39 - phy11: ethernet-phy@1 { 40 - reg = <1>; 41 - marvell,reg-init = <3 0x10 0 0x5777>, 42 - <3 0x11 0 0x00aa>, 43 - <3 0x12 0 0x4105>, 44 - <3 0x13 0 0x0a60>; 45 - interrupt-parent = <&gpio>; 46 - interrupts = <10 8>; /* Pin 10, active low */ 47 - }; 48 - phy12: ethernet-phy@2 { 49 - reg = <2>; 50 - marvell,reg-init = <3 0x10 0 0x5777>, 51 - <3 0x11 0 0x00aa>, 52 - <3 0x12 0 0x4105>, 53 - <3 0x13 0 0x0a60>; 54 - interrupt-parent = <&gpio>; 55 - interrupts = <10 8>; /* Pin 10, active low */ 56 - }; 57 - phy13: ethernet-phy@3 { 58 - reg = <3>; 59 - marvell,reg-init = <3 0x10 0 0x5777>, 60 - <3 0x11 0 0x00aa>, 61 - <3 0x12 0 0x4105>, 62 - <3 0x13 0 0x0a60>; 63 - interrupt-parent = <&gpio>; 64 - interrupts = <10 8>; /* Pin 10, active low */ 65 - }; 66 - phy14: ethernet-phy@4 { 67 - reg = <4>; 68 - marvell,reg-init = <3 0x10 0 0x5777>, 69 - <3 0x11 0 0x00aa>, 70 - <3 0x12 0 0x4105>, 71 - <3 0x13 0 0x0a60>; 72 - interrupt-parent = <&gpio>; 73 - interrupts = <10 8>; /* Pin 10, active low */ 74 - }; 75 - }; 76 - 77 - mdio@3 { 78 - reg = <3>; 79 - #address-cells = <1>; 80 - #size-cells = <0>; 81 - 82 - phy21: ethernet-phy@1 { 83 - reg = <1>; 84 - marvell,reg-init = <3 0x10 0 0x5777>, 85 - <3 0x11 0 0x00aa>, 86 - <3 0x12 0 0x4105>, 87 - <3 0x13 0 0x0a60>; 88 - interrupt-parent = <&gpio>; 89 - interrupts = <12 8>; /* Pin 12, active low */ 90 - }; 91 - phy22: ethernet-phy@2 { 92 - reg = <2>; 93 - marvell,reg-init = <3 0x10 0 0x5777>, 94 - <3 0x11 0 0x00aa>, 95 - <3 0x12 0 0x4105>, 96 - <3 0x13 0 0x0a60>; 97 - interrupt-parent = <&gpio>; 98 - interrupts = <12 8>; /* Pin 12, active low */ 99 - }; 100 - phy23: ethernet-phy@3 { 101 - reg = <3>; 102 - marvell,reg-init = <3 0x10 0 0x5777>, 103 - <3 0x11 0 0x00aa>, 104 - <3 0x12 0 0x4105>, 105 - <3 0x13 0 0x0a60>; 106 - interrupt-parent = <&gpio>; 107 - interrupts = <12 8>; /* Pin 12, active low */ 108 - }; 109 - phy24: ethernet-phy@4 { 110 - reg = <4>; 111 - marvell,reg-init = <3 0x10 0 0x5777>, 112 - <3 0x11 0 0x00aa>, 113 - <3 0x12 0 0x4105>, 114 - <3 0x13 0 0x0a60>; 115 - interrupt-parent = <&gpio>; 116 - interrupts = <12 8>; /* Pin 12, active low */ 117 - }; 118 - }; 119 - };
+135
Documentation/devicetree/bindings/net/mdio-mux-gpio.yaml
··· 1 + # SPDX-License-Identifier: GPL-2.0 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/net/mdio-mux-gpio.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: Properties for an MDIO bus multiplexer/switch controlled by GPIO pins. 8 + 9 + maintainers: 10 + - Andrew Lunn <andrew@lunn.ch> 11 + 12 + description: 13 + This is a special case of a MDIO bus multiplexer. One or more GPIO 14 + lines are used to control which child bus is connected. 15 + 16 + allOf: 17 + - $ref: /schemas/net/mdio-mux.yaml# 18 + 19 + properties: 20 + compatible: 21 + const: mdio-mux-gpio 22 + 23 + gpios: 24 + description: 25 + List of GPIOs used to control the multiplexer, least significant bit first. 26 + minItems: 1 27 + maxItems: 32 28 + 29 + required: 30 + - compatible 31 + - gpios 32 + 33 + unevaluatedProperties: false 34 + 35 + examples: 36 + - | 37 + /* 38 + An NXP sn74cbtlv3253 dual 1-of-4 switch controlled by a 39 + pair of GPIO lines. Child busses 2 and 3 populated with 4 40 + PHYs each. 41 + */ 42 + mdio-mux { 43 + compatible = "mdio-mux-gpio"; 44 + gpios = <&gpio1 3 0>, <&gpio1 4 0>; 45 + mdio-parent-bus = <&smi1>; 46 + #address-cells = <1>; 47 + #size-cells = <0>; 48 + 49 + mdio@2 { 50 + reg = <2>; 51 + #address-cells = <1>; 52 + #size-cells = <0>; 53 + 54 + ethernet-phy@1 { 55 + reg = <1>; 56 + marvell,reg-init = <3 0x10 0 0x5777>, 57 + <3 0x11 0 0x00aa>, 58 + <3 0x12 0 0x4105>, 59 + <3 0x13 0 0x0a60>; 60 + interrupt-parent = <&gpio>; 61 + interrupts = <10 8>; /* Pin 10, active low */ 62 + }; 63 + ethernet-phy@2 { 64 + reg = <2>; 65 + marvell,reg-init = <3 0x10 0 0x5777>, 66 + <3 0x11 0 0x00aa>, 67 + <3 0x12 0 0x4105>, 68 + <3 0x13 0 0x0a60>; 69 + interrupt-parent = <&gpio>; 70 + interrupts = <10 8>; /* Pin 10, active low */ 71 + }; 72 + ethernet-phy@3 { 73 + reg = <3>; 74 + marvell,reg-init = <3 0x10 0 0x5777>, 75 + <3 0x11 0 0x00aa>, 76 + <3 0x12 0 0x4105>, 77 + <3 0x13 0 0x0a60>; 78 + interrupt-parent = <&gpio>; 79 + interrupts = <10 8>; /* Pin 10, active low */ 80 + }; 81 + ethernet-phy@4 { 82 + reg = <4>; 83 + marvell,reg-init = <3 0x10 0 0x5777>, 84 + <3 0x11 0 0x00aa>, 85 + <3 0x12 0 0x4105>, 86 + <3 0x13 0 0x0a60>; 87 + interrupt-parent = <&gpio>; 88 + interrupts = <10 8>; /* Pin 10, active low */ 89 + }; 90 + }; 91 + 92 + mdio@3 { 93 + reg = <3>; 94 + #address-cells = <1>; 95 + #size-cells = <0>; 96 + 97 + ethernet-phy@1 { 98 + reg = <1>; 99 + marvell,reg-init = <3 0x10 0 0x5777>, 100 + <3 0x11 0 0x00aa>, 101 + <3 0x12 0 0x4105>, 102 + <3 0x13 0 0x0a60>; 103 + interrupt-parent = <&gpio>; 104 + interrupts = <12 8>; /* Pin 12, active low */ 105 + }; 106 + ethernet-phy@2 { 107 + reg = <2>; 108 + marvell,reg-init = <3 0x10 0 0x5777>, 109 + <3 0x11 0 0x00aa>, 110 + <3 0x12 0 0x4105>, 111 + <3 0x13 0 0x0a60>; 112 + interrupt-parent = <&gpio>; 113 + interrupts = <12 8>; /* Pin 12, active low */ 114 + }; 115 + ethernet-phy@3 { 116 + reg = <3>; 117 + marvell,reg-init = <3 0x10 0 0x5777>, 118 + <3 0x11 0 0x00aa>, 119 + <3 0x12 0 0x4105>, 120 + <3 0x13 0 0x0a60>; 121 + interrupt-parent = <&gpio>; 122 + interrupts = <12 8>; /* Pin 12, active low */ 123 + }; 124 + ethernet-phy@4 { 125 + reg = <4>; 126 + marvell,reg-init = <3 0x10 0 0x5777>, 127 + <3 0x11 0 0x00aa>, 128 + <3 0x12 0 0x4105>, 129 + <3 0x13 0 0x0a60>; 130 + interrupt-parent = <&gpio>; 131 + interrupts = <12 8>; /* Pin 12, active low */ 132 + }; 133 + }; 134 + }; 135 + ...
-75
Documentation/devicetree/bindings/net/mdio-mux-mmioreg.txt
··· 1 - Properties for an MDIO bus multiplexer controlled by a memory-mapped device 2 - 3 - This is a special case of a MDIO bus multiplexer. A memory-mapped device, 4 - like an FPGA, is used to control which child bus is connected. The mdio-mux 5 - node must be a child of the memory-mapped device. The driver currently only 6 - supports devices with 8, 16 or 32-bit registers. 7 - 8 - Required properties in addition to the generic multiplexer properties: 9 - 10 - - compatible : string, must contain "mdio-mux-mmioreg" 11 - 12 - - reg : integer, contains the offset of the register that controls the bus 13 - multiplexer. The size field in the 'reg' property is the size of 14 - register, and must therefore be 1, 2, or 4. 15 - 16 - - mux-mask : integer, contains an eight-bit mask that specifies which 17 - bits in the register control the actual bus multiplexer. The 18 - 'reg' property of each child mdio-mux node must be constrained by 19 - this mask. 20 - 21 - Example: 22 - 23 - The FPGA node defines a memory-mapped FPGA with a register space of 0x30 bytes. 24 - For the "EMI2" MDIO bus, register 9 (BRDCFG1) controls the mux on that bus. 25 - A bitmask of 0x6 means that bits 1 and 2 (bit 0 is lsb) are the bits on 26 - BRDCFG1 that control the actual mux. 27 - 28 - /* The FPGA node */ 29 - fpga: board-control@3,0 { 30 - #address-cells = <1>; 31 - #size-cells = <1>; 32 - compatible = "fsl,p5020ds-fpga", "fsl,fpga-ngpixis"; 33 - reg = <3 0 0x30>; 34 - ranges = <0 3 0 0x30>; 35 - 36 - mdio-mux-emi2 { 37 - compatible = "mdio-mux-mmioreg", "mdio-mux"; 38 - mdio-parent-bus = <&xmdio0>; 39 - #address-cells = <1>; 40 - #size-cells = <0>; 41 - reg = <9 1>; // BRDCFG1 42 - mux-mask = <0x6>; // EMI2 43 - 44 - emi2_slot1: mdio@0 { // Slot 1 XAUI (FM2) 45 - reg = <0>; 46 - #address-cells = <1>; 47 - #size-cells = <0>; 48 - 49 - phy_xgmii_slot1: ethernet-phy@0 { 50 - compatible = "ethernet-phy-ieee802.3-c45"; 51 - reg = <4>; 52 - }; 53 - }; 54 - 55 - emi2_slot2: mdio@2 { // Slot 2 XAUI (FM1) 56 - reg = <2>; 57 - #address-cells = <1>; 58 - #size-cells = <0>; 59 - 60 - phy_xgmii_slot2: ethernet-phy@4 { 61 - compatible = "ethernet-phy-ieee802.3-c45"; 62 - reg = <0>; 63 - }; 64 - }; 65 - }; 66 - }; 67 - 68 - /* The parent MDIO bus. */ 69 - xmdio0: mdio@f1000 { 70 - #address-cells = <1>; 71 - #size-cells = <0>; 72 - compatible = "fsl,fman-xmdio"; 73 - reg = <0xf1000 0x1000>; 74 - interrupts = <100 1 0 0>; 75 - };
+78
Documentation/devicetree/bindings/net/mdio-mux-mmioreg.yaml
··· 1 + # SPDX-License-Identifier: GPL-2.0 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/net/mdio-mux-mmioreg.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: Properties for an MDIO bus multiplexer controlled by a memory-mapped device 8 + 9 + maintainers: 10 + - Andrew Lunn <andrew@lunn.ch> 11 + 12 + description: |+ 13 + This is a special case of a MDIO bus multiplexer. A memory-mapped device, 14 + like an FPGA, is used to control which child bus is connected. The mdio-mux 15 + node must be a child of the memory-mapped device. The driver currently only 16 + supports devices with 8, 16 or 32-bit registers. 17 + 18 + allOf: 19 + - $ref: /schemas/net/mdio-mux.yaml# 20 + 21 + properties: 22 + compatible: 23 + items: 24 + - const: mdio-mux-mmioreg 25 + - const: mdio-mux 26 + 27 + reg: 28 + description: Contains the offset of the register that controls the bus 29 + multiplexer. The size field in the 'reg' property is the size of register, 30 + and must therefore be 1, 2, or 4. 31 + maxItems: 1 32 + 33 + mux-mask: 34 + $ref: /schemas/types.yaml#/definitions/uint32 35 + description: Contains an eight-bit mask that specifies which bits in the 36 + register control the actual bus multiplexer. The 'reg' property of each 37 + child mdio-mux node must be constrained by this mask. 38 + 39 + required: 40 + - compatible 41 + - reg 42 + - mux-mask 43 + 44 + unevaluatedProperties: false 45 + 46 + examples: 47 + - | 48 + mdio-mux@9 { 49 + compatible = "mdio-mux-mmioreg", "mdio-mux"; 50 + mdio-parent-bus = <&xmdio0>; 51 + #address-cells = <1>; 52 + #size-cells = <0>; 53 + reg = <9 1>; // BRDCFG1 54 + mux-mask = <0x6>; // EMI2 55 + 56 + mdio@0 { // Slot 1 XAUI (FM2) 57 + reg = <0>; 58 + #address-cells = <1>; 59 + #size-cells = <0>; 60 + 61 + phy_xgmii_slot1: ethernet-phy@4 { 62 + compatible = "ethernet-phy-ieee802.3-c45"; 63 + reg = <4>; 64 + }; 65 + }; 66 + 67 + mdio@2 { // Slot 2 XAUI (FM1) 68 + reg = <2>; 69 + #address-cells = <1>; 70 + #size-cells = <0>; 71 + 72 + ethernet-phy@4 { 73 + compatible = "ethernet-phy-ieee802.3-c45"; 74 + reg = <4>; 75 + }; 76 + }; 77 + }; 78 + ...
-82
Documentation/devicetree/bindings/net/mdio-mux-multiplexer.txt
··· 1 - Properties for an MDIO bus multiplexer consumer device 2 - 3 - This is a special case of MDIO mux when MDIO mux is defined as a consumer 4 - of a mux producer device. The mux producer can be of any type like mmio mux 5 - producer, gpio mux producer or generic register based mux producer. 6 - 7 - Required properties in addition to the MDIO Bus multiplexer properties: 8 - 9 - - compatible : should be "mmio-mux-multiplexer" 10 - - mux-controls : mux controller node to use for operating the mux 11 - - mdio-parent-bus : phandle to the parent MDIO bus. 12 - 13 - each child node of mdio bus multiplexer consumer device represent a mdio 14 - bus. 15 - 16 - for more information please refer 17 - Documentation/devicetree/bindings/mux/mux-controller.yaml 18 - and Documentation/devicetree/bindings/net/mdio-mux.txt 19 - 20 - Example: 21 - In below example the Mux producer and consumer are separate nodes. 22 - 23 - &i2c0 { 24 - fpga@66 { // fpga connected to i2c 25 - compatible = "fsl,lx2160aqds-fpga", "fsl,fpga-qixis-i2c", 26 - "simple-mfd"; 27 - reg = <0x66>; 28 - 29 - mux: mux-controller { // Mux Producer 30 - compatible = "reg-mux"; 31 - #mux-control-cells = <1>; 32 - mux-reg-masks = <0x54 0xf8>, /* 0: reg 0x54, bits 7:3 */ 33 - <0x54 0x07>; /* 1: reg 0x54, bits 2:0 */ 34 - }; 35 - }; 36 - }; 37 - 38 - mdio-mux-1 { // Mux consumer 39 - compatible = "mdio-mux-multiplexer"; 40 - mux-controls = <&mux 0>; 41 - mdio-parent-bus = <&emdio1>; 42 - #address-cells = <1>; 43 - #size-cells = <0>; 44 - 45 - mdio@0 { 46 - reg = <0x0>; 47 - #address-cells = <1>; 48 - #size-cells = <0>; 49 - }; 50 - 51 - mdio@8 { 52 - reg = <0x8>; 53 - #address-cells = <1>; 54 - #size-cells = <0>; 55 - }; 56 - 57 - .. 58 - .. 59 - }; 60 - 61 - mdio-mux-2 { // Mux consumer 62 - compatible = "mdio-mux-multiplexer"; 63 - mux-controls = <&mux 1>; 64 - mdio-parent-bus = <&emdio2>; 65 - #address-cells = <1>; 66 - #size-cells = <0>; 67 - 68 - mdio@0 { 69 - reg = <0x0>; 70 - #address-cells = <1>; 71 - #size-cells = <0>; 72 - }; 73 - 74 - mdio@1 { 75 - reg = <0x1>; 76 - #address-cells = <1>; 77 - #size-cells = <0>; 78 - }; 79 - 80 - .. 81 - .. 82 - };
+82
Documentation/devicetree/bindings/net/mdio-mux-multiplexer.yaml
··· 1 + # SPDX-License-Identifier: GPL-2.0 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/net/mdio-mux-multiplexer.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: Properties for an MDIO bus multiplexer consumer device 8 + 9 + maintainers: 10 + - Andrew Lunn <andrew@lunn.ch> 11 + 12 + description: |+ 13 + This is a special case of MDIO mux when MDIO mux is defined as a consumer 14 + of a mux producer device. The mux producer can be of any type like mmio mux 15 + producer, gpio mux producer or generic register based mux producer. 16 + 17 + 18 + allOf: 19 + - $ref: /schemas/net/mdio-mux.yaml# 20 + 21 + properties: 22 + compatible: 23 + const: mdio-mux-multiplexer 24 + 25 + mux-controls: 26 + maxItems: 1 27 + 28 + required: 29 + - compatible 30 + - mux-controls 31 + 32 + unevaluatedProperties: false 33 + 34 + examples: 35 + - | 36 + mux: mux-controller { // Mux Producer 37 + compatible = "reg-mux"; 38 + #mux-control-cells = <1>; 39 + mux-reg-masks = <0x54 0xf8>, /* 0: reg 0x54, bits 7:3 */ 40 + <0x54 0x07>; /* 1: reg 0x54, bits 2:0 */ 41 + }; 42 + 43 + mdio-mux-1 { // Mux consumer 44 + compatible = "mdio-mux-multiplexer"; 45 + mux-controls = <&mux 0>; 46 + mdio-parent-bus = <&emdio1>; 47 + #address-cells = <1>; 48 + #size-cells = <0>; 49 + 50 + mdio@0 { 51 + reg = <0x0>; 52 + #address-cells = <1>; 53 + #size-cells = <0>; 54 + }; 55 + 56 + mdio@8 { 57 + reg = <0x8>; 58 + #address-cells = <1>; 59 + #size-cells = <0>; 60 + }; 61 + }; 62 + 63 + mdio-mux-2 { // Mux consumer 64 + compatible = "mdio-mux-multiplexer"; 65 + mux-controls = <&mux 1>; 66 + mdio-parent-bus = <&emdio2>; 67 + #address-cells = <1>; 68 + #size-cells = <0>; 69 + 70 + mdio@0 { 71 + reg = <0x0>; 72 + #address-cells = <1>; 73 + #size-cells = <0>; 74 + }; 75 + 76 + mdio@1 { 77 + reg = <0x1>; 78 + #address-cells = <1>; 79 + #size-cells = <0>; 80 + }; 81 + }; 82 + ...
-129
Documentation/devicetree/bindings/net/mdio-mux.txt
··· 1 - Common MDIO bus multiplexer/switch properties. 2 - 3 - An MDIO bus multiplexer/switch will have several child busses that are 4 - numbered uniquely in a device dependent manner. The nodes for an MDIO 5 - bus multiplexer/switch will have one child node for each child bus. 6 - 7 - Required properties: 8 - - #address-cells = <1>; 9 - - #size-cells = <0>; 10 - 11 - Optional properties: 12 - - mdio-parent-bus : phandle to the parent MDIO bus. 13 - 14 - - Other properties specific to the multiplexer/switch hardware. 15 - 16 - Required properties for child nodes: 17 - - #address-cells = <1>; 18 - - #size-cells = <0>; 19 - - reg : The sub-bus number. 20 - 21 - 22 - Example : 23 - 24 - /* The parent MDIO bus. */ 25 - smi1: mdio@1180000001900 { 26 - compatible = "cavium,octeon-3860-mdio"; 27 - #address-cells = <1>; 28 - #size-cells = <0>; 29 - reg = <0x11800 0x00001900 0x0 0x40>; 30 - }; 31 - 32 - /* 33 - An NXP sn74cbtlv3253 dual 1-of-4 switch controlled by a 34 - pair of GPIO lines. Child busses 2 and 3 populated with 4 35 - PHYs each. 36 - */ 37 - mdio-mux { 38 - compatible = "mdio-mux-gpio"; 39 - gpios = <&gpio1 3 0>, <&gpio1 4 0>; 40 - mdio-parent-bus = <&smi1>; 41 - #address-cells = <1>; 42 - #size-cells = <0>; 43 - 44 - mdio@2 { 45 - reg = <2>; 46 - #address-cells = <1>; 47 - #size-cells = <0>; 48 - 49 - phy11: ethernet-phy@1 { 50 - reg = <1>; 51 - marvell,reg-init = <3 0x10 0 0x5777>, 52 - <3 0x11 0 0x00aa>, 53 - <3 0x12 0 0x4105>, 54 - <3 0x13 0 0x0a60>; 55 - interrupt-parent = <&gpio>; 56 - interrupts = <10 8>; /* Pin 10, active low */ 57 - }; 58 - phy12: ethernet-phy@2 { 59 - reg = <2>; 60 - marvell,reg-init = <3 0x10 0 0x5777>, 61 - <3 0x11 0 0x00aa>, 62 - <3 0x12 0 0x4105>, 63 - <3 0x13 0 0x0a60>; 64 - interrupt-parent = <&gpio>; 65 - interrupts = <10 8>; /* Pin 10, active low */ 66 - }; 67 - phy13: ethernet-phy@3 { 68 - reg = <3>; 69 - marvell,reg-init = <3 0x10 0 0x5777>, 70 - <3 0x11 0 0x00aa>, 71 - <3 0x12 0 0x4105>, 72 - <3 0x13 0 0x0a60>; 73 - interrupt-parent = <&gpio>; 74 - interrupts = <10 8>; /* Pin 10, active low */ 75 - }; 76 - phy14: ethernet-phy@4 { 77 - reg = <4>; 78 - marvell,reg-init = <3 0x10 0 0x5777>, 79 - <3 0x11 0 0x00aa>, 80 - <3 0x12 0 0x4105>, 81 - <3 0x13 0 0x0a60>; 82 - interrupt-parent = <&gpio>; 83 - interrupts = <10 8>; /* Pin 10, active low */ 84 - }; 85 - }; 86 - 87 - mdio@3 { 88 - reg = <3>; 89 - #address-cells = <1>; 90 - #size-cells = <0>; 91 - 92 - phy21: ethernet-phy@1 { 93 - reg = <1>; 94 - marvell,reg-init = <3 0x10 0 0x5777>, 95 - <3 0x11 0 0x00aa>, 96 - <3 0x12 0 0x4105>, 97 - <3 0x13 0 0x0a60>; 98 - interrupt-parent = <&gpio>; 99 - interrupts = <12 8>; /* Pin 12, active low */ 100 - }; 101 - phy22: ethernet-phy@2 { 102 - reg = <2>; 103 - marvell,reg-init = <3 0x10 0 0x5777>, 104 - <3 0x11 0 0x00aa>, 105 - <3 0x12 0 0x4105>, 106 - <3 0x13 0 0x0a60>; 107 - interrupt-parent = <&gpio>; 108 - interrupts = <12 8>; /* Pin 12, active low */ 109 - }; 110 - phy23: ethernet-phy@3 { 111 - reg = <3>; 112 - marvell,reg-init = <3 0x10 0 0x5777>, 113 - <3 0x11 0 0x00aa>, 114 - <3 0x12 0 0x4105>, 115 - <3 0x13 0 0x0a60>; 116 - interrupt-parent = <&gpio>; 117 - interrupts = <12 8>; /* Pin 12, active low */ 118 - }; 119 - phy24: ethernet-phy@4 { 120 - reg = <4>; 121 - marvell,reg-init = <3 0x10 0 0x5777>, 122 - <3 0x11 0 0x00aa>, 123 - <3 0x12 0 0x4105>, 124 - <3 0x13 0 0x0a60>; 125 - interrupt-parent = <&gpio>; 126 - interrupts = <12 8>; /* Pin 12, active low */ 127 - }; 128 - }; 129 - };
+44
Documentation/devicetree/bindings/net/mdio-mux.yaml
··· 1 + # SPDX-License-Identifier: GPL-2.0 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/net/mdio-mux.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: Common MDIO bus multiplexer/switch properties. 8 + 9 + maintainers: 10 + - Andrew Lunn <andrew@lunn.ch> 11 + 12 + description: |+ 13 + An MDIO bus multiplexer/switch will have several child busses that are 14 + numbered uniquely in a device dependent manner. The nodes for an MDIO 15 + bus multiplexer/switch will have one child node for each child bus. 16 + 17 + properties: 18 + $nodename: 19 + pattern: '^mdio-mux[\-@]?' 20 + 21 + mdio-parent-bus: 22 + $ref: /schemas/types.yaml#/definitions/phandle 23 + description: 24 + The phandle of the MDIO bus that this multiplexer's master-side port is 25 + connected to. 26 + 27 + '#address-cells': 28 + const: 1 29 + 30 + '#size-cells': 31 + const: 0 32 + 33 + patternProperties: 34 + '^mdio@[0-9a-f]+$': 35 + type: object 36 + 37 + properties: 38 + reg: 39 + maxItems: 1 40 + description: The sub-bus number. 41 + 42 + additionalProperties: true 43 + 44 + ...