aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/firmware
diff options
context:
space:
mode:
authorAnson Huang <anson.huang@nxp.com>2019-04-09 04:59:55 +0000
committerShawn Guo <shawnguo@kernel.org>2019-04-11 15:31:02 +0800
commit851826c7566e9bb4d03eb050634031ecc802affb (patch)
treee1a7fddbc34e3dab2899e98412c70591f20d5397 /include/linux/firmware
parentsoc: imx: gpcv2: use devm_platform_ioremap_resource() to simplify code (diff)
downloadlinux-dev-851826c7566e9bb4d03eb050634031ecc802affb.tar.xz
linux-dev-851826c7566e9bb4d03eb050634031ecc802affb.zip
firmware: imx: enable imx scu general irq function
The System Controller Firmware (SCFW) controls RTC, thermal and WDOG etc., these resources' interrupt function are managed by SCU. When any IRQ pending, SCU will notify Linux via MU general interrupt channel #3, and Linux kernel needs to call SCU APIs to get IRQ status and notify each module to handle the interrupt. Since there is no data transmission for SCU IRQ notification, so doorbell mode is used for this MU channel, and SCU driver will use notifier mechanism to broadcast to every module which registers the SCU block notifier. Signed-off-by: Anson Huang <Anson.Huang@nxp.com> Reviewed-by: Dong Aisheng <aisheng.dong@nxp.com> Signed-off-by: Shawn Guo <shawnguo@kernel.org>
Diffstat (limited to 'include/linux/firmware')
-rw-r--r--include/linux/firmware/imx/sci.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/include/linux/firmware/imx/sci.h b/include/linux/firmware/imx/sci.h
index ebc55098faee..17ba4e405129 100644
--- a/include/linux/firmware/imx/sci.h
+++ b/include/linux/firmware/imx/sci.h
@@ -15,4 +15,9 @@
#include <linux/firmware/imx/svc/misc.h>
#include <linux/firmware/imx/svc/pm.h>
+
+int imx_scu_enable_general_irq_channel(struct device *dev);
+int imx_scu_irq_register_notifier(struct notifier_block *nb);
+int imx_scu_irq_unregister_notifier(struct notifier_block *nb);
+int imx_scu_irq_group_enable(u8 group, u32 mask, u8 enable);
#endif /* _SC_SCI_H */