Merge "aboot: mdtp: Add support for MDTP eFuse on msm8937" into lk.lnx.1.0-dev.1.0
diff --git a/AndroidBoot.mk b/AndroidBoot.mk
index 713863b..33f6e91 100644
--- a/AndroidBoot.mk
+++ b/AndroidBoot.mk
@@ -39,6 +39,12 @@
BOOTLOADER_PLATFORM := msm8660_surf
endif
+ifeq ($(TARGET_BOOTLOADER_BOARD_NAME),)
+ BOARD_NAME := BOARD_NAME=$(PRODUCT_NAME)
+else
+ BOARD_NAME := BOARD_NAME=$(TARGET_BOOTLOADER_BOARD_NAME)
+endif
+
ABOOT_OUT := $(TARGET_OUT_INTERMEDIATES)/ABOOT_OBJ
$(ABOOT_OUT):
$(hide) mkdir -p $(ABOOT_OUT)
@@ -49,7 +55,7 @@
# ELF binary for ABOOT
TARGET_ABOOT_ELF := $(PRODUCT_OUT)/aboot.elf
$(TARGET_ABOOT_ELF): ABOOT_CLEAN | $(ABOOT_OUT)
- $(MAKE) -C bootable/bootloader/lk TOOLCHAIN_PREFIX=$(CROSS_COMPILE) BOOTLOADER_OUT=../../../$(ABOOT_OUT) $(BOOTLOADER_PLATFORM) $(EMMC_BOOT) $(SIGNED_KERNEL) $(VERIFIED_BOOT) $(DEVICE_STATUS) $(BUILD_VARIANT)
+ $(MAKE) -C bootable/bootloader/lk TOOLCHAIN_PREFIX=$(CROSS_COMPILE) BOOTLOADER_OUT=../../../$(ABOOT_OUT) $(BOOTLOADER_PLATFORM) $(EMMC_BOOT) $(SIGNED_KERNEL) $(VERIFIED_BOOT) $(DEVICE_STATUS) $(BUILD_VARIANT) $(BOARD_NAME)
# NAND variant output
TARGET_NAND_BOOTLOADER := $(PRODUCT_OUT)/appsboot.mbn
@@ -74,11 +80,11 @@
# Top level for NAND variant targets
$(TARGET_NAND_BOOTLOADER): appsbootldr_clean | $(NAND_BOOTLOADER_OUT)
- $(MAKE) -C bootable/bootloader/lk TOOLCHAIN_PREFIX=$(CROSS_COMPILE) BOOTLOADER_OUT=../../../$(NAND_BOOTLOADER_OUT) $(BOOTLOADER_PLATFORM) $(SIGNED_KERNEL)
+ $(MAKE) -C bootable/bootloader/lk TOOLCHAIN_PREFIX=$(CROSS_COMPILE) BOOTLOADER_OUT=../../../$(NAND_BOOTLOADER_OUT) $(BOOTLOADER_PLATFORM) $(SIGNED_KERNEL) $(BOARD_NAME)
# Top level for eMMC variant targets
$(TARGET_EMMC_BOOTLOADER): emmc_appsbootldr_clean | $(EMMC_BOOTLOADER_OUT) $(INSTALLED_KEYSTOREIMAGE_TARGET)
- $(MAKE) -C bootable/bootloader/lk TOOLCHAIN_PREFIX=$(CROSS_COMPILE) BOOTLOADER_OUT=../../../$(EMMC_BOOTLOADER_OUT) $(BOOTLOADER_PLATFORM) EMMC_BOOT=1 $(SIGNED_KERNEL) $(VERIFIED_BOOT) $(DEVICE_STATUS) $(BUILD_VARIANT)
+ $(MAKE) -C bootable/bootloader/lk TOOLCHAIN_PREFIX=$(CROSS_COMPILE) BOOTLOADER_OUT=../../../$(EMMC_BOOTLOADER_OUT) $(BOOTLOADER_PLATFORM) EMMC_BOOT=1 $(SIGNED_KERNEL) $(VERIFIED_BOOT) $(DEVICE_STATUS) $(BUILD_VARIANT) $(BOARD_NAME)
# Keep build NAND & eMMC as default for targets still using TARGET_BOOTLOADER
TARGET_BOOTLOADER := $(PRODUCT_OUT)/EMMCBOOT.MBN
diff --git a/dev/gcdb/display/include/panel_hx8394f_720p_video.h b/dev/gcdb/display/include/panel_hx8394f_720p_video.h
old mode 100755
new mode 100644
index c2fc441..a3819b7
--- a/dev/gcdb/display/include/panel_hx8394f_720p_video.h
+++ b/dev/gcdb/display/include/panel_hx8394f_720p_video.h
@@ -38,7 +38,7 @@
/*---------------------------------------------------------------------------*/
static struct panel_config hx8394f_720p_video_panel_data = {
"qcom,mdss_dsi_hx8394f_720p_video", "dsi:0:", "qcom,mdss-dsi-panel",
- 10, 0, "DISPLAY_1", 0, 0, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+ 10, 0, "DISPLAY_1", 0, 0, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL
};
/*---------------------------------------------------------------------------*/
diff --git a/dev/gcdb/display/include/panel_r69006_1080p_cmd.h b/dev/gcdb/display/include/panel_r69006_1080p_cmd.h
index 21bf993..4fb01a2 100755
--- a/dev/gcdb/display/include/panel_r69006_1080p_cmd.h
+++ b/dev/gcdb/display/include/panel_r69006_1080p_cmd.h
@@ -66,35 +66,35 @@
/* Panel on/off command information */
/*---------------------------------------------------------------------------*/
static char r69006_1080p_cmd_on_cmd0[] = {
- 0XB0, 0x00, 0x23, 0x80
+ 0xB0, 0x00, 0x23, 0x80
};
static char r69006_1080p_cmd_on_cmd1[] = {
0x06, 0x00, 0x29, 0xC0,
- 0XB3, 0x04, 0x10, 0x00,
+ 0xB3, 0x04, 0x10, 0x00,
0x00, 0x00, 0xFF, 0xFF,
};
static char r69006_1080p_cmd_on_cmd2[] = {
0x03, 0x00, 0x29, 0xC0,
- 0XB4, 0x0c, 0x00, 0xFF,
+ 0xB4, 0x0C, 0x00, 0xFF,
};
static char r69006_1080p_cmd_on_cmd3[] = {
0x04, 0x00, 0x29, 0xC0,
- 0XB6, 0x3b, 0xc3, 0x00,
+ 0xB6, 0x3B, 0xD3, 0x00,
};
static char r69006_1080p_cmd_on_cmd4[] = {
- 0XC0, 0x00, 0x23, 0x80
+ 0xC0, 0x00, 0x23, 0x80
};
static char r69006_1080p_cmd_on_cmd5[] = {
- 0X36, 0x98, 0x15, 0x80
+ 0x36, 0x98, 0x15, 0x80
};
static char r69006_1080p_cmd_on_cmd6[] = {
- 0XCC, 0x04, 0x23, 0x80
+ 0xCC, 0x04, 0x23, 0x80
};
static char r69006_1080p_cmd_on_cmd7[] = {
@@ -125,13 +125,13 @@
static char r69006_1080p_cmd_on_cmd10[] = {
0x07, 0x00, 0x29, 0xC0,
- 0XC3, 0x55, 0x01, 0x00,
+ 0xC3, 0x55, 0x01, 0x00,
0x01, 0x00, 0x00, 0xFF,
};
static char r69006_1080p_cmd_on_cmd11[] = {
0x12, 0x00, 0x29, 0xC0,
- 0XC4, 0x70, 0x00, 0x00,
+ 0xC4, 0x70, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x02, 0x01,
0x00, 0x05, 0x01, 0x00,
@@ -140,31 +140,31 @@
static char r69006_1080p_cmd_on_cmd12[] = {
0x0F, 0x00, 0x29, 0xC0,
- 0xC6, 0x59, 0x07, 0x4a,
- 0x07, 0x4a, 0x01, 0x0E,
+ 0xC6, 0x57, 0x07, 0x4A,
+ 0x07, 0x4A, 0x01, 0x0E,
0x01, 0x02, 0x01, 0x02,
0x09, 0x15, 0x07, 0xFF,
};
static char r69006_1080p_cmd_on_cmd13[] = {
0x1F, 0x00, 0x29, 0xC0,
- 0XC7, 0x00, 0x30, 0x32,
- 0x34, 0x42, 0x4E, 0x56,
- 0x62, 0x44, 0x4A, 0x54,
- 0x62, 0x6B, 0x73, 0x7F,
- 0x08, 0x30, 0x32, 0x34,
- 0x42, 0x4E, 0x56, 0x62,
- 0x44, 0x4A, 0x54, 0x62,
- 0x6B, 0x73, 0x7F, 0xFF,
+ 0xC7, 0x00, 0x13, 0x1E,
+ 0x2A, 0x3A, 0x47, 0x50,
+ 0x5D, 0x40, 0x48, 0x52,
+ 0x5F, 0x67, 0x6F, 0x7A,
+ 0x00, 0x13, 0x1E, 0x2A,
+ 0x3A, 0x47, 0x50, 0x5D,
+ 0x40, 0x48, 0x52, 0x5F,
+ 0x67, 0x6F, 0x7A, 0xFF,
};
static char r69006_1080p_cmd_on_cmd14[] = {
0x14, 0x00, 0x29, 0xC0,
- 0xC8, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0xFC, 0x00,
- 0x00, 0x00, 0x00, 0x00,
- 0xFC, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0xFC, 0x00,
+ 0xC8, 0x00, 0x00, 0xFE,
+ 0x01, 0x08, 0xE7, 0x00,
+ 0x00, 0xFD, 0x02, 0x03,
+ 0xA8, 0x00, 0x00, 0xFC,
+ 0xE7, 0xE9, 0xC9, 0x00,
};
static char r69006_1080p_cmd_on_cmd15[] = {
@@ -188,7 +188,7 @@
0xD3, 0x1B, 0x3B, 0xBB,
0xAD, 0xA5, 0x33, 0x33,
0x33, 0x00, 0x80, 0xAD,
- 0xA8, 0x6f, 0x6f, 0x33,
+ 0xA8, 0x5B, 0x5B, 0x33,
0x33, 0x33, 0xF7, 0xF2,
0x1F, 0x7D, 0x7C, 0xFF,
0x0F, 0x99, 0x00, 0xFF,
@@ -202,23 +202,75 @@
static char r69006_1080p_cmd_on_cmd19[] = {
0x0C, 0x00, 0x29, 0xC0,
- 0XD5, 0x66, 0x00, 0x00,
- 0x01, 0x27, 0x01, 0x27,
- 0x00, 0x6D, 0x00, 0x6D,
+ 0xD5, 0x66, 0x00, 0x00,
+ 0x01, 0x33, 0x01, 0x33,
+ 0x00, 0x43, 0x00, 0x43,
};
static char r69006_1080p_cmd_on_cmd20[] = {
- 0xD6, 0x81, 0x23, 0x80
+ 0x02, 0x00, 0x29, 0xC0,
+ 0xBE, 0x04, 0xFF, 0xFF,
};
static char r69006_1080p_cmd_on_cmd21[] = {
- 0x11, 0x00, 0x05, 0x80
+ 0x11, 0x00, 0x29, 0xC0,
+ 0xCF, 0x40, 0x10, 0x00,
+ 0x00, 0x00, 0x00, 0x32,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0xFF, 0xFF, 0xFF,
};
static char r69006_1080p_cmd_on_cmd22[] = {
+ 0x06, 0x00, 0x29, 0xC0,
+ 0xDE, 0x00, 0x00, 0x3F,
+ 0xFF, 0x10, 0xFF, 0xFF,
+};
+
+static char r69006_1080p_cmd_on_cmd23[] = {
+ 0x02, 0x00, 0x29, 0xC0,
+ 0xE9, 0x00, 0xFF, 0xFF,
+};
+
+static char r69006_1080p_cmd_on_cmd24[] = {
+ 0x02, 0x00, 0x29, 0xC0,
+ 0xF2, 0x00, 0xFF, 0xFF,
+};
+
+static char r69006_1080p_cmd_on_cmd25[] = {
+ 0xD6, 0x01, 0x23, 0x80
+};
+
+static char r69006_1080p_cmd_on_cmd26[] = {
+ 0x02, 0x00, 0x39, 0xC0,
+ 0x35, 0x00, 0xFF, 0xFF,
+};
+
+static char r69006_1080p_cmd_on_cmd27[] = {
+ 0x02, 0x00, 0x39, 0xC0,
+ 0x51, 0xff, 0xFF, 0xFF,
+};
+
+static char r69006_1080p_cmd_on_cmd28[] = {
+ 0x02, 0x00, 0x39, 0xC0,
+ 0x53, 0x2c, 0xFF, 0xFF,
+};
+
+static char r69006_1080p_cmd_on_cmd29[] = {
+ 0x02, 0x00, 0x39, 0xC0,
+ 0x55, 0x00, 0xFF, 0xFF,
+};
+
+
+static char r69006_1080p_cmd_on_cmd30[] = {
0x29, 0x00, 0x05, 0x80
};
+static char r69006_1080p_cmd_on_cmd31[] = {
+ 0x11, 0x00, 0x05, 0x80
+};
+
+
static struct mipi_dsi_cmd r69006_1080p_cmd_on_command[] = {
{0x4, r69006_1080p_cmd_on_cmd0, 0x00},
{0xc, r69006_1080p_cmd_on_cmd1, 0x00},
@@ -240,12 +292,21 @@
{0x24, r69006_1080p_cmd_on_cmd17, 0x00},
{0x8, r69006_1080p_cmd_on_cmd18, 0x00},
{0x10, r69006_1080p_cmd_on_cmd19, 0x00},
- {0x4, r69006_1080p_cmd_on_cmd20, 0x00},
- {0x4, r69006_1080p_cmd_on_cmd21, 0x78},
- {0x4, r69006_1080p_cmd_on_cmd22, 0x78}
+ {0x8, r69006_1080p_cmd_on_cmd20, 0x00},
+ {0x18, r69006_1080p_cmd_on_cmd21, 0x00},
+ {0xc, r69006_1080p_cmd_on_cmd22, 0x00},
+ {0x8, r69006_1080p_cmd_on_cmd23, 0x00},
+ {0x8, r69006_1080p_cmd_on_cmd24, 0x00},
+ {0x4, r69006_1080p_cmd_on_cmd25, 0x00},
+ {0x8, r69006_1080p_cmd_on_cmd26, 0x00},
+ {0x8, r69006_1080p_cmd_on_cmd27, 0x00},
+ {0x8, r69006_1080p_cmd_on_cmd28, 0x00},
+ {0x8, r69006_1080p_cmd_on_cmd29, 0x14},
+ {0x4, r69006_1080p_cmd_on_cmd30, 0x14},
+ {0x4, r69006_1080p_cmd_on_cmd31, 0x78}
};
-#define R69006_1080P_CMD_ON_COMMAND 23
+#define R69006_1080P_CMD_ON_COMMAND 32
static char r69006_1080p_cmdoff_cmd0[] = {
@@ -293,7 +354,7 @@
/* Panel timing */
/*---------------------------------------------------------------------------*/
static const uint32_t r69006_1080p_cmd_timings[] = {
- 0x7d, 0x25, 0x1d, 0x00, 0x37, 0x33, 0x22, 0x27, 0x1e, 0x03, 0x04, 0x00
+ 0x6E, 0x3F, 0x36, 0x00, 0x5A, 0x4F, 0x38, 0x41, 0x54, 0x03, 0x04, 0x00
};
static struct panel_timing r69006_1080p_cmd_timing_info = {
@@ -314,6 +375,13 @@
1, 1, 4095, 100, 1, "PMIC_8941"
};
+static struct labibb_desc r69006_1080p_cmd_labibb = {
+ 0, 1, 5700000, 5700000, 5700000, 5700000, 3, 3, 1
+};
+
+
+#define R69006_1080P_CMD_PANEL_ON_DELAY 32
+
#define R69006_1080P_CMD_SIGNATURE 0xFFFF
#endif /*_PANEL_R69006_1080P_CMD_H_*/
diff --git a/dev/gcdb/display/include/panel_r69006_1080p_video.h b/dev/gcdb/display/include/panel_r69006_1080p_video.h
index e9c5d26..aaf679c 100755
--- a/dev/gcdb/display/include/panel_r69006_1080p_video.h
+++ b/dev/gcdb/display/include/panel_r69006_1080p_video.h
@@ -300,6 +300,10 @@
0, 4, 0x20, 0x2c
};
+static struct labibb_desc r69006_1080p_video_labibb = {
+ 0, 1, 5700000, 5700000, 5700000, 5700000, 3, 3, 1
+};
+
/*---------------------------------------------------------------------------*/
/* Panel reset sequence */
/*---------------------------------------------------------------------------*/
diff --git a/dev/gcdb/display/include/panel_truly_720p_video.h b/dev/gcdb/display/include/panel_truly_720p_video.h
new file mode 100644
index 0000000..66fb45e
--- /dev/null
+++ b/dev/gcdb/display/include/panel_truly_720p_video.h
@@ -0,0 +1,1049 @@
+/* Copyright (c) 2015, The Linux Foundation. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ * * Neither the name of The Linux Foundation nor the names of its
+ * contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+ * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#ifndef _PANEL_TRULY_720P_VIDEO_H_
+
+#define _PANEL_TRULY_720P_VIDEO_H_
+/*---------------------------------------------------------------------------*/
+/* HEADER files */
+/*---------------------------------------------------------------------------*/
+#include "panel.h"
+
+/*---------------------------------------------------------------------------*/
+/* Panel configuration */
+/*---------------------------------------------------------------------------*/
+
+static struct panel_config truly_720p_video_panel_data = {
+ "qcom,mdss_dsi_truly_720p_video", "dsi:0:", "qcom,mdss-dsi-panel",
+ 10, 0, "DISPLAY_1", 0, 0, 60, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, NULL
+};
+
+/*---------------------------------------------------------------------------*/
+/* Panel resolution */
+/*---------------------------------------------------------------------------*/
+static struct panel_resolution truly_720p_video_panel_res = {
+ 720, 1280, 100, 100, 6, 0, 32, 32, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0
+};
+
+/*---------------------------------------------------------------------------*/
+/* Panel Color Information */
+/*---------------------------------------------------------------------------*/
+static struct color_info truly_720p_video_color = {
+ 24, 0, 0xff, 0, 0, 0
+};
+
+/*---------------------------------------------------------------------------*/
+/* Panel Command information */
+/*---------------------------------------------------------------------------*/
+static char truly_720p_video_on_cmd0[] = {
+0x06, 0x00, 0x29, 0xc0,
+0xf0, 0x55, 0xaa, 0x52,
+0x08, 0x00, 0xff, 0xff, };
+
+static char truly_720p_video_on_cmd1[] = {
+0x03, 0x00, 0x29, 0xc0,
+0xb1, 0x78, 0x21, 0xff, };
+
+static char truly_720p_video_on_cmd2[] = {
+0xb6, 0x0f, 0x23, 0x80, };
+
+static char truly_720p_video_on_cmd3[] = {
+0x03, 0x00, 0x29, 0xc0,
+0xbc, 0x00, 0x00, 0xff, };
+
+static char truly_720p_video_on_cmd4[] = {
+0x06, 0x00, 0x29, 0xc0,
+0xbd, 0x02, 0xb0, 0x1e,
+0x1e, 0x00, 0xff, 0xff, };
+
+static char truly_720p_video_on_cmd5[] = {
+0x0b, 0x00, 0x29, 0xc0,
+0xe7, 0xf2, 0xe6, 0xd8,
+0xcc, 0xbf, 0xb2, 0xa5,
+0x99, 0x99, 0x95, 0xff, };
+
+static char truly_720p_video_on_cmd6[] = {
+0x0b, 0x00, 0x29, 0xc0,
+0xe8, 0xf2, 0xe6, 0xd8,
+0xcc, 0xbf, 0xb2, 0xa5,
+0x99, 0x99, 0x95, 0xff, };
+
+static char truly_720p_video_on_cmd7[] = {
+0x06, 0x00, 0x29, 0xc0,
+0xf0, 0x55, 0xaa, 0x52,
+0x08, 0x01, 0xff, 0xff, };
+
+static char truly_720p_video_on_cmd8[] = {
+0x03, 0x00, 0x29, 0xc0,
+0xbc, 0xa0, 0x00, 0xff, };
+
+static char truly_720p_video_on_cmd9[] = {
+0x03, 0x00, 0x29, 0xc0,
+0xbd, 0xa0, 0x00, 0xff, };
+
+static char truly_720p_video_on_cmd10[] = {
+0xca, 0x01, 0x23, 0x80, };
+
+static char truly_720p_video_on_cmd11[] = {
+0xc0, 0x0c, 0x23, 0x80, };
+
+static char truly_720p_video_on_cmd12[] = {
+0xbe, 0x4e, 0x23, 0x80, };
+
+static char truly_720p_video_on_cmd13[] = {
+0x03, 0x00, 0x29, 0xc0,
+0xb3, 0x38, 0x38, 0xff, };
+
+static char truly_720p_video_on_cmd14[] = {
+0x03, 0x00, 0x29, 0xc0,
+0xb4, 0x11, 0x11, 0xff, };
+
+static char truly_720p_video_on_cmd15[] = {
+0x03, 0x00, 0x29, 0xc0,
+0xb6, 0x05, 0x05, 0xff, };
+
+static char truly_720p_video_on_cmd16[] = {
+0x03, 0x00, 0x29, 0xc0,
+0xb9, 0x45, 0x45, 0xff, };
+
+static char truly_720p_video_on_cmd17[] = {
+0x03, 0x00, 0x29, 0xc0,
+0xba, 0x25, 0x25, 0xff, };
+
+static char truly_720p_video_on_cmd18[] = {
+0x03, 0x00, 0x29, 0xc0,
+0xc4, 0x11, 0x11, 0xff, };
+
+static char truly_720p_video_on_cmd19[] = {
+0xc6, 0x66, 0x23, 0x80, };
+
+static char truly_720p_video_on_cmd20[] = {
+0x06, 0x00, 0x29, 0xc0,
+0xf0, 0x55, 0xaa, 0x52,
+0x08, 0x02, 0xff, 0xff, };
+
+static char truly_720p_video_on_cmd21[] = {
+0xee, 0x00, 0x23, 0x80, };
+
+static char truly_720p_video_on_cmd22[] = {
+0x11, 0x00, 0x29, 0xc0,
+0xb0, 0x00, 0x37, 0x00,
+0x48, 0x00, 0x69, 0x00,
+0x8a, 0x00, 0xab, 0x00,
+0xcb, 0x00, 0xeb, 0x01,
+0x1c, 0xff, 0xff, 0xff, };
+
+static char truly_720p_video_on_cmd23[] = {
+0x11, 0x00, 0x29, 0xc0,
+0xb1, 0x01, 0x41, 0x01,
+0x7c, 0x01, 0xaa, 0x01,
+0xf3, 0x02, 0x2d, 0x02,
+0x2e, 0x02, 0x63, 0x02,
+0x9d, 0xff, 0xff, 0xff, };
+
+static char truly_720p_video_on_cmd24[] = {
+0x11, 0x00, 0x29, 0xc0,
+0xb2, 0x02, 0xc3, 0x02,
+0xf6, 0x03, 0x19, 0x03,
+0x54, 0x03, 0x85, 0x03,
+0xb2, 0x03, 0xc1, 0x03,
+0xd1, 0xff, 0xff, 0xff, };
+
+static char truly_720p_video_on_cmd25[] = {
+0x05, 0x00, 0x29, 0xc0,
+0xb3, 0x03, 0xe0, 0x03,
+0xe8, 0xff, 0xff, 0xff, };
+
+static char truly_720p_video_on_cmd26[] = {
+0x11, 0x00, 0x29, 0xc0,
+0xbc, 0x00, 0x37, 0x00,
+0x48, 0x00, 0x69, 0x00,
+0x8a, 0x00, 0xab, 0x00,
+0xcb, 0x00, 0xeb, 0x01,
+0x1c, 0xff, 0xff, 0xff, };
+
+static char truly_720p_video_on_cmd27[] = {
+0x11, 0x00, 0x29, 0xc0,
+0xbd, 0x01, 0x41, 0x01,
+0x7c, 0x01, 0xaa, 0x01,
+0xf3, 0x02, 0x2d, 0x02,
+0x2e, 0x02, 0x63, 0x02,
+0x9d, 0xff, 0xff, 0xff, };
+
+static char truly_720p_video_on_cmd28[] = {
+0x11, 0x00, 0x29, 0xc0,
+0xbe, 0x02, 0xc3, 0x02,
+0xf6, 0x03, 0x19, 0x03,
+0x54, 0x03, 0x85, 0x03,
+0xb2, 0x03, 0xc1, 0x03,
+0xd1, 0xff, 0xff, 0xff, };
+
+static char truly_720p_video_on_cmd29[] = {
+0x05, 0x00, 0x29, 0xc0,
+0xbf, 0x03, 0xe0, 0x03,
+0xe8, 0xff, 0xff, 0xff, };
+
+static char truly_720p_video_on_cmd30[] = {
+0x11, 0x00, 0x29, 0xc0,
+0xb4, 0x00, 0xd1, 0x00,
+0xd7, 0x00, 0xe4, 0x00,
+0xf1, 0x00, 0xfe, 0x01,
+0x12, 0x01, 0x26, 0x01,
+0x48, 0xff, 0xff, 0xff, };
+
+static char truly_720p_video_on_cmd31[] = {
+0x11, 0x00, 0x29, 0xc0,
+0xb5, 0x01, 0x64, 0x01,
+0x95, 0x01, 0xbd, 0x02,
+0x01, 0x02, 0x36, 0x02,
+0x38, 0x02, 0x6c, 0x02,
+0xa7, 0xff, 0xff, 0xff, };
+
+static char truly_720p_video_on_cmd32[] = {
+0x11, 0x00, 0x29, 0xc0,
+0xb6, 0x02, 0xce, 0x03,
+0x04, 0x03, 0x2b, 0x03,
+0x5b, 0x03, 0x89, 0x03,
+0xb2, 0x03, 0xc1, 0x03,
+0xd1, 0xff, 0xff, 0xff, };
+
+static char truly_720p_video_on_cmd33[] = {
+0x05, 0x00, 0x29, 0xc0,
+0xb7, 0x03, 0xe0, 0x03,
+0xe8, 0xff, 0xff, 0xff, };
+
+static char truly_720p_video_on_cmd34[] = {
+0x11, 0x00, 0x29, 0xc0,
+0xc0, 0x00, 0xd1, 0x00,
+0xd7, 0x00, 0xe4, 0x00,
+0xf1, 0x00, 0xfe, 0x01,
+0x12, 0x01, 0x26, 0x01,
+0x48, 0xff, 0xff, 0xff, };
+
+static char truly_720p_video_on_cmd35[] = {
+0x11, 0x00, 0x29, 0xc0,
+0xc1, 0x01, 0x64, 0x01,
+0x95, 0x01, 0xbd, 0x02,
+0x01, 0x02, 0x36, 0x02,
+0x38, 0x02, 0x6c, 0x02,
+0xa7, 0xff, 0xff, 0xff, };
+
+static char truly_720p_video_on_cmd36[] = {
+0x11, 0x00, 0x29, 0xc0,
+0xc2, 0x02, 0xce, 0x03,
+0x04, 0x03, 0x2b, 0x03,
+0x5b, 0x03, 0x89, 0x03,
+0xb2, 0x03, 0xc1, 0x03,
+0xd1, 0xff, 0xff, 0xff, };
+
+static char truly_720p_video_on_cmd37[] = {
+0x05, 0x00, 0x29, 0xc0,
+0xc3, 0x03, 0xe0, 0x03,
+0xe8, 0xff, 0xff, 0xff, };
+
+static char truly_720p_video_on_cmd38[] = {
+0x11, 0x00, 0x29, 0xc0,
+0xb8, 0x00, 0x37, 0x00,
+0x45, 0x00, 0x61, 0x00,
+0x7d, 0x00, 0x9a, 0x00,
+0xbb, 0x00, 0xdc, 0x01,
+0x0b, 0xff, 0xff, 0xff, };
+
+static char truly_720p_video_on_cmd39[] = {
+0x11, 0x00, 0x29, 0xc0,
+0xb9, 0x01, 0x31, 0x01,
+0x6e, 0x01, 0x9e, 0x01,
+0xea, 0x02, 0x24, 0x02,
+0x25, 0x02, 0x58, 0x02,
+0x90, 0xff, 0xff, 0xff, };
+
+static char truly_720p_video_on_cmd40[] = {
+0x11, 0x00, 0x29, 0xc0,
+0xba, 0x02, 0xb4, 0x02,
+0xe4, 0x03, 0x04, 0x03,
+0x44, 0x03, 0x7f, 0x03,
+0xb2, 0x03, 0xc1, 0x03,
+0xd1, 0xff, 0xff, 0xff, };
+
+static char truly_720p_video_on_cmd41[] = {
+0x05, 0x00, 0x29, 0xc0,
+0xbb, 0x03, 0xe0, 0x03,
+0xe8, 0xff, 0xff, 0xff, };
+
+static char truly_720p_video_on_cmd42[] = {
+0x11, 0x00, 0x29, 0xc0,
+0xc4, 0x00, 0x37, 0x00,
+0x45, 0x00, 0x61, 0x00,
+0x7d, 0x00, 0x9a, 0x00,
+0xbb, 0x00, 0xdc, 0x01,
+0x0b, 0xff, 0xff, 0xff, };
+
+static char truly_720p_video_on_cmd43[] = {
+0x11, 0x00, 0x29, 0xc0,
+0xc5, 0x01, 0x31, 0x01,
+0x6e, 0x01, 0x9e, 0x01,
+0xea, 0x02, 0x24, 0x02,
+0x25, 0x02, 0x58, 0x02,
+0x90, 0xff, 0xff, 0xff, };
+
+static char truly_720p_video_on_cmd44[] = {
+0x11, 0x00, 0x29, 0xc0,
+0xc6, 0x02, 0xb4, 0x02,
+0xe4, 0x03, 0x04, 0x03,
+0x44, 0x03, 0x7f, 0x03,
+0xb2, 0x03, 0xc1, 0x03,
+0xd1, 0xff, 0xff, 0xff, };
+
+static char truly_720p_video_on_cmd45[] = {
+0x05, 0x00, 0x29, 0xc0,
+0xc7, 0x03, 0xe0, 0x03,
+0xe8, 0xff, 0xff, 0xff, };
+
+static char truly_720p_video_on_cmd46[] = {
+0x06, 0x00, 0x29, 0xc0,
+0xf0, 0x55, 0xaa, 0x52,
+0x08, 0x06, 0xff, 0xff, };
+
+static char truly_720p_video_on_cmd47[] = {
+0x03, 0x00, 0x29, 0xc0,
+0xb0, 0x29, 0x2a, 0xff, };
+
+static char truly_720p_video_on_cmd48[] = {
+0x03, 0x00, 0x29, 0xc0,
+0xb1, 0x10, 0x12, 0xff, };
+
+static char truly_720p_video_on_cmd49[] = {
+0x03, 0x00, 0x29, 0xc0,
+0xb2, 0x14, 0x16, 0xff, };
+
+static char truly_720p_video_on_cmd50[] = {
+0x03, 0x00, 0x29, 0xc0,
+0xb3, 0x18, 0x1a, 0xff, };
+
+static char truly_720p_video_on_cmd51[] = {
+0x03, 0x00, 0x29, 0xc0,
+0xb4, 0x02, 0x04, 0xff, };
+
+static char truly_720p_video_on_cmd52[] = {
+0x03, 0x00, 0x29, 0xc0,
+0xb5, 0x34, 0x34, 0xff, };
+
+static char truly_720p_video_on_cmd53[] = {
+0x03, 0x00, 0x29, 0xc0,
+0xb6, 0x34, 0x2e, 0xff, };
+
+static char truly_720p_video_on_cmd54[] = {
+0x03, 0x00, 0x29, 0xc0,
+0xb7, 0x2e, 0x2e, 0xff, };
+
+static char truly_720p_video_on_cmd55[] = {
+0x03, 0x00, 0x29, 0xc0,
+0xb8, 0x34, 0x00, 0xff, };
+
+static char truly_720p_video_on_cmd56[] = {
+0x03, 0x00, 0x29, 0xc0,
+0xb9, 0x34, 0x34, 0xff, };
+
+static char truly_720p_video_on_cmd57[] = {
+0x03, 0x00, 0x29, 0xc0,
+0xba, 0x34, 0x34, 0xff, };
+
+static char truly_720p_video_on_cmd58[] = {
+0x03, 0x00, 0x29, 0xc0,
+0xbb, 0x01, 0x34, 0xff, };
+
+static char truly_720p_video_on_cmd59[] = {
+0x03, 0x00, 0x29, 0xc0,
+0xbc, 0x2e, 0x2e, 0xff, };
+
+static char truly_720p_video_on_cmd60[] = {
+0x03, 0x00, 0x29, 0xc0,
+0xbd, 0x2e, 0x34, 0xff, };
+
+static char truly_720p_video_on_cmd61[] = {
+0x03, 0x00, 0x29, 0xc0,
+0xbe, 0x34, 0x34, 0xff, };
+
+static char truly_720p_video_on_cmd62[] = {
+0x03, 0x00, 0x29, 0xc0,
+0xbf, 0x05, 0x03, 0xff, };
+
+static char truly_720p_video_on_cmd63[] = {
+0x03, 0x00, 0x29, 0xc0,
+0xc0, 0x1b, 0x19, 0xff, };
+
+static char truly_720p_video_on_cmd64[] = {
+0x03, 0x00, 0x29, 0xc0,
+0xc1, 0x17, 0x15, 0xff, };
+
+static char truly_720p_video_on_cmd65[] = {
+0x03, 0x00, 0x29, 0xc0,
+0xc2, 0x13, 0x11, 0xff, };
+
+static char truly_720p_video_on_cmd66[] = {
+0x03, 0x00, 0x29, 0xc0,
+0xc3, 0x2a, 0x29, 0xff, };
+
+static char truly_720p_video_on_cmd67[] = {
+0x03, 0x00, 0x29, 0xc0,
+0xe5, 0x2e, 0x2e, 0xff, };
+
+static char truly_720p_video_on_cmd68[] = {
+0x03, 0x00, 0x29, 0xc0,
+0xc4, 0x29, 0x2a, 0xff, };
+
+static char truly_720p_video_on_cmd69[] = {
+0x03, 0x00, 0x29, 0xc0,
+0xc5, 0x1b, 0x19, 0xff, };
+
+static char truly_720p_video_on_cmd70[] = {
+0x03, 0x00, 0x29, 0xc0,
+0xc6, 0x17, 0x15, 0xff, };
+
+static char truly_720p_video_on_cmd71[] = {
+0x03, 0x00, 0x29, 0xc0,
+0xc7, 0x13, 0x11, 0xff, };
+
+static char truly_720p_video_on_cmd72[] = {
+0x03, 0x00, 0x29, 0xc0,
+0xc8, 0x01, 0x05, 0xff, };
+
+static char truly_720p_video_on_cmd73[] = {
+0x03, 0x00, 0x29, 0xc0,
+0xc9, 0x34, 0x34, 0xff, };
+
+static char truly_720p_video_on_cmd74[] = {
+0x03, 0x00, 0x29, 0xc0,
+0xca, 0x34, 0x2e, 0xff, };
+
+static char truly_720p_video_on_cmd75[] = {
+0x03, 0x00, 0x29, 0xc0,
+0xcb, 0x2e, 0x2e, 0xff, };
+
+static char truly_720p_video_on_cmd76[] = {
+0x03, 0x00, 0x29, 0xc0,
+0xcc, 0x34, 0x03, 0xff, };
+
+static char truly_720p_video_on_cmd77[] = {
+0x03, 0x00, 0x29, 0xc0,
+0xcd, 0x34, 0x34, 0xff, };
+
+static char truly_720p_video_on_cmd78[] = {
+0x03, 0x00, 0x29, 0xc0,
+0xce, 0x34, 0x34, 0xff, };
+
+static char truly_720p_video_on_cmd79[] = {
+0x03, 0x00, 0x29, 0xc0,
+0xcf, 0x02, 0x34, 0xff, };
+
+static char truly_720p_video_on_cmd80[] = {
+0x03, 0x00, 0x29, 0xc0,
+0xd0, 0x2e, 0x2e, 0xff, };
+
+static char truly_720p_video_on_cmd81[] = {
+0x03, 0x00, 0x29, 0xc0,
+0xd1, 0x2e, 0x34, 0xff, };
+
+static char truly_720p_video_on_cmd82[] = {
+0x03, 0x00, 0x29, 0xc0,
+0xd2, 0x34, 0x34, 0xff, };
+
+static char truly_720p_video_on_cmd83[] = {
+0x03, 0x00, 0x29, 0xc0,
+0xd3, 0x04, 0x00, 0xff, };
+
+static char truly_720p_video_on_cmd84[] = {
+0x03, 0x00, 0x29, 0xc0,
+0xd4, 0x10, 0x12, 0xff, };
+
+static char truly_720p_video_on_cmd85[] = {
+0x03, 0x00, 0x29, 0xc0,
+0xd5, 0x14, 0x16, 0xff, };
+
+static char truly_720p_video_on_cmd86[] = {
+0x03, 0x00, 0x29, 0xc0,
+0xd6, 0x18, 0x1a, 0xff, };
+
+static char truly_720p_video_on_cmd87[] = {
+0x03, 0x00, 0x29, 0xc0,
+0xd7, 0x2a, 0x29, 0xff, };
+
+static char truly_720p_video_on_cmd88[] = {
+0x03, 0x00, 0x29, 0xc0,
+0xe6, 0x2e, 0x2e, 0xff, };
+
+static char truly_720p_video_on_cmd89[] = {
+0x06, 0x00, 0x29, 0xc0,
+0xd8, 0x00, 0x00, 0x00,
+0x54, 0x00, 0xff, 0xff, };
+
+static char truly_720p_video_on_cmd90[] = {
+0x06, 0x00, 0x29, 0xc0,
+0xd9, 0x00, 0x15, 0x00,
+0x00, 0x00, 0xff, 0xff, };
+
+static char truly_720p_video_on_cmd91[] = {
+0xe7, 0x00, 0x23, 0x80, };
+
+static char truly_720p_video_on_cmd92[] = {
+0x06, 0x00, 0x29, 0xc0,
+0xf0, 0x55, 0xaa, 0x52,
+0x08, 0x03, 0xff, 0xff, };
+
+static char truly_720p_video_on_cmd93[] = {
+0x03, 0x00, 0x29, 0xc0,
+0xb1, 0x00, 0x00, 0xff, };
+
+static char truly_720p_video_on_cmd94[] = {
+0x03, 0x00, 0x29, 0xc0,
+0xb0, 0x00, 0x00, 0xff, };
+
+static char truly_720p_video_on_cmd95[] = {
+0x06, 0x00, 0x29, 0xc0,
+0xb2, 0x05, 0x00, 0x00,
+0x00, 0x00, 0xff, 0xff, };
+
+static char truly_720p_video_on_cmd96[] = {
+0x06, 0x00, 0x29, 0xc0,
+0xb3, 0x05, 0x00, 0x00,
+0x00, 0x00, 0xff, 0xff, };
+
+static char truly_720p_video_on_cmd97[] = {
+0x06, 0x00, 0x29, 0xc0,
+0xb4, 0x05, 0x00, 0x00,
+0x00, 0x00, 0xff, 0xff, };
+
+static char truly_720p_video_on_cmd98[] = {
+0x06, 0x00, 0x29, 0xc0,
+0xb5, 0x05, 0x00, 0x17,
+0x00, 0x00, 0xff, 0xff, };
+
+static char truly_720p_video_on_cmd99[] = {
+0x06, 0x00, 0x29, 0xc0,
+0xb6, 0x12, 0x00, 0x19,
+0x00, 0x00, 0xff, 0xff, };
+
+static char truly_720p_video_on_cmd100[] = {
+0x06, 0x00, 0x29, 0xc0,
+0xb7, 0x12, 0x00, 0x19,
+0x00, 0x00, 0xff, 0xff, };
+
+static char truly_720p_video_on_cmd101[] = {
+0x06, 0x00, 0x29, 0xc0,
+0xb8, 0x12, 0x00, 0x19,
+0x00, 0x00, 0xff, 0xff, };
+
+static char truly_720p_video_on_cmd102[] = {
+0x06, 0x00, 0x29, 0xc0,
+0xb9, 0x12, 0x00, 0x19,
+0x00, 0x00, 0xff, 0xff, };
+
+static char truly_720p_video_on_cmd103[] = {
+0x06, 0x00, 0x29, 0xc0,
+0xba, 0x57, 0x00, 0x00,
+0x00, 0x00, 0xff, 0xff, };
+
+static char truly_720p_video_on_cmd104[] = {
+0x06, 0x00, 0x29, 0xc0,
+0xbb, 0x57, 0x00, 0x00,
+0x00, 0x00, 0xff, 0xff, };
+
+static char truly_720p_video_on_cmd105[] = {
+0x06, 0x00, 0x29, 0xc0,
+0xbc, 0x75, 0x00, 0x1a,
+0x00, 0x00, 0xff, 0xff, };
+
+static char truly_720p_video_on_cmd106[] = {
+0x06, 0x00, 0x29, 0xc0,
+0xbd, 0x53, 0x00, 0x1a,
+0x00, 0x00, 0xff, 0xff, };
+
+static char truly_720p_video_on_cmd107[] = {
+0x05, 0x00, 0x29, 0xc0,
+0xc0, 0x00, 0x34, 0x00,
+0x00, 0xff, 0xff, 0xff, };
+
+static char truly_720p_video_on_cmd108[] = {
+0x05, 0x00, 0x29, 0xc0,
+0xc1, 0x00, 0x34, 0x00,
+0x00, 0xff, 0xff, 0xff, };
+
+static char truly_720p_video_on_cmd109[] = {
+0x05, 0x00, 0x29, 0xc0,
+0xc2, 0x00, 0x34, 0x00,
+0x00, 0xff, 0xff, 0xff, };
+
+static char truly_720p_video_on_cmd110[] = {
+0x05, 0x00, 0x29, 0xc0,
+0xc3, 0x00, 0x34, 0x00,
+0x00, 0xff, 0xff, 0xff, };
+
+static char truly_720p_video_on_cmd111[] = {
+0xc4, 0x20, 0x23, 0x80, };
+
+static char truly_720p_video_on_cmd112[] = {
+0xc5, 0x00, 0x23, 0x80, };
+
+static char truly_720p_video_on_cmd113[] = {
+0xc6, 0x00, 0x23, 0x80, };
+
+static char truly_720p_video_on_cmd114[] = {
+0xc7, 0x00, 0x23, 0x80, };
+
+static char truly_720p_video_on_cmd115[] = {
+0x06, 0x00, 0x29, 0xc0,
+0xf0, 0x55, 0xaa, 0x52,
+0x08, 0x05, 0xff, 0xff, };
+
+static char truly_720p_video_on_cmd116[] = {
+0xed, 0x30, 0x23, 0x80, };
+
+static char truly_720p_video_on_cmd117[] = {
+0x03, 0x00, 0x29, 0xc0,
+0xb0, 0x17, 0x06, 0xff, };
+
+static char truly_720p_video_on_cmd118[] = {
+0xb8, 0x08, 0x23, 0x80, };
+
+static char truly_720p_video_on_cmd119[] = {
+0x06, 0x00, 0x29, 0xc0,
+0xbd, 0x03, 0x07, 0x00,
+0x03, 0x00, 0xff, 0xff, };
+
+static char truly_720p_video_on_cmd120[] = {
+0x03, 0x00, 0x29, 0xc0,
+0xb1, 0x17, 0x06, 0xff, };
+
+static char truly_720p_video_on_cmd121[] = {
+0xb9, 0x00, 0x23, 0x80, };
+
+static char truly_720p_video_on_cmd122[] = {
+0x03, 0x00, 0x29, 0xc0,
+0xb2, 0x00, 0x00, 0xff, };
+
+static char truly_720p_video_on_cmd123[] = {
+0xba, 0x00, 0x23, 0x80, };
+
+static char truly_720p_video_on_cmd124[] = {
+0x03, 0x00, 0x29, 0xc0,
+0xb3, 0x17, 0x06, 0xff, };
+
+static char truly_720p_video_on_cmd125[] = {
+0xbb, 0x0a, 0x23, 0x80, };
+
+static char truly_720p_video_on_cmd126[] = {
+0x03, 0x00, 0x29, 0xc0,
+0xb4, 0x17, 0x06, 0xff, };
+
+static char truly_720p_video_on_cmd127[] = {
+0x03, 0x00, 0x29, 0xc0,
+0xb5, 0x17, 0x06, 0xff, };
+
+static char truly_720p_video_on_cmd128[] = {
+0x03, 0x00, 0x29, 0xc0,
+0xb6, 0x14, 0x03, 0xff, };
+
+static char truly_720p_video_on_cmd129[] = {
+0x03, 0x00, 0x29, 0xc0,
+0xb7, 0x00, 0x00, 0xff, };
+
+static char truly_720p_video_on_cmd130[] = {
+0xbc, 0x02, 0x23, 0x80, };
+
+static char truly_720p_video_on_cmd131[] = {
+0xe5, 0x06, 0x23, 0x80, };
+
+static char truly_720p_video_on_cmd132[] = {
+0xe6, 0x06, 0x23, 0x80, };
+
+static char truly_720p_video_on_cmd133[] = {
+0xe7, 0x00, 0x23, 0x80, };
+
+static char truly_720p_video_on_cmd134[] = {
+0xe8, 0x06, 0x23, 0x80, };
+
+static char truly_720p_video_on_cmd135[] = {
+0xe9, 0x06, 0x23, 0x80, };
+
+static char truly_720p_video_on_cmd136[] = {
+0xea, 0x06, 0x23, 0x80, };
+
+static char truly_720p_video_on_cmd137[] = {
+0xeb, 0x00, 0x23, 0x80, };
+
+static char truly_720p_video_on_cmd138[] = {
+0xec, 0x00, 0x23, 0x80, };
+
+static char truly_720p_video_on_cmd139[] = {
+0xc0, 0x07, 0x23, 0x80, };
+
+static char truly_720p_video_on_cmd140[] = {
+0xc1, 0x80, 0x23, 0x80, };
+
+static char truly_720p_video_on_cmd141[] = {
+0xc2, 0xa4, 0x23, 0x80, };
+
+static char truly_720p_video_on_cmd142[] = {
+0xc3, 0x05, 0x23, 0x80, };
+
+static char truly_720p_video_on_cmd143[] = {
+0xc4, 0x00, 0x23, 0x80, };
+
+static char truly_720p_video_on_cmd144[] = {
+0xc5, 0x02, 0x23, 0x80, };
+
+static char truly_720p_video_on_cmd145[] = {
+0xc6, 0x22, 0x23, 0x80, };
+
+static char truly_720p_video_on_cmd146[] = {
+0xc7, 0x03, 0x23, 0x80, };
+
+static char truly_720p_video_on_cmd147[] = {
+0x03, 0x00, 0x29, 0xc0,
+0xc8, 0x05, 0x30, 0xff, };
+
+static char truly_720p_video_on_cmd148[] = {
+0x03, 0x00, 0x29, 0xc0,
+0xc9, 0x01, 0x31, 0xff, };
+
+static char truly_720p_video_on_cmd149[] = {
+0x03, 0x00, 0x29, 0xc0,
+0xca, 0x03, 0x21, 0xff, };
+
+static char truly_720p_video_on_cmd150[] = {
+0x03, 0x00, 0x29, 0xc0,
+0xcb, 0x01, 0x20, 0xff, };
+
+static char truly_720p_video_on_cmd151[] = {
+0x06, 0x00, 0x29, 0xc0,
+0xd1, 0x00, 0x05, 0x09,
+0x07, 0x10, 0xff, 0xff, };
+
+static char truly_720p_video_on_cmd152[] = {
+0x06, 0x00, 0x29, 0xc0,
+0xd2, 0x10, 0x05, 0x0e,
+0x03, 0x10, 0xff, 0xff, };
+
+static char truly_720p_video_on_cmd153[] = {
+0x06, 0x00, 0x29, 0xc0,
+0xd3, 0x20, 0x00, 0x48,
+0x07, 0x10, 0xff, 0xff, };
+
+static char truly_720p_video_on_cmd154[] = {
+0x06, 0x00, 0x29, 0xc0,
+0xd4, 0x30, 0x00, 0x43,
+0x07, 0x10, 0xff, 0xff, };
+
+static char truly_720p_video_on_cmd155[] = {
+0xd0, 0x00, 0x23, 0x80, };
+
+static char truly_720p_video_on_cmd156[] = {
+0x04, 0x00, 0x29, 0xc0,
+0xcc, 0x00, 0x00, 0x3e, };
+
+static char truly_720p_video_on_cmd157[] = {
+0x04, 0x00, 0x29, 0xc0,
+0xcd, 0x00, 0x00, 0x3e, };
+
+static char truly_720p_video_on_cmd158[] = {
+0x04, 0x00, 0x29, 0xc0,
+0xce, 0x00, 0x00, 0x02, };
+
+static char truly_720p_video_on_cmd159[] = {
+0x04, 0x00, 0x29, 0xc0,
+0xcf, 0x00, 0x00, 0x02, };
+
+static char truly_720p_video_on_cmd160[] = {
+0x6f, 0x11, 0x23, 0x80, };
+
+static char truly_720p_video_on_cmd161[] = {
+0xf3, 0x01, 0x23, 0x80, };
+
+static char truly_720p_video_on_cmd162[] = {
+0x51, 0xff, 0x15, 0x80, };
+
+static char truly_720p_video_on_cmd163[] = {
+0x53, 0x2c, 0x15, 0x80, };
+
+static char truly_720p_video_on_cmd164[] = {
+0x55, 0x03, 0x15, 0x80, };
+
+static char truly_720p_video_on_cmd165[] = {
+0x35, 0x00, 0x15, 0x80, };
+
+static char truly_720p_video_on_cmd166[] = {
+0x11, 0x00, 0x05, 0x80, };
+
+static char truly_720p_video_on_cmd167[] = {
+0x29, 0x00, 0x05, 0x80, };
+
+
+static struct mipi_dsi_cmd truly_720p_video_on_command[] = {
+{ 0xc , truly_720p_video_on_cmd0, 0x00},
+{ 0x8 , truly_720p_video_on_cmd1, 0x00},
+{ 0x4 , truly_720p_video_on_cmd2, 0x00},
+{ 0x8 , truly_720p_video_on_cmd3, 0x00},
+{ 0xc , truly_720p_video_on_cmd4, 0x00},
+{ 0x10 , truly_720p_video_on_cmd5, 0x00},
+{ 0x10 , truly_720p_video_on_cmd6, 0x00},
+{ 0xc , truly_720p_video_on_cmd7, 0x00},
+{ 0x8 , truly_720p_video_on_cmd8, 0x00},
+{ 0x8 , truly_720p_video_on_cmd9, 0x00},
+{ 0x4 , truly_720p_video_on_cmd10, 0x00},
+{ 0x4 , truly_720p_video_on_cmd11, 0x00},
+{ 0x4 , truly_720p_video_on_cmd12, 0x00},
+{ 0x8 , truly_720p_video_on_cmd13, 0x00},
+{ 0x8 , truly_720p_video_on_cmd14, 0x00},
+{ 0x8 , truly_720p_video_on_cmd15, 0x00},
+{ 0x8 , truly_720p_video_on_cmd16, 0x00},
+{ 0x8 , truly_720p_video_on_cmd17, 0x00},
+{ 0x8 , truly_720p_video_on_cmd18, 0x00},
+{ 0x4 , truly_720p_video_on_cmd19, 0x00},
+{ 0xc , truly_720p_video_on_cmd20, 0x00},
+{ 0x4 , truly_720p_video_on_cmd21, 0x00},
+{ 0x18 , truly_720p_video_on_cmd22, 0x00},
+{ 0x18 , truly_720p_video_on_cmd23, 0x00},
+{ 0x18 , truly_720p_video_on_cmd24, 0x00},
+{ 0xc , truly_720p_video_on_cmd25, 0x00},
+{ 0x18 , truly_720p_video_on_cmd26, 0x00},
+{ 0x18 , truly_720p_video_on_cmd27, 0x00},
+{ 0x18 , truly_720p_video_on_cmd28, 0x00},
+{ 0xc , truly_720p_video_on_cmd29, 0x00},
+{ 0x18 , truly_720p_video_on_cmd30, 0x00},
+{ 0x18 , truly_720p_video_on_cmd31, 0x00},
+{ 0x18 , truly_720p_video_on_cmd32, 0x00},
+{ 0xc , truly_720p_video_on_cmd33, 0x00},
+{ 0x18 , truly_720p_video_on_cmd34, 0x00},
+{ 0x18 , truly_720p_video_on_cmd35, 0x00},
+{ 0x18 , truly_720p_video_on_cmd36, 0x00},
+{ 0xc , truly_720p_video_on_cmd37, 0x00},
+{ 0x18 , truly_720p_video_on_cmd38, 0x00},
+{ 0x18 , truly_720p_video_on_cmd39, 0x00},
+{ 0x18 , truly_720p_video_on_cmd40, 0x00},
+{ 0xc , truly_720p_video_on_cmd41, 0x00},
+{ 0x18 , truly_720p_video_on_cmd42, 0x00},
+{ 0x18 , truly_720p_video_on_cmd43, 0x00},
+{ 0x18 , truly_720p_video_on_cmd44, 0x00},
+{ 0xc , truly_720p_video_on_cmd45, 0x00},
+{ 0xc , truly_720p_video_on_cmd46, 0x00},
+{ 0x8 , truly_720p_video_on_cmd47, 0x00},
+{ 0x8 , truly_720p_video_on_cmd48, 0x00},
+{ 0x8 , truly_720p_video_on_cmd49, 0x00},
+{ 0x8 , truly_720p_video_on_cmd50, 0x00},
+{ 0x8 , truly_720p_video_on_cmd51, 0x00},
+{ 0x8 , truly_720p_video_on_cmd52, 0x00},
+{ 0x8 , truly_720p_video_on_cmd53, 0x00},
+{ 0x8 , truly_720p_video_on_cmd54, 0x00},
+{ 0x8 , truly_720p_video_on_cmd55, 0x00},
+{ 0x8 , truly_720p_video_on_cmd56, 0x00},
+{ 0x8 , truly_720p_video_on_cmd57, 0x00},
+{ 0x8 , truly_720p_video_on_cmd58, 0x00},
+{ 0x8 , truly_720p_video_on_cmd59, 0x00},
+{ 0x8 , truly_720p_video_on_cmd60, 0x00},
+{ 0x8 , truly_720p_video_on_cmd61, 0x00},
+{ 0x8 , truly_720p_video_on_cmd62, 0x00},
+{ 0x8 , truly_720p_video_on_cmd63, 0x00},
+{ 0x8 , truly_720p_video_on_cmd64, 0x00},
+{ 0x8 , truly_720p_video_on_cmd65, 0x00},
+{ 0x8 , truly_720p_video_on_cmd66, 0x00},
+{ 0x8 , truly_720p_video_on_cmd67, 0x00},
+{ 0x8 , truly_720p_video_on_cmd68, 0x00},
+{ 0x8 , truly_720p_video_on_cmd69, 0x00},
+{ 0x8 , truly_720p_video_on_cmd70, 0x00},
+{ 0x8 , truly_720p_video_on_cmd71, 0x00},
+{ 0x8 , truly_720p_video_on_cmd72, 0x00},
+{ 0x8 , truly_720p_video_on_cmd73, 0x00},
+{ 0x8 , truly_720p_video_on_cmd74, 0x00},
+{ 0x8 , truly_720p_video_on_cmd75, 0x00},
+{ 0x8 , truly_720p_video_on_cmd76, 0x00},
+{ 0x8 , truly_720p_video_on_cmd77, 0x00},
+{ 0x8 , truly_720p_video_on_cmd78, 0x00},
+{ 0x8 , truly_720p_video_on_cmd79, 0x00},
+{ 0x8 , truly_720p_video_on_cmd80, 0x00},
+{ 0x8 , truly_720p_video_on_cmd81, 0x00},
+{ 0x8 , truly_720p_video_on_cmd82, 0x00},
+{ 0x8 , truly_720p_video_on_cmd83, 0x00},
+{ 0x8 , truly_720p_video_on_cmd84, 0x00},
+{ 0x8 , truly_720p_video_on_cmd85, 0x00},
+{ 0x8 , truly_720p_video_on_cmd86, 0x00},
+{ 0x8 , truly_720p_video_on_cmd87, 0x00},
+{ 0x8 , truly_720p_video_on_cmd88, 0x00},
+{ 0xc , truly_720p_video_on_cmd89, 0x00},
+{ 0xc , truly_720p_video_on_cmd90, 0x00},
+{ 0x4 , truly_720p_video_on_cmd91, 0x00},
+{ 0xc , truly_720p_video_on_cmd92, 0x00},
+{ 0x8 , truly_720p_video_on_cmd93, 0x00},
+{ 0x8 , truly_720p_video_on_cmd94, 0x00},
+{ 0xc , truly_720p_video_on_cmd95, 0x00},
+{ 0xc , truly_720p_video_on_cmd96, 0x00},
+{ 0xc , truly_720p_video_on_cmd97, 0x00},
+{ 0xc , truly_720p_video_on_cmd98, 0x00},
+{ 0xc , truly_720p_video_on_cmd99, 0x00},
+{ 0xc , truly_720p_video_on_cmd100, 0x00},
+{ 0xc , truly_720p_video_on_cmd101, 0x00},
+{ 0xc , truly_720p_video_on_cmd102, 0x00},
+{ 0xc , truly_720p_video_on_cmd103, 0x00},
+{ 0xc , truly_720p_video_on_cmd104, 0x00},
+{ 0xc , truly_720p_video_on_cmd105, 0x00},
+{ 0xc , truly_720p_video_on_cmd106, 0x00},
+{ 0xc , truly_720p_video_on_cmd107, 0x00},
+{ 0xc , truly_720p_video_on_cmd108, 0x00},
+{ 0xc , truly_720p_video_on_cmd109, 0x00},
+{ 0xc , truly_720p_video_on_cmd110, 0x00},
+{ 0x4 , truly_720p_video_on_cmd111, 0x00},
+{ 0x4 , truly_720p_video_on_cmd112, 0x00},
+{ 0x4 , truly_720p_video_on_cmd113, 0x00},
+{ 0x4 , truly_720p_video_on_cmd114, 0x00},
+{ 0xc , truly_720p_video_on_cmd115, 0x00},
+{ 0x4 , truly_720p_video_on_cmd116, 0x00},
+{ 0x8 , truly_720p_video_on_cmd117, 0x00},
+{ 0x4 , truly_720p_video_on_cmd118, 0x00},
+{ 0xc , truly_720p_video_on_cmd119, 0x00},
+{ 0x8 , truly_720p_video_on_cmd120, 0x00},
+{ 0x4 , truly_720p_video_on_cmd121, 0x00},
+{ 0x8 , truly_720p_video_on_cmd122, 0x00},
+{ 0x4 , truly_720p_video_on_cmd123, 0x00},
+{ 0x8 , truly_720p_video_on_cmd124, 0x00},
+{ 0x4 , truly_720p_video_on_cmd125, 0x00},
+{ 0x8 , truly_720p_video_on_cmd126, 0x00},
+{ 0x8 , truly_720p_video_on_cmd127, 0x00},
+{ 0x8 , truly_720p_video_on_cmd128, 0x00},
+{ 0x8 , truly_720p_video_on_cmd129, 0x00},
+{ 0x4 , truly_720p_video_on_cmd130, 0x00},
+{ 0x4 , truly_720p_video_on_cmd131, 0x00},
+{ 0x4 , truly_720p_video_on_cmd132, 0x00},
+{ 0x4 , truly_720p_video_on_cmd133, 0x00},
+{ 0x4 , truly_720p_video_on_cmd134, 0x00},
+{ 0x4 , truly_720p_video_on_cmd135, 0x00},
+{ 0x4 , truly_720p_video_on_cmd136, 0x00},
+{ 0x4 , truly_720p_video_on_cmd137, 0x00},
+{ 0x4 , truly_720p_video_on_cmd138, 0x00},
+{ 0x4 , truly_720p_video_on_cmd139, 0x00},
+{ 0x4 , truly_720p_video_on_cmd140, 0x00},
+{ 0x4 , truly_720p_video_on_cmd141, 0x00},
+{ 0x4 , truly_720p_video_on_cmd142, 0x00},
+{ 0x4 , truly_720p_video_on_cmd143, 0x00},
+{ 0x4 , truly_720p_video_on_cmd144, 0x00},
+{ 0x4 , truly_720p_video_on_cmd145, 0x00},
+{ 0x4 , truly_720p_video_on_cmd146, 0x00},
+{ 0x8 , truly_720p_video_on_cmd147, 0x00},
+{ 0x8 , truly_720p_video_on_cmd148, 0x00},
+{ 0x8 , truly_720p_video_on_cmd149, 0x00},
+{ 0x8 , truly_720p_video_on_cmd150, 0x00},
+{ 0xc , truly_720p_video_on_cmd151, 0x00},
+{ 0xc , truly_720p_video_on_cmd152, 0x00},
+{ 0xc , truly_720p_video_on_cmd153, 0x00},
+{ 0xc , truly_720p_video_on_cmd154, 0x00},
+{ 0x4 , truly_720p_video_on_cmd155, 0x00},
+{ 0x8 , truly_720p_video_on_cmd156, 0x00},
+{ 0x8 , truly_720p_video_on_cmd157, 0x00},
+{ 0x8 , truly_720p_video_on_cmd158, 0x00},
+{ 0x8 , truly_720p_video_on_cmd159, 0x00},
+{ 0x4 , truly_720p_video_on_cmd160, 0x00},
+{ 0x4 , truly_720p_video_on_cmd161, 0x00},
+{ 0x4 , truly_720p_video_on_cmd162, 0x00},
+{ 0x4 , truly_720p_video_on_cmd163, 0x00},
+{ 0x4 , truly_720p_video_on_cmd164, 0x00},
+{ 0x4 , truly_720p_video_on_cmd165, 0xc8},
+{ 0x4 , truly_720p_video_on_cmd166, 0x78},
+{ 0x4 , truly_720p_video_on_cmd167, 0x0a},
+};
+#define TRULY_720P_VIDEO_ON_COMMAND 168
+
+
+static char truly_720p_video_off_cmd0[] = {
+0x28, 0x00, 0x05, 0x80 };
+
+
+static char truly_720p_video_off_cmd1[] = {
+0x10, 0x00, 0x05, 0x80 };
+
+
+static struct mipi_dsi_cmd truly_720p_video_off_command[] = {
+{ 0x4 , truly_720p_video_off_cmd0, 0x0},
+{ 0x4 , truly_720p_video_off_cmd1, 0x0}
+};
+#define TRULY_720P_VIDEO_OFF_COMMAND 2
+
+
+static struct command_state truly_720p_video_state = {
+ 0, 1
+};
+
+/*---------------------------------------------------------------------------*/
+/* Command mode panel information */
+/*---------------------------------------------------------------------------*/
+
+static struct commandpanel_info truly_720p_video_command_panel = {
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+};
+
+/*---------------------------------------------------------------------------*/
+/* Video mode panel information */
+/*---------------------------------------------------------------------------*/
+
+static struct videopanel_info truly_720p_video_video_panel = {
+ 0, 0, 0, 0, 1, 1, 2, 0, 0x9
+};
+
+/*---------------------------------------------------------------------------*/
+/* Lane Configuration */
+/*---------------------------------------------------------------------------*/
+
+static struct lane_configuration truly_720p_video_lane_config = {
+ 4, 0, 1, 1, 1, 1, 0
+};
+
+
+/*---------------------------------------------------------------------------*/
+/* Panel Timing */
+/*---------------------------------------------------------------------------*/
+const uint32_t truly_720p_video_timings[] = {
+ 0x87, 0x2c, 0x12, 0x00, 0x40, 0x44, 0x16, 0x1e, 0x17, 0x03, 0x04, 0x00
+};
+
+static struct panel_timing truly_720p_video_timing_info = {
+ 0, 4, 0x04, 0x1b
+};
+
+static struct panel_reset_sequence truly_720p_video_panel_reset_seq = {
+{ 1, 0, 1, }, { 200, 200, 200, }, 2
+};
+
+/*---------------------------------------------------------------------------*/
+/* Backlight Settings */
+/*---------------------------------------------------------------------------*/
+
+static struct backlight truly_720p_video_backlight = {
+ 1, 1, 4095, 100, 1, "PMIC_8941"
+};
+
+#define TRULY_720P_VIDEO_SIGNATURE 0xFFFF
+
+#endif /*_TRULY_720P_VIDEO_H_*/
diff --git a/dev/pmic/pm8x41/include/pm8x41.h b/dev/pmic/pm8x41/include/pm8x41.h
index 59d0fca..2c79ee4 100644
--- a/dev/pmic/pm8x41/include/pm8x41.h
+++ b/dev/pmic/pm8x41/include/pm8x41.h
@@ -221,6 +221,7 @@
void pm8x41_reset_configure(uint8_t);
void pm8994_reset_configure(uint8_t);
void pm8x41_v2_reset_configure(uint8_t);
+uint8_t pmi8950_get_pmi_subtype();
int pm8x41_ldo_set_voltage(struct pm8x41_ldo *ldo, uint32_t voltage);
int pm8x41_ldo_control(struct pm8x41_ldo *ldo, uint8_t enable);
uint8_t pm8x41_get_pmic_rev();
diff --git a/dev/pmic/pm8x41/include/pm8x41_hw.h b/dev/pmic/pm8x41/include/pm8x41_hw.h
index 03e30eb..26fbd5e 100644
--- a/dev/pmic/pm8x41/include/pm8x41_hw.h
+++ b/dev/pmic/pm8x41/include/pm8x41_hw.h
@@ -40,6 +40,7 @@
#define BOOT_DONE_BIT 7
#define REVID_REVISION4 0x103
+#define REVID_REV_ID_SPARE_0 0x160
/* LPG Registers */
#define LPG_SLAVE_ID 0x10000 /* slave_id == 1 */
diff --git a/dev/pmic/pm8x41/pm8x41.c b/dev/pmic/pm8x41/pm8x41.c
index 4ce9869..4a4da3a 100644
--- a/dev/pmic/pm8x41/pm8x41.c
+++ b/dev/pmic/pm8x41/pm8x41.c
@@ -565,6 +565,13 @@
REG_WRITE(lpg_base + off, val);
}
+uint8_t pmi8950_get_pmi_subtype()
+{
+ uint8_t subtype;
+ spmi_reg_read((PMI8950_SLAVE_ID >> 16), REVID_REV_ID_SPARE_0, &subtype, 0);
+ return subtype;
+}
+
uint8_t pm8x41_get_pmic_rev()
{
return REG_READ(REVID_REVISION4);
diff --git a/dev/vib/vibrator.c b/dev/vib/vibrator.c
index b3e79c0..764300c 100644
--- a/dev/vib/vibrator.c
+++ b/dev/vib/vibrator.c
@@ -34,8 +34,17 @@
#define CHECK_VIB_TIMER_FREQUENCY 50
+/*
+ * USE_VIB_THREAD is a micro that use a thread to turn off the vibrator,
+ * USE_VIB_THREAD should be define when use ldo to turn on/off vibrator.
+ * Note: define USE_VIB_THREAD will reduce the accuracy of vib time.
+ */
+#if !USE_VIB_THREAD
static struct timer vib_timer;
-static uint32_t vib_timeout;
+#else
+static uint32_t vib_time;
+#endif
+static uint32_t vib_timeout = 1;
/* Function to turn on vibrator */
void vib_turn_on()
@@ -49,6 +58,7 @@
pm_vib_turn_off();
}
+#if !USE_VIB_THREAD
/* Function to turn off vibrator when the vib_timer is expired. */
static enum handler_return vib_timer_func(struct timer *v_timer, time_t t, void *arg)
{
@@ -58,6 +68,17 @@
return INT_RESCHEDULE;
}
+#else
+int vibrator_thread(void *arg)
+{
+ while((--vib_time)){
+ thread_sleep(CHECK_VIB_TIMER_FREQUENCY);
+ }
+ vib_turn_off();
+ vib_timeout = 1;
+ return 0;
+}
+#endif
/*
* Function to turn on vibrator.
@@ -65,10 +86,20 @@
*/
void vib_timed_turn_on(const uint32_t vibrate_time)
{
+ if(!vib_timeout){
+ dprintf(CRITICAL,"vibrator already turn on\n");
+ return;
+ }
vib_turn_on();
- vib_timeout=0;
+ vib_timeout = 0;
+#if !USE_VIB_THREAD
timer_initialize(&vib_timer);
timer_set_oneshot(&vib_timer, vibrate_time, vib_timer_func, NULL);
+#else
+ vib_time = (vibrate_time/CHECK_VIB_TIMER_FREQUENCY)+1;
+ thread_resume(thread_create("vibrator_thread", &vibrator_thread,
+ NULL, DEFAULT_PRIORITY, DEFAULT_STACK_SIZE));
+#endif
}
/* Wait for vibrator timer expired */
diff --git a/makefile b/makefile
index 1e818a8..542bfaf 100644
--- a/makefile
+++ b/makefile
@@ -146,7 +146,7 @@
# add some automatic configuration defines
DEFINES += \
- BOARD=$(PROJECT) \
+ BOARD=$(BOARD_NAME) \
PROJECT_$(PROJECT)=1 \
TARGET_$(TARGET)=1 \
PLATFORM_$(PLATFORM)=1 \
diff --git a/platform/mdmfermium/acpuclock.c b/platform/mdm9607/acpuclock.c
similarity index 100%
rename from platform/mdmfermium/acpuclock.c
rename to platform/mdm9607/acpuclock.c
diff --git a/platform/mdmfermium/gpio.c b/platform/mdm9607/gpio.c
similarity index 100%
rename from platform/mdmfermium/gpio.c
rename to platform/mdm9607/gpio.c
diff --git a/platform/mdmfermium/include/platform/clock.h b/platform/mdm9607/include/platform/clock.h
similarity index 96%
rename from platform/mdmfermium/include/platform/clock.h
rename to platform/mdm9607/include/platform/clock.h
index e3811ff..6d00491 100644
--- a/platform/mdmfermium/include/platform/clock.h
+++ b/platform/mdm9607/include/platform/clock.h
@@ -26,8 +26,8 @@
* IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#ifndef __MDMFERMIUM_CLOCK_H
-#define __MDMFERMIUM_CLOCK_H
+#ifndef __MDM9607_CLOCK_H
+#define __MDM9607_CLOCK_H
#include <clock.h>
#include <clock_lib2.h>
diff --git a/platform/mdmfermium/include/platform/gpio.h b/platform/mdm9607/include/platform/gpio.h
similarity index 96%
rename from platform/mdmfermium/include/platform/gpio.h
rename to platform/mdm9607/include/platform/gpio.h
index aa3a38e..f7c6293 100644
--- a/platform/mdmfermium/include/platform/gpio.h
+++ b/platform/mdm9607/include/platform/gpio.h
@@ -26,8 +26,8 @@
* IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#ifndef __PLATFORM_MDMFERMIUM_GPIO_H
-#define __PLATFORM_MDMFERMIUM_GPIO_H
+#ifndef __PLATFORM_MDM9607_GPIO_H
+#define __PLATFORM_MDM9607_GPIO_H
#include <bits.h>
#include <gpio.h>
diff --git a/platform/mdmfermium/include/platform/iomap.h b/platform/mdm9607/include/platform/iomap.h
similarity index 98%
rename from platform/mdmfermium/include/platform/iomap.h
rename to platform/mdm9607/include/platform/iomap.h
index 205cd19..c933148 100644
--- a/platform/mdmfermium/include/platform/iomap.h
+++ b/platform/mdm9607/include/platform/iomap.h
@@ -26,8 +26,8 @@
* IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#ifndef _PLATFORM_MDMFERMIUM_IOMAP_H_
-#define _PLATFORM_MDMFERMIUM_IOMAP_H_
+#ifndef _PLATFORM_MDM9607_IOMAP_H_
+#define _PLATFORM_MDM9607_IOMAP_H_
#define MSM_IOMAP_BASE 0x00000000
#define MSM_IOMAP_END 0x08000000
diff --git a/platform/mdmfermium/include/platform/irqs.h b/platform/mdm9607/include/platform/irqs.h
similarity index 96%
rename from platform/mdmfermium/include/platform/irqs.h
rename to platform/mdm9607/include/platform/irqs.h
index 8738b97..2c22fd5 100644
--- a/platform/mdmfermium/include/platform/irqs.h
+++ b/platform/mdm9607/include/platform/irqs.h
@@ -26,8 +26,8 @@
* IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#ifndef __IRQS_MDMFERMIUM_H
-#define __IRQS_MDMFERMIUM_H
+#ifndef __IRQS_MDM9607_H
+#define __IRQS_MDM9607_H
/* MSM ACPU Interrupt Numbers */
@@ -61,4 +61,4 @@
#define NR_IRQS (NR_MSM_IRQS + NR_GPIO_IRQS + \
NR_BOARD_IRQS)
-#endif /* __IRQS_MDMFERMIUM_H */
+#endif /* __IRQS_MDM9607_H */
diff --git a/platform/mdmfermium/mdmfermium-clock.c b/platform/mdm9607/mdm9607-clock.c
similarity index 97%
rename from platform/mdmfermium/mdmfermium-clock.c
rename to platform/mdm9607/mdm9607-clock.c
index 35fbd27..fc1e85a 100644
--- a/platform/mdmfermium/mdmfermium-clock.c
+++ b/platform/mdm9607/mdm9607-clock.c
@@ -217,7 +217,7 @@
};
/* Clock lookup table */
-static struct clk_lookup mdm_clocks_fermium[] =
+static struct clk_lookup mdm_clocks_9607[] =
{
CLK_LOOKUP("uart5_iface_clk", gcc_blsp1_ahb_clk.c),
CLK_LOOKUP("uart5_core_clk", gcc_blsp1_uart5_apps_clk.c),
@@ -229,5 +229,5 @@
void platform_clock_init(void)
{
- clk_init(mdm_clocks_fermium, ARRAY_SIZE(mdm_clocks_fermium));
+ clk_init(mdm_clocks_9607, ARRAY_SIZE(mdm_clocks_9607));
}
diff --git a/platform/mdmfermium/platform.c b/platform/mdm9607/platform.c
similarity index 100%
rename from platform/mdmfermium/platform.c
rename to platform/mdm9607/platform.c
diff --git a/platform/mdmfermium/rules.mk b/platform/mdm9607/rules.mk
similarity index 92%
rename from platform/mdmfermium/rules.mk
rename to platform/mdm9607/rules.mk
index d5f789a..b341ee5 100644
--- a/platform/mdmfermium/rules.mk
+++ b/platform/mdm9607/rules.mk
@@ -16,7 +16,7 @@
$(LOCAL_DIR)/platform.o \
$(LOCAL_DIR)/acpuclock.o \
$(LOCAL_DIR)/gpio.o \
- $(LOCAL_DIR)/mdmfermium-clock.o
+ $(LOCAL_DIR)/mdm9607-clock.o
LINKER_SCRIPT += $(BUILDDIR)/system-onesegment.ld
diff --git a/platform/msm8952/include/platform/iomap.h b/platform/msm8952/include/platform/iomap.h
index 5a92c58..8409272 100644
--- a/platform/msm8952/include/platform/iomap.h
+++ b/platform/msm8952/include/platform/iomap.h
@@ -37,8 +37,8 @@
#define DDR_START get_ddr_start()
#define ABOOT_FORCE_KERNEL_ADDR DDR_START + 0x8000
#define ABOOT_FORCE_KERNEL64_ADDR DDR_START + 0x80000
-#define ABOOT_FORCE_RAMDISK_ADDR DDR_START + 0x2000000
-#define ABOOT_FORCE_TAGS_ADDR DDR_START + 0x1E00000
+#define ABOOT_FORCE_TAGS_ADDR DDR_START + 0x3400000
+#define ABOOT_FORCE_RAMDISK_ADDR DDR_START + 0x3600000
#define MSM_SHARED_BASE 0x86300000
#define MSM_SHARED_IMEM_BASE 0x08600000
diff --git a/platform/msm8952/platform.c b/platform/msm8952/platform.c
index e3e8948..5eaa241 100644
--- a/platform/msm8952/platform.c
+++ b/platform/msm8952/platform.c
@@ -67,7 +67,7 @@
{ APPS_SS_BASE, APPS_SS_BASE, APPS_SS_SIZE, IOMAP_MEMORY},
{ MSM_SHARED_IMEM_BASE, MSM_SHARED_IMEM_BASE, 1, COMMON_MEMORY},
{ SCRATCH_ADDR, SCRATCH_ADDR, 512, SCRATCH_MEMORY},
- { MIPI_FB_ADDR, MIPI_FB_ADDR, 42, COMMON_MEMORY},
+ { MIPI_FB_ADDR, MIPI_FB_ADDR, 20, COMMON_MEMORY},
{ RPMB_SND_RCV_BUF, RPMB_SND_RCV_BUF, RPMB_SND_RCV_BUF_SZ, IOMAP_MEMORY},
};
diff --git a/platform/msm_shared/board.c b/platform/msm_shared/board.c
index 8839a8a..19ec937 100644
--- a/platform/msm_shared/board.c
+++ b/platform/msm_shared/board.c
@@ -415,6 +415,26 @@
return false;
}
+void board_pmi_target_set(uint8_t num_ent,uint8_t rev)
+{
+ if (format_major == 0x0 && num_ent < SMEM_MAX_PMIC_DEVICES)
+ {
+ if (format_minor < 0xB && num_ent < SMEM_V8_SMEM_MAX_PMIC_DEVICES)
+ {
+ board.pmic_info[num_ent].pmic_target &= 0xffffff00;
+ board.pmic_info[num_ent].pmic_target |= rev;
+ }
+ else
+ {
+ if (num_ent < board.num_pmics)
+ {
+ board.pmic_info_array[num_ent].pmic_target &= 0xffffff00;
+ board.pmic_info_array[num_ent].pmic_target |= rev;
+ }
+ }
+ }
+}
+
uint32_t board_pmic_target(uint8_t num_ent)
{
if (format_major == 0x0 && num_ent < SMEM_MAX_PMIC_DEVICES)
diff --git a/platform/msm_shared/include/board.h b/platform/msm_shared/include/board.h
index 9a5db02..866fba2 100644
--- a/platform/msm_shared/include/board.h
+++ b/platform/msm_shared/include/board.h
@@ -90,5 +90,6 @@
uint32_t board_foundry_id(void);
void board_update_boot_dev(uint32_t);
+void board_pmi_target_set(uint8_t num_ent,uint8_t rev);
bool board_pmic_type(uint32_t type);
#endif
diff --git a/platform/msm_shared/rules.mk b/platform/msm_shared/rules.mk
index 385bc66..bce48b9 100644
--- a/platform/msm_shared/rules.mk
+++ b/platform/msm_shared/rules.mk
@@ -521,7 +521,7 @@
$(LOCAL_DIR)/mipi_dsi_autopll.o
endif
-ifeq ($(PLATFORM),mdmfermium)
+ifeq ($(PLATFORM),mdm9607)
OBJS += $(LOCAL_DIR)/qgic.o \
$(LOCAL_DIR)/qtimer.o \
$(LOCAL_DIR)/qtimer_mmap.o \
diff --git a/platform/msm_shared/smem.h b/platform/msm_shared/smem.h
index fe89eea..c883fa2 100644
--- a/platform/msm_shared/smem.h
+++ b/platform/msm_shared/smem.h
@@ -438,11 +438,11 @@
MDMCALIFORNIUM4 = 285,
MDMCALIFORNIUM5 = 286,
APQ8052 = 289,
- MDMFERMIUM1 = 290,
- MDMFERMIUM2 = 296,
- MDMFERMIUM3 = 297,
- MDMFERMIUM4 = 298,
- MDMFERMIUM5 = 299,
+ MDM9607 = 290,
+ MDM8207 = 296,
+ MDM9207 = 297,
+ MDM9307 = 298,
+ MDM9628 = 299,
APQ8096 = 291,
MSMTITANIUM = 293,
MSM8937 = 294,
diff --git a/platform/msmtitanium/include/platform/iomap.h b/platform/msmtitanium/include/platform/iomap.h
index 833520a..a57769b 100755
--- a/platform/msmtitanium/include/platform/iomap.h
+++ b/platform/msmtitanium/include/platform/iomap.h
@@ -88,7 +88,7 @@
/* GPLL */
-#define GPLL0_STATUS (CLK_CTL_BASE + 0x2101C)
+#define GPLL0_MODE (CLK_CTL_BASE + 0x21000)
#define APCS_GPLL_ENA_VOTE (CLK_CTL_BASE + 0x45000)
#define APCS_CLOCK_BRANCH_ENA_VOTE (CLK_CTL_BASE + 0x45004)
#define GPLL4_MODE (CLK_CTL_BASE + 0x24000)
diff --git a/platform/msmtitanium/msmtitanium-clock.c b/platform/msmtitanium/msmtitanium-clock.c
index 092ca54..ee831b2 100644
--- a/platform/msmtitanium/msmtitanium-clock.c
+++ b/platform/msmtitanium/msmtitanium-clock.c
@@ -101,8 +101,8 @@
{
.en_reg = (void *) APCS_GPLL_ENA_VOTE,
.en_mask = BIT(0),
- .status_reg = (void *) GPLL0_STATUS,
- .status_mask = BIT(17),
+ .status_reg = (void *) GPLL0_MODE,
+ .status_mask = BIT(30),
.parent = &cxo_clk_src.c,
.c = {
diff --git a/project/mdmfermium.mk b/project/mdm9607.mk
similarity index 87%
rename from project/mdmfermium.mk
rename to project/mdm9607.mk
index 96de0cb..b8ef8de 100644
--- a/project/mdmfermium.mk
+++ b/project/mdm9607.mk
@@ -1,8 +1,8 @@
-# top level project rules for the fermium project
+# top level project rules for the mdm9607 project
#
LOCAL_DIR := $(GET_LOCAL_DIR)
-TARGET := mdmfermium
+TARGET := mdm9607
MODULES += app/aboot
diff --git a/target/mdmfermium/init.c b/target/mdm9607/init.c
similarity index 98%
rename from target/mdmfermium/init.c
rename to target/mdm9607/init.c
index 383cbdd..1fba03c 100644
--- a/target/mdmfermium/init.c
+++ b/target/mdm9607/init.c
@@ -207,11 +207,11 @@
switch(platform)
{
- case MDMFERMIUM1:
- case MDMFERMIUM2:
- case MDMFERMIUM3:
- case MDMFERMIUM4:
- case MDMFERMIUM5:
+ case MDM9607:
+ case MDM8207:
+ case MDM9207:
+ case MDM9307:
+ case MDM9628:
board->baseband = BASEBAND_MDM;
break;
default:
diff --git a/target/mdmfermium/keypad.c b/target/mdm9607/keypad.c
similarity index 100%
rename from target/mdmfermium/keypad.c
rename to target/mdm9607/keypad.c
diff --git a/target/mdmfermium/meminfo.c b/target/mdm9607/meminfo.c
similarity index 100%
rename from target/mdmfermium/meminfo.c
rename to target/mdm9607/meminfo.c
diff --git a/target/mdmfermium/rules.mk b/target/mdm9607/rules.mk
similarity index 98%
rename from target/mdmfermium/rules.mk
rename to target/mdm9607/rules.mk
index 0bee605..a0d454e 100644
--- a/target/mdmfermium/rules.mk
+++ b/target/mdm9607/rules.mk
@@ -2,7 +2,7 @@
INCLUDES += -I$(LOCAL_DIR)/include -I$(LK_TOP_DIR)/platform/msm_shared
-PLATFORM := mdmfermium
+PLATFORM := mdm9607
MEMBASE := 0x82900000 # SDRAM
MEMSIZE := 0x00100000 # 1MB
diff --git a/target/mdmfermium/tools/makefile b/target/mdm9607/tools/makefile
similarity index 100%
rename from target/mdmfermium/tools/makefile
rename to target/mdm9607/tools/makefile
diff --git a/target/msm8952/include/target/display.h b/target/msm8952/include/target/display.h
index 87cbc3a..65f689a 100644
--- a/target/msm8952/include/target/display.h
+++ b/target/msm8952/include/target/display.h
@@ -81,7 +81,7 @@
/*---------------------------------------------------------------------------*/
#define DISPLAY_CMDLINE_PREFIX " mdss_mdp.panel="
-#define MIPI_FB_ADDR 0x83200000
+#define MIPI_FB_ADDR 0x8DD00000
#define MIPI_HSYNC_PULSE_WIDTH 12
#define MIPI_HSYNC_BACK_PORCH_DCLK 32
diff --git a/target/msm8952/init.c b/target/msm8952/init.c
index 013700c..201e652 100644
--- a/target/msm8952/init.c
+++ b/target/msm8952/init.c
@@ -259,11 +259,25 @@
int ret = 0;
#endif
#endif
-
dprintf(INFO, "target_init()\n");
spmi_init(PMIC_ARB_CHANNEL_NUM, PMIC_ARB_OWNER_ID);
+ if(platform_is_msm8937())
+ {
+ uint8_t pmi_rev = 0;
+ uint32_t pmi_type = 0;
+
+ pmi_type = board_pmic_target(1) & 0xffff;
+ if(pmi_type == PMIC_IS_PMI8950)
+ {
+ /* read pmic spare register for rev */
+ pmi_rev = pmi8950_get_pmi_subtype();
+ if(pmi_rev)
+ board_pmi_target_set(1,pmi_rev);
+ }
+ }
+
target_keystatus();
target_sdc_init();
diff --git a/target/msm8952/oem_panel.c b/target/msm8952/oem_panel.c
old mode 100644
new mode 100755
index bbb3a1f..cada80c
--- a/target/msm8952/oem_panel.c
+++ b/target/msm8952/oem_panel.c
@@ -56,6 +56,9 @@
#include "include/panel_nt35597_wqxga_dsc_cmd.h"
#include "include/panel_hx8394d_720p_video.h"
#include "include/panel_byd_1200p_video.h"
+#include "include/panel_r69006_1080p_cmd.h"
+#include "include/panel_r69006_1080p_video.h"
+#include "include/panel_hx8394f_720p_video.h"
/*---------------------------------------------------------------------------*/
/* static panel selection variable */
@@ -72,6 +75,9 @@
NT35597_WQXGA_DSC_CMD_PANEL,
HX8394D_720P_VIDEO_PANEL,
BYD_1200P_VIDEO_PANEL,
+ R69006_1080P_CMD_PANEL,
+ R69006_1080P_VIDEO_PANEL,
+ HX8394F_720P_VIDEO_PANEL,
UNKNOWN_PANEL
};
@@ -95,6 +101,9 @@
{"nt35597_wqxga_dsc_cmd", NT35597_WQXGA_DSC_CMD_PANEL},
{"hx8394d_720p_video", HX8394D_720P_VIDEO_PANEL},
{"byd_1200p_video", BYD_1200P_VIDEO_PANEL},
+ {"r69006_1080p_cmd",R69006_1080P_CMD_PANEL},
+ {"r69006_1080p_video",R69006_1080P_VIDEO_PANEL},
+ {"hx8394f_720p_video", HX8394F_720P_VIDEO_PANEL}
};
static uint32_t panel_id;
@@ -118,6 +127,8 @@
} else if (panel_id == TRULY_1080P_CMD_PANEL ||
panel_id == TRULY_1080P_VIDEO_PANEL) {
mdelay(TRULY_1080P_PANEL_ON_DELAY);
+ }else if (panel_id == R69006_1080P_CMD_PANEL) {
+ mdelay(R69006_1080P_CMD_PANEL_ON_DELAY);
}
return NO_ERROR;
@@ -472,6 +483,83 @@
hx8394d_720p_video_timings, TIMING_SIZE);
pinfo->mipi.signature = HX8394D_720P_VIDEO_SIGNATURE;
break;
+ case R69006_1080P_CMD_PANEL:
+ panelstruct->paneldata = &r69006_1080p_cmd_panel_data;
+ panelstruct->panelres = &r69006_1080p_cmd_panel_res;
+ panelstruct->color = &r69006_1080p_cmd_color;
+ panelstruct->videopanel = &r69006_1080p_cmd_video_panel;
+ panelstruct->commandpanel = &r69006_1080p_cmd_command_panel;
+ panelstruct->state = &r69006_1080p_cmd_state;
+ panelstruct->laneconfig = &r69006_1080p_cmd_lane_config;
+ panelstruct->paneltiminginfo
+ = &r69006_1080p_cmd_timing_info;
+ panelstruct->panelresetseq
+ = &r69006_1080p_cmd_reset_seq;
+ panelstruct->backlightinfo = &r69006_1080p_cmd_backlight;
+ pinfo->labibb = &r69006_1080p_cmd_labibb;
+ pinfo->mipi.panel_on_cmds
+ = r69006_1080p_cmd_on_command;
+ pinfo->mipi.num_of_panel_on_cmds
+ = R69006_1080P_CMD_ON_COMMAND;
+ pinfo->mipi.panel_off_cmds
+ = r69006_1080p_cmd_off_command;
+ pinfo->mipi.num_of_panel_off_cmds
+ = R69006_1080P_CMD_OFF_COMMAND;
+ memcpy(phy_db->timing,
+ r69006_1080p_cmd_timings, TIMING_SIZE);
+ pinfo->mipi.signature = R69006_1080P_CMD_SIGNATURE;
+ break;
+ case R69006_1080P_VIDEO_PANEL:
+ panelstruct->paneldata = &r69006_1080p_video_panel_data;
+ panelstruct->panelres = &r69006_1080p_video_panel_res;
+ panelstruct->color = &r69006_1080p_video_color;
+ panelstruct->videopanel = &r69006_1080p_video_video_panel;
+ panelstruct->commandpanel = &r69006_1080p_video_command_panel;
+ panelstruct->state = &r69006_1080p_video_state;
+ panelstruct->laneconfig = &r69006_1080p_video_lane_config;
+ panelstruct->paneltiminginfo
+ = &r69006_1080p_video_timing_info;
+ panelstruct->panelresetseq
+ = &r69006_1080p_video_reset_seq;
+ panelstruct->backlightinfo = &r69006_1080p_video_backlight;
+ pinfo->labibb = &r69006_1080p_video_labibb;
+ pinfo->mipi.panel_on_cmds
+ = r69006_1080p_video_on_command;
+ pinfo->mipi.num_of_panel_on_cmds
+ = R69006_1080P_VIDEO_ON_COMMAND;
+ pinfo->mipi.panel_off_cmds
+ = r69006_1080p_video_off_command;
+ pinfo->mipi.num_of_panel_off_cmds
+ = R69006_1080P_VIDEO_OFF_COMMAND;
+ memcpy(phy_db->timing,
+ r69006_1080p_video_timings, TIMING_SIZE);
+ pinfo->mipi.signature = R69006_1080P_VIDEO_SIGNATURE;
+ break;
+ case HX8394F_720P_VIDEO_PANEL:
+ panelstruct->paneldata = &hx8394f_720p_video_panel_data;
+ panelstruct->panelres = &hx8394f_720p_video_panel_res;
+ panelstruct->color = &hx8394f_720p_video_color;
+ panelstruct->videopanel = &hx8394f_720p_video_video_panel;
+ panelstruct->commandpanel = &hx8394f_720p_video_command_panel;
+ panelstruct->state = &hx8394f_720p_video_state;
+ panelstruct->laneconfig = &hx8394f_720p_video_lane_config;
+ panelstruct->paneltiminginfo
+ = &hx8394f_720p_video_timing_info;
+ panelstruct->panelresetseq
+ = &hx8394f_720p_video_reset_seq;
+ panelstruct->backlightinfo = &hx8394f_720p_video_backlight;
+ pinfo->mipi.panel_on_cmds
+ = hx8394f_720p_video_on_command;
+ pinfo->mipi.num_of_panel_on_cmds
+ = HX8394F_720P_VIDEO_ON_COMMAND;
+ pinfo->mipi.panel_off_cmds
+ = hx8394f_720p_video_off_command;
+ pinfo->mipi.num_of_panel_off_cmds
+ = HX8394F_720P_VIDEO_OFF_COMMAND;
+ memcpy(phy_db->timing,
+ hx8394f_720p_video_timings, TIMING_SIZE);
+ pinfo->mipi.signature = HX8394F_720P_VIDEO_SIGNATURE;
+ break;
case BYD_1200P_VIDEO_PANEL:
panelstruct->paneldata = &byd_1200p_video_panel_data;
panelstruct->paneldata->panel_with_enable_gpio = 1;
@@ -587,7 +675,15 @@
else
panel_id = OTM1906C_1080P_CMD_PANEL;
- /* QRD EVT1 uses OTM1906C, and EVT2 uses HX8399A */
+ /* QRD 8937 SKU1 uses R69006, and SKU2 uses HX8399A */
+ if (platform_is_msm8937()){
+ if (plat_hw_ver_major > 16)
+ panel_id = HX8394F_720P_VIDEO_PANEL;
+ else
+ panel_id = R69006_1080P_CMD_PANEL;
+ }
+
+ /* QRD EVT1 uses OTM1906C, and EVT2 uses HX8394F */
if (platform_is_msm8956()) {
switch (auto_pan_loop) {
case 0: