xref: /linux/Documentation/devicetree/bindings/net/qcom,ipq9574-ppe.yaml (revision 2ed2e359dea752e7758d29a423033031a0b96584)
11898fc57SLuo Jie# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause
21898fc57SLuo Jie%YAML 1.2
31898fc57SLuo Jie---
41898fc57SLuo Jie$id: http://devicetree.org/schemas/net/qcom,ipq9574-ppe.yaml#
51898fc57SLuo Jie$schema: http://devicetree.org/meta-schemas/core.yaml#
61898fc57SLuo Jie
71898fc57SLuo Jietitle: Qualcomm IPQ packet process engine (PPE)
81898fc57SLuo Jie
91898fc57SLuo Jiemaintainers:
10*efd7fb21SKrzysztof Kozlowski  - Luo Jie <jie.luo@oss.qualcomm.com>
111898fc57SLuo Jie  - Lei Wei <quic_leiwei@quicinc.com>
121898fc57SLuo Jie  - Suruchi Agarwal <quic_suruchia@quicinc.com>
131898fc57SLuo Jie  - Pavithra R <quic_pavir@quicinc.com>
141898fc57SLuo Jie
151898fc57SLuo Jiedescription: |
161898fc57SLuo Jie  The Ethernet functionality in the PPE (Packet Process Engine) is comprised
171898fc57SLuo Jie  of three components, the switch core, port wrapper and Ethernet DMA.
181898fc57SLuo Jie
191898fc57SLuo Jie  The Switch core in the IPQ9574 PPE has maximum of 6 front panel ports and
201898fc57SLuo Jie  two FIFO interfaces. One of the two FIFO interfaces is used for Ethernet
211898fc57SLuo Jie  port to host CPU communication using Ethernet DMA. The other is used
221898fc57SLuo Jie  communicating to the EIP engine which is used for IPsec offload. On the
231898fc57SLuo Jie  IPQ9574, the PPE includes 6 GMAC/XGMACs that can be connected with external
241898fc57SLuo Jie  Ethernet PHY. Switch core also includes BM (Buffer Management), QM (Queue
251898fc57SLuo Jie  Management) and SCH (Scheduler) modules for supporting the packet processing.
261898fc57SLuo Jie
271898fc57SLuo Jie  The port wrapper provides connections from the 6 GMAC/XGMACS to UNIPHY (PCS)
281898fc57SLuo Jie  supporting various modes such as SGMII/QSGMII/PSGMII/USXGMII/10G-BASER. There
291898fc57SLuo Jie  are 3 UNIPHY (PCS) instances supported on the IPQ9574.
301898fc57SLuo Jie
311898fc57SLuo Jie  Ethernet DMA is used to transmit and receive packets between the six Ethernet
321898fc57SLuo Jie  ports and ARM host CPU.
331898fc57SLuo Jie
341898fc57SLuo Jie  The follow diagram shows the PPE hardware block along with its connectivity
351898fc57SLuo Jie  to the external hardware blocks such clock hardware blocks (CMNPLL, GCC,
361898fc57SLuo Jie  NSS clock controller) and Ethernet PCS/PHY blocks. For depicting the PHY
371898fc57SLuo Jie  connectivity, one 4x1 Gbps PHY (QCA8075) and two 10 GBps PHYs are used as an
381898fc57SLuo Jie  example.
391898fc57SLuo Jie
401898fc57SLuo Jie           +---------+
411898fc57SLuo Jie           |  48 MHZ |
421898fc57SLuo Jie           +----+----+
431898fc57SLuo Jie                |(clock)
441898fc57SLuo Jie                v
451898fc57SLuo Jie           +----+----+
461898fc57SLuo Jie    +------| CMN PLL |
471898fc57SLuo Jie    |      +----+----+
481898fc57SLuo Jie    |           |(clock)
491898fc57SLuo Jie    |           v
501898fc57SLuo Jie    |      +----+----+           +----+----+  (clock) +----+----+
511898fc57SLuo Jie    |  +---|  NSSCC  |           |   GCC   |--------->|   MDIO  |
521898fc57SLuo Jie    |  |   +----+----+           +----+----+          +----+----+
531898fc57SLuo Jie    |  |        |(clock & reset)      |(clock)
541898fc57SLuo Jie    |  |        v                     v
551898fc57SLuo Jie    |  |   +----+---------------------+--+----------+----------+---------+
561898fc57SLuo Jie    |  |   |       +-----+               |EDMA FIFO |          | EIP FIFO|
571898fc57SLuo Jie    |  |   |       | SCH |               +----------+          +---------+
581898fc57SLuo Jie    |  |   |       +-----+                        |              |       |
591898fc57SLuo Jie    |  |   |  +------+   +------+               +-------------------+    |
601898fc57SLuo Jie    |  |   |  |  BM  |   |  QM  |  IPQ9574-PPE  |    L2/L3 Process  |    |
611898fc57SLuo Jie    |  |   |  +------+   +------+               +-------------------+    |
621898fc57SLuo Jie    |  |   |                                             |               |
631898fc57SLuo Jie    |  |   | +-------+ +-------+ +-------+ +-------+ +-------+ +-------+ |
641898fc57SLuo Jie    |  |   | |  MAC0 | |  MAC1 | |  MAC2 | |  MAC3 | | XGMAC4| |XGMAC5 | |
651898fc57SLuo Jie    |  |   | +---+---+ +---+---+ +---+---+ +---+---+ +---+---+ +---+---+ |
661898fc57SLuo Jie    |  |   |     |         |         |         |         |         |     |
671898fc57SLuo Jie    |  |   +-----+---------+---------+---------+---------+---------+-----+
681898fc57SLuo Jie    |  |         |         |         |         |         |         |
691898fc57SLuo Jie    |  |     +---+---------+---------+---------+---+ +---+---+ +---+---+
701898fc57SLuo Jie    +--+---->|                PCS0                 | |  PCS1 | | PCS2  |
711898fc57SLuo Jie    |(clock) +---+---------+---------+---------+---+ +---+---+ +---+---+
721898fc57SLuo Jie    |            |         |         |         |         |         |
731898fc57SLuo Jie    |        +---+---------+---------+---------+---+ +---+---+ +---+---+
741898fc57SLuo Jie    +------->|             QCA8075 PHY             | | PHY4  | | PHY5  |
751898fc57SLuo Jie     (clock) +-------------------------------------+ +-------+ +-------+
761898fc57SLuo Jie
771898fc57SLuo Jieproperties:
781898fc57SLuo Jie  compatible:
791898fc57SLuo Jie    enum:
801898fc57SLuo Jie      - qcom,ipq9574-ppe
811898fc57SLuo Jie
821898fc57SLuo Jie  reg:
831898fc57SLuo Jie    maxItems: 1
841898fc57SLuo Jie
851898fc57SLuo Jie  clocks:
861898fc57SLuo Jie    items:
871898fc57SLuo Jie      - description: PPE core clock
881898fc57SLuo Jie      - description: PPE APB (Advanced Peripheral Bus) clock
891898fc57SLuo Jie      - description: PPE IPE (Ingress Process Engine) clock
901898fc57SLuo Jie      - description: PPE BM, QM and scheduler clock
911898fc57SLuo Jie
921898fc57SLuo Jie  clock-names:
931898fc57SLuo Jie    items:
941898fc57SLuo Jie      - const: ppe
951898fc57SLuo Jie      - const: apb
961898fc57SLuo Jie      - const: ipe
971898fc57SLuo Jie      - const: btq
981898fc57SLuo Jie
991898fc57SLuo Jie  resets:
1001898fc57SLuo Jie    maxItems: 1
1011898fc57SLuo Jie    description: PPE reset, which is necessary before configuring PPE hardware
1021898fc57SLuo Jie
1031898fc57SLuo Jie  interrupts:
1041898fc57SLuo Jie    maxItems: 1
1051898fc57SLuo Jie    description: PPE switch miscellaneous interrupt
1061898fc57SLuo Jie
1071898fc57SLuo Jie  interconnects:
1081898fc57SLuo Jie    items:
1091898fc57SLuo Jie      - description: Bus interconnect path leading to PPE switch core function
1101898fc57SLuo Jie      - description: Bus interconnect path leading to PPE register access
1111898fc57SLuo Jie      - description: Bus interconnect path leading to QoS generation
1121898fc57SLuo Jie      - description: Bus interconnect path leading to timeout reference
1131898fc57SLuo Jie      - description: Bus interconnect path leading to NSS NOC from memory NOC
1141898fc57SLuo Jie      - description: Bus interconnect path leading to memory NOC from NSS NOC
1151898fc57SLuo Jie      - description: Bus interconnect path leading to enhanced memory NOC from NSS NOC
1161898fc57SLuo Jie
1171898fc57SLuo Jie  interconnect-names:
1181898fc57SLuo Jie    items:
1191898fc57SLuo Jie      - const: ppe
1201898fc57SLuo Jie      - const: ppe_cfg
1211898fc57SLuo Jie      - const: qos_gen
1221898fc57SLuo Jie      - const: timeout_ref
1231898fc57SLuo Jie      - const: nssnoc_memnoc
1241898fc57SLuo Jie      - const: memnoc_nssnoc
1251898fc57SLuo Jie      - const: memnoc_nssnoc_1
1261898fc57SLuo Jie
1271898fc57SLuo Jie  ethernet-dma:
1281898fc57SLuo Jie    type: object
1291898fc57SLuo Jie    additionalProperties: false
1301898fc57SLuo Jie    description:
1311898fc57SLuo Jie      EDMA (Ethernet DMA) is used to transmit packets between PPE and ARM
1321898fc57SLuo Jie      host CPU. There are 32 TX descriptor rings, 32 TX completion rings,
1331898fc57SLuo Jie      24 RX descriptor rings and 8 RX fill rings supported.
1341898fc57SLuo Jie
1351898fc57SLuo Jie    properties:
1361898fc57SLuo Jie      clocks:
1371898fc57SLuo Jie        items:
1381898fc57SLuo Jie          - description: EDMA system clock
1391898fc57SLuo Jie          - description: EDMA APB (Advanced Peripheral Bus) clock
1401898fc57SLuo Jie
1411898fc57SLuo Jie      clock-names:
1421898fc57SLuo Jie        items:
1431898fc57SLuo Jie          - const: sys
1441898fc57SLuo Jie          - const: apb
1451898fc57SLuo Jie
1461898fc57SLuo Jie      resets:
1471898fc57SLuo Jie        maxItems: 1
1481898fc57SLuo Jie        description: EDMA reset
1491898fc57SLuo Jie
1501898fc57SLuo Jie      interrupts:
1511898fc57SLuo Jie        minItems: 65
1521898fc57SLuo Jie        maxItems: 65
1531898fc57SLuo Jie
1541898fc57SLuo Jie      interrupt-names:
1551898fc57SLuo Jie        minItems: 65
1561898fc57SLuo Jie        maxItems: 65
1571898fc57SLuo Jie        items:
1581898fc57SLuo Jie          oneOf:
1591898fc57SLuo Jie            - pattern: '^txcmpl_([1-2]?[0-9]|3[01])$'
1601898fc57SLuo Jie            - pattern: '^rxfill_[0-7]$'
1611898fc57SLuo Jie            - pattern: '^rxdesc_(1?[0-9]|2[0-3])$'
1621898fc57SLuo Jie            - const: misc
1631898fc57SLuo Jie        description:
1641898fc57SLuo Jie          Interrupts "txcmpl_[0-31]" are the Ethernet DMA TX completion ring interrupts.
1651898fc57SLuo Jie          Interrupts "rxfill_[0-7]" are the Ethernet DMA RX fill ring interrupts.
1661898fc57SLuo Jie          Interrupts "rxdesc_[0-23]" are the Ethernet DMA RX Descriptor ring interrupts.
1671898fc57SLuo Jie          Interrupt "misc" is the Ethernet DMA miscellaneous error interrupt.
1681898fc57SLuo Jie
1691898fc57SLuo Jie    required:
1701898fc57SLuo Jie      - clocks
1711898fc57SLuo Jie      - clock-names
1721898fc57SLuo Jie      - resets
1731898fc57SLuo Jie      - interrupts
1741898fc57SLuo Jie      - interrupt-names
1751898fc57SLuo Jie
1761898fc57SLuo Jie  ethernet-ports:
1771898fc57SLuo Jie    patternProperties:
1781898fc57SLuo Jie      "^ethernet-port@[1-6]+$":
1791898fc57SLuo Jie        type: object
1801898fc57SLuo Jie        unevaluatedProperties: false
1811898fc57SLuo Jie        $ref: ethernet-switch-port.yaml#
1821898fc57SLuo Jie
1831898fc57SLuo Jie        properties:
1841898fc57SLuo Jie          reg:
1851898fc57SLuo Jie            minimum: 1
1861898fc57SLuo Jie            maximum: 6
1871898fc57SLuo Jie            description: PPE Ethernet port ID
1881898fc57SLuo Jie
1891898fc57SLuo Jie          clocks:
1901898fc57SLuo Jie            items:
1911898fc57SLuo Jie              - description: Port MAC clock
1921898fc57SLuo Jie              - description: Port RX clock
1931898fc57SLuo Jie              - description: Port TX clock
1941898fc57SLuo Jie
1951898fc57SLuo Jie          clock-names:
1961898fc57SLuo Jie            items:
1971898fc57SLuo Jie              - const: mac
1981898fc57SLuo Jie              - const: rx
1991898fc57SLuo Jie              - const: tx
2001898fc57SLuo Jie
2011898fc57SLuo Jie          resets:
2021898fc57SLuo Jie            items:
2031898fc57SLuo Jie              - description: Port MAC reset
2041898fc57SLuo Jie              - description: Port RX reset
2051898fc57SLuo Jie              - description: Port TX reset
2061898fc57SLuo Jie
2071898fc57SLuo Jie          reset-names:
2081898fc57SLuo Jie            items:
2091898fc57SLuo Jie              - const: mac
2101898fc57SLuo Jie              - const: rx
2111898fc57SLuo Jie              - const: tx
2121898fc57SLuo Jie
2131898fc57SLuo Jie        required:
2141898fc57SLuo Jie          - reg
2151898fc57SLuo Jie          - clocks
2161898fc57SLuo Jie          - clock-names
2171898fc57SLuo Jie          - resets
2181898fc57SLuo Jie          - reset-names
2191898fc57SLuo Jie
2201898fc57SLuo Jierequired:
2211898fc57SLuo Jie  - compatible
2221898fc57SLuo Jie  - reg
2231898fc57SLuo Jie  - clocks
2241898fc57SLuo Jie  - clock-names
2251898fc57SLuo Jie  - resets
2261898fc57SLuo Jie  - interconnects
2271898fc57SLuo Jie  - interconnect-names
2281898fc57SLuo Jie  - ethernet-dma
2291898fc57SLuo Jie
2301898fc57SLuo JieallOf:
2311898fc57SLuo Jie  - $ref: ethernet-switch.yaml
2321898fc57SLuo Jie
2331898fc57SLuo JieunevaluatedProperties: false
2341898fc57SLuo Jie
2351898fc57SLuo Jieexamples:
2361898fc57SLuo Jie  - |
2371898fc57SLuo Jie    #include <dt-bindings/clock/qcom,ipq9574-gcc.h>
2381898fc57SLuo Jie    #include <dt-bindings/clock/qcom,ipq9574-nsscc.h>
2391898fc57SLuo Jie    #include <dt-bindings/interconnect/qcom,ipq9574.h>
2401898fc57SLuo Jie    #include <dt-bindings/interrupt-controller/arm-gic.h>
2411898fc57SLuo Jie    #include <dt-bindings/reset/qcom,ipq9574-nsscc.h>
2421898fc57SLuo Jie
2431898fc57SLuo Jie    ethernet-switch@3a000000 {
2441898fc57SLuo Jie        compatible = "qcom,ipq9574-ppe";
2451898fc57SLuo Jie        reg = <0x3a000000 0xbef800>;
2461898fc57SLuo Jie        clocks = <&nsscc NSS_CC_PPE_SWITCH_CLK>,
2471898fc57SLuo Jie                 <&nsscc NSS_CC_PPE_SWITCH_CFG_CLK>,
2481898fc57SLuo Jie                 <&nsscc NSS_CC_PPE_SWITCH_IPE_CLK>,
2491898fc57SLuo Jie                 <&nsscc NSS_CC_PPE_SWITCH_BTQ_CLK>;
2501898fc57SLuo Jie        clock-names = "ppe",
2511898fc57SLuo Jie                      "apb",
2521898fc57SLuo Jie                      "ipe",
2531898fc57SLuo Jie                      "btq";
2541898fc57SLuo Jie        resets = <&nsscc PPE_FULL_RESET>;
2551898fc57SLuo Jie        interrupts = <GIC_SPI 498 IRQ_TYPE_LEVEL_HIGH>;
2561898fc57SLuo Jie        interconnects = <&nsscc MASTER_NSSNOC_PPE &nsscc SLAVE_NSSNOC_PPE>,
2571898fc57SLuo Jie                        <&nsscc MASTER_NSSNOC_PPE_CFG &nsscc SLAVE_NSSNOC_PPE_CFG>,
2581898fc57SLuo Jie                        <&gcc MASTER_NSSNOC_QOSGEN_REF &gcc SLAVE_NSSNOC_QOSGEN_REF>,
2591898fc57SLuo Jie                        <&gcc MASTER_NSSNOC_TIMEOUT_REF &gcc SLAVE_NSSNOC_TIMEOUT_REF>,
2601898fc57SLuo Jie                        <&gcc MASTER_MEM_NOC_NSSNOC &gcc SLAVE_MEM_NOC_NSSNOC>,
2611898fc57SLuo Jie                        <&gcc MASTER_NSSNOC_MEMNOC &gcc SLAVE_NSSNOC_MEMNOC>,
2621898fc57SLuo Jie                        <&gcc MASTER_NSSNOC_MEM_NOC_1 &gcc SLAVE_NSSNOC_MEM_NOC_1>;
2631898fc57SLuo Jie        interconnect-names = "ppe",
2641898fc57SLuo Jie                             "ppe_cfg",
2651898fc57SLuo Jie                             "qos_gen",
2661898fc57SLuo Jie                             "timeout_ref",
2671898fc57SLuo Jie                             "nssnoc_memnoc",
2681898fc57SLuo Jie                             "memnoc_nssnoc",
2691898fc57SLuo Jie                             "memnoc_nssnoc_1";
2701898fc57SLuo Jie
2711898fc57SLuo Jie        ethernet-dma {
2721898fc57SLuo Jie            clocks = <&nsscc NSS_CC_PPE_EDMA_CLK>,
2731898fc57SLuo Jie                     <&nsscc NSS_CC_PPE_EDMA_CFG_CLK>;
2741898fc57SLuo Jie            clock-names = "sys",
2751898fc57SLuo Jie                          "apb";
2761898fc57SLuo Jie            resets = <&nsscc EDMA_HW_RESET>;
2771898fc57SLuo Jie            interrupts = <GIC_SPI 363 IRQ_TYPE_LEVEL_HIGH>,
2781898fc57SLuo Jie                         <GIC_SPI 364 IRQ_TYPE_LEVEL_HIGH>,
2791898fc57SLuo Jie                         <GIC_SPI 365 IRQ_TYPE_LEVEL_HIGH>,
2801898fc57SLuo Jie                         <GIC_SPI 366 IRQ_TYPE_LEVEL_HIGH>,
2811898fc57SLuo Jie                         <GIC_SPI 367 IRQ_TYPE_LEVEL_HIGH>,
2821898fc57SLuo Jie                         <GIC_SPI 368 IRQ_TYPE_LEVEL_HIGH>,
2831898fc57SLuo Jie                         <GIC_SPI 369 IRQ_TYPE_LEVEL_HIGH>,
2841898fc57SLuo Jie                         <GIC_SPI 370 IRQ_TYPE_LEVEL_HIGH>,
2851898fc57SLuo Jie                         <GIC_SPI 371 IRQ_TYPE_LEVEL_HIGH>,
2861898fc57SLuo Jie                         <GIC_SPI 372 IRQ_TYPE_LEVEL_HIGH>,
2871898fc57SLuo Jie                         <GIC_SPI 373 IRQ_TYPE_LEVEL_HIGH>,
2881898fc57SLuo Jie                         <GIC_SPI 374 IRQ_TYPE_LEVEL_HIGH>,
2891898fc57SLuo Jie                         <GIC_SPI 375 IRQ_TYPE_LEVEL_HIGH>,
2901898fc57SLuo Jie                         <GIC_SPI 376 IRQ_TYPE_LEVEL_HIGH>,
2911898fc57SLuo Jie                         <GIC_SPI 377 IRQ_TYPE_LEVEL_HIGH>,
2921898fc57SLuo Jie                         <GIC_SPI 378 IRQ_TYPE_LEVEL_HIGH>,
2931898fc57SLuo Jie                         <GIC_SPI 379 IRQ_TYPE_LEVEL_HIGH>,
2941898fc57SLuo Jie                         <GIC_SPI 380 IRQ_TYPE_LEVEL_HIGH>,
2951898fc57SLuo Jie                         <GIC_SPI 381 IRQ_TYPE_LEVEL_HIGH>,
2961898fc57SLuo Jie                         <GIC_SPI 382 IRQ_TYPE_LEVEL_HIGH>,
2971898fc57SLuo Jie                         <GIC_SPI 383 IRQ_TYPE_LEVEL_HIGH>,
2981898fc57SLuo Jie                         <GIC_SPI 384 IRQ_TYPE_LEVEL_HIGH>,
2991898fc57SLuo Jie                         <GIC_SPI 509 IRQ_TYPE_LEVEL_HIGH>,
3001898fc57SLuo Jie                         <GIC_SPI 508 IRQ_TYPE_LEVEL_HIGH>,
3011898fc57SLuo Jie                         <GIC_SPI 507 IRQ_TYPE_LEVEL_HIGH>,
3021898fc57SLuo Jie                         <GIC_SPI 506 IRQ_TYPE_LEVEL_HIGH>,
3031898fc57SLuo Jie                         <GIC_SPI 505 IRQ_TYPE_LEVEL_HIGH>,
3041898fc57SLuo Jie                         <GIC_SPI 504 IRQ_TYPE_LEVEL_HIGH>,
3051898fc57SLuo Jie                         <GIC_SPI 503 IRQ_TYPE_LEVEL_HIGH>,
3061898fc57SLuo Jie                         <GIC_SPI 502 IRQ_TYPE_LEVEL_HIGH>,
3071898fc57SLuo Jie                         <GIC_SPI 501 IRQ_TYPE_LEVEL_HIGH>,
3081898fc57SLuo Jie                         <GIC_SPI 500 IRQ_TYPE_LEVEL_HIGH>,
3091898fc57SLuo Jie                         <GIC_SPI 355 IRQ_TYPE_LEVEL_HIGH>,
3101898fc57SLuo Jie                         <GIC_SPI 356 IRQ_TYPE_LEVEL_HIGH>,
3111898fc57SLuo Jie                         <GIC_SPI 357 IRQ_TYPE_LEVEL_HIGH>,
3121898fc57SLuo Jie                         <GIC_SPI 358 IRQ_TYPE_LEVEL_HIGH>,
3131898fc57SLuo Jie                         <GIC_SPI 359 IRQ_TYPE_LEVEL_HIGH>,
3141898fc57SLuo Jie                         <GIC_SPI 360 IRQ_TYPE_LEVEL_HIGH>,
3151898fc57SLuo Jie                         <GIC_SPI 361 IRQ_TYPE_LEVEL_HIGH>,
3161898fc57SLuo Jie                         <GIC_SPI 362 IRQ_TYPE_LEVEL_HIGH>,
3171898fc57SLuo Jie                         <GIC_SPI 331 IRQ_TYPE_LEVEL_HIGH>,
3181898fc57SLuo Jie                         <GIC_SPI 332 IRQ_TYPE_LEVEL_HIGH>,
3191898fc57SLuo Jie                         <GIC_SPI 333 IRQ_TYPE_LEVEL_HIGH>,
3201898fc57SLuo Jie                         <GIC_SPI 334 IRQ_TYPE_LEVEL_HIGH>,
3211898fc57SLuo Jie                         <GIC_SPI 335 IRQ_TYPE_LEVEL_HIGH>,
3221898fc57SLuo Jie                         <GIC_SPI 336 IRQ_TYPE_LEVEL_HIGH>,
3231898fc57SLuo Jie                         <GIC_SPI 337 IRQ_TYPE_LEVEL_HIGH>,
3241898fc57SLuo Jie                         <GIC_SPI 338 IRQ_TYPE_LEVEL_HIGH>,
3251898fc57SLuo Jie                         <GIC_SPI 339 IRQ_TYPE_LEVEL_HIGH>,
3261898fc57SLuo Jie                         <GIC_SPI 340 IRQ_TYPE_LEVEL_HIGH>,
3271898fc57SLuo Jie                         <GIC_SPI 341 IRQ_TYPE_LEVEL_HIGH>,
3281898fc57SLuo Jie                         <GIC_SPI 342 IRQ_TYPE_LEVEL_HIGH>,
3291898fc57SLuo Jie                         <GIC_SPI 343 IRQ_TYPE_LEVEL_HIGH>,
3301898fc57SLuo Jie                         <GIC_SPI 344 IRQ_TYPE_LEVEL_HIGH>,
3311898fc57SLuo Jie                         <GIC_SPI 345 IRQ_TYPE_LEVEL_HIGH>,
3321898fc57SLuo Jie                         <GIC_SPI 346 IRQ_TYPE_LEVEL_HIGH>,
3331898fc57SLuo Jie                         <GIC_SPI 347 IRQ_TYPE_LEVEL_HIGH>,
3341898fc57SLuo Jie                         <GIC_SPI 348 IRQ_TYPE_LEVEL_HIGH>,
3351898fc57SLuo Jie                         <GIC_SPI 349 IRQ_TYPE_LEVEL_HIGH>,
3361898fc57SLuo Jie                         <GIC_SPI 350 IRQ_TYPE_LEVEL_HIGH>,
3371898fc57SLuo Jie                         <GIC_SPI 351 IRQ_TYPE_LEVEL_HIGH>,
3381898fc57SLuo Jie                         <GIC_SPI 352 IRQ_TYPE_LEVEL_HIGH>,
3391898fc57SLuo Jie                         <GIC_SPI 353 IRQ_TYPE_LEVEL_HIGH>,
3401898fc57SLuo Jie                         <GIC_SPI 354 IRQ_TYPE_LEVEL_HIGH>,
3411898fc57SLuo Jie                         <GIC_SPI 499 IRQ_TYPE_LEVEL_HIGH>;
3421898fc57SLuo Jie            interrupt-names = "txcmpl_0",
3431898fc57SLuo Jie                              "txcmpl_1",
3441898fc57SLuo Jie                              "txcmpl_2",
3451898fc57SLuo Jie                              "txcmpl_3",
3461898fc57SLuo Jie                              "txcmpl_4",
3471898fc57SLuo Jie                              "txcmpl_5",
3481898fc57SLuo Jie                              "txcmpl_6",
3491898fc57SLuo Jie                              "txcmpl_7",
3501898fc57SLuo Jie                              "txcmpl_8",
3511898fc57SLuo Jie                              "txcmpl_9",
3521898fc57SLuo Jie                              "txcmpl_10",
3531898fc57SLuo Jie                              "txcmpl_11",
3541898fc57SLuo Jie                              "txcmpl_12",
3551898fc57SLuo Jie                              "txcmpl_13",
3561898fc57SLuo Jie                              "txcmpl_14",
3571898fc57SLuo Jie                              "txcmpl_15",
3581898fc57SLuo Jie                              "txcmpl_16",
3591898fc57SLuo Jie                              "txcmpl_17",
3601898fc57SLuo Jie                              "txcmpl_18",
3611898fc57SLuo Jie                              "txcmpl_19",
3621898fc57SLuo Jie                              "txcmpl_20",
3631898fc57SLuo Jie                              "txcmpl_21",
3641898fc57SLuo Jie                              "txcmpl_22",
3651898fc57SLuo Jie                              "txcmpl_23",
3661898fc57SLuo Jie                              "txcmpl_24",
3671898fc57SLuo Jie                              "txcmpl_25",
3681898fc57SLuo Jie                              "txcmpl_26",
3691898fc57SLuo Jie                              "txcmpl_27",
3701898fc57SLuo Jie                              "txcmpl_28",
3711898fc57SLuo Jie                              "txcmpl_29",
3721898fc57SLuo Jie                              "txcmpl_30",
3731898fc57SLuo Jie                              "txcmpl_31",
3741898fc57SLuo Jie                              "rxfill_0",
3751898fc57SLuo Jie                              "rxfill_1",
3761898fc57SLuo Jie                              "rxfill_2",
3771898fc57SLuo Jie                              "rxfill_3",
3781898fc57SLuo Jie                              "rxfill_4",
3791898fc57SLuo Jie                              "rxfill_5",
3801898fc57SLuo Jie                              "rxfill_6",
3811898fc57SLuo Jie                              "rxfill_7",
3821898fc57SLuo Jie                              "rxdesc_0",
3831898fc57SLuo Jie                              "rxdesc_1",
3841898fc57SLuo Jie                              "rxdesc_2",
3851898fc57SLuo Jie                              "rxdesc_3",
3861898fc57SLuo Jie                              "rxdesc_4",
3871898fc57SLuo Jie                              "rxdesc_5",
3881898fc57SLuo Jie                              "rxdesc_6",
3891898fc57SLuo Jie                              "rxdesc_7",
3901898fc57SLuo Jie                              "rxdesc_8",
3911898fc57SLuo Jie                              "rxdesc_9",
3921898fc57SLuo Jie                              "rxdesc_10",
3931898fc57SLuo Jie                              "rxdesc_11",
3941898fc57SLuo Jie                              "rxdesc_12",
3951898fc57SLuo Jie                              "rxdesc_13",
3961898fc57SLuo Jie                              "rxdesc_14",
3971898fc57SLuo Jie                              "rxdesc_15",
3981898fc57SLuo Jie                              "rxdesc_16",
3991898fc57SLuo Jie                              "rxdesc_17",
4001898fc57SLuo Jie                              "rxdesc_18",
4011898fc57SLuo Jie                              "rxdesc_19",
4021898fc57SLuo Jie                              "rxdesc_20",
4031898fc57SLuo Jie                              "rxdesc_21",
4041898fc57SLuo Jie                              "rxdesc_22",
4051898fc57SLuo Jie                              "rxdesc_23",
4061898fc57SLuo Jie                              "misc";
4071898fc57SLuo Jie        };
4081898fc57SLuo Jie
4091898fc57SLuo Jie        ethernet-ports {
4101898fc57SLuo Jie            #address-cells = <1>;
4111898fc57SLuo Jie            #size-cells = <0>;
4121898fc57SLuo Jie
4131898fc57SLuo Jie            ethernet-port@1 {
4141898fc57SLuo Jie                reg = <1>;
4151898fc57SLuo Jie                phy-mode = "qsgmii";
4161898fc57SLuo Jie                managed = "in-band-status";
4171898fc57SLuo Jie                phy-handle = <&phy0>;
4181898fc57SLuo Jie                pcs-handle = <&pcs0_ch0>;
4191898fc57SLuo Jie                clocks = <&nsscc NSS_CC_PORT1_MAC_CLK>,
4201898fc57SLuo Jie                         <&nsscc NSS_CC_PORT1_RX_CLK>,
4211898fc57SLuo Jie                         <&nsscc NSS_CC_PORT1_TX_CLK>;
4221898fc57SLuo Jie                clock-names = "mac",
4231898fc57SLuo Jie                              "rx",
4241898fc57SLuo Jie                              "tx";
4251898fc57SLuo Jie                resets = <&nsscc PORT1_MAC_ARES>,
4261898fc57SLuo Jie                         <&nsscc PORT1_RX_ARES>,
4271898fc57SLuo Jie                         <&nsscc PORT1_TX_ARES>;
4281898fc57SLuo Jie                reset-names = "mac",
4291898fc57SLuo Jie                              "rx",
4301898fc57SLuo Jie                              "tx";
4311898fc57SLuo Jie            };
4321898fc57SLuo Jie
4331898fc57SLuo Jie            ethernet-port@2 {
4341898fc57SLuo Jie                reg = <2>;
4351898fc57SLuo Jie                phy-mode = "qsgmii";
4361898fc57SLuo Jie                managed = "in-band-status";
4371898fc57SLuo Jie                phy-handle = <&phy1>;
4381898fc57SLuo Jie                pcs-handle = <&pcs0_ch1>;
4391898fc57SLuo Jie                clocks = <&nsscc NSS_CC_PORT2_MAC_CLK>,
4401898fc57SLuo Jie                         <&nsscc NSS_CC_PORT2_RX_CLK>,
4411898fc57SLuo Jie                         <&nsscc NSS_CC_PORT2_TX_CLK>;
4421898fc57SLuo Jie                clock-names = "mac",
4431898fc57SLuo Jie                              "rx",
4441898fc57SLuo Jie                              "tx";
4451898fc57SLuo Jie                resets = <&nsscc PORT2_MAC_ARES>,
4461898fc57SLuo Jie                         <&nsscc PORT2_RX_ARES>,
4471898fc57SLuo Jie                         <&nsscc PORT2_TX_ARES>;
4481898fc57SLuo Jie                reset-names = "mac",
4491898fc57SLuo Jie                              "rx",
4501898fc57SLuo Jie                              "tx";
4511898fc57SLuo Jie            };
4521898fc57SLuo Jie
4531898fc57SLuo Jie            ethernet-port@3 {
4541898fc57SLuo Jie                reg = <3>;
4551898fc57SLuo Jie                phy-mode = "qsgmii";
4561898fc57SLuo Jie                managed = "in-band-status";
4571898fc57SLuo Jie                phy-handle = <&phy2>;
4581898fc57SLuo Jie                pcs-handle = <&pcs0_ch2>;
4591898fc57SLuo Jie                clocks = <&nsscc NSS_CC_PORT3_MAC_CLK>,
4601898fc57SLuo Jie                         <&nsscc NSS_CC_PORT3_RX_CLK>,
4611898fc57SLuo Jie                         <&nsscc NSS_CC_PORT3_TX_CLK>;
4621898fc57SLuo Jie                clock-names = "mac",
4631898fc57SLuo Jie                              "rx",
4641898fc57SLuo Jie                              "tx";
4651898fc57SLuo Jie                resets = <&nsscc PORT3_MAC_ARES>,
4661898fc57SLuo Jie                         <&nsscc PORT3_RX_ARES>,
4671898fc57SLuo Jie                         <&nsscc PORT3_TX_ARES>;
4681898fc57SLuo Jie                reset-names = "mac",
4691898fc57SLuo Jie                              "rx",
4701898fc57SLuo Jie                              "tx";
4711898fc57SLuo Jie            };
4721898fc57SLuo Jie
4731898fc57SLuo Jie            ethernet-port@4 {
4741898fc57SLuo Jie                reg = <4>;
4751898fc57SLuo Jie                phy-mode = "qsgmii";
4761898fc57SLuo Jie                managed = "in-band-status";
4771898fc57SLuo Jie                phy-handle = <&phy3>;
4781898fc57SLuo Jie                pcs-handle = <&pcs0_ch3>;
4791898fc57SLuo Jie                clocks = <&nsscc NSS_CC_PORT4_MAC_CLK>,
4801898fc57SLuo Jie                         <&nsscc NSS_CC_PORT4_RX_CLK>,
4811898fc57SLuo Jie                         <&nsscc NSS_CC_PORT4_TX_CLK>;
4821898fc57SLuo Jie                clock-names = "mac",
4831898fc57SLuo Jie                              "rx",
4841898fc57SLuo Jie                              "tx";
4851898fc57SLuo Jie                resets = <&nsscc PORT4_MAC_ARES>,
4861898fc57SLuo Jie                         <&nsscc PORT4_RX_ARES>,
4871898fc57SLuo Jie                         <&nsscc PORT4_TX_ARES>;
4881898fc57SLuo Jie                reset-names = "mac",
4891898fc57SLuo Jie                              "rx",
4901898fc57SLuo Jie                              "tx";
4911898fc57SLuo Jie            };
4921898fc57SLuo Jie
4931898fc57SLuo Jie            ethernet-port@5 {
4941898fc57SLuo Jie                reg = <5>;
4951898fc57SLuo Jie                phy-mode = "usxgmii";
4961898fc57SLuo Jie                managed = "in-band-status";
4971898fc57SLuo Jie                phy-handle = <&phy4>;
4981898fc57SLuo Jie                pcs-handle = <&pcs1_ch0>;
4991898fc57SLuo Jie                clocks = <&nsscc NSS_CC_PORT5_MAC_CLK>,
5001898fc57SLuo Jie                         <&nsscc NSS_CC_PORT5_RX_CLK>,
5011898fc57SLuo Jie                         <&nsscc NSS_CC_PORT5_TX_CLK>;
5021898fc57SLuo Jie                clock-names = "mac",
5031898fc57SLuo Jie                              "rx",
5041898fc57SLuo Jie                              "tx";
5051898fc57SLuo Jie                resets = <&nsscc PORT5_MAC_ARES>,
5061898fc57SLuo Jie                         <&nsscc PORT5_RX_ARES>,
5071898fc57SLuo Jie                         <&nsscc PORT5_TX_ARES>;
5081898fc57SLuo Jie                reset-names = "mac",
5091898fc57SLuo Jie                              "rx",
5101898fc57SLuo Jie                              "tx";
5111898fc57SLuo Jie            };
5121898fc57SLuo Jie
5131898fc57SLuo Jie            ethernet-port@6 {
5141898fc57SLuo Jie                reg = <6>;
5151898fc57SLuo Jie                phy-mode = "usxgmii";
5161898fc57SLuo Jie                managed = "in-band-status";
5171898fc57SLuo Jie                phy-handle = <&phy5>;
5181898fc57SLuo Jie                pcs-handle = <&pcs2_ch0>;
5191898fc57SLuo Jie                clocks = <&nsscc NSS_CC_PORT6_MAC_CLK>,
5201898fc57SLuo Jie                         <&nsscc NSS_CC_PORT6_RX_CLK>,
5211898fc57SLuo Jie                         <&nsscc NSS_CC_PORT6_TX_CLK>;
5221898fc57SLuo Jie                clock-names = "mac",
5231898fc57SLuo Jie                              "rx",
5241898fc57SLuo Jie                              "tx";
5251898fc57SLuo Jie                resets = <&nsscc PORT6_MAC_ARES>,
5261898fc57SLuo Jie                         <&nsscc PORT6_RX_ARES>,
5271898fc57SLuo Jie                         <&nsscc PORT6_TX_ARES>;
5281898fc57SLuo Jie                reset-names = "mac",
5291898fc57SLuo Jie                              "rx",
5301898fc57SLuo Jie                              "tx";
5311898fc57SLuo Jie            };
5321898fc57SLuo Jie        };
5331898fc57SLuo Jie    };
534