xref: /openbmc/linux/drivers/video/fbdev/carminefb.h (revision f7018c21)
1f7018c21STomi Valkeinen #ifndef CARMINE_CARMINE_H
2f7018c21STomi Valkeinen #define CARMINE_CARMINE_H
3f7018c21STomi Valkeinen 
4f7018c21STomi Valkeinen #define CARMINE_MEMORY_BAR	2
5f7018c21STomi Valkeinen #define CARMINE_CONFIG_BAR	3
6f7018c21STomi Valkeinen 
7f7018c21STomi Valkeinen #define MAX_DISPLAY	2
8f7018c21STomi Valkeinen #define CARMINE_DISPLAY_MEM	(800 * 600 * 4)
9f7018c21STomi Valkeinen #define CARMINE_TOTAL_DIPLAY_MEM	(CARMINE_DISPLAY_MEM * MAX_DISPLAY)
10f7018c21STomi Valkeinen 
11f7018c21STomi Valkeinen #define CARMINE_USE_DISPLAY0	(1 << 0)
12f7018c21STomi Valkeinen #define CARMINE_USE_DISPLAY1	(1 << 1)
13f7018c21STomi Valkeinen 
14f7018c21STomi Valkeinen /*
15f7018c21STomi Valkeinen  * This values work on the eval card. Custom boards may use different timings,
16f7018c21STomi Valkeinen  * here an example :)
17f7018c21STomi Valkeinen  */
18f7018c21STomi Valkeinen 
19f7018c21STomi Valkeinen /* DRAM initialization values */
20f7018c21STomi Valkeinen #ifdef CONFIG_FB_CARMINE_DRAM_EVAL
21f7018c21STomi Valkeinen 
22f7018c21STomi Valkeinen #define CARMINE_DFLT_IP_CLOCK_ENABLE		(0x03ff)
23f7018c21STomi Valkeinen #define CARMINE_DFLT_IP_DCTL_ADD		(0x05c3)
24f7018c21STomi Valkeinen #define CARMINE_DFLT_IP_DCTL_MODE		(0x0121)
25f7018c21STomi Valkeinen #define CARMINE_DFLT_IP_DCTL_EMODE		(0x8000)
26f7018c21STomi Valkeinen #define CARMINE_DFLT_IP_DCTL_SET_TIME1		(0x4749)
27f7018c21STomi Valkeinen #define CARMINE_DFLT_IP_DCTL_SET_TIME2		(0x2a22)
28f7018c21STomi Valkeinen #define CARMINE_DFLT_IP_DCTL_REFRESH		(0x0042)
29f7018c21STomi Valkeinen #define CARMINE_DFLT_IP_DCTL_STATES		(0x0003)
30f7018c21STomi Valkeinen #define CARMINE_DFLT_IP_DCTL_RESERVE0		(0x0020)
31f7018c21STomi Valkeinen #define CARMINE_DFLT_IP_DCTL_FIFO_DEPTH		(0x000f)
32f7018c21STomi Valkeinen #define CARMINE_DFLT_IP_DCTL_RESERVE2		(0x0000)
33f7018c21STomi Valkeinen #define CARMINE_DFLT_IP_DCTL_DDRIF1		(0x6646)
34f7018c21STomi Valkeinen #define CARMINE_DFLT_IP_DCTL_DDRIF2		(0x0055)
35f7018c21STomi Valkeinen #define CARMINE_DFLT_IP_DCTL_MODE_AFT_RST	(0x0021)
36f7018c21STomi Valkeinen #define CARMINE_DFLT_IP_DCTL_STATES_AFT_RST	(0x0002)
37f7018c21STomi Valkeinen #define CARMINE_DFLT_IP_DCTL_IO_CONT0		(0x0555)
38f7018c21STomi Valkeinen #define CARMINE_DFLT_IP_DCTL_IO_CONT1		(0x0555)
39f7018c21STomi Valkeinen #define CARMINE_DCTL_DLL_RESET			(1)
40f7018c21STomi Valkeinen #endif
41f7018c21STomi Valkeinen 
42f7018c21STomi Valkeinen #ifdef CONFIG_CARMINE_DRAM_CUSTOM
43f7018c21STomi Valkeinen 
44f7018c21STomi Valkeinen #define CARMINE_DFLT_IP_CLOCK_ENABLE		(0x03ff)
45f7018c21STomi Valkeinen #define CARMINE_DFLT_IP_DCTL_ADD		(0x03b2)
46f7018c21STomi Valkeinen #define CARMINE_DFLT_IP_DCTL_MODE		(0x0161)
47f7018c21STomi Valkeinen #define CARMINE_DFLT_IP_DCTL_EMODE		(0x8000)
48f7018c21STomi Valkeinen #define CARMINE_DFLT_IP_DCTL_SET_TIME1		(0x2628)
49f7018c21STomi Valkeinen #define CARMINE_DFLT_IP_DCTL_SET_TIME2		(0x1a09)
50f7018c21STomi Valkeinen #define CARMINE_DFLT_IP_DCTL_REFRESH		(0x00fe)
51f7018c21STomi Valkeinen #define CARMINE_DFLT_IP_DCTL_STATES		(0x0003)
52f7018c21STomi Valkeinen #define CARMINE_DFLT_IP_DCTL_RESERVE0		(0x0020)
53f7018c21STomi Valkeinen #define CARMINE_DFLT_IP_DCTL_FIFO_DEPTH		(0x000f)
54f7018c21STomi Valkeinen #define CARMINE_DFLT_IP_DCTL_RESERVE2		(0x0000)
55f7018c21STomi Valkeinen #define CARMINE_DFLT_IP_DCTL_DDRIF1		(0x0646)
56f7018c21STomi Valkeinen #define CARMINE_DFLT_IP_DCTL_DDRIF2		(0x55aa)
57f7018c21STomi Valkeinen #define CARMINE_DFLT_IP_DCTL_MODE_AFT_RST	(0x0061)
58f7018c21STomi Valkeinen #define CARMINE_DFLT_IP_DCTL_STATES_AFT_RST	(0x0002)
59f7018c21STomi Valkeinen #define CARMINE_DFLT_IP_DCTL_IO_CONT0		(0x0555)
60f7018c21STomi Valkeinen #define CARMINE_DFLT_IP_DCTL_IO_CONT1		(0x0555)
61f7018c21STomi Valkeinen #define CARMINE_DCTL_DLL_RESET			(1)
62f7018c21STomi Valkeinen #endif
63f7018c21STomi Valkeinen 
64f7018c21STomi Valkeinen #endif
65