c28d3bbe96
To avoid board-specific code accessing the mb862xx registers directly, the public function mb862xx_probe() has been introduced. Furthermore, the "Change of Clock Frequency" and "Set Memory I/F Mode" registers are now defined by CONFIG_SYS_MB862xx_CCF and CONFIG_SYS_MB862xx__MMR, respectively. The BSPs for the socrates and lwmon5 boards have been adapted accordingly. Signed-off-by: Wolfgang Grandegger <wg@denx.de>
119 lines
3.3 KiB
C
119 lines
3.3 KiB
C
/*
|
|
* (C) Copyright 2007
|
|
* DENX Software Engineering, Anatolij Gustschin, agust@denx.de
|
|
*
|
|
* See file CREDITS for list of people who contributed to this
|
|
* project.
|
|
*
|
|
* This program is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU General Public License as
|
|
* published by the Free Software Foundation; either version 2 of
|
|
* the License, or (at your option) any later version.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License
|
|
* along with this program; if not, write to the Free Software
|
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
|
* MA 02111-1307 USA
|
|
*/
|
|
|
|
/*
|
|
* 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
|
|
|
|
#define MB862XX_TYPE_LIME 0x1
|
|
|
|
#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
|
|
#define GC_CID 0x000000f0
|
|
#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
|
|
#define GC_REV 0x00008084
|
|
#define GC_GEO_FIFO 0x00008400
|
|
|
|
typedef struct {
|
|
unsigned int index;
|
|
unsigned int value;
|
|
} gdc_regs;
|
|
|
|
int mb862xx_probe(unsigned int addr);
|
|
const gdc_regs *board_get_regs (void);
|
|
unsigned int board_video_init (void);
|
|
void board_backlight_switch(int);
|
|
|
|
#endif /* _MB862XX_H_ */
|