| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169 |
- # 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
- 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
- - ti,j721e-cpsw9g-phy-gmii-sel
- - ti,j784s4-cpsw9g-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/s for QSGMII
- main mode. The size of the array corresponds to the number of QSGMII
- interfaces and thus, the number of distinct QSGMII main ports,
- supported by the device. If the device supports two QSGMII interfaces
- but only one QSGMII interface is desired, repeat the QSGMII main port
- value corresponding to the QSGMII interface in the array.
- minItems: 1
- maxItems: 2
- items:
- minimum: 1
- maximum: 8
- allOf:
- - if:
- properties:
- compatible:
- contains:
- enum:
- - ti,dra7xx-phy-gmii-sel
- - ti,dm814-phy-gmii-sel
- - ti,am654-phy-gmii-sel
- - ti,j7200-cpsw5g-phy-gmii-sel
- - ti,j721e-cpsw9g-phy-gmii-sel
- - ti,j784s4-cpsw9g-phy-gmii-sel
- then:
- properties:
- '#phy-cells':
- const: 1
- description: CPSW port number (starting from 1)
- - if:
- properties:
- compatible:
- contains:
- enum:
- - ti,j7200-cpsw5g-phy-gmii-sel
- then:
- properties:
- ti,qsgmii-main-ports:
- maxItems: 1
- items:
- minimum: 1
- maximum: 4
- - if:
- properties:
- compatible:
- contains:
- enum:
- - ti,j721e-cpsw9g-phy-gmii-sel
- - ti,j784s4-cpsw9g-phy-gmii-sel
- then:
- properties:
- ti,qsgmii-main-ports:
- minItems: 2
- maxItems: 2
- items:
- minimum: 1
- maximum: 8
- - if:
- not:
- properties:
- compatible:
- contains:
- enum:
- - ti,j7200-cpsw5g-phy-gmii-sel
- - ti,j721e-cpsw9g-phy-gmii-sel
- - ti,j784s4-cpsw9g-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>;
- };
|