mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-28 03:40:04 +00:00
9cd491e8c3
The Himax HX8357D is used e.g. by the Adafruit PITFT Plus 3.5". Adafruit added HX8357D support to an own fork of fbtft and support Raspbian only (https://github.com/adafruit/adafruit-rpi-fbtft/). They don't intend to push it upstream but gave me the ok to do so. Original author: Sean Cross <xobs@kosagi.com> I just applied small changes to the driver to align it with the other fbtft drivers. - add "compatible" argument to FBTFT_REGISTER_DRIVER call - add missing MODULE_ALIAS declarations Tested successfully with this display on an RPI2 under Arch Linux ARM (kernel 3.18.13). Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
102 lines
2.7 KiB
C
102 lines
2.7 KiB
C
/***************************************************
|
|
This is our library for the Adafruit ILI9341 Breakout and Shield
|
|
----> http://www.adafruit.com/products/1651
|
|
|
|
Check out the links above for our tutorials and wiring diagrams
|
|
These displays use SPI to communicate, 4 or 5 pins are required to
|
|
interface (RST is optional)
|
|
Adafruit invests time and resources providing this open source code,
|
|
please support Adafruit and open-source hardware by purchasing
|
|
products from Adafruit!
|
|
|
|
Written by Limor Fried/Ladyada for Adafruit Industries.
|
|
MIT license, all text above must be included in any redistribution
|
|
****************************************************/
|
|
|
|
#ifndef __HX8357_H__
|
|
#define __HX8357_H__
|
|
|
|
#define HX8357D 0xD
|
|
#define HX8357B 0xB
|
|
|
|
#define HX8357_TFTWIDTH 320
|
|
#define HX8357_TFTHEIGHT 480
|
|
|
|
#define HX8357B_NOP 0x00
|
|
#define HX8357B_SWRESET 0x01
|
|
#define HX8357B_RDDID 0x04
|
|
#define HX8357B_RDDST 0x09
|
|
|
|
#define HX8357B_RDPOWMODE 0x0A
|
|
#define HX8357B_RDMADCTL 0x0B
|
|
#define HX8357B_RDCOLMOD 0x0C
|
|
#define HX8357B_RDDIM 0x0D
|
|
#define HX8357B_RDDSDR 0x0F
|
|
|
|
#define HX8357_SLPIN 0x10
|
|
#define HX8357_SLPOUT 0x11
|
|
#define HX8357B_PTLON 0x12
|
|
#define HX8357B_NORON 0x13
|
|
|
|
#define HX8357_INVOFF 0x20
|
|
#define HX8357_INVON 0x21
|
|
#define HX8357_DISPOFF 0x28
|
|
#define HX8357_DISPON 0x29
|
|
|
|
#define HX8357_CASET 0x2A
|
|
#define HX8357_PASET 0x2B
|
|
#define HX8357_RAMWR 0x2C
|
|
#define HX8357_RAMRD 0x2E
|
|
|
|
#define HX8357B_PTLAR 0x30
|
|
#define HX8357_TEON 0x35
|
|
#define HX8357_TEARLINE 0x44
|
|
#define HX8357_MADCTL 0x36
|
|
#define HX8357_COLMOD 0x3A
|
|
|
|
#define HX8357_SETOSC 0xB0
|
|
#define HX8357_SETPWR1 0xB1
|
|
#define HX8357B_SETDISPLAY 0xB2
|
|
#define HX8357_SETRGB 0xB3
|
|
#define HX8357D_SETCOM 0xB6
|
|
|
|
#define HX8357B_SETDISPMODE 0xB4
|
|
#define HX8357D_SETCYC 0xB4
|
|
#define HX8357B_SETOTP 0xB7
|
|
#define HX8357D_SETC 0xB9
|
|
|
|
#define HX8357B_SET_PANEL_DRIVING 0xC0
|
|
#define HX8357D_SETSTBA 0xC0
|
|
#define HX8357B_SETDGC 0xC1
|
|
#define HX8357B_SETID 0xC3
|
|
#define HX8357B_SETDDB 0xC4
|
|
#define HX8357B_SETDISPLAYFRAME 0xC5
|
|
#define HX8357B_GAMMASET 0xC8
|
|
#define HX8357B_SETCABC 0xC9
|
|
#define HX8357_SETPANEL 0xCC
|
|
|
|
#define HX8357B_SETPOWER 0xD0
|
|
#define HX8357B_SETVCOM 0xD1
|
|
#define HX8357B_SETPWRNORMAL 0xD2
|
|
|
|
#define HX8357B_RDID1 0xDA
|
|
#define HX8357B_RDID2 0xDB
|
|
#define HX8357B_RDID3 0xDC
|
|
#define HX8357B_RDID4 0xDD
|
|
|
|
#define HX8357D_SETGAMMA 0xE0
|
|
|
|
#define HX8357B_SETGAMMA 0xC8
|
|
#define HX8357B_SETPANELRELATED 0xE9
|
|
|
|
/* Color definitions */
|
|
#define HX8357_BLACK 0x0000
|
|
#define HX8357_BLUE 0x001F
|
|
#define HX8357_RED 0xF800
|
|
#define HX8357_GREEN 0x07E0
|
|
#define HX8357_CYAN 0x07FF
|
|
#define HX8357_MAGENTA 0xF81F
|
|
#define HX8357_YELLOW 0xFFE0
|
|
#define HX8357_WHITE 0xFFFF
|
|
|
|
#endif /* __HX8357_H__ */
|