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.
253 lines
9.0 KiB
253 lines
9.0 KiB
/* |
|
* Copyright (C) 2016 MediaTek Inc. |
|
* |
|
* This program is free software; you can redistribute it and/or modify |
|
* it under the terms of the GNU General Public License version 2 as |
|
* published by the Free Software Foundation. |
|
* |
|
* This program is distributed in the hope that it will be useful, |
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
|
* See http://www.gnu.org/licenses/gpl-2.0.html for more details. |
|
*/ |
|
|
|
#include "lcm_define.h" |
|
|
|
&odm { |
|
/* LCM standardization */ |
|
lcm_params { |
|
compatible = "mediatek,lcm_params-hx8392a_vdo_cmd"; |
|
|
|
lcm_params-types = <2 0 0 0>; |
|
/* type, ctrl, lcm_if, lcm_cmd_if */ |
|
lcm_params-resolution = <720 1280>; |
|
/* width, height */ |
|
lcm_params-io_select_mode; |
|
|
|
lcm_params-dbi-port; |
|
lcm_params-dbi-clock_freq; |
|
lcm_params-dbi-data_width; |
|
lcm_params-dbi-data_format = <0 0 0 0 0>; |
|
/* color_order, trans_seq, padding, format, width */ |
|
lcm_params-dbi-cpu_write_bits; |
|
lcm_params-dbi-io_driving_current; |
|
lcm_params-dbi-msb_io_driving_current; |
|
lcm_params-dbi-ctrl_io_driving_current; |
|
|
|
lcm_params-dbi-te_mode = <1>; |
|
lcm_params-dbi-te_edge_polarity = <0>; |
|
lcm_params-dbi-te_hs_delay_cnt; |
|
lcm_params-dbi-te_vs_width_cnt; |
|
lcm_params-dbi-te_vs_width_cnt_div; |
|
|
|
lcm_params-dbi-serial-params0 = <0 0 0 0 0 0>; |
|
/* cs_polarity, clk_polarity, clk_phase, is_non_dbi_mode, clock_base, clock_div */ |
|
lcm_params-dbi-serial-params1 = <0 0 0 0 0 0>; |
|
/* css, csh, rd_1st, rd_2nd, wr_1st, wr_2nd */ |
|
lcm_params-dbi-serial-params2 = <0 0 0 0 0 0>; |
|
/* sif_1st_pol, sif_sck_def, sif_3wire, sif_sdi sif_div2, sif_hw_cs */ |
|
lcm_params-dbi-parallel-params0 = <0 0 0 0>; |
|
/* write_setup, write_hold, write_wait, read_setup */ |
|
lcm_params-dbi-parallel-params1 = <0 0 0 0>; |
|
/* read_hold, read_latency, wait_period, cs_high_width */ |
|
|
|
lcm_params-dpi-mipi_pll_clk_ref; |
|
lcm_params-dpi-mipi_pll_clk_div1; |
|
lcm_params-dpi-mipi_pll_clk_div2; |
|
lcm_params-dpi-mipi_pll_clk_fbk_div; |
|
|
|
lcm_params-dpi-dpi_clk_div; |
|
lcm_params-dpi-dpi_clk_duty; |
|
lcm_params-dpi-PLL_CLOCK; |
|
lcm_params-dpi-dpi_clock; |
|
lcm_params-dpi-ssc_disable; |
|
lcm_params-dpi-ssc_range; |
|
|
|
lcm_params-dpi-width; |
|
lcm_params-dpi-height; |
|
lcm_params-dpi-bg_width; |
|
lcm_params-dpi-bg_height; |
|
|
|
lcm_params-dpi-clk_pol; |
|
lcm_params-dpi-de_pol; |
|
lcm_params-dpi-vsync_pol; |
|
lcm_params-dpi-hsync_pol; |
|
lcm_params-dpi-hsync_pulse_width; |
|
lcm_params-dpi-hsync_back_porch; |
|
lcm_params-dpi-hsync_front_porch; |
|
lcm_params-dpi-vsync_pulse_width; |
|
lcm_params-dpi-vsync_back_porch; |
|
lcm_params-dpi-vsync_front_porch; |
|
|
|
lcm_params-dpi-format; |
|
lcm_params-dpi-rgb_order; |
|
lcm_params-dpi-is_serial_output; |
|
lcm_params-dpi-i2x_en; |
|
lcm_params-dpi-i2x_edge; |
|
lcm_params-dpi-embsync; |
|
lcm_params-dpi-lvds_tx_en; |
|
lcm_params-dpi-bit_swap; |
|
lcm_params-dpi-intermediat_buffer_num; |
|
lcm_params-dpi-io_driving_current; |
|
lcm_params-dpi-lsb_io_driving_current; |
|
|
|
lcm_params-dsi-mode = <1>; |
|
lcm_params-dsi-switch_mode = <1>; |
|
lcm_params-dsi-DSI_WMEM_CONTI; |
|
lcm_params-dsi-DSI_RMEM_CONTI; |
|
lcm_params-dsi-VC_NUM; |
|
lcm_params-dsi-lane_num = <4>; |
|
lcm_params-dsi-data_format = <0 0 0 2>; |
|
/* color_order, trans_seq, padding, format */ |
|
lcm_params-dsi-intermediat_buffer_num; |
|
lcm_params-dsi-ps = <2>; |
|
lcm_params-dsi-word_count; |
|
lcm_params-dsi-packet_size = <256>; |
|
|
|
lcm_params-dsi-vertical_sync_active = <2>; |
|
lcm_params-dsi-vertical_backporch = <6>; |
|
lcm_params-dsi-vertical_frontporch = <17>; |
|
lcm_params-dsi-vertical_frontporch_for_low_power; |
|
lcm_params-dsi-vertical_active_line = <1280>; |
|
lcm_params-dsi-horizontal_sync_active = <50>; |
|
lcm_params-dsi-horizontal_backporch = <50>; |
|
lcm_params-dsi-horizontal_frontporch = <50>; |
|
lcm_params-dsi-horizontal_blanking_pixel; |
|
lcm_params-dsi-horizontal_active_pixel = <720>; |
|
lcm_params-dsi-horizontal_bllp; |
|
lcm_params-dsi-line_byte; |
|
lcm_params-dsi-horizontal_sync_active_byte; |
|
lcm_params-dsi-horizontal_backportch_byte; |
|
lcm_params-dsi-horizontal_frontporch_byte; |
|
lcm_params-dsi-rgb_byte; |
|
lcm_params-dsi-horizontal_sync_active_word_count; |
|
lcm_params-dsi-horizontal_backporch_word_count; |
|
lcm_params-dsi-horizontal_frontporch_word_count; |
|
|
|
lcm_params-dsi-HS_TRAIL; |
|
lcm_params-dsi-ZERO; |
|
lcm_params-dsi-HS_PRPR; |
|
lcm_params-dsi-LPX; |
|
lcm_params-dsi-TA_SACK; |
|
lcm_params-dsi-TA_GET; |
|
lcm_params-dsi-TA_SURE; |
|
lcm_params-dsi-TA_GO; |
|
lcm_params-dsi-CLK_TRAIL; |
|
lcm_params-dsi-CLK_ZERO; |
|
lcm_params-dsi-LPX_WAIT; |
|
lcm_params-dsi-CONT_DET; |
|
lcm_params-dsi-CLK_HS_PRPR; |
|
lcm_params-dsi-CLK_HS_POST; |
|
lcm_params-dsi-DA_HS_EXIT; |
|
lcm_params-dsi-CLK_HS_EXIT; |
|
|
|
lcm_params-dsi-pll_select; |
|
lcm_params-dsi-pll_div1; |
|
lcm_params-dsi-pll_div2; |
|
lcm_params-dsi-fbk_div; |
|
lcm_params-dsi-fbk_sel; |
|
lcm_params-dsi-rg_bir; |
|
lcm_params-dsi-rg_bic; |
|
lcm_params-dsi-rg_bp; |
|
lcm_params-dsi-pll_clock = <218>; |
|
lcm_params-dsi-dsi_clock; |
|
lcm_params-dsi-ssc_disable; |
|
lcm_params-dsi-ssc_range; |
|
lcm_params-dsi-compatibility_for_nvk; |
|
lcm_params-dsi-cont_clock = <1>; |
|
|
|
lcm_params-dsi-ufoe_enable; |
|
lcm_params-dsi-ufoe_params = <0 0 0 0>; |
|
/* compress_ratio, lr_mode_en, vlc_disable, vlc_config */ |
|
lcm_params-dsi-edp_panel; |
|
|
|
lcm_params-dsi-customization_esd_check_enable = <0>; |
|
lcm_params-dsi-esd_check_enable = <1>; |
|
|
|
lcm_params-dsi-lcm_int_te_monitor; |
|
lcm_params-dsi-lcm_int_te_period; |
|
lcm_params-dsi-lcm_ext_te_monitor; |
|
lcm_params-dsi-lcm_ext_te_enable; |
|
|
|
lcm_params-dsi-noncont_clock; |
|
lcm_params-dsi-noncont_clock_period; |
|
lcm_params-dsi-clk_lp_per_line_enable = <0>; |
|
|
|
lcm_params-dsi-lcm_esd_check_table0 = <0x53 0x01 0x24 0x0>; |
|
/* cmd, count, para_list[0], para_list[1] */ |
|
lcm_params-dsi-lcm_esd_check_table1; |
|
lcm_params-dsi-lcm_esd_check_table2; |
|
|
|
lcm_params-dsi-switch_mode_enable; |
|
lcm_params-dsi-dual_dsi_type; |
|
lcm_params-dsi-lane_swap_en; |
|
lcm_params-dsi-lane_swap0 = <0 0 0 0 0 0>; |
|
/* lane_swap[0][0~5] */ |
|
lcm_params-dsi-lane_swap1 = <0 0 0 0 0 0>; |
|
/* lane_swap[1][0~5] */ |
|
lcm_params-dsi-vertical_vfp_lp; |
|
lcm_params-physical_width = <59>; |
|
lcm_params-physical_height = <104>; |
|
lcm_params-physical_width_um = <59500>; |
|
lcm_params-physical_height_um = <104700>; |
|
lcm_params-od_table_size; |
|
lcm_params-od_table; |
|
}; |
|
|
|
lcm_ops { |
|
compatible = "mediatek,lcm_ops-hx8392a_vdo_cmd"; |
|
|
|
init = <LCM_FUNC_UTIL LCM_UTIL_RESET 1 LCM_UTIL_RESET_HIGH>, |
|
<LCM_FUNC_UTIL LCM_UTIL_RESET 1 LCM_UTIL_RESET_LOW>, |
|
<LCM_FUNC_UTIL LCM_UTIL_MDELAY 1 10>, |
|
<LCM_FUNC_UTIL LCM_UTIL_RESET 1 LCM_UTIL_RESET_HIGH>, |
|
<LCM_FUNC_UTIL LCM_UTIL_MDELAY 1 20>, |
|
<LCM_FUNC_CMD LCM_UTIL_WRITE_CMD_V2 2 0x11 0>, |
|
<LCM_FUNC_UTIL LCM_UTIL_MDELAY 1 120>, |
|
<LCM_FUNC_CMD LCM_UTIL_WRITE_CMD_V2 5 0xB9 3 0xFF 0x83 0x92>, |
|
<LCM_FUNC_UTIL LCM_UTIL_MDELAY 1 10>, |
|
<LCM_FUNC_CMD LCM_UTIL_WRITE_CMD_V2 19 0xBA 17 0x13 0x83 0x00 0xD6>, |
|
<0xC5 0x10 0x09 0xFF 0x0F 0x27 0x03 0x21 0x27 0x25 0x20 0x00 0x10>, |
|
<LCM_FUNC_CMD LCM_UTIL_WRITE_CMD_V2 15 0xB1 13 0x7C 0x00 0x43 0xBB>, |
|
<0x00 0x1A 0x1A 0x2F 0x36 0x3F 0x3F 0x42 0x7A>, |
|
<LCM_FUNC_CMD LCM_UTIL_WRITE_CMD_V2 14 0xB2 12 0x08 0xC8 0x06 0x06>, |
|
<0x04 0x84 0x00 0xFF 0x06 0x06 0x04 0x20>, |
|
<LCM_FUNC_CMD LCM_UTIL_WRITE_CMD_V2 25 0xB4 23 0x00 0x00 0x05 0x0A>, |
|
<0x8F 0x06 0x0A 0x95 0x01 0x07 0x06 0x0C 0x02 0x08 0x08 0x21 0x04>, |
|
<0x02 0x08 0x01 0x04 0x1A 0x95>, |
|
<LCM_FUNC_CMD LCM_UTIL_WRITE_CMD_V2 3 0x35 1 0x00>, |
|
<LCM_FUNC_CMD LCM_UTIL_WRITE_CMD_V2 6 0xBF 4 0x05 0x60 0x02 0x00>, |
|
<LCM_FUNC_CMD LCM_UTIL_WRITE_CMD_V2 3 0xB6 1 0x6A>, |
|
<LCM_FUNC_CMD LCM_UTIL_WRITE_CMD_V2 3 0x36 1 0x08>, |
|
<LCM_FUNC_CMD LCM_UTIL_WRITE_CMD_V2 4 0xC0 2 0x03 0x94>, |
|
<LCM_FUNC_CMD LCM_UTIL_WRITE_CMD_V2 3 0xC2 1 0x03>, |
|
<LCM_FUNC_CMD LCM_UTIL_WRITE_CMD_V2 6 0xC6 4 0x35 0x08 0x20 0x04>, |
|
<LCM_FUNC_CMD LCM_UTIL_WRITE_CMD_V2 3 0xCC 1 0x09>, |
|
<LCM_FUNC_CMD LCM_UTIL_WRITE_CMD_V2 3 0xD4 1 0x00>, |
|
<LCM_FUNC_CMD LCM_UTIL_WRITE_CMD_V2 25 0xD5 23 0x00 0x01 0x04 0x00>, |
|
<0x01 0x67 0x89 0xAB 0x45 0xCC 0xCC 0xCC 0x00 0x10 0x54 0xBA 0x98>, |
|
<0x76 0xCC 0xCC 0xCC 0x00 0x00>, |
|
<LCM_FUNC_CMD LCM_UTIL_WRITE_CMD_V2 25 0xD8 23 0x00 0x00 0x05 0x00>, |
|
<0x9A 0x00 0x02 0x95 0x01 0x07 0x06 0x00 0x08 0x08 0x00 0x1D 0x08>, |
|
<0x08 0x08 0x00 0x00 0x00 0x77>, |
|
<LCM_FUNC_CMD LCM_UTIL_WRITE_CMD_V2 36 0xE0 34 0x00 0x12 0x19 0x33>, |
|
<0x36 0x3F 0x28 0x47 0x06 0x0C 0x0E 0x12 0x14 0x12 0x14 0x12 0x1A>, |
|
<0x00 0x12 0x19 0x33 0x36 0x3F 0x28 0x47 0x06 0x0C 0x0E 0x12 0x14>, |
|
<0x12 0x14 0x12 0x1A>, |
|
<LCM_FUNC_CMD LCM_UTIL_WRITE_CMD_V2 36 0xE1 34 0x00 0x12 0x19 0x33>, |
|
<0x36 0x3F 0x28 0x47 0x06 0x0C 0x0E 0x12 0x14 0x12 0x14 0x12 0x1A>, |
|
<0x00 0x12 0x19 0x33 0x36 0x3F 0x28 0x47 0x06 0x0C 0x0E 0x12 0x14>, |
|
<0x12 0x14 0x12 0x1A>, |
|
<LCM_FUNC_CMD LCM_UTIL_WRITE_CMD_V2 36 0xE2 34 0x00 0x12 0x19 0x33>, |
|
<0x36 0x3F 0x28 0x47 0x06 0x0C 0x0E 0x12 0x14 0x12 0x14 0x12 0x1A>, |
|
<0x00 0x12 0x19 0x33 0x36 0x3F 0x28 0x47 0x06 0x0C 0x0E 0x12 0x14>, |
|
<0x12 0x14 0x12 0x1A>, |
|
<LCM_FUNC_CMD LCM_UTIL_WRITE_CMD_V2 3 0x3A 1 0x77>, |
|
<LCM_FUNC_CMD LCM_UTIL_WRITE_CMD_V2 2 0x29 0>; |
|
|
|
suspend = <LCM_FUNC_CMD LCM_UTIL_WRITE_CMD_V2 2 0x10 0>, |
|
<LCM_FUNC_UTIL LCM_UTIL_MDELAY 1 120>; |
|
}; |
|
/* LCM standardization end */ |
|
}; |
|
|
|
|