1088e88beSMartin Blumenstingl# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2088e88beSMartin Blumenstingl%YAML 1.2
3088e88beSMartin Blumenstingl---
4088e88beSMartin Blumenstingl$id: http://devicetree.org/schemas/phy/lantiq,vrx200-pcie-phy.yaml#
5088e88beSMartin Blumenstingl$schema: http://devicetree.org/meta-schemas/core.yaml#
6088e88beSMartin Blumenstingl
7*dd3cb467SAndrew Lunntitle: Lantiq VRX200 and ARX300 PCIe PHY
8088e88beSMartin Blumenstingl
9088e88beSMartin Blumenstinglmaintainers:
10088e88beSMartin Blumenstingl  - Martin Blumenstingl <martin.blumenstingl@googlemail.com>
11088e88beSMartin Blumenstingl
12088e88beSMartin Blumenstinglproperties:
13088e88beSMartin Blumenstingl  "#phy-cells":
14088e88beSMartin Blumenstingl    const: 1
15088e88beSMartin Blumenstingl    description: selects the PHY mode as defined in <dt-bindings/phy/phy-lantiq-vrx200-pcie.h>
16088e88beSMartin Blumenstingl
17088e88beSMartin Blumenstingl  compatible:
18088e88beSMartin Blumenstingl    enum:
19088e88beSMartin Blumenstingl      - lantiq,vrx200-pcie-phy
20088e88beSMartin Blumenstingl      - lantiq,arx300-pcie-phy
21088e88beSMartin Blumenstingl
22088e88beSMartin Blumenstingl  reg:
23088e88beSMartin Blumenstingl    maxItems: 1
24088e88beSMartin Blumenstingl
25088e88beSMartin Blumenstingl  clocks:
26088e88beSMartin Blumenstingl    items:
27088e88beSMartin Blumenstingl      - description: PHY module clock
28088e88beSMartin Blumenstingl      - description: PDI register clock
29088e88beSMartin Blumenstingl
30088e88beSMartin Blumenstingl  clock-names:
31088e88beSMartin Blumenstingl    items:
32088e88beSMartin Blumenstingl      - const: phy
33088e88beSMartin Blumenstingl      - const: pdi
34088e88beSMartin Blumenstingl
35088e88beSMartin Blumenstingl  resets:
36088e88beSMartin Blumenstingl    items:
37088e88beSMartin Blumenstingl      - description: exclusive PHY reset line
38088e88beSMartin Blumenstingl      - description: shared reset line between the PCIe PHY and PCIe controller
39088e88beSMartin Blumenstingl
40f437ade3SMaxime Ripard  reset-names:
41088e88beSMartin Blumenstingl    items:
42088e88beSMartin Blumenstingl      - const: phy
43088e88beSMartin Blumenstingl      - const: pcie
44088e88beSMartin Blumenstingl
45088e88beSMartin Blumenstingl  lantiq,rcu:
46088e88beSMartin Blumenstingl    $ref: /schemas/types.yaml#/definitions/phandle
47088e88beSMartin Blumenstingl    description: phandle to the RCU syscon
48088e88beSMartin Blumenstingl
49088e88beSMartin Blumenstingl  lantiq,rcu-endian-offset:
50088e88beSMartin Blumenstingl    $ref: /schemas/types.yaml#/definitions/uint32
51088e88beSMartin Blumenstingl    description: the offset of the endian registers for this PHY instance in the RCU syscon
52088e88beSMartin Blumenstingl
53088e88beSMartin Blumenstingl  lantiq,rcu-big-endian-mask:
54088e88beSMartin Blumenstingl    $ref: /schemas/types.yaml#/definitions/uint32
55088e88beSMartin Blumenstingl    description: the mask to set the PDI (PHY) registers for this PHY instance to big endian
56088e88beSMartin Blumenstingl
57088e88beSMartin Blumenstingl  big-endian:
58088e88beSMartin Blumenstingl    description: Configures the PDI (PHY) registers in big-endian mode
59088e88beSMartin Blumenstingl    type: boolean
60088e88beSMartin Blumenstingl
61088e88beSMartin Blumenstingl  little-endian:
62088e88beSMartin Blumenstingl    description: Configures the PDI (PHY) registers in big-endian mode
63088e88beSMartin Blumenstingl    type: boolean
64088e88beSMartin Blumenstingl
65088e88beSMartin Blumenstinglrequired:
66088e88beSMartin Blumenstingl  - "#phy-cells"
67088e88beSMartin Blumenstingl  - compatible
68088e88beSMartin Blumenstingl  - reg
69088e88beSMartin Blumenstingl  - clocks
70088e88beSMartin Blumenstingl  - clock-names
71088e88beSMartin Blumenstingl  - resets
72088e88beSMartin Blumenstingl  - reset-names
73088e88beSMartin Blumenstingl  - lantiq,rcu
74088e88beSMartin Blumenstingl  - lantiq,rcu-endian-offset
75088e88beSMartin Blumenstingl  - lantiq,rcu-big-endian-mask
76088e88beSMartin Blumenstingl
77088e88beSMartin BlumenstingladditionalProperties: false
78088e88beSMartin Blumenstingl
79088e88beSMartin Blumenstinglexamples:
80088e88beSMartin Blumenstingl  - |
81088e88beSMartin Blumenstingl    pcie0_phy: phy@106800 {
82088e88beSMartin Blumenstingl        compatible = "lantiq,vrx200-pcie-phy";
83088e88beSMartin Blumenstingl        reg = <0x106800 0x100>;
84088e88beSMartin Blumenstingl        lantiq,rcu = <&rcu0>;
85088e88beSMartin Blumenstingl        lantiq,rcu-endian-offset = <0x4c>;
86088e88beSMartin Blumenstingl        lantiq,rcu-big-endian-mask = <0x80>; /* bit 7 */
87088e88beSMartin Blumenstingl        big-endian;
88088e88beSMartin Blumenstingl        clocks = <&pmu 32>, <&pmu 36>;
89088e88beSMartin Blumenstingl        clock-names = "phy", "pdi";
90088e88beSMartin Blumenstingl        resets = <&reset0 12 24>, <&reset0 22 22>;
91088e88beSMartin Blumenstingl        reset-names = "phy", "pcie";
92088e88beSMartin Blumenstingl        #phy-cells = <1>;
93088e88beSMartin Blumenstingl    };
94088e88beSMartin Blumenstingl
95088e88beSMartin Blumenstingl...
96