| /linux/drivers/clk/baikal-t1/ |
| H A D | ccu-div.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 5 * Baikal-T1 CCU Dividers interface driver 10 #include <linux/clk-provider.h> 17 * CCU Divider private clock IDs 21 #define CCU_SYS_SATA_CLK -1 22 #define CCU_SYS_XGMAC_CLK -2 25 * CCU Divider private flags 26 * @CCU_DIV_BASIC: Basic divider clock required by the kernel as early as 28 * @CCU_DIV_SKIP_ONE: Due to some reason divider can't be set to 1. 30 * @CCU_DIV_SKIP_ONE_TO_THREE: For some reason divider can't be within [1,3]. [all …]
|
| /linux/arch/arm/boot/dts/ti/omap/ |
| H A D | omap54xx-clocks.dtsi | 1 // SPDX-License-Identifier: GPL-2.0-only 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>; 25 #clock-cells = <0>; [all …]
|
| H A D | omap44xx-clocks.dtsi | 1 // SPDX-License-Identifier: GPL-2.0-only 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>; 23 #clock-cells = <0>; [all …]
|
| H A D | am43xx-clocks.dtsi | 1 // SPDX-License-Identifier: GPL-2.0-only 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"; 20 clock-output-names = "crystal_freq_sel_ck"; [all …]
|
| H A D | dm816x-clocks.dtsi | 1 // SPDX-License-Identifier: GPL-2.0-only 5 #clock-cells = <1>; 6 compatible = "ti,dm816-fapll-clock"; 9 clock-indices = <1>, <2>, <3>, <4>, <5>, 11 clock-output-names = "main_pll_clk1", 21 #clock-cells = <1>; 22 compatible = "ti,dm816-fapll-clock"; 25 clock-indices = <1>, <2>, <3>, <4>; 26 clock-output-names = "ddr_pll_clk1", 33 #clock-cells = <1>; [all …]
|
| H A D | am33xx-clocks.dtsi | 1 // SPDX-License-Identifier: GPL-2.0-only 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"; 20 clock-output-names = "adc_tsc_fck"; [all …]
|
| H A D | omap3xxx-clocks.dtsi | 1 // SPDX-License-Identifier: GPL-2.0-only 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>; 26 ti,max-div = <3>; [all …]
|
| H A D | omap24xx-clocks.dtsi | 1 // SPDX-License-Identifier: GPL-2.0-only 9 #clock-cells = <0>; 10 compatible = "ti,composite-mux-clock"; 12 ti,bit-shift = <2>; 17 #clock-cells = <0>; 18 compatible = "ti,composite-clock"; 23 #clock-cells = <0>; 24 compatible = "ti,composite-mux-clock"; 26 ti,bit-shift = <6>; 31 #clock-cells = <0>; [all …]
|
| /linux/drivers/clk/bcm/ |
| H A D | clk-kona.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 16 #include <linux/clk-provider.h> 24 #define BAD_CLK_NAME ((const char *)-1) 33 #define FLAG_SET(obj, type, flag) ((obj)->flags |= FLAG(type, flag)) 34 #define FLAG_CLEAR(obj, type, flag) ((obj)->flags &= ~(FLAG(type, flag))) 35 #define FLAG_FLIP(obj, type, flag) ((obj)->flags ^= FLAG(type, flag)) 36 #define FLAG_TEST(obj, type, flag) (!!((obj)->flags & FLAG(type, flag))) 40 #define ccu_policy_exists(ccu_policy) ((ccu_policy)->enable.offset != 0) 44 #define policy_exists(policy) ((policy)->offset != 0) 55 #define hyst_exists(hyst) ((hyst)->offset != 0) [all …]
|
| H A D | clk-kona.c | 1 // SPDX-License-Identifier: GPL-2.0-only 7 #include "clk-kona.h" 12 #include <linux/clk-provider.h> 28 /* Produces a mask of set bits covering a range of a 32-bit value */ 31 return ((1 << width) - 1) << shift; in bitfield_mask() 48 /* Divider and scaling helpers */ 50 /* Convert a divider into the scaled divisor value it represents. */ 53 return (u64)reg_div + ((u64)1 << div->u.s.frac_width); in scaled_div_value() 56 /* The scaled minimum divisor representable by a divider */ 61 return (u64)div->u.fixed; in scaled_div_min() [all …]
|
| /linux/Documentation/devicetree/bindings/clock/ |
| H A D | keystone-pll.txt | 2 a divider and a post divider. The additional PLL IPs like ARMPLL, DDRPLL 9 [1] Documentation/devicetree/bindings/clock/clock-bindings.txt 12 - #clock-cells : from common clock binding; shall be set to 0. 13 - compatible : shall be "ti,keystone,main-pll-clock" or "ti,keystone,pll-clock" 14 - clocks : parent clock phandle 15 - reg - pll control0 and pll multiplier registers 16 - reg-names : control, multiplier and post-divider. The multiplier and 17 post-divider registers are applicable only for main pll clock 18 - fixed-postdiv : fixed post divider value. If absent, use clkod register bits 23 #clock-cells = <0>; [all …]
|
| /linux/include/dt-bindings/clock/ |
| H A D | tegra186-clock.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 362 /** @brief output of the divider IPFS_CLK_DIVISOR */ 551 /** @brief output of the divider CLK_RST_CONTROLLER_CLK_SOURCE_MPHY_L0_RX_LS_SYMB */ 555 /** @brief output of the divider CLK_RST_CONTROLLER_CLK_SOURCE_MPHY_L0_TX_LS_SYMB */ 563 /** @brief output of the divider CLK_RST_CONTROLLER_CLK_SOURCE_MPHY_IOBIST */ 565 /** @brief output of the divider CLK_RST_CONTROLLER_CLK_SOURCE_MPHY_TX_1MHZ_REF */ 567 /** @brief output of the divider CLK_RST_CONTROLLER_CLK_SOURCE_MPHY_CORE_PLL_FIXED */ 693 /** @brief output of the divider CLK_RST_CONTROLLER_CLK_SOURCE_PEX_SATA_USB_RX_BYP */ 697 /** @brief output of the divider CLK_RST_CONTROLLER_CLK_SOURCE_EQOS_PTP_REF_CLK_0 */ 699 /** @brief output of the divider CLK_RST_CONTROLLER_CLK_SOURCE_EQOS_TX_CLK */ [all …]
|
| H A D | tegra234-clock.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 2 /* Copyright (c) 2018-2022, NVIDIA CORPORATION. All rights reserved. */ 36 /** @brief output of divider CLK_RST_CONTROLLER_CLK_M_DIVIDE */ 52 * divided by the divider controlled by ACLK_CLK_DIVISOR in 56 /** @brief CLK_RST_CONTROLLER_CLK_SOURCE_MSS_ENCRYPT switch divider output */ 60 /** @brief CLK_RST_CONTROLLER_CLK_SOURCE_AON_APB switch divider output */ 62 /** @brief CLK_RST_CONTROLLER_AON_NIC_RATE divider output */ 64 /** @brief CLK_RST_CONTROLLER_CLK_SOURCE_AON_CPU_NIC switch divider output */ 81 /** @brief CLK_RST_CONTROLLER_CLK_SOURCE_EQOS_AXI_CLK_0 divider gated output */ 83 /** @brief CLK_RST_CONTROLLER_CLK_SOURCE_EQOS_PTP_REF_CLK_0 divider gated output */ [all …]
|
| H A D | hi6220-clock.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 14 /* fixed rate clocks */ 29 /* fixed factor clocks */ 114 /* divider clocks */ 150 /* divider clocks */ 169 /* divider clocks */
|
| /linux/drivers/clk/davinci/ |
| H A D | pll.c | 1 // SPDX-License-Identifier: GPL-2.0 7 * Based on arch/arm/mach-davinci/clock.c 8 * Copyright (C) 2006-2007 Texas Instruments. 9 * Copyright (C) 2008-2009 Deep Root Systems, LLC 12 #include <linux/clk-provider.h> 78 * OMAP-L138 system reference guide recommends a wait for 4 OSCIN/CLKIN 85 /* From OMAP-L138 datasheet table 6-4. Units are micro seconds */ 89 * From OMAP-L138 datasheet table 6-4; assuming prediv = 1, sqrt(pllm) = 4 95 * struct davinci_pll_clk - Main PLL clock (aka PLLOUT) 120 mult = readl(pll->base + PLLM) & pll->pllm_mask; in davinci_pll_recalc_rate() [all …]
|
| /linux/Documentation/devicetree/bindings/regulator/ |
| H A D | ltc3589.txt | 1 Linear Technology LTC3589, LTC3589-1, and LTC3589-2 8-output regulators 4 - compatible: "lltc,ltc3589", "lltc,ltc3589-1" or "lltc,ltc3589-2" 5 - reg: I2C slave address 8 - regulators: Contains eight regulator child nodes sw1, sw2, sw3, bb-out, 13 nodes for sw1, sw2, sw3, bb-out, ldo1, and ldo2 additionally need to specify 17 - lltc,fb-voltage-divider: An array of two integers containing the resistor 18 values R1 and R2 of the feedback voltage divider in ohms. 22 0.3625 * (1 + R1/R2) V and 0.75 * (1 + R1/R2) V. Regulators bb-out and ldo1 23 have a fixed 0.8 V reference and thus output 0.8 * (1 + R1/R2) V. The ldo3 24 regulator is fixed to 1.8 V on LTC3589 and to 2.8 V on LTC3589-1,2. The ldo4 [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 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 100 * @shift: shift to the divider bit field 101 * @width: width of the divider bit field [all …]
|
| /linux/drivers/gpu/drm/amd/display/dc/basics/ |
| H A D | conversion.c | 2 * Copyright 2012-15 Advanced Micro Devices, Inc. 29 #define DIVIDER 10000 macro 31 /* S2D13 value in [-3.00...0.9999] */ 32 #define S2D13_MIN (-3 * DIVIDER) 33 #define S2D13_MAX (3 * DIVIDER) 49 if (d <= (uint16_t)(1 << integer_bits) - (1 / (uint16_t)divisor)) in fixed_point_to_int_frac() 77 * convert_float_matrix - This converts a double into HW register spec defined format S2D13. 85 dc_fixpt_from_fraction(S2D13_MIN, DIVIDER); in convert_float_matrix() 87 dc_fixpt_from_fraction(S2D13_MAX, DIVIDER); in convert_float_matrix() 110 uint16_t value_mask = sign_mask - 1; in int_frac_to_fixed_point() [all …]
|
| /linux/drivers/clk/sunxi/ |
| H A 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 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() 46 req->rate == 54000000) in sun4i_get_pll1_factors() [all …]
|
| H A D | clk-a10-pll2.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 7 * Maxime Ripard <maxime.ripard@free-electrons.com> 10 #include <linux/clk-provider.h> 16 #include <dt-bindings/clock/sun4i-a10-pll2.h> 22 #define SUN4I_PLL2_PRE_DIV_MASK GENMASK(SUN4I_PLL2_PRE_DIV_WIDTH - 1, 0) 26 #define SUN4I_PLL2_N_MASK GENMASK(SUN4I_PLL2_N_WIDTH - 1, 0) 30 #define SUN4I_PLL2_POST_DIV_MASK GENMASK(SUN4I_PLL2_POST_DIV_WIDTH - 1, 0) 41 const char *clk_name = node->name, *parent; in sun4i_pll2_setup() 62 prediv_clk = clk_register_divider(NULL, "pll2-prediv", in sun4i_pll2_setup() 78 gate->reg = reg; in sun4i_pll2_setup() [all …]
|
| /linux/Documentation/devicetree/bindings/net/ |
| H A D | qcom,ipq4019-mdio.yaml | 1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 3 --- 4 $id: http://devicetree.org/schemas/net/qcom,ipq4019-mdio.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Robert Marko <robert.marko@sartura.hr> 15 - enum: 16 - qcom,ipq4019-mdio 17 - qcom,ipq5018-mdio 19 - items: 20 - enum: [all …]
|
| /linux/Documentation/devicetree/bindings/spi/ |
| H A D | spi_oc_tiny.txt | 4 - compatible : should be "opencores,tiny-spi-rtlsvn2". 5 - gpios : should specify GPIOs used for chipselect. 7 - clock-frequency : input clock frequency to the core. 8 - baud-width: width, in bits, of the programmable divider used to scale 11 The clock-frequency and baud-width properties are needed only if the divider 12 is programmable. They are not needed if the divider is fixed.
|
| /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 …]
|
| /linux/drivers/clk/mvebu/ |
| H A D | dove-divider.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Marvell Dove PMU Core PLL divider driver 8 #include <linux/clk-provider.h> 15 #include "dove-divider.h" 53 unsigned int divider; in dove_get_divider() local 56 val = readl_relaxed(dc->base + DIV_CTRL0); in dove_get_divider() 57 val >>= dc->div_bit_start; in dove_get_divider() 59 divider = val & ~(~0 << dc->div_bit_size); in dove_get_divider() 61 if (dc->divider_table) in dove_get_divider() 62 divider = dc->divider_table[divider]; in dove_get_divider() [all …]
|
| /linux/drivers/clk/ |
| H A 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 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() 41 best_parent = (req->rate / fix->mult) * fix->div; in clk_factor_determine_rate() [all …]
|