You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
180 lines
5.0 KiB
180 lines
5.0 KiB
/* |
|
* Copyright (c) 2023 bytes at work AG |
|
* Copyright (c) 2020 Teslabs Engineering S.L. |
|
* |
|
* SPDX-License-Identifier: Apache-2.0 |
|
*/ |
|
|
|
#ifndef ZEPHYR_DRIVERS_DISPLAY_DISPLAY_OTM8009A_H_ |
|
#define ZEPHYR_DRIVERS_DISPLAY_DISPLAY_OTM8009A_H_ |
|
|
|
/** |
|
* @name General parameters. |
|
* @{ |
|
*/ |
|
|
|
/** ID1 */ |
|
#define OTM8009A_ID1 0x40U |
|
/** Read ID1 command */ |
|
#define OTM8009A_CMD_ID1 0xDA |
|
|
|
/** Reset pulse time (ms), ref. Table 6.3.4.1 */ |
|
#define OTM8009A_RESET_TIME 10U |
|
/** Wake up time after reset pulse, ref. Table 6.3.4.1 */ |
|
#define OTM8009A_WAKE_TIME 20U |
|
/** Time to wait after exiting sleep mode (ms), ref. 5.2.11. */ |
|
#define OTM8009A_EXIT_SLEEP_MODE_WAIT_TIME 5U |
|
|
|
/** @} */ |
|
|
|
/** |
|
* @name Display timings (ref. table 6.4.2.1) |
|
* @{ |
|
*/ |
|
|
|
/** Horizontal low pulse width */ |
|
#define OTM8009A_HSYNC 2U |
|
/** Horizontal front porch. */ |
|
#define OTM8009A_HFP 34U |
|
/** Horizontal back porch. */ |
|
#define OTM8009A_HBP 34U |
|
/** Vertical low pulse width. */ |
|
#define OTM8009A_VSYNC 1U |
|
/** Vertical front porch. */ |
|
#define OTM8009A_VFP 16U |
|
/** Vertical back porch. */ |
|
#define OTM8009A_VBP 15U |
|
|
|
/** @} */ |
|
|
|
/** |
|
* @name Register fields. |
|
* @{ |
|
*/ |
|
|
|
/** |
|
* @name MIPI DCS Write Control Display fields. |
|
* @{ |
|
*/ |
|
|
|
/** Write Control Display: brightness control. */ |
|
#define OTM8009A_WRCTRLD_BCTRL BIT(5) |
|
/** Write Control Display: display dimming. */ |
|
#define OTM8009A_WRCTRLD_DD BIT(3) |
|
/** Write Control Display: backlight. */ |
|
#define OTM8009A_WRCTRLD_BL BIT(2) |
|
|
|
/** Adaptibe Brightness Control: off. */ |
|
#define OTM8009A_WRCABC_OFF 0x00U |
|
/** Adaptibe Brightness Control: user interface. */ |
|
#define OTM8009A_WRCABC_UI 0x01U |
|
/** Adaptibe Brightness Control: still picture. */ |
|
#define OTM8009A_WRCABC_ST 0x02U |
|
/** Adaptibe Brightness Control: moving image. */ |
|
#define OTM8009A_WRCABC_MV 0x03U |
|
|
|
/** @} */ |
|
|
|
/** |
|
* @name MIPI MCS (Manufacturer Command Set). |
|
* @{ |
|
*/ |
|
|
|
/** Address Shift Function */ |
|
#define OTM8009A_MCS_ADRSFT 0x0000U |
|
/** Panel Type Setting */ |
|
#define OTM8009A_MCS_PANSET 0xB3A6U |
|
/* Source Driver Timing Setting */ |
|
#define OTM8009A_MCS_SD_CTRL 0xC0A2U |
|
/** Panel Driving Mode */ |
|
#define OTM8009A_MCS_P_DRV_M 0xC0B4U |
|
/** Oscillator Adjustment for Idle/Normal mode */ |
|
#define OTM8009A_MCS_OSC_ADJ 0xC181U |
|
/** RGB Video Mode Setting */ |
|
#define OTM8009A_MCS_RGB_VID_SET 0xC1A1U |
|
/** Source Driver Precharge Control */ |
|
#define OTM8009A_MCS_SD_PCH_CTRL 0xC480U |
|
/** Command not documented */ |
|
#define OTM8009A_MCS_NO_DOC1 0xC48AU |
|
/** Power Control Setting 1 */ |
|
#define OTM8009A_MCS_PWR_CTRL1 0xC580U |
|
/** Power Control Setting 2 for Normal Mode */ |
|
#define OTM8009A_MCS_PWR_CTRL2 0xC590U |
|
/** Power Control Setting 4 for DC Voltage */ |
|
#define OTM8009A_MCS_PWR_CTRL4 0xC5B0U |
|
/** PWM Parameter 1 */ |
|
#define OTM8009A_MCS_PWM_PARA1 0xC680U |
|
/** PWM Parameter 2 */ |
|
#define OTM8009A_MCS_PWM_PARA2 0xC6B0U |
|
/** PWM Parameter 3 */ |
|
#define OTM8009A_MCS_PWM_PARA3 0xC6B1U |
|
/** PWM Parameter 4 */ |
|
#define OTM8009A_MCS_PWM_PARA4 0xC6B3U |
|
/** PWM Parameter 5 */ |
|
#define OTM8009A_MCS_PWM_PARA5 0xC6B4U |
|
/** PWM Parameter 6 */ |
|
#define OTM8009A_MCS_PWM_PARA6 0xC6B5U |
|
/** Panel Control Setting 1 */ |
|
#define OTM8009A_MCS_PANCTRLSET1 0xCB80U |
|
/** Panel Control Setting 2 */ |
|
#define OTM8009A_MCS_PANCTRLSET2 0xCB90U |
|
/** Panel Control Setting 3 */ |
|
#define OTM8009A_MCS_PANCTRLSET3 0xCBA0U |
|
/** Panel Control Setting 4 */ |
|
#define OTM8009A_MCS_PANCTRLSET4 0xCBB0U |
|
/** Panel Control Setting 5 */ |
|
#define OTM8009A_MCS_PANCTRLSET5 0xCBC0U |
|
/** Panel Control Setting 6 */ |
|
#define OTM8009A_MCS_PANCTRLSET6 0xCBD0U |
|
/** Panel Control Setting 7 */ |
|
#define OTM8009A_MCS_PANCTRLSET7 0xCBE0U |
|
/** Panel Control Setting 8 */ |
|
#define OTM8009A_MCS_PANCTRLSET8 0xCBF0U |
|
/** Panel U2D Setting 1 */ |
|
#define OTM8009A_MCS_PANU2D1 0xCC80U |
|
/** Panel U2D Setting 2 */ |
|
#define OTM8009A_MCS_PANU2D2 0xCC90U |
|
/** Panel U2D Setting 3 */ |
|
#define OTM8009A_MCS_PANU2D3 0xCCA0U |
|
/** Panel D2U Setting 1 */ |
|
#define OTM8009A_MCS_PAND2U1 0xCCB0U |
|
/** Panel D2U Setting 2 */ |
|
#define OTM8009A_MCS_PAND2U2 0xCCC0U |
|
/** Panel D2U Setting 3 */ |
|
#define OTM8009A_MCS_PAND2U3 0xCCD0U |
|
/** GOA VST Setting */ |
|
#define OTM8009A_MCS_GOAVST 0xCE80U |
|
/** GOA CLKA1 Setting */ |
|
#define OTM8009A_MCS_GOACLKA1 0xCEA0U |
|
/** GOA CLKA2 Setting */ |
|
#define OTM8009A_MCS_GOACLKA2 0xCEA7U |
|
/** GOA CLKA3 Setting */ |
|
#define OTM8009A_MCS_GOACLKA3 0xCEB0U |
|
/** GOA CLKA4 Setting */ |
|
#define OTM8009A_MCS_GOACLKA4 0xCEB7U |
|
/** GOA ECLK Setting */ |
|
#define OTM8009A_MCS_GOAECLK 0xCFC0U |
|
/** GOA Other Options 1 */ |
|
#define OTM8009A_MCS_GOAPT1 0xCFC6U |
|
/** GOA Signal Toggle Option Setting */ |
|
#define OTM8009A_MCS_GOATGOPT 0xCFC7U |
|
/** Command not documented */ |
|
#define OTM8009A_MCS_NO_DOC2 0xCFD0U |
|
/** GVDD/NGVDD */ |
|
#define OTM8009A_MCS_GVDDSET 0xD800U |
|
/** VCOM Voltage Setting */ |
|
#define OTM8009A_MCS_VCOMDC 0xD900U |
|
/** Gamma Correction 2.2+ Setting */ |
|
#define OTM8009A_MCS_GMCT2_2P 0xE100U |
|
/** Gamma Correction 2.2- Setting */ |
|
#define OTM8009A_MCS_GMCT2_2N 0xE200U |
|
/** Command not documented */ |
|
#define OTM8009A_MCS_NO_DOC3 0xF5B6U |
|
/** Enable Access Command2 "CMD2" */ |
|
#define OTM8009A_MCS_CMD2_ENA1 0xFF00U |
|
/** Enable Access Orise Command2 */ |
|
#define OTM8009A_MCS_CMD2_ENA2 0xFF80U |
|
|
|
/** @} */ |
|
|
|
#endif /* ZEPHYR_DRIVERS_DISPLAY_DISPLAY_OTM8009A_H_ */
|
|
|