linux/include/linux/firmware/imx/svc/pm.h

/* SPDX-License-Identifier: GPL-2.0+ */
/*
 * Copyright (C) 2016 Freescale Semiconductor, Inc.
 * Copyright 2017-2018 NXP
 *
 * Header file containing the public API for the System Controller (SC)
 * Power Management (PM) function. This includes functions for power state
 * control, clock control, reset control, and wake-up event control.
 *
 * PM_SVC (SVC) Power Management Service
 *
 * Module for the Power Management (PM) service.
 */

#ifndef _SC_PM_API_H
#define _SC_PM_API_H

#include <linux/firmware/imx/sci.h>

/*
 * This type is used to indicate RPC PM function calls.
 */
enum imx_sc_pm_func {};

/*
 * Defines for ALL parameters
 */
#define IMX_SC_PM_CLK_ALL

/*
 * Defines for SC PM Power Mode
 */
#define IMX_SC_PM_PW_MODE_OFF
#define IMX_SC_PM_PW_MODE_STBY
#define IMX_SC_PM_PW_MODE_LP
#define IMX_SC_PM_PW_MODE_ON

/*
 * Defines for SC PM CLK
 */
#define IMX_SC_PM_CLK_SLV_BUS
#define IMX_SC_PM_CLK_MST_BUS
#define IMX_SC_PM_CLK_PER
#define IMX_SC_PM_CLK_PHY
#define IMX_SC_PM_CLK_MISC
#define IMX_SC_PM_CLK_MISC0
#define IMX_SC_PM_CLK_MISC1
#define IMX_SC_PM_CLK_MISC2
#define IMX_SC_PM_CLK_MISC3
#define IMX_SC_PM_CLK_MISC4
#define IMX_SC_PM_CLK_CPU
#define IMX_SC_PM_CLK_PLL
#define IMX_SC_PM_CLK_BYPASS

/*
 * Defines for SC PM CLK Parent
 */
#define IMX_SC_PM_PARENT_XTAL
#define IMX_SC_PM_PARENT_PLL0
#define IMX_SC_PM_PARENT_PLL1
#define IMX_SC_PM_PARENT_PLL2
#define IMX_SC_PM_PARENT_BYPS

#endif /* _SC_PM_API_H */