lkml.org 
[lkml]   [2020]   [Apr]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Subject[PATCH] pwm: sun4i: direct clock output support for Allwinner A64
Date
Allwinner A64 is capable of a direct clock output on PWM (see A64
User Manual chapter 3.10). Add support for this in the sun4i PWM
driver and adjust compatibility in sun50i-a64 base device tree.

Signed-off-by: Peter Vasil <peter.vasil@gmail.com>
---
arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi | 6 ++----
drivers/pwm/pwm-sun4i.c | 9 +++++++++
2 files changed, 11 insertions(+), 4 deletions(-)

diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
index 31143fe64d91..c334fd106854 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
@@ -1069,8 +1069,7 @@ gic: interrupt-controller@1c81000 {
};

pwm: pwm@1c21400 {
- compatible = "allwinner,sun50i-a64-pwm",
- "allwinner,sun5i-a13-pwm";
+ compatible = "allwinner,sun50i-a64-pwm";
reg = <0x01c21400 0x400>;
clocks = <&osc24M>;
pinctrl-names = "default";
@@ -1252,8 +1251,7 @@ r_ir: ir@1f02000 {
};

r_pwm: pwm@1f03800 {
- compatible = "allwinner,sun50i-a64-pwm",
- "allwinner,sun5i-a13-pwm";
+ compatible = "allwinner,sun50i-a64-pwm";
reg = <0x01f03800 0x400>;
clocks = <&osc24M>;
pinctrl-names = "default";
diff --git a/drivers/pwm/pwm-sun4i.c b/drivers/pwm/pwm-sun4i.c
index 5c677c563349..18fbbe3277d0 100644
--- a/drivers/pwm/pwm-sun4i.c
+++ b/drivers/pwm/pwm-sun4i.c
@@ -352,6 +352,12 @@ static const struct sun4i_pwm_data sun4i_pwm_single_bypass = {
.npwm = 1,
};

+static const struct sun4i_pwm_data sun50i_a64_pwm_data = {
+ .has_prescaler_bypass = true,
+ .has_direct_mod_clk_output = true,
+ .npwm = 1,
+};
+
static const struct sun4i_pwm_data sun50i_h6_pwm_data = {
.has_prescaler_bypass = true,
.has_direct_mod_clk_output = true,
@@ -374,6 +380,9 @@ static const struct of_device_id sun4i_pwm_dt_ids[] = {
}, {
.compatible = "allwinner,sun8i-h3-pwm",
.data = &sun4i_pwm_single_bypass,
+ }, {
+ .compatible = "allwinner,sun50i-a64-pwm",
+ .data = &sun50i_a64_pwm_data,
}, {
.compatible = "allwinner,sun50i-h6-pwm",
.data = &sun50i_h6_pwm_data,
--
2.25.1
\
 
 \ /
  Last update: 2020-04-26 12:13    [W:0.041 / U:1.412 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site