Message ID | 1565779497-23621-3-git-send-email-sam.shih@mediatek.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v2,1/10] pwm: mediatek: add a property "num-pwms" | expand |
On Wed, 2019-08-14 at 18:43 +0800, Sam Shih wrote: > From: sam shih <sam.shih@mediatek.com> > > This adds pwm support for MT7629. > > Signed-off-by: Sam Shih <sam.shih@mediatek.com> > --- > arch/arm/boot/dts/mt7629.dtsi | 14 ++++++++++++++ > drivers/pwm/pwm-mediatek.c | 7 +++++++ > 2 files changed, 21 insertions(+) Split dts and driver into different patches. > diff --git a/arch/arm/boot/dts/mt7629.dtsi b/arch/arm/boot/dts/mt7629.dtsi > index 9608bc2ccb3f..352df8d61788 100644 > --- a/arch/arm/boot/dts/mt7629.dtsi > +++ b/arch/arm/boot/dts/mt7629.dtsi > @@ -241,6 +241,18 @@ > status = "disabled"; > }; > > + pwm: pwm@11006000 { > + compatible = "mediatek,mt7629-pwm"; > + reg = <0 0x11006000 0 0x1000>; > + interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_LOW>; > + clocks = <&topckgen CLK_TOP_PWM_SEL>, > + <&pericfg CLK_PERI_PWM_PD>, > + <&pericfg CLK_PERI_PWM1_PD>; > + clock-names = "top", "main", "pwm1"; > + num-pwms = <1>; > + status = "disabled"; > + }; > + > i2c: i2c@11007000 { > compatible = "mediatek,mt7629-i2c", > "mediatek,mt2712-i2c"; > diff --git a/drivers/pwm/pwm-mediatek.c b/drivers/pwm/pwm-mediatek.c > index 922a7543a2b1..d2352ca7792e 100644 > --- a/drivers/pwm/pwm-mediatek.c > +++ b/drivers/pwm/pwm-mediatek.c > @@ -327,11 +327,18 @@ static const struct pwm_mediatek_of_data mt7628_pwm_data = { > .has_clks = false, > }; > > +static const struct pwm_mediatek_of_data mt7629_pwm_data = { > + .fallback_npwms = 1, > + .pwm45_fixup = false, > + .has_clks = true, > +}; > + > static const struct of_device_id pwm_mediatek_of_match[] = { > { .compatible = "mediatek,mt2712-pwm", .data = &mt2712_pwm_data }, > { .compatible = "mediatek,mt7622-pwm", .data = &mt7622_pwm_data }, > { .compatible = "mediatek,mt7623-pwm", .data = &mt7623_pwm_data }, > { .compatible = "mediatek,mt7628-pwm", .data = &mt7628_pwm_data }, > + { .compatible = "mediatek,mt7629-pwm", .data = &mt7629_pwm_data }, > { }, > }; > MODULE_DEVICE_TABLE(of, pwm_mediatek_of_match); It's odd. You fallback to use mt7622 compatible here: [PATCH v2 7/10] dt-bindings: pwm: update bindings for MT7629 SoC. Ryder
diff --git a/arch/arm/boot/dts/mt7629.dtsi b/arch/arm/boot/dts/mt7629.dtsi index 9608bc2ccb3f..352df8d61788 100644 --- a/arch/arm/boot/dts/mt7629.dtsi +++ b/arch/arm/boot/dts/mt7629.dtsi @@ -241,6 +241,18 @@ status = "disabled"; }; + pwm: pwm@11006000 { + compatible = "mediatek,mt7629-pwm"; + reg = <0 0x11006000 0 0x1000>; + interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_LOW>; + clocks = <&topckgen CLK_TOP_PWM_SEL>, + <&pericfg CLK_PERI_PWM_PD>, + <&pericfg CLK_PERI_PWM1_PD>; + clock-names = "top", "main", "pwm1"; + num-pwms = <1>; + status = "disabled"; + }; + i2c: i2c@11007000 { compatible = "mediatek,mt7629-i2c", "mediatek,mt2712-i2c"; diff --git a/drivers/pwm/pwm-mediatek.c b/drivers/pwm/pwm-mediatek.c index 922a7543a2b1..d2352ca7792e 100644 --- a/drivers/pwm/pwm-mediatek.c +++ b/drivers/pwm/pwm-mediatek.c @@ -327,11 +327,18 @@ static const struct pwm_mediatek_of_data mt7628_pwm_data = { .has_clks = false, }; +static const struct pwm_mediatek_of_data mt7629_pwm_data = { + .fallback_npwms = 1, + .pwm45_fixup = false, + .has_clks = true, +}; + static const struct of_device_id pwm_mediatek_of_match[] = { { .compatible = "mediatek,mt2712-pwm", .data = &mt2712_pwm_data }, { .compatible = "mediatek,mt7622-pwm", .data = &mt7622_pwm_data }, { .compatible = "mediatek,mt7623-pwm", .data = &mt7623_pwm_data }, { .compatible = "mediatek,mt7628-pwm", .data = &mt7628_pwm_data }, + { .compatible = "mediatek,mt7629-pwm", .data = &mt7629_pwm_data }, { }, }; MODULE_DEVICE_TABLE(of, pwm_mediatek_of_match);