xref: /freebsd/sys/contrib/device-tree/Bindings/net/fsl,fman-port.yaml (revision 0e8011faf58b743cc652e3b2ad0f7671227610df)
1*0e8011faSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*0e8011faSEmmanuel Vadot%YAML 1.2
3*0e8011faSEmmanuel Vadot---
4*0e8011faSEmmanuel Vadot$id: http://devicetree.org/schemas/net/fsl,fman-port.yaml#
5*0e8011faSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*0e8011faSEmmanuel Vadot
7*0e8011faSEmmanuel Vadottitle: Freescale Frame Manager Port Device
8*0e8011faSEmmanuel Vadot
9*0e8011faSEmmanuel Vadotmaintainers:
10*0e8011faSEmmanuel Vadot  - Frank Li <Frank.Li@nxp.com>
11*0e8011faSEmmanuel Vadot
12*0e8011faSEmmanuel Vadotdescription: |
13*0e8011faSEmmanuel Vadot  The Frame Manager (FMan) supports several types of hardware ports:
14*0e8011faSEmmanuel Vadot    Ethernet receiver (RX)
15*0e8011faSEmmanuel Vadot    Ethernet transmitter (TX)
16*0e8011faSEmmanuel Vadot    Offline/Host command (O/H)
17*0e8011faSEmmanuel Vadot
18*0e8011faSEmmanuel Vadotproperties:
19*0e8011faSEmmanuel Vadot  compatible:
20*0e8011faSEmmanuel Vadot    enum:
21*0e8011faSEmmanuel Vadot      - fsl,fman-v2-port-oh
22*0e8011faSEmmanuel Vadot      - fsl,fman-v2-port-rx
23*0e8011faSEmmanuel Vadot      - fsl,fman-v2-port-tx
24*0e8011faSEmmanuel Vadot      - fsl,fman-v3-port-oh
25*0e8011faSEmmanuel Vadot      - fsl,fman-v3-port-rx
26*0e8011faSEmmanuel Vadot      - fsl,fman-v3-port-tx
27*0e8011faSEmmanuel Vadot
28*0e8011faSEmmanuel Vadot  cell-index:
29*0e8011faSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
30*0e8011faSEmmanuel Vadot    description:
31*0e8011faSEmmanuel Vadot      Specifies the hardware port id.
32*0e8011faSEmmanuel Vadot      Each hardware port on the FMan has its own hardware PortID.
33*0e8011faSEmmanuel Vadot      Super set of all hardware Port IDs available at FMan Reference
34*0e8011faSEmmanuel Vadot      Manual under "FMan Hardware Ports in Freescale Devices" table.
35*0e8011faSEmmanuel Vadot
36*0e8011faSEmmanuel Vadot      Each hardware port is assigned a 4KB, port-specific page in
37*0e8011faSEmmanuel Vadot      the FMan hardware port memory region (which is part of the
38*0e8011faSEmmanuel Vadot      FMan memory map). The first 4 KB in the FMan hardware ports
39*0e8011faSEmmanuel Vadot      memory region is used for what are called common registers.
40*0e8011faSEmmanuel Vadot      The subsequent 63 4KB pages are allocated to the hardware
41*0e8011faSEmmanuel Vadot      ports.
42*0e8011faSEmmanuel Vadot      The page of a specific port is determined by the cell-index.
43*0e8011faSEmmanuel Vadot
44*0e8011faSEmmanuel Vadot  reg:
45*0e8011faSEmmanuel Vadot    items:
46*0e8011faSEmmanuel Vadot      - description: There is one reg region describing the port
47*0e8011faSEmmanuel Vadot          configuration registers.
48*0e8011faSEmmanuel Vadot
49*0e8011faSEmmanuel Vadot  fsl,fman-10g-port:
50*0e8011faSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/flag
51*0e8011faSEmmanuel Vadot    description: The default port rate is 1G.
52*0e8011faSEmmanuel Vadot      If this property exists, the port is s 10G port.
53*0e8011faSEmmanuel Vadot
54*0e8011faSEmmanuel Vadot  fsl,fman-best-effort-port:
55*0e8011faSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/flag
56*0e8011faSEmmanuel Vadot    description: The default port rate is 1G.
57*0e8011faSEmmanuel Vadot      Can be defined only if 10G-support is set.
58*0e8011faSEmmanuel Vadot      This property marks a best-effort 10G port (10G port that
59*0e8011faSEmmanuel Vadot      may not be capable of line rate).
60*0e8011faSEmmanuel Vadot
61*0e8011faSEmmanuel Vadotrequired:
62*0e8011faSEmmanuel Vadot  - compatible
63*0e8011faSEmmanuel Vadot  - reg
64*0e8011faSEmmanuel Vadot  - cell-index
65*0e8011faSEmmanuel Vadot
66*0e8011faSEmmanuel VadotadditionalProperties: false
67*0e8011faSEmmanuel Vadot
68*0e8011faSEmmanuel Vadotexamples:
69*0e8011faSEmmanuel Vadot  - |
70*0e8011faSEmmanuel Vadot    port@a8000 {
71*0e8011faSEmmanuel Vadot        compatible = "fsl,fman-v2-port-tx";
72*0e8011faSEmmanuel Vadot        reg = <0xa8000 0x1000>;
73*0e8011faSEmmanuel Vadot        cell-index = <0x28>;
74*0e8011faSEmmanuel Vadot    };
75*0e8011faSEmmanuel Vadot
76