diff mbox series

pwm: Add MediaTek MT8183 display PWM driver support

Message ID 20190116075252.24124-1-jitao.shi@mediatek.com (mailing list archive)
State New, archived
Headers show
Series pwm: Add MediaTek MT8183 display PWM driver support | expand

Commit Message

Jitao Shi Jan. 16, 2019, 7:52 a.m. UTC
Use the mtk_pwm_data struction to define different registers
and add MT8183 specific register operations, such as MT8183
have commit register, needs to enable double buffer
before writing register, and needs to select commit mode
and use PWM_PERIOD/PWM_HIGH_WIDTH.

Signed-off-by: Jitao Shi <jitao.shi@mediatek.com>
---
 drivers/pwm/pwm-mtk-disp.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

Comments

Matthias Brugger Jan. 16, 2019, 10:25 a.m. UTC | #1
On 16/01/2019 08:52, Jitao Shi wrote:
> Use the mtk_pwm_data struction to define different registers
> and add MT8183 specific register operations, such as MT8183
> have commit register, needs to enable double buffer

has_commit is set to false, so I suppose you mean that MT8183 does not have a
commit register.

Regards,
Matthias

> before writing register, and needs to select commit mode
> and use PWM_PERIOD/PWM_HIGH_WIDTH.
> 
> Signed-off-by: Jitao Shi <jitao.shi@mediatek.com>
> ---
>  drivers/pwm/pwm-mtk-disp.c | 11 +++++++++++
>  1 file changed, 11 insertions(+)
> 
> diff --git a/drivers/pwm/pwm-mtk-disp.c b/drivers/pwm/pwm-mtk-disp.c
> index 893940d45f0d..15803c71fe80 100644
> --- a/drivers/pwm/pwm-mtk-disp.c
> +++ b/drivers/pwm/pwm-mtk-disp.c
> @@ -277,10 +277,21 @@ static const struct mtk_pwm_data mt8173_pwm_data = {
>  	.commit_mask = 0x1,
>  };
>  
> +static const struct mtk_pwm_data mt8183_pwm_data = {
> +	.enable_mask = BIT(0),
> +	.con0 = 0x18,
> +	.con0_sel = 0x0,
> +	.con1 = 0x1c,
> +	.has_commit = false,
> +	.bls_debug = 0x80,
> +	.bls_debug_mask = 0x3,
> +};
> +
>  static const struct of_device_id mtk_disp_pwm_of_match[] = {
>  	{ .compatible = "mediatek,mt2701-disp-pwm", .data = &mt2701_pwm_data},
>  	{ .compatible = "mediatek,mt6595-disp-pwm", .data = &mt8173_pwm_data},
>  	{ .compatible = "mediatek,mt8173-disp-pwm", .data = &mt8173_pwm_data},
> +	{ .compatible = "mediatek,mt8183-disp-pwm", .data = &mt8183_pwm_data},
>  	{ }
>  };
>  MODULE_DEVICE_TABLE(of, mtk_disp_pwm_of_match);
>
Uwe Kleine-König Jan. 17, 2019, 1 p.m. UTC | #2
On Wed, Jan 16, 2019 at 03:52:52PM +0800, Jitao Shi wrote:
> Use the mtk_pwm_data struction to define different registers
> and add MT8183 specific register operations, such as MT8183
> have commit register, needs to enable double buffer
> before writing register, and needs to select commit mode
> and use PWM_PERIOD/PWM_HIGH_WIDTH.

You forgot to add linux-pwm to the recipents.

Uwe
diff mbox series

Patch

diff --git a/drivers/pwm/pwm-mtk-disp.c b/drivers/pwm/pwm-mtk-disp.c
index 893940d45f0d..15803c71fe80 100644
--- a/drivers/pwm/pwm-mtk-disp.c
+++ b/drivers/pwm/pwm-mtk-disp.c
@@ -277,10 +277,21 @@  static const struct mtk_pwm_data mt8173_pwm_data = {
 	.commit_mask = 0x1,
 };
 
+static const struct mtk_pwm_data mt8183_pwm_data = {
+	.enable_mask = BIT(0),
+	.con0 = 0x18,
+	.con0_sel = 0x0,
+	.con1 = 0x1c,
+	.has_commit = false,
+	.bls_debug = 0x80,
+	.bls_debug_mask = 0x3,
+};
+
 static const struct of_device_id mtk_disp_pwm_of_match[] = {
 	{ .compatible = "mediatek,mt2701-disp-pwm", .data = &mt2701_pwm_data},
 	{ .compatible = "mediatek,mt6595-disp-pwm", .data = &mt8173_pwm_data},
 	{ .compatible = "mediatek,mt8173-disp-pwm", .data = &mt8173_pwm_data},
+	{ .compatible = "mediatek,mt8183-disp-pwm", .data = &mt8183_pwm_data},
 	{ }
 };
 MODULE_DEVICE_TABLE(of, mtk_disp_pwm_of_match);