/openbmc/linux/drivers/clk/meson/ |
H A D | clk-phase.c | 1 // SPDX-License-Identifier: (GPL-2.0 OR MIT) 7 #include <linux/clk-provider.h> 10 #include "clk-regmap.h" 11 #include "clk-phase.h" 16 meson_clk_phase_data(struct clk_regmap *clk) in meson_clk_phase_data() argument 18 return (struct meson_clk_phase_data *)clk->data; in meson_clk_phase_data() 39 struct clk_regmap *clk = to_clk_regmap(hw); in meson_clk_phase_get_phase() local 40 struct meson_clk_phase_data *phase = meson_clk_phase_data(clk); in meson_clk_phase_get_phase() local 43 val = meson_parm_read(clk->map, &phase->ph); in meson_clk_phase_get_phase() 45 return meson_clk_degrees_from_val(val, phase->ph.width); in meson_clk_phase_get_phase() [all …]
|
H A D | Makefile | 1 # SPDX-License-Identifier: GPL-2.0-only 4 obj-$(CONFIG_COMMON_CLK_MESON_CLKC_UTILS) += meson-clkc-utils.o 5 obj-$(CONFIG_COMMON_CLK_MESON_AO_CLKC) += meson-aoclk.o 6 obj-$(CONFIG_COMMON_CLK_MESON_CPU_DYNDIV) += clk-cpu-dyndiv.o 7 obj-$(CONFIG_COMMON_CLK_MESON_DUALDIV) += clk-dualdiv.o 8 obj-$(CONFIG_COMMON_CLK_MESON_EE_CLKC) += meson-eeclk.o 9 obj-$(CONFIG_COMMON_CLK_MESON_MPLL) += clk-mpll.o 10 obj-$(CONFIG_COMMON_CLK_MESON_PHASE) += clk-phase.o 11 obj-$(CONFIG_COMMON_CLK_MESON_PLL) += clk-pll.o 12 obj-$(CONFIG_COMMON_CLK_MESON_REGMAP) += clk-regmap.o [all …]
|
/openbmc/linux/drivers/clk/sunxi/ |
H A D | clk-mod0.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 8 #include <linux/clk.h> 9 #include <linux/clk-provider.h> 15 #include "clk-factors.h" 18 * sun4i_a10_get_mod0_factors() - calculates m, n factors for MOD0-style clocks 29 if (req->rate > req->parent_rate) in sun4i_a10_get_mod0_factors() 30 req->rate = req->parent_rate; in sun4i_a10_get_mod0_factors() 32 div = DIV_ROUND_UP(req->parent_rate, req->rate); in sun4i_a10_get_mod0_factors() 45 req->rate = (req->parent_rate >> calcp) / calcm; in sun4i_a10_get_mod0_factors() 46 req->m = calcm - 1; in sun4i_a10_get_mod0_factors() [all …]
|
/openbmc/linux/include/trace/events/ |
H A D | clk.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 3 * Copyright (c) 2014-2015, The Linux Foundation. All rights reserved. 6 #define TRACE_SYSTEM clk 15 DECLARE_EVENT_CLASS(clk, 22 __string( name, core->name ) 26 __assign_str(name, core->name); 32 DEFINE_EVENT(clk, clk_enable, 39 DEFINE_EVENT(clk, clk_enable_complete, 46 DEFINE_EVENT(clk, clk_disable, 53 DEFINE_EVENT(clk, clk_disable_complete, [all …]
|
/openbmc/linux/drivers/clk/rockchip/ |
H A D | clk-mmc-phase.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 8 #include <linux/clk.h> 9 #include <linux/clk-provider.h> 12 #include "clk.h" 41 * Each fine delay is between 44ps-77ps. Assume each fine delay is 60ps to 54 /* Constant signal, no measurable phase shift */ in rockchip_mmc_get_phase() 58 raw_value = readl(mmc_clock->reg) >> (mmc_clock->shift); in rockchip_mmc_get_phase() 86 * MMC host to the card, which expects the phase clock inherits in rockchip_mmc_set_phase() 97 pr_err("%s: invalid clk rate\n", __func__); in rockchip_mmc_set_phase() 98 return -EINVAL; in rockchip_mmc_set_phase() [all …]
|
H A D | Makefile | 1 # SPDX-License-Identifier: GPL-2.0 6 obj-$(CONFIG_COMMON_CLK_ROCKCHIP) += clk-rockchip.o 8 clk-rockchip-y += clk.o 9 clk-rockchip-y += clk-pll.o 10 clk-rockchip-y += clk-cpu.o 11 clk-rockchip-y += clk-half-divider.o 12 clk-rockchip-y += clk-inverter.o 13 clk-rockchip-y += clk-mmc-phase.o 14 clk-rockchip-y += clk-muxgrf.o 15 clk-rockchip-y += clk-ddr.o [all …]
|
/openbmc/linux/drivers/mmc/core/ |
H A D | host.c | 1 // SPDX-License-Identifier: GPL-2.0-only 6 * Copyright (C) 2007-2008 Pierre Ossman 25 #include <linux/mmc/slot-gpio.h> 30 #include "slot-gpio.h" 47 if (!host->bus_ops) in mmc_host_class_prepare() 51 if (host->bus_ops->pre_suspend) in mmc_host_class_prepare() 52 return host->bus_ops->pre_suspend(host); in mmc_host_class_prepare() 77 wakeup_source_unregister(host->ws); in mmc_host_classdev_release() 78 if (of_alias_get_id(host->parent->of_node, "mmc") < 0) in mmc_host_classdev_release() 79 ida_simple_remove(&mmc_host_ida, host->index); in mmc_host_classdev_release() [all …]
|
/openbmc/linux/drivers/mmc/host/ |
H A D | mmci_stm32_sdmmc.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Copyright (C) STMicroelectronics 2018 - All Rights Reserved 8 #include <linux/dma-mapping.h> 71 int phase, bool sampler __maybe_unused); 84 struct sdmmc_idma *idma = host->dma_priv; in sdmmc_idma_validate_data() 85 struct device *dev = mmc_dev(host->mmc); in sdmmc_idma_validate_data() 93 idma->use_bounce_buffer = false; in sdmmc_idma_validate_data() 94 for_each_sg(data->sg, sg, data->sg_len - 1, i) { in sdmmc_idma_validate_data() 95 if (!IS_ALIGNED(sg->offset, sizeof(u32)) || in sdmmc_idma_validate_data() 96 !IS_ALIGNED(sg->length, in sdmmc_idma_validate_data() [all …]
|
H A D | sdhci-of-arasan.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 4 * Copyright (C) 2011 - 2012 Michal Simek <monstr@monstr.eu> 9 * Based on sdhci-of-esdhc.c 18 #include <linux/clk-provider.h> 26 #include <linux/firmware/xlnx-zynqmp.h> 29 #include "sdhci-cqhci.h" 30 #include "sdhci-pltfm.h" 92 * On some SoCs the syscon area has a feature where the upper 16-bits of 93 * each 32-bit register act as a write mask for the lower 16-bits. This allows 101 * struct sdhci_arasan_soc_ctl_field - Field used in sdhci_arasan_soc_ctl_map [all …]
|
H A D | sdhci-of-aspeed.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 5 #include <linux/clk.h> 18 #include "sdhci-pltfm.h" 40 struct clk *clk; member 85 * -----|-------------|----------|------------ 108 writel(cap_val, sdc->regs + mirror_reg_offset); in aspeed_sdc_set_slot_capability() 118 spin_lock(&sdc->lock); in aspeed_sdc_configure_8bit_mode() 119 info = readl(sdc->regs + ASPEED_SDC_INFO); in aspeed_sdc_configure_8bit_mode() 121 info |= sdhci->width_mask; in aspeed_sdc_configure_8bit_mode() 123 info &= ~sdhci->width_mask; in aspeed_sdc_configure_8bit_mode() [all …]
|
H A D | sdhci-msm.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * drivers/mmc/host/sdhci-msm.c - Qualcomm SDHCI Platform driver 5 * Copyright (c) 2013-2014, The Linux Foundation. All rights reserved. 23 #include "sdhci-cqhci.h" 24 #include "sdhci-pltfm.h" 123 #define INVALID_TUNING_PHASE -1 140 /* Max load for eMMC Vdd-io supply */ 146 /* Max load for SD Vdd-io supply */ 150 msm_host->var_ops->msm_readl_relaxed(host, offset) 153 msm_host->var_ops->msm_writel_relaxed(val, host, offset) [all …]
|
H A D | dw_mmc-rockchip.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 8 #include <linux/clk.h> 11 #include <linux/mmc/slot-gpio.h> 16 #include "dw_mmc-pltfm.h" 23 struct clk *drv_clk; 24 struct clk *sample_clk; 31 struct dw_mci_rockchip_priv_data *priv = host->priv; in dw_mci_rk3288_set_ios() 36 if (ios->clock == 0) in dw_mci_rk3288_set_ios() 43 * ios->clock = (div == 0) ? bus_hz : (bus_hz / (2 * div)) in dw_mci_rk3288_set_ios() 46 * DDR52 8-bit mode. in dw_mci_rk3288_set_ios() [all …]
|
/openbmc/linux/Documentation/devicetree/bindings/clock/ |
H A D | altr_socfpga.txt | 5 [1] Documentation/devicetree/bindings/clock/clock-bindings.txt 8 - compatible : shall be one of the following: 9 "altr,socfpga-pll-clock" - for a PLL clock 10 "altr,socfpga-perip-clock" - The peripheral clock divided from the 12 "altr,socfpga-gate-clk" - Clocks that directly feed peripherals and 15 - reg : shall be the control register offset from CLOCK_MANAGER's base for the clock. 16 - clocks : shall be the input parent clock phandle for the clock. This is 18 - #clock-cells : from common clock binding, shall be set to 0. 21 - fixed-divider : If clocks have a fixed divider value, use this property. 22 - clk-gate : For "socfpga-gate-clk", clk-gate contains the gating register [all …]
|
/openbmc/linux/drivers/clk/hisilicon/ |
H A D | clk-hisi-phase.c | 1 // SPDX-License-Identifier: GPL-2.0 5 * Simple HiSilicon phase clock implementation. 14 #include "clk.h" 30 static int hisi_phase_regval_to_degrees(struct clk_hisi_phase *phase, in hisi_phase_regval_to_degrees() argument 35 for (i = 0; i < phase->phase_num; i++) in hisi_phase_regval_to_degrees() 36 if (phase->phase_regvals[i] == regval) in hisi_phase_regval_to_degrees() 37 return phase->phase_degrees[i]; in hisi_phase_regval_to_degrees() 39 return -EINVAL; in hisi_phase_regval_to_degrees() 44 struct clk_hisi_phase *phase = to_clk_hisi_phase(hw); in hisi_clk_get_phase() local 47 regval = readl(phase->reg); in hisi_clk_get_phase() [all …]
|
H A D | Makefile | 1 # SPDX-License-Identifier: GPL-2.0 6 obj-y += clk.o clkgate-separated.o clkdivider-hi6220.o clk-hisi-phase.o 8 obj-$(CONFIG_ARCH_HI3xxx) += clk-hi3620.o 9 obj-$(CONFIG_ARCH_HIP04) += clk-hip04.o 10 obj-$(CONFIG_ARCH_HIX5HD2) += clk-hix5hd2.o 11 obj-$(CONFIG_COMMON_CLK_HI3516CV300) += crg-hi3516cv300.o 12 obj-$(CONFIG_COMMON_CLK_HI3519) += clk-hi3519.o 13 obj-$(CONFIG_COMMON_CLK_HI3559A) += clk-hi3559a.o 14 obj-$(CONFIG_COMMON_CLK_HI3660) += clk-hi3660.o 15 obj-$(CONFIG_COMMON_CLK_HI3670) += clk-hi3670.o [all …]
|
/openbmc/linux/drivers/watchdog/ |
H A D | realtek_otto_wdt.c | 1 // SPDX-License-Identifier: GPL-2.0-only 10 * - Base prescale of (2 << 25), providing tick duration T_0: 168ms @ 200MHz 11 * - PRESCALE: logarithmic prescaler adding a factor of {1, 2, 4, 8} 12 * - Phase 1: Times out after (PHASE1 + 1) × PRESCALE × T_0 13 * Generates an interrupt, WDT cannot be stopped after phase 1 14 * - Phase 2: starts after phase 1, times out after (PHASE2 + 1) × PRESCALE × T_0 20 #include <linux/clk.h> 54 * One higher than the max values contained in PHASE{1,2}, since a value of 0 79 v = ioread32(ctrl->base + OTTO_WDT_REG_CTRL); in otto_wdt_start() 81 iowrite32(v, ctrl->base + OTTO_WDT_REG_CTRL); in otto_wdt_start() [all …]
|
/openbmc/linux/drivers/clk/ |
H A D | clk.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Copyright (C) 2010-2011 Canonical Ltd <jeremy.kerr@canonical.com> 4 * Copyright (C) 2011-2012 Linaro Ltd <mturquette@linaro.org> 6 * Standard functionality for the common clock API. See Documentation/driver-api/clk.rst 9 #include <linux/clk.h> 10 #include <linux/clk-provider.h> 11 #include <linux/clk/clk-conf.h> 25 #include "clk.h" 86 int phase; member 100 #include <trace/events/clk.h> [all …]
|
/openbmc/u-boot/arch/arm/mach-sunxi/ |
H A D | dram_sun4i.c | 1 // SPDX-License-Identifier: GPL-2.0+ 7 * Based on sun4i Linux kernel sources mach-sunxi/pm/standby/dram*.c 8 * and earlier U-Boot Allwinner A10 SPL work 10 * (C) Copyright 2007-2012 68 writel(0, &timer->cpu_cfg); in mctl_ddr3_reset() 69 reg_val = readl(&timer->cpu_cfg); in mctl_ddr3_reset() 73 setbits_le32(&dram->mcr, DRAM_MCR_RESET); in mctl_ddr3_reset() 75 clrbits_le32(&dram->mcr, DRAM_MCR_RESET); in mctl_ddr3_reset() 79 clrbits_le32(&dram->mcr, DRAM_MCR_RESET); in mctl_ddr3_reset() 81 setbits_le32(&dram->mcr, DRAM_MCR_RESET); in mctl_ddr3_reset() [all …]
|
/openbmc/linux/drivers/counter/ |
H A D | rz-mtu3-cnt.c | 1 // SPDX-License-Identifier: GPL-2.0 8 #include <linux/clk.h> 10 #include <linux/mfd/rz-mtu3.h> 31 #define RZ_MTU3_TMDR1_PH_CNT_MODE_1 (4) /* Phase counting mode 1 */ 32 #define RZ_MTU3_TMDR1_PH_CNT_MODE_2 (5) /* Phase counting mode 2 */ 33 #define RZ_MTU3_TMDR1_PH_CNT_MODE_3 (6) /* Phase counting mode 3 */ 34 #define RZ_MTU3_TMDR1_PH_CNT_MODE_4 (7) /* Phase counting mode 4 */ 35 #define RZ_MTU3_TMDR1_PH_CNT_MODE_5 (9) /* Phase counting mode 5 */ 40 * 0: 16-bit, 1: 32-bit 45 * PHCKSEL: External Input Phase Clock Select [all …]
|
/openbmc/linux/drivers/gpu/drm/amd/display/dc/dcn20/ |
H A D | dcn20_dccg.c | 36 (dccg_dcn->regs->reg) 40 dccg_dcn->dccg_shift->field_name, dccg_dcn->dccg_mask->field_name 43 dccg_dcn->base.ctx 45 dccg->ctx->logger 51 if (dccg->ref_dppclk && req_dppclk) { in dccg2_update_dpp_dto() 52 int ref_dppclk = dccg->ref_dppclk; in dccg2_update_dpp_dto() 53 int modulo, phase; in dccg2_update_dpp_dto() local 55 // phase / modulo = dpp pipe clk / dpp global clk in dccg2_update_dpp_dto() 57 phase = ((modulo * req_dppclk) + ref_dppclk - 1) / ref_dppclk; in dccg2_update_dpp_dto() 59 if (phase > 0xff) { in dccg2_update_dpp_dto() [all …]
|
/openbmc/linux/drivers/clk/sunxi-ng/ |
H A D | ccu_phase.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 4 * Maxime Ripard <maxime.ripard@free-electrons.com> 7 #include <linux/clk-provider.h> 15 struct ccu_phase *phase = hw_to_ccu_phase(hw); in ccu_phase_get_phase() local 22 reg = readl(phase->common.base + phase->common.reg); in ccu_phase_get_phase() 23 delay = (reg >> phase->shift); in ccu_phase_get_phase() 24 delay &= (1 << phase->width) - 1; in ccu_phase_get_phase() 32 return -EINVAL; in ccu_phase_get_phase() 37 return -EINVAL; in ccu_phase_get_phase() 42 return -EINVAL; in ccu_phase_get_phase() [all …]
|
/openbmc/linux/drivers/clk/tegra/ |
H A D | clk-device.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 #include <linux/clk.h> 4 #include <linux/clk-provider.h> 15 #include "clk.h" 33 struct device *dev = clk_dev->dev; in tegra_clock_set_pd_state() 38 if (opp == ERR_PTR(-ERANGE)) { in tegra_clock_set_pd_state() 44 * not error out clk initialization. A typical example is in tegra_clock_set_pd_state() 71 mutex_lock(&clk_dev->lock); in tegra_clock_change_notify() 74 if (cnd->new_rate > cnd->old_rate) in tegra_clock_change_notify() 75 err = tegra_clock_set_pd_state(clk_dev, cnd->new_rate); in tegra_clock_change_notify() [all …]
|
/openbmc/linux/Documentation/devicetree/bindings/watchdog/ |
H A D | starfive,jh7100-wdt.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/watchdog/starfive,jh7100-wdt.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Xingyu Wu <xingyu.wu@starfivetech.com> 11 - Samin Guo <samin.guo@starfivetech.com> 15 has only one timeout phase and reboots. And JH7110 watchdog has two 16 timeout phases. At the first phase, the signal of watchdog interrupt 23 - $ref: watchdog.yaml# 28 - starfive,jh7100-wdt [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/include/linux/ |
H A D | clk.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 3 * linux/include/linux/clk.h 7 * Copyright (C) 2011-2012 Linaro Ltd <mturquette@linaro.org> 17 struct clk; 22 * DOC: clk notifier callback types 24 * PRE_RATE_CHANGE - called immediately before the clk rate is changed, 32 * the clk will be called with ABORT_RATE_CHANGE. Callbacks must 35 * POST_RATE_CHANGE - called after the clk rate change has successfully 44 * struct clk_notifier - associate a clk with a notifier 45 * @clk: struct clk * to associate the notifier with [all …]
|