huangcm
2025-07-03 c26084b3642f262f858535ab4e46c1e9b520d3a1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
/*
 * Allwinner SoCs display driver.
 *
 * Copyright (C) 2016 Allwinner.
 *
 * This file is licensed under the terms of the GNU General Public
 * License version 2.  This program is licensed "as is" without any
 * warranty of any kind, whether express or implied.
 */
 
/**
 *    All Winner Tech, All Right Reserved. 2014-2015 Copyright (c)
 *
 *    File name   :       de_wb.h
 *
 *    Description :       display engine 2.0 wbc basic function declaration
 *
 *    History     :       2014/03/03   wangxuan   initial version
 *                        2014/04/02   wangxuan   change the register
 *                                                operation from bits to word
 */
 
#ifndef __DE_WB_H__
#define __DE_WB_H__
 
#include "de_rtmx.h"
 
enum wb_irq_flag {
   WB_IRQ_FLAG_INTR = 1 << 0,
   WB_IRQ_FLAG_MASK = WB_IRQ_FLAG_INTR,
};
 
enum wb_irq_state {
   WB_IRQ_STATE_PROC_END = 1 << 0,
   WB_IRQ_STATE_FINISH   = 1 << 4,
   WB_IRQ_STATE_OVERFLOW = 1 << 5,
   WB_IRQ_STATE_TIMEOUT  = 1 << 6,
   WB_IRQ_STATE_MASK =
       WB_IRQ_STATE_PROC_END
       | WB_IRQ_STATE_FINISH
       | WB_IRQ_STATE_OVERFLOW
       | WB_IRQ_STATE_TIMEOUT,
};
 
 
s32 wb_ebios_set_reg_base(u32 sel, uintptr_t base);
uintptr_t wb_ebios_get_reg_base(u32 sel);
s32 wb_ebios_init(struct disp_bsp_init_para *para);
s32 wb_ebios_exit(void);
s32 wb_ebios_writeback_enable(u32 sel, bool en);
s32 wb_ebios_set_para(u32 sel, struct disp_capture_config *cfg);
s32 wb_ebios_apply(u32 sel, struct disp_capture_config *cfg);
s32 wb_ebios_update_regs(u32 sel);
u32 wb_ebios_get_status(u32 sel);
s32 wb_ebios_enableint(u32 sel);
s32 wb_ebios_disableint(u32 sel);
u32 wb_ebios_queryint(u32 sel);
u32 wb_ebios_clearint(u32 sel);
s32 wb_input_select(u32 sel);
 
#endif