# 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 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>; };