mb862xx.h 2.54 KB
Newer Older
1 2 3 4
/*
 * (C) Copyright 2007
 * DENX Software Engineering, Anatolij Gustschin, agust@denx.de
 *
5
 * SPDX-License-Identifier:	GPL-2.0+
6 7 8 9 10 11 12 13 14 15 16 17 18
 */

/*
 * mb862xx.h - Graphic interface for Fujitsu CoralP/Lime
 */

#ifndef _MB862XX_H_
#define _MB862XX_H_

#define PCI_VENDOR_ID_FUJITSU	0x10CF
#define PCI_DEVICE_ID_CORAL_P	0x2019
#define PCI_DEVICE_ID_CORAL_PA	0x201E

19 20
#define MB862XX_TYPE_LIME	0x1

21 22 23 24 25 26 27
#define GC_HOST_BASE		0x01fc0000
#define GC_DISP_BASE		0x01fd0000
#define GC_DRAW_BASE		0x01ff0000

/* Host interface registers */
#define GC_SRST			0x0000002c
#define GC_CCF			0x00000038
28
#define GC_CID			0x000000f0
29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88
#define GC_MMR			0x0000fffc

/*
 * Display Controller registers
 * _A means the offset is aligned, we use these for boards
 * with 8-/16-bit GDC access not working or buggy.
 */
#define GC_DCM0			0x00000000
#define GC_HTP_A		0x00000004
#define GC_HTP			0x00000006
#define GC_HDB_HDP_A		0x00000008
#define GC_HDP			0x00000008
#define GC_HDB			0x0000000a
#define GC_VSW_HSW_HSP_A	0x0000000c
#define GC_HSP			0x0000000c
#define GC_HSW			0x0000000e
#define GC_VSW			0x0000000f
#define GC_VTR_A		0x00000010
#define GC_VTR			0x00000012
#define GC_VDP_VSP_A		0x00000014
#define GC_VSP			0x00000014
#define GC_VDP			0x00000016
#define GC_WY_WX		0x00000018
#define GC_WH_WW		0x0000001c
#define GC_L0M			0x00000020
#define GC_L0OA0		0x00000024
#define GC_L0DA0		0x00000028
#define GC_L0DY_L0DX		0x0000002c
#define GC_L2M			0x00000040
#define GC_L2OA0		0x00000044
#define GC_L2DA0		0x00000048
#define GC_L2OA1		0x0000004c
#define GC_L2DA1		0x00000050
#define GC_L2DX			0x00000054
#define GC_L2DY			0x00000056
#define GC_DCM1			0x00000100
#define GC_DCM2			0x00000104
#define GC_DCM3			0x00000108
#define GC_L0EM			0x00000110
#define GC_L0WY_L0WX		0x00000114
#define GC_L0WH_L0WW		0x00000118
#define GC_L2EM			0x00000130
#define GC_L2WX			0x00000134
#define GC_L2WY			0x00000136
#define GC_L2WW			0x00000138
#define GC_L2WH			0x0000013a
#define GC_L0PAL0		0x00000400

/* Drawing registers */
#define GC_CTR			0x00000400
#define GC_IFCNT		0x00000408
#define GC_FBR			0x00000440
#define GC_XRES			0x00000444
#define GC_CXMIN		0x00000454
#define GC_CXMAX		0x00000458
#define GC_CYMIN		0x0000045c
#define GC_CYMAX		0x00000460
#define GC_FC			0x00000480
#define GC_BC			0x00000484
#define GC_FIFO			0x000004a0
89
#define GC_REV			0x00008084
90 91
#define GC_GEO_FIFO		0x00008400

92 93 94 95 96
typedef struct {
	unsigned int index;
	unsigned int value;
} gdc_regs;

97
int mb862xx_probe(unsigned int addr);
98 99 100 101 102
const gdc_regs *board_get_regs (void);
unsigned int board_video_init (void);
void board_backlight_switch(int);

#endif /* _MB862XX_H_ */