1 // SPDX-License-Identifier: GPL-2.0+
3 * Copyright 2018-2020 NXP
4 * Dong Aisheng <aisheng.dong@nxp.com>
7 #include <dt-bindings/clock/imx8-lpcg.h>
8 #include <dt-bindings/firmware/imx/rsrc.h>
10 lsio_subsys: bus@5d000000 {
11 compatible = "simple-bus";
14 ranges = <0x5d000000 0x0 0x5d000000 0x1000000>;
16 lsio_mem_clk: clock-lsio-mem {
17 compatible = "fixed-clock";
19 clock-frequency = <200000000>;
20 clock-output-names = "lsio_mem_clk";
23 lsio_bus_clk: clock-lsio-bus {
24 compatible = "fixed-clock";
26 clock-frequency = <100000000>;
27 clock-output-names = "lsio_bus_clk";
30 lsio_gpio0: gpio@5d080000 {
31 reg = <0x5d080000 0x10000>;
32 interrupts = <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>;
36 #interrupt-cells = <2>;
37 power-domains = <&pd IMX_SC_R_GPIO_0>;
40 lsio_gpio1: gpio@5d090000 {
41 reg = <0x5d090000 0x10000>;
42 interrupts = <GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>;
46 #interrupt-cells = <2>;
47 power-domains = <&pd IMX_SC_R_GPIO_1>;
50 lsio_gpio2: gpio@5d0a0000 {
51 reg = <0x5d0a0000 0x10000>;
52 interrupts = <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>;
56 #interrupt-cells = <2>;
57 power-domains = <&pd IMX_SC_R_GPIO_2>;
60 lsio_gpio3: gpio@5d0b0000 {
61 reg = <0x5d0b0000 0x10000>;
62 interrupts = <GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>;
66 #interrupt-cells = <2>;
67 power-domains = <&pd IMX_SC_R_GPIO_3>;
70 lsio_gpio4: gpio@5d0c0000 {
71 reg = <0x5d0c0000 0x10000>;
72 interrupts = <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>;
76 #interrupt-cells = <2>;
77 power-domains = <&pd IMX_SC_R_GPIO_4>;
80 lsio_gpio5: gpio@5d0d0000 {
81 reg = <0x5d0d0000 0x10000>;
82 interrupts = <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>;
86 #interrupt-cells = <2>;
87 power-domains = <&pd IMX_SC_R_GPIO_5>;
90 lsio_gpio6: gpio@5d0e0000 {
91 reg = <0x5d0e0000 0x10000>;
92 interrupts = <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>;
96 #interrupt-cells = <2>;
97 power-domains = <&pd IMX_SC_R_GPIO_6>;
100 lsio_gpio7: gpio@5d0f0000 {
101 reg = <0x5d0f0000 0x10000>;
102 interrupts = <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>;
105 interrupt-controller;
106 #interrupt-cells = <2>;
107 power-domains = <&pd IMX_SC_R_GPIO_7>;
110 lsio_mu0: mailbox@5d1b0000 {
111 reg = <0x5d1b0000 0x10000>;
112 interrupts = <GIC_SPI 176 IRQ_TYPE_LEVEL_HIGH>;
117 lsio_mu1: mailbox@5d1c0000 {
118 reg = <0x5d1c0000 0x10000>;
119 interrupts = <GIC_SPI 177 IRQ_TYPE_LEVEL_HIGH>;
123 lsio_mu2: mailbox@5d1d0000 {
124 reg = <0x5d1d0000 0x10000>;
125 interrupts = <GIC_SPI 178 IRQ_TYPE_LEVEL_HIGH>;
130 lsio_mu3: mailbox@5d1e0000 {
131 reg = <0x5d1e0000 0x10000>;
132 interrupts = <GIC_SPI 179 IRQ_TYPE_LEVEL_HIGH>;
137 lsio_mu4: mailbox@5d1f0000 {
138 reg = <0x5d1f0000 0x10000>;
139 interrupts = <GIC_SPI 180 IRQ_TYPE_LEVEL_HIGH>;
144 lsio_mu5: mailbox@5d200000 {
145 reg = <0x5d200000 0x10000>;
146 interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>;
148 power-domains = <&pd IMX_SC_R_MU_5A>;
152 lsio_mu6: mailbox@5d210000 {
153 reg = <0x5d210000 0x10000>;
154 interrupts = <GIC_SPI 185 IRQ_TYPE_LEVEL_HIGH>;
156 power-domains = <&pd IMX_SC_R_MU_6A>;
160 lsio_mu13: mailbox@5d280000 {
161 reg = <0x5d280000 0x10000>;
162 interrupts = <GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH>;
164 power-domains = <&pd IMX_SC_R_MU_13A>;
168 pwm0_lpcg: clock-controller@5d400000 {
169 compatible = "fsl,imx8qxp-lpcg";
170 reg = <0x5d400000 0x10000>;
172 clocks = <&clk IMX_SC_R_PWM_0 IMX_SC_PM_CLK_PER>,
173 <&clk IMX_SC_R_PWM_0 IMX_SC_PM_CLK_PER>,
174 <&clk IMX_SC_R_PWM_0 IMX_SC_PM_CLK_PER>,
176 <&clk IMX_SC_R_PWM_0 IMX_SC_PM_CLK_PER>;
177 clock-indices = <IMX_LPCG_CLK_0>, <IMX_LPCG_CLK_1>,
178 <IMX_LPCG_CLK_4>, <IMX_LPCG_CLK_5>,
180 clock-output-names = "pwm0_lpcg_ipg_clk",
181 "pwm0_lpcg_ipg_hf_clk",
182 "pwm0_lpcg_ipg_s_clk",
183 "pwm0_lpcg_ipg_slv_clk",
184 "pwm0_lpcg_ipg_mstr_clk";
185 power-domains = <&pd IMX_SC_R_PWM_0>;
188 pwm1_lpcg: clock-controller@5d410000 {
189 compatible = "fsl,imx8qxp-lpcg";
190 reg = <0x5d410000 0x10000>;
192 clocks = <&clk IMX_SC_R_PWM_1 IMX_SC_PM_CLK_PER>,
193 <&clk IMX_SC_R_PWM_1 IMX_SC_PM_CLK_PER>,
194 <&clk IMX_SC_R_PWM_1 IMX_SC_PM_CLK_PER>,
196 <&clk IMX_SC_R_PWM_1 IMX_SC_PM_CLK_PER>;
197 clock-indices = <IMX_LPCG_CLK_0>, <IMX_LPCG_CLK_1>,
198 <IMX_LPCG_CLK_4>, <IMX_LPCG_CLK_5>,
200 clock-output-names = "pwm1_lpcg_ipg_clk",
201 "pwm1_lpcg_ipg_hf_clk",
202 "pwm1_lpcg_ipg_s_clk",
203 "pwm1_lpcg_ipg_slv_clk",
204 "pwm1_lpcg_ipg_mstr_clk";
205 power-domains = <&pd IMX_SC_R_PWM_1>;
208 pwm2_lpcg: clock-controller@5d420000 {
209 compatible = "fsl,imx8qxp-lpcg";
210 reg = <0x5d420000 0x10000>;
212 clocks = <&clk IMX_SC_R_PWM_2 IMX_SC_PM_CLK_PER>,
213 <&clk IMX_SC_R_PWM_2 IMX_SC_PM_CLK_PER>,
214 <&clk IMX_SC_R_PWM_2 IMX_SC_PM_CLK_PER>,
216 <&clk IMX_SC_R_PWM_2 IMX_SC_PM_CLK_PER>;
217 clock-indices = <IMX_LPCG_CLK_0>, <IMX_LPCG_CLK_1>,
218 <IMX_LPCG_CLK_4>, <IMX_LPCG_CLK_5>,
220 clock-output-names = "pwm2_lpcg_ipg_clk",
221 "pwm2_lpcg_ipg_hf_clk",
222 "pwm2_lpcg_ipg_s_clk",
223 "pwm2_lpcg_ipg_slv_clk",
224 "pwm2_lpcg_ipg_mstr_clk";
225 power-domains = <&pd IMX_SC_R_PWM_2>;
228 pwm3_lpcg: clock-controller@5d430000 {
229 compatible = "fsl,imx8qxp-lpcg";
230 reg = <0x5d430000 0x10000>;
232 clocks = <&clk IMX_SC_R_PWM_3 IMX_SC_PM_CLK_PER>,
233 <&clk IMX_SC_R_PWM_3 IMX_SC_PM_CLK_PER>,
234 <&clk IMX_SC_R_PWM_3 IMX_SC_PM_CLK_PER>,
236 <&clk IMX_SC_R_PWM_3 IMX_SC_PM_CLK_PER>;
237 clock-indices = <IMX_LPCG_CLK_0>, <IMX_LPCG_CLK_1>,
238 <IMX_LPCG_CLK_4>, <IMX_LPCG_CLK_5>,
240 clock-output-names = "pwm3_lpcg_ipg_clk",
241 "pwm3_lpcg_ipg_hf_clk",
242 "pwm3_lpcg_ipg_s_clk",
243 "pwm3_lpcg_ipg_slv_clk",
244 "pwm3_lpcg_ipg_mstr_clk";
245 power-domains = <&pd IMX_SC_R_PWM_3>;
248 pwm4_lpcg: clock-controller@5d440000 {
249 compatible = "fsl,imx8qxp-lpcg";
250 reg = <0x5d440000 0x10000>;
252 clocks = <&clk IMX_SC_R_PWM_4 IMX_SC_PM_CLK_PER>,
253 <&clk IMX_SC_R_PWM_4 IMX_SC_PM_CLK_PER>,
254 <&clk IMX_SC_R_PWM_4 IMX_SC_PM_CLK_PER>,
256 <&clk IMX_SC_R_PWM_4 IMX_SC_PM_CLK_PER>;
257 clock-indices = <IMX_LPCG_CLK_0>, <IMX_LPCG_CLK_1>,
258 <IMX_LPCG_CLK_4>, <IMX_LPCG_CLK_5>,
260 clock-output-names = "pwm4_lpcg_ipg_clk",
261 "pwm4_lpcg_ipg_hf_clk",
262 "pwm4_lpcg_ipg_s_clk",
263 "pwm4_lpcg_ipg_slv_clk",
264 "pwm4_lpcg_ipg_mstr_clk";
265 power-domains = <&pd IMX_SC_R_PWM_4>;
268 pwm5_lpcg: clock-controller@5d450000 {
269 compatible = "fsl,imx8qxp-lpcg";
270 reg = <0x5d450000 0x10000>;
272 clocks = <&clk IMX_SC_R_PWM_5 IMX_SC_PM_CLK_PER>,
273 <&clk IMX_SC_R_PWM_5 IMX_SC_PM_CLK_PER>,
274 <&clk IMX_SC_R_PWM_5 IMX_SC_PM_CLK_PER>,
276 <&clk IMX_SC_R_PWM_5 IMX_SC_PM_CLK_PER>;
277 clock-indices = <IMX_LPCG_CLK_0>, <IMX_LPCG_CLK_1>,
278 <IMX_LPCG_CLK_4>, <IMX_LPCG_CLK_5>,
280 clock-output-names = "pwm5_lpcg_ipg_clk",
281 "pwm5_lpcg_ipg_hf_clk",
282 "pwm5_lpcg_ipg_s_clk",
283 "pwm5_lpcg_ipg_slv_clk",
284 "pwm5_lpcg_ipg_mstr_clk";
285 power-domains = <&pd IMX_SC_R_PWM_5>;
288 pwm6_lpcg: clock-controller@5d460000 {
289 compatible = "fsl,imx8qxp-lpcg";
290 reg = <0x5d460000 0x10000>;
292 clocks = <&clk IMX_SC_R_PWM_6 IMX_SC_PM_CLK_PER>,
293 <&clk IMX_SC_R_PWM_6 IMX_SC_PM_CLK_PER>,
294 <&clk IMX_SC_R_PWM_6 IMX_SC_PM_CLK_PER>,
296 <&clk IMX_SC_R_PWM_6 IMX_SC_PM_CLK_PER>;
297 clock-indices = <IMX_LPCG_CLK_0>, <IMX_LPCG_CLK_1>,
298 <IMX_LPCG_CLK_4>, <IMX_LPCG_CLK_5>,
300 clock-output-names = "pwm6_lpcg_ipg_clk",
301 "pwm6_lpcg_ipg_hf_clk",
302 "pwm6_lpcg_ipg_s_clk",
303 "pwm6_lpcg_ipg_slv_clk",
304 "pwm6_lpcg_ipg_mstr_clk";
305 power-domains = <&pd IMX_SC_R_PWM_6>;
308 pwm7_lpcg: clock-controller@5d470000 {
309 compatible = "fsl,imx8qxp-lpcg";
310 reg = <0x5d470000 0x10000>;
312 clocks = <&clk IMX_SC_R_PWM_7 IMX_SC_PM_CLK_PER>,
313 <&clk IMX_SC_R_PWM_7 IMX_SC_PM_CLK_PER>,
314 <&clk IMX_SC_R_PWM_7 IMX_SC_PM_CLK_PER>,
316 <&clk IMX_SC_R_PWM_7 IMX_SC_PM_CLK_PER>;
317 clock-indices = <IMX_LPCG_CLK_0>, <IMX_LPCG_CLK_1>,
318 <IMX_LPCG_CLK_4>, <IMX_LPCG_CLK_5>,
320 clock-output-names = "pwm7_lpcg_ipg_clk",
321 "pwm7_lpcg_ipg_hf_clk",
322 "pwm7_lpcg_ipg_s_clk",
323 "pwm7_lpcg_ipg_slv_clk",
324 "pwm7_lpcg_ipg_mstr_clk";
325 power-domains = <&pd IMX_SC_R_PWM_7>;