hc
2023-12-09 b22da3d8526a935aa31e086e63f60ff3246cb61c
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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
/* SPDX-License-Identifier: GPL-2.0+ */
/*
 * Copyright (C) 2018 BayLibre, SAS
 * Author: Maxime Jourdan <mjourdan@baylibre.com>
 */
 
#ifndef __MESON_VDEC_DOS_REGS_H_
#define __MESON_VDEC_DOS_REGS_H_
 
/* DOS registers */
#define VDEC_ASSIST_AMR1_INT8    0x00b4
 
#define ASSIST_MBOX1_CLR_REG    0x01d4
#define ASSIST_MBOX1_MASK    0x01d8
 
#define MPSR            0x0c04
#define MCPU_INTR_MSK        0x0c10
#define CPSR            0x0c84
 
#define IMEM_DMA_CTRL        0x0d00
#define IMEM_DMA_ADR        0x0d04
#define IMEM_DMA_COUNT        0x0d08
#define LMEM_DMA_CTRL        0x0d40
 
#define MC_STATUS0        0x2424
#define MC_CTRL1        0x242c
 
#define PSCALE_RST        0x2440
#define PSCALE_CTRL        0x2444
#define PSCALE_BMEM_ADDR    0x247c
#define PSCALE_BMEM_DAT        0x2480
 
#define DBLK_CTRL        0x2544
#define DBLK_STATUS        0x254c
 
#define GCLK_EN            0x260c
#define MDEC_PIC_DC_CTRL    0x2638
#define MDEC_PIC_DC_STATUS    0x263c
#define ANC0_CANVAS_ADDR    0x2640
#define MDEC_PIC_DC_THRESH    0x26e0
 
/* Firmware interface registers */
#define AV_SCRATCH_0        0x2700
#define AV_SCRATCH_1        0x2704
#define AV_SCRATCH_2        0x2708
#define AV_SCRATCH_3        0x270c
#define AV_SCRATCH_4        0x2710
#define AV_SCRATCH_5        0x2714
#define AV_SCRATCH_6        0x2718
#define AV_SCRATCH_7        0x271c
#define AV_SCRATCH_8        0x2720
#define AV_SCRATCH_9        0x2724
#define AV_SCRATCH_A        0x2728
#define AV_SCRATCH_B        0x272c
#define AV_SCRATCH_C        0x2730
#define AV_SCRATCH_D        0x2734
#define AV_SCRATCH_E        0x2738
#define AV_SCRATCH_F        0x273c
#define AV_SCRATCH_G        0x2740
#define AV_SCRATCH_H        0x2744
#define AV_SCRATCH_I        0x2748
#define AV_SCRATCH_J        0x274c
#define AV_SCRATCH_K        0x2750
#define AV_SCRATCH_L        0x2754
 
#define MPEG1_2_REG        0x3004
#define PIC_HEAD_INFO        0x300c
#define POWER_CTL_VLD        0x3020
#define M4_CONTROL_REG        0x30a4
 
/* Stream Buffer (stbuf) regs */
#define VLD_MEM_VIFIFO_START_PTR    0x3100
#define VLD_MEM_VIFIFO_CURR_PTR    0x3104
#define VLD_MEM_VIFIFO_END_PTR    0x3108
#define VLD_MEM_VIFIFO_CONTROL    0x3110
   #define MEM_FIFO_CNT_BIT    16
   #define MEM_FILL_ON_LEVEL    BIT(10)
   #define MEM_CTRL_EMPTY_EN    BIT(2)
   #define MEM_CTRL_FILL_EN    BIT(1)
#define VLD_MEM_VIFIFO_WP    0x3114
#define VLD_MEM_VIFIFO_RP    0x3118
#define VLD_MEM_VIFIFO_LEVEL    0x311c
#define VLD_MEM_VIFIFO_BUF_CNTL    0x3120
   #define MEM_BUFCTRL_MANUAL    BIT(1)
#define VLD_MEM_VIFIFO_WRAP_COUNT    0x3144
 
#define DCAC_DMA_CTRL        0x3848
 
#define DOS_SW_RESET0        0xfc00
#define DOS_GCLK_EN0        0xfc04
#define DOS_GEN_CTRL0        0xfc08
#define DOS_MEM_PD_VDEC        0xfcc0
#define DOS_MEM_PD_HEVC        0xfccc
#define DOS_SW_RESET3        0xfcd0
#define DOS_GCLK_EN3        0xfcd4
#define DOS_VDEC_MCRCC_STALL_CTRL    0xfd00
 
#endif