aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSylvain Lemieux <slemieux@tycoint.com>2016-02-10 13:52:32 -0500
committerStephen Boyd <sboyd@codeaurora.org>2016-02-10 15:45:16 -0500
commit7e0810c9485ce696df3813574bca44139f6eb0c8 (patch)
tree713ed9293393277038ffcb223b1d8fed65356e9f
parent58bb621536d1f64db619744c85dcbb94705eda85 (diff)
clk: lpc32xx: add HCLK PLL output configuration
This patch add the support to setup the HCLK PLL output using the "assigned-clock-rates" parameter in the device tree. If the option is not use, the clock setup by the kickstart and/or bootloader remain unchanged. The previous kernel version did not change the clock frequency output setup by the kickstart and/or bootloader; this version always setup the clock frequency output to 208MHz. Signed-off-by: Sylvain Lemieux <slemieux@tycoint.com> Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
-rw-r--r--drivers/clk/nxp/clk-lpc32xx.c6
-rw-r--r--include/dt-bindings/clock/lpc32xx-clock.h1
2 files changed, 2 insertions, 5 deletions
diff --git a/drivers/clk/nxp/clk-lpc32xx.c b/drivers/clk/nxp/clk-lpc32xx.c
index 981ff0dd88b4..48b3a11aa09a 100644
--- a/drivers/clk/nxp/clk-lpc32xx.c
+++ b/drivers/clk/nxp/clk-lpc32xx.c
@@ -87,7 +87,7 @@ enum {
87 87
88enum { 88enum {
89 /* Start from the last defined clock in dt bindings */ 89 /* Start from the last defined clock in dt bindings */
90 LPC32XX_CLK_ADC_DIV = LPC32XX_CLK_ADC + 1, 90 LPC32XX_CLK_ADC_DIV = LPC32XX_CLK_HCLK_PLL + 1,
91 LPC32XX_CLK_ADC_RTC, 91 LPC32XX_CLK_ADC_RTC,
92 LPC32XX_CLK_TEST1, 92 LPC32XX_CLK_TEST1,
93 LPC32XX_CLK_TEST2, 93 LPC32XX_CLK_TEST2,
@@ -96,7 +96,6 @@ enum {
96 LPC32XX_CLK_OSC, 96 LPC32XX_CLK_OSC,
97 LPC32XX_CLK_SYS, 97 LPC32XX_CLK_SYS,
98 LPC32XX_CLK_PLL397X, 98 LPC32XX_CLK_PLL397X,
99 LPC32XX_CLK_HCLK_PLL,
100 LPC32XX_CLK_HCLK_DIV_PERIPH, 99 LPC32XX_CLK_HCLK_DIV_PERIPH,
101 LPC32XX_CLK_HCLK_DIV, 100 LPC32XX_CLK_HCLK_DIV,
102 LPC32XX_CLK_HCLK, 101 LPC32XX_CLK_HCLK,
@@ -1526,9 +1525,6 @@ static void __init lpc32xx_clk_init(struct device_node *np)
1526 1525
1527 of_clk_add_provider(np, of_clk_src_onecell_get, &clk_data); 1526 of_clk_add_provider(np, of_clk_src_onecell_get, &clk_data);
1528 1527
1529 /* For 13MHz osc valid output range of PLL is from 156MHz to 266.5MHz */
1530 clk_set_rate(clk[LPC32XX_CLK_HCLK_PLL], 208000000);
1531
1532 /* Set 48MHz rate of USB PLL clock */ 1528 /* Set 48MHz rate of USB PLL clock */
1533 clk_set_rate(clk[LPC32XX_CLK_USB_PLL], 48000000); 1529 clk_set_rate(clk[LPC32XX_CLK_USB_PLL], 48000000);
1534 1530
diff --git a/include/dt-bindings/clock/lpc32xx-clock.h b/include/dt-bindings/clock/lpc32xx-clock.h
index bcb1c9a73519..d41b6fea1450 100644
--- a/include/dt-bindings/clock/lpc32xx-clock.h
+++ b/include/dt-bindings/clock/lpc32xx-clock.h
@@ -47,6 +47,7 @@
47#define LPC32XX_CLK_PWM1 32 47#define LPC32XX_CLK_PWM1 32
48#define LPC32XX_CLK_PWM2 33 48#define LPC32XX_CLK_PWM2 33
49#define LPC32XX_CLK_ADC 34 49#define LPC32XX_CLK_ADC 34
50#define LPC32XX_CLK_HCLK_PLL 35
50 51
51/* LPC32XX USB clocks */ 52/* LPC32XX USB clocks */
52#define LPC32XX_USB_CLK_I2C 1 53#define LPC32XX_USB_CLK_I2C 1