hc
2025-02-14 bbb9540dc49f70f6b703d1c8d1b85fa5f602d86e
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
99
100
101
102
/*
 * (C) Copyright 2007
 * DENX Software Engineering, Anatolij Gustschin, agust@denx.de
 *
 * SPDX-License-Identifier:    GPL-2.0+
 */
 
/*
 * mb862xx.h - Graphic interface for Fujitsu CoralP/Lime
 */
 
#ifndef _MB862XX_H_
#define _MB862XX_H_
 
#define PCI_VENDOR_ID_FUJITSU    0x10CF
#define PCI_DEVICE_ID_CORAL_P    0x2019
#define PCI_DEVICE_ID_CORAL_PA    0x201E
 
#define MB862XX_TYPE_LIME    0x1
 
#define GC_HOST_BASE        0x01fc0000
#define GC_DISP_BASE        0x01fd0000
#define GC_DRAW_BASE        0x01ff0000
 
/* Host interface registers */
#define GC_SRST            0x0000002c
#define GC_CCF            0x00000038
#define GC_CID            0x000000f0
#define GC_MMR            0x0000fffc
 
/*
 * Display Controller registers
 * _A means the offset is aligned, we use these for boards
 * with 8-/16-bit GDC access not working or buggy.
 */
#define GC_DCM0            0x00000000
#define GC_HTP_A        0x00000004
#define GC_HTP            0x00000006
#define GC_HDB_HDP_A        0x00000008
#define GC_HDP            0x00000008
#define GC_HDB            0x0000000a
#define GC_VSW_HSW_HSP_A    0x0000000c
#define GC_HSP            0x0000000c
#define GC_HSW            0x0000000e
#define GC_VSW            0x0000000f
#define GC_VTR_A        0x00000010
#define GC_VTR            0x00000012
#define GC_VDP_VSP_A        0x00000014
#define GC_VSP            0x00000014
#define GC_VDP            0x00000016
#define GC_WY_WX        0x00000018
#define GC_WH_WW        0x0000001c
#define GC_L0M            0x00000020
#define GC_L0OA0        0x00000024
#define GC_L0DA0        0x00000028
#define GC_L0DY_L0DX        0x0000002c
#define GC_L2M            0x00000040
#define GC_L2OA0        0x00000044
#define GC_L2DA0        0x00000048
#define GC_L2OA1        0x0000004c
#define GC_L2DA1        0x00000050
#define GC_L2DX            0x00000054
#define GC_L2DY            0x00000056
#define GC_DCM1            0x00000100
#define GC_DCM2            0x00000104
#define GC_DCM3            0x00000108
#define GC_L0EM            0x00000110
#define GC_L0WY_L0WX        0x00000114
#define GC_L0WH_L0WW        0x00000118
#define GC_L2EM            0x00000130
#define GC_L2WX            0x00000134
#define GC_L2WY            0x00000136
#define GC_L2WW            0x00000138
#define GC_L2WH            0x0000013a
#define GC_L0PAL0        0x00000400
 
/* Drawing registers */
#define GC_CTR            0x00000400
#define GC_IFCNT        0x00000408
#define GC_FBR            0x00000440
#define GC_XRES            0x00000444
#define GC_CXMIN        0x00000454
#define GC_CXMAX        0x00000458
#define GC_CYMIN        0x0000045c
#define GC_CYMAX        0x00000460
#define GC_FC            0x00000480
#define GC_BC            0x00000484
#define GC_FIFO            0x000004a0
#define GC_REV            0x00008084
#define GC_GEO_FIFO        0x00008400
 
typedef struct {
   unsigned int index;
   unsigned int value;
} gdc_regs;
 
int mb862xx_probe(unsigned int addr);
const gdc_regs *board_get_regs (void);
unsigned int board_video_init (void);
void board_backlight_switch(int);
 
#endif /* _MB862XX_H_ */