diff options
| author | Tony Lindgren <tony@atomide.com> | 2017-12-15 12:41:19 -0500 |
|---|---|---|
| committer | Tony Lindgren <tony@atomide.com> | 2017-12-21 10:28:54 -0500 |
| commit | 566a9b05e1fa47dcfb93a4459145d0fdc06d3046 (patch) | |
| tree | 6b7d9d55fd4872ce316462906d5c10a6286d2ccb /include/linux/platform_data | |
| parent | a7199e2b91ded41adbb6fd384a85e358d25f48c8 (diff) | |
bus: ti-sysc: Handle module quirks based dts configuration
Let's configure few module quirks via device tree using the
properties for "ti,no-idle-on-init", "ti,no-reset-on-init"
and "ti,sysc-delay-us".
Let's also reorder the probe a bit so we have pdata available
earlier, and move the PM runtime calls to sysc_init_module()
from sysc_read_revision().
Signed-off-by: Tony Lindgren <tony@atomide.com>
Diffstat (limited to 'include/linux/platform_data')
| -rw-r--r-- | include/linux/platform_data/ti-sysc.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/include/linux/platform_data/ti-sysc.h b/include/linux/platform_data/ti-sysc.h index 059be6f6fa94..28e5a61d4abc 100644 --- a/include/linux/platform_data/ti-sysc.h +++ b/include/linux/platform_data/ti-sysc.h | |||
| @@ -41,6 +41,10 @@ struct sysc_regbits { | |||
| 41 | s8 emufree_shift; | 41 | s8 emufree_shift; |
| 42 | }; | 42 | }; |
| 43 | 43 | ||
| 44 | #define SYSC_QUIRK_NO_IDLE_ON_INIT BIT(6) | ||
| 45 | #define SYSC_QUIRK_NO_RESET_ON_INIT BIT(5) | ||
| 46 | #define SYSC_QUIRK_OPT_CLKS_NEEDED BIT(4) | ||
| 47 | #define SYSC_QUIRK_OPT_CLKS_IN_RESET BIT(3) | ||
| 44 | #define SYSC_QUIRK_16BIT BIT(2) | 48 | #define SYSC_QUIRK_16BIT BIT(2) |
| 45 | #define SYSC_QUIRK_UNCACHED BIT(1) | 49 | #define SYSC_QUIRK_UNCACHED BIT(1) |
| 46 | #define SYSC_QUIRK_USE_CLOCKACT BIT(0) | 50 | #define SYSC_QUIRK_USE_CLOCKACT BIT(0) |
| @@ -61,9 +65,11 @@ struct sysc_capabilities { | |||
| 61 | 65 | ||
| 62 | /** | 66 | /** |
| 63 | * struct sysc_config - configuration for an interconnect target module | 67 | * struct sysc_config - configuration for an interconnect target module |
| 68 | * @srst_udelay: optional delay needed after OCP soft reset | ||
| 64 | * @quirks: bitmask of enabled quirks | 69 | * @quirks: bitmask of enabled quirks |
| 65 | */ | 70 | */ |
| 66 | struct sysc_config { | 71 | struct sysc_config { |
| 72 | u8 srst_udelay; | ||
| 67 | u32 quirks; | 73 | u32 quirks; |
| 68 | }; | 74 | }; |
| 69 | 75 | ||
