Merge "AndroidBoot: Change to mark board have PM660 PMIC"
diff --git a/AndroidBoot.mk b/AndroidBoot.mk
index d23280e..b0a1427 100644
--- a/AndroidBoot.mk
+++ b/AndroidBoot.mk
@@ -1,16 +1,24 @@
#Android makefile to build lk bootloader as a part of Android Build
+ifeq ($(PRODUCT_IOT),true)
+ LK_PATH := hardware/bsp/bootloader/qcom/lk
+ CROOT_DIR := ../../../../..
+else
+ LK_PATH := bootable/bootloader/lk/
+ CROOT_DIR := ../../..
+endif
+
ifeq ($(BOOTLOADER_GCC_VERSION),)
ifndef $(2ND_TARGET_GCC_VERSION)
-CROSS_COMPILE := ../../../prebuilts/gcc/linux-x86/arm/arm-eabi-$(TARGET_GCC_VERSION)/bin/arm-eabi-
+CROSS_COMPILE := $(CROOT_DIR)/prebuilts/gcc/linux-x86/arm/arm-eabi-$(TARGET_GCC_VERSION)/bin/arm-eabi-
else
-CROSS_COMPILE := ../../../prebuilts/gcc/linux-x86/arm/arm-eabi-$(2ND_TARGET_GCC_VERSION)/bin/arm-eabi-
+CROSS_COMPILE := $(CROOT_DIR)/prebuilts/gcc/linux-x86/arm/arm-eabi-$(2ND_TARGET_GCC_VERSION)/bin/arm-eabi-
endif
else # BOOTLOADER_GCC_VERSION defined
ifeq ($(BOOTLOADER_GCC_VERSION),arm-linux-androideabi-4.9)
-CROSS_COMPILE := ../../../prebuilts/gcc/linux-x86/arm/$(BOOTLOADER_GCC_VERSION)/bin/arm-linux-androideabi-
+CROSS_COMPILE := $(CROOT_DIR)/prebuilts/gcc/linux-x86/arm/$(BOOTLOADER_GCC_VERSION)/bin/arm-linux-androideabi-
else
-CROSS_COMPILE := ../../../prebuilts/gcc/linux-x86/arm/$(BOOTLOADER_GCC_VERSION)/bin/arm-eabi-
+CROSS_COMPILE := $(CROOT_DIR)/prebuilts/gcc/linux-x86/arm/$(BOOTLOADER_GCC_VERSION)/bin/arm-eabi-
endif
endif
@@ -34,7 +42,7 @@
ifeq ($(EARLY_MOUNT_SUPPORT),true)
ENABLE_BOOTDEVICE_MOUNT := ENABLE_BOOTDEVICE_MOUNT=1
else
- ENABLE_BOOTDEVICE_MOUNT := ENABLE_BOOTDEVICE_MOUNT=1
+ ENABLE_BOOTDEVICE_MOUNT := ENABLE_BOOTDEVICE_MOUNT=0
endif
ifeq ($(BOARD_HAVE_PM660),true)
@@ -63,6 +71,10 @@
BUILD_VARIANT := USER_BUILD_VARIANT=true
endif
+ifeq ($(TARGET_BOARD_PLATFORM),msm8x09)
+ BOOTLOADER_PLATFORM := msm8909
+endif
+
ifeq ($(TARGET_BOARD_PLATFORM),msm8660)
BOOTLOADER_PLATFORM := msm8660_surf
endif
@@ -83,7 +95,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) $(ENABLE_DISPLAY) $(ENABLE_BOOTDEVICE_MOUNT) $(DEVICE_STATUS) $(BUILD_VARIANT) $(BOARD_NAME) $(ENABLE_VB_ATTEST) $(OSVERSION_IN_BOOTIMAGE)
+ $(MAKE) -C $(LK_PATH) TOOLCHAIN_PREFIX=$(CROSS_COMPILE) BOOTLOADER_OUT=$(CROOT_DIR)/$(ABOOT_OUT) $(BOOTLOADER_PLATFORM) $(EMMC_BOOT) $(SIGNED_KERNEL) $(VERIFIED_BOOT) $(ENABLE_DISPLAY) $(ENABLE_BOOTDEVICE_MOUNT) $(DEVICE_STATUS) $(BUILD_VARIANT) $(BOARD_NAME) $(ENABLE_VB_ATTEST) $(OSVERSION_IN_BOOTIMAGE)
# NAND variant output
TARGET_NAND_BOOTLOADER := $(PRODUCT_OUT)/appsboot.mbn
@@ -108,11 +120,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) $(BOARD_NAME)
+ $(MAKE) -C $(LK_PATH) TOOLCHAIN_PREFIX=$(CROSS_COMPILE) BOOTLOADER_OUT=$(CROOT_DIR)/$(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) $(ENABLE_DISPLAY) $(ENABLE_BOOTDEVICE_MOUNT) $(DEVICE_STATUS) $(BUILD_VARIANT) $(BOARD_NAME) $(ENABLE_VB_ATTEST) $(OSVERSION_IN_BOOTIMAGE) $(ENABLE_BG_SUPPORT)
+ $(MAKE) -C $(LK_PATH) TOOLCHAIN_PREFIX=$(CROSS_COMPILE) BOOTLOADER_OUT=$(CROOT_DIR)/$(EMMC_BOOTLOADER_OUT) $(BOOTLOADER_PLATFORM) EMMC_BOOT=1 $(SIGNED_KERNEL) $(VERIFIED_BOOT) $(ENABLE_DISPLAY) $(ENABLE_BOOTDEVICE_MOUNT) $(DEVICE_STATUS) $(BUILD_VARIANT) $(BOARD_NAME) $(ENABLE_VB_ATTEST) $(OSVERSION_IN_BOOTIMAGE)
# Keep build NAND & eMMC as default for targets still using TARGET_BOOTLOADER
TARGET_BOOTLOADER := $(PRODUCT_OUT)/EMMCBOOT.MBN
@@ -133,4 +145,4 @@
$(TARGET_NANDWRITE): nandwrite_clean | $(NANDWRITE_OUT)
@echo $(BOOTLOADER_PLATFORM)_nandwrite
- $(MAKE) -C bootable/bootloader/lk TOOLCHAIN_PREFIX=$(CROSS_COMPILE) BOOTLOADER_OUT=../../../$(NANDWRITE_OUT) $(BOOTLOADER_PLATFORM)_nandwrite BUILD_NANDWRITE=1
+ $(MAKE) -C $(LK_PATH) TOOLCHAIN_PREFIX=$(CROSS_COMPILE) BOOTLOADER_OUT=$(CROOT_DIR)/$(NANDWRITE_OUT) $(BOOTLOADER_PLATFORM)_nandwrite BUILD_NANDWRITE=1
diff --git a/dev/gcdb/display/include/panel_auo_390p_cmd.h b/dev/gcdb/display/include/panel_auo_390p_cmd.h
index 705e562..d886cb2 100644
--- a/dev/gcdb/display/include/panel_auo_390p_cmd.h
+++ b/dev/gcdb/display/include/panel_auo_390p_cmd.h
@@ -118,28 +118,23 @@
static char auo_390p_cmd_on_cmd10[] = {
- 0x36, 0xc0, 0x015, 0x80,
-};
-
-
-static char auo_390p_cmd_on_cmd11[] = {
0x11, 0x00, 0x05, 0x80,
};
-static char auo_390p_cmd_on_cmd12[] = {
+static char auo_390p_cmd_on_cmd11[] = {
0x29, 0x00, 0x05, 0x80,
};
-static char auo_390p_cmd_on_cmd13[] = {
+static char auo_390p_cmd_on_cmd12[] = {
0x06, 0x00, 0x39, 0xC0,
0xf0, 0x55, 0xaa, 0x52,
0x08, 0x01, 0xff, 0xff,
};
-static char auo_390p_cmd_on_cmd14[] = {
+static char auo_390p_cmd_on_cmd13[] = {
0x07, 0x00, 0x39, 0xC0,
0xff, 0x00, 0x55, 0xaa,
0x52, 0x08, 0x01, 0xff,
@@ -159,12 +154,11 @@
{ 0x4 , auo_390p_cmd_on_cmd9, 0x00},
{ 0x4 , auo_390p_cmd_on_cmd10, 0x00},
{ 0x4 , auo_390p_cmd_on_cmd11, 0x00},
- { 0x4 , auo_390p_cmd_on_cmd12, 0x00},
+ { 0xc , auo_390p_cmd_on_cmd12, 0x00},
{ 0xc , auo_390p_cmd_on_cmd13, 0x00},
- { 0xc , auo_390p_cmd_on_cmd14, 0x00},
};
-#define AUO_390P_CMD_ON_COMMAND 15
+#define AUO_390P_CMD_ON_COMMAND 14
static char auo_390p_cmd_off_cmd0[] = {
diff --git a/platform/msm_shared/ab_partition_parser.c b/platform/msm_shared/ab_partition_parser.c
index c224e0f..10169fa 100644
--- a/platform/msm_shared/ab_partition_parser.c
+++ b/platform/msm_shared/ab_partition_parser.c
@@ -642,6 +642,19 @@
GET_LWORD_FROM_BYTE(&gpt_hdr_ptr[PARTITION_COUNT_OFFSET]);
partition_entry_size =
GET_LWORD_FROM_BYTE(&gpt_hdr_ptr[PENTRY_SIZE_OFFSET]);
+
+ /* Check for partition entry size */
+ if (partition_entry_size != PARTITION_ENTRY_SIZE) {
+ dprintf(CRITICAL,"Invalid parition entry size\n");
+ goto out;
+ }
+
+ /* Check for maximum partition size */
+ if ((max_partition_count) > (MIN_PARTITION_ARRAY_SIZE /(partition_entry_size))) {
+ dprintf(CRITICAL, "Invalid maximum partition count\n");
+ goto out;
+ }
+
crc_val = crc32(~0L, gpt_entries_ptr, ((max_partition_count) *
(partition_entry_size))) ^ (~0L);
PUT_LONG(&gpt_hdr_ptr[PARTITION_CRC_OFFSET], crc_val);
diff --git a/platform/msm_shared/smem.h b/platform/msm_shared/smem.h
index e9e3515..d72d9b3 100644
--- a/platform/msm_shared/smem.h
+++ b/platform/msm_shared/smem.h
@@ -141,6 +141,7 @@
PMIC_IS_PMI8950 = 17,
PMIC_IS_PMI8994 = 10,
PMIC_IS_PMI8996 = 19,
+ PMIC_IS_PM660 = 27,
} pm_model_type_bfly;
struct smem_board_info_v3 {
diff --git a/project/msm8909.mk b/project/msm8909.mk
index 0d820e6..f7525f9 100644
--- a/project/msm8909.mk
+++ b/project/msm8909.mk
@@ -28,6 +28,7 @@
ENABLE_PWM_SUPPORT := true
ENABLE_BOOT_CONFIG_SUPPORT := 1
+DEFINES += USE_BOOTDEV_CMDLINE=1
#DEFINES += WITH_DEBUG_DCC=1
DEFINES += WITH_DEBUG_LOG_BUF=1
DEFINES += WITH_DEBUG_UART=1
diff --git a/target/mdm9640/rules.mk b/target/mdm9640/rules.mk
index 84d1417..12b4c94 100644
--- a/target/mdm9640/rules.mk
+++ b/target/mdm9640/rules.mk
@@ -9,7 +9,7 @@
BASE_ADDR := 0x80000000
SCRATCH_ADDR := 0x80000000
SCRATCH_REGION1 := 0x81300000
-SCRATCH_REGION1_SIZE := 0x06900000 # 105MB
+SCRATCH_REGION1_SIZE := 0x06400000 # 100MB
SCRATCH_REGION2 := 0x88000000
SCRATCH_REGION2_SIZE := 0x08000000 # 128MB
KERNEL_REGION := 0x80000000
diff --git a/target/msm8909/rules.mk b/target/msm8909/rules.mk
index f5393c5..55aa9d0 100644
--- a/target/msm8909/rules.mk
+++ b/target/msm8909/rules.mk
@@ -11,7 +11,10 @@
BASE_ADDR := 0x80000000
SCRATCH_ADDR := 0x90100000
+ifeq ($(ENABLE_DISPLAY),1)
+DEFINES += ENABLE_DISPLAY=1
DEFINES += DISPLAY_SPLASH_SCREEN=1
+endif
DEFINES += DISPLAY_TYPE_MIPI=1
DEFINES += DISPLAY_TYPE_DSI6G=1
DEFINES += NO_ALARM_DISPLAY=0
diff --git a/target/msm8952/rules.mk b/target/msm8952/rules.mk
index d50f8d9..d86ea01 100644
--- a/target/msm8952/rules.mk
+++ b/target/msm8952/rules.mk
@@ -18,7 +18,10 @@
SCRATCH_SIZE := 511
SCRATCH_SIZE_512 := 234
+ifeq ($(ENABLE_DISPLAY),1)
+DEFINES += ENABLE_DISPLAY=1
DEFINES += DISPLAY_SPLASH_SCREEN=1
+endif
DEFINES += DISPLAY_TYPE_MIPI=1
DEFINES += DISPLAY_TYPE_DSI6G=1