aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/platform_data
diff options
context:
space:
mode:
authorTony Lindgren <tony@atomide.com>2017-12-15 12:41:23 -0500
committerTony Lindgren <tony@atomide.com>2017-12-21 10:28:54 -0500
commitc5a2de97fbd2979fab291fb048084d3fddd322dd (patch)
tree45dfca45e1e9c683c961cb20936d464a2380f673 /include/linux/platform_data
parent566a9b05e1fa47dcfb93a4459145d0fdc06d3046 (diff)
bus: ti-sysc: Add parsing of module capabilities
We need to configure the interconnect target module based on the device three configuration. Let's also add a new quirk for SYSC_QUIRK_RESET_STATUS to indicate that the SYSCONFIG reset bit changes after the reset is done. Signed-off-by: Tony Lindgren <tony@atomide.com>
Diffstat (limited to 'include/linux/platform_data')
-rw-r--r--include/linux/platform_data/ti-sysc.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/include/linux/platform_data/ti-sysc.h b/include/linux/platform_data/ti-sysc.h
index 28e5a61d4abc..1be356330b96 100644
--- a/include/linux/platform_data/ti-sysc.h
+++ b/include/linux/platform_data/ti-sysc.h
@@ -41,6 +41,7 @@ struct sysc_regbits {
41 s8 emufree_shift; 41 s8 emufree_shift;
42}; 42};
43 43
44#define SYSC_QUIRK_RESET_STATUS BIT(7)
44#define SYSC_QUIRK_NO_IDLE_ON_INIT BIT(6) 45#define SYSC_QUIRK_NO_IDLE_ON_INIT BIT(6)
45#define SYSC_QUIRK_NO_RESET_ON_INIT BIT(5) 46#define SYSC_QUIRK_NO_RESET_ON_INIT BIT(5)
46#define SYSC_QUIRK_OPT_CLKS_NEEDED BIT(4) 47#define SYSC_QUIRK_OPT_CLKS_NEEDED BIT(4)
@@ -49,6 +50,8 @@ struct sysc_regbits {
49#define SYSC_QUIRK_UNCACHED BIT(1) 50#define SYSC_QUIRK_UNCACHED BIT(1)
50#define SYSC_QUIRK_USE_CLOCKACT BIT(0) 51#define SYSC_QUIRK_USE_CLOCKACT BIT(0)
51 52
53#define SYSC_NR_IDLEMODES 4
54
52/** 55/**
53 * struct sysc_capabilities - capabilities for an interconnect target module 56 * struct sysc_capabilities - capabilities for an interconnect target module
54 * 57 *
@@ -65,10 +68,17 @@ struct sysc_capabilities {
65 68
66/** 69/**
67 * struct sysc_config - configuration for an interconnect target module 70 * struct sysc_config - configuration for an interconnect target module
71 * @sysc_val: configured value for sysc register
72 * @midlemodes: bitmask of supported master idle modes
73 * @sidlemodes: bitmask of supported master idle modes
68 * @srst_udelay: optional delay needed after OCP soft reset 74 * @srst_udelay: optional delay needed after OCP soft reset
69 * @quirks: bitmask of enabled quirks 75 * @quirks: bitmask of enabled quirks
70 */ 76 */
71struct sysc_config { 77struct sysc_config {
78 u32 sysc_val;
79 u32 syss_mask;
80 u8 midlemodes;
81 u8 sidlemodes;
72 u8 srst_udelay; 82 u8 srst_udelay;
73 u32 quirks; 83 u32 quirks;
74}; 84};