| /kernel/linux/linux-5.10/arch/arm/boot/dts/ |
| D | stm32h743.dtsi | 2 * Copyright 2017 - Alexandre Torgue <alexandre.torgue@st.com> 4 * This file is dual-licensed: you can use it either under the terms 43 #include "armv7-m.dtsi" 44 #include <dt-bindings/clock/stm32h7-clks.h> 45 #include <dt-bindings/mfd/stm32h7-rcc.h> 46 #include <dt-bindings/interrupt-controller/irq.h> 49 #address-cells = <1>; 50 #size-cells = <1>; 53 clk_hse: clk-hse { 54 #clock-cells = <0>; [all …]
|
| D | stm32mp151.dtsi | 1 // SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) 3 * Copyright (C) STMicroelectronics 2017 - All Rights Reserved 6 #include <dt-bindings/interrupt-controller/arm-gic.h> 7 #include <dt-bindings/clock/stm32mp1-clks.h> 8 #include <dt-bindings/reset/stm32mp1-resets.h> 11 #address-cells = <1>; 12 #size-cells = <1>; 15 #address-cells = <1>; 16 #size-cells = <0>; 19 compatible = "arm,cortex-a7"; [all …]
|
| /kernel/linux/linux-4.19/arch/arm/boot/dts/ |
| D | stm32h743.dtsi | 2 * Copyright 2017 - Alexandre Torgue <alexandre.torgue@st.com> 4 * This file is dual-licensed: you can use it either under the terms 44 #include "armv7-m.dtsi" 45 #include <dt-bindings/clock/stm32h7-clks.h> 46 #include <dt-bindings/mfd/stm32h7-rcc.h> 47 #include <dt-bindings/interrupt-controller/irq.h> 51 clk_hse: clk-hse { 52 #clock-cells = <0>; 53 compatible = "fixed-clock"; 54 clock-frequency = <0>; [all …]
|
| D | stm32mp157c.dtsi | 1 // SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) 3 * Copyright (C) STMicroelectronics 2017 - All Rights Reserved 6 #include <dt-bindings/interrupt-controller/arm-gic.h> 7 #include <dt-bindings/clock/stm32mp1-clks.h> 8 #include <dt-bindings/reset/stm32mp1-resets.h> 11 #address-cells = <1>; 12 #size-cells = <1>; 15 #address-cells = <1>; 16 #size-cells = <0>; 19 compatible = "arm,cortex-a7"; [all …]
|
| /kernel/linux/linux-4.19/Documentation/devicetree/bindings/iio/adc/ |
| D | st,stm32-dfsdm-adc.txt | 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) 10 It features up to 8 serial digital interfaces (SPI or Manchester) and 11 up to 4 filters on stm32h7 or 6 filters on stm32mp1. 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. [all …]
|
| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/spi/ |
| D | st,stm32-spi.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/spi/st,stm32-spi.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: STMicroelectronics STM32 SPI Controller bindings 10 The STM32 SPI controller is used to communicate with external devices using 11 the Serial Peripheral Interface. It supports full-duplex, half-duplex and 13 from 4 to 32-bit data size. 16 - Erwan Leray <erwan.leray@st.com> 17 - Fabrice Gasnier <fabrice.gasnier@st.com> [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# 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) 20 It features up to 8 serial digital interfaces (SPI or Manchester) and [all …]
|
| /kernel/linux/linux-4.19/Documentation/devicetree/bindings/spi/ |
| D | spi-stm32.txt | 1 STMicroelectronics STM32 SPI Controller 3 The STM32 SPI controller is used to communicate with external devices using 4 the Serial Peripheral Interface. It supports full-duplex, half-duplex and 6 from 4 to 32-bit data size. Although it can be configured as master or slave, 10 - compatible: Must be "st,stm32h7-spi". 11 - reg: Offset and length of the device's register set. 12 - interrupts: Must contain the interrupt id. 13 - clocks: Must contain an entry for spiclk (which feeds the internal clock 15 - #address-cells: Number of cells required to define a chip select address. 16 - #size-cells: Should be zero. [all …]
|
| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/sound/ |
| D | st,stm32-i2s.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/sound/st,stm32-i2s.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: STMicroelectronics STM32 SPI/I2S Controller 10 - Olivier Moysan <olivier.moysan@st.com> 13 The SPI/I2S block supports I2S/PCM protocols when configured on I2S mode. 14 Only some SPI instances support I2S. 19 - st,stm32h7-i2s 21 "#sound-dai-cells": [all …]
|
| D | st,stm32-adfsdm.txt | 3 The DFSDM allows PDM microphones capture through SPI interface. The Audio 5 For details on DFSDM bindings refer to ../iio/adc/st,stm32-dfsdm-adc.txt 8 - compatible: "st,stm32h7-dfsdm-dai". 10 - #sound-dai-cells : Must be equal to 0 12 - io-channels : phandle to iio dfsdm instance node. 17 compatible = "audio-graph-card"; 23 compatible = "st,stm32h7-dfsdm"; 26 clock-names = "dfsdm"; 27 #interrupt-cells = <1>; 28 #address-cells = <1>; [all …]
|
| /kernel/linux/linux-4.19/Documentation/devicetree/bindings/sound/ |
| D | st,stm32-i2s.txt | 1 STMicroelectronics STM32 SPI/I2S Controller 3 The SPI/I2S block supports I2S/PCM protocols when configured on I2S mode. 4 Only some SPI instances support I2S. 7 - compatible: Must be "st,stm32h7-i2s" 8 - reg: Offset and length of the device's register set. 9 - interrupts: Must contain the interrupt line id. 10 - clocks: Must contain phandle and clock specifier pairs for each entry 11 in clock-names. 12 - clock-names: Must contain "i2sclk", "pclk", "x8k" and "x11k". 17 - dmas: DMA specifiers for tx and rx dma. [all …]
|
| D | st,stm32-adfsdm.txt | 3 The DFSDM allows PDM microphones capture through SPI interface. The Audio 5 For details on DFSDM bindings refer to ../iio/adc/st,stm32-dfsdm-adc.txt 8 - compatible: "st,stm32h7-dfsdm-dai". 10 - #sound-dai-cells : Must be equal to 0 12 - io-channels : phandle to iio dfsdm instance node. 17 compatible = "audio-graph-card"; 23 compatible = "st,stm32h7-dfsdm"; 26 clock-names = "dfsdm"; 27 #interrupt-cells = <1>; 28 #address-cells = <1>; [all …]
|
| /kernel/linux/linux-4.19/drivers/iio/adc/ |
| D | stm32-dfsdm-core.c | 1 // SPDX-License-Identifier: GPL-2.0 5 * Copyright (C) 2017, STMicroelectronics - All Rights Reserved 18 #include "stm32-dfsdm.h" 86 unsigned int spi_clk_out_div; /* SPI clkout divider value */ 94 * stm32_dfsdm_start_dfsdm - start global dfsdm interface. 102 struct device *dev = &priv->pdev->dev; in stm32_dfsdm_start_dfsdm() 103 unsigned int clk_div = priv->spi_clk_out_div, clk_src; in stm32_dfsdm_start_dfsdm() 106 if (atomic_inc_return(&priv->n_active_ch) == 1) { in stm32_dfsdm_start_dfsdm() 107 ret = clk_prepare_enable(priv->clk); in stm32_dfsdm_start_dfsdm() 112 if (priv->aclk) { in stm32_dfsdm_start_dfsdm() [all …]
|
| /kernel/linux/linux-5.10/drivers/spi/ |
| D | spi-stm32.c | 1 // SPDX-License-Identifier: GPL-2.0 3 // STMicroelectronics STM32 SPI Controller driver (master mode only) 5 // Copyright (C) 2017, STMicroelectronics - All Rights Reserved 19 #include <linux/spi/spi.h> 23 /* STM32F4 SPI registers */ 72 /* STM32F4 SPI Baud Rate min/max divisor */ 76 /* STM32H7 SPI registers */ 153 /* STM32H7 SPI Master Baud Rate min/max divisor */ 157 /* STM32H7 SPI Communication mode */ 163 /* SPI Communication type */ [all …]
|
| /kernel/linux/linux-5.10/drivers/iio/adc/ |
| D | stm32-dfsdm-core.c | 1 // SPDX-License-Identifier: GPL-2.0 5 * Copyright (C) 2017, STMicroelectronics - All Rights Reserved 20 #include "stm32-dfsdm.h" 88 unsigned int spi_clk_out_div; /* SPI clkout divider value */ 105 ret = clk_prepare_enable(priv->clk); in stm32_dfsdm_clk_prepare_enable() 106 if (ret || !priv->aclk) in stm32_dfsdm_clk_prepare_enable() 109 ret = clk_prepare_enable(priv->aclk); in stm32_dfsdm_clk_prepare_enable() 111 clk_disable_unprepare(priv->clk); in stm32_dfsdm_clk_prepare_enable() 120 if (priv->aclk) in stm32_dfsdm_clk_disable_unprepare() 121 clk_disable_unprepare(priv->aclk); in stm32_dfsdm_clk_disable_unprepare() [all …]
|
| /kernel/linux/linux-4.19/sound/soc/stm/ |
| D | stm32_adfsdm.c | 1 // SPDX-License-Identifier: GPL-2.0 5 * Copyright (C) 2017, STMicroelectronics - All Rights Reserved 18 #include <linux/iio/adc/stm32-dfsdm-adc.h> 23 #define STM32_ADFSDM_DRV_NAME "stm32-adfsdm" 68 mutex_lock(&priv->lock); in stm32_adfsdm_shutdown() 69 if (priv->iio_active) { in stm32_adfsdm_shutdown() 70 iio_channel_stop_all_cb(priv->iio_cb); in stm32_adfsdm_shutdown() 71 priv->iio_active = false; in stm32_adfsdm_shutdown() 73 mutex_unlock(&priv->lock); in stm32_adfsdm_shutdown() 82 mutex_lock(&priv->lock); in stm32_adfsdm_dai_prepare() [all …]
|
| D | stm32_i2s.c | 4 * Copyright (C) 2017, STMicroelectronics - All Rights Reserved 139 #define I2S_CGFR_I2SDIV_MAX ((1 << (I2S_CGFR_I2SDIV_BIT_H -\ 140 I2S_CGFR_I2SDIV_SHIFT)) - 1) 185 #define STM32_I2S_IS_MASTER(x) ((x)->ms_flg == I2S_MS_MASTER) 186 #define STM32_I2S_IS_SLAVE(x) ((x)->ms_flg == I2S_MS_SLAVE) 234 struct platform_device *pdev = i2s->pdev; in stm32_i2s_isr() 239 regmap_read(i2s->regmap, STM32_I2S_SR_REG, &sr); in stm32_i2s_isr() 240 regmap_read(i2s->regmap, STM32_I2S_IER_REG, &ier); in stm32_i2s_isr() 244 dev_dbg(&pdev->dev, "Spurious IRQ sr=0x%08x, ier=0x%08x\n", in stm32_i2s_isr() 249 regmap_write_bits(i2s->regmap, STM32_I2S_IFCR_REG, in stm32_i2s_isr() [all …]
|
| /kernel/linux/linux-5.10/sound/soc/stm/ |
| D | stm32_adfsdm.c | 1 // SPDX-License-Identifier: GPL-2.0 5 * Copyright (C) 2017, STMicroelectronics - All Rights Reserved 18 #include <linux/iio/adc/stm32-dfsdm-adc.h> 23 #define STM32_ADFSDM_DRV_NAME "stm32-adfsdm" 65 mutex_lock(&priv->lock); in stm32_adfsdm_shutdown() 66 if (priv->iio_active) { in stm32_adfsdm_shutdown() 67 iio_channel_stop_all_cb(priv->iio_cb); in stm32_adfsdm_shutdown() 68 priv->iio_active = false; in stm32_adfsdm_shutdown() 70 mutex_unlock(&priv->lock); in stm32_adfsdm_shutdown() 79 mutex_lock(&priv->lock); in stm32_adfsdm_dai_prepare() [all …]
|
| D | stm32_i2s.c | 1 // SPDX-License-Identifier: GPL-2.0-only 5 * Copyright (C) 2017, STMicroelectronics - All Rights Reserved 134 #define I2S_CGFR_I2SDIV_MAX ((1 << (I2S_CGFR_I2SDIV_BIT_H -\ 135 I2S_CGFR_I2SDIV_SHIFT)) - 1) 196 #define STM32_I2S_IS_MASTER(x) ((x)->ms_flg == I2S_MS_MASTER) 197 #define STM32_I2S_IS_SLAVE(x) ((x)->ms_flg == I2S_MS_SLAVE) 200 * struct stm32_i2s_data - private data of I2S 246 struct platform_device *pdev = i2s->pdev; in stm32_i2s_isr() 251 regmap_read(i2s->regmap, STM32_I2S_SR_REG, &sr); in stm32_i2s_isr() 252 regmap_read(i2s->regmap, STM32_I2S_IER_REG, &ier); in stm32_i2s_isr() [all …]
|
| /kernel/linux/linux-4.19/drivers/spi/ |
| D | spi-stm32.c | 2 * STMicroelectronics STM32 SPI Controller driver (master mode only) 4 * Copyright (C) 2017, STMicroelectronics - All Rights Reserved 32 #include <linux/spi/spi.h> 36 /* STM32 SPI registers */ 113 /* SPI Master Baud Rate min/max divisor */ 117 /* SPI Communication mode */ 126 * struct stm32_spi - private data of the SPI controller 130 * @clk: hw kernel clock feeding the SPI clock generator 131 * @clk_rate: rate of the hw kernel clock feeding the SPI clock generator 132 * @rst: SPI controller reset line [all …]
|