static const struct scmi_imx_misc_proto_ops *imx_misc_ctrl_ops;
static struct scmi_protocol_handle *ph;
- struct notifier_block scmi_imx_misc_ctrl_nb;
+ static struct notifier_block scmi_imx_misc_ctrl_nb;
+static const char * const rst_imx95[] = {
+ "cm33_lockup", "cm33_swreq", "cm7_lockup", "cm7_swreq", "fccu",
+ "jtag_sw", "ele", "tempsense", "wdog1", "wdog2", "wdog3", "wdog4",
+ "wdog5", "jtag", "cm33_exc", "bbm", "sw", "sm_err", "fusa_sreco",
+ "pmic", "unused", "unused", "unused", "unused", "unused", "unused",
+ "unused", "unused", "unused", "unused", "unused", "por",
+};
+
+static const char * const rst_imx94[] = {
+ "cm33_lockup", "cm33_swreq", "cm70_lockup", "cm70_swreq", "fccu",
+ "jtag_sw", "ele", "tempsense", "wdog1", "wdog2", "wdog3", "wdog4",
+ "wdog5", "jtag", "wdog6", "wdog7", "wdog8", "wo_netc", "cm33s_lockup",
+ "cm33s_swreq", "cm71_lockup", "cm71_swreq", "cm33_exc", "bbm", "sw",
+ "sm_err", "fusa_sreco", "pmic", "unused", "unused", "unused", "por",
+};
+
+static const struct of_device_id allowlist[] = {
+ { .compatible = "fsl,imx952", .data = rst_imx95 },
+ { .compatible = "fsl,imx95", .data = rst_imx95 },
+ { .compatible = "fsl,imx94", .data = rst_imx94 },
+ { /* Sentinel */ }
+};
+
int scmi_imx_misc_ctrl_set(u32 id, u32 val)
{
if (!ph)