130 lines
3.9 KiB
YAML
130 lines
3.9 KiB
YAML
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
|
# Copyright (C) 2020 Texas Instruments Incorporated - http://www.ti.com/
|
|
%YAML 1.2
|
|
---
|
|
$id: "http://devicetree.org/schemas/phy/ti,phy-gmii-sel.yaml#"
|
|
$schema: "http://devicetree.org/meta-schemas/core.yaml#"
|
|
|
|
title: CPSW Port's Interface Mode Selection PHY Tree Bindings
|
|
|
|
maintainers:
|
|
- Kishon Vijay Abraham I <kishon@ti.com>
|
|
|
|
description: |
|
|
TI am335x/am437x/dra7(am5)/dm814x CPSW3G Ethernet Subsystem supports
|
|
two 10/100/1000 Ethernet ports with selectable G/MII, RMII, and RGMII interfaces.
|
|
The interface mode is selected by configuring the MII mode selection register(s)
|
|
(GMII_SEL) in the System Control Module chapter (SCM). GMII_SEL register(s) and
|
|
bit fields placement in SCM are different between SoCs while fields meaning
|
|
is the same.
|
|
+--------------+
|
|
+-------------------------------+ |SCM |
|
|
| CPSW | | +---------+ |
|
|
| +--------------------------------+gmii_sel | |
|
|
| | | | +---------+ |
|
|
| +----v---+ +--------+ | +--------------+
|
|
| |Port 1..<--+-->GMII/MII<------->
|
|
| | | | | | |
|
|
| +--------+ | +--------+ |
|
|
| | |
|
|
| | +--------+ |
|
|
| | | RMII <------->
|
|
| +--> | |
|
|
| | +--------+ |
|
|
| | |
|
|
| | +--------+ |
|
|
| | | RGMII <------->
|
|
| +--> | |
|
|
| +--------+ |
|
|
+-------------------------------+
|
|
|
|
CPSW Port's Interface Mode Selection PHY describes MII interface mode between
|
|
CPSW Port and Ethernet PHY which depends on Eth PHY and board configuration.
|
|
|
|
|
CPSW Port's Interface Mode Selection PHY device should defined as child device
|
|
of SCM node (scm_conf) and can be attached to each CPSW port node using standard
|
|
PHY bindings.
|
|
|
|
properties:
|
|
compatible:
|
|
enum:
|
|
- ti,am3352-phy-gmii-sel
|
|
- ti,dra7xx-phy-gmii-sel
|
|
- ti,am43xx-phy-gmii-sel
|
|
- ti,dm814-phy-gmii-sel
|
|
- ti,am654-phy-gmii-sel
|
|
- ti,j7200-cpsw5g-phy-gmii-sel
|
|
|
|
reg:
|
|
maxItems: 1
|
|
|
|
'#phy-cells': true
|
|
|
|
ti,qsgmii-main-ports:
|
|
$ref: /schemas/types.yaml#/definitions/uint32-array
|
|
description: |
|
|
Required only for QSGMII mode. Array to select the port for
|
|
QSGMII main mode. Rest of the ports are selected as QSGMII_SUB
|
|
ports automatically. Any one of the 4 CPSW5G ports can act as the
|
|
main port with the rest of them being the QSGMII_SUB ports.
|
|
maxItems: 1
|
|
items:
|
|
minimum: 1
|
|
maximum: 4
|
|
|
|
allOf:
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
enum:
|
|
- ti,dra7xx-phy-gmii-sel
|
|
- ti,dm814-phy-gmii-sel
|
|
- ti,am654-phy-gmii-sel
|
|
then:
|
|
properties:
|
|
'#phy-cells':
|
|
const: 1
|
|
description: CPSW port number (starting from 1)
|
|
|
|
- if:
|
|
not:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
enum:
|
|
- ti,j7200-cpsw5g-phy-gmii-sel
|
|
then:
|
|
properties:
|
|
ti,qsgmii-main-ports: false
|
|
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
enum:
|
|
- ti,am3352-phy-gmii-sel
|
|
- ti,am43xx-phy-gmii-sel
|
|
then:
|
|
properties:
|
|
'#phy-cells':
|
|
const: 2
|
|
description: |
|
|
- CPSW port number (starting from 1)
|
|
- RMII refclk mode
|
|
|
|
required:
|
|
- compatible
|
|
- reg
|
|
- '#phy-cells'
|
|
|
|
additionalProperties: false
|
|
|
|
examples:
|
|
- |
|
|
phy_gmii_sel: phy@650 {
|
|
compatible = "ti,am3352-phy-gmii-sel";
|
|
reg = <0x650 0x4>;
|
|
#phy-cells = <2>;
|
|
};
|