1
From 4216135dcb2680df7986887a80ec979f47b62f4b Mon Sep 17 00:00:00 2001
2
From: Avinash.H.M <avinashhm@ti.com>
3
Date: Thu, 3 Mar 2011 14:22:46 -0700
4
Subject: [PATCH 223/258] omap: hwmod: add syss reset done flags to omap2, omap3 hwmods
6
Some of the omap2, omap3 peripherals support software reset. This
7
can be done through the softreset bit in sysconfig register.
8
The reset status can be checked through resetdone bit of
9
sysstatus register. syss_has_reset_status is added to the hwmod
10
database of peripherals which have resetdone bit in sysstatus register.
12
Cc: Rajendra Nayak <rnayak@ti.com>
13
Cc: Paul Walmsley <paul@pwsan.com>
14
Cc: Benoit Cousson <b-cousson@ti.com>
15
Cc: Kevin Hilman <khilman@ti.com>
16
Reviewed-by: Govindraj.R <govindraj.raja@ti.com>
17
Signed-off-by: Avinash.H.M <avinashhm@ti.com>
18
Signed-off-by: Paul Walmsley <paul@pwsan.com>
20
arch/arm/mach-omap2/omap_hwmod_2420_data.c | 11 ++++++-----
21
arch/arm/mach-omap2/omap_hwmod_2430_data.c | 12 +++++++-----
22
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c | 13 ++++++++-----
23
3 files changed, 21 insertions(+), 15 deletions(-)
25
diff --git a/arch/arm/mach-omap2/omap_hwmod_2420_data.c b/arch/arm/mach-omap2/omap_hwmod_2420_data.c
26
index 61e58bd..6282346 100644
27
--- a/arch/arm/mach-omap2/omap_hwmod_2420_data.c
28
+++ b/arch/arm/mach-omap2/omap_hwmod_2420_data.c
29
@@ -988,7 +988,7 @@ static struct omap_hwmod_class_sysconfig omap2420_wd_timer_sysc = {
32
.sysc_flags = (SYSC_HAS_EMUFREE | SYSC_HAS_SOFTRESET |
34
+ SYSC_HAS_AUTOIDLE | SYSS_HAS_RESET_STATUS),
35
.sysc_fields = &omap_hwmod_sysc_type1,
38
@@ -1029,7 +1029,7 @@ static struct omap_hwmod_class_sysconfig uart_sysc = {
40
.sysc_flags = (SYSC_HAS_SIDLEMODE |
41
SYSC_HAS_ENAWAKEUP | SYSC_HAS_SOFTRESET |
43
+ SYSC_HAS_AUTOIDLE | SYSS_HAS_RESET_STATUS),
44
.idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART),
45
.sysc_fields = &omap_hwmod_sysc_type1,
47
@@ -1441,7 +1441,7 @@ static struct omap_hwmod_class_sysconfig i2c_sysc = {
51
- .sysc_flags = SYSC_HAS_SOFTRESET,
52
+ .sysc_flags = (SYSC_HAS_SOFTRESET | SYSS_HAS_RESET_STATUS),
53
.sysc_fields = &omap_hwmod_sysc_type1,
56
@@ -1613,7 +1613,8 @@ static struct omap_hwmod_class_sysconfig omap242x_gpio_sysc = {
59
.sysc_flags = (SYSC_HAS_ENAWAKEUP | SYSC_HAS_SIDLEMODE |
60
- SYSC_HAS_SOFTRESET | SYSC_HAS_AUTOIDLE),
61
+ SYSC_HAS_SOFTRESET | SYSC_HAS_AUTOIDLE |
62
+ SYSS_HAS_RESET_STATUS),
63
.idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART),
64
.sysc_fields = &omap_hwmod_sysc_type1,
66
@@ -1755,7 +1756,7 @@ static struct omap_hwmod_class_sysconfig omap2420_dma_sysc = {
68
.sysc_flags = (SYSC_HAS_SOFTRESET | SYSC_HAS_MIDLEMODE |
69
SYSC_HAS_CLOCKACTIVITY | SYSC_HAS_EMUFREE |
71
+ SYSC_HAS_AUTOIDLE | SYSS_HAS_RESET_STATUS),
72
.idlemodes = (MSTANDBY_FORCE | MSTANDBY_NO | MSTANDBY_SMART),
73
.sysc_fields = &omap_hwmod_sysc_type1,
75
diff --git a/arch/arm/mach-omap2/omap_hwmod_2430_data.c b/arch/arm/mach-omap2/omap_hwmod_2430_data.c
76
index 0da754e..5afe27d 100644
77
--- a/arch/arm/mach-omap2/omap_hwmod_2430_data.c
78
+++ b/arch/arm/mach-omap2/omap_hwmod_2430_data.c
79
@@ -1088,7 +1088,7 @@ static struct omap_hwmod_class_sysconfig omap2430_wd_timer_sysc = {
82
.sysc_flags = (SYSC_HAS_EMUFREE | SYSC_HAS_SOFTRESET |
84
+ SYSC_HAS_AUTOIDLE | SYSS_HAS_RESET_STATUS),
85
.sysc_fields = &omap_hwmod_sysc_type1,
88
@@ -1129,7 +1129,7 @@ static struct omap_hwmod_class_sysconfig uart_sysc = {
90
.sysc_flags = (SYSC_HAS_SIDLEMODE |
91
SYSC_HAS_ENAWAKEUP | SYSC_HAS_SOFTRESET |
93
+ SYSC_HAS_AUTOIDLE | SYSS_HAS_RESET_STATUS),
94
.idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART),
95
.sysc_fields = &omap_hwmod_sysc_type1,
97
@@ -1516,7 +1516,8 @@ static struct omap_hwmod_class_sysconfig i2c_sysc = {
101
- .sysc_flags = (SYSC_HAS_SOFTRESET | SYSC_HAS_AUTOIDLE),
102
+ .sysc_flags = (SYSC_HAS_SOFTRESET | SYSC_HAS_AUTOIDLE |
103
+ SYSS_HAS_RESET_STATUS),
104
.sysc_fields = &omap_hwmod_sysc_type1,
107
@@ -1714,7 +1715,8 @@ static struct omap_hwmod_class_sysconfig omap243x_gpio_sysc = {
110
.sysc_flags = (SYSC_HAS_ENAWAKEUP | SYSC_HAS_SIDLEMODE |
111
- SYSC_HAS_SOFTRESET | SYSC_HAS_AUTOIDLE),
112
+ SYSC_HAS_SOFTRESET | SYSC_HAS_AUTOIDLE |
113
+ SYSS_HAS_RESET_STATUS),
114
.idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART),
115
.sysc_fields = &omap_hwmod_sysc_type1,
117
@@ -1886,7 +1888,7 @@ static struct omap_hwmod_class_sysconfig omap2430_dma_sysc = {
119
.sysc_flags = (SYSC_HAS_SOFTRESET | SYSC_HAS_MIDLEMODE |
120
SYSC_HAS_CLOCKACTIVITY | SYSC_HAS_EMUFREE |
121
- SYSC_HAS_AUTOIDLE),
122
+ SYSC_HAS_AUTOIDLE | SYSS_HAS_RESET_STATUS),
123
.idlemodes = (MSTANDBY_FORCE | MSTANDBY_NO | MSTANDBY_SMART),
124
.sysc_fields = &omap_hwmod_sysc_type1,
126
diff --git a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
127
index 11f4a24..6a5de99 100644
128
--- a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
129
+++ b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
130
@@ -1237,7 +1237,8 @@ static struct omap_hwmod_class_sysconfig omap3xxx_wd_timer_sysc = {
132
.sysc_flags = (SYSC_HAS_SIDLEMODE | SYSC_HAS_EMUFREE |
133
SYSC_HAS_ENAWAKEUP | SYSC_HAS_SOFTRESET |
134
- SYSC_HAS_AUTOIDLE | SYSC_HAS_CLOCKACTIVITY),
135
+ SYSC_HAS_AUTOIDLE | SYSC_HAS_CLOCKACTIVITY |
136
+ SYSS_HAS_RESET_STATUS),
137
.idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART),
138
.sysc_fields = &omap_hwmod_sysc_type1,
140
@@ -1249,7 +1250,7 @@ static struct omap_hwmod_class_sysconfig i2c_sysc = {
142
.sysc_flags = (SYSC_HAS_CLOCKACTIVITY | SYSC_HAS_SIDLEMODE |
143
SYSC_HAS_ENAWAKEUP | SYSC_HAS_SOFTRESET |
144
- SYSC_HAS_AUTOIDLE),
145
+ SYSC_HAS_AUTOIDLE | SYSS_HAS_RESET_STATUS),
146
.idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART),
147
.sysc_fields = &omap_hwmod_sysc_type1,
149
@@ -1291,7 +1292,7 @@ static struct omap_hwmod_class_sysconfig uart_sysc = {
151
.sysc_flags = (SYSC_HAS_SIDLEMODE |
152
SYSC_HAS_ENAWAKEUP | SYSC_HAS_SOFTRESET |
153
- SYSC_HAS_AUTOIDLE),
154
+ SYSC_HAS_AUTOIDLE | SYSS_HAS_RESET_STATUS),
155
.idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART),
156
.sysc_fields = &omap_hwmod_sysc_type1,
158
@@ -2097,7 +2098,8 @@ static struct omap_hwmod_class_sysconfig omap3xxx_gpio_sysc = {
161
.sysc_flags = (SYSC_HAS_ENAWAKEUP | SYSC_HAS_SIDLEMODE |
162
- SYSC_HAS_SOFTRESET | SYSC_HAS_AUTOIDLE),
163
+ SYSC_HAS_SOFTRESET | SYSC_HAS_AUTOIDLE |
164
+ SYSS_HAS_RESET_STATUS),
165
.idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART),
166
.sysc_fields = &omap_hwmod_sysc_type1,
168
@@ -2351,7 +2353,8 @@ static struct omap_hwmod_class_sysconfig omap3xxx_dma_sysc = {
170
.sysc_flags = (SYSC_HAS_SIDLEMODE | SYSC_HAS_SOFTRESET |
171
SYSC_HAS_MIDLEMODE | SYSC_HAS_CLOCKACTIVITY |
172
- SYSC_HAS_EMUFREE | SYSC_HAS_AUTOIDLE),
173
+ SYSC_HAS_EMUFREE | SYSC_HAS_AUTOIDLE |
174
+ SYSS_HAS_RESET_STATUS),
175
.idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART |
176
MSTANDBY_FORCE | MSTANDBY_NO | MSTANDBY_SMART),
177
.sysc_fields = &omap_hwmod_sysc_type1,