diff --git a/caas/AndroidBoard.mk b/caas/AndroidBoard.mk
index 13f74168f..e20412fa8 100644
--- a/caas/AndroidBoard.mk
+++ b/caas/AndroidBoard.mk
@@ -219,10 +219,6 @@ make_bootloader_dir:
$(PRODUCT_OUT)/ramdisk.img: make_bootloader_dir
-##############################################################
-# Source: device/intel/mixins/groups/wlan/iwlwifi/AndroidBoard.mk
-##############################################################
-LOAD_MODULES_IN += $(TARGET_DEVICE_DIR)/extra_files/wlan/load_legacy_iwlwifi.in
##############################################################
# Source: device/intel/mixins/groups/kernel/gmin64/AndroidBoard.mk.1
##############################################################
@@ -464,7 +460,7 @@ kernel: $(LOCAL_KERNEL_PATH)/copy_modules $(PRODUCT_OUT)/kernel
endif
##############################################################
-# Source: device/intel/mixins/groups/sepolicy/permissive/AndroidBoard.mk
+# Source: device/intel/mixins/groups/sepolicy/enforcing/AndroidBoard.mk
##############################################################
include $(CLEAR_VARS)
LOCAL_MODULE := sepolicy-areq-checker
@@ -481,9 +477,9 @@ LOCAL_POST_INSTALL_CMD := $(INTEL_PATH_SEPOLICY)/tools/capchecker $(LOCAL_USER_O
include $(BUILD_PHONY_PACKAGE)
##############################################################
-# Source: device/intel/mixins/groups/bluetooth/btusb/AndroidBoard.mk
+# Source: device/intel/mixins/groups/bluetooth/auto/AndroidBoard.mk
##############################################################
-LOAD_MODULES_IN += $(TARGET_DEVICE_DIR)/extra_files/bluetooth/load_bt.in
+AUTO_IN += $(TARGET_DEVICE_DIR)/extra_files/bluetooth/auto_hal.in
##############################################################
# Source: device/intel/mixins/groups/audio/project-celadon/AndroidBoard.mk
##############################################################
@@ -506,22 +502,17 @@ BOARD_MMC_SIZE = 15335424K
##############################################################
.PHONY: tosimage multiboot
-LK_ELF := $(TOP)/$(PRODUCT_OUT)/obj/trusty/build-sand-x86-64/lk.elf
EVMM_PKG := $(TOP)/$(PRODUCT_OUT)/obj/trusty/evmm_pkg.bin
EVMM_LK_PKG := $(TOP)/$(PRODUCT_OUT)/obj/trusty/evmm_lk_pkg.bin
LOCAL_MAKE := make
-$(LK_ELF):
- @echo "making lk.elf.."
- $(hide) (cd $(TOPDIR)trusty && $(TRUSTY_ENV_VAR) $(LOCAL_MAKE) sand-x86-64)
-
$(EVMM_PKG):
@echo "making evmm.."
$(hide) (cd $(TOPDIR)$(INTEL_PATH_VENDOR)/fw/evmm && $(TRUSTY_ENV_VAR) $(LOCAL_MAKE))
-$(EVMM_LK_PKG): $(LK_ELF)
- @echo "making evmm(packing with lk.elf).."
+$(EVMM_LK_PKG):
+ @echo "making evmm(packing with lk.bin).."
$(hide) (cd $(TOPDIR)$(INTEL_PATH_VENDOR)/fw/evmm && $(TRUSTY_ENV_VAR) $(LOCAL_MAKE))
# include sub-makefile according to boot_arch
diff --git a/caas/BoardConfig.mk b/caas/BoardConfig.mk
index 140d8ca78..3c732c488 100644
--- a/caas/BoardConfig.mk
+++ b/caas/BoardConfig.mk
@@ -121,8 +121,8 @@ BOARD_FLASHFILES += $(PRODUCT_OUT)/bootloader.img
BOARD_SEPOLICY_DIRS += $(INTEL_PATH_SEPOLICY)/boot-arch/generic
-BOARD_SEPOLICY_DIRS += $(INTEL_PATH_SEPOLICY)/boot-arch/slotab_ota/generic
-BOARD_SEPOLICY_DIRS += $(INTEL_PATH_SEPOLICY)/boot-arch/slotab_ota/efi
+BOARD_SEPOLICY_DIRS += $(INTEL_PATH_SEPOLICY)/abota/generic
+BOARD_SEPOLICY_DIRS += $(INTEL_PATH_SEPOLICY)/abota/efi
KERNELFLINGER_USE_RPMB_SIMULATE := true
@@ -148,66 +148,14 @@ KERNELFLINGER_SUPPORT_USB_STORAGE ?= true
KERNELFLINGER_SUPPORT_LIVE_BOOT ?= true
##############################################################
-# Source: device/intel/mixins/groups/wlan/iwlwifi/BoardConfig.mk
+# Source: device/intel/mixins/groups/wlan/auto/BoardConfig.mk
##############################################################
# This enables the wpa wireless driver
BOARD_HOSTAPD_DRIVER := NL80211
BOARD_WPA_SUPPLICANT_DRIVER := NL80211
WPA_SUPPLICANT_VERSION := VER_2_1_DEVEL
-# required for wifi HAL support
-BOARD_WLAN_DEVICE := iwlwifi
-
-BOARD_WPA_SUPPLICANT_PRIVATE_LIB ?= lib_driver_cmd_intc
-
-# Enabling iwlwifi
-BOARD_USING_INTEL_IWL := true
-INTEL_IWL_MODULE_SUB_FOLDER := dev
-INTEL_IWL_PLATFORM := kbl
-INTEL_IWL_BOARD_CONFIG := kbl
-INTEL_IWL_PNVM_HW := DEFAULT
-INTEL_IWL_USE_COMPAT_INSTALL := y
-INTEL_IWL_COMPAT_INSTALL_DIR := updates
-INTEL_IWL_COMPAT_INSTALL_PATH ?= .
-INTEL_IWL_INSTALL_MOD_STRIP := INSTALL_MOD_STRIP=1
-CROSS_COMPILE ?= CROSS_COMPILE=$(YOCTO_CROSSCOMPILE)
-INSTALLED_KERNEL_TARGET ?= $(PREVIOUS_KERNEL_MODULE)
-KERNEL_OUT_DIR ?= $(PRODUCT_OUT)/obj/kernel
-
-COMBO_CHIP_VENDOR := intel
-COMBO_CHIP := lnp
-
-# SoftAp FW reload definitions.
-# we don't really need this, it's to avoid error when the framework
-# will trigger the fwReloadSoftap function, what will lead to an error
-# enabling the SoftAp.
-# so we set up this for letting the function execute gracefully.
-WIFI_DRIVER_FW_PATH_STA := "/vendor/firmware/iwlwifi-softap-dummy.ucode"
-WIFI_DRIVER_FW_PATH_AP := "/vendor/firmware/iwlwifi-softap-dummy.ucode"
-WIFI_DRIVER_FW_PATH_P2P := "/vendor/firmware/iwlwifi-softap-dummy.ucode"
-WIFI_DRIVER_FW_PATH_PARAM := "/dev/null"
-
-# config_wifi_background_scan_support=true:
-DEVICE_PACKAGE_OVERLAYS += $(INTEL_PATH_COMMON)/wlan/overlay-pno
-
-DEVICE_PACKAGE_OVERLAYS += $(INTEL_PATH_COMMON)/wlan/overlay-tcp-buffers
-
-# Add SIM , AKA and AKA' methods in EAP entries of WiFi UI
-DEVICE_PACKAGE_OVERLAYS += $(INTEL_PATH_COMMON)/wlan/overlay-eap-methods
-
-ifneq (lhp,$(INTEL_IWL_MODULE_SUB_FOLDER))
- DEVICE_PACKAGE_OVERLAYS += $(INTEL_PATH_COMMON)/wlan/overlay-dual-band
-endif
-
-# WiDi / Miracast Optimisations
-DEVICE_PACKAGE_OVERLAYS += $(INTEL_PATH_COMMON)/wlan/overlay-miracast-go
-DEVICE_PACKAGE_OVERLAYS += $(INTEL_PATH_COMMON)/wlan/overlay-p2p-connected-stop-scan
-DEVICE_PACKAGE_OVERLAYS += $(INTEL_PATH_COMMON)/wlan/overlay-miracast-force-single-ch
-BOARD_SEPOLICY_DIRS += $(INTEL_PATH_SEPOLICY)/wlan/load_iwlwifi
-
-
-BOARD_SEPOLICY_M4DEFS += module_iwlwifi=true
-BOARD_SEPOLICY_DIRS += $(INTEL_PATH_SEPOLICY)/wlan/iwlwifi
+BOARD_SEPOLICY_DIRS += $(INTEL_PATH_SEPOLICY)/wlan/common
##############################################################
# Source: device/intel/mixins/groups/kernel/gmin64/BoardConfig.mk.1
##############################################################
@@ -240,13 +188,7 @@ BOARD_KERNEL_CMDLINE += \
BOARD_SEPOLICY_M4DEFS += module_kernel=true
BOARD_SEPOLICY_DIRS += $(INTEL_PATH_SEPOLICY)/kernel
##############################################################
-# Source: device/intel/mixins/groups/sepolicy/permissive/BoardConfig.mk.1
-##############################################################
-# start kernel in permissive mode, this way we don't
-# need 'setenforce 0' from init.rc files
-BOARD_KERNEL_CMDLINE += enforcing=0 androidboot.selinux=permissive
-##############################################################
-# Source: device/intel/mixins/groups/sepolicy/permissive/BoardConfig.mk
+# Source: device/intel/mixins/groups/sepolicy/enforcing/BoardConfig.mk
##############################################################
# SELinux Policy
BOARD_SEPOLICY_DIRS += $(INTEL_PATH_SEPOLICY)
@@ -254,10 +196,11 @@ BOARD_SEPOLICY_DIRS += $(INTEL_PATH_SEPOLICY)
# Pass device target to build in
BOARD_SEPOLICY_M4DEFS += board_sepolicy_target_product=$(TARGET_PRODUCT)
##############################################################
-# Source: device/intel/mixins/groups/bluetooth/btusb/BoardConfig.mk
+# Source: device/intel/mixins/groups/bluetooth/auto/BoardConfig.mk
##############################################################
BOARD_HAVE_BLUETOOTH_INTEL_ICNV := true
-BOARD_BLUETOOTH_BDROID_BUILDCFG_INCLUDE_DIR := $(INTEL_PATH_COMMON)/bluetooth/intel/car/
+BOARD_BLUETOOTH_BDROID_BUILDCFG_INCLUDE_DIR := $(INTEL_PATH_COMMON)/bluetooth/tablet/
+
DEVICE_PACKAGE_OVERLAYS += $(INTEL_PATH_COMMON)/bluetooth/overlay-bt-pan
BOARD_SEPOLICY_DIRS += $(INTEL_PATH_SEPOLICY)/bluetooth/common
##############################################################
@@ -330,28 +273,20 @@ BOARD_USES_KEYMASTER1 := true
BOARD_SEPOLICY_DIRS += $(INTEL_PATH_SEPOLICY)/trusty
BOARD_SEPOLICY_M4DEFS += module_trusty=true
-LKBUILD_TOOLCHAIN_ROOT = $(PWD)/$(INTEL_PATH_VENDOR)/external/prebuilts/elf/
-LKBUILD_X86_TOOLCHAIN = $(LKBUILD_TOOLCHAIN_ROOT)i386-elf-4.9.1-Linux-x86_64/bin
-LKBUILD_X64_TOOLCHAIN = $(LKBUILD_TOOLCHAIN_ROOT)x86_64-elf-4.9.1-Linux-x86_64/bin
TRUSTY_BUILDROOT = $(PWD)/$(PRODUCT_OUT)/obj/trusty/
TRUSTY_ENV_VAR += TRUSTY_REF_TARGET=celadon_64
-#for trusty lk
-TRUSTY_ENV_VAR += BUILDROOT=$(TRUSTY_BUILDROOT)
-TRUSTY_ENV_VAR += PATH=$$PATH:$(LKBUILD_X86_TOOLCHAIN):$(LKBUILD_X64_TOOLCHAIN)
-TRUSTY_ENV_VAR += CLANG_BINDIR=$(PWD)/$(LLVM_PREBUILTS_PATH)
-TRUSTY_ENV_VAR += ARCH_x86_64_TOOLCHAIN_PREFIX=${PWD}/prebuilts/gcc/linux-x86/x86/x86_64-linux-android-${TARGET_GCC_VERSION}/bin/x86_64-linux-android-
-
#for trusty vmm
# use same toolchain as android kernel
+TRUSTY_ENV_VAR += CLANG_BINDIR=$(PWD)/$(LLVM_PREBUILTS_PATH)
TRUSTY_ENV_VAR += COMPILE_TOOLCHAIN=$(YOCTO_CROSSCOMPILE)
TRUSTY_ENV_VAR += TARGET_BUILD_VARIANT=$(TARGET_BUILD_VARIANT)
TRUSTY_ENV_VAR += BOOT_ARCH=project-celadon
# output build dir to android out folder
TRUSTY_ENV_VAR += BUILD_DIR=$(TRUSTY_BUILDROOT)
-TRUSTY_ENV_VAR += LKBIN_DIR=$(TRUSTY_BUILDROOT)/build-sand-x86-64/
+TRUSTY_ENV_VAR += LKBIN_DIR=$(PWD)/vendor/intel/fw/trusty-release-binaries/
#Fix the cpu hotplug fail due to the trusty.
#Trusty will introduce some delay for cpu_up().
@@ -391,29 +326,29 @@ BOARD_CONFIGIMAGE_PARTITION_SIZE := 8388608
BOARD_SEPOLICY_M4DEFS += module_config_partition=true
BOARD_SEPOLICY_DIRS += $(INTEL_PATH_SEPOLICY)/config-partition
##############################################################
-# Source: device/intel/mixins/groups/cpu-arch/slm/BoardConfig.mk.1
+# Source: device/intel/mixins/groups/cpu-arch/x86/BoardConfig.mk
##############################################################
+BUILD_CPU_ARCH ?= silvermont
+
+# Items that are common between slm 32b and 64b:
+TARGET_CPU_ABI_LIST_32_BIT := x86
+TARGET_ARCH_VARIANT := $(if $(BUILD_CPU_ARCH),$(BUILD_CPU_ARCH),x86)
+TARGET_CPU_SMP := true
+
ifeq ($(BOARD_USE_64BIT_USERSPACE),true)
# 64b-specific items:
TARGET_ARCH := x86_64
TARGET_CPU_ABI := x86_64
TARGET_2ND_CPU_ABI := x86
TARGET_2ND_ARCH := x86
-TARGET_2ND_ARCH_VARIANT := silvermont
-TARGET_2ND_CPU_VARIANT := silvermont
+TARGET_2ND_ARCH_VARIANT := $(if $(BUILD_CPU_ARCH),$(BUILD_CPU_ARCH))
+TARGET_2ND_CPU_VARIANT := $(if $(BUILD_CPU_ARCH),$(BUILD_CPU_ARCH))
else
# 32b-specific items:
TARGET_ARCH := x86
TARGET_CPU_ABI := x86
endif
##############################################################
-# Source: device/intel/mixins/groups/cpu-arch/slm/BoardConfig.mk
-##############################################################
-# Items that are common between slm 32b and 64b:
-TARGET_CPU_ABI_LIST_32_BIT := x86
-TARGET_ARCH_VARIANT := silvermont
-TARGET_CPU_SMP := true
-##############################################################
# Source: device/intel/mixins/groups/allow-missing-dependencies/true/BoardConfig.mk
##############################################################
ALLOW_MISSING_DEPENDENCIES := true
@@ -441,21 +376,22 @@ BOARD_KERNEL_CMDLINE += vga=current i915.modeset=1 drm.atomic=1 i915.nuclear_pag
USE_OPENGL_RENDERER := true
NUM_FRAMEBUFFER_SURFACE_BUFFERS := 3
USE_INTEL_UFO_DRIVER := false
-BOARD_GPU_DRIVERS := i965
+BOARD_GPU_DRIVERS := i965 virgl
BOARD_USE_CUSTOMIZED_MESA := true
# System's VSYNC phase offsets in nanoseconds
VSYNC_EVENT_PHASE_OFFSET_NS := 7500000
SF_VSYNC_EVENT_PHASE_OFFSET_NS := 3000000
-BOARD_GPU_DRIVERS ?= i965 swrast
+BOARD_GPU_DRIVERS ?= i965 swrast virgl
ifneq ($(strip $(BOARD_GPU_DRIVERS)),)
TARGET_HARDWARE_3D := true
TARGET_USES_HWC2 := true
endif
+BOARD_USES_DRM_HWCOMPOSER := true
+BOARD_USES_IA_PLANNER := true
-BOARD_USES_DRM_HWCOMPOSER := false
BOARD_USES_IA_HWCOMPOSER := true
BOARD_USES_MINIGBM := true
@@ -573,6 +509,10 @@ BOARD_SEPOLICY_DIRS += $(INTEL_PATH_SEPOLICY)/abota/generic/vendor_prefix
##############################################################
BOARD_SEPOLICY_DIRS += $(INTEL_PATH_SEPOLICY)/usb-init
##############################################################
+# Source: device/intel/mixins/groups/usb-otg-switch/true/BoardConfig.mk
+##############################################################
+BOARD_SEPOLICY_DIRS += $(INTEL_PATH_SEPOLICY)/usb-role-switch
+##############################################################
# Source: device/intel/mixins/groups/vndk/true/BoardConfig.mk
##############################################################
BOARD_VNDK_VERSION := current
diff --git a/caas/config-lts/lts2018/bxt/android/non-embargoed/caas_diffconfig b/caas/config-lts/lts2018/bxt/android/non-embargoed/caas_diffconfig
index f63ae1764..7c4210b8e 100644
--- a/caas/config-lts/lts2018/bxt/android/non-embargoed/caas_diffconfig
+++ b/caas/config-lts/lts2018/bxt/android/non-embargoed/caas_diffconfig
@@ -2,6 +2,8 @@ CONFIG_VIRTIO=y
CONFIG_VIRTIO_PCI=y
CONFIG_VIRTIO_NET=y
CONFIG_VIRTIO_BLK=y
+CONFIG_DRM_VIRTIO_GPU=y
+CONFIG_SW_SYNC=y
CONFIG_MOUSE_PS2=y
CONFIG_MOUSE_PS2_VMMOUSE=y
CONFIG_DRM_QXL=y
diff --git a/caas/config-lts/lts2018/bxt/android/non-embargoed/x86_64_defconfig b/caas/config-lts/lts2018/bxt/android/non-embargoed/x86_64_defconfig
index dfcc6b3a8..c62a95cf6 100644
--- a/caas/config-lts/lts2018/bxt/android/non-embargoed/x86_64_defconfig
+++ b/caas/config-lts/lts2018/bxt/android/non-embargoed/x86_64_defconfig
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
-# Linux/x86_64 4.19.66 Kernel Configuration
+# Linux/x86_64 4.19.94 Kernel Configuration
#
#
@@ -373,6 +373,9 @@ CONFIG_X86_SMAP=y
CONFIG_X86_INTEL_UMIP=y
# CONFIG_X86_INTEL_MPX is not set
CONFIG_X86_INTEL_MEMORY_PROTECTION_KEYS=y
+CONFIG_X86_INTEL_TSX_MODE_OFF=y
+# CONFIG_X86_INTEL_TSX_MODE_ON is not set
+# CONFIG_X86_INTEL_TSX_MODE_AUTO is not set
CONFIG_EFI=y
CONFIG_EFI_STUB=y
# CONFIG_EFI_MIXED is not set
@@ -624,7 +627,7 @@ CONFIG_DCDBAS=y
CONFIG_DMIID=y
CONFIG_DMI_SYSFS=y
CONFIG_DMI_SCAN_MACHINE_NON_EFI_FALLBACK=y
-# CONFIG_ISCSI_IBFT_FIND is not set
+# CONFIG_ISCSI_IBFT is not set
# CONFIG_FW_CFG_SYSFS is not set
# CONFIG_GOOGLE_FIRMWARE is not set
@@ -2129,7 +2132,7 @@ CONFIG_USB_CATC=y
CONFIG_USB_KAWETH=y
CONFIG_USB_PEGASUS=y
CONFIG_USB_RTL8150=y
-# CONFIG_USB_RTL8152 is not set
+CONFIG_USB_RTL8152=y
# CONFIG_USB_LAN78XX is not set
CONFIG_USB_USBNET=y
CONFIG_USB_NET_AX8817X=y
@@ -2276,7 +2279,7 @@ CONFIG_INPUT_MOUSEDEV=y
# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
-# CONFIG_INPUT_JOYDEV is not set
+CONFIG_INPUT_JOYDEV=y
CONFIG_INPUT_EVDEV=y
# CONFIG_INPUT_EVBUG is not set
@@ -3689,10 +3692,10 @@ CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y
#
# Frame buffer Devices
#
-CONFIG_FB=y
-# CONFIG_FIRMWARE_EDID is not set
CONFIG_FB_CMDLINE=y
CONFIG_FB_NOTIFY=y
+CONFIG_FB=y
+# CONFIG_FIRMWARE_EDID is not set
CONFIG_FB_BOOT_VESA_SUPPORT=y
CONFIG_FB_CFB_FILLRECT=y
CONFIG_FB_CFB_COPYAREA=y
@@ -4151,7 +4154,7 @@ CONFIG_SND_X86=y
# HID support
#
CONFIG_HID=y
-# CONFIG_HID_BATTERY_STRENGTH is not set
+CONFIG_HID_BATTERY_STRENGTH=y
CONFIG_HIDRAW=y
CONFIG_UHID=y
CONFIG_HID_GENERIC=y
@@ -4226,7 +4229,8 @@ CONFIG_HID_NTRIG=m
# CONFIG_HID_ROCCAT is not set
# CONFIG_HID_SAITEK is not set
# CONFIG_HID_SAMSUNG is not set
-# CONFIG_HID_SONY is not set
+CONFIG_HID_SONY=y
+CONFIG_SONY_FF=y
# CONFIG_HID_SPEEDLINK is not set
# CONFIG_HID_STEAM is not set
# CONFIG_HID_STEELSERIES is not set
@@ -4443,7 +4447,6 @@ CONFIG_USB_SERIAL_SSU100=y
# CONFIG_USB_EMI26 is not set
# CONFIG_USB_ADUTUX is not set
# CONFIG_USB_SEVSEG is not set
-# CONFIG_USB_RIO500 is not set
# CONFIG_USB_LEGOTOWER is not set
# CONFIG_USB_LCD is not set
# CONFIG_USB_CYPRESS_CY7C63 is not set
diff --git a/caas/device.mk b/caas/device.mk
index d308684fb..acc95a8c2 100644
--- a/caas/device.mk
+++ b/caas/device.mk
@@ -45,6 +45,11 @@ PRODUCT_COPY_FILES += $(LOCAL_PATH)/extra_files/slot-ab/postinstall.sh:recovery/
# Source: device/intel/mixins/groups/boot-arch/project-celadon/product.mk
##############################################################
TARGET_UEFI_ARCH := x86_64
+
+# Android Kernelflinger uses the OpenSSL library to support the
+# bootloader policy
+KERNELFLINGER_SSL_LIBRARY := openssl
+
BIOS_VARIANT := release
@@ -64,9 +69,6 @@ PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \
# Allow Kernelflinger to ignore the RSCI reset source "not_applicable"
# when setting the bootreason
KERNELFLINGER_IGNORE_NOT_APPLICABLE_RESET := true
-# Android Kernelflinger uses the OpenSSL library to support the
-# bootloader policy
-KERNELFLINGER_SSL_LIBRARY := openssl
KERNELFLINGER_SUPPORT_SELF_USB_DEVICE_MODE_PROTOCOL := true
@@ -79,7 +81,7 @@ $(call inherit-product, $(SRC_TARGET_DIR)/product/gsi_keys.mk)
KERNELFLINGER_SUPPORT_KEYBOX_PROVISION := true
##############################################################
-# Source: device/intel/mixins/groups/wlan/iwlwifi/product.mk
+# Source: device/intel/mixins/groups/wlan/auto/product.mk
##############################################################
PRODUCT_PACKAGES += \
hostapd \
@@ -91,32 +93,18 @@ PRODUCT_PACKAGES += \
iw
PRODUCT_PACKAGES += \
- android.hardware.wifi@1.0-service
+ android.hardware.wifi@1.0-service
-# FW and PNVM
-PRODUCT_PACKAGES += \
- iwl-nvm
-
-# iwlwifi USC
-PRODUCT_PACKAGES += \
- wifi_intel_usc
-
-#copy iwlwifi wpa config files
+# move configure files provided by intel to vendor partition.
PRODUCT_COPY_FILES += \
- $(INTEL_PATH_COMMON)/wlan/wpa_supplicant-common.conf:vendor/etc/wifi/wpa_supplicant.conf \
- $(INTEL_PATH_COMMON)/wlan/iwlwifi/wpa_supplicant_overlay.conf:vendor/etc/wifi/wpa_supplicant_overlay.conf \
- $(INTEL_PATH_COMMON)/wlan/iwlwifi/p2p_supplicant_overlay.conf:vendor/etc/wifi/p2p_supplicant_overlay.conf \
- frameworks/native/data/etc/android.hardware.wifi.xml:vendor/etc/permissions/android.hardware.wifi.xml \
- frameworks/native/data/etc/android.hardware.wifi.direct.xml:vendor/etc/permissions/android.hardware.wifi.direct.xml
-
-PRODUCT_COPY_FILES += \
- vendor/linux/firmware/iwlwifi-9260-th-b0-jf-b0-43.ucode:$(TARGET_COPY_OUT_VENDOR)/firmware/iwlwifi-9260-th-b0-jf-b0-43.ucode \
- vendor/linux/firmware/iwlwifi-3168-29.ucode:$(TARGET_COPY_OUT_VENDOR)/firmware/iwlwifi-3168-29.ucode \
- vendor/linux/firmware/iwlwifi-8265-36.ucode:$(TARGET_COPY_OUT_VENDOR)/firmware/iwlwifi-8265-36.ucode
-
+ $(INTEL_PATH_COMMON)/wlan/wpa_supplicant-common.conf:vendor/etc/wifi/wpa_supplicant.conf \
+ $(INTEL_PATH_COMMON)/wlan/wpa_supplicant_overlay.conf:vendor/etc/wifi/wpa_supplicant_overlay.conf \
+ $(INTEL_PATH_COMMON)/wlan/p2p_supplicant_overlay.conf:vendor/etc/wifi/p2p_supplicant_overlay.conf \
+ $(INTEL_PATH_COMMON)/wlan/wlan.conf:vendor/etc/modprobe.d/wlan.conf \
+ frameworks/native/data/etc/android.hardware.wifi.xml:vendor/etc/permissions/android.hardware.wifi.xml \
+ frameworks/native/data/etc/android.hardware.wifi.direct.xml:vendor/etc/permissions/android.hardware.wifi.direct.xml
-PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \
- ro.wifi.softap_dualband_allow=false
+PRODUCT_PACKAGE_OVERLAYS += $(INTEL_PATH_COMMON)/wlan/overlay-disable_keepalive_offload
##############################################################
# Source: device/intel/mixins/groups/kernel/gmin64/product.mk.1
##############################################################
@@ -130,16 +118,18 @@ KERNEL_MODULES_ROOT_PATH ?= vendor/lib/modules
KERNEL_MODULES_ROOT ?= $(KERNEL_MODULES_ROOT_PATH)
PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.vendor.boot.moduleslocation=/$(KERNEL_MODULES_ROOT_PATH)
##############################################################
-# Source: device/intel/mixins/groups/sepolicy/permissive/product.mk
+# Source: device/intel/mixins/groups/sepolicy/enforcing/product.mk
##############################################################
PRODUCT_PACKAGES += sepolicy-areq-checker
##############################################################
-# Source: device/intel/mixins/groups/bluetooth/btusb/product.mk
+# Source: device/intel/mixins/groups/bluetooth/auto/product.mk
##############################################################
+PRODUCT_PACKAGES += \
+ hciconfig
+
# Bluetooth tools eng / userdebug
ifneq ($(TARGET_BUILD_VARIANT),user)
PRODUCT_PACKAGES += \
- hciconfig \
btmon \
hcitool
endif
@@ -148,27 +138,14 @@ PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.bluetooth.xml:vendor/etc/permissions/android.hardware.bluetooth.xml \
frameworks/native/data/etc/android.hardware.bluetooth_le.xml:vendor/etc/permissions/android.hardware.bluetooth_le.xml
-PRODUCT_COPY_FILES += \
- vendor/linux/firmware/intel/ibt-18-16-1.ddc:$(TARGET_COPY_OUT_VENDOR)/firmware/intel/ibt-18-16-1.ddc \
- vendor/linux/firmware/intel/ibt-18-16-1.sfi:$(TARGET_COPY_OUT_VENDOR)/firmware/intel/ibt-18-16-1.sfi \
- vendor/linux/firmware/intel/ibt-18-2.ddc:$(TARGET_COPY_OUT_VENDOR)/firmware/intel/ibt-18-2.ddc \
- vendor/linux/firmware/intel/ibt-18-2.sfi:$(TARGET_COPY_OUT_VENDOR)/firmware/intel/ibt-18-2.sfi \
- vendor/linux/firmware/intel/ibt-12-16.ddc:$(TARGET_COPY_OUT_VENDOR)/firmware/intel/ibt-12-16.ddc \
- vendor/linux/firmware/intel/ibt-12-16.sfi:$(TARGET_COPY_OUT_VENDOR)/firmware/intel/ibt-12-16.sfi \
- vendor/linux/firmware/intel/ibt-hw-37.8.10-fw-22.50.19.14.f.bseq:$(TARGET_COPY_OUT_VENDOR)/firmware/intel/ibt-hw-37.8.10-fw-22.50.19.14.f.bseq
-
-PRODUCT_COPY_FILES += \
- $(LOCAL_PATH)/extra_files/bluetooth/bluetooth_auto_detection.sh:vendor/bin/bluetooth_auto_detection.sh
-
PRODUCT_PROPERTY_OVERRIDES += bluetooth.rfkill=1
PRODUCT_PACKAGES += \
android.hardware.bluetooth@1.0-service.vbt \
libbt-vendor \
-PRODUCT_PACKAGE_OVERLAYS += $(INTEL_PATH_COMMON)/bluetooth/overlay-car
-PRODUCT_PACKAGE_OVERLAYS += $(INTEL_PATH_COMMON)/bluetooth/intel/car/overlay
+PRODUCT_PACKAGE_OVERLAYS += $(INTEL_PATH_COMMON)/bluetooth/overlay-tablet
##############################################################
# Source: device/intel/mixins/groups/audio/project-celadon/product.mk
@@ -261,8 +238,6 @@ PRODUCT_COPY_FILES += \
PRODUCT_PACKAGES += android.hardware.keymaster@3.0-impl \
android.hardware.keymaster@3.0-service \
- android.hardware.wifi@1.0-service \
- android.hardware.bluetooth@1.0-service.vbt \
android.hardware.usb@1.0-impl \
android.hardware.usb@1.0-service \
android.hardware.dumpstate@1.0-impl \
@@ -275,8 +250,7 @@ PRODUCT_PACKAGES += android.hardware.keymaster@3.0-impl \
android.hardware.graphics.allocator@2.0-service \
android.hardware.renderscript@1.0-impl \
android.hardware.graphics.composer@2.1-impl \
- android.hardware.graphics.composer@2.1-service \
- libbt-vendor
+ android.hardware.graphics.composer@2.1-service
PRODUCT_COPY_FILES += $(LOCAL_PATH)/manifest.xml:vendor/manifest.xml
##############################################################
@@ -300,7 +274,6 @@ endif
PRODUCT_PACKAGES += \
libtrusty \
storageproxyd \
- cp_ss \
libinteltrustystorage \
libinteltrustystorageinterface \
gatekeeper.trusty \
@@ -392,9 +365,16 @@ PRODUCT_PACKAGES += ufo_prebuilts
# i915 firmwares
$(foreach fw,$(I915_FW),$(eval PRODUCT_PACKAGES += $(notdir $(fw))))
+# move configure files provided by intel to vendor partition
PRODUCT_COPY_FILES += \
- $(LOCAL_PATH)/extra_files/graphics/drirc:system/etc/drirc
+ $(LOCAL_PATH)/extra_files/graphics/drirc:vendor/etc/drirc
+# DRM HWComposer
+PRODUCT_PACKAGES += \
+ hwcomposer.drm_minigbm
+
+# PRODUCT_PROPERTY_OVERRIDES += \
+# ro.hardware.hwcomposer=drm
# HWComposer IA
PRODUCT_PACKAGES += \
@@ -412,12 +392,12 @@ PRODUCT_COPY_FILES += $(INTEL_HWC_CONFIG)/hwc_display.ini:$(TARGET_COPY_OUT_VEND
PRODUCT_COPY_FILES += $(INTEL_HWC_CONFIG)/hwc_display.kvm.ini:$(TARGET_COPY_OUT_VENDOR)/etc/hwc_display.kvm.ini
endif
-
# Mini gbm
# PRODUCT_PROPERTY_OVERRIDES += \
# ro.hardware.gralloc=$(TARGET_GFX_INTEL)
PRODUCT_PACKAGES += \
+ gralloc.minigbm \
gralloc.$(TARGET_GFX_INTEL)
@@ -480,7 +460,7 @@ PRODUCT_COPY_FILES += \
frameworks/av/media/libstagefright/data/media_codecs_google_video.xml:vendor/etc/media_codecs_google_video.xml \
$(LOCAL_PATH)/extra_files/codecs/media_codecs.xml:vendor/etc/media_codecs.xml \
$(LOCAL_PATH)/extra_files/codecs/mfx_omxil_core.conf:vendor/etc/mfx_omxil_core.conf \
- $(LOCAL_PATH)/extra_files/codecs/media_profiles.xml:vendor/etc/media_profiles_V1_0.xml
+ $(LOCAL_PATH)/extra_files/codecs/media_profiles_1080p.xml:vendor/etc/media_profiles_V1_0.xml
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/extra_files/codecs/media_codecs_performance_bxt.xml:vendor/etc/media_codecs_performance.xml
@@ -512,11 +492,12 @@ endif
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.software.midi.xml:vendor/etc/permissions/android.software.midi.xml
##############################################################
-# Source: device/intel/mixins/groups/touch/galax7200/product.mk
+# Source: device/intel/mixins/groups/touch/cvt0f21/product.mk
##############################################################
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.touchscreen.multitouch.jazzhand.xml:vendor/etc/permissions/android.hardware.touchscreen.multitouch.jazzhand.xml\
- $(INTEL_PATH_COMMON)/touch/Vendor_0eef_Product_7200.idc:system/usr/idc/Vendor_0eef_Product_7200.idc
+ $(INTEL_PATH_COMMON)/touch/Vendor_1ff7_Product_0f21.idc:system/usr/idc/Vendor_1ff7_Product_0f21.idc
+
##############################################################
# Source: device/intel/mixins/groups/debug-tools/true/product.mk
##############################################################
@@ -634,6 +615,11 @@ PRODUCT_PACKAGES += android.hardware.health@2.0-service.intel
ABOTA_BOOTARCH=project-celadon
+##############################################################
+# Source: device/intel/mixins/groups/usb-otg-switch/true/product.mk
+##############################################################
+
+PRODUCT_COPY_FILES += $(LOCAL_PATH)/extra_files/usb-otg-switch/usb_otg_switch.sh:vendor/bin/usb_otg_switch.sh
##############################################################
# Source: device/intel/mixins/groups/public-libraries/true/product.mk
##############################################################
@@ -651,7 +637,8 @@ PRODUCT_PACKAGES += hdcpd
# neuralnetworks HAL
PRODUCT_PACKAGES += \
android.hardware.neuralnetworks@1.1-generic-service \
- android.hardware.neuralnetworks@1.1-generic-impl
+ android.hardware.neuralnetworks@1.1-generic-impl \
+ android.hardware.neuralnetworks@1.2-service-gpgpu
PRODUCT_PACKAGES += \
libinference_engine
diff --git a/caas/extra_files/bluetooth/auto_hal.in b/caas/extra_files/bluetooth/auto_hal.in
new file mode 100644
index 000000000..7d5cf329e
--- /dev/null
+++ b/caas/extra_files/bluetooth/auto_hal.in
@@ -0,0 +1,28 @@
+auto_hal() {
+usb_devices="/sys/kernel/debug/usb/devices"
+
+hciconfig | grep -q hci
+
+if [ $? != 0 ]; then
+ echo "hci interface not found"
+ return
+fi
+
+cat $usb_devices | grep -q "Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb"
+if [ $? == 0 ]; then
+ cat $usb_devices | grep -q "Vendor=1286"
+ if [ $? == 0 ]; then
+ echo "Marvell Bluetooth controller"
+ setprop vendor.bluetooth.chip "marvell"
+ else
+ cat $usb_devices | grep -q "Vendor=8087"
+ if [ $? == 0 ]; then
+ echo "Intel Bluetooth Controller"
+ setprop vendor.bluetooth.chip "intel"
+ fi
+ fi
+else
+ echo "No bluetooth device connected"
+fi
+}
+auto_hal&
diff --git a/caas/extra_files/bluetooth/load_bt.in b/caas/extra_files/bluetooth/load_bt.in
deleted file mode 100644
index 23d899456..000000000
--- a/caas/extra_files/bluetooth/load_bt.in
+++ /dev/null
@@ -1,10 +0,0 @@
-load_bt_modules() {
-insmod $modules/ecdh_generic.ko
-insmod $modules/bluetooth.ko
-insmod $modules/btintel.ko
-insmod $modules/btbcm.ko
-insmod $modules/btrtl.ko
-insmod $modules/btusb.ko
-insmod $modules/btusb_sco_snd_card.ko
-}
-load_bt_modules&
diff --git a/caas/extra_files/boot-arch/update_ifwi_ab.sh b/caas/extra_files/boot-arch/update_ifwi_ab.sh
index 3cadb9f0c..6bc8c9bbf 100644
--- a/caas/extra_files/boot-arch/update_ifwi_ab.sh
+++ b/caas/extra_files/boot-arch/update_ifwi_ab.sh
@@ -1,4 +1,4 @@
-#!/vendor/bin/sh
+#!/system/bin/sh
# userdata checkpoint cleanup at postinstall step
USERDATA_CHECKPOINT_GC=vendor/bin/checkpoint_gc
diff --git a/caas/extra_files/camera-ext/external_camera_config.xml b/caas/extra_files/camera-ext/external_camera_config.xml
index 1f9be47b9..72597369f 100644
--- a/caas/extra_files/camera-ext/external_camera_config.xml
+++ b/caas/extra_files/camera-ext/external_camera_config.xml
@@ -39,8 +39,10 @@
-
-
+
+
+
+
diff --git a/caas/extra_files/codecs/media_profiles_1080p.xml b/caas/extra_files/codecs/media_profiles_1080p.xml
index bacc714a4..f6363eab7 100644
--- a/caas/extra_files/codecs/media_profiles_1080p.xml
+++ b/caas/extra_files/codecs/media_profiles_1080p.xml
@@ -246,6 +246,19 @@
channels="1" />
+
+
+
+
+
+
@@ -359,16 +372,39 @@
channels="1" />
+
+
+
+
+
+
+
+
+
diff --git a/caas/extra_files/graphics/auto_hal.in b/caas/extra_files/graphics/auto_hal.in
index 1225c5619..7c2fe2d68 100644
--- a/caas/extra_files/graphics/auto_hal.in
+++ b/caas/extra_files/graphics/auto_hal.in
@@ -1,5 +1,5 @@
auto_hal() {
-case "$(cat /proc/fb | grep inteldrmfb)" in
+case "$(cat /proc/fb)" in
*inteldrmfb)
echo "intel"
setprop ro.hardware.hwcomposer intel
@@ -13,6 +13,11 @@ case "$(cat /proc/fb | grep inteldrmfb)" in
;;
esac
;;
+ *virtiodrmfb)
+ echo "virtio-gpu"
+ setprop ro.hardware.hwcomposer drm_minigbm
+ setprop ro.hardware.gralloc minigbm
+ ;;
*)
echo "sw rendering"
setprop ro.hardware.egl swiftshader
diff --git a/caas/extra_files/usb-otg-switch/usb_otg_switch.sh b/caas/extra_files/usb-otg-switch/usb_otg_switch.sh
new file mode 100755
index 000000000..7b0b68e81
--- /dev/null
+++ b/caas/extra_files/usb-otg-switch/usb_otg_switch.sh
@@ -0,0 +1,25 @@
+#!/vendor/bin/sh
+
+KERNEL_VERSION=$(uname -r)
+
+echo $1
+if [[ $1 = "h" ]]; then
+ case "$KERNEL_VERSION" in
+ 4.4*) echo h > /sys/bus/platform/devices/intel-cht-otg.0/mux_state ;;
+ 4.9*) echo h > /sys/bus/platform/drivers/intel_usb_dr_phy/intel_usb_dr_phy.0/mux_state ;;
+ *) echo "host" > /sys/class/usb_role/intel_xhci_usb_sw-role-switch/role ;;
+ esac
+
+elif [[ $1 = "p" ]]; then
+ case "$KERNEL_VERSION" in
+ 4.4*) echo p > /sys/bus/platform/devices/intel-cht-otg.0/mux_state ;;
+ 4.9*) echo p > /sys/bus/platform/drivers/intel_usb_dr_phy/intel_usb_dr_phy.0/mux_state ;;
+ *) echo "device" > /sys/class/usb_role/intel_xhci_usb_sw-role-switch/role ;;
+ esac
+
+else
+ echo "Please input h to swith to USB OTG mode"
+ echo "usb_otg_switch.sh h"
+ echo "Please input p to swith USB device mode"
+ echo "usb_otg_switch.sh p"
+fi
diff --git a/caas/extra_files/wlan/load_iwlwifi.in b/caas/extra_files/wlan/load_iwlwifi.in
deleted file mode 100644
index a40725443..000000000
--- a/caas/extra_files/wlan/load_iwlwifi.in
+++ /dev/null
@@ -1,9 +0,0 @@
-load_iwlwifi_modules() {
- insmod $modules/compat.ko
-
- insmod $modules/cfg80211.ko
- insmod $modules/mac80211.ko
- insmod $modules/iwlwifi.ko d0i3_disable=1
- insmod $modules/iwlmvm.ko power_scheme=1
-}
-load_iwlwifi_modules&
diff --git a/caas/extra_files/wlan/load_legacy_iwlwifi.in b/caas/extra_files/wlan/load_legacy_iwlwifi.in
deleted file mode 100644
index a6b4672bc..000000000
--- a/caas/extra_files/wlan/load_legacy_iwlwifi.in
+++ /dev/null
@@ -1,7 +0,0 @@
-load_iwlwifi_modules() {
- insmod $modules/cfg80211.ko
- insmod $modules/mac80211.ko
- insmod $modules/iwlwifi.ko d0i3_disable=1
- insmod $modules/iwlmvm.ko power_scheme=1
-}
-load_iwlwifi_modules&
diff --git a/caas/fstab b/caas/fstab
index 097cf813a..8084c6b82 100644
--- a/caas/fstab
+++ b/caas/fstab
@@ -9,7 +9,7 @@
# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK
system /system ext4 ro,barrier=1 wait,slotselect,avb_keys=/avb/q-gsi.avbpubkey:/avb/r-gsi.avbpubkey:/avb/s-gsi.avbpubkey,avb=vbmeta,logical,first_stage_mount
/dev/block/by-name/vbmeta /vbmeta emmc defaults defaults,slotselect,avb
-/dev/block/by-name/userdata /data ext4 noatime,nosuid,nodev,noauto_da_alloc,errors=panic wait,check,formattable,quota,reservedsize=50m
+/dev/block/by-name/userdata /data ext4 noatime,nosuid,nodev,noauto_da_alloc,errors=panic wait,check,formattable,fileencryption=aes-256-xts:aes-256-cts,quota,reservedsize=50m
/dev/block/by-name/boot /boot emmc defaults defaults,slotselect,avb
/dev/block/by-name/misc /misc emmc defaults defaults
/dev/block/by-name/tos /tos emmc defaults defaults,slotselect,avb
diff --git a/caas/fstab.recovery b/caas/fstab.recovery
index d0b53b8ec..ae844b337 100644
--- a/caas/fstab.recovery
+++ b/caas/fstab.recovery
@@ -9,7 +9,7 @@
# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK
system /system ext4 ro,barrier=1 wait,slotselect,avb_keys=/avb/q-gsi.avbpubkey:/avb/r-gsi.avbpubkey:/avb/s-gsi.avbpubkey,avb=vbmeta,logical,first_stage_mount
/dev/block/by-name/vbmeta /vbmeta emmc defaults defaults,slotselect,avb
-/dev/block/by-name/userdata /data ext4 noatime,nosuid,nodev,noauto_da_alloc,errors=panic wait,check,formattable
+/dev/block/by-name/userdata /data ext4 noatime,nosuid,nodev,noauto_da_alloc,errors=panic wait,check,formattable,fileencryption=aes-256-xts:aes-256-cts
/dev/block/by-name/boot /boot emmc defaults defaults
/dev/block/by-name/misc /misc emmc defaults defaults
/dev/block/by-name/tos /tos emmc defaults defaults,slotselect
diff --git a/caas/init.rc b/caas/init.rc
index 03521edfe..570f1a1bb 100644
--- a/caas/init.rc
+++ b/caas/init.rc
@@ -21,14 +21,10 @@ service watchdogd /system/bin/watchdogd 10 30
on charger
start watchdogd
##############################################################
-# Source: device/intel/mixins/groups/wlan/iwlwifi/init.rc
+# Source: device/intel/mixins/groups/wlan/auto/init.rc
##############################################################
on post-fs-data
chmod 0660 /data/misc/wifi/p2p_supplicant.conf
-
- # create config WiFi NVM folder
- mkdir /oem_config/wlan 0770 wifi system
-
setprop wifi.interface wlan0
setprop wifi.direct.interface p2p-dev-wlan0
@@ -69,7 +65,6 @@ service dhcpcd_p2p /system/bin/dhcpcd -aABKL
service iprenew_p2p /system/bin/dhcpcd -n
disabled
oneshot
-
##############################################################
# Source: device/intel/mixins/groups/kernel/gmin64/init.rc
##############################################################
@@ -86,30 +81,6 @@ on boot
on boot
setrlimit 8 8388608 8388608
##############################################################
-# Source: device/intel/mixins/groups/bluetooth/btusb/init.rc
-##############################################################
-on post-fs-data
- # To store BT paired info
- mkdir /data/misc/hcid 0770 bluetooth bluetooth
-
-on boot
- chmod 0644 /sys/kernel/debug/bluetooth/l2cap_le_max_credits
- chmod 0644 /sys/kernel/debug/bluetooth/l2cap_le_default_mps
-
-on post-fs-data
- mkdir /data/misc/dhcp 0770 dhcp system
-
-on property:vendor.boot_completed=1
- exec u:r:init:s0 -- /system/bin/logwrapper /system/bin/sh /vendor/bin/bluetooth_auto_detection.sh
-
-service dhcpcd_bt-pan /system/bin/dhcpcd -ABKL
- disabled
- oneshot
-
-service iprenew_bt-pan /system/bin/dhcpcd -n
- disabled
- oneshot
-##############################################################
# Source: device/intel/mixins/groups/audio/project-celadon/init.rc
##############################################################
on boot
@@ -170,15 +141,6 @@ on post-fs-data
on early-boot
start storageproxyd
-on property:ro.vendor.copy.ss=1
- copy /data/misc/securestorage/0 /data/vendor/securestorage/0
- restart storageproxyd
-
-service cp_securestorage /vendor/bin/cp_ss
- user system
- group system
- oneshot
-
service storageproxyd /vendor/bin/storageproxyd -d /dev/trusty-ipc-dev0 -p /data/vendor/securestorage -r /dev/rpmb0
user system
group system
@@ -555,6 +517,20 @@ on early-boot
copy /sys/devices/system/cpu/online /dev/cpuset/top-app/cpus
copy /sys/devices/system/cpu/online /dev/cpuset/foreground/boost/cpus
##############################################################
+# Source: device/intel/mixins/groups/usb-otg-switch/true/init.rc
+##############################################################
+on boot
+ setprop vendor.sys.usb.role device
+
+on property:sys.boot_completed=1
+ setprop vendor.sys.usb.role device
+
+on property:vendor.sys.usb.role=host
+ exec - system system -- /vendor/bin/usb_otg_switch.sh h
+
+on property:vendor.sys.usb.role=device
+ exec - system system -- /vendor/bin/usb_otg_switch.sh p
+##############################################################
# Source: device/intel/mixins/groups/hdcpd/true/init.rc
##############################################################
# Note that this service must start as root to set up a mem-mapped region
@@ -663,7 +639,13 @@ on init
start vendor.aafd
on fs
- exec u:r:init:s0 -- /system/bin/logwrapper /system/bin/sh /vendor/bin/auto_detection.sh
+ exec - root root -- /vendor/bin/logwrapper /vendor/bin/sh /vendor/bin/auto_detection.sh
+
+# previously these properties are set in auto_detection.sh, however, these properties are
+# of exported_default_prop which can only be set by init or vendor_init with treble
+# enabled, so we have to hardcod these properties here.
+ setprop ro.hardware.hwcomposer intel
+ setprop ro.hardware.gralloc intel
##############################################################
# Source: device/intel/mixins/groups/suspend/never/init.rc
##############################################################
diff --git a/caas/manifest.xml b/caas/manifest.xml
index 1e103f717..87b9d2507 100644
--- a/caas/manifest.xml
+++ b/caas/manifest.xml
@@ -135,15 +135,6 @@
default
-
- android.hardware.wifi
- hwbinder
- 1.2
-
- IWifi
- default
-
-
android.hardware.wifi.hostapd
hwbinder
@@ -259,11 +250,12 @@
android.hardware.neuralnetworks
hwbinder
- 1.1
+ 1.2
IDevice
CPU
GPU
+ gpgpu
diff --git a/caas/mixins.spec b/caas/mixins.spec
index f1f8dfb12..bbef0bb91 100755
--- a/caas/mixins.spec
+++ b/caas/mixins.spec
@@ -9,32 +9,33 @@ product.mk: device.mk
[groups]
kernel: gmin64(useprebuilt=false,src_path=kernel/lts2018, loglevel=7, interactive_governor=false, relative_sleepstates=false, modules_in_bootimg=false, external_modules=,debug_modules=, use_bcmdhd=false, use_iwlwifi=false, extmod_platform=bxt, iwl_defconfig=, cfg_path=config-lts/lts2018/bxt/android/non-embargoed, more_modules=true)
disk-bus: auto
-boot-arch: project-celadon(uefi_arch=x86_64,fastboot=efi,ignore_rsci=true,disable_watchdog=true,watchdog_parameters=10 30,verity_warning=false,txe_bind_root_of_trust=false,bootloader_block_size=4096,verity_mode=false,disk_encryption=false,file_encryption=false,target=caas,rpmb_simulate=true,ignore_not_applicable_reset=true,self_usb_device_mode_protocol=true,usb_storage=true,live_boot=true)
-sepolicy: permissive
-bluetooth: btusb(ivi=true)
+boot-arch: project-celadon(uefi_arch=x86_64,fastboot=efi,ignore_rsci=true,disable_watchdog=true,watchdog_parameters=10 30,verity_warning=false,txe_bind_root_of_trust=false,bootloader_block_size=4096,verity_mode=false,disk_encryption=false,file_encryption=true,target=caas,rpmb_simulate=true,ignore_not_applicable_reset=true,self_usb_device_mode_protocol=true,usb_storage=true,live_boot=true)
+sepolicy: enforcing
+bluetooth: auto(ivi=false)
audio: project-celadon
vendor-partition: true(partition_size=600,partition_name=vendor)
acpio-partition: true(partition_size=2)
config-partition: true
+odm-partition: true
display-density: medium
dalvik-heap: tablet-10in-xhdpi-2048
-cpu-arch: slm
+cpu-arch: x86
allow-missing-dependencies: true
dexpreopt: true
pstore: false
-media: auto(add_sw_msdk=false, opensource_msdk=true)
+media: auto(add_sw_msdk=false, opensource_msdk=true, opensource_msdk_omx_il=true)
graphics: auto(gen9+=true,hwc2=true,vulkan=true,drmhwc=false,minigbm=true,gralloc1=true,enable_guc=false)
storage: sdcard-mmc0-usb-sd(adoptablesd=true,adoptableusb=true)
ethernet: dhcp
camera-ext: ext-camera-only
rfkill: true(force_disable=)
-wlan: iwlwifi(libwifi-hal=true)
-codecs: configurable(hw_ve_h265=true, hw_vd_vp9=true, hw_vd_mp2=true, hw_vd_vc1=false, platform=bxt)
+wlan: auto
+codecs: configurable(hw_ve_h265=true, hw_vd_vp9=true, hw_vd_mp2=true, hw_vd_vc1=false, platform=bxt, profile_file=media_profiles_1080p.xml)
codec2: true
usb: host
usb-gadget: configfs(usb_config=adb,mtp_adb_pid=0x0a5f,ptp_adb_pid=0x0a61,rndis_pid=0x0a62,rndis_adb_pid=0x0a63,bcdDevice=0x0,bcdUSB=0x200,controller=dwc3.0.auto,f_acm=false,f_dvc_trace=true,dvctrace_source_dev=dvcith-0-msc0)
midi: true
-touch: galax7200
+touch: cvt0f21
navigationbar: true
device-type: tablet
debug-tools: true
@@ -60,7 +61,7 @@ firststage-mount: true
cpuset: autocores
usb-init: true
usb-audio-init: true
-usb-otg-switch: false
+usb-otg-switch: true
vndk: true
public-libraries: true
device-specific: caas
diff --git a/caas/overlay/frameworks/base/core/res/res/values/config.xml b/caas/overlay/frameworks/base/core/res/res/values/config.xml
index 9729b361f..1d32e3267 100644
--- a/caas/overlay/frameworks/base/core/res/res/values/config.xml
+++ b/caas/overlay/frameworks/base/core/res/res/values/config.xml
@@ -182,9 +182,6 @@
will prevent the system from entering a low power state until the dream ends. -->
false
-
- true
-
8
diff --git a/caas/overlay/packages/apps/Bluetooth/res/values/config.xml b/caas/overlay/packages/apps/Bluetooth/res/values/config.xml
index 787de8619..315fa36ad 100644
--- a/caas/overlay/packages/apps/Bluetooth/res/values/config.xml
+++ b/caas/overlay/packages/apps/Bluetooth/res/values/config.xml
@@ -13,13 +13,16 @@
limitations under the License.
-->
- false
- true
- false
- true
- true
- true
-
-
- true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
diff --git a/caas/setup_host.sh b/caas/setup_host.sh
index 1c3d2d052..4a697c435 100755
--- a/caas/setup_host.sh
+++ b/caas/setup_host.sh
@@ -1,6 +1,8 @@
#!/bin/bash
reboot_required=0
+QEMU_REL=qemu-4.2.0
+a=`grep -rn CIV_WORK_DIR /etc/environment`
function ubu_changes_require(){
echo "Please make sure your apt is working"
@@ -9,16 +11,17 @@ function ubu_changes_require(){
if [ x$res = xn ]; then
exit 0
fi
+ apt install -y wget mtools ovmf
}
function ubu_install_qemu(){
apt purge -y "qemu*"
apt autoremove -y
- apt install -y git libfdt-dev libpixman-1-dev libssl-dev vim socat libsdl1.2-dev libspice-server-dev autoconf libtool xtightvncviewer tightvncserver x11vnc libsdl1.2-dev uuid-runtime uuid uml-utilities bridge-utils python-dev liblzma-dev libc6-dev libegl1-mesa-dev libepoxy-dev libdrm-dev libgbm-dev libaio-dev libusb-1.0.0-dev libgtk-3-dev bison
+ apt install -y git libfdt-dev libpixman-1-dev libssl-dev vim socat libsdl2-dev libspice-server-dev autoconf libtool xtightvncviewer tightvncserver x11vnc uuid-runtime uuid uml-utilities bridge-utils python-dev liblzma-dev libc6-dev libegl1-mesa-dev libepoxy-dev libdrm-dev libgbm-dev libaio-dev libusb-1.0.0-dev libgtk-3-dev bison
- wget https://download.qemu.org/qemu-3.0.0.tar.xz
- tar -xf qemu-3.0.0.tar.xz
- cd qemu-3.0.0/
+ wget https://download.qemu.org/$QEMU_REL.tar.xz
+ tar -xf $QEMU_REL.tar.xz
+ cd $QEMU_REL/
./configure --prefix=/usr \
--enable-kvm \
--disable-xen \
@@ -32,40 +35,43 @@ function ubu_install_qemu(){
--enable-opengl \
--enable-gtk \
--target-list=x86_64-softmmu \
- --audio-drv-list=alsa
+ --audio-drv-list=pa
make -j24
make install
cd ../
}
+function ubu_build_ovmf(){
+ sudo apt install -y uuid-dev nasm acpidump iasl
+ cd $QEMU_REL/roms/edk2
+ source ./edksetup.sh
+ make -C BaseTools/
+ build -b DEBUG -t GCC5 -a X64 -p OvmfPkg/OvmfPkgX64.dsc -D NETWORK_IP4_ENABLE -D NETWORK_ENABLE -D SECURE_BOOT_ENABLE
+ cp Build/OvmfX64/DEBUG_GCC5/FV/OVMF.fd ../../../OVMF.fd
+ cd ../../../
+}
+
function ubu_enable_host_gvtg(){
- [[ ! `cat /etc/default/grub` =~ "i915.enable_gvt=1 intel_iommu=on" ]] \
- && sed -i "s/GRUB_CMDLINE_LINUX=\"/GRUB_CMDLINE_LINUX=\"i915.enable_gvt=1 intel_iommu=on /g" /etc/default/grub \
- && update-grub \
- && reboot_required=1
+ if [[ ! `cat /etc/default/grub` =~ "i915.enable_gvt=1 intel_iommu=on" ]]; then
+ read -p "The grub entry in '/etc/default/grub' will be updated for enabling GVT-g, do you want to continue? [Y/n]" res
+ if [ x$res = xn ]; then
+ exit 0
+ fi
+ sed -i "s/GRUB_CMDLINE_LINUX=\"/GRUB_CMDLINE_LINUX=\"i915.enable_gvt=1 intel_iommu=on /g" /etc/default/grub
+ update-grub
+ reboot_required=1
+ fi
}
function check_network(){
- wget --timeout=3 --tries=1 https://download.qemu.org/ -q -O /dev/null
+ wget --timeout=3 --tries=1 https://github.com/projectceladon/ -q -O /dev/null
if [ $? -ne 0 ]; then
- echo "access https://download.qemu.org/ failed!"
+ echo "access https://github.com/projectceladon/ failed!"
echo "please make sure network is working"
exit -1
fi
}
-function ubu_build_bios(){
- apt install -y build-essential git uuid-dev iasl nasm git iasl
- wget https://github.com/tianocore/edk2/archive/edk2-stable201808.tar.gz
- tar zxvf edk2-stable201808.tar.gz
- cd edk2-edk2-stable201808/
- source ./edksetup.sh
- make -C BaseTools/
- build -a X64 -t GCC48 -p OvmfPkg/OvmfPkgX64.dsc
- find . -name OVMF.fd -exec cp {} .. \;
- cd ..
-}
-
function ask_reboot(){
if [ $reboot_required -eq 1 ];then
read -p "Reboot is required, do you want to reboot it NOW? [y/N]" res
@@ -86,38 +92,28 @@ function check_kernel(){
if [[ "$version" > "5.0.0" ]]; then
echo "hardware rendering is supported in current kernel"
else
- echo "W: Detected linux version $version, software rendering will be used"
- echo "W: Please upgrade kernel version newer than 5.0.0 for smoother experience!"
+ echo "W: Detected linux version $version"
+ echo "W: Please upgrade kernel version newer than 5.0.0!"
fi
}
function clr_changes_require(){
echo "Please make sure your bundle is working"
echo "If you run the installation first time, reboot is required"
-}
-
-function clr_install_qemu(){
- swupd bundle-add kvm-host
+ swupd bundle-add wget storage-utils kvm-host
}
function clr_enable_host_gvtg(){
- [[ ! -f /etc/kernel/cmdline.d/gvtg.conf ]] \
- && mkdir -p /etc/kernel/cmdline.d/ \
- && echo "i915.enable_gvt=1 kvm.ignore_msrs=1 intel_iommu=on" > /etc/kernel/cmdline.d/gvtg.conf \
- && clr-boot-manager update \
- && reboot_required=1
-}
-
-function clr_build_bios(){
- swupd bundle-add nasm devpkg-util-linux acpica-unix2 git
- wget https://github.com/tianocore/edk2/archive/edk2-stable201808.tar.gz
- tar zxvf edk2-stable201808.tar.gz
- cd edk2-edk2-stable201808/
- source ./edksetup.sh
- make -C BaseTools/
- build -a X64 -t GCC48 -p OvmfPkg/OvmfPkgX64.dsc
- find . -name OVMF.fd -exec cp {} .. \;
- cd ..
+ if [[ ! -f /etc/kernel/cmdline.d/gvtg.conf ]]; then
+ read -p "File '/etc/kernel/cmdline.d/gvtg.conf' will be created for enabling GVT-g, do you want to continue? [Y/n]" res
+ if [ x$res = xn ]; then
+ exit 0
+ fi
+ mkdir -p /etc/kernel/cmdline.d/
+ echo "i915.enable_gvt=1 kvm.ignore_msrs=1 intel_iommu=on" > /etc/kernel/cmdline.d/gvtg.conf
+ clr-boot-manager update
+ reboot_required=1
+ fi
}
function get_required_scripts(){
@@ -127,25 +123,34 @@ function get_required_scripts(){
chmod +x start_android_qcow2.sh
}
+function save_env(){
+ if [ -z "$a" ]; then
+ echo "export CIV_WORK_DIR=$(pwd)" | tee -a /etc/environment
+ else
+ sed -i "s|export CIV_WORK_DIR.*||g" /etc/environment
+ echo "export CIV_WORK_DIR=$(pwd)" | tee -a /etc/environment
+ fi
+}
+
version=`cat /proc/version`
if [[ $version =~ "Ubuntu" ]]; then
check_network
ubu_changes_require
ubu_install_qemu
- ubu_build_bios
+ ubu_build_ovmf
ubu_enable_host_gvtg
get_required_scripts
check_kernel
+ save_env
ask_reboot
elif [[ $version =~ "Clear Linux OS" ]]; then
check_network
clr_changes_require
- clr_install_qemu
- clr_build_bios
clr_enable_host_gvtg
get_required_scripts
check_kernel
+ save_env
ask_reboot
else
echo "only clearlinux or Ubuntu is supported"
diff --git a/caas/start_android_qcow2.sh b/caas/start_android_qcow2.sh
index e2fdb1a95..5e63aaff3 100755
--- a/caas/start_android_qcow2.sh
+++ b/caas/start_android_qcow2.sh
@@ -1,67 +1,109 @@
#!/bin/bash
-g_file="/sys/bus/pci/devices/0000:00:02.0/4ec1ff92-81d7-11e9-aed4-5bf6a9a2bb0a"
+work_dir=$PWD
+caas_image=$work_dir/android.qcow2
+ovmf_file="./OVMF.fd"
+[ ! -f $ovmf_file ] && ovmf_file="/usr/share/qemu/OVMF.fd"
+
+GVTg_DEV_PATH="/sys/bus/pci/devices/0000:00:02.0"
+GVTg_VGPU_UUID="4ec1ff92-81d7-11e9-aed4-5bf6a9a2bb0a"
function setup_vgpu(){
res=0
- if [ ! -d $g_file ]; then
+ if [ ! -d $GVTg_DEV_PATH/$GVTg_VGPU_UUID ]; then
echo "Creating VGPU..."
- sudo sh -c "echo 4ec1ff92-81d7-11e9-aed4-5bf6a9a2bb0a > /sys/bus/pci/devices/0000:00:02.0/mdev_supported_types/i915-GVTg_V5_8/create"
+ sudo sh -c "echo $GVTg_VGPU_UUID > $GVTg_DEV_PATH/mdev_supported_types/i915-GVTg_V5_8/create"
res=$?
fi
return $res
}
+if [[ $1 == "--display-off" ]]
+then
+ display_type="none"
+ ramfb_state="off"
+ display_state="off"
+else
+ display_type="gtk,gl=on"
+ ramfb_state="on"
+ display_state="on"
+fi
+
+common_options="\
+ -m 2048 -smp 2 -M q35 \
+ -name caas-vm \
+ -enable-kvm \
+ -vga none \
+ -display $display_type \
+ -k en-us \
+ -machine kernel_irqchip=off \
+ -global PIIX4_PM.disable_s3=1 -global PIIX4_PM.disable_s4=1 \
+ -cpu host \
+ -device qemu-xhci,id=xhci,addr=0x8 \
+ -device usb-host,vendorid=0x046d,productid=0x082d \
+ -device usb-host,vendorid=0x046d,productid=0x085c \
+ -device usb-host,vendorid=0x03eb,productid=0x8a6e \
+ -device usb-host,vendorid=0x0eef,productid=0x7200 \
+ -device usb-host,vendorid=0x222a,productid=0x0141 \
+ -device usb-host,vendorid=0x222a,productid=0x0088 \
+ -device usb-host,vendorid=0x8087,productid=0x0a2b \
+ -device usb-mouse \
+ -device usb-kbd \
+ -drive file=$ovmf_file,format=raw,if=pflash \
+ -chardev socket,id=charserial0,path=./kernel-console,server,nowait \
+ -device isa-serial,chardev=charserial0,id=serial0 \
+ -device intel-hda -device hda-duplex \
+ -audiodev id=android_spk,timer-period=5000,driver=pa \
+ -drive file=$caas_image,if=none,id=disk1 \
+ -device virtio-blk-pci,drive=disk1,bootindex=1 \
+ -device e1000,netdev=net0 \
+ -netdev user,id=net0,hostfwd=tcp::5555-:5555,hostfwd=tcp::5554-:5554 \
+ -device intel-iommu,device-iotlb=off,caching-mode=on \
+ -full-screen \
+ -pidfile android_vm.pid \
+ -nodefaults
+"
+
function launch_hwrender(){
- qemu-system-x86_64 \
- -m 2048 -smp 2 -M q35 \
- -name caas-vm \
- -enable-kvm \
- -vga none \
- -display gtk,gl=on \
- -device vfio-pci,sysfsdev=/sys/bus/pci/devices/0000:00:02.0/4ec1ff92-81d7-11e9-aed4-5bf6a9a2bb0a,display=on,x-igd-opregion=on \
- -k en-us \
- -machine kernel_irqchip=off \
- -global PIIX4_PM.disable_s3=1 -global PIIX4_PM.disable_s4=1 \
- -cpu host \
- -device qemu-xhci,id=xhci,addr=0x8 \
- -device usb-mouse \
- -device usb-kbd \
- -bios ./OVMF.fd \
- -chardev socket,id=charserial0,path=./kernel-console,server,nowait \
- -device isa-serial,chardev=charserial0,id=serial0 \
- -device intel-hda -device hda-duplex \
- -drive file=./android.qcow2,if=none,id=disk1 \
- -device virtio-blk-pci,drive=disk1,bootindex=1 \
- -device e1000,netdev=net0 \
- -netdev user,id=net0,hostfwd=tcp::5555-:5555 \
- -nodefaults
+ if [[ $1 == "--display-off" ]]
+ then
+ qemu-system-x86_64 \
+ -device vfio-pci-nohotplug,ramfb=$ramfb_state,sysfsdev=$GVTg_DEV_PATH/$GVTg_VGPU_UUID,display=$display_state,x-igd-opregion=on \
+ $common_options &
+ sleep 5
+ echo -n "Android started successfully and is running in background, pid of the process is:"
+ cat android_vm.pid
+ echo -ne '\n'
+ else
+ qemu-system-x86_64 \
+ -device vfio-pci-nohotplug,ramfb=$ramfb_state,sysfsdev=$GVTg_DEV_PATH/$GVTg_VGPU_UUID,display=$display_state,x-igd-opregion=on \
+ $common_options
+ fi
}
function launch_swrender(){
- qemu-system-x86_64 \
- -m 2048 -smp 2 -M q35 \
- -name caas-vm \
- -enable-kvm \
- -k en-us \
- -vga none \
- -display gtk,gl=on \
- -device qxl-vga,xres=1280,yres=720 \
- -machine kernel_irqchip=off \
- -global PIIX4_PM.disable_s3=1 -global PIIX4_PM.disable_s4=1 \
- -cpu host \
- -device qemu-xhci,id=xhci,addr=0x8 \
- -device usb-mouse \
- -device usb-kbd \
- -bios ./OVMF.fd \
- -chardev socket,id=charserial0,path=./kernel-console,server,nowait \
- -device isa-serial,chardev=charserial0,id=serial0 \
- -device intel-hda -device hda-duplex \
- -drive file=./android.qcow2,if=none,id=disk1 \
- -device virtio-blk-pci,drive=disk1,bootindex=1 \
- -device e1000,netdev=net0 \
- -netdev user,id=net0,hostfwd=tcp::5555-:5555 \
- -nodefaults
+ if [[ $1 == "--display-off" ]]
+ then
+ qemu-system-x86_64 \
+ -device qxl-vga,xres=1280,yres=720 \
+ $common_options &
+ sleep 5
+ echo -n "Android started successfully and is running in background, pid of the process is:"
+ cat android_vm.pid
+ echo -ne '\n'
+ else
+ qemu-system-x86_64 \
+ -device qxl-vga,xres=1280,yres=720 \
+ $common_options
+ fi
+}
+
+function check_nested_vt(){
+ nested=$(cat /sys/module/kvm_intel/parameters/nested)
+ if [[ $nested != 1 && $nested != 'Y' ]]; then
+ echo "E: Nested VT is not enabled!"
+ exit -1
+ fi
}
version=`cat /proc/version`
@@ -71,17 +113,21 @@ vno=$(echo $version | \
for(i=0;i "5.0.0" ]]; then
+if [[ "$vno" > "5.0.0" ]]; then
+ if [[ "$vno" > "5.3.0" ]]; then
+ modprobe kvmgt
+ fi
+ check_nested_vt
setup_vgpu
if [[ $? == 0 ]]; then
- launch_hwrender
+ launch_hwrender $1
else
echo "W: Failed to create vgpu, fall to software rendering"
- launch_swrender
+ launch_swrender $1
fi
else
- echo "W: Detected linux version $vno, fall to software rendering"
- echo "W: Please upgrade kernel version newer than 5.0.0 for smoother experience!"
- launch_swrender
+ echo "E: Detected linux version $vno"
+ echo "E: Please upgrade kernel version newer than 5.0.0!"
+ exit -1
fi
diff --git a/caas/start_flash_usb.sh b/caas/start_flash_usb.sh
index 4b5866096..a58c0f006 100755
--- a/caas/start_flash_usb.sh
+++ b/caas/start_flash_usb.sh
@@ -1,5 +1,38 @@
#!/bin/bash
+[ $# -lt 1 ] && echo "Usage: $0 caas-flashfiles-eng-.zip" && exit -1
+
+if [ -f android.qcow2 ]
+then
+ echo -n "android.qcow2 already exsited, Do you want to flash new one(y/N):"
+ read option
+ if [ "$option" == 'y' ]
+ then
+ rm android.qcow2
+ else
+ exit 1
+ fi
+fi
+
+qemu-img create -f qcow2 android.qcow2 16G
+
+[ -d "./flashfiles_decompress" ] && rm -rf "./flashfiles_decompress"
+mkdir ./flashfiles_decompress
+unzip $1 -d ./flashfiles_decompress
+dd if=/dev/zero of=./flash.vfat bs=63M count=160
+mkfs.vfat ./flash.vfat
+mcopy -i flash.vfat flashfiles_decompress/* ::
+
+ovmf_file="./OVMF.fd"
+[ ! -f $ovmf_file ] && ovmf_file="/usr/share/qemu/OVMF.fd"
+
+if [[ $2 == "--display-off" ]]
+then
+ display_type="none"
+else
+ display_type="gtk,gl=on"
+fi
+
qemu-system-x86_64 \
-m 2048 -smp 2 -M q35 \
-name caas-vm \
@@ -10,9 +43,14 @@ qemu-system-x86_64 \
-chardev socket,id=charserial0,path=./kernel-console,server,nowait \
-device isa-serial,chardev=charserial0,id=serial0 \
-device qemu-xhci,id=xhci,addr=0x5 \
- -device usb-host,bus=xhci.0,vendorid=,productid= \
+ -drive file=./flash.vfat,id=udisk1,format=raw,if=none \
+ -device usb-storage,drive=udisk1,bus=xhci.0 \
-device virtio-scsi-pci,id=scsi0,addr=0x8 \
-drive file=./android.qcow2,if=none,format=qcow2,id=scsidisk1 \
-device scsi-hd,drive=scsidisk1,bus=scsi0.0 \
- -bios ./OVMF.fd \
+ -drive file=$ovmf_file,format=raw,if=pflash \
+ -no-reboot \
+ -display $display_type \
+ -boot menu=on,splash-time=5000,strict=on \
+echo "Flashing is completed"
diff --git a/caas/system.prop b/caas/system.prop
index 7603d0dda..c5d94a84a 100644
--- a/caas/system.prop
+++ b/caas/system.prop
@@ -4,7 +4,7 @@
persist.sys.enable_rescue=false
persist.sys.disable_rescue=true
-persist.bluetooth.enablenewavrcp=false
+persist.bluetooth.enablenewavrcp=true
sys.rescue_level=0
ro.board.platform=broxton
audio.safemedia.bypass=true
diff --git a/caas/ueventd.rc b/caas/ueventd.rc
index f01e88ef7..c6e742f08 100644
--- a/caas/ueventd.rc
+++ b/caas/ueventd.rc
@@ -5,18 +5,13 @@
##############################################################
/dev/block/pci/pci0000:00/0000:00:*/by-name/persistent 0660 system system
##############################################################
-# Source: device/intel/mixins/groups/wlan/iwlwifi/ueventd.rc
-##############################################################
-# WLAN GPT factory partition block device
-/dev/block/*/*/*/by-name/wlan_nvm 0660 wifi system
-##############################################################
-# Source: device/intel/mixins/groups/bluetooth/btusb/ueventd.rc
+# Source: device/intel/mixins/groups/bluetooth/auto/ueventd.rc
##############################################################
# Bluetooth rfkill nodes
/sys/devices/pci*/0000:00:*/usb*/*/*/*/bluetooth/hci0/rfkill* state 0660 bluetooth bluetooth
/sys/devices/pci*/0000:00:*/usb*/*/*/*/bluetooth/hci0/rfkill* type 0440 bluetooth bluetooth
/dev/rfkill 0660 root bluetooth
-/dev/bus/usb/00*/00* 0660 bluetooth bluetooth
+/dev/bus/usb/00*/00* 0660 bluetooth bluetooth
##############################################################
# Source: device/intel/mixins/groups/device-specific/caas/ueventd.rc
##############################################################
@@ -64,6 +59,10 @@
/sys/devices/platform/*/i2c-*/i2c-* power_HAL_suspend 0644 system system
/sys/bus/i2c/devices/i2c-* power_HAL_suspend 0644 system system
+##############################################################
+# Source: device/intel/mixins/groups/usb-otg-switch/true/ueventd.rc
+##############################################################
+/sys/devices/pci0000:00/0000:00:*.0/intel_xhci_usb_sw/usb_role/intel_xhci_usb_sw-role-switch role 0664 system system
##############################################################
# Source: device/intel/mixins/groups/dbc/true/ueventd.rc
##############################################################
diff --git a/celadon_ivi/AndroidBoard.mk b/celadon_ivi/AndroidBoard.mk
index 0eb01a505..fc706bb0c 100644
--- a/celadon_ivi/AndroidBoard.mk
+++ b/celadon_ivi/AndroidBoard.mk
@@ -506,22 +506,17 @@ BOARD_MMC_SIZE = 15335424K
##############################################################
.PHONY: tosimage multiboot
-LK_ELF := $(TOP)/$(PRODUCT_OUT)/obj/trusty/build-sand-x86-64/lk.elf
EVMM_PKG := $(TOP)/$(PRODUCT_OUT)/obj/trusty/evmm_pkg.bin
EVMM_LK_PKG := $(TOP)/$(PRODUCT_OUT)/obj/trusty/evmm_lk_pkg.bin
LOCAL_MAKE := make
-$(LK_ELF):
- @echo "making lk.elf.."
- $(hide) (cd $(TOPDIR)trusty && $(TRUSTY_ENV_VAR) $(LOCAL_MAKE) sand-x86-64)
-
$(EVMM_PKG):
@echo "making evmm.."
$(hide) (cd $(TOPDIR)$(INTEL_PATH_VENDOR)/fw/evmm && $(TRUSTY_ENV_VAR) $(LOCAL_MAKE))
-$(EVMM_LK_PKG): $(LK_ELF)
- @echo "making evmm(packing with lk.elf).."
+$(EVMM_LK_PKG):
+ @echo "making evmm(packing with lk.bin).."
$(hide) (cd $(TOPDIR)$(INTEL_PATH_VENDOR)/fw/evmm && $(TRUSTY_ENV_VAR) $(LOCAL_MAKE))
# include sub-makefile according to boot_arch
diff --git a/celadon_ivi/BoardConfig.mk b/celadon_ivi/BoardConfig.mk
index b8d8e7d4d..6d86c62e3 100644
--- a/celadon_ivi/BoardConfig.mk
+++ b/celadon_ivi/BoardConfig.mk
@@ -123,8 +123,8 @@ BOARD_FLASHFILES += $(PRODUCT_OUT)/bootloader.img
BOARD_SEPOLICY_DIRS += $(INTEL_PATH_SEPOLICY)/boot-arch/generic
-BOARD_SEPOLICY_DIRS += $(INTEL_PATH_SEPOLICY)/boot-arch/slotab_ota/generic
-BOARD_SEPOLICY_DIRS += $(INTEL_PATH_SEPOLICY)/boot-arch/slotab_ota/efi
+BOARD_SEPOLICY_DIRS += $(INTEL_PATH_SEPOLICY)/abota/generic
+BOARD_SEPOLICY_DIRS += $(INTEL_PATH_SEPOLICY)/abota/efi
KERNELFLINGER_USE_RPMB_SIMULATE := true
@@ -333,28 +333,20 @@ BOARD_USES_KEYMASTER1 := true
BOARD_SEPOLICY_DIRS += $(INTEL_PATH_SEPOLICY)/trusty
BOARD_SEPOLICY_M4DEFS += module_trusty=true
-LKBUILD_TOOLCHAIN_ROOT = $(PWD)/$(INTEL_PATH_VENDOR)/external/prebuilts/elf/
-LKBUILD_X86_TOOLCHAIN = $(LKBUILD_TOOLCHAIN_ROOT)i386-elf-4.9.1-Linux-x86_64/bin
-LKBUILD_X64_TOOLCHAIN = $(LKBUILD_TOOLCHAIN_ROOT)x86_64-elf-4.9.1-Linux-x86_64/bin
TRUSTY_BUILDROOT = $(PWD)/$(PRODUCT_OUT)/obj/trusty/
TRUSTY_ENV_VAR += TRUSTY_REF_TARGET=celadon_64
-#for trusty lk
-TRUSTY_ENV_VAR += BUILDROOT=$(TRUSTY_BUILDROOT)
-TRUSTY_ENV_VAR += PATH=$$PATH:$(LKBUILD_X86_TOOLCHAIN):$(LKBUILD_X64_TOOLCHAIN)
-TRUSTY_ENV_VAR += CLANG_BINDIR=$(PWD)/$(LLVM_PREBUILTS_PATH)
-TRUSTY_ENV_VAR += ARCH_x86_64_TOOLCHAIN_PREFIX=${PWD}/prebuilts/gcc/linux-x86/x86/x86_64-linux-android-${TARGET_GCC_VERSION}/bin/x86_64-linux-android-
-
#for trusty vmm
# use same toolchain as android kernel
+TRUSTY_ENV_VAR += CLANG_BINDIR=$(PWD)/$(LLVM_PREBUILTS_PATH)
TRUSTY_ENV_VAR += COMPILE_TOOLCHAIN=$(YOCTO_CROSSCOMPILE)
TRUSTY_ENV_VAR += TARGET_BUILD_VARIANT=$(TARGET_BUILD_VARIANT)
TRUSTY_ENV_VAR += BOOT_ARCH=project-celadon
# output build dir to android out folder
TRUSTY_ENV_VAR += BUILD_DIR=$(TRUSTY_BUILDROOT)
-TRUSTY_ENV_VAR += LKBIN_DIR=$(TRUSTY_BUILDROOT)/build-sand-x86-64/
+TRUSTY_ENV_VAR += LKBIN_DIR=$(PWD)/vendor/intel/fw/trusty-release-binaries/
#Fix the cpu hotplug fail due to the trusty.
#Trusty will introduce some delay for cpu_up().
@@ -394,29 +386,29 @@ BOARD_CONFIGIMAGE_PARTITION_SIZE := 8388608
BOARD_SEPOLICY_M4DEFS += module_config_partition=true
BOARD_SEPOLICY_DIRS += $(INTEL_PATH_SEPOLICY)/config-partition
##############################################################
-# Source: device/intel/mixins/groups/cpu-arch/slm/BoardConfig.mk.1
+# Source: device/intel/mixins/groups/cpu-arch/x86/BoardConfig.mk
##############################################################
+BUILD_CPU_ARCH ?= silvermont
+
+# Items that are common between slm 32b and 64b:
+TARGET_CPU_ABI_LIST_32_BIT := x86
+TARGET_ARCH_VARIANT := $(if $(BUILD_CPU_ARCH),$(BUILD_CPU_ARCH),x86)
+TARGET_CPU_SMP := true
+
ifeq ($(BOARD_USE_64BIT_USERSPACE),true)
# 64b-specific items:
TARGET_ARCH := x86_64
TARGET_CPU_ABI := x86_64
TARGET_2ND_CPU_ABI := x86
TARGET_2ND_ARCH := x86
-TARGET_2ND_ARCH_VARIANT := silvermont
-TARGET_2ND_CPU_VARIANT := silvermont
+TARGET_2ND_ARCH_VARIANT := $(if $(BUILD_CPU_ARCH),$(BUILD_CPU_ARCH))
+TARGET_2ND_CPU_VARIANT := $(if $(BUILD_CPU_ARCH),$(BUILD_CPU_ARCH))
else
# 32b-specific items:
TARGET_ARCH := x86
TARGET_CPU_ABI := x86
endif
##############################################################
-# Source: device/intel/mixins/groups/cpu-arch/slm/BoardConfig.mk
-##############################################################
-# Items that are common between slm 32b and 64b:
-TARGET_CPU_ABI_LIST_32_BIT := x86
-TARGET_ARCH_VARIANT := silvermont
-TARGET_CPU_SMP := true
-##############################################################
# Source: device/intel/mixins/groups/allow-missing-dependencies/true/BoardConfig.mk
##############################################################
ALLOW_MISSING_DEPENDENCIES := true
diff --git a/celadon_ivi/config-lts/lts2018/bxt/android/non-embargoed/caas_diffconfig b/celadon_ivi/config-lts/lts2018/bxt/android/non-embargoed/caas_diffconfig
index f63ae1764..7c4210b8e 100644
--- a/celadon_ivi/config-lts/lts2018/bxt/android/non-embargoed/caas_diffconfig
+++ b/celadon_ivi/config-lts/lts2018/bxt/android/non-embargoed/caas_diffconfig
@@ -2,6 +2,8 @@ CONFIG_VIRTIO=y
CONFIG_VIRTIO_PCI=y
CONFIG_VIRTIO_NET=y
CONFIG_VIRTIO_BLK=y
+CONFIG_DRM_VIRTIO_GPU=y
+CONFIG_SW_SYNC=y
CONFIG_MOUSE_PS2=y
CONFIG_MOUSE_PS2_VMMOUSE=y
CONFIG_DRM_QXL=y
diff --git a/celadon_ivi/config-lts/lts2018/bxt/android/non-embargoed/x86_64_defconfig b/celadon_ivi/config-lts/lts2018/bxt/android/non-embargoed/x86_64_defconfig
index dfcc6b3a8..c62a95cf6 100644
--- a/celadon_ivi/config-lts/lts2018/bxt/android/non-embargoed/x86_64_defconfig
+++ b/celadon_ivi/config-lts/lts2018/bxt/android/non-embargoed/x86_64_defconfig
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
-# Linux/x86_64 4.19.66 Kernel Configuration
+# Linux/x86_64 4.19.94 Kernel Configuration
#
#
@@ -373,6 +373,9 @@ CONFIG_X86_SMAP=y
CONFIG_X86_INTEL_UMIP=y
# CONFIG_X86_INTEL_MPX is not set
CONFIG_X86_INTEL_MEMORY_PROTECTION_KEYS=y
+CONFIG_X86_INTEL_TSX_MODE_OFF=y
+# CONFIG_X86_INTEL_TSX_MODE_ON is not set
+# CONFIG_X86_INTEL_TSX_MODE_AUTO is not set
CONFIG_EFI=y
CONFIG_EFI_STUB=y
# CONFIG_EFI_MIXED is not set
@@ -624,7 +627,7 @@ CONFIG_DCDBAS=y
CONFIG_DMIID=y
CONFIG_DMI_SYSFS=y
CONFIG_DMI_SCAN_MACHINE_NON_EFI_FALLBACK=y
-# CONFIG_ISCSI_IBFT_FIND is not set
+# CONFIG_ISCSI_IBFT is not set
# CONFIG_FW_CFG_SYSFS is not set
# CONFIG_GOOGLE_FIRMWARE is not set
@@ -2129,7 +2132,7 @@ CONFIG_USB_CATC=y
CONFIG_USB_KAWETH=y
CONFIG_USB_PEGASUS=y
CONFIG_USB_RTL8150=y
-# CONFIG_USB_RTL8152 is not set
+CONFIG_USB_RTL8152=y
# CONFIG_USB_LAN78XX is not set
CONFIG_USB_USBNET=y
CONFIG_USB_NET_AX8817X=y
@@ -2276,7 +2279,7 @@ CONFIG_INPUT_MOUSEDEV=y
# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
-# CONFIG_INPUT_JOYDEV is not set
+CONFIG_INPUT_JOYDEV=y
CONFIG_INPUT_EVDEV=y
# CONFIG_INPUT_EVBUG is not set
@@ -3689,10 +3692,10 @@ CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y
#
# Frame buffer Devices
#
-CONFIG_FB=y
-# CONFIG_FIRMWARE_EDID is not set
CONFIG_FB_CMDLINE=y
CONFIG_FB_NOTIFY=y
+CONFIG_FB=y
+# CONFIG_FIRMWARE_EDID is not set
CONFIG_FB_BOOT_VESA_SUPPORT=y
CONFIG_FB_CFB_FILLRECT=y
CONFIG_FB_CFB_COPYAREA=y
@@ -4151,7 +4154,7 @@ CONFIG_SND_X86=y
# HID support
#
CONFIG_HID=y
-# CONFIG_HID_BATTERY_STRENGTH is not set
+CONFIG_HID_BATTERY_STRENGTH=y
CONFIG_HIDRAW=y
CONFIG_UHID=y
CONFIG_HID_GENERIC=y
@@ -4226,7 +4229,8 @@ CONFIG_HID_NTRIG=m
# CONFIG_HID_ROCCAT is not set
# CONFIG_HID_SAITEK is not set
# CONFIG_HID_SAMSUNG is not set
-# CONFIG_HID_SONY is not set
+CONFIG_HID_SONY=y
+CONFIG_SONY_FF=y
# CONFIG_HID_SPEEDLINK is not set
# CONFIG_HID_STEAM is not set
# CONFIG_HID_STEELSERIES is not set
@@ -4443,7 +4447,6 @@ CONFIG_USB_SERIAL_SSU100=y
# CONFIG_USB_EMI26 is not set
# CONFIG_USB_ADUTUX is not set
# CONFIG_USB_SEVSEG is not set
-# CONFIG_USB_RIO500 is not set
# CONFIG_USB_LEGOTOWER is not set
# CONFIG_USB_LCD is not set
# CONFIG_USB_CYPRESS_CY7C63 is not set
diff --git a/celadon_ivi/device.mk b/celadon_ivi/device.mk
index 649965b36..ff4575fc0 100644
--- a/celadon_ivi/device.mk
+++ b/celadon_ivi/device.mk
@@ -45,6 +45,11 @@ PRODUCT_COPY_FILES += $(LOCAL_PATH)/extra_files/slot-ab/postinstall.sh:recovery/
# Source: device/intel/mixins/groups/boot-arch/project-celadon/product.mk
##############################################################
TARGET_UEFI_ARCH := x86_64
+
+# Android Kernelflinger uses the OpenSSL library to support the
+# bootloader policy
+KERNELFLINGER_SSL_LIBRARY := openssl
+
BIOS_VARIANT := release
@@ -64,9 +69,6 @@ PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \
# Allow Kernelflinger to ignore the RSCI reset source "not_applicable"
# when setting the bootreason
KERNELFLINGER_IGNORE_NOT_APPLICABLE_RESET := true
-# Android Kernelflinger uses the OpenSSL library to support the
-# bootloader policy
-KERNELFLINGER_SSL_LIBRARY := openssl
KERNELFLINGER_SUPPORT_SELF_USB_DEVICE_MODE_PROTOCOL := true
@@ -117,6 +119,8 @@ PRODUCT_COPY_FILES += \
PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \
ro.wifi.softap_dualband_allow=false
+
+PRODUCT_PACKAGE_OVERLAYS += $(INTEL_PATH_COMMON)/wlan/overlay-disable_keepalive_offload
##############################################################
# Source: device/intel/mixins/groups/kernel/gmin64/product.mk.1
##############################################################
@@ -297,6 +301,8 @@ PRODUCT_PACKAGES += android.hardware.keymaster@3.0-impl \
libbt-vendor
PRODUCT_COPY_FILES += $(LOCAL_PATH)/manifest.xml:vendor/manifest.xml
+
+PRODUCT_PROPERTY_OVERRIDES += ro.control_privapp_permissions=enforce
##############################################################
# Source: device/intel/mixins/groups/trusty/true/product.mk
##############################################################
@@ -318,7 +324,6 @@ endif
PRODUCT_PACKAGES += \
libtrusty \
storageproxyd \
- cp_ss \
libinteltrustystorage \
libinteltrustystorageinterface \
gatekeeper.trusty \
@@ -389,6 +394,8 @@ endif
BOARD_HAVE_MEDIASDK_OPEN_SOURCE := true
+BOARD_HAVE_OMX_SRC := true
+
PRODUCT_PACKAGES += \
libpciaccess
##############################################################
@@ -662,7 +669,8 @@ PRODUCT_PACKAGES += hdcpd
# neuralnetworks HAL
PRODUCT_PACKAGES += \
android.hardware.neuralnetworks@1.1-generic-service \
- android.hardware.neuralnetworks@1.1-generic-impl
+ android.hardware.neuralnetworks@1.1-generic-impl \
+ android.hardware.neuralnetworks@1.2-service-gpgpu
PRODUCT_PACKAGES += \
libinference_engine
diff --git a/celadon_ivi/extra_files/boot-arch/update_ifwi_ab.sh b/celadon_ivi/extra_files/boot-arch/update_ifwi_ab.sh
index 3cadb9f0c..6bc8c9bbf 100644
--- a/celadon_ivi/extra_files/boot-arch/update_ifwi_ab.sh
+++ b/celadon_ivi/extra_files/boot-arch/update_ifwi_ab.sh
@@ -1,4 +1,4 @@
-#!/vendor/bin/sh
+#!/system/bin/sh
# userdata checkpoint cleanup at postinstall step
USERDATA_CHECKPOINT_GC=vendor/bin/checkpoint_gc
diff --git a/celadon_ivi/extra_files/camera-ext/external_camera_config.xml b/celadon_ivi/extra_files/camera-ext/external_camera_config.xml
index 1f9be47b9..72597369f 100644
--- a/celadon_ivi/extra_files/camera-ext/external_camera_config.xml
+++ b/celadon_ivi/extra_files/camera-ext/external_camera_config.xml
@@ -39,8 +39,10 @@
-
-
+
+
+
+
diff --git a/celadon_ivi/extra_files/codecs/media_profiles_1080p.xml b/celadon_ivi/extra_files/codecs/media_profiles_1080p.xml
index bacc714a4..f6363eab7 100644
--- a/celadon_ivi/extra_files/codecs/media_profiles_1080p.xml
+++ b/celadon_ivi/extra_files/codecs/media_profiles_1080p.xml
@@ -246,6 +246,19 @@
channels="1" />
+
+
+
+
+
+
@@ -359,16 +372,39 @@
channels="1" />
+
+
+
+
+
+
+
+
+
diff --git a/celadon_ivi/init.rc b/celadon_ivi/init.rc
index 59d8a6a38..7b33a6cad 100644
--- a/celadon_ivi/init.rc
+++ b/celadon_ivi/init.rc
@@ -185,15 +185,6 @@ on post-fs-data
on early-boot
start storageproxyd
-on property:ro.vendor.copy.ss=1
- copy /data/misc/securestorage/0 /data/vendor/securestorage/0
- restart storageproxyd
-
-service cp_securestorage /vendor/bin/cp_ss
- user system
- group system
- oneshot
-
service storageproxyd /vendor/bin/storageproxyd -d /dev/trusty-ipc-dev0 -p /data/vendor/securestorage -r /dev/rpmb0
user system
group system
diff --git a/celadon_ivi/manifest.xml b/celadon_ivi/manifest.xml
index d790be5d5..87d47af9e 100644
--- a/celadon_ivi/manifest.xml
+++ b/celadon_ivi/manifest.xml
@@ -1,4 +1,4 @@
-
+
android.hardware.automotive.audiocontrol
hwbinder
@@ -258,11 +258,12 @@
android.hardware.neuralnetworks
hwbinder
- 1.1
+ 1.2
IDevice
CPU
GPU
+ gpgppu
diff --git a/celadon_ivi/mixins.spec b/celadon_ivi/mixins.spec
index 7009bb5c5..1e7bf5612 100755
--- a/celadon_ivi/mixins.spec
+++ b/celadon_ivi/mixins.spec
@@ -18,12 +18,12 @@ acpio-partition: true(partition_size=2)
config-partition: true
display-density: medium
dalvik-heap: tablet-10in-xhdpi-2048
-cpu-arch: slm
+cpu-arch: x86
allow-missing-dependencies: true
dexpreopt: true
pstore: ram_dummy(address=0x50000000,size=0x400000,record_size=0x4000,console_size=0x200000,ftrace_size=0x2000,dump_oops=1)
bugreport: true
-media: mesa(add_sw_msdk=false, opensource_msdk=true)
+media: mesa(add_sw_msdk=false, opensource_msdk=true, opensource_msdk_omx_il=true)
graphics: mesa(gen9+=true,hwc2=true,vulkan=true,drmhwc=false,minigbm=true,gralloc1=true,enable_guc=false)
storage: sdcard-mmc0-usb-sd(adoptablesd=true,adoptableusb=true)
ethernet: dhcp
diff --git a/celadon_ivi/overlay/frameworks/base/core/res/res/xml/power_profile.xml b/celadon_ivi/overlay/frameworks/base/core/res/res/xml/power_profile.xml
index 7c93d1775..8281b6cc7 100644
--- a/celadon_ivi/overlay/frameworks/base/core/res/res/xml/power_profile.xml
+++ b/celadon_ivi/overlay/frameworks/base/core/res/res/xml/power_profile.xml
@@ -63,6 +63,28 @@
4
+
+
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+
+
+
+ - 1000
+
- 190
diff --git a/celadon_tablet/AndroidBoard.mk b/celadon_tablet/AndroidBoard.mk
index 8e233c0c3..ee91a5964 100644
--- a/celadon_tablet/AndroidBoard.mk
+++ b/celadon_tablet/AndroidBoard.mk
@@ -517,22 +517,17 @@ BOARD_MMC_SIZE = 15335424K
##############################################################
.PHONY: tosimage multiboot
-LK_ELF := $(TOP)/$(PRODUCT_OUT)/obj/trusty/build-sand-x86-64/lk.elf
EVMM_PKG := $(TOP)/$(PRODUCT_OUT)/obj/trusty/evmm_pkg.bin
EVMM_LK_PKG := $(TOP)/$(PRODUCT_OUT)/obj/trusty/evmm_lk_pkg.bin
LOCAL_MAKE := make
-$(LK_ELF):
- @echo "making lk.elf.."
- $(hide) (cd $(TOPDIR)trusty && $(TRUSTY_ENV_VAR) $(LOCAL_MAKE) sand-x86-64)
-
$(EVMM_PKG):
@echo "making evmm.."
$(hide) (cd $(TOPDIR)$(INTEL_PATH_VENDOR)/fw/evmm && $(TRUSTY_ENV_VAR) $(LOCAL_MAKE))
-$(EVMM_LK_PKG): $(LK_ELF)
- @echo "making evmm(packing with lk.elf).."
+$(EVMM_LK_PKG):
+ @echo "making evmm(packing with lk.bin).."
$(hide) (cd $(TOPDIR)$(INTEL_PATH_VENDOR)/fw/evmm && $(TRUSTY_ENV_VAR) $(LOCAL_MAKE))
# include sub-makefile according to boot_arch
diff --git a/celadon_tablet/BoardConfig.mk b/celadon_tablet/BoardConfig.mk
index ef4d69d29..9793e1722 100644
--- a/celadon_tablet/BoardConfig.mk
+++ b/celadon_tablet/BoardConfig.mk
@@ -126,8 +126,8 @@ endif
BOARD_SEPOLICY_DIRS += $(INTEL_PATH_SEPOLICY)/boot-arch/generic
-BOARD_SEPOLICY_DIRS += $(INTEL_PATH_SEPOLICY)/boot-arch/slotab_ota/generic
-BOARD_SEPOLICY_DIRS += $(INTEL_PATH_SEPOLICY)/boot-arch/slotab_ota/efi
+BOARD_SEPOLICY_DIRS += $(INTEL_PATH_SEPOLICY)/abota/generic
+BOARD_SEPOLICY_DIRS += $(INTEL_PATH_SEPOLICY)/abota/efi
KERNELFLINGER_USE_RPMB_SIMULATE := true
@@ -329,28 +329,20 @@ BOARD_USES_KEYMASTER1 := true
BOARD_SEPOLICY_DIRS += $(INTEL_PATH_SEPOLICY)/trusty
BOARD_SEPOLICY_M4DEFS += module_trusty=true
-LKBUILD_TOOLCHAIN_ROOT = $(PWD)/$(INTEL_PATH_VENDOR)/external/prebuilts/elf/
-LKBUILD_X86_TOOLCHAIN = $(LKBUILD_TOOLCHAIN_ROOT)i386-elf-4.9.1-Linux-x86_64/bin
-LKBUILD_X64_TOOLCHAIN = $(LKBUILD_TOOLCHAIN_ROOT)x86_64-elf-4.9.1-Linux-x86_64/bin
TRUSTY_BUILDROOT = $(PWD)/$(PRODUCT_OUT)/obj/trusty/
TRUSTY_ENV_VAR += TRUSTY_REF_TARGET=celadon_64
-#for trusty lk
-TRUSTY_ENV_VAR += BUILDROOT=$(TRUSTY_BUILDROOT)
-TRUSTY_ENV_VAR += PATH=$$PATH:$(LKBUILD_X86_TOOLCHAIN):$(LKBUILD_X64_TOOLCHAIN)
-TRUSTY_ENV_VAR += CLANG_BINDIR=$(PWD)/$(LLVM_PREBUILTS_PATH)
-TRUSTY_ENV_VAR += ARCH_x86_64_TOOLCHAIN_PREFIX=${PWD}/prebuilts/gcc/linux-x86/x86/x86_64-linux-android-${TARGET_GCC_VERSION}/bin/x86_64-linux-android-
-
#for trusty vmm
# use same toolchain as android kernel
+TRUSTY_ENV_VAR += CLANG_BINDIR=$(PWD)/$(LLVM_PREBUILTS_PATH)
TRUSTY_ENV_VAR += COMPILE_TOOLCHAIN=$(YOCTO_CROSSCOMPILE)
TRUSTY_ENV_VAR += TARGET_BUILD_VARIANT=$(TARGET_BUILD_VARIANT)
TRUSTY_ENV_VAR += BOOT_ARCH=project-celadon
# output build dir to android out folder
TRUSTY_ENV_VAR += BUILD_DIR=$(TRUSTY_BUILDROOT)
-TRUSTY_ENV_VAR += LKBIN_DIR=$(TRUSTY_BUILDROOT)/build-sand-x86-64/
+TRUSTY_ENV_VAR += LKBIN_DIR=$(PWD)/vendor/intel/fw/trusty-release-binaries/
#Fix the cpu hotplug fail due to the trusty.
#Trusty will introduce some delay for cpu_up().
@@ -390,29 +382,29 @@ BOARD_CONFIGIMAGE_PARTITION_SIZE := 8388608
BOARD_SEPOLICY_M4DEFS += module_config_partition=true
BOARD_SEPOLICY_DIRS += $(INTEL_PATH_SEPOLICY)/config-partition
##############################################################
-# Source: device/intel/mixins/groups/cpu-arch/slm/BoardConfig.mk.1
+# Source: device/intel/mixins/groups/cpu-arch/x86/BoardConfig.mk
##############################################################
+BUILD_CPU_ARCH ?= silvermont
+
+# Items that are common between slm 32b and 64b:
+TARGET_CPU_ABI_LIST_32_BIT := x86
+TARGET_ARCH_VARIANT := $(if $(BUILD_CPU_ARCH),$(BUILD_CPU_ARCH),x86)
+TARGET_CPU_SMP := true
+
ifeq ($(BOARD_USE_64BIT_USERSPACE),true)
# 64b-specific items:
TARGET_ARCH := x86_64
TARGET_CPU_ABI := x86_64
TARGET_2ND_CPU_ABI := x86
TARGET_2ND_ARCH := x86
-TARGET_2ND_ARCH_VARIANT := silvermont
-TARGET_2ND_CPU_VARIANT := silvermont
+TARGET_2ND_ARCH_VARIANT := $(if $(BUILD_CPU_ARCH),$(BUILD_CPU_ARCH))
+TARGET_2ND_CPU_VARIANT := $(if $(BUILD_CPU_ARCH),$(BUILD_CPU_ARCH))
else
# 32b-specific items:
TARGET_ARCH := x86
TARGET_CPU_ABI := x86
endif
##############################################################
-# Source: device/intel/mixins/groups/cpu-arch/slm/BoardConfig.mk
-##############################################################
-# Items that are common between slm 32b and 64b:
-TARGET_CPU_ABI_LIST_32_BIT := x86
-TARGET_ARCH_VARIANT := silvermont
-TARGET_CPU_SMP := true
-##############################################################
# Source: device/intel/mixins/groups/allow-missing-dependencies/true/BoardConfig.mk
##############################################################
ALLOW_MISSING_DEPENDENCIES := true
diff --git a/celadon_tablet/config-lts/lts2018/bxt/android/non-embargoed/caas_diffconfig b/celadon_tablet/config-lts/lts2018/bxt/android/non-embargoed/caas_diffconfig
index f63ae1764..7c4210b8e 100644
--- a/celadon_tablet/config-lts/lts2018/bxt/android/non-embargoed/caas_diffconfig
+++ b/celadon_tablet/config-lts/lts2018/bxt/android/non-embargoed/caas_diffconfig
@@ -2,6 +2,8 @@ CONFIG_VIRTIO=y
CONFIG_VIRTIO_PCI=y
CONFIG_VIRTIO_NET=y
CONFIG_VIRTIO_BLK=y
+CONFIG_DRM_VIRTIO_GPU=y
+CONFIG_SW_SYNC=y
CONFIG_MOUSE_PS2=y
CONFIG_MOUSE_PS2_VMMOUSE=y
CONFIG_DRM_QXL=y
diff --git a/celadon_tablet/config-lts/lts2018/bxt/android/non-embargoed/x86_64_defconfig b/celadon_tablet/config-lts/lts2018/bxt/android/non-embargoed/x86_64_defconfig
index dfcc6b3a8..c62a95cf6 100644
--- a/celadon_tablet/config-lts/lts2018/bxt/android/non-embargoed/x86_64_defconfig
+++ b/celadon_tablet/config-lts/lts2018/bxt/android/non-embargoed/x86_64_defconfig
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
-# Linux/x86_64 4.19.66 Kernel Configuration
+# Linux/x86_64 4.19.94 Kernel Configuration
#
#
@@ -373,6 +373,9 @@ CONFIG_X86_SMAP=y
CONFIG_X86_INTEL_UMIP=y
# CONFIG_X86_INTEL_MPX is not set
CONFIG_X86_INTEL_MEMORY_PROTECTION_KEYS=y
+CONFIG_X86_INTEL_TSX_MODE_OFF=y
+# CONFIG_X86_INTEL_TSX_MODE_ON is not set
+# CONFIG_X86_INTEL_TSX_MODE_AUTO is not set
CONFIG_EFI=y
CONFIG_EFI_STUB=y
# CONFIG_EFI_MIXED is not set
@@ -624,7 +627,7 @@ CONFIG_DCDBAS=y
CONFIG_DMIID=y
CONFIG_DMI_SYSFS=y
CONFIG_DMI_SCAN_MACHINE_NON_EFI_FALLBACK=y
-# CONFIG_ISCSI_IBFT_FIND is not set
+# CONFIG_ISCSI_IBFT is not set
# CONFIG_FW_CFG_SYSFS is not set
# CONFIG_GOOGLE_FIRMWARE is not set
@@ -2129,7 +2132,7 @@ CONFIG_USB_CATC=y
CONFIG_USB_KAWETH=y
CONFIG_USB_PEGASUS=y
CONFIG_USB_RTL8150=y
-# CONFIG_USB_RTL8152 is not set
+CONFIG_USB_RTL8152=y
# CONFIG_USB_LAN78XX is not set
CONFIG_USB_USBNET=y
CONFIG_USB_NET_AX8817X=y
@@ -2276,7 +2279,7 @@ CONFIG_INPUT_MOUSEDEV=y
# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
-# CONFIG_INPUT_JOYDEV is not set
+CONFIG_INPUT_JOYDEV=y
CONFIG_INPUT_EVDEV=y
# CONFIG_INPUT_EVBUG is not set
@@ -3689,10 +3692,10 @@ CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y
#
# Frame buffer Devices
#
-CONFIG_FB=y
-# CONFIG_FIRMWARE_EDID is not set
CONFIG_FB_CMDLINE=y
CONFIG_FB_NOTIFY=y
+CONFIG_FB=y
+# CONFIG_FIRMWARE_EDID is not set
CONFIG_FB_BOOT_VESA_SUPPORT=y
CONFIG_FB_CFB_FILLRECT=y
CONFIG_FB_CFB_COPYAREA=y
@@ -4151,7 +4154,7 @@ CONFIG_SND_X86=y
# HID support
#
CONFIG_HID=y
-# CONFIG_HID_BATTERY_STRENGTH is not set
+CONFIG_HID_BATTERY_STRENGTH=y
CONFIG_HIDRAW=y
CONFIG_UHID=y
CONFIG_HID_GENERIC=y
@@ -4226,7 +4229,8 @@ CONFIG_HID_NTRIG=m
# CONFIG_HID_ROCCAT is not set
# CONFIG_HID_SAITEK is not set
# CONFIG_HID_SAMSUNG is not set
-# CONFIG_HID_SONY is not set
+CONFIG_HID_SONY=y
+CONFIG_SONY_FF=y
# CONFIG_HID_SPEEDLINK is not set
# CONFIG_HID_STEAM is not set
# CONFIG_HID_STEELSERIES is not set
@@ -4443,7 +4447,6 @@ CONFIG_USB_SERIAL_SSU100=y
# CONFIG_USB_EMI26 is not set
# CONFIG_USB_ADUTUX is not set
# CONFIG_USB_SEVSEG is not set
-# CONFIG_USB_RIO500 is not set
# CONFIG_USB_LEGOTOWER is not set
# CONFIG_USB_LCD is not set
# CONFIG_USB_CYPRESS_CY7C63 is not set
diff --git a/celadon_tablet/device.mk b/celadon_tablet/device.mk
index 10846b1b6..22060e92f 100644
--- a/celadon_tablet/device.mk
+++ b/celadon_tablet/device.mk
@@ -45,6 +45,11 @@ PRODUCT_COPY_FILES += $(LOCAL_PATH)/extra_files/slot-ab/postinstall.sh:recovery/
# Source: device/intel/mixins/groups/boot-arch/project-celadon/product.mk
##############################################################
TARGET_UEFI_ARCH := x86_64
+
+# Android Kernelflinger uses the OpenSSL library to support the
+# bootloader policy
+KERNELFLINGER_SSL_LIBRARY := openssl
+
BIOS_VARIANT := release
@@ -98,9 +103,6 @@ endif
# Allow Kernelflinger to ignore the RSCI reset source "not_applicable"
# when setting the bootreason
KERNELFLINGER_IGNORE_NOT_APPLICABLE_RESET := true
-# Android Kernelflinger uses the OpenSSL library to support the
-# bootloader policy
-KERNELFLINGER_SSL_LIBRARY := openssl
KERNELFLINGER_SUPPORT_SELF_USB_DEVICE_MODE_PROTOCOL := true
@@ -151,6 +153,8 @@ PRODUCT_COPY_FILES += \
PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \
ro.wifi.softap_dualband_allow=false
+
+PRODUCT_PACKAGE_OVERLAYS += $(INTEL_PATH_COMMON)/wlan/overlay-disable_keepalive_offload
##############################################################
# Source: device/intel/mixins/groups/kernel/gmin64/product.mk.1
##############################################################
@@ -331,7 +335,6 @@ endif
PRODUCT_PACKAGES += \
libtrusty \
storageproxyd \
- cp_ss \
libinteltrustystorage \
libinteltrustystorageinterface \
gatekeeper.trusty \
@@ -402,6 +405,8 @@ endif
BOARD_HAVE_MEDIASDK_OPEN_SOURCE := true
+BOARD_HAVE_OMX_SRC := true
+
PRODUCT_PACKAGES += \
libpciaccess
##############################################################
@@ -686,7 +691,8 @@ PRODUCT_PACKAGES += hdcpd
# neuralnetworks HAL
PRODUCT_PACKAGES += \
android.hardware.neuralnetworks@1.1-generic-service \
- android.hardware.neuralnetworks@1.1-generic-impl
+ android.hardware.neuralnetworks@1.1-generic-impl \
+ android.hardware.neuralnetworks@1.2-service-gpgpu
PRODUCT_PACKAGES += \
libinference_engine
diff --git a/celadon_tablet/extra_files/boot-arch/update_ifwi_ab.sh b/celadon_tablet/extra_files/boot-arch/update_ifwi_ab.sh
index 3cadb9f0c..6bc8c9bbf 100644
--- a/celadon_tablet/extra_files/boot-arch/update_ifwi_ab.sh
+++ b/celadon_tablet/extra_files/boot-arch/update_ifwi_ab.sh
@@ -1,4 +1,4 @@
-#!/vendor/bin/sh
+#!/system/bin/sh
# userdata checkpoint cleanup at postinstall step
USERDATA_CHECKPOINT_GC=vendor/bin/checkpoint_gc
diff --git a/celadon_tablet/extra_files/camera-ext/external_camera_config.xml b/celadon_tablet/extra_files/camera-ext/external_camera_config.xml
index 1f9be47b9..72597369f 100644
--- a/celadon_tablet/extra_files/camera-ext/external_camera_config.xml
+++ b/celadon_tablet/extra_files/camera-ext/external_camera_config.xml
@@ -39,8 +39,10 @@
-
-
+
+
+
+
diff --git a/celadon_tablet/extra_files/codecs/media_profiles_1080p.xml b/celadon_tablet/extra_files/codecs/media_profiles_1080p.xml
index bacc714a4..f6363eab7 100644
--- a/celadon_tablet/extra_files/codecs/media_profiles_1080p.xml
+++ b/celadon_tablet/extra_files/codecs/media_profiles_1080p.xml
@@ -246,6 +246,19 @@
channels="1" />
+
+
+
+
+
+
@@ -359,16 +372,39 @@
channels="1" />
+
+
+
+
+
+
+
+
+
diff --git a/celadon_tablet/init.rc b/celadon_tablet/init.rc
index 177e4d28f..5f2d06259 100644
--- a/celadon_tablet/init.rc
+++ b/celadon_tablet/init.rc
@@ -170,15 +170,6 @@ on post-fs-data
on early-boot
start storageproxyd
-on property:ro.vendor.copy.ss=1
- copy /data/misc/securestorage/0 /data/vendor/securestorage/0
- restart storageproxyd
-
-service cp_securestorage /vendor/bin/cp_ss
- user system
- group system
- oneshot
-
service storageproxyd /vendor/bin/storageproxyd -d /dev/trusty-ipc-dev0 -p /data/vendor/securestorage -r /dev/rpmb0
user system
group system
diff --git a/celadon_tablet/manifest.xml b/celadon_tablet/manifest.xml
index 1e103f717..1578972a1 100644
--- a/celadon_tablet/manifest.xml
+++ b/celadon_tablet/manifest.xml
@@ -259,11 +259,12 @@
android.hardware.neuralnetworks
hwbinder
- 1.1
+ 1.2
IDevice
CPU
GPU
+ gpgpu
diff --git a/celadon_tablet/mixins.spec b/celadon_tablet/mixins.spec
index 2f41169a2..df8dcc908 100755
--- a/celadon_tablet/mixins.spec
+++ b/celadon_tablet/mixins.spec
@@ -18,11 +18,11 @@ acpio-partition: true(partition_size=2)
config-partition: true
display-density: medium
dalvik-heap: tablet-10in-xhdpi-2048
-cpu-arch: slm
+cpu-arch: x86
allow-missing-dependencies: true
dexpreopt: true
pstore: ram_dummy(address=0x50000000,size=0x400000,record_size=0x4000,console_size=0x200000,ftrace_size=0x2000,dump_oops=1)
-media: mesa(add_sw_msdk=false, opensource_msdk=true)
+media: mesa(add_sw_msdk=false, opensource_msdk=true, opensource_msdk_omx_il=true)
graphics: mesa(gen9+=true,hwc2=true,vulkan=true,drmhwc=false,minigbm=true,gralloc1=true,enable_guc=false)
storage: sdcard-mmc0-usb-sd(adoptablesd=true,adoptableusb=true)
ethernet: dhcp
diff --git a/cic/AndroidBoard.mk b/cic/AndroidBoard.mk
index a8a3a2fc3..330de24c6 100644
--- a/cic/AndroidBoard.mk
+++ b/cic/AndroidBoard.mk
@@ -1,10 +1,46 @@
# ----------------- BEGIN MIX-IN DEFINITIONS -----------------
# Mix-In definitions are auto-generated by mixin-update
+##############################################################
+# Source: device/intel/mixins/groups/variants/default/AndroidBoard.mk
+##############################################################
+# flashfile_add_blob
+# - Delete ::variant:: from
+# - If the result does not exists and is set, error
+# - If is set, put the result in
+# - Add the pair : in BOARD_FLASHFILES_FIRMWARE
+define flashfile_add_blob
+$(eval blob := $(subst ::variant::,,$(2))) \
+$(if $(wildcard $(blob)), \
+ $(if $(4), $(eval $(4) := $(blob))) \
+ $(eval BOARD_FLASHFILES_FIRMWARE += $(blob):$(1)) \
+ , \
+ $(if $(3), $(error $(blob) does not exist)))
+endef
+
+##############################################################
+# Source: device/intel/mixins/groups/boot-arch/project-celadon/AndroidBoard.mk.1
+##############################################################
+##############################################################
+# Source: device/intel/mixins/groups/boot-arch/project-celadon/AndroidBoard.mk
+##############################################################
+# Rules to create bootloader zip file, a precursor to the bootloader
+# image that is stored in the target-files-package. There's also
+# metadata file which indicates how large to make the VFAT filesystem
+# image
+
+ifeq ($(TARGET_UEFI_ARCH),i386)
+efi_default_name := bootia32.efi
+LOADER_TYPE := linux-x86
+else
+efi_default_name := bootx64.efi
+LOADER_TYPE := linux-x86_64
+endif
+
##############################################################
# Source: device/intel/mixins/groups/device-specific/cic/AndroidBoard.mk
##############################################################
.PHONY: multidroid
-multidroid: droid
+multidroid: droid kf4cic-$(TARGET_BUILD_VARIANT)
@echo Make multidroid image...
$(hide) rm -rf $(PRODUCT_OUT)/docker
$(hide) mkdir -p $(PRODUCT_OUT)/docker/android/root
@@ -19,36 +55,20 @@ multidroid: droid
$(hide) cp -r $(PRODUCT_OUT)/root/* $(PRODUCT_OUT)/docker/android/root
$(hide) rm -f $(PRODUCT_OUT)/docker/android/root/etc
$(hide) cp -r $(PRODUCT_OUT)/system/etc $(PRODUCT_OUT)/docker/android/root
+ $(hide) cp -r $(PRODUCT_OUT)/efi/kf4cic.efi $(PRODUCT_OUT)/kf4cic.efi
$(hide) chmod -R g-w $(PRODUCT_OUT)/docker/android/root
-TARGET_AIC_FILE_NAME := $(TARGET_PRODUCT)-aic-$(BUILD_NUMBER_FROM_FILE).tar.gz
+TARGET_AIC_FILE_NAME := $(TARGET_PRODUCT)-$(BUILD_NUMBER_FROM_FILE).tar.gz
.PHONY: aic
aic: .KATI_NINJA_POOL := console
aic: multidroid
@echo Make AIC docker images...
$(HOST_OUT_EXECUTABLES)/aic-build -b $(BUILD_NUMBER_FROM_FILE)
- tar cvzf $(PRODUCT_OUT)/$(TARGET_AIC_FILE_NAME) -C $(PRODUCT_OUT) aic android.tar.gz aic-manager.tar.gz -C docker update
+ tar cvzf $(PRODUCT_OUT)/$(TARGET_AIC_FILE_NAME) -C $(PRODUCT_OUT) aic android.tar.gz aic-manager.tar.gz kf4cic.efi -C docker update
.PHONY: cic
cic: aic
-##############################################################
-# Source: device/intel/mixins/groups/variants/default/AndroidBoard.mk
-##############################################################
-# flashfile_add_blob
-# - Delete ::variant:: from
-# - If the result does not exists and is set, error
-# - If is set, put the result in
-# - Add the pair : in BOARD_FLASHFILES_FIRMWARE
-define flashfile_add_blob
-$(eval blob := $(subst ::variant::,,$(2))) \
-$(if $(wildcard $(blob)), \
- $(if $(4), $(eval $(4) := $(blob))) \
- $(eval BOARD_FLASHFILES_FIRMWARE += $(blob):$(1)) \
- , \
- $(if $(3), $(error $(blob) does not exist)))
-endef
-
##############################################################
# Source: device/intel/mixins/groups/vndk/default/AndroidBoard.mk
##############################################################
diff --git a/cic/BoardConfig.mk b/cic/BoardConfig.mk
index 9642425dd..517e8dca5 100644
--- a/cic/BoardConfig.mk
+++ b/cic/BoardConfig.mk
@@ -1,5 +1,31 @@
# ----------------- BEGIN MIX-IN DEFINITIONS -----------------
# Mix-In definitions are auto-generated by mixin-update
+##############################################################
+# Source: device/intel/mixins/groups/slot-ab/default/BoardConfig.mk
+##############################################################
+ifeq (project-celadon,efi)
+# Adds edify commands swap_entries and copy_partition for robust
+# update of the EFI system partition
+TARGET_RECOVERY_UPDATER_LIBS := libupdater_esp
+# Extra libraries needed to be rolled into recovery updater
+# libgpt_static and libefivar are needed by libupdater_esp
+TARGET_RECOVERY_UPDATER_EXTRA_LIBS := libcommon_recovery libgpt_static
+ifeq ($(TARGET_SUPPORT_BOOT_OPTION),true)
+TARGET_RECOVERY_UPDATER_EXTRA_LIBS += libefivar
+endif
+endif
+
+
+BOARD_RECOVERYIMAGE_PARTITION_SIZE ?= 31457280
+BOARD_CACHEIMAGE_FILE_SYSTEM_TYPE := ext4
+BOARD_CACHEIMAGE_PARTITION_SIZE ?= 104857600
+##############################################################
+# Source: device/intel/mixins/groups/boot-arch/project-celadon/BoardConfig.mk
+##############################################################
+
+
+KERNELFLINGER_USE_RPMB_SIMULATE := true
+
##############################################################
# Source: device/intel/mixins/groups/allow-missing-dependencies/true/BoardConfig.mk
##############################################################
@@ -112,23 +138,4 @@ WPA_SUPPLICANT_VERSION := VER_0_8_X
WIFI_DRIVER_FW_PATH_PARAM := "/dev/null"
WIFI_DRIVER_FW_PATH_STA := "/dev/null"
WIFI_DRIVER_FW_PATH_AP := "/dev/null"
-##############################################################
-# Source: device/intel/mixins/groups/slot-ab/default/BoardConfig.mk
-##############################################################
-ifeq (False,efi)
-# Adds edify commands swap_entries and copy_partition for robust
-# update of the EFI system partition
-TARGET_RECOVERY_UPDATER_LIBS := libupdater_esp
-# Extra libraries needed to be rolled into recovery updater
-# libgpt_static and libefivar are needed by libupdater_esp
-TARGET_RECOVERY_UPDATER_EXTRA_LIBS := libcommon_recovery libgpt_static
-ifeq ($(TARGET_SUPPORT_BOOT_OPTION),true)
-TARGET_RECOVERY_UPDATER_EXTRA_LIBS += libefivar
-endif
-endif
-
-
-BOARD_RECOVERYIMAGE_PARTITION_SIZE ?= 31457280
-BOARD_CACHEIMAGE_FILE_SYSTEM_TYPE := ext4
-BOARD_CACHEIMAGE_PARTITION_SIZE ?= 104857600
# ------------------ END MIX-IN DEFINITIONS ------------------
diff --git a/cic/device.mk b/cic/device.mk
index 2c5b68206..b794e68cb 100644
--- a/cic/device.mk
+++ b/cic/device.mk
@@ -1,5 +1,14 @@
# ----------------- BEGIN MIX-IN DEFINITIONS -----------------
# Mix-In definitions are auto-generated by mixin-update
+##############################################################
+# Source: device/intel/mixins/groups/boot-arch/project-celadon/product.mk
+##############################################################
+TARGET_UEFI_ARCH := x86_64
+
+# Android Kernelflinger uses the OpenSSL library to support the
+# bootloader policy
+KERNELFLINGER_SSL_LIBRARY := openssl
+
##############################################################
# Source: device/intel/mixins/groups/audio/aic/product.mk
##############################################################
diff --git a/cic/extra_files/boot-arch/startup.nsh b/cic/extra_files/boot-arch/startup.nsh
new file mode 100644
index 000000000..abab6587e
--- /dev/null
+++ b/cic/extra_files/boot-arch/startup.nsh
@@ -0,0 +1,7 @@
+# ----------------- BEGIN MIX-IN DEFINITIONS -----------------
+# Mix-In definitions are auto-generated by mixin-update
+##############################################################
+# Source: device/intel/mixins/groups/boot-arch/project-celadon/startup.nsh
+##############################################################
+installer --batch installer.cmd
+# ------------------ END MIX-IN DEFINITIONS ------------------
diff --git a/cic/extra_files/boot-arch/update_ifwi_ab.sh b/cic/extra_files/boot-arch/update_ifwi_ab.sh
new file mode 100644
index 000000000..6bc8c9bbf
--- /dev/null
+++ b/cic/extra_files/boot-arch/update_ifwi_ab.sh
@@ -0,0 +1,68 @@
+#!/system/bin/sh
+
+# userdata checkpoint cleanup at postinstall step
+USERDATA_CHECKPOINT_GC=vendor/bin/checkpoint_gc
+if [ -f ${USERDATA_CHECKPOINT_GC} ]; then
+ source ${USERDATA_CHECKPOINT_GC}
+fi
+
+KFLD_UPDATE_FILE="/postinstall/firmware/kfld.efi"
+KF_UPDATE_FILE="/postinstall/firmware/kernelflinger.efi"
+BIOS_UPDATE_FILE="/postinstall/firmware/BIOSUPDATE.fv"
+DEV_PATH_KFLD="/dev/block/by-name/esp"
+DEV_PATH="/dev/block/by-name/bootloader"
+MOUNT_POINT="/bootloader"
+KFLD_DESTINATION_FILE="/bootloader/EFI/INTEL/KFLD_NEW.EFI"
+KF_DESTINATION_FILE="/bootloader/EFI/BOOT/kernelflinger_new.efi"
+BIOS_UPDATE_DESTINATION_FILE="/bootloader/BIOSUPDATE.fv"
+is_exist_efi=0
+is_exist_bios=0
+
+EFI_UPDATE_FILE=${KF_UPDATE_FILE}
+EFI_DESTINATION_FILE=${KF_DESTINATION_FILE}
+# -f is check for regular files, not for symlinks
+# so use -e which is more permissive to check if path exist
+if [ -e ${DEV_PATH_KFLD} ]; then
+ EFI_UPDATE_FILE=${KFLD_UPDATE_FILE}
+ EFI_DESTINATION_FILE=${KFLD_DESTINATION_FILE}
+ DEV_PATH=${DEV_PATH_KFLD}
+fi
+
+if [ -f ${EFI_UPDATE_FILE} ]; then
+ is_exist_efi=1
+fi
+if [ -f ${BIOS_UPDATE_FILE} ]; then
+ is_exist_bios=1
+fi
+
+if [[ $is_exist_efi -eq 0 && $is_exist_efi -eq 0 ]]; then
+ echo "No file to be copied."
+ exit -1
+fi
+
+mount -t vfat $DEV_PATH $MOUNT_POINT
+if [ $? != 0 ]; then
+ echo "Cannot mount $MOUNT_POINT"
+ exit -2;
+fi
+
+if [ $is_exist_efi -eq 1 ]; then
+ cp $EFI_UPDATE_FILE $EFI_DESTINATION_FILE
+ if [ $? != 0 ]; then
+ echo "Cannot copy $EFI_UPDATE_FILE"
+ exit -3;
+ fi
+fi
+
+if [ $is_exist_bios -eq 1 ]; then
+ cp $BIOS_UPDATE_FILE $BIOS_UPDATE_DESTINATION_FILE
+ if [ $? != 0 ]; then
+ echo "Cannot copy $BIOS_UPDATE_FILE"
+ exit -4;
+ fi
+fi
+
+umount $MOUNT_POINT
+
+echo "EFI copy OK"
+exit 0
diff --git a/cic/flashfiles.ini b/cic/flashfiles.ini
index d2d302913..7160ddecd 100644
--- a/cic/flashfiles.ini
+++ b/cic/flashfiles.ini
@@ -1,3 +1,7 @@
# ----------------- BEGIN MIX-IN DEFINITIONS -----------------
# Mix-In definitions are auto-generated by mixin-update
+##############################################################
+# Source: device/intel/mixins/groups/boot-arch/project-celadon/flashfiles.ini
+##############################################################
+
# ------------------ END MIX-IN DEFINITIONS ------------------
diff --git a/cic/fstab b/cic/fstab
index 74ebc1b40..e3a01aa63 100644
--- a/cic/fstab
+++ b/cic/fstab
@@ -1,5 +1,9 @@
# ----------------- BEGIN MIX-IN DEFINITIONS -----------------
# Mix-In definitions are auto-generated by mixin-update
+##############################################################
+# Source: device/intel/mixins/groups/boot-arch/project-celadon/fstab
+##############################################################
+
##############################################################
# Source: device/intel/mixins/groups/device-specific/cic/fstab
##############################################################
diff --git a/cic/fstab.recovery b/cic/fstab.recovery
index d2d302913..4aed64b78 100644
--- a/cic/fstab.recovery
+++ b/cic/fstab.recovery
@@ -1,3 +1,7 @@
# ----------------- BEGIN MIX-IN DEFINITIONS -----------------
# Mix-In definitions are auto-generated by mixin-update
+##############################################################
+# Source: device/intel/mixins/groups/boot-arch/project-celadon/fstab.recovery
+##############################################################
+
# ------------------ END MIX-IN DEFINITIONS ------------------
diff --git a/cic/gpt.ini b/cic/gpt.ini
index d2d302913..ec9cfc799 100644
--- a/cic/gpt.ini
+++ b/cic/gpt.ini
@@ -1,3 +1,6 @@
# ----------------- BEGIN MIX-IN DEFINITIONS -----------------
# Mix-In definitions are auto-generated by mixin-update
+##############################################################
+# Source: device/intel/mixins/groups/boot-arch/project-celadon/gpt.ini
+##############################################################
# ------------------ END MIX-IN DEFINITIONS ------------------
diff --git a/cic/init.rc b/cic/init.rc
index 76d2db54a..44fbc6f9e 100644
--- a/cic/init.rc
+++ b/cic/init.rc
@@ -1,6 +1,40 @@
# ----------------- BEGIN MIX-IN DEFINITIONS -----------------
# Mix-In definitions are auto-generated by mixin-update
##############################################################
+# Source: device/intel/mixins/groups/boot-arch/project-celadon/init.rc
+##############################################################
+on fs
+ # ro.boot.hardware = TARGET_PRODUCT (set in kernel command line
+ # as androidboot.hardware). Mount all the filesystems as specified
+ # in the fstab.
+ mount_all /fstab.${ro.hardware}
+
+service watchdogd /system/bin/watchdogd
+ user root
+ class core
+ oneshot
+ seclabel u:r:watchdogd:s0
+
+on charger
+ start watchdogd
+
+on init
+ # Load persistent dm-verity state and detect if a restart was
+ # triggered after dm-verity detected a corrupted block
+ verity_load_state
+
+on early-boot
+ chmod 0440 /sys/firmware/dmi/entries/148-0/raw
+ chmod 0440 /sys/firmware/dmi/entries/0-0/raw
+
+on fs
+ # Update dm-verity persistent state and set partition.*.verified
+ # properties
+ verity_update_state
+
+on verity-logging
+ exec u:r:slideshow:s0 -- /sbin/slideshow -t 30000 -p warning/verity_red_1 warning/verity_red_2
+##############################################################
# Source: device/intel/mixins/groups/device-specific/cic/init.rc
##############################################################
on early-init
diff --git a/cic/init.recovery.rc b/cic/init.recovery.rc
index d2d302913..ddd827312 100644
--- a/cic/init.recovery.rc
+++ b/cic/init.recovery.rc
@@ -1,3 +1,6 @@
# ----------------- BEGIN MIX-IN DEFINITIONS -----------------
# Mix-In definitions are auto-generated by mixin-update
+##############################################################
+# Source: device/intel/mixins/groups/boot-arch/project-celadon/init.recovery.rc
+##############################################################
# ------------------ END MIX-IN DEFINITIONS ------------------
diff --git a/cic/mixins.spec b/cic/mixins.spec
index f48666e8e..8f36419d9 100644
--- a/cic/mixins.spec
+++ b/cic/mixins.spec
@@ -7,6 +7,7 @@ mixinsrel: false
product.mk: device.mk
[groups]
+boot-arch: project-celadon(uefi_arch=x86_64,rpmb_simulate=true,use_cic=true)
allow-missing-dependencies: true
audio: aic
cpu-arch: x86_64