/linux-6.12.1/arch/mips/boot/dts/mobileye/ |
D | eyeq5-clocks.dtsi | 1 // SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 6 #include <dt-bindings/clock/mobileye,eyeq5-clk.h> 9 /* Fixed clock */ 11 compatible = "fixed-clock"; 12 #clock-cells = <0>; 13 clock-frequency = <30000000>; 17 occ_cpu: occ-cpu { 18 compatible = "fixed-factor-clock"; 20 #clock-cells = <0>; 21 clock-div = <1>; [all …]
|
/linux-6.12.1/arch/arm/boot/dts/ti/omap/ |
D | dra7xx-clocks.dtsi | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Device Tree Source for DRA7xx clock data 8 atl_clkin0_ck: clock-atl-clkin0 { 9 #clock-cells = <0>; 10 compatible = "ti,dra7-atl-clock"; 11 clock-output-names = "atl_clkin0_ck"; 15 atl_clkin1_ck: clock-atl-clkin1 { 16 #clock-cells = <0>; 17 compatible = "ti,dra7-atl-clock"; 18 clock-output-names = "atl_clkin1_ck"; [all …]
|
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 …]
|
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 …]
|
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 …]
|
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 …]
|
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 …]
|
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 …]
|
/linux-6.12.1/drivers/clk/berlin/ |
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-6.12.1/drivers/clk/zynqmp/ |
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-6.12.1/drivers/clk/ |
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 …]
|
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-6.12.1/drivers/clk/renesas/ |
D | clk-div6.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * r8a7790 Common Clock Framework support 10 #include <linux/clk-provider.h> 20 #include "clk-div6.h" 27 * struct div6_clock - CPG 6 bit divider clock 28 * @hw: handle between common and hardware-specific interfaces 29 * @reg: IO-remapped register 30 * @div: divisor value (1-64) 31 * @src_mask: Bitmask covering the register bits to select the parent clock 32 * @nb: Notifier block to save/restore clock state for system resume [all …]
|
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 */ 59 val = readl(pll_clk->pllcr_reg) & CPG_PLLnCR_STC_MASK; in cpg_pll_clk_recalc_rate() [all …]
|
/linux-6.12.1/drivers/clk/sunxi/ |
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 …]
|
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-6.12.1/drivers/clk/ti/ |
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-6.12.1/Documentation/misc-devices/ |
D | oxsemi-tornado.rst | 1 .. SPDX-License-Identifier: GPL-2.0 8 by a fixed 62.5MHz clock input derived from the 100MHz PCI Express clock. 11 frequency by dividing it by the clock prescaler, which can be set to any 12 value from 1 to 63.875 in increments of 0.125, and then the usual 16-bit 19 By default the oversampling rate is set to 16 and the clock prescaler is 21 for the usual 16-bit divisor is 115313.653, which is close enough to the 24 is unaware of the extra clock controls available. 26 The oversampling rate is programmed with the TCR register and the clock 38 obtained, with either exact or highly-accurate actual bit rates for 39 standard and many non-standard rates. [all …]
|
/linux-6.12.1/drivers/media/i2c/ |
D | aptina-pll.c | 1 // SPDX-License-Identifier: GPL-2.0-only 13 #include "aptina-pll.h" 24 unsigned int div; in aptina_pll_calculate() local 26 dev_dbg(dev, "PLL: ext clock %u pix clock %u\n", in aptina_pll_calculate() 27 pll->ext_clock, pll->pix_clock); in aptina_pll_calculate() 29 if (pll->ext_clock < limits->ext_clock_min || in aptina_pll_calculate() 30 pll->ext_clock > limits->ext_clock_max) { in aptina_pll_calculate() 31 dev_err(dev, "pll: invalid external clock frequency.\n"); in aptina_pll_calculate() 32 return -EINVAL; in aptina_pll_calculate() 35 if (pll->pix_clock == 0 || pll->pix_clock > limits->pix_clock_max) { in aptina_pll_calculate() [all …]
|
/linux-6.12.1/drivers/clk/bcm/ |
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 …]
|
D | clk-kona.c | 1 // SPDX-License-Identifier: GPL-2.0-only 7 #include "clk-kona.h" 12 #include <linux/clk-provider.h> 27 /* Produces a mask of set bits covering a range of a 32-bit value */ 30 return ((1 << width) - 1) << shift; in bitfield_mask() 50 static inline u64 scaled_div_value(struct bcm_clk_div *div, u32 reg_div) in scaled_div_value() argument 52 return (u64)reg_div + ((u64)1 << div->u.s.frac_width); in scaled_div_value() 60 u64 scaled_div_build(struct bcm_clk_div *div, u32 div_value, u32 billionths) in scaled_div_build() argument 68 combined <<= div->u.s.frac_width; in scaled_div_build() 75 scaled_div_min(struct bcm_clk_div *div) in scaled_div_min() argument [all …]
|
/linux-6.12.1/Documentation/devicetree/bindings/clock/ |
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 …]
|
/linux-6.12.1/arch/arm64/boot/dts/broadcom/stingray/ |
D | stingray-clock.dtsi | 4 * Copyright(c) 2016-2017 Broadcom. All rights reserved. 33 #include <dt-bindings/clock/bcm-sr.h> 36 #clock-cells = <0>; 37 compatible = "fixed-clock"; 38 clock-frequency = <50000000>; 42 #clock-cells = <0>; 43 compatible = "fixed-factor-clock"; 45 clock-div = <2>; 46 clock-mult = <1>; 50 #clock-cells = <1>; [all …]
|
/linux-6.12.1/drivers/gpu/drm/mcde/ |
D | mcde_clk_div.c | 1 // SPDX-License-Identifier: GPL-2.0 2 #include <linux/clk-provider.h> 9 /* The MCDE internal clock dividers for FIFO A and B */ 20 struct mcde *mcde = cdiv->mcde; in mcde_clk_div_enable() 23 spin_lock(&mcde->fifo_crx1_lock); in mcde_clk_div_enable() 24 val = readl(mcde->regs + cdiv->cr); in mcde_clk_div_enable() 26 * Select the PLL72 (LCD) clock as parent in mcde_clk_div_enable() 31 /* Internal clock */ in mcde_clk_div_enable() 36 val |= cdiv->cr_div; in mcde_clk_div_enable() 38 writel(val, mcde->regs + cdiv->cr); in mcde_clk_div_enable() [all …]
|
/linux-6.12.1/drivers/clk/ingenic/ |
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 …]
|