| /kernel/linux/linux-5.10/drivers/iio/adc/ |
| D | lpc18xx_adc.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * IIO ADC driver for NXP LPC18xx ADC 8 * - Hardware triggers 9 * - Burst mode 10 * - Interrupts 11 * - DMA 14 #include <linux/clk.h> 27 /* LPC18XX ADC registers and bits */ 47 struct clk *clk; member 70 static int lpc18xx_adc_read_chan(struct lpc18xx_adc *adc, unsigned int ch) in lpc18xx_adc_read_chan() argument [all …]
|
| D | ingenic-adc.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * ADC driver for the Ingenic JZ47xx SoCs 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> 98 int (*init_clk_div)(struct device *dev, struct ingenic_adc *adc); 103 struct clk *clk; member 112 struct ingenic_adc *adc = iio_priv(iio_dev); in ingenic_adc_set_adcmd() local 114 mutex_lock(&adc->lock); in ingenic_adc_set_adcmd() [all …]
|
| D | spear_adc.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * ST SPEAr ADC driver 15 #include <linux/clk.h> 40 #define SPEAR_ADC_MOD_NAME "spear-adc" 51 u32 clk; /* Not avail for 1340 & 1310 */ member 64 u32 clk; member 76 struct clk *clk; member 86 * Functions to access some SPEAr ADC register. Abstracted into 92 __raw_writel(val, &st->adc_base_spear6xx->status); in spear_adc_set_status() 98 u32 apb_clk = clk_get_rate(st->clk); in spear_adc_set_clk() [all …]
|
| D | ep93xx_adc.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Driver for ADC module on the Cirrus Logic EP93xx series of SoCs 14 #include <linux/clk.h> 27 * lower ADC conversion rate down to CONFIG_HZ, so we fallback to busy wait 30 * HR Timers-based version loads CPU only up to 10% during back to back ADC 31 * conversion, while busy wait-based version consumes whole CPU power. 45 struct clk *clk; member 88 mutex_lock(&priv->lock); in ep93xx_read_raw() 89 if (priv->lastch != channel->channel) { in ep93xx_read_raw() 90 priv->lastch = channel->channel; in ep93xx_read_raw() [all …]
|
| D | lpc32xx_adc.c | 1 // SPDX-License-Identifier: GPL-2.0+ 3 * lpc32xx_adc.c - Support for ADC in LPC32XX 5 * 3-channel, 10-bit ADC 10 #include <linux/clk.h> 45 #define LPC32XXAD_NAME "lpc32xx-adc" 49 struct clk *clk; member 67 mutex_lock(&indio_dev->mlock); in lpc32xx_read_raw() 68 ret = clk_prepare_enable(st->clk); in lpc32xx_read_raw() 70 mutex_unlock(&indio_dev->mlock); in lpc32xx_read_raw() 74 __raw_writel(LPC32XXAD_INTERNAL | (chan->address) | in lpc32xx_read_raw() [all …]
|
| D | exynos_adc.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * exynos_adc.c - Support for ADC in EXYNOS SoCs 5 * 8 ~ 10 channel, 10/12-bit ADC 18 #include <linux/clk.h> 33 #include <linux/platform_data/touchscreen-s3c2410.h> 46 /* S3C2410 ADC registers definitions */ 63 /* Bit definitions for S3C2410 ADC */ 126 struct clk *clk; member 127 struct clk *sclk; 145 * a wait-callback is used to wait for the conversion result, [all …]
|
| D | ad9467.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Analog Devices AD9467 SPI ADC driver 5 * Copyright 2012-2020 Analog Devices Inc. 22 #include <linux/clk.h> 24 #include <linux/iio/adc/adi-axi-adc.h> 27 * ADI High-Speed ADC common spi interface registers 28 * See Application-Note AN-877: 29 * https://www.analog.com/media/en/technical-documentation/application-notes/AN-877.pdf 80 * Analog Devices AD9265 16-Bit, 125/105/80 MSPS ADC 88 * Analog Devices AD9434 12-Bit, 370/500 MSPS ADC [all …]
|
| /kernel/linux/linux-4.19/drivers/iio/adc/ |
| D | lpc18xx_adc.c | 2 * IIO ADC driver for NXP LPC18xx ADC 11 * - Hardware triggers 12 * - Burst mode 13 * - Interrupts 14 * - DMA 17 #include <linux/clk.h> 30 /* LPC18XX ADC registers and bits */ 50 struct clk *clk; member 73 static int lpc18xx_adc_read_chan(struct lpc18xx_adc *adc, unsigned int ch) in lpc18xx_adc_read_chan() argument 78 reg = adc->cr_reg | BIT(ch) | LPC18XX_ADC_CR_START_NOW; in lpc18xx_adc_read_chan() [all …]
|
| D | spear_adc.c | 2 * ST SPEAr ADC driver 6 * Licensed under the GPL-2. 16 #include <linux/clk.h> 41 #define SPEAR_ADC_MOD_NAME "spear-adc" 52 u32 clk; /* Not avail for 1340 & 1310 */ member 65 u32 clk; member 77 struct clk *clk; member 87 * Functions to access some SPEAr ADC register. Abstracted into 93 __raw_writel(val, &st->adc_base_spear6xx->status); in spear_adc_set_status() 99 u32 apb_clk = clk_get_rate(st->clk); in spear_adc_set_clk() [all …]
|
| D | stm32-adc-core.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * This file is part of STM32 ADC driver 5 * Copyright (C) 2016, STMicroelectronics - All Rights Reserved 8 * Inspired from: fsl-imx25-tsadc 12 #include <linux/clk.h> 22 #include "stm32-adc-core.h" 25 * stm32_adc_common_regs - stm32 common registers, compatible dependent data 30 * @ier: interrupt enable register offset for each adc 45 * stm32_adc_priv_cfg - stm32 core compatible configuration data 57 * struct stm32_adc_priv - stm32 ADC core private data [all …]
|
| D | ep93xx_adc.c | 2 * Driver for ADC module on the Cirrus Logic EP93xx series of SoCs 17 #include <linux/clk.h> 30 * lower ADC conversion rate down to CONFIG_HZ, so we fallback to busy wait 33 * HR Timers-based version loads CPU only up to 10% during back to back ADC 34 * conversion, while busy wait-based version consumes whole CPU power. 48 struct clk *clk; member 91 mutex_lock(&priv->lock); in ep93xx_read_raw() 92 if (priv->lastch != channel->channel) { in ep93xx_read_raw() 93 priv->lastch = channel->channel; in ep93xx_read_raw() 95 * Switch register is software-locked, unlocking must be in ep93xx_read_raw() [all …]
|
| D | exynos_adc.c | 2 * exynos_adc.c - Support for ADC in EXYNOS SoCs 4 * 8 ~ 10 channel, 10/12-bit ADC 31 #include <linux/clk.h> 46 #include <linux/platform_data/touchscreen-s3c2410.h> 59 /* S3C2410 ADC registers definitions */ 76 /* Bit definitions for S3C2410 ADC */ 139 struct clk *clk; member 140 struct clk *sclk; 171 if (info->data->needs_sclk) in exynos_adc_unprepare_clk() 172 clk_unprepare(info->sclk); in exynos_adc_unprepare_clk() [all …]
|
| /kernel/linux/linux-4.19/drivers/mfd/ |
| D | jz4740-adc.c | 2 * Copyright (C) 2009-2010, Lars-Peter Clausen <lars@metafoo.de> 3 * JZ4740 SoC ADC driver 14 * This driver synchronizes access to the JZ4740 ADC core between the 28 #include <linux/clk.h> 31 #include <linux/jz4740-adc.h> 62 struct clk *clk; member 74 status = readb(gc->reg_base + JZ_REG_ADC_STATUS); in jz4740_adc_irq_demux() 78 generic_handle_irq(gc->irq_base + i); in jz4740_adc_irq_demux() 83 /* Refcounting for the ADC clock is done in here instead of in the clock 86 static inline void jz4740_adc_clk_enable(struct jz4740_adc *adc) in jz4740_adc_clk_enable() argument [all …]
|
| D | fsl-imx25-tsadc.c | 2 * Copyright (C) 2014-2015 Pengutronix, Markus Pargmann <mpa@pengutronix.de> 9 #include <linux/clk.h> 15 #include <linux/mfd/imx25-tsadc.h> 38 regmap_read(tsadc->regs, MX25_TSC_TGSR, &status); in mx25_tsadc_irq_handler() 41 generic_handle_irq(irq_find_mapping(tsadc->domain, 1)); in mx25_tsadc_irq_handler() 44 generic_handle_irq(irq_find_mapping(tsadc->domain, 0)); in mx25_tsadc_irq_handler() 52 struct mx25_tsadc *tsadc = d->host_data; in mx25_tsadc_domain_map() 70 struct device *dev = &pdev->dev; in mx25_tsadc_setup_irq() 71 struct device_node *np = dev->of_node; in mx25_tsadc_setup_irq() 80 tsadc->domain = irq_domain_add_simple(np, 2, 0, &mx25_tsadc_domain_ops, in mx25_tsadc_setup_irq() [all …]
|
| /kernel/linux/linux-5.10/arch/arm/mach-s3c/ |
| D | adc.c | 1 // SPDX-License-Identifier: GPL-1.0+ 5 // Ben Dooks <ben@simtec.co.uk>, <ben-linux@fluff.org> 7 // Samsung ADC device core 17 #include <linux/clk.h> 22 #include "regs-adc.h" 23 #include <linux/soc/samsung/s3c-adc.h> 25 /* This driver is designed to control the usage of the ADC block between 65 struct clk *clk; member 81 #define adc_dbg(_adc, msg...) dev_dbg(&(_adc)->pdev->dev, msg) 83 static inline void s3c_adc_convert(struct adc_device *adc) in s3c_adc_convert() argument [all …]
|
| /kernel/linux/linux-4.19/arch/arm/plat-samsung/ |
| D | adc.c | 1 // SPDX-License-Identifier: GPL-1.0+ 5 // Ben Dooks <ben@simtec.co.uk>, <ben-linux@fluff.org> 7 // Samsung ADC device core 17 #include <linux/clk.h> 22 #include <plat/regs-adc.h> 23 #include <plat/adc.h> 25 /* This driver is designed to control the usage of the ADC block between 65 struct clk *clk; member 81 #define adc_dbg(_adc, msg...) dev_dbg(&(_adc)->pdev->dev, msg) 83 static inline void s3c_adc_convert(struct adc_device *adc) in s3c_adc_convert() argument [all …]
|
| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/iio/adc/ |
| D | st,stm32-dfsdm-adc.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/iio/adc/st,stm32-dfsdm-adc.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: STMicroelectronics STM32 DFSDM ADC device driver 10 - Fabrice Gasnier <fabrice.gasnier@st.com> 11 - Olivier Moysan <olivier.moysan@st.com> 14 STM32 DFSDM ADC is a sigma delta analog-to-digital converter dedicated to 17 - Sigma delta modulators (motor control, metering...) 18 - PDM microphones (audio digital microphone) [all …]
|
| D | st,stm32-adc.yaml | 1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 3 --- 4 $id: "http://devicetree.org/schemas/iio/adc/st,stm32-adc.yaml#" 5 $schema: "http://devicetree.org/meta-schemas/core.yaml#" 7 title: STMicroelectronics STM32 ADC bindings 10 STM32 ADC is a successive approximation analog-to-digital converter. 12 in single, continuous, scan or discontinuous mode. Result of the ADC is 13 stored in a left-aligned or right-aligned 32-bit data register. 17 voltage goes beyond the user-defined, higher or lower thresholds. 19 Each STM32 ADC block can have up to 3 ADC instances. [all …]
|
| /kernel/linux/linux-5.10/sound/soc/sunxi/ |
| D | sun8i-codec.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 6 * (C) Copyright 2010-2016 9 * Mylène Josserand <mylene.josserand@free-electrons.com> 14 #include <linux/clk.h> 23 #include <sound/soc-dapm.h> 105 struct clk *clk_module; 114 regcache_cache_only(scodec->regmap, false); in sun8i_codec_runtime_resume() 116 ret = regcache_sync(scodec->regmap); in sun8i_codec_runtime_resume() 129 regcache_cache_only(scodec->regmap, true); in sun8i_codec_runtime_suspend() 130 regcache_mark_dirty(scodec->regmap); in sun8i_codec_runtime_suspend() [all …]
|
| /kernel/linux/linux-5.10/drivers/mfd/ |
| D | fsl-imx25-tsadc.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Copyright (C) 2014-2015 Pengutronix, Markus Pargmann <mpa@pengutronix.de> 6 #include <linux/clk.h> 12 #include <linux/mfd/imx25-tsadc.h> 35 regmap_read(tsadc->regs, MX25_TSC_TGSR, &status); in mx25_tsadc_irq_handler() 38 generic_handle_irq(irq_find_mapping(tsadc->domain, 1)); in mx25_tsadc_irq_handler() 41 generic_handle_irq(irq_find_mapping(tsadc->domain, 0)); in mx25_tsadc_irq_handler() 49 struct mx25_tsadc *tsadc = d->host_data; in mx25_tsadc_domain_map() 67 struct device *dev = &pdev->dev; in mx25_tsadc_setup_irq() 68 struct device_node *np = dev->of_node; in mx25_tsadc_setup_irq() [all …]
|
| /kernel/linux/linux-5.10/sound/soc/codecs/ |
| D | es8328.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * es8328.c -- ES8328 ALSA SoC Audio driver 5 * Copyright 2014 Sutajio Ko-Usagi PTE LTD 10 #include <linux/clk.h> 81 struct clk *clk; member 100 static const DECLARE_TLV_DB_SCALE(play_tlv, -3000, 100, 0); 101 static const DECLARE_TLV_DB_SCALE(dac_adc_tlv, -9600, 50, 0); 102 static const DECLARE_TLV_DB_SCALE(bypass_tlv, -1500, 300, 0); 124 if (es8328->deemph) { in es8328_set_deemph() 127 if (abs(deemph_settings[i].rate - es8328->playback_fs) < in es8328_set_deemph() [all …]
|
| D | rt5514.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * rt5514.c -- RT5514 ALSA SoC audio codec driver 25 #include <sound/soc-dapm.h> 32 #include "rt5514-spi.h" 121 regmap_write(rt5514->i2c_regmap, 0x18002000, 0x000010ec); in rt5514_enable_dsp_prepare() 123 regmap_write(rt5514->i2c_regmap, 0x18002200, 0x00028604); in rt5514_enable_dsp_prepare() 125 regmap_write(rt5514->i2c_regmap, 0xfafafafa, 0x00000001); in rt5514_enable_dsp_prepare() 126 /* mini-core reset */ in rt5514_enable_dsp_prepare() 127 regmap_write(rt5514->i2c_regmap, 0x18002f00, 0x0005514b); in rt5514_enable_dsp_prepare() 128 regmap_write(rt5514->i2c_regmap, 0x18002f00, 0x00055149); in rt5514_enable_dsp_prepare() [all …]
|
| /kernel/linux/linux-4.19/sound/soc/codecs/ |
| D | es8328.c | 2 * es8328.c -- ES8328 ALSA SoC Audio driver 4 * Copyright 2014 Sutajio Ko-Usagi PTE LTD 13 #include <linux/clk.h> 84 struct clk *clk; member 103 static const DECLARE_TLV_DB_SCALE(play_tlv, -3000, 100, 0); 104 static const DECLARE_TLV_DB_SCALE(dac_adc_tlv, -9600, 50, 0); 106 static const DECLARE_TLV_DB_SCALE(bypass_tlv, -1500, 300, 0); 128 if (es8328->deemph) { in es8328_set_deemph() 131 if (abs(deemph_settings[i].rate - es8328->playback_fs) < in es8328_set_deemph() 132 abs(deemph_settings[best].rate - es8328->playback_fs)) in es8328_set_deemph() [all …]
|
| D | rt5514.c | 2 * rt5514.c -- RT5514 ALSA SoC audio codec driver 28 #include <sound/soc-dapm.h> 35 #include "rt5514-spi.h" 124 regmap_write(rt5514->i2c_regmap, 0x18002000, 0x000010ec); in rt5514_enable_dsp_prepare() 126 regmap_write(rt5514->i2c_regmap, 0x18002200, 0x00028604); in rt5514_enable_dsp_prepare() 128 regmap_write(rt5514->i2c_regmap, 0xfafafafa, 0x00000001); in rt5514_enable_dsp_prepare() 129 /* mini-core reset */ in rt5514_enable_dsp_prepare() 130 regmap_write(rt5514->i2c_regmap, 0x18002f00, 0x0005514b); in rt5514_enable_dsp_prepare() 131 regmap_write(rt5514->i2c_regmap, 0x18002f00, 0x00055149); in rt5514_enable_dsp_prepare() 133 regmap_write(rt5514->i2c_regmap, 0xfafafafa, 0x00000000); in rt5514_enable_dsp_prepare() [all …]
|
| /kernel/linux/linux-4.19/Documentation/devicetree/bindings/iio/adc/ |
| D | st,stm32-dfsdm-adc.txt | 1 STMicroelectronics STM32 DFSDM ADC device driver 4 STM32 DFSDM ADC is a sigma delta analog-to-digital converter dedicated to 7 - Sigma delta modulators (motor control, metering...) 8 - PDM microphones (audio digital microphone) 16 ------------------------------------ 18 - compatible: Should be one of: 19 "st,stm32h7-dfsdm" 20 "st,stm32mp1-dfsdm" 21 - reg: Offset and length of the DFSDM block register set. 22 - clocks: IP and serial interfaces clocking. Should be set according [all …]
|