/linux/arch/arm/boot/dts/st/ |
H A 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 …]
|
H A 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 …]
|
H A D | stm32mp131.dtsi | 1 // SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) 3 * Copyright (C) STMicroelectronics 2021 - All Rights Reserved 6 #include <dt-bindings/interrupt-controller/arm-gic.h> 7 #include <dt-bindings/clock/stm32mp13-clks.h> 8 #include <dt-bindings/reset/stm32mp13-resets.h> 11 #address-cells = <1>; 12 #size-cells = <1>; 15 #address-cells = <1>; 16 #size-cells = <0>; 19 compatible = "arm,cortex-a7"; [all …]
|
H A 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 …]
|
H A 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 …]
|
H A D | stm32f469-disco.dts | 2 * Copyright 2016 - Lee Jones <lee.jones@linaro.org> 4 * This file is dual-licensed: you can use it either under the terms 22 * MA 02110-1301 USA 48 /dts-v1/; 50 #include "stm32f469-pinctrl.dtsi" 51 #include <dt-bindings/gpio/gpio.h> 52 #include <dt-bindings/input/input.h> 55 model = "STMicroelectronics STM32F469i-DISCO board"; 56 compatible = "st,stm32f469i-disco", "st,stm32f469"; 60 stdout-path = "serial0:115200n8"; [all …]
|
H A D | stm32429i-eval.dts | 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 /dts-v1/; 50 #include "stm32f429-pinctrl.dtsi" 51 #include <dt-bindings/input/input.h> 52 #include <dt-bindings/gpio/gpio.h> 53 #include <dt-bindings/media/video-interfaces.h> 56 model = "STMicroelectronics STM32429i-EVAL board"; 57 compatible = "st,stm32429i-eval", "st,stm32f429"; [all …]
|
H A D | stm32f769-disco.dts | 2 * Copyright 2017 - Vikas MANOCHA <vikas.manocha@st.com> 4 * This file is dual-licensed: you can use it either under the terms 43 /dts-v1/; 45 #include "stm32f769-pinctrl.dtsi" 46 #include <dt-bindings/input/input.h> 47 #include <dt-bindings/gpio/gpio.h> 50 model = "STMicroelectronics STM32F769-DISCO board"; 51 compatible = "st,stm32f769-disco", "st,stm32f769"; 55 stdout-path = "serial0:115200n8"; 63 reserved-memory { [all …]
|
H A D | stm32mp15xx-dhcom-drc02.dtsi | 1 // SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause 6 #include <dt-bindings/input/input.h> 7 #include <dt-bindings/pwm/pwm.h> 17 stdout-path = "serial0:115200n8"; 32 * GPIO line, however the STM32 UART driver assumes RX happens 36 rs485-rx-en-hog { 37 gpio-hog; 39 output-low; 40 line-name = "rs485-rx-en"; 45 gpio-line-names = "", "", "", "", [all …]
|
H A D | stm32746g-eval.dts | 2 * Copyright 2015 - Maxime Coquelin <mcoquelin.stm32@gmail.com> 4 * This file is dual-licensed: you can use it either under the terms 43 /dts-v1/; 45 #include "stm32f746-pinctrl.dtsi" 46 #include <dt-bindings/input/input.h> 47 #include <dt-bindings/interrupt-controller/irq.h> 50 model = "STMicroelectronics STM32746g-EVAL board"; 51 compatible = "st,stm32746g-eval", "st,stm32f746"; 55 stdout-path = "serial0:115200n8"; 68 compatible = "gpio-leds"; [all …]
|
H A D | stm32f429-disco.dts | 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 /dts-v1/; 50 #include "stm32f429-pinctrl.dtsi" 51 #include <dt-bindings/input/input.h> 52 #include <dt-bindings/interrupt-controller/irq.h> 53 #include <dt-bindings/gpio/gpio.h> 56 model = "STMicroelectronics STM32F429i-DISCO board"; 57 compatible = "st,stm32f429i-disco", "st,stm32f429"; [all …]
|
/linux/Documentation/devicetree/bindings/mfd/ |
H A 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 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 …]
|
H A 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 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 …]
|
/linux/drivers/pwm/ |
H A 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> 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 …]
|
H A 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 …]
|
H A D | Makefile | 1 # SPDX-License-Identifier: GPL-2.0 2 obj-$(CONFIG_PWM) += core.o 3 obj-$(CONFIG_PWM_AB8500) += pwm-ab8500.o 4 obj-$(CONFIG_PWM_ADP5585) += pwm-adp5585.o 5 obj-$(CONFIG_PWM_APPLE) += pwm-apple.o 6 obj-$(CONFIG_PWM_ATMEL) += pwm-atmel.o 7 obj-$(CONFIG_PWM_ATMEL_HLCDC_PWM) += pwm-atmel-hlcdc.o 8 obj-$(CONFIG_PWM_ATMEL_TCB) += pwm-atmel-tcb.o 9 obj-$(CONFIG_PWM_AXI_PWMGEN) += pwm-axi-pwmgen.o 10 obj-$(CONFIG_PWM_BCM_IPROC) += pwm-bcm-iproc.o [all …]
|
H A 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> 30 struct mutex lock; /* protect pwm config/enable */ 49 regmap_read(dev->regmap, TIM_CCER, &ccer); in active_channels() 60 * Capture using PWM input mode: 82 * 0: IC1/3 snapchot on rising edge: counter value -> CCR1/CCR3 84 * 1: IC2/4 snapchot on falling edge: counter value -> CCR2/CCR4 [all …]
|
/linux/drivers/bus/ |
H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0 37 Driver for the Broadcom Set Top Box System-on-a-chip internal bus 42 bool "Baikal-T1 APB-bus driver" 46 Baikal-T1 AXI-APB bridge is used to access the SoC subsystem CSRs. 53 errors counter. The counter and the APB-bus operations timeout can be 57 bool "Baikal-T1 AXI-bus driver" 61 AXI3-bus is the main communication bus connecting all high-speed 62 peripheral IP-cores with RAM controller and with MIPS P5600 cores on 63 Baikal-T1 SoC. Traffic arbitration is done by means of DW AMBA 3 AXI 114 cores. This bus is for per-CPU tightly coupled devices such as the [all …]
|
/linux/Documentation/ABI/testing/ |
H A 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".
|
/linux/drivers/mfd/ |
H A D | stm32-timers.c | 1 // SPDX-License-Identifier: GPL-2.0 8 #include <linux/mfd/stm32-timers.h> 33 status = dmaengine_tx_status(dma->chan, dma->chan->cookie, &state); in stm32_timers_dma_done() 35 complete(&dma->completion); in stm32_timers_dma_done() 39 * stm32_timers_dma_burst_read - Read from timers registers using DMA. 41 * Read from STM32 timers registers using DMA on a single event. 47 * @bursts: number of bursts to read (e.g. like two for pwm period capture) 57 struct regmap *regmap = ddata->regmap; in stm32_timers_dma_burst_read() 58 struct stm32_timers_dma *dma = &ddata->dma; in stm32_timers_dma_burst_read() 70 return -EINVAL; in stm32_timers_dma_burst_read() [all …]
|
/linux/drivers/regulator/ |
H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 38 managed regulators and simple non-configurable regulators. 64 the netlink mechanism. User-space applications can subscribe to these events 65 for real-time updates on various regulator events. 75 They provide two I2C-controlled DC/DC step-down converters with 101 tristate "Active-semi act8865 voltage regulator" 106 This driver controls a active-semi act8865 voltage output 110 tristate "Active-semi ACT8945A voltage regulator" 113 This driver controls a active-semi ACT8945A voltage regulator 114 via I2C bus. The ACT8945A features three step-down DC/DC converters [all …]
|
H A D | Makefile | 1 # SPDX-License-Identifier: GPL-2.0 7 obj-$(CONFIG_REGULATOR) += core.o dummy.o fixed-helper.o helpers.o devres.o irq_helpers.o 8 obj-$(CONFIG_REGULATOR_NETLINK_EVENTS) += event.o 9 obj-$(CONFIG_OF) += of_regulator.o 10 obj-$(CONFIG_REGULATOR_FIXED_VOLTAGE) += fixed.o 11 obj-$(CONFIG_REGULATOR_VIRTUAL_CONSUMER) += virtual.o 12 obj-$(CONFIG_REGULATOR_USERSPACE_CONSUMER) += userspace-consumer.o 14 obj-$(CONFIG_REGULATOR_88PG86X) += 88pg86x.o 15 obj-$(CONFIG_REGULATOR_88PM800) += 88pm800-regulator.o 16 obj-$(CONFIG_REGULATOR_88PM8607) += 88pm8607.o [all …]
|
/linux/drivers/clocksource/ |
H A D | Makefile | 1 # SPDX-License-Identifier: GPL-2.0 2 obj-$(CONFIG_TIMER_OF) += timer-of.o 3 obj-$(CONFIG_TIMER_PROBE) += timer-probe.o 4 obj-$(CONFIG_ATMEL_PIT) += timer-atmel-pit.o 5 obj-$(CONFIG_ATMEL_ST) += timer-atmel-st.o 6 obj-$(CONFIG_ATMEL_TCB_CLKSRC) += timer-atmel-tcb.o 7 obj-$(CONFIG_X86_PM_TIMER) += acpi_pm.o 8 obj-$(CONFIG_SCx200HR_TIMER) += scx200_hrt.o 9 obj-$(CONFIG_CS5535_CLOCK_EVENT_SRC) += timer-cs5535.o 10 obj-$(CONFIG_CLKSRC_JCORE_PIT) += jcore-pit.o [all …]
|
H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 60 bool "OMAP dual-mode timer driver" if ARCH_K3 || COMPILE_TEST 64 Enables the support for the TI dual-mode timer driver. 190 Enable 24-bit TIMER0 and TIMER1 counters in the NPCM7xx architecture, 213 32-bit free running decrementing counters. 248 bool "Integrator-AP timer driver" if COMPILE_TEST 251 Enables support for the Integrator-AP timer. 276 available on many OMAP-like platforms. 279 bool "Clocksource for STM32 SoCs" if !ARCH_STM32 285 bool "Low power clocksource for STM32 SoCs" [all …]
|
/linux/include/linux/mfd/ |
H A D | stm32-timers.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 12 #include <linux/dma-mapping.h> 26 #define TIM_ARR 0x2c /* Auto-Reload Register */ 27 #define TIM_CCRx(x) (0x34 + 4 * ((x) - 1)) /* Capt/Comp Register x (x ∈ {1, .. 4}) */ 32 #define TIM_BDTR 0x44 /* Break and Dead-Time Reg */ 39 #define TIM_CR1_ARPE BIT(7) /* Auto-reload Preload Ena */ 45 #define TIM_DIER_CCxIE(x) BIT(1 + ((x) - 1)) /* CCx Interrupt Enable (x ∈ {1, .. 4}) */ 51 #define TIM_DIER_CCxDE(x) BIT(9 + ((x) - 1)) /* CCx DMA request Enable (x ∈ {1, .. 4}) */ 62 #define TIM_CCMR_M1 (BIT(6) | BIT(5)) /* Channel PWM Mode 1 */ 75 #define TIM_CCER_CCxE(x) BIT(0 + 4 * ((x) - 1)) /* Capt/Comp x out Ena (x ∈ {1, .. 4}) */ [all …]
|