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