| /OK3568_Linux_fs/kernel/drivers/clk/analogbits/ |
| H A D | wrpll-cln28hpc.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Copyright (C) 2018-2019 SiFive, Inc. 16 * pre-determined set of performance points. 19 * - Analog Bits "Wide Range PLL Datasheet", version 2015.10.01 20 * - SiFive FU540-C000 Manual v1p0, Chapter 7 "Clocking and Reset" 21 * https://static.dev.sifive.com/FU540-C000-v1.0.pdf 28 #include <linux/clk/analogbits-wrpll-cln28hpc.h> 30 /* MIN_INPUT_FREQ: minimum input clock frequency, in Hz (Fref_min) */ 33 /* MAX_INPUT_FREQ: maximum input clock frequency, in Hz (Fref_max) */ 36 /* MIN_POST_DIVIDE_REF_FREQ: minimum post-divider reference frequency, in Hz */ [all …]
|
| /OK3568_Linux_fs/kernel/drivers/video/fbdev/kyro/ |
| H A D | STG4000InitDevice.c | 69 #define STG4K3_PLL_MIN_VCO_SC (100000000 >> STG4K3_PLL_SCALER) /* Min VCO rate */ 70 #define STG4K3_PLL_MAX_VCO_SC (500000000 >> STG4K3_PLL_SCALER) /* Max VCO rate */ 71 #define STG4K3_PLL_MINR_VCO_SC (100000000 >> STG4K3_PLL_SCALER) /* Min VCO rate (restricted) */ 72 #define STG4K3_PLL_MAXR_VCO_SC (500000000 >> STG4K3_PLL_SCALER) /* Max VCO rate (restricted) */ 73 #define STG4K3_PLL_MINR_VCO 100000000 /* Min VCO rate (restricted) */ 74 #define STG4K3_PLL_MAX_VCO 500000000 /* Max VCO rate */ 75 #define STG4K3_PLL_MAXR_VCO 500000000 /* Max VCO rate (restricted) */ 101 /* Program SD-RAM interface */ in InitSDRAMRegisters() 129 /* Translate clock in Hz */ in ProgramClock() 130 coreClock *= 100; /* in Hz */ in ProgramClock() [all …]
|
| /OK3568_Linux_fs/kernel/Documentation/ABI/testing/ |
| H A D | sysfs-bus-iio-frequency-adf4371 | 3 Contact: linux-iio@vger.kernel.org 5 Stores the PLL frequency in Hz for channel Y. 6 Reading returns the actual frequency in Hz. 7 The ADF4371 has an integrated VCO with fundamendal output 8 frequency ranging from 4000000000 Hz 8000000000 Hz. 12 frequencies from 62500000 Hz to 8000000000 Hz. 17 8000000000 Hz to 16000000000 Hz. 20 16000000000 Hz to 32000000000 Hz. 23 all the other channels, since it involves changing the VCO 28 Contact: linux-iio@vger.kernel.org [all …]
|
| /OK3568_Linux_fs/external/xserver/hw/xfree86/ramdac/ |
| H A D | IBM.c | 28 #include <xorg-config.h> 43 IBMramdac640CalculateMNPCForClock(unsigned long RefClock, /* In 100Hz units */ in IBMramdac640CalculateMNPCForClock() 44 unsigned long ReqClock, /* In 100Hz units */ in IBMramdac640CalculateMNPCForClock() 46 unsigned long MinClock, /* Min VCO rating */ in IBMramdac640CalculateMNPCForClock() 47 unsigned long MaxClock, /* Max VCO rating */ in IBMramdac640CalculateMNPCForClock() 55 unsigned long IntRef, VCO, Clock; in IBMramdac640CalculateMNPCForClock() local 64 VCO = IntRef * (M + 1); in IBMramdac640CalculateMNPCForClock() 65 if ((VCO < MinClock) || (VCO > MaxClock)) in IBMramdac640CalculateMNPCForClock() 73 freqErr = (Clock - ReqClock); in IBMramdac640CalculateMNPCForClock() 80 freqErr = -freqErr; in IBMramdac640CalculateMNPCForClock() [all …]
|
| H A D | TI.c | 29 #include <xorg-config.h> 46 TIramdacCalculateMNPForClock(unsigned long RefClock, /* In 100Hz units */ in TIramdacCalculateMNPForClock() 47 unsigned long ReqClock, /* In 100Hz units */ in TIramdacCalculateMNPForClock() 49 unsigned long MinClock, /* Min VCO rating */ in TIramdacCalculateMNPForClock() 50 unsigned long MaxClock, /* Max VCO rating */ in TIramdacCalculateMNPForClock() 58 double VCO, IntRef = (double) RefClock; in TIramdacCalculateMNPForClock() local 69 * ActualClock = VCO / 2 ^ p in TIramdacCalculateMNPForClock() 70 * Choose p so that TI_MIN_VCO_FREQ <= VCO <= TI_MAX_VCO_FREQ in TIramdacCalculateMNPForClock() 74 VCO = (double) ReqClock; in TIramdacCalculateMNPForClock() 75 for (p = 0; p < 3 && VCO < TI_MIN_VCO_FREQ; (p)++) in TIramdacCalculateMNPForClock() [all …]
|
| /OK3568_Linux_fs/kernel/drivers/clk/ |
| H A D | clk-si544.c | 1 // SPDX-License-Identifier: GPL-2.0 8 #include <linux/clk-provider.h> 45 /* VCO range is 10.8 .. 12.1 GHz, max depends on speed grade */ 74 * struct clk_si544_muldiv - Multiplier/divider settings 79 * If ls_div_bits is non-zero, hs_div must be even 80 * @delta_m: Frequency shift for small -950..+950 ppm changes, 24 bit 93 return regmap_update_bits(data->regmap, SI544_REG_OE_STATE, in si544_enable_output() 117 err = regmap_read(data->regmap, SI544_REG_OE_STATE, &val); in si544_is_prepared() 131 err = regmap_bulk_read(data->regmap, SI544_REG_HS_DIV, reg, 2); in si544_get_muldiv() 135 settings->ls_div_bits = (reg[1] >> 4) & 0x07; in si544_get_muldiv() [all …]
|
| H A D | clk-plldig.c | 1 // SPDX-License-Identifier: GPL-2.0 8 #include <linux/clk-provider.h> 35 /* Range of the VCO frequencies, in Hz */ 39 /* Range of the output frequencies, in Hz */ 72 val = readl(data->regs + PLLDIG_REG_PLLFM); in plldig_enable() 78 writel(val, data->regs + PLLDIG_REG_PLLFM); in plldig_enable() 88 val = readl(data->regs + PLLDIG_REG_PLLFM); in plldig_disable() 93 writel(val, data->regs + PLLDIG_REG_PLLFM); in plldig_disable() 100 return readl(data->regs + PLLDIG_REG_PLLFM) & in plldig_is_enabled() 110 val = readl(data->regs + PLLDIG_REG_PLLDV); in plldig_recalc_rate() [all …]
|
| H A D | clk-gemini.c | 1 // SPDX-License-Identifier: GPL-2.0 7 #define pr_fmt(fmt) "clk-gemini: " fmt 15 #include <linux/clk-provider.h> 21 #include <linux/reset-controller.h> 22 #include <dt-bindings/reset/cortina,gemini-reset.h> 23 #include <dt-bindings/clock/cortina,gemini-clock.h> 53 * struct gemini_data_data - Gemini gated clocks 67 * struct clk_gemini_pci - Gemini PCI clock 79 * struct gemini_reset - gemini reset controller 92 { 1, "security-gate", "secdiv", 0 }, [all …]
|
| /OK3568_Linux_fs/kernel/drivers/media/dvb-frontends/ |
| H A D | stb6100.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 74 [STB6100_VCO] = "VCO", 125 .addr = state->config->tuner_address, in stb6100_read_regs() 131 rc = i2c_transfer(state->i2c, &msg, 1); in stb6100_read_regs() 134 state->config->tuner_address, rc); in stb6100_read_regs() 136 return -EREMOTEIO; in stb6100_read_regs() 141 dprintk(verbose, FE_DEBUG, 1, " Read from 0x%02x", state->config->tuner_address); in stb6100_read_regs() 153 .addr = state->config->tuner_address + reg, in stb6100_read_reg() 159 i2c_transfer(state->i2c, &msg, 1); in stb6100_read_reg() 163 return -EINVAL; in stb6100_read_reg() [all …]
|
| /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/clock/ |
| H A D | fsl,plldig.yaml | 1 # SPDX-License-Identifier: GPL-2.0 3 --- 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Wen He <wen.he_1@nxp.com> 19 const: fsl,ls1028a-plldig 27 '#clock-cells': 30 fsl,vco-hz: 31 description: Optional for VCO frequency of the PLL in Hertz. The VCO frequency 35 its own desired VCO frequency for the PLL. 41 - compatible [all …]
|
| /OK3568_Linux_fs/u-boot/arch/arm/cpu/armv8/s32v234/ |
| H A D | generic.c | 2 * (C) Copyright 2013-2016, Freescale Semiconductor, Inc. 4 * SPDX-License-Identifier: GPL-2.0+ 9 #include <asm/arch/imx-regs.h> 21 u32 cpu = readl(&mscmir->cpxtype); in get_cpu_rev() 31 u32 vco = 0, plldv_prediv = 0, plldv_mfd = 0, pllfd_mfn = 0; in get_pllfreq() local 36 return -1; in get_pllfreq() 47 /* The formula for VCO is from TR manual, rev. D */ in get_pllfreq() 48 vco = refclk_freq / plldv_prediv * (plldv_mfd + pllfd_mfn / 20481); in get_pllfreq() 58 readl(DFS_DVPORTn(pll, selected_output - 1)); in get_pllfreq() 65 fout = vco / (dfs_mfi + (dfs_mfn / 256)); in get_pllfreq() [all …]
|
| /OK3568_Linux_fs/u-boot/drivers/clk/rockchip/ |
| H A D | clk_rk3328.c | 4 * SPDX-License-Identifier: GPL-2.0 9 #include <clk-uclass.h> 19 #include <dt-bindings/clock/rk3328-cru.h> 24 ((input_rate) / (output_rate) - 1); 57 /* vco = 1016064000 */ 59 /* vco = 983040000 */ 62 /* vco = 983040000 */ 65 /* vco = 860156000 */ 67 /* vco = 903168000 */ 69 /* vco = 819200000 */ [all …]
|
| H A D | clk_rk3036.c | 4 * SPDX-License-Identifier: GPL-2.0 8 #include <clk-uclass.h> 17 #include <dt-bindings/clock/rk3036-cru.h> 45 ((input_rate) / (output_rate) - 1); 49 #define PLL_DIVISORS(hz, _refdiv, _postdiv1, _postdiv2) {\ argument 51 .fbdiv = (u32)((u64)hz * _refdiv * _postdiv1 * _postdiv2 / OSC_HZ),\ 53 _Static_assert(((u64)hz * _refdiv * _postdiv1 * _postdiv2 / OSC_HZ) *\ 54 OSC_HZ / (_refdiv * _postdiv1 * _postdiv2) == hz,\ 55 #hz "Hz cannot be hit with PLL "\ 66 struct rk3036_pll *pll = &cru->pll[pll_id]; in rkclk_set_pll() [all …]
|
| H A D | clk_rv1108.c | 3 * Author: Andy Yan <andy.yan@rock-chips.com> 4 * SPDX-License-Identifier: GPL-2.0 9 #include <clk-uclass.h> 18 #include <dt-bindings/clock/rv1108-cru.h> 31 #define PLL_DIVISORS(hz, _refdiv, _postdiv1, _postdiv2) {\ argument 33 .fbdiv = (u32)((u64)hz * _refdiv * _postdiv1 * _postdiv2 / OSC_HZ),\ 35 _Static_assert(((u64)hz * _refdiv * _postdiv1 * _postdiv2 / OSC_HZ) *\ 36 OSC_HZ / (_refdiv * _postdiv1 * _postdiv2) == hz,\ 37 #hz "Hz cannot be hit with PLL "\ 51 id = clk_id - 1; in rv1108_pll_id() [all …]
|
| H A D | clk_rk3066.c | 5 * SPDX-License-Identifier: GPL-2.0 9 #include <clk-uclass.h> 11 #include <dt-structs.h> 20 #include <dt-bindings/clock/rk3066a-cru.h> 21 #include <dm/device-internal.h> 23 #include <dm/uclass-internal.h> 91 ((input_rate) / (output_rate) - 1); 95 #define PLL_DIVISORS(hz, _nr, _no) {\ argument 96 .nr = _nr, .nf = (u32)((u64)hz * _nr * _no / OSC_HZ), .no = _no};\ 97 _Static_assert(((u64)hz * _nr * _no / OSC_HZ) * OSC_HZ /\ [all …]
|
| H A D | clk_rk3188.c | 5 * SPDX-License-Identifier: GPL-2.0 9 #include <clk-uclass.h> 11 #include <dt-structs.h> 21 #include <dt-bindings/clock/rk3188-cru.h> 22 #include <dm/device-internal.h> 24 #include <dm/uclass-internal.h> 93 #define PLL_DIVISORS(hz, _nr, _no) {\ argument 94 .nr = _nr, .nf = (u32)((u64)hz * _nr * _no / OSC_HZ), .no = _no};\ 95 _Static_assert(((u64)hz * _nr * _no / OSC_HZ) * OSC_HZ /\ 96 (_nr * _no) == hz, #hz "Hz cannot be hit with PLL "\ [all …]
|
| H A D | clk_rk3368.c | 3 * Author: Andy Yan <andy.yan@rock-chips.com> 5 * SPDX-License-Identifier: GPL-2.0 9 #include <clk-uclass.h> 11 #include <dt-structs.h> 21 #include <dt-bindings/clock/rk3368-cru.h> 106 #define PLL_DIVISORS(hz, _nr, _no) { \ argument 107 .nr = _nr, .nf = (u32)((u64)hz * _nr * _no / OSC_HZ), .no = _no}; \ 108 _Static_assert(((u64)hz * _nr * _no / OSC_HZ) * OSC_HZ /\ 109 (_nr * _no) == hz, #hz "Hz cannot be hit with PLL " \ 153 printf("%s: the frequency can not be 0 Hz\n", __func__); in pll_para_config() [all …]
|
| /OK3568_Linux_fs/kernel/drivers/media/tuners/ |
| H A D | max2165.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 20 #include "tuner-i2c.h" 38 msg.addr = priv->config->i2c_address; in max2165_write_reg() 43 ret = i2c_transfer(priv->i2c, &msg, 1); in max2165_write_reg() 49 return (ret != 1) ? -EIO : 0; in max2165_write_reg() 55 u8 dev_addr = priv->config->i2c_address; in max2165_read_reg() 64 ret = i2c_transfer(priv->i2c, msg, 2); in max2165_read_reg() 67 return -EIO; in max2165_read_reg() 104 priv->tf_ntch_low_cfg = dat[0] >> 4; in max2165_read_rom_table() 105 priv->tf_ntch_hi_cfg = dat[0] & 0x0F; in max2165_read_rom_table() [all …]
|
| /OK3568_Linux_fs/kernel/arch/powerpc/boot/ |
| H A D | redboot.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 6 // include/asm-ppc/redboot.h 26 unsigned int bi_intfreq; /* Internal Freq, in Hz */ 27 unsigned int bi_busfreq; /* Bus Freq, in Hz */ 28 unsigned int bi_cpmfreq; /* CPM Freq, in Hz */ 29 unsigned int bi_brgfreq; /* BRG Freq, in Hz */ 30 unsigned int bi_vco; /* VCO Out from PLL */ 31 unsigned int bi_pci_freq; /* PCI Freq, in Hz */
|
| H A D | ppcboot.h | 1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 3 * This interface is used for compatibility with old U-boots *ONLY*. 18 * include/asm-ppc/ppcboot.h 48 unsigned long bi_vco; /* VCO Out from PLL, in MHz */ 58 unsigned int bi_procfreq; /* CPU (Internal) Freq, in Hz */ 59 unsigned int bi_plb_busfreq; /* PLB Bus speed, in Hz */ 60 unsigned int bi_pci_busfreq; /* PCI Bus speed, in Hz */ 84 unsigned int bi_opbfreq; /* OB clock in Hz */
|
| H A D | ppcboot-hotfoot.h | 1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 3 * This interface is used for compatibility with old U-boots *ONLY*. 11 * least-offensive solution. Please direct all flames to: 13 * Solomon Peachy <solomon@linux-wlan.com> 30 * include/asm-ppc/ppcboot.h 65 unsigned long bi_vco; /* VCO Out from PLL, in MHz */ 75 unsigned int bi_procfreq; /* CPU (Internal) Freq, in Hz */ 76 unsigned int bi_plb_busfreq; /* PLB Bus speed, in Hz */ 77 unsigned int bi_pci_busfreq; /* PCI Bus speed, in Hz */ 81 unsigned int bi_pllouta_freq; /* PLL OUTA speed, in Hz */ [all …]
|
| /OK3568_Linux_fs/kernel/drivers/iio/frequency/ |
| H A D | adf4371.c | 1 // SPDX-License-Identifier: GPL-2.0 63 #define ADF4371_MAX_OUT_RF8_FREQ ADF4371_MAX_VCO_FREQ /* Hz */ 64 #define ADF4371_MIN_OUT_RF8_FREQ (ADF4371_MIN_VCO_FREQ / 64) /* Hz */ 65 #define ADF4371_MAX_OUT_RF16_FREQ (ADF4371_MAX_VCO_FREQ * 2) /* Hz */ 66 #define ADF4371_MIN_OUT_RF16_FREQ (ADF4371_MIN_VCO_FREQ * 2) /* Hz */ 67 #define ADF4371_MAX_OUT_RF32_FREQ (ADF4371_MAX_VCO_FREQ * 4) /* Hz */ 68 #define ADF4371_MIN_OUT_RF32_FREQ (ADF4371_MIN_VCO_FREQ * 4) /* Hz */ 70 #define ADF4371_MAX_FREQ_PFD 250000000UL /* Hz */ 71 #define ADF4371_MAX_FREQ_REFIN 600000000UL /* Hz */ 73 /* MOD1 is a 24-bit primary modulus with fixed value of 2^25 */ [all …]
|
| /OK3568_Linux_fs/u-boot/arch/arm/include/asm/arch-tegra/ |
| H A D | clock.h | 4 * SPDX-License-Identifier: GPL-2.0+ 30 * register. As such, the U-Boot clock driver is currently a bit lazy, and 40 #include <asm/arch/clock-tables.h> 72 * @return 0 if ok, -1 on error (invalid clock id or no suitable divider) 78 * Read low-level parameters of a PLL. 87 * @returns 0 if ok, -1 on error (invalid clock id) 144 * @param cpu cpu number (0 or 1 on Tegra2, 0-3 on Tegra3) 146 * @param reset 1 to assert reset, 0 to de-assert 155 * Warning: This function is only for use pre-relocation. Please use 169 * @param source source clock (0-15 depending on mux_bits) [all …]
|
| /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/iio/frequency/ |
| H A D | adf4350.txt | 4 - compatible: Should be one of 7 - reg: SPI chip select numbert for the device 8 - spi-max-frequency: Max SPI frequency to use (< 20000000) 9 - clocks: From common clock binding. Clock is phandle to clock for 13 - gpios: GPIO Lock detect - If set with a valid phandle and GPIO number, 15 - adi,channel-spacing: Channel spacing in Hz (influences MODULUS). 16 - adi,power-up-frequency: If set in Hz the PLL tunes to 18 - adi,reference-div-factor: If set the driver skips dynamic calculation 20 - adi,reference-doubler-enable: Enables reference doubler. 21 - adi,reference-div2-enable: Enables reference divider. [all …]
|
| /OK3568_Linux_fs/u-boot/arch/arm/mach-tegra/ |
| H A D | clock.c | 2 * Copyright (c) 2010-2015, NVIDIA CORPORATION. All rights reserved. 4 * SPDX-License-Identifier: GPL-2.0 16 #include <asm/arch-tegra/ap.h> 17 #include <asm/arch-tegra/clk_rst.h> 18 #include <asm/arch-tegra/pmc.h> 19 #include <asm/arch-tegra/timer.h> 67 reg = readl(&clkrst->crc_osc_ctrl); in clock_get_osc_bypass() 82 return &clkrst->crc_pll[clkid]; in get_pll() 101 return -1; in clock_ll_read_pll() 102 data = readl(&pll->pll_base); in clock_ll_read_pll() [all …]
|