display_controller.h 1.6 KB
Newer Older
1
/*
2
 * Copyright (c) 2006-2018, RT-Thread Development Team
3
 *
4
 * SPDX-License-Identifier: Apache-2.0
5 6 7 8 9 10 11 12 13 14 15 16 17 18
 *
 * Change Logs:
 * Date                Author           Notes
 * 2011-08-08     lgnq            first version for LS1B
 * 2015-07-06    chinesebear   modified for loongson 1c
  * 2018-01-06    sundm75   modified for smartloong 
*/
 
#ifndef __DISPLAY_CONTROLLER_H__
#define __DISPLAY_CONTROLLER_H__

#include <rtthread.h>
#include "ls1c.h"

19
#define DC_BASE                 0xBC301240  //Display Controller
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49

/* Frame Buffer registers */
#define DC_FB_CONFIG			__REG32(DC_BASE + 0x000)
#define DC_FB_BUFFER_ADDR0		__REG32(DC_BASE + 0x020)
#define DC_FB_BUFFER_STRIDE		__REG32(DC_BASE + 0x040)
#define DC_FB_BUFFER_ORIGIN		__REG32(DC_BASE + 0x060)
#define DC_DITHER_CONFIG		__REG32(DC_BASE + 0x120)
#define DC_DITHER_TABLE_LOW		__REG32(DC_BASE + 0x140)
#define DC_DITHER_TABLE_HIGH	__REG32(DC_BASE + 0x160)
#define DC_PANEL_CONFIG			__REG32(DC_BASE + 0x180)
#define DC_PANEL_TIMING			__REG32(DC_BASE + 0x1A0)
#define DC_HDISPLAY				__REG32(DC_BASE + 0x1C0)
#define DC_HSYNC				__REG32(DC_BASE + 0x1E0)
#define DC_VDISPLAY				__REG32(DC_BASE + 0x240)
#define DC_VSYNC				__REG32(DC_BASE + 0x260)
#define DC_FB_BUFFER_ADDR1		__REG32(DC_BASE + 0x340)

/* Display Controller driver for 1024x768 16bit */
#define FB_XSIZE		480
#define FB_YSIZE		272
#define CONFIG_VIDEO_16BPP

#define OSC 24000000 		/* Hz */

#define K1BASE				0xA0000000
#define KSEG1(addr)			((void *)(K1BASE | (rt_uint32_t)(addr)))
#define HW_FB_ADDR			KSEG1(_rt_framebuffer)

struct vga_struct
{
50 51 52
    long pclk;
    int hr,hss,hse,hfl;
    int vr,vss,vse,vfl;
53 54 55
};

#endif