Kevin Hilman wrote:
Hello.
Kevin Hilman wrote:
From: Mark A. Greer <[email protected]>
The da830/omap l137 is a new SoC from TI that is similar to the davinci line. Since its so similar to davinci, put the support for the da830 in the same directory as the davinci code.
There are differences, however. Some of those differences prevent support for davinci and da830 platforms to work in the same kernel binary. Those differences are:
1) Different physical address for RAM. This is relevant to Makefile.boot addresses and PHYS_OFFSET. The Makefile.boot issue isn't truly a kernel issue but it means u-boot won't work with a uImage including both architectures. The PHYS_OFFSET issue is addressed by the "Allow for runtime-determined PHYS_OFFSET" patch by Lennert Buytenhek but it hasn't been accepted yet.
2) Different uart addresses. This is only an issue for the 'addruart' assembly macro when CONFIG_DEBUG_LL is enabled. Since the code in that macro is called so early (e.g., by _error_p in kernel/head.S when the processor lookup fails), we can't determine what platform the kernel is running on at runtime to use the correct uart address.
These areas have compile errors intentionally inserted to indicate to the builder they're doing something wrong.
A new config variable, CONFIG_ARCH_DAVINCI_DMx, is added to distinguish between a true davinci architecture and the da830 architecture.
Note that the da830 currently has an issue with writeback data cache so CONFIG_CPU_DCACHE_WRITETHROUGH should be enabled when building a da830 kernel.
Additional generalizations for future SoCs in the da8xx family done by Sudhakar Rajashekhara and Sekhar Nori.
Signed-off-by: Steve Chen <[email protected]> Signed-off-by: Mikhail Cherkashin <[email protected]> Signed-off-by: Mark A. Greer <[email protected]> Cc: Sudhakar Rajashekhara <[email protected]> Cc: Sekhar Nori <[email protected]> Signed-off-by: Kevin Hilman <[email protected]>
[...]
diff --git a/arch/arm/mach-davinci/da830.c b/arch/arm/mach-davinci/da830.c new file mode 100644 index 0000000..ab42428 --- /dev/null +++ b/arch/arm/mach-davinci/da830.c @@ -0,0 +1,1247 @@
[...]
+static struct davinci_clk da830_clks[] = {
[...]
+ CLK("musb_hdrc", NULL, &usb20_clk),
Matching this clock by device was a bad idea since I also need it in the OHCI glue layer... I'm afraid I'll have to redo this. :-/
Or, you can just add another CLK() with the ohci dev name referencing the same struct clock clock.
OHCI has its own clock too, usb11_clk (which can feed off USB 2.0 PHY's clock -- and it does so on EVM), so it would be impossible to differ two clocks without specifying the clock name here and in the glue layer anyway.
Kevin
WBR, Sergei _______________________________________________ Davinci-linux-open-source mailing list [email protected] http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
