diff options
author | Sylvain Lemieux <slemieux@tycoint.com> | 2016-02-10 13:52:32 -0500 |
---|---|---|
committer | Stephen Boyd <sboyd@codeaurora.org> | 2016-02-10 15:45:16 -0500 |
commit | 7e0810c9485ce696df3813574bca44139f6eb0c8 (patch) | |
tree | 713ed9293393277038ffcb223b1d8fed65356e9f | |
parent | 58bb621536d1f64db619744c85dcbb94705eda85 (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.c | 6 | ||||
-rw-r--r-- | include/dt-bindings/clock/lpc32xx-clock.h | 1 |
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 | ||
88 | enum { | 88 | enum { |
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 |