aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAvinash.H.M <avinashhm@ti.com>2011-03-03 16:22:46 -0500
committerPaul Walmsley <paul@pwsan.com>2011-03-10 05:23:55 -0500
commitd73d65fab1c29c3c0f9736aed9cb55ea53843b00 (patch)
treeb78045b2977e67936ccbb2a61a5e8dd3a4d83513
parent8985b63d072413f0446fd2d0d654795f2d683323 (diff)
omap: hwmod: add syss reset done flags to omap2, omap3 hwmods
Some of the omap2, omap3 peripherals support software reset. This can be done through the softreset bit in sysconfig register. The reset status can be checked through resetdone bit of sysstatus register. syss_has_reset_status is added to the hwmod database of peripherals which have resetdone bit in sysstatus register. Cc: Rajendra Nayak <rnayak@ti.com> Cc: Paul Walmsley <paul@pwsan.com> Cc: Benoit Cousson <b-cousson@ti.com> Cc: Kevin Hilman <khilman@ti.com> Reviewed-by: Govindraj.R <govindraj.raja@ti.com> Signed-off-by: Avinash.H.M <avinashhm@ti.com> Signed-off-by: Paul Walmsley <paul@pwsan.com>
-rw-r--r--arch/arm/mach-omap2/omap_hwmod_2420_data.c11
-rw-r--r--arch/arm/mach-omap2/omap_hwmod_2430_data.c12
-rw-r--r--arch/arm/mach-omap2/omap_hwmod_3xxx_data.c13
3 files changed, 21 insertions, 15 deletions
diff --git a/arch/arm/mach-omap2/omap_hwmod_2420_data.c b/arch/arm/mach-omap2/omap_hwmod_2420_data.c
index b85c630b64d6..e8046b4ec6a4 100644
--- a/arch/arm/mach-omap2/omap_hwmod_2420_data.c
+++ b/arch/arm/mach-omap2/omap_hwmod_2420_data.c
@@ -308,7 +308,7 @@ static struct omap_hwmod_class_sysconfig omap2420_wd_timer_sysc = {
308 .sysc_offs = 0x0010, 308 .sysc_offs = 0x0010,
309 .syss_offs = 0x0014, 309 .syss_offs = 0x0014,
310 .sysc_flags = (SYSC_HAS_EMUFREE | SYSC_HAS_SOFTRESET | 310 .sysc_flags = (SYSC_HAS_EMUFREE | SYSC_HAS_SOFTRESET |
311 SYSC_HAS_AUTOIDLE), 311 SYSC_HAS_AUTOIDLE | SYSS_HAS_RESET_STATUS),
312 .sysc_fields = &omap_hwmod_sysc_type1, 312 .sysc_fields = &omap_hwmod_sysc_type1,
313}; 313};
314 314
@@ -349,7 +349,7 @@ static struct omap_hwmod_class_sysconfig uart_sysc = {
349 .syss_offs = 0x58, 349 .syss_offs = 0x58,
350 .sysc_flags = (SYSC_HAS_SIDLEMODE | 350 .sysc_flags = (SYSC_HAS_SIDLEMODE |
351 SYSC_HAS_ENAWAKEUP | SYSC_HAS_SOFTRESET | 351 SYSC_HAS_ENAWAKEUP | SYSC_HAS_SOFTRESET |
352 SYSC_HAS_AUTOIDLE), 352 SYSC_HAS_AUTOIDLE | SYSS_HAS_RESET_STATUS),
353 .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART), 353 .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART),
354 .sysc_fields = &omap_hwmod_sysc_type1, 354 .sysc_fields = &omap_hwmod_sysc_type1,
355}; 355};
@@ -475,7 +475,7 @@ static struct omap_hwmod_class_sysconfig i2c_sysc = {
475 .rev_offs = 0x00, 475 .rev_offs = 0x00,
476 .sysc_offs = 0x20, 476 .sysc_offs = 0x20,
477 .syss_offs = 0x10, 477 .syss_offs = 0x10,
478 .sysc_flags = SYSC_HAS_SOFTRESET, 478 .sysc_flags = (SYSC_HAS_SOFTRESET | SYSS_HAS_RESET_STATUS),
479 .sysc_fields = &omap_hwmod_sysc_type1, 479 .sysc_fields = &omap_hwmod_sysc_type1,
480}; 480};
481 481
@@ -647,7 +647,8 @@ static struct omap_hwmod_class_sysconfig omap242x_gpio_sysc = {
647 .sysc_offs = 0x0010, 647 .sysc_offs = 0x0010,
648 .syss_offs = 0x0014, 648 .syss_offs = 0x0014,
649 .sysc_flags = (SYSC_HAS_ENAWAKEUP | SYSC_HAS_SIDLEMODE | 649 .sysc_flags = (SYSC_HAS_ENAWAKEUP | SYSC_HAS_SIDLEMODE |
650 SYSC_HAS_SOFTRESET | SYSC_HAS_AUTOIDLE), 650 SYSC_HAS_SOFTRESET | SYSC_HAS_AUTOIDLE |
651 SYSS_HAS_RESET_STATUS),
651 .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART), 652 .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART),
652 .sysc_fields = &omap_hwmod_sysc_type1, 653 .sysc_fields = &omap_hwmod_sysc_type1,
653}; 654};
@@ -789,7 +790,7 @@ static struct omap_hwmod_class_sysconfig omap2420_dma_sysc = {
789 .syss_offs = 0x0028, 790 .syss_offs = 0x0028,
790 .sysc_flags = (SYSC_HAS_SOFTRESET | SYSC_HAS_MIDLEMODE | 791 .sysc_flags = (SYSC_HAS_SOFTRESET | SYSC_HAS_MIDLEMODE |
791 SYSC_HAS_CLOCKACTIVITY | SYSC_HAS_EMUFREE | 792 SYSC_HAS_CLOCKACTIVITY | SYSC_HAS_EMUFREE |
792 SYSC_HAS_AUTOIDLE), 793 SYSC_HAS_AUTOIDLE | SYSS_HAS_RESET_STATUS),
793 .idlemodes = (MSTANDBY_FORCE | MSTANDBY_NO | MSTANDBY_SMART), 794 .idlemodes = (MSTANDBY_FORCE | MSTANDBY_NO | MSTANDBY_SMART),
794 .sysc_fields = &omap_hwmod_sysc_type1, 795 .sysc_fields = &omap_hwmod_sysc_type1,
795}; 796};
diff --git a/arch/arm/mach-omap2/omap_hwmod_2430_data.c b/arch/arm/mach-omap2/omap_hwmod_2430_data.c
index 8ecfbcde13ba..115eed51b521 100644
--- a/arch/arm/mach-omap2/omap_hwmod_2430_data.c
+++ b/arch/arm/mach-omap2/omap_hwmod_2430_data.c
@@ -307,7 +307,7 @@ static struct omap_hwmod_class_sysconfig omap2430_wd_timer_sysc = {
307 .sysc_offs = 0x0010, 307 .sysc_offs = 0x0010,
308 .syss_offs = 0x0014, 308 .syss_offs = 0x0014,
309 .sysc_flags = (SYSC_HAS_EMUFREE | SYSC_HAS_SOFTRESET | 309 .sysc_flags = (SYSC_HAS_EMUFREE | SYSC_HAS_SOFTRESET |
310 SYSC_HAS_AUTOIDLE), 310 SYSC_HAS_AUTOIDLE | SYSS_HAS_RESET_STATUS),
311 .sysc_fields = &omap_hwmod_sysc_type1, 311 .sysc_fields = &omap_hwmod_sysc_type1,
312}; 312};
313 313
@@ -348,7 +348,7 @@ static struct omap_hwmod_class_sysconfig uart_sysc = {
348 .syss_offs = 0x58, 348 .syss_offs = 0x58,
349 .sysc_flags = (SYSC_HAS_SIDLEMODE | 349 .sysc_flags = (SYSC_HAS_SIDLEMODE |
350 SYSC_HAS_ENAWAKEUP | SYSC_HAS_SOFTRESET | 350 SYSC_HAS_ENAWAKEUP | SYSC_HAS_SOFTRESET |
351 SYSC_HAS_AUTOIDLE), 351 SYSC_HAS_AUTOIDLE | SYSS_HAS_RESET_STATUS),
352 .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART), 352 .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART),
353 .sysc_fields = &omap_hwmod_sysc_type1, 353 .sysc_fields = &omap_hwmod_sysc_type1,
354}; 354};
@@ -474,7 +474,8 @@ static struct omap_hwmod_class_sysconfig i2c_sysc = {
474 .rev_offs = 0x00, 474 .rev_offs = 0x00,
475 .sysc_offs = 0x20, 475 .sysc_offs = 0x20,
476 .syss_offs = 0x10, 476 .syss_offs = 0x10,
477 .sysc_flags = (SYSC_HAS_SOFTRESET | SYSC_HAS_AUTOIDLE), 477 .sysc_flags = (SYSC_HAS_SOFTRESET | SYSC_HAS_AUTOIDLE |
478 SYSS_HAS_RESET_STATUS),
478 .sysc_fields = &omap_hwmod_sysc_type1, 479 .sysc_fields = &omap_hwmod_sysc_type1,
479}; 480};
480 481
@@ -672,7 +673,8 @@ static struct omap_hwmod_class_sysconfig omap243x_gpio_sysc = {
672 .sysc_offs = 0x0010, 673 .sysc_offs = 0x0010,
673 .syss_offs = 0x0014, 674 .syss_offs = 0x0014,
674 .sysc_flags = (SYSC_HAS_ENAWAKEUP | SYSC_HAS_SIDLEMODE | 675 .sysc_flags = (SYSC_HAS_ENAWAKEUP | SYSC_HAS_SIDLEMODE |
675 SYSC_HAS_SOFTRESET | SYSC_HAS_AUTOIDLE), 676 SYSC_HAS_SOFTRESET | SYSC_HAS_AUTOIDLE |
677 SYSS_HAS_RESET_STATUS),
676 .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART), 678 .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART),
677 .sysc_fields = &omap_hwmod_sysc_type1, 679 .sysc_fields = &omap_hwmod_sysc_type1,
678}; 680};
@@ -844,7 +846,7 @@ static struct omap_hwmod_class_sysconfig omap2430_dma_sysc = {
844 .syss_offs = 0x0028, 846 .syss_offs = 0x0028,
845 .sysc_flags = (SYSC_HAS_SOFTRESET | SYSC_HAS_MIDLEMODE | 847 .sysc_flags = (SYSC_HAS_SOFTRESET | SYSC_HAS_MIDLEMODE |
846 SYSC_HAS_CLOCKACTIVITY | SYSC_HAS_EMUFREE | 848 SYSC_HAS_CLOCKACTIVITY | SYSC_HAS_EMUFREE |
847 SYSC_HAS_AUTOIDLE), 849 SYSC_HAS_AUTOIDLE | SYSS_HAS_RESET_STATUS),
848 .idlemodes = (MSTANDBY_FORCE | MSTANDBY_NO | MSTANDBY_SMART), 850 .idlemodes = (MSTANDBY_FORCE | MSTANDBY_NO | MSTANDBY_SMART),
849 .sysc_fields = &omap_hwmod_sysc_type1, 851 .sysc_fields = &omap_hwmod_sysc_type1,
850}; 852};
diff --git a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
index 8d8181334f86..acf0d54024ab 100644
--- a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
+++ b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
@@ -447,7 +447,8 @@ static struct omap_hwmod_class_sysconfig omap3xxx_wd_timer_sysc = {
447 .syss_offs = 0x0014, 447 .syss_offs = 0x0014,
448 .sysc_flags = (SYSC_HAS_SIDLEMODE | SYSC_HAS_EMUFREE | 448 .sysc_flags = (SYSC_HAS_SIDLEMODE | SYSC_HAS_EMUFREE |
449 SYSC_HAS_ENAWAKEUP | SYSC_HAS_SOFTRESET | 449 SYSC_HAS_ENAWAKEUP | SYSC_HAS_SOFTRESET |
450 SYSC_HAS_AUTOIDLE | SYSC_HAS_CLOCKACTIVITY), 450 SYSC_HAS_AUTOIDLE | SYSC_HAS_CLOCKACTIVITY |
451 SYSS_HAS_RESET_STATUS),
451 .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART), 452 .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART),
452 .sysc_fields = &omap_hwmod_sysc_type1, 453 .sysc_fields = &omap_hwmod_sysc_type1,
453}; 454};
@@ -459,7 +460,7 @@ static struct omap_hwmod_class_sysconfig i2c_sysc = {
459 .syss_offs = 0x10, 460 .syss_offs = 0x10,
460 .sysc_flags = (SYSC_HAS_CLOCKACTIVITY | SYSC_HAS_SIDLEMODE | 461 .sysc_flags = (SYSC_HAS_CLOCKACTIVITY | SYSC_HAS_SIDLEMODE |
461 SYSC_HAS_ENAWAKEUP | SYSC_HAS_SOFTRESET | 462 SYSC_HAS_ENAWAKEUP | SYSC_HAS_SOFTRESET |
462 SYSC_HAS_AUTOIDLE), 463 SYSC_HAS_AUTOIDLE | SYSS_HAS_RESET_STATUS),
463 .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART), 464 .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART),
464 .sysc_fields = &omap_hwmod_sysc_type1, 465 .sysc_fields = &omap_hwmod_sysc_type1,
465}; 466};
@@ -501,7 +502,7 @@ static struct omap_hwmod_class_sysconfig uart_sysc = {
501 .syss_offs = 0x58, 502 .syss_offs = 0x58,
502 .sysc_flags = (SYSC_HAS_SIDLEMODE | 503 .sysc_flags = (SYSC_HAS_SIDLEMODE |
503 SYSC_HAS_ENAWAKEUP | SYSC_HAS_SOFTRESET | 504 SYSC_HAS_ENAWAKEUP | SYSC_HAS_SOFTRESET |
504 SYSC_HAS_AUTOIDLE), 505 SYSC_HAS_AUTOIDLE | SYSS_HAS_RESET_STATUS),
505 .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART), 506 .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART),
506 .sysc_fields = &omap_hwmod_sysc_type1, 507 .sysc_fields = &omap_hwmod_sysc_type1,
507}; 508};
@@ -902,7 +903,8 @@ static struct omap_hwmod_class_sysconfig omap3xxx_gpio_sysc = {
902 .sysc_offs = 0x0010, 903 .sysc_offs = 0x0010,
903 .syss_offs = 0x0014, 904 .syss_offs = 0x0014,
904 .sysc_flags = (SYSC_HAS_ENAWAKEUP | SYSC_HAS_SIDLEMODE | 905 .sysc_flags = (SYSC_HAS_ENAWAKEUP | SYSC_HAS_SIDLEMODE |
905 SYSC_HAS_SOFTRESET | SYSC_HAS_AUTOIDLE), 906 SYSC_HAS_SOFTRESET | SYSC_HAS_AUTOIDLE |
907 SYSS_HAS_RESET_STATUS),
906 .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART), 908 .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART),
907 .sysc_fields = &omap_hwmod_sysc_type1, 909 .sysc_fields = &omap_hwmod_sysc_type1,
908}; 910};
@@ -1156,7 +1158,8 @@ static struct omap_hwmod_class_sysconfig omap3xxx_dma_sysc = {
1156 .syss_offs = 0x0028, 1158 .syss_offs = 0x0028,
1157 .sysc_flags = (SYSC_HAS_SIDLEMODE | SYSC_HAS_SOFTRESET | 1159 .sysc_flags = (SYSC_HAS_SIDLEMODE | SYSC_HAS_SOFTRESET |
1158 SYSC_HAS_MIDLEMODE | SYSC_HAS_CLOCKACTIVITY | 1160 SYSC_HAS_MIDLEMODE | SYSC_HAS_CLOCKACTIVITY |
1159 SYSC_HAS_EMUFREE | SYSC_HAS_AUTOIDLE), 1161 SYSC_HAS_EMUFREE | SYSC_HAS_AUTOIDLE |
1162 SYSS_HAS_RESET_STATUS),
1160 .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART | 1163 .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART |
1161 MSTANDBY_FORCE | MSTANDBY_NO | MSTANDBY_SMART), 1164 MSTANDBY_FORCE | MSTANDBY_NO | MSTANDBY_SMART),
1162 .sysc_fields = &omap_hwmod_sysc_type1, 1165 .sysc_fields = &omap_hwmod_sysc_type1,