Lines Matching +full:power +full:- +full:gate
1 // SPDX-License-Identifier: GPL-2.0
8 #include <linux/clk-provider.h>
13 #include <dt-bindings/clock/jz4770-cgu.h>
47 #define USBPCR1_UHC_POWER BIT(5) /* UHC PHY power down */
53 void __iomem *reg_opcr = cgu->base + CGU_REG_OPCR; in jz4770_uhc_phy_enable()
54 void __iomem *reg_usbpcr1 = cgu->base + CGU_REG_USBPCR1; in jz4770_uhc_phy_enable()
63 void __iomem *reg_opcr = cgu->base + CGU_REG_OPCR; in jz4770_uhc_phy_disable()
64 void __iomem *reg_usbpcr1 = cgu->base + CGU_REG_USBPCR1; in jz4770_uhc_phy_disable()
72 void __iomem *reg_opcr = cgu->base + CGU_REG_OPCR; in jz4770_uhc_phy_is_enabled()
73 void __iomem *reg_usbpcr1 = cgu->base + CGU_REG_USBPCR1; in jz4770_uhc_phy_is_enabled()
86 0x0, 0x1, -1, 0x2, -1, -1, -1, 0x3,
142 .bypass_bit = -1,
154 CGU_REG_CPCCR, 0, 1, 4, 22, -1, -1, 0,
162 CGU_REG_CPCCR, 4, 1, 4, 22, -1, -1, 0,
170 CGU_REG_CPCCR, 24, 1, 4, 22, -1, -1, 0,
173 .gate = { CGU_REG_CLKGR1, 7 },
179 CGU_REG_CPCCR, 16, 1, 4, 22, -1, -1, 0,
187 CGU_REG_CPCCR, 12, 1, 4, 22, -1, -1, 0,
190 .gate = { CGU_REG_OPCR, 31, true }, // disable CCLK stop on idle
196 CGU_REG_CPCCR, 8, 1, 4, 22, -1, -1, 0,
207 .div = { CGU_REG_MSC0CDR, 0, 1, 7, -1, -1, 31 },
208 .gate = { CGU_REG_MSC0CDR, 31 },
214 .div = { CGU_REG_MSC1CDR, 0, 1, 7, -1, -1, 31 },
215 .gate = { CGU_REG_MSC1CDR, 31 },
221 .div = { CGU_REG_MSC2CDR, 0, 1, 7, -1, -1, 31 },
222 .gate = { CGU_REG_MSC2CDR, 31 },
228 .div = { CGU_REG_CIMCDR, 0, 1, 8, -1, -1, -1 },
229 .gate = { CGU_REG_CLKGR0, 26 },
235 .div = { CGU_REG_UHCCDR, 0, 1, 4, -1, -1, -1 },
236 .gate = { CGU_REG_CLKGR0, 24 },
240 .parents = { JZ4770_CLK_PLL0, JZ4770_CLK_PLL1, -1 },
242 .div = { CGU_REG_GPUCDR, 0, 1, 3, -1, -1, -1 },
243 .gate = { CGU_REG_CLKGR1, 9 },
249 .div = { CGU_REG_BCHCDR, 0, 1, 3, -1, -1, -1 },
250 .gate = { CGU_REG_CLKGR0, 1 },
256 .div = { CGU_REG_LPCDR, 0, 1, 11, -1, -1, -1 },
257 .gate = { CGU_REG_CLKGR0, 28 },
263 .div = { CGU_REG_GPSCDR, 0, 1, 4, -1, -1, -1 },
264 .gate = { CGU_REG_CLKGR0, 22 },
271 .parents = { JZ4770_CLK_EXT, -1,
274 .div = { CGU_REG_SSICDR, 0, 1, 6, -1, -1, -1 },
278 .parents = { JZ4770_CLK_EXT, -1,
281 .div = { CGU_REG_PCMCDR, 0, 1, 9, -1, -1, -1 },
285 .parents = { JZ4770_CLK_EXT, -1,
288 .div = { CGU_REG_I2SCDR, 0, 1, 9, -1, -1, -1 },
289 .gate = { CGU_REG_CLKGR1, 13 },
293 .parents = { JZ4770_CLK_EXT, -1,
296 .div = { CGU_REG_USBCDR, 0, 1, 8, -1, -1, -1 },
297 .gate = { CGU_REG_CLKGR0, 2 },
300 /* Gate-only clocks */
305 .gate = { CGU_REG_CLKGR0, 4 },
310 .gate = { CGU_REG_CLKGR0, 19 },
315 .gate = { CGU_REG_CLKGR0, 20 },
320 .gate = { CGU_REG_CLKGR1, 8 },
325 .gate = { CGU_REG_CLKGR1, 10 },
330 .gate = { CGU_REG_CLKGR0, 21 },
335 .gate = { CGU_REG_CLKGR0, 5 },
340 .gate = { CGU_REG_CLKGR0, 6 },
345 .gate = { CGU_REG_CLKGR1, 15 },
350 .gate = { CGU_REG_CLKGR0, 15 },
355 .gate = { CGU_REG_CLKGR0, 16 },
360 .gate = { CGU_REG_CLKGR0, 17 },
365 .gate = { CGU_REG_CLKGR0, 18 },
370 .gate = { CGU_REG_CLKGR0, 29 },
375 .gate = { CGU_REG_CLKGR0, 14 },
380 .gate = { CGU_REG_CLKGR0, 8 },
385 .gate = { CGU_REG_CLKGR1, 14 },
390 .gate = { CGU_REG_LCR, 30, false, 150 },
395 .gate = { CGU_REG_CLKGR0, 3 },
400 .gate = { CGU_REG_CLKGR0, 11 },
405 .gate = { CGU_REG_CLKGR0, 12 },
410 .gate = { CGU_REG_OPCR, 7, true, 50 },
417 .parents = { JZ4770_CLK_UHC, -1, -1, -1 },
453 CLK_OF_DECLARE_DRIVER(jz4770_cgu, "ingenic,jz4770-cgu", jz4770_cgu_init);