/Linux-v6.1/arch/arm/boot/dts/ |
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 | 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 = <0>; 14 ssi_ssr_gate_fck_3430es2: clock-ssi-ssr-gate-fck-3430es2 { 15 #clock-cells = <0>; 16 compatible = "ti,composite-no-wait-gate-clock"; 17 clock-output-names = "ssi_ssr_gate_fck_3430es2"; 19 ti,bit-shift = <0>; [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 | 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 …]
|
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 - http://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-v6.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-v6.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-v6.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-v6.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-v6.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 …]
|
/Linux-v6.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-v6.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-v6.1/drivers/media/i2c/ |
D | aptina-pll.c | 1 // SPDX-License-Identifier: GPL-2.0-only 14 #include "aptina-pll.h" 25 unsigned int div; in aptina_pll_calculate() local 27 dev_dbg(dev, "PLL: ext clock %u pix clock %u\n", in aptina_pll_calculate() 28 pll->ext_clock, pll->pix_clock); in aptina_pll_calculate() 30 if (pll->ext_clock < limits->ext_clock_min || in aptina_pll_calculate() 31 pll->ext_clock > limits->ext_clock_max) { in aptina_pll_calculate() 32 dev_err(dev, "pll: invalid external clock frequency.\n"); in aptina_pll_calculate() 33 return -EINVAL; in aptina_pll_calculate() 36 if (pll->pix_clock == 0 || pll->pix_clock > limits->pix_clock_max) { in aptina_pll_calculate() [all …]
|
/Linux-v6.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-v6.1/drivers/mmc/host/ |
D | sdhci-cns3xxx.c | 1 // SPDX-License-Identifier: GPL-2.0-only 16 #include "sdhci-pltfm.h" 23 static void sdhci_cns3xxx_set_clock(struct sdhci_host *host, unsigned int clock) in sdhci_cns3xxx_set_clock() argument 25 struct device *dev = mmc_dev(host->mmc); in sdhci_cns3xxx_set_clock() 26 int div = 1; in sdhci_cns3xxx_set_clock() local 30 host->mmc->actual_clock = 0; in sdhci_cns3xxx_set_clock() 34 if (clock == 0) in sdhci_cns3xxx_set_clock() 37 while (host->max_clk / div > clock) { in sdhci_cns3xxx_set_clock() 42 if (div < 4) in sdhci_cns3xxx_set_clock() 43 div += 1; in sdhci_cns3xxx_set_clock() [all …]
|
/Linux-v6.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-v6.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-v6.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 …]
|
/Linux-v6.1/drivers/clk/mvebu/ |
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 …]
|