Home
last modified time | relevance | path

Searched +full:stm32 +full:- +full:lptimer (Results 1 – 25 of 33) sorted by relevance

12

/kernel/linux/linux-5.10/Documentation/devicetree/bindings/mfd/
Dst,stm32-lptimer.yaml1 # 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 …]
/kernel/linux/linux-4.19/Documentation/devicetree/bindings/mfd/
Dstm32-lptimer.txt1 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 …]
/kernel/linux/linux-4.19/Documentation/devicetree/bindings/iio/timer/
Dstm32-lptimer-trigger.txt1 STMicroelectronics STM32 Low-Power Timer Trigger
3 STM32 Low-Power Timer provides trigger source (LPTIM output) that can be used
4 by STM32 internal ADC and/or DAC.
6 Must be a sub-node of an STM32 Low-Power Timer device tree node.
7 See ../mfd/stm32-lptimer.txt for details about the parent node.
10 - compatible: Must be "st,stm32-lptimer-trigger".
11 - reg: Identify trigger hardware block. Must be 0, 1 or 2
17 compatible = "st,stm32-lptimer";
20 compatible = "st,stm32-lptimer-trigger";
/kernel/linux/linux-4.19/Documentation/devicetree/bindings/iio/counter/
Dstm32-lptimer-cnt.txt1 STMicroelectronics STM32 Low-Power Timer quadrature encoder and counter
3 STM32 Low-Power Timer provides several counter modes. It can be used as:
4 - quadrature encoder to detect angular position and direction of rotary
6 - simple counter from IN1 input signal.
8 Must be a sub-node of an STM32 Low-Power Timer device tree node.
9 See ../mfd/stm32-lptimer.txt for details about the parent node.
12 - compatible: Must be "st,stm32-lptimer-counter".
13 - pinctrl-names: Set to "default".
14 - pinctrl-0: List of phandles pointing to pin configuration nodes,
15 to set IN1/IN2 pins in mode of operation for Low-Power
[all …]
/kernel/linux/linux-4.19/drivers/iio/trigger/
Dstm32-lptimer-trigger.c1 // SPDX-License-Identifier: GPL-2.0
3 * STM32 Low-Power Timer Trigger driver
9 * Inspired by Benjamin Gaignard's stm32-timer-trigger driver
12 #include <linux/iio/timer/stm32-lptim-trigger.h>
13 #include <linux/mfd/stm32-lptimer.h>
17 /* List Low-Power Timer triggers */
32 if (indio_dev->modes & INDIO_HARDWARE_TRIGGERED) in stm32_lptim_validate_device()
35 return -EINVAL; in stm32_lptim_validate_device()
46 * return true if the trigger is a valid STM32 IIO Low-Power Timer Trigger
51 return (trig->ops == &stm32_lptim_trigger_ops); in is_stm32_lptim_trigger()
[all …]
DKconfig6 menu "Triggers - standalone"
16 module will be called iio-trig-hrtimer.
25 module will be called iio-trig-interrupt.
28 tristate "STM32 Low-Power Timer Trigger"
31 Select this option to enable STM32 Low-Power Timer Trigger.
32 This can be used as trigger source for STM32 internal ADC
36 module will be called stm32-lptimer-trigger.
39 tristate "STM32 Timer Trigger"
42 Select this option to enable STM32 Timer Trigger
45 module will be called stm32-timer-trigger.
[all …]
DMakefile1 # SPDX-License-Identifier: GPL-2.0
3 # Makefile for triggers not associated with iio-devices
8 obj-$(CONFIG_IIO_HRTIMER_TRIGGER) += iio-trig-hrtimer.o
9 obj-$(CONFIG_IIO_INTERRUPT_TRIGGER) += iio-trig-interrupt.o
10 obj-$(CONFIG_IIO_STM32_LPTIMER_TRIGGER) += stm32-lptimer-trigger.o
11 obj-$(CONFIG_IIO_STM32_TIMER_TRIGGER) += stm32-timer-trigger.o
12 obj-$(CONFIG_IIO_SYSFS_TRIGGER) += iio-trig-sysfs.o
13 obj-$(CONFIG_IIO_TIGHTLOOP_TRIGGER) += iio-trig-loop.o
/kernel/linux/linux-5.10/drivers/iio/trigger/
Dstm32-lptimer-trigger.c1 // SPDX-License-Identifier: GPL-2.0
3 * STM32 Low-Power Timer Trigger driver
9 * Inspired by Benjamin Gaignard's stm32-timer-trigger driver
12 #include <linux/iio/timer/stm32-lptim-trigger.h>
13 #include <linux/mfd/stm32-lptimer.h>
17 /* List Low-Power Timer triggers */
32 if (indio_dev->modes & INDIO_HARDWARE_TRIGGERED) in stm32_lptim_validate_device()
35 return -EINVAL; in stm32_lptim_validate_device()
46 * return true if the trigger is a valid STM32 IIO Low-Power Timer Trigger
51 return (trig->ops == &stm32_lptim_trigger_ops); in is_stm32_lptim_trigger()
[all …]
DKconfig1 # SPDX-License-Identifier: GPL-2.0-only
7 menu "Triggers - standalone"
17 module will be called iio-trig-hrtimer.
26 module will be called iio-trig-interrupt.
29 tristate "STM32 Low-Power Timer Trigger"
32 Select this option to enable STM32 Low-Power Timer Trigger.
33 This can be used as trigger source for STM32 internal ADC
37 module will be called stm32-lptimer-trigger.
40 tristate "STM32 Timer Trigger"
43 Select this option to enable STM32 Timer Trigger
[all …]
DMakefile1 # SPDX-License-Identifier: GPL-2.0
3 # Makefile for triggers not associated with iio-devices
8 obj-$(CONFIG_IIO_HRTIMER_TRIGGER) += iio-trig-hrtimer.o
9 obj-$(CONFIG_IIO_INTERRUPT_TRIGGER) += iio-trig-interrupt.o
10 obj-$(CONFIG_IIO_STM32_LPTIMER_TRIGGER) += stm32-lptimer-trigger.o
11 obj-$(CONFIG_IIO_STM32_TIMER_TRIGGER) += stm32-timer-trigger.o
12 obj-$(CONFIG_IIO_SYSFS_TRIGGER) += iio-trig-sysfs.o
13 obj-$(CONFIG_IIO_TIGHTLOOP_TRIGGER) += iio-trig-loop.o
/kernel/linux/linux-4.19/drivers/mfd/
Dstm32-lptimer.c1 // SPDX-License-Identifier: GPL-2.0
3 * STM32 Low-Power Timer parent driver.
6 * Inspired by Benjamin Gaignard's stm32-timers driver
9 #include <linux/mfd/stm32-lptimer.h>
29 * Low-Power Timer supports it. in stm32_lptimer_detect_encoder()
31 ret = regmap_update_bits(ddata->regmap, STM32_LPTIM_CFGR, in stm32_lptimer_detect_encoder()
36 ret = regmap_read(ddata->regmap, STM32_LPTIM_CFGR, &val); in stm32_lptimer_detect_encoder()
40 ret = regmap_update_bits(ddata->regmap, STM32_LPTIM_CFGR, in stm32_lptimer_detect_encoder()
45 ddata->has_encoder = !!(val & STM32_LPTIM_ENC); in stm32_lptimer_detect_encoder()
52 struct device *dev = &pdev->dev; in stm32_lptimer_probe()
[all …]
/kernel/linux/linux-5.10/drivers/mfd/
Dstm32-lptimer.c1 // SPDX-License-Identifier: GPL-2.0
3 * STM32 Low-Power Timer parent driver.
6 * Inspired by Benjamin Gaignard's stm32-timers driver
9 #include <linux/mfd/stm32-lptimer.h>
30 * Low-Power Timer supports it. in stm32_lptimer_detect_encoder()
32 ret = regmap_update_bits(ddata->regmap, STM32_LPTIM_CFGR, in stm32_lptimer_detect_encoder()
37 ret = regmap_read(ddata->regmap, STM32_LPTIM_CFGR, &val); in stm32_lptimer_detect_encoder()
41 ret = regmap_update_bits(ddata->regmap, STM32_LPTIM_CFGR, in stm32_lptimer_detect_encoder()
46 ddata->has_encoder = !!(val & STM32_LPTIM_ENC); in stm32_lptimer_detect_encoder()
53 struct device *dev = &pdev->dev; in stm32_lptimer_probe()
[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-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/Documentation/devicetree/bindings/pwm/
Dpwm-stm32-lp.txt1 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
14 - pinctrl-names: Set to "default".
15 - pinctrl-0: Phandle pointing to pin configuration node for PWM.
19 compatible = "st,stm32-lptimer";
22 compatible = "st,stm32-pwm-lp";
[all …]
/kernel/linux/linux-5.10/drivers/clocksource/
Dtimer-stm32-lp.c1 // SPDX-License-Identifier: GPL-2.0
3 * Copyright (C) STMicroelectronics 2019 - All Rights Reserved
11 #include <linux/mfd/stm32-lptimer.h>
40 regmap_write(priv->reg, STM32_LPTIM_CR, 0); in stm32_clkevent_lp_shutdown()
41 regmap_write(priv->reg, STM32_LPTIM_IER, 0); in stm32_clkevent_lp_shutdown()
43 regmap_write(priv->reg, STM32_LPTIM_ICR, STM32_LPTIM_ARRMCF); in stm32_clkevent_lp_shutdown()
54 /* disable LPTIMER to be able to write into IER register*/ in stm32_clkevent_lp_set_timer()
55 regmap_write(priv->reg, STM32_LPTIM_CR, 0); in stm32_clkevent_lp_set_timer()
57 regmap_write(priv->reg, STM32_LPTIM_IER, STM32_LPTIM_ARRMIE); in stm32_clkevent_lp_set_timer()
58 /* enable LPTIMER to be able to write into ARR register */ in stm32_clkevent_lp_set_timer()
[all …]
/kernel/linux/linux-4.19/drivers/iio/counter/
Dstm32-lptimer-cnt.c1 // SPDX-License-Identifier: GPL-2.0
3 * STM32 Low-Power Timer Encoder and Counter driver
9 * Inspired by 104-quad-8 and stm32-timer-trigger drivers.
15 #include <linux/mfd/stm32-lptimer.h>
33 ret = regmap_read(priv->regmap, STM32_LPTIM_CR, &val); in stm32_lptim_is_enabled()
47 ret = regmap_write(priv->regmap, STM32_LPTIM_CR, val); in stm32_lptim_set_enable_state()
52 clk_disable(priv->clk); in stm32_lptim_set_enable_state()
57 ret = regmap_write(priv->regmap, STM32_LPTIM_ARR, priv->preset); in stm32_lptim_set_enable_state()
61 ret = regmap_write(priv->regmap, STM32_LPTIM_CMP, 0); in stm32_lptim_set_enable_state()
66 ret = regmap_read_poll_timeout(priv->regmap, STM32_LPTIM_ISR, val, in stm32_lptim_set_enable_state()
[all …]
DKconfig9 tristate "ACCES 104-QUAD-8 driver"
13 Say yes here to build support for the ACCES 104-QUAD-8 quadrature
14 encoder counter/interface device family (104-QUAD-8, 104-QUAD-4).
18 have a 25-bit range, only the lower 24 bits may be set, either directly
26 tristate "STM32 LP Timer encoder counter driver"
29 Select this option to enable STM32 Low-Power Timer quadrature encoder
33 module will be called stm32-lptimer-cnt.
DMakefile7 obj-$(CONFIG_104_QUAD_8) += 104-quad-8.o
8 obj-$(CONFIG_STM32_LPTIMER_CNT) += stm32-lptimer-cnt.o
/kernel/linux/linux-5.10/drivers/counter/
Dstm32-lptimer-cnt.c1 // SPDX-License-Identifier: GPL-2.0
3 * STM32 Low-Power Timer Encoder and Counter driver
9 * Inspired by 104-quad-8 and stm32-timer-trigger drivers.
16 #include <linux/mfd/stm32-lptimer.h>
37 ret = regmap_read(priv->regmap, STM32_LPTIM_CR, &val); in stm32_lptim_is_enabled()
51 ret = regmap_write(priv->regmap, STM32_LPTIM_CR, val); in stm32_lptim_set_enable_state()
56 clk_disable(priv->clk); in stm32_lptim_set_enable_state()
57 priv->enabled = false; in stm32_lptim_set_enable_state()
62 ret = regmap_write(priv->regmap, STM32_LPTIM_ARR, priv->ceiling); in stm32_lptim_set_enable_state()
66 ret = regmap_write(priv->regmap, STM32_LPTIM_CMP, 0); in stm32_lptim_set_enable_state()
[all …]
DMakefile1 # SPDX-License-Identifier: GPL-2.0-only
6 obj-$(CONFIG_COUNTER) += counter.o
8 obj-$(CONFIG_104_QUAD_8) += 104-quad-8.o
9 obj-$(CONFIG_STM32_TIMER_CNT) += stm32-timer-cnt.o
10 obj-$(CONFIG_STM32_LPTIMER_CNT) += stm32-lptimer-cnt.o
11 obj-$(CONFIG_TI_EQEP) += ti-eqep.o
12 obj-$(CONFIG_FTM_QUADDEC) += ftm-quaddec.o
13 obj-$(CONFIG_MICROCHIP_TCB_CAPTURE) += microchip-tcb-capture.o
DKconfig1 # SPDX-License-Identifier: GPL-2.0-only
16 tristate "ACCES 104-QUAD-8 driver"
20 Say yes here to build support for the ACCES 104-QUAD-8 quadrature
21 encoder counter/interface device family (104-QUAD-8, 104-QUAD-4).
25 104-QUAD-8 counters have a 25-bit range, only the lower 24 bits may be
33 tristate "STM32 Timer encoder counter driver"
36 Select this option to enable STM32 Timer quadrature encoder
40 module will be called stm32-timer-cnt.
43 tristate "STM32 LP Timer encoder counter driver"
46 Select this option to enable STM32 Low-Power Timer quadrature encoder
[all …]
/kernel/linux/linux-4.19/drivers/pwm/
Dpwm-stm32-lp.c1 // 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>
30 /* STM32 Low-Power Timer is preceded by a configurable power-of-2 prescaler */
46 if (!state->enabled) { in stm32_pwm_lp_apply()
49 ret = regmap_write(priv->regmap, STM32_LPTIM_CR, 0); in stm32_pwm_lp_apply()
53 clk_disable(priv->clk); in stm32_pwm_lp_apply()
59 div = (unsigned long long)clk_get_rate(priv->clk) * state->period; in stm32_pwm_lp_apply()
63 dev_dbg(priv->chip.dev, "Can't reach %u ns\n", state->period); in stm32_pwm_lp_apply()
[all …]

12