1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
|
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/phy/hisilicon,phy-hi3670-pcie.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: HiSilicon Kirin970 PCIe PHY
maintainers:
- Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
description: |+
Bindings for PCIe PHY on HiSilicon Kirin 970.
properties:
compatible:
const: hisilicon,hi970-pcie-phy
"#phy-cells":
const: 0
reg:
maxItems: 1
description: PHY Control registers
phy-supply:
description: The PCIe PHY power supply
clocks:
items:
- description: PCIe PHY clock
- description: PCIe AUX clock
- description: PCIe APB PHY clock
- description: PCIe APB SYS clock
- description: PCIe ACLK clock
clock-names:
items:
- const: phy_ref
- const: aux
- const: apb_phy
- const: apb_sys
- const: aclk
hisilicon,eye-diagram-param:
$ref: /schemas/types.yaml#/definitions/uint32-array
description: Eye diagram for phy.
required:
- "#phy-cells"
- compatible
- reg
- clocks
- clock-names
- hisilicon,eye-diagram-param
- phy-supply
additionalProperties: false
examples:
- |
#include <dt-bindings/clock/hi3670-clock.h>
soc {
#address-cells = <2>;
#size-cells = <2>;
pcie_phy: pcie-phy@fc000000 {
compatible = "hisilicon,hi970-pcie-phy";
reg = <0x0 0xfc000000 0x0 0x80000>;
#phy-cells = <0>;
phy-supply = <&ldo33>;
clocks = <&crg_ctrl HI3670_CLK_GATE_PCIEPHY_REF>,
<&crg_ctrl HI3670_CLK_GATE_PCIEAUX>,
<&crg_ctrl HI3670_PCLK_GATE_PCIE_PHY>,
<&crg_ctrl HI3670_PCLK_GATE_PCIE_SYS>,
<&crg_ctrl HI3670_ACLK_GATE_PCIE>;
clock-names = "phy_ref", "aux",
"apb_phy", "apb_sys", "aclk";
hisilicon,eye-diagram-param = <0xffffffff 0xffffffff
0xffffffff 0xffffffff 0xffffffff>;
};
};
|