xref: /freebsd/sys/contrib/device-tree/Bindings/phy/st,stm32mp25-combophy.yaml (revision 5f62a964e9f8abc6a05d8338273fadd154f0a206)
1*5f62a964SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2*5f62a964SEmmanuel Vadot%YAML 1.2
3*5f62a964SEmmanuel Vadot---
4*5f62a964SEmmanuel Vadot$id: http://devicetree.org/schemas/phy/st,stm32mp25-combophy.yaml#
5*5f62a964SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*5f62a964SEmmanuel Vadot
7*5f62a964SEmmanuel Vadottitle: STMicroelectronics STM32MP25 USB3/PCIe COMBOPHY
8*5f62a964SEmmanuel Vadot
9*5f62a964SEmmanuel Vadotmaintainers:
10*5f62a964SEmmanuel Vadot  - Christian Bruel <christian.bruel@foss.st.com>
11*5f62a964SEmmanuel Vadot
12*5f62a964SEmmanuel Vadotdescription:
13*5f62a964SEmmanuel Vadot  Single lane PHY shared (exclusive) between the USB3 and PCIe controllers.
14*5f62a964SEmmanuel Vadot  Supports 5Gbit/s for USB3 and PCIe gen2 or 2.5Gbit/s for PCIe gen1.
15*5f62a964SEmmanuel Vadot
16*5f62a964SEmmanuel Vadotproperties:
17*5f62a964SEmmanuel Vadot  compatible:
18*5f62a964SEmmanuel Vadot    const: st,stm32mp25-combophy
19*5f62a964SEmmanuel Vadot
20*5f62a964SEmmanuel Vadot  reg:
21*5f62a964SEmmanuel Vadot    maxItems: 1
22*5f62a964SEmmanuel Vadot
23*5f62a964SEmmanuel Vadot  "#phy-cells":
24*5f62a964SEmmanuel Vadot    const: 1
25*5f62a964SEmmanuel Vadot
26*5f62a964SEmmanuel Vadot  clocks:
27*5f62a964SEmmanuel Vadot    minItems: 2
28*5f62a964SEmmanuel Vadot    items:
29*5f62a964SEmmanuel Vadot      - description: apb Bus clock mandatory to access registers.
30*5f62a964SEmmanuel Vadot      - description: ker Internal RCC reference clock for USB3 or PCIe
31*5f62a964SEmmanuel Vadot      - description: pad Optional on board clock input for PCIe only. Typically an
32*5f62a964SEmmanuel Vadot                     external 100Mhz oscillator wired on dedicated CLKIN pad. Used as reference
33*5f62a964SEmmanuel Vadot                     clock input instead of the ker
34*5f62a964SEmmanuel Vadot
35*5f62a964SEmmanuel Vadot  clock-names:
36*5f62a964SEmmanuel Vadot    minItems: 2
37*5f62a964SEmmanuel Vadot    items:
38*5f62a964SEmmanuel Vadot      - const: apb
39*5f62a964SEmmanuel Vadot      - const: ker
40*5f62a964SEmmanuel Vadot      - const: pad
41*5f62a964SEmmanuel Vadot
42*5f62a964SEmmanuel Vadot  resets:
43*5f62a964SEmmanuel Vadot    maxItems: 1
44*5f62a964SEmmanuel Vadot
45*5f62a964SEmmanuel Vadot  reset-names:
46*5f62a964SEmmanuel Vadot    const: phy
47*5f62a964SEmmanuel Vadot
48*5f62a964SEmmanuel Vadot  power-domains:
49*5f62a964SEmmanuel Vadot    maxItems: 1
50*5f62a964SEmmanuel Vadot
51*5f62a964SEmmanuel Vadot  wakeup-source: true
52*5f62a964SEmmanuel Vadot
53*5f62a964SEmmanuel Vadot  interrupts:
54*5f62a964SEmmanuel Vadot    maxItems: 1
55*5f62a964SEmmanuel Vadot    description: interrupt used for wakeup
56*5f62a964SEmmanuel Vadot
57*5f62a964SEmmanuel Vadot  access-controllers:
58*5f62a964SEmmanuel Vadot    maxItems: 1
59*5f62a964SEmmanuel Vadot    description: Phandle to the rifsc device to check access right.
60*5f62a964SEmmanuel Vadot
61*5f62a964SEmmanuel Vadot  st,ssc-on:
62*5f62a964SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/flag
63*5f62a964SEmmanuel Vadot    description:
64*5f62a964SEmmanuel Vadot      A property whose presence indicates that the Spread Spectrum Clocking is active.
65*5f62a964SEmmanuel Vadot
66*5f62a964SEmmanuel Vadot  st,rx-equalizer:
67*5f62a964SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
68*5f62a964SEmmanuel Vadot    minimum: 0
69*5f62a964SEmmanuel Vadot    maximum: 7
70*5f62a964SEmmanuel Vadot    default: 2
71*5f62a964SEmmanuel Vadot    description:
72*5f62a964SEmmanuel Vadot      A 3 bit value to tune the RX fixed equalizer setting for optimal eye compliance
73*5f62a964SEmmanuel Vadot
74*5f62a964SEmmanuel Vadot  st,output-micro-ohms:
75*5f62a964SEmmanuel Vadot    minimum: 3999000
76*5f62a964SEmmanuel Vadot    maximum: 6090000
77*5f62a964SEmmanuel Vadot    default: 4968000
78*5f62a964SEmmanuel Vadot    description:
79*5f62a964SEmmanuel Vadot      A value property to tune the Single Ended Output Impedance, simulations results
80*5f62a964SEmmanuel Vadot      at 25C for a VDDP=0.8V. The hardware accepts discrete values in this range.
81*5f62a964SEmmanuel Vadot
82*5f62a964SEmmanuel Vadot  st,output-vswing-microvolt:
83*5f62a964SEmmanuel Vadot    minimum: 442000
84*5f62a964SEmmanuel Vadot    maximum: 803000
85*5f62a964SEmmanuel Vadot    default: 803000
86*5f62a964SEmmanuel Vadot    description:
87*5f62a964SEmmanuel Vadot      A value property in microvolt to tune the Single Ended Output Voltage Swing to change the
88*5f62a964SEmmanuel Vadot      Vlo, Vhi for a VDDP = 0.8V. The hardware accepts discrete values in this range.
89*5f62a964SEmmanuel Vadot
90*5f62a964SEmmanuel Vadotrequired:
91*5f62a964SEmmanuel Vadot  - compatible
92*5f62a964SEmmanuel Vadot  - reg
93*5f62a964SEmmanuel Vadot  - "#phy-cells"
94*5f62a964SEmmanuel Vadot  - clocks
95*5f62a964SEmmanuel Vadot  - clock-names
96*5f62a964SEmmanuel Vadot  - resets
97*5f62a964SEmmanuel Vadot  - reset-names
98*5f62a964SEmmanuel Vadot
99*5f62a964SEmmanuel VadotadditionalProperties: false
100*5f62a964SEmmanuel Vadot
101*5f62a964SEmmanuel Vadotexamples:
102*5f62a964SEmmanuel Vadot  - |
103*5f62a964SEmmanuel Vadot    #include <dt-bindings/clock/st,stm32mp25-rcc.h>
104*5f62a964SEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
105*5f62a964SEmmanuel Vadot    #include <dt-bindings/reset/st,stm32mp25-rcc.h>
106*5f62a964SEmmanuel Vadot
107*5f62a964SEmmanuel Vadot    phy@480c0000 {
108*5f62a964SEmmanuel Vadot        compatible = "st,stm32mp25-combophy";
109*5f62a964SEmmanuel Vadot        reg = <0x480c0000 0x1000>;
110*5f62a964SEmmanuel Vadot        #phy-cells = <1>;
111*5f62a964SEmmanuel Vadot        clocks = <&rcc CK_BUS_USB3PCIEPHY>, <&rcc CK_KER_USB3PCIEPHY>;
112*5f62a964SEmmanuel Vadot        clock-names = "apb", "ker";
113*5f62a964SEmmanuel Vadot        resets = <&rcc USB3PCIEPHY_R>;
114*5f62a964SEmmanuel Vadot        reset-names = "phy";
115*5f62a964SEmmanuel Vadot        access-controllers = <&rifsc 67>;
116*5f62a964SEmmanuel Vadot        power-domains = <&CLUSTER_PD>;
117*5f62a964SEmmanuel Vadot        wakeup-source;
118*5f62a964SEmmanuel Vadot        interrupts-extended = <&exti1 45 IRQ_TYPE_EDGE_FALLING>;
119*5f62a964SEmmanuel Vadot    };
120