summaryrefslogtreecommitdiffstats
path: root/include/linux/platform_data
diff options
context:
space:
mode:
authorTony Lindgren <tony@atomide.com>2017-12-15 09:41:19 -0800
committerTony Lindgren <tony@atomide.com>2017-12-21 07:28:54 -0800
commit566a9b05e1fa47dcfb93a4459145d0fdc06d3046 (patch)
tree6b7d9d55fd4872ce316462906d5c10a6286d2ccb /include/linux/platform_data
parenta7199e2b91ded41adbb6fd384a85e358d25f48c8 (diff)
downloadop-kernel-dev-566a9b05e1fa47dcfb93a4459145d0fdc06d3046.zip
op-kernel-dev-566a9b05e1fa47dcfb93a4459145d0fdc06d3046.tar.gz
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.h6
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 059be6f..28e5a61 100644
--- a/include/linux/platform_data/ti-sysc.h
+++ b/include/linux/platform_data/ti-sysc.h
@@ -41,6 +41,10 @@ struct sysc_regbits {
s8 emufree_shift;
};
+#define SYSC_QUIRK_NO_IDLE_ON_INIT BIT(6)
+#define SYSC_QUIRK_NO_RESET_ON_INIT BIT(5)
+#define SYSC_QUIRK_OPT_CLKS_NEEDED BIT(4)
+#define SYSC_QUIRK_OPT_CLKS_IN_RESET BIT(3)
#define SYSC_QUIRK_16BIT BIT(2)
#define SYSC_QUIRK_UNCACHED BIT(1)
#define SYSC_QUIRK_USE_CLOCKACT BIT(0)
@@ -61,9 +65,11 @@ struct sysc_capabilities {
/**
* struct sysc_config - configuration for an interconnect target module
+ * @srst_udelay: optional delay needed after OCP soft reset
* @quirks: bitmask of enabled quirks
*/
struct sysc_config {
+ u8 srst_udelay;
u32 quirks;
};
OpenPOWER on IntegriCloud