OSDN Git Service

ARM: dts: stm32: add support for PWM on stm32mp157a-dk1
authorFabrice Gasnier <fabrice.gasnier@st.com>
Tue, 5 Nov 2019 12:52:21 +0000 (13:52 +0100)
committerAlexandre Torgue <alexandre.torgue@st.com>
Mon, 9 Dec 2019 08:19:15 +0000 (09:19 +0100)
Add PWM support on stm32mp157a-dk1 board. There are several timers channels
made available on GPIO expansion and arduino connectors:
- Add PWM and trigger support (these timers can also be used as trigger
  for ADC).
It's easier then to configure them all. But keep them disabled by default,
so the pins are kept in their initial state to lower power consumption.
This way they can also be used as GPIO.

Signed-off-by: Fabrice Gasnier <fabrice.gasnier@st.com>
Signed-off-by: Alexandre Torgue <alexandre.torgue@st.com>
arch/arm/boot/dts/stm32mp157a-dk1.dts

index 984a47c..d4e37ab 100644 (file)
        status = "okay";
 };
 
+&timers1 {
+       /* spare dmas for other usage */
+       /delete-property/dmas;
+       /delete-property/dma-names;
+       status = "disabled";
+       pwm {
+               pinctrl-0 = <&pwm1_pins_a>;
+               pinctrl-1 = <&pwm1_sleep_pins_a>;
+               pinctrl-names = "default", "sleep";
+               status = "okay";
+       };
+       timer@0 {
+               status = "okay";
+       };
+};
+
+&timers3 {
+       /delete-property/dmas;
+       /delete-property/dma-names;
+       status = "disabled";
+       pwm {
+               pinctrl-0 = <&pwm3_pins_a>;
+               pinctrl-1 = <&pwm3_sleep_pins_a>;
+               pinctrl-names = "default", "sleep";
+               status = "okay";
+       };
+       timer@2 {
+               status = "okay";
+       };
+};
+
+&timers4 {
+       /delete-property/dmas;
+       /delete-property/dma-names;
+       status = "disabled";
+       pwm {
+               pinctrl-0 = <&pwm4_pins_a &pwm4_pins_b>;
+               pinctrl-1 = <&pwm4_sleep_pins_a &pwm4_sleep_pins_b>;
+               pinctrl-names = "default", "sleep";
+               status = "okay";
+       };
+       timer@3 {
+               status = "okay";
+       };
+};
+
+&timers5 {
+       /delete-property/dmas;
+       /delete-property/dma-names;
+       status = "disabled";
+       pwm {
+               pinctrl-0 = <&pwm5_pins_a>;
+               pinctrl-1 = <&pwm5_sleep_pins_a>;
+               pinctrl-names = "default", "sleep";
+               status = "okay";
+       };
+       timer@4 {
+               status = "okay";
+       };
+};
+
+&timers6 {
+       /delete-property/dmas;
+       /delete-property/dma-names;
+       status = "disabled";
+       timer@5 {
+               status = "okay";
+       };
+};
+
+&timers12 {
+       /delete-property/dmas;
+       /delete-property/dma-names;
+       status = "disabled";
+       pwm {
+               pinctrl-0 = <&pwm12_pins_a>;
+               pinctrl-1 = <&pwm12_sleep_pins_a>;
+               pinctrl-names = "default", "sleep";
+               status = "okay";
+       };
+       timer@11 {
+               status = "okay";
+       };
+};
+
 &uart4 {
        pinctrl-names = "default";
        pinctrl-0 = <&uart4_pins_a>;