xref: /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/phy/ti,phy-gmii-sel.yaml (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*4882a593Smuzhiyun# Copyright (C) 2020 Texas Instruments Incorporated - http://www.ti.com/
3*4882a593Smuzhiyun%YAML 1.2
4*4882a593Smuzhiyun---
5*4882a593Smuzhiyun$id: "http://devicetree.org/schemas/phy/ti,phy-gmii-sel.yaml#"
6*4882a593Smuzhiyun$schema: "http://devicetree.org/meta-schemas/core.yaml#"
7*4882a593Smuzhiyun
8*4882a593Smuzhiyuntitle: CPSW Port's Interface Mode Selection PHY Tree Bindings
9*4882a593Smuzhiyun
10*4882a593Smuzhiyunmaintainers:
11*4882a593Smuzhiyun  - Kishon Vijay Abraham I <kishon@ti.com>
12*4882a593Smuzhiyun
13*4882a593Smuzhiyundescription: |
14*4882a593Smuzhiyun  TI am335x/am437x/dra7(am5)/dm814x CPSW3G Ethernet Subsystem supports
15*4882a593Smuzhiyun  two 10/100/1000 Ethernet ports with selectable G/MII, RMII, and RGMII interfaces.
16*4882a593Smuzhiyun  The interface mode is selected by configuring the MII mode selection register(s)
17*4882a593Smuzhiyun  (GMII_SEL) in the System Control Module chapter (SCM). GMII_SEL register(s) and
18*4882a593Smuzhiyun  bit fields placement in SCM are different between SoCs while fields meaning
19*4882a593Smuzhiyun  is the same.
20*4882a593Smuzhiyun                                               +--------------+
21*4882a593Smuzhiyun        +-------------------------------+      |SCM           |
22*4882a593Smuzhiyun        |                     CPSW      |      |  +---------+ |
23*4882a593Smuzhiyun        |        +--------------------------------+gmii_sel | |
24*4882a593Smuzhiyun        |        |                      |      |  +---------+ |
25*4882a593Smuzhiyun        |   +----v---+     +--------+   |      +--------------+
26*4882a593Smuzhiyun        |   |Port 1..<--+-->GMII/MII<------->
27*4882a593Smuzhiyun        |   |        |  |  |        |   |
28*4882a593Smuzhiyun        |   +--------+  |  +--------+   |
29*4882a593Smuzhiyun        |               |               |
30*4882a593Smuzhiyun        |               |  +--------+   |
31*4882a593Smuzhiyun        |               |  | RMII   <------->
32*4882a593Smuzhiyun        |               +-->        |   |
33*4882a593Smuzhiyun        |               |  +--------+   |
34*4882a593Smuzhiyun        |               |               |
35*4882a593Smuzhiyun        |               |  +--------+   |
36*4882a593Smuzhiyun        |               |  | RGMII  <------->
37*4882a593Smuzhiyun        |               +-->        |   |
38*4882a593Smuzhiyun        |                  +--------+   |
39*4882a593Smuzhiyun        +-------------------------------+
40*4882a593Smuzhiyun
41*4882a593Smuzhiyun  CPSW Port's Interface Mode Selection PHY describes MII interface mode between
42*4882a593Smuzhiyun  CPSW Port and Ethernet PHY which depends on Eth PHY and board configuration.
43*4882a593Smuzhiyun  |
44*4882a593Smuzhiyun  CPSW Port's Interface Mode Selection PHY device should defined as child device
45*4882a593Smuzhiyun  of SCM node (scm_conf) and can be attached to each CPSW port node using standard
46*4882a593Smuzhiyun  PHY bindings.
47*4882a593Smuzhiyun
48*4882a593Smuzhiyunproperties:
49*4882a593Smuzhiyun  compatible:
50*4882a593Smuzhiyun    enum:
51*4882a593Smuzhiyun      - ti,am3352-phy-gmii-sel
52*4882a593Smuzhiyun      - ti,dra7xx-phy-gmii-sel
53*4882a593Smuzhiyun      - ti,am43xx-phy-gmii-sel
54*4882a593Smuzhiyun      - ti,dm814-phy-gmii-sel
55*4882a593Smuzhiyun      - ti,am654-phy-gmii-sel
56*4882a593Smuzhiyun
57*4882a593Smuzhiyun  reg:
58*4882a593Smuzhiyun    description: Address and length of the register set for the device
59*4882a593Smuzhiyun
60*4882a593Smuzhiyun  '#phy-cells': true
61*4882a593Smuzhiyun
62*4882a593SmuzhiyunallOf:
63*4882a593Smuzhiyun  - if:
64*4882a593Smuzhiyun      properties:
65*4882a593Smuzhiyun        compatible:
66*4882a593Smuzhiyun          contains:
67*4882a593Smuzhiyun            enum:
68*4882a593Smuzhiyun              - ti,dra7xx-phy-gmii-sel
69*4882a593Smuzhiyun              - ti,dm814-phy-gmii-sel
70*4882a593Smuzhiyun              - ti,am654-phy-gmii-sel
71*4882a593Smuzhiyun    then:
72*4882a593Smuzhiyun      properties:
73*4882a593Smuzhiyun        '#phy-cells':
74*4882a593Smuzhiyun          const: 1
75*4882a593Smuzhiyun          description: CPSW port number (starting from 1)
76*4882a593Smuzhiyun  - if:
77*4882a593Smuzhiyun      properties:
78*4882a593Smuzhiyun        compatible:
79*4882a593Smuzhiyun          contains:
80*4882a593Smuzhiyun            enum:
81*4882a593Smuzhiyun              - ti,am3352-phy-gmii-sel
82*4882a593Smuzhiyun              - ti,am43xx-phy-gmii-sel
83*4882a593Smuzhiyun    then:
84*4882a593Smuzhiyun      properties:
85*4882a593Smuzhiyun        '#phy-cells':
86*4882a593Smuzhiyun          const: 2
87*4882a593Smuzhiyun          description: |
88*4882a593Smuzhiyun            - CPSW port number (starting from 1)
89*4882a593Smuzhiyun            - RMII refclk mode
90*4882a593Smuzhiyun
91*4882a593Smuzhiyunrequired:
92*4882a593Smuzhiyun  - compatible
93*4882a593Smuzhiyun  - reg
94*4882a593Smuzhiyun  - '#phy-cells'
95*4882a593Smuzhiyun
96*4882a593SmuzhiyunadditionalProperties: false
97*4882a593Smuzhiyun
98*4882a593Smuzhiyunexamples:
99*4882a593Smuzhiyun  - |
100*4882a593Smuzhiyun    phy_gmii_sel: phy-gmii-sel@650 {
101*4882a593Smuzhiyun        compatible = "ti,am3352-phy-gmii-sel";
102*4882a593Smuzhiyun        reg = <0x650 0x4>;
103*4882a593Smuzhiyun        #phy-cells = <2>;
104*4882a593Smuzhiyun    };
105