1c78c5a66SLorenzo Bianconi# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2c78c5a66SLorenzo Bianconi%YAML 1.2 3c78c5a66SLorenzo Bianconi--- 4c78c5a66SLorenzo Bianconi$id: http://devicetree.org/schemas/net/mediatek,net.yaml# 5c78c5a66SLorenzo Bianconi$schema: http://devicetree.org/meta-schemas/core.yaml# 6c78c5a66SLorenzo Bianconi 7c78c5a66SLorenzo Bianconititle: MediaTek Frame Engine Ethernet controller 8c78c5a66SLorenzo Bianconi 9c78c5a66SLorenzo Bianconimaintainers: 10c78c5a66SLorenzo Bianconi - Lorenzo Bianconi <lorenzo@kernel.org> 11c78c5a66SLorenzo Bianconi - Felix Fietkau <nbd@nbd.name> 12c78c5a66SLorenzo Bianconi 13c78c5a66SLorenzo Bianconidescription: 14c78c5a66SLorenzo Bianconi The frame engine ethernet controller can be found on MediaTek SoCs. These SoCs 15c78c5a66SLorenzo Bianconi have dual GMAC ports. 16c78c5a66SLorenzo Bianconi 17c78c5a66SLorenzo Bianconiproperties: 18c78c5a66SLorenzo Bianconi compatible: 19c78c5a66SLorenzo Bianconi enum: 20c78c5a66SLorenzo Bianconi - mediatek,mt2701-eth 21c78c5a66SLorenzo Bianconi - mediatek,mt7623-eth 22c78c5a66SLorenzo Bianconi - mediatek,mt7621-eth 23c78c5a66SLorenzo Bianconi - mediatek,mt7622-eth 244b139b75SLorenzo Bianconi - mediatek,mt7629-eth 25c78c5a66SLorenzo Bianconi - mediatek,mt7981-eth 26c78c5a66SLorenzo Bianconi - mediatek,mt7986-eth 27c78c5a66SLorenzo Bianconi - mediatek,mt7988-eth 28c78c5a66SLorenzo Bianconi - ralink,rt5350-eth 29c78c5a66SLorenzo Bianconi 300a1e19c8SRob Herring reg: 310a1e19c8SRob Herring maxItems: 1 320a1e19c8SRob Herring 33c78c5a66SLorenzo Bianconi clocks: true 34c78c5a66SLorenzo Bianconi clock-names: true 354b139b75SLorenzo Bianconi 36c78c5a66SLorenzo Bianconi interrupts: 37c78c5a66SLorenzo Bianconi minItems: 1 38c78c5a66SLorenzo Bianconi maxItems: 4 39c78c5a66SLorenzo Bianconi 40c78c5a66SLorenzo Bianconi power-domains: 41c78c5a66SLorenzo Bianconi maxItems: 1 42c78c5a66SLorenzo Bianconi 43c78c5a66SLorenzo Bianconi resets: 44c78c5a66SLorenzo Bianconi maxItems: 3 45c78c5a66SLorenzo Bianconi 46c78c5a66SLorenzo Bianconi reset-names: 47c78c5a66SLorenzo Bianconi items: 48c78c5a66SLorenzo Bianconi - const: fe 49c78c5a66SLorenzo Bianconi - const: gmac 50c78c5a66SLorenzo Bianconi - const: ppe 51c78c5a66SLorenzo Bianconi 52c78c5a66SLorenzo Bianconi mediatek,ethsys: 53c78c5a66SLorenzo Bianconi $ref: /schemas/types.yaml#/definitions/phandle 54c78c5a66SLorenzo Bianconi description: 55c78c5a66SLorenzo Bianconi Phandle to the syscon node that handles the port setup. 56c78c5a66SLorenzo Bianconi 57c78c5a66SLorenzo Bianconi cci-control-port: true 58c78c5a66SLorenzo Bianconi 59c78c5a66SLorenzo Bianconi mediatek,hifsys: 60c78c5a66SLorenzo Bianconi $ref: /schemas/types.yaml#/definitions/phandle 61c78c5a66SLorenzo Bianconi description: 62c78c5a66SLorenzo Bianconi Phandle to the mediatek hifsys controller used to provide various clocks 63c78c5a66SLorenzo Bianconi and reset to the system. 64c78c5a66SLorenzo Bianconi 65c78c5a66SLorenzo Bianconi mediatek,infracfg: 66c78c5a66SLorenzo Bianconi $ref: /schemas/types.yaml#/definitions/phandle 67c78c5a66SLorenzo Bianconi description: 68c78c5a66SLorenzo Bianconi Phandle to the syscon node that handles the path from GMAC to 69c78c5a66SLorenzo Bianconi PHY variants. 70c78c5a66SLorenzo Bianconi 71c78c5a66SLorenzo Bianconi mediatek,sgmiisys: 72*22ecfce1SLorenzo Bianconi $ref: /schemas/types.yaml#/definitions/phandle-array 73*22ecfce1SLorenzo Bianconi minItems: 1 74*22ecfce1SLorenzo Bianconi maxItems: 2 75*22ecfce1SLorenzo Bianconi items: 76*22ecfce1SLorenzo Bianconi maxItems: 1 77*22ecfce1SLorenzo Bianconi description: 78*22ecfce1SLorenzo Bianconi A list of phandle to the syscon node that handles the SGMII setup which is required for 79*22ecfce1SLorenzo Bianconi those SoCs equipped with SGMII. 80*22ecfce1SLorenzo Bianconi 81c78c5a66SLorenzo Bianconi mediatek,wed: 82c78c5a66SLorenzo Bianconi $ref: /schemas/types.yaml#/definitions/phandle-array 83c78c5a66SLorenzo Bianconi minItems: 2 84c78c5a66SLorenzo Bianconi maxItems: 2 85c78c5a66SLorenzo Bianconi items: 86c78c5a66SLorenzo Bianconi maxItems: 1 87c78c5a66SLorenzo Bianconi description: 88c78c5a66SLorenzo Bianconi List of phandles to wireless ethernet dispatch nodes. 89c78c5a66SLorenzo Bianconi 90c78c5a66SLorenzo Bianconi mediatek,wed-pcie: 91c78c5a66SLorenzo Bianconi $ref: /schemas/types.yaml#/definitions/phandle 92c78c5a66SLorenzo Bianconi description: 93c78c5a66SLorenzo Bianconi Phandle to the mediatek wed-pcie controller. 94c78c5a66SLorenzo Bianconi 95c78c5a66SLorenzo Bianconi dma-coherent: true 96c78c5a66SLorenzo Bianconi 97c78c5a66SLorenzo Bianconi mdio-bus: 98c78c5a66SLorenzo Bianconi $ref: mdio.yaml# 99c78c5a66SLorenzo Bianconi unevaluatedProperties: false 100c78c5a66SLorenzo Bianconi 101c78c5a66SLorenzo Bianconi "#address-cells": 102c78c5a66SLorenzo Bianconi const: 1 103c78c5a66SLorenzo Bianconi 1044b139b75SLorenzo Bianconi "#size-cells": 1054b139b75SLorenzo Bianconi const: 0 1064b139b75SLorenzo Bianconi 107c78c5a66SLorenzo BianconiallOf: 108c78c5a66SLorenzo Bianconi - $ref: ethernet-controller.yaml# 109c78c5a66SLorenzo Bianconi - if: 110c78c5a66SLorenzo Bianconi properties: 111c78c5a66SLorenzo Bianconi compatible: 112c78c5a66SLorenzo Bianconi contains: 113c78c5a66SLorenzo Bianconi enum: 114c78c5a66SLorenzo Bianconi - mediatek,mt2701-eth 115c78c5a66SLorenzo Bianconi - mediatek,mt7623-eth 116c78c5a66SLorenzo Bianconi then: 117c78c5a66SLorenzo Bianconi properties: 118c78c5a66SLorenzo Bianconi interrupts: 119c78c5a66SLorenzo Bianconi maxItems: 3 120c78c5a66SLorenzo Bianconi 121c78c5a66SLorenzo Bianconi clocks: 122c78c5a66SLorenzo Bianconi minItems: 4 123c78c5a66SLorenzo Bianconi maxItems: 4 124*22ecfce1SLorenzo Bianconi 125*22ecfce1SLorenzo Bianconi clock-names: 126c78c5a66SLorenzo Bianconi items: 127c78c5a66SLorenzo Bianconi - const: ethif 128c78c5a66SLorenzo Bianconi - const: esw 129c78c5a66SLorenzo Bianconi - const: gp1 130c78c5a66SLorenzo Bianconi - const: gp2 131c78c5a66SLorenzo Bianconi 132c78c5a66SLorenzo Bianconi mediatek,infracfg: false 1334b139b75SLorenzo Bianconi 1344b139b75SLorenzo Bianconi mediatek,pctl: 1354b139b75SLorenzo Bianconi $ref: /schemas/types.yaml#/definitions/phandle 136c78c5a66SLorenzo Bianconi description: 137c78c5a66SLorenzo Bianconi Phandle to the syscon node that handles the ports slew rate and 138c78c5a66SLorenzo Bianconi driver current. 139c78c5a66SLorenzo Bianconi 140c78c5a66SLorenzo Bianconi mediatek,wed: false 141c78c5a66SLorenzo Bianconi 142c78c5a66SLorenzo Bianconi mediatek,wed-pcie: false 143c78c5a66SLorenzo Bianconi 144c78c5a66SLorenzo Bianconi - if: 145c78c5a66SLorenzo Bianconi properties: 146c78c5a66SLorenzo Bianconi compatible: 147c78c5a66SLorenzo Bianconi contains: 148c78c5a66SLorenzo Bianconi enum: 149c78c5a66SLorenzo Bianconi - mediatek,mt7621-eth 150c78c5a66SLorenzo Bianconi then: 151c78c5a66SLorenzo Bianconi properties: 152c78c5a66SLorenzo Bianconi interrupts: 153c78c5a66SLorenzo Bianconi maxItems: 1 154c78c5a66SLorenzo Bianconi 155c78c5a66SLorenzo Bianconi clocks: 156c78c5a66SLorenzo Bianconi minItems: 2 157c78c5a66SLorenzo Bianconi maxItems: 2 158c78c5a66SLorenzo Bianconi 159c78c5a66SLorenzo Bianconi clock-names: 160c78c5a66SLorenzo Bianconi items: 161c78c5a66SLorenzo Bianconi - const: ethif 162c78c5a66SLorenzo Bianconi - const: fe 163c78c5a66SLorenzo Bianconi 164c78c5a66SLorenzo Bianconi mediatek,infracfg: false 165c78c5a66SLorenzo Bianconi 166c78c5a66SLorenzo Bianconi mediatek,wed: false 167c78c5a66SLorenzo Bianconi 168c78c5a66SLorenzo Bianconi mediatek,wed-pcie: false 169c78c5a66SLorenzo Bianconi 1704b139b75SLorenzo Bianconi - if: 1714b139b75SLorenzo Bianconi properties: 1724b139b75SLorenzo Bianconi compatible: 173c78c5a66SLorenzo Bianconi contains: 174c78c5a66SLorenzo Bianconi const: mediatek,mt7622-eth 175c78c5a66SLorenzo Bianconi then: 176c78c5a66SLorenzo Bianconi properties: 177c78c5a66SLorenzo Bianconi interrupts: 178c78c5a66SLorenzo Bianconi maxItems: 3 179c78c5a66SLorenzo Bianconi 180c78c5a66SLorenzo Bianconi clocks: 181c78c5a66SLorenzo Bianconi minItems: 11 182c78c5a66SLorenzo Bianconi maxItems: 11 183c78c5a66SLorenzo Bianconi 184c78c5a66SLorenzo Bianconi clock-names: 185c78c5a66SLorenzo Bianconi items: 186c78c5a66SLorenzo Bianconi - const: ethif 187c78c5a66SLorenzo Bianconi - const: esw 188c78c5a66SLorenzo Bianconi - const: gp0 189c78c5a66SLorenzo Bianconi - const: gp1 190c78c5a66SLorenzo Bianconi - const: gp2 191c78c5a66SLorenzo Bianconi - const: sgmii_tx250m 192c78c5a66SLorenzo Bianconi - const: sgmii_rx250m 193c78c5a66SLorenzo Bianconi - const: sgmii_cdr_ref 194c78c5a66SLorenzo Bianconi - const: sgmii_cdr_fb 195c78c5a66SLorenzo Bianconi - const: sgmii_ck 196c78c5a66SLorenzo Bianconi - const: eth2pll 197c78c5a66SLorenzo Bianconi 198c78c5a66SLorenzo Bianconi mediatek,infracfg: false 199c78c5a66SLorenzo Bianconi 200c78c5a66SLorenzo Bianconi mediatek,sgmiisys: 201c78c5a66SLorenzo Bianconi minItems: 1 202c78c5a66SLorenzo Bianconi maxItems: 1 203c78c5a66SLorenzo Bianconi 204c78c5a66SLorenzo Bianconi mediatek,pcie-mirror: 205c78c5a66SLorenzo Bianconi $ref: /schemas/types.yaml#/definitions/phandle 206c78c5a66SLorenzo Bianconi description: 207*22ecfce1SLorenzo Bianconi Phandle to the mediatek pcie-mirror controller. 208*22ecfce1SLorenzo Bianconi 2094b139b75SLorenzo Bianconi mediatek,wed-pcie: false 2104b139b75SLorenzo Bianconi 2114b139b75SLorenzo Bianconi - if: 2124b139b75SLorenzo Bianconi properties: 2134b139b75SLorenzo Bianconi compatible: 2144b139b75SLorenzo Bianconi contains: 2154b139b75SLorenzo Bianconi const: mediatek,mt7629-eth 2164b139b75SLorenzo Bianconi then: 2174b139b75SLorenzo Bianconi properties: 2184b139b75SLorenzo Bianconi interrupts: 2194b139b75SLorenzo Bianconi maxItems: 3 2204b139b75SLorenzo Bianconi 2214b139b75SLorenzo Bianconi clocks: 2224b139b75SLorenzo Bianconi minItems: 17 2234b139b75SLorenzo Bianconi maxItems: 17 2244b139b75SLorenzo Bianconi 2254b139b75SLorenzo Bianconi clock-names: 2264b139b75SLorenzo Bianconi items: 2274b139b75SLorenzo Bianconi - const: ethif 2284b139b75SLorenzo Bianconi - const: sgmiitop 2294b139b75SLorenzo Bianconi - const: esw 2304b139b75SLorenzo Bianconi - const: gp0 2314b139b75SLorenzo Bianconi - const: gp1 2324b139b75SLorenzo Bianconi - const: gp2 2334b139b75SLorenzo Bianconi - const: fe 2344b139b75SLorenzo Bianconi - const: sgmii_tx250m 2354b139b75SLorenzo Bianconi - const: sgmii_rx250m 2364b139b75SLorenzo Bianconi - const: sgmii_cdr_ref 2374b139b75SLorenzo Bianconi - const: sgmii_cdr_fb 2384b139b75SLorenzo Bianconi - const: sgmii2_tx250m 2394b139b75SLorenzo Bianconi - const: sgmii2_rx250m 2404b139b75SLorenzo Bianconi - const: sgmii2_cdr_ref 2414b139b75SLorenzo Bianconi - const: sgmii2_cdr_fb 2424b139b75SLorenzo Bianconi - const: sgmii_ck 2434b139b75SLorenzo Bianconi - const: eth2pll 2444b139b75SLorenzo Bianconi 245*22ecfce1SLorenzo Bianconi mediatek,sgmiisys: 246*22ecfce1SLorenzo Bianconi minItems: 2 247*22ecfce1SLorenzo Bianconi maxItems: 2 248*22ecfce1SLorenzo Bianconi 249*22ecfce1SLorenzo Bianconi mediatek,wed: false 250c78c5a66SLorenzo Bianconi 251c78c5a66SLorenzo Bianconi mediatek,wed-pcie: false 252c78c5a66SLorenzo Bianconi 253c78c5a66SLorenzo Bianconi - if: 254c78c5a66SLorenzo Bianconi properties: 255c78c5a66SLorenzo Bianconi compatible: 256c78c5a66SLorenzo Bianconi contains: 257c78c5a66SLorenzo Bianconi const: mediatek,mt7981-eth 258c78c5a66SLorenzo Bianconi then: 259c78c5a66SLorenzo Bianconi properties: 260c78c5a66SLorenzo Bianconi interrupts: 261c78c5a66SLorenzo Bianconi minItems: 4 262c78c5a66SLorenzo Bianconi 263c78c5a66SLorenzo Bianconi clocks: 264c78c5a66SLorenzo Bianconi minItems: 15 265c78c5a66SLorenzo Bianconi maxItems: 15 266c78c5a66SLorenzo Bianconi 267c78c5a66SLorenzo Bianconi clock-names: 268c78c5a66SLorenzo Bianconi items: 269c78c5a66SLorenzo Bianconi - const: fe 270c78c5a66SLorenzo Bianconi - const: gp2 271c78c5a66SLorenzo Bianconi - const: gp1 272c78c5a66SLorenzo Bianconi - const: wocpu0 273c78c5a66SLorenzo Bianconi - const: sgmii_ck 274c78c5a66SLorenzo Bianconi - const: sgmii_tx250m 275c78c5a66SLorenzo Bianconi - const: sgmii_rx250m 276c78c5a66SLorenzo Bianconi - const: sgmii_cdr_ref 277c78c5a66SLorenzo Bianconi - const: sgmii_cdr_fb 278c78c5a66SLorenzo Bianconi - const: sgmii2_tx250m 279c78c5a66SLorenzo Bianconi - const: sgmii2_rx250m 280c78c5a66SLorenzo Bianconi - const: sgmii2_cdr_ref 281c78c5a66SLorenzo Bianconi - const: sgmii2_cdr_fb 282c78c5a66SLorenzo Bianconi - const: netsys0 283c78c5a66SLorenzo Bianconi - const: netsys1 284c78c5a66SLorenzo Bianconi 285c78c5a66SLorenzo Bianconi mediatek,infracfg: false 286c78c5a66SLorenzo Bianconi 287c78c5a66SLorenzo Bianconi mediatek,sgmiisys: 288c78c5a66SLorenzo Bianconi minItems: 2 289c78c5a66SLorenzo Bianconi maxItems: 2 290c78c5a66SLorenzo Bianconi 291c78c5a66SLorenzo Bianconi - if: 292c78c5a66SLorenzo Bianconi properties: 293c78c5a66SLorenzo Bianconi compatible: 294c78c5a66SLorenzo Bianconi contains: 295c78c5a66SLorenzo Bianconi const: mediatek,mt7986-eth 296c78c5a66SLorenzo Bianconi then: 297c78c5a66SLorenzo Bianconi properties: 298c78c5a66SLorenzo Bianconi interrupts: 299c78c5a66SLorenzo Bianconi minItems: 4 300c78c5a66SLorenzo Bianconi 301c78c5a66SLorenzo Bianconi clocks: 302c78c5a66SLorenzo Bianconi minItems: 15 303c78c5a66SLorenzo Bianconi maxItems: 15 304c78c5a66SLorenzo Bianconi 305c78c5a66SLorenzo Bianconi clock-names: 306c78c5a66SLorenzo Bianconi items: 307c78c5a66SLorenzo Bianconi - const: fe 308c78c5a66SLorenzo Bianconi - const: gp2 309c78c5a66SLorenzo Bianconi - const: gp1 310c78c5a66SLorenzo Bianconi - const: wocpu1 311c78c5a66SLorenzo Bianconi - const: wocpu0 312c78c5a66SLorenzo Bianconi - const: sgmii_tx250m 313c78c5a66SLorenzo Bianconi - const: sgmii_rx250m 314c78c5a66SLorenzo Bianconi - const: sgmii_cdr_ref 315c78c5a66SLorenzo Bianconi - const: sgmii_cdr_fb 316c78c5a66SLorenzo Bianconi - const: sgmii2_tx250m 317c78c5a66SLorenzo Bianconi - const: sgmii2_rx250m 318c78c5a66SLorenzo Bianconi - const: sgmii2_cdr_ref 319c78c5a66SLorenzo Bianconi - const: sgmii2_cdr_fb 320c78c5a66SLorenzo Bianconi - const: netsys0 321c78c5a66SLorenzo Bianconi - const: netsys1 322c78c5a66SLorenzo Bianconi 323c78c5a66SLorenzo Bianconi mediatek,infracfg: false 324c78c5a66SLorenzo Bianconi 325c78c5a66SLorenzo Bianconi mediatek,sgmiisys: 326c78c5a66SLorenzo Bianconi minItems: 2 327c78c5a66SLorenzo Bianconi maxItems: 2 328c78c5a66SLorenzo Bianconi 329c78c5a66SLorenzo Bianconi - if: 330c78c5a66SLorenzo Bianconi properties: 331c78c5a66SLorenzo Bianconi compatible: 332c78c5a66SLorenzo Bianconi contains: 333c78c5a66SLorenzo Bianconi const: mediatek,mt7988-eth 334c78c5a66SLorenzo Bianconi then: 335c78c5a66SLorenzo Bianconi properties: 336c78c5a66SLorenzo Bianconi interrupts: 337c78c5a66SLorenzo Bianconi minItems: 4 338c78c5a66SLorenzo Bianconi 339c78c5a66SLorenzo Bianconi clocks: 340c78c5a66SLorenzo Bianconi minItems: 24 341c78c5a66SLorenzo Bianconi maxItems: 24 342c78c5a66SLorenzo Bianconi 343c78c5a66SLorenzo Bianconi clock-names: 344c78c5a66SLorenzo Bianconi items: 345c78c5a66SLorenzo Bianconi - const: crypto 346c78c5a66SLorenzo Bianconi - const: fe 347c78c5a66SLorenzo Bianconi - const: gp2 348c78c5a66SLorenzo Bianconi - const: gp1 349c78c5a66SLorenzo Bianconi - const: gp3 350c78c5a66SLorenzo Bianconi - const: ethwarp_wocpu2 351c78c5a66SLorenzo Bianconi - const: ethwarp_wocpu1 352c78c5a66SLorenzo Bianconi - const: ethwarp_wocpu0 353c78c5a66SLorenzo Bianconi - const: esw 354c78c5a66SLorenzo Bianconi - const: top_eth_gmii_sel 3554b139b75SLorenzo Bianconi - const: top_eth_refck_50m_sel 3564b139b75SLorenzo Bianconi - const: top_eth_sys_200m_sel 3574b139b75SLorenzo Bianconi - const: top_eth_sys_sel 3584b139b75SLorenzo Bianconi - const: top_eth_xgmii_sel 3594b139b75SLorenzo Bianconi - const: top_eth_mii_sel 3604b139b75SLorenzo Bianconi - const: top_netsys_sel 3614b139b75SLorenzo Bianconi - const: top_netsys_500m_sel 3624b139b75SLorenzo Bianconi - const: top_netsys_pao_2x_sel 3634b139b75SLorenzo Bianconi - const: top_netsys_sync_250m_sel 3644b139b75SLorenzo Bianconi - const: top_netsys_ppefb_250m_sel 3654b139b75SLorenzo Bianconi - const: top_netsys_warp_sel 3664b139b75SLorenzo Bianconi - const: xgp1 3674b139b75SLorenzo Bianconi - const: xgp2 3684b139b75SLorenzo Bianconi - const: xgp3 3694b139b75SLorenzo Bianconi 3704b139b75SLorenzo BianconipatternProperties: 3714b139b75SLorenzo Bianconi "^mac@[0-1]$": 3724b139b75SLorenzo Bianconi type: object 3734b139b75SLorenzo Bianconi unevaluatedProperties: false 3744b139b75SLorenzo Bianconi allOf: 3754b139b75SLorenzo Bianconi - $ref: ethernet-controller.yaml# 3764b139b75SLorenzo Bianconi description: 3774b139b75SLorenzo Bianconi Ethernet MAC node 3784b139b75SLorenzo Bianconi properties: 3794b139b75SLorenzo Bianconi compatible: 3804b139b75SLorenzo Bianconi const: mediatek,eth-mac 3814b139b75SLorenzo Bianconi 3824b139b75SLorenzo Bianconi reg: 3834b139b75SLorenzo Bianconi maxItems: 1 3844b139b75SLorenzo Bianconi 3854b139b75SLorenzo Bianconi required: 3864b139b75SLorenzo Bianconi - reg 3874b139b75SLorenzo Bianconi - compatible 3884b139b75SLorenzo Bianconi 3894b139b75SLorenzo Bianconirequired: 3904b139b75SLorenzo Bianconi - compatible 3914b139b75SLorenzo Bianconi - reg 3924b139b75SLorenzo Bianconi - interrupts 3934b139b75SLorenzo Bianconi - clocks 3944b139b75SLorenzo Bianconi - clock-names 3954b139b75SLorenzo Bianconi - mediatek,ethsys 3964b139b75SLorenzo Bianconi 3974b139b75SLorenzo BianconiunevaluatedProperties: false 3984b139b75SLorenzo Bianconi 3994b139b75SLorenzo Bianconiexamples: 4004b139b75SLorenzo Bianconi - | 4014b139b75SLorenzo Bianconi #include <dt-bindings/interrupt-controller/arm-gic.h> 4024b139b75SLorenzo Bianconi #include <dt-bindings/interrupt-controller/irq.h> 4034b139b75SLorenzo Bianconi #include <dt-bindings/clock/mt7622-clk.h> 4044b139b75SLorenzo Bianconi #include <dt-bindings/power/mt7622-power.h> 4054b139b75SLorenzo Bianconi 4064b139b75SLorenzo Bianconi soc { 4074b139b75SLorenzo Bianconi #address-cells = <2>; 4084b139b75SLorenzo Bianconi #size-cells = <2>; 4094b139b75SLorenzo Bianconi 4104b139b75SLorenzo Bianconi ethernet: ethernet@1b100000 { 4114b139b75SLorenzo Bianconi compatible = "mediatek,mt7622-eth"; 4124b139b75SLorenzo Bianconi reg = <0 0x1b100000 0 0x20000>; 4134b139b75SLorenzo Bianconi interrupts = <GIC_SPI 223 IRQ_TYPE_LEVEL_LOW>, 4144b139b75SLorenzo Bianconi <GIC_SPI 224 IRQ_TYPE_LEVEL_LOW>, 4154b139b75SLorenzo Bianconi <GIC_SPI 225 IRQ_TYPE_LEVEL_LOW>; 4164b139b75SLorenzo Bianconi clocks = <&topckgen CLK_TOP_ETH_SEL>, 4174b139b75SLorenzo Bianconi <ðsys CLK_ETH_ESW_EN>, 4184b139b75SLorenzo Bianconi <ðsys CLK_ETH_GP0_EN>, 4194b139b75SLorenzo Bianconi <ðsys CLK_ETH_GP1_EN>, 4204b139b75SLorenzo Bianconi <ðsys CLK_ETH_GP2_EN>, 4214b139b75SLorenzo Bianconi <&sgmiisys CLK_SGMII_TX250M_EN>, 4224b139b75SLorenzo Bianconi <&sgmiisys CLK_SGMII_RX250M_EN>, 4234b139b75SLorenzo Bianconi <&sgmiisys CLK_SGMII_CDR_REF>, 4244b139b75SLorenzo Bianconi <&sgmiisys CLK_SGMII_CDR_FB>, 4254b139b75SLorenzo Bianconi <&topckgen CLK_TOP_SGMIIPLL>, 4264b139b75SLorenzo Bianconi <&apmixedsys CLK_APMIXED_ETH2PLL>; 4274b139b75SLorenzo Bianconi clock-names = "ethif", "esw", "gp0", "gp1", "gp2", 4284b139b75SLorenzo Bianconi "sgmii_tx250m", "sgmii_rx250m", 4294b139b75SLorenzo Bianconi "sgmii_cdr_ref", "sgmii_cdr_fb", "sgmii_ck", 4304b139b75SLorenzo Bianconi "eth2pll"; 4314b139b75SLorenzo Bianconi power-domains = <&scpsys MT7622_POWER_DOMAIN_ETHSYS>; 4324b139b75SLorenzo Bianconi mediatek,ethsys = <ðsys>; 4334b139b75SLorenzo Bianconi mediatek,sgmiisys = <&sgmiisys>; 4344b139b75SLorenzo Bianconi cci-control-port = <&cci_control2>; 4354b139b75SLorenzo Bianconi mediatek,pcie-mirror = <&pcie_mirror>; 4364b139b75SLorenzo Bianconi mediatek,hifsys = <&hifsys>; 4374b139b75SLorenzo Bianconi dma-coherent; 4384b139b75SLorenzo Bianconi 4394b139b75SLorenzo Bianconi #address-cells = <1>; 4404b139b75SLorenzo Bianconi #size-cells = <0>; 4414b139b75SLorenzo Bianconi 4424b139b75SLorenzo Bianconi mdio0: mdio-bus { 4434b139b75SLorenzo Bianconi #address-cells = <1>; 4444b139b75SLorenzo Bianconi #size-cells = <0>; 4454b139b75SLorenzo Bianconi 4464b139b75SLorenzo Bianconi phy0: ethernet-phy@0 { 447 reg = <0>; 448 }; 449 450 phy1: ethernet-phy@1 { 451 reg = <1>; 452 }; 453 }; 454 455 gmac0: mac@0 { 456 compatible = "mediatek,eth-mac"; 457 phy-mode = "rgmii"; 458 phy-handle = <&phy0>; 459 reg = <0>; 460 }; 461 462 gmac1: mac@1 { 463 compatible = "mediatek,eth-mac"; 464 phy-mode = "rgmii"; 465 phy-handle = <&phy1>; 466 reg = <1>; 467 }; 468 }; 469 }; 470 471 - | 472 #include <dt-bindings/interrupt-controller/arm-gic.h> 473 #include <dt-bindings/interrupt-controller/irq.h> 474 #include <dt-bindings/clock/mt7622-clk.h> 475 476 soc { 477 #address-cells = <2>; 478 #size-cells = <2>; 479 480 eth: ethernet@15100000 { 481 #define CLK_ETH_FE_EN 0 482 #define CLK_ETH_WOCPU1_EN 3 483 #define CLK_ETH_WOCPU0_EN 4 484 #define CLK_TOP_NETSYS_SEL 43 485 #define CLK_TOP_NETSYS_500M_SEL 44 486 #define CLK_TOP_NETSYS_2X_SEL 46 487 #define CLK_TOP_SGM_325M_SEL 47 488 #define CLK_APMIXED_NET2PLL 1 489 #define CLK_APMIXED_SGMPLL 3 490 491 compatible = "mediatek,mt7986-eth"; 492 reg = <0 0x15100000 0 0x80000>; 493 interrupts = <GIC_SPI 196 IRQ_TYPE_LEVEL_HIGH>, 494 <GIC_SPI 197 IRQ_TYPE_LEVEL_HIGH>, 495 <GIC_SPI 198 IRQ_TYPE_LEVEL_HIGH>, 496 <GIC_SPI 199 IRQ_TYPE_LEVEL_HIGH>; 497 clocks = <ðsys CLK_ETH_FE_EN>, 498 <ðsys CLK_ETH_GP2_EN>, 499 <ðsys CLK_ETH_GP1_EN>, 500 <ðsys CLK_ETH_WOCPU1_EN>, 501 <ðsys CLK_ETH_WOCPU0_EN>, 502 <&sgmiisys0 CLK_SGMII_TX250M_EN>, 503 <&sgmiisys0 CLK_SGMII_RX250M_EN>, 504 <&sgmiisys0 CLK_SGMII_CDR_REF>, 505 <&sgmiisys0 CLK_SGMII_CDR_FB>, 506 <&sgmiisys1 CLK_SGMII_TX250M_EN>, 507 <&sgmiisys1 CLK_SGMII_RX250M_EN>, 508 <&sgmiisys1 CLK_SGMII_CDR_REF>, 509 <&sgmiisys1 CLK_SGMII_CDR_FB>, 510 <&topckgen CLK_TOP_NETSYS_SEL>, 511 <&topckgen CLK_TOP_NETSYS_SEL>; 512 clock-names = "fe", "gp2", "gp1", "wocpu1", "wocpu0", 513 "sgmii_tx250m", "sgmii_rx250m", 514 "sgmii_cdr_ref", "sgmii_cdr_fb", 515 "sgmii2_tx250m", "sgmii2_rx250m", 516 "sgmii2_cdr_ref", "sgmii2_cdr_fb", 517 "netsys0", "netsys1"; 518 mediatek,ethsys = <ðsys>; 519 mediatek,sgmiisys = <&sgmiisys0>, <&sgmiisys1>; 520 assigned-clocks = <&topckgen CLK_TOP_NETSYS_2X_SEL>, 521 <&topckgen CLK_TOP_SGM_325M_SEL>; 522 assigned-clock-parents = <&apmixedsys CLK_APMIXED_NET2PLL>, 523 <&apmixedsys CLK_APMIXED_SGMPLL>; 524 525 #address-cells = <1>; 526 #size-cells = <0>; 527 528 mdio: mdio-bus { 529 #address-cells = <1>; 530 #size-cells = <0>; 531 532 phy5: ethernet-phy@0 { 533 compatible = "ethernet-phy-id67c9.de0a"; 534 phy-mode = "2500base-x"; 535 reset-gpios = <&pio 6 1>; 536 reset-deassert-us = <20000>; 537 reg = <5>; 538 }; 539 540 phy6: ethernet-phy@1 { 541 compatible = "ethernet-phy-id67c9.de0a"; 542 phy-mode = "2500base-x"; 543 reg = <6>; 544 }; 545 }; 546 547 mac0: mac@0 { 548 compatible = "mediatek,eth-mac"; 549 phy-mode = "2500base-x"; 550 phy-handle = <&phy5>; 551 reg = <0>; 552 }; 553 554 mac1: mac@1 { 555 compatible = "mediatek,eth-mac"; 556 phy-mode = "2500base-x"; 557 phy-handle = <&phy6>; 558 reg = <1>; 559 }; 560 }; 561 }; 562