#include <dt-bindings/power/starfive,jh7110-pmu.h>
/* register offset */
+#define JH71XX_PMU_HW_EVENT_TURN_OFF_MASK 0x08
#define JH71XX_PMU_SW_TURN_ON_POWER 0x0C
#define JH71XX_PMU_SW_TURN_OFF_POWER 0x10
#define JH71XX_PMU_SW_ENCOURAGE 0x44
struct generic_pm_domain genpd;
};
+static void __iomem *pmu_base;
+
+void jh71xx_pmu_hw_event_turn_off_mask(u32 mask)
+{
+ writel(mask, pmu_base + JH71XX_PMU_HW_EVENT_TURN_OFF_MASK);
+}
+EXPORT_SYMBOL(jh71xx_pmu_hw_event_turn_off_mask);
+
static int jh71xx_pmu_get_state(struct jh71xx_pmu_dev *pmd, u32 mask, bool *is_on)
{
struct jh71xx_pmu *pmu = pmd->pmu;
return ret;
}
+ pmu_base = pmu->base;
+
dev_dbg(dev, "registered %u power domains\n", i);
return 0;
--- /dev/null
+// SPDX-License-Identifier: GPL-2.0-or-later
+/*
+ * StarFive JH71XX PMU (Power Management Unit) Controller Driver
+ *
+ * Copyright (C) 2022 StarFive Technology Co., Ltd.
+ */
+
+
+#ifndef __SOC_STARFIVE_JH71XX_PMU_H__
+#define __SOC_STARFIVE_JH71XX_PMU_H__
+
+void jh71xx_pmu_hw_event_turn_off_mask(u32 mask);
+
+#endif /* __SOC_STARFIVE_JH71XX_PMU_H__ */