mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2025-04-01 10:03:58 +07:00

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>
24 lines
680 B
C
24 lines
680 B
C
/* SPDX-License-Identifier: GPL-2.0+ */
|
|
/*
|
|
* Copyright (C) 2016 Freescale Semiconductor, Inc.
|
|
* Copyright 2017~2018 NXP
|
|
*
|
|
* Header file containing the public System Controller Interface (SCI)
|
|
* definitions.
|
|
*/
|
|
|
|
#ifndef _SC_SCI_H
|
|
#define _SC_SCI_H
|
|
|
|
#include <linux/firmware/imx/ipc.h>
|
|
#include <linux/firmware/imx/types.h>
|
|
|
|
#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 */
|