Commit dcc88a17 authored by Mark Brown's avatar Mark Brown Committed by Russell King

[ARM] 4830/1: Add support for the CLK_POUT pin on PXA3xx CPUs

Expose control of the PXA3xx 13MHz CLK_POUT pin via the clock API
Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
parent 184dd481
...@@ -156,6 +156,21 @@ static const struct clkops clk_pxa3xx_hsio_ops = { ...@@ -156,6 +156,21 @@ static const struct clkops clk_pxa3xx_hsio_ops = {
.getrate = clk_pxa3xx_hsio_getrate, .getrate = clk_pxa3xx_hsio_getrate,
}; };
static void clk_pout_enable(struct clk *clk)
{
OSCC |= OSCC_PEN;
}
static void clk_pout_disable(struct clk *clk)
{
OSCC &= ~OSCC_PEN;
}
static const struct clkops clk_pout_ops = {
.enable = clk_pout_enable,
.disable = clk_pout_disable,
};
#define PXA3xx_CKEN(_name, _cken, _rate, _delay, _dev) \ #define PXA3xx_CKEN(_name, _cken, _rate, _delay, _dev) \
{ \ { \
.name = _name, \ .name = _name, \
...@@ -175,6 +190,13 @@ static const struct clkops clk_pxa3xx_hsio_ops = { ...@@ -175,6 +190,13 @@ static const struct clkops clk_pxa3xx_hsio_ops = {
} }
static struct clk pxa3xx_clks[] = { static struct clk pxa3xx_clks[] = {
{
.name = "CLK_POUT",
.ops = &clk_pout_ops,
.rate = 13000000,
.delay = 70,
},
PXA3xx_CK("LCDCLK", LCD, &clk_pxa3xx_hsio_ops, &pxa_device_fb.dev), PXA3xx_CK("LCDCLK", LCD, &clk_pxa3xx_hsio_ops, &pxa_device_fb.dev),
PXA3xx_CK("CAMCLK", CAMERA, &clk_pxa3xx_hsio_ops, NULL), PXA3xx_CK("CAMCLK", CAMERA, &clk_pxa3xx_hsio_ops, NULL),
......
...@@ -12,6 +12,15 @@ ...@@ -12,6 +12,15 @@
#ifndef __ASM_ARCH_PXA3XX_REGS_H #ifndef __ASM_ARCH_PXA3XX_REGS_H
#define __ASM_ARCH_PXA3XX_REGS_H #define __ASM_ARCH_PXA3XX_REGS_H
/*
* Oscillator Configuration Register (OSCC)
*/
#define OSCC __REG(0x41350000) /* Oscillator Configuration Register */
#define OSCC_PEN (1 << 11) /* 13MHz POUT */
/* /*
* Service Power Management Unit (MPMU) * Service Power Management Unit (MPMU)
*/ */
......
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