kernel-brax3-ubuntu-touch/include/uapi/linux/mtk_ccd_controls.h
erascape f319b992b1 kernel-5.15: Initial import brax3 UT kernel
* halium configs enabled

Signed-off-by: erascape <erascape@proton.me>
2025-09-23 15:17:10 +00:00

72 lines
1.7 KiB
C

/* SPDX-License-Identifier: GPL-1.0+ WITH Linux-syscall-note */
/*
* Copyright (c) 2018 MediaTek Inc.
*/
#ifndef __UAPI_MTK_CCD_CONTROLS_H__
#define __UAPI_MTK_CCD_CONTROLS_H__
#define NAME_MAX_LEN (32)
#define BUF_MAX_SIZE (1024)
#define CCD_LISTEN_OBJECT_PREPARING (0)
#define CCD_LISTEN_OBJECT_READY (1)
enum ccd_master_cmd {
CCD_MASTER_CMD_CREATE = 1,
CCD_MASTER_CMD_DESTROY
};
enum ccd_master_state {
CCD_MASTER_INIT = 0,
CCD_MASTER_ACTIVE,
CCD_MASTER_EXIT
};
struct ccd_master_status_item {
unsigned int state;
};
struct ccd_master_listen_item {
unsigned int src;
char name[NAME_MAX_LEN];
unsigned int cmd;
};
struct ccd_worker_item {
unsigned int src;
unsigned int id;
unsigned char sbuf[BUF_MAX_SIZE];
unsigned int len;
};
#define IOCTL_CCD_MASTER_INIT _IOWR('c', 1, struct ccd_master_status_item)
#define IOCTL_CCD_MASTER_LISTEN _IOWR('c', 2, struct ccd_master_listen_item)
#define IOCTL_CCD_MASTER_DESTROY _IOWR('c', 3, struct ccd_master_status_item)
#define IOCTL_CCD_WORKER_READ _IOWR('c', 4, struct ccd_worker_item)
#define IOCTL_CCD_WORKER_WRITE _IOWR('c', 5, struct ccd_worker_item)
/**
* enum ipi_id - the id of inter-processor interrupt
*
* @SCP_IPI_INIT: The interrupt from scp is to notfiy kernel
* SCP initialization completed.
* IPI_SCP_INIT is sent from SCP when firmware is
* loaded. AP doesn't need to send IPI_SCP_INIT
* command to SCP.
* For other IPI below, AP should send the request
* to SCP to trigger the interrupt.
* @CCD_IPI_MAX: The maximum IPI number
*/
enum ccd_ipi_id {
CCD_IPI_INIT = 0,
CCD_IPI_ISP_MAIN,
CCD_IPI_ISP_SLAVE,
CCD_IPI_ISP_TRICAM,
CCD_IPI_MRAW_CMD,
CCD_IPI_FD_CMD,
CCD_IPI_MAX
};
#endif /* __UAPI_MTK_CCD_CONTROLS_H__ */