aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-omap2/omap_hwmod_33xx_data.c
diff options
context:
space:
mode:
authorMark A. Greer <mgreer@animalcreek.com>2013-03-18 12:06:35 -0400
committerPaul Walmsley <paul@pwsan.com>2013-03-30 17:51:32 -0400
commitaec94bf5b62879c7ae18a212a2dc0c0823c780c9 (patch)
tree4357a2f9a5971e8d293336f2a0f632a97d436dff /arch/arm/mach-omap2/omap_hwmod_33xx_data.c
parent44a9462da7f2e2e0a6aa8d2afaf54a6413223d26 (diff)
ARM: AM33XX: hwmod: Update and uncomment SHA0 module data
Update the SHA0 HIB2 module's hwmod data for the am33xx SoC. Also, remove it from the '#if 0' block that its currently inside so the data is actually available for use. CC: Paul Walmsley <paul@pwsan.com> Signed-off-by: Mark A. Greer <mgreer@animalcreek.com> [paul@pwsan.com: fixed lines causing sparse warnings] Signed-off-by: Paul Walmsley <paul@pwsan.com>
Diffstat (limited to 'arch/arm/mach-omap2/omap_hwmod_33xx_data.c')
-rw-r--r--arch/arm/mach-omap2/omap_hwmod_33xx_data.c43
1 files changed, 37 insertions, 6 deletions
diff --git a/arch/arm/mach-omap2/omap_hwmod_33xx_data.c b/arch/arm/mach-omap2/omap_hwmod_33xx_data.c
index 26eee4a556ad..a0e292515cbb 100644
--- a/arch/arm/mach-omap2/omap_hwmod_33xx_data.c
+++ b/arch/arm/mach-omap2/omap_hwmod_33xx_data.c
@@ -418,7 +418,6 @@ static struct omap_hwmod am33xx_adc_tsc_hwmod = {
418 * - debugss 418 * - debugss
419 * - ocp watch point 419 * - ocp watch point
420 * - aes0 420 * - aes0
421 * - sha0
422 */ 421 */
423#if 0 422#if 0
424/* 423/*
@@ -525,22 +524,37 @@ static struct omap_hwmod am33xx_aes0_hwmod = {
525 }, 524 },
526 }, 525 },
527}; 526};
527#endif
528
529/* sha0 HIB2 (the 'P' (public) device) */
530static struct omap_hwmod_class_sysconfig am33xx_sha0_sysc = {
531 .rev_offs = 0x100,
532 .sysc_offs = 0x110,
533 .syss_offs = 0x114,
534 .sysc_flags = SYSS_HAS_RESET_STATUS,
535};
528 536
529/* sha0 */
530static struct omap_hwmod_class am33xx_sha0_hwmod_class = { 537static struct omap_hwmod_class am33xx_sha0_hwmod_class = {
531 .name = "sha0", 538 .name = "sha0",
539 .sysc = &am33xx_sha0_sysc,
532}; 540};
533 541
534static struct omap_hwmod_irq_info am33xx_sha0_irqs[] = { 542static struct omap_hwmod_irq_info am33xx_sha0_irqs[] = {
535 { .irq = 108 + OMAP_INTC_START, }, 543 { .irq = 109 + OMAP_INTC_START, },
536 { .irq = -1 }, 544 { .irq = -1 },
537}; 545};
538 546
547static struct omap_hwmod_dma_info am33xx_sha0_edma_reqs[] = {
548 { .name = "rx", .dma_req = 36, },
549 { .dma_req = -1 }
550};
551
539static struct omap_hwmod am33xx_sha0_hwmod = { 552static struct omap_hwmod am33xx_sha0_hwmod = {
540 .name = "sha0", 553 .name = "sham",
541 .class = &am33xx_sha0_hwmod_class, 554 .class = &am33xx_sha0_hwmod_class,
542 .clkdm_name = "l3_clkdm", 555 .clkdm_name = "l3_clkdm",
543 .mpu_irqs = am33xx_sha0_irqs, 556 .mpu_irqs = am33xx_sha0_irqs,
557 .sdma_reqs = am33xx_sha0_edma_reqs,
544 .main_clk = "l3_gclk", 558 .main_clk = "l3_gclk",
545 .prcm = { 559 .prcm = {
546 .omap4 = { 560 .omap4 = {
@@ -550,8 +564,6 @@ static struct omap_hwmod am33xx_sha0_hwmod = {
550 }, 564 },
551}; 565};
552 566
553#endif
554
555/* ocmcram */ 567/* ocmcram */
556static struct omap_hwmod_class am33xx_ocmcram_hwmod_class = { 568static struct omap_hwmod_class am33xx_ocmcram_hwmod_class = {
557 .name = "ocmcram", 569 .name = "ocmcram",
@@ -3434,6 +3446,24 @@ static struct omap_hwmod_ocp_if am33xx_l3_main__ocmc = {
3434 .user = OCP_USER_MPU | OCP_USER_SDMA, 3446 .user = OCP_USER_MPU | OCP_USER_SDMA,
3435}; 3447};
3436 3448
3449/* l3 main -> sha0 HIB2 */
3450static struct omap_hwmod_addr_space am33xx_sha0_addrs[] = {
3451 {
3452 .pa_start = 0x53100000,
3453 .pa_end = 0x53100000 + SZ_512 - 1,
3454 .flags = ADDR_TYPE_RT
3455 },
3456 { }
3457};
3458
3459static struct omap_hwmod_ocp_if am33xx_l3_main__sha0 = {
3460 .master = &am33xx_l3_main_hwmod,
3461 .slave = &am33xx_sha0_hwmod,
3462 .clk = "sha0_fck",
3463 .addr = am33xx_sha0_addrs,
3464 .user = OCP_USER_MPU | OCP_USER_SDMA,
3465};
3466
3437static struct omap_hwmod_ocp_if *am33xx_hwmod_ocp_ifs[] __initdata = { 3467static struct omap_hwmod_ocp_if *am33xx_hwmod_ocp_ifs[] __initdata = {
3438 &am33xx_l4_fw__emif_fw, 3468 &am33xx_l4_fw__emif_fw,
3439 &am33xx_l3_main__emif, 3469 &am33xx_l3_main__emif,
@@ -3514,6 +3544,7 @@ static struct omap_hwmod_ocp_if *am33xx_hwmod_ocp_ifs[] __initdata = {
3514 &am33xx_l3_s__usbss, 3544 &am33xx_l3_s__usbss,
3515 &am33xx_l4_hs__cpgmac0, 3545 &am33xx_l4_hs__cpgmac0,
3516 &am33xx_cpgmac0__mdio, 3546 &am33xx_cpgmac0__mdio,
3547 &am33xx_l3_main__sha0,
3517 NULL, 3548 NULL,
3518}; 3549};
3519 3550