Sophie

Sophie

distrib > Mageia > 7 > i586 > media > core-updates > by-pkgid > 1fb57563f6a37947a01076dd207e61cb > files > 2920

kernel-doc-5.3.2-1.mga7.noarch.rpm

STM32 Timers driver bindings

This IP provides 3 types of timer along with PWM functionality:
- advanced-control timers consist of a 16-bit auto-reload counter driven by a programmable
  prescaler, break input feature, PWM outputs and complementary PWM ouputs channels.
- general-purpose timers consist of a 16-bit or 32-bit auto-reload counter driven by a
  programmable prescaler and PWM outputs.
- basic timers consist of a 16-bit auto-reload counter driven by a programmable prescaler.

Required parameters:
- compatible: must be "st,stm32-timers"

- reg:			Physical base address and length of the controller's
			registers.
- clock-names:		Set to "int".
- clocks: 		Phandle to the clock used by the timer module.
			For Clk properties, please refer to ../clock/clock-bindings.txt

Optional parameters:
- resets:		Phandle to the parent reset controller.
			See ../reset/st,stm32-rcc.txt
- dmas:			List of phandle to dma channels that can be used for
			this timer instance. There may be up to 7 dma channels.
- dma-names:		List of dma names. Must match 'dmas' property. Valid
			names are: "ch1", "ch2", "ch3", "ch4", "up", "trig",
			"com".

Optional subnodes:
- pwm:			See ../pwm/pwm-stm32.txt
- timer:		See ../iio/timer/stm32-timer-trigger.txt
- counter:		See ../counter/stm32-timer-cnt.txt

Example:
	timers@40010000 {
		#address-cells = <1>;
		#size-cells = <0>;
		compatible = "st,stm32-timers";
		reg = <0x40010000 0x400>;
		clocks = <&rcc 0 160>;
		clock-names = "int";

		pwm {
			compatible = "st,stm32-pwm";
			pinctrl-0	= <&pwm1_pins>;
			pinctrl-names	= "default";
		};

		timer@0 {
			compatible = "st,stm32-timer-trigger";
			reg = <0>;
		};

		counter {
			compatible = "st,stm32-timer-counter";
			pinctrl-names = "default";
			pinctrl-0 = <&tim1_in_pins>;
		};
	};

Example with all dmas:
	timer@40010000 {
		...
		dmas = <&dmamux1 11 0x400 0x0>,
		       <&dmamux1 12 0x400 0x0>,
		       <&dmamux1 13 0x400 0x0>,
		       <&dmamux1 14 0x400 0x0>,
		       <&dmamux1 15 0x400 0x0>,
		       <&dmamux1 16 0x400 0x0>,
		       <&dmamux1 17 0x400 0x0>;
		dma-names = "ch1", "ch2", "ch3", "ch4", "up", "trig", "com";
		...
		child nodes...
	};