/linux/drivers/media/i2c/ |
H A D | ccs-pll.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 3 * drivers/media/i2c/ccs-pll.h 5 * Generic MIPI CCS/SMIA/SMIA++ PLL calculator 17 /* CSI-2 or CCP-2 */ 22 /* op pix clock is for all lanes in total normally */ 25 /* CCS PLL flags */ 37 * struct ccs_pll_branch_fr - CCS PLL configuration (front) 39 * A single branch front-end of the CCS PLL tree. 41 * @pre_pll_clk_div: Pre-PLL clock divisor 42 * @pll_multiplier: PLL multiplier [all …]
|
H A D | aptina-pll.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Aptina Sensor PLL Configuration 13 #include "aptina-pll.h" 17 struct aptina_pll *pll) in aptina_pll_calculate() argument 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() [all …]
|
/linux/drivers/staging/sm750fb/ |
H A D | ddk750_chip.c | 1 // SPDX-License-Identifier: GPL-2.0 52 * This function set up the main chip clock. 54 * Input: Frequency to be set. 56 static void set_chip_clock(unsigned int frequency) in set_chip_clock() argument 58 struct pll_value pll; in set_chip_clock() local 60 /* Cheok_0509: For SM750LE, the chip clock is fixed. Nothing to set. */ in set_chip_clock() 64 if (frequency) { in set_chip_clock() 66 * Set up PLL structure to hold the value to be set in clocks. in set_chip_clock() 68 pll.input_freq = DEFAULT_INPUT_CLOCK; /* Defined in CLOCK.H */ in set_chip_clock() 69 pll.clock_type = MXCLK_PLL; in set_chip_clock() [all …]
|
/linux/drivers/clk/zynq/ |
H A D | pll.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Zynq PLL driver 10 #include <linux/clk-provider.h> 15 * struct zynq_pll - pll clock 16 * @hw: Handle between common and hardware-specific interfaces 17 * @pll_ctrl: PLL control register 18 * @pll_status: PLL status register 20 * @lockbit: Indicates the associated PLL_LOCKED bit in the PLL status 45 * zynq_pll_round_rate() - Round a clock frequency 46 * @hw: Handle between common and hardware-specific interfaces [all …]
|
/linux/drivers/clk/zynqmp/ |
H A D | pll.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Zynq UltraScale+ MPSoC PLL driver 5 * Copyright (C) 2016-2018 Xilinx 9 #include <linux/clk-provider.h> 11 #include "clk-zynqmp.h" 14 * struct zynqmp_pll - PLL clock 15 * @hw: Handle between common and hardware-specific interfaces 16 * @clk_id: PLL clock ID 44 * zynqmp_pll_get_mode() - Get mode of PLL 45 * @hw: Handle between common and hardware-specific interfaces [all …]
|
/linux/Documentation/devicetree/bindings/clock/ |
H A D | fsl,qoriq-clock.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/clock/fsl,qoriq-clock.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Clock Block on Freescale QorIQ Platforms 10 - Frank Li <Frank.Li@nxp.com> 14 SYSCLK signal. The SYSCLK input (frequency) is multiplied using 15 multiple phase locked loops (PLL) to create a variety of frequencies 24 --------------- ------------- 28 Clock Provider [all …]
|
H A D | silabs,si5351.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/clock/silabs,si5351.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Silicon Labs Si5351A/B/C programmable I2C clock generators 10 The Silicon Labs Si5351A/B/C are programmable I2C clock generators with up to 11 8 outputs. Si5351A also has a reduced pin-count package (10-MSOP) where only 3 12 output clocks are accessible. The internal structure of the clock generators 16 https://www.skyworksinc.com/-/media/Skyworks/SL/documents/public/data-sheets/Si5351-B.pdf 19 - Alvin Šipraga <alsi@bang-olufsen.dk> [all …]
|
H A D | fsl,qoriq-clock-legacy.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/clock/fsl,qoriq-clock-legacy.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Legacy Clock Block on Freescale QorIQ Platforms 10 - Frank Li <Frank.Li@nxp.com> 16 Most of the bindings are from the common clock binding[1]. 17 [1] Documentation/devicetree/bindings/clock/clock-bindings.txt 22 - fsl,qoriq-core-pll-1.0 23 - fsl,qoriq-core-pll-2.0 [all …]
|
H A D | silabs,si5341.txt | 2 i2c clock generator. 6 https://www.silabs.com/documents/public/data-sheets/Si5341-40-D-DataSheet.pdf 8 https://www.silabs.com/documents/public/reference-manuals/Si5341-40-D-RM.pdf 10 https://www.silabs.com/documents/public/reference-manuals/Si5345-44-42-D-RM.pdf 12 The Si5341 and Si5340 are programmable i2c clock generators with up to 10 output 13 clocks. The chip contains a PLL that sources 5 (or 4) multisynth clocks, which 15 The internal structure of the clock generators can be found in [2]. 21 chip at boot, in case you have a (pre-)programmed device. If the PLL is not 33 - compatible: shall be one of the following: 34 "silabs,si5340" - Si5340 A/B/C/D [all …]
|
H A D | fsl,plldig.yaml | 1 # SPDX-License-Identifier: GPL-2.0 3 --- 4 $id: http://devicetree.org/schemas/clock/fsl,plldig.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: NXP QorIQ Layerscape LS1028A Display PIXEL Clock 10 - Wen He <wen.he_1@nxp.com> 13 NXP LS1028A has a clock domain PXLCLK0 used for the Display output 14 interface in the display core, as implemented in TSMC CLN28HPM PLL. 19 const: fsl,ls1028a-plldig 27 '#clock-cells': [all …]
|
H A D | starfive,jh7110-pll.yaml | 1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 3 --- 4 $id: http://devicetree.org/schemas/clock/starfive,jh7110-pll.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: StarFive JH7110 PLL Clock Generator 10 These PLLs are high speed, low jitter frequency synthesizers in the JH7110. 11 Each PLL works in integer mode or fraction mode, with configuration 13 SYS-SYSCON node. 14 The formula for calculating frequency is 18 - Xingyu Wu <xingyu.wu@starfivetech.com> [all …]
|
H A D | baikal,bt1-ccu-pll.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 4 --- 5 $id: http://devicetree.org/schemas/clock/baikal,bt1-ccu-pll.yaml# 6 $schema: http://devicetree.org/meta-schemas/core.yaml# 8 title: Baikal-T1 Clock Control Unit PLL 11 - Serge Semin <fancer.lancer@gmail.com> 14 Clocks Control Unit is the core of Baikal-T1 SoC System Controller 18 IP-blocks or to groups of blocks (clock domains). The transformation is done 19 by means of PLLs and gateable/non-gateable dividers embedded into the CCU. 22 in general can provide any frequency supported by the CCU PLLs). [all …]
|
H A D | ti,cdce925.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/clock/ti,cdce925.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: TI CDCE913/925/937/949 programmable I2C clock synthesizers 10 - Alexander Stein <alexander.stein@ew.tq-group.com> 13 Flexible Low Power LVCMOS Clock Generator with SSC Support for EMI Reduction 15 - CDCE(L)913: 1-PLL, 3 Outputs https://www.ti.com/product/cdce913 16 - CDCE(L)925: 2-PLL, 5 Outputs https://www.ti.com/product/cdce925 17 - CDCE(L)937: 3-PLL, 7 Outputs https://www.ti.com/product/cdce937 [all …]
|
/linux/drivers/clk/tegra/ |
H A D | clk.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 9 #include <linux/clk-provider.h> 73 * struct tegra_clk_sync_source - external clock source from codec 75 * @hw: handle between common and hardware-specific interfaces 76 * @rate: input frequency from source 95 * struct tegra_clk_frac_div - fractional divider clock 97 * @hw: handle between common and hardware-specific interfaces 99 * @flags: hardware-specific flags 106 * TEGRA_DIVIDER_ROUND_UP - This flags indicates to round up the divider value. 107 * TEGRA_DIVIDER_FIXED - Fixed rate PLL dividers has addition override bit, this [all …]
|
/linux/drivers/clk/bcm/ |
H A D | clk-iproc.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 13 #include <linux/clk-provider.h> 17 #define bit_mask(width) ((1 << (width)) - 1) 22 /* PLL that requires gating through ASIU */ 25 /* PLL that has fractional part of the NDIV */ 29 * Some of the iProc PLL/clocks may have an ASIC bug that requires read back 36 * Some PLLs require the PLL SW override bit to be set before changes can be 37 * applied to the PLL 42 * Some PLLs use a different way to control clock power, via the PWRDWN bit in 43 * the PLL control register [all …]
|
H A D | clk-iproc-armpll.c | 1 // SPDX-License-Identifier: GPL-2.0-only 7 #include <linux/clk-provider.h> 13 #include "clk-iproc.h" 66 static unsigned int __get_fid(struct iproc_arm_pll *pll) in __get_fid() argument 71 val = readl(pll->base + IPROC_CLK_ARM_DIV_OFFSET); in __get_fid() 80 val = readl(pll->base + IPROC_CLK_POLICY_FREQ_OFFSET); in __get_fid() 84 val = readl(pll->base + IPROC_CLK_POLICY_DBG_OFFSET); in __get_fid() 88 pr_debug("%s: fid override %u->%u\n", __func__, fid, in __get_fid() 99 * Determine the mdiv (post divider) based on the frequency ID being used. 100 * There are 4 sources that can be used to derive the output clock rate: [all …]
|
/linux/drivers/clk/meson/ |
H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 2 menu "Clock support for Amlogic platforms" 56 bool "Meson8 SoC Clock controller support" 66 Support for the clock controller on AmLogic S802 (Meson8), 68 want peripherals and CPU frequency scaling to work. 71 tristate "GXBB and GXL SoC clock controllers support" 83 Support for the clock controller on AmLogic S905 devices, aka gxbb. 84 Say Y if you want peripherals and CPU frequency scaling to work. 87 tristate "AXG SoC clock controllers support" 98 Support for the clock controller on AmLogic A113D devices, aka axg. [all …]
|
/linux/drivers/iio/frequency/ |
H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 3 # Frequency 5 # Clock Distribution device drivers 6 # Phase-Locked Loop (PLL) frequency synthesizers 10 menu "Frequency Synthesizers DDS/PLL" 12 menu "Clock Generator/Distribution" 15 tristate "Analog Devices AD9523 Low Jitter Clock Generator" 19 Clock Generator. The driver provides direct access via sysfs. 27 # Phase-Locked Loop (PLL) frequency synthesizers 30 menu "Phase-Locked Loop (PLL) frequency synthesizers" [all …]
|
/linux/include/uapi/linux/ |
H A D | timex.h | 28 * Added defines for hybrid phase/frequency-lock loop. 32 * defines for PPS phase-lock loop. 35 * Revised status codes and structures for external clock and PPS 46 * 1995-08-13 Torsten Duwe 47 * kernel PLL updated to 1994-12-13 specs (rfc-1589) 48 * 1997-08-30 Ulrich Windl 50 * 2004-08-12 Christoph Lameter 62 * syscall interface - used (mainly by NTP daemon) 63 * to discipline kernel clock oscillator 68 __kernel_long_t freq; /* frequency offset (scaled ppm) */ [all …]
|
/linux/drivers/clk/renesas/ |
H A D | rcar-gen4-cpg.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 3 * R-Car Gen4 Clock Pulse Generator 17 CLK_TYPE_GEN4_PLL_F8_25, /* Fixed fractional 8.25 PLL */ 18 CLK_TYPE_GEN4_PLL_V8_25, /* Variable fractional 8.25 PLL */ 19 CLK_TYPE_GEN4_PLL_F9_24, /* Fixed fractional 9.24 PLL */ 20 CLK_TYPE_GEN4_PLL_V9_24, /* Variable fractional 9.24 PLL */ 73 #define CPG_SD0CKCR 0x870 /* SD-IF0 Clock Frequency Control Register */ 74 #define CPG_CANFDCKCR 0x878 /* CAN-FD Clock Frequency Control Register */ 75 #define CPG_MSOCKCR 0x87c /* MSIOF Clock Frequency Control Register */ 76 #define CPG_CSICKCR 0x880 /* CSI Clock Frequency Control Register */ [all …]
|
/linux/arch/x86/kernel/ |
H A D | tsc_msr.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * TSC frequency enumeration via MSR 14 #include <asm/intel-family.h> 19 #define MAX_NUM_FREQS 16 /* 4 bits to select the frequency */ 22 * The frequency numbers in the SDM are e.g. 83.3 MHz, which does not contain a 23 * lot of accuracy which leads to clock drift. As far as we know Bay Trail SoCs 25 * is the source clk for a root PLL which outputs 1600 and 100 MHz. It is 26 * unclear if the root PLL outputs are used directly by the CPU clock PLL or 27 * if there is another PLL in between. 28 * This does not matter though, we can model the chain of PLLs as a single PLL [all …]
|
/linux/drivers/clk/starfive/ |
H A D | clk-starfive-jh7110-pll.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * StarFive JH7110 PLL Clock Generator Driver 8 * This driver is about to register JH7110 PLL clock generator and support ops. 9 * The JH7110 have three PLL clock, PLL0, PLL1 and PLL2. 10 * Each PLL clocks work in integer mode or fraction mode by some dividers, 12 * The formula for calculating frequency is: 14 * Fref: OSC source clock rate 15 * NI: integer frequency dividing ratio of feedback divider, set by fbdiv[11:0]. 16 * NF: fractional frequency dividing ratio, set by frac[23:0]. NF = frac[23:0] / 2^24 = 0 ~ 0.999. 17 * M: frequency dividing ratio of pre-divider, set by prediv[5:0]. [all …]
|
/linux/include/linux/clk/ |
H A D | at91_pmc.h | 1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 8 * Power Management Controller (PMC) - System peripherals registers. 20 #define AT91_PMC_SCER 0x00 /* System Clock Enable Register */ 21 #define AT91_PMC_SCDR 0x04 /* System Clock Disable Register */ 23 #define AT91_PMC_SCSR 0x08 /* System Clock Status Register */ 24 #define AT91_PMC_PCK (1 << 0) /* Processor Clock */ 25 #define AT91RM9200_PMC_UDP (1 << 1) /* USB Devcice Port Clock [AT91RM9200 only] */ 26 #define AT91RM9200_PMC_MCKUDP (1 << 2) /* USB Device Port Master Clock Automatic Disable on Susp… 27 #define AT91RM9200_PMC_UHP (1 << 4) /* USB Host Port Clock [AT91RM9200 only] */ 28 #define AT91SAM926x_PMC_UHP (1 << 6) /* USB Host Port Clock [AT91SAM926x only] */ [all …]
|
/linux/include/dt-bindings/clock/ |
H A D | tegra186-clock.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 8 * @defgroup clock_ids Clock Identifiers 235 * @defgroup nafll_clks NAFLL clock sources 355 * pwrclk. @warning: This is almost certainly not the clock you think 356 * it is. If you're looking for the clock of the graphics engine, see 417 * @brief controls the EMC clock frequency. 418 * @details Doing a clk_set_rate on this clock will select the 419 * appropriate clock source, program the source rate and execute a 420 * specific sequence to switch to the new clock source for both memory 677 /** @brief output of mux controlled by CLK_RST_CONTROLLER_CLK_SOURCE_TSC. This clock object is read… [all …]
|
/linux/drivers/cpufreq/ |
H A D | pxa3xx-cpufreq.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 36 #define ACCR_XPDIS (1 << 31) /* Core PLL Output Disable */ 37 #define ACCR_SPDIS (1 << 30) /* System PLL Output Disable */ 38 #define ACCR_D0CS (1 << 26) /* D0 Mode Clock Select */ 39 #define ACCR_PCCE (1 << 11) /* Power Mode Change Clock Enable */ 40 #define ACCR_DDR_D0CS (1 << 7) /* DDR SDRAM clock frequency in D0CS (PXA31x only) */ 42 #define ACCR_SMCFS_MASK (0x7 << 23) /* Static Memory Controller Frequency Select */ 43 #define ACCR_SFLFS_MASK (0x3 << 18) /* Frequency Select for Internal Memory Controller */ 44 #define ACCR_XSPCLK_MASK (0x3 << 16) /* Core Frequency during Frequency Change */ 45 #define ACCR_HSS_MASK (0x3 << 14) /* System Bus-Clock Frequency Select */ [all …]
|