Skip to content

Commit

Permalink
MXC NFC: Add the clock resource to support NFC in i.MX35
Browse files Browse the repository at this point in the history
Signed-off-by: Juergen Beisert <j.beisert@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
  • Loading branch information
Juergen Beisert authored and Sascha Hauer committed Nov 14, 2009
1 parent 060d20d commit 9e0afdf
Showing 1 changed file with 30 additions and 0 deletions.
30 changes: 30 additions & 0 deletions arch/arm/mach-mx3/clock-imx35.c
Original file line number Diff line number Diff line change
Expand Up @@ -387,6 +387,35 @@ DEFINE_CLOCK(csi_clk, 0, CCM_CGR3, 0, get_rate_csi, NULL);
DEFINE_CLOCK(iim_clk, 0, CCM_CGR3, 2, NULL, NULL);
DEFINE_CLOCK(gpu2d_clk, 0, CCM_CGR3, 4, NULL, NULL);

static int clk_dummy_enable(struct clk *clk)
{
return 0;
}

static void clk_dummy_disable(struct clk *clk)
{
}

static unsigned long get_rate_nfc(struct clk *clk)
{
unsigned long div1;

div1 = (__raw_readl(CCM_BASE + CCM_PDR4) >> 28) + 1;

return get_rate_ahb(NULL) / div1;
}

/* NAND Controller: It seems it can't be disabled */
static struct clk nfc_clk = {
.id = 0,
.enable_reg = 0,
.enable_shift = 0,
.get_rate = get_rate_nfc,
.set_rate = NULL, /* set_rate_nfc, */
.enable = clk_dummy_enable,
.disable = clk_dummy_disable
};

#define _REGISTER_CLOCK(d, n, c) \
{ \
.dev_id = d, \
Expand Down Expand Up @@ -449,6 +478,7 @@ static struct clk_lookup lookups[] = {
_REGISTER_CLOCK(NULL, "csi", csi_clk)
_REGISTER_CLOCK(NULL, "iim", iim_clk)
_REGISTER_CLOCK(NULL, "gpu2d", gpu2d_clk)
_REGISTER_CLOCK("mxc_nand.0", NULL, nfc_clk)
};

int __init mx35_clocks_init()
Expand Down

0 comments on commit 9e0afdf

Please sign in to comment.