xref: /linux/Documentation/devicetree/bindings/phy/spacemit,k3-combo-phy.yaml (revision 16e6a1a3cb3fa5fa11cd76a9d71235d927923329)
1*01300437SInochi Amaoto# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*01300437SInochi Amaoto%YAML 1.2
3*01300437SInochi Amaoto---
4*01300437SInochi Amaoto$id: http://devicetree.org/schemas/phy/spacemit,k3-combo-phy.yaml#
5*01300437SInochi Amaoto$schema: http://devicetree.org/meta-schemas/core.yaml#
6*01300437SInochi Amaoto
7*01300437SInochi Amaototitle: Spacemit K3 PCIE/USB3 Comb PHY
8*01300437SInochi Amaoto
9*01300437SInochi Amaotomaintainers:
10*01300437SInochi Amaoto  - Inochi Amaoto <inochiama@gmail.com>
11*01300437SInochi Amaoto
12*01300437SInochi Amaotoproperties:
13*01300437SInochi Amaoto  compatible:
14*01300437SInochi Amaoto    const: spacemit,k3-combo-phy
15*01300437SInochi Amaoto
16*01300437SInochi Amaoto  reg:
17*01300437SInochi Amaoto    maxItems: 1
18*01300437SInochi Amaoto
19*01300437SInochi Amaoto  "#phy-cells":
20*01300437SInochi Amaoto    const: 2
21*01300437SInochi Amaoto    description:
22*01300437SInochi Amaoto      The first one is phy id, the second one is phy type. This
23*01300437SInochi Amaoto      only supports types are PCIe and USB .
24*01300437SInochi Amaoto
25*01300437SInochi Amaoto  spacemit,apb-spare:
26*01300437SInochi Amaoto    $ref: /schemas/types.yaml#/definitions/phandle
27*01300437SInochi Amaoto    description:
28*01300437SInochi Amaoto      Phandle to APB SPARE system controller interface, used for
29*01300437SInochi Amaoto      PHY calibration.
30*01300437SInochi Amaoto
31*01300437SInochi Amaoto  spacemit,apmu:
32*01300437SInochi Amaoto    $ref: /schemas/types.yaml#/definitions/phandle-array
33*01300437SInochi Amaoto    items:
34*01300437SInochi Amaoto      - items:
35*01300437SInochi Amaoto          - description: phandle of APMU syscon
36*01300437SInochi Amaoto          - description: configuration of the PHY lanes
37*01300437SInochi Amaoto    description: |
38*01300437SInochi Amaoto      Phandle to control PHY mux configuration. The configuration
39*01300437SInochi Amaoto      is described as follows:
40*01300437SInochi Amaoto      bit 4: 0 - PCIe A x8 mode, 1 - PCIe lane share mode
41*01300437SInochi Amaoto      bit 3: 0 - PCIe A x4 mode, 1 - PCIe A x2 and PCIe B x2 mode
42*01300437SInochi Amaoto      bit 2: 0 - PCIe C lane 0 is PCIe mode , 1 - USB mode
43*01300437SInochi Amaoto      bit 1: 0 - PCIe C lane 1 is PCIe mode , 1 - USB mode
44*01300437SInochi Amaoto      bit 0: 0 - PCIe D lane is PCIe mode , 1 - USB mode
45*01300437SInochi Amaoto
46*01300437SInochi Amaoto      The bit[3:0] is only valid when bit 4 is 1.
47*01300437SInochi Amaoto
48*01300437SInochi Amaoto      This mux control does not affect the PHY for PCIe E, it is always
49*01300437SInochi Amaoto      in PCIe mode.
50*01300437SInochi Amaoto
51*01300437SInochi Amaotorequired:
52*01300437SInochi Amaoto  - compatible
53*01300437SInochi Amaoto  - reg
54*01300437SInochi Amaoto  - "#phy-cells"
55*01300437SInochi Amaoto  - spacemit,apb-spare
56*01300437SInochi Amaoto  - spacemit,apmu
57*01300437SInochi Amaoto
58*01300437SInochi AmaotoadditionalProperties: false
59*01300437SInochi Amaoto
60*01300437SInochi Amaotoexamples:
61*01300437SInochi Amaoto  - |
62*01300437SInochi Amaoto    phy@81d00000 {
63*01300437SInochi Amaoto      compatible = "spacemit,k3-combo-phy";
64*01300437SInochi Amaoto      reg = <0x81d00000 0x600000>;
65*01300437SInochi Amaoto      #phy-cells = <2>;
66*01300437SInochi Amaoto      spacemit,apb-spare = <&apb_spare>;
67*01300437SInochi Amaoto      spacemit,apmu = <&apmu 0x00>;
68*01300437SInochi Amaoto    };
69