| /linux/arch/arm/boot/dts/ti/omap/ |
| H A D | am43xx-clocks.dtsi | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Device Tree Source for AM43xx clock data 8 sys_clkin_ck: clock-sys-clkin-31@40 { 9 #clock-cells = <0>; 10 compatible = "ti,mux-clock"; 11 clock-output-names = "sys_clkin_ck"; 13 ti,bit-shift = <31>; 17 crystal_freq_sel_ck: clock-crystal-freq-sel-29@40 { 18 #clock-cells = <0>; 19 compatible = "ti,mux-clock"; [all …]
|
| H A D | am33xx-clocks.dtsi | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Device Tree Source for AM33xx clock data 8 sys_clkin_ck: clock-sys-clkin-22@40 { 9 #clock-cells = <0>; 10 compatible = "ti,mux-clock"; 11 clock-output-names = "sys_clkin_ck"; 13 ti,bit-shift = <22>; 17 adc_tsc_fck: clock-adc-tsc-fck { 18 #clock-cells = <0>; 19 compatible = "fixed-factor-clock"; [all …]
|
| H A D | omap54xx-clocks.dtsi | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Device Tree Source for OMAP5 clock data 9 #clock-cells = <0>; 10 compatible = "fixed-clock"; 11 clock-output-names = "pad_clks_src_ck"; 12 clock-frequency = <12000000>; 16 #clock-cells = <0>; 17 compatible = "ti,gate-clock"; 18 clock-output-names = "pad_clks_ck"; 20 ti,bit-shift = <8>; [all …]
|
| H A D | omap44xx-clocks.dtsi | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Device Tree Source for OMAP4 clock data 9 #clock-cells = <0>; 10 compatible = "fixed-clock"; 11 clock-output-names = "extalt_clkin_ck"; 12 clock-frequency = <59000000>; 16 #clock-cells = <0>; 17 compatible = "fixed-clock"; 18 clock-output-names = "pad_clks_src_ck"; 19 clock-frequency = <12000000>; [all …]
|
| H A D | omap36xx-omap3430es2plus-clocks.dtsi | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Device Tree Source for OMAP34xx/OMAP36xx clock data 8 clock@a00 { 11 #clock-cells = <2>; 12 #address-cells = <1>; 13 #size-cells = <0>; 15 ssi_ssr_gate_fck_3430es2: clock-ssi-ssr-gate-fck-3430es2@0 { 17 #clock-cells = <0>; 18 compatible = "ti,composite-no-wait-gate-clock"; 19 clock-output-names = "ssi_ssr_gate_fck_3430es2"; [all …]
|
| H A D | omap3xxx-clocks.dtsi | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Device Tree Source for OMAP3 clock data 9 #clock-cells = <0>; 10 compatible = "fixed-clock"; 11 clock-frequency = <16800000>; 15 #clock-cells = <0>; 16 compatible = "ti,mux-clock"; 22 #clock-cells = <0>; 23 compatible = "ti,divider-clock"; 25 ti,bit-shift = <6>; [all …]
|
| H A D | dm816x-clocks.dtsi | 1 // SPDX-License-Identifier: GPL-2.0-only 5 #clock-cells = <1>; 6 compatible = "ti,dm816-fapll-clock"; 9 clock-indices = <1>, <2>, <3>, <4>, <5>, 11 clock-output-names = "main_pll_clk1", 21 #clock-cells = <1>; 22 compatible = "ti,dm816-fapll-clock"; 25 clock-indices = <1>, <2>, <3>, <4>; 26 clock-output-names = "ddr_pll_clk1", 33 #clock-cells = <1>; [all …]
|
| /linux/drivers/clk/ |
| H A D | clk-fixed-factor.c | 1 // SPDX-License-Identifier: GPL-2.0 6 #include <linux/clk-provider.h> 13 * DOC: basic fixed multiplier and divider clock that cannot gate 15 * Traits of this clock: 16 * prepare - clk_prepare only ensures that parents are prepared 17 * enable - clk_enable only ensures that parents are enabled 18 * rate - rate is fixed. clk->rate = parent->rate / div * mult 19 * parent - fixed parent. No clk_set_parent support 28 rate = (unsigned long long int)parent_rate * fix->mult; in clk_factor_recalc_rate() 29 do_div(rate, fix->div); in clk_factor_recalc_rate() [all …]
|
| H A D | clk-divider.c | 1 // SPDX-License-Identifier: GPL-2.0 5 * Copyright (C) 2011-2012 Mike Turquette, Linaro Ltd <mturquette@linaro.org> 7 * Adjustable divider clock implementation 10 #include <linux/clk-provider.h> 20 * DOC: basic adjustable divider clock that cannot gate 22 * Traits of this clock: 23 * prepare - clk_prepare only ensures that parents are prepared 24 * enable - clk_enable only ensures that parents are enabled 25 * rate - rate is adjustable. clk->rate = ceiling(parent->rate / divisor) 26 * parent - fixed parent. No clk_set_parent support [all …]
|
| /linux/drivers/clk/berlin/ |
| H A D | berlin2-div.c | 1 // SPDX-License-Identifier: GPL-2.0 5 * Alexandre Belloni <alexandre.belloni@free-electrons.com> 9 #include <linux/clk-provider.h> 16 #include "berlin2-div.h" 19 * Clock dividers in Berlin2 SoCs comprise a complex cell to select 23 * +---+ 24 * pll0 --------------->| 0 | +---+ 25 * +---+ |(B)|--+--------------->| 0 | +---+ 26 * pll1.0 -->| 0 | +-->| 1 | | +--------+ |(E)|----->| 0 | +---+ 27 * pll1.1 -->| 1 | | +---+ +-->|(C) 1:M |-->| 1 | |(F)|-->|(G)|-> [all …]
|
| /linux/drivers/clk/zynqmp/ |
| H A D | divider.c | 1 // SPDX-License-Identifier: GPL-2.0 5 * Copyright (C) 2016-2019 Xilinx 7 * Adjustable divider clock implementation 11 #include <linux/clk-provider.h> 13 #include "clk-zynqmp.h" 16 * DOC: basic adjustable divider clock that cannot gate 18 * Traits of this clock: 19 * prepare - clk_prepare only ensures that parents are prepared 20 * enable - clk_enable only ensures that parents are enabled 21 * rate - rate is adjustable. clk->rate = ceiling(parent->rate / divisor) [all …]
|
| /linux/drivers/clk/renesas/ |
| H A D | clk-div6.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * r8a7790 Common Clock Framework support 11 #include <linux/clk-provider.h> 21 #include "clk-div6.h" 28 * struct div6_clock - CPG 6 bit divider clock 29 * @hw: handle between common and hardware-specific interfaces 30 * @reg: IO-remapped register 31 * @div: divisor value (1-64) 32 * @src_mask: Bitmask covering the register bits to select the parent clock 33 * @nb: Notifier block to save/restore clock state for system resume [all …]
|
| H A D | rcar-gen3-cpg.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * R-Car Gen3 Clock Pulse Generator 5 * Copyright (C) 2015-2018 Glider bvba 8 * Based on clk-rcar-gen3.c 16 #include <linux/clk-provider.h> 25 #include "renesas-cpg-mssr.h" 26 #include "rcar-cpg-lib.h" 27 #include "rcar-gen3-cpg.h" 39 #define CPG_RCKCR_CKSEL BIT(15) /* RCLK Clock Source Select */ 58 mult = FIELD_GET(CPG_PLLnCR_STC_MASK, readl(pll_clk->pllcr_reg)) + 1; in cpg_pll_clk_recalc_rate() [all …]
|
| /linux/drivers/clk/sunxi/ |
| H A D | clk-sunxi.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 9 #include <linux/clk-provider.h> 14 #include <linux/reset-controller.h> 19 #include "clk-factors.h" 27 * sun4i_get_pll1_factors() - calculates n, k, m, p factors for PLL1 35 u8 div; in sun4i_get_pll1_factors() local 38 div = req->rate / 6000000; in sun4i_get_pll1_factors() 39 req->rate = 6000000 * div; in sun4i_get_pll1_factors() 42 req->m = 0; in sun4i_get_pll1_factors() 45 if (req->rate >= 768000000 || req->rate == 42000000 || in sun4i_get_pll1_factors() [all …]
|
| H A D | clk-sun9i-cpus.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Copyright (C) 2015 Chen-Yu Tsai 5 * Chen-Yu Tsai <wens@csie.org> 7 * Allwinner A80 CPUS clock driver 12 #include <linux/clk-provider.h> 33 #define SUN9I_CPUS_DIV_SET(reg, div) ((reg & ~SUN9I_CPUS_DIV_MASK) | \ argument 34 (div << SUN9I_CPUS_DIV_SHIFT)) 39 #define SUN9I_CPUS_PLL4_DIV_SET(reg, div) ((reg & ~SUN9I_CPUS_PLL4_DIV_MASK) | \ argument 40 (div << SUN9I_CPUS_PLL4_DIV_SHIFT)) 57 reg = readl(cpus->reg); in sun9i_a80_cpus_clk_recalc_rate() [all …]
|
| /linux/drivers/clk/bcm/ |
| H A D | clk-kona-setup.c | 1 // SPDX-License-Identifier: GPL-2.0-only 10 #include "clk-kona.h" 13 #define selector_clear_exists(sel) ((sel)->width = 0) 20 struct ccu_policy *ccu_policy = &ccu->policy; in ccu_data_offsets_valid() 23 limit = ccu->range - sizeof(u32); in ccu_data_offsets_valid() 26 if (ccu_policy->enable.offset > limit) { in ccu_data_offsets_valid() 29 ccu->name, ccu_policy->enable.offset, limit); in ccu_data_offsets_valid() 32 if (ccu_policy->control.offset > limit) { in ccu_data_offsets_valid() 35 ccu->name, ccu_policy->control.offset, limit); in ccu_data_offsets_valid() 45 struct peri_clk_data *peri = bcm_clk->u.peri; in clk_requires_trigger() [all …]
|
| H A D | clk-kona.c | 1 // SPDX-License-Identifier: GPL-2.0-only 7 #include "clk-kona.h" 12 #include <linux/clk-provider.h> 28 /* Produces a mask of set bits covering a range of a 32-bit value */ 31 return ((1 << width) - 1) << shift; in bitfield_mask() 51 static inline u64 scaled_div_value(struct bcm_clk_div *div, u32 reg_div) in scaled_div_value() argument 53 return (u64)reg_div + ((u64)1 << div->u.s.frac_width); in scaled_div_value() 58 scaled_div_min(struct bcm_clk_div *div) in scaled_div_min() argument 60 if (divider_is_fixed(div)) in scaled_div_min() 61 return (u64)div->u.fixed; in scaled_div_min() [all …]
|
| H A D | clk-bcm2835.c | 1 // SPDX-License-Identifier: GPL-2.0+ 8 * DOC: BCM2835 CPRMAN (clock manager for the "audio" domain) 10 * The clock tree on the 2835 has several levels. There's a root 22 * skip layers of the tree (for example, the pixel clock comes 23 * directly from the PLLH PIX channel without using a CM_*CTL clock 27 #include <linux/clk-provider.h> 38 #include <dt-bindings/clock/bcm2835.h> 45 # define CM_DIV_FRAC_MASK GENMASK(CM_DIV_FRAC_BITS - 1, 0) 253 # define A2W_PLL_FRAC_MASK ((1 << A2W_PLL_FRAC_BITS) - 1) 321 * Real names of cprman clock parents looked up through [all …]
|
| /linux/drivers/clk/ti/ |
| H A D | divider.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * TI Divider Clock 7 * Tero Kristo <t-kristo@ti.com> 10 #include <linux/clk-provider.h> 16 #include "clock.h" 26 for (clkt = table; clkt->div; clkt++) in _get_table_div() 27 if (clkt->val == val) in _get_table_div() 28 return clkt->div; in _get_table_div() 38 if (divider->table) { in _setup_mask() 41 for (clkt = divider->table; clkt->div; clkt++) in _setup_mask() [all …]
|
| /linux/Documentation/devicetree/bindings/clock/ |
| H A D | amlogic,c3-peripherals-clkc.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 # Copyright (C) 2022-2023 Amlogic, Inc. All rights reserved 4 --- 5 $id: http://devicetree.org/schemas/clock/amlogic,c3-peripherals-clkc.yaml# 6 $schema: http://devicetree.org/meta-schemas/core.yaml# 8 title: Amlogic C3 series Peripheral Clock Controller 11 - Neil Armstrong <neil.armstrong@linaro.org> 12 - Jerome Brunet <jbrunet@baylibre.com> 13 - Xianwei Zhao <xianwei.zhao@amlogic.com> 14 - Chuan Liu <chuan.liu@amlogic.com> [all …]
|
| H A D | qcom,glymur-dispcc.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/clock/qcom,glymur-dispcc.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Qualcomm Display Clock & Reset Controller on GLYMUR 10 - Taniya Das <taniya.das@oss.qualcomm.com> 13 Qualcomm display clock control module which supports the clocks, resets and 17 include/dt-bindings/clock/qcom,dispcc-glymur.h 22 - qcom,glymur-dispcc 26 - description: Board CXO clock [all …]
|
| /linux/drivers/clk/ingenic/ |
| H A D | cgu.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 5 * Copyright (c) 2013-2015 Imagination Technologies 11 #include <linux/clk-provider.h> 30 return &clk->cgu->clock_info[clk->idx]; in to_clk_info() 34 * ingenic_cgu_gate_get() - get the value of clock gate register bit 38 * Retrieves the state of the clock gate bit described by info. The 39 * caller must hold cgu->lock. 47 return !!(readl(cgu->base + info->reg) & BIT(info->bit)) in ingenic_cgu_gate_get() 48 ^ info->clear_to_gate; in ingenic_cgu_gate_get() 52 * ingenic_cgu_gate_set() - set the value of clock gate register bit [all …]
|
| /linux/arch/arm/boot/dts/ti/keystone/ |
| H A D | keystone-clocks.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 3 * Device Tree Source for Keystone 2 clock tree 5 * Copyright (C) 2013-2017 Texas Instruments Incorporated - https://www.ti.com/ 9 #address-cells = <1>; 10 #size-cells = <1>; 14 #clock-cells = <0>; 15 compatible = "ti,keystone,pll-mux-clock"; 18 bit-shift = <23>; 19 bit-mask = <1>; 20 clock-output-names = "mainmuxclk"; [all …]
|
| /linux/drivers/clk/mvebu/ |
| H A D | clk-corediv.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * MVEBU Core divider clock 7 * Ezequiel Garcia <ezequiel.garcia@free-electrons.com> 12 #include <linux/clk-provider.h> 23 * to configure one particular core divider clock. Those hardware 37 * array of core divider clock descriptors for this SoC, as well as 50 * This structure represents one core divider clock for the clock 51 * framework, and is dynamically allocated for each core divider clock 70 { .mask = 0x3f, .offset = 8, .fieldbit = 1 }, /* NAND clock */ 74 { .mask = 0x0f, .offset = 6, .fieldbit = 27 }, /* NAND clock */ [all …]
|
| /linux/sound/aoa/soundbus/i2sbus/ |
| H A D | interface.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 3 * i2sbus driver -- interface register definitions 61 * - clock source 62 * - MClk divisor 63 * - SClk divisor 64 * - SClk master flag 65 * - serial format (sony, i2s 64x, i2s 32x, dav, silabs) 66 * - external sample frequency interrupt (don't understand) 67 * - external sample frequency 70 /* clock source. You get either 18.432, 45.1584 or 49.1520 MHz */ [all …]
|