1c66ec88fSEmmanuel Vadot============================================================================= 2c66ec88fSEmmanuel VadotFreescale Frame Manager Device Bindings 3c66ec88fSEmmanuel Vadot 4c66ec88fSEmmanuel VadotCONTENTS 5c66ec88fSEmmanuel Vadot - FMan Node 6c66ec88fSEmmanuel Vadot - FMan Port Node 7c66ec88fSEmmanuel Vadot - FMan MURAM Node 8c66ec88fSEmmanuel Vadot - FMan dTSEC/XGEC/mEMAC Node 9c66ec88fSEmmanuel Vadot - FMan IEEE 1588 Node 10c66ec88fSEmmanuel Vadot - FMan MDIO Node 11c66ec88fSEmmanuel Vadot - Example 12c66ec88fSEmmanuel Vadot 13c66ec88fSEmmanuel Vadot============================================================================= 14c66ec88fSEmmanuel VadotFMan Node 15c66ec88fSEmmanuel Vadot 16c66ec88fSEmmanuel VadotDESCRIPTION 17c66ec88fSEmmanuel Vadot 18c66ec88fSEmmanuel VadotDue to the fact that the FMan is an aggregation of sub-engines (ports, MACs, 19c66ec88fSEmmanuel Vadotetc.) the FMan node will have child nodes for each of them. 20c66ec88fSEmmanuel Vadot 21c66ec88fSEmmanuel VadotPROPERTIES 22c66ec88fSEmmanuel Vadot 23c66ec88fSEmmanuel Vadot- compatible 24c66ec88fSEmmanuel Vadot Usage: required 25c66ec88fSEmmanuel Vadot Value type: <stringlist> 26c66ec88fSEmmanuel Vadot Definition: Must include "fsl,fman" 27c66ec88fSEmmanuel Vadot FMan version can be determined via FM_IP_REV_1 register in the 28c66ec88fSEmmanuel Vadot FMan block. The offset is 0xc4 from the beginning of the 29c66ec88fSEmmanuel Vadot Frame Processing Manager memory map (0xc3000 from the 30c66ec88fSEmmanuel Vadot beginning of the FMan node). 31c66ec88fSEmmanuel Vadot 32c66ec88fSEmmanuel Vadot- cell-index 33c66ec88fSEmmanuel Vadot Usage: required 34c66ec88fSEmmanuel Vadot Value type: <u32> 35c66ec88fSEmmanuel Vadot Definition: Specifies the index of the FMan unit. 36c66ec88fSEmmanuel Vadot 37c66ec88fSEmmanuel Vadot The cell-index value may be used by the SoC, to identify the 38c66ec88fSEmmanuel Vadot FMan unit in the SoC memory map. In the table below, 39c66ec88fSEmmanuel Vadot there's a description of the cell-index use in each SoC: 40c66ec88fSEmmanuel Vadot 41c66ec88fSEmmanuel Vadot - P1023: 42c66ec88fSEmmanuel Vadot register[bit] FMan unit cell-index 43c66ec88fSEmmanuel Vadot ============================================================ 44c66ec88fSEmmanuel Vadot DEVDISR[1] 1 0 45c66ec88fSEmmanuel Vadot 46c66ec88fSEmmanuel Vadot - P2041, P3041, P4080 P5020, P5040: 47c66ec88fSEmmanuel Vadot register[bit] FMan unit cell-index 48c66ec88fSEmmanuel Vadot ============================================================ 49c66ec88fSEmmanuel Vadot DCFG_DEVDISR2[6] 1 0 50c66ec88fSEmmanuel Vadot DCFG_DEVDISR2[14] 2 1 51c66ec88fSEmmanuel Vadot (Second FM available only in P4080 and P5040) 52c66ec88fSEmmanuel Vadot 53c66ec88fSEmmanuel Vadot - B4860, T1040, T2080, T4240: 54c66ec88fSEmmanuel Vadot register[bit] FMan unit cell-index 55c66ec88fSEmmanuel Vadot ============================================================ 56c66ec88fSEmmanuel Vadot DCFG_CCSR_DEVDISR2[24] 1 0 57c66ec88fSEmmanuel Vadot DCFG_CCSR_DEVDISR2[25] 2 1 58c66ec88fSEmmanuel Vadot (Second FM available only in T4240) 59c66ec88fSEmmanuel Vadot 60c66ec88fSEmmanuel Vadot DEVDISR, DCFG_DEVDISR2 and DCFG_CCSR_DEVDISR2 are located in 61c66ec88fSEmmanuel Vadot the specific SoC "Device Configuration/Pin Control" Memory 62c66ec88fSEmmanuel Vadot Map. 63c66ec88fSEmmanuel Vadot 64c66ec88fSEmmanuel Vadot- reg 65c66ec88fSEmmanuel Vadot Usage: required 66c66ec88fSEmmanuel Vadot Value type: <prop-encoded-array> 67c66ec88fSEmmanuel Vadot Definition: A standard property. Specifies the offset of the 68c66ec88fSEmmanuel Vadot following configuration registers: 69c66ec88fSEmmanuel Vadot - BMI configuration registers. 70c66ec88fSEmmanuel Vadot - QMI configuration registers. 71c66ec88fSEmmanuel Vadot - DMA configuration registers. 72c66ec88fSEmmanuel Vadot - FPM configuration registers. 73c66ec88fSEmmanuel Vadot - FMan controller configuration registers. 74c66ec88fSEmmanuel Vadot 75c66ec88fSEmmanuel Vadot- ranges 76c66ec88fSEmmanuel Vadot Usage: required 77c66ec88fSEmmanuel Vadot Value type: <prop-encoded-array> 78c66ec88fSEmmanuel Vadot Definition: A standard property. 79c66ec88fSEmmanuel Vadot 80c66ec88fSEmmanuel Vadot- clocks 81c66ec88fSEmmanuel Vadot Usage: required 82c66ec88fSEmmanuel Vadot Value type: <prop-encoded-array> 83c66ec88fSEmmanuel Vadot Definition: phandle for the fman input clock. 84c66ec88fSEmmanuel Vadot 85c66ec88fSEmmanuel Vadot- clock-names 86c66ec88fSEmmanuel Vadot usage: required 87c66ec88fSEmmanuel Vadot Value type: <stringlist> 88c66ec88fSEmmanuel Vadot Definition: "fmanclk" for the fman input clock. 89c66ec88fSEmmanuel Vadot 90c66ec88fSEmmanuel Vadot- interrupts 91c66ec88fSEmmanuel Vadot Usage: required 92c66ec88fSEmmanuel Vadot Value type: <prop-encoded-array> 93c66ec88fSEmmanuel Vadot Definition: A pair of IRQs are specified in this property. 94c66ec88fSEmmanuel Vadot The first element is associated with the event interrupts and 95c66ec88fSEmmanuel Vadot the second element is associated with the error interrupts. 96c66ec88fSEmmanuel Vadot 97c66ec88fSEmmanuel Vadot- fsl,qman-channel-range 98c66ec88fSEmmanuel Vadot Usage: required 99c66ec88fSEmmanuel Vadot Value type: <prop-encoded-array> 100c66ec88fSEmmanuel Vadot Definition: Specifies the range of the available dedicated 101c66ec88fSEmmanuel Vadot channels in the FMan. The first cell specifies the beginning 102c66ec88fSEmmanuel Vadot of the range and the second cell specifies the number of 103c66ec88fSEmmanuel Vadot channels. 104c66ec88fSEmmanuel Vadot Further information available at: 105c66ec88fSEmmanuel Vadot "Work Queue (WQ) Channel Assignments in the QMan" section 106c66ec88fSEmmanuel Vadot in DPAA Reference Manual. 107c66ec88fSEmmanuel Vadot 108c66ec88fSEmmanuel Vadot- fsl,qman 109c66ec88fSEmmanuel Vadot- fsl,bman 110c66ec88fSEmmanuel Vadot Usage: required 111c66ec88fSEmmanuel Vadot Definition: See soc/fsl/qman.txt and soc/fsl/bman.txt 112c66ec88fSEmmanuel Vadot 113c66ec88fSEmmanuel Vadot- fsl,erratum-a050385 114c66ec88fSEmmanuel Vadot Usage: optional 115c66ec88fSEmmanuel Vadot Value type: boolean 116c66ec88fSEmmanuel Vadot Definition: A boolean property. Indicates the presence of the 117c66ec88fSEmmanuel Vadot erratum A050385 which indicates that DMA transactions that are 118c66ec88fSEmmanuel Vadot split can result in a FMan lock. 119c66ec88fSEmmanuel Vadot 120c66ec88fSEmmanuel Vadot============================================================================= 121c66ec88fSEmmanuel VadotFMan MURAM Node 122c66ec88fSEmmanuel Vadot 123c66ec88fSEmmanuel VadotDESCRIPTION 124c66ec88fSEmmanuel Vadot 125c66ec88fSEmmanuel VadotFMan Internal memory - shared between all the FMan modules. 126c66ec88fSEmmanuel VadotIt contains data structures that are common and written to or read by 127c66ec88fSEmmanuel Vadotthe modules. 128c66ec88fSEmmanuel VadotFMan internal memory is split into the following parts: 129c66ec88fSEmmanuel Vadot Packet buffering (Tx/Rx FIFOs) 130c66ec88fSEmmanuel Vadot Frames internal context 131c66ec88fSEmmanuel Vadot 132c66ec88fSEmmanuel VadotPROPERTIES 133c66ec88fSEmmanuel Vadot 134c66ec88fSEmmanuel Vadot- compatible 135c66ec88fSEmmanuel Vadot Usage: required 136c66ec88fSEmmanuel Vadot Value type: <stringlist> 137c66ec88fSEmmanuel Vadot Definition: Must include "fsl,fman-muram" 138c66ec88fSEmmanuel Vadot 139c66ec88fSEmmanuel Vadot- ranges 140c66ec88fSEmmanuel Vadot Usage: required 141c66ec88fSEmmanuel Vadot Value type: <prop-encoded-array> 142c66ec88fSEmmanuel Vadot Definition: A standard property. 143c66ec88fSEmmanuel Vadot Specifies the multi-user memory offset and the size within 144c66ec88fSEmmanuel Vadot the FMan. 145c66ec88fSEmmanuel Vadot 146c66ec88fSEmmanuel VadotEXAMPLE 147c66ec88fSEmmanuel Vadot 148c66ec88fSEmmanuel Vadotmuram@0 { 149c66ec88fSEmmanuel Vadot compatible = "fsl,fman-muram"; 150c66ec88fSEmmanuel Vadot ranges = <0 0x000000 0x28000>; 151c66ec88fSEmmanuel Vadot}; 152c66ec88fSEmmanuel Vadot 153c66ec88fSEmmanuel Vadot============================================================================= 154c66ec88fSEmmanuel VadotFMan Port Node 155c66ec88fSEmmanuel Vadot 156c66ec88fSEmmanuel VadotDESCRIPTION 157c66ec88fSEmmanuel Vadot 158c66ec88fSEmmanuel VadotThe Frame Manager (FMan) supports several types of hardware ports: 159c66ec88fSEmmanuel Vadot Ethernet receiver (RX) 160c66ec88fSEmmanuel Vadot Ethernet transmitter (TX) 161c66ec88fSEmmanuel Vadot Offline/Host command (O/H) 162c66ec88fSEmmanuel Vadot 163c66ec88fSEmmanuel VadotPROPERTIES 164c66ec88fSEmmanuel Vadot 165c66ec88fSEmmanuel Vadot- compatible 166c66ec88fSEmmanuel Vadot Usage: required 167c66ec88fSEmmanuel Vadot Value type: <stringlist> 168c66ec88fSEmmanuel Vadot Definition: A standard property. 169c66ec88fSEmmanuel Vadot Must include one of the following: 170c66ec88fSEmmanuel Vadot - "fsl,fman-v2-port-oh" for FManV2 OH ports 171c66ec88fSEmmanuel Vadot - "fsl,fman-v2-port-rx" for FManV2 RX ports 172c66ec88fSEmmanuel Vadot - "fsl,fman-v2-port-tx" for FManV2 TX ports 173c66ec88fSEmmanuel Vadot - "fsl,fman-v3-port-oh" for FManV3 OH ports 174c66ec88fSEmmanuel Vadot - "fsl,fman-v3-port-rx" for FManV3 RX ports 175c66ec88fSEmmanuel Vadot - "fsl,fman-v3-port-tx" for FManV3 TX ports 176c66ec88fSEmmanuel Vadot 177c66ec88fSEmmanuel Vadot- cell-index 178c66ec88fSEmmanuel Vadot Usage: required 179c66ec88fSEmmanuel Vadot Value type: <u32> 180c66ec88fSEmmanuel Vadot Definition: Specifies the hardware port id. 181c66ec88fSEmmanuel Vadot Each hardware port on the FMan has its own hardware PortID. 182c66ec88fSEmmanuel Vadot Super set of all hardware Port IDs available at FMan Reference 183c66ec88fSEmmanuel Vadot Manual under "FMan Hardware Ports in Freescale Devices" table. 184c66ec88fSEmmanuel Vadot 185c66ec88fSEmmanuel Vadot Each hardware port is assigned a 4KB, port-specific page in 186c66ec88fSEmmanuel Vadot the FMan hardware port memory region (which is part of the 187c66ec88fSEmmanuel Vadot FMan memory map). The first 4 KB in the FMan hardware ports 188c66ec88fSEmmanuel Vadot memory region is used for what are called common registers. 189c66ec88fSEmmanuel Vadot The subsequent 63 4KB pages are allocated to the hardware 190c66ec88fSEmmanuel Vadot ports. 191c66ec88fSEmmanuel Vadot The page of a specific port is determined by the cell-index. 192c66ec88fSEmmanuel Vadot 193c66ec88fSEmmanuel Vadot- reg 194c66ec88fSEmmanuel Vadot Usage: required 195c66ec88fSEmmanuel Vadot Value type: <prop-encoded-array> 196c66ec88fSEmmanuel Vadot Definition: There is one reg region describing the port 197c66ec88fSEmmanuel Vadot configuration registers. 198c66ec88fSEmmanuel Vadot 199c66ec88fSEmmanuel Vadot- fsl,fman-10g-port 200c66ec88fSEmmanuel Vadot Usage: optional 201c66ec88fSEmmanuel Vadot Value type: boolean 202c66ec88fSEmmanuel Vadot Definition: The default port rate is 1G. 203c66ec88fSEmmanuel Vadot If this property exists, the port is s 10G port. 204c66ec88fSEmmanuel Vadot 205c66ec88fSEmmanuel Vadot- fsl,fman-best-effort-port 206c66ec88fSEmmanuel Vadot Usage: optional 207c66ec88fSEmmanuel Vadot Value type: boolean 208c66ec88fSEmmanuel Vadot Definition: Can be defined only if 10G-support is set. 209c66ec88fSEmmanuel Vadot This property marks a best-effort 10G port (10G port that 210c66ec88fSEmmanuel Vadot may not be capable of line rate). 211c66ec88fSEmmanuel Vadot 212c66ec88fSEmmanuel VadotEXAMPLE 213c66ec88fSEmmanuel Vadot 214c66ec88fSEmmanuel Vadotport@a8000 { 215c66ec88fSEmmanuel Vadot cell-index = <0x28>; 216c66ec88fSEmmanuel Vadot compatible = "fsl,fman-v2-port-tx"; 217c66ec88fSEmmanuel Vadot reg = <0xa8000 0x1000>; 218c66ec88fSEmmanuel Vadot}; 219c66ec88fSEmmanuel Vadot 220c66ec88fSEmmanuel Vadotport@88000 { 221c66ec88fSEmmanuel Vadot cell-index = <0x8>; 222c66ec88fSEmmanuel Vadot compatible = "fsl,fman-v2-port-rx"; 223c66ec88fSEmmanuel Vadot reg = <0x88000 0x1000>; 224c66ec88fSEmmanuel Vadot}; 225c66ec88fSEmmanuel Vadot 226c66ec88fSEmmanuel Vadotport@81000 { 227c66ec88fSEmmanuel Vadot cell-index = <0x1>; 228c66ec88fSEmmanuel Vadot compatible = "fsl,fman-v2-port-oh"; 229c66ec88fSEmmanuel Vadot reg = <0x81000 0x1000>; 230c66ec88fSEmmanuel Vadot}; 231c66ec88fSEmmanuel Vadot 232c66ec88fSEmmanuel Vadot============================================================================= 233c66ec88fSEmmanuel VadotFMan dTSEC/XGEC/mEMAC Node 234c66ec88fSEmmanuel Vadot 2357ef62cebSEmmanuel VadotRefer to Documentation/devicetree/bindings/net/fsl,fman-dtsec.yaml 236c66ec88fSEmmanuel Vadot 237c66ec88fSEmmanuel Vadot============================================================================ 238c66ec88fSEmmanuel VadotFMan IEEE 1588 Node 239c66ec88fSEmmanuel Vadot 240c66ec88fSEmmanuel VadotRefer to Documentation/devicetree/bindings/ptp/ptp-qoriq.txt 241c66ec88fSEmmanuel Vadot 242c66ec88fSEmmanuel Vadot============================================================================= 243c66ec88fSEmmanuel VadotFMan MDIO Node 244c66ec88fSEmmanuel Vadot 245c66ec88fSEmmanuel VadotDESCRIPTION 246c66ec88fSEmmanuel Vadot 247c66ec88fSEmmanuel VadotThe MDIO is a bus to which the PHY devices are connected. 248c66ec88fSEmmanuel Vadot 249c66ec88fSEmmanuel VadotPROPERTIES 250c66ec88fSEmmanuel Vadot 251c66ec88fSEmmanuel Vadot- compatible 252c66ec88fSEmmanuel Vadot Usage: required 253c66ec88fSEmmanuel Vadot Value type: <stringlist> 254c66ec88fSEmmanuel Vadot Definition: A standard property. 255c66ec88fSEmmanuel Vadot Must include "fsl,fman-mdio" for 1 Gb/s MDIO from FMan v2. 256c66ec88fSEmmanuel Vadot Must include "fsl,fman-xmdio" for 10 Gb/s MDIO from FMan v2. 257c66ec88fSEmmanuel Vadot Must include "fsl,fman-memac-mdio" for 1/10 Gb/s MDIO from 258c66ec88fSEmmanuel Vadot FMan v3. 259c66ec88fSEmmanuel Vadot 260c66ec88fSEmmanuel Vadot- reg 261c66ec88fSEmmanuel Vadot Usage: required 262c66ec88fSEmmanuel Vadot Value type: <prop-encoded-array> 263c66ec88fSEmmanuel Vadot Definition: A standard property. 264c66ec88fSEmmanuel Vadot 265c9ccf3a3SEmmanuel Vadot- clocks 266c9ccf3a3SEmmanuel Vadot Usage: optional 267c9ccf3a3SEmmanuel Vadot Value type: <phandle> 268c9ccf3a3SEmmanuel Vadot Definition: A reference to the input clock of the controller 269c9ccf3a3SEmmanuel Vadot from which the MDC frequency is derived. 270c9ccf3a3SEmmanuel Vadot 271c9ccf3a3SEmmanuel Vadot- clock-frequency 272c66ec88fSEmmanuel Vadot Usage: optional 273c66ec88fSEmmanuel Vadot Value type: <u32> 274c9ccf3a3SEmmanuel Vadot Definition: Specifies the external MDC frequency, in Hertz, to 275c9ccf3a3SEmmanuel Vadot be used. Requires that the input clock is specified in the 276c9ccf3a3SEmmanuel Vadot "clocks" property. See also: mdio.yaml. 277c9ccf3a3SEmmanuel Vadot 278c9ccf3a3SEmmanuel Vadot- suppress-preamble 279c9ccf3a3SEmmanuel Vadot Usage: optional 280c9ccf3a3SEmmanuel Vadot Value type: <boolean> 281c9ccf3a3SEmmanuel Vadot Definition: Disable generation of preamble bits. See also: 282c9ccf3a3SEmmanuel Vadot mdio.yaml. 283c66ec88fSEmmanuel Vadot 284c66ec88fSEmmanuel Vadot- interrupts 285c66ec88fSEmmanuel Vadot Usage: required for external MDIO 286c66ec88fSEmmanuel Vadot Value type: <prop-encoded-array> 287c66ec88fSEmmanuel Vadot Definition: Event interrupt of external MDIO controller. 288c66ec88fSEmmanuel Vadot 289c66ec88fSEmmanuel Vadot- fsl,fman-internal-mdio 290c66ec88fSEmmanuel Vadot Usage: required for internal MDIO 291c66ec88fSEmmanuel Vadot Value type: boolean 292c66ec88fSEmmanuel Vadot Definition: Fman has internal MDIO for internal PCS(Physical 293c66ec88fSEmmanuel Vadot Coding Sublayer) PHYs and external MDIO for external PHYs. 294c66ec88fSEmmanuel Vadot The settings and programming routines for internal/external 295c66ec88fSEmmanuel Vadot MDIO are different. Must be included for internal MDIO. 296c66ec88fSEmmanuel Vadot 297e67e8565SEmmanuel Vadot- fsl,erratum-a009885 298e67e8565SEmmanuel Vadot Usage: optional 299e67e8565SEmmanuel Vadot Value type: <boolean> 300e67e8565SEmmanuel Vadot Definition: Indicates the presence of the A009885 301e67e8565SEmmanuel Vadot erratum describing that the contents of MDIO_DATA may 302e67e8565SEmmanuel Vadot become corrupt unless it is read within 16 MDC cycles 303e67e8565SEmmanuel Vadot of MDIO_CFG[BSY] being cleared, when performing an 304e67e8565SEmmanuel Vadot MDIO read operation. 305e67e8565SEmmanuel Vadot 306c66ec88fSEmmanuel Vadot- fsl,erratum-a011043 307c66ec88fSEmmanuel Vadot Usage: optional 308c66ec88fSEmmanuel Vadot Value type: <boolean> 309c66ec88fSEmmanuel Vadot Definition: Indicates the presence of the A011043 erratum 310c66ec88fSEmmanuel Vadot describing that the MDIO_CFG[MDIO_RD_ER] bit may be falsely 311c66ec88fSEmmanuel Vadot set when reading internal PCS registers. MDIO reads to 312c66ec88fSEmmanuel Vadot internal PCS registers may result in having the 313c66ec88fSEmmanuel Vadot MDIO_CFG[MDIO_RD_ER] bit set, even when there is no error and 314c66ec88fSEmmanuel Vadot read data (MDIO_DATA[MDIO_DATA]) is correct. 315c66ec88fSEmmanuel Vadot Software may get false read error when reading internal 316c66ec88fSEmmanuel Vadot PCS registers through MDIO. As a workaround, all internal 317c66ec88fSEmmanuel Vadot MDIO accesses should ignore the MDIO_CFG[MDIO_RD_ER] bit. 318c66ec88fSEmmanuel Vadot 319c66ec88fSEmmanuel VadotFor internal PHY device on internal mdio bus, a PHY node should be created. 320c66ec88fSEmmanuel VadotSee the definition of the PHY node in booting-without-of.txt for an 321c66ec88fSEmmanuel Vadotexample of how to define a PHY (Internal PHY has no interrupt line). 322c66ec88fSEmmanuel Vadot- For "fsl,fman-mdio" compatible internal mdio bus, the PHY is TBI PHY. 323*8bab661aSEmmanuel Vadot- For "fsl,fman-memac-mdio" compatible internal mdio bus, the PHY is PCS PHY. 324*8bab661aSEmmanuel Vadot The PCS PHY address should correspond to the value of the appropriate 325*8bab661aSEmmanuel Vadot MDEV_PORT. 326c66ec88fSEmmanuel Vadot 327c66ec88fSEmmanuel VadotEXAMPLE 328c66ec88fSEmmanuel Vadot 329c66ec88fSEmmanuel VadotExample for FMan v2 external MDIO: 330c66ec88fSEmmanuel Vadot 331c66ec88fSEmmanuel Vadotmdio@f1000 { 332c66ec88fSEmmanuel Vadot compatible = "fsl,fman-xmdio"; 333c66ec88fSEmmanuel Vadot reg = <0xf1000 0x1000>; 334c66ec88fSEmmanuel Vadot interrupts = <101 2 0 0>; 335c66ec88fSEmmanuel Vadot}; 336c66ec88fSEmmanuel Vadot 337c66ec88fSEmmanuel VadotExample for FMan v2 internal MDIO: 338c66ec88fSEmmanuel Vadot 339c66ec88fSEmmanuel Vadotmdio@e3120 { 340c66ec88fSEmmanuel Vadot compatible = "fsl,fman-mdio"; 341c66ec88fSEmmanuel Vadot reg = <0xe3120 0xee0>; 342c66ec88fSEmmanuel Vadot fsl,fman-internal-mdio; 343c66ec88fSEmmanuel Vadot 344c66ec88fSEmmanuel Vadot tbi1: tbi-phy@8 { 345c66ec88fSEmmanuel Vadot reg = <0x8>; 346c66ec88fSEmmanuel Vadot device_type = "tbi-phy"; 347c66ec88fSEmmanuel Vadot }; 348c66ec88fSEmmanuel Vadot}; 349c66ec88fSEmmanuel Vadot 350c66ec88fSEmmanuel VadotExample for FMan v3 internal MDIO: 351c66ec88fSEmmanuel Vadot 352c66ec88fSEmmanuel Vadotmdio@f1000 { 353c66ec88fSEmmanuel Vadot compatible = "fsl,fman-memac-mdio"; 354c66ec88fSEmmanuel Vadot reg = <0xf1000 0x1000>; 355c66ec88fSEmmanuel Vadot fsl,fman-internal-mdio; 356c66ec88fSEmmanuel Vadot 357c66ec88fSEmmanuel Vadot pcsphy6: ethernet-phy@0 { 358c66ec88fSEmmanuel Vadot reg = <0x0>; 359c66ec88fSEmmanuel Vadot }; 360c66ec88fSEmmanuel Vadot}; 361c66ec88fSEmmanuel Vadot 362c66ec88fSEmmanuel Vadot============================================================================= 363c66ec88fSEmmanuel VadotExample 364c66ec88fSEmmanuel Vadot 365c66ec88fSEmmanuel Vadotfman@400000 { 366c66ec88fSEmmanuel Vadot #address-cells = <1>; 367c66ec88fSEmmanuel Vadot #size-cells = <1>; 368c66ec88fSEmmanuel Vadot cell-index = <1>; 369c66ec88fSEmmanuel Vadot compatible = "fsl,fman" 370c66ec88fSEmmanuel Vadot ranges = <0 0x400000 0x100000>; 371c66ec88fSEmmanuel Vadot reg = <0x400000 0x100000>; 372c66ec88fSEmmanuel Vadot clocks = <&fman_clk>; 373c66ec88fSEmmanuel Vadot clock-names = "fmanclk"; 374c66ec88fSEmmanuel Vadot interrupts = < 375c66ec88fSEmmanuel Vadot 96 2 0 0 376c66ec88fSEmmanuel Vadot 16 2 1 1>; 377c66ec88fSEmmanuel Vadot fsl,qman-channel-range = <0x40 0xc>; 378c66ec88fSEmmanuel Vadot 379c66ec88fSEmmanuel Vadot muram@0 { 380c66ec88fSEmmanuel Vadot compatible = "fsl,fman-muram"; 381c66ec88fSEmmanuel Vadot reg = <0x0 0x28000>; 382c66ec88fSEmmanuel Vadot }; 383c66ec88fSEmmanuel Vadot 384c66ec88fSEmmanuel Vadot port@81000 { 385c66ec88fSEmmanuel Vadot cell-index = <1>; 386c66ec88fSEmmanuel Vadot compatible = "fsl,fman-v2-port-oh"; 387c66ec88fSEmmanuel Vadot reg = <0x81000 0x1000>; 388c66ec88fSEmmanuel Vadot }; 389c66ec88fSEmmanuel Vadot 390c66ec88fSEmmanuel Vadot port@82000 { 391c66ec88fSEmmanuel Vadot cell-index = <2>; 392c66ec88fSEmmanuel Vadot compatible = "fsl,fman-v2-port-oh"; 393c66ec88fSEmmanuel Vadot reg = <0x82000 0x1000>; 394c66ec88fSEmmanuel Vadot }; 395c66ec88fSEmmanuel Vadot 396c66ec88fSEmmanuel Vadot port@83000 { 397c66ec88fSEmmanuel Vadot cell-index = <3>; 398c66ec88fSEmmanuel Vadot compatible = "fsl,fman-v2-port-oh"; 399c66ec88fSEmmanuel Vadot reg = <0x83000 0x1000>; 400c66ec88fSEmmanuel Vadot }; 401c66ec88fSEmmanuel Vadot 402c66ec88fSEmmanuel Vadot port@84000 { 403c66ec88fSEmmanuel Vadot cell-index = <4>; 404c66ec88fSEmmanuel Vadot compatible = "fsl,fman-v2-port-oh"; 405c66ec88fSEmmanuel Vadot reg = <0x84000 0x1000>; 406c66ec88fSEmmanuel Vadot }; 407c66ec88fSEmmanuel Vadot 408c66ec88fSEmmanuel Vadot port@85000 { 409c66ec88fSEmmanuel Vadot cell-index = <5>; 410c66ec88fSEmmanuel Vadot compatible = "fsl,fman-v2-port-oh"; 411c66ec88fSEmmanuel Vadot reg = <0x85000 0x1000>; 412c66ec88fSEmmanuel Vadot }; 413c66ec88fSEmmanuel Vadot 414c66ec88fSEmmanuel Vadot port@86000 { 415c66ec88fSEmmanuel Vadot cell-index = <6>; 416c66ec88fSEmmanuel Vadot compatible = "fsl,fman-v2-port-oh"; 417c66ec88fSEmmanuel Vadot reg = <0x86000 0x1000>; 418c66ec88fSEmmanuel Vadot }; 419c66ec88fSEmmanuel Vadot 420c66ec88fSEmmanuel Vadot fman1_rx_0x8: port@88000 { 421c66ec88fSEmmanuel Vadot cell-index = <0x8>; 422c66ec88fSEmmanuel Vadot compatible = "fsl,fman-v2-port-rx"; 423c66ec88fSEmmanuel Vadot reg = <0x88000 0x1000>; 424c66ec88fSEmmanuel Vadot }; 425c66ec88fSEmmanuel Vadot 426c66ec88fSEmmanuel Vadot fman1_rx_0x9: port@89000 { 427c66ec88fSEmmanuel Vadot cell-index = <0x9>; 428c66ec88fSEmmanuel Vadot compatible = "fsl,fman-v2-port-rx"; 429c66ec88fSEmmanuel Vadot reg = <0x89000 0x1000>; 430c66ec88fSEmmanuel Vadot }; 431c66ec88fSEmmanuel Vadot 432c66ec88fSEmmanuel Vadot fman1_rx_0xa: port@8a000 { 433c66ec88fSEmmanuel Vadot cell-index = <0xa>; 434c66ec88fSEmmanuel Vadot compatible = "fsl,fman-v2-port-rx"; 435c66ec88fSEmmanuel Vadot reg = <0x8a000 0x1000>; 436c66ec88fSEmmanuel Vadot }; 437c66ec88fSEmmanuel Vadot 438c66ec88fSEmmanuel Vadot fman1_rx_0xb: port@8b000 { 439c66ec88fSEmmanuel Vadot cell-index = <0xb>; 440c66ec88fSEmmanuel Vadot compatible = "fsl,fman-v2-port-rx"; 441c66ec88fSEmmanuel Vadot reg = <0x8b000 0x1000>; 442c66ec88fSEmmanuel Vadot }; 443c66ec88fSEmmanuel Vadot 444c66ec88fSEmmanuel Vadot fman1_rx_0xc: port@8c000 { 445c66ec88fSEmmanuel Vadot cell-index = <0xc>; 446c66ec88fSEmmanuel Vadot compatible = "fsl,fman-v2-port-rx"; 447c66ec88fSEmmanuel Vadot reg = <0x8c000 0x1000>; 448c66ec88fSEmmanuel Vadot }; 449c66ec88fSEmmanuel Vadot 450c66ec88fSEmmanuel Vadot fman1_rx_0x10: port@90000 { 451c66ec88fSEmmanuel Vadot cell-index = <0x10>; 452c66ec88fSEmmanuel Vadot compatible = "fsl,fman-v2-port-rx"; 453c66ec88fSEmmanuel Vadot reg = <0x90000 0x1000>; 454c66ec88fSEmmanuel Vadot }; 455c66ec88fSEmmanuel Vadot 456c66ec88fSEmmanuel Vadot fman1_tx_0x28: port@a8000 { 457c66ec88fSEmmanuel Vadot cell-index = <0x28>; 458c66ec88fSEmmanuel Vadot compatible = "fsl,fman-v2-port-tx"; 459c66ec88fSEmmanuel Vadot reg = <0xa8000 0x1000>; 460c66ec88fSEmmanuel Vadot }; 461c66ec88fSEmmanuel Vadot 462c66ec88fSEmmanuel Vadot fman1_tx_0x29: port@a9000 { 463c66ec88fSEmmanuel Vadot cell-index = <0x29>; 464c66ec88fSEmmanuel Vadot compatible = "fsl,fman-v2-port-tx"; 465c66ec88fSEmmanuel Vadot reg = <0xa9000 0x1000>; 466c66ec88fSEmmanuel Vadot }; 467c66ec88fSEmmanuel Vadot 468c66ec88fSEmmanuel Vadot fman1_tx_0x2a: port@aa000 { 469c66ec88fSEmmanuel Vadot cell-index = <0x2a>; 470c66ec88fSEmmanuel Vadot compatible = "fsl,fman-v2-port-tx"; 471c66ec88fSEmmanuel Vadot reg = <0xaa000 0x1000>; 472c66ec88fSEmmanuel Vadot }; 473c66ec88fSEmmanuel Vadot 474c66ec88fSEmmanuel Vadot fman1_tx_0x2b: port@ab000 { 475c66ec88fSEmmanuel Vadot cell-index = <0x2b>; 476c66ec88fSEmmanuel Vadot compatible = "fsl,fman-v2-port-tx"; 477c66ec88fSEmmanuel Vadot reg = <0xab000 0x1000>; 478c66ec88fSEmmanuel Vadot }; 479c66ec88fSEmmanuel Vadot 480c66ec88fSEmmanuel Vadot fman1_tx_0x2c: port@ac0000 { 481c66ec88fSEmmanuel Vadot cell-index = <0x2c>; 482c66ec88fSEmmanuel Vadot compatible = "fsl,fman-v2-port-tx"; 483c66ec88fSEmmanuel Vadot reg = <0xac000 0x1000>; 484c66ec88fSEmmanuel Vadot }; 485c66ec88fSEmmanuel Vadot 486c66ec88fSEmmanuel Vadot fman1_tx_0x30: port@b0000 { 487c66ec88fSEmmanuel Vadot cell-index = <0x30>; 488c66ec88fSEmmanuel Vadot compatible = "fsl,fman-v2-port-tx"; 489c66ec88fSEmmanuel Vadot reg = <0xb0000 0x1000>; 490c66ec88fSEmmanuel Vadot }; 491c66ec88fSEmmanuel Vadot 492c66ec88fSEmmanuel Vadot ethernet@e0000 { 493c66ec88fSEmmanuel Vadot compatible = "fsl,fman-dtsec"; 494c66ec88fSEmmanuel Vadot cell-index = <0>; 495c66ec88fSEmmanuel Vadot reg = <0xe0000 0x1000>; 496c66ec88fSEmmanuel Vadot fsl,fman-ports = <&fman1_rx_0x8 &fman1_tx_0x28>; 497c66ec88fSEmmanuel Vadot tbi-handle = <&tbi5>; 498c66ec88fSEmmanuel Vadot }; 499c66ec88fSEmmanuel Vadot 500c66ec88fSEmmanuel Vadot ethernet@e2000 { 501c66ec88fSEmmanuel Vadot compatible = "fsl,fman-dtsec"; 502c66ec88fSEmmanuel Vadot cell-index = <1>; 503c66ec88fSEmmanuel Vadot reg = <0xe2000 0x1000>; 504c66ec88fSEmmanuel Vadot fsl,fman-ports = <&fman1_rx_0x9 &fman1_tx_0x29>; 505c66ec88fSEmmanuel Vadot tbi-handle = <&tbi6>; 506c66ec88fSEmmanuel Vadot }; 507c66ec88fSEmmanuel Vadot 508c66ec88fSEmmanuel Vadot ethernet@e4000 { 509c66ec88fSEmmanuel Vadot compatible = "fsl,fman-dtsec"; 510c66ec88fSEmmanuel Vadot cell-index = <2>; 511c66ec88fSEmmanuel Vadot reg = <0xe4000 0x1000>; 512c66ec88fSEmmanuel Vadot fsl,fman-ports = <&fman1_rx_0xa &fman1_tx_0x2a>; 513c66ec88fSEmmanuel Vadot tbi-handle = <&tbi7>; 514c66ec88fSEmmanuel Vadot }; 515c66ec88fSEmmanuel Vadot 516c66ec88fSEmmanuel Vadot ethernet@e6000 { 517c66ec88fSEmmanuel Vadot compatible = "fsl,fman-dtsec"; 518c66ec88fSEmmanuel Vadot cell-index = <3>; 519c66ec88fSEmmanuel Vadot reg = <0xe6000 0x1000>; 520c66ec88fSEmmanuel Vadot fsl,fman-ports = <&fman1_rx_0xb &fman1_tx_0x2b>; 521c66ec88fSEmmanuel Vadot tbi-handle = <&tbi8>; 522c66ec88fSEmmanuel Vadot }; 523c66ec88fSEmmanuel Vadot 524c66ec88fSEmmanuel Vadot ethernet@e8000 { 525c66ec88fSEmmanuel Vadot compatible = "fsl,fman-dtsec"; 526c66ec88fSEmmanuel Vadot cell-index = <4>; 527c66ec88fSEmmanuel Vadot reg = <0xf0000 0x1000>; 528c66ec88fSEmmanuel Vadot fsl,fman-ports = <&fman1_rx_0xc &fman1_tx_0x2c>; 529c66ec88fSEmmanuel Vadot tbi-handle = <&tbi9>; 530c66ec88fSEmmanuel Vadot 531c66ec88fSEmmanuel Vadot ethernet@f0000 { 532c66ec88fSEmmanuel Vadot cell-index = <8>; 533c66ec88fSEmmanuel Vadot compatible = "fsl,fman-xgec"; 534c66ec88fSEmmanuel Vadot reg = <0xf0000 0x1000>; 535c66ec88fSEmmanuel Vadot fsl,fman-ports = <&fman1_rx_0x10 &fman1_tx_0x30>; 536c66ec88fSEmmanuel Vadot }; 537c66ec88fSEmmanuel Vadot 538c66ec88fSEmmanuel Vadot ptp-timer@fe000 { 539c66ec88fSEmmanuel Vadot compatible = "fsl,fman-ptp-timer"; 540c66ec88fSEmmanuel Vadot reg = <0xfe000 0x1000>; 541c66ec88fSEmmanuel Vadot }; 542c66ec88fSEmmanuel Vadot 543c66ec88fSEmmanuel Vadot mdio@f1000 { 544c66ec88fSEmmanuel Vadot compatible = "fsl,fman-xmdio"; 545c66ec88fSEmmanuel Vadot reg = <0xf1000 0x1000>; 546c66ec88fSEmmanuel Vadot interrupts = <101 2 0 0>; 547c66ec88fSEmmanuel Vadot }; 548c66ec88fSEmmanuel Vadot}; 549