-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
mxc: Core support for Freescale i.MX5 series
Add basic clock support, cpu identification, I/O mapping, interrupt controller, serial port and ethernet. Signed-off-by: Amit Kucheria <amit.kucheria@canonical.com>
- Loading branch information
Amit Kucheria
committed
Feb 9, 2010
1 parent
438caa3
commit a329b48
Showing
10 changed files
with
2,433 additions
and
3 deletions.
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
/* | ||
* Copyright 2008-2009 Freescale Semiconductor, Inc. All Rights Reserved. | ||
* | ||
* The code contained herein is licensed under the GNU General Public | ||
* License. You may obtain a copy of the GNU General Public License | ||
* Version 2 or later at the following locations: | ||
* | ||
* http://www.opensource.org/licenses/gpl-license.html | ||
* http://www.gnu.org/copyleft/gpl.html | ||
* | ||
* This file contains the CPU initialization code. | ||
*/ | ||
|
||
#include <linux/types.h> | ||
#include <linux/kernel.h> | ||
#include <linux/init.h> | ||
#include <mach/hardware.h> | ||
#include <asm/io.h> | ||
|
||
static int __init post_cpu_init(void) | ||
{ | ||
unsigned int reg; | ||
void __iomem *base; | ||
|
||
if (!cpu_is_mx51()) | ||
return 0; | ||
|
||
base = MX51_IO_ADDRESS(MX51_AIPS1_BASE_ADDR); | ||
__raw_writel(0x0, base + 0x40); | ||
__raw_writel(0x0, base + 0x44); | ||
__raw_writel(0x0, base + 0x48); | ||
__raw_writel(0x0, base + 0x4C); | ||
reg = __raw_readl(base + 0x50) & 0x00FFFFFF; | ||
__raw_writel(reg, base + 0x50); | ||
|
||
base = MX51_IO_ADDRESS(MX51_AIPS2_BASE_ADDR); | ||
__raw_writel(0x0, base + 0x40); | ||
__raw_writel(0x0, base + 0x44); | ||
__raw_writel(0x0, base + 0x48); | ||
__raw_writel(0x0, base + 0x4C); | ||
reg = __raw_readl(base + 0x50) & 0x00FFFFFF; | ||
__raw_writel(reg, base + 0x50); | ||
|
||
return 0; | ||
} | ||
|
||
postcore_initcall(post_cpu_init); |
Oops, something went wrong.