Home
last modified time | relevance | path

Searched +full:stm32h7 +full:- +full:spi (Results 1 – 20 of 20) sorted by relevance

/kernel/linux/linux-5.10/arch/arm/boot/dts/
Dstm32h743.dtsi2 * 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 …]
Dstm32mp151.dtsi1 // 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/
Dstm32h743.dtsi2 * 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 …]
Dstm32mp157c.dtsi1 // 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/
Dst,stm32-dfsdm-adc.txt4 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/
Dst,stm32-spi.yaml1 # 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/
Dst,stm32-dfsdm-adc.yaml1 # 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/
Dspi-stm32.txt1 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/
Dst,stm32-i2s.yaml1 # 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 …]
Dst,stm32-adfsdm.txt3 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/
Dst,stm32-i2s.txt1 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 …]
Dst,stm32-adfsdm.txt3 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/
Dstm32-dfsdm-core.c1 // 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/
Dspi-stm32.c1 // 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/
Dstm32-dfsdm-core.c1 // 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/
Dstm32_adfsdm.c1 // 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 …]
Dstm32_i2s.c4 * 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/
Dstm32_adfsdm.c1 // 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 …]
Dstm32_i2s.c1 // 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/
Dspi-stm32.c2 * 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 …]