/linux/drivers/clk/ingenic/ |
H A D | cgu.c | 3 * Ingenic SoC CGU driver 23 #include "cgu.h" 30 return &clk->cgu->clock_info[clk->idx]; in to_clk_info() 35 * @cgu: reference to the CGU whose registers should be read 39 * caller must hold cgu->lock. 44 ingenic_cgu_gate_get(struct ingenic_cgu *cgu, in ingenic_cgu_gate_get() argument 47 return !!(readl(cgu->base + info->reg) & BIT(info->bit)) in ingenic_cgu_gate_get() 53 * @cgu: reference to the CGU whose registers should be modified 59 * The caller must hold cgu->lock. 62 ingenic_cgu_gate_set(struct ingenic_cgu *cgu, in ingenic_cgu_gate_set() argument [all …]
|
H A D | Kconfig | 9 bool "Ingenic JZ4740 CGU driver" 13 Support the clocks provided by the CGU hardware on Ingenic JZ4740 19 bool "Ingenic JZ4755 CGU driver" 23 Support the clocks provided by the CGU hardware on Ingenic JZ4755 29 bool "Ingenic JZ4725B CGU driver" 33 Support the clocks provided by the CGU hardware on Ingenic JZ4725B 39 bool "Ingenic JZ4760 CGU driver" 43 Support the clocks provided by the CGU hardware on Ingenic JZ4760 49 bool "Ingenic JZ4770 CGU driver" 53 Support the clocks provided by the CGU hardware on Ingenic JZ4770 [all …]
|
H A D | Makefile | 2 obj-$(CONFIG_INGENIC_CGU_COMMON) += cgu.o pm.o 3 obj-$(CONFIG_INGENIC_CGU_JZ4740) += jz4740-cgu.o 4 obj-$(CONFIG_INGENIC_CGU_JZ4755) += jz4755-cgu.o 5 obj-$(CONFIG_INGENIC_CGU_JZ4725B) += jz4725b-cgu.o 6 obj-$(CONFIG_INGENIC_CGU_JZ4760) += jz4760-cgu.o 7 obj-$(CONFIG_INGENIC_CGU_JZ4770) += jz4770-cgu.o 8 obj-$(CONFIG_INGENIC_CGU_JZ4780) += jz4780-cgu.o 9 obj-$(CONFIG_INGENIC_CGU_X1000) += x1000-cgu.o 10 obj-$(CONFIG_INGENIC_CGU_X1830) += x1830-cgu.o
|
H A D | x1000-cgu.c | 3 * X1000 SoC CGU driver 13 #include <dt-bindings/clock/ingenic,x1000-cgu.h> 15 #include "cgu.h" 18 /* CGU register offsets */ 62 static struct ingenic_cgu *cgu; variable 70 usbpcr1 = readl(cgu->base + CGU_REG_USBPCR1); in x1000_otg_phy_recalc_rate() 122 spin_lock_irqsave(&cgu->lock, flags); in x1000_otg_phy_set_rate() 124 usbpcr1 = readl(cgu->base + CGU_REG_USBPCR1); in x1000_otg_phy_set_rate() 127 writel(usbpcr1, cgu->base + CGU_REG_USBPCR1); in x1000_otg_phy_set_rate() 129 spin_unlock_irqrestore(&cgu->lock, flags); in x1000_otg_phy_set_rate() [all …]
|
H A D | jz4780-cgu.c | 3 * Ingenic JZ4780 SoC CGU driver 16 #include <dt-bindings/clock/ingenic,jz4780-cgu.h> 18 #include "cgu.h" 21 /* CGU register offsets */ 103 static struct ingenic_cgu *cgu; variable 111 usbpcr1 = readl(cgu->base + CGU_REG_USBPCR1); in jz4780_otg_phy_recalc_rate() 173 spin_lock_irqsave(&cgu->lock, flags); in jz4780_otg_phy_set_rate() 175 usbpcr1 = readl(cgu->base + CGU_REG_USBPCR1); in jz4780_otg_phy_set_rate() 178 writel(usbpcr1, cgu->base + CGU_REG_USBPCR1); in jz4780_otg_phy_set_rate() 180 spin_unlock_irqrestore(&cgu->lock, flags); in jz4780_otg_phy_set_rate() [all …]
|
H A D | jz4755-cgu.c | 3 * Ingenic JZ4755 SoC CGU driver 4 * Heavily based on JZ4725b CGU driver 14 #include <dt-bindings/clock/ingenic,jz4755-cgu.h> 16 #include "cgu.h" 19 /* CGU register offsets */ 30 static struct ingenic_cgu *cgu; variable 329 cgu = ingenic_cgu_new(jz4755_cgu_clocks, in jz4755_cgu_init() 331 if (!cgu) { in jz4755_cgu_init() 332 pr_err("%s: failed to initialise CGU\n", __func__); in jz4755_cgu_init() 336 retval = ingenic_cgu_register_clocks(cgu); in jz4755_cgu_init() [all …]
|
H A D | x1830-cgu.c | 3 * X1830 SoC CGU driver 12 #include <dt-bindings/clock/ingenic,x1830-cgu.h> 14 #include "cgu.h" 17 /* CGU register offsets */ 55 static struct ingenic_cgu *cgu; variable 59 void __iomem *reg_opcr = cgu->base + CGU_REG_OPCR; in x1830_usb_phy_enable() 60 void __iomem *reg_usbpcr = cgu->base + CGU_REG_USBPCR; in x1830_usb_phy_enable() 69 void __iomem *reg_opcr = cgu->base + CGU_REG_OPCR; in x1830_usb_phy_disable() 70 void __iomem *reg_usbpcr = cgu->base + CGU_REG_USBPCR; in x1830_usb_phy_disable() 78 void __iomem *reg_opcr = cgu->base + CGU_REG_OPCR; in x1830_usb_phy_is_enabled() [all …]
|
H A D | jz4740-cgu.c | 3 * Ingenic JZ4740 SoC CGU driver 14 #include <dt-bindings/clock/ingenic,jz4740-cgu.h> 16 #include "cgu.h" 19 /* CGU register offsets */ 48 static struct ingenic_cgu *cgu; variable 258 cgu = ingenic_cgu_new(jz4740_cgu_clocks, in jz4740_cgu_init() 260 if (!cgu) { in jz4740_cgu_init() 261 pr_err("%s: failed to initialise CGU\n", __func__); in jz4740_cgu_init() 265 retval = ingenic_cgu_register_clocks(cgu); in jz4740_cgu_init() 267 pr_err("%s: failed to register CGU Clocks\n", __func__); in jz4740_cgu_init() [all …]
|
H A D | jz4725b-cgu.c | 3 * Ingenic JZ4725B SoC CGU driver 13 #include <dt-bindings/clock/ingenic,jz4725b-cgu.h> 15 #include "cgu.h" 18 /* CGU register offsets */ 33 static struct ingenic_cgu *cgu; variable 260 cgu = ingenic_cgu_new(jz4725b_cgu_clocks, in jz4725b_cgu_init() 262 if (!cgu) { in jz4725b_cgu_init() 263 pr_err("%s: failed to initialise CGU\n", __func__); in jz4725b_cgu_init() 267 retval = ingenic_cgu_register_clocks(cgu); in jz4725b_cgu_init() 269 pr_err("%s: failed to register CGU Clocks\n", __func__); in jz4725b_cgu_init() [all …]
|
H A D | jz4770-cgu.c | 3 * JZ4770 SoC CGU driver 13 #include <dt-bindings/clock/ingenic,jz4770-cgu.h> 15 #include "cgu.h" 49 static struct ingenic_cgu *cgu; variable 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() [all …]
|
H A D | jz4760-cgu.c | 3 * JZ4760 SoC CGU driver 15 #include <dt-bindings/clock/ingenic,jz4760-cgu.h> 17 #include "cgu.h" 425 struct ingenic_cgu *cgu; in jz4760_cgu_init() local 428 cgu = ingenic_cgu_new(jz4760_cgu_clocks, in jz4760_cgu_init() 430 if (!cgu) { in jz4760_cgu_init() 431 pr_err("%s: failed to initialise CGU\n", __func__); in jz4760_cgu_init() 435 retval = ingenic_cgu_register_clocks(cgu); in jz4760_cgu_init() 437 pr_err("%s: failed to register CGU Clocks\n", __func__); in jz4760_cgu_init() 439 ingenic_cgu_register_syscore_ops(cgu); in jz4760_cgu_init() [all …]
|
/linux/Documentation/devicetree/bindings/clock/ |
H A D | ingenic,cgu.yaml | 4 $id: http://devicetree.org/schemas/clock/ingenic,cgu.yaml# 7 title: Ingenic SoCs CGU 10 The CGU in an Ingenic SoC provides all the clocks generated on-chip. It 23 - ingenic,jz4740-cgu 24 - ingenic,jz4725b-cgu 25 - ingenic,jz4755-cgu 26 - ingenic,jz4760-cgu 27 - ingenic,jz4760b-cgu 28 - ingenic,jz4770-cgu 29 - ingenic,jz4780-cgu [all …]
|
H A D | intel,cgu-lgm.yaml | 4 $id: http://devicetree.org/schemas/clock/intel,cgu-lgm.yaml# 7 title: Intel Lightning Mountain SoC's Clock Controller(CGU) 13 Lightning Mountain(LGM) SoC's Clock Generation Unit(CGU) driver provides 14 all means to access the CGU hardware module in order to generate a series 23 const: intel,cgu-lgm 40 cgu: clock-controller@e0200000 { 41 compatible = "intel,cgu-lgm";
|
/linux/arch/mips/boot/dts/ingenic/ |
H A D | jz4770.dtsi | 2 #include <dt-bindings/clock/ingenic,jz4770-cgu.h> 19 clocks = <&cgu JZ4770_CLK_CCLK>; 53 cgu: jz4770-cgu@10000000 { label 54 compatible = "ingenic,jz4770-cgu", "simple-mfd"; 69 clocks = <&cgu JZ4770_CLK_OTG_PHY>; 84 clocks = <&cgu JZ4770_CLK_RTC>, 85 <&cgu JZ4770_CLK_EXT>, 86 <&cgu JZ4770_CLK_PCLK>; 241 clocks = <&cgu JZ4770_CLK_AIC>, <&cgu JZ4770_CLK_I2S>; 257 clocks = <&cgu JZ4770_CLK_AIC>; [all …]
|
H A D | jz4740.dtsi | 2 #include <dt-bindings/clock/ingenic,jz4740-cgu.h> 19 clocks = <&cgu JZ4740_CLK_CCLK>; 53 cgu: jz4740-cgu@10000000 { label 54 compatible = "ingenic,jz4740-cgu"; 72 clocks = <&cgu JZ4740_CLK_RTC>, 73 <&cgu JZ4740_CLK_EXT>, 74 <&cgu JZ4740_CLK_PCLK>, 75 <&cgu JZ4740_CLK_TCU>; 114 clocks = <&cgu JZ4740_CLK_RTC>; 195 clocks = <&cgu JZ4740_CLK_AIC>, <&cgu JZ4740_CLK_I2S>; [all …]
|
H A D | jz4780.dtsi | 2 #include <dt-bindings/clock/ingenic,jz4780-cgu.h> 20 clocks = <&cgu JZ4780_CLK_CPU>; 29 clocks = <&cgu JZ4780_CLK_CORE1>; 63 cgu: jz4780-cgu@10000000 { label 64 compatible = "ingenic,jz4780-cgu", "simple-mfd"; 79 clocks = <&cgu JZ4780_CLK_OTG1>; 105 clocks = <&cgu JZ4780_CLK_RTCLK>, 106 <&cgu JZ4780_CLK_EXCLK>, 107 <&cgu JZ4780_CLK_PCLK>; 156 clocks = <&cgu JZ4780_CLK_RTCLK>; [all …]
|
H A D | x1000.dtsi | 3 #include <dt-bindings/clock/ingenic,x1000-cgu.h> 20 clocks = <&cgu X1000_CLK_CPU>; 54 cgu: x1000-cgu@10000000 { label 55 compatible = "ingenic,x1000-cgu", "simple-mfd"; 70 clocks = <&cgu X1000_CLK_OTGPHY>; 96 clocks = <&cgu X1000_CLK_OST>; 112 clocks = <&cgu X1000_CLK_RTCLK>, 113 <&cgu X1000_CLK_EXCLK>, 114 <&cgu X1000_CLK_PCLK>, 115 <&cgu X1000_CLK_TCU>; [all …]
|
H A D | x1830.dtsi | 3 #include <dt-bindings/clock/ingenic,x1830-cgu.h> 20 clocks = <&cgu X1830_CLK_CPU>; 54 cgu: x1830-cgu@10000000 { label 55 compatible = "ingenic,x1830-cgu", "simple-mfd"; 70 clocks = <&cgu X1830_CLK_OTGPHY>; 89 clocks = <&cgu X1830_CLK_OST>; 105 clocks = <&cgu X1830_CLK_RTCLK>, 106 <&cgu X1830_CLK_EXCLK>, 107 <&cgu X1830_CLK_PCLK>, 108 <&cgu X1830_CLK_TCU>; [all …]
|
H A D | jz4725b.dtsi | 2 #include <dt-bindings/clock/ingenic,jz4725b-cgu.h> 19 clocks = <&cgu JZ4725B_CLK_CCLK>; 53 cgu: clock-controller@10000000 { label 54 compatible = "ingenic,jz4725b-cgu"; 72 clocks = <&cgu JZ4725B_CLK_RTC>, 73 <&cgu JZ4725B_CLK_EXT>, 74 <&cgu JZ4725B_CLK_PCLK>, 75 <&cgu JZ4725B_CLK_TCU>; 123 clocks = <&cgu JZ4725B_CLK_RTC>; 201 clocks = <&cgu JZ4725B_CLK_AIC>, <&cgu JZ4725B_CLK_I2S>; [all …]
|
H A D | ci20.dts | 164 &cgu { 169 assigned-clocks = <&cgu JZ4780_CLK_OTGPHY>, <&cgu JZ4780_CLK_RTC>, 170 <&cgu JZ4780_CLK_SSIPLL>, <&cgu JZ4780_CLK_SSI>, 171 <&cgu JZ4780_CLK_HDMI>, <&cgu JZ4780_CLK_MSCMUX>; 172 assigned-clock-parents = <0>, <&cgu JZ4780_CLK_RTCLK>, 173 <&cgu JZ4780_CLK_MPLL>, 174 <&cgu JZ4780_CLK_SSIPLL>, 175 <0>, <&cgu JZ4780_CLK_MPLL>;
|
/linux/arch/arm/boot/dts/nxp/lpc/ |
H A D | lpc18xx.dtsi | 16 #include "dt-bindings/clock/lpc18xx-cgu.h" 165 clocks = <&cgu BASE_LCD_CLK>, <&ccu1 CLK_CPU_LCD>; 232 cgu: clock-controller@40050000 { label 233 compatible = "nxp,lpc1850-cgu"; 243 clocks = <&cgu BASE_APB3_CLK>, <&cgu BASE_APB1_CLK>, 244 <&cgu BASE_SPIFI_CLK>, <&cgu BASE_CPU_CLK>, 245 <&cgu BASE_PERIPH_CLK>, <&cgu BASE_USB0_CLK>, 246 <&cgu BASE_USB1_CLK>, <&cgu BASE_SPI_CLK>; 257 clocks = <&cgu BASE_AUDIO_CLK>, <&cgu BASE_UART3_CLK>, 258 <&cgu BASE_UART2_CLK>, <&cgu BASE_UART1_CLK>, [all …]
|
/linux/Documentation/devicetree/bindings/mips/lantiq/ |
H A D | lantiq,cgu.yaml | 4 $id: http://devicetree.org/schemas/mips/lantiq/lantiq,cgu.yaml# 7 title: Lantiq Xway SoC series Clock Generation Unit (CGU) 16 - lantiq,cgu-xway 29 cgu@103000 { 30 compatible = "lantiq,cgu-xway";
|
/linux/drivers/pinctrl/ |
H A D | pinctrl-xway.c | 126 MFP_XWAY(GPIO11, GPIO, EBU, CGU, JTAG), 128 MFP_XWAY(GPIO13, GPIO, EBU, MII, CGU), 129 MFP_XWAY(GPIO14, GPIO, EBU, SPI, CGU), 137 MFP_XWAY(GPIO22, GPIO, EBU, MII, CGU), 138 MFP_XWAY(GPIO23, GPIO, EBU, MII, CGU), 198 GRP_MUX("clkout0", CGU, ase_pins_clkout0), 199 GRP_MUX("clkout1", CGU, ase_pins_clkout1), 200 GRP_MUX("clkout2", CGU, ase_pins_clkout2), 228 {"cgu", ARRAY_AND_SIZE(ase_cgu_grps)}, 245 MFP_XWAY(GPIO2, GPIO, CGU, EXIN, MII), [all …]
|
/linux/Documentation/devicetree/bindings/display/ |
H A D | ingenic,lcd.yaml | 93 #include <dt-bindings/clock/ingenic,jz4740-cgu.h> 101 clocks = <&cgu JZ4740_CLK_LCD_PCLK>, <&cgu JZ4740_CLK_LCD>; 112 #include <dt-bindings/clock/ingenic,jz4725b-cgu.h> 120 clocks = <&cgu JZ4725B_CLK_LCD>;
|
/linux/arch/mips/generic/ |
H A D | board-ingenic.c | 72 void __iomem *cgu; in ingenic_force_12M_ext() local 94 cgu = ioremap(INGENIC_CGU_BASE, 0x4); in ingenic_force_12M_ext() 95 if (!cgu) in ingenic_force_12M_ext() 98 cpccr = ioread32(cgu); in ingenic_force_12M_ext() 103 iowrite32(cpccr, cgu); in ingenic_force_12M_ext() 105 iounmap(cgu); in ingenic_force_12M_ext()
|