diff options
Diffstat (limited to 'arch/arm/mach-msm/board-msm7x30.c')
-rw-r--r-- | arch/arm/mach-msm/board-msm7x30.c | 28 |
1 files changed, 25 insertions, 3 deletions
diff --git a/arch/arm/mach-msm/board-msm7x30.c b/arch/arm/mach-msm/board-msm7x30.c index 92afaf6583ea..71de5062c71e 100644 --- a/arch/arm/mach-msm/board-msm7x30.c +++ b/arch/arm/mach-msm/board-msm7x30.c | |||
@@ -24,6 +24,7 @@ | |||
24 | #include <linux/smsc911x.h> | 24 | #include <linux/smsc911x.h> |
25 | #include <linux/usb/msm_hsusb.h> | 25 | #include <linux/usb/msm_hsusb.h> |
26 | #include <linux/clkdev.h> | 26 | #include <linux/clkdev.h> |
27 | #include <linux/memblock.h> | ||
27 | 28 | ||
28 | #include <asm/mach-types.h> | 29 | #include <asm/mach-types.h> |
29 | #include <asm/mach/arch.h> | 30 | #include <asm/mach/arch.h> |
@@ -41,6 +42,21 @@ | |||
41 | 42 | ||
42 | extern struct sys_timer msm_timer; | 43 | extern struct sys_timer msm_timer; |
43 | 44 | ||
45 | static void __init msm7x30_fixup(struct machine_desc *desc, struct tag *tag, | ||
46 | char **cmdline, struct meminfo *mi) | ||
47 | { | ||
48 | for (; tag->hdr.size; tag = tag_next(tag)) | ||
49 | if (tag->hdr.tag == ATAG_MEM && tag->u.mem.start == 0x200000) { | ||
50 | tag->u.mem.start = 0; | ||
51 | tag->u.mem.size += SZ_2M; | ||
52 | } | ||
53 | } | ||
54 | |||
55 | static void __init msm7x30_reserve(void) | ||
56 | { | ||
57 | memblock_remove(0x0, SZ_2M); | ||
58 | } | ||
59 | |||
44 | static int hsusb_phy_init_seq[] = { | 60 | static int hsusb_phy_init_seq[] = { |
45 | 0x30, 0x32, /* Enable and set Pre-Emphasis Depth to 20% */ | 61 | 0x30, 0x32, /* Enable and set Pre-Emphasis Depth to 20% */ |
46 | 0x02, 0x36, /* Disable CDR Auto Reset feature */ | 62 | 0x02, 0x36, /* Disable CDR Auto Reset feature */ |
@@ -105,7 +121,9 @@ static void __init msm7x30_map_io(void) | |||
105 | } | 121 | } |
106 | 122 | ||
107 | MACHINE_START(MSM7X30_SURF, "QCT MSM7X30 SURF") | 123 | MACHINE_START(MSM7X30_SURF, "QCT MSM7X30 SURF") |
108 | .boot_params = PLAT_PHYS_OFFSET + 0x100, | 124 | .atag_offset = 0x100, |
125 | .fixup = msm7x30_fixup, | ||
126 | .reserve = msm7x30_reserve, | ||
109 | .map_io = msm7x30_map_io, | 127 | .map_io = msm7x30_map_io, |
110 | .init_irq = msm7x30_init_irq, | 128 | .init_irq = msm7x30_init_irq, |
111 | .init_machine = msm7x30_init, | 129 | .init_machine = msm7x30_init, |
@@ -113,7 +131,9 @@ MACHINE_START(MSM7X30_SURF, "QCT MSM7X30 SURF") | |||
113 | MACHINE_END | 131 | MACHINE_END |
114 | 132 | ||
115 | MACHINE_START(MSM7X30_FFA, "QCT MSM7X30 FFA") | 133 | MACHINE_START(MSM7X30_FFA, "QCT MSM7X30 FFA") |
116 | .boot_params = PLAT_PHYS_OFFSET + 0x100, | 134 | .atag_offset = 0x100, |
135 | .fixup = msm7x30_fixup, | ||
136 | .reserve = msm7x30_reserve, | ||
117 | .map_io = msm7x30_map_io, | 137 | .map_io = msm7x30_map_io, |
118 | .init_irq = msm7x30_init_irq, | 138 | .init_irq = msm7x30_init_irq, |
119 | .init_machine = msm7x30_init, | 139 | .init_machine = msm7x30_init, |
@@ -121,7 +141,9 @@ MACHINE_START(MSM7X30_FFA, "QCT MSM7X30 FFA") | |||
121 | MACHINE_END | 141 | MACHINE_END |
122 | 142 | ||
123 | MACHINE_START(MSM7X30_FLUID, "QCT MSM7X30 FLUID") | 143 | MACHINE_START(MSM7X30_FLUID, "QCT MSM7X30 FLUID") |
124 | .boot_params = PLAT_PHYS_OFFSET + 0x100, | 144 | .atag_offset = 0x100, |
145 | .fixup = msm7x30_fixup, | ||
146 | .reserve = msm7x30_reserve, | ||
125 | .map_io = msm7x30_map_io, | 147 | .map_io = msm7x30_map_io, |
126 | .init_irq = msm7x30_init_irq, | 148 | .init_irq = msm7x30_init_irq, |
127 | .init_machine = msm7x30_init, | 149 | .init_machine = msm7x30_init, |