13fa33765SChris Packham# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 23fa33765SChris Packham%YAML 1.2 33fa33765SChris Packham--- 43fa33765SChris Packham$id: http://devicetree.org/schemas/net/realtek,rtl9301-switch.yaml# 53fa33765SChris Packham$schema: http://devicetree.org/meta-schemas/core.yaml# 63fa33765SChris Packham 73fa33765SChris Packhamtitle: Realtek Switch with Internal CPU 83fa33765SChris Packham 93fa33765SChris Packhammaintainers: 103fa33765SChris Packham - Chris Packham <chris.packham@alliedtelesis.co.nz> 113fa33765SChris Packham 123fa33765SChris Packhamdescription: 133fa33765SChris Packham The RTL9300 is a series of is an Ethernet switches with an integrated CPU. A 143fa33765SChris Packham number of different peripherals are accessed through a common register block, 153fa33765SChris Packham represented here as a syscon node. 163fa33765SChris Packham 1792575a21SChris Packham$ref: ethernet-switch.yaml#/$defs/ethernet-ports 1892575a21SChris Packham 193fa33765SChris Packhamproperties: 203fa33765SChris Packham compatible: 213fa33765SChris Packham items: 223fa33765SChris Packham - enum: 233fa33765SChris Packham - realtek,rtl9301-switch 243fa33765SChris Packham - realtek,rtl9302b-switch 253fa33765SChris Packham - realtek,rtl9302c-switch 263fa33765SChris Packham - realtek,rtl9303-switch 273fa33765SChris Packham - const: syscon 283fa33765SChris Packham - const: simple-mfd 293fa33765SChris Packham 303fa33765SChris Packham reg: 313fa33765SChris Packham maxItems: 1 323fa33765SChris Packham 3392575a21SChris Packham interrupts: 3492575a21SChris Packham maxItems: 2 3592575a21SChris Packham 3692575a21SChris Packham interrupt-names: 3792575a21SChris Packham items: 3892575a21SChris Packham - const: switch 3992575a21SChris Packham - const: nic 4092575a21SChris Packham 413fa33765SChris Packham '#address-cells': 423fa33765SChris Packham const: 1 433fa33765SChris Packham 443fa33765SChris Packham '#size-cells': 453fa33765SChris Packham const: 1 463fa33765SChris Packham 4792575a21SChris Packham ethernet-ports: 4892575a21SChris Packham type: object 4992575a21SChris Packham 503fa33765SChris PackhampatternProperties: 513fa33765SChris Packham 'reboot@[0-9a-f]+$': 523fa33765SChris Packham $ref: /schemas/power/reset/syscon-reboot.yaml# 533fa33765SChris Packham 543fa33765SChris Packham 'i2c@[0-9a-f]+$': 553fa33765SChris Packham $ref: /schemas/i2c/realtek,rtl9301-i2c.yaml# 563fa33765SChris Packham 57*96757457SChris Packham 'mdio-controller@[0-9a-f]+$': 58*96757457SChris Packham $ref: realtek,rtl9301-mdio.yaml# 59*96757457SChris Packham 603fa33765SChris Packhamrequired: 613fa33765SChris Packham - compatible 623fa33765SChris Packham - reg 6392575a21SChris Packham - interrupts 6492575a21SChris Packham - interrupt-names 653fa33765SChris Packham 663fa33765SChris PackhamadditionalProperties: false 673fa33765SChris Packham 683fa33765SChris Packhamexamples: 693fa33765SChris Packham - | 703fa33765SChris Packham ethernet-switch@1b000000 { 713fa33765SChris Packham compatible = "realtek,rtl9301-switch", "syscon", "simple-mfd"; 723fa33765SChris Packham reg = <0x1b000000 0x10000>; 7392575a21SChris Packham interrupt-parent = <&intc>; 7492575a21SChris Packham interrupts = <23>, <24>; 7592575a21SChris Packham interrupt-names = "switch", "nic"; 763fa33765SChris Packham #address-cells = <1>; 773fa33765SChris Packham #size-cells = <1>; 783fa33765SChris Packham 793fa33765SChris Packham reboot@c { 803fa33765SChris Packham compatible = "syscon-reboot"; 813fa33765SChris Packham reg = <0x0c 0x4>; 823fa33765SChris Packham value = <0x01>; 833fa33765SChris Packham }; 843fa33765SChris Packham 853fa33765SChris Packham i2c@36c { 863fa33765SChris Packham compatible = "realtek,rtl9301-i2c"; 873fa33765SChris Packham reg = <0x36c 0x14>; 883fa33765SChris Packham #address-cells = <1>; 893fa33765SChris Packham #size-cells = <0>; 903fa33765SChris Packham 913fa33765SChris Packham i2c@0 { 923fa33765SChris Packham reg = <0>; 933fa33765SChris Packham #address-cells = <1>; 943fa33765SChris Packham #size-cells = <0>; 953fa33765SChris Packham gpio@20 { 963fa33765SChris Packham compatible = "nxp,pca9555"; 973fa33765SChris Packham gpio-controller; 983fa33765SChris Packham #gpio-cells = <2>; 993fa33765SChris Packham reg = <0x20>; 1003fa33765SChris Packham }; 1013fa33765SChris Packham }; 1023fa33765SChris Packham 1033fa33765SChris Packham i2c@2 { 1043fa33765SChris Packham reg = <2>; 1053fa33765SChris Packham #address-cells = <1>; 1063fa33765SChris Packham #size-cells = <0>; 1073fa33765SChris Packham gpio@20 { 1083fa33765SChris Packham compatible = "nxp,pca9555"; 1093fa33765SChris Packham gpio-controller; 1103fa33765SChris Packham #gpio-cells = <2>; 1113fa33765SChris Packham reg = <0x20>; 1123fa33765SChris Packham }; 1133fa33765SChris Packham }; 1143fa33765SChris Packham }; 1153fa33765SChris Packham 1163fa33765SChris Packham i2c@388 { 1173fa33765SChris Packham compatible = "realtek,rtl9301-i2c"; 1183fa33765SChris Packham reg = <0x388 0x14>; 1193fa33765SChris Packham #address-cells = <1>; 1203fa33765SChris Packham #size-cells = <0>; 1213fa33765SChris Packham 1223fa33765SChris Packham i2c@7 { 1233fa33765SChris Packham reg = <7>; 1243fa33765SChris Packham #address-cells = <1>; 1253fa33765SChris Packham #size-cells = <0>; 1263fa33765SChris Packham gpio@20 { 1273fa33765SChris Packham compatible = "nxp,pca9555"; 1283fa33765SChris Packham gpio-controller; 1293fa33765SChris Packham #gpio-cells = <2>; 1303fa33765SChris Packham reg = <0x20>; 1313fa33765SChris Packham }; 1323fa33765SChris Packham }; 1333fa33765SChris Packham }; 13492575a21SChris Packham 135*96757457SChris Packham mdio-controller@ca00 { 136*96757457SChris Packham compatible = "realtek,rtl9301-mdio"; 137*96757457SChris Packham reg = <0xca00 0x200>; 138*96757457SChris Packham #address-cells = <1>; 139*96757457SChris Packham #size-cells = <0>; 140*96757457SChris Packham 141*96757457SChris Packham mdio-bus@0 { 142*96757457SChris Packham reg = <0>; 143*96757457SChris Packham #address-cells = <1>; 144*96757457SChris Packham #size-cells = <0>; 145*96757457SChris Packham 146*96757457SChris Packham phy1: ethernet-phy@0 { 147*96757457SChris Packham reg = <0>; 148*96757457SChris Packham }; 149*96757457SChris Packham }; 150*96757457SChris Packham mdio-bus@1 { 151*96757457SChris Packham reg = <1>; 152*96757457SChris Packham #address-cells = <1>; 153*96757457SChris Packham #size-cells = <0>; 154*96757457SChris Packham 155*96757457SChris Packham phy2: ethernet-phy@0 { 156*96757457SChris Packham reg = <0>; 157*96757457SChris Packham }; 158*96757457SChris Packham }; 159*96757457SChris Packham }; 160*96757457SChris Packham 16192575a21SChris Packham ethernet-ports { 16292575a21SChris Packham #address-cells = <1>; 16392575a21SChris Packham #size-cells = <0>; 16492575a21SChris Packham 16592575a21SChris Packham port@0 { 16692575a21SChris Packham reg = <0>; 167*96757457SChris Packham phy-handle = <&phy1>; 16892575a21SChris Packham }; 16992575a21SChris Packham port@1 { 17092575a21SChris Packham reg = <1>; 171*96757457SChris Packham phy-handle = <&phy2>; 17292575a21SChris Packham }; 17392575a21SChris Packham }; 1743fa33765SChris Packham }; 1753fa33765SChris Packham 176