Przeglądaj źródła

Init fix ups, update BoardConfig, drop modem part

Change-Id: I084682c9a9c00cc2e6a2464d810f157f60ced9f0
James Christopher Adduono 10 lat temu
rodzic
commit
1bb82547a2
9 zmienionych plików z 106 dodań i 27 usunięć
  1. 20 11
      BoardConfig.mk
  2. 1 1
      README.md
  3. 2 0
      bootimg.mk
  4. 59 0
      init/init_hero2lte.cpp
  5. 6 0
      omni.dependencies
  6. 0 1
      omni_hero2lte.mk
  7. 0 2
      recovery.fstab
  8. 17 12
      recovery/root/init.recovery.usb.rc
  9. 1 0
      system.prop

+ 20 - 11
BoardConfig.mk

@@ -8,9 +8,9 @@ TARGET_BOARD_PLATFORM := exynos8890
 TARGET_BOARD_PLATFORM_GPU := mali-t880mp12
 
 # Flags
-TARGET_GLOBAL_CFLAGS += -mfpu=neon -mfloat-abi=softfp
-TARGET_GLOBAL_CPPFLAGS += -mfpu=neon -mfloat-abi=softfp
-COMMON_GLOBAL_CFLAGS += -DREFRESH_RATE=60
+#TARGET_GLOBAL_CFLAGS +=
+#TARGET_GLOBAL_CPPFLAGS +=
+#COMMON_GLOBAL_CFLAGS +=
 
 # Architecture
 TARGET_ARCH := arm64
@@ -33,6 +33,7 @@ TARGET_USES_UNCOMPRESSED_KERNEL := true
 BOARD_KERNEL_CMDLINE := # Exynos doesn't take cmdline arguments from boot image
 BOARD_KERNEL_BASE := 0x10000000
 BOARD_KERNEL_PAGESIZE := 2048
+# 000RU = recovery kernel, 000KU = system kernel
 BOARD_MKBOOTIMG_ARGS := --kernel_offset 0x00008000 --ramdisk_offset 0x01000000 --tags_offset 0x00000100 --board SRPOI30A000RU
 
 BOARD_BOOTIMAGE_PARTITION_SIZE     := 0x002800000
@@ -45,8 +46,6 @@ BOARD_FLASH_BLOCK_SIZE := 131072
 TARGET_PREBUILT_KERNEL := device/samsung/hero2lte/Image
 TARGET_PREBUILT_DTB := device/samsung/hero2lte/dtb.img
 
-TARGET_USE_CUSTOM_LUN_FILE_PATH := "/sys/devices/15400000.usb/15400000.dwc3/gadget/lun%d/file"
-
 # Use this flag if the board has a ext4 partition larger than 2gb
 BOARD_HAS_LARGE_FILESYSTEM := true
 TARGET_USERIMAGES_USE_EXT4 := true
@@ -58,17 +57,27 @@ BOARD_CUSTOM_BOOTIMG_MK :=  device/samsung/hero2lte/bootimg.mk
 TW_THEME := portrait_hdpi
 RECOVERY_SDCARD_ON_DATA := true
 BOARD_HAS_NO_REAL_SDCARD := true
-RECOVERY_GRAPHICS_USE_LINELENGTH := true
 TARGET_RECOVERY_PIXEL_FORMAT := "ABGR_8888"
+TARGET_USE_CUSTOM_LUN_FILE_PATH := "/sys/devices/15400000.usb/15400000.dwc3/gadget/lun%d/file"
 TW_BRIGHTNESS_PATH := "/sys/devices/13900000.dsim/backlight/panel/brightness"
 TW_MAX_BRIGHTNESS := 255
 TW_DEFAULT_BRIGHTNESS := 162
-TW_INTERNAL_STORAGE_PATH := "/data/media/0"
-TW_INTERNAL_STORAGE_MOUNT_POINT := "data"
-TW_EXTERNAL_STORAGE_PATH := "/external_sd"
-TW_EXTERNAL_STORAGE_MOUNT_POINT := "external_sd"
 TW_NO_REBOOT_BOOTLOADER := true
 TW_HAS_DOWNLOAD_MODE := true
-TW_INCLUDE_CRYPTO := true
 TW_NO_EXFAT_FUSE := true
 TW_MTP_DEVICE := "/dev/mtp_usb"
+TW_EXCLUDE_SUPERSU := true
+
+# Encryption support
+# - Only enable standard crypto for now to support AOSP/CM crypto
+TW_INCLUDE_CRYPTO := true
+#TW_INCLUDE_CRYPTO_SAMSUNG := true
+#TARGET_HW_DISK_ENCRYPTION := true
+#TARGET_KEYMASTER_WAIT_FOR_QSEE := true
+#TWRP_INCLUDE_LOGCAT := true
+#TARGET_USES_LOGD := true
+
+# Init properties from bootloader version, ex. model info
+TARGET_UNIFIED_DEVICE := true
+TARGET_INIT_VENDOR_LIB := libinit_exynos
+TARGET_LIBINIT_DEFINES_FILE := device/samsung/hero2lte/init/init_hero2lte.cpp

+ 1 - 1
README.md

@@ -1,4 +1,4 @@
-## TWRP device tree for Galaxy S7 Edge (International Exynos, SM-G935F)
+## TWRP device tree for Galaxy S7 edge (International & Canadian Exynos)
 
 Add to `.repo/local_manifests/hero2lte.xml`:
 

+ 2 - 0
bootimg.mk

@@ -18,5 +18,7 @@ $(INSTALLED_RECOVERYIMAGE_TARGET): $(recovery_ramdisk)
 		$(BOARD_MKBOOTIMG_ARGS) \
 		-o $(INSTALLED_RECOVERYIMAGE_TARGET)
 	@echo "------- Made recovery image: $@ -------"
+	$(hide) echo -n "SEANDROIDENFORCE" >> $(INSTALLED_RECOVERYIMAGE_TARGET)
+	@echo "------- Lied about SEAndroid state to Samsung bootloader -------"
 	$(hide) tar -C $(PRODUCT_OUT) -H ustar -c recovery.img > $(FLASH_IMAGE_TARGET)
 	@echo "------- Made flashable image: $(FLASH_IMAGE_TARGET) -------"

+ 59 - 0
init/init_hero2lte.cpp

@@ -0,0 +1,59 @@
+/*
+   Copyright (c) 2013, 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 "AS IS" AND ANY EXPRESS OR IMPLIED
+   WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
+   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.
+ */
+
+#include <stdlib.h>
+
+#include "vendor_init.h"
+#include "property_service.h"
+#include "util.h"
+
+#include "init_exynos.h"
+
+void init_exynos_properties(void)
+{
+	char bootloader[PROP_VALUE_MAX];
+
+	property_get("ro.bootloader", bootloader);
+
+	if (strstr(bootloader, "G935W8")) {
+		/* Canada */
+		property_set("ro.product.model", "SM-G935W8");
+	} else if (strstr(bootloader, "G935X")) {
+		/* store model / prerelease */
+		property_set("ro.product.model", "SM-G935X");
+	} else if (strstr(bootloader, "G935FD")) {
+		/* international duos */
+		property_set("ro.product.model", "SM-G935FD");
+	} else {
+		/* all other variants become international */
+		property_set("ro.product.model", "SM-G935F");
+	}
+	property_set("ro.product.name", "hero2lte");
+	property_set("ro.product.device", "hero2lte");
+}

+ 6 - 0
omni.dependencies

@@ -1,2 +1,8 @@
 [
+	{
+		"remote":"github",
+		"repository":"jcadduono/android_device_exynos_common",
+		"target_path":"device/exynos/common",
+		"revision":"android-6.0"
+	}
 ]

+ 0 - 1
omni_hero2lte.mk

@@ -10,5 +10,4 @@ $(call inherit-product, vendor/omni/config/common.mk)
 PRODUCT_DEVICE := hero2lte
 PRODUCT_NAME := omni_hero2lte
 PRODUCT_BRAND := samsung
-PRODUCT_MODEL := SM-G935F
 PRODUCT_MANUFACTURER := samsung

+ 0 - 2
recovery.fstab

@@ -4,7 +4,5 @@
 /data		ext4		/dev/block/platform/155a0000.ufs/by-name/USERDATA	flags=encryptable=footer;length=-20480
 /cache		ext4		/dev/block/platform/155a0000.ufs/by-name/CACHE
 /efs			ext4		/dev/block/platform/155a0000.ufs/by-name/EFS		flags=backup=1;display="EFS"
-/modem		emmc		/dev/block/platform/155a0000.ufs/by-name/RADIO	flags=display="Modem"
-/modem_debug	emmc		/dev/block/platform/155a0000.ufs/by-name/CP_DEBUG	flags=subpartitionof=/modem
 /external_sd	vfat		/dev/block/mmcblk0p1 /dev/block/mmcblk0			flags=display="Micro SDcard";storage;wipeingui;removable;settingsstorage
 /usbstorage	vfat		/dev/block/sde1 /dev/block/sde				flags=display="USB Storage";storage;wipeingui;removable

+ 17 - 12
recovery/root/init.recovery.usb.rc

@@ -3,12 +3,9 @@ on fs
 
     chown system system /sys/class/android_usb/android0/terminal_version
     chmod 0660 /sys/class/android_usb/android0/terminal_version
+    chown system system /sys/devices/15400000.usb/15400000.dwc3/gadget/lun0/file
+    chmod 0660 /sys/devices/15400000.usb/15400000.dwc3/gadget/lun0/file
 
-    mkdir /dev/usb-ffs 0770 shell shell
-    mkdir /dev/usb-ffs/adb 0770 shell shell
-    mount functionfs adb /dev/usb-ffs/adb uid=2000,gid=2000
-
-    write /sys/class/android_usb/android0/f_ffs/aliases adb
     write /sys/class/android_usb/android0/f_rndis/wceis 1
     write /sys/class/android_usb/android0/f_rndis/manufacturer ${ro.product.manufacturer}
     write /sys/class/android_usb/android0/iManufacturer ${ro.product.manufacturer}
@@ -26,31 +23,39 @@ on fs
     setprop sys.usb.config ${persist.sys.usb.config}
 
 on property:sys.usb.config=none
+    stop adbd
     write /sys/class/android_usb/android0/enable 0
     write /sys/class/android_usb/android0/idVendor 04E8
     write /sys/class/android_usb/android0/idProduct 685E
     write /sys/class/android_usb/android0/bDeviceClass 0
+    setprop sys.usb.state ${sys.usb.config}
 
-on property:sys.usb.config=mtp,adb
+on property:sys.usb.config=adb
+    stop adbd
     write /sys/class/android_usb/android0/enable 0
     write /sys/class/android_usb/android0/idVendor 04E8
-    write /sys/class/android_usb/android0/idProduct 6860
+    write /sys/class/android_usb/android0/idProduct 685E
     write /sys/class/android_usb/android0/functions ${sys.usb.config}
-    write /sys/class/android_usb/android0/enable 1
+    write /sys/class/android_usb/android0/enable ${service.adb.root}
     start adbd
+    setprop sys.usb.state ${sys.usb.config}
 
-on property:sys.usb.config=mass_storage,adb
+on property:sys.usb.config=mtp,adb
+    stop adbd
     write /sys/class/android_usb/android0/enable 0
     write /sys/class/android_usb/android0/idVendor 04E8
-    write /sys/class/android_usb/android0/idProduct 685E
+    write /sys/class/android_usb/android0/idProduct 6860
     write /sys/class/android_usb/android0/functions ${sys.usb.config}
     write /sys/class/android_usb/android0/enable 1
     start adbd
+    setprop sys.usb.state ${sys.usb.config}
 
-on property:sys.usb.config=adb
+on property:sys.usb.config=mass_storage,adb
+    stop adbd
     write /sys/class/android_usb/android0/enable 0
     write /sys/class/android_usb/android0/idVendor 04E8
     write /sys/class/android_usb/android0/idProduct 685E
     write /sys/class/android_usb/android0/functions ${sys.usb.config}
-    write /sys/class/android_usb/android0/enable ${service.adb.root}
+    write /sys/class/android_usb/android0/enable 1
     start adbd
+    setprop sys.usb.state ${sys.usb.config}

+ 1 - 0
system.prop

@@ -1,6 +1,7 @@
 ro.hardware=samsungexynos8890
 ro.chipname=exynos8890
 ro.arch=exynos8890
+ro.boot.bootdevice=155a0000.ufs
 ro.lcd_min_brightness=0
 ro.lcd_brightness=162
 ro.sf.lcd_density=640