/linux-6.12.1/drivers/clk/socfpga/ |
D | clk-pll-s10.c | 1 // SPDX-License-Identifier: GPL-2.0 6 #include <linux/clk-provider.h> 9 #include "stratix10-clk.h" 44 unsigned long fdiv, reg, rdiv, qdiv; in n5x_clk_pll_recalc_rate() local 47 /* read VCO1 reg for numerator and denominator */ in n5x_clk_pll_recalc_rate() 48 reg = readl(socfpgaclk->hw.reg + 0x8); in n5x_clk_pll_recalc_rate() 49 fdiv = (reg & SOCFPGA_N5X_PLLDIV_FDIV_MASK) >> SOCFPGA_N5X_PLLDIV_FDIV_SHIFT; in n5x_clk_pll_recalc_rate() 50 rdiv = (reg & SOCFPGA_N5X_PLLDIV_RDIV_MASK); in n5x_clk_pll_recalc_rate() 51 qdiv = (reg & SOCFPGA_N5X_PLLDIV_QDIV_MASK) >> SOCFPGA_N5X_PLLDIV_QDIV_SHIFT; in n5x_clk_pll_recalc_rate() 55 qdiv--; in n5x_clk_pll_recalc_rate() [all …]
|
D | clk-periph-s10.c | 1 // SPDX-License-Identifier: GPL-2.0 6 #include <linux/clk-provider.h> 9 #include "stratix10-clk.h" 23 unsigned long shift = socfpgaclk->shift; in n5x_clk_peri_c_clk_recalc_rate() 26 val = readl(socfpgaclk->hw.reg); in n5x_clk_peri_c_clk_recalc_rate() 40 val = readl(socfpgaclk->hw.reg); in clk_peri_c_clk_recalc_rate() 41 val &= GENMASK(SWCTRLBTCLKSEN_SHIFT - 1, 0); in clk_peri_c_clk_recalc_rate() 53 if (socfpgaclk->fixed_div) { in clk_peri_cnt_clk_recalc_rate() 54 div = socfpgaclk->fixed_div; in clk_peri_cnt_clk_recalc_rate() 56 if (socfpgaclk->hw.reg) in clk_peri_cnt_clk_recalc_rate() [all …]
|
D | clk-pll-a10.c | 1 // SPDX-License-Identifier: GPL-2.0-only 6 #include <linux/clk-provider.h> 38 unsigned long divf, divq, reg; in clk_pll_recalc_rate() local 41 /* read VCO1 reg for numerator and denominator */ in clk_pll_recalc_rate() 42 reg = readl(socfpgaclk->hw.reg + 0x4); in clk_pll_recalc_rate() 43 divf = (reg & SOCFPGA_PLL_DIVF_MASK) >> SOCFPGA_PLL_DIVF_SHIFT; in clk_pll_recalc_rate() 44 divq = (reg & SOCFPGA_PLL_DIVQ_MASK) >> SOCFPGA_PLL_DIVQ_SHIFT; in clk_pll_recalc_rate() 55 pll_src = readl(socfpgaclk->hw.reg); in clk_pll_get_parent() 69 u32 reg; in __socfpga_pll_init() local 72 const char *clk_name = node->name; in __socfpga_pll_init() [all …]
|
D | clk-pll.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * Copyright 2011-2012 Calxeda, Inc. 4 * Copyright (C) 2012-2013 Altera Corporation <www.altera.com> 6 * Based from clk-highbank.c 9 #include <linux/clk-provider.h> 42 unsigned long divf, divq, reg; in clk_pll_recalc_rate() local 46 reg = readl(socfpgaclk->hw.reg); in clk_pll_recalc_rate() 51 divf = (reg & SOCFPGA_PLL_DIVF_MASK) >> SOCFPGA_PLL_DIVF_SHIFT; in clk_pll_recalc_rate() 52 divq = (reg & SOCFPGA_PLL_DIVQ_MASK) >> SOCFPGA_PLL_DIVQ_SHIFT; in clk_pll_recalc_rate() 63 pll_src = readl(socfpgaclk->hw.reg); in clk_pll_get_parent() [all …]
|
/linux-6.12.1/drivers/gpu/drm/nouveau/nvkm/subdev/bios/ |
D | init.c | 31 #include <subdev/bios/init.h> 42 nvkm_printk(init->subdev, lvl, info, "0x%08x[%c]: "fmt, \ 43 init->offset, init_exec(init) ? \ 44 '0' + (init->nested - 1) : ' ', ##args); \ 47 if (init->subdev->debug >= NV_DBG_TRACE) \ 55 * init parser control flow helpers 59 init_exec(struct nvbios_init *init) in init_exec() argument 61 return (init->execute == 1) || ((init->execute & 5) == 5); in init_exec() 65 init_exec_set(struct nvbios_init *init, bool exec) in init_exec_set() argument 67 if (exec) init->execute &= 0xfd; in init_exec_set() [all …]
|
/linux-6.12.1/drivers/clk/x86/ |
D | clk-cgu.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Copyright (C) 2020-2022 MaxLinear, Inc. 8 #include <linux/clk-provider.h> 12 #include "clk-cgu.h" 14 #define GATE_HW_REG_STAT(reg) ((reg) + 0x0) argument 15 #define GATE_HW_REG_EN(reg) ((reg) + 0x4) argument 16 #define GATE_HW_REG_DIS(reg) ((reg) + 0x8) argument 29 if (list->div_flags & CLOCK_FLAG_VAL_INIT) in lgm_clk_register_fixed() 30 lgm_set_clk_val(ctx->membase, list->div_off, list->div_shift, in lgm_clk_register_fixed() 31 list->div_width, list->div_val); in lgm_clk_register_fixed() [all …]
|
/linux-6.12.1/drivers/clk/imx/ |
D | clk-busy.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 9 #include <linux/clk-provider.h> 16 static int clk_busy_wait(void __iomem *reg, u8 shift) in clk_busy_wait() argument 20 while (readl_relaxed(reg) & (1 << shift)) in clk_busy_wait() 22 return -ETIMEDOUT; in clk_busy_wait() 30 void __iomem *reg; member 46 return busy->div_ops->recalc_rate(&busy->div.hw, parent_rate); in clk_busy_divider_recalc_rate() 54 return busy->div_ops->round_rate(&busy->div.hw, rate, prate); in clk_busy_divider_round_rate() 63 ret = busy->div_ops->set_rate(&busy->div.hw, rate, parent_rate); in clk_busy_divider_set_rate() 65 ret = clk_busy_wait(busy->reg, busy->shift); in clk_busy_divider_set_rate() [all …]
|
D | clk-lpcg-scu.c | 1 // SPDX-License-Identifier: GPL-2.0+ 8 #include <linux/clk-provider.h> 14 #include "clk-scu.h" 23 * struct clk_lpcg_scu - Description of LPCG clock 26 * @reg: register of this LPCG clock 34 void __iomem *reg; member 48 u32 reg, val; in clk_lpcg_scu_enable() local 52 reg = readl_relaxed(clk->reg); in clk_lpcg_scu_enable() 53 reg &= ~(CLK_GATE_SCU_LPCG_MASK << clk->bit_idx); in clk_lpcg_scu_enable() 56 if (clk->hw_gate) in clk_lpcg_scu_enable() [all …]
|
/linux-6.12.1/drivers/clk/berlin/ |
D | berlin2-avpll.c | 1 // SPDX-License-Identifier: GPL-2.0 6 * Alexandre Belloni <alexandre.belloni@free-electrons.com> 8 #include <linux/clk-provider.h> 15 #include "berlin2-avpll.h" 19 * VCO with 8 channels each, channel 8 is the odd-one-out and does 34 /* BG2/BG2CDs VCO_B has an additional shift of 4 for its VCO_CTRL0 reg */ 116 u32 reg; in berlin2_avpll_vco_is_enabled() local 118 reg = readl_relaxed(vco->base + VCO_CTRL0); in berlin2_avpll_vco_is_enabled() 119 if (vco->flags & BERLIN2_AVPLL_BIT_QUIRK) in berlin2_avpll_vco_is_enabled() 120 reg >>= 4; in berlin2_avpll_vco_is_enabled() [all …]
|
/linux-6.12.1/drivers/clk/axs10x/ |
D | pll_clock.c | 1 // SPDX-License-Identifier: GPL-2.0-only 10 #include <linux/clk-provider.h> 28 * |-------RESRVED------|-NOUPDATE-|-BYPASS-|-EDGE-|--HIGHTIME--|--LOWTIME--| 33 * reg should be an u32 variable. 36 #define PLL_REG_GET_LOW(reg) \ argument 37 (((reg) & (0x3F << 0)) >> 0) 38 #define PLL_REG_GET_HIGH(reg) \ argument 39 (((reg) & (0x3F << 6)) >> 6) 40 #define PLL_REG_GET_EDGE(reg) \ argument 41 (((reg) & (BIT(12))) ? 1 : 0) [all …]
|
/linux-6.12.1/drivers/clk/rockchip/ |
D | clk-inverter.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 7 #include <linux/clk-provider.h> 15 void __iomem *reg; member 30 val = readl(inv_clock->reg) >> inv_clock->shift; in rockchip_inv_get_phase() 45 return -EINVAL; in rockchip_inv_set_phase() 48 if (inv_clock->flags & ROCKCHIP_INVERTER_HIWORD_MASK) { in rockchip_inv_set_phase() 49 writel(HIWORD_UPDATE(val, INVERTER_MASK, inv_clock->shift), in rockchip_inv_set_phase() 50 inv_clock->reg); in rockchip_inv_set_phase() 53 u32 reg; in rockchip_inv_set_phase() local 55 spin_lock_irqsave(inv_clock->lock, flags); in rockchip_inv_set_phase() [all …]
|
/linux-6.12.1/drivers/clk/ |
D | clk-axm5516.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * drivers/clk/clk-axm5516.c 16 #include <linux/clk-provider.h> 18 #include <dt-bindings/clock/lsi,axm5516-clks.h> 22 * struct axxia_clk - Common struct to all Axxia clocks. 33 * struct axxia_pllclk - Axxia PLL generated clock. 35 * @reg: Offset into regmap for PLL control register 39 u32 reg; member 44 * axxia_pllclk_recalc - Calculate the PLL generated clock rate given the 55 regmap_read(aclk->regmap, pll->reg, &control); in axxia_pllclk_recalc() [all …]
|
D | clk-gate.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> 9 #include <linux/clk-provider.h> 21 * prepare - clk_(un)prepare only ensures parent is (un)prepared 22 * enable - clk_enable and clk_disable are functional & control gating 23 * rate - inherits rate from parent. No clk_set_rate support 24 * parent - fixed parent. No clk_set_parent support 29 if (gate->flags & CLK_GATE_BIG_ENDIAN) in clk_gate_readl() 30 return ioread32be(gate->reg); in clk_gate_readl() [all …]
|
D | clk-k210.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * Copyright (C) 2019-20 Sean Anderson <seanga2@gmail.com> 6 #define pr_fmt(fmt) "k210-clk: " fmt 15 #include <linux/clk-provider.h> 18 #include <soc/canaan/k210-sysctl.h> 20 #include <dt-bindings/clock/k210-clk.h> 291 void __iomem *reg; member 306 u32 reg; member 322 * struct k210_sysclk - sysclk driver data 344 u32 reg = readl(regs + K210_SYSCTL_SEL0); in k210_aclk_set_selector() local [all …]
|
D | clk-highbank.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Copyright 2011-2012 Calxeda, Inc. 9 #include <linux/clk-provider.h> 39 void __iomem *reg; member 46 u32 reg; in clk_pll_prepare() local 48 reg = readl(hbclk->reg); in clk_pll_prepare() 49 reg &= ~HB_PLL_RESET; in clk_pll_prepare() 50 writel(reg, hbclk->reg); in clk_pll_prepare() 52 while ((readl(hbclk->reg) & HB_PLL_LOCK) == 0) in clk_pll_prepare() 54 while ((readl(hbclk->reg) & HB_PLL_LOCK_500) == 0) in clk_pll_prepare() [all …]
|
D | clk-mux.c | 1 // SPDX-License-Identifier: GPL-2.0 5 * Copyright (C) 2011-2012 Mike Turquette, Linaro Ltd <mturquette@linaro.org> 10 #include <linux/clk-provider.h> 21 * prepare - clk_prepare only ensures that parents are prepared 22 * enable - clk_enable only ensures that parents are enabled 23 * rate - rate is only affected by parent switching. No clk_set_rate support 24 * parent - parent is adjustable through clk_set_parent 29 if (mux->flags & CLK_MUX_BIG_ENDIAN) in clk_mux_readl() 30 return ioread32be(mux->reg); in clk_mux_readl() 32 return readl(mux->reg); in clk_mux_readl() [all …]
|
D | clk-si5351.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * clk-si5351.c: Skyworks / Silicon Labs Si5351A/B/C I2C Clock Generator 6 * Rabeeh Khoury <rabeeh@solid-run.com> 10 * https://www.skyworksinc.com/-/media/Skyworks/SL/documents/public/data-sheets/Si5351-B.pdf 12 * https://www.skyworksinc.com/-/media/Skyworks/SL/documents/public/application-notes/AN619.pdf 18 #include <linux/clk-provider.h> 31 #include "clk-si5351.h" 83 static inline u8 si5351_reg_read(struct si5351_driver_data *drvdata, u8 reg) in si5351_reg_read() argument 88 ret = regmap_read(drvdata->regmap, reg, &val); in si5351_reg_read() 90 dev_err(&drvdata->client->dev, in si5351_reg_read() [all …]
|
/linux-6.12.1/drivers/clk/hisilicon/ |
D | clkgate-separated.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 5 * Copyright (c) 2012-2013 Hisilicon Limited. 6 * Copyright (c) 2012-2013 Linaro Limited. 13 #include <linux/clk-provider.h> 36 u32 reg; in clkgate_separated_enable() local 39 if (sclk->lock) in clkgate_separated_enable() 40 spin_lock_irqsave(sclk->lock, flags); in clkgate_separated_enable() 41 reg = BIT(sclk->bit_idx); in clkgate_separated_enable() 42 writel_relaxed(reg, sclk->enable); in clkgate_separated_enable() 43 readl_relaxed(sclk->enable + CLKGATE_SEPERATED_STATUS); in clkgate_separated_enable() [all …]
|
/linux-6.12.1/drivers/clk/tegra/ |
D | clk-super.c | 1 // SPDX-License-Identifier: GPL-2.0-only 11 #include <linux/clk-provider.h> 28 #define super_state_to_src_shift(m, s) ((m->width * s)) 29 #define super_state_to_src_mask(m) (((1 << m->width) - 1)) 40 val = readl_relaxed(mux->reg); in clk_super_get_parent() 56 if ((mux->flags & TEGRA_DIVIDER_2) && !(val & SUPER_LP_DIV2_BYPASS) && in clk_super_get_parent() 57 (source == mux->pllx_index)) in clk_super_get_parent() 58 source = mux->div2_index; in clk_super_get_parent() 71 if (mux->lock) in clk_super_set_parent() 72 spin_lock_irqsave(mux->lock, flags); in clk_super_set_parent() [all …]
|
D | clk-pll-out.c | 1 // SPDX-License-Identifier: GPL-2.0-only 11 #include <linux/clk-provider.h> 15 #define pll_out_enb(p) (BIT(p->enb_bit_idx)) 16 #define pll_out_rst(p) (BIT(p->rst_bit_idx)) 21 u32 val = readl_relaxed(pll_out->reg); in clk_pll_out_is_enabled() 36 if (pll_out->lock) in clk_pll_out_enable() 37 spin_lock_irqsave(pll_out->lock, flags); in clk_pll_out_enable() 39 val = readl_relaxed(pll_out->reg); in clk_pll_out_enable() 43 writel_relaxed(val, pll_out->reg); in clk_pll_out_enable() 46 if (pll_out->lock) in clk_pll_out_enable() [all …]
|
D | clk-divider.c | 1 // SPDX-License-Identifier: GPL-2.0-only 10 #include <linux/clk-provider.h> 14 #define pll_out_override(p) (BIT((p->shift - 6))) 15 #define div_mask(d) ((1 << (d->width)) - 1) 16 #define get_mul(d) (1 << d->frac_width) 26 div = div_frac_get(rate, parent_rate, divider->width, in get_div() 27 divider->frac_width, divider->flags); in get_div() 39 u32 reg; in clk_frac_div_recalc_rate() local 43 reg = readl_relaxed(divider->reg); in clk_frac_div_recalc_rate() 45 if ((divider->flags & TEGRA_DIVIDER_UART) && in clk_frac_div_recalc_rate() [all …]
|
/linux-6.12.1/Documentation/devicetree/bindings/net/ |
D | mdio-mux-gpio.yaml | 1 # SPDX-License-Identifier: GPL-2.0 3 --- 4 $id: http://devicetree.org/schemas/net/mdio-mux-gpio.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Andrew Lunn <andrew@lunn.ch> 17 - $ref: /schemas/net/mdio-mux.yaml# 21 const: mdio-mux-gpio 30 - compatible 31 - gpios 36 - | [all …]
|
/linux-6.12.1/drivers/clk/sunxi/ |
D | clk-sun4i-tcon-ch1.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 5 * Maxime Ripard <maxime.ripard@free-electrons.com> 8 #include <linux/clk-provider.h> 29 void __iomem *reg; member 38 u32 reg; in tcon_ch1_disable() local 40 spin_lock_irqsave(&tclk->lock, flags); in tcon_ch1_disable() 41 reg = readl(tclk->reg); in tcon_ch1_disable() 42 reg &= ~(TCON_CH1_SCLK2_GATE_BIT | TCON_CH1_SCLK1_GATE_BIT); in tcon_ch1_disable() 43 writel(reg, tclk->reg); in tcon_ch1_disable() 44 spin_unlock_irqrestore(&tclk->lock, flags); in tcon_ch1_disable() [all …]
|
/linux-6.12.1/arch/mips/boot/dts/cavium-octeon/ |
D | octeon_3xxx.dts | 1 // SPDX-License-Identifier: GPL-2.0 6 * use. Because of this, it contains a super-set of the available 15 phy0: ethernet-phy@0 { 17 marvell,reg-init = 19 <2 0x15 0xffcf 0>, /* Reg 2,21 Clear bits 4, 5 */ 21 <3 0x11 0 0x442a>, /* Reg 3,17 <- 0442a */ 22 /* irq, blink-activity, blink-link */ 23 <3 0x10 0 0x0242>; /* Reg 3,16 <- 0x0242 */ 24 reg = <0>; 27 phy1: ethernet-phy@1 { [all …]
|
/linux-6.12.1/drivers/gpu/drm/sun4i/ |
D | sun4i_hdmi_tmds_clk.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 6 * Maxime Ripard <maxime.ripard@free-electrons.com> 9 #include <linux/clk-provider.h> 49 (rate - tmp_rate) < (rate - best_rate)) { in sun4i_tmds_calc_divider() 72 unsigned long rate = req->rate; in sun4i_tmds_determine_rate() 88 for (j = tmds->div_offset ?: 1; in sun4i_tmds_determine_rate() 89 j < (16 + tmds->div_offset); j++) { in sun4i_tmds_determine_rate() 103 abs(rate - rounded / i / j) < in sun4i_tmds_determine_rate() 104 abs(rate - best_parent / best_half / in sun4i_tmds_determine_rate() 115 return -EINVAL; in sun4i_tmds_determine_rate() [all …]
|