blob: e3607f02786a56b12827aa87c3a648682b5e7181 [file] [log] [blame]
Bo Lv72d0e902023-01-02 14:27:34 +00001/* SPDX-License-Identifier: (GPL-2.0+ OR MIT) */
2/*
3 * Copyright (c) 2019 Amlogic, Inc. All rights reserved.
4 */
5
6#ifndef _AML_CEC_H
7#define _AML_CEC_H
8
9/*
10 * CEC OPCODES
11 */
12#define CEC_OC_ABORT_MESSAGE 0xFF
13#define CEC_OC_ACTIVE_SOURCE 0x82
14#define CEC_OC_CEC_VERSION 0x9E
15#define CEC_OC_CLEAR_ANALOGUE_TIMER 0x33
16#define CEC_OC_CLEAR_DIGITAL_TIMER 0x99
17#define CEC_OC_CLEAR_EXTERNAL_TIMER 0xA1
18#define CEC_OC_DECK_CONTROL 0x42
19#define CEC_OC_DECK_STATUS 0x1B
20#define CEC_OC_DEVICE_VENDOR_ID 0x87
21#define CEC_OC_FEATURE_ABORT 0x00
22#define CEC_OC_GET_CEC_VERSION 0x9F
23#define CEC_OC_GET_MENU_LANGUAGE 0x91
24#define CEC_OC_GIVE_AUDIO_STATUS 0x71
25#define CEC_OC_GIVE_DECK_STATUS 0x1A
26#define CEC_OC_GIVE_DEVICE_POWER_STATUS 0x8F
27#define CEC_OC_GIVE_DEVICE_VENDOR_ID 0x8C
28#define CEC_OC_GIVE_OSD_NAME 0x46
29#define CEC_OC_GIVE_PHYSICAL_ADDRESS 0x83
30#define CEC_OC_GIVE_SYSTEM_AUDIO_MODE_STATUS 0x7D
31#define CEC_OC_GIVE_TUNER_DEVICE_STATUS 0x08
32#define CEC_OC_IMAGE_VIEW_ON 0x04
33#define CEC_OC_INACTIVE_SOURCE 0x9D
34#define CEC_OC_MENU_REQUEST 0x8D
35#define CEC_OC_MENU_STATUS 0x8E
36#define CEC_OC_PLAY 0x41
37#define CEC_OC_POLLING_MESSAGE 0xFC /* Fake Code - <Poll Message> has no OP Code and requires only the header byte */
38#define CEC_OC_RECORD_OFF 0x0B
39#define CEC_OC_RECORD_ON 0x09
40#define CEC_OC_RECORD_STATUS 0x0A
41#define CEC_OC_RECORD_TV_SCREEN 0x0F
42#define CEC_OC_REPORT_AUDIO_STATUS 0x7A
43#define CEC_OC_REPORT_PHYSICAL_ADDRESS 0x84
44#define CEC_OC_REPORT_POWER_STATUS 0x90
45#define CEC_OC_REQUEST_ACTIVE_SOURCE 0x85
46#define CEC_OC_ROUTING_CHANGE 0x80
47#define CEC_OC_ROUTING_INFORMATION 0x81
48#define CEC_OC_SELECT_ANALOGUE_SERVICE 0x92
49#define CEC_OC_SELECT_DIGITAL_SERVICE 0x93
50#define CEC_OC_SET_ANALOGUE_TIMER 0x34
51#define CEC_OC_SET_AUDIO_RATE 0x9A
52#define CEC_OC_SET_DIGITAL_TIMER 0x97
53#define CEC_OC_SET_EXTERNAL_TIMER 0xA2
54#define CEC_OC_SET_MENU_LANGUAGE 0x32
55#define CEC_OC_SET_OSD_NAME 0x47
56#define CEC_OC_SET_OSD_STRING 0x64
57#define CEC_OC_SET_STREAM_PATH 0x86
58#define CEC_OC_SET_SYSTEM_AUDIO_MODE 0x72
59#define CEC_OC_SET_TIMER_PROGRAM_TITLE 0x67
60#define CEC_OC_STANDBY 0x36
61#define CEC_OC_SYSTEM_AUDIO_MODE_REQUEST 0x70
62#define CEC_OC_SYSTEM_AUDIO_MODE_STATUS 0x7E
63#define CEC_OC_TEXT_VIEW_ON 0x0D
64#define CEC_OC_TIMER_CLEARED_STATUS 0x43
65#define CEC_OC_TIMER_STATUS 0x35
66#define CEC_OC_TUNER_DEVICE_STATUS 0x07
67#define CEC_OC_TUNER_STEP_DECREMENT 0x06
68#define CEC_OC_TUNER_STEP_INCREMENT 0x05
69#define CEC_OC_USER_CONTROL_PRESSED 0x44
70#define CEC_OC_USER_CONTROL_RELEASED 0x45
71#define CEC_OC_VENDOR_COMMAND 0x89
72#define CEC_OC_VENDOR_COMMAND_WITH_ID 0xA0
73#define CEC_OC_VENDOR_REMOTE_BUTTON_DOWN 0x8A
74#define CEC_OC_VENDOR_REMOTE_BUTTON_UP 0x8B
75
76int cec_hw_init(int logic_addr, unsigned char fun_cfg);
yicheng shenc98e23c2024-09-04 08:45:28 +000077void cec_get_trim_val(void);
Bo Lv72d0e902023-01-02 14:27:34 +000078
79#endif/*_AML_CEC_H*/
80