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

Configure Feed

Select the types of activity you want to include in your feed.

Merge branch 'dt-bindings-net-realtek-rtl9301-switch'

Chris Packham says:

====================
dt-bindings: net: realtek,rtl9301-switch (schema part)

This is my attempt at trying to sort out the mess I've created with the RTL9300
switch dt-bindings. Some context is available on [1] and [2].

The first patch just moves the binding from mfd/ to net/ (with an adjustment of
the internal path name). The next two patches are successors to patches already
sent as part of the series [3].

[1] - https://lore.kernel.org/lkml/20250204-eccentric-deer-of-felicity-02b7ee@krzk-bin/
[2] - https://lore.kernel.org/lkml/4e3c5d83-d215-4eff-bf02-6d420592df8f@alliedtelesis.co.nz/
[3] - https://lore.kernel.org/lkml/20250204030249.1965444-1-chris.packham@alliedtelesis.co.nz/
====================

Link: https://patch.msgid.link/20250218195216.1034220-1-chris.packham@alliedtelesis.co.nz
Signed-off-by: Jakub Kicinski <kuba@kernel.org>

+148 -1
+62 -1
Documentation/devicetree/bindings/mfd/realtek,rtl9301-switch.yaml Documentation/devicetree/bindings/net/realtek,rtl9301-switch.yaml
··· 1 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 2 %YAML 1.2 3 3 --- 4 - $id: http://devicetree.org/schemas/mfd/realtek,rtl9301-switch.yaml# 4 + $id: http://devicetree.org/schemas/net/realtek,rtl9301-switch.yaml# 5 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 6 6 7 7 title: Realtek Switch with Internal CPU ··· 13 13 The RTL9300 is a series of is an Ethernet switches with an integrated CPU. A 14 14 number of different peripherals are accessed through a common register block, 15 15 represented here as a syscon node. 16 + 17 + $ref: ethernet-switch.yaml#/$defs/ethernet-ports 16 18 17 19 properties: 18 20 compatible: ··· 30 28 reg: 31 29 maxItems: 1 32 30 31 + interrupts: 32 + maxItems: 2 33 + 34 + interrupt-names: 35 + items: 36 + - const: switch 37 + - const: nic 38 + 33 39 '#address-cells': 34 40 const: 1 35 41 36 42 '#size-cells': 37 43 const: 1 44 + 45 + ethernet-ports: 46 + type: object 38 47 39 48 patternProperties: 40 49 'reboot@[0-9a-f]+$': ··· 54 41 'i2c@[0-9a-f]+$': 55 42 $ref: /schemas/i2c/realtek,rtl9301-i2c.yaml# 56 43 44 + 'mdio-controller@[0-9a-f]+$': 45 + $ref: realtek,rtl9301-mdio.yaml# 46 + 57 47 required: 58 48 - compatible 59 49 - reg 50 + - interrupts 51 + - interrupt-names 60 52 61 53 additionalProperties: false 62 54 ··· 70 52 ethernet-switch@1b000000 { 71 53 compatible = "realtek,rtl9301-switch", "syscon", "simple-mfd"; 72 54 reg = <0x1b000000 0x10000>; 55 + interrupt-parent = <&intc>; 56 + interrupts = <23>, <24>; 57 + interrupt-names = "switch", "nic"; 73 58 #address-cells = <1>; 74 59 #size-cells = <1>; 75 60 ··· 129 108 #gpio-cells = <2>; 130 109 reg = <0x20>; 131 110 }; 111 + }; 112 + }; 113 + 114 + mdio-controller@ca00 { 115 + compatible = "realtek,rtl9301-mdio"; 116 + reg = <0xca00 0x200>; 117 + #address-cells = <1>; 118 + #size-cells = <0>; 119 + 120 + mdio-bus@0 { 121 + reg = <0>; 122 + #address-cells = <1>; 123 + #size-cells = <0>; 124 + 125 + phy1: ethernet-phy@0 { 126 + reg = <0>; 127 + }; 128 + }; 129 + mdio-bus@1 { 130 + reg = <1>; 131 + #address-cells = <1>; 132 + #size-cells = <0>; 133 + 134 + phy2: ethernet-phy@0 { 135 + reg = <0>; 136 + }; 137 + }; 138 + }; 139 + 140 + ethernet-ports { 141 + #address-cells = <1>; 142 + #size-cells = <0>; 143 + 144 + port@0 { 145 + reg = <0>; 146 + phy-handle = <&phy1>; 147 + }; 148 + port@1 { 149 + reg = <1>; 150 + phy-handle = <&phy2>; 132 151 }; 133 152 }; 134 153 };
+86
Documentation/devicetree/bindings/net/realtek,rtl9301-mdio.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/realtek,rtl9301-mdio.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: Realtek RTL9300 MDIO Controller 8 + 9 + maintainers: 10 + - Chris Packham <chris.packham@alliedtelesis.co.nz> 11 + 12 + properties: 13 + compatible: 14 + oneOf: 15 + - items: 16 + - enum: 17 + - realtek,rtl9302b-mdio 18 + - realtek,rtl9302c-mdio 19 + - realtek,rtl9303-mdio 20 + - const: realtek,rtl9301-mdio 21 + - const: realtek,rtl9301-mdio 22 + 23 + '#address-cells': 24 + const: 1 25 + 26 + '#size-cells': 27 + const: 0 28 + 29 + reg: 30 + maxItems: 1 31 + 32 + patternProperties: 33 + '^mdio-bus@[0-3]$': 34 + $ref: mdio.yaml# 35 + 36 + properties: 37 + reg: 38 + maxItems: 1 39 + 40 + required: 41 + - reg 42 + 43 + patternProperties: 44 + '^ethernet-phy@[a-f0-9]+$': 45 + type: object 46 + $ref: ethernet-phy.yaml# 47 + unevaluatedProperties: false 48 + 49 + unevaluatedProperties: false 50 + 51 + required: 52 + - compatible 53 + - reg 54 + 55 + unevaluatedProperties: false 56 + 57 + examples: 58 + - | 59 + mdio-controller@ca00 { 60 + compatible = "realtek,rtl9301-mdio"; 61 + reg = <0xca00 0x200>; 62 + #address-cells = <1>; 63 + #size-cells = <0>; 64 + 65 + mdio-bus@0 { 66 + reg = <0>; 67 + #address-cells = <1>; 68 + #size-cells = <0>; 69 + 70 + ethernet-phy@0 { 71 + compatible = "ethernet-phy-ieee802.3-c45"; 72 + reg = <0>; 73 + }; 74 + }; 75 + 76 + mdio-bus@1 { 77 + reg = <1>; 78 + #address-cells = <1>; 79 + #size-cells = <0>; 80 + 81 + ethernet-phy@0 { 82 + compatible = "ethernet-phy-ieee802.3-c45"; 83 + reg = <0>; 84 + }; 85 + }; 86 + };