| /kernel/linux/linux-6.6/drivers/clk/ |
| D | clk-fixed-rate.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Copyright (C) 2010-2011 Canonical Ltd <jeremy.kerr@canonical.com> 4 * Copyright (C) 2011-2012 Mike Turquette, Linaro Ltd <mturquette@linaro.org> 6 * Fixed rate clock implementation 9 #include <linux/clk-provider.h> 18 * DOC: basic fixed-rate clock that cannot gate 21 * prepare - clk_(un)prepare only ensures parents are prepared 22 * enable - clk_enable only ensures parents are enabled 23 * rate - rate is always a fixed value. No clk_set_rate support 24 * parent - fixed parent. No clk_set_parent support [all …]
|
| 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 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 26 unsigned long long int rate; in clk_factor_recalc_rate() local 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 …]
|
| /kernel/linux/linux-5.10/drivers/clk/ |
| D | clk-fixed-rate.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Copyright (C) 2010-2011 Canonical Ltd <jeremy.kerr@canonical.com> 4 * Copyright (C) 2011-2012 Mike Turquette, Linaro Ltd <mturquette@linaro.org> 6 * Fixed rate clock implementation 9 #include <linux/clk-provider.h> 18 * DOC: basic fixed-rate clock that cannot gate 21 * prepare - clk_(un)prepare only ensures parents are prepared 22 * enable - clk_enable only ensures parents are enabled 23 * rate - rate is always a fixed value. No clk_set_rate support 24 * parent - fixed parent. No clk_set_parent support [all …]
|
| 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 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 26 unsigned long long int rate; in clk_factor_recalc_rate() local 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 …]
|
| /kernel/linux/linux-6.6/drivers/clk/sunxi/ |
| D | clk-a10-hosc.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 8 #include <linux/clk-provider.h> 20 struct clk_fixed_rate *fixed; in sun4i_osc_clk_setup() local 22 const char *clk_name = node->name; in sun4i_osc_clk_setup() 23 u32 rate; in sun4i_osc_clk_setup() local 25 if (of_property_read_u32(node, "clock-frequency", &rate)) in sun4i_osc_clk_setup() 28 /* allocate fixed-rate and gate clock structs */ in sun4i_osc_clk_setup() 29 fixed = kzalloc(sizeof(struct clk_fixed_rate), GFP_KERNEL); in sun4i_osc_clk_setup() 30 if (!fixed) in sun4i_osc_clk_setup() 36 of_property_read_string(node, "clock-output-names", &clk_name); in sun4i_osc_clk_setup() [all …]
|
| /kernel/linux/linux-5.10/drivers/clk/sunxi/ |
| D | clk-a10-hosc.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 8 #include <linux/clk-provider.h> 20 struct clk_fixed_rate *fixed; in sun4i_osc_clk_setup() local 22 const char *clk_name = node->name; in sun4i_osc_clk_setup() 23 u32 rate; in sun4i_osc_clk_setup() local 25 if (of_property_read_u32(node, "clock-frequency", &rate)) in sun4i_osc_clk_setup() 28 /* allocate fixed-rate and gate clock structs */ in sun4i_osc_clk_setup() 29 fixed = kzalloc(sizeof(struct clk_fixed_rate), GFP_KERNEL); in sun4i_osc_clk_setup() 30 if (!fixed) in sun4i_osc_clk_setup() 36 of_property_read_string(node, "clock-output-names", &clk_name); in sun4i_osc_clk_setup() [all …]
|
| /kernel/linux/linux-6.6/drivers/clk/tegra/ |
| D | clk-periph-fixed.c | 1 // SPDX-License-Identifier: GPL-2.0-only 6 #include <linux/clk-provider.h> 19 struct tegra_clk_periph_fixed *fixed = to_tegra_clk_periph_fixed(hw); in tegra_clk_periph_fixed_is_enabled() local 20 u32 mask = 1 << (fixed->num % 32), value; in tegra_clk_periph_fixed_is_enabled() 22 value = readl(fixed->base + fixed->regs->enb_reg); in tegra_clk_periph_fixed_is_enabled() 24 value = readl(fixed->base + fixed->regs->rst_reg); in tegra_clk_periph_fixed_is_enabled() 34 struct tegra_clk_periph_fixed *fixed = to_tegra_clk_periph_fixed(hw); in tegra_clk_periph_fixed_enable() local 35 u32 mask = 1 << (fixed->num % 32); in tegra_clk_periph_fixed_enable() 37 writel(mask, fixed->base + fixed->regs->enb_set_reg); in tegra_clk_periph_fixed_enable() 44 struct tegra_clk_periph_fixed *fixed = to_tegra_clk_periph_fixed(hw); in tegra_clk_periph_fixed_disable() local [all …]
|
| /kernel/linux/linux-5.10/drivers/clk/tegra/ |
| D | clk-periph-fixed.c | 1 // SPDX-License-Identifier: GPL-2.0-only 6 #include <linux/clk-provider.h> 19 struct tegra_clk_periph_fixed *fixed = to_tegra_clk_periph_fixed(hw); in tegra_clk_periph_fixed_is_enabled() local 20 u32 mask = 1 << (fixed->num % 32), value; in tegra_clk_periph_fixed_is_enabled() 22 value = readl(fixed->base + fixed->regs->enb_reg); in tegra_clk_periph_fixed_is_enabled() 24 value = readl(fixed->base + fixed->regs->rst_reg); in tegra_clk_periph_fixed_is_enabled() 34 struct tegra_clk_periph_fixed *fixed = to_tegra_clk_periph_fixed(hw); in tegra_clk_periph_fixed_enable() local 35 u32 mask = 1 << (fixed->num % 32); in tegra_clk_periph_fixed_enable() 37 writel(mask, fixed->base + fixed->regs->enb_set_reg); in tegra_clk_periph_fixed_enable() 44 struct tegra_clk_periph_fixed *fixed = to_tegra_clk_periph_fixed(hw); in tegra_clk_periph_fixed_disable() local [all …]
|
| /kernel/linux/linux-6.6/drivers/clk/renesas/ |
| D | rcar-gen2-cpg.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * R-Car Gen2 Clock Pulse Generator 10 #include <linux/clk-provider.h> 18 #include "renesas-cpg-mssr.h" 19 #include "rcar-gen2-cpg.h" 39 * prepare - clk_prepare only ensures that parents are prepared 40 * enable - clk_enable only ensures that parents are enabled 41 * rate - rate is adjustable. clk->rate = parent->rate * mult / 32 42 * parent - fixed parent. No clk_set_parent support 60 val = (readl(zclk->reg) & CPG_FRQCRC_ZFC_MASK) >> CPG_FRQCRC_ZFC_SHIFT; in cpg_z_clk_recalc_rate() [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" 59 val = readl(pll_clk->pllcr_reg) & CPG_PLLnCR_STC_MASK; in cpg_pll_clk_recalc_rate() 62 return parent_rate * mult * pll_clk->fixed_mult; in cpg_pll_clk_recalc_rate() [all …]
|
| /kernel/linux/linux-5.10/drivers/clk/renesas/ |
| D | rcar-gen2-cpg.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * R-Car Gen2 Clock Pulse Generator 10 #include <linux/clk-provider.h> 18 #include "renesas-cpg-mssr.h" 19 #include "rcar-gen2-cpg.h" 39 * prepare - clk_prepare only ensures that parents are prepared 40 * enable - clk_enable only ensures that parents are enabled 41 * rate - rate is adjustable. clk->rate = parent->rate * mult / 32 42 * parent - fixed parent. No clk_set_parent support 60 val = (readl(zclk->reg) & CPG_FRQCRC_ZFC_MASK) >> CPG_FRQCRC_ZFC_SHIFT; in cpg_z_clk_recalc_rate() [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-gen3-cpg.h" 63 csn->saved = readl(csn->reg); in cpg_simple_notifier_call() 67 writel(csn->saved, csn->reg); in cpg_simple_notifier_call() 76 csn->nb.notifier_call = cpg_simple_notifier_call; in cpg_simple_notifier_register() [all …]
|
| /kernel/linux/linux-5.10/drivers/gpu/drm/amd/display/modules/freesync/ |
| D | freesync.c | 36 /* Refresh rate ramp at a fixed rate of 65 Hz/second */ 40 /* Threshold to exit/exit BTR (to avoid frequent enter-exits at the lower limit) */ 44 /*Threshold to exit fixed refresh rate*/ 46 /* Number of consecutive frames to check before entering/exiting fixed refresh*/ 69 core_freesync->dc = dc; in mod_freesync_create() 70 return &core_freesync->public; in mod_freesync_create() 115 * 10000) * stream->timing.h_total, in calc_duration_in_us_from_v_total() 116 stream->timing.pix_clk_100hz)); in calc_duration_in_us_from_v_total() 133 frame_duration_in_ns) * (stream->timing.pix_clk_100hz / 10)), in calc_v_total_from_refresh() 134 stream->timing.h_total), 1000000); in calc_v_total_from_refresh() [all …]
|
| /kernel/linux/linux-5.10/drivers/clk/qcom/ |
| D | common.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Copyright (c) 2013-2014, The Linux Foundation. All rights reserved. 10 #include <linux/clk-provider.h> 11 #include <linux/reset-controller.h> 15 #include "clk-rcg.h" 16 #include "clk-regmap.h" 27 struct freq_tbl *qcom_find_freq(const struct freq_tbl *f, unsigned long rate) in qcom_find_freq() argument 32 if (!f->freq) in qcom_find_freq() 35 for (; f->freq; f++) in qcom_find_freq() 36 if (rate <= f->freq) in qcom_find_freq() [all …]
|
| /kernel/linux/linux-6.6/drivers/clk/qcom/ |
| D | common.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Copyright (c) 2013-2014, The Linux Foundation. All rights reserved. 10 #include <linux/clk-provider.h> 11 #include <linux/reset-controller.h> 15 #include "clk-rcg.h" 16 #include "clk-regmap.h" 27 struct freq_tbl *qcom_find_freq(const struct freq_tbl *f, unsigned long rate) in qcom_find_freq() argument 32 if (!f->freq) in qcom_find_freq() 35 for (; f->freq; f++) in qcom_find_freq() 36 if (rate <= f->freq) in qcom_find_freq() [all …]
|
| /kernel/linux/linux-6.6/arch/arm64/boot/dts/xilinx/ |
| D | zynqmp-sck-kv-g-revB.dtso | 1 // SPDX-License-Identifier: GPL-2.0 5 * (C) Copyright 2020 - 2022, Xilinx, Inc. 6 * (C) Copyright 2022 - 2023, Advanced Micro Devices, Inc. 11 #include <dt-bindings/gpio/gpio.h> 12 #include <dt-bindings/net/ti-dp83867.h> 13 #include <dt-bindings/phy/phy.h> 14 #include <dt-bindings/pinctrl/pinctrl-zynqmp.h> 16 /dts-v1/; 20 si5332_0: si5332-0 { /* u17 */ 21 compatible = "fixed-clock"; [all …]
|
| D | zynqmp-sck-kv-g-revA.dtso | 1 // SPDX-License-Identifier: GPL-2.0 5 * (C) Copyright 2020 - 2022, Xilinx, Inc. 6 * (C) Copyright 2022 - 2023, Advanced Micro Devices, Inc. 9 * "A" - A01 board un-modified (NXP) 10 * "Y" - A01 board modified with legacy interposer (Nexperia) 11 * "Z" - A01 board modified with Diode interposer 16 #include <dt-bindings/gpio/gpio.h> 17 #include <dt-bindings/net/ti-dp83867.h> 18 #include <dt-bindings/phy/phy.h> 19 #include <dt-bindings/pinctrl/pinctrl-zynqmp.h> [all …]
|
| /kernel/linux/linux-6.6/drivers/gpu/drm/amd/display/modules/freesync/ |
| D | freesync.c | 2 * Copyright 2016-2023 Advanced Micro Devices, Inc. 34 /* Refresh rate ramp at a fixed rate of 65 Hz/second */ 38 /* Threshold to exit/exit BTR (to avoid frequent enter-exits at the lower limit) */ 42 /* Threshold to exit fixed refresh rate */ 44 /* Number of consecutive frames to check before entering/exiting fixed refresh */ 71 core_freesync->dc = dc; in mod_freesync_create() 72 return &core_freesync->public; in mod_freesync_create() 117 * 10000) * stream->timing.h_total, in calc_duration_in_us_from_v_total() 118 stream->timing.pix_clk_100hz)); in calc_duration_in_us_from_v_total() 135 frame_duration_in_ns) * (stream->timing.pix_clk_100hz / 10)), in mod_freesync_calc_v_total_from_refresh() [all …]
|
| /kernel/linux/linux-6.6/arch/mips/bcm63xx/ |
| D | clk.c | 23 unsigned int rate; member 33 if (clk->set && (clk->usage++) == 0) in clk_enable_unlocked() 34 clk->set(clk, 1); in clk_enable_unlocked() 39 if (clk->set && (--clk->usage) == 0) in clk_disable_unlocked() 40 clk->set(clk, 0); in clk_disable_unlocked() 92 if (clk->id == 0) in enetx_set() 355 .rate = (50 * 1000 * 1000), 403 return clk->rate; in clk_get_rate() 408 int clk_set_rate(struct clk *clk, unsigned long rate) in clk_set_rate() argument 414 long clk_round_rate(struct clk *clk, unsigned long rate) in clk_round_rate() argument [all …]
|
| /kernel/linux/linux-5.10/arch/mips/bcm63xx/ |
| D | clk.c | 23 unsigned int rate; member 33 if (clk->set && (clk->usage++) == 0) in clk_enable_unlocked() 34 clk->set(clk, 1); in clk_enable_unlocked() 39 if (clk->set && (--clk->usage) == 0) in clk_disable_unlocked() 40 clk->set(clk, 0); in clk_disable_unlocked() 92 if (clk->id == 0) in enetx_set() 355 .rate = (50 * 1000 * 1000), 403 return clk->rate; in clk_get_rate() 408 int clk_set_rate(struct clk *clk, unsigned long rate) in clk_set_rate() argument 414 long clk_round_rate(struct clk *clk, unsigned long rate) in clk_round_rate() argument [all …]
|
| /kernel/linux/linux-5.10/drivers/clk/actions/ |
| D | owl-pll.c | 1 // SPDX-License-Identifier: GPL-2.0+ 6 // Author: David Liu <liuwei@actions-semi.com> 11 #include <linux/clk-provider.h> 16 #include "owl-pll.h" 18 static u32 owl_pll_calculate_mul(struct owl_pll_hw *pll_hw, unsigned long rate) in owl_pll_calculate_mul() argument 22 mul = DIV_ROUND_CLOSEST(rate, pll_hw->bfreq); in owl_pll_calculate_mul() 23 if (mul < pll_hw->min_mul) in owl_pll_calculate_mul() 24 mul = pll_hw->min_mul; in owl_pll_calculate_mul() 25 else if (mul > pll_hw->max_mul) in owl_pll_calculate_mul() 26 mul = pll_hw->max_mul; in owl_pll_calculate_mul() [all …]
|
| /kernel/linux/linux-6.6/drivers/clk/actions/ |
| D | owl-pll.c | 1 // SPDX-License-Identifier: GPL-2.0+ 6 // Author: David Liu <liuwei@actions-semi.com> 11 #include <linux/clk-provider.h> 16 #include "owl-pll.h" 18 static u32 owl_pll_calculate_mul(struct owl_pll_hw *pll_hw, unsigned long rate) in owl_pll_calculate_mul() argument 22 mul = DIV_ROUND_CLOSEST(rate, pll_hw->bfreq); in owl_pll_calculate_mul() 23 if (mul < pll_hw->min_mul) in owl_pll_calculate_mul() 24 mul = pll_hw->min_mul; in owl_pll_calculate_mul() 25 else if (mul > pll_hw->max_mul) in owl_pll_calculate_mul() 26 mul = pll_hw->max_mul; in owl_pll_calculate_mul() [all …]
|
| /kernel/linux/linux-6.6/Documentation/devicetree/bindings/clock/ |
| D | fixed-mmio-clock.yaml | 1 # SPDX-License-Identifier: GPL-2.0 3 --- 4 $id: http://devicetree.org/schemas/clock/fixed-mmio-clock.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Simple memory mapped IO fixed-rate clock sources 10 This binding describes a fixed-rate clock for which the frequency can 11 be read from a single 32-bit memory mapped I/O register. 17 - Jan Kotas <jank@cadence.com> 21 const: fixed-mmio-clock 26 "#clock-cells": [all …]
|
| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/clock/ |
| D | fixed-mmio-clock.txt | 1 Binding for simple memory mapped io fixed-rate clock sources. 2 The driver reads a clock frequency value from a single 32-bit memory mapped 3 I/O register and registers it as a fixed rate clock. 9 [1] Documentation/devicetree/bindings/clock/clock-bindings.txt 12 - compatible : shall be "fixed-mmio-clock". 13 - #clock-cells : from common clock binding; shall be set to 0. 14 - reg : Address and length of the clock value register set. 17 - clock-output-names : From common clock binding. 21 #clock-cells = <0>; 22 compatible = "fixed-mmio-clock";
|
| /kernel/linux/linux-6.6/Documentation/devicetree/bindings/clock/ti/ |
| D | fixed-factor-clock.txt | 1 Binding for TI fixed factor rate clock sources. 3 Binding status: Unstable - ABI compatibility may be broken in the future 8 [1] Documentation/devicetree/bindings/clock/clock-bindings.txt 12 - compatible : shall be "ti,fixed-factor-clock". 13 - #clock-cells : from common clock binding; shall be set to 0. 14 - ti,clock-div: fixed divider. 15 - ti,clock-mult: fixed multiplier. 16 - clocks: parent clock. 19 - clock-output-names : from common clock binding. 20 - ti,autoidle-shift: bit shift of the autoidle enable bit for the clock, [all …]
|