diff options
-rw-r--r-- | Documentation/devicetree/bindings/bus/ti-sysc.txt | 2 | ||||
-rw-r--r-- | arch/arm/mach-omap2/omap_hwmod.c | 2 | ||||
-rw-r--r-- | drivers/bus/ti-sysc.c | 5 | ||||
-rw-r--r-- | include/linux/platform_data/ti-sysc.h | 5 |
4 files changed, 11 insertions, 3 deletions
diff --git a/Documentation/devicetree/bindings/bus/ti-sysc.txt b/Documentation/devicetree/bindings/bus/ti-sysc.txt index 85a23f551f02..f200f45572ae 100644 --- a/Documentation/devicetree/bindings/bus/ti-sysc.txt +++ b/Documentation/devicetree/bindings/bus/ti-sysc.txt | |||
@@ -94,6 +94,8 @@ Optional properties: | |||
94 | 94 | ||
95 | - ti,no-idle-on-init interconnect target module should not be idled at init | 95 | - ti,no-idle-on-init interconnect target module should not be idled at init |
96 | 96 | ||
97 | - ti,no-idle interconnect target module should not be idled | ||
98 | |||
97 | Example: Single instance of MUSB controller on omap4 using interconnect ranges | 99 | Example: Single instance of MUSB controller on omap4 using interconnect ranges |
98 | using offsets from l4_cfg second segment (0x4a000000 + 0x80000 = 0x4a0ab000): | 100 | using offsets from l4_cfg second segment (0x4a000000 + 0x80000 = 0x4a0ab000): |
99 | 101 | ||
diff --git a/arch/arm/mach-omap2/omap_hwmod.c b/arch/arm/mach-omap2/omap_hwmod.c index 9170fbfb7c59..a985844dbe39 100644 --- a/arch/arm/mach-omap2/omap_hwmod.c +++ b/arch/arm/mach-omap2/omap_hwmod.c | |||
@@ -3675,6 +3675,8 @@ int omap_hwmod_init_module(struct device *dev, | |||
3675 | if (error) | 3675 | if (error) |
3676 | return error; | 3676 | return error; |
3677 | 3677 | ||
3678 | if (data->cfg->quirks & SYSC_QUIRK_NO_IDLE) | ||
3679 | oh->flags |= HWMOD_NO_IDLE; | ||
3678 | if (data->cfg->quirks & SYSC_QUIRK_NO_IDLE_ON_INIT) | 3680 | if (data->cfg->quirks & SYSC_QUIRK_NO_IDLE_ON_INIT) |
3679 | oh->flags |= HWMOD_INIT_NO_IDLE; | 3681 | oh->flags |= HWMOD_INIT_NO_IDLE; |
3680 | if (data->cfg->quirks & SYSC_QUIRK_NO_RESET_ON_INIT) | 3682 | if (data->cfg->quirks & SYSC_QUIRK_NO_RESET_ON_INIT) |
diff --git a/drivers/bus/ti-sysc.c b/drivers/bus/ti-sysc.c index 647caccacee6..bc315f1d3bf8 100644 --- a/drivers/bus/ti-sysc.c +++ b/drivers/bus/ti-sysc.c | |||
@@ -920,7 +920,8 @@ static int sysc_init_module(struct sysc *ddata) | |||
920 | { | 920 | { |
921 | int error; | 921 | int error; |
922 | 922 | ||
923 | if (ddata->cfg.quirks & SYSC_QUIRK_NO_IDLE_ON_INIT) { | 923 | if (ddata->cfg.quirks & |
924 | (SYSC_QUIRK_NO_IDLE | SYSC_QUIRK_NO_IDLE_ON_INIT)) { | ||
924 | ddata->revision = sysc_read_revision(ddata); | 925 | ddata->revision = sysc_read_revision(ddata); |
925 | goto rev_quirks; | 926 | goto rev_quirks; |
926 | } | 927 | } |
@@ -1281,6 +1282,8 @@ static const struct sysc_dts_quirk sysc_dts_quirks[] = { | |||
1281 | .mask = SYSC_QUIRK_NO_IDLE_ON_INIT, }, | 1282 | .mask = SYSC_QUIRK_NO_IDLE_ON_INIT, }, |
1282 | { .name = "ti,no-reset-on-init", | 1283 | { .name = "ti,no-reset-on-init", |
1283 | .mask = SYSC_QUIRK_NO_RESET_ON_INIT, }, | 1284 | .mask = SYSC_QUIRK_NO_RESET_ON_INIT, }, |
1285 | { .name = "ti,no-idle", | ||
1286 | .mask = SYSC_QUIRK_NO_IDLE, }, | ||
1284 | }; | 1287 | }; |
1285 | 1288 | ||
1286 | static void sysc_parse_dts_quirks(struct sysc *ddata, struct device_node *np, | 1289 | static void sysc_parse_dts_quirks(struct sysc *ddata, struct device_node *np, |
diff --git a/include/linux/platform_data/ti-sysc.h b/include/linux/platform_data/ti-sysc.h index 1ea3aab972b4..fa97b8c5d26d 100644 --- a/include/linux/platform_data/ti-sysc.h +++ b/include/linux/platform_data/ti-sysc.h | |||
@@ -46,8 +46,9 @@ struct sysc_regbits { | |||
46 | s8 emufree_shift; | 46 | s8 emufree_shift; |
47 | }; | 47 | }; |
48 | 48 | ||
49 | #define SYSC_QUIRK_LEGACY_IDLE BIT(8) | 49 | #define SYSC_QUIRK_LEGACY_IDLE BIT(9) |
50 | #define SYSC_QUIRK_RESET_STATUS BIT(7) | 50 | #define SYSC_QUIRK_RESET_STATUS BIT(8) |
51 | #define SYSC_QUIRK_NO_IDLE BIT(7) | ||
51 | #define SYSC_QUIRK_NO_IDLE_ON_INIT BIT(6) | 52 | #define SYSC_QUIRK_NO_IDLE_ON_INIT BIT(6) |
52 | #define SYSC_QUIRK_NO_RESET_ON_INIT BIT(5) | 53 | #define SYSC_QUIRK_NO_RESET_ON_INIT BIT(5) |
53 | #define SYSC_QUIRK_OPT_CLKS_NEEDED BIT(4) | 54 | #define SYSC_QUIRK_OPT_CLKS_NEEDED BIT(4) |