sunxi: remove outdated kernel 5.15 files
[openwrt/staging/mans0n.git] / target / linux / sunxi / patches-6.1 / 461-dt-bindings-phy-Add-special-clock-for-Allwinner-H616.patch
1 From e2078ae0c559b6ac91db19262b56d8cf334354cb Mon Sep 17 00:00:00 2001
2 From: Andre Przywara <andre.przywara@arm.com>
3 Date: Mon, 12 Sep 2022 00:03:22 +0100
4 Subject: [PATCH 5001/5006] dt-bindings: phy: Add special clock for Allwinner
5 H616 PHY
6
7 The USB PHY IP in the Allwinner H616 SoC requires a quirk that involves
8 some resources from port 2's PHY and HCI IP. In particular the PMU clock
9 for port 2 must be surely ungated before accessing the REG_HCI_PHY_CTL
10 register of port 2. To allow each USB port to be controlled
11 independently of port 2, we need a handle to that particular PMU clock
12 in the *PHY* node, as the HCI and PHY part might be handled by separate
13 drivers.
14
15 Add that clock to the requirements of the H616 PHY binding, so that a
16 PHY driver can apply the quirk in isolation, without requiring help from
17 port 2's HCI driver.
18
19 Signed-off-by: Andre Przywara <andre.przywara@arm.com>
20 ---
21 .../phy/allwinner,sun8i-h3-usb-phy.yaml | 26 +++++++++++++++++++
22 1 file changed, 26 insertions(+)
23
24 --- a/Documentation/devicetree/bindings/phy/allwinner,sun8i-h3-usb-phy.yaml
25 +++ b/Documentation/devicetree/bindings/phy/allwinner,sun8i-h3-usb-phy.yaml
26 @@ -36,18 +36,22 @@ properties:
27 - const: pmu3
28
29 clocks:
30 + minItems: 4
31 items:
32 - description: USB OTG PHY bus clock
33 - description: USB Host 0 PHY bus clock
34 - description: USB Host 1 PHY bus clock
35 - description: USB Host 2 PHY bus clock
36 + - description: PMU clock for host port 2
37
38 clock-names:
39 + minItems: 4
40 items:
41 - const: usb0_phy
42 - const: usb1_phy
43 - const: usb2_phy
44 - const: usb3_phy
45 + - const: pmu2_clk
46
47 resets:
48 items:
49 @@ -96,6 +100,28 @@ required:
50 - resets
51 - reset-names
52
53 +allOf:
54 + - if:
55 + properties:
56 + compatible:
57 + contains:
58 + enum:
59 + - allwinner,sun50i-h616-usb-phy
60 + then:
61 + properties:
62 + clocks:
63 + minItems: 5
64 +
65 + clock-names:
66 + minItems: 5
67 + else:
68 + properties:
69 + clocks:
70 + maxItems: 4
71 +
72 + clock-names:
73 + maxItems: 4
74 +
75 additionalProperties: false
76
77 examples: