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