xref: /freebsd/sys/contrib/device-tree/Bindings/net/faraday,ftgmac100.yaml (revision 833e5d42ab135b0238e61c5b3c19b8619677cbfa)
1aa1a8ff2SEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0
2aa1a8ff2SEmmanuel Vadot%YAML 1.2
3aa1a8ff2SEmmanuel Vadot---
4aa1a8ff2SEmmanuel Vadot$id: http://devicetree.org/schemas/net/faraday,ftgmac100.yaml#
5aa1a8ff2SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6aa1a8ff2SEmmanuel Vadot
7aa1a8ff2SEmmanuel Vadottitle: Faraday Technology FTGMAC100 gigabit ethernet controller
8aa1a8ff2SEmmanuel Vadot
9aa1a8ff2SEmmanuel Vadotmaintainers:
10aa1a8ff2SEmmanuel Vadot  - Po-Yu Chuang <ratbert@faraday-tech.com>
11aa1a8ff2SEmmanuel Vadot
12aa1a8ff2SEmmanuel Vadotproperties:
13aa1a8ff2SEmmanuel Vadot  compatible:
14aa1a8ff2SEmmanuel Vadot    oneOf:
15aa1a8ff2SEmmanuel Vadot      - const: faraday,ftgmac100
16aa1a8ff2SEmmanuel Vadot      - items:
17aa1a8ff2SEmmanuel Vadot          - enum:
18aa1a8ff2SEmmanuel Vadot              - aspeed,ast2400-mac
19aa1a8ff2SEmmanuel Vadot              - aspeed,ast2500-mac
20aa1a8ff2SEmmanuel Vadot              - aspeed,ast2600-mac
21aa1a8ff2SEmmanuel Vadot          - const: faraday,ftgmac100
22aa1a8ff2SEmmanuel Vadot
23aa1a8ff2SEmmanuel Vadot  reg:
24aa1a8ff2SEmmanuel Vadot    maxItems: 1
25aa1a8ff2SEmmanuel Vadot
26aa1a8ff2SEmmanuel Vadot  interrupts:
27aa1a8ff2SEmmanuel Vadot    maxItems: 1
28aa1a8ff2SEmmanuel Vadot
29aa1a8ff2SEmmanuel Vadot  clocks:
30aa1a8ff2SEmmanuel Vadot    minItems: 1
31aa1a8ff2SEmmanuel Vadot    items:
32aa1a8ff2SEmmanuel Vadot      - description: MAC IP clock
33aa1a8ff2SEmmanuel Vadot      - description: RMII RCLK gate for AST2500/2600
34aa1a8ff2SEmmanuel Vadot
35*833e5d42SEmmanuel Vadot  resets:
36*833e5d42SEmmanuel Vadot    maxItems: 1
37*833e5d42SEmmanuel Vadot
38aa1a8ff2SEmmanuel Vadot  clock-names:
39aa1a8ff2SEmmanuel Vadot    minItems: 1
40aa1a8ff2SEmmanuel Vadot    items:
41aa1a8ff2SEmmanuel Vadot      - const: MACCLK
42aa1a8ff2SEmmanuel Vadot      - const: RCLK
43aa1a8ff2SEmmanuel Vadot
44aa1a8ff2SEmmanuel Vadot  phy-mode:
45aa1a8ff2SEmmanuel Vadot    enum:
46aa1a8ff2SEmmanuel Vadot      - rgmii
478ccc0d23SEmmanuel Vadot      - rgmii-id
488ccc0d23SEmmanuel Vadot      - rgmii-rxid
498ccc0d23SEmmanuel Vadot      - rgmii-txid
50aa1a8ff2SEmmanuel Vadot      - rmii
51aa1a8ff2SEmmanuel Vadot
52aa1a8ff2SEmmanuel Vadot  phy-handle: true
53aa1a8ff2SEmmanuel Vadot
54aa1a8ff2SEmmanuel Vadot  use-ncsi:
55aa1a8ff2SEmmanuel Vadot    description:
56aa1a8ff2SEmmanuel Vadot      Use the NC-SI stack instead of an MDIO PHY. Currently assumes
57aa1a8ff2SEmmanuel Vadot      rmii (100bT) but kept as a separate property in case NC-SI grows support
58aa1a8ff2SEmmanuel Vadot      for a gigabit link.
59aa1a8ff2SEmmanuel Vadot    type: boolean
60aa1a8ff2SEmmanuel Vadot
61aa1a8ff2SEmmanuel Vadot  no-hw-checksum:
62aa1a8ff2SEmmanuel Vadot    description:
63aa1a8ff2SEmmanuel Vadot      Used to disable HW checksum support. Here for backward
64aa1a8ff2SEmmanuel Vadot      compatibility as the driver now should have correct defaults based on
65aa1a8ff2SEmmanuel Vadot      the SoC.
66aa1a8ff2SEmmanuel Vadot    type: boolean
67aa1a8ff2SEmmanuel Vadot    deprecated: true
68aa1a8ff2SEmmanuel Vadot
69aa1a8ff2SEmmanuel Vadot  mdio:
70aa1a8ff2SEmmanuel Vadot    $ref: /schemas/net/mdio.yaml#
71aa1a8ff2SEmmanuel Vadot
72aa1a8ff2SEmmanuel Vadotrequired:
73aa1a8ff2SEmmanuel Vadot  - compatible
74aa1a8ff2SEmmanuel Vadot  - reg
75aa1a8ff2SEmmanuel Vadot  - interrupts
76aa1a8ff2SEmmanuel Vadot
77*833e5d42SEmmanuel VadotallOf:
78*833e5d42SEmmanuel Vadot  - $ref: ethernet-controller.yaml#
79*833e5d42SEmmanuel Vadot  - if:
80*833e5d42SEmmanuel Vadot      properties:
81*833e5d42SEmmanuel Vadot        compatible:
82*833e5d42SEmmanuel Vadot          contains:
83*833e5d42SEmmanuel Vadot            enum:
84*833e5d42SEmmanuel Vadot              - aspeed,ast2600-mac
85*833e5d42SEmmanuel Vadot    then:
86*833e5d42SEmmanuel Vadot      properties:
87*833e5d42SEmmanuel Vadot        resets: true
88*833e5d42SEmmanuel Vadot    else:
89*833e5d42SEmmanuel Vadot      properties:
90*833e5d42SEmmanuel Vadot        resets: false
91*833e5d42SEmmanuel Vadot
92aa1a8ff2SEmmanuel VadotunevaluatedProperties: false
93aa1a8ff2SEmmanuel Vadot
94aa1a8ff2SEmmanuel Vadotexamples:
95aa1a8ff2SEmmanuel Vadot  - |
96aa1a8ff2SEmmanuel Vadot    ethernet@1e660000 {
97aa1a8ff2SEmmanuel Vadot        compatible = "aspeed,ast2500-mac", "faraday,ftgmac100";
98aa1a8ff2SEmmanuel Vadot        reg = <0x1e660000 0x180>;
99aa1a8ff2SEmmanuel Vadot        interrupts = <2>;
100aa1a8ff2SEmmanuel Vadot        use-ncsi;
101aa1a8ff2SEmmanuel Vadot    };
102aa1a8ff2SEmmanuel Vadot
103aa1a8ff2SEmmanuel Vadot    ethernet@1e680000 {
104aa1a8ff2SEmmanuel Vadot        compatible = "aspeed,ast2500-mac", "faraday,ftgmac100";
105aa1a8ff2SEmmanuel Vadot        reg = <0x1e680000 0x180>;
106aa1a8ff2SEmmanuel Vadot        interrupts = <2>;
107aa1a8ff2SEmmanuel Vadot
108aa1a8ff2SEmmanuel Vadot        phy-handle = <&phy>;
109aa1a8ff2SEmmanuel Vadot        phy-mode = "rgmii";
110aa1a8ff2SEmmanuel Vadot
111aa1a8ff2SEmmanuel Vadot        mdio {
112aa1a8ff2SEmmanuel Vadot            #address-cells = <1>;
113aa1a8ff2SEmmanuel Vadot            #size-cells = <0>;
114aa1a8ff2SEmmanuel Vadot
115aa1a8ff2SEmmanuel Vadot            phy: ethernet-phy@1 {
116aa1a8ff2SEmmanuel Vadot                compatible = "ethernet-phy-ieee802.3-c22";
117aa1a8ff2SEmmanuel Vadot                reg = <1>;
118aa1a8ff2SEmmanuel Vadot            };
119aa1a8ff2SEmmanuel Vadot        };
120aa1a8ff2SEmmanuel Vadot    };
121