]> git.ipfire.org Git - thirdparty/u-boot.git/blob - Bindings/soc/mediatek/mediatek,pwrap.yaml
Squashed 'dts/upstream/' content from commit aaba2d45dc2a
[thirdparty/u-boot.git] / Bindings / soc / mediatek / mediatek,pwrap.yaml
1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/soc/mediatek/mediatek,pwrap.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Mediatek PMIC Wrapper
8
9 maintainers:
10 - Flora Fu <flora.fu@mediatek.com>
11 - Alexandre Mergnat <amergnat@baylibre.com>
12
13 description:
14 On MediaTek SoCs the PMIC is connected via SPI. The SPI master interface
15 is not directly visible to the CPU, but only through the PMIC wrapper
16 inside the SoC. The communication between the SoC and the PMIC can
17 optionally be encrypted. Also a non standard Dual IO SPI mode can be
18 used to increase speed.
19
20 IP Pairing
21
22 On MT8135 the pins of some SoC internal peripherals can be on the PMIC.
23 The signals of these pins are routed over the SPI bus using the pwrap
24 bridge. In the binding description below the properties needed for bridging
25 are marked with "IP Pairing". These are optional on SoCs which do not support
26 IP Pairing
27
28 properties:
29 compatible:
30 oneOf:
31 - items:
32 - enum:
33 - mediatek,mt2701-pwrap
34 - mediatek,mt6765-pwrap
35 - mediatek,mt6779-pwrap
36 - mediatek,mt6795-pwrap
37 - mediatek,mt6797-pwrap
38 - mediatek,mt6873-pwrap
39 - mediatek,mt7622-pwrap
40 - mediatek,mt8135-pwrap
41 - mediatek,mt8173-pwrap
42 - mediatek,mt8183-pwrap
43 - mediatek,mt8186-pwrap
44 - mediatek,mt8188-pwrap
45 - mediatek,mt8195-pwrap
46 - mediatek,mt8365-pwrap
47 - mediatek,mt8516-pwrap
48 - items:
49 - enum:
50 - mediatek,mt8186-pwrap
51 - mediatek,mt8195-pwrap
52 - const: syscon
53
54 reg:
55 minItems: 1
56 items:
57 - description: PMIC wrapper registers
58 - description: IP pairing registers
59
60 reg-names:
61 minItems: 1
62 items:
63 - const: pwrap
64 - const: pwrap-bridge
65
66 interrupts:
67 maxItems: 1
68
69 clocks:
70 minItems: 2
71 items:
72 - description: SPI bus clock
73 - description: Main module clock
74 - description: System module clock
75 - description: Timer module clock
76
77 clock-names:
78 minItems: 2
79 items:
80 - const: spi
81 - const: wrap
82 - const: sys
83 - const: tmr
84
85 resets:
86 minItems: 1
87 items:
88 - description: PMIC wrapper reset
89 - description: IP pairing reset
90
91 reset-names:
92 minItems: 1
93 items:
94 - const: pwrap
95 - const: pwrap-bridge
96
97 pmic:
98 type: object
99
100 required:
101 - compatible
102 - reg
103 - reg-names
104 - interrupts
105 - clocks
106 - clock-names
107
108 dependentRequired:
109 resets: [reset-names]
110
111 allOf:
112 - if:
113 properties:
114 compatible:
115 contains:
116 const: mediatek,mt8365-pwrap
117 then:
118 properties:
119 clocks:
120 minItems: 4
121
122 clock-names:
123 minItems: 4
124
125 additionalProperties: false
126
127 examples:
128 - |
129 #include <dt-bindings/interrupt-controller/irq.h>
130 #include <dt-bindings/interrupt-controller/arm-gic.h>
131 #include <dt-bindings/reset/mt8135-resets.h>
132
133 soc {
134 #address-cells = <2>;
135 #size-cells = <2>;
136 pwrap@1000f000 {
137 compatible = "mediatek,mt8135-pwrap";
138 reg = <0 0x1000f000 0 0x1000>,
139 <0 0x11017000 0 0x1000>;
140 reg-names = "pwrap", "pwrap-bridge";
141 interrupts = <GIC_SPI 128 IRQ_TYPE_LEVEL_HIGH>;
142 clocks = <&clk26m>, <&clk26m>;
143 clock-names = "spi", "wrap";
144 resets = <&infracfg MT8135_INFRA_PMIC_WRAP_RST>,
145 <&pericfg MT8135_PERI_PWRAP_BRIDGE_SW_RST>;
146 reset-names = "pwrap", "pwrap-bridge";
147 };
148 };