[PATCH RESEND 4/4] pwm: mediatek: add MT2712/MT7622 support
From: john@phrozen.org (John Crispin)
Date: 2017-06-22 06:53:07
Also in:
linux-devicetree, linux-mediatek, linux-pwm, lkml
On 22/06/17 08:09, Zhi Mao wrote:
Hi John, Thanks for your review the code and feedback. There are 3 issues in this patch: 1.adds PWM_CLK_DIV_MAX which really should go into its own patch 2.adds mtk_pwm_com_reg which should also go into its own patch 3.remove comments inline /*===*/ for #1 and #3, I will modify them in the next release. but for #2, I want to discuss with you, adding the structure "mtk_pwm_com_reg" is only for the registers of MT2712 PWM8, so we want to keep this modification in this patch. what's your opinion about it? Any reply is welcome. Regards Zhi
Hi Zhi,
I just had a closer look and noticed that the new CON registers are not
at the same fixed 0x40 offset as the pwm0-5 ones. sorry i did not notice
this. 2) needs to be part of this patch in that case. please add a short
info to the patches description explaining this.
John
On Wed, 2017-06-21 at 20:22 +0800, John Crispin wrote:quoted
On 21/06/17 10:11, Zhi Mao wrote:quoted
support multiple chip(MT2712, MT7622, MT7623)This patch does more than add extra SoC support. It also * adds PWM_CLK_DIV_MAX which really should go into its own patch * adds mtk_pwm_com_reg which should also go into its own patch more comments inlinequoted
Signed-off-by: Zhi Mao <zhi.mao at mediatek.com <mailto:zhi.mao@mediatek.com>> --- drivers/pwm/pwm-mediatek.c | 63 +++++++++++++++++++++++++++++++++++--------- 1 file changed, 51 insertions(+), 12 deletions(-)diff --git a/drivers/pwm/pwm-mediatek.c b/drivers/pwm/pwm-mediatek.c index c803ff6..d520356 100644 --- a/drivers/pwm/pwm-mediatek.c +++ b/drivers/pwm/pwm-mediatek.c@@ -16,6 +16,7 @@ #include <linux/module.h> #include <linux/clk.h> #include <linux/of.h> +#include <linux/of_device.h> #include <linux/platform_device.h> #include <linux/pwm.h> #include <linux/slab.h>[...]quoted
@@ -215,9 +238,25 @@ static int mtk_pwm_remove(struct platform_device *pdev) return pwmchip_remove(&pc->chip); } +/*==========================================*/please remove these comment lines Johnquoted
+static const struct mtk_com_pwm_data mt2712_pwm_data = { + .pwm_nums = 8, +}; + +static const struct mtk_com_pwm_data mt7622_pwm_data = { + .pwm_nums = 6, +}; + +static const struct mtk_com_pwm_data mt7623_pwm_data = { + .pwm_nums = 5, +}; +/*==========================================*/ + static const struct of_device_id mtk_pwm_of_match[] = { - { .compatible = "mediatek,mt7623-pwm" }, - { } + {.compatible = "mediatek,mt2712-pwm", .data = &mt2712_pwm_data}, + {.compatible = "mediatek,mt7622-pwm", .data = &mt7622_pwm_data}, + {.compatible = "mediatek,mt7623-pwm", .data = &mt7623_pwm_data}, + {}, }; MODULE_DEVICE_TABLE(of, mtk_pwm_of_match);