Thread (1 message) 1 message, 1 author, 2017-06-22

[PATCH RESEND 4/4] pwm: mediatek: add MT2712/MT7622 support

From: john@phrozen.org (John Crispin)
Date: 2017-06-22 06:12:52
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 another look and noticed that the CON registers are not at a 
fixed offset of 0x40 for the new pwm8 register so having 2) inside this 
patch makes sense. please explain in the description that this is the case

     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 inline
quoted
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

      John
quoted
+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);
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help