/openbmc/linux/drivers/phy/amlogic/ |
H A D | phy-meson-axg-mipi-dphy.c | 1 // SPDX-License-Identifier: GPL-2.0 13 #include <linux/clk.h> 32 * [12] mipi HSbyteclk enable. 33 * [11] mipi divider clk selection. 34 * 1: select the mipi DDRCLKHS from clock divider. 36 * [10] mipi clock divider control. 38 * [9] mipi divider output enable. 39 * [8] mipi divider counter enable. 42 * 1 = transfer the high bit first. 0 : transfer the low bit first. 52 /* [31] clk lane tx_hs_en control selection. [all …]
|
/openbmc/linux/drivers/clk/mvebu/ |
H A D | ap-cpu-clk.c | 1 // SPDX-License-Identifier: GPL-2.0+ 11 #define pr_fmt(fmt) "ap-cpu-clk: " fmt 13 #include <linux/clk-provider.h> 14 #include <linux/clk.h> 28 #define APN806_CLUSTER_NUM_MASK BIT(APN806_CLUSTER_NUM_OFFSET) 99 #define AP807_PLL_CR_1_CPU_CLK_DIV_RATIO_OFFSET 12 146 struct ap_cpu_clk *clk = to_ap_cpu_clk(hw); in ap_cpu_clk_recalc_rate() local 150 cpu_clkdiv_reg = clk->pll_regs->divider_reg + in ap_cpu_clk_recalc_rate() 151 (clk->cluster * clk->pll_regs->cluster_offset); in ap_cpu_clk_recalc_rate() 152 regmap_read(clk->pll_cr_base, cpu_clkdiv_reg, &cpu_clkdiv_ratio); in ap_cpu_clk_recalc_rate() [all …]
|
/openbmc/u-boot/drivers/clk/aspeed/ |
H A D | clk_ast2600.c | 1 // SPDX-License-Identifier: GPL-2.0 10 #include <clk-uclass.h> 15 #include <dt-bindings/clock/ast2600-clock.h> 16 #include <dt-bindings/reset/ast2600-reset.h> 29 #define MAC_CLK_RGMII_125M_SRC_SEL BIT(31) 32 #define MAC_CLK_RMII2_50M_RCLK_O_CTRL BIT(30) 35 #define MAC_CLK_RMII1_50M_RCLK_O_CTRL BIT(29) 38 #define MAC_CLK_RGMIICK_PAD_DIR BIT(28) 41 #define MAC_CLK_RMII_TXD_FALLING_2 BIT(27) 42 #define MAC_CLK_RMII_TXD_FALLING_1 BIT(26) [all …]
|
H A D | clk_ast2400.c | 1 // SPDX-License-Identifier: GPL-2.0 7 #include <clk-uclass.h> 12 #include <dt-bindings/clock/ast2400-clock.h> 13 #include <dt-bindings/reset/ast2400-reset.h> 18 * Clock divider/multiplier configuration struct. 19 * For H-PLL and M-PLL the formula is 21 * M - Numerator 22 * N - Denumerator 23 * P - Post Divider 26 * D-PLL and D2-PLL have extra divider (OD + 1), which is not [all …]
|
/openbmc/u-boot/arch/arm/mach-snapdragon/ |
H A D | clock-snapdragon.c | 1 // SPDX-License-Identifier: BSD-3-Clause 11 #include <clk-uclass.h> 16 #include "clock-snapdragon.h" 19 #define CBCR_BRANCH_ENABLE_BIT BIT(0) 20 #define CBCR_BRANCH_OFF_BIT BIT(31) 22 extern ulong msm_set_rate(struct clk *clk, ulong rate); 35 if (readl(base + gpll0->status) & gpll0->status_bit) in clk_enable_gpll0() 38 setbits_le32(base + gpll0->ena_vote, gpll0->vote_bit); in clk_enable_gpll0() 40 while ((readl(base + gpll0->status) & gpll0->status_bit) == 0) in clk_enable_gpll0() 45 #define BRANCH_NOC_FSM_ON_VAL BIT(29) [all …]
|
/openbmc/linux/drivers/clk/keystone/ |
H A D | pll.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 6 * Murali Karicheri <m-karicheri2@ti.com> 9 #include <linux/clk-provider.h> 26 * struct clk_pll_data - pll data structure 28 * register of pll controller, else it is in the pll_ctrl0((bit 11-6) 36 * @pllod: PLL register map address for post divider bits 41 * @plld_mask: divider mask 42 * @clkod_mask: output divider mask 43 * @clkod_shift: output divider shift 44 * @plld_mask: divider mask [all …]
|
/openbmc/linux/drivers/gpu/drm/nouveau/nvkm/subdev/clk/ |
H A D | gk20a.c | 2 * Copyright (c) 2014-2016, NVIDIA CORPORATION. All rights reserved. 32 /* PL: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 */ 33 /* p: */ 1, 2, 3, 4, 5, 6, 8, 10, 12, 16, 12, 16, 20, 24, 32, 48 for (pl = 0; pl < ARRAY_SIZE(_pl_to_div) - 1; pl++) { in div_to_pl() 53 return ARRAY_SIZE(_pl_to_div) - 1; in div_to_pl() 65 gk20a_pllg_read_mnp(struct gk20a_clk *clk, struct gk20a_pll *pll) in gk20a_pllg_read_mnp() argument 67 struct nvkm_device *device = clk->base.subdev.device; in gk20a_pllg_read_mnp() 71 pll->m = (val >> GPCPLL_COEFF_M_SHIFT) & MASK(GPCPLL_COEFF_M_WIDTH); in gk20a_pllg_read_mnp() 72 pll->n = (val >> GPCPLL_COEFF_N_SHIFT) & MASK(GPCPLL_COEFF_N_WIDTH); in gk20a_pllg_read_mnp() 73 pll->pl = (val >> GPCPLL_COEFF_P_SHIFT) & MASK(GPCPLL_COEFF_P_WIDTH); in gk20a_pllg_read_mnp() [all …]
|
/openbmc/u-boot/drivers/clk/ |
H A D | clk_stm32h7.c | 1 // SPDX-License-Identifier: GPL-2.0+ 3 * Copyright (C) 2017, STMicroelectronics - All Rights Reserved 8 #include <clk-uclass.h> 15 #include <dt-bindings/clock/stm32h7-clks.h> 18 #define RCC_CR_HSION BIT(0) 19 #define RCC_CR_HSIRDY BIT(2) 21 #define RCC_CR_HSEON BIT(16) 22 #define RCC_CR_HSERDY BIT(17) 23 #define RCC_CR_HSEBYP BIT(18) 24 #define RCC_CR_PLL1ON BIT(24) [all …]
|
/openbmc/linux/drivers/clk/ux500/ |
H A D | u8500_of_clk.c | 1 // SPDX-License-Identifier: GPL-2.0-only 5 * Copyright (C) 2012 ST-Ericsson SA 11 #include <linux/clk-provider.h> 12 #include <linux/mfd/dbx500-prcmu.h> 14 #include "clk.h" 16 #include "reset-prcc.h" 18 static struct clk *prcc_pclk[(PRCC_NUM_PERIPH_CLUSTERS + 1) * PRCC_PERIPHS_PER_CLUSTER]; 19 static struct clk *prcc_kclk[(PRCC_NUM_PERIPH_CLUSTERS + 1) * PRCC_PERIPHS_PER_CLUSTER]; 22 #define PRCC_SHOW(clk, base, bit) \ argument 23 clk[(base * PRCC_PERIPHS_PER_CLUSTER) + bit] [all …]
|
/openbmc/linux/drivers/clk/tegra/ |
H A D | clk.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 9 #include <linux/clk-provider.h> 20 #define CLK_ENB_PLLP_OUT_CPU BIT(31) 73 * struct tegra_clk_sync_source - external clock source from codec 75 * @hw: handle between common and hardware-specific interfaces 91 struct clk *tegra_clk_register_sync_source(const char *name, 95 * struct tegra_clk_frac_div - fractional divider clock 97 * @hw: handle between common and hardware-specific interfaces 98 * @reg: register containing divider 99 * @flags: hardware-specific flags [all …]
|
/openbmc/linux/drivers/iio/adc/ |
H A D | ingenic-adc.c | 1 // SPDX-License-Identifier: GPL-2.0 4 * Copyright (c) 2019 Artur Rojek <contact@artur-rojek.eu> 6 * based on drivers/mfd/jz4740-adc.c 9 #include <dt-bindings/iio/adc/ingenic,adc.h> 10 #include <linux/clk.h> 36 #define JZ_ADC_REG_ENABLE_PD BIT(7) 37 #define JZ_ADC_REG_CFG_AUX_MD (BIT(0) | BIT(1)) 38 #define JZ_ADC_REG_CFG_BAT_MD BIT(4) 41 #define JZ_ADC_REG_CFG_CMD_SEL BIT(22) 42 #define JZ_ADC_REG_CFG_VBAT_SEL BIT(30) [all …]
|
/openbmc/qemu/include/hw/ |
H A D | clock.h | 4 * Copyright GreenSocs 2016-2020 11 * See the COPYING file in the top-level directory. 19 #include "qemu/host-utils.h" 29 * is registered, so these values must all be different bit values. 39 * clock store a value representing the clock's period in 2^-32ns unit. 41 * + periods from 2^-32ns up to 4seconds 86 uint32_t divider; member 110 * @clk: clock 114 void clock_setup_canonical_path(Clock *clk); 131 * @clk: the clock to register the callback into [all …]
|
/openbmc/linux/drivers/clk/versatile/ |
H A D | clk-icst.c | 1 // SPDX-License-Identifier: GPL-2.0-only 7 * Copyright (C) 2012-2015 Linus Walleij 17 #include <linux/clk-provider.h> 23 #include "clk-icst.h" 34 #define INTEGRATOR_AP_PCI_25_33_MHZ BIT(8) 37 * struct clk_icst - ICST VCO clock wrapper 59 * vco_get() - get ICST VCO settings from a certain ICST 68 ret = regmap_read(icst->map, icst->vcoreg_off, &val); in vco_get() 74 * bits of the v PLL divider. Bit 8 is tied low and always zero, in vco_get() 75 * r is hardwired to 22 and output divider s is hardwired to 1 in vco_get() [all …]
|
/openbmc/linux/drivers/clk/xilinx/ |
H A D | clk-xlnx-clock-wizard.c | 1 // SPDX-License-Identifier: GPL-2.0 5 * Copyright (C) 2013 - 2021 Xilinx 13 #include <linux/clk.h> 14 #include <linux/clk-provider.h> 28 #define WZRD_CLKOUT0_FRAC_EN BIT(18) 29 #define WZRD_CLKFBOUT_FRAC_EN BIT(26) 56 /* Divider limits, from UG572 Table 3-4 for Ultrascale+ */ 72 #define div_mask(width) ((1 << (width)) - 1) 74 /* Extract divider instance from clock hardware instance */ 85 * struct clk_wzrd - Clock wizard private data structure [all …]
|
H A D | xlnx_vcu.c | 1 // SPDX-License-Identifier: GPL-2.0 5 * Copyright (C) 2016 - 2017 Xilinx, Inc. 10 #include <linux/clk.h> 11 #include <linux/clk-provider.h> 16 #include <linux/mfd/syscon/xlnx-vcu.h> 22 #include <dt-bindings/clock/xlnx-vcu.h> 25 #define VCU_PLL_CTRL_RESET BIT(0) 26 #define VCU_PLL_CTRL_POR_IN BIT(1) 27 #define VCU_PLL_CTRL_PWR_POR BIT(2) 28 #define VCU_PLL_CTRL_BYPASS BIT(3) [all …]
|
/openbmc/linux/drivers/clk/sunxi/ |
H A D | clk-sunxi.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 8 #include <linux/clk.h> 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 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-core.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * Copyright 2014 Chen-Yu Tsai 5 * Chen-Yu Tsai <wens@csie.org> 8 #include <linux/clk.h> 9 #include <linux/clk-provider.h> 14 #include "clk-factors.h" 18 * sun9i_a80_get_pll4_factors() - calculates n, p, m factors for PLL4 33 n = DIV_ROUND_UP(req->rate, 6000000); in sun9i_a80_get_pll4_factors() 35 /* If n is too large switch to steps of 12 MHz */ in sun9i_a80_get_pll4_factors() 47 /* n must be between 12 and 255 */ in sun9i_a80_get_pll4_factors() [all …]
|
/openbmc/qemu/hw/misc/ |
H A D | npcm7xx_clk.c | 21 #include "hw/qdev-clock.h" 23 #include "qemu/error-report.h" 38 #define NPCM7XX_CLK_WDRCR_CA9C BIT(0) /* Cortex-A9 Cores */ 40 #define PLLCON_LOKI BIT(31) 41 #define PLLCON_LOKS BIT(30) 42 #define PLLCON_PWDEN BIT(12) 43 #define PLLCON_FBDV(con) extract32((con), 16, 12) 81 * All are loaded on power-up reset. CLKENx and SWRSTR should also be loaded on 111 #define TYPE_NPCM7XX_CLOCK_PLL "npcm7xx-clock-pll" 114 #define TYPE_NPCM7XX_CLOCK_SEL "npcm7xx-clock-sel" [all …]
|
/openbmc/linux/drivers/clk/bcm/ |
H A D | clk-bcm2835.c | 1 // SPDX-License-Identifier: GPL-2.0+ 27 #include <linux/clk-provider.h> 29 #include <linux/clk.h> 38 #include <dt-bindings/clock/bcm2835.h> 44 # define CM_DIV_FRAC_BITS 12 45 # define CM_DIV_FRAC_MASK GENMASK(CM_DIV_FRAC_BITS - 1, 0) 93 # define CM_TCNT_SRC1_SHIFT 12 122 # define CM_ENABLE BIT(4) 123 # define CM_KILL BIT(5) 125 # define CM_GATE BIT(CM_GATE_BIT) [all …]
|
/openbmc/linux/drivers/clk/nxp/ |
H A D | clk-lpc32xx.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 6 #include <linux/clk.h> 7 #include <linux/clk-provider.h> 12 #include <dt-bindings/clock/lpc32xx-clock.h> 18 #define PLL_CTRL_ENABLE BIT(16) 19 #define PLL_CTRL_BYPASS BIT(15) 20 #define PLL_CTRL_DIRECT BIT(14) 21 #define PLL_CTRL_FEEDBACK BIT(13) 22 #define PLL_CTRL_POSTDIV (BIT(12)|BIT(11)) 23 #define PLL_CTRL_PREDIV (BIT(10)|BIT(9)) [all …]
|
/openbmc/linux/arch/powerpc/platforms/512x/ |
H A D | clock-commonclk.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 11 #include <linux/clk.h> 12 #include <linux/clk-provider.h> 21 #include <dt-bindings/clock/mpc512x-clock.h> 33 #define NR_PSCS 12 70 static struct clk *clks[MPC512x_CLK_LAST_PRIVATE]; 89 * interpretation, no CFM, different fourth PSC/CAN mux0 input -- yet 176 return 12; in soc_max_pscnum() 215 /* common clk API wrappers {{{ */ 217 /* convenience wrappers around the common clk API */ [all …]
|
/openbmc/linux/include/linux/ |
H A D | clk-provider.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 3 * Copyright (c) 2010-2011 Jeremy Kerr <jeremy.kerr@canonical.com> 4 * Copyright (C) 2011-2012 Linaro Ltd <mturquette@linaro.org> 13 * flags used across common struct clk. these flags should only affect the 14 * top-level framework. custom flags for dealing with hardware specifics 17 * Please update clk_flags[] in drivers/clk/clk.c when making changes here! 19 #define CLK_SET_RATE_GATE BIT(0) /* must be gated across rate change */ 20 #define CLK_SET_PARENT_GATE BIT(1) /* must be gated across re-parent */ 21 #define CLK_SET_RATE_PARENT BIT(2) /* propagate rate change up one level */ 22 #define CLK_IGNORE_UNUSED BIT(3) /* do not gate even if unused */ [all …]
|
/openbmc/linux/Documentation/devicetree/bindings/iio/frequency/ |
H A D | adi,adf4350.yaml | 1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 3 --- 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Michael Hennerich <michael.hennerich@analog.com> 15 - adi,adf4350 16 - adi,adf4351 21 spi-max-frequency: 28 clock-names: 35 adi,channel-spacing: 40 adi,power-up-frequency: [all …]
|
/openbmc/linux/sound/soc/stm/ |
H A D | stm32_i2s.c | 1 // SPDX-License-Identifier: GPL-2.0-only 5 * Copyright (C) 2017, STMicroelectronics - All Rights Reserved 10 #include <linux/clk.h> 11 #include <linux/clk-provider.h> 38 /* Bit definition for SPI2S_CR1 register */ 39 #define I2S_CR1_SPE BIT(0) 40 #define I2S_CR1_CSTART BIT(9) 41 #define I2S_CR1_CSUSP BIT(10) 42 #define I2S_CR1_HDDIR BIT(11) 43 #define I2S_CR1_SSI BIT(12) [all …]
|
/openbmc/linux/drivers/gpu/drm/vc4/ |
H A D | vc4_dsi.c | 1 // SPDX-License-Identifier: GPL-2.0-only 10 * single-lane DSI controller, while DSI1 is a more modern 4-lane DSI 16 * This driver has been tested for DSI1 video-mode display only 21 #include <linux/clk-provider.h> 22 #include <linux/clk.h> 25 #include <linux/dma-mapping.h> 88 # define DSI_TXPKT1C_CMD_MODE_LP BIT(3) 89 # define DSI_TXPKT1C_CMD_TYPE_LONG BIT(2) 90 # define DSI_TXPKT1C_CMD_TE_EN BIT(1) 91 # define DSI_TXPKT1C_CMD_EN BIT(0) [all …]
|