brintos

brintos / linux-shallow public Read only

0
0
Text · 4.2 KiB · 8bd1abf Raw
170 lines · yaml
1# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause */2%YAML 1.23---4$id: http://devicetree.org/schemas/mfd/mscc,ocelot.yaml#5$schema: http://devicetree.org/meta-schemas/core.yaml#6 7title: Ocelot Externally-Controlled Ethernet Switch8 9maintainers:10  - Colin Foster <colin.foster@in-advantage.com>11 12description: |13  The Ocelot ethernet switch family contains chips that have an internal CPU14  (VSC7513, VSC7514) and chips that don't (VSC7511, VSC7512). All switches have15  the option to be controlled externally via external interfaces like SPI or16  PCIe.17 18  The switch family is a multi-port networking switch that supports many19  interfaces. Additionally, the device can perform pin control, MDIO buses, and20  external GPIO expanders.21 22properties:23  compatible:24    enum:25      - mscc,vsc751226 27  reg:28    maxItems: 129 30  "#address-cells":31    const: 132 33  "#size-cells":34    const: 135 36  spi-max-frequency:37    maxItems: 138 39patternProperties:40  "^pinctrl@[0-9a-f]+$":41    type: object42    $ref: /schemas/pinctrl/mscc,ocelot-pinctrl.yaml43 44  "^gpio@[0-9a-f]+$":45    type: object46    $ref: /schemas/pinctrl/microchip,sparx5-sgpio.yaml47    properties:48      compatible:49        enum:50          - mscc,ocelot-sgpio51 52  "^mdio@[0-9a-f]+$":53    type: object54    $ref: /schemas/net/mscc,miim.yaml55    properties:56      compatible:57        enum:58          - mscc,ocelot-miim59 60  "^ethernet-switch@[0-9a-f]+$":61    type: object62    $ref: /schemas/net/mscc,vsc7514-switch.yaml63    unevaluatedProperties: false64    properties:65      compatible:66        enum:67          - mscc,vsc7512-switch68 69required:70  - compatible71  - reg72  - '#address-cells'73  - '#size-cells'74 75additionalProperties: false76 77examples:78  - |79    ocelot_clock: ocelot-clock {80          compatible = "fixed-clock";81          #clock-cells = <0>;82          clock-frequency = <125000000>;83      };84 85    spi {86        #address-cells = <1>;87        #size-cells = <0>;88 89        soc@0 {90            compatible = "mscc,vsc7512";91            spi-max-frequency = <2500000>;92            reg = <0>;93            #address-cells = <1>;94            #size-cells = <1>;95 96            mdio@7107009c {97                compatible = "mscc,ocelot-miim";98                #address-cells = <1>;99                #size-cells = <0>;100                reg = <0x7107009c 0x24>;101 102                sw_phy0: ethernet-phy@0 {103                    reg = <0x0>;104                };105            };106 107            mdio@710700c0 {108                compatible = "mscc,ocelot-miim";109                pinctrl-names = "default";110                pinctrl-0 = <&miim1_pins>;111                #address-cells = <1>;112                #size-cells = <0>;113                reg = <0x710700c0 0x24>;114 115                sw_phy4: ethernet-phy@4 {116                    reg = <0x4>;117                };118            };119 120            gpio: pinctrl@71070034 {121                compatible = "mscc,ocelot-pinctrl";122                gpio-controller;123                #gpio-cells = <2>;124                gpio-ranges = <&gpio 0 0 22>;125                reg = <0x71070034 0x6c>;126 127                sgpio_pins: sgpio-pins {128                    pins = "GPIO_0", "GPIO_1", "GPIO_2", "GPIO_3";129                    function = "sg0";130                };131 132                miim1_pins: miim1-pins {133                    pins = "GPIO_14", "GPIO_15";134                    function = "miim";135                };136            };137 138            gpio@710700f8 {139                compatible = "mscc,ocelot-sgpio";140                #address-cells = <1>;141                #size-cells = <0>;142                bus-frequency = <12500000>;143                clocks = <&ocelot_clock>;144                microchip,sgpio-port-ranges = <0 15>;145                pinctrl-names = "default";146                pinctrl-0 = <&sgpio_pins>;147                reg = <0x710700f8 0x100>;148 149                sgpio_in0: gpio@0 {150                    compatible = "microchip,sparx5-sgpio-bank";151                    reg = <0>;152                    gpio-controller;153                    #gpio-cells = <3>;154                    ngpios = <64>;155                };156 157                sgpio_out1: gpio@1 {158                    compatible = "microchip,sparx5-sgpio-bank";159                    reg = <1>;160                    gpio-controller;161                    #gpio-cells = <3>;162                    ngpios = <64>;163                };164            };165        };166    };167 168...169 170