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