24 #include <asm/pgtable.h>
25 #include <asm/system_misc.h>
29 #include <mach/common.h>
31 #include <mach/hardware.h>
38 static void imx3_idle(
void)
40 unsigned long reg = 0;
46 "mrc p15, 0, %0, c1, c0, 0\n"
47 "bic %0, %0, #0x00001000\n"
48 "bic %0, %0, #0x00000004\n"
49 "mcr p15, 0, %0, c1, c0, 0\n"
52 "mcr p15, 0, %0, c7, c5, 0\n"
55 "mcr p15, 0, %0, c7, c14, 0\n"
58 "mcr p15, 0, %0, c7, c0, 4\n"
59 "nop\n" "nop\n" "nop\n" "nop\n"
60 "nop\n" "nop\n" "nop\n"
62 "mrc p15, 0, %0, c1, c0, 0\n"
63 "orr %0, %0, #0x00001000\n"
64 "orr %0, %0, #0x00000004\n"
65 "mcr p15, 0, %0, c1, c0, 0\n"
70 unsigned int mtype,
void *
caller)
78 if (phys_addr < 0x80000000 &&
80 mtype = MT_DEVICE_NONSHARED;
88 #ifdef CONFIG_CACHE_L2X0
100 #define L2_MEM_VAL 0x10
103 if (clkctl_base !=
NULL) {
104 writel(0x00000515, clkctl_base + L2_MEM_VAL);
107 pr_err(
"L2 cache: Cannot fix timing. Trying to continue without\n");
116 l2x0_init(l2x0_base, 0x00030024, 0x00000000);
120 #ifdef CONFIG_SOC_IMX31
154 .per_2_per_addr = 1677,
160 .bp_2_ap_addr = 1029,
164 .fw_name =
"sdma-imx31-to2.bin",
165 .script_addrs = &imx31_to2_sdma_script,
184 if (to_version == 1) {
185 strncpy(imx31_sdma_pdata.fw_name,
"sdma-imx31-to1.bin",
186 strlen(imx31_sdma_pdata.fw_name));
187 imx31_sdma_pdata.script_addrs = &imx31_to1_sdma_script;
195 platform_device_register_simple(
"imx31-audmux", 0, imx31_audmux_res,
200 #ifdef CONFIG_SOC_IMX35
201 static struct map_desc mx35_io_desc[] __initdata = {
231 .uart_2_mcu_addr = 817,
232 .mcu_2_app_addr = 747,
233 .uartsh_2_mcu_addr = 1183,
234 .per_2_shp_addr = 1033,
235 .mcu_2_shp_addr = 961,
236 .ata_2_mcu_addr = 1333,
237 .mcu_2_ata_addr = 1252,
238 .app_2_mcu_addr = 683,
239 .shp_2_per_addr = 1111,
240 .shp_2_mcu_addr = 892,
245 .uart_2_mcu_addr = 904,
246 .per_2_app_addr = 1597,
247 .mcu_2_app_addr = 834,
248 .uartsh_2_mcu_addr = 1270,
249 .per_2_shp_addr = 1120,
250 .mcu_2_shp_addr = 1048,
251 .ata_2_mcu_addr = 1429,
252 .mcu_2_ata_addr = 1339,
253 .app_2_per_addr = 1531,
254 .app_2_mcu_addr = 770,
255 .shp_2_per_addr = 1198,
256 .shp_2_mcu_addr = 979,
260 .fw_name =
"sdma-imx35-to2.bin",
261 .script_addrs = &imx35_to2_sdma_script,
264 static const struct resource imx35_audmux_res[] __initconst = {
279 if (to_version == 1) {
280 strncpy(imx35_sdma_pdata.fw_name,
"sdma-imx35-to1.bin",
281 strlen(imx35_sdma_pdata.fw_name));
282 imx35_sdma_pdata.script_addrs = &imx35_to1_sdma_script;
292 platform_device_register_simple(
"imx31-audmux", 0, imx35_audmux_res,