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