arm-trusted-firmware/plat/rockchip/common/scmi/scmi_rstd.h
XiaoDong Huang 04150fee44 feat(rk3588): support SCMI for clock/reset domain
rockchip scmi clock controls clocks which only available in secure mode.

Signed-off-by: XiaoDong Huang <derrick.huang@rock-chips.com>
Change-Id: I5b983877a5b4e8acababbf7e0a3e2725e6479e08
2024-08-13 15:45:37 +08:00

45 lines
1,017 B
C

/*
* Copyright (c) 2024, Rockchip, Inc. All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
*/
#ifndef RK_SCMI_RESET_DOMAIN_H
#define RK_SCMI_RESET_DOMAIN_H
#include <stdint.h>
#include <common.h>
struct rk_scmi_rstd;
struct rk_scmi_rstd_ops {
int (*reset_auto)(struct rk_scmi_rstd *rstd, uint32_t state);
int (*reset_explicit)(struct rk_scmi_rstd *rstd, bool assert_not_deassert);
};
typedef struct rk_scmi_rstd {
char name[SCMI_RESET_DOMAIN_ATTR_NAME_SZ];
uint32_t id;
uint32_t attribute;
uint32_t latency;
struct rk_scmi_rstd_ops *rstd_ops;
} rk_scmi_rstd_t;
/*
* Return number of reset domain for an agent
* @agent_id: SCMI agent ID
* Return number of reset domain
*/
size_t rockchip_scmi_rstd_count(unsigned int agent_id);
/*
* Get rk_scmi_rstd_t point
* @agent_id: SCMI agent ID
* @scmi_id: SCMI rstd ID
* Return a rk_scmi_rstd_t point
*/
rk_scmi_rstd_t *rockchip_scmi_get_rstd(unsigned int agent_id,
unsigned int scmi_id);
#endif /* RK_SCMI_RESET_DOMAIN_H */