Re: [PATCH] ARM: OMAP: Add minimal OMAP2430 support

Komal Shah
2006-06-06T03:08:19Z

--- Tony Lindgren <tony@atomide.com> wrote:

>
> Well one thing we should change is to make it possible to compile in
> all
> 24xx boards. This involves changing things like PRCM register access
> to use a base address instead of ifdefs.
>
> I know we this is quite a bit of work now, but it pays off in the
> long
> run. Something like this has proven to work well for portable code
> across various omaps/platforms:
>
> #define OMAP2420_PRCM_SOME_BASE 0xaaaaaaaa
> #define OMAP2430_PRCM_SOME_BASE 0xbbbbbbbb
>
> #define PRCM_SOME_REG1_OFFSET 0x10
> #define REG1_AAAA (1 << 31)
> #define REG1_BBBB (1 << 30)
> #define REG1_CCCC (1 << 29)
>
> #define PRCM_SOME_REG2_OFFSET 0x20
> #define REG2_AAAA (1 << 2)
> #define REG2_BBBB (1 << 1)
> #define REG2_CCCC (1 << 0)
>
> #define PRCM_SOME_REG3_OFFSET 0x30
>
> static unsigned long prcm_vbase;
>
> #define prcm_readl(r) __raw_readl(prcm_vbase + (r))
> #define prcm_writel(v, r) __raw_writel((v), prcm_vbase + (r))
>
> static int prcm_do_something(void)
> {
> u32 reg;
>
> reg = prcm_readl(PRCM_SOME_REG1_OFFSET);
> reg |= REG1_BBBB;
> prcm_writel(reg, PRCM_SOME_REG1_OFFSET);
> }
>
> static int __init prcm_init(void)
> {
> if (cpu_is_omap2420())
> prcm_vbase = OMAP2420_PRCM_SOME_BASE;
> else if (cpu_is_omap2430())
> prcm_vbase = OMAP2430_PRCM_SOME_BASE;
>
> return 0;
> }
>

Thanx for the review. I will work on this, once I come back from Japan
:). At home, both the 2430 boards are not-booting and I had tough time
with CSST and switch settings, so was not able to flash bootloader on
2430SDP-EVM ES1.0 chips. But it will not be hard to make compile-only
patch for review.

---Komal Shah
http://komalshah.blogspot.com/

__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around