123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113 |
- #ifndef PANEL_ICNA3310B_DRIVER_H__
- #define PANEL_ICNA3310B_DRIVER_H__
- #define DDIC_CMD_NOP 0x00
- #define DDIC_CMD_SWRESET 0x01
- #define DDIC_CMD_RDDID 0x04
- #define DDIC_CMD_RDNUMED 0x05
- #define DDIC_CMD_RDDPM 0x0A
- #define DDIC_CMD_RDDMADCTR 0x0B
- #define DDIC_CMD_RDDCOLMOD 0x0C
- #define DDIC_CMD_RDDIM 0x0D
- #define DDIC_CMD_RDDSM 0x0E
- #define DDIC_CMD_RDDSDR 0x0F
- #define DDIC_CMD_SLPIN 0x10
- #define DDIC_CMD_SLPOUT 0x11
- #define DDIC_CMD_PTRON 0x12
- #define DDIC_CMD_NORON 0x13
- #define DDIC_CMD_INVOFF 0x20
- #define DDIC_CMD_INVON 0x21
- #define DDIC_CMD_ALLPOFF 0x22
- #define DDIC_CMD_ALLPON 0x23
- #define DDIC_CMD_DISPOFF 0x28
- #define DDIC_CMD_DISPON 0x29
- #define DDIC_CMD_CASET 0x2A
- #define DDIC_CMD_RASET 0x2B
- #define DDIC_CMD_RAMWR 0x2C
- #define DDIC_CMD_RAMRD 0x2E
- #define DDIC_CMD_PTLAR 0x30
- #define DDIC_CMD_PTLAR_H 0x31
- #define DDIC_CMD_TEOFF 0x34
- #define DDIC_CMD_TEON 0x35
- #define DDIC_CMD_MADCTL 0x36
- #define DDIC_CMD_IDMOFF 0x38
- #define DDIC_CMD_IDMON 0x39
- #define DDIC_CMD_COLMOD 0x3A
- #define DDIC_CMD_RAMWRC 0x3C
- #define DDIC_CMD_RAMRDC 0x3E
- #define DDIC_CMD_STESL 0x44
- #define DDIC_CMD_GSL 0x45
- #define DDIC_CMD_DSTBON 0x4F
- #define DDIC_CMD_WRDISBV 0x51
- #define DDIC_CMD_RDDISBV 0x52
- #define DDIC_CMD_WRCTRLD 0x53
- #define DDIC_CMD_RDCTRLD 0x54
- #define DDIC_CMD_WRACL 0x55
- #define DDIC_CMD_RDACL 0x56
- #define DDIC_CMD_WRIMGEHCCTR 0x58
- #define DDIC_CMD_RDIMGEHCCTR 0x59
- #define DDIC_CMD_WRHBMDISBV 0x63
- #define DDIC_CMD_RDHBMDISBV 0x64
- #define DDIC_CMD_HBMCTL 0x66
- #define DDIC_CMD_COLSET0 0x70
- #define DDIC_CMD_COLSET1 0x71
- #define DDIC_CMD_COLSET2 0x72
- #define DDIC_CMD_COLSET3 0x73
- #define DDIC_CMD_COLSET4 0x74
- #define DDIC_CMD_COLSET5 0x75
- #define DDIC_CMD_COLSET6 0x76
- #define DDIC_CMD_COLSET7 0x77
- #define DDIC_CMD_COLSET8 0x78
- #define DDIC_CMD_COLSET9 0x79
- #define DDIC_CMD_COLSET10 0x7A
- #define DDIC_CMD_COLSET11 0x7B
- #define DDIC_CMD_COLSET12 0x7C
- #define DDIC_CMD_COLSET13 0x7D
- #define DDIC_CMD_COLSET14 0x7E
- #define DDIC_CMD_COLSET15 0x7F
- #define DDIC_CMD_COLOPT 0x80
- #define DDIC_CMD_RDDDBS 0xA1
- #define DDIC_CMD_RDDDBC 0xA8
- #define DDIC_CMD_RDFCS 0xAA
- #define DDIC_CMD_RDCCS 0xAF
- #define DDIC_CMD_SETDISPMODE 0xC2
- #define DDIC_CMD_SETDSPIMODE 0xC4
- #define DDIC_CMD_RDID1 0xDA
- #define DDIC_CMD_RDID2 0xDB
- #define DDIC_CMD_RDID3 0xDC
- #define DDIC_CMD_MSC 0xFE
- #define DDIC_QSPI_CMD_RD(cmd) ((0x03 << 24) | ((uint32_t)(cmd) << 8))
- #define DDIC_QSPI_CMD_WR(cmd) ((0x02 << 24) | ((uint32_t)(cmd) << 8))
- #define DDIC_QSPI_CMD_RAMWR(cmd) ((0x32 << 24) | ((uint32_t)(cmd) << 8))
- #if 0
- #define DDIC_CMD_DELAY 0xFF
- typedef struct panel_regcfg {
- uint8_t cmd;
- uint8_t len;
- uint8_t dat[4];
- } panel_regcfg_t;
- static inline void panel_apply_config(
- const struct device *lcdc_dev, panel_regcfg_t *cfg, int num)
- {
- for (; num > 0; num--, cfg++) {
- if (cfg->cmd == DDIC_CMD_DELAY) {
- k_msleep(cfg->len);
- } else {
- display_controller_write_config(lcdc_dev,
- DDIC_QSPI_CMD_WR(cfg->cmd), cfg->dat, cfg->len);
- }
- }
- }
- #endif
- #endif
|