📄 glamo-regs.patch
字号:
+ GLAMO_FIRE_MMC_CC_CANCL = 0x0009,+ /* "Basic Command" */+ GLAMO_FIRE_MMC_CC_BASIC = 0x000a,+};++/* these are offsets from the start of the MMC register region */+enum glamo_register_mmc {+ /* MMC command, b15..8 = cmd arg b7..0; b7..1 = CRC; b0 = end bit */+ GLAMO_REG_MMC_CMD_REG1 = 0x00,+ /* MMC command, b15..0 = cmd arg b23 .. 8 */+ GLAMO_REG_MMC_CMD_REG2 = 0x02,+ /* MMC command, b15=start, b14=transmission,+ * b13..8=cmd idx, b7..0=cmd arg b31..24+ */+ GLAMO_REG_MMC_CMD_REG3 = 0x04,+ GLAMO_REG_MMC_CMD_FIRE = 0x06,+ GLAMO_REG_MMC_CMD_RSP1 = 0x10,+ GLAMO_REG_MMC_CMD_RSP2 = 0x12,+ GLAMO_REG_MMC_CMD_RSP3 = 0x14,+ GLAMO_REG_MMC_CMD_RSP4 = 0x16,+ GLAMO_REG_MMC_CMD_RSP5 = 0x18,+ GLAMO_REG_MMC_CMD_RSP6 = 0x1a,+ GLAMO_REG_MMC_CMD_RSP7 = 0x1c,+ GLAMO_REG_MMC_CMD_RSP8 = 0x1e,+ GLAMO_REG_MMC_RB_STAT1 = 0x20,+ GLAMO_REG_MMC_RB_BLKCNT = 0x22,+ GLAMO_REG_MMC_RB_BLKLEN = 0x24,+ GLAMO_REG_MMC_BASIC = 0x30,+ GLAMO_REG_MMC_RDATADS1 = 0x34,+ GLAMO_REG_MMC_RDATADS2 = 0x36,+ GLAMO_REG_MMC_WDATADS1 = 0x38,+ GLAMO_REG_MMC_WDATADS2 = 0x3a,+ GLAMO_REG_MMC_DATBLKCNT = 0x3c,+ GLAMO_REG_MMC_DATBLKLEN = 0x3e,+ GLAMO_REG_MMC_TIMEOUT = 0x40,++};++enum glamo_reg_clock_isp {+ GLAMO_CLOCK_ISP_DG_I1CLK = 0x0001,+ GLAMO_CLOCK_ISP_EN_I1CLK = 0x0002,+ GLAMO_CLOCK_ISP_DG_CCLK = 0x0004,+ GLAMO_CLOCK_ISP_EN_CCLK = 0x0008,+ //+ GLAMO_CLOCK_ISP_EN_SCLK = 0x0020,+ GLAMO_CLOCK_ISP_DG_M2CLK = 0x0040,+ GLAMO_CLOCK_ISP_EN_M2CLK = 0x0080,+ GLAMO_CLOCK_ISP_DG_M15CLK = 0x0100,+ GLAMO_CLOCK_ISP_EN_M15CLK = 0x0200,+ GLAMO_CLOCK_ISP1_RESET = 0x1000,+ GLAMO_CLOCK_ISP2_RESET = 0x2000,+};++enum glamo_reg_clock_jpeg {+ GLAMO_CLOCK_JPEG_DG_JCLK = 0x0001,+ GLAMO_CLOCK_JPEG_EN_JCLK = 0x0002,+ GLAMO_CLOCK_JPEG_DG_M3CLK = 0x0004,+ GLAMO_CLOCK_JPEG_EN_M3CLK = 0x0008,+ GLAMO_CLOCK_JPEG_RESET = 0x1000,+};++enum glamo_reg_clock_2d {+ GLAMO_CLOCK_2D_DG_GCLK = 0x0001,+ GLAMO_CLOCK_2D_EN_GCLK = 0x0002,+ GLAMO_CLOCK_2D_DG_M7CLK = 0x0004,+ GLAMO_CLOCK_2D_EN_M7CLK = 0x0008,+ GLAMO_CLOCK_2D_DG_M6CLK = 0x0010,+ GLAMO_CLOCK_2D_EN_M6CLK = 0x0020,+ GLAMO_CLOCK_2D_RESET = 0x1000,+ GLAMO_CLOCK_2D_CQ_RESET = 0x2000,+};++enum glamo_reg_clock_3d {+ GLAMO_CLOCK_3D_DG_ECLK = 0x0001,+ GLAMO_CLOCK_3D_EN_ECLK = 0x0002,+ GLAMO_CLOCK_3D_DG_RCLK = 0x0004,+ GLAMO_CLOCK_3D_EN_RCLK = 0x0008,+ GLAMO_CLOCK_3D_DG_M8CLK = 0x0010,+ GLAMO_CLOCK_3D_EN_M8CLK = 0x0020,+ GLAMO_CLOCK_3D_BACK_RESET = 0x1000,+ GLAMO_CLOCK_3D_FRONT_RESET = 0x2000,+};++enum glamo_reg_clock_mpeg {+ GLAMO_CLOCK_MPEG_DG_X0CLK = 0x0001,+ GLAMO_CLOCK_MPEG_EN_X0CLK = 0x0002,+ GLAMO_CLOCK_MPEG_DG_X1CLK = 0x0004,+ GLAMO_CLOCK_MPEG_EN_X1CLK = 0x0008,+ GLAMO_CLOCK_MPEG_DG_X2CLK = 0x0010,+ GLAMO_CLOCK_MPEG_EN_X2CLK = 0x0020,+ GLAMO_CLOCK_MPEG_DG_X3CLK = 0x0040,+ GLAMO_CLOCK_MPEG_EN_X3CLK = 0x0080,+ GLAMO_CLOCK_MPEG_DG_X4CLK = 0x0100,+ GLAMO_CLOCK_MPEG_EN_X4CLK = 0x0200,+ GLAMO_CLOCK_MPEG_DG_X6CLK = 0x0400,+ GLAMO_CLOCK_MPEG_EN_X6CLK = 0x0800,+ GLAMO_CLOCK_MPEG_ENC_RESET = 0x1000,+ GLAMO_CLOCK_MPEG_DEC_RESET = 0x2000,+};++enum glamo_reg_clock51 {+ GLAMO_CLOCK_GEN51_EN_DIV_MCLK = 0x0001,+ GLAMO_CLOCK_GEN51_EN_DIV_SCLK = 0x0002,+ GLAMO_CLOCK_GEN51_EN_DIV_JCLK = 0x0004,+ GLAMO_CLOCK_GEN51_EN_DIV_DCLK = 0x0008,+ GLAMO_CLOCK_GEN51_EN_DIV_DMCLK = 0x0010,+ GLAMO_CLOCK_GEN51_EN_DIV_DHCLK = 0x0020,+ GLAMO_CLOCK_GEN51_EN_DIV_GCLK = 0x0040,+ GLAMO_CLOCK_GEN51_EN_DIV_TCLK = 0x0080,+ /* FIXME: higher bits */+};++enum glamo_reg_hostbus2 {+ GLAMO_HOSTBUS2_MMIO_EN_ISP = 0x0001,+ GLAMO_HOSTBUS2_MMIO_EN_JPEG = 0x0002,+ GLAMO_HOSTBUS2_MMIO_EN_MPEG = 0x0004,+ GLAMO_HOSTBUS2_MMIO_EN_LCD = 0x0008,+ GLAMO_HOSTBUS2_MMIO_EN_MMC = 0x0010,+ GLAMO_HOSTBUS2_MMIO_EN_MICROP0 = 0x0020,+ GLAMO_HOSTBUS2_MMIO_EN_MICROP1 = 0x0040,+ GLAMO_HOSTBUS2_MMIO_EN_CQ = 0x0080,+ GLAMO_HOSTBUS2_MMIO_EN_RISC = 0x0100,+ GLAMO_HOSTBUS2_MMIO_EN_2D = 0x0200,+ GLAMO_HOSTBUS2_MMIO_EN_3D = 0x0400,+};++/* LCD Controller */++#define REG_LCD(x) (x)+enum glamo_reg_lcd {+ GLAMO_REG_LCD_MODE1 = REG_LCD(0x00),+ GLAMO_REG_LCD_MODE2 = REG_LCD(0x02),+ GLAMO_REG_LCD_MODE3 = REG_LCD(0x04),+ GLAMO_REG_LCD_WIDTH = REG_LCD(0x06),+ GLAMO_REG_LCD_HEIGHT = REG_LCD(0x08),+ GLAMO_REG_LCD_POLARITY = REG_LCD(0x0a),+ GLAMO_REG_LCD_A_BASE1 = REG_LCD(0x0c),+ GLAMO_REG_LCD_A_BASE2 = REG_LCD(0x0e),+ GLAMO_REG_LCD_B_BASE1 = REG_LCD(0x10),+ GLAMO_REG_LCD_B_BASE2 = REG_LCD(0x12),+ GLAMO_REG_LCD_C_BASE1 = REG_LCD(0x14),+ GLAMO_REG_LCD_C_BASE2 = REG_LCD(0x16),+ GLAMO_REG_LCD_PITCH = REG_LCD(0x18),+ /* RES */+ GLAMO_REG_LCD_HORIZ_TOTAL = REG_LCD(0x1c),+ /* RES */+ GLAMO_REG_LCD_HORIZ_RETR_START = REG_LCD(0x20),+ /* RES */+ GLAMO_REG_LCD_HORIZ_RETR_END = REG_LCD(0x24),+ /* RES */+ GLAMO_REG_LCD_HORIZ_DISP_START = REG_LCD(0x28),+ /* RES */+ GLAMO_REG_LCD_HORIZ_DISP_END = REG_LCD(0x2c),+ /* RES */+ GLAMO_REG_LCD_VERT_TOTAL = REG_LCD(0x30),+ /* RES */+ GLAMO_REG_LCD_VERT_RETR_START = REG_LCD(0x34),+ /* RES */+ GLAMO_REG_LCD_VERT_RETR_END = REG_LCD(0x38),+ /* RES */+ GLAMO_REG_LCD_VERT_DISP_START = REG_LCD(0x3c),+ /* RES */+ GLAMO_REG_LCD_VERT_DISP_END = REG_LCD(0x40),+ /* RES */+ GLAMO_REG_LCD_POL = REG_LCD(0x44),+ GLAMO_REG_LCD_DATA_START = REG_LCD(0x46),+ GLAMO_REG_LCD_FRATE_CONTRO = REG_LCD(0x48),+ GLAMO_REG_LCD_DATA_CMD_HDR = REG_LCD(0x4a),+ GLAMO_REG_LCD_SP_START = REG_LCD(0x4c),+ GLAMO_REG_LCD_SP_END = REG_LCD(0x4e),+ GLAMO_REG_LCD_CURSOR_BASE1 = REG_LCD(0x50),+ GLAMO_REG_LCD_CURSOR_BASE2 = REG_LCD(0x52),+ GLAMO_REG_LCD_CURSOR_PITCH = REG_LCD(0x54),+ GLAMO_REG_LCD_CURSOR_X_SIZE = REG_LCD(0x56),+ GLAMO_REG_LCD_CURSOR_Y_SIZE = REG_LCD(0x58),+ GLAMO_REG_LCD_CURSOR_X_POS = REG_LCD(0x5a),+ GLAMO_REG_LCD_CURSOR_Y_POS = REG_LCD(0x5c),+ GLAMO_REG_LCD_CURSOR_PRESET = REG_LCD(0x5e),+ GLAMO_REG_LCD_CURSOR_FG_COLOR = REG_LCD(0x60),+ /* RES */+ GLAMO_REG_LCD_CURSOR_BG_COLOR = REG_LCD(0x64),+ /* RES */+ GLAMO_REG_LCD_CURSOR_DST_COLOR = REG_LCD(0x68),+ /* RES */+ GLAMO_REG_LCD_STATUS1 = REG_LCD(0x80),+ GLAMO_REG_LCD_STATUS2 = REG_LCD(0x82),+ GLAMO_REG_LCD_STATUS3 = REG_LCD(0x84),+ GLAMO_REG_LCD_STATUS4 = REG_LCD(0x86),+ /* RES */+ GLAMO_REG_LCD_COMMAND1 = REG_LCD(0xa0),+ GLAMO_REG_LCD_COMMAND2 = REG_LCD(0xa2),+ /* RES */+ GLAMO_REG_LCD_WFORM_DELAY1 = REG_LCD(0xb0),+ GLAMO_REG_LCD_WFORM_DELAY2 = REG_LCD(0xb2),+ /* RES */+ GLAMO_REG_LCD_GAMMA_CORR = REG_LCD(0x100),+ /* RES */+ GLAMO_REG_LCD_GAMMA_R_ENTRY01 = REG_LCD(0x110),+ GLAMO_REG_LCD_GAMMA_R_ENTRY23 = REG_LCD(0x112),+ GLAMO_REG_LCD_GAMMA_R_ENTRY45 = REG_LCD(0x114),+ GLAMO_REG_LCD_GAMMA_R_ENTRY67 = REG_LCD(0x116),+ GLAMO_REG_LCD_GAMMA_R_ENTRY8 = REG_LCD(0x118),+ /* RES */+ GLAMO_REG_LCD_GAMMA_G_ENTRY01 = REG_LCD(0x130),+ GLAMO_REG_LCD_GAMMA_G_ENTRY23 = REG_LCD(0x132),+ GLAMO_REG_LCD_GAMMA_G_ENTRY45 = REG_LCD(0x134),+ GLAMO_REG_LCD_GAMMA_G_ENTRY67 = REG_LCD(0x136),+ GLAMO_REG_LCD_GAMMA_G_ENTRY8 = REG_LCD(0x138),+ /* RES */+ GLAMO_REG_LCD_GAMMA_B_ENTRY01 = REG_LCD(0x150),+ GLAMO_REG_LCD_GAMMA_B_ENTRY23 = REG_LCD(0x152),+ GLAMO_REG_LCD_GAMMA_B_ENTRY45 = REG_LCD(0x154),+ GLAMO_REG_LCD_GAMMA_B_ENTRY67 = REG_LCD(0x156),+ GLAMO_REG_LCD_GAMMA_B_ENTRY8 = REG_LCD(0x158),+ /* RES */+ GLAMO_REG_LCD_SRAM_DRIVING1 = REG_LCD(0x160),+ GLAMO_REG_LCD_SRAM_DRIVING2 = REG_LCD(0x162),+ GLAMO_REG_LCD_SRAM_DRIVING3 = REG_LCD(0x164),+};++enum glamo_reg_lcd_mode1 {+ GLAMO_LCD_MODE1_PWRSAVE = 0x0001,+ GLAMO_LCD_MODE1_PARTIAL_PRT = 0x0002,+ GLAMO_LCD_MODE1_HWFLIP = 0x0004,+ GLAMO_LCD_MODE1_LCD2 = 0x0008,+ /* RES */+ GLAMO_LCD_MODE1_PARTIAL_MODE = 0x0020,+ GLAMO_LCD_MODE1_CURSOR_DSTCOLOR = 0x0040,+ GLAMO_LCD_MODE1_PARTIAL_ENABLE = 0x0080,+ GLAMO_LCD_MODE1_TVCLK_IN_ENABLE = 0x0100,+ GLAMO_LCD_MODE1_HSYNC_HIGH_ACT = 0x0200,+ GLAMO_LCD_MODE1_VSYNC_HIGH_ACT = 0x0400,+ GLAMO_LCD_MODE1_HSYNC_FLIP = 0x0800,+ GLAMO_LCD_MODE1_GAMMA_COR_EN = 0x1000,+ GLAMO_LCD_MODE1_DITHER_EN = 0x2000,+ GLAMO_LCD_MODE1_CURSOR_EN = 0x4000,+ GLAMO_LCD_MODE1_ROTATE_EN = 0x8000,+};++enum glamo_reg_lcd_mode2 {+ GLAMO_LCD_MODE2_CRC_CHECK_EN = 0x0001,+ GLAMO_LCD_MODE2_DCMD_PER_LINE = 0x0002,+ GLAMO_LCD_MODE2_NOUSE_BDEF = 0x0004,+ GLAMO_LCD_MODE2_OUT_POS_MODE = 0x0008,+ GLAMO_LCD_MODE2_FRATE_CTRL_EN = 0x0010,+ GLAMO_LCD_MODE2_SINGLE_BUFFER = 0x0020,+ GLAMO_LCD_MODE2_SER_LSB_TO_MSB = 0x0040,+ /* FIXME */+};++enum glamo_reg_lcd_mode3 {+ /* LCD color source data format */+ GLAMO_LCD_SRC_RGB565 = 0x0000,+ GLAMO_LCD_SRC_ARGB1555 = 0x4000,+ GLAMO_LCD_SRC_ARGB4444 = 0x8000,+ /* interface type */+ GLAMO_LCD_MODE3_LCD = 0x1000,+ GLAMO_LCD_MODE3_RGB = 0x0800,+ GLAMO_LCD_MODE3_CPU = 0x0000,+ /* mode */+ GLAMO_LCD_MODE3_RGB332 = 0x0000,+ GLAMO_LCD_MODE3_RGB444 = 0x0100,+ GLAMO_LCD_MODE3_RGB565 = 0x0200,+ GLAMO_LCD_MODE3_RGB666 = 0x0300,+ /* depth */+ GLAMO_LCD_MODE3_6BITS = 0x0000,+ GLAMO_LCD_MODE3_8BITS = 0x0010,+ GLAMO_LCD_MODE3_9BITS = 0x0020,+ GLAMO_LCD_MODE3_16BITS = 0x0030,+ GLAMO_LCD_MODE3_18BITS = 0x0040,+};++enum glamo_lcd_rot_mode {+ GLAMO_LCD_ROT_MODE_0 = 0x0000,+ GLAMO_LCD_ROT_MODE_180 = 0x2000,+ GLAMO_LCD_ROT_MODE_MIRROR = 0x4000,+ GLAMO_LCD_ROT_MODE_FLIP = 0x6000,+ GLAMO_LCD_ROT_MODE_90 = 0x8000,+ GLAMO_LCD_ROT_MODE_270 = 0xa000,+};+#define GLAMO_LCD_ROT_MODE_MASK 0xe000++enum glamo_lcd_cmd_type {+ GLAMO_LCD_CMD_TYPE_DISP = 0x0000,+ GLAMO_LCD_CMD_TYPE_PARALLEL = 0x4000,+ GLAMO_LCD_CMD_TYPE_SERIAL = 0x8000,+ GLAMO_LCD_CMD_TYPE_SERIAL_DIRECT= 0xc000,+};+#define GLAMO_LCD_CMD_TYPE_MASK 0xc000++enum glamo_lcd_cmds {+ GLAMO_LCD_CMD_DATA_DISP_FIRE = 0x00,+ GLAMO_LCD_CMD_DATA_DISP_SYNC = 0x01, /* RGB only */+ /* switch to command mode, no display */+ GLAMO_LCD_CMD_DATA_FIRE_NO_DISP = 0x02,+ /* display until VSYNC, switch to command */+ GLAMO_LCD_CMD_DATA_FIRE_VSYNC = 0x11,+ /* display until HSYNC, switch to command */+ GLAMO_LCD_CMD_DATA_FIRE_HSYNC = 0x12,+ /* display until VSYNC, 1 black frame, VSYNC, switch to command */+ GLAMO_LCD_CMD_DATA_FIRE_VSYNC_B = 0x13,+ /* don't care about display and switch to command */+ GLAMO_LCD_CMD_DATA_FIRE_FREE = 0x14, /* RGB only */+ /* don't care about display, keep data display but disable data,+ * and switch to command */+ GLAMO_LCD_CMD_DATA_FIRE_FREE_D = 0x15, /* RGB only */+};++enum glamo_core_revisions {+ GLAMO_CORE_REV_A0 = 0x0000,+ GLAMO_CORE_REV_A1 = 0x0001,+ GLAMO_CORE_REV_A2 = 0x0002,+ GLAMO_CORE_REV_A3 = 0x0003,+};++#endif /* _GLAMO_REGS_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -