xref: /rk3399_rockchip-uboot/include/mb862xx.h (revision 326ea986ac150acdc7656d57fca647db80b50158)
1bed53753SAnatolij Gustschin /*
2bed53753SAnatolij Gustschin  * (C) Copyright 2007
3bed53753SAnatolij Gustschin  * DENX Software Engineering, Anatolij Gustschin, agust@denx.de
4bed53753SAnatolij Gustschin  *
5*1a459660SWolfgang Denk  * SPDX-License-Identifier:	GPL-2.0+
6bed53753SAnatolij Gustschin  */
7bed53753SAnatolij Gustschin 
8bed53753SAnatolij Gustschin /*
9bed53753SAnatolij Gustschin  * mb862xx.h - Graphic interface for Fujitsu CoralP/Lime
10bed53753SAnatolij Gustschin  */
11bed53753SAnatolij Gustschin 
12bed53753SAnatolij Gustschin #ifndef _MB862XX_H_
13bed53753SAnatolij Gustschin #define _MB862XX_H_
14bed53753SAnatolij Gustschin 
15bed53753SAnatolij Gustschin #define PCI_VENDOR_ID_FUJITSU	0x10CF
16bed53753SAnatolij Gustschin #define PCI_DEVICE_ID_CORAL_P	0x2019
17bed53753SAnatolij Gustschin #define PCI_DEVICE_ID_CORAL_PA	0x201E
18bed53753SAnatolij Gustschin 
19c28d3bbeSWolfgang Grandegger #define MB862XX_TYPE_LIME	0x1
20c28d3bbeSWolfgang Grandegger 
21cce99b2aSAnatolij Gustschin #define GC_HOST_BASE		0x01fc0000
22cce99b2aSAnatolij Gustschin #define GC_DISP_BASE		0x01fd0000
23cce99b2aSAnatolij Gustschin #define GC_DRAW_BASE		0x01ff0000
24cce99b2aSAnatolij Gustschin 
25cce99b2aSAnatolij Gustschin /* Host interface registers */
26cce99b2aSAnatolij Gustschin #define GC_SRST			0x0000002c
27cce99b2aSAnatolij Gustschin #define GC_CCF			0x00000038
28c28d3bbeSWolfgang Grandegger #define GC_CID			0x000000f0
29cce99b2aSAnatolij Gustschin #define GC_MMR			0x0000fffc
30cce99b2aSAnatolij Gustschin 
31cce99b2aSAnatolij Gustschin /*
32cce99b2aSAnatolij Gustschin  * Display Controller registers
33cce99b2aSAnatolij Gustschin  * _A means the offset is aligned, we use these for boards
34cce99b2aSAnatolij Gustschin  * with 8-/16-bit GDC access not working or buggy.
35cce99b2aSAnatolij Gustschin  */
36cce99b2aSAnatolij Gustschin #define GC_DCM0			0x00000000
37cce99b2aSAnatolij Gustschin #define GC_HTP_A		0x00000004
38cce99b2aSAnatolij Gustschin #define GC_HTP			0x00000006
39cce99b2aSAnatolij Gustschin #define GC_HDB_HDP_A		0x00000008
40cce99b2aSAnatolij Gustschin #define GC_HDP			0x00000008
41cce99b2aSAnatolij Gustschin #define GC_HDB			0x0000000a
42cce99b2aSAnatolij Gustschin #define GC_VSW_HSW_HSP_A	0x0000000c
43cce99b2aSAnatolij Gustschin #define GC_HSP			0x0000000c
44cce99b2aSAnatolij Gustschin #define GC_HSW			0x0000000e
45cce99b2aSAnatolij Gustschin #define GC_VSW			0x0000000f
46cce99b2aSAnatolij Gustschin #define GC_VTR_A		0x00000010
47cce99b2aSAnatolij Gustschin #define GC_VTR			0x00000012
48cce99b2aSAnatolij Gustschin #define GC_VDP_VSP_A		0x00000014
49cce99b2aSAnatolij Gustschin #define GC_VSP			0x00000014
50cce99b2aSAnatolij Gustschin #define GC_VDP			0x00000016
51cce99b2aSAnatolij Gustschin #define GC_WY_WX		0x00000018
52cce99b2aSAnatolij Gustschin #define GC_WH_WW		0x0000001c
53cce99b2aSAnatolij Gustschin #define GC_L0M			0x00000020
54cce99b2aSAnatolij Gustschin #define GC_L0OA0		0x00000024
55cce99b2aSAnatolij Gustschin #define GC_L0DA0		0x00000028
56cce99b2aSAnatolij Gustschin #define GC_L0DY_L0DX		0x0000002c
57cce99b2aSAnatolij Gustschin #define GC_L2M			0x00000040
58cce99b2aSAnatolij Gustschin #define GC_L2OA0		0x00000044
59cce99b2aSAnatolij Gustschin #define GC_L2DA0		0x00000048
60cce99b2aSAnatolij Gustschin #define GC_L2OA1		0x0000004c
61cce99b2aSAnatolij Gustschin #define GC_L2DA1		0x00000050
62cce99b2aSAnatolij Gustschin #define GC_L2DX			0x00000054
63cce99b2aSAnatolij Gustschin #define GC_L2DY			0x00000056
64cce99b2aSAnatolij Gustschin #define GC_DCM1			0x00000100
65cce99b2aSAnatolij Gustschin #define GC_DCM2			0x00000104
66cce99b2aSAnatolij Gustschin #define GC_DCM3			0x00000108
67cce99b2aSAnatolij Gustschin #define GC_L0EM			0x00000110
68cce99b2aSAnatolij Gustschin #define GC_L0WY_L0WX		0x00000114
69cce99b2aSAnatolij Gustschin #define GC_L0WH_L0WW		0x00000118
70cce99b2aSAnatolij Gustschin #define GC_L2EM			0x00000130
71cce99b2aSAnatolij Gustschin #define GC_L2WX			0x00000134
72cce99b2aSAnatolij Gustschin #define GC_L2WY			0x00000136
73cce99b2aSAnatolij Gustschin #define GC_L2WW			0x00000138
74cce99b2aSAnatolij Gustschin #define GC_L2WH			0x0000013a
75cce99b2aSAnatolij Gustschin #define GC_L0PAL0		0x00000400
76cce99b2aSAnatolij Gustschin 
77cce99b2aSAnatolij Gustschin /* Drawing registers */
78cce99b2aSAnatolij Gustschin #define GC_CTR			0x00000400
79cce99b2aSAnatolij Gustschin #define GC_IFCNT		0x00000408
80cce99b2aSAnatolij Gustschin #define GC_FBR			0x00000440
81cce99b2aSAnatolij Gustschin #define GC_XRES			0x00000444
82cce99b2aSAnatolij Gustschin #define GC_CXMIN		0x00000454
83cce99b2aSAnatolij Gustschin #define GC_CXMAX		0x00000458
84cce99b2aSAnatolij Gustschin #define GC_CYMIN		0x0000045c
85cce99b2aSAnatolij Gustschin #define GC_CYMAX		0x00000460
86cce99b2aSAnatolij Gustschin #define GC_FC			0x00000480
87cce99b2aSAnatolij Gustschin #define GC_BC			0x00000484
88cce99b2aSAnatolij Gustschin #define GC_FIFO			0x000004a0
89c28d3bbeSWolfgang Grandegger #define GC_REV			0x00008084
90cce99b2aSAnatolij Gustschin #define GC_GEO_FIFO		0x00008400
91cce99b2aSAnatolij Gustschin 
92bed53753SAnatolij Gustschin typedef struct {
93bed53753SAnatolij Gustschin 	unsigned int index;
94bed53753SAnatolij Gustschin 	unsigned int value;
95bed53753SAnatolij Gustschin } gdc_regs;
96bed53753SAnatolij Gustschin 
97c28d3bbeSWolfgang Grandegger int mb862xx_probe(unsigned int addr);
98bed53753SAnatolij Gustschin const gdc_regs *board_get_regs (void);
99bed53753SAnatolij Gustschin unsigned int board_video_init (void);
100bed53753SAnatolij Gustschin void board_backlight_switch(int);
101bed53753SAnatolij Gustschin 
102bed53753SAnatolij Gustschin #endif /* _MB862XX_H_ */
103