| /kernel/linux/linux-5.10/arch/arm/boot/dts/ |
| D | stm32f746.dtsi | 2 * Copyright 2015 - Maxime Coquelin <mcoquelin.stm32@gmail.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/stm32fx-clock.h> 45 #include <dt-bindings/mfd/stm32f7-rcc.h> 48 #address-cells = <1>; 49 #size-cells = <1>; 52 clk_hse: clk-hse { 53 #clock-cells = <0>; 54 compatible = "fixed-clock"; [all …]
|
| D | stm32f429.dtsi | 2 * Copyright 2015 - Maxime Coquelin <mcoquelin.stm32@gmail.com> 4 * This file is dual-licensed: you can use it either under the terms 22 * MA 02110-1301 USA 48 #include "armv7-m.dtsi" 49 #include <dt-bindings/clock/stm32fx-clock.h> 50 #include <dt-bindings/mfd/stm32f4-rcc.h> 53 #address-cells = <1>; 54 #size-cells = <1>; 57 clk_hse: clk-hse { 58 #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 …]
|
| 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 …]
|
| /kernel/linux/linux-4.19/Documentation/devicetree/bindings/pwm/ |
| D | pwm-stm32-lp.txt | 1 STMicroelectronics STM32 Low-Power Timer PWM 3 STM32 Low-Power Timer provides single channel PWM. 5 Must be a sub-node of an STM32 Low-Power Timer device tree node. 6 See ../mfd/stm32-lptimer.txt for details about the parent node. 9 - compatible: Must be "st,stm32-pwm-lp". 10 - #pwm-cells: Should be set to 3. This PWM chip uses the default 3 cells 11 bindings defined in pwm.txt. 14 - pinctrl-names: Set to "default". 15 - pinctrl-0: Phandle pointing to pin configuration node for PWM. 19 compatible = "st,stm32-lptimer"; [all …]
|
| D | pwm-stm32.txt | 1 STMicroelectronics STM32 Timers PWM bindings 3 Must be a sub-node of an STM32 Timers device tree node. 4 See ../mfd/stm32-timers.txt for details about the parent node. 7 - compatible: Must be "st,stm32-pwm". 8 - pinctrl-names: Set to "default". 9 - pinctrl-0: List of phandles pointing to pin configuration nodes for PWM module. 10 For Pinctrl properties see ../pinctrl/pinctrl-bindings.txt 13 - st,breakinput: One or two <index level filter> to describe break input configurations. 22 #address-cells = <1>; 23 #size-cells = <0>; [all …]
|
| /kernel/linux/linux-4.19/arch/arm/boot/dts/ |
| D | stm32f746.dtsi | 2 * Copyright 2015 - Maxime Coquelin <mcoquelin.stm32@gmail.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/stm32fx-clock.h> 46 #include <dt-bindings/mfd/stm32f7-rcc.h> 50 clk_hse: clk-hse { 51 #clock-cells = <0>; 52 compatible = "fixed-clock"; 53 clock-frequency = <0>; 56 clk-lse { [all …]
|
| D | stm32f429.dtsi | 2 * Copyright 2015 - Maxime Coquelin <mcoquelin.stm32@gmail.com> 4 * This file is dual-licensed: you can use it either under the terms 22 * MA 02110-1301 USA 49 #include "armv7-m.dtsi" 50 #include <dt-bindings/clock/stm32fx-clock.h> 51 #include <dt-bindings/mfd/stm32f4-rcc.h> 55 clk_hse: clk-hse { 56 #clock-cells = <0>; 57 compatible = "fixed-clock"; 58 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 …]
|
| 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 …]
|
| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/mfd/ |
| D | st,stm32-lptimer.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/mfd/st,stm32-lptimer.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: STMicroelectronics STM32 Low-Power Timers bindings 10 The STM32 Low-Power Timer (LPTIM) is a 16-bit timer that provides several 12 - PWM output (with programmable prescaler, configurable polarity) 13 - Trigger source for STM32 ADC/DAC (LPTIM_OUT) 14 - Several counter modes: 15 - quadrature encoder to detect angular position and direction of rotary [all …]
|
| D | st,stm32-timers.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/mfd/st,stm32-timers.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: STMicroelectronics STM32 Timers bindings 10 This hardware block provides 3 types of timer along with PWM functionality: 11 - advanced-control timers consist of a 16-bit auto-reload counter driven 12 by a programmable prescaler, break input feature, PWM outputs and 13 complementary PWM outputs channels. 14 - general-purpose timers consist of a 16-bit or 32-bit auto-reload counter [all …]
|
| /kernel/linux/linux-4.19/Documentation/devicetree/bindings/mfd/ |
| D | stm32-lptimer.txt | 1 STMicroelectronics STM32 Low-Power Timer 3 The STM32 Low-Power Timer (LPTIM) is a 16-bit timer that provides several 5 - PWM output (with programmable prescaler, configurable polarity) 6 - Quadrature encoder, counter 7 - Trigger source for STM32 ADC/DAC (LPTIM_OUT) 10 - compatible: Must be "st,stm32-lptimer". 11 - reg: Offset and length of the device's register set. 12 - clocks: Phandle to the clock used by the LP Timer module. 13 - clock-names: Must be "mux". 14 - #address-cells: Should be '<1>'. [all …]
|
| D | stm32-timers.txt | 1 STM32 Timers driver bindings 3 This IP provides 3 types of timer along with PWM functionality: 4 - advanced-control timers consist of a 16-bit auto-reload counter driven by a programmable 5 prescaler, break input feature, PWM outputs and complementary PWM ouputs channels. 6 - general-purpose timers consist of a 16-bit or 32-bit auto-reload counter driven by a 7 programmable prescaler and PWM outputs. 8 - basic timers consist of a 16-bit auto-reload counter driven by a programmable prescaler. 11 - compatible: must be "st,stm32-timers" 13 - reg: Physical base address and length of the controller's 15 - clock-names: Set to "int". [all …]
|
| /kernel/linux/linux-4.19/drivers/pwm/ |
| D | pwm-stm32-lp.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * STM32 Low-Power Timer PWM driver 9 * Inspired by Gerald Baeza's pwm-stm32 driver 13 #include <linux/mfd/stm32-lptimer.h> 17 #include <linux/pwm.h> 30 /* STM32 Low-Power Timer is preceded by a configurable power-of-2 prescaler */ 33 static int stm32_pwm_lp_apply(struct pwm_chip *chip, struct pwm_device *pwm, in stm32_pwm_lp_apply() argument 43 pwm_get_state(pwm, &cstate); in stm32_pwm_lp_apply() 46 if (!state->enabled) { in stm32_pwm_lp_apply() 49 ret = regmap_write(priv->regmap, STM32_LPTIM_CR, 0); in stm32_pwm_lp_apply() [all …]
|
| D | Kconfig | 1 menuconfig PWM config 2 bool "Pulse-Width Modulation (PWM) Support" 4 Generic Pulse-Width Modulation (PWM) support. 6 In Pulse-Width Modulation, a variation of the width of pulses 13 This framework provides a generic interface to PWM devices 15 to register and unregister a PWM chip, an abstraction of a PWM 16 controller, that supports one or more PWM devices. Client 17 drivers can request PWM devices and use the generic framework 20 This generic framework replaces the legacy PWM framework which 29 if PWM [all …]
|
| D | Makefile | 1 # SPDX-License-Identifier: GPL-2.0 2 obj-$(CONFIG_PWM) += core.o 3 obj-$(CONFIG_PWM_SYSFS) += sysfs.o 4 obj-$(CONFIG_PWM_AB8500) += pwm-ab8500.o 5 obj-$(CONFIG_PWM_ATMEL) += pwm-atmel.o 6 obj-$(CONFIG_PWM_ATMEL_HLCDC_PWM) += pwm-atmel-hlcdc.o 7 obj-$(CONFIG_PWM_ATMEL_TCB) += pwm-atmel-tcb.o 8 obj-$(CONFIG_PWM_BCM_IPROC) += pwm-bcm-iproc.o 9 obj-$(CONFIG_PWM_BCM_KONA) += pwm-bcm-kona.o 10 obj-$(CONFIG_PWM_BCM2835) += pwm-bcm2835.o [all …]
|
| D | pwm-stm32.c | 1 // SPDX-License-Identifier: GPL-2.0 7 * Inspired by timer-stm32.c from Maxime Coquelin 8 * pwm-atmel.c from Bo Shen 12 #include <linux/mfd/stm32-timers.h> 16 #include <linux/pwm.h> 24 struct mutex lock; /* protect pwm config/enable */ 47 regmap_read(dev->regmap, TIM_CCER, &ccer); in active_channels() 56 return regmap_write(dev->regmap, TIM_CCR1, value); in write_ccrx() 58 return regmap_write(dev->regmap, TIM_CCR2, value); in write_ccrx() 60 return regmap_write(dev->regmap, TIM_CCR3, value); in write_ccrx() [all …]
|
| /kernel/linux/linux-5.10/drivers/pwm/ |
| D | pwm-stm32-lp.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * STM32 Low-Power Timer PWM driver 9 * Inspired by Gerald Baeza's pwm-stm32 driver 13 #include <linux/mfd/stm32-lptimer.h> 18 #include <linux/pwm.h> 31 /* STM32 Low-Power Timer is preceded by a configurable power-of-2 prescaler */ 34 static int stm32_pwm_lp_apply(struct pwm_chip *chip, struct pwm_device *pwm, in stm32_pwm_lp_apply() argument 44 pwm_get_state(pwm, &cstate); in stm32_pwm_lp_apply() 47 if (!state->enabled) { in stm32_pwm_lp_apply() 50 ret = regmap_write(priv->regmap, STM32_LPTIM_CR, 0); in stm32_pwm_lp_apply() [all …]
|
| D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 2 menuconfig PWM config 3 bool "Pulse-Width Modulation (PWM) Support" 5 Generic Pulse-Width Modulation (PWM) support. 7 In Pulse-Width Modulation, a variation of the width of pulses 14 This framework provides a generic interface to PWM devices 16 to register and unregister a PWM chip, an abstraction of a PWM 17 controller, that supports one or more PWM devices. Client 18 drivers can request PWM devices and use the generic framework 21 This generic framework replaces the legacy PWM framework which [all …]
|
| D | Makefile | 1 # SPDX-License-Identifier: GPL-2.0 2 obj-$(CONFIG_PWM) += core.o 3 obj-$(CONFIG_PWM_SYSFS) += sysfs.o 4 obj-$(CONFIG_PWM_AB8500) += pwm-ab8500.o 5 obj-$(CONFIG_PWM_ATMEL) += pwm-atmel.o 6 obj-$(CONFIG_PWM_ATMEL_HLCDC_PWM) += pwm-atmel-hlcdc.o 7 obj-$(CONFIG_PWM_ATMEL_TCB) += pwm-atmel-tcb.o 8 obj-$(CONFIG_PWM_BCM_IPROC) += pwm-bcm-iproc.o 9 obj-$(CONFIG_PWM_BCM_KONA) += pwm-bcm-kona.o 10 obj-$(CONFIG_PWM_BCM2835) += pwm-bcm2835.o [all …]
|
| D | pwm-stm32.c | 1 // SPDX-License-Identifier: GPL-2.0 7 * Inspired by timer-stm32.c from Maxime Coquelin 8 * pwm-atmel.c from Bo Shen 12 #include <linux/mfd/stm32-timers.h> 17 #include <linux/pwm.h> 31 struct mutex lock; /* protect pwm config/enable */ 50 regmap_read(dev->regmap, TIM_CCER, &ccer); in active_channels() 59 return regmap_write(dev->regmap, TIM_CCR1, value); in write_ccrx() 61 return regmap_write(dev->regmap, TIM_CCR2, value); in write_ccrx() 63 return regmap_write(dev->regmap, TIM_CCR3, value); in write_ccrx() [all …]
|
| /kernel/linux/linux-4.19/Documentation/ABI/testing/ |
| D | sysfs-bus-iio-adc-stm32 | 5 The STM32 ADC can be configured to use external trigger sources 6 (e.g. timers, pwm or exti gpio). Then, it can be tuned to start 8 - "rising-edge" 9 - "falling-edge" 10 - "both-edges".
|
| /kernel/linux/linux-5.10/Documentation/ABI/testing/ |
| D | sysfs-bus-iio-adc-stm32 | 5 The STM32 ADC can be configured to use external trigger sources 6 (e.g. timers, pwm or exti gpio). Then, it can be tuned to start 9 - "rising-edge" 10 - "falling-edge" 11 - "both-edges".
|
| /kernel/linux/linux-4.19/drivers/mfd/ |
| D | stm32-timers.c | 1 // SPDX-License-Identifier: GPL-2.0 8 #include <linux/mfd/stm32-timers.h> 32 status = dmaengine_tx_status(dma->chan, dma->chan->cookie, &state); in stm32_timers_dma_done() 34 complete(&dma->completion); in stm32_timers_dma_done() 38 * stm32_timers_dma_burst_read - Read from timers registers using DMA. 40 * Read from STM32 timers registers using DMA on a single event. 46 * @bursts: number of bursts to read (e.g. like two for pwm period capture) 56 struct regmap *regmap = ddata->regmap; in stm32_timers_dma_burst_read() 57 struct stm32_timers_dma *dma = &ddata->dma; in stm32_timers_dma_burst_read() 69 return -EINVAL; in stm32_timers_dma_burst_read() [all …]
|