diff options
Diffstat (limited to 'arch/arm/mach-mx5/clock-mx51-mx53.c')
-rw-r--r-- | arch/arm/mach-mx5/clock-mx51-mx53.c | 62 |
1 files changed, 43 insertions, 19 deletions
diff --git a/arch/arm/mach-mx5/clock-mx51-mx53.c b/arch/arm/mach-mx5/clock-mx51-mx53.c index cd79e3435e28..7f20308c4dbd 100644 --- a/arch/arm/mach-mx5/clock-mx51-mx53.c +++ b/arch/arm/mach-mx5/clock-mx51-mx53.c | |||
@@ -1254,12 +1254,20 @@ DEFINE_CLOCK(uart2_ipg_clk, 1, MXC_CCM_CCGR1, MXC_CCM_CCGRx_CG5_OFFSET, | |||
1254 | NULL, NULL, &ipg_clk, &aips_tz1_clk); | 1254 | NULL, NULL, &ipg_clk, &aips_tz1_clk); |
1255 | DEFINE_CLOCK(uart3_ipg_clk, 2, MXC_CCM_CCGR1, MXC_CCM_CCGRx_CG7_OFFSET, | 1255 | DEFINE_CLOCK(uart3_ipg_clk, 2, MXC_CCM_CCGR1, MXC_CCM_CCGRx_CG7_OFFSET, |
1256 | NULL, NULL, &ipg_clk, &spba_clk); | 1256 | NULL, NULL, &ipg_clk, &spba_clk); |
1257 | DEFINE_CLOCK(uart4_ipg_clk, 3, MXC_CCM_CCGR7, MXC_CCM_CCGRx_CG4_OFFSET, | ||
1258 | NULL, NULL, &ipg_clk, &spba_clk); | ||
1259 | DEFINE_CLOCK(uart5_ipg_clk, 4, MXC_CCM_CCGR7, MXC_CCM_CCGRx_CG6_OFFSET, | ||
1260 | NULL, NULL, &ipg_clk, &spba_clk); | ||
1257 | DEFINE_CLOCK(uart1_clk, 0, MXC_CCM_CCGR1, MXC_CCM_CCGRx_CG4_OFFSET, | 1261 | DEFINE_CLOCK(uart1_clk, 0, MXC_CCM_CCGR1, MXC_CCM_CCGRx_CG4_OFFSET, |
1258 | NULL, NULL, &uart_root_clk, &uart1_ipg_clk); | 1262 | NULL, NULL, &uart_root_clk, &uart1_ipg_clk); |
1259 | DEFINE_CLOCK(uart2_clk, 1, MXC_CCM_CCGR1, MXC_CCM_CCGRx_CG6_OFFSET, | 1263 | DEFINE_CLOCK(uart2_clk, 1, MXC_CCM_CCGR1, MXC_CCM_CCGRx_CG6_OFFSET, |
1260 | NULL, NULL, &uart_root_clk, &uart2_ipg_clk); | 1264 | NULL, NULL, &uart_root_clk, &uart2_ipg_clk); |
1261 | DEFINE_CLOCK(uart3_clk, 2, MXC_CCM_CCGR1, MXC_CCM_CCGRx_CG8_OFFSET, | 1265 | DEFINE_CLOCK(uart3_clk, 2, MXC_CCM_CCGR1, MXC_CCM_CCGRx_CG8_OFFSET, |
1262 | NULL, NULL, &uart_root_clk, &uart3_ipg_clk); | 1266 | NULL, NULL, &uart_root_clk, &uart3_ipg_clk); |
1267 | DEFINE_CLOCK(uart4_clk, 3, MXC_CCM_CCGR7, MXC_CCM_CCGRx_CG5_OFFSET, | ||
1268 | NULL, NULL, &uart_root_clk, &uart4_ipg_clk); | ||
1269 | DEFINE_CLOCK(uart5_clk, 4, MXC_CCM_CCGR7, MXC_CCM_CCGRx_CG7_OFFSET, | ||
1270 | NULL, NULL, &uart_root_clk, &uart5_ipg_clk); | ||
1263 | 1271 | ||
1264 | /* GPT */ | 1272 | /* GPT */ |
1265 | DEFINE_CLOCK(gpt_ipg_clk, 0, MXC_CCM_CCGR2, MXC_CCM_CCGRx_CG10_OFFSET, | 1273 | DEFINE_CLOCK(gpt_ipg_clk, 0, MXC_CCM_CCGR2, MXC_CCM_CCGRx_CG10_OFFSET, |
@@ -1274,11 +1282,13 @@ DEFINE_CLOCK(pwm2_clk, 0, MXC_CCM_CCGR2, MXC_CCM_CCGRx_CG8_OFFSET, | |||
1274 | 1282 | ||
1275 | /* I2C */ | 1283 | /* I2C */ |
1276 | DEFINE_CLOCK(i2c1_clk, 0, MXC_CCM_CCGR1, MXC_CCM_CCGRx_CG9_OFFSET, | 1284 | DEFINE_CLOCK(i2c1_clk, 0, MXC_CCM_CCGR1, MXC_CCM_CCGRx_CG9_OFFSET, |
1277 | NULL, NULL, &ipg_clk, NULL); | 1285 | NULL, NULL, &ipg_perclk, NULL); |
1278 | DEFINE_CLOCK(i2c2_clk, 1, MXC_CCM_CCGR1, MXC_CCM_CCGRx_CG10_OFFSET, | 1286 | DEFINE_CLOCK(i2c2_clk, 1, MXC_CCM_CCGR1, MXC_CCM_CCGRx_CG10_OFFSET, |
1279 | NULL, NULL, &ipg_clk, NULL); | 1287 | NULL, NULL, &ipg_perclk, NULL); |
1280 | DEFINE_CLOCK(hsi2c_clk, 0, MXC_CCM_CCGR1, MXC_CCM_CCGRx_CG11_OFFSET, | 1288 | DEFINE_CLOCK(hsi2c_clk, 0, MXC_CCM_CCGR1, MXC_CCM_CCGRx_CG11_OFFSET, |
1281 | NULL, NULL, &ipg_clk, NULL); | 1289 | NULL, NULL, &ipg_clk, NULL); |
1290 | DEFINE_CLOCK(i2c3_mx53_clk, 0, MXC_CCM_CCGR1, MXC_CCM_CCGRx_CG11_OFFSET, | ||
1291 | NULL, NULL, &ipg_perclk, NULL); | ||
1282 | 1292 | ||
1283 | /* FEC */ | 1293 | /* FEC */ |
1284 | DEFINE_CLOCK(fec_clk, 0, MXC_CCM_CCGR2, MXC_CCM_CCGRx_CG12_OFFSET, | 1294 | DEFINE_CLOCK(fec_clk, 0, MXC_CCM_CCGR2, MXC_CCM_CCGRx_CG12_OFFSET, |
@@ -1412,11 +1422,13 @@ DEFINE_CLOCK(ipu_di1_clk, 0, MXC_CCM_CCGR6, MXC_CCM_CCGRx_CG6_OFFSET, | |||
1412 | }, | 1422 | }, |
1413 | 1423 | ||
1414 | static struct clk_lookup mx51_lookups[] = { | 1424 | static struct clk_lookup mx51_lookups[] = { |
1415 | _REGISTER_CLOCK("imx-uart.0", NULL, uart1_clk) | 1425 | /* i.mx51 has the i.mx21 type uart */ |
1416 | _REGISTER_CLOCK("imx-uart.1", NULL, uart2_clk) | 1426 | _REGISTER_CLOCK("imx21-uart.0", NULL, uart1_clk) |
1417 | _REGISTER_CLOCK("imx-uart.2", NULL, uart3_clk) | 1427 | _REGISTER_CLOCK("imx21-uart.1", NULL, uart2_clk) |
1428 | _REGISTER_CLOCK("imx21-uart.2", NULL, uart3_clk) | ||
1418 | _REGISTER_CLOCK(NULL, "gpt", gpt_clk) | 1429 | _REGISTER_CLOCK(NULL, "gpt", gpt_clk) |
1419 | _REGISTER_CLOCK("fec.0", NULL, fec_clk) | 1430 | /* i.mx51 has the i.mx27 type fec */ |
1431 | _REGISTER_CLOCK("imx27-fec.0", NULL, fec_clk) | ||
1420 | _REGISTER_CLOCK("mxc_pwm.0", "pwm", pwm1_clk) | 1432 | _REGISTER_CLOCK("mxc_pwm.0", "pwm", pwm1_clk) |
1421 | _REGISTER_CLOCK("mxc_pwm.1", "pwm", pwm2_clk) | 1433 | _REGISTER_CLOCK("mxc_pwm.1", "pwm", pwm2_clk) |
1422 | _REGISTER_CLOCK("imx-i2c.0", NULL, i2c1_clk) | 1434 | _REGISTER_CLOCK("imx-i2c.0", NULL, i2c1_clk) |
@@ -1436,7 +1448,8 @@ static struct clk_lookup mx51_lookups[] = { | |||
1436 | _REGISTER_CLOCK("imx-ssi.0", NULL, ssi1_clk) | 1448 | _REGISTER_CLOCK("imx-ssi.0", NULL, ssi1_clk) |
1437 | _REGISTER_CLOCK("imx-ssi.1", NULL, ssi2_clk) | 1449 | _REGISTER_CLOCK("imx-ssi.1", NULL, ssi2_clk) |
1438 | _REGISTER_CLOCK("imx-ssi.2", NULL, ssi3_clk) | 1450 | _REGISTER_CLOCK("imx-ssi.2", NULL, ssi3_clk) |
1439 | _REGISTER_CLOCK("imx-sdma", NULL, sdma_clk) | 1451 | /* i.mx51 has the i.mx35 type sdma */ |
1452 | _REGISTER_CLOCK("imx35-sdma", NULL, sdma_clk) | ||
1440 | _REGISTER_CLOCK(NULL, "ckih", ckih_clk) | 1453 | _REGISTER_CLOCK(NULL, "ckih", ckih_clk) |
1441 | _REGISTER_CLOCK(NULL, "ckih2", ckih2_clk) | 1454 | _REGISTER_CLOCK(NULL, "ckih2", ckih2_clk) |
1442 | _REGISTER_CLOCK(NULL, "gpt_32k", gpt_32k_clk) | 1455 | _REGISTER_CLOCK(NULL, "gpt_32k", gpt_32k_clk) |
@@ -1444,10 +1457,10 @@ static struct clk_lookup mx51_lookups[] = { | |||
1444 | _REGISTER_CLOCK("imx51-ecspi.1", NULL, ecspi2_clk) | 1457 | _REGISTER_CLOCK("imx51-ecspi.1", NULL, ecspi2_clk) |
1445 | /* i.mx51 has the i.mx35 type cspi */ | 1458 | /* i.mx51 has the i.mx35 type cspi */ |
1446 | _REGISTER_CLOCK("imx35-cspi.0", NULL, cspi_clk) | 1459 | _REGISTER_CLOCK("imx35-cspi.0", NULL, cspi_clk) |
1447 | _REGISTER_CLOCK("sdhci-esdhc-imx.0", NULL, esdhc1_clk) | 1460 | _REGISTER_CLOCK("sdhci-esdhc-imx51.0", NULL, esdhc1_clk) |
1448 | _REGISTER_CLOCK("sdhci-esdhc-imx.1", NULL, esdhc2_clk) | 1461 | _REGISTER_CLOCK("sdhci-esdhc-imx51.1", NULL, esdhc2_clk) |
1449 | _REGISTER_CLOCK("sdhci-esdhc-imx.2", NULL, esdhc3_clk) | 1462 | _REGISTER_CLOCK("sdhci-esdhc-imx51.2", NULL, esdhc3_clk) |
1450 | _REGISTER_CLOCK("sdhci-esdhc-imx.3", NULL, esdhc4_clk) | 1463 | _REGISTER_CLOCK("sdhci-esdhc-imx51.3", NULL, esdhc4_clk) |
1451 | _REGISTER_CLOCK(NULL, "cpu_clk", cpu_clk) | 1464 | _REGISTER_CLOCK(NULL, "cpu_clk", cpu_clk) |
1452 | _REGISTER_CLOCK(NULL, "iim_clk", iim_clk) | 1465 | _REGISTER_CLOCK(NULL, "iim_clk", iim_clk) |
1453 | _REGISTER_CLOCK("imx2-wdt.0", NULL, dummy_clk) | 1466 | _REGISTER_CLOCK("imx2-wdt.0", NULL, dummy_clk) |
@@ -1460,25 +1473,36 @@ static struct clk_lookup mx51_lookups[] = { | |||
1460 | }; | 1473 | }; |
1461 | 1474 | ||
1462 | static struct clk_lookup mx53_lookups[] = { | 1475 | static struct clk_lookup mx53_lookups[] = { |
1463 | _REGISTER_CLOCK("imx-uart.0", NULL, uart1_clk) | 1476 | /* i.mx53 has the i.mx21 type uart */ |
1464 | _REGISTER_CLOCK("imx-uart.1", NULL, uart2_clk) | 1477 | _REGISTER_CLOCK("imx21-uart.0", NULL, uart1_clk) |
1465 | _REGISTER_CLOCK("imx-uart.2", NULL, uart3_clk) | 1478 | _REGISTER_CLOCK("imx21-uart.1", NULL, uart2_clk) |
1479 | _REGISTER_CLOCK("imx21-uart.2", NULL, uart3_clk) | ||
1480 | _REGISTER_CLOCK("imx21-uart.3", NULL, uart4_clk) | ||
1481 | _REGISTER_CLOCK("imx21-uart.4", NULL, uart5_clk) | ||
1466 | _REGISTER_CLOCK(NULL, "gpt", gpt_clk) | 1482 | _REGISTER_CLOCK(NULL, "gpt", gpt_clk) |
1467 | _REGISTER_CLOCK("fec.0", NULL, fec_clk) | 1483 | /* i.mx53 has the i.mx25 type fec */ |
1484 | _REGISTER_CLOCK("imx25-fec.0", NULL, fec_clk) | ||
1468 | _REGISTER_CLOCK(NULL, "iim_clk", iim_clk) | 1485 | _REGISTER_CLOCK(NULL, "iim_clk", iim_clk) |
1469 | _REGISTER_CLOCK("imx-i2c.0", NULL, i2c1_clk) | 1486 | _REGISTER_CLOCK("imx-i2c.0", NULL, i2c1_clk) |
1470 | _REGISTER_CLOCK("imx-i2c.1", NULL, i2c2_clk) | 1487 | _REGISTER_CLOCK("imx-i2c.1", NULL, i2c2_clk) |
1471 | _REGISTER_CLOCK("sdhci-esdhc-imx.0", NULL, esdhc1_clk) | 1488 | _REGISTER_CLOCK("imx-i2c.2", NULL, i2c3_mx53_clk) |
1472 | _REGISTER_CLOCK("sdhci-esdhc-imx.1", NULL, esdhc2_mx53_clk) | ||
1473 | _REGISTER_CLOCK("sdhci-esdhc-imx.2", NULL, esdhc3_mx53_clk) | ||
1474 | _REGISTER_CLOCK("sdhci-esdhc-imx.3", NULL, esdhc4_mx53_clk) | ||
1475 | /* i.mx53 has the i.mx51 type ecspi */ | 1489 | /* i.mx53 has the i.mx51 type ecspi */ |
1476 | _REGISTER_CLOCK("imx51-ecspi.0", NULL, ecspi1_clk) | 1490 | _REGISTER_CLOCK("imx51-ecspi.0", NULL, ecspi1_clk) |
1477 | _REGISTER_CLOCK("imx51-ecspi.1", NULL, ecspi2_clk) | 1491 | _REGISTER_CLOCK("imx51-ecspi.1", NULL, ecspi2_clk) |
1478 | /* i.mx53 has the i.mx25 type cspi */ | 1492 | /* i.mx53 has the i.mx25 type cspi */ |
1479 | _REGISTER_CLOCK("imx35-cspi.0", NULL, cspi_clk) | 1493 | _REGISTER_CLOCK("imx35-cspi.0", NULL, cspi_clk) |
1494 | _REGISTER_CLOCK("sdhci-esdhc-imx53.0", NULL, esdhc1_clk) | ||
1495 | _REGISTER_CLOCK("sdhci-esdhc-imx53.1", NULL, esdhc2_mx53_clk) | ||
1496 | _REGISTER_CLOCK("sdhci-esdhc-imx53.2", NULL, esdhc3_mx53_clk) | ||
1497 | _REGISTER_CLOCK("sdhci-esdhc-imx53.3", NULL, esdhc4_mx53_clk) | ||
1480 | _REGISTER_CLOCK("imx2-wdt.0", NULL, dummy_clk) | 1498 | _REGISTER_CLOCK("imx2-wdt.0", NULL, dummy_clk) |
1481 | _REGISTER_CLOCK("imx2-wdt.1", NULL, dummy_clk) | 1499 | _REGISTER_CLOCK("imx2-wdt.1", NULL, dummy_clk) |
1500 | /* i.mx53 has the i.mx35 type sdma */ | ||
1501 | _REGISTER_CLOCK("imx35-sdma", NULL, sdma_clk) | ||
1502 | _REGISTER_CLOCK("imx-ssi.0", NULL, ssi1_clk) | ||
1503 | _REGISTER_CLOCK("imx-ssi.1", NULL, ssi2_clk) | ||
1504 | _REGISTER_CLOCK("imx-ssi.2", NULL, ssi3_clk) | ||
1505 | _REGISTER_CLOCK("imx-keypad", NULL, dummy_clk) | ||
1482 | }; | 1506 | }; |
1483 | 1507 | ||
1484 | static void clk_tree_init(void) | 1508 | static void clk_tree_init(void) |