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

dt-bindings: net: dsa: dt bindings for microchip lan937x

Documentation in .yaml format and updates to the MAINTAINERS
Also 'make dt_binding_check' is passed.

RGMII internal delay values for the mac is retrieved from
rx-internal-delay-ps & tx-internal-delay-ps as per the feedback from
v3 patch series.
https://lore.kernel.org/netdev/20210802121550.gqgbipqdvp5x76ii@skbuf/

It supports only the delay value of 0ns and 2ns.

Signed-off-by: Prasanna Vengateshan <prasanna.vengateshan@microchip.com>
Signed-off-by: Arun Ramadoss <arun.ramadoss@microchip.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

authored by

Prasanna Vengateshan and committed by
David S. Miller
8926d94e 528f7f1f

+193
+192
Documentation/devicetree/bindings/net/dsa/microchip,lan937x.yaml
··· 1 + # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/net/dsa/microchip,lan937x.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: LAN937x Ethernet Switch Series Tree Bindings 8 + 9 + maintainers: 10 + - UNGLinuxDriver@microchip.com 11 + 12 + allOf: 13 + - $ref: dsa.yaml# 14 + 15 + properties: 16 + compatible: 17 + enum: 18 + - microchip,lan9370 19 + - microchip,lan9371 20 + - microchip,lan9372 21 + - microchip,lan9373 22 + - microchip,lan9374 23 + 24 + reg: 25 + maxItems: 1 26 + 27 + spi-max-frequency: 28 + maximum: 50000000 29 + 30 + reset-gpios: 31 + description: Optional gpio specifier for a reset line 32 + maxItems: 1 33 + 34 + mdio: 35 + $ref: /schemas/net/mdio.yaml# 36 + unevaluatedProperties: false 37 + 38 + patternProperties: 39 + "^(ethernet-)?ports$": 40 + patternProperties: 41 + "^(ethernet-)?port@[0-9]+$": 42 + allOf: 43 + - if: 44 + properties: 45 + phy-mode: 46 + contains: 47 + enum: 48 + - rgmii 49 + - rgmii-id 50 + - rgmii-txid 51 + - rgmii-rxid 52 + then: 53 + properties: 54 + rx-internal-delay-ps: 55 + enum: [0, 2000] 56 + default: 0 57 + tx-internal-delay-ps: 58 + enum: [0, 2000] 59 + default: 0 60 + 61 + required: 62 + - compatible 63 + - reg 64 + 65 + unevaluatedProperties: false 66 + 67 + examples: 68 + - | 69 + #include <dt-bindings/gpio/gpio.h> 70 + 71 + macb0 { 72 + #address-cells = <1>; 73 + #size-cells = <0>; 74 + 75 + fixed-link { 76 + speed = <1000>; 77 + full-duplex; 78 + }; 79 + }; 80 + 81 + spi { 82 + #address-cells = <1>; 83 + #size-cells = <0>; 84 + 85 + lan9374: switch@0 { 86 + compatible = "microchip,lan9374"; 87 + reg = <0>; 88 + spi-max-frequency = <44000000>; 89 + 90 + ethernet-ports { 91 + #address-cells = <1>; 92 + #size-cells = <0>; 93 + 94 + port@0 { 95 + reg = <0>; 96 + label = "lan1"; 97 + phy-mode = "internal"; 98 + phy-handle = <&t1phy0>; 99 + }; 100 + 101 + port@1 { 102 + reg = <1>; 103 + label = "lan2"; 104 + phy-mode = "internal"; 105 + phy-handle = <&t1phy1>; 106 + }; 107 + 108 + port@2 { 109 + reg = <2>; 110 + label = "lan4"; 111 + phy-mode = "internal"; 112 + phy-handle = <&t1phy2>; 113 + }; 114 + 115 + port@3 { 116 + reg = <3>; 117 + label = "lan6"; 118 + phy-mode = "internal"; 119 + phy-handle = <&t1phy3>; 120 + }; 121 + 122 + port@4 { 123 + reg = <4>; 124 + phy-mode = "rgmii"; 125 + tx-internal-delay-ps = <2000>; 126 + rx-internal-delay-ps = <2000>; 127 + ethernet = <&macb0>; 128 + 129 + fixed-link { 130 + speed = <1000>; 131 + full-duplex; 132 + }; 133 + }; 134 + 135 + port@5 { 136 + reg = <5>; 137 + label = "lan7"; 138 + phy-mode = "rgmii"; 139 + tx-internal-delay-ps = <2000>; 140 + rx-internal-delay-ps = <2000>; 141 + 142 + fixed-link { 143 + speed = <1000>; 144 + full-duplex; 145 + }; 146 + }; 147 + 148 + port@6 { 149 + reg = <6>; 150 + label = "lan5"; 151 + phy-mode = "internal"; 152 + phy-handle = <&t1phy6>; 153 + }; 154 + 155 + port@7 { 156 + reg = <7>; 157 + label = "lan3"; 158 + phy-mode = "internal"; 159 + phy-handle = <&t1phy7>; 160 + }; 161 + }; 162 + 163 + mdio { 164 + #address-cells = <1>; 165 + #size-cells = <0>; 166 + 167 + t1phy0: ethernet-phy@0{ 168 + reg = <0x0>; 169 + }; 170 + 171 + t1phy1: ethernet-phy@1{ 172 + reg = <0x1>; 173 + }; 174 + 175 + t1phy2: ethernet-phy@2{ 176 + reg = <0x2>; 177 + }; 178 + 179 + t1phy3: ethernet-phy@3{ 180 + reg = <0x3>; 181 + }; 182 + 183 + t1phy6: ethernet-phy@6{ 184 + reg = <0x6>; 185 + }; 186 + 187 + t1phy7: ethernet-phy@7{ 188 + reg = <0x7>; 189 + }; 190 + }; 191 + }; 192 + };
+1
MAINTAINERS
··· 13104 13104 L: netdev@vger.kernel.org 13105 13105 S: Maintained 13106 13106 F: Documentation/devicetree/bindings/net/dsa/microchip,ksz.yaml 13107 + F: Documentation/devicetree/bindings/net/dsa/microchip,lan937x.yaml 13107 13108 F: drivers/net/dsa/microchip/* 13108 13109 F: include/linux/platform_data/microchip-ksz.h 13109 13110 F: net/dsa/tag_ksz.c