clk-master can have 5 divisors with a field width of 3 bits
on some products.

Change the mask and number of divisors accordingly.

Reported-by: Mihai Sain <mihai.s...@microchip.com>
Signed-off-by: Eugen Hristev <eugen.hris...@microchip.com>
Reviewed-by: Claudiu Beznea <claudiu.bez...@microchip.com>
---
 drivers/clk/at91/clk-master.c | 2 +-
 drivers/clk/at91/pmc.h        | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/clk/at91/clk-master.c b/drivers/clk/at91/clk-master.c
index 759df93697..5d93e6a7e5 100644
--- a/drivers/clk/at91/clk-master.c
+++ b/drivers/clk/at91/clk-master.c
@@ -24,7 +24,7 @@
 #define MASTER_PRES_MASK       0x7
 #define MASTER_PRES_MAX                MASTER_PRES_MASK
 #define MASTER_DIV_SHIFT       8
-#define MASTER_DIV_MASK                0x3
+#define MASTER_DIV_MASK                0x7
 
 #define PMC_MCR                        0x30
 #define PMC_MCR_ID_MSK         GENMASK(3, 0)
diff --git a/drivers/clk/at91/pmc.h b/drivers/clk/at91/pmc.h
index a6a714fd22..f07f535e49 100644
--- a/drivers/clk/at91/pmc.h
+++ b/drivers/clk/at91/pmc.h
@@ -30,7 +30,7 @@ extern const struct clk_master_layout 
at91sam9x5_master_layout;
 
 struct clk_master_characteristics {
        struct clk_range output;
-       u32 divisors[4];
+       u32 divisors[5];
        u8 have_div3_pres;
 };
 
-- 
2.25.1

Reply via email to