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