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

[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
Loading
Loading
Loading
Loading
+22 −0
Original line number Diff line number Diff line
@@ -156,6 +156,21 @@ static const struct clkops clk_pxa3xx_hsio_ops = {
	.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)	\
	{						\
		.name	= _name,			\
@@ -175,6 +190,13 @@ static const struct clkops clk_pxa3xx_hsio_ops = {
	}

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("CAMCLK", CAMERA, &clk_pxa3xx_hsio_ops, NULL),

+9 −0
Original line number Diff line number Diff line
@@ -12,6 +12,15 @@

#ifndef __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)
 */