brintos

brintos / linux-shallow public Read only

0
0
Text · 5.5 KiB · 86a9c3f Raw
224 lines · yaml
1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause2%YAML 1.23---4$id: http://devicetree.org/schemas/net/mscc,vsc7514-switch.yaml#5$schema: http://devicetree.org/meta-schemas/core.yaml#6 7title: Microchip VSC7514 Ethernet switch controller8 9maintainers:10  - Vladimir Oltean <vladimir.oltean@nxp.com>11  - Claudiu Manoil <claudiu.manoil@nxp.com>12  - Alexandre Belloni <alexandre.belloni@bootlin.com>13 14description: |15  Bindings for the Microchip VSC7514 switch driver16 17  The VSC7514 switch driver handles up to 11 ports and can inject/extract18  packets using CPU. Additionally, PTP is supported as well as FDMA for faster19  packet extraction/injection.20 21allOf:22  - if:23      properties:24        compatible:25          const: mscc,vsc7514-switch26    then:27      $ref: ethernet-switch.yaml#/$defs/ethernet-ports28      required:29        - interrupts30        - interrupt-names31      properties:32        reg:33          minItems: 2134        reg-names:35          minItems: 2136 37  - if:38      properties:39        compatible:40          const: mscc,vsc7512-switch41    then:42      $ref: /schemas/net/dsa/dsa.yaml#/$defs/ethernet-ports43      properties:44        reg:45          maxItems: 2046        reg-names:47          maxItems: 2048 49properties:50  compatible:51    enum:52      - mscc,vsc7512-switch53      - mscc,vsc7514-switch54 55  reg:56    minItems: 2057    items:58      - description: system target59      - description: rewriter target60      - description: qs target61      - description: PTP target62      - description: Port0 target63      - description: Port1 target64      - description: Port2 target65      - description: Port3 target66      - description: Port4 target67      - description: Port5 target68      - description: Port6 target69      - description: Port7 target70      - description: Port8 target71      - description: Port9 target72      - description: Port10 target73      - description: QSystem target74      - description: Analyzer target75      - description: S0 target76      - description: S1 target77      - description: S2 target78      - description: fdma target79 80  reg-names:81    minItems: 2082    items:83      - const: sys84      - const: rew85      - const: qs86      - const: ptp87      - const: port088      - const: port189      - const: port290      - const: port391      - const: port492      - const: port593      - const: port694      - const: port795      - const: port896      - const: port997      - const: port1098      - const: qsys99      - const: ana100      - const: s0101      - const: s1102      - const: s2103      - const: fdma104 105  interrupts:106    minItems: 1107    items:108      - description: PTP ready109      - description: register based extraction110      - description: frame dma based extraction111 112  interrupt-names:113    minItems: 1114    items:115      - const: ptp_rdy116      - const: xtr117      - const: fdma118 119required:120  - compatible121  - reg122  - reg-names123  - ethernet-ports124 125unevaluatedProperties: false126 127examples:128  # VSC7514 (Switchdev)129  - |130    switch@1010000 {131      compatible = "mscc,vsc7514-switch";132      reg = <0x1010000 0x10000>,133            <0x1030000 0x10000>,134            <0x1080000 0x100>,135            <0x10e0000 0x10000>,136            <0x11e0000 0x100>,137            <0x11f0000 0x100>,138            <0x1200000 0x100>,139            <0x1210000 0x100>,140            <0x1220000 0x100>,141            <0x1230000 0x100>,142            <0x1240000 0x100>,143            <0x1250000 0x100>,144            <0x1260000 0x100>,145            <0x1270000 0x100>,146            <0x1280000 0x100>,147            <0x1800000 0x80000>,148            <0x1880000 0x10000>,149            <0x1040000 0x10000>,150            <0x1050000 0x10000>,151            <0x1060000 0x10000>,152            <0x1a0 0x1c4>;153      reg-names = "sys", "rew", "qs", "ptp", "port0", "port1",154            "port2", "port3", "port4", "port5", "port6",155            "port7", "port8", "port9", "port10", "qsys",156            "ana", "s0", "s1", "s2", "fdma";157      interrupts = <18 21 16>;158      interrupt-names = "ptp_rdy", "xtr", "fdma";159 160      ethernet-ports {161        #address-cells = <1>;162        #size-cells = <0>;163 164        port0: port@0 {165          reg = <0>;166          phy-handle = <&phy0>;167          phy-mode = "internal";168        };169        port1: port@1 {170          reg = <1>;171          phy-handle = <&phy1>;172          phy-mode = "internal";173        };174      };175    };176  # VSC7512 (DSA)177  - |178    ethernet-switch@1 {179      compatible = "mscc,vsc7512-switch";180      reg = <0x71010000 0x10000>,181            <0x71030000 0x10000>,182            <0x71080000 0x100>,183            <0x710e0000 0x10000>,184            <0x711e0000 0x100>,185            <0x711f0000 0x100>,186            <0x71200000 0x100>,187            <0x71210000 0x100>,188            <0x71220000 0x100>,189            <0x71230000 0x100>,190            <0x71240000 0x100>,191            <0x71250000 0x100>,192            <0x71260000 0x100>,193            <0x71270000 0x100>,194            <0x71280000 0x100>,195            <0x71800000 0x80000>,196            <0x71880000 0x10000>,197            <0x71040000 0x10000>,198            <0x71050000 0x10000>,199            <0x71060000 0x10000>;200            reg-names = "sys", "rew", "qs", "ptp", "port0", "port1",201            "port2", "port3", "port4", "port5", "port6",202            "port7", "port8", "port9", "port10", "qsys",203            "ana", "s0", "s1", "s2";204 205      ethernet-ports {206        #address-cells = <1>;207        #size-cells = <0>;208 209        port@0 {210          reg = <0>;211          ethernet = <&mac_sw>;212          phy-handle = <&phy0>;213          phy-mode = "internal";214        };215        port@1 {216          reg = <1>;217          phy-handle = <&phy1>;218          phy-mode = "internal";219        };220      };221    };222 223...224