brintos

brintos / linux-shallow public Read only

0
0
Text · 6.7 KiB · c296e57 Raw
234 lines · yaml
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)2%YAML 1.23---4$id: http://devicetree.org/schemas/net/ti,icssg-prueth.yaml#5$schema: http://devicetree.org/meta-schemas/core.yaml#6 7title: Texas Instruments ICSSG PRUSS Ethernet8 9maintainers:10  - Md Danish Anwar <danishanwar@ti.com>11 12description:13  Ethernet based on the Programmable Real-Time Unit and Industrial14  Communication Subsystem.15 16properties:17  compatible:18    enum:19      - ti,am642-icssg-prueth      # for AM64x SoC family20      - ti,am654-icssg-prueth      # for AM65x SoC family21      - ti,am654-sr1-icssg-prueth  # for AM65x SoC family, SR1.022 23  sram:24    $ref: /schemas/types.yaml#/definitions/phandle25    description:26      phandle to MSMC SRAM node27 28  dmas:29    minItems: 1030    maxItems: 1231 32  dma-names:33    minItems: 1034    items:35      - const: tx0-036      - const: tx0-137      - const: tx0-238      - const: tx0-339      - const: tx1-040      - const: tx1-141      - const: tx1-242      - const: tx1-343      - const: rx044      - const: rx145      - const: rxmgm046      - const: rxmgm147 48  ti,mii-g-rt:49    $ref: /schemas/types.yaml#/definitions/phandle50    description:51      phandle to MII_G_RT module's syscon regmap.52 53  ti,mii-rt:54    $ref: /schemas/types.yaml#/definitions/phandle55    description:56      phandle to MII_RT module's syscon regmap57 58  ti,pa-stats:59    $ref: /schemas/types.yaml#/definitions/phandle60    description:61      phandle to PA_STATS module's syscon regmap. PA_STATS is a set of62      registers where different statistics related to ICSSG, are dumped by63      ICSSG firmware. PA_STATS module's syscon regmap will help the device to64      access/read/write those statistics.65 66  ti,iep:67    $ref: /schemas/types.yaml#/definitions/phandle-array68    maxItems: 269    items:70      maxItems: 171    description:72      phandle to IEP (Industrial Ethernet Peripheral) for ICSSG73 74  interrupts:75    maxItems: 276    description:77      Interrupt specifiers to TX timestamp IRQ.78 79  interrupt-names:80    items:81      - const: tx_ts082      - const: tx_ts183 84  ethernet-ports:85    type: object86    additionalProperties: false87 88    properties:89      '#address-cells':90        const: 191      '#size-cells':92        const: 093 94    patternProperties:95      ^port@[0-1]$:96        type: object97        description: ICSSG PRUETH external ports98        $ref: ethernet-controller.yaml#99        unevaluatedProperties: false100 101        properties:102          reg:103            items:104              - enum: [0, 1]105            description: ICSSG PRUETH port number106 107          interrupts:108            maxItems: 1109 110          ti,syscon-rgmii-delay:111            items:112              - items:113                  - description: phandle to system controller node114                  - description: The offset to ICSSG control register115            $ref: /schemas/types.yaml#/definitions/phandle-array116            description:117              phandle to system controller node and register offset118              to ICSSG control register for RGMII transmit delay119 120          ti,half-duplex-capable:121            type: boolean122            description:123              Indicates that the PHY output pin COL is routed to ICSSG GPIO pin124              (PRGx_PRU0/1_GPIO10) as input so that the ICSSG MII port is125              capable of half duplex operations.126 127        required:128          - reg129    anyOf:130      - required:131          - port@0132      - required:133          - port@1134 135required:136  - compatible137  - sram138  - dmas139  - dma-names140  - ethernet-ports141  - ti,mii-g-rt142  - interrupts143  - interrupt-names144 145allOf:146  - $ref: /schemas/remoteproc/ti,pru-consumer.yaml#147 148  - if:149      properties:150        compatible:151          contains:152            const: ti,am654-sr1-icssg-prueth153    then:154      properties:155        dmas:156          minItems: 12157        dma-names:158          minItems: 12159    else:160      properties:161        dmas:162          maxItems: 10163        dma-names:164          maxItems: 10165 166unevaluatedProperties: false167 168examples:169  - |170    /* Example k3-am654 base board SR2.0, dual-emac */171    pruss2_eth: ethernet {172        compatible = "ti,am654-icssg-prueth";173        pinctrl-names = "default";174        pinctrl-0 = <&icssg2_rgmii_pins_default>;175        sram = <&msmc_ram>;176 177        ti,prus = <&pru2_0>, <&rtu2_0>, <&tx_pru2_0>,178                  <&pru2_1>, <&rtu2_1>, <&tx_pru2_1>;179        firmware-name = "ti-pruss/am65x-pru0-prueth-fw.elf",180                        "ti-pruss/am65x-rtu0-prueth-fw.elf",181                        "ti-pruss/am65x-txpru0-prueth-fw.elf",182                        "ti-pruss/am65x-pru1-prueth-fw.elf",183                        "ti-pruss/am65x-rtu1-prueth-fw.elf",184                        "ti-pruss/am65x-txpru1-prueth-fw.elf";185        ti,pruss-gp-mux-sel = <2>,      /* MII mode */186                              <2>,187                              <2>,188                              <2>,      /* MII mode */189                              <2>,190                              <2>;191        dmas = <&main_udmap 0xc300>, /* egress slice 0 */192               <&main_udmap 0xc301>, /* egress slice 0 */193               <&main_udmap 0xc302>, /* egress slice 0 */194               <&main_udmap 0xc303>, /* egress slice 0 */195               <&main_udmap 0xc304>, /* egress slice 1 */196               <&main_udmap 0xc305>, /* egress slice 1 */197               <&main_udmap 0xc306>, /* egress slice 1 */198               <&main_udmap 0xc307>, /* egress slice 1 */199               <&main_udmap 0x4300>, /* ingress slice 0 */200               <&main_udmap 0x4301>; /* ingress slice 1 */201        dma-names = "tx0-0", "tx0-1", "tx0-2", "tx0-3",202                    "tx1-0", "tx1-1", "tx1-2", "tx1-3",203                    "rx0", "rx1";204        ti,mii-g-rt = <&icssg2_mii_g_rt>;205        ti,pa-stats = <&icssg2_pa_stats>;206        ti,iep = <&icssg2_iep0>, <&icssg2_iep1>;207        interrupt-parent = <&icssg2_intc>;208        interrupts = <24 0 2>, <25 1 3>;209        interrupt-names = "tx_ts0", "tx_ts1";210        ethernet-ports {211            #address-cells = <1>;212            #size-cells = <0>;213            pruss2_emac0: port@0 {214                reg = <0>;215                phy-handle = <&pruss2_eth0_phy>;216                phy-mode = "rgmii-id";217                interrupts-extended = <&icssg2_intc 24>;218                ti,syscon-rgmii-delay = <&scm_conf 0x4120>;219                /* Filled in by bootloader */220                local-mac-address = [00 00 00 00 00 00];221            };222 223            pruss2_emac1: port@1 {224                reg = <1>;225                phy-handle = <&pruss2_eth1_phy>;226                phy-mode = "rgmii-id";227                interrupts-extended = <&icssg2_intc 25>;228                ti,syscon-rgmii-delay = <&scm_conf 0x4124>;229                /* Filled in by bootloader */230                local-mac-address = [00 00 00 00 00 00];231            };232        };233    };234