Commit 74d0c3b2 authored by Claudiu Beznea's avatar Claudiu Beznea Committed by Thierry Reding

pwm: atmel: Add support for SAM9X60's PWM controller

Add support for SAM9X60's PWM controller.
Signed-off-by: default avatarClaudiu Beznea <claudiu.beznea@microchip.com>
Signed-off-by: default avatarThierry Reding <thierry.reding@gmail.com>
parent 14101caf
...@@ -52,6 +52,8 @@ ...@@ -52,6 +52,8 @@
/* Only the LSB 16 bits are significant. */ /* Only the LSB 16 bits are significant. */
#define PWM_MAXV1_PRD 0xFFFF #define PWM_MAXV1_PRD 0xFFFF
/* All 32 bits are significant. */
#define PWM_MAXV2_PRD 0xFFFFFFFF
#define PRD_MAXV1_PRES 10 #define PRD_MAXV1_PRES 10
struct atmel_pwm_registers { struct atmel_pwm_registers {
...@@ -311,6 +313,20 @@ static const struct atmel_pwm_data atmel_sama5_pwm_data = { ...@@ -311,6 +313,20 @@ static const struct atmel_pwm_data atmel_sama5_pwm_data = {
}, },
}; };
static const struct atmel_pwm_data mchp_sam9x60_pwm_data = {
.regs = {
.period = PWMV1_CPRD,
.period_upd = PWMV1_CUPD,
.duty = PWMV1_CDTY,
.duty_upd = PWMV1_CUPD,
},
.cfg = {
/* 32 bits to keep period and duty. */
.max_period = PWM_MAXV2_PRD,
.max_pres = PRD_MAXV1_PRES,
},
};
static const struct platform_device_id atmel_pwm_devtypes[] = { static const struct platform_device_id atmel_pwm_devtypes[] = {
{ {
.name = "at91sam9rl-pwm", .name = "at91sam9rl-pwm",
...@@ -334,6 +350,9 @@ static const struct of_device_id atmel_pwm_dt_ids[] = { ...@@ -334,6 +350,9 @@ static const struct of_device_id atmel_pwm_dt_ids[] = {
}, { }, {
.compatible = "atmel,sama5d2-pwm", .compatible = "atmel,sama5d2-pwm",
.data = &atmel_sama5_pwm_data, .data = &atmel_sama5_pwm_data,
}, {
.compatible = "microchip,sam9x60-pwm",
.data = &mchp_sam9x60_pwm_data,
}, { }, {
/* sentinel */ /* sentinel */
}, },
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment