Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

3 Commits   0 Branches   0 Tags
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  1) /* SPDX-License-Identifier: GPL-2.0 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  2) #ifndef __RPROC_QCOM_COMMON_H__
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  3) #define __RPROC_QCOM_COMMON_H__
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  4) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  5) #include <linux/remoteproc.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  6) #include "remoteproc_internal.h"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  7) #include <linux/soc/qcom/qmi.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  8) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  9) struct qcom_sysmon;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) struct qcom_rproc_glink {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) 	struct rproc_subdev subdev;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) 	const char *ssr_name;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) 	struct device *dev;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) 	struct device_node *node;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) 	struct qcom_glink *edge;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) struct qcom_rproc_subdev {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) 	struct rproc_subdev subdev;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) 	struct device *dev;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) 	struct device_node *node;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) 	struct qcom_smd_edge *edge;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) struct qcom_ssr_subsystem;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) struct qcom_rproc_ssr {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) 	struct rproc_subdev subdev;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) 	struct qcom_ssr_subsystem *info;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) void qcom_add_glink_subdev(struct rproc *rproc, struct qcom_rproc_glink *glink,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) 			   const char *ssr_name);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) void qcom_remove_glink_subdev(struct rproc *rproc, struct qcom_rproc_glink *glink);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) int qcom_register_dump_segments(struct rproc *rproc, const struct firmware *fw);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) void qcom_add_smd_subdev(struct rproc *rproc, struct qcom_rproc_subdev *smd);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) void qcom_remove_smd_subdev(struct rproc *rproc, struct qcom_rproc_subdev *smd);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) void qcom_add_ssr_subdev(struct rproc *rproc, struct qcom_rproc_ssr *ssr,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) 			 const char *ssr_name);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) void qcom_remove_ssr_subdev(struct rproc *rproc, struct qcom_rproc_ssr *ssr);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) #if IS_ENABLED(CONFIG_QCOM_SYSMON)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) struct qcom_sysmon *qcom_add_sysmon_subdev(struct rproc *rproc,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) 					   const char *name,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) 					   int ssctl_instance);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) void qcom_remove_sysmon_subdev(struct qcom_sysmon *sysmon);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) #else
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) static inline struct qcom_sysmon *qcom_add_sysmon_subdev(struct rproc *rproc,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) 							 const char *name,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) 							 int ssctl_instance)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) 	return NULL;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62) static inline void qcom_remove_sysmon_subdev(struct qcom_sysmon *sysmon)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65) #endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67) #endif