13d0407baSopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */
23d0407baSopenharmony_ci/*
33d0407baSopenharmony_cidrivers/video/rockchip/transmitter/mipi_dsi.h
43d0407baSopenharmony_ci*/
53d0407baSopenharmony_ci#ifndef MIPI_DSI_H_
63d0407baSopenharmony_ci#define MIPI_DSI_H_
73d0407baSopenharmony_ci
83d0407baSopenharmony_ci#ifdef CONFIG_MIPI_DSI_FT
93d0407baSopenharmony_ci#include "..\..\common\config.h"
103d0407baSopenharmony_ci#endif
113d0407baSopenharmony_ci
123d0407baSopenharmony_ci//DSI DATA TYPE
133d0407baSopenharmony_ci#define DTYPE_DCS_SWRITE_0P		0x05
143d0407baSopenharmony_ci#define DTYPE_DCS_SWRITE_1P		0x15
153d0407baSopenharmony_ci#define DTYPE_DCS_LWRITE		0x39
163d0407baSopenharmony_ci#define DTYPE_GEN_LWRITE		0x29
173d0407baSopenharmony_ci#define DTYPE_GEN_SWRITE_2P		0x23
183d0407baSopenharmony_ci#define DTYPE_GEN_SWRITE_1P		0x13
193d0407baSopenharmony_ci#define DTYPE_GEN_SWRITE_0P		0x03
203d0407baSopenharmony_ci
213d0407baSopenharmony_ci//command transmit mode
223d0407baSopenharmony_ci#define HSDT			0x00
233d0407baSopenharmony_ci#define LPDT			0x01
243d0407baSopenharmony_ci
253d0407baSopenharmony_ci//DSI DATA TYPE FLAG
263d0407baSopenharmony_ci#define DATA_TYPE_DCS			0x00
273d0407baSopenharmony_ci#define DATA_TYPE_GEN			0x01
283d0407baSopenharmony_ci
293d0407baSopenharmony_ci//Video Mode
303d0407baSopenharmony_ci#define VM_NBMWSP		0x00  //Non burst mode with sync pulses
313d0407baSopenharmony_ci#define VM_NBMWSE		0x01  //Non burst mode with sync events
323d0407baSopenharmony_ci#define VM_BM			0x02  //Burst mode
333d0407baSopenharmony_ci
343d0407baSopenharmony_ci//Video Pixel Format
353d0407baSopenharmony_ci#define VPF_16BPP		0x00
363d0407baSopenharmony_ci#define VPF_18BPP		0x01	 //packed
373d0407baSopenharmony_ci#define VPF_18BPPL		0x02     //loosely packed
383d0407baSopenharmony_ci#define VPF_24BPP		0x03
393d0407baSopenharmony_ci
403d0407baSopenharmony_ci//Display Command Set
413d0407baSopenharmony_ci#define dcs_enter_idle_mode 		0x39
423d0407baSopenharmony_ci#define dcs_enter_invert_mode 		0x21
433d0407baSopenharmony_ci#define dcs_enter_normal_mode 		0x13
443d0407baSopenharmony_ci#define dcs_enter_partial_mode  	0x12
453d0407baSopenharmony_ci#define dcs_enter_sleep_mode  		0x10
463d0407baSopenharmony_ci#define dcs_exit_idle_mode  		0x38
473d0407baSopenharmony_ci#define dcs_exit_invert_mode  		0x20
483d0407baSopenharmony_ci#define dcs_exit_sleep_mode  		0x11
493d0407baSopenharmony_ci#define dcs_get_address_mode  		0x0b
503d0407baSopenharmony_ci#define dcs_get_blue_channel  		0x08
513d0407baSopenharmony_ci#define dcs_get_diagnostic_result  	0x0f
523d0407baSopenharmony_ci#define dcs_get_display_mode  		0x0d
533d0407baSopenharmony_ci#define dcs_get_green_channel  		0x07
543d0407baSopenharmony_ci#define dcs_get_pixel_format  		0x0c
553d0407baSopenharmony_ci#define dcs_get_power_mode  		0x0a
563d0407baSopenharmony_ci#define dcs_get_red_channel 		0x06
573d0407baSopenharmony_ci#define dcs_get_scanline 	 		0x45
583d0407baSopenharmony_ci#define dcs_get_signal_mode  		0x0e
593d0407baSopenharmony_ci#define dcs_nop				 		0x00
603d0407baSopenharmony_ci#define dcs_read_DDB_continue  		0xa8
613d0407baSopenharmony_ci#define dcs_read_DDB_start  		0xa1
623d0407baSopenharmony_ci#define dcs_read_memory_continue  	0x3e
633d0407baSopenharmony_ci#define dcs_read_memory_start  		0x2e
643d0407baSopenharmony_ci#define dcs_set_address_mode  		0x36
653d0407baSopenharmony_ci#define dcs_set_column_address  	0x2a
663d0407baSopenharmony_ci#define dcs_set_display_off  		0x28
673d0407baSopenharmony_ci#define dcs_set_display_on  		0x29
683d0407baSopenharmony_ci#define dcs_set_gamma_curve  		0x26
693d0407baSopenharmony_ci#define dcs_set_page_address  		0x2b
703d0407baSopenharmony_ci#define dcs_set_partial_area  		0x30
713d0407baSopenharmony_ci#define dcs_set_pixel_format  		0x3a
723d0407baSopenharmony_ci#define dcs_set_scroll_area  		0x33
733d0407baSopenharmony_ci#define dcs_set_scroll_start  		0x37
743d0407baSopenharmony_ci#define dcs_set_tear_off 	 		0x34
753d0407baSopenharmony_ci#define dcs_set_tear_on 	 		0x35
763d0407baSopenharmony_ci#define dcs_set_tear_scanline  		0x44
773d0407baSopenharmony_ci#define dcs_soft_reset 		 		0x01
783d0407baSopenharmony_ci#define dcs_write_LUT 		 		0x2d
793d0407baSopenharmony_ci#define dcs_write_memory_continue  	0x3c
803d0407baSopenharmony_ci#define dcs_write_memory_start 		0x2c
813d0407baSopenharmony_ci
823d0407baSopenharmony_ci#ifndef MHz
833d0407baSopenharmony_ci#define MHz   1000000
843d0407baSopenharmony_ci#endif
853d0407baSopenharmony_ci
863d0407baSopenharmony_ci
873d0407baSopenharmony_ci#if 0
883d0407baSopenharmony_citypedef signed char s8;
893d0407baSopenharmony_citypedef unsigned char u8;
903d0407baSopenharmony_ci
913d0407baSopenharmony_citypedef signed short s16;
923d0407baSopenharmony_citypedef unsigned short u16;
933d0407baSopenharmony_ci
943d0407baSopenharmony_citypedef signed int s32;
953d0407baSopenharmony_citypedef unsigned int u32;
963d0407baSopenharmony_ci
973d0407baSopenharmony_citypedef signed long s64;
983d0407baSopenharmony_citypedef unsigned long u64;
993d0407baSopenharmony_ci#endif
1003d0407baSopenharmony_ci
1013d0407baSopenharmony_ci
1023d0407baSopenharmony_ci//iomux
1033d0407baSopenharmony_ci#define OLD_RK_IOMUX 0
1043d0407baSopenharmony_ci
1053d0407baSopenharmony_ci
1063d0407baSopenharmony_ci#endif /* end of MIPI_DSI_H_ */
107