201 lines
5.0 KiB
YAML
201 lines
5.0 KiB
YAML
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/phy/samsung,usb3-drd-phy.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: Samsung Exynos SoC USB 3.0 DRD PHY USB 2.0 PHY
|
|
|
|
maintainers:
|
|
- Krzysztof Kozlowski <krzk@kernel.org>
|
|
- Marek Szyprowski <m.szyprowski@samsung.com>
|
|
- Sylwester Nawrocki <s.nawrocki@samsung.com>
|
|
|
|
description: |
|
|
For samsung,exynos5250-usbdrd-phy and samsung,exynos5420-usbdrd-phy
|
|
compatible PHYs, the second cell in the PHY specifier identifies the
|
|
PHY id, which is interpreted as follows::
|
|
0 - UTMI+ type phy,
|
|
1 - PIPE3 type phy.
|
|
|
|
For SoCs like Exynos5420 having multiple USB 3.0 DRD PHY controllers,
|
|
'usbdrd_phy' nodes should have numbered alias in the aliases node, in the
|
|
form of usbdrdphyN, N = 0, 1... (depending on number of controllers).
|
|
|
|
properties:
|
|
compatible:
|
|
enum:
|
|
- google,gs101-usb31drd-phy
|
|
- samsung,exynos5250-usbdrd-phy
|
|
- samsung,exynos5420-usbdrd-phy
|
|
- samsung,exynos5433-usbdrd-phy
|
|
- samsung,exynos7-usbdrd-phy
|
|
- samsung,exynos850-usbdrd-phy
|
|
|
|
clocks:
|
|
minItems: 2
|
|
maxItems: 5
|
|
|
|
clock-names:
|
|
minItems: 2
|
|
maxItems: 5
|
|
description: |
|
|
At least two clocks::
|
|
- Main PHY clock (same as USB DRD controller i.e. DWC3 IP clock), used
|
|
for register access.
|
|
- PHY reference clock (usually crystal clock), used for PHY operations,
|
|
associated by phy name. It is used to determine bit values for clock
|
|
settings register. For Exynos5420 this is given as 'sclk_usbphy30'
|
|
in the CMU.
|
|
|
|
"#phy-cells":
|
|
const: 1
|
|
|
|
port:
|
|
$ref: /schemas/graph.yaml#/properties/port
|
|
description:
|
|
Any connector to the data bus of this controller should be modelled using
|
|
the OF graph bindings specified.
|
|
|
|
reg:
|
|
minItems: 1
|
|
maxItems: 3
|
|
|
|
reg-names:
|
|
minItems: 1
|
|
items:
|
|
- const: phy
|
|
- const: pcs
|
|
- const: pma
|
|
|
|
samsung,pmu-syscon:
|
|
$ref: /schemas/types.yaml#/definitions/phandle
|
|
description:
|
|
Phandle to PMU system controller interface.
|
|
|
|
vbus-supply:
|
|
description:
|
|
VBUS power source.
|
|
|
|
vbus-boost-supply:
|
|
description:
|
|
VBUS Boost 5V power source.
|
|
|
|
pll-supply:
|
|
description: Power supply for the USB PLL.
|
|
dvdd-usb20-supply:
|
|
description: DVDD power supply for the USB 2.0 phy.
|
|
vddh-usb20-supply:
|
|
description: VDDh power supply for the USB 2.0 phy.
|
|
vdd33-usb20-supply:
|
|
description: 3.3V power supply for the USB 2.0 phy.
|
|
vdda-usbdp-supply:
|
|
description: VDDa power supply for the USB DP phy.
|
|
vddh-usbdp-supply:
|
|
description: VDDh power supply for the USB DP phy.
|
|
|
|
required:
|
|
- compatible
|
|
- clocks
|
|
- clock-names
|
|
- "#phy-cells"
|
|
- reg
|
|
- samsung,pmu-syscon
|
|
|
|
allOf:
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
const: google,gs101-usb31drd-phy
|
|
then:
|
|
properties:
|
|
clocks:
|
|
items:
|
|
- description: Gate of main PHY clock
|
|
- description: Gate of PHY reference clock
|
|
- description: Gate of control interface AXI clock
|
|
- description: Gate of control interface APB clock
|
|
- description: Gate of SCL APB clock
|
|
clock-names:
|
|
items:
|
|
- const: phy
|
|
- const: ref
|
|
- const: ctrl_aclk
|
|
- const: ctrl_pclk
|
|
- const: scl_pclk
|
|
reg:
|
|
minItems: 3
|
|
reg-names:
|
|
minItems: 3
|
|
required:
|
|
- reg-names
|
|
- pll-supply
|
|
- dvdd-usb20-supply
|
|
- vddh-usb20-supply
|
|
- vdd33-usb20-supply
|
|
- vdda-usbdp-supply
|
|
- vddh-usbdp-supply
|
|
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
enum:
|
|
- samsung,exynos5433-usbdrd-phy
|
|
- samsung,exynos7-usbdrd-phy
|
|
then:
|
|
properties:
|
|
clocks:
|
|
minItems: 5
|
|
maxItems: 5
|
|
clock-names:
|
|
items:
|
|
- const: phy
|
|
- const: ref
|
|
- const: phy_utmi
|
|
- const: phy_pipe
|
|
- const: itp
|
|
reg:
|
|
maxItems: 1
|
|
reg-names:
|
|
maxItems: 1
|
|
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
enum:
|
|
- samsung,exynos5250-usbdrd-phy
|
|
- samsung,exynos5420-usbdrd-phy
|
|
- samsung,exynos850-usbdrd-phy
|
|
then:
|
|
properties:
|
|
clocks:
|
|
minItems: 2
|
|
maxItems: 2
|
|
clock-names:
|
|
items:
|
|
- const: phy
|
|
- const: ref
|
|
reg:
|
|
maxItems: 1
|
|
reg-names:
|
|
maxItems: 1
|
|
|
|
additionalProperties: false
|
|
|
|
examples:
|
|
- |
|
|
#include <dt-bindings/clock/exynos5420.h>
|
|
|
|
phy@12100000 {
|
|
compatible = "samsung,exynos5420-usbdrd-phy";
|
|
reg = <0x12100000 0x100>;
|
|
#phy-cells = <1>;
|
|
clocks = <&clock CLK_USBD300>, <&clock CLK_SCLK_USBPHY300>;
|
|
clock-names = "phy", "ref";
|
|
samsung,pmu-syscon = <&pmu_system_controller>;
|
|
vbus-supply = <&usb300_vbus_reg>;
|
|
};
|