⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sed135x_16bit.c

📁 开放源码实时操作系统源码.
💻 C
📖 第 1 页 / 共 2 页
字号:
//==========================================================================
//
//      sed135x_16bit.c
//
// Author(s):   Michael Kelly - Cogent Computer Systems, Inc.
// Date:        05-24-2002
// Description: Init Code for SED135x Display Controller
//
//==========================================================================
// Copyright (C) 2003 Gary Thomas

#include <pkgconf/hal.h>
#include <cyg/infra/cyg_type.h>
#include <cyg/hal/lcd_support.h>
#include <cyg/hal/hal_io.h>

typedef unsigned char  uchar;
typedef unsigned short ushort;
typedef volatile unsigned short vushort;
typedef unsigned long  ulong;
typedef volatile unsigned long  vulong;

// board specific defines needed by sed135x
#define SED_REG_BASE             0x78000000      // *RCE3
#define SED_MEM_BASE             0x78400000
#define SED_STEP                 2               // 16-bit port on 32-bit boundary

// Control/Status Registers, 16-bit mode
#define SED_REG16(_x_)           *(vushort *)((ulong)SED_REG_BASE + (((ulong)_x_ * SED_STEP) ^ 2))   
#define H2SED(_x_)               _le16(_x_)
#define SED_GET_PHYS_ADD(_reg_)  (SED_MEM_BASE + ((_reg_ * SED_STEP) ^ 2))
#define RD_FB16(_reg_,_val_)     ((_val_) = *(vushort *)SED_GET_PHYS_ADD(_reg_))
#define WR_FB16(_reg_,_val_)     (*(vushort *)SED_GET_PHYS_ADD(_reg_) = (_val_))

#define SED_DISP_MODE_CRT        1
#define SED_DISP_MODE_LCD        0

#include "sed1356_16bit.h"

//------------------------------------------------------------------------
// Color Lookup Table Values
//

static ushort sed_lut_16bit[256][3] = {
//    RED,  GREEN, BLUE    // Entry
  { 0x0000,  0x0000, 0x0000, },  // 00  
  { 0x0000,  0x0000, 0x00A0, },  // 01 
  { 0x0000,  0x00A0, 0x0000, },  // 02 
  { 0x0000,  0x00A0, 0x00A0, },  // 03 
  { 0x00A0,  0x0000, 0x0000, },  // 04 
  { 0x00A0,  0x0000, 0x00A0, },  // 05 
  { 0x00A0,  0x00A0, 0x0000, },  // 06 
  { 0x00A0,  0x00A0, 0x00A0, },  // 07 
  { 0x0050,  0x0050, 0x0050, },  // 08 
  { 0x0050,  0x0050, 0x00F0, },  // 09 
  { 0x0050,  0x00F0, 0x0050, },  // 0A 
  { 0x0050,  0x00F0, 0x00F0, },  // 0B 
  { 0x00F0,  0x0050, 0x0050, },  // 0C 
  { 0x00F0,  0x0050, 0x00F0, },  // 0D 
  { 0x00F0,  0x00F0, 0x0050, },  // 0E 
  { 0x00F0,  0x00F0, 0x00F0, },  // 0F 
  { 0x0000,  0x0000, 0x0000, },  // 10 
  { 0x0010,  0x0010, 0x0010, },  // 11 
  { 0x0020,  0x0020, 0x0020, },  // 12 
  { 0x0020,  0x0020, 0x0020, },  // 13 
  { 0x0030,  0x0030, 0x0030, },  // 14 
  { 0x0040,  0x0040, 0x0040, },  // 15 
  { 0x0050,  0x0050, 0x0050, },  // 16 
  { 0x0060,  0x0060, 0x0060, },  // 17 
  { 0x0070,  0x0070, 0x0070, },  // 18 
  { 0x0080,  0x0080, 0x0080, },  // 19 
  { 0x0090,  0x0090, 0x0090, },  // 1A 
  { 0x00A0,  0x00A0, 0x00A0, },  // 1B 
  { 0x00B0,  0x00B0, 0x00B0, },  // 1C 
  { 0x00C0,  0x00C0, 0x00C0, },  // 1D 
  { 0x00E0,  0x00E0, 0x00E0, },  // 1E 
  { 0x00F0,  0x00F0, 0x00F0, },  // 1F 
  { 0x0000,  0x0000, 0x00F0, },  // 20 
  { 0x0040,  0x0000, 0x00F0, },  // 21 
  { 0x0070,  0x0000, 0x00F0, },  // 22 
  { 0x00B0,  0x0000, 0x00F0, },  // 23 
  { 0x00F0,  0x0000, 0x00F0, },  // 24 
  { 0x00F0,  0x0000, 0x00B0, },  // 25 
  { 0x00F0,  0x0000, 0x0070, },  // 26 
  { 0x00F0,  0x0000, 0x0040, },  // 27 
  { 0x00F0,  0x0000, 0x0000, },  // 28 
  { 0x00F0,  0x0040, 0x0000, },  // 29 
  { 0x00F0,  0x0070, 0x0000, },  // 2A 
  { 0x00F0,  0x00B0, 0x0000, },  // 2B 
  { 0x00F0,  0x00F0, 0x0000, },  // 2C 
  { 0x00B0,  0x00F0, 0x0000, },  // 2D 
  { 0x0070,  0x00F0, 0x0000, },  // 2E 
  { 0x0040,  0x00F0, 0x0000, },  // 2F 
  { 0x0000,  0x00F0, 0x0000, },  // 30 
  { 0x0000,  0x00F0, 0x0040, },  // 31 
  { 0x0000,  0x00F0, 0x0070, },  // 32 
  { 0x0000,  0x00F0, 0x00B0, },  // 33 
  { 0x0000,  0x00F0, 0x00F0, },  // 34 
  { 0x0000,  0x00B0, 0x00F0, },  // 35 
  { 0x0000,  0x0070, 0x00F0, },  // 36 
  { 0x0000,  0x0040, 0x00F0, },  // 37 
  { 0x0070,  0x0070, 0x00F0, },  // 38 
  { 0x0090,  0x0070, 0x00F0, },  // 39 
  { 0x00B0,  0x0070, 0x00F0, },  // 3A 
  { 0x00D0,  0x0070, 0x00F0, },  // 3B 
  { 0x00F0,  0x0070, 0x00F0, },  // 3C 
  { 0x00F0,  0x0070, 0x00D0, },  // 3D 
  { 0x00F0,  0x0070, 0x00B0, },  // 3E 
  { 0x00F0,  0x0070, 0x0090, },  // 3F 
  { 0x00F0,  0x0070, 0x0070, },  // 40 
  { 0x00F0,  0x0090, 0x0070, },  // 41 
  { 0x00F0,  0x00B0, 0x0070, },  // 42 
  { 0x00F0,  0x00D0, 0x0070, },  // 43 
  { 0x00F0,  0x00F0, 0x0070, },  // 44 
  { 0x00D0,  0x00F0, 0x0070, },  // 45 
  { 0x00B0,  0x00F0, 0x0070, },  // 46 
  { 0x0090,  0x00F0, 0x0070, },  // 47 
  { 0x0070,  0x00F0, 0x0070, },  // 48 
  { 0x0070,  0x00F0, 0x0090, },  // 49 
  { 0x0070,  0x00F0, 0x00B0, },  // 4A 
  { 0x0070,  0x00F0, 0x00D0, },  // 4B 
  { 0x0070,  0x00F0, 0x00F0, },  // 4C 
  { 0x0070,  0x00D0, 0x00F0, },  // 4D 
  { 0x0070,  0x00B0, 0x00F0, },  // 4E 
  { 0x0070,  0x0090, 0x00F0, },  // 4F 
  { 0x00B0,  0x00B0, 0x00F0, },  // 50 
  { 0x00C0,  0x00B0, 0x00F0, },  // 51 
  { 0x00D0,  0x00B0, 0x00F0, },  // 52 
  { 0x00E0,  0x00B0, 0x00F0, },  // 53 
  { 0x00F0,  0x00B0, 0x00F0, },  // 54 
  { 0x00F0,  0x00B0, 0x00E0, },  // 55 
  { 0x00F0,  0x00B0, 0x00D0, },  // 56 
  { 0x00F0,  0x00B0, 0x00C0, },  // 57 
  { 0x00F0,  0x00B0, 0x00B0, },  // 58 
  { 0x00F0,  0x00C0, 0x00B0, },  // 59 
  { 0x00F0,  0x00D0, 0x00B0, },  // 5A 
  { 0x00F0,  0x00E0, 0x00B0, },  // 5B 
  { 0x00F0,  0x00F0, 0x00B0, },  // 5C 
  { 0x00E0,  0x00F0, 0x00B0, },  // 5D 
  { 0x00D0,  0x00F0, 0x00B0, },  // 5E 
  { 0x00C0,  0x00F0, 0x00B0, },  // 5F 
  { 0x00B0,  0x00F0, 0x00B0, },  // 60 
  { 0x00B0,  0x00F0, 0x00C0, },  // 61 
  { 0x00B0,  0x00F0, 0x00D0, },  // 62 
  { 0x00B0,  0x00F0, 0x00E0, },  // 63 
  { 0x00B0,  0x00F0, 0x00F0, },  // 64 
  { 0x00B0,  0x00E0, 0x00F0, },  // 65 
  { 0x00B0,  0x00D0, 0x00F0, },  // 66 
  { 0x00B0,  0x00C0, 0x00F0, },  // 67 
  { 0x0000,  0x0000, 0x0070, },  // 68 
  { 0x0010,  0x0000, 0x0070, },  // 69 
  { 0x0030,  0x0000, 0x0070, },  // 6A 
  { 0x0050,  0x0000, 0x0070, },  // 6B 
  { 0x0070,  0x0000, 0x0070, },  // 6C 
  { 0x0070,  0x0000, 0x0050, },  // 6D 
  { 0x0070,  0x0000, 0x0030, },  // 6E 
  { 0x0070,  0x0000, 0x0010, },  // 6F 
  { 0x0070,  0x0000, 0x0000, },  // 70 
  { 0x0070,  0x0010, 0x0000, },  // 71 
  { 0x0070,  0x0030, 0x0000, },  // 72 
  { 0x0070,  0x0050, 0x0000, },  // 73 
  { 0x0070,  0x0070, 0x0000, },  // 74 
  { 0x0050,  0x0070, 0x0000, },  // 75 
  { 0x0030,  0x0070, 0x0000, },  // 76 
  { 0x0010,  0x0070, 0x0000, },  // 77 
  { 0x0000,  0x0070, 0x0000, },  // 78 
  { 0x0000,  0x0070, 0x0010, },  // 79 
  { 0x0000,  0x0070, 0x0030, },  // 7A 
  { 0x0000,  0x0070, 0x0050, },  // 7B 
  { 0x0000,  0x0070, 0x0070, },  // 7C 
  { 0x0000,  0x0050, 0x0070, },  // 7D 
  { 0x0000,  0x0030, 0x0070, },  // 7E 
  { 0x0000,  0x0010, 0x0070, },  // 7F 
  { 0x0030,  0x0030, 0x0070, },  // 80 
  { 0x0040,  0x0030, 0x0070, },  // 81 
  { 0x0050,  0x0030, 0x0070, },  // 82 
  { 0x0060,  0x0030, 0x0070, },  // 83 
  { 0x0070,  0x0030, 0x0070, },  // 84 
  { 0x0070,  0x0030, 0x0060, },  // 85 
  { 0x0070,  0x0030, 0x0050, },  // 86 
  { 0x0070,  0x0030, 0x0040, },  // 87 
  { 0x0070,  0x0030, 0x0030, },  // 88 
  { 0x0070,  0x0040, 0x0030, },  // 89 
  { 0x0070,  0x0050, 0x0030, },  // 8A 
  { 0x0070,  0x0060, 0x0030, },  // 8B 
  { 0x0070,  0x0070, 0x0030, },  // 8C 
  { 0x0060,  0x0070, 0x0030, },  // 8D 
  { 0x0050,  0x0070, 0x0030, },  // 8E 
  { 0x0040,  0x0070, 0x0030, },  // 8F 
  { 0x0030,  0x0070, 0x0030, },  // 90 
  { 0x0030,  0x0070, 0x0040, },  // 91 
  { 0x0030,  0x0070, 0x0050, },  // 92 
  { 0x0030,  0x0070, 0x0060, },  // 93 
  { 0x0030,  0x0070, 0x0070, },  // 94 
  { 0x0030,  0x0060, 0x0070, },  // 95 
  { 0x0030,  0x0050, 0x0070, },  // 96 
  { 0x0030,  0x0040, 0x0070, },  // 97 
  { 0x0050,  0x0050, 0x0070, },  // 98 
  { 0x0050,  0x0050, 0x0070, },  // 99 
  { 0x0060,  0x0050, 0x0070, },  // 9A 
  { 0x0060,  0x0050, 0x0070, },  // 9B 
  { 0x0070,  0x0050, 0x0070, },  // 9C 
  { 0x0070,  0x0050, 0x0060, },  // 9D 
  { 0x0070,  0x0050, 0x0060, },  // 9E 
  { 0x0070,  0x0050, 0x0050, },  // 9F 
  { 0x0070,  0x0050, 0x0050, },  // A0 
  { 0x0070,  0x0050, 0x0050, },  // A1 
  { 0x0070,  0x0060, 0x0050, },  // A2 
  { 0x0070,  0x0060, 0x0050, },  // A3 
  { 0x0070,  0x0070, 0x0050, },  // A4 
  { 0x0060,  0x0070, 0x0050, },  // A5 
  { 0x0060,  0x0070, 0x0050, },  // A6 
  { 0x0050,  0x0070, 0x0050, },  // A7 
  { 0x0050,  0x0070, 0x0050, },  // A8 
  { 0x0050,  0x0070, 0x0050, },  // A9 
  { 0x0050,  0x0070, 0x0060, },  // AA 
  { 0x0050,  0x0070, 0x0060, },  // AB 
  { 0x0050,  0x0070, 0x0070, },  // AC 
  { 0x0050,  0x0060, 0x0070, },  // AD 
  { 0x0050,  0x0060, 0x0070, },  // AE 
  { 0x0050,  0x0050, 0x0070, },  // AF 
  { 0x0000,  0x0000, 0x0040, },  // B0 
  { 0x0010,  0x0000, 0x0040, },  // B1 
  { 0x0020,  0x0000, 0x0040, },  // B2 
  { 0x0030,  0x0000, 0x0040, },  // B3 
  { 0x0040,  0x0000, 0x0040, },  // B4 
  { 0x0040,  0x0000, 0x0030, },  // B5 
  { 0x0040,  0x0000, 0x0020, },  // B6 
  { 0x0040,  0x0000, 0x0010, },  // B7 
  { 0x0040,  0x0000, 0x0000, },  // B8 
  { 0x0040,  0x0010, 0x0000, },  // B9 
  { 0x0040,  0x0020, 0x0000, },  // BA 
  { 0x0040,  0x0030, 0x0000, },  // BB 
  { 0x0040,  0x0040, 0x0000, },  // BC 
  { 0x0030,  0x0040, 0x0000, },  // BD 
  { 0x0020,  0x0040, 0x0000, },  // BE 
  { 0x0010,  0x0040, 0x0000, },  // BF 
  { 0x0000,  0x0040, 0x0000, },  // C0 
  { 0x0000,  0x0040, 0x0010, },  // C1 
  { 0x0000,  0x0040, 0x0020, },  // C2 
  { 0x0000,  0x0040, 0x0030, },  // C3 
  { 0x0000,  0x0040, 0x0040, },  // C4 
  { 0x0000,  0x0030, 0x0040, },  // C5 
  { 0x0000,  0x0020, 0x0040, },  // C6 
  { 0x0000,  0x0010, 0x0040, },  // C7 
  { 0x0020,  0x0020, 0x0040, },  // C8 
  { 0x0020,  0x0020, 0x0040, },  // C9 
  { 0x0030,  0x0020, 0x0040, },  // CA 
  { 0x0030,  0x0020, 0x0040, },  // CB 
  { 0x0040,  0x0020, 0x0040, },  // CC 
  { 0x0040,  0x0020, 0x0030, },  // CD 
  { 0x0040,  0x0020, 0x0030, },  // CE 
  { 0x0040,  0x0020, 0x0020, },  // CF 
  { 0x0040,  0x0020, 0x0020, },  // D0 
  { 0x0040,  0x0020, 0x0020, },  // D1 
  { 0x0040,  0x0030, 0x0020, },  // D2 
  { 0x0040,  0x0030, 0x0020, },  // D3 
  { 0x0040,  0x0040, 0x0020, },  // D4 
  { 0x0030,  0x0040, 0x0020, },  // D5 
  { 0x0030,  0x0040, 0x0020, },  // D6 
  { 0x0020,  0x0040, 0x0020, },  // D7 
  { 0x0020,  0x0040, 0x0020, },  // D8 
  { 0x0020,  0x0040, 0x0020, },  // D9 
  { 0x0020,  0x0040, 0x0030, },  // DA 
  { 0x0020,  0x0040, 0x0030, },  // DB 
  { 0x0020,  0x0040, 0x0040, },  // DC 
  { 0x0020,  0x0030, 0x0040, },  // DD 
  { 0x0020,  0x0030, 0x0040, },  // DE 
  { 0x0020,  0x0020, 0x0040, },  // DF 
  { 0x0020,  0x0020, 0x0040, },  // E0 
  { 0x0030,  0x0020, 0x0040, },  // E1 
  { 0x0030,  0x0020, 0x0040, },  // E2 
  { 0x0030,  0x0020, 0x0040, },  // E3 
  { 0x0040,  0x0020, 0x0040, },  // E4 
  { 0x0040,  0x0020, 0x0030, },  // E5 
  { 0x0040,  0x0020, 0x0030, },  // E6 
  { 0x0040,  0x0020, 0x0030, },  // E7 
  { 0x0040,  0x0020, 0x0020, },  // E8 
  { 0x0040,  0x0030, 0x0020, },  // E9 
  { 0x0040,  0x0030, 0x0020, },  // EA 
  { 0x0040,  0x0030, 0x0020, },  // EB 
  { 0x0040,  0x0040, 0x0020, },  // EC 
  { 0x0030,  0x0040, 0x0020, },  // ED 
  { 0x0030,  0x0040, 0x0020, },  // EE 
  { 0x0030,  0x0040, 0x0020, },  // EF 
  { 0x0020,  0x0040, 0x0020, },  // F0 
  { 0x0020,  0x0040, 0x0030, },  // F1 
  { 0x0020,  0x0040, 0x0030, },  // F2 
  { 0x0020,  0x0040, 0x0030, },  // F3 
  { 0x0020,  0x0040, 0x0040, },  // F4 
  { 0x0020,  0x0030, 0x0040, },  // F5 
  { 0x0020,  0x0030, 0x0040, },  // F6 
  { 0x0020,  0x0030, 0x0040, },  // F7 
  { 0x0000,  0x0000, 0x0000, },  // F8 
  { 0x0000,  0x0000, 0x0000, },  // F9 
  { 0x0000,  0x0000, 0x0000, },  // FA 
  { 0x0000,  0x0000, 0x0000, },  // FB 
  { 0x0000,  0x0000, 0x0000, },  // FC 
  { 0x0000,  0x0000, 0x0000, },  // FD 
  { 0x0000,  0x0000, 0x0000, },  // FE 
  { 0x0000,  0x0000, 0x0000, },  // FF 
};

//--------------------------------------------------------------------------
// function prototypes
//
int         sed135x_init(int depth, struct lcd_info *lcd);
static void sed135x_on(void);
static void sed135x_off(void);
static void sed_lcd_bkl(uchar bright);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -