| /* SPDX-License-Identifier: (GPL-2.0+ OR MIT) */ |
| /* |
| * arch/arm/include/asm/arch-t5/mailbox.h |
| * |
| * Copyright (C) 2020 Amlogic, Inc. All rights reserved. |
| * |
| */ |
| |
| |
| #ifndef __T5_MAILBOX_H_ |
| #define __T5_MAILBOX_H_ |
| |
| #define MHU_PL_SIZE_SHIFT 16 |
| |
| #define REE2AO_SET_ADDR (0xff63c400 + 0x4 * 0xa)//MAILBOX_SET_3 |
| #define REE2AO_STS_ADDR (0xff63c400 + 0x4 * 0xb)//MAILBOX_STS_3 |
| #define REE2AO_CLR_ADDR (0xff63c400 + 0x4 * 0xc)//MAILBOX_CLR_3 |
| /*ree async rev addr not use, use by tee send addr*/ |
| #define REE2AO_PL_ADDR 0xFFFC7600 |
| |
| /*tee to aocpu, only support sync api*/ |
| #define MHU_SYNC (1 << 26) |
| #define MHU_CMD_BUILD(command, size) \ |
| (((command) & 0xffff) | (((size) & 0x1ff) << 16) | MHU_SYNC) |
| |
| #define MHU_PAYLOAD_SIZE 0x80 |
| #define MHU_DATA_OFFSET 0x1c |
| |
| #define MAILBOX_USER_DATA_SIZE 96 |
| |
| /* ...Message composition with module(6bits), function(10bits) */ |
| #define __MBX_COMPOSE_MSG(mod, func) (((mod) << 10) | ((func) & 0x3FF)) |
| |
| |
| /******************************************************************************* |
| * Define module type here, 6bits valid |
| ******************************************************************************/ |
| #define MBX_SYSTEM 0x0 |
| |
| /******************************************************************************* |
| * Define function here, 10bits valid |
| ******************************************************************************/ |
| /*SYSTEM*/ |
| #define CMD_UNDEFINE 0x0 |
| #define CMD_TEST 0x6 |
| #define CMD_LED_INFO 0xF7 |
| /******************************************************************************* |
| * Mssage Composition |
| ******************************************************************************/ |
| #define MBX_CMD_TEST __MBX_COMPOSE_MSG(MBX_SYSTEM, CMD_TEST) |
| |
| enum { |
| HIFIA_REE_CHANNEL = 1, |
| HIFIB_REE_CHANNEL = 2, |
| SECPU_REE_CHANNEL = 3, |
| AOCPU_REE_CHANNEL = 4, |
| }; |
| |
| enum { |
| CMD_SUSPEND = 0xff, |
| }; |
| |
| void open_scp_log(unsigned int channel); |
| int thermal_calibration(unsigned int type, unsigned int data); |
| int thermal_get_value(unsigned int sensor_id, unsigned int *value); |
| void send_pwm_delt(int32_t vcck_delt, int32_t ee_delt); |
| void init_dsp(unsigned int id,unsigned int addr,unsigned int cfg0,unsigned int jtag_ctrl,unsigned int cfg1); |
| void init_dsp_jtag(unsigned int id); |
| |
| /*t5 only support to aocpu donot add more api, please use commom api*/ |
| void scpi_send_data(uint32_t chan, uint32_t command, void *sendmessage, |
| uint32_t sendsize, void *revmessage, uint32_t revsize); |
| #endif |