diff options
author | Anson Huang <anson.huang@nxp.com> | 2019-04-09 07:59:55 +0300 |
---|---|---|
committer | Shawn Guo <shawnguo@kernel.org> | 2019-04-11 10:31:02 +0300 |
commit | 851826c7566e9bb4d03eb050634031ecc802affb (patch) | |
tree | e1a7fddbc34e3dab2899e98412c70591f20d5397 /include/linux/firmware | |
parent | 9f735c4e94fcbec66aa282eebb92c4aa3de88c6d (diff) | |
download | linux-851826c7566e9bb4d03eb050634031ecc802affb.tar.xz |
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.h | 5 |
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 */ |