diff --git a/androidia_64/AndroidBoard.mk b/androidia_64/AndroidBoard.mk deleted file mode 100644 index a00b8ecbb..000000000 --- a/androidia_64/AndroidBoard.mk +++ /dev/null @@ -1,251 +0,0 @@ -# ----------------- BEGIN MIX-IN DEFINITIONS ----------------- -# Mix-In definitions are auto-generated by mixin-update -############################################################## -# Source: device/intel/mixins/groups/android_ia/default/AndroidBoard.mk -############################################################## -droid: android_ia-efi - -$(hide) $(ACP) $(ANDROID_IA_IMAGE) $(DIST_DIR) -############################################################## -# Source: device/intel/mixins/groups/kernel/android_ia/AndroidBoard.mk -############################################################## -ifneq ($(TARGET_PREBUILT_KERNEL),) -$(error TARGET_PREBUILT_KERNEL defined but AndroidIA kernels build from source) -endif - -TARGET_KERNEL_SRC ?= kernel/android_ia - -TARGET_KERNEL_ARCH := x86_64 -TARGET_KERNEL_CONFIG ?= kernel_64_defconfig -ADDITIONAL_DEFAULT_PROPERTIES += ro.boot.moduleslocation=/vendor/lib/modules - -KERNEL_CONFIG_DIR := device/intel/android_ia/kernel_config - -KERNEL_NAME := bzImage - -# Set the output for the kernel build products. -KERNEL_OUT := $(abspath $(TARGET_OUT_INTERMEDIATES)/kernel) -KERNEL_BIN := $(KERNEL_OUT)/arch/$(TARGET_KERNEL_ARCH)/boot/$(KERNEL_NAME) -KERNEL_MODULES_INSTALL := $(TARGET_OUT)/lib/modules - -KERNELRELEASE = $(shell cat $(KERNEL_OUT)/include/config/kernel.release) - -build_kernel := $(MAKE) -C $(TARGET_KERNEL_SRC) \ - O=$(KERNEL_OUT) \ - ARCH=$(TARGET_KERNEL_ARCH) \ - CROSS_COMPILE="$(KERNEL_CROSS_COMPILE_WRAPPER)" \ - KCFLAGS="$(KERNEL_CFLAGS)" \ - KAFLAGS="$(KERNEL_AFLAGS)" \ - $(if $(SHOW_COMMANDS),V=1) \ - INSTALL_MOD_PATH=$(abspath $(TARGET_OUT)) - -KERNEL_CONFIG_FILE := device/intel/android_ia/kernel_config/$(TARGET_KERNEL_CONFIG) - -KERNEL_CONFIG := $(KERNEL_OUT)/.config -$(KERNEL_CONFIG): $(KERNEL_CONFIG_FILE) - $(hide) mkdir -p $(@D) && cat $(wildcard $^) > $@ - $(build_kernel) oldnoconfig - -# Produces the actual kernel image! -$(PRODUCT_OUT)/kernel: $(KERNEL_CONFIG) | $(ACP) - $(build_kernel) $(KERNEL_NAME) modules - $(hide) $(ACP) -fp $(KERNEL_BIN) $@ - -ALL_EXTRA_MODULES := $(patsubst %,$(TARGET_OUT_INTERMEDIATES)/kmodule/%,$(TARGET_EXTRA_KERNEL_MODULES)) -$(ALL_EXTRA_MODULES): $(TARGET_OUT_INTERMEDIATES)/kmodule/%: $(PRODUCT_OUT)/kernel - @echo Building additional kernel module $* - $(build_kernel) M=$(abspath $@) modules - -# Copy modules in directory pointed by $(KERNEL_MODULES_ROOT) -# First copy modules keeping directory hierarchy lib/modules/`uname-r`for libkmod -# Second, create flat hierarchy for insmod linking to previous hierarchy -$(KERNEL_MODULES_INSTALL): $(PRODUCT_OUT)/kernel $(ALL_EXTRA_MODULES) - $(hide) rm -rf $(TARGET_OUT)/lib/modules - $(build_kernel) modules_install - $(hide) for kmod in "$(TARGET_EXTRA_KERNEL_MODULES)" ; do \ - echo Installing additional kernel module $${kmod} ; \ - $(subst +,,$(subst $(hide),,$(build_kernel))) M=$(abspath $(TARGET_OUT_INTERMEDIATES))/$${kmod}.kmodule modules_install ; \ - done - $(hide) rm -f $(TARGET_OUT)/lib/modules/*/{build,source} - $(hide) rm -rf $(PRODUCT_OUT)/system/vendor/lib/modules - $(hide) mkdir -p $(PRODUCT_OUT)/system/vendor/lib/ - $(hide) cp -rf $(TARGET_OUT)/lib/modules/$(KERNELRELEASE)/ $(PRODUCT_OUT)/system/vendor/lib/modules - $(hide) touch $@ - -# Makes sure any built modules will be included in the system image build. -ALL_DEFAULT_INSTALLED_MODULES += $(KERNEL_MODULES_INSTALL) - -installclean: FILES += $(KERNEL_OUT) $(PRODUCT_OUT)/kernel - -.PHONY: kernel -kernel: $(PRODUCT_OUT)/kernel -############################################################## -# Source: device/intel/mixins/groups/boot-arch/android_ia/AndroidBoard.mk -############################################################## -define generate_flashfiles -zip -qj $(1) $(2) -endef - -out_flashfiles := $(PRODUCT_OUT)/$(TARGET_PRODUCT).flashfiles.$(TARGET_BUILD_VARIANT).$(USER).zip - -$(PRODUCT_OUT)/efi/installer.cmd: - $(ACP) $(TARGET_DEVICE_DIR)/$(@F) $@ - sed -i '/#/d' $@ - -$(PRODUCT_OUT)/efi/startup.nsh: - $(ACP) $(TARGET_DEVICE_DIR)/$(@F) $@ - sed -i '/#/d' $@ - -$(out_flashfiles): $(BOARD_FLASHFILES) | $(ACP) - $(call generate_flashfiles,$@, $^) - -.PHONY: flashfiles -flashfiles: $(out_flashfiles) - -# 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 - -# (pulled from build/core/Makefile as this gets defined much later) -# Pick a reasonable string to use to identify files. -ifneq "" "$(filter eng.%,$(BUILD_NUMBER))" -# BUILD_NUMBER has a timestamp in it, which means that -# it will change every time. Pick a stable value. -FILE_NAME_TAG := eng.$(USER) -else -FILE_NAME_TAG := $(BUILD_NUMBER) -endif - -BOARD_FIRST_STAGE_LOADER := $(PRODUCT_OUT)/efi/kernelflinger.efi -BOARD_EXTRA_EFI_MODULES := - -# We stash a copy of BIOSUPDATE.fv so the FW sees it, applies the -# update, and deletes the file. Follows Google's desire to update all -# bootloader pieces with a single "fastboot flash bootloader" command. -# Since it gets deleted we can't do incremental updates of it, we keep -# a copy as capsules/current.fv for this purpose. -intermediates := $(call intermediates-dir-for,PACKAGING,bootloader_zip) -bootloader_zip := $(intermediates)/bootloader.zip -$(bootloader_zip): intermediates := $(intermediates) -$(bootloader_zip): efi_root := $(intermediates)/root -$(bootloader_zip): \ - $(TARGET_DEVICE_DIR)/AndroidBoard.mk \ - $(BOARD_FIRST_STAGE_LOADER) \ - $(BOARD_EXTRA_EFI_MODULES) \ - $(BOARD_SFU_UPDATE) \ - | $(ACP) \ - - $(hide) rm -rf $(efi_root) - $(hide) rm -f $@ - $(hide) mkdir -p $(efi_root)/capsules - $(hide) mkdir -p $(efi_root)/EFI/BOOT - $(foreach EXTRA,$(BOARD_EXTRA_EFI_MODULES), \ - $(hide) $(ACP) $(EXTRA) $(efi_root)/) -ifneq ($(BOARD_SFU_UPDATE),) - $(hide) $(ACP) $(BOARD_SFU_UPDATE) $(efi_root)/BIOSUPDATE.fv - $(hide) $(ACP) $(BOARD_SFU_UPDATE) $(efi_root)/capsules/current.fv -endif - $(hide) $(ACP) $(BOARD_FIRST_STAGE_LOADER) $(efi_root)/loader.efi - $(hide) $(ACP) $(BOARD_FIRST_STAGE_LOADER) $(efi_root)/EFI/BOOT/$(efi_default_name) - $(hide) echo "Android-IA=\\EFI\\BOOT\\$(efi_default_name)" > $(efi_root)/manifest.txt - $(hide) echo "Fastboot=\\EFI\\BOOT\\$(efi_default_name);-f">> $(efi_root)/manifest.txt - $(hide) (cd $(efi_root) && zip -qry ../$(notdir $@) .) - -bootloader_info := $(intermediates)/bootloader_image_info.txt -$(bootloader_info): - $(hide) mkdir -p $(dir $@) - $(hide) echo "size=$(BOARD_BOOTLOADER_PARTITION_SIZE)" > $@ - $(hide) echo "block_size=$(BOARD_BOOTLOADER_BLOCK_SIZE)" >> $@ - -INSTALLED_RADIOIMAGE_TARGET += $(bootloader_zip) $(bootloader_info) - -# Rule to create $(OUT)/bootloader image, binaries within are signed with -# testing keys - -BOOTLOADER_FROM_ZIP = device/intel/build/bootloader_from_zip - -bootloader_bin := $(PRODUCT_OUT)/bootloader -$(bootloader_bin): \ - $(bootloader_zip) \ - $(IMG2SIMG) \ - $(BOOTLOADER_ADDITIONAL_DEPS) \ - $(BOOTLOADER_FROM_ZIP) \ - - $(hide) $(BOOTLOADER_FROM_ZIP) \ - --size $(BOARD_BOOTLOADER_PARTITION_SIZE) \ - --block-size $(BOARD_BOOTLOADER_BLOCK_SIZE) \ - $(BOOTLOADER_ADDITIONAL_ARGS) \ - --zipfile $(bootloader_zip) \ - $@ - -droidcore: $(bootloader_bin) - -.PHONY: bootloader -bootloader: $(bootloader_bin) -$(call dist-for-goals,droidcore,$(bootloader_bin):$(TARGET_PRODUCT)-bootloader-$(FILE_NAME_TAG)) - -fastboot_usb_bin := $(PRODUCT_OUT)/fastboot-usb.img -$(fastboot_usb_bin): \ - $(bootloader_zip) \ - $(BOOTLOADER_ADDITIONAL_DEPS) \ - $(BOOTLOADER_FROM_ZIP) \ - - $(hide) $(BOOTLOADER_FROM_ZIP) \ - $(BOOTLOADER_ADDITIONAL_ARGS) \ - --zipfile $(bootloader_zip) \ - --extra-size 10485760 \ - --bootable \ - $@ - -# Build when 'make' is run with no args -droidcore: $(fastboot_usb_bin) - -.PHONY: fastboot-usb -fastboot-usb: $(fastboot_usb_bin) - -$(call dist-for-goals,droidcore,$(fastboot_usb_bin):$(TARGET_PRODUCT)-fastboot-usb-$(FILE_NAME_TAG).img) -$(call dist-for-goals,droidcore,device/intel/build/testkeys/testkeys_lockdown.txt:test-keys_efi_lockdown.txt) -$(call dist-for-goals,droidcore,device/intel/build/testkeys/unlock.txt:efi_unlock.txt) - -ifeq ($(TARGET_BOOTLOADER_POLICY),$(filter $(TARGET_BOOTLOADER_POLICY),static external)) -# The bootloader policy is not built but is provided statically in the -# repository or in $(PRODUCT_OUT)/. -else -# Bootloader policy values are generated based on the -# TARGET_BOOTLOADER_POLICY value and the -# device/intel/build/testkeys/{odm,OAK} keys. The OEM must provide -# its own keys. -GEN_BLPOLICY_OEMVARS := device/intel/build/generate_blpolicy_oemvars -TARGET_ODM_KEY_PAIR := device/intel/build/testkeys/odm -TARGET_OAK_KEY_PAIR := device/intel/build/testkeys/OAK - -$(BOOTLOADER_POLICY_OEMVARS): sign-efi-sig-list - $(GEN_BLPOLICY_OEMVARS) -K $(TARGET_ODM_KEY_PAIR) \ - -O $(TARGET_OAK_KEY_PAIR).x509.pem -B $(TARGET_BOOTLOADER_POLICY) \ - $(BOOTLOADER_POLICY_OEMVARS) -endif -############################################################## -# Source: device/intel/mixins/groups/config-partition/enabled/AndroidBoard.mk -############################################################## -INSTALLED_CONFIGIMAGE_TARGET := $(PRODUCT_OUT)/config.img - -$(INSTALLED_CONFIGIMAGE_TARGET) : $(MKEXTUSERIMG) $(MAKE_EXT4FS) $(E2FSCK) - $(call pretty,"Target config fs image: $(INSTALLED_CONFIGIMAGE_TARGET)") - @mkdir -p $(PRODUCT_OUT)/config - $(hide) $(MKEXTUSERIMG) -s \ - $(PRODUCT_OUT)/config \ - $(PRODUCT_OUT)/config.img \ - ext4 \ - config \ - $(BOARD_CONFIGIMAGE_PARTITION_SIZE) - -INSTALLED_RADIOIMAGE_TARGET += $(INSTALLED_CONFIGIMAGE_TARGET) -# ------------------ END MIX-IN DEFINITIONS ------------------ diff --git a/androidia_64/AndroidProducts.mk b/androidia_64/AndroidProducts.mk deleted file mode 100644 index 693c57f03..000000000 --- a/androidia_64/AndroidProducts.mk +++ /dev/null @@ -1,2 +0,0 @@ -PRODUCT_MAKEFILES := \ - $(LOCAL_DIR)/androidia_64.mk diff --git a/androidia_64/BoardConfig.mk b/androidia_64/BoardConfig.mk deleted file mode 100644 index b3179a540..000000000 --- a/androidia_64/BoardConfig.mk +++ /dev/null @@ -1,219 +0,0 @@ -# ----------------- BEGIN MIX-IN DEFINITIONS ----------------- -# Mix-In definitions are auto-generated by mixin-update -############################################################## -# Source: device/intel/mixins/groups/android_ia/default/BoardConfig.mk -############################################################## -ANDROID_IA_IMAGE = $(ANDROID_IA-EFI) -############################################################## -# 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 -############################################################## -# SELinux Policy -BOARD_SEPOLICY_DIRS += device/intel/android_ia/sepolicy - -# Pass device target to build -BOARD_SEPOLICY_M4DEFS += board_sepolicy_target_product=$(TARGET_PRODUCT) -############################################################## -# Source: device/intel/mixins/groups/graphics/android_ia/BoardConfig.mk -############################################################## -BOARD_KERNEL_CMDLINE += vga=current i915.modeset=1 drm.atomic=1 i915.nuclear_pageflip=1 drm.vblankoffdelay=1 i915.fastboot=1 -USE_OPENGL_RENDERER := true -NUM_FRAMEBUFFER_SURFACE_BUFFERS := 3 -USE_INTEL_UFO_DRIVER := false -INTEL_VA := true -BOARD_GRAPHIC_IS_GEN := true -BOARD_GPU_DRIVERS := i965 -BOARD_USE_MESA := true -GRALLOC_DRM := true -BOARD_USES_IA_PLANNER := true - -# System's VSYNC phase offsets in nanoseconds -VSYNC_EVENT_PHASE_OFFSET_NS := 7500000 -SF_VSYNC_EVENT_PHASE_OFFSET_NS := 5000000 - -BOARD_GPU_DRIVERS ?= i965 swrast -ifneq ($(strip $(BOARD_GPU_DRIVERS)),) -TARGET_HARDWARE_3D := true -endif - -TARGET_USES_HWC2 := true - - - -BOARD_USES_DRM_HWCOMPOSER := false -BOARD_USES_IA_HWCOMPOSER := true - - -BOARD_USES_MINIGBM := false -############################################################## -# Source: device/intel/mixins/groups/device-type/tablet/BoardConfig.mk -############################################################## -DEVICE_PACKAGE_OVERLAYS += device/intel/common/device-type/overlay-tablet -############################################################## -# Source: device/intel/mixins/groups/debugfs/default/BoardConfig.mk -############################################################## -BOARD_SEPOLICY_DIRS += device/intel/android_ia/sepolicy/debugfs -############################################################## -# Source: device/intel/mixins/groups/display-density/default/BoardConfig.mk -############################################################## -ADDITIONAL_DEFAULT_PROPERTIES += ro.sf.lcd_density=160 - -############################################################## -# Source: device/intel/mixins/groups/kernel/android_ia/BoardConfig.mk -############################################################## -TARGET_USES_64_BIT_BINDER := true -BOARD_USE_64BIT_USERSPACE := true -TARGET_SUPPORTS_64_BIT_APPS := true - - -TARGET_PRELINK_MODULE := false -TARGET_NO_KERNEL ?= false - -BOARD_KERNEL_CMDLINE += root=/dev/ram0 androidboot.hardware=$(TARGET_PRODUCT) androidboot.selinux=permissive firmware_class.path=/vendor/firmware -############################################################## -# Source: device/intel/mixins/groups/bluetooth/btusb/BoardConfig.mk -############################################################## -BOARD_HAVE_BLUETOOTH := true -BOARD_HAVE_BLUETOOTH_LINUX := true -BOARD_BLUETOOTH_BDROID_BUILDCFG_INCLUDE_DIR := device/intel/common/bluetooth/bcm43241/ -DEVICE_PACKAGE_OVERLAYS += device/intel/common/bluetooth/overlay-bt-pan -############################################################## -# Source: device/intel/mixins/groups/boot-arch/android_ia/BoardConfig.mk -############################################################## -#TARGET_NO_RECOVERY ?= false - -TARGET_BOARD_PLATFORM := android_ia - -TARGET_USERIMAGES_USE_EXT4 := true -BOARD_USERDATAIMAGE_PARTITION_SIZE := 576716800 -BOARD_CACHEIMAGE_PARTITION_SIZE := 69206016 -BOARD_CACHEIMAGE_FILE_SYSTEM_TYPE := ext4 -BOARD_FLASH_BLOCK_SIZE := 512 - -ifeq ($(SPARSE_IMG),true) -TARGET_USERIMAGES_SPARSE_EXT_DISABLED := false -else -TARGET_USERIMAGES_SPARSE_EXT_DISABLED := true -endif - -BOARD_SYSTEMIMAGE_PARTITION_SIZE = 2010612736 - -BOARD_BOOTLOADER_PARTITION_SIZE ?= 62914560 -BOARD_BOOTLOADER_BLOCK_SIZE := 512 -TARGET_BOOTLOADER_BOARD_NAME := $(TARGET_DEVICE) - -# Kernel Flinger -TARGET_UEFI_ARCH := x86_64 -# Kernelflinger won't check the ACPI table oem_id, oem_table_id and -# revision fields -KERNELFLINGER_ALLOW_UNSUPPORTED_ACPI_TABLE := true -# Allow Kernelflinger to start watchdog prior to boot the kernel -KERNELFLINGER_USE_WATCHDOG := true -# Tell Kernelflinger to ignore ACPI RSCI table -KERNELFLINGER_IGNORE_RSCI := true -KERNELFLINGER_SSL_LIBRARY := boringssl -# Specify system verity partition -#PRODUCT_SYSTEM_VERITY_PARTITION := /dev/block/by-name/system - -# Avoid Watchdog truggered reboot -BOARD_KERNEL_CMDLINE += iTCO_wdt.force_no_reboot=1 - -# Specify file for creating final flashfiles -BOARD_GPT_INI ?= $(TARGET_DEVICE_DIR)/gpt.ini -BOARD_GPT_BIN = $(PRODUCT_OUT)/gpt.bin -BOARD_FLASHFILES += $(PRODUCT_OUT)/system.img -BOARD_FLASHFILES += $(PRODUCT_OUT)/gpt.bin -BOARD_FLASHFILES += $(PRODUCT_OUT)/boot.img -BOARD_FLASHFILES += $(PRODUCT_OUT)/efi/installer.efi -BOARD_FLASHFILES += $(PRODUCT_OUT)/efi/kernelflinger.efi -BOARD_FLASHFILES += $(PRODUCT_OUT)/efi/startup.nsh -BOARD_FLASHFILES += $(PRODUCT_OUT)/efi/installer.cmd -BOARD_FLASHFILES += $(PRODUCT_OUT)/bootloader -BOARD_FLASHFILES += $(PRODUCT_OUT)/fastboot-usb.img -BOARD_FLASHFILES += $(PRODUCT_OUT)/recovery.img -BOARD_FLASHFILES += $(PRODUCT_OUT)/cache.img -BOARD_FLASHFILES += $(PRODUCT_OUT)/userdata.img -BOARD_FLASHFILES += $(PRODUCT_OUT)/config.img -#HACK: comment this out until we fix the vendor partition -#BOARD_FLASHFILES += $(PRODUCT_OUT)/vendor.img -############################################################## -# Source: device/intel/mixins/groups/audio/android_ia/BoardConfig.mk -############################################################## -BOARD_USES_ALSA_AUDIO := true -BOARD_USES_TINY_ALSA_AUDIO := true -BOARD_USES_GENERIC_AUDIO ?= false -############################################################## -# Source: device/intel/mixins/groups/wlan/iwlwifi/BoardConfig.mk -############################################################## -# wifi support -WPA_SUPPLICANT_VERSION := VER_0_8_X -############################################################## -# Source: device/intel/mixins/groups/cpu-arch/skl/BoardConfig.mk -############################################################## -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 := x86 -TARGET_2ND_CPU_VARIANT := x86 -else -# 32b-specific items: -TARGET_ARCH := x86 -TARGET_CPU_ABI := x86 -endif -############################################################## -# Source: device/intel/mixins/groups/rfkill/true/BoardConfig.mk -############################################################## -BOARD_SEPOLICY_DIRS += device/intel/android_ia/sepolicy/rfkill -############################################################## -# Source: device/intel/mixins/groups/dexpreopt/enabled/BoardConfig.mk -############################################################## -# enable dex-preoptimization. -WITH_DEXPREOPT := true -WITH_DEXPREOPT_PIC := true -############################################################## -# Source: device/intel/mixins/groups/disk-bus/auto/BoardConfig.mk -############################################################## -BOARD_SEPOLICY_DIRS += device/intel/android_ia/sepolicy/set_storage -############################################################## -# Source: device/intel/mixins/groups/config-partition/enabled/BoardConfig.mk -############################################################## -BOARD_CONFIGIMAGE_PARTITION_SIZE := 8388608 -# ------------------ END MIX-IN DEFINITIONS ------------------ - -# Install Native Bridge -WITH_NATIVE_BRIDGE := true - -# Enable ARM codegen for x86 with Native Bridge -BUILD_ARM_FOR_X86 := true - -# Native Bridge ABI List -NB_ABI_LIST_32_BIT := armeabi-v7a armeabi -NB_ABI_LIST_64_BIT := arm64-v8a - -# Support 64 Bit Apps -ifeq ($(ENABLE_NATIVEBRIDGE_64BIT),true) - TARGET_CPU_ABI_LIST_64_BIT ?= $(TARGET_CPU_ABI) $(TARGET_CPU_ABI2) - TARGET_CPU_ABI_LIST_32_BIT ?= $(TARGET_2ND_CPU_ABI) $(TARGET_2ND_CPU_ABI2) - TARGET_CPU_ABI_LIST := \ - $(TARGET_CPU_ABI_LIST_64_BIT) \ - $(TARGET_CPU_ABI_LIST_32_BIT) \ - $(NB_ABI_LIST_32_BIT) \ - $(NB_ABI_LIST_64_BIT) - TARGET_CPU_ABI_LIST_32_BIT += $(NB_ABI_LIST_32_BIT) - TARGET_CPU_ABI_LIST_64_BIT += $(NB_ABI_LIST_64_BIT) -else - TARGET_CPU_ABI_LIST_32_BIT ?= $(TARGET_CPU_ABI) $(TARGET_CPU_ABI2) - TARGET_CPU_ABI_LIST_32_BIT += $(NB_ABI_LIST_32_BIT) - TARGET_CPU_ABI_LIST := $(TARGET_CPU_ABI_LIST_32_BIT) -endif - -BOARD_SEPOLICY_M4DEFS += module_houdini=true -BOARD_SEPOLICY_DIRS += device/intel/android_ia/sepolicy/houdini diff --git a/androidia_64/androidia_64.mk b/androidia_64/androidia_64.mk deleted file mode 100644 index 331847c08..000000000 --- a/androidia_64/androidia_64.mk +++ /dev/null @@ -1,10 +0,0 @@ -ENABLE_NATIVEBRIDGE_64BIT := true - -$(call inherit-product,$(SRC_TARGET_DIR)/product/core_64_bit.mk) -$(call inherit-product,device/intel/android_ia/androidia_64/device.mk) - -# Overrides -PRODUCT_NAME := androidia_64 -PRODUCT_BRAND := AndroidIA -PRODUCT_DEVICE := androidia_64 -PRODUCT_MODEL := Generic androidia_64 diff --git a/androidia_64/device.mk b/androidia_64/device.mk deleted file mode 100644 index ceae197a9..000000000 --- a/androidia_64/device.mk +++ /dev/null @@ -1,386 +0,0 @@ -# ----------------- BEGIN MIX-IN DEFINITIONS ----------------- -# Mix-In definitions are auto-generated by mixin-update -############################################################## -# Source: device/intel/mixins/groups/android_ia/default/product.mk -############################################################## -#Product Characteristics -PRODUCT_DIR := $(dir $(lastword $(filter-out device/common/%,$(filter device/%,$(ALL_PRODUCTS))))) - -PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.dalvik.vm.native.bridge=libhoudini.so - -PRODUCT_TAGS += dalvik.gc.type-precise - -PRODUCT_AAPT_CONFIG := normal large xlarge mdpi hdpi xhdpi xxhdpi -PRODUCT_AAPT_PREF_CONFIG := xxhdpi - -DEVICE_PACKAGE_OVERLAYS += device/intel/android_ia/common/overlay - -PRODUCT_PACKAGES += $(THIRD_PARTY_APPS) - -# Get a list of languages. -$(call inherit-product,$(SRC_TARGET_DIR)/product/locales_full.mk) - -# Get everything else from the parent package -$(call inherit-product, $(SRC_TARGET_DIR)/product/generic_no_telephony.mk) - -# Get some sounds -$(call inherit-product-if-exists,frameworks/base/data/sounds/AudioPackage6.mk) - -# Get Platform specific settings -$(call inherit-product-if-exists,vendor/vendor.mk) - -#Product Characteristics -PRODUCT_COPY_FILES += \ - $(if $(wildcard $(PRODUCT_DIR)fstab.$(TARGET_PRODUCT)),$(PRODUCT_DIR)fstab.$(TARGET_PRODUCT),$(LOCAL_PATH)/fstab):root/fstab.$(TARGET_PRODUCT) \ - $(if $(wildcard $(PRODUCT_DIR)init.$(TARGET_PRODUCT).rc),$(PRODUCT_DIR)init.$(TARGET_PRODUCT).rc,$(LOCAL_PATH)/init.rc):root/init.$(TARGET_PRODUCT).rc \ - $(if $(wildcard $(PRODUCT_DIR)ueventd.$(TARGET_PRODUCT).rc),$(PRODUCT_DIR)ueventd.$(TARGET_PRODUCT).rc,$(LOCAL_PATH)/ueventd.rc):root/ueventd.$(TARGET_PRODUCT).rc \ - $(LOCAL_PATH)/gpt.ini:root/gpt.$(TARGET_PRODUCT).ini \ - -PRODUCT_COPY_FILES += \ - frameworks/native/data/etc/tablet_core_hardware.xml:system/etc/permissions/tablet_core_hardware.xml - -# Camera: Device-specific configuration files. -PRODUCT_COPY_FILES += \ - frameworks/native/data/etc/android.hardware.camera.full.xml:system/etc/permissions/android.hardware.camera.full.xml \ - frameworks/native/data/etc/android.hardware.camera.flash-autofocus.xml:system/etc/permissions/android.hardware.camera.flash-autofocus.xml \ - frameworks/native/data/etc/android.hardware.camera.front.xml:system/etc/permissions/android.hardware.camera.front.xml \ - frameworks/native/data/etc/android.hardware.camera.xml:system/etc/permissions/android.hardware.camera.xml \ - -# Voip -PRODUCT_COPY_FILES += \ - frameworks/native/data/etc/android.software.sip.voip.xml:system/etc/permissions/android.software.sip.voip.xml \ - frameworks/native/data/etc/android.software.sip.xml:system/etc/permissions/android.software.sip.xml \ - -$(foreach sensor,accelerometer barometer compass gyroscope light stepcounter stepdetector proximity, \ -$(eval PRODUCT_COPY_FILES += frameworks/native/data/etc/android.hardware.sensor.$(sensor).xml:system/etc/permissions/android.hardware.sensor.$(sensor).xml)) - -# Usb -PRODUCT_COPY_FILES += \ - frameworks/native/data/etc/android.hardware.usb.accessory.xml:system/etc/permissions/android.hardware.usb.accessory.xml \ - frameworks/native/data/etc/android.hardware.usb.host.xml:system/etc/permissions/android.hardware.usb.host.xml - -# NFC -PRODUCT_COPY_FILES += \ - frameworks/native/data/etc/android.hardware.nfc.xml:system/etc/permissions/android.hardware.nfc.xml \ - frameworks/native/data/etc/android.hardware.nfc.hce.xml:system/etc/permissions/android.hardware.nfc.hce.xml \ - frameworks/native/data/etc/com.android.nfc_extras.xml:system/etc/permissions/com.android.nfc_extras.xml - -# Gps -PRODUCT_COPY_FILES += \ - frameworks/native/data/etc/android.hardware.location.xml:system/etc/permissions/android.hardware.location.xml \ - frameworks/native/data/etc/android.hardware.location.gps.xml:system/etc/permissions/android.hardware.location.gps.xml \ - -# Touch -PRODUCT_COPY_FILES += \ - frameworks/native/data/etc/android.hardware.touchscreen.multitouch.jazzhand.xml:system/etc/permissions/android.hardware.touchscreen.multitouch.jazzhand.xml \ - frameworks/native/data/etc/android.hardware.touchscreen.multitouch.distinct.xml:system/etc/permissions/android.hardware.touchscreen.multitouch.distinct.xml \ - frameworks/native/data/etc/android.hardware.touchscreen.multitouch.jazzhand.xml:system/etc/permissions/android.hardware.touchscreen.multitouch.jazzhand.xml \ - -#Sensors -PRODUCT_COPY_FILES += \ - frameworks/native/data/etc/android.hardware.sensor.accelerometer.xml:system/etc/permissions/android.hardware.sensor.accelerometer.xml \ - frameworks/native/data/etc/android.hardware.sensor.barometer.xml:system/etc/permissions/android.hardware.sensor.barometer.xml \ - frameworks/native/data/etc/android.hardware.sensor.compass.xml:system/etc/permissions/android.hardware.sensor.compass.xml \ - frameworks/native/data/etc/android.hardware.sensor.gyroscope.xml:system/etc/permissions/android.hardware.sensor.gyroscope.xml \ - frameworks/native/data/etc/android.hardware.sensor.light.xml:system/etc/permissions/android.hardware.sensor.light.xml \ - frameworks/native/data/etc/android.hardware.sensor.proximity.xml:system/etc/permissions/android.hardware.sensor.proximity.xml \ - -# USB -PRODUCT_COPY_FILES += \ - frameworks/native/data/etc/android.hardware.usb.accessory.xml:system/etc/permissions/android.hardware.usb.accessory.xml \ - frameworks/native/data/etc/android.hardware.usb.host.xml:system/etc/permissions/android.hardware.usb.host.xml \ - -# please modify to appropriate value based on tuning -PRODUCT_PROPERTY_OVERRIDES += \ - ro.hwui.texture_cache_size=24.0f \ - ro.hwui.text_large_cache_width=2048 \ - ro.hwui.text_large_cache_height=512 - -PRODUCT_PROPERTY_OVERRIDES += \ - ro.ril.hsxpa=1 \ - ro.ril.gprsclass=10 \ - keyguard.no_require_sim=true \ - ro.com.android.dataroaming=true - -PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \ - persist.rtc_local_time=1 \ - -# Enable MultiWindow -PRODUCT_PROPERTY_OVERRIDES += \ - persist.sys.debug.multi_window=true - -# DRM service -PRODUCT_PROPERTY_OVERRIDES += \ - drm.service.enabled=true - -# Property to choose between virtual/external wfd display -PRODUCT_PROPERTY_OVERRIDES += \ - persist.sys.wfd.virtual=0 - -# Camera -PRODUCT_PROPERTY_OVERRIDES += \ - camera.disable_zsl_mode=0 \ - persist.camera.HAL3.enabled=0 \ - persist.camera.ois.disable=0 - -# Camera: Format set up for graphics -PRODUCT_PROPERTY_OVERRIDES += ro.camera.pixel_format = 0x10F -PRODUCT_PROPERTY_OVERRIDES += ro.camera.rec.pixel_format = 0x100 -PRODUCT_PROPERTY_OVERRIDES += ro.ycbcr.pixel_format = 0x10F - -# Input resampling configuration -PRODUCT_PROPERTY_OVERRIDES += \ - ro.input.noresample=1 - -# set default USB configuration -PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \ - persist.sys.usb.config=mtp - -# AOSP Packages -PRODUCT_PACKAGES += \ - Launcher3 \ - Terminal - -PRODUCT_PACKAGES += \ - libion \ - libxml2 - -PRODUCT_PACKAGES += \ - libemoji - -PRODUCT_PACKAGES += \ - LiveWallpapers \ - LiveWallpapersPicker \ - NotePad \ - Provision \ - camera.android_ia \ - drmserver \ - gps.default \ - lights.default \ - power.android_ia \ - scp \ - sensors.hsb \ - sftp \ - ssh \ - sshd \ - local_time.default.so \ - vibrator.default.so \ - keystore.default.so - -# Sensors -PRODUCT_PACKAGES += \ - sensorhubd \ - libsensorhub \ - AndroidCalibrationTool \ - -# USB -PRODUCT_PACKAGES += \ - com.android.future.usb.accessory -############################################################## -# Source: device/intel/mixins/groups/graphics/android_ia/product.mk -############################################################## -# Mesa -PRODUCT_PACKAGES += \ - libGLES_mesa \ - libGLES_android - -PRODUCT_PACKAGES += \ - libdrm \ - libdrm_intel \ - libsync - -PRODUCT_COPY_FILES += \ - device/intel/android_ia/common/graphics/drirc:system/etc/drirc - - -# HWComposer IA -PRODUCT_PACKAGES += \ - hwcomposer.android_ia - -PRODUCT_PROPERTY_OVERRIDES += \ - hwc.drm.use_overlay_planes=1 \ - ro.hardware.hwcomposer=android_ia - - -#Gralloc -PRODUCT_PROPERTY_OVERRIDES += \ - ro.hardware.gralloc=drm - -PRODUCT_PACKAGES += \ - gralloc.drm - - -# Mesa -PRODUCT_COPY_FILES += \ - frameworks/native/data/etc/android.hardware.opengles.aep.xml:system/etc/permissions/android.hardware.opengles.aep.xml - -# GLES version -PRODUCT_PROPERTY_OVERRIDES += \ - ro.opengles.version=196609 - -PRODUCT_COPY_FILES += \ - frameworks/native/data/etc/android.hardware.vulkan.level-1.xml:system/etc/permissions/android.hardware.vulkan.level.xml - - -PRODUCT_COPY_FILES += \ - frameworks/native/data/etc/android.hardware.vulkan.version-1_0_3.xml:system/etc/permissions/android.hardware.vulkan.version.xml - -PRODUCT_PACKAGES += \ - vulkan.android_ia \ - vulkan.mesa_intel - -PRODUCT_PROPERTY_OVERRIDES += \ - ro.hardware.vulkan=android_ia -############################################################## -# Source: device/intel/mixins/groups/media/android_ia/product.mk -############################################################## -# Audio/video codec support. -PRODUCT_COPY_FILES += \ - frameworks/av/media/libstagefright/data/media_codecs_google_audio.xml:system/etc/media_codecs_google_audio.xml \ - frameworks/av/media/libstagefright/data/media_codecs_google_video.xml:system/etc/media_codecs_google_video.xml \ - frameworks/native/data/etc/android.hardware.audio.low_latency.xml:system/etc/permissions/android.hardware.audio.low_latency.xml \ - device/intel/android_ia/common/media/media_profiles.xml:system/etc/media_profiles.xml \ - device/intel/android_ia/common/media/media_codecs.xml:system/etc/media_codecs.xml - -#Enable deep buffer for video playback -PRODUCT_PROPERTY_OVERRIDES += media.stagefright.audio.deep=true - -# Enable AAC 5.1 output -PRODUCT_PROPERTY_OVERRIDES += \ - media.aac_51_output_enabled=true -############################################################## -# Source: device/intel/mixins/groups/device-type/tablet/product.mk -############################################################## -PRODUCT_CHARACTERISTICS := tablet - -$(call inherit-product,frameworks/native/build/tablet-10in-xhdpi-2048-dalvik-heap.mk) - -PRODUCT_COPY_FILES += \ - frameworks/native/data/etc/tablet_core_hardware.xml:system/etc/permissions/tablet_core_hardware.xml - -PRODUCT_AAPT_CONFIG := normal large xlarge mdpi hdpi xhdpi -PRODUCT_AAPT_PREF_CONFIG := hdpi - -PRODUCT_PROPERTY_OVERRIDES += \ - ro.sf.lcd_density=160 - - -############################################################## -# Source: device/intel/mixins/groups/ethernet/dhcp/product.mk -############################################################## -PRODUCT_COPY_FILES += \ - frameworks/native/data/etc/android.hardware.ethernet.xml:system/etc/permissions/android.hardware.ethernet.xml - -# Ethernet -PRODUCT_PROPERTY_OVERRIDES += \ - net.eth0.startonboot=1 - -############################################################## -# Source: device/intel/mixins/groups/adb_net/true/product.mk -############################################################## -# Enable Secure Debugging -ifneq ($(TARGET_BUILD_VARIANT),eng) -PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.adb.secure=1 -endif -############################################################## -# Source: device/intel/mixins/groups/kernel/android_ia/product.mk -############################################################## -TARGET_KERNEL_ARCH := x86_64 -BOARD_USE_64BIT_KERNEL := true - - -KERNEL_MODULES_ROOT_PATH ?= /system/lib/modules -KERNEL_MODULES_ROOT ?= $(KERNEL_MODULES_ROOT_PATH) - -FIRMWARES_DIR ?= vendor/linux/firmware - -# Include common settings. -FIRMWARE_FILTERS ?= .git/% %.mk - -# Firmware -$(call inherit-product,device/intel/android_ia/common/firmware.mk) -############################################################## -# Source: device/intel/mixins/groups/bluetooth/btusb/product.mk -############################################################## -PRODUCT_PACKAGES += \ - audio.a2dp.default \ - ath3k-1.fw \ - -PRODUCT_COPY_FILES += frameworks/native/data/etc/android.hardware.bluetooth.xml:system/etc/permissions/android.hardware.bluetooth.xml \ - frameworks/native/data/etc/android.hardware.bluetooth_le.xml:system/etc/permissions/android.hardware.bluetooth_le.xml - -ADDITIONAL_BUILD_PROPERTIES += bluetooth.hwcfg=stop \ - bluetooth.rfkill=1 -############################################################## -# Source: device/intel/mixins/groups/audio/android_ia/product.mk -############################################################## -# Tinyalsa -PRODUCT_PACKAGES_DEBUG += \ - tinymix \ - tinyplay \ - tinycap - -# Extended Audio HALs -PRODUCT_PACKAGES += \ - audio.r_submix.default \ - audio.hdmi.android_ia \ - audio.primary.android_ia \ - audio.usb.default \ - audio_policy.default.so - -PRODUCT_COPY_FILES += \ - device/intel/android_ia/common/audio/mixer_paths.xml:system/etc/mixer_paths.xml \ - device/intel/android_ia/common/audio/audio_policy.conf:system/etc/audio_policy.conf -############################################################## -# Source: device/intel/mixins/groups/wlan/iwlwifi/product.mk -############################################################## -PRODUCT_PACKAGES += \ - libwpa_client \ - wpa_cli \ - wpa_supplicant - -PRODUCT_COPY_FILES += \ - device/intel/common/wlan/wpa_supplicant-common.conf:/system/etc/wifi/wpa_supplicant.conf \ - hardware/broadcom/wlan/bcmdhd/config/wpa_supplicant_overlay.conf:system/etc/wifi/wpa_supplicant_overlay.conf \ - frameworks/native/data/etc/android.software.app_widgets.xml:system/etc/permissions/android.software.app_widgets.xml \ - frameworks/native/data/etc/android.hardware.wifi.xml:system/etc/permissions/android.hardware.wifi.xml - -# Wifi configuration -BOARD_WPA_SUPPLICANT_DRIVER := NL80211 -BOARD_WLAN_DEVICE := iwlwifi -############################################################## -# Source: device/intel/mixins/groups/rfkill/true/product.mk -############################################################## -PRODUCT_COPY_FILES += device/intel/common/rfkill/rfkill-init.sh:system/bin/rfkill-init.sh -############################################################## -# Source: device/intel/mixins/groups/disk-bus/auto/product.mk -############################################################## -# create primary storage symlink dynamically -PRODUCT_PACKAGES += set_storage -############################################################## -# Source: device/intel/mixins/groups/usb/host+acc/product.mk -############################################################## -PRODUCT_COPY_FILES += \ - frameworks/native/data/etc/android.hardware.usb.accessory.xml:system/etc/permissions/android.hardware.usb.accessory.xml \ - frameworks/native/data/etc/android.hardware.usb.host.xml:system/etc/permissions/android.hardware.usb.host.xml - -# usb accessory -PRODUCT_PACKAGES += \ - com.android.future.usb.accessory -# ------------------ END MIX-IN DEFINITIONS ------------------ -PRODUCT_PACKAGES += libhoudini houdini -PRODUCT_PROPERTY_OVERRIDES += ro.dalvik.vm.isa.arm=x86 ro.enable.native.bridge.exec=1 - -ENABLE_NATIVEBRIDGE_64BIT := false -ifeq ($(BOARD_USE_64BIT_USERSPACE),true) - ENABLE_NATIVEBRIDGE_64BIT = true -else - ifeq ($(TARGET_SUPPORTS_64_BIT_APPS),true) - ENABLE_NATIVEBRIDGE_64BIT = true - endif -endif -ifeq ($(ENABLE_NATIVEBRIDGE_64BIT),true) - PRODUCT_PACKAGES += houdini64 - PRODUCT_PROPERTY_OVERRIDES += ro.dalvik.vm.isa.arm64=x86_64 ro.enable.native.bridge.exec64=1 -endif -$(call inherit-product,build/target/product/verity.mk) diff --git a/androidia_64/fstab b/androidia_64/fstab deleted file mode 100644 index 4a1633951..000000000 --- a/androidia_64/fstab +++ /dev/null @@ -1,29 +0,0 @@ -# ----------------- BEGIN MIX-IN DEFINITIONS ----------------- -# Mix-In definitions are auto-generated by mixin-update -############################################################## -# Source: device/intel/mixins/groups/boot-arch/android_ia/fstab -############################################################## -# Android fstab file. -# -# The filesystem that contains the filesystem checker binary (typically /system) cannot -# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK - -/devices/*/usb*/* auto auto defaults voldmanaged=usb:auto,encryptable=userdata -/devices/*/*sdmmc*/* auto auto defaults voldmanaged=sdcard1:auto,encryptable=userdata -/devices/*/80860F14:01/mmc_* auto auto defaults voldmanaged=sdcard1:auto,encryptable=userdata - -/dev/block/mmcblk1p7 /system ext4 ro wait -/dev/block/mmcblk1p8 /cache ext4 noatime,nosuid,nodev,errors=panic wait,check -/dev/block/mmcblk1p12 /data ext4 noatime,nosuid,nodev,discard,noauto_da_alloc,errors=panic wait,check,formattable -/dev/block/mmcblk1p3 /boot emmc defaults defaults -/dev/block/mmcblk1p4 /recovery emmc defaults defaults -/dev/block/mmcblk1p5 /misc emmc defaults defaults -/dev/block/mmcblk1p1 /bootloader emmc defaults recoveryonly -/dev/block/mmcblk1p2 /bootloader2 emmc defaults recoveryonly -/dev/block/mmcblk1p9 /persistent emmc defaults defaults -/dev/block/mmcblk1p6 /metadata emmc defaults defaults -############################################################## -# Source: device/intel/mixins/groups/config-partition/enabled/fstab -############################################################## -/dev/block/mmcblk1p11 /config ext4 noatime,nosuid,nodev,errors=panic wait,check -# ------------------ END MIX-IN DEFINITIONS ------------------ diff --git a/androidia_64/init.rc b/androidia_64/init.rc deleted file mode 100644 index ab8dcfb7f..000000000 --- a/androidia_64/init.rc +++ /dev/null @@ -1,328 +0,0 @@ -# ----------------- BEGIN MIX-IN DEFINITIONS ----------------- -# Mix-In definitions are auto-generated by mixin-update -############################################################## -# Source: device/intel/mixins/groups/android_ia/default/init.rc -############################################################## -on early-init - mount_all /fstab.${ro.hardware} - -on fs - mkdir /dev/pstore 0755 root system - mount pstore pstore /dev/pstore - -on post-fs - setprop ro.setupwizard.mode DISABLED - -on post-fs-data - mkdir /data/kpanic 0770 system system - mkdir /data/kpanic/pstore 0770 system system - mkdir /data/dontpanic 0750 root log - # Create data folder for GPS - mkdir /data/gps 0770 gps system - - # Set indication (checked by vold) that we have finished this action - setprop vold.post_fs_data_done 1 - -on boot - write /sys/devices/platform/INT33BB:00/power/control on - write /sys/devices/pci0000\:00/0000\:00\:02.0/power/control auto - - setprop camera.disable_zsl_mode 1 - - setprop persist.sys.strictmode.visual 0 - setprop persist.sys.strictmode.disable 1 - - chmod 0660 /sys/class/tty/ttyHSU1/../../power/control - chown system system /sys/class/tty/ttyHSU1/../../power/control - mkdir /dev/gps 0770 gps system - symlink /dev/ttyHSU1 /dev/gps/ttyGPS - symlink /sys/class/tty/ttyHSU1/../../power/control /dev/gps/ttyGPSPowerControl - - write /proc/sys/net/ipv4/tcp_limit_output_bytes 1500000 - write /proc/sys/net/core/rmem_max 6291456 - write /proc/sys/net/core/wmem_max 4194304 - - # change group for IPC interfaces - chown root system /sys/devices/pci0000:00/0000:00:14.0/power/control - chmod 0664 /sys/devices/pci0000:00/0000:00:14.0/power/control - chown root system /sys/bus/usb/devices/2-0:1.0/port5/power/pm_qos_no_power_off - chmod 0664 /sys/bus/usb/devices/2-0:1.0/port5/power/pm_qos_no_power_off - chown root system /sys/devices/pci0000:00/0000:00:14.0/usb2/2-5/power/wakeup - chmod 0664 /sys/devices/pci0000:00/0000:00:14.0/usb2/2-5/power/wakeup - chown root system /sys/devices/pci0000:00/0000:00:14.0/ssic_port_enable - chmod 0664 /sys/devices/pci0000:00/0000:00:14.0/power/ssic_port_enable - - chown root system /sys/bus/usb/devices/2-0:1.0/port5/usb3_lpm - chmod 0664 /sys/bus/usb/devices/2-0:1.0/port5/usb3_lpm - - # disable HSIC port - write /sys/bus/usb/devices/1-0:1.0/port6/power/pm_qos_no_power_off 0 - - chown system system /sys/devices/system/cpu/intel_pstate/min_perf_pct - chmod 0660 /sys/devices/system/cpu/intel_pstate/min_perf_pct - chown system system /sys/devices/system/cpu/intel_pstate/max_perf_pct - chmod 0660 /sys/devices/system/cpu/intel_pstate/max_perf_pct - write /sys/kernel/debug/pstate_snb/setpoint 75 - -service watchdogd /sbin/watchdogd 10 30 - user root - class core - oneshot - seclabel u:r:watchdogd:s0 - -on charger - start watchdogd - -# bugreport is triggered by holding down volume down, volume up and power -service bugreport /system/bin/dumpstate -d -p -B \ - -o /data/user_de/0/com.android.shell/files/bugreports/bugreport - class main - disabled - oneshot - keycodes 114 115 116 -############################################################## -# Source: device/intel/mixins/groups/graphics/android_ia/init.rc -############################################################## -on init - chown system system /sys/class/backlight/intel_backlight/brightness - chown system system /sys/class/backlight/acpi_video0/brightness - write /sys/fs/selinux/enforce 0 - -on post-fs - #setprop debug.sf.nobootanimation 1 - mkdir /data/system 0770 system system - -on boot - chown system graphics /sys/kernel/debug/sync/sw_sync - symlink /sys/kernel/debug/sync/sw_sync /dev/sw_sync -############################################################## -# Source: device/intel/mixins/groups/media/android_ia/init.rc -############################################################## -on post-fs-data - mkdir /data/hdcp 0770 media media - mkdir /data/coreu 0770 media root - mkdir /data/media 0770 media_rw media_rw - chown media_rw media_rw /data/media - -on boot - setprop persist.media.pfw.verbose true -############################################################## -# Source: device/intel/mixins/groups/ethernet/dhcp/init.rc -############################################################## - -service dhcpcd_eth0 /system/bin/dhcpcd -ABDKL - class main - disabled - oneshot - -service iprenew_eth0 /system/bin/dhcpcd -n - class main - disabled - oneshot -############################################################## -# Source: device/intel/mixins/groups/debugfs/default/init.rc -############################################################## -on early-init - # Mount debugfs and make it writable so that debuggerd can - # create stack traces, required with newer kernels - mount debugfs debugfs /sys/kernel/debug - chmod 0755 /sys/kernel/debug - -on early-boot - # Needed by surfaceflinger to enable it to open trace_marker - # on start without file permissions error. - chmod 0222 /sys/kernel/debug/tracing/trace_marker - # tracefs is mounted after 1st access to it - chmod 0755 /sys/kernel/debug/tracing -############################################################## -# Source: device/intel/mixins/groups/storage/default/init.rc -############################################################## -on init - # Support legacy paths - symlink /sdcard /mnt/sdcard - symlink /sdcard /storage/sdcard0 - -############################################################## -# Source: device/intel/mixins/groups/usb-gadget/default/init.rc -############################################################## -on fs - mkdir /dev/usb-ffs 0770 shell shell - mkdir /dev/usb-ffs/adb 0770 shell shell - mount functionfs adb /dev/usb-ffs/adb uid=2000,gid=2000 - -on boot - # USB Gadget initialization - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/iManufacturer ${ro.product.manufacturer} - write /sys/class/android_usb/android0/iProduct ${ro.product.model} - write /sys/class/android_usb/android0/iSerial ${ro.serialno} - write /sys/class/android_usb/android0/f_ffs/aliases adb - write /sys/class/android_usb/android0/functions adb - write /sys/class/android_usb/android0/idVendor 8087 - write /sys/class/android_usb/android0/idProduct 09ef - write /sys/class/android_usb/android0/enable 1 -############################################################## -# Source: device/intel/mixins/groups/adb_net/true/init.rc -############################################################## -on boot - start adbd - setprop net.eth0.startonboot true - -on property:debug.logcat=1 - class_start debug - -service logcat /system/bin/logcat -v threadtime -f /data/log.txt - class debug - -service setconsole /system/bin/setconsole -g - class main - user root - oneshot - -############################################################## -# Source: device/intel/mixins/groups/kernel/android_ia/init.rc -############################################################## -on boot - write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor interactive - write /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor interactive - write /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor interactive - write /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor interactive - chown system system /sys/devices/system/cpu/cpufreq/interactive/touchboostpulse - - chown system system /sys/devices/system/cpu/cpufreq/interactive/timer_rate - chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/timer_rate - chown system system /sys/devices/system/cpu/cpufreq/interactive/timer_slack - chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/timer_slack - chown system system /sys/devices/system/cpu/cpufreq/interactive/min_sample_time - chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/min_sample_time - chown system system /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq - chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq - chown system system /sys/devices/system/cpu/cpufreq/interactive/target_loads - chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/target_loads - chown system system /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load - chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load - chown system system /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay - chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay - chown system system /sys/devices/system/cpu/cpufreq/interactive/boost - chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/boost - chown system system /sys/devices/system/cpu/cpufreq/interactive/boostpulse - chown system system /sys/devices/system/cpu/cpufreq/interactive/input_boost - chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/input_boost - chown system system /sys/devices/system/cpu/cpufreq/interactive/boostpulse_duration - chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/boostpulse_duration - chown system system /sys/devices/system/cpu/cpufreq/interactive/io_is_busy - chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/io_is_busy - # Assume SMP uses shared cpufreq policy for all CPUs - chown system system /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq - chmod 0660 /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq - #Give permission to system to use i915_videostatus sysfs interface - chown system system /sys/class/drm/card0/power/i915_videostatus - -on property:sys.boot_completed=1 - write /sys/devices/system/cpu/cpufreq/interactive/boost 0 - write /sys/devices/system/cpu/cpufreq/interactive/irq_load_threshold 2 -############################################################## -# 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 - -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/wlan/iwlwifi/init.rc -############################################################## -on boot - setprop wifi.interface wlan0 - -service dhcpcd_wlan0 /system/bin/dhcpcd -dABKL - group dhcp - disabled - oneshot - -service wpa_supplicant /system/bin/wpa_supplicant \ - -iwlan0 -Dnl80211 -c/data/misc/wifi/wpa_supplicant.conf \ - -I/system/etc/wifi/wpa_supplicant_overlay.conf \ - -e/data/misc/wifi/entropy.bin -g@android:wpa_wlan0 - class main - socket wpa_wlan0 dgram 660 wifi wifi - disabled - oneshot -############################################################## -# Source: device/intel/mixins/groups/cpuset/2cores/init.rc -############################################################## -on late-init - write /dev/cpuset/foreground/cpus 0-1 - write /dev/cpuset/background/cpus 0-1 - write /dev/cpuset/system-background/cpus 0-1 - write /dev/cpuset/top-app/cpus 0-1 - write /dev/cpuset/foreground/boost/cpus 0-1 -############################################################## -# Source: device/intel/mixins/groups/rfkill/true/init.rc -############################################################## -on boot - start rfkill-init - -service rfkill-init /system/bin/rfkill-init.sh - disabled - user system - group system - oneshot -############################################################## -# Source: device/intel/mixins/groups/disk-bus/auto/init.rc -############################################################## -on init - # Android creates by-name disk links with the disk controller - # in the generated path, so that the names pulled out of the GPT - # can be associated with the correct disk. Create a shortcut to - # /dev/block/by-name so that we can use the same fstabs everywhere. - exec u:r:set_storage:s0 root root -- /sbin/set_storage -############################################################## -# Source: device/intel/mixins/groups/usb/host+acc/init.rc -############################################################## -on boot - write /sys/devices/pci0000\:00/0000\:00\:14.0/power/control auto - -on charger - write /sys/devices/pci0000\:00/0000\:00\:14.0/power/control auto -############################################################## -# Source: device/intel/mixins/groups/config-partition/enabled/init.rc -############################################################## -# Enable SELinux labeling -on post-fs - restorecon_recursive /config -# ------------------ END MIX-IN DEFINITIONS ------------------ -# Enable native bridge for target executables -on early-init - mount binfmt_misc binfmt_misc /proc/sys/fs/binfmt_misc - -on property:ro.enable.native.bridge.exec=1 - copy /system/vendor/etc/binfmt_misc/arm_exe /proc/sys/fs/binfmt_misc/register - copy /system/vendor/etc/binfmt_misc/arm_dyn /proc/sys/fs/binfmt_misc/register - -on property:ro.enable.native.bridge.exec64=1 - copy /system/vendor/etc/binfmt_misc/arm64_exe /proc/sys/fs/binfmt_misc/register - copy /system/vendor/etc/binfmt_misc/arm64_dyn /proc/sys/fs/binfmt_misc/register - -on boot -service nativebridge /system/bin/enable_nativebridge - -on property:persist.sys.nativebridge=1 - mkdir /data/arm 0775 system system - start nativebridge - -on property:persist.sys.nativebridge=0 - stop nativebridge diff --git a/androidia_64/mixins.spec b/androidia_64/mixins.spec deleted file mode 100644 index 0c5d60759..000000000 --- a/androidia_64/mixins.spec +++ /dev/null @@ -1,31 +0,0 @@ -[main] -mixinsdir: device/intel/mixins/groups - -[mapping] -product.mk: device.mk - -[groups] -android_ia: default -sepolicy: permissive -graphics: android_ia(gen9+=true,hwc2=true,vulkan=true,drmhwc=false,minigbm=false) -media: android_ia -device-type: tablet -ethernet: dhcp -debugfs: default -storage: default -display-density: default -usb-gadget: default -adb_net: true -kernel: android_ia -bluetooth: btusb -boot-arch: android_ia -audio: android_ia -wlan: iwlwifi -cpu-arch: skl -cpuset: 2cores -rfkill: true(force_disable=) -dexpreopt: enabled -disk-bus: auto -usb: host+acc -lights: true -config-partition: enabled diff --git a/androidia_64/vendorsetup.sh b/androidia_64/vendorsetup.sh deleted file mode 100644 index caf362296..000000000 --- a/androidia_64/vendorsetup.sh +++ /dev/null @@ -1,3 +0,0 @@ -add_lunch_combo androidia_64-eng -add_lunch_combo androidia_64-userdebug -add_lunch_combo androidia_64-user diff --git a/cel_apl/AndroidBoard.mk b/cel_apl/AndroidBoard.mk new file mode 100644 index 000000000..07f0838b6 --- /dev/null +++ b/cel_apl/AndroidBoard.mk @@ -0,0 +1,609 @@ +# ----------------- BEGIN MIX-IN DEFINITIONS ----------------- +# Mix-In definitions are auto-generated by mixin-update +############################################################## +# Source: device/intel/mixins/groups/project-celadon/default/AndroidBoard.mk +############################################################## +droid: flashfiles + -$(hide) $(ACP) $(out_flashfiles) $(DIST_DIR) +############################################################## +# Source: device/intel/mixins/groups/sepolicy/enforcing/AndroidBoard.mk +############################################################## +include $(CLEAR_VARS) +LOCAL_MODULE := sepolicy-areq-checker +LOCAL_REQUIRED_MODULES := sepolicy + +# +# On user builds, enforce that open tickets are considered violations. +# +ifeq ($(TARGET_BUILD_VARIANT),user) +LOCAL_USER_OPTIONS := -i +endif + +LOCAL_POST_INSTALL_CMD := $(INTEL_PATH_SEPOLICY)/tools/capchecker $(LOCAL_USER_OPTIONS) -p $(INTEL_PATH_SEPOLICY)/tools/caps.conf $(TARGET_ROOT_OUT)/sepolicy + +include $(BUILD_PHONY_PACKAGE) +############################################################## +# Source: device/intel/mixins/groups/graphics/mesa/AndroidBoard.mk +############################################################## +ifneq ($(TARGET_BOARD_PLATFORM),kabylake) +I915_FW_PATH := ./$(INTEL_PATH_VENDOR)/ufo/gen9_dev/x86_64_media/vendor/firmware/i915 +else +I915_FW_PATH := ./$(INTEL_PATH_VENDOR)/ufo/gen9_dev/x86_64_media_kbl/vendor/firmware/i915 +endif +#list of i915/huc_xxx.bin i915/dmc_xxx.bin i915/guc_xxx.bin +$(foreach t, $(patsubst $(I915_FW_PATH)/%,%,$(wildcard $(I915_FW_PATH)/*)) ,$(eval I915_FW += i915/$(t)) $(eval $(LOCAL_KERNEL) : $(PRODUCT_OUT)/vendor/firmware/i915/$(t))) + +_EXTRA_FW_ += $(I915_FW) + +############################################################## +# Source: device/intel/mixins/groups/slot-ab/true/AndroidBoard.mk +############################################################## + +make_dir_slot_ab: + @mkdir -p $(PRODUCT_OUT)/root/boot + @mkdir -p $(PRODUCT_OUT)/root/misc + @mkdir -p $(PRODUCT_OUT)/root/persistent + @mkdir -p $(PRODUCT_OUT)/root/metadata + +$(PRODUCT_OUT)/ramdisk.img: make_dir_slot_ab +############################################################## +# Source: device/intel/mixins/groups/kernel/project-celadon/AndroidBoard.mk +############################################################## +ifneq ($(TARGET_PREBUILT_KERNEL),) +$(error TARGET_PREBUILT_KERNEL defined but AndroidIA kernels build from source) +endif + +TARGET_KERNEL_SRC ?= kernel/project-celadon + +TARGET_KERNEL_ARCH := x86_64 +TARGET_KERNEL_CONFIG ?= kernel_64_defconfig + +KERNEL_CONFIG_DIR := device/intel/project-celadon/kernel_config + +KERNEL_NAME := bzImage + +# Set the output for the kernel build products. +KERNEL_OUT := $(abspath $(TARGET_OUT_INTERMEDIATES)/kernel) +KERNEL_BIN := $(KERNEL_OUT)/arch/$(TARGET_KERNEL_ARCH)/boot/$(KERNEL_NAME) +KERNEL_MODULES_INSTALL := $(PRODUCT_OUT)/$(TARGET_COPY_OUT_VENDOR)/lib/modules + +KERNELRELEASE = $(shell cat $(KERNEL_OUT)/include/config/kernel.release) + +KMOD_OUT := $(shell readlink -f "$(PRODUCT_OUT)/$(TARGET_COPY_OUT_VENDOR)") + +build_kernel := $(MAKE) -C $(TARGET_KERNEL_SRC) \ + O=$(KERNEL_OUT) \ + ARCH=$(TARGET_KERNEL_ARCH) \ + CROSS_COMPILE="$(KERNEL_CROSS_COMPILE_WRAPPER)" \ + KCFLAGS="$(KERNEL_CFLAGS)" \ + KAFLAGS="$(KERNEL_AFLAGS)" \ + $(if $(SHOW_COMMANDS),V=1) \ + INSTALL_MOD_PATH=$(KMOD_OUT) + +KERNEL_CONFIG_FILE := device/intel/project-celadon/kernel_config/$(TARGET_KERNEL_CONFIG) + +ifneq ($(TARGET_BUILD_VARIANT), user) +KERNEL_CONFIG_FILE += $(wildcard $(KERNEL_CONFIG_DIR)/debug_diffconfig) +endif + +KERNEL_CONFIG := $(KERNEL_OUT)/.config +$(KERNEL_CONFIG): $(KERNEL_CONFIG_FILE) + $(hide) mkdir -p $(@D) && cat $(wildcard $^) > $@ + $(build_kernel) oldnoconfig + +# Produces the actual kernel image! +$(PRODUCT_OUT)/kernel: $(KERNEL_CONFIG) | $(ACP) + $(build_kernel) $(KERNEL_NAME) modules + $(hide) $(ACP) -fp $(KERNEL_BIN) $@ + +EXTMOD_SRC := ../../../../../.. + +TARGET_EXTRA_KERNEL_MODULES := $(EXTMOD_SRC)/kernel/modules/perftools-external/soc_perf_driver/src +TARGET_EXTRA_KERNEL_MODULES += $(EXTMOD_SRC)/kernel/modules/perftools-external/socwatch_driver + +ALL_EXTRA_MODULES := $(patsubst %,$(TARGET_OUT_INTERMEDIATES)/kmodule/%,$(TARGET_EXTRA_KERNEL_MODULES)) +$(ALL_EXTRA_MODULES): $(TARGET_OUT_INTERMEDIATES)/kmodule/%: $(PRODUCT_OUT)/kernel + @echo Building additional kernel module $* + $(build_kernel) M=$(abspath $@) modules + +# Copy modules in directory pointed by $(KERNEL_MODULES_ROOT) +# First copy modules keeping directory hierarchy lib/modules/`uname-r`for libkmod +# Second, create flat hierarchy for insmod linking to previous hierarchy +$(KERNEL_MODULES_INSTALL): $(PRODUCT_OUT)/kernel $(ALL_EXTRA_MODULES) + $(hide) rm -rf $(PRODUCT_OUT)/$(TARGET_COPY_OUT_VENDOR)/lib/modules + $(build_kernel) modules_install + $(hide) for kmod in $(TARGET_EXTRA_KERNEL_MODULES) ; do \ + echo Installing additional kernel module $${kmod} ; \ + $(subst +,,$(subst $(hide),,$(build_kernel))) M=$(abspath $(TARGET_OUT_INTERMEDIATES))/kernel/$${kmod} modules_install ; \ + done + $(hide) rm -f $(PRODUCT_OUT)/$(TARGET_COPY_OUT_VENDOR)/lib/modules/*/{build,source} + $(hide) mv $(PRODUCT_OUT)/$(TARGET_COPY_OUT_VENDOR)/lib/modules/$(KERNELRELEASE)/* $(PRODUCT_OUT)/$(TARGET_COPY_OUT_VENDOR)/lib/modules + $(hide) rm -rf $(PRODUCT_OUT)/$(TARGET_COPY_OUT_VENDOR)/lib/modules/$(KERNELRELEASE) + $(hide) touch $@ + +# Makes sure any built modules will be included in the system image build. +ALL_DEFAULT_INSTALLED_MODULES += $(KERNEL_MODULES_INSTALL) + +installclean: FILES += $(KERNEL_OUT) $(PRODUCT_OUT)/kernel + +.PHONY: kernel +kernel: $(PRODUCT_OUT)/kernel +############################################################## +# Source: device/intel/mixins/groups/firststage-mount/true/AndroidBoard.mk +############################################################## +FIRST_STAGE_MOUNT_CFG_FILE := $(TARGET_DEVICE_DIR)/extra_files/firststage-mount/config.asl + +$(FIRSTSTAGE_MOUNT_SSDT): $(FIRST_STAGE_MOUNT_CFG_FILE) $(IASL) + $(hide) $(IASL) -p $(@:.aml=) $(FIRST_STAGE_MOUNT_CFG_FILE); +############################################################## +# Source: device/intel/mixins/groups/vendor-partition/true/AndroidBoard.mk +############################################################## + +# This is to ensure that kernel modules are installed before +# vendor.img is generated. +$(PRODUCT_OUT)/vendor.img : $(KERNEL_MODULES_INSTALL) + +make_dir_ab_vendor: + @mkdir -p $(PRODUCT_OUT)/root/vendor + +$(PRODUCT_OUT)/ramdisk.img: make_dir_ab_vendor +############################################################## +# Source: device/intel/mixins/groups/config-partition/enabled/AndroidBoard.mk +############################################################## +INSTALLED_CONFIGIMAGE_TARGET := $(PRODUCT_OUT)/config.img + +selinux_fc := $(TARGET_ROOT_OUT)/file_contexts.bin + +$(INSTALLED_CONFIGIMAGE_TARGET) : PRIVATE_SELINUX_FC := $(selinux_fc) +$(INSTALLED_CONFIGIMAGE_TARGET) : $(MKEXTUSERIMG) $(MAKE_EXT4FS) $(E2FSCK) $(selinux_fc) + $(call pretty,"Target config fs image: $(INSTALLED_CONFIGIMAGE_TARGET)") + @mkdir -p $(PRODUCT_OUT)/config + $(hide) PATH=$(HOST_OUT_EXECUTABLES):$$PATH \ + $(MKEXTUSERIMG) -s \ + $(PRODUCT_OUT)/config \ + $(PRODUCT_OUT)/config.img \ + ext4 \ + oem_config \ + $(BOARD_CONFIGIMAGE_PARTITION_SIZE) \ + $(PRIVATE_SELINUX_FC) + +INSTALLED_RADIOIMAGE_TARGET += $(INSTALLED_CONFIGIMAGE_TARGET) + +selinux_fc := + +selinux_fc := +.PHONY: configimage +configimage: $(INSTALLED_CONFIGIMAGE_TARGET) + +make_dir_ab_config: + @mkdir -p $(PRODUCT_OUT)/vendor/oem_config + +$(PRODUCT_OUT)/ramdisk.img: make_dir_ab_config +############################################################## +# Source: device/intel/mixins/groups/factory-partition/true/AndroidBoard.mk +############################################################## +INSTALLED_FACTORYIMAGE_TARGET := $(PRODUCT_OUT)/factory.img +selinux_fc := $(TARGET_ROOT_OUT)/file_contexts.bin + +$(INSTALLED_FACTORYIMAGE_TARGET) : PRIVATE_SELINUX_FC := $(selinux_fc) +$(INSTALLED_FACTORYIMAGE_TARGET) : $(MKEXTUSERIMG) $(MAKE_EXT4FS) $(E2FSCK) $(selinux_fc) + $(call pretty,"Target factory fs image: $(INSTALLED_FACTORYIMAGE_TARGET)") + @mkdir -p $(PRODUCT_OUT)/factory + $(hide) $(MKEXTUSERIMG) -s \ + $(PRODUCT_OUT)/factory \ + $(PRODUCT_OUT)/factory.img \ + ext4 \ + factory \ + $(BOARD_FACTORYIMAGE_PARTITION_SIZE) \ + $(PRIVATE_SELINUX_FC) + +INSTALLED_RADIOIMAGE_TARGET += $(INSTALLED_FACTORYIMAGE_TARGET) + +selinux_fc := + +.PHONY: factoryimage +factoryimage: $(INSTALLED_FACTORYIMAGE_TARGET) + +make_dir_ab_factory: + @mkdir -p $(PRODUCT_OUT)/vendor/factory + +$(PRODUCT_OUT)/ramdisk.img: make_dir_ab_factory +############################################################## +# 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 +############################################################## +src_loader_file := $(PRODUCT_OUT)/efi/kernelflinger.efi +tgt_loader_file := $(PRODUCT_OUT)/loader.efi + +define generate_flashfiles +$(shell cp $(src_loader_file) $(tgt_loader_file)) +zip -qj $(1) $(2) $(tgt_loader_file) +endef + +ifneq ($(BUILD_NUMBER),) +out_flashfiles := $(PRODUCT_OUT)/$(TARGET_PRODUCT)-flashfiles-$(BUILD_NUMBER).zip +else +out_flashfiles := $(PRODUCT_OUT)/$(TARGET_PRODUCT).flashfiles.$(TARGET_BUILD_VARIANT).$(USER).zip +endif + + +$(PRODUCT_OUT)/efi/startup.nsh: $(TARGET_DEVICE_DIR)/extra_files/boot-arch/$(@F) + $(ACP) $(TARGET_DEVICE_DIR)/extra_files/boot-arch/$(@F) $@ + sed -i '/#/d' $@ + +$(PRODUCT_OUT)/efi/unlock_device.nsh: $(TARGET_DEVICE_DIR)/extra_files/boot-arch/$(@F) + $(ACP) $(TARGET_DEVICE_DIR)/extra_files/boot-arch/$(@F) $@ + sed -i '/#/d' $@ + +$(PRODUCT_OUT)/efi/efivar_oemlock: $(TARGET_DEVICE_DIR)/$(@F) + $(ACP) $(TARGET_DEVICE_DIR)/$(@F) $@ + +$(out_flashfiles): $(BOARD_FLASHFILES) | $(ACP) + $(call generate_flashfiles,$@, $^) + + +.PHONY: flashfiles_simple +flashfiles_simple: $(out_flashfiles) + +# 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 + +# (pulled from build/core/Makefile as this gets defined much later) +# Pick a reasonable string to use to identify files. +ifneq "" "$(filter eng.%,$(BUILD_NUMBER))" +# BUILD_NUMBER has a timestamp in it, which means that +# it will change every time. Pick a stable value. +FILE_NAME_TAG := eng.$(USER) +else +FILE_NAME_TAG := $(BUILD_NUMBER) +endif + +BOARD_FIRST_STAGE_LOADER := $(PRODUCT_OUT)/efi/kernelflinger.efi +BOARD_EXTRA_EFI_MODULES := + +# We stash a copy of BIOSUPDATE.fv so the FW sees it, applies the +# update, and deletes the file. Follows Google's desire to update all +# bootloader pieces with a single "fastboot flash bootloader" command. +# Since it gets deleted we can't do incremental updates of it, we keep +# a copy as capsules/current.fv for this purpose. +intermediates := $(call intermediates-dir-for,PACKAGING,bootloader_zip) +bootloader_zip := $(intermediates)/bootloader.zip +$(bootloader_zip): intermediates := $(intermediates) +$(bootloader_zip): efi_root := $(intermediates)/root +$(bootloader_zip): \ + $(TARGET_DEVICE_DIR)/AndroidBoard.mk \ + $(BOARD_FIRST_STAGE_LOADER) \ + $(BOARD_EXTRA_EFI_MODULES) \ + $(BOARD_SFU_UPDATE) \ + | $(ACP) \ + + $(hide) rm -rf $(efi_root) + $(hide) rm -f $@ + $(hide) mkdir -p $(efi_root)/capsules + $(hide) mkdir -p $(efi_root)/EFI/BOOT + $(foreach EXTRA,$(BOARD_EXTRA_EFI_MODULES), \ + $(hide) $(ACP) $(EXTRA) $(efi_root)/) +ifneq ($(BOARD_SFU_UPDATE),) + $(hide) $(ACP) $(BOARD_SFU_UPDATE) $(efi_root)/BIOSUPDATE.fv + $(hide) $(ACP) $(BOARD_SFU_UPDATE) $(efi_root)/capsules/current.fv +endif + $(hide) $(ACP) $(BOARD_FIRST_STAGE_LOADER) $(efi_root)/loader.efi + $(hide) $(ACP) $(BOARD_FIRST_STAGE_LOADER) $(efi_root)/EFI/BOOT/$(efi_default_name) + $(hide) echo "Android-IA=\\EFI\\BOOT\\$(efi_default_name)" > $(efi_root)/manifest.txt +ifeq ($(BOARD_BOOTOPTION_FASTBOOT),true) + $(hide) echo "Fastboot=\\EFI\\BOOT\\$(efi_default_name);-f">> $(efi_root)/manifest.txt +endif + $(hide) (cd $(efi_root) && zip -qry ../$(notdir $@) .) + +bootloader_info := $(intermediates)/bootloader_image_info.txt +$(bootloader_info): + $(hide) mkdir -p $(dir $@) + $(hide) echo "size=$(BOARD_BOOTLOADER_PARTITION_SIZE)" > $@ + $(hide) echo "block_size=$(BOARD_BOOTLOADER_BLOCK_SIZE)" >> $@ + +INSTALLED_RADIOIMAGE_TARGET += $(bootloader_zip) $(bootloader_info) + +# Rule to create $(OUT)/bootloader image, binaries within are signed with +# testing keys + +BOOTLOADER_FROM_ZIP = device/intel/build/bootloader_from_zip + +bootloader_bin := $(PRODUCT_OUT)/bootloader +$(bootloader_bin): \ + $(bootloader_zip) \ + $(IMG2SIMG) \ + $(BOOTLOADER_ADDITIONAL_DEPS) \ + $(BOOTLOADER_FROM_ZIP) \ + + $(hide) $(BOOTLOADER_FROM_ZIP) \ + --size $(BOARD_BOOTLOADER_PARTITION_SIZE) \ + --block-size $(BOARD_BOOTLOADER_BLOCK_SIZE) \ + $(BOOTLOADER_ADDITIONAL_ARGS) \ + --zipfile $(bootloader_zip) \ + $@ + +droidcore: $(bootloader_bin) + +.PHONY: bootloader +bootloader: $(bootloader_bin) +$(call dist-for-goals,droidcore,$(bootloader_bin):$(TARGET_PRODUCT)-bootloader-$(FILE_NAME_TAG)) + +fastboot_usb_bin := $(PRODUCT_OUT)/fastboot-usb.img +$(fastboot_usb_bin): \ + $(bootloader_zip) \ + $(BOOTLOADER_ADDITIONAL_DEPS) \ + $(BOOTLOADER_FROM_ZIP) \ + + $(hide) $(BOOTLOADER_FROM_ZIP) \ + $(BOOTLOADER_ADDITIONAL_ARGS) \ + --zipfile $(bootloader_zip) \ + --extra-size 10485760 \ + --bootable \ + $@ + +# Build when 'make' is run with no args +droidcore: $(fastboot_usb_bin) + +.PHONY: fastboot-usb +fastboot-usb: $(fastboot_usb_bin) + +$(call dist-for-goals,droidcore,$(fastboot_usb_bin):$(TARGET_PRODUCT)-fastboot-usb-$(FILE_NAME_TAG).img) +$(call dist-for-goals,droidcore,device/intel/build/testkeys/testkeys_lockdown.txt:test-keys_efi_lockdown.txt) +$(call dist-for-goals,droidcore,device/intel/build/testkeys/unlock.txt:efi_unlock.txt) + +ifeq ($(TARGET_BOOTLOADER_POLICY),$(filter $(TARGET_BOOTLOADER_POLICY),static external)) +# The bootloader policy is not built but is provided statically in the +# repository or in $(PRODUCT_OUT)/. +else +# Bootloader policy values are generated based on the +# TARGET_BOOTLOADER_POLICY value and the +# device/intel/build/testkeys/{odm,OAK} keys. The OEM must provide +# its own keys. +GEN_BLPOLICY_OEMVARS := device/intel/build/generate_blpolicy_oemvars +TARGET_ODM_KEY_PAIR := device/intel/build/testkeys/odm +TARGET_OAK_KEY_PAIR := device/intel/build/testkeys/OAK + +$(BOOTLOADER_POLICY_OEMVARS): + $(GEN_BLPOLICY_OEMVARS) -K $(TARGET_ODM_KEY_PAIR) \ + -O $(TARGET_OAK_KEY_PAIR).x509.pem -B $(TARGET_BOOTLOADER_POLICY) \ + $(BOOTLOADER_POLICY_OEMVARS) +endif + + +GPT_INI2BIN := ./device/intel/common/gpt_bin/gpt_ini2bin.py + +$(BOARD_GPT_BIN): $(TARGET_DEVICE_DIR)/gpt.ini + $(hide) $(GPT_INI2BIN) $< > $@ + $(hide) echo GEN $(notdir $@) + +# Use by updater_ab_esp +$(PRODUCT_OUT)/vendor.img: $(PRODUCT_OUT)/vendor/firmware/kernelflinger.efi +$(PRODUCT_OUT)/vendor/firmware/kernelflinger.efi: $(PRODUCT_OUT)/efi/kernelflinger.efi + $(ACP) $(PRODUCT_OUT)/efi/kernelflinger.efi $@ + +############################################################## +# Source: device/intel/mixins/groups/audio/project-celadon/AndroidBoard.mk +############################################################## +pfw_rebuild_settings := true +# Target specific audio configuration files +include device/intel/project-celadon/common/audio/AndroidBoard.mk +############################################################## +# Source: device/intel/mixins/groups/wlan/iwlwifi/AndroidBoard.mk +############################################################## +#LOCAL_KERNEL_PATH := $(abspath $(PRODUCT_OUT)/obj/kernel) is not defined yet +#$(abspath $(PRODUCT_OUT)/obj/kernel)/copy_modules: iwlwifi +############################################################## +# Source: device/intel/mixins/groups/trusty/true/AndroidBoard.mk +############################################################## +TOS_IMAGE_TARGET := $(TRUSTY_BUILDROOT)/evmm_lk_pkg.bin + +INTERNAL_PLATFORM := ikgt +LOCAL_MAKE := make + +# Build the evmm_pkg.bin and lk.bin +.PHONY: $(TOS_IMAGE_TARGET) +$(TOS_IMAGE_TARGET): + @echo "making lk.bin.." + $(hide) (cd $(TOPDIR)trusty && $(TRUSTY_ENV_VAR) $(LOCAL_MAKE) sand-x86-64) + @echo "making tos image.." + $(hide) (cd $(TOPDIR)vendor/intel/fw/evmm/$(INTERNAL_PLATFORM) && $(TRUSTY_ENV_VAR) $(LOCAL_MAKE)) + +#tos partition is assigned for trusty +INSTALLED_TOS_IMAGE_TARGET := $(PRODUCT_OUT)/tos.img +TOS_SIGNING_KEY := $(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_VERITY_SIGNING_KEY).pk8 +TOS_SIGNING_CERT := $(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_VERITY_SIGNING_KEY).x509.pem + +.PHONY: tosimage +tosimage: $(INSTALLED_TOS_IMAGE_TARGET) + +ifeq (true,$(BOARD_AVB_ENABLE)) # BOARD_AVB_ENABLE == true +$(INSTALLED_TOS_IMAGE_TARGET): $(TOS_IMAGE_TARGET) $(MKBOOTIMG) $(AVBTOOL) + @echo "mkbootimg to create boot image for TOS file: $@" + $(hide) $(MKBOOTIMG) --kernel $(TOS_IMAGE_TARGET) --output $@ + $(hide) $(AVBTOOL) add_hash_footer \ + --image $@ \ + --partition_size $(BOARD_TOSIMAGE_PARTITION_SIZE) \ + --partition_name tos $(INTERNAL_AVB_SIGNING_ARGS) +BOARD_AVB_MAKE_VBMETA_IMAGE_ARGS += --include_descriptors_from_image $(INSTALLED_TOS_IMAGE_TARGET) +$(PRODUCT_OUT)/vbmeta.img: $(INSTALLED_TOS_IMAGE_TARGET) +else +$(INSTALLED_TOS_IMAGE_TARGET): $(TOS_IMAGE_TARGET) $(MKBOOTIMG) $(BOOT_SIGNER) + @echo "mkbootimg to create boot image for TOS file: $@" + $(hide) $(MKBOOTIMG) --kernel $(TOS_IMAGE_TARGET) --output $@ + $(if $(filter true,$(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_SUPPORTS_BOOT_SIGNER)),\ + @echo "sign prebuilt TOS file: $@" &&\ + $(BOOT_SIGNER) /tos $@ $(TOS_SIGNING_KEY) $(TOS_SIGNING_CERT) $@) +endif + +INSTALLED_RADIOIMAGE_TARGET += $(INSTALLED_TOS_IMAGE_TARGET) + +make_dir_ab_tos: + @mkdir -p $(PRODUCT_OUT)/root/tos + +$(PRODUCT_OUT)/ramdisk.img: make_dir_ab_tos +############################################################## +# Source: device/intel/mixins/groups/flashfiles/ini/AndroidBoard.mk +############################################################## +ff_intermediates := $(call intermediates-dir-for,PACKAGING,flashfiles) + +# We need a copy of the flashfiles configuration ini in the +# TFP RADIO/ directory +ff_config := $(ff_intermediates)/flashfiles.ini +$(ff_config): $(FLASHFILES_CONFIG) | $(ACP) + $(copy-file-to-target) + +$(call add_variant_flashfiles,$(ff_intermediates)) + +INSTALLED_RADIOIMAGE_TARGET += $(ff_config) + + +$(call flashfile_add_blob,extra_script.edify,$(TARGET_DEVICE_DIR)/flashfiles/::variant::/extra_script.edify) + +# We take any required images that can't be derived elsewhere in +# the TFP and put them in RADIO/provdata.zip. +ff_intermediates := $(call intermediates-dir-for,PACKAGING,flashfiles) +provdata_zip := $(ff_intermediates)/provdata.zip +provdata_zip_deps := $(foreach pair,$(BOARD_FLASHFILES),$(call word-colon,1,$(pair))) +ff_root := $(ff_intermediates)/root + +define copy-flashfile +$(hide) $(ACP) -fp $(1) $(2) + +endef + +define deploy_provdata +$(eval ff_var := $(subst provdata,,$(basename $(notdir $(1))))) +$(hide) rm -f $(1) +$(hide) rm -rf $(ff_intermediates)/root$(ff_var) +$(hide) mkdir -p $(ff_intermediates)/root$(ff_var) +$(foreach pair,$(BOARD_FLASHFILES$(ff_var)), \ + $(call copy-flashfile,$(call word-colon,1,$(pair)),$(ff_intermediates)/root$(ff_var)/$(call word-colon,2,$(pair)))) +$(hide) zip -qj $(1) $(ff_intermediates)/root$(ff_var)/* +endef + +ifneq ($(FLASHFILE_VARIANTS),) +provdata_zip := +$(foreach var,$(FLASHFILE_VARIANTS), \ + $(eval provdata_zip += $(ff_intermediates)/provdata_$(var).zip) \ + $(eval BOARD_FLASHFILES_$(var) := $(BOARD_FLASHFILES)) \ + $(eval BOARD_FLASHFILES_$(var) += $(BOARD_FLASHFILES_FIRMWARE_$(var))) \ + $(eval provdata_zip_deps += $(foreach pair,$(BOARD_FLASHFILES_FIRMWARE_$(var)),$(call word-colon,1,$(pair))))) +else +$(eval BOARD_FLASHFILES += $(BOARD_FLASHFILES_FIRMWARE)) +$(eval provdata_zip_deps += $(foreach pair,$(BOARD_FLASHFILES_FIRMWARE),$(call word-colon,1,$(pair)))) +endif + +$(provdata_zip): $(provdata_zip_deps) | $(ACP) + $(call deploy_provdata,$@) + + +INSTALLED_RADIOIMAGE_TARGET += $(provdata_zip) + +############################################################## +# Source: device/intel/mixins/groups/gptbuild/true/AndroidBoard.mk +############################################################## +gptimage_size ?= 14G + +raw_config := none +raw_factory := none +tos_bin := none +multiboot_bin := none + +.PHONY: none +none: ; + +.PHONY: $(INSTALLED_CONFIGIMAGE_TARGET).raw +$(INSTALLED_CONFIGIMAGE_TARGET).raw: $(INSTALLED_CONFIGIMAGE_TARGET) $(SIMG2IMG) + $(SIMG2IMG) $< $@ + +.PHONY: $(INSTALLED_FACTORYIMAGE_TARGET).raw +$(INSTALLED_FACTORYIMAGE_TARGET).raw: $(INSTALLED_FACTORYIMAGE_TARGET) $(SIMG2IMG) + $(SIMG2IMG) $< $@ + +ifdef INSTALLED_CONFIGIMAGE_TARGET +raw_config := $(INSTALLED_CONFIGIMAGE_TARGET).raw +endif + +ifdef INSTALLED_FACTORYIMAGE_TARGET +raw_factory := $(INSTALLED_FACTORYIMAGE_TARGET).raw +endif + +.PHONY: $(GPTIMAGE_BIN) +ifeq ($(strip $(TARGET_USE_TRUSTY)),true) +ifeq ($(strip $(TARGET_USE_MULTIBOOT)),true) +$(GPTIMAGE_BIN): tosimage multiboot +multiboot_bin = $(INSTALLED_MULTIBOOT_IMAGE_TARGET) +else +$(GPTIMAGE_BIN): tosimage +endif +tos_bin = $(INSTALLED_TOS_IMAGE_TARGET) +endif + +$(GPTIMAGE_BIN): \ + bootloader \ + bootimage \ + systemimage \ + vbmetaimage \ + vendorimage \ + $(SIMG2IMG) \ + $(raw_config) \ + $(raw_factory) + + $(hide) rm -f $(INSTALLED_SYSTEMIMAGE).raw + $(hide) rm -f $(INSTALLED_USERDATAIMAGE_TARGET).raw + + $(SIMG2IMG) $(INSTALLED_SYSTEMIMAGE) $(INSTALLED_SYSTEMIMAGE).raw + $(SIMG2IMG) $(INSTALLED_VENDORIMAGE_TARGET) $(INSTALLED_VENDORIMAGE_TARGET).raw + + $(INTEL_PATH_BUILD)/create_gpt_image.py \ + --create $@ \ + --block $(BOARD_FLASH_BLOCK_SIZE) \ + --table $(TARGET_DEVICE_DIR)/gpt.ini \ + --size $(gptimage_size) \ + --bootloader $(bootloader_bin) \ + --bootloader2 $(bootloader_bin) \ + --tos $(tos_bin) \ + --multiboot $(multiboot_bin) \ + --boot $(INSTALLED_BOOTIMAGE_TARGET) \ + --vbmeta $(INSTALLED_VBMETAIMAGE_TARGET) \ + --system $(INSTALLED_SYSTEMIMAGE).raw \ + --vendor $(INSTALLED_VENDORIMAGE_TARGET).raw \ + --config $(raw_config) \ + --factory $(raw_factory) + + +.PHONY: gptimage +gptimage: $(GPTIMAGE_BIN) +############################################################## +# Source: device/intel/mixins/groups/device-type/car/AndroidBoard.mk +############################################################## +# Car device required kernel diff config +#KERNEL_CAR_DIFFCONFIG = $(wildcard $(KERNEL_CONFIG_PATH)/car_diffconfig) +#KERNEL_DIFFCONFIG += $(KERNEL_CAR_DIFFCONFIG) +# ------------------ END MIX-IN DEFINITIONS ------------------ diff --git a/cel_apl/AndroidProducts.mk b/cel_apl/AndroidProducts.mk new file mode 100644 index 000000000..3781bbd6c --- /dev/null +++ b/cel_apl/AndroidProducts.mk @@ -0,0 +1,2 @@ +PRODUCT_MAKEFILES := \ + $(LOCAL_DIR)/cel_apl.mk diff --git a/cel_apl/BoardConfig.mk b/cel_apl/BoardConfig.mk new file mode 100644 index 000000000..35c09ef33 --- /dev/null +++ b/cel_apl/BoardConfig.mk @@ -0,0 +1,519 @@ +# ----------------- BEGIN MIX-IN DEFINITIONS ----------------- +# Mix-In definitions are auto-generated by mixin-update +############################################################## +# Source: device/intel/mixins/groups/vndk/true/BoardConfig.mk +############################################################## +BOARD_VNDK_VERSION := current +############################################################## +# Source: device/intel/mixins/groups/2ndstage/oemvars/BoardConfig.mk +############################################################## +TARGET_BOOTLOADER_IS_2ND := true +BOARD_OEM_VARS += $(TARGET_DEVICE_DIR)/extra_files/2ndstage/oemvars.txt +############################################################## +# Source: device/intel/mixins/groups/disk-bus/auto/BoardConfig.mk +############################################################## +BOARD_SEPOLICY_DIRS += $(INTEL_PATH_SEPOLICY)/set_storage +BOARD_DISK_BUS = ff.ff +############################################################## +# Source: device/intel/mixins/groups/project-celadon/default/BoardConfig.mk +############################################################## +KERNEL_CROSS_COMPILE_WRAPPER := x86_64-linux-android- + +BOARD_SEPOLICY_DIRS += $(INTEL_PATH_SEPOLICY)/vendor +############################################################## +# Source: device/intel/mixins/groups/sepolicy/enforcing/BoardConfig.mk +############################################################## +# SELinux Policy +BOARD_SEPOLICY_DIRS += $(INTEL_PATH_SEPOLICY) + +############################################################## +# Source: device/intel/mixins/groups/graphics/mesa/BoardConfig.mk +############################################################## +# Use external/drm-bxt +TARGET_USE_PRIVATE_LIBDRM := true +LIBDRM_VER ?= intel + +BOARD_KERNEL_CMDLINE += vga=current i915.modeset=1 drm.atomic=1 i915.nuclear_pageflip=1 drm.vblankoffdelay=1 i915.fastboot=1 +USE_OPENGL_RENDERER := true +NUM_FRAMEBUFFER_SURFACE_BUFFERS := 3 +USE_INTEL_UFO_DRIVER := false +BOARD_GPU_DRIVERS := i965 +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 +ifneq ($(strip $(BOARD_GPU_DRIVERS)),) +TARGET_HARDWARE_3D := true +TARGET_USES_HWC2 := true +endif + + +BOARD_USES_DRM_HWCOMPOSER := false +BOARD_USES_IA_HWCOMPOSER := true + +BOARD_USES_MINIGBM := true +BOARD_ENABLE_EXPLICIT_SYNC := true +INTEL_MINIGBM := external/minigbm + + +BOARD_USES_GRALLOC1 := true + + + +BOARD_CURSOR_WA := false + +BOARD_THREEDIS_UNDERRUN_WA := true + + +BOARD_SEPOLICY_DIRS += $(INTEL_PATH_SEPOLICY)/graphics/mesa + +############################################################## +# Source: device/intel/mixins/groups/media/project-celadon/BoardConfig.mk +############################################################## +INTEL_STAGEFRIGHT := true + +# Settings for the Media SDK library and plug-ins: +# - USE_MEDIASDK: use Media SDK support or not +USE_MEDIASDK := true + +BOARD_HAVE_MEDIASDK_OPEN_SOURCE := true +############################################################## +# Source: device/intel/mixins/groups/debugfs/default/BoardConfig.mk +############################################################## +BOARD_SEPOLICY_DIRS += device/intel/project-celadon/sepolicy/debugfs +############################################################## +# Source: device/intel/mixins/groups/usb-gadget/g_ffs/BoardConfig.mk +############################################################## +BOARD_SEPOLICY_DIRS += device/intel/project-celadon/sepolicy/usb + +############################################################## +# Source: device/intel/mixins/groups/slot-ab/true/BoardConfig.mk +############################################################## +AB_OTA_UPDATER := true +AB_OTA_PARTITIONS := \ + boot \ + system +BOARD_BUILD_SYSTEM_ROOT_IMAGE := true +TARGET_NO_RECOVERY := true +BOARD_USES_RECOVERY_AS_BOOT := true +BOARD_SLOT_AB_ENABLE := true +############################################################## +# Source: device/intel/mixins/groups/kernel/project-celadon/BoardConfig.mk +############################################################## +TARGET_USES_64_BIT_BINDER := true +BOARD_USE_64BIT_USERSPACE := true +TARGET_SUPPORTS_64_BIT_APPS := true + + +TARGET_PRELINK_MODULE := false +TARGET_NO_KERNEL ?= false + +KERNEL_LOGLEVEL ?= 3 +SERIAL_PARAMETER ?= console=tty0 console=ttyS0,115200n8 + + +BOARD_KERNEL_CMDLINE += androidboot.hardware=$(TARGET_PRODUCT) firmware_class.path=/vendor/firmware loglevel=$(KERNEL_LOGLEVEL) loop.max_part=7 + +ifneq ($(TARGET_BUILD_VARIANT),user) +ifeq ($(SPARSE_IMG),true) +BOARD_KERNEL_CMDLINE += $(SERIAL_PARAMETER) +endif +endif + + +BOARD_SEPOLICY_M4DEFS += module_kernel=true +BOARD_SEPOLICY_DIRS += device/intel/project-celadon/sepolicy/kernel +############################################################## +# Source: device/intel/mixins/groups/bluetooth/btusb/BoardConfig.mk +############################################################## +BOARD_HAVE_BLUETOOTH_INTEL_ICNV := true +DEVICE_PACKAGE_OVERLAYS += device/intel/common/bluetooth/overlay-bt-pan +BOARD_SEPOLICY_DIRS += device/intel/project-celadon/sepolicy/bluetooth/common + +BOARD_BLUETOOTH_BDROID_BUILDCFG_INCLUDE_DIR := device/intel/common/bluetooth/intel/car/ + +############################################################## +# Source: device/intel/mixins/groups/avb/true/BoardConfig.mk +############################################################## +BOARD_AVB_ENABLE := true + +KERNELFLINGER_AVB_CMDLINE := true + +BOARD_VBMETAIMAGE_PARTITION_SIZE := 2097152 +BOARD_FLASHFILES += $(PRODUCT_OUT)/vbmeta.img + +# Now use AVB to support A/B slot +PRODUCT_STATIC_BOOT_CONTROL_HAL := bootctrl.avb libavb_user +############################################################## +# Source: device/intel/mixins/groups/firststage-mount/true/BoardConfig.mk +############################################################## +BOARD_FIRSTSTAGE_MOUNT_ENABLE := true +BOARD_KERNEL_CMDLINE += androidboot.android_dt_dir=/sys/bus/platform/devices/ANDR0001:00/properties/android/ +FIRSTSTAGE_MOUNT_SSDT = $(PRODUCT_OUT)/firststage-mount.aml +############################################################## +# Source: device/intel/mixins/groups/vendor-partition/true/BoardConfig.mk +############################################################## +# Those 3 lines are required to enable vendor image generation. +# Remove them if vendor partition is not used. +TARGET_COPY_OUT_VENDOR := vendor +BOARD_VENDORIMAGE_PARTITION_SIZE := 1887436800 +ifeq ($(SPARSE_IMG),true) +BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := ext4 +else +BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := squashfs +endif +BOARD_FLASHFILES += $(PRODUCT_OUT)/vendor.img +AB_OTA_PARTITIONS += vendor +############################################################## +# Source: device/intel/mixins/groups/config-partition/enabled/BoardConfig.mk +############################################################## +BOARD_CONFIGIMAGE_PARTITION_SIZE := 8388608 +BOARD_FLASHFILES += $(PRODUCT_OUT)/config.img +BOARD_SEPOLICY_M4DEFS += module_config_partition=true +BOARD_SEPOLICY_DIRS += device/intel/project-celadon/sepolicy/config-partition +############################################################## +# Source: device/intel/mixins/groups/factory-partition/true/BoardConfig.mk +############################################################## +BOARD_FACTORYIMAGE_PARTITION_SIZE := 10485760 +BOARD_FLASHFILES += $(PRODUCT_OUT)/factory.img +BOARD_SEPOLICY_DIRS += device/intel/project-celadon/sepolicy/factory-partition +BOARD_SEPOLICY_M4DEFS += module_factory_partition=true +############################################################## +# Source: device/intel/mixins/groups/boot-arch/project-celadon/BoardConfig.mk +############################################################## +#TARGET_NO_RECOVERY ?= false + +ifeq (False,true) +TARGET_USERIMAGES_USE_F2FS := true +BOARD_USERDATAIMAGE_FILE_SYSTEM_TYPE := f2fs +INTERNAL_USERIMAGES_EXT_VARIANT := f2fs +else +TARGET_USERIMAGES_USE_EXT4 := true +BOARD_USERDATAIMAGE_FILE_SYSTEM_TYPE := ext4 +INTERNAL_USERIMAGES_EXT_VARIANT := ext4 +endif + +BOARD_USERDATAIMAGE_PARTITION_SIZE := 576716800 +BOARD_FLASH_BLOCK_SIZE := 512 + +BOARD_BOOTIMAGE_PARTITION_SIZE := 31457280 + +ifeq ($(SPARSE_IMG),true) +TARGET_USERIMAGES_SPARSE_EXT_DISABLED := false +BOARD_SYSTEMIMAGE_FILE_SYSTEM_TYPE := ext4 +else +TARGET_USERIMAGES_SPARSE_EXT_DISABLED := true +BOARD_SYSTEMIMAGE_FILE_SYSTEM_TYPE := squashfs +endif + +BOARD_SYSTEMIMAGE_PARTITION_SIZE := 3758096384 + +BOARD_BOOTLOADER_PARTITION_SIZE ?= 62914560 +BOARD_BOOTLOADER_BLOCK_SIZE := 512 +TARGET_BOOTLOADER_BOARD_NAME := $(TARGET_DEVICE) + +TARGET_USES_MKE2FS := true + +# Kernel Flinger +TARGET_UEFI_ARCH := x86_64 +# Kernelflinger won't check the ACPI table oem_id, oem_table_id and +# revision fields +KERNELFLINGER_ALLOW_UNSUPPORTED_ACPI_TABLE := true +# Allow Kernelflinger to start watchdog prior to boot the kernel +KERNELFLINGER_USE_WATCHDOG := true +# Tell Kernelflinger to ignore ACPI RSCI table +KERNELFLINGER_IGNORE_RSCI := true +#KERNELFLINGER_SSL_LIBRARY := boringssl +KERNELFLINGER_SSL_LIBRARY := openssl +# Specify system verity partition +#PRODUCT_SYSTEM_VERITY_PARTITION := /dev/block/by-name/system + +# Avoid Watchdog truggered reboot +BOARD_KERNEL_CMDLINE += iTCO_wdt.force_no_reboot=1 + +BOARD_SEPOLICY_DIRS += device/intel/project-celadon/sepolicy/boot-arch/project-celadon/$(TARGET_PRODUCT) + +# Show the "OEM unlocking" option in Android "Developer options" +#PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.frp.pst=/dev/block/by-name/android_persistent + +# Specify file for creating final flashfiles +# BOARD_GPT_INI ?= $(TARGET_DEVICE_DIR)/gpt.ini +BOARD_GPT_BIN = $(PRODUCT_OUT)/gpt.bin +BOARD_FLASHFILES += $(PRODUCT_OUT)/system.img +BOARD_FLASHFILES += $(PRODUCT_OUT)/gpt.bin +BOARD_FLASHFILES += $(PRODUCT_OUT)/boot.img +BOARD_FLASHFILES += $(PRODUCT_OUT)/efi/installer.efi +BOARD_FLASHFILES += $(PRODUCT_OUT)/efi/kernelflinger.efi +BOARD_FLASHFILES += $(PRODUCT_OUT)/efi/startup.nsh +BOARD_FLASHFILES += $(PRODUCT_OUT)/efi/unlock_device.nsh +BOARD_FLASHFILES += $(PRODUCT_OUT)/efi/efivar_oemlock +BOARD_FLASHFILES += $(PRODUCT_OUT)/bootloader +BOARD_FLASHFILES += $(PRODUCT_OUT)/fastboot-usb.img + +# -- OTA RELATED DEFINES -- +# tell build system where to get the recovery.fstab. +TARGET_RECOVERY_FSTAB ?= $(TARGET_DEVICE_DIR)/fstab.recovery +# Used by ota_from_target_files to add platform-specific directives +# to the OTA updater scripts +TARGET_RELEASETOOLS_EXTENSIONS ?= device/intel/common/recovery +# +# By default recovery minui expects RGBA framebuffer +TARGET_RECOVERY_PIXEL_FORMAT := "BGRA_8888" + +# Kernelfligner will assume the BIOS support secure boot. Not check the EFI variable SecureBoot +# It is useful when the BIOS does not support secure boot. +KERNELFLINGER_ASSUME_BIOS_SECURE_BOOT := true + + +KERNELFLINGER_USE_RPMB_SIMULATE := true + +AB_OTA_PARTITIONS += vbmeta +AB_OTA_PARTITIONS += tos + +AB_OTA_POSTINSTALL_CONFIG += \ + RUN_POSTINSTALL_vendor=true \ + POSTINSTALL_PATH_vendor=bin/updater_ab_esp \ + FILESYSTEM_TYPE_vendor=ext4 \ + POSTINSTALL_OPTIONAL_vendor=true + +############################################################## +# Source: device/intel/mixins/groups/audio/project-celadon/BoardConfig.mk +############################################################## +BOARD_USES_ALSA_AUDIO := true +BOARD_USES_TINY_ALSA_AUDIO := true +BOARD_USES_GENERIC_AUDIO ?= false +ifneq ($(BOARD_USES_GENERIC_AUDIO), true) +# Audio HAL selection Flag default setting. +# INTEL_AUDIO_HAL:= audio -> baseline HAL +# INTEL_AUDIO_HAL:= audio_pfw -> PFW-based HAL +INTEL_AUDIO_HAL := audio +else +INTEL_AUDIO_HAL := stub +endif + +# Use XML audio policy configuration file +USE_XML_AUDIO_POLICY_CONF ?= 1 +# Use configurable audio policy +USE_CONFIGURABLE_AUDIO_POLICY ?= 1 + +BOARD_SEPOLICY_DIRS += device/intel/project-celadon/sepolicy/audio/project-celadon +############################################################## +# Source: device/intel/mixins/groups/wlan/iwlwifi/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 + +# Enabling iwlwifi +BOARD_USING_INTEL_IWL := true +INTEL_IWL_MODULE_SUB_FOLDER := rel +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 := "/system/vendor/firmware/iwlwifi-softap-dummy.ucode" +WIFI_DRIVER_FW_PATH_AP := "/system/vendor/firmware/iwlwifi-softap-dummy.ucode" +WIFI_DRIVER_FW_PATH_P2P := "/system/vendor/firmware/iwlwifi-softap-dummy.ucode" +WIFI_DRIVER_FW_PATH_PARAM := "/dev/null" + +# config_wifi_background_scan_support=true: +DEVICE_PACKAGE_OVERLAYS += device/intel/common/wlan/overlay-pno + +DEVICE_PACKAGE_OVERLAYS += device/intel/common/wlan/overlay-tcp-buffers + +# Add SIM , AKA and AKA' methods in EAP entries of WiFi UI +DEVICE_PACKAGE_OVERLAYS += device/intel/common/wlan/overlay-eap-methods + +ifneq (lhp,$(INTEL_IWL_MODULE_SUB_FOLDER)) + DEVICE_PACKAGE_OVERLAYS += device/intel/common/wlan/overlay-dual-band +endif + +# WiDi / Miracast Optimisations +DEVICE_PACKAGE_OVERLAYS += device/intel/common/wlan/overlay-miracast-go +DEVICE_PACKAGE_OVERLAYS += device/intel/common/wlan/overlay-p2p-connected-stop-scan +DEVICE_PACKAGE_OVERLAYS += device/intel/common/wlan/overlay-miracast-force-single-ch +DEVICE_PACKAGE_OVERLAYS += device/intel/common/wlan/overlay-wifi-tethering + +BOARD_SEPOLICY_M4DEFS += module_iwlwifi=true +BOARD_SEPOLICY_DIRS += device/intel/project-celadon/sepolicy/wlan/iwlwifi +############################################################## +# Source: device/intel/mixins/groups/cpu-arch/skl/BoardConfig.mk +############################################################## +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 := x86 +TARGET_2ND_CPU_VARIANT := x86 +else +# 32b-specific items: +TARGET_ARCH := x86 +TARGET_CPU_ABI := x86 +endif +############################################################## +# Source: device/intel/mixins/groups/cpuset/autocores/BoardConfig.mk +############################################################## +BOARD_SEPOLICY_DIRS += $(INTEL_PATH_SEPOLICY)/config_cpuset +############################################################## +# Source: device/intel/mixins/groups/rfkill/true/BoardConfig.mk +############################################################## +BOARD_SEPOLICY_DIRS += $(INTEL_PATH_SEPOLICY)/rfkill +############################################################## +# Source: device/intel/mixins/groups/dexpreopt/enabled/BoardConfig.mk +############################################################## +# enable dex-preoptimization. +WITH_DEXPREOPT := true +WITH_DEXPREOPT_PIC := true +############################################################## +# Source: device/intel/mixins/groups/thermal/thermal-daemon/BoardConfig.mk +############################################################## +BOARD_SEPOLICY_DIRS += device/intel/project-celadon/sepolicy/thermal +BOARD_SEPOLICY_DIRS += device/intel/project-celadon/sepolicy/thermal/thermal-daemon +############################################################## +# Source: device/intel/mixins/groups/pstore/ram_dummy/BoardConfig.mk.1 +############################################################## +BOARD_KERNEL_CMDLINE += pstore.backend=ramoops +############################################################## +# Source: device/intel/mixins/groups/pstore/ram_dummy/BoardConfig.mk.2 +############################################################## +BOARD_SEPOLICY_DIRS += device/intel/sepolicy/pstore +############################################################## +# Source: device/intel/mixins/groups/pstore/ram_dummy/BoardConfig.mk +############################################################## +BOARD_KERNEL_CMDLINE += \ + memmap=0x400000\$$0x50000000 \ + ramoops.mem_address=0x50000000 \ + ramoops.mem_size=0x400000 +BOARD_KERNEL_CMDLINE += \ + ramoops.record_size=0x4000 + +BOARD_KERNEL_CMDLINE += \ + ramoops.console_size=0x200000 + +BOARD_KERNEL_CMDLINE += \ + ramoops.ftrace_size=0x2000 + +BOARD_KERNEL_CMDLINE += \ + ramoops.dump_oops=1 + +############################################################## +# Source: device/intel/mixins/groups/debug-phonedoctor/true/BoardConfig.mk +############################################################## +BOARD_SEPOLICY_M4DEFS += module_debug_phonedoctor=true +BOARD_SEPOLICY_DIRS += $(INTEL_PATH_SEPOLICY)/debug-phonedoctor +############################################################## +# Source: device/intel/mixins/groups/trusty/true/BoardConfig.mk +############################################################## +TARGET_USE_TRUSTY := true + +KM_VERSION := 2 +ifeq ($(KM_VERSION),1) +BOARD_USES_TRUSTY := true +BOARD_USES_KEYMASTER1 := true +endif + +BOARD_SEPOLICY_DIRS += device/intel/project-celadon/sepolicy/trusty +BOARD_SEPOLICY_M4DEFS += module_trusty=true + +LK_PRODUCT := project-celadon_64 + +LKBUILD_TOOLCHAIN_ROOT = $(PWD)/vendor/intel/external/prebuilts/elf/ +LKBUILD_X86_TOOLCHAIN = +LKBUILD_X64_TOOLCHAIN = $(LKBUILD_TOOLCHAIN_ROOT)x86_64-elf-4.9.1-Linux-x86_64/bin +EVMMBUILD_TOOLCHAIN ?= x86_64-linux-android- +TRUSTY_BUILDROOT = $(PWD)/$(PRODUCT_OUT)/obj/trusty/ + +TRUSTY_ENV_VAR += LK_CORE_NUM=1 +TRUSTY_ENV_VAR += TRUSTY_REF_TARGET=project-celadon_apl + +#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 += COMPILE_TOOLCHAIN=$(EVMMBUILD_TOOLCHAIN) + +# 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/ + +#Workaround CPU lost issue on SIMICS, will remove this line below after PO. +BOARD_KERNEL_CMDLINE += cpu_init_udelay=500000 + +BOARD_TOSIMAGE_PARTITION_SIZE := 10485760 +############################################################## +# Source: device/intel/mixins/groups/flashfiles/ini/BoardConfig.mk +############################################################## +FLASHFILES_CONFIG ?= $(TARGET_DEVICE_DIR)/extra_files/flashfiles/flashfiles.ini +USE_INTEL_FLASHFILES := true +VARIANT_SPECIFIC_FLASHFILES ?= false +FAST_FLASHFILES := true + +############################################################## +# Source: device/intel/mixins/groups/camera-ext/ext-camera-only/BoardConfig.mk +############################################################## +BOARD_SEPOLICY_DIRS += device/intel/project-celadon/sepolicy/camera-ext/ext-camera-only +############################################################## +# Source: device/intel/mixins/groups/memtrack/true/BoardConfig.mk +############################################################## +BOARD_SEPOLICY_DIRS += $(INTEL_PATH_SEPOLICY)/memtrack +############################################################## +# Source: device/intel/mixins/groups/health/true/BoardConfig.mk +############################################################## +BOARD_SEPOLICY_DIRS += device/intel/project-celadon/sepolicy/health_hal + +DEVICE_FRAMEWORK_MANIFEST_FILE += \ + system/libhidl/vintfdata/manifest_healthd_exclude.xml +############################################################## +# Source: device/intel/mixins/groups/gptbuild/true/BoardConfig.mk +############################################################## +# can't use := here, as PRODUCT_OUT is not defined yet +GPTIMAGE_BIN = $(PRODUCT_OUT)/$(TARGET_PRODUCT)_gptimage.img +############################################################## +# Source: device/intel/mixins/groups/device-type/car/BoardConfig.mk +############################################################## +BOARD_SEPOLICY_DIRS += \ + packages/services/Car/car_product/sepolicy \ + device/generic/car/common/sepolicy \ + $(INTEL_PATH_SEPOLICY)/car + +TARGET_USES_CAR_FUTURE_FEATURES := true +############################################################## +# Source: device/intel/mixins/groups/swap/zram/BoardConfig.mk +############################################################## +BOARD_SEPOLICY_DIRS += $(INTEL_PATH_SEPOLICY)/swap +BOARD_SEPOLICY_M4DEFS += module_swap=true +############################################################## +# Source: device/intel/mixins/groups/power/true/BoardConfig.mk +############################################################## +BOARD_SEPOLICY_DIRS += device/intel/project-celadon/sepolicy/power + +############################################################## +# Source: device/intel/mixins/groups/default-drm/true/BoardConfig.mk +############################################################## +BOARD_SEPOLICY_DIRS += device/intel/project-celadon/sepolicy/drm-default +# ------------------ END MIX-IN DEFINITIONS ------------------ diff --git a/cel_apl/cel_apl.mk b/cel_apl/cel_apl.mk new file mode 100644 index 000000000..99fa09d31 --- /dev/null +++ b/cel_apl/cel_apl.mk @@ -0,0 +1,23 @@ +ENABLE_NATIVEBRIDGE_64BIT := true + +$(call inherit-product,$(SRC_TARGET_DIR)/product/core_64_bit.mk) + +include build/make/target/product/treble_common.mk +BOARD_PROPERTY_OVERRIDES_SPLIT_ENABLED := true + +# Include GAS application. +# Must put this calling before device.mk to make sure GAS overlay take +# precedence than Car product overlay +FLAG_GAS_MINIMAL := true +FLAG_GAS_AVAILABLE := true +$(call inherit-product-if-exists, vendor/google/gas/products/gas.mk) +$(call inherit-product,device/intel/project-celadon/cel_apl/device.mk) + +# Overrides +PRODUCT_NAME := cel_apl +PRODUCT_BRAND := cel_apl +PRODUCT_DEVICE := cel_apl +PRODUCT_MODEL := Generic cel_apl +PRODUCT_MANUFACTURER := Intel + +PRODUCT_SHIPPING_API_LEVEL := 28 diff --git a/cel_apl/device.mk b/cel_apl/device.mk new file mode 100644 index 000000000..3597c41e6 --- /dev/null +++ b/cel_apl/device.mk @@ -0,0 +1,808 @@ +# ----------------- BEGIN MIX-IN DEFINITIONS ----------------- +# Mix-In definitions are auto-generated by mixin-update +############################################################## +# Source: device/intel/mixins/groups/disk-bus/auto/product.mk +############################################################## +# create primary storage symlink dynamically +PRODUCT_PACKAGES += set_storage +PRODUCT_PACKAGES += set_storage.vendor +############################################################## +# Source: device/intel/mixins/groups/project-celadon/default/product.mk +############################################################## +TARGET_BOARD_PLATFORM := project-celadon + +#Product Characteristics +PRODUCT_DIR := $(dir $(lastword $(filter-out device/common/%,$(filter device/%,$(ALL_PRODUCTS))))) + +INTEL_PATH_DEVICE := device/intel/project-celadon +INTEL_PATH_COMMON := device/intel/common +INTEL_PATH_SEPOLICY := device/intel/project-celadon/sepolicy +INTEL_PATH_BUILD := device/intel/build +INTEL_PATH_HARDWARE := hardware/intel +INTEL_PATH_VENDOR := vendor/intel + +PRODUCT_TAGS += dalvik.gc.type-precise + +DEVICE_PACKAGE_OVERLAYS += device/intel/project-celadon/common/overlay + +PRODUCT_PACKAGES += $(THIRD_PARTY_APPS) + +PRODUCT_PACKAGES += fio + +# Set default sounds +# Note: As the override mechanism, must make sure this config +# being in front of generic_no_telephony.mk(defined the aosp sound config) +PRODUCT_PROPERTY_OVERRIDES += \ + ro.config.notification_sound=Xenon.ogg \ + ro.config.alarm_alert=Cesium.ogg \ + ro.config.ringtone=Sceptrum.ogg \ + +# Get a list of languages. +#$(call inherit-product,$(SRC_TARGET_DIR)/product/locales_full.mk) +$(call inherit-product,$(SRC_TARGET_DIR)/product/languages_full.mk) + +# Get everything else from the parent package +$(call inherit-product, $(SRC_TARGET_DIR)/product/generic_no_telephony.mk) + +# Get some sounds +$(call inherit-product-if-exists,frameworks/base/data/sounds/AudioPackage6.mk) + +# Get Platform specific settings +$(call inherit-product-if-exists,vendor/vendor.mk) + +#Product Characteristics +PRODUCT_COPY_FILES += \ + $(LOCAL_PATH)/gpt.ini:root/gpt.$(TARGET_PRODUCT).ini \ + $(LOCAL_PATH)/init.recovery.rc:root/init.recovery.$(TARGET_PRODUCT).rc \ + $(LOCAL_PATH)/init.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw//init.$(TARGET_PRODUCT).rc \ + $(LOCAL_PATH)/ueventd.rc:$(TARGET_COPY_OUT_VENDOR)/ueventd.rc + +# Voip +PRODUCT_COPY_FILES += \ + frameworks/native/data/etc/android.software.sip.voip.xml:system/etc/permissions/android.software.sip.voip.xml \ + frameworks/native/data/etc/android.software.sip.xml:system/etc/permissions/android.software.sip.xml \ + +# Usb +PRODUCT_COPY_FILES += \ + frameworks/native/data/etc/android.hardware.usb.accessory.xml:system/etc/permissions/android.hardware.usb.accessory.xml \ + frameworks/native/data/etc/android.hardware.usb.host.xml:system/etc/permissions/android.hardware.usb.host.xml + +# Touch +PRODUCT_COPY_FILES += \ + frameworks/native/data/etc/android.hardware.touchscreen.multitouch.jazzhand.xml:system/etc/permissions/android.hardware.touchscreen.multitouch.jazzhand.xml \ + frameworks/native/data/etc/android.hardware.touchscreen.multitouch.distinct.xml:system/etc/permissions/android.hardware.touchscreen.multitouch.distinct.xml \ + frameworks/native/data/etc/android.hardware.touchscreen.multitouch.jazzhand.xml:system/etc/permissions/android.hardware.touchscreen.multitouch.jazzhand.xml \ + +# USB +PRODUCT_COPY_FILES += \ + frameworks/native/data/etc/android.hardware.usb.accessory.xml:system/etc/permissions/android.hardware.usb.accessory.xml \ + frameworks/native/data/etc/android.hardware.usb.host.xml:system/etc/permissions/android.hardware.usb.host.xml \ + +# please modify to appropriate value based on tuning +PRODUCT_PROPERTY_OVERRIDES += \ + ro.hwui.texture_cache_size=24.0f \ + ro.hwui.text_large_cache_width=2048 \ + ro.hwui.text_large_cache_height=512 + +# Set filenames_mode to cts, for heh is not available +PRODUCT_PROPERTY_OVERRIDES += \ + ro.crypto.volume.filenames_mode=aes-256-cts + +PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \ + persist.rtc_local_time=1 \ + +# Enable MultiWindow +PRODUCT_PROPERTY_OVERRIDES += \ + persist.sys.debug.multi_window=true + +# DRM service +PRODUCT_PROPERTY_OVERRIDES += \ + drm.service.enabled=true + +# Property to choose between virtual/external wfd display +PRODUCT_PROPERTY_OVERRIDES += \ + persist.sys.wfd.virtual=0 + +# Input resampling configuration +PRODUCT_PROPERTY_OVERRIDES += \ + ro.input.noresample=1 + +# AOSP Packages +PRODUCT_PACKAGES += \ + Launcher3 \ + Terminal + +PRODUCT_PACKAGES += \ + libion \ + libxml2 + +PRODUCT_PACKAGES += \ + libemoji + +PRODUCT_PACKAGES += \ + LiveWallpapers \ + LiveWallpapersPicker \ + WallpaperPicker \ + NotePad \ + Provision \ + drmserver \ + power.project-celadon \ + scp \ + sftp \ + ssh \ + sshd \ + local_time.default.so \ + keystore.default.so + +# USB +PRODUCT_PACKAGES += \ + com.android.future.usb.accessory + +# Keymaster HAL +PRODUCT_PACKAGES += \ + android.hardware.keymaster@3.0-impl \ + android.hardware.keymaster@3.0-service + +# Power HAL +PRODUCT_PACKAGES += \ + android.hardware.power@1.2-impl \ + android.hardware.power@1.2-service + +# DumpState HAL +PRODUCT_PACKAGES += \ + android.hardware.dumpstate@1.0-impl \ + android.hardware.dumpstate@1.0-service + +# Configstore HAL +PRODUCT_PACKAGES += \ + android.hardware.configstore@1.0-impl + +# Vendor Interface Manifest +PRODUCT_COPY_FILES += \ + device/intel/project-celadon/manifest.xml:vendor/manifest.xml +############################################################## +# Source: device/intel/mixins/groups/sepolicy/enforcing/product.mk +############################################################## +PRODUCT_PACKAGES += sepolicy-areq-checker +############################################################## +# Source: device/intel/mixins/groups/graphics/mesa/product.mk +############################################################## +# Mesa +PRODUCT_PACKAGES += \ + libGLES_mesa \ + libGLES_android + +PRODUCT_PACKAGES += \ + libdrm \ + libdrm_intel \ + libsync \ + libmd + +PRODUCT_PACKAGES += ufo_prebuilts + +PRODUCT_COPY_FILES += \ + $(LOCAL_PATH)/extra_files/graphics/drirc:system/etc/drirc + + +# HWComposer IA +PRODUCT_PACKAGES += \ + hwcomposer.$(TARGET_BOARD_PLATFORM) + +PRODUCT_PROPERTY_OVERRIDES += \ + ro.hardware.hwcomposer=$(TARGET_BOARD_PLATFORM) + +INTEL_HWC_CONFIG := $(INTEL_PATH_VENDOR)/external/project-celadon/hwcomposer + +ifeq ($(findstring _acrn,$(TARGET_PRODUCT)),_acrn) +PRODUCT_COPY_FILES += $(INTEL_HWC_CONFIG)/hwc_display_virt.ini:$(TARGET_COPY_OUT_VENDOR)/etc/hwc_display.ini +else +PRODUCT_COPY_FILES += $(INTEL_HWC_CONFIG)/hwc_display.ini:$(TARGET_COPY_OUT_VENDOR)/etc/hwc_display.ini +endif + + +# Mini gbm +PRODUCT_PROPERTY_OVERRIDES += \ + ro.hardware.gralloc=$(TARGET_BOARD_PLATFORM) + +PRODUCT_PACKAGES += \ + gralloc.$(TARGET_BOARD_PLATFORM) + + + +# Mesa +PRODUCT_COPY_FILES += \ + frameworks/native/data/etc/android.hardware.opengles.aep.xml:vendor/etc/permissions/android.hardware.opengles.aep.xml + +# GLES version +PRODUCT_PROPERTY_OVERRIDES += \ + ro.opengles.version=196610 + +PRODUCT_COPY_FILES += \ + frameworks/native/data/etc/android.hardware.vulkan.level-1.xml:vendor/etc/permissions/android.hardware.vulkan.level.xml + +PRODUCT_COPY_FILES += \ + frameworks/native/data/etc/android.hardware.vulkan.compute-0.xml:vendor/etc/permissions/android.hardware.vulkan.compute.xml + + +PRODUCT_COPY_FILES += \ + frameworks/native/data/etc/android.hardware.vulkan.version-1_1.xml:vendor/etc/permissions/android.hardware.vulkan.version.xml + +PRODUCT_PACKAGES += \ + vulkan.$(TARGET_BOARD_PLATFORM) \ + libvulkan_intel + +PRODUCT_PROPERTY_OVERRIDES += \ + ro.hardware.vulkan=$(TARGET_BOARD_PLATFORM) +# Graphics HAL +PRODUCT_PACKAGES += \ + android.hardware.graphics.composer@2.1-impl \ + android.hardware.graphics.composer@2.1-service + +# Gralloc HAL +PRODUCT_PACKAGES += \ + android.hardware.graphics.allocator@2.0-impl \ + android.hardware.graphics.allocator@2.0-service \ + android.hardware.graphics.mapper@2.0-impl +############################################################## +# Source: device/intel/mixins/groups/media/project-celadon/product.mk +############################################################## +# libva, vaapi +PRODUCT_PACKAGES += \ + libva \ + libva-android \ + i965_drv_video + +PRODUCT_PACKAGES += libpciaccess + +# Audio/video codec support. +PRODUCT_COPY_FILES += \ + frameworks/av/media/libstagefright/data/media_codecs_google_audio.xml:vendor/etc/media_codecs_google_audio.xml \ + frameworks/av/media/libstagefright/data/media_codecs_google_video.xml:vendor/etc/media_codecs_google_video.xml \ + device/intel/project-celadon/common/media/media_profiles.xml:vendor/etc/media_profiles.xml \ + device/intel/project-celadon/common/media/media_codecs.xml:vendor/etc/media_codecs.xml \ + device/intel/project-celadon/common/media/media_codecs_performance.xml:vendor/etc/media_codecs_performance.xml + +#Enable deep buffer for video playback +PRODUCT_PROPERTY_OVERRIDES += media.stagefright.audio.deep=true + +# Enable AAC 5.1 output +PRODUCT_PROPERTY_OVERRIDES += \ + media.aac_51_output_enabled=true + +# Enable Media Sdk +PRODUCT_PACKAGES += \ + libmfxhw32 \ + libmfxhw64 \ + libmfx_omx_core \ + libmfx_omx_components_hw \ + libstagefrighthw + + +# Enable Open source hdcp +PRODUCT_PACKAGES += libhdcpsdk +PRODUCT_PACKAGES += lihdcpcommon +# hdcp daemon +PRODUCT_PACKAGES += hdcpd + +PRODUCT_COPY_FILES += \ + device/intel/project-celadon/common/media/mfx_omxil_core.conf:vendor/etc/mfx_omxil_core.conf +############################################################## +# Source: device/intel/mixins/groups/ethernet/dhcp/product.mk +############################################################## +PRODUCT_COPY_FILES += \ + frameworks/native/data/etc/android.hardware.ethernet.xml:vendor/etc/permissions/android.hardware.ethernet.xml +############################################################## +# Source: device/intel/mixins/groups/storage/sdcard-mmc0-usb-sd/product.mk +############################################################## + +PRODUCT_DEFAULT_PROPERTY_OVERRIDES += support.sdcardfs.mode=y +############################################################## +# Source: device/intel/mixins/groups/display-density/default/product.mk +############################################################## +PRODUCT_AAPT_CONFIG := normal large mdpi +PRODUCT_AAPT_PREF_CONFIG := mdpi + +PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.sf.lcd_density=160 +############################################################## +# Source: device/intel/mixins/groups/usb-gadget/g_ffs/product.mk +############################################################## +# Set default USB interface +ifeq ($(TARGET_BUILD_VARIANT),user) +# Enable Secure Debugging +PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.adb.secure=1 +ifeq ($(BUILD_FOR_CTS_AUTOMATION),true) +# Build for automated CTS +PRODUCT_COPY_FILES += $(INTEL_PATH_COMMON)/usb-gadget/adb_keys:root/adb_keys +endif #BUILD_FOR_CTS_AUTOMATION == true +endif #TARGET_BUILD_VARIANT == user + +# Add Intel adb keys for userdebug/eng builds +ifneq ($(TARGET_BUILD_VARIANT),user) +PRODUCT_COPY_FILES += $(INTEL_PATH_COMMON)/usb-gadget/adb_keys:root/adb_keys +# Enable Secure Debugging for userdebug +ifeq ($(TARGET_BUILD_VARIANT),userdebug) #userdebug +PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.adb.secure=1 +endif #userdebug +endif #userdebug/eng +############################################################## +# Source: device/intel/mixins/groups/adb_net/true/product.mk +############################################################## +# Enable Secure Debugging +ifeq ($(TARGET_BUILD_VARIANT),user) +PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.adb.secure=1 +endif +############################################################## +# Source: device/intel/mixins/groups/slot-ab/true/product.mk +############################################################## +PRODUCT_PACKAGES += \ + update_engine \ + update_verifier \ + update_engine_sideload \ + libavb \ + bootctrl.avb \ + bootctrl.intel \ + bootctrl.intel.static \ + android.hardware.boot@1.0-impl \ + android.hardware.boot@1.0-service + +PRODUCT_PACKAGES_DEBUG += \ + update_engine_client \ + bootctl + +PRODUCT_PROPERTY_OVERRIDES += \ + ro.hardware.bootctrl=intel +############################################################## +# Source: device/intel/mixins/groups/kernel/project-celadon/product.mk +############################################################## +TARGET_KERNEL_ARCH := x86_64 +BOARD_USE_64BIT_KERNEL := true + + +KERNEL_MODULES_ROOT_PATH ?= /vendor/lib/modules +KERNEL_MODULES_ROOT ?= $(KERNEL_MODULES_ROOT_PATH) + +FIRMWARES_DIR ?= vendor/linux/firmware + +# Include common settings. +FIRMWARE_FILTERS ?= .git/% %.mk + +# Firmware +$(call inherit-product,device/intel/project-celadon/common/firmware.mk) +############################################################## +# Source: device/intel/mixins/groups/bluetooth/btusb/product.mk +############################################################## +PRODUCT_PACKAGES += \ + audio.a2dp.default \ + ath3k-1.fw + +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 + +# Bluetooth HAL +PRODUCT_PACKAGES += \ + android.hardware.bluetooth@1.0-service.vbt \ + libbt-vendor + +PRODUCT_PACKAGE_OVERLAYS += $(INTEL_PATH_COMMON)/bluetooth/overlay-car + +############################################################## +# Source: device/intel/mixins/groups/avb/true/product.mk +############################################################## + +PRODUCT_PACKAGES += avbctl +############################################################## +# Source: device/intel/mixins/groups/vendor-partition/true/product.mk +############################################################## +PRODUCT_VENDOR_VERITY_PARTITION := /dev/block/by-name/vendor +############################################################## +# Source: device/intel/mixins/groups/boot-arch/project-celadon/product.mk +############################################################## +PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.frp.pst=/dev/block/by-name/persistent + +ifeq ($(TARGET_BOOTLOADER_POLICY),$(filter $(TARGET_BOOTLOADER_POLICY),0x0 0x2 0x4 0x6)) +# OEM Unlock reporting 1 +#ADDITIONAL_DEFAULT_PROPERTIES += \ + ro.oem_unlock_supported=1 + +PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \ + ro.oem_unlock_supported=1 + +endif + +PRODUCT_PACKAGES += updater_ab_esp + +# Allow Kernelflinger to ignore the RSCI reset source "not_applicable" +# when setting the bootreason +KERNELFLINGER_IGNORE_NOT_APPLICABLE_RESET := true + + +ifneq (0x0,static) +BOOTLOADER_POLICY_OEMVARS = $(PRODUCT_OUT)/bootloader_policy-oemvars.txt +BOARD_FLASHFILES += $(BOOTLOADER_POLICY_OEMVARS) +BOARD_OEM_VARS += $(BOOTLOADER_POLICY_OEMVARS) +endif + +# It activates the Bootloader policy and RMA refurbishing +# features. TARGET_BOOTLOADER_POLICY is the desired bitmask for this +# device. +# * bit 0: +# - 0: GVB class B. +# - 1: GVB class A. Device unlock is not permitted. The only way +# to unlock is to use the secured force-unlock mechanism. +# * bit 1 and 2 defines the minimal boot state required to boot the +# device: +# - 0x0: BOOT_STATE_RED (GVB default behavior) +# - 0x1: BOOT_STATE_ORANGE +# - 0x2: BOOT_STATE_YELLOW +# - 0x3: BOOT_STATE_GREEN +# If TARGET_BOOTLOADER_POLICY is equal to 'static' the bootloader +# policy is not built but is provided statically in the repository. +# If TARGET_BOOTLOADER_POLICY is equal to 'external' the bootloader +# policy OEMVARS should be installed manually in +# $(BOOTLOADER_POLICY_OEMVARS). +TARGET_BOOTLOADER_POLICY := 0x0 +# If the following variable is set to false, the bootloader policy and +# RMA refurbishing features does not use time-based authenticated EFI +# variables to store the BPM and OAK values. The BPM value is defined +# compilation time by the TARGET_BOOTLOADER_POLICY variable. +TARGET_BOOTLOADER_POLICY_USE_EFI_VAR := true +#ifeq ($(TARGET_BOOTLOADER_POLICY),$(filter $(TARGET_BOOTLOADER_POLICY),0x0 0x2 0x4 0x6)) +# OEM Unlock reporting 1 +PRODUCT_PROPERTY_OVERRIDES += \ + ro.oem_unlock_supported=1 +#endif +ifeq ($(TARGET_BOOTLOADER_POLICY),$(filter $(TARGET_BOOTLOADER_POLICY),static external)) +# The bootloader policy is not generated build time but is supplied +# statically in the repository or in $(PRODUCT_OUT)/. If your +# bootloader policy allows the device to be unlocked, uncomment the +# following lines: +#PRODUCT_PROPERTY_OVERRIDES += \ + ro.oem_unlock_supported=1 +endif + + + +KERNELFLINGER_SUPPORT_SELF_USB_DEVICE_MODE_PROTOCOL := true + + +PRODUCT_COPY_FILES += \ + $(LOCAL_PATH)/fstab:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.$(TARGET_PRODUCT) + +# Add the feature of FEATURE_VERIFIED_BOOT +PRODUCT_COPY_FILES += \ + frameworks/native/data/etc/android.software.verified_boot.xml:vendor/etc/permissions/android.software.verified_boot.xml +############################################################## +# Source: device/intel/mixins/groups/audio/project-celadon/product.mk +############################################################## +# Tinyalsa +PRODUCT_PACKAGES_DEBUG += \ + tinymix \ + tinyplay \ + tinycap + +# Extended Audio HALs +PRODUCT_PACKAGES += \ + audio.r_submix.default \ + audio.usb.default \ + audio_policy.default.so \ + audio_configuration_files + +# Audio HAL +PRODUCT_PACKAGES += \ + android.hardware.audio.effect@4.0-impl \ + android.hardware.audio@4.0-impl \ + android.hardware.audio@2.0-service + +PRODUCT_PROPERTY_OVERRIDES += audio.safemedia.bypass=true +############################################################## +# Source: device/intel/mixins/groups/wlan/iwlwifi/product.mk +############################################################## +PRODUCT_PACKAGES += \ + hostapd \ + hostapd_cli \ + wificond \ + wifilogd \ + wpa_supplicant \ + wpa_cli \ + iw + +# FW and PNVM +PRODUCT_PACKAGES += \ + iwl-fw \ + iwl-nvm + +# iwlwifi USC +PRODUCT_PACKAGES += \ + wifi_intel_usc + +#copy iwlwifi wpa config files +PRODUCT_COPY_FILES += \ + device/intel/common/wlan/wpa_supplicant-common.conf:vendor/etc/wifi/wpa_supplicant.conf \ + device/intel/common/wlan/iwlwifi/wpa_supplicant_overlay.conf:vendor/etc/wifi/wpa_supplicant_overlay.conf \ + device/intel/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 + +# Wifi configuration +BOARD_WPA_SUPPLICANT_DRIVER := NL80211 +BOARD_WLAN_DEVICE := iwlwifi + +PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \ + ro.wifi.softap_dualband_allow=false + +PRODUCT_PACKAGES += \ + android.hardware.wifi@1.0-service +############################################################## +# Source: device/intel/mixins/groups/cpuset/autocores/product.mk +############################################################## +PRODUCT_PACKAGES += \ + config_cpuset.sh + +PRODUCT_COPY_FILES += \ + $(LOCAL_PATH)/extra_files/cpuset/config_cpuset.sh:vendor/bin/config_cpuset.sh +############################################################## +# Source: device/intel/mixins/groups/rfkill/true/product.mk +############################################################## +PRODUCT_COPY_FILES += $(INTEL_PATH_COMMON)/rfkill/rfkill-init.sh:vendor/bin/rfkill-init.sh +############################################################## +# Source: device/intel/mixins/groups/usb/host+acc/product.mk +############################################################## +PRODUCT_COPY_FILES += \ + frameworks/native/data/etc/android.hardware.usb.accessory.xml:system/etc/permissions/android.hardware.usb.accessory.xml \ + frameworks/native/data/etc/android.hardware.usb.host.xml:system/etc/permissions/android.hardware.usb.host.xml + +# usb accessory +PRODUCT_PACKAGES += \ + com.android.future.usb.accessory + +# USB HAL +PRODUCT_PACKAGES += \ + android.hardware.usb@1.0-impl \ + android.hardware.usb@1.0-service +############################################################## +# Source: device/intel/mixins/groups/lights/true/product.mk +############################################################## +# Lights HAL +BOARD_SEPOLICY_DIRS += \ + $(INTEL_PATH_SEPOLICY)/light + +PRODUCT_PACKAGES += lights.$(TARGET_BOARD_PLATFORM) \ + android.hardware.light@2.0-service \ + android.hardware.light@2.0-impl + +############################################################## +# Source: device/intel/mixins/groups/thermal/thermal-daemon/product.mk +############################################################## +# thermal-daemon +PRODUCT_PACKAGES += thermal-daemon +PRODUCT_COPY_FILES += \ + device/intel/project-celadon/common/thermal/thermal-conf.xml:/vendor/etc/thermal-daemon/thermal-conf.xml \ + device/intel/project-celadon/common/thermal/thermal-cpu-cdev-order.xml:/vendor/etc/thermal-daemon/thermal-cpu-cdev-order.xml +############################################################## +# Source: device/intel/mixins/groups/pstore/ram_dummy/product.mk +############################################################## +PRODUCT_PACKAGES += \ + pstore-clean +############################################################## +# Source: device/intel/mixins/groups/debug-logs/true/product.mk +############################################################## +ifneq ($(TARGET_BUILD_VARIANT),user) +MIXIN_DEBUG_LOGS := true +endif + +ifeq ($(MIXIN_DEBUG_LOGS),true) +PRODUCT_COPY_FILES += $(LOCAL_PATH)/extra_files/debug-logs/init.logs.rc:root/init.logs.rc +PRODUCT_PACKAGES += \ + elogs.sh \ + start_log_srv.sh \ + logcat_ep.sh +endif + +ifeq ($(MIXIN_DEBUG_LOGS),true) +PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.service.default_logfs=apklogfs +PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.intel.logger=/system/bin/logcat +PRODUCT_DEFAULT_PROPERTY_OVERRIDES += logd.kernel.raw_message=False +PRODUCT_DEFAULT_PROPERTY_OVERRIDES += persist.intel.logger.rot_cnt=20 +PRODUCT_DEFAULT_PROPERTY_OVERRIDES += persist.intel.logger.rot_size=5000 +BOARD_SEPOLICY_DIRS += $(INTEL_PATH_SEPOLICY)/debug-logs +BOARD_SEPOLICY_M4DEFS += module_debug_logs=true +endif +############################################################## +# Source: device/intel/mixins/groups/debug-crashlogd/true/product.mk +############################################################## +ifeq ($(MIXIN_DEBUG_LOGS),true) +PRODUCT_COPY_FILES += \ + $(LOCAL_PATH)/extra_files/debug-crashlogd/init.crashlogd.rc:root/init.crashlogd.rc \ + $(call add-to-product-copy-files-if-exists,$(LOCAL_PATH)/extra_files/debug-crashlogd/ingredients.conf:$(TARGET_COPY_OUT_VENDOR)/etc/ingredients.conf) \ + $(call add-to-product-copy-files-if-exists,$(LOCAL_PATH)/extra_files/debug-crashlogd/crashlog.conf:$(TARGET_COPY_OUT_VENDOR)/etc/crashlog.conf) +PRODUCT_PACKAGES += crashlogd \ + dumpstate_dropbox.sh +endif + +ifeq ($(MIXIN_DEBUG_LOGS),true) +PRODUCT_DEFAULT_PROPERTY_OVERRIDES += persist.vendor.crashlogd.data_quota=50 +BOARD_SEPOLICY_DIRS += device/intel/project-celadon/sepolicy/crashlogd + +CRASHLOGD_LOGS_PATH := "/data/logs" +CRASHLOGD_APLOG := true +CRASHLOGD_FULL_REPORT := true +CRASHLOGD_MODULE_MODEM ?= true +CRASHLOGD_USE_SD := false +endif +############################################################## +# Source: device/intel/mixins/groups/debug-coredump/true/product.mk +############################################################## +ifeq ($(MIXIN_DEBUG_LOGS),true) +PRODUCT_COPY_FILES += $(LOCAL_PATH)/extra_files/debug-coredump/init.coredump.rc:root/init.coredump.rc +endif + +ifeq ($(MIXIN_DEBUG_LOGS),true) +BOARD_SEPOLICY_DIRS += $(INTEL_PATH_SEPOLICY)/coredump +# Enable core dump for eng builds +ifeq ($(TARGET_BUILD_VARIANT),eng) +PRODUCT_DEFAULT_PROPERTY_OVERRIDES += persist.core.enabled=1 +else +PRODUCT_DEFAULT_PROPERTY_OVERRIDES += persist.core.enabled=0 +endif +CRASHLOGD_COREDUMP := true +endif +############################################################## +# Source: device/intel/mixins/groups/debug-phonedoctor/true/product.mk +############################################################## +ifeq ($(MIXIN_DEBUG_LOGS),true) +PRODUCT_PACKAGES += crash_package +endif +############################################################## +# Source: device/intel/mixins/groups/debug-tools/true/product.mk +############################################################## +PRODUCT_PACKAGES_DEBUG += \ + AndroidTerm \ + libjackpal-androidterm4 \ + peeknpoke \ + pytimechart-record \ + lspci \ + llvm-symbolizer +############################################################## +# Source: device/intel/mixins/groups/trusty/true/product.mk +############################################################## + +KM_VERSION := 2 + +ifeq ($(KM_VERSION),2) +PRODUCT_PACKAGES += \ + keystore.trusty +PRODUCT_PROPERTY_OVERRIDES += \ + ro.hardware.keystore=trusty +endif + +ifeq ($(KM_VERSION),1) +PRODUCT_PACKAGES += \ + keystore.project-celadon +endif + +PRODUCT_PACKAGES += \ + libtrusty \ + storageproxyd \ + libtrustystorage \ + libtrustystorageinterface \ + gatekeeper.trusty \ + android.hardware.gatekeeper@1.0-impl \ + android.hardware.gatekeeper@1.0-service + +PRODUCT_PROPERTY_OVERRIDES += \ + ro.hardware.gatekeeper=trusty + +############################################################## +# Source: device/intel/mixins/groups/midi/true/product.mk +############################################################## +# MIDI support +PRODUCT_COPY_FILES += \ + frameworks/native/data/etc/android.software.midi.xml:vendor/etc/permissions/android.software.midi.xml +############################################################## +# Source: device/intel/mixins/groups/camera-ext/ext-camera-only/product.mk +############################################################## +# Camera: Device-specific configuration files. Supports only External USB camera, no CSI support +PRODUCT_COPY_FILES += \ + frameworks/native/data/etc/android.hardware.camera.external.xml:vendor/etc/permissions/android.hardware.camera.external.xml \ + device/intel/project-celadon/common/camera-ext/external_camera_config.xml:vendor/etc/external_camera_config.xml + +# External camera service +PRODUCT_PACKAGES += android.hardware.camera.provider@2.4-external-service \ + android.hardware.camera.provider@2.4-impl + +# Only include test apps in eng or userdebug builds. +PRODUCT_PACKAGES_DEBUG += TestingCamera \ + MultiCameraApp +############################################################## +# Source: device/intel/mixins/groups/memtrack/true/product.mk +############################################################## +# memtrack HAL +PRODUCT_PACKAGES += \ + memtrack.$(TARGET_BOARD_PLATFORM) \ + android.hardware.memtrack@1.0-service \ + android.hardware.memtrack@1.0-impl +############################################################## +# Source: device/intel/mixins/groups/touch/galax7200/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 +############################################################## +# Source: device/intel/mixins/groups/health/true/product.mk +############################################################## +PRODUCT_PACKAGES += health +PRODUCT_PACKAGES += health.$(TARGET_BOARD_PLATFORM) \ + android.hardware.health@2.0-service.celadon +############################################################## +# Source: device/intel/mixins/groups/art-config/default/product.mk +############################################################## +# This is needed to enable silver art optimizer. +VENDOR_ART_PATH ?= $(INTEL_PATH_VENDOR)/art-extension + +PRODUCT_PACKAGES_TESTS += \ + art-run-tests \ + libarttest \ + libnativebridgetest \ + libart-gtest +############################################################## +# Source: device/intel/mixins/groups/device-type/car/product.mk +############################################################## +PRODUCT_COPY_FILES += \ + frameworks/native/data/etc/car_core_hardware.xml:vendor/etc/permissions/car_core_hardware.xml \ + frameworks/native/data/etc/android.hardware.type.automotive.xml:vendor/etc/permissions/android.hardware.type.automotive.xml \ + frameworks/native/data/etc/android.hardware.screen.landscape.xml:vendor/etc/permissions/android.hardware.screen.landscape.xml \ + frameworks/native/data/etc/android.hardware.ethernet.xml:vendor/etc/permissions/android.hardware.ethernet.xml \ + frameworks/native/data/etc/android.hardware.broadcastradio.xml:vendor/etc/permissions/android.hardware.broadcastradio.xml \ + frameworks/native/data/etc/android.software.activities_on_secondary_displays.xml:vendor/etc/permissions/android.software.activities_on_secondary_displays.xml \ + $(INTEL_PATH_COMMON)/framework/android.software.cant_save_state.xml:vendor/etc/permissions/android.software.cant_save_state.xml + +# Make sure vendor car product overlays take precedence than google definition +# under packages/services/Car/car_product/overlay/ +PRODUCT_PACKAGE_OVERLAYS += device/intel/common/device-type/overlay-car +$(call inherit-product, packages/services/Car/car_product/build/car.mk) + +$(call inherit-product,frameworks/native/build/tablet-10in-xhdpi-2048-dalvik-heap.mk) + +PRODUCT_PACKAGES += \ + radio.fm.default \ + CarSettings \ + VmsPublisherClientSample \ + VmsSubscriberClientSample \ + +PRODUCT_PACKAGES += android.hardware.automotive.vehicle.intel@2.0-service \ + android.hardware.automotive.vehicle@2.0-service \ + android.hardware.automotive.vehicle@2.0-impl + +VEHICLE_HAL_PROTO_TYPE := google-emulator +############################################################## +# Source: device/intel/mixins/groups/default-drm/true/product.mk +############################################################## +#only enable default drm service +PRODUCT_PACKAGES += android.hardware.drm@1.0-service \ + android.hardware.drm@1.0-impl \ + android.hardware.drm@1.1-service.clearkey + +############################################################## +# Source: device/intel/mixins/groups/debug-kernel/default/product.mk +############################################################## +ifneq ($(TARGET_BUILD_VARIANT),user) +PRODUCT_COPY_FILES += $(LOCAL_PATH)/extra_files/debug-kernel/init.kernel.rc:root/init.kernel.rc +endif +############################################################## +# Source: device/intel/mixins/groups/debug-unresponsive/default/product.mk +############################################################## +ifneq ($(TARGET_BUILD_VARIANT),user) + +PRODUCT_DEFAULT_PROPERTY_OVERRIDES += sys.dropbox.max_size_kb=4096 + +PRODUCT_DEFAULT_PROPERTY_OVERRIDES += sys.dump.binder_stats.uiwdt=1 +PRODUCT_DEFAULT_PROPERTY_OVERRIDES += sys.dump.binder_stats.anr=1 + +PRODUCT_DEFAULT_PROPERTY_OVERRIDES += sys.dump.peer_depth=3 + +PRODUCT_DEFAULT_PROPERTY_OVERRIDES += sys.dump.stacks_timeout=1500 + +endif +# ------------------ END MIX-IN DEFINITIONS ------------------ + + diff --git a/cel_apl/dptf.dv b/cel_apl/dptf.dv new file mode 100644 index 000000000..c973bb347 Binary files /dev/null and b/cel_apl/dptf.dv differ diff --git a/cel_apl/efivar_oemlock b/cel_apl/efivar_oemlock new file mode 100644 index 000000000..b93dad169 Binary files /dev/null and b/cel_apl/efivar_oemlock differ diff --git a/cel_apl/extra_files/2ndstage/oemvars.txt b/cel_apl/extra_files/2ndstage/oemvars.txt new file mode 100644 index 000000000..f63725c6b --- /dev/null +++ b/cel_apl/extra_files/2ndstage/oemvars.txt @@ -0,0 +1,18 @@ +# ----------------- BEGIN MIX-IN DEFINITIONS ----------------- +# Mix-In definitions are auto-generated by mixin-update +############################################################## +# Source: device/intel/mixins/groups/2ndstage/oemvars/oemvars.txt +############################################################## +# This section may appear empty if magic_key_timeout is false +############################################################## +# Source: device/intel/mixins/groups/boot-arch/project-celadon/oemvars.txt +############################################################## +# This section may appear empty if magic_key_timeout is false + +########################## +GUID = 4a67b082-0a4c-41cf-b6c7-440b29bb8c4f + +# Maximum timeout to check for magic key at boot; loader GUID +MagicKeyTimeout 80 + +# ------------------ END MIX-IN DEFINITIONS ------------------ diff --git a/cel_apl/extra_files/audio/load_audio_modules.sh b/cel_apl/extra_files/audio/load_audio_modules.sh new file mode 100644 index 000000000..c23ff333c --- /dev/null +++ b/cel_apl/extra_files/audio/load_audio_modules.sh @@ -0,0 +1,4 @@ +load_audio_modules() { +insmod /vendor/lib/modules/kernel/sound/drivers/snd-dummy.ko +} +load_audio_modules& diff --git a/cel_apl/extra_files/bluetooth/load_bt.sh b/cel_apl/extra_files/bluetooth/load_bt.sh new file mode 100644 index 000000000..999ca0d17 --- /dev/null +++ b/cel_apl/extra_files/bluetooth/load_bt.sh @@ -0,0 +1,9 @@ +load_bt_modules() { +insmod $modules/kernel/crypto/ecdh_generic.ko +insmod $modules/kernel/net/bluetooth/bluetooth.ko +insmod $modules/kernel/drivers/bluetooth/btintel.ko +insmod $modules/kernel/drivers/bluetooth/btbcm.ko +insmod $modules/kernel/drivers/bluetooth/btrtl.ko +insmod $modules/kernel/drivers/bluetooth/btusb.ko +} +load_bt_modules& diff --git a/cel_apl/extra_files/boot-arch/oemvars.txt b/cel_apl/extra_files/boot-arch/oemvars.txt new file mode 100644 index 000000000..5f86e3636 --- /dev/null +++ b/cel_apl/extra_files/boot-arch/oemvars.txt @@ -0,0 +1,8 @@ +# This section may appear empty if magic_key_timeout is false + +########################## +GUID = 4a67b082-0a4c-41cf-b6c7-440b29bb8c4f + +# Maximum timeout to check for magic key at boot; loader GUID +MagicKeyTimeout 80 + diff --git a/androidia_64/startup.nsh b/cel_apl/extra_files/boot-arch/startup.nsh similarity index 81% rename from androidia_64/startup.nsh rename to cel_apl/extra_files/boot-arch/startup.nsh index 0b910247c..abab6587e 100644 --- a/androidia_64/startup.nsh +++ b/cel_apl/extra_files/boot-arch/startup.nsh @@ -1,7 +1,7 @@ # ----------------- BEGIN MIX-IN DEFINITIONS ----------------- # Mix-In definitions are auto-generated by mixin-update ############################################################## -# Source: device/intel/mixins/groups/boot-arch/android_ia/startup.nsh +# Source: device/intel/mixins/groups/boot-arch/project-celadon/startup.nsh ############################################################## installer --batch installer.cmd # ------------------ END MIX-IN DEFINITIONS ------------------ diff --git a/cel_apl/extra_files/boot-arch/unlock_device.nsh b/cel_apl/extra_files/boot-arch/unlock_device.nsh new file mode 100644 index 000000000..ec3aaa8a3 --- /dev/null +++ b/cel_apl/extra_files/boot-arch/unlock_device.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/unlock_device.nsh +############################################################## +dmpstore OEMLock -l efivar_oemlock +# ------------------ END MIX-IN DEFINITIONS ------------------ diff --git a/cel_apl/extra_files/camera-ext/external_camera_config.xml b/cel_apl/extra_files/camera-ext/external_camera_config.xml new file mode 100644 index 000000000..0266b3bc7 --- /dev/null +++ b/cel_apl/extra_files/camera-ext/external_camera_config.xml @@ -0,0 +1,51 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/cel_apl/extra_files/cpuset/config_cpuset.sh b/cel_apl/extra_files/cpuset/config_cpuset.sh new file mode 100644 index 000000000..97512e68d --- /dev/null +++ b/cel_apl/extra_files/cpuset/config_cpuset.sh @@ -0,0 +1,22 @@ +#!/vendor/bin/sh + + cp /sys/devices/system/cpu/online /dev/cpuset/foreground/cpus + cp /sys/devices/system/cpu/online /dev/cpuset/background/cpus + cp /sys/devices/system/cpu/online /dev/cpuset/system-background/cpus + cp /sys/devices/system/cpu/online /dev/cpuset/top-app/cpus + cp /sys/devices/system/cpu/online /dev/cpuset/foreground/boost/cpus + +# ----------------- BEGIN MIX-IN DEFINITIONS ----------------- +# Mix-In definitions are auto-generated by mixin-update +############################################################## +# Source: device/intel/mixins/groups/cpuset/autocores/config_cpuset.sh +############################################################## +#!/vendor/bin/sh + + cp /sys/devices/system/cpu/online /dev/cpuset/foreground/cpus + cp /sys/devices/system/cpu/online /dev/cpuset/background/cpus + cp /sys/devices/system/cpu/online /dev/cpuset/system-background/cpus + cp /sys/devices/system/cpu/online /dev/cpuset/top-app/cpus + cp /sys/devices/system/cpu/online /dev/cpuset/foreground/boost/cpus + +# ------------------ END MIX-IN DEFINITIONS ------------------ diff --git a/cel_apl/extra_files/debug-coredump/init.coredump.rc b/cel_apl/extra_files/debug-coredump/init.coredump.rc new file mode 100644 index 000000000..75ecbc71c --- /dev/null +++ b/cel_apl/extra_files/debug-coredump/init.coredump.rc @@ -0,0 +1,21 @@ +# ----------------- BEGIN MIX-IN DEFINITIONS ----------------- +# Mix-In definitions are auto-generated by mixin-update +############################################################## +# Source: device/intel/mixins/groups/debug-coredump/true/init.coredump.rc +############################################################## +on early-init + setrlimit 4 -1 -1 + + # Add code sections in coredump + write /proc/self/coredump_filter 0x2F + +on post-fs-data + mkdir /data/core 0773 root log + +on property:persist.core.enabled=0 + setrlimit 4 0 0 + +on property:persist.core.enabled=1 + setrlimit 4 -1 -1 + write /proc/sys/kernel/core_pattern /data/core/%t_%p_%s_%e.core +# ------------------ END MIX-IN DEFINITIONS ------------------ diff --git a/cel_apl/extra_files/debug-crashlogd/init.crashlogd.rc b/cel_apl/extra_files/debug-crashlogd/init.crashlogd.rc new file mode 100644 index 000000000..c94ad194c --- /dev/null +++ b/cel_apl/extra_files/debug-crashlogd/init.crashlogd.rc @@ -0,0 +1,28 @@ +# ----------------- BEGIN MIX-IN DEFINITIONS ----------------- +# Mix-In definitions are auto-generated by mixin-update +############################################################## +# Source: device/intel/mixins/groups/debug-crashlogd/true/init.crashlogd.rc +############################################################## +on init + write /proc/sys/fs/suid_dumpable 1 + +on post-fs-data +## mkdir /data/tombstones 0775 system system + mkdir /data/system 0755 system system + mkdir /data/system/dropbox 0700 system system + mkdir /data/logs/modemcrash 0775 system system + mkdir /data/logs/stats 0775 system system + mkdir /data/logs/aplogs 0775 system log + trigger delayed-fs-data + +on delayed-fs-data + mkdir /data/tombstones 0775 system system + +service crashlogd /system/vendor/bin/crashlogd + class late_start + +# started by vendor/intel/log_capture/crashlog +service logsystemstate /system/vendor/bin/dumpstate_dropbox.sh -v + disabled + oneshot +# ------------------ END MIX-IN DEFINITIONS ------------------ diff --git a/cel_apl/extra_files/debug-kernel/init.kernel.rc b/cel_apl/extra_files/debug-kernel/init.kernel.rc new file mode 100644 index 000000000..e249cdc6e --- /dev/null +++ b/cel_apl/extra_files/debug-kernel/init.kernel.rc @@ -0,0 +1,12 @@ +# ----------------- BEGIN MIX-IN DEFINITIONS ----------------- +# Mix-In definitions are auto-generated by mixin-update +############################################################## +# Source: device/intel/mixins/groups/debug-kernel/default/init.kernel.rc +############################################################## +on early-init + write /proc/sys/kernel/panic_on_stackoverflow 1 + +on fs + # Overwrite system/core/rootdir/init.rc config declared "on init" + write /proc/sys/kernel/hung_task_timeout_secs 120 +# ------------------ END MIX-IN DEFINITIONS ------------------ diff --git a/cel_apl/extra_files/debug-logs/init.logs.rc b/cel_apl/extra_files/debug-logs/init.logs.rc new file mode 100644 index 000000000..6901e4416 --- /dev/null +++ b/cel_apl/extra_files/debug-logs/init.logs.rc @@ -0,0 +1,64 @@ +# ----------------- BEGIN MIX-IN DEFINITIONS ----------------- +# Mix-In definitions are auto-generated by mixin-update +############################################################## +# Source: device/intel/mixins/groups/debug-logs/true/init.logs.rc +############################################################## +on post-fs-data + mkdir /data/logs 0770 system log + +on property:persist.service.aplogfs.enable=0 + stop vendor.ap_logfs + +on property:persist.service.aplogfs.enable=1 + setprop persist.service.apklogfs.enable 0 + restart vendor.ap_log_srv + +on property:persist.service.apklogfs.enable=0 + stop vendor.apk_logfs + +on property:persist.service.apklogfs.enable=1 + setprop persist.service.aplogfs.enable 0 + restart vendor.ap_log_srv + +service vendor.apk_logfs /vendor/bin/logcat_ep.sh auto \ + -b main -b system -b radio -b events -b crash -b kernel \ + -v threadtime -f /data/logs/aplog + user root + group root log + disabled + +service vendor.ap_logfs /vendor/bin/logcat_ep.sh auto \ + -b main -b system -b radio -b events -b crash \ + -v threadtime -f /data/logs/aplog + user root + group root log + disabled + +# Service called at boot time after data is decrypted +# +# This is done through the late_start class or through persist properties +# that are only available after data is decrypted. +# The service may be called again when the properties are updated. +service vendor.ap_log_srv /vendor/bin/start_log_srv.sh + user root + group root log + class late_start + oneshot + +service vendor.earlylogs /vendor/bin/elogs.sh + class core + oneshot + +on nonencrypted + stop vendor.earlylogs + +on property:vold.decrypt=trigger_restart_framework + stop vendor.earlylogs + +on property:persist.service.elogs.enable=1 + mkdir /cache/elogs 0770 system log + restorecon /cache/elogs + +on property:persist.service.elogs.enable=0 + exec -- /system/bin/rm -rf /cache/elogs +# ------------------ END MIX-IN DEFINITIONS ------------------ diff --git a/cel_apl/extra_files/firststage-mount/config.asl b/cel_apl/extra_files/firststage-mount/config.asl new file mode 100644 index 000000000..47bcc9c9d --- /dev/null +++ b/cel_apl/extra_files/firststage-mount/config.asl @@ -0,0 +1,31 @@ +//ACPI module device to config First-Stage Mount +DefinitionBlock ("firststage-mount.aml", "SSDT", 1, "INTEL ", "android", 0x00001000) +{ +Scope (\) +{ +External (\_SB.CFG0, DeviceObj) +Scope(_SB) +{ + Device (ANDT) + { + Name (_HID, "ANDR0001") + Name (_STR, Unicode("android device tree")) // Optional + + Name (_DSD, Package () { + ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"), + Package () { + Package () {"android.compatible", "android,firmware"}, + Package () {"android.vbmeta.compatible","android,vbmeta"}, + Package () {"android.vbmeta.parts","vbmeta,boot,system,vendor,tos"}, + Package () {"android.fstab.compatible", "android,fstab"}, + Package () {"android.fstab.vendor.compatible", "android,vendor"}, + Package () {"android.fstab.vendor.dev", "/dev/block/pci/pci0000:00/0000:00:ff.ff/by-name/vendor"}, // Varies with platform + Package () {"android.fstab.vendor.type", "ext4"}, // May vary with platform + Package () {"android.fstab.vendor.mnt_flags", "ro"}, // May vary with platform + Package () {"android.fstab.vendor.fsmgr_flags", "wait,slotselect,avb"}, // May vary with platform + } + }) + } +} +} +} diff --git a/cel_apl/extra_files/flashfiles/flashfiles.ini b/cel_apl/extra_files/flashfiles/flashfiles.ini new file mode 100644 index 000000000..711315df0 --- /dev/null +++ b/cel_apl/extra_files/flashfiles/flashfiles.ini @@ -0,0 +1,200 @@ +# This file describe the commands needed to flash the board. +# it is used to generate a json file for PhoneFlashTool, and +# also to generate a script for the USB thumb drive installer. + +# there are 4 types of sections: +# [output.xxx.yy] : tell the script to generate a file named xxx.yyy +# [configuration.xxx] : add a new configuration in the PhoneFlashTool droplist +# each configuration defines the list of sets of commands. +# each command sets will be executed in the order they are in this file. +# for a configuration to be embeded in a json output file, it must +# be present in the "configurations" list of it +# [command.xxxx.yyyy] : add a new command yyyy to the command set xxxxx +# so if a configuration has sets = "format reboot" then all commands +# [command.format.yyy] will be executed, followed by all [command.reboot.yyy] +# if the command requires a file to be passed, you can use $my_file in the args +# and then my_file = src:filename where src is the location of the file at +# build time (provdatazip, image, ...). +# [group.xxxx] : add a checkbox in PFT UI, to enable/disable all commands +# which are member of this group. the default can be overriden in a configuration +# by setting override-xxxx = true or false. + + +[global] +# if you need additional files in the flashfiles.zip. +# additional-files += radio:dediprog.bin + +[output.flash.json] +fastboot-command-options += timeout=1200000 retry=1 mandatory=true +enable = true +version = 3.0 +configurations += update blank + +[output.installer.cmd] +sets = unlock partition bootloader erase format flash configure slot-ab lock reboot +additional-files += provdatazip:installer.efi provdatazip:startup.nsh provdatazip:efivar_oemlock provdatazip:unlock_device.nsh provdatazip:config.img provdatazip:factory.img +enable = true + +[configuration.update] +startState = pos +sets = unlock bootloader flash capsule slot-ab lock reboot +default = true +description = update device to new release +brief = update + +[configuration.blank] +startState = pos +#sets = fw_update bootstrap unlock partition bootloader erase format flash capsule configure slot-ab lock reboot +sets = unlock partition bootloader reboot-bootloader erase format flash configure slot-ab lock reboot +description = erase and flash all partitions, all data will be lost. +brief = blank + +[group.delete-capsule] +name = Disable capsule update +description = Disable capsule update by deleting the capsule file from the ESP partition +default = false + +[command.unlock.unlock] +tool = fastboot +args = flashing unlock +description = Set device state to unlocked + +[command.erase.misc] +tool = fastboot +args = erase misc +description = Erase misc partition + +[command.erase.persistent] +tool = fastboot +args = erase persistent +description = Erase persistent partition + +[command.erase.metadata] +tool = fastboot +args = erase metadata +description = Erase metadata partition + +[command.erase.teedata] +tool = fastboot +args = erase teedata +description = Erase teedata partition + +[group.erase-efivars] +name = Erase efi vars +description = Erase all optional efi vars +default = true + +[command.erase-efivars.efivars] +tool = fastboot +args = oem erase-efivars +description = Erase all optional efi vars +group = erase-efivars + +[command.partition.gpt] +tool = fastboot +args = flash gpt $file +file = provdatazip:gpt.bin +description = Initialize the partition table + +[command.bootloader.bootloader] +tool = fastboot +args = flash bootloader $file +file = bootloader:bootloader +description = Flash bootloader partition + + + +[command.flash.vbmeta_a] +tool = fastboot +args = flash vbmeta_a $file +file = images:vbmeta.img +description = Flash vbmeta_a partition + + +[command.flash.tos_a] +tool = fastboot +args = flash tos_a $file +file = radio:tos.img +description = Flash tos_a partition + + +[command.flash.boot_a] +tool = fastboot +args = flash boot_a $file +file = boot:boot:boot.img +description = Flash boot_a partition + + + + +[command.flash.system_a] +tool = fastboot +args = flash system_a $file +file = images:system.img +timeout = 600000 +description = Flash system_a partition + + +[command.flash.vendor_a] +tool = fastboot +args = flash vendor_a $file +file = images:vendor.img +timeout = 600000 +description = Flash vendor_a partition + + +[command.flash.factory] +tool = fastboot +args = flash factory $file +file = radio:factory.img +timeout = 600000 +description = Flash factory partition + + +[command.flash.config] +tool = fastboot +args = flash config $file +file = radio:config.img +timeout = 600000 +description = Flash config partition + + +[command.capsule.rm-capsule] +tool = fastboot +args = oem rm /ESP/BIOSUPDATE.FV +group = delete-capsule +description = Delete firmware capsule + + +[command.format.data] +tool = fastboot +args = format data +description = Format data partition + +# This will reset the setting of slot B + +[command.slot-ab.set-active-a] +tool = fastboot +args = set_active a +description = Set the active slot to A + +[group.lock-device] +name = Lock the device (it implies the userdata partition wipe) +description = Put the device in locked state at the end of the flash procedure. +default = true + +[command.lock.lock] +tool = fastboot +args = flashing lock +group = lock-device +description = Set device state to locked + +[command.reboot.continue] +tool = fastboot +args = continue +description = Boot to main OS + +[command.reboot-bootloader.reboot] +tool = fastboot +args = reboot bootloader +description = Boot to bootloader diff --git a/cel_apl/extra_files/graphics/drirc b/cel_apl/extra_files/graphics/drirc new file mode 100644 index 000000000..5306b98fc --- /dev/null +++ b/cel_apl/extra_files/graphics/drirc @@ -0,0 +1,15 @@ + + + + + + + + + + + + diff --git a/cel_apl/extra_files/rfkill/load_rfkill.sh b/cel_apl/extra_files/rfkill/load_rfkill.sh new file mode 100644 index 000000000..b51848162 --- /dev/null +++ b/cel_apl/extra_files/rfkill/load_rfkill.sh @@ -0,0 +1,4 @@ +load_rfkill_modules() { +insmod $modules/kernel/net/rfkill/rfkill-gpio.ko +} +load_rfkill_modules& diff --git a/cel_apl/extra_files/wlan/load_iwlwifi_modules.sh b/cel_apl/extra_files/wlan/load_iwlwifi_modules.sh new file mode 100644 index 000000000..9de80b1f2 --- /dev/null +++ b/cel_apl/extra_files/wlan/load_iwlwifi_modules.sh @@ -0,0 +1,7 @@ +load_iwlwifi_modules() { + insmod $modules/kernel/net/wireless/cfg80211.ko + insmod $modules/kernel/net/mac80211/mac80211.ko + insmod $modules/kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko d0i3_disable=1 + insmod $modules/kernel/drivers/net/wireless/intel/iwlwifi/mvm/iwlmvm.ko power_scheme=1 +} +load_iwlwifi_modules& diff --git a/cel_apl/flash.json b/cel_apl/flash.json new file mode 100644 index 000000000..432041c04 --- /dev/null +++ b/cel_apl/flash.json @@ -0,0 +1,509 @@ +# ----------------- BEGIN MIX-IN DEFINITIONS ----------------- +# Mix-In definitions are auto-generated by mixin-update +############################################################## +# Source: device/intel/mixins/groups/boot-arch/project-celadon/flash.json +############################################################## +{ + "flash": { + "commands": [ + { + "args": "flashing unlock", + "description": "Set device state to unlocked", + "mandatory": true, + "precondition": { + "description": "Check battery level: ${battery}mV", + "expression": "${battery} >= 3500", + "skipOnFailure": false + }, + "restrict": [ + "blank", + "update" + ], + "retry": 1, + "timeout": 60000, + "tool": "fastboot" + }, + { + "args": "flash gpt ${gpt}", + "description": "Initialize the partition table", + "mandatory": true, + "precondition": { + "description": "Check battery level: ${battery}mV", + "expression": "${battery} >= 3500", + "skipOnFailure": false + }, + "restrict": [ + "blank" + ], + "retry": 1, + "timeout": 60000, + "tool": "fastboot" + }, + { + "args": "flash bootloader ${bootloader}", + "description": "Flash bootloader partition", + "mandatory": true, + "precondition": { + "description": "Check battery level: ${battery}mV", + "expression": "${battery} >= 3500", + "skipOnFailure": false + }, + "restrict": [ + "blank", + "update" + ], + "retry": 1, + "timeout": 60000, + "tool": "fastboot" + }, + { + "args": "reboot bootloader", + "description": "Reboot system to fastboot mode", + "mandatory": true, + "precondition": { + "description": "Check battery level: ${battery}mV", + "expression": "${battery} >= 3500", + "skipOnFailure": false + }, + "restrict": [ + "blank" + ], + "retry": 1, + "timeout": 60000, + "tool": "fastboot" + }, + { + "args": "erase misc", + "description": "Erase misc partition", + "mandatory": true, + "precondition": { + "description": "Check battery level: ${battery}mV", + "expression": "${battery} >= 3500", + "skipOnFailure": false + }, + "restrict": [ + "blank" + ], + "retry": 1, + "timeout": 60000, + "tool": "fastboot" + }, + { + "args": "erase persistent", + "description": "Erase persistent partition", + "mandatory": true, + "precondition": { + "description": "Check battery level: ${battery}mV", + "expression": "${battery} >= 3500", + "skipOnFailure": false + }, + "restrict": [ + "blank" + ], + "retry": 1, + "timeout": 60000, + "tool": "fastboot" + }, + { + "args": "erase metadata", + "description": "Erase metadata partition", + "mandatory": true, + "precondition": { + "description": "Check battery level: ${battery}mV", + "expression": "${battery} >= 3500", + "skipOnFailure": false + }, + "restrict": [ + "blank" + ], + "retry": 1, + "timeout": 60000, + "tool": "fastboot" + }, + { + "args": "format config", + "description": "Format config partition", + "mandatory": true, + "precondition": { + "description": "Check battery level: ${battery}mV", + "expression": "${battery} >= 3500", + "skipOnFailure": false + }, + "restrict": [ + "blank" + ], + "retry": 1, + "timeout": 60000, + "tool": "fastboot" + }, + { + "args": "format data", + "description": "Format data partition", + "mandatory": true, + "precondition": { + "description": "Check battery level: ${battery}mV", + "expression": "${battery} >= 3500", + "skipOnFailure": false + }, + "restrict": [ + "blank" + ], + "retry": 1, + "timeout": 60000, + "tool": "fastboot" + }, + { + "args": "flash vbmeta_a ${vbmeta}", + "description": "Flash vbmeta_a partition", + "mandatory": true, + "precondition": { + "description": "Check battery level: ${battery}mV", + "expression": "${battery} >= 3500", + "skipOnFailure": false + }, + "restrict": [ + "blank", + "update" + ], + "retry": 1, + "timeout": 60000, + "tool": "fastboot" + }, + { + "args": "flash vbmeta_b ${vbmeta}", + "description": "Flash vbmeta_b partition", + "mandatory": true, + "precondition": { + "description": "Check battery level: ${battery}mV", + "expression": "${battery} >= 3500", + "skipOnFailure": false + }, + "restrict": [ + "blank", + "update" + ], + "retry": 1, + "timeout": 60000, + "tool": "fastboot" + }, + { + "args": "flash boot_a ${boot}", + "description": "Flash boot_a partition", + "mandatory": true, + "precondition": { + "description": "Check battery level: ${battery}mV", + "expression": "${battery} >= 3500", + "skipOnFailure": false + }, + "restrict": [ + "blank", + "update" + ], + "retry": 1, + "timeout": 60000, + "tool": "fastboot" + }, + { + "args": "flash boot_b ${boot}", + "description": "Flash boot_b partition", + "mandatory": true, + "precondition": { + "description": "Check battery level: ${battery}mV", + "expression": "${battery} >= 3500", + "skipOnFailure": false + }, + "restrict": [ + "blank", + "update" + ], + "retry": 1, + "timeout": 60000, + "tool": "fastboot" + }, + { + "args": "flash tos_a ${tos}", + "description": "Flash tos_a partition", + "mandatory": true, + "precondition": { + "description": "Check battery level: ${battery}mV", + "expression": "${battery} >= 3500", + "skipOnFailure": false + }, + "restrict": [ + "blank", + "update" + ], + "retry": 1, + "timeout": 60000, + "tool": "fastboot" + }, + { + "args": "flash tos_b ${tos}", + "description": "Flash tos_b partition", + "mandatory": true, + "precondition": { + "description": "Check battery level: ${battery}mV", + "expression": "${battery} >= 3500", + "skipOnFailure": false + }, + "restrict": [ + "blank", + "update" + ], + "retry": 1, + "timeout": 60000, + "tool": "fastboot" + }, + { + "args": "flash system_a ${system}", + "description": "Flash system_a partition", + "mandatory": true, + "precondition": { + "description": "Check battery level: ${battery}mV", + "expression": "${battery} >= 3500", + "skipOnFailure": false + }, + "restrict": [ + "blank", + "update" + ], + "retry": 1, + "timeout": 600000, + "tool": "fastboot" + }, + { + "args": "flash system_b ${system}", + "description": "Flash system_b partition", + "mandatory": true, + "precondition": { + "description": "Check battery level: ${battery}mV", + "expression": "${battery} >= 3500", + "skipOnFailure": false + }, + "restrict": [ + "blank", + "update" + ], + "retry": 1, + "timeout": 600000, + "tool": "fastboot" + }, + { + "args": "flash vendor_a ${vendor}", + "description": "Flash vendor partition", + "mandatory": true, + "precondition": { + "description": "Check battery level: ${battery}mV", + "expression": "${battery} >= 3500", + "skipOnFailure": false + }, + "restrict": [ + "blank", + "update" + ], + "retry": 1, + "timeout": 60000, + "tool": "fastboot" + }, + { + "args": "flash vendor_b ${vendor}", + "description": "Flash vendor_b partition", + "mandatory": true, + "precondition": { + "description": "Check battery level: ${battery}mV", + "expression": "${battery} >= 3500", + "skipOnFailure": false + }, + "restrict": [ + "blank", + "update" + ], + "retry": 1, + "timeout": 60000, + "tool": "fastboot" + }, + { + "args": "flash factory ${factory}", + "description": "Flash factory partition", + "mandatory": true, + "precondition": { + "description": "Check battery level: ${battery}mV", + "expression": "${battery} >= 3500", + "skipOnFailure": false + }, + "restrict": [ + "blank", + "update" + ], + "retry": 1, + "timeout": 60000, + "tool": "fastboot" + }, + { + "args": "set_active a", + "description": "Set active slot to a", + "mandatory": true, + "precondition": { + "description": "Check battery level: ${battery}mV", + "expression": "${battery} >= 3500", + "skipOnFailure": false + }, + "restrict": [ + "blank", + "blank" + ], + "retry": 1, + "timeout": 60000, + "tool": "fastboot" + }, + { + "args": "flashing lock", + "description": "Set device state to locked", + "group": "lock-device", + "mandatory": true, + "precondition": { + "description": "Check battery level: ${battery}mV", + "expression": "${battery} >= 3500", + "skipOnFailure": false + }, + "restrict": [ + "blank", + "update" + ], + "retry": 1, + "timeout": 60000, + "tool": "fastboot" + }, + { + "args": "continue", + "description": "Boot to main OS", + "mandatory": true, + "precondition": { + "description": "Check battery level: ${battery}mV", + "expression": "${battery} >= 3500", + "skipOnFailure": false + }, + "restrict": [ + "blank", + "update" + ], + "retry": 1, + "timeout": 60000, + "tool": "fastboot" + } + ], + "configurations": { + "blank": { + "brief": "blank", + "description": "erase and flash all partitions, all data will be lost.", + "groupsState": { + "check-battery": true, + "erase-efivars": true, + "lock-device": true + }, + "name": "blank", + "startState": "pos" + }, + "update": { + "brief": "update", + "default": true, + "description": "update phone to new release", + "groupsState": { + "check-battery": true, + "lock-device": true + }, + "name": "update", + "startState": "pos" + } + }, + "groups": { + "check-battery": { + "description": "Check battery level before sending fastboot command", + "name": "Check battery level" + }, + "erase-efivars": { + "description": "Erase all optional efi vars", + "name": "Erase efi vars" + }, + "lock-device": { + "description": "Put the device in locked state at the end of the flash procedure.", + "name": "Lock the device (it implies the userdata partition wipe)" + } + }, + "osplatform": "android", + "parameters": { + "battery": { + "computedValue": "$1", + "description": "Fetch battery", + "filter": "battery-voltage:[\\s]*([0-9]+)mV", + "name": "battery", + "subCommand": { + "args": "getvar battery-voltage", + "description": "Fetch battery", + "mandatory": true, + "retry": 1, + "timeout": 60000, + "tool": "fastboot" + }, + "type": "variable", + "value": 3500 + }, + "boot": { + "description": "boot.img", + "name": "boot", + "type": "file", + "value": "boot.img" + }, + "bootloader": { + "description": "bootloader", + "name": "bootloader", + "type": "file", + "value": "bootloader" + }, + "gpt": { + "description": "gpt.bin", + "name": "gpt", + "type": "file", + "value": "gpt.bin" + }, + "vbmeta": { + "description": "vbmeta.img", + "name": "vbmeta", + "type": "file", + "value": "vbmeta.img" + }, + "recovery": { + "description": "recovery.img", + "name": "recovery", + "type": "file", + "value": "recovery.img" + }, + "factory": { + "description": "factory.img", + "name": "factory", + "type": "file", + "value": "factory.img" + }, + "system": { + "description": "system.img", + "name": "system", + "type": "file", + "value": "system.img" + }, + "vendor": { + "description": "vendor.img", + "name": "vendor", + "type": "file", + "value": "vendor.img" + }, + "tos": { + "description": "tos.img", + "name": "tos", + "type": "file", + "value": "tos.img" + } + }, + "version": "3.0" + } +} +# ------------------ END MIX-IN DEFINITIONS ------------------ diff --git a/cel_apl/flashfiles.ini b/cel_apl/flashfiles.ini new file mode 100644 index 000000000..d5434dbd5 --- /dev/null +++ b/cel_apl/flashfiles.ini @@ -0,0 +1,206 @@ +# ----------------- BEGIN MIX-IN DEFINITIONS ----------------- +# Mix-In definitions are auto-generated by mixin-update +############################################################## +# Source: device/intel/mixins/groups/flashfiles/ini/flashfiles.ini +############################################################## +# This file describe the commands needed to flash the board. +# it is used to generate a json file for PhoneFlashTool, and +# also to generate a script for the USB thumb drive installer. + +# there are 4 types of sections: +# [output.xxx.yy] : tell the script to generate a file named xxx.yyy +# [configuration.xxx] : add a new configuration in the PhoneFlashTool droplist +# each configuration defines the list of sets of commands. +# each command sets will be executed in the order they are in this file. +# for a configuration to be embeded in a json output file, it must +# be present in the "configurations" list of it +# [command.xxxx.yyyy] : add a new command yyyy to the command set xxxxx +# so if a configuration has sets = "format reboot" then all commands +# [command.format.yyy] will be executed, followed by all [command.reboot.yyy] +# if the command requires a file to be passed, you can use $my_file in the args +# and then my_file = src:filename where src is the location of the file at +# build time (provdatazip, image, ...). +# [group.xxxx] : add a checkbox in PFT UI, to enable/disable all commands +# which are member of this group. the default can be overriden in a configuration +# by setting override-xxxx = true or false. + + +[global] +# if you need additional files in the flashfiles.zip. +# additional-files += radio:dediprog.bin + +[output.flash.json] +fastboot-command-options += timeout=1200000 retry=1 mandatory=true +enable = true +version = 3.0 +configurations += update blank + +[output.installer.cmd] +sets = unlock partition bootloader erase format flash configure slot-ab lock reboot +additional-files += provdatazip:installer.efi provdatazip:startup.nsh provdatazip:efivar_oemlock provdatazip:unlock_device.nsh provdatazip:config.img provdatazip:factory.img +enable = true + +[configuration.update] +startState = pos +sets = unlock bootloader flash capsule slot-ab lock reboot +default = true +description = update device to new release +brief = update + +[configuration.blank] +startState = pos +#sets = fw_update bootstrap unlock partition bootloader erase format flash capsule configure slot-ab lock reboot +sets = unlock partition bootloader reboot-bootloader erase format flash configure slot-ab lock reboot +description = erase and flash all partitions, all data will be lost. +brief = blank + +[group.delete-capsule] +name = Disable capsule update +description = Disable capsule update by deleting the capsule file from the ESP partition +default = false + +[command.unlock.unlock] +tool = fastboot +args = flashing unlock +description = Set device state to unlocked + +[command.erase.misc] +tool = fastboot +args = erase misc +description = Erase misc partition + +[command.erase.persistent] +tool = fastboot +args = erase persistent +description = Erase persistent partition + +[command.erase.metadata] +tool = fastboot +args = erase metadata +description = Erase metadata partition + +[command.erase.teedata] +tool = fastboot +args = erase teedata +description = Erase teedata partition + +[group.erase-efivars] +name = Erase efi vars +description = Erase all optional efi vars +default = true + +[command.erase-efivars.efivars] +tool = fastboot +args = oem erase-efivars +description = Erase all optional efi vars +group = erase-efivars + +[command.partition.gpt] +tool = fastboot +args = flash gpt $file +file = provdatazip:gpt.bin +description = Initialize the partition table + +[command.bootloader.bootloader] +tool = fastboot +args = flash bootloader $file +file = bootloader:bootloader +description = Flash bootloader partition + + + +[command.flash.vbmeta_a] +tool = fastboot +args = flash vbmeta_a $file +file = images:vbmeta.img +description = Flash vbmeta_a partition + + +[command.flash.tos_a] +tool = fastboot +args = flash tos_a $file +file = radio:tos.img +description = Flash tos_a partition + + +[command.flash.boot_a] +tool = fastboot +args = flash boot_a $file +file = boot:boot:boot.img +description = Flash boot_a partition + + + + +[command.flash.system_a] +tool = fastboot +args = flash system_a $file +file = images:system.img +timeout = 600000 +description = Flash system_a partition + + +[command.flash.vendor_a] +tool = fastboot +args = flash vendor_a $file +file = images:vendor.img +timeout = 600000 +description = Flash vendor_a partition + + +[command.flash.factory] +tool = fastboot +args = flash factory $file +file = radio:factory.img +timeout = 600000 +description = Flash factory partition + + +[command.flash.config] +tool = fastboot +args = flash config $file +file = radio:config.img +timeout = 600000 +description = Flash config partition + + +[command.capsule.rm-capsule] +tool = fastboot +args = oem rm /ESP/BIOSUPDATE.FV +group = delete-capsule +description = Delete firmware capsule + + +[command.format.data] +tool = fastboot +args = format data +description = Format data partition + +# This will reset the setting of slot B + +[command.slot-ab.set-active-a] +tool = fastboot +args = set_active a +description = Set the active slot to A + +[group.lock-device] +name = Lock the device (it implies the userdata partition wipe) +description = Put the device in locked state at the end of the flash procedure. +default = true + +[command.lock.lock] +tool = fastboot +args = flashing lock +group = lock-device +description = Set device state to locked + +[command.reboot.continue] +tool = fastboot +args = continue +description = Boot to main OS + +[command.reboot-bootloader.reboot] +tool = fastboot +args = reboot bootloader +description = Boot to bootloader +# ------------------ END MIX-IN DEFINITIONS ------------------ diff --git a/cel_apl/fstab b/cel_apl/fstab new file mode 100644 index 000000000..b06bd807f --- /dev/null +++ b/cel_apl/fstab @@ -0,0 +1,54 @@ +# ----------------- BEGIN MIX-IN DEFINITIONS ----------------- +# Mix-In definitions are auto-generated by mixin-update +############################################################## +# Source: device/intel/mixins/groups/storage/sdcard-mmc0-usb-sd/fstab +############################################################## +*/usb*/*/host*/*/block/sd* auto auto defaults voldmanaged=usbdisk:auto,encryptable=userdata +*/mmc0/*/block/mmcblk* auto auto defaults voldmanaged=sdcard1:auto,encryptable=userdata +############################################################## +# Source: device/intel/mixins/groups/avb/true/fstab +############################################################## +/dev/block/by-name/vbmeta /vbmeta emmc defaults defaults,slotselect,avb +############################################################## +# Source: device/intel/mixins/groups/vendor-partition/true/fstab +############################################################## +# Following line is required if you use a vendor image. +# If the vendor image is not used, +# following line should be commented with the related ones in BoardConfig.mk +#First-Stage Mount is enabled, the mount of vendor partition is moved to the configure in ACPI SSDT table. +############################################################## +# Source: device/intel/mixins/groups/config-partition/enabled/fstab +############################################################## +/dev/block/by-name/config /vendor/oem_config ext4 noatime,nosuid,nodev,errors=panic wait,check +############################################################## +# Source: device/intel/mixins/groups/factory-partition/true/fstab +############################################################## +/dev/block/by-name/factory /vendor/factory ext4 rw,noatime wait +############################################################## +# Source: device/intel/mixins/groups/boot-arch/project-celadon/fstab +############################################################## +# Android fstab file. +# +# The filesystem that contains the filesystem checker binary (typically /system) cannot +# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK + +/devices/*/usb*/* auto auto defaults voldmanaged=usb:auto +/devices/*/*sdmmc*/* auto auto defaults voldmanaged=sdcard1:auto +/devices/*/80860F14:01/mmc_* auto auto defaults voldmanaged=sdcard1:auto + +# If enable AVB and A/B slot, then will mount system partition as / through /dev/dm-0 +/dev/block/by-name/system / ext4 ro wait,slotselect,avb +/dev/block/by-name/data /data ext4 noatime,nosuid,nodev,discard,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/bootloader /bootloader emmc defaults recoveryonly +/dev/block/by-name/bootloader2 /bootloader2 emmc defaults recoveryonly +/dev/block/by-name/persistent /persistent emmc defaults defaults +/dev/block/by-name/metadata /metadata emmc defaults defaults +/dev/block/by-name/tos /tos emmc defaults defaults,slotselect,avb +############################################################## +# Source: device/intel/mixins/groups/swap/zram/fstab +############################################################## +/dev/block/zram0 none swap defaults zramsize=1073741824 + +# ------------------ END MIX-IN DEFINITIONS ------------------ diff --git a/cel_apl/fstab.recovery b/cel_apl/fstab.recovery new file mode 100644 index 000000000..7f54e83eb --- /dev/null +++ b/cel_apl/fstab.recovery @@ -0,0 +1,56 @@ +# ----------------- BEGIN MIX-IN DEFINITIONS ----------------- +# Mix-In definitions are auto-generated by mixin-update +############################################################## +# Source: device/intel/mixins/groups/storage/sdcard-mmc0-usb-sd/fstab.recovery +############################################################## +/dev/block/sda1 /udiska vfat defaults voldmanaged=udiska:auto +/dev/block/sdb1 /udiskb vfat defaults voldmanaged=udiskb:auto +/dev/block/mmcblk0p1 /sdcard vfat defaults voldmanaged=sdcard:auto +############################################################## +# Source: device/intel/mixins/groups/avb/true/fstab.recovery +############################################################## +/dev/block/by-name/vbmeta /vbmeta emmc defaults defaults,slotselect +############################################################## +# Source: device/intel/mixins/groups/vendor-partition/true/fstab.recovery +############################################################## +# Following line is required if you use a vendor image. +# If the vendor image is not used, +# following line should be commented with the related ones in BoardConfig.mk + +/dev/block/by-name/vendor /vendor ext4 ro wait,slotselect +############################################################## +# Source: device/intel/mixins/groups/config-partition/enabled/fstab.recovery +############################################################## +/dev/block/by-name/config /vendor/oem_config ext4 noatime,nosuid,nodev,errors=panic wait,check +############################################################## +# Source: device/intel/mixins/groups/factory-partition/true/fstab.recovery +############################################################## +/dev/block/by-name/factory /vendor/factory ext4 rw,noatime wait +############################################################## +# Source: device/intel/mixins/groups/boot-arch/project-celadon/fstab.recovery +############################################################## +# Android fstab file. +# +# The filesystem that contains the filesystem checker binary (typically /system) cannot +# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK + +/devices/*/usb*/* auto auto defaults voldmanaged=usb:auto +/devices/*/*sdmmc*/* auto auto defaults voldmanaged=sdcard1:auto +/devices/*/80860F14:01/mmc_* auto auto defaults voldmanaged=sdcard1:auto + +# If enable AVB and A/B slot, then will mount system partition as / through /dev/dm-0 +/dev/block/by-name/system / ext4 ro wait,slotselect,avb +/dev/block/by-name/data /data ext4 noatime,nosuid,nodev,discard,noauto_da_alloc,errors=panic wait,check,formattable,fileencryption=aes-256-xts:aes-256-cts,quota +/dev/block/by-name/boot /boot emmc defaults defaults,slotselect +/dev/block/by-name/misc /misc emmc defaults defaults +/dev/block/by-name/bootloader /bootloader emmc defaults recoveryonly +/dev/block/by-name/bootloader2 /bootloader2 emmc defaults recoveryonly +/dev/block/by-name/persistent /persistent emmc defaults defaults +/dev/block/by-name/metadata /metadata ext4 noatime,nosuid,nodev,errors=panic wait,check +/dev/block/by-name/tos /tos emmc defaults defaults,slotselect +############################################################## +# Source: device/intel/mixins/groups/swap/zram/fstab.recovery +############################################################## +/dev/block/zram0 none swap defaults zramsize=1073741824 + +# ------------------ END MIX-IN DEFINITIONS ------------------ diff --git a/cel_apl/gpt.ini b/cel_apl/gpt.ini new file mode 100644 index 000000000..49d370a6f --- /dev/null +++ b/cel_apl/gpt.ini @@ -0,0 +1,106 @@ +# ----------------- BEGIN MIX-IN DEFINITIONS ----------------- +# Mix-In definitions are auto-generated by mixin-update +############################################################## +# Source: device/intel/mixins/groups/boot-arch/project-celadon/gpt.ini +############################################################## +[base] +partitions = bootloader bootloader2 boot misc metadata system persistent vendor config factory tos vbmeta teedata data +device = auto +nb_slot = 2 + +[partition.bootloader] +label = bootloader +len = 60 +type = esp +guid = 2568845d-2332-4675-bc39-8fa5a4748d15 +efi_loader = \loader.efi +efi_title = PROJECT-CELADON +flags = boot + +[partition.bootloader2] +label = bootloader2 +len = 60 +type = fat +guid = 114eaffe-1552-4022-b26e-9b053604cf84 + +[partition.boot] +label = boot +len = 30 +type = boot +has_slot = true +guid = 49a4d17f-93a3-45c1-a0de-f50b2ebe2599 + + +[partition.misc] +label = misc +len = 1 +type = misc +guid = ef32a33b-a409-486c-9141-9ffb711f6266 + +[partition.metadata] +label = metadata +len = 16 +type = metadata +guid = 20ac26be-20b7-11e3-84c5-6cfdb94711e9 + +[partition.system] +label = system +len = 3584 +type = linux +has_slot = true +guid = 38f428e6-d326-425d-9140-6e0ea133647c + + +[partition.data] +label = data +len = -1 +type = linux +guid = dc76dda9-5ac1-491c-af42-a82591580c0d + +[partition.persistent] +label = persistent +len = 1 +type = linux +guid = ebc597d0-2053-4b15-8b64-e0aac75f4db1 + +[partition.vendor] +label = vendor +len = 1800 +type = linux +has_slot = true +guid = c5a0aeec-13ea-11e5-a1b1-001e67ca0c3c + +[partition.config] +label = config +len = 8 +type = linux +guid = bd59408b-4514-490d-bf12-9878d963f378 + +[partition.factory] +label = factory +len = 10 +type = linux +guid = 8f68cc74-c5e5-48da-be91-a0c8c15e9c80 + +[partition.tos] +label = tos +len = 10 +type = boot +has_slot = true +guid = 52cd00fd-f5b0-4061-b3a5-65b07f2179f0 + +[partition.vbmeta] +label = vbmeta +len = 2 +type = linux +has_slot = true +# Randum generate a guid +guid = 7ced364c-3b5a-4eba-9f5c-9fef1327cb50 + +[partition.teedata] +label = teedata +len = 32 +type = linux +# Randum generate a guid +guid = f0c8e9aa-57f6-4155-8aef-4e0549217563 +# ------------------ END MIX-IN DEFINITIONS ------------------ diff --git a/cel_apl/hwc-valsetup.sh b/cel_apl/hwc-valsetup.sh new file mode 100644 index 000000000..7a7356112 --- /dev/null +++ b/cel_apl/hwc-valsetup.sh @@ -0,0 +1,10 @@ +LOCAL_PATH="$(gettop)" +HWCOMPOSER_PATH="$(find vendor -name hwcomposer*)" +export HWCVAL_ROOT=$LOCAL_PATH/$HWCOMPOSER_PATH/tests/hwc-val/tests/hwc +export VAL_HWC_TOP="`( cd "$HWCVAL_ROOT/../.." && pwd)`" +export PATH=$HWCVAL_ROOT/host_scripts:$HWCVAL_ROOT/tools:$PATH +export CLIENT_LOGS=$HOME/client_logs + +# Target directories +export HWCVAL_TARGET_DIR=/data/validation/hwc +export HWCVAL_TARGET_SCRIPT_DIR=/data/validation/hwc diff --git a/cel_apl/init.rc b/cel_apl/init.rc new file mode 100644 index 000000000..155654e27 --- /dev/null +++ b/cel_apl/init.rc @@ -0,0 +1,800 @@ +# ----------------- BEGIN MIX-IN DEFINITIONS ----------------- +# Mix-In definitions are auto-generated by mixin-update +############################################################## +# Source: device/intel/mixins/groups/disk-bus/auto/init.rc +############################################################## +on init + # Android creates by-name disk links with the disk controller + # in the generated path, so that the names pulled out of the GPT + # can be associated with the correct disk. Create a shortcut to + # /dev/block/by-name so that we can use the same fstabs everywhere. + mkdir /dev/block 0755 root root + exec u:r:set_storage:s0 root root -- /vendor/bin/set_storage.vendor +############################################################## +# Source: device/intel/mixins/groups/project-celadon/default/init.rc +############################################################## + +on init + # The following line maybe replaced by scripts in SKL. + # symlink /dev/block/pci/pci0000:00/0000:00:1c.0/by-name /dev/block/by-name + + # Load persistent dm-verity state and detect if a restart was + # triggered after dm-verity detected a corrupted block + # And maybe trigger verity-logging if verity mode is not default. + # Should wait for setup the by-name block device + verity_load_state + + # If verity-logging is triggered, must mount_all after it, + # otherwise the warning page maybe can't be shown. + trigger mount-all-fs + + # Since the modules are stored in /vendor, not in ram disk, + # so need to restart ueventd after mount_all. + trigger restart-ueventd + + +on verity-logging + exec u:r:slideshow:s0 -- /sbin/slideshow -p -t 30000 warning/verity_red_1 warning/verity_red_2 + + +on mount-all-fs + mkdir /dev/pstore 0755 root system + mount pstore pstore /dev/pstore + mount_all /vendor/etc/fstab.${ro.hardware} + +on restart-ueventd + rm /dev/.coldboot_done + restart ueventd + +on fs + mkdir /dev/pstore 0755 root system + mount pstore pstore /dev/pstore + +on post-fs + setprop ro.setupwizard.mode DISABLED + +on post-fs-data + mkdir /data/kpanic 0770 system system + mkdir /data/kpanic/pstore 0770 system system + mkdir /data/dontpanic 0750 root log + # Create data folder for GPS + mkdir /data/gps 0770 gps system + + # Set indication (checked by vold) that we have finished this action + setprop vold.post_fs_data_done 1 + +on boot + write /sys/devices/platform/INT33BB:00/power/control on + write /sys/devices/pci0000\:00/0000\:00\:02.0/power/control auto + + setprop camera.disable_zsl_mode 1 + + setprop persist.sys.strictmode.visual 0 + setprop persist.sys.strictmode.disable 1 + + chmod 0660 /sys/class/tty/ttyHSU1/../../power/control + chown system system /sys/class/tty/ttyHSU1/../../power/control + mkdir /dev/gps 0770 gps system + symlink /dev/ttyHSU1 /dev/gps/ttyGPS + symlink /sys/class/tty/ttyHSU1/../../power/control /dev/gps/ttyGPSPowerControl + + write /proc/sys/net/ipv4/tcp_limit_output_bytes 1500000 + write /proc/sys/net/core/rmem_max 6291456 + write /proc/sys/net/core/wmem_max 4194304 + + # change group for IPC interfaces + chown root system /sys/devices/pci0000:00/0000:00:14.0/power/control + chmod 0664 /sys/devices/pci0000:00/0000:00:14.0/power/control + chown root system /sys/bus/usb/devices/2-0:1.0/port5/power/pm_qos_no_power_off + chmod 0664 /sys/bus/usb/devices/2-0:1.0/port5/power/pm_qos_no_power_off + chown root system /sys/devices/pci0000:00/0000:00:14.0/usb2/2-5/power/wakeup + chmod 0664 /sys/devices/pci0000:00/0000:00:14.0/usb2/2-5/power/wakeup + chown root system /sys/devices/pci0000:00/0000:00:14.0/ssic_port_enable + chmod 0664 /sys/devices/pci0000:00/0000:00:14.0/power/ssic_port_enable + + chown root system /sys/bus/usb/devices/2-0:1.0/port5/usb3_lpm + chmod 0664 /sys/bus/usb/devices/2-0:1.0/port5/usb3_lpm + + # disable HSIC port + write /sys/bus/usb/devices/1-0:1.0/port6/power/pm_qos_no_power_off 0 + + chown system system /sys/devices/system/cpu/intel_pstate/min_perf_pct + chmod 0660 /sys/devices/system/cpu/intel_pstate/min_perf_pct + chown system system /sys/devices/system/cpu/intel_pstate/max_perf_pct + chmod 0660 /sys/devices/system/cpu/intel_pstate/max_perf_pct + write /sys/kernel/debug/pstate_snb/setpoint 75 + + # adb over ethernet + setprop service.adb.tcp.port 5555 + +service watchdogd /sbin/watchdogd 10 30 + user root + class core + oneshot + seclabel u:r:watchdogd:s0 + +on charger + start watchdogd + +# bugreport is triggered by holding down volume down, volume up and power +service bugreport /system/bin/dumpstate -d -p -B -z \ + -o /data/user_de/0/com.android.shell/files/bugreports/bugreport + class main + disabled + oneshot + keycodes 114 115 116 + +on fs + # Update dm-verity persistent state and set partition.*.verified + # properties + verity_update_state +############################################################## +# Source: device/intel/mixins/groups/graphics/mesa/init.rc.1 +############################################################## +# for hardware accelerated graphics +service msync /system/vendor/bin/msync + class main + user media + group media + +service coreu /system/vendor/bin/coreu + class main + user media + group media shell + +# Note that this service must start as root to set up a mem-mapped region +# and once that is set up it will drop all unnecessary capabilities and +# will not show up as a root process in the steady state. +service hdcpd /system/vendor/bin/hdcpd + class main + user media + group media shell + seclabel u:r:hdcpd:s0 + +on post-fs-data + # Change ownership of pci syfs file to 'media', as hdcpd runs as 'media' + chown media media /sys/devices/pci0000\:00/0000\:00\:02.0/resource0 + mkdir /data/system 0770 system system + mkdir /data/vendor/coreu 0770 media root + mkdir /data/hdcp 0770 media root +on boot + #Give permission to system to use i915_videostatus sysfs interface + chown system system /sys/class/drm/card0/power/i915_videostatus + chown media media /sys/kernel/debug/tracing/events/drm/drm_vblank_event/enable + chown media media /sys/kernel/debug/tracing/events/i915/i915_flip_complete/enable + chown media media /sys/kernel/debug/tracing/events/i915/i915_flip_request/enable + chown media media /sys/kernel/debug/tracing/events/i915/i915_gem_ring_dispatch/enable + chown media media /sys/kernel/debug/tracing/events/i915/i915_gem_request_complete/enable + chown media media /sys/kernel/debug/tracing/events/i915/i915_gem_request_retire/enable + chown media media /sys/kernel/debug/tracing/events/i915/i915_gem_request_wait_begin/enable + chown media media /sys/kernel/debug/tracing/events/i915/i915_gem_request_wait_end/enable + chown media media /sys/kernel/debug/tracing/events/i915/i915_ring_wait_begin/enable + chown media media /sys/kernel/debug/tracing/events/i915/i915_ring_wait_end/enable + chown media media /sys/devices/pci0000:00/0000:00:02.0/drm/card0/gt_max_freq_mhz + chown media media /sys/devices/pci0000:00/0000:00:02.0/drm/card0/gt_min_freq_mhz + +on property:persist.vendor.gen_gfxd.enable=1 + start gfxd + +on property:persist.vendor.gen_gfxd.enable=0 + stop gfxd + +service gfxd /system/vendor/bin/gfxd + class main + user root + group graphics + disabled +############################################################## +# Source: device/intel/mixins/groups/graphics/mesa/init.rc +############################################################## +on init + chown system system /sys/class/backlight/intel_backlight/brightness + chown system system /sys/class/backlight/acpi_video0/brightness + export INTEL_DEBUG heur32 + +on post-fs-data + #setprop debug.sf.nobootanimation 1 + mkdir /data/system 0770 system system + +on boot + chown system graphics /sys/kernel/debug/sync/sw_sync + symlink /sys/kernel/debug/sync/sw_sync /dev/sw_sync +############################################################## +# Source: device/intel/mixins/groups/media/project-celadon/init.rc +############################################################## +# Note that this service must start as root to set up a mem-mapped region +# and once that is set up it will drop all unnecessary capabilities and +# will not show up as a root process in the steady state. +service hdcpd /system/vendor/bin/hdcpd + class main + user media + group media shell + seclabel u:r:hdcpd:s0 + +on post-fs-data + mkdir /data/hdcp 0770 media root + mkdir /data/coreu 0770 media root + mkdir /data/media 0770 media_rw media_rw + chown media_rw media_rw /data/media + +on boot + setprop persist.media.pfw.verbose true + +on post-fs + insmod /vendor/lib/modules/kernel/drivers/media/v4l2-core/videobuf2-core.ko + insmod /vendor/lib/modules/kernel/drivers/media/v4l2-core/videobuf2-v4l2.ko + insmod /vendor/lib/modules/kernel/drivers/media/v4l2-core/videobuf2-memops.ko + insmod /vendor/lib/modules/kernel/drivers/media/v4l2-core/videobuf2-dma-contig.ko + insmod /vendor/lib/modules/kernel/drivers/media/v4l2-core/videobuf2-vmalloc.ko + insmod /vendor/lib/modules/kernel/drivers/media/usb/uvc/uvcvideo.ko + + setprop media.settings.xml /vendor/etc/media_profiles.xml +############################################################## +# Source: device/intel/mixins/groups/ethernet/dhcp/init.rc +############################################################## + +service dhcpcd_eth0 /system/bin/dhcpcd -ABDKL + class main + disabled + oneshot + +service iprenew_eth0 /system/bin/dhcpcd -n + class main + disabled + oneshot + +on post-fs + insmod /vendor/lib/modules/kernel/drivers/pps/pps_core.ko + insmod /vendor/lib/modules/kernel/drivers/ptp/ptp.ko + insmod /vendor/lib/modules/kernel/drivers/net/ethernet/intel/e1000e/e1000e.ko + +on post-fs + insmod /vendor/lib/modules/kernel/drivers/net/mii.ko + insmod /vendor/lib/modules/kernel/drivers/net/phy/libphy.ko + insmod /vendor/lib/modules/kernel/drivers/net/usb/usbnet.ko + insmod /vendor/lib/modules/kernel/drivers/net/usb/asix.ko + insmod /vendor/lib/modules/kernel/drivers/net/usb/r8152.ko + insmod /vendor/lib/modules/kernel/drivers/net/ethernet/realtek/r8169.ko +############################################################## +# Source: device/intel/mixins/groups/debugfs/default/init.rc +############################################################## +on early-init + # Mount debugfs and make it writable so that debuggerd can + # create stack traces, required with newer kernels + mount debugfs debugfs /sys/kernel/debug + chmod 0755 /sys/kernel/debug + +on early-boot + # Needed by surfaceflinger to enable it to open trace_marker + # on start without file permissions error. + chmod 0222 /sys/kernel/debug/tracing/trace_marker + # tracefs is mounted after 1st access to it + chmod 0755 /sys/kernel/debug/tracing +############################################################## +# Source: device/intel/mixins/groups/storage/sdcard-mmc0-usb-sd/init.rc +############################################################## +on init + # Support legacy paths + symlink /sdcard /mnt/sdcard + symlink /sdcard /storage/sdcard0 + +############################################################## +# Source: device/intel/mixins/groups/usb-gadget/g_ffs/init.rc +############################################################## +on fs + write /sys/class/android_usb/android0/f_ffs/aliases adb + write /sys/class/android_usb/android0/iSerial ${ro.serialno} + +on boot + # Create mount-point for ConfigFS USB gadgets + # Add standard gadget entries + mount configfs none /config + mkdir /config/usb_gadget/g1 0770 shell shell + write /config/usb_gadget/g1/bcdDevice 0x0 + write /config/usb_gadget/g1/bcdUSB 0x210 + mkdir /config/usb_gadget/g1/strings/0x409 0770 + write /config/usb_gadget/g1/strings/0x409/serialnumber ${ro.serialno} + write /config/usb_gadget/g1/strings/0x409/manufacturer ${ro.product.manufacturer} + write /config/usb_gadget/g1/strings/0x409/product ${ro.product.model} + mkdir /config/usb_gadget/g1/functions/ffs.adb + mkdir /config/usb_gadget/g1/functions/mtp.gs0 + mkdir /config/usb_gadget/g1/functions/ptp.gs1 + mkdir /config/usb_gadget/g1/functions/accessory.gs2 + mkdir /config/usb_gadget/g1/functions/rndis.gs4 + mkdir /config/usb_gadget/g1/functions/midi.gs5 + + mkdir /config/usb_gadget/g1/configs/b.1 + mkdir /config/usb_gadget/g1/configs/b.1/strings/0x409 + symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f1 + write /config/usb_gadget/g1/os_desc/qw_sign "MSFT100" + write /config/usb_gadget/g1/os_desc/b_vendor_code 0x1 + write /config/usb_gadget/g1/configs/b.1/MaxPower 500 + symlink /config/usb_gadget/g1/configs/b.1 /config/usb_gadget/g1/os_desc/b.1 + + # Create adb+ffs gadget function + mkdir /dev/usb-ffs 0770 shell shell + mkdir /dev/usb-ffs/adb 0770 shell shell + mount functionfs adb /dev/usb-ffs/adb uid=2000,gid=2000 + + # Enable USB Gadget Configfs interface and make DWC3 the controller + setprop sys.usb.configfs 1 + setprop sys.usb.controller dwc3.0.auto + + # Allow auto-suspend of USB gadget devices + write /sys/devices/pci0000\:00/0000\:00\:15.1/power/control auto + write /sys/devices/pci0000\:00/0000\:00\:15.1/dwc3.0.auto/power/control auto + write /sys/devices/pci0000\:00/0000\:00\:15.1/dwc3.0.auto/gadget/power/control auto + write /sys/devices/pci0000\:00/0000\:00\:15.1/dwc3.0.auto/udc/dwc3.0.auto/power/control auto + chown system system /sys/devices/pci0000:00/0000:00:14.0/intel_xhci_usb_sw/usb_role/intel_xhci_usb_sw-role-switch/role + chmod 0666 /sys/devices/pci0000:00/0000:00:14.0/intel_xhci_usb_sw/usb_role/intel_xhci_usb_sw-role-switch/role + +on property:sys.usb.config=none && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/os_desc/use 0 + setprop sys.usb.ffs.ready 0 + write /sys/power/wake_unlock mylock + +on property:sys.usb.config=adb && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/idVendor 0x8087 + write /config/usb_gadget/g1/idProduct 0x09ef + write /sys/power/wake_lock mylock + +on property:sys.usb.config=mtp && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/functions/mtp.gs0/os_desc/interface.MTP/compatible_id "MTP" + # write /config/usb_gadget/g1/os_desc/use 1 + write /config/usb_gadget/g1/idVendor 0x8087 + write /config/usb_gadget/g1/idProduct 0x0a5e + +on property:sys.usb.config=mtp,adb && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/functions/mtp.gs0/os_desc/interface.MTP/compatible_id "MTP" + # write /config/usb_gadget/g1/os_desc/use 1 + write /config/usb_gadget/g1/idVendor 0x8087 + write /config/usb_gadget/g1/idProduct 0x0a5f + write /sys/power/wake_lock mylock + +on property:sys.usb.config=ptp && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/functions/ptp.gs1/os_desc/interface.MTP/compatible_id "PTP" + # write /config/usb_gadget/g1/os_desc/use 1 + write /config/usb_gadget/g1/idVendor 0x8087 + write /config/usb_gadget/g1/idProduct 0x0a60 + +on property:sys.usb.config=ptp,adb && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/functions/mtp.gs0/os_desc/interface.MTP/compatible_id "PTP" + # write /config/usb_gadget/g1/os_desc/use 1 + write /config/usb_gadget/g1/idVendor 0x8087 + write /config/usb_gadget/g1/idProduct 0x0a61 + write /sys/power/wake_lock mylock + +on property:sys.usb.config=rndis && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/idVendor 0x8087 + write /config/usb_gadget/g1/idProduct 0x0a62 + +on property:sys.usb.config=rndis,adb && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/bcdUSB 0x310 + write /config/usb_gadget/g1/idVendor 0x8087 + write /config/usb_gadget/g1/idProduct 0x0a63 + write /sys/power/wake_lock mylock + +on property:sys.usb.config=midi && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/idVendor 0x8087 + write /config/usb_gadget/g1/idProduct 0x0a65 + +on property:sys.usb.config=midi,adb && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/idVendor 0x8087 + write /config/usb_gadget/g1/idProduct 0x0a67 + write /sys/power/wake_lock mylock + +on property:sys.usb.config=accessory && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/idVendor 0x18d1 + write /config/usb_gadget/g1/idProduct 0x2d00 + +on property:sys.usb.config=accessory,adb && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/idVendor 0x18d1 + write /config/usb_gadget/g1/idProduct 0x2d01 + write /sys/power/wake_lock mylock +############################################################## +# Source: device/intel/mixins/groups/adb_net/true/init.rc +############################################################## +on boot + start adbd + setprop net.eth0.startonboot true + +on property:debug.logcat=1 + class_start debug + +service logcat /system/bin/logcat -v threadtime -f /data/log.txt + class debug + +service setconsole /system/bin/setconsole -g + class main + user root + oneshot + +############################################################## +# Source: device/intel/mixins/groups/kernel/project-celadon/init.rc +############################################################## +on boot + write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor interactive + write /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor interactive + write /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor interactive + write /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor interactive + chown system system /sys/devices/system/cpu/cpufreq/interactive/touchboostpulse + + chown system system /sys/devices/system/cpu/cpufreq/interactive/timer_rate + chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/timer_rate + chown system system /sys/devices/system/cpu/cpufreq/interactive/timer_slack + chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/timer_slack + chown system system /sys/devices/system/cpu/cpufreq/interactive/min_sample_time + chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/min_sample_time + chown system system /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq + chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq + chown system system /sys/devices/system/cpu/cpufreq/interactive/target_loads + chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/target_loads + chown system system /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load + chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load + chown system system /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay + chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay + chown system system /sys/devices/system/cpu/cpufreq/interactive/boost + chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/boost + chown system system /sys/devices/system/cpu/cpufreq/interactive/boostpulse + chown system system /sys/devices/system/cpu/cpufreq/interactive/input_boost + chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/input_boost + chown system system /sys/devices/system/cpu/cpufreq/interactive/boostpulse_duration + chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/boostpulse_duration + chown system system /sys/devices/system/cpu/cpufreq/interactive/io_is_busy + chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/io_is_busy + # Assume SMP uses shared cpufreq policy for all CPUs + chown system system /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq + chmod 0660 /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq + #Give permission to system to use i915_videostatus sysfs interface + chown system system /sys/class/drm/card0/power/i915_videostatus + +on property:sys.boot_completed=1 + write /sys/devices/system/cpu/cpufreq/interactive/boost 0 + write /sys/devices/system/cpu/cpufreq/interactive/irq_load_threshold 2 + +on early-init + write /sys/devices/system/cpu/cpu0/cpuidle/state1/disable 1 + write /sys/devices/system/cpu/cpu0/cpuidle/state2/disable 1 + write /sys/devices/system/cpu/cpu0/cpuidle/state3/disable 1 + write /sys/devices/system/cpu/cpu0/cpuidle/state4/disable 1 + write /sys/devices/system/cpu/cpu0/cpuidle/state5/disable 1 + write /sys/devices/system/cpu/cpu0/cpuidle/state6/disable 1 + write /sys/devices/system/cpu/cpu0/cpuidle/state7/disable 1 + write /sys/devices/system/cpu/cpu1/cpuidle/state1/disable 1 + write /sys/devices/system/cpu/cpu1/cpuidle/state2/disable 1 + write /sys/devices/system/cpu/cpu1/cpuidle/state3/disable 1 + write /sys/devices/system/cpu/cpu1/cpuidle/state4/disable 1 + write /sys/devices/system/cpu/cpu1/cpuidle/state5/disable 1 + write /sys/devices/system/cpu/cpu1/cpuidle/state6/disable 1 + write /sys/devices/system/cpu/cpu1/cpuidle/state7/disable 1 + write /sys/devices/system/cpu/cpu2/cpuidle/state1/disable 1 + write /sys/devices/system/cpu/cpu2/cpuidle/state2/disable 1 + write /sys/devices/system/cpu/cpu2/cpuidle/state3/disable 1 + write /sys/devices/system/cpu/cpu2/cpuidle/state4/disable 1 + write /sys/devices/system/cpu/cpu2/cpuidle/state5/disable 1 + write /sys/devices/system/cpu/cpu2/cpuidle/state6/disable 1 + write /sys/devices/system/cpu/cpu2/cpuidle/state7/disable 1 + write /sys/devices/system/cpu/cpu3/cpuidle/state1/disable 1 + write /sys/devices/system/cpu/cpu3/cpuidle/state2/disable 1 + write /sys/devices/system/cpu/cpu3/cpuidle/state3/disable 1 + write /sys/devices/system/cpu/cpu3/cpuidle/state4/disable 1 + write /sys/devices/system/cpu/cpu3/cpuidle/state5/disable 1 + write /sys/devices/system/cpu/cpu3/cpuidle/state6/disable 1 + write /sys/devices/system/cpu/cpu3/cpuidle/state7/disable 1 + +on property:sys.boot_completed=1 + write /sys/devices/system/cpu/cpu0/cpuidle/state1/disable 0 + write /sys/devices/system/cpu/cpu0/cpuidle/state2/disable 0 + write /sys/devices/system/cpu/cpu0/cpuidle/state3/disable 0 + write /sys/devices/system/cpu/cpu0/cpuidle/state4/disable 0 + write /sys/devices/system/cpu/cpu0/cpuidle/state5/disable 0 + write /sys/devices/system/cpu/cpu0/cpuidle/state6/disable 0 + write /sys/devices/system/cpu/cpu0/cpuidle/state7/disable 0 + write /sys/devices/system/cpu/cpu1/cpuidle/state1/disable 0 + write /sys/devices/system/cpu/cpu1/cpuidle/state2/disable 0 + write /sys/devices/system/cpu/cpu1/cpuidle/state3/disable 0 + write /sys/devices/system/cpu/cpu1/cpuidle/state4/disable 0 + write /sys/devices/system/cpu/cpu1/cpuidle/state5/disable 0 + write /sys/devices/system/cpu/cpu1/cpuidle/state6/disable 0 + write /sys/devices/system/cpu/cpu1/cpuidle/state7/disable 0 + write /sys/devices/system/cpu/cpu2/cpuidle/state1/disable 0 + write /sys/devices/system/cpu/cpu2/cpuidle/state2/disable 0 + write /sys/devices/system/cpu/cpu2/cpuidle/state3/disable 0 + write /sys/devices/system/cpu/cpu2/cpuidle/state4/disable 0 + write /sys/devices/system/cpu/cpu2/cpuidle/state5/disable 0 + write /sys/devices/system/cpu/cpu2/cpuidle/state6/disable 0 + write /sys/devices/system/cpu/cpu2/cpuidle/state7/disable 0 + write /sys/devices/system/cpu/cpu3/cpuidle/state1/disable 0 + write /sys/devices/system/cpu/cpu3/cpuidle/state2/disable 0 + write /sys/devices/system/cpu/cpu3/cpuidle/state3/disable 0 + write /sys/devices/system/cpu/cpu3/cpuidle/state4/disable 0 + write /sys/devices/system/cpu/cpu3/cpuidle/state5/disable 0 + write /sys/devices/system/cpu/cpu3/cpuidle/state6/disable 0 + write /sys/devices/system/cpu/cpu3/cpuidle/state7/disable 0 + +############################################################## +# Source: device/intel/mixins/groups/bluetooth/btusb/init.rc +############################################################## +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 + +service dhcpcd_bt-pan /system/bin/dhcpcd -ABKL + disabled + oneshot + +service iprenew_bt-pan /system/bin/dhcpcd -n + disabled + oneshot + +on boot + insmod /vendor/lib/modules/kernel/crypto/ecdh_generic.ko + insmod /vendor/lib/modules/kernel/net/bluetooth/bluetooth.ko + insmod /vendor/lib/modules/kernel/drivers/bluetooth/btintel.ko + insmod /vendor/lib/modules/kernel/drivers/bluetooth/btbcm.ko + insmod /vendor/lib/modules/kernel/drivers/bluetooth/btrtl.ko + insmod /vendor/lib/modules/kernel/drivers/bluetooth/btusb.ko +############################################################## +# Source: device/intel/mixins/groups/config-partition/enabled/init.rc +############################################################## +# Enable SELinux labeling +on post-fs + restorecon_recursive /vendor/oem_config +############################################################## +# Source: device/intel/mixins/groups/factory-partition/true/init.rc +############################################################## +# init.rc for telephony services specific to flashless platforms using /vendor/factory partition + + +on post-fs + restorecon_recursive /vendor/factory + trigger post-fs-factory +############################################################## +# Source: device/intel/mixins/groups/boot-arch/project-celadon/init.rc +############################################################## +service watchdogd /sbin/watchdogd 10 30 + user root + class core + oneshot + seclabel u:r:watchdogd:s0 + +on charger + start watchdogd +############################################################## +# Source: device/intel/mixins/groups/audio/project-celadon/init.rc +############################################################## +on boot + insmod /vendor/lib/modules/kernel/sound/drivers/snd-dummy.ko + +############################################################## +# Source: device/intel/mixins/groups/wlan/iwlwifi/init.rc +############################################################## +on post-fs-data + setprop wifi.interface wlan0 + setprop wifi.direct.interface p2p-dev-wlan0 + + # create config WiFi NVM folder + mkdir /oem_config/wlan 0770 wifi system + +on zygote-start + # Create the directories used by the Wireless subsystem + mkdir /data/vendor/wifi 0771 wifi wifi + mkdir /data/vendor/wifi/wpa 0770 wifi wifi + mkdir /data/vendor/wifi/wpa/sockets 0770 wifi wifi + +service wpa_supplicant /vendor/bin/hw/wpa_supplicant \ + -O/data/vendor/wifi/wpa/sockets -puse_p2p_group_interface=1 \ + -g@android:wpa_wlan0 +# we will start as root and wpa_supplicant will switch to user wifi +# after setting up the capabilities required for WEXT +# user wifi +# group wifi inet keystore + interface android.hardware.wifi.supplicant@1.0::ISupplicant default + interface android.hardware.wifi.supplicant@1.1::ISupplicant default + class main + socket wpa_wlan0 dgram 660 wifi wifi + disabled + oneshot + + +service dhcpcd_wlan0 /system/bin/dhcpcd -ABDKL + class main + disabled + oneshot + +service iprenew_wlan0 /system/bin/dhcpcd -n + class main + disabled + oneshot + +service dhcpcd_p2p /system/bin/dhcpcd -aABKL + disabled + oneshot + +service iprenew_p2p /system/bin/dhcpcd -n + disabled + oneshot + +on boot + insmod /vendor/lib/modules/kernel/net/wireless/cfg80211.ko + insmod /vendor/lib/modules/kernel/net/mac80211/mac80211.ko + insmod /vendor/lib/modules/kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko + insmod /vendor/lib/modules/kernel/drivers/net/wireless/intel/iwlwifi/mvm/iwlmvm.ko +############################################################## +# Source: device/intel/mixins/groups/cpuset/autocores/init.rc +############################################################## +on early-boot + # execute script to set initial CPU settings + # don't run as a service to avoid race conditions + exec - root system -- /vendor/bin/config_cpuset.sh +############################################################## +# Source: device/intel/mixins/groups/rfkill/true/init.rc +############################################################## +on boot + insmod ${ro.boot.moduleslocation}/rfkill-gpio.ko + start rfkill-init + +service rfkill-init /vendor/bin/rfkill-init.sh + disabled + user system + group system + oneshot +############################################################## +# Source: device/intel/mixins/groups/usb/host+acc/init.rc +############################################################## +on boot + write /sys/devices/pci0000\:00/0000\:00\:14.0/power/control auto + write /sys/devices/pci0000\:00/0000\:00\:15.0/power/control auto + write /sys/devices/pci0000\:00/0000\:00\:15.0/usb1/1-3/power/control auto + +on charger + write /sys/devices/pci0000\:00/0000\:00\:14.0/power/control auto + +on post-fs + insmod /vendor/lib/modules/kernel/drivers/usb/serial/usbserial.ko + insmod /vendor/lib/modules/kernel/drivers/usb/serial/pl2303.ko + insmod /vendor/lib/modules/kernel/drivers/usb/serial/ftdi_sio.ko +############################################################## +# Source: device/intel/mixins/groups/thermal/thermal-daemon/init.rc +############################################################## +service thermal-daemon /system/vendor/bin/thermal-daemon --config-file /system/vendor/etc/thermal-daemon/thermal-conf.xml + class main + user system + group system + +on boot + chown system system /sys/devices/system/cpu/intel_pstate/max_perf_pct + chown system system /sys/devices/system/cpu/intel_pstate/min_perf_pct + chown system system /sys/devices/system/cpu/intel_pstate/no_turbo + chown system system /sys/class/powercap/intel-rapl:0/enabled + chown system system /sys/class/powercap/intel-rapl:0/constraint_0_power_limit_uw + chown system system /sys/class/dmi/id/product_uuid + chown system system /sys/class/dmi/id/product_name + chown system system /system/vendor/etc/ + chown system system /system/vendor/etc/thermal-daemon/thermal-conf.xml + restorecon_recursive /sys/class/powercap + +on post-fs-data + setprop persist.thermal.mode thermal-daemon + mkdir /data/vendor/thermal-daemon 0660 system system + start thermal-daemon + +############################################################## +# Source: device/intel/mixins/groups/pstore/ram_dummy/init.rc +############################################################## +on fs + mkdir /dev/pstore 0700 5001 root + mount pstore pstore /dev/pstore + +on post-fs-data + mkdir /data/dontpanic 0770 root log + +service pstore-clean /system/vendor/bin/pstore-clean + user 5001 + group root log + class late_start + oneshot + +on property:init.svc.pstore-clean=stopped + umount /dev/pstore + rmdir /dev/pstore +############################################################## +# Source: device/intel/mixins/groups/debug-logs/true/init.rc +############################################################## +import /init.logs.rc +############################################################## +# Source: device/intel/mixins/groups/debug-crashlogd/true/init.rc +############################################################## +import /init.crashlogd.rc +############################################################## +# Source: device/intel/mixins/groups/debug-coredump/true/init.rc +############################################################## +import /init.coredump.rc +############################################################## +# Source: device/intel/mixins/groups/trusty/true/init.rc +############################################################## +on fs + # Update device node r/w attribute + chown system system /dev/trusty-ipc-dev0 + chmod 666 /dev/trusty-ipc-dev0 + +on post-fs-data + mkdir /data/vendor/securestorage 0700 system system + chmod 666 /dev/rpmb0 + +on early-boot + start storageproxyd + +service storageproxyd /vendor/bin/storageproxyd -d /dev/trusty-ipc-dev0 -p /data/vendor/securestorage -r /dev/rpmb0 + user system + group system + +############################################################## +# Source: device/intel/mixins/groups/midi/true/init.rc +############################################################## +on property:sys.usb.config=midi + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 8087 + write /sys/class/android_usb/android0/idProduct 0a67 + write /sys/class/android_usb/android0/functions ${sys.usb.config} + write /sys/class/android_usb/android0/enable 1 + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=midi,adb + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 8087 + write /sys/class/android_usb/android0/idProduct 0a65 + write /sys/class/android_usb/android0/functions ${sys.usb.config} + write /sys/class/android_usb/android0/enable 1 + start adbd + setprop sys.usb.state ${sys.usb.config} +############################################################## +# Source: device/intel/mixins/groups/swap/zram/init.rc +############################################################## + +on boot + # Read one page at a time for swap (default is 8) + write /proc/sys/vm/page-cluster 0 + +on post-fs-data + # Enable swaps described in the fstab + swapon_all /fstab.${ro.hardware} +############################################################## +# Source: device/intel/mixins/groups/debug-kernel/default/init.rc +############################################################## +import /init.kernel.rc +############################################################## +# Source: device/intel/mixins/groups/disk-encryption/default/init.rc +############################################################## +# This _should_ be the very last thing that happens in +# the device's 'on post-fs-data' sections. Since we compose +# init scripts from various snippets with mixins, we need to +# ensure this is included last in the mixin-update by listing +# disk-encryption as LAST in the mixin spec file. +on post-fs-data + setprop vold.post_fs_data_done 1 +# ------------------ END MIX-IN DEFINITIONS ------------------ +# Enable native bridge for target executables +on early-init + mount binfmt_misc binfmt_misc /proc/sys/fs/binfmt_misc + +on property:ro.enable.native.bridge.exec=1 + copy /vendor/etc/binfmt_misc/arm_exe /proc/sys/fs/binfmt_misc/register + copy /vendor/etc/binfmt_misc/arm_dyn /proc/sys/fs/binfmt_misc/register + +on property:ro.enable.native.bridge.exec64=1 + copy /vendor/etc/binfmt_misc/arm64_exe /proc/sys/fs/binfmt_misc/register + copy /vendor/etc/binfmt_misc/arm64_dyn /proc/sys/fs/binfmt_misc/register + +on boot +service nativebridge /system/bin/enable_nativebridge + +on property:persist.sys.nativebridge=1 + mkdir /data/arm 0775 system system + start nativebridge + +on property:persist.sys.nativebridge=0 + stop nativebridge diff --git a/androidia_64/init.recovery.rc b/cel_apl/init.recovery.rc similarity index 54% rename from androidia_64/init.recovery.rc rename to cel_apl/init.recovery.rc index d414cc332..69efdba14 100644 --- a/androidia_64/init.recovery.rc +++ b/cel_apl/init.recovery.rc @@ -1,6 +1,16 @@ # ----------------- BEGIN MIX-IN DEFINITIONS ----------------- # Mix-In definitions are auto-generated by mixin-update ############################################################## +# Source: device/intel/mixins/groups/disk-bus/auto/init.recovery.rc +############################################################## +on init + # Android creates by-name disk links with the disk controller + # in the generated path, so that the names pulled out of the GPT + # can be associated with the correct disk. Create a shortcut to + # /dev/block/by-name so that we can use the same fstabs everywhere. + exec u:r:set_storage:s0 root root -- /sbin/set_storage + symlink /dev/block/pci/pci0000:00/0000:00:1c.0/by-name /dev/block/by-name +############################################################## # Source: device/intel/mixins/groups/ethernet/dhcp/init.recovery.rc ############################################################## @@ -29,7 +39,37 @@ on early-boot # tracefs is mounted after 1st access to it chmod 0755 /sys/kernel/debug/tracing ############################################################## -# Source: device/intel/mixins/groups/boot-arch/android_ia/init.recovery.rc +# Source: device/intel/mixins/groups/usb-gadget/g_ffs/init.recovery.rc +############################################################## +on boot + mkdir /config 0500 root root + mount configfs none /config + mkdir /config/usb_gadget/g1 0770 shell shell + write /config/usb_gadget/g1/idVendor 0x18d1 + mkdir /config/usb_gadget/g1/strings/0x409 0770 + write /config/usb_gadget/g1/strings/0x409/serialnumber ${ro.serialno} + write /config/usb_gadget/g1/strings/0x409/manufacturer ${ro.product.manufacturer} + write /config/usb_gadget/g1/strings/0x409/product ${ro.product.model} + mkdir /config/usb_gadget/g1/functions/ffs.adb + mkdir /config/usb_gadget/g1/configs/b.1 0770 shell shell + mkdir /config/usb_gadget/g1/configs/b.1/strings/0x409 0770 shell shell + write /config/usb_gadget/g1/configs/b.1/MaxPower 500 + mkdir /dev/usb-ffs 0770 shell shell + mkdir /dev/usb-ffs/adb 0770 shell shell + mount functionfs adb /dev/usb-ffs/adb uid=2000,gid=2000 + setprop sys.usb.configfs 1 + setprop sys.usb.controller dwc3.0.auto + +on property:sys.usb.config=none && property:sys.usb.configfs=1 + setprop sys.usb.ffs.ready 0 + +on property:sys.usb.ffs.ready=1 + symlink /config/usb_gadget/g1/configs/b.1 /config/usb_gadget/g1/os_desc/b.1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "adb" + symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f1 + write /config/usb_gadget/g1/UDC dwc3.0.auto +############################################################## +# Source: device/intel/mixins/groups/boot-arch/project-celadon/init.recovery.rc ############################################################## service watchdogd /sbin/watchdogd user root @@ -39,13 +79,4 @@ service watchdogd /sbin/watchdogd on boot start watchdogd -############################################################## -# Source: device/intel/mixins/groups/disk-bus/auto/init.recovery.rc -############################################################## -on init - # Android creates by-name disk links with the disk controller - # in the generated path, so that the names pulled out of the GPT - # can be associated with the correct disk. Create a shortcut to - # /dev/block/by-name so that we can use the same fstabs everywhere. - exec u:r:set_storage:s0 root root -- /sbin/set_storage # ------------------ END MIX-IN DEFINITIONS ------------------ diff --git a/androidia_64/installer.cmd b/cel_apl/installer.cmd similarity index 56% rename from androidia_64/installer.cmd rename to cel_apl/installer.cmd index 0a4da4040..ea2250dea 100644 --- a/androidia_64/installer.cmd +++ b/cel_apl/installer.cmd @@ -1,7 +1,7 @@ # ----------------- BEGIN MIX-IN DEFINITIONS ----------------- # Mix-In definitions are auto-generated by mixin-update ############################################################## -# Source: device/intel/mixins/groups/boot-arch/android_ia/installer.cmd +# Source: device/intel/mixins/groups/boot-arch/project-celadon/installer.cmd ############################################################## flashing unlock flash gpt gpt.bin @@ -9,12 +9,20 @@ erase misc erase persistent erase metadata format config -format cache format data -flash boot boot.img -flash recovery recovery.img -flash system system.img flash bootloader bootloader +flash vbmeta_a vbmeta.img +flash vbmeta_b vbmeta.img +flash boot_a boot.img +flash boot_b boot.img +flash tos_a tos.img +flash tos_b tos.img +flash system_a system.img +flash system_b system.img +flash vendor_a vendor.img +flash vendor_b vendor.img +flash factory factory.img +set_active a flashing lock continue # ------------------ END MIX-IN DEFINITIONS ------------------ diff --git a/cel_apl/mixins.spec b/cel_apl/mixins.spec new file mode 100644 index 000000000..fce7071f8 --- /dev/null +++ b/cel_apl/mixins.spec @@ -0,0 +1,62 @@ +[main] +mixinsdir: device/intel/mixins/groups + +[mapping] +product.mk: device.mk + +[groups] +device-specific: cel_apl +treble: true +vndk: true +2ndstage: oemvars +project-celadon: default +sepolicy: enforcing +graphics: mesa(gralloc1=true,gen9+=true,hwc2=true,vulkan=true,drmhwc=false,minigbm=true) +media: project-celadon(mediasdk=false,media_sdk_source=false) +ethernet: dhcp +debugfs: default +storage: sdcard-mmc0-usb-sd(adoptablesd=true,adoptableusb=true) +display-density: default +usb-gadget: g_ffs +adb_net: true +kernel: project-celadon(loglevel=3, disable_cpuidle_on_boot=true, external_modules=perftools-external/soc_perf_driver/src perftools-external/socwatch_driver) +bluetooth: btusb (ivi=true) +boot-arch: project-celadon(bootloader_policy=0x0,bootloader_len=60,magic_key_timeout=80,assume_bios_secure_boot=true,rpmb_simulate=true,disk_encryption=false,file_encryption=true,ignore_not_applicable_reset=true,self_usb_device_mode_protocol=true,watchdog_parameters=10 30) +audio: project-celadon +wlan: iwlwifi +cpu-arch: skl +cpuset: autocores +rfkill: true(force_disable=) +dexpreopt: enabled +disk-bus: auto +usb: host+acc +lights: true +thermal: thermal-daemon +config-partition: enabled +vendor-partition: true +factory-partition: true +pstore: ram_dummy(address=0x50000000,size=0x400000,record_size=0x4000,console_size=0x200000,ftrace_size=0x2000,dump_oops=1) +debug-crashlogd: true +debug-logs: true +debug-coredump: true +debug-phonedoctor: true +debug-tools: true +flashfiles: ini(oemvars=false,version=3.0,fastboot_min_battery_level=false,installer=true,timeout=1200000) +midi: true +trusty: true(enable_hw_sec=true,enable_storage_proxyd=true,ref_target=project-celadon_apl) +slcan: default +ioc-slcan-reboot: false +camera-ext: ext-camera-only +memtrack: true +touch: galax7200 +avb: true +health: true +slot-ab: true +art-config: default +gptbuild: true(size=14G,generate_craff=false) +device-type: car +swap:zram(size=1073741824,swappiness=false,hardware=cel_apl) +power: true +firststage-mount: true +default-drm: true +load_modules: true diff --git a/cel_apl/system.prop b/cel_apl/system.prop new file mode 100644 index 000000000..aefd21b10 --- /dev/null +++ b/cel_apl/system.prop @@ -0,0 +1,8 @@ +# +# system.prop for cel_apl +# + +audio.safemedia.bypass=true +persist.bluetooth.enablenewavrcp=false +media.settings.xml=/vendor/etc/media_profiles.xml +ro.crypto.volume.filenames_mode=aes-256-cts diff --git a/cel_apl/ueventd.rc b/cel_apl/ueventd.rc new file mode 100644 index 000000000..46452628f --- /dev/null +++ b/cel_apl/ueventd.rc @@ -0,0 +1,86 @@ +# ----------------- BEGIN MIX-IN DEFINITIONS ----------------- +# Mix-In definitions are auto-generated by mixin-update +############################################################## +# Source: device/intel/mixins/groups/disk-bus/auto/ueventd.rc +############################################################## +/dev/block/*/*/*/by-name/persistent 0660 system system +############################################################## +# Source: device/intel/mixins/groups/project-celadon/default/ueventd.rc +############################################################## +/sys/devices/system/cpu/cpu* online 0664 system system + +# Camera +/dev/v4l-subdev* 0660 camera system +/dev/ipu-psys* 0660 camera system + +# rfkill node +/dev/rfkill 0660 bluetooth bluetooth + +/dev/ttyS* 0660 system radio + +# NFCC node +/dev/nfcc 0660 nfc nfc + +# modem tty node change to radio user can read and write +/dev/gsmtty* 0660 system radio +/dev/ttyMFD* 0660 system radio +/dev/ttyACM* 0660 system radio +/dev/ttyPTI1 0660 root radio +/dev/ttyGS0 0660 root radio +/dev/mdmTrace 0660 root radio +/dev/mdm_ctrl* 0660 root radio +/dev/ttyIFX0 0660 root radio +/dev/ttyIFX1 0660 root radio +/dev/ttyUSB* 0660 radio radio +/dev/iio:device* 0660 system system +/dev/radio0 0660 bluetooth audio + +/sys/devices/pci0000:00/0000:00:02.0/drm/card*/card*/intel_backlight brightness 0644 system system +############################################################## +# Source: device/intel/mixins/groups/graphics/mesa/ueventd.rc +############################################################## +/dev/sw_sync 0666 system mediadrm +/dev/dri 0666 root graphics +/dev/dri/card0 0666 root graphics +/dev/graphics 0660 root graphics +/dev/graphics/fb0 0660 root graphics +/dev/dri/controlD64 0660 root graphics +############################################################## +# Source: device/intel/mixins/groups/media/project-celadon/ueventd.rc +############################################################## +/dev/media* 0660 media system +/dev/video* 0660 media system +############################################################## +# Source: device/intel/mixins/groups/bluetooth/btusb/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 +############################################################## +# 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/rfkill/true/ueventd.rc +############################################################## +# rfkill node +/dev/rfkill 0660 bluetooth system +############################################################## +# Source: device/intel/mixins/groups/lights/true/ueventd.rc +############################################################## +# i915 backlight driver +/sys/devices/pci0000:00/0000:00:02.0/drm/card*/card*/intel_backlight brightness 0644 system system + +############################################################## +# Source: device/intel/mixins/groups/trusty/true/ueventd.rc +############################################################## +/dev/block/pci/pci0000:00/0000:00:*.0/by-name/teedata 0660 system system +############################################################## +# Source: device/intel/mixins/groups/camera-ext/ext-camera-only/ueventd.rc +############################################################## +# Camera +/dev/video* 0660 system camera +/dev/media* 0660 system camera +# ------------------ END MIX-IN DEFINITIONS ------------------ diff --git a/cel_apl/vendorsetup.sh b/cel_apl/vendorsetup.sh new file mode 100644 index 000000000..143b4726b --- /dev/null +++ b/cel_apl/vendorsetup.sh @@ -0,0 +1,3 @@ +add_lunch_combo cel_apl-eng +add_lunch_combo cel_apl-userdebug +add_lunch_combo cel_apl-user diff --git a/cel_kbl/AndroidBoard.mk b/cel_kbl/AndroidBoard.mk new file mode 100644 index 000000000..07f0838b6 --- /dev/null +++ b/cel_kbl/AndroidBoard.mk @@ -0,0 +1,609 @@ +# ----------------- BEGIN MIX-IN DEFINITIONS ----------------- +# Mix-In definitions are auto-generated by mixin-update +############################################################## +# Source: device/intel/mixins/groups/project-celadon/default/AndroidBoard.mk +############################################################## +droid: flashfiles + -$(hide) $(ACP) $(out_flashfiles) $(DIST_DIR) +############################################################## +# Source: device/intel/mixins/groups/sepolicy/enforcing/AndroidBoard.mk +############################################################## +include $(CLEAR_VARS) +LOCAL_MODULE := sepolicy-areq-checker +LOCAL_REQUIRED_MODULES := sepolicy + +# +# On user builds, enforce that open tickets are considered violations. +# +ifeq ($(TARGET_BUILD_VARIANT),user) +LOCAL_USER_OPTIONS := -i +endif + +LOCAL_POST_INSTALL_CMD := $(INTEL_PATH_SEPOLICY)/tools/capchecker $(LOCAL_USER_OPTIONS) -p $(INTEL_PATH_SEPOLICY)/tools/caps.conf $(TARGET_ROOT_OUT)/sepolicy + +include $(BUILD_PHONY_PACKAGE) +############################################################## +# Source: device/intel/mixins/groups/graphics/mesa/AndroidBoard.mk +############################################################## +ifneq ($(TARGET_BOARD_PLATFORM),kabylake) +I915_FW_PATH := ./$(INTEL_PATH_VENDOR)/ufo/gen9_dev/x86_64_media/vendor/firmware/i915 +else +I915_FW_PATH := ./$(INTEL_PATH_VENDOR)/ufo/gen9_dev/x86_64_media_kbl/vendor/firmware/i915 +endif +#list of i915/huc_xxx.bin i915/dmc_xxx.bin i915/guc_xxx.bin +$(foreach t, $(patsubst $(I915_FW_PATH)/%,%,$(wildcard $(I915_FW_PATH)/*)) ,$(eval I915_FW += i915/$(t)) $(eval $(LOCAL_KERNEL) : $(PRODUCT_OUT)/vendor/firmware/i915/$(t))) + +_EXTRA_FW_ += $(I915_FW) + +############################################################## +# Source: device/intel/mixins/groups/slot-ab/true/AndroidBoard.mk +############################################################## + +make_dir_slot_ab: + @mkdir -p $(PRODUCT_OUT)/root/boot + @mkdir -p $(PRODUCT_OUT)/root/misc + @mkdir -p $(PRODUCT_OUT)/root/persistent + @mkdir -p $(PRODUCT_OUT)/root/metadata + +$(PRODUCT_OUT)/ramdisk.img: make_dir_slot_ab +############################################################## +# Source: device/intel/mixins/groups/kernel/project-celadon/AndroidBoard.mk +############################################################## +ifneq ($(TARGET_PREBUILT_KERNEL),) +$(error TARGET_PREBUILT_KERNEL defined but AndroidIA kernels build from source) +endif + +TARGET_KERNEL_SRC ?= kernel/project-celadon + +TARGET_KERNEL_ARCH := x86_64 +TARGET_KERNEL_CONFIG ?= kernel_64_defconfig + +KERNEL_CONFIG_DIR := device/intel/project-celadon/kernel_config + +KERNEL_NAME := bzImage + +# Set the output for the kernel build products. +KERNEL_OUT := $(abspath $(TARGET_OUT_INTERMEDIATES)/kernel) +KERNEL_BIN := $(KERNEL_OUT)/arch/$(TARGET_KERNEL_ARCH)/boot/$(KERNEL_NAME) +KERNEL_MODULES_INSTALL := $(PRODUCT_OUT)/$(TARGET_COPY_OUT_VENDOR)/lib/modules + +KERNELRELEASE = $(shell cat $(KERNEL_OUT)/include/config/kernel.release) + +KMOD_OUT := $(shell readlink -f "$(PRODUCT_OUT)/$(TARGET_COPY_OUT_VENDOR)") + +build_kernel := $(MAKE) -C $(TARGET_KERNEL_SRC) \ + O=$(KERNEL_OUT) \ + ARCH=$(TARGET_KERNEL_ARCH) \ + CROSS_COMPILE="$(KERNEL_CROSS_COMPILE_WRAPPER)" \ + KCFLAGS="$(KERNEL_CFLAGS)" \ + KAFLAGS="$(KERNEL_AFLAGS)" \ + $(if $(SHOW_COMMANDS),V=1) \ + INSTALL_MOD_PATH=$(KMOD_OUT) + +KERNEL_CONFIG_FILE := device/intel/project-celadon/kernel_config/$(TARGET_KERNEL_CONFIG) + +ifneq ($(TARGET_BUILD_VARIANT), user) +KERNEL_CONFIG_FILE += $(wildcard $(KERNEL_CONFIG_DIR)/debug_diffconfig) +endif + +KERNEL_CONFIG := $(KERNEL_OUT)/.config +$(KERNEL_CONFIG): $(KERNEL_CONFIG_FILE) + $(hide) mkdir -p $(@D) && cat $(wildcard $^) > $@ + $(build_kernel) oldnoconfig + +# Produces the actual kernel image! +$(PRODUCT_OUT)/kernel: $(KERNEL_CONFIG) | $(ACP) + $(build_kernel) $(KERNEL_NAME) modules + $(hide) $(ACP) -fp $(KERNEL_BIN) $@ + +EXTMOD_SRC := ../../../../../.. + +TARGET_EXTRA_KERNEL_MODULES := $(EXTMOD_SRC)/kernel/modules/perftools-external/soc_perf_driver/src +TARGET_EXTRA_KERNEL_MODULES += $(EXTMOD_SRC)/kernel/modules/perftools-external/socwatch_driver + +ALL_EXTRA_MODULES := $(patsubst %,$(TARGET_OUT_INTERMEDIATES)/kmodule/%,$(TARGET_EXTRA_KERNEL_MODULES)) +$(ALL_EXTRA_MODULES): $(TARGET_OUT_INTERMEDIATES)/kmodule/%: $(PRODUCT_OUT)/kernel + @echo Building additional kernel module $* + $(build_kernel) M=$(abspath $@) modules + +# Copy modules in directory pointed by $(KERNEL_MODULES_ROOT) +# First copy modules keeping directory hierarchy lib/modules/`uname-r`for libkmod +# Second, create flat hierarchy for insmod linking to previous hierarchy +$(KERNEL_MODULES_INSTALL): $(PRODUCT_OUT)/kernel $(ALL_EXTRA_MODULES) + $(hide) rm -rf $(PRODUCT_OUT)/$(TARGET_COPY_OUT_VENDOR)/lib/modules + $(build_kernel) modules_install + $(hide) for kmod in $(TARGET_EXTRA_KERNEL_MODULES) ; do \ + echo Installing additional kernel module $${kmod} ; \ + $(subst +,,$(subst $(hide),,$(build_kernel))) M=$(abspath $(TARGET_OUT_INTERMEDIATES))/kernel/$${kmod} modules_install ; \ + done + $(hide) rm -f $(PRODUCT_OUT)/$(TARGET_COPY_OUT_VENDOR)/lib/modules/*/{build,source} + $(hide) mv $(PRODUCT_OUT)/$(TARGET_COPY_OUT_VENDOR)/lib/modules/$(KERNELRELEASE)/* $(PRODUCT_OUT)/$(TARGET_COPY_OUT_VENDOR)/lib/modules + $(hide) rm -rf $(PRODUCT_OUT)/$(TARGET_COPY_OUT_VENDOR)/lib/modules/$(KERNELRELEASE) + $(hide) touch $@ + +# Makes sure any built modules will be included in the system image build. +ALL_DEFAULT_INSTALLED_MODULES += $(KERNEL_MODULES_INSTALL) + +installclean: FILES += $(KERNEL_OUT) $(PRODUCT_OUT)/kernel + +.PHONY: kernel +kernel: $(PRODUCT_OUT)/kernel +############################################################## +# Source: device/intel/mixins/groups/firststage-mount/true/AndroidBoard.mk +############################################################## +FIRST_STAGE_MOUNT_CFG_FILE := $(TARGET_DEVICE_DIR)/extra_files/firststage-mount/config.asl + +$(FIRSTSTAGE_MOUNT_SSDT): $(FIRST_STAGE_MOUNT_CFG_FILE) $(IASL) + $(hide) $(IASL) -p $(@:.aml=) $(FIRST_STAGE_MOUNT_CFG_FILE); +############################################################## +# Source: device/intel/mixins/groups/vendor-partition/true/AndroidBoard.mk +############################################################## + +# This is to ensure that kernel modules are installed before +# vendor.img is generated. +$(PRODUCT_OUT)/vendor.img : $(KERNEL_MODULES_INSTALL) + +make_dir_ab_vendor: + @mkdir -p $(PRODUCT_OUT)/root/vendor + +$(PRODUCT_OUT)/ramdisk.img: make_dir_ab_vendor +############################################################## +# Source: device/intel/mixins/groups/config-partition/enabled/AndroidBoard.mk +############################################################## +INSTALLED_CONFIGIMAGE_TARGET := $(PRODUCT_OUT)/config.img + +selinux_fc := $(TARGET_ROOT_OUT)/file_contexts.bin + +$(INSTALLED_CONFIGIMAGE_TARGET) : PRIVATE_SELINUX_FC := $(selinux_fc) +$(INSTALLED_CONFIGIMAGE_TARGET) : $(MKEXTUSERIMG) $(MAKE_EXT4FS) $(E2FSCK) $(selinux_fc) + $(call pretty,"Target config fs image: $(INSTALLED_CONFIGIMAGE_TARGET)") + @mkdir -p $(PRODUCT_OUT)/config + $(hide) PATH=$(HOST_OUT_EXECUTABLES):$$PATH \ + $(MKEXTUSERIMG) -s \ + $(PRODUCT_OUT)/config \ + $(PRODUCT_OUT)/config.img \ + ext4 \ + oem_config \ + $(BOARD_CONFIGIMAGE_PARTITION_SIZE) \ + $(PRIVATE_SELINUX_FC) + +INSTALLED_RADIOIMAGE_TARGET += $(INSTALLED_CONFIGIMAGE_TARGET) + +selinux_fc := + +selinux_fc := +.PHONY: configimage +configimage: $(INSTALLED_CONFIGIMAGE_TARGET) + +make_dir_ab_config: + @mkdir -p $(PRODUCT_OUT)/vendor/oem_config + +$(PRODUCT_OUT)/ramdisk.img: make_dir_ab_config +############################################################## +# Source: device/intel/mixins/groups/factory-partition/true/AndroidBoard.mk +############################################################## +INSTALLED_FACTORYIMAGE_TARGET := $(PRODUCT_OUT)/factory.img +selinux_fc := $(TARGET_ROOT_OUT)/file_contexts.bin + +$(INSTALLED_FACTORYIMAGE_TARGET) : PRIVATE_SELINUX_FC := $(selinux_fc) +$(INSTALLED_FACTORYIMAGE_TARGET) : $(MKEXTUSERIMG) $(MAKE_EXT4FS) $(E2FSCK) $(selinux_fc) + $(call pretty,"Target factory fs image: $(INSTALLED_FACTORYIMAGE_TARGET)") + @mkdir -p $(PRODUCT_OUT)/factory + $(hide) $(MKEXTUSERIMG) -s \ + $(PRODUCT_OUT)/factory \ + $(PRODUCT_OUT)/factory.img \ + ext4 \ + factory \ + $(BOARD_FACTORYIMAGE_PARTITION_SIZE) \ + $(PRIVATE_SELINUX_FC) + +INSTALLED_RADIOIMAGE_TARGET += $(INSTALLED_FACTORYIMAGE_TARGET) + +selinux_fc := + +.PHONY: factoryimage +factoryimage: $(INSTALLED_FACTORYIMAGE_TARGET) + +make_dir_ab_factory: + @mkdir -p $(PRODUCT_OUT)/vendor/factory + +$(PRODUCT_OUT)/ramdisk.img: make_dir_ab_factory +############################################################## +# 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 +############################################################## +src_loader_file := $(PRODUCT_OUT)/efi/kernelflinger.efi +tgt_loader_file := $(PRODUCT_OUT)/loader.efi + +define generate_flashfiles +$(shell cp $(src_loader_file) $(tgt_loader_file)) +zip -qj $(1) $(2) $(tgt_loader_file) +endef + +ifneq ($(BUILD_NUMBER),) +out_flashfiles := $(PRODUCT_OUT)/$(TARGET_PRODUCT)-flashfiles-$(BUILD_NUMBER).zip +else +out_flashfiles := $(PRODUCT_OUT)/$(TARGET_PRODUCT).flashfiles.$(TARGET_BUILD_VARIANT).$(USER).zip +endif + + +$(PRODUCT_OUT)/efi/startup.nsh: $(TARGET_DEVICE_DIR)/extra_files/boot-arch/$(@F) + $(ACP) $(TARGET_DEVICE_DIR)/extra_files/boot-arch/$(@F) $@ + sed -i '/#/d' $@ + +$(PRODUCT_OUT)/efi/unlock_device.nsh: $(TARGET_DEVICE_DIR)/extra_files/boot-arch/$(@F) + $(ACP) $(TARGET_DEVICE_DIR)/extra_files/boot-arch/$(@F) $@ + sed -i '/#/d' $@ + +$(PRODUCT_OUT)/efi/efivar_oemlock: $(TARGET_DEVICE_DIR)/$(@F) + $(ACP) $(TARGET_DEVICE_DIR)/$(@F) $@ + +$(out_flashfiles): $(BOARD_FLASHFILES) | $(ACP) + $(call generate_flashfiles,$@, $^) + + +.PHONY: flashfiles_simple +flashfiles_simple: $(out_flashfiles) + +# 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 + +# (pulled from build/core/Makefile as this gets defined much later) +# Pick a reasonable string to use to identify files. +ifneq "" "$(filter eng.%,$(BUILD_NUMBER))" +# BUILD_NUMBER has a timestamp in it, which means that +# it will change every time. Pick a stable value. +FILE_NAME_TAG := eng.$(USER) +else +FILE_NAME_TAG := $(BUILD_NUMBER) +endif + +BOARD_FIRST_STAGE_LOADER := $(PRODUCT_OUT)/efi/kernelflinger.efi +BOARD_EXTRA_EFI_MODULES := + +# We stash a copy of BIOSUPDATE.fv so the FW sees it, applies the +# update, and deletes the file. Follows Google's desire to update all +# bootloader pieces with a single "fastboot flash bootloader" command. +# Since it gets deleted we can't do incremental updates of it, we keep +# a copy as capsules/current.fv for this purpose. +intermediates := $(call intermediates-dir-for,PACKAGING,bootloader_zip) +bootloader_zip := $(intermediates)/bootloader.zip +$(bootloader_zip): intermediates := $(intermediates) +$(bootloader_zip): efi_root := $(intermediates)/root +$(bootloader_zip): \ + $(TARGET_DEVICE_DIR)/AndroidBoard.mk \ + $(BOARD_FIRST_STAGE_LOADER) \ + $(BOARD_EXTRA_EFI_MODULES) \ + $(BOARD_SFU_UPDATE) \ + | $(ACP) \ + + $(hide) rm -rf $(efi_root) + $(hide) rm -f $@ + $(hide) mkdir -p $(efi_root)/capsules + $(hide) mkdir -p $(efi_root)/EFI/BOOT + $(foreach EXTRA,$(BOARD_EXTRA_EFI_MODULES), \ + $(hide) $(ACP) $(EXTRA) $(efi_root)/) +ifneq ($(BOARD_SFU_UPDATE),) + $(hide) $(ACP) $(BOARD_SFU_UPDATE) $(efi_root)/BIOSUPDATE.fv + $(hide) $(ACP) $(BOARD_SFU_UPDATE) $(efi_root)/capsules/current.fv +endif + $(hide) $(ACP) $(BOARD_FIRST_STAGE_LOADER) $(efi_root)/loader.efi + $(hide) $(ACP) $(BOARD_FIRST_STAGE_LOADER) $(efi_root)/EFI/BOOT/$(efi_default_name) + $(hide) echo "Android-IA=\\EFI\\BOOT\\$(efi_default_name)" > $(efi_root)/manifest.txt +ifeq ($(BOARD_BOOTOPTION_FASTBOOT),true) + $(hide) echo "Fastboot=\\EFI\\BOOT\\$(efi_default_name);-f">> $(efi_root)/manifest.txt +endif + $(hide) (cd $(efi_root) && zip -qry ../$(notdir $@) .) + +bootloader_info := $(intermediates)/bootloader_image_info.txt +$(bootloader_info): + $(hide) mkdir -p $(dir $@) + $(hide) echo "size=$(BOARD_BOOTLOADER_PARTITION_SIZE)" > $@ + $(hide) echo "block_size=$(BOARD_BOOTLOADER_BLOCK_SIZE)" >> $@ + +INSTALLED_RADIOIMAGE_TARGET += $(bootloader_zip) $(bootloader_info) + +# Rule to create $(OUT)/bootloader image, binaries within are signed with +# testing keys + +BOOTLOADER_FROM_ZIP = device/intel/build/bootloader_from_zip + +bootloader_bin := $(PRODUCT_OUT)/bootloader +$(bootloader_bin): \ + $(bootloader_zip) \ + $(IMG2SIMG) \ + $(BOOTLOADER_ADDITIONAL_DEPS) \ + $(BOOTLOADER_FROM_ZIP) \ + + $(hide) $(BOOTLOADER_FROM_ZIP) \ + --size $(BOARD_BOOTLOADER_PARTITION_SIZE) \ + --block-size $(BOARD_BOOTLOADER_BLOCK_SIZE) \ + $(BOOTLOADER_ADDITIONAL_ARGS) \ + --zipfile $(bootloader_zip) \ + $@ + +droidcore: $(bootloader_bin) + +.PHONY: bootloader +bootloader: $(bootloader_bin) +$(call dist-for-goals,droidcore,$(bootloader_bin):$(TARGET_PRODUCT)-bootloader-$(FILE_NAME_TAG)) + +fastboot_usb_bin := $(PRODUCT_OUT)/fastboot-usb.img +$(fastboot_usb_bin): \ + $(bootloader_zip) \ + $(BOOTLOADER_ADDITIONAL_DEPS) \ + $(BOOTLOADER_FROM_ZIP) \ + + $(hide) $(BOOTLOADER_FROM_ZIP) \ + $(BOOTLOADER_ADDITIONAL_ARGS) \ + --zipfile $(bootloader_zip) \ + --extra-size 10485760 \ + --bootable \ + $@ + +# Build when 'make' is run with no args +droidcore: $(fastboot_usb_bin) + +.PHONY: fastboot-usb +fastboot-usb: $(fastboot_usb_bin) + +$(call dist-for-goals,droidcore,$(fastboot_usb_bin):$(TARGET_PRODUCT)-fastboot-usb-$(FILE_NAME_TAG).img) +$(call dist-for-goals,droidcore,device/intel/build/testkeys/testkeys_lockdown.txt:test-keys_efi_lockdown.txt) +$(call dist-for-goals,droidcore,device/intel/build/testkeys/unlock.txt:efi_unlock.txt) + +ifeq ($(TARGET_BOOTLOADER_POLICY),$(filter $(TARGET_BOOTLOADER_POLICY),static external)) +# The bootloader policy is not built but is provided statically in the +# repository or in $(PRODUCT_OUT)/. +else +# Bootloader policy values are generated based on the +# TARGET_BOOTLOADER_POLICY value and the +# device/intel/build/testkeys/{odm,OAK} keys. The OEM must provide +# its own keys. +GEN_BLPOLICY_OEMVARS := device/intel/build/generate_blpolicy_oemvars +TARGET_ODM_KEY_PAIR := device/intel/build/testkeys/odm +TARGET_OAK_KEY_PAIR := device/intel/build/testkeys/OAK + +$(BOOTLOADER_POLICY_OEMVARS): + $(GEN_BLPOLICY_OEMVARS) -K $(TARGET_ODM_KEY_PAIR) \ + -O $(TARGET_OAK_KEY_PAIR).x509.pem -B $(TARGET_BOOTLOADER_POLICY) \ + $(BOOTLOADER_POLICY_OEMVARS) +endif + + +GPT_INI2BIN := ./device/intel/common/gpt_bin/gpt_ini2bin.py + +$(BOARD_GPT_BIN): $(TARGET_DEVICE_DIR)/gpt.ini + $(hide) $(GPT_INI2BIN) $< > $@ + $(hide) echo GEN $(notdir $@) + +# Use by updater_ab_esp +$(PRODUCT_OUT)/vendor.img: $(PRODUCT_OUT)/vendor/firmware/kernelflinger.efi +$(PRODUCT_OUT)/vendor/firmware/kernelflinger.efi: $(PRODUCT_OUT)/efi/kernelflinger.efi + $(ACP) $(PRODUCT_OUT)/efi/kernelflinger.efi $@ + +############################################################## +# Source: device/intel/mixins/groups/audio/project-celadon/AndroidBoard.mk +############################################################## +pfw_rebuild_settings := true +# Target specific audio configuration files +include device/intel/project-celadon/common/audio/AndroidBoard.mk +############################################################## +# Source: device/intel/mixins/groups/wlan/iwlwifi/AndroidBoard.mk +############################################################## +#LOCAL_KERNEL_PATH := $(abspath $(PRODUCT_OUT)/obj/kernel) is not defined yet +#$(abspath $(PRODUCT_OUT)/obj/kernel)/copy_modules: iwlwifi +############################################################## +# Source: device/intel/mixins/groups/trusty/true/AndroidBoard.mk +############################################################## +TOS_IMAGE_TARGET := $(TRUSTY_BUILDROOT)/evmm_lk_pkg.bin + +INTERNAL_PLATFORM := ikgt +LOCAL_MAKE := make + +# Build the evmm_pkg.bin and lk.bin +.PHONY: $(TOS_IMAGE_TARGET) +$(TOS_IMAGE_TARGET): + @echo "making lk.bin.." + $(hide) (cd $(TOPDIR)trusty && $(TRUSTY_ENV_VAR) $(LOCAL_MAKE) sand-x86-64) + @echo "making tos image.." + $(hide) (cd $(TOPDIR)vendor/intel/fw/evmm/$(INTERNAL_PLATFORM) && $(TRUSTY_ENV_VAR) $(LOCAL_MAKE)) + +#tos partition is assigned for trusty +INSTALLED_TOS_IMAGE_TARGET := $(PRODUCT_OUT)/tos.img +TOS_SIGNING_KEY := $(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_VERITY_SIGNING_KEY).pk8 +TOS_SIGNING_CERT := $(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_VERITY_SIGNING_KEY).x509.pem + +.PHONY: tosimage +tosimage: $(INSTALLED_TOS_IMAGE_TARGET) + +ifeq (true,$(BOARD_AVB_ENABLE)) # BOARD_AVB_ENABLE == true +$(INSTALLED_TOS_IMAGE_TARGET): $(TOS_IMAGE_TARGET) $(MKBOOTIMG) $(AVBTOOL) + @echo "mkbootimg to create boot image for TOS file: $@" + $(hide) $(MKBOOTIMG) --kernel $(TOS_IMAGE_TARGET) --output $@ + $(hide) $(AVBTOOL) add_hash_footer \ + --image $@ \ + --partition_size $(BOARD_TOSIMAGE_PARTITION_SIZE) \ + --partition_name tos $(INTERNAL_AVB_SIGNING_ARGS) +BOARD_AVB_MAKE_VBMETA_IMAGE_ARGS += --include_descriptors_from_image $(INSTALLED_TOS_IMAGE_TARGET) +$(PRODUCT_OUT)/vbmeta.img: $(INSTALLED_TOS_IMAGE_TARGET) +else +$(INSTALLED_TOS_IMAGE_TARGET): $(TOS_IMAGE_TARGET) $(MKBOOTIMG) $(BOOT_SIGNER) + @echo "mkbootimg to create boot image for TOS file: $@" + $(hide) $(MKBOOTIMG) --kernel $(TOS_IMAGE_TARGET) --output $@ + $(if $(filter true,$(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_SUPPORTS_BOOT_SIGNER)),\ + @echo "sign prebuilt TOS file: $@" &&\ + $(BOOT_SIGNER) /tos $@ $(TOS_SIGNING_KEY) $(TOS_SIGNING_CERT) $@) +endif + +INSTALLED_RADIOIMAGE_TARGET += $(INSTALLED_TOS_IMAGE_TARGET) + +make_dir_ab_tos: + @mkdir -p $(PRODUCT_OUT)/root/tos + +$(PRODUCT_OUT)/ramdisk.img: make_dir_ab_tos +############################################################## +# Source: device/intel/mixins/groups/flashfiles/ini/AndroidBoard.mk +############################################################## +ff_intermediates := $(call intermediates-dir-for,PACKAGING,flashfiles) + +# We need a copy of the flashfiles configuration ini in the +# TFP RADIO/ directory +ff_config := $(ff_intermediates)/flashfiles.ini +$(ff_config): $(FLASHFILES_CONFIG) | $(ACP) + $(copy-file-to-target) + +$(call add_variant_flashfiles,$(ff_intermediates)) + +INSTALLED_RADIOIMAGE_TARGET += $(ff_config) + + +$(call flashfile_add_blob,extra_script.edify,$(TARGET_DEVICE_DIR)/flashfiles/::variant::/extra_script.edify) + +# We take any required images that can't be derived elsewhere in +# the TFP and put them in RADIO/provdata.zip. +ff_intermediates := $(call intermediates-dir-for,PACKAGING,flashfiles) +provdata_zip := $(ff_intermediates)/provdata.zip +provdata_zip_deps := $(foreach pair,$(BOARD_FLASHFILES),$(call word-colon,1,$(pair))) +ff_root := $(ff_intermediates)/root + +define copy-flashfile +$(hide) $(ACP) -fp $(1) $(2) + +endef + +define deploy_provdata +$(eval ff_var := $(subst provdata,,$(basename $(notdir $(1))))) +$(hide) rm -f $(1) +$(hide) rm -rf $(ff_intermediates)/root$(ff_var) +$(hide) mkdir -p $(ff_intermediates)/root$(ff_var) +$(foreach pair,$(BOARD_FLASHFILES$(ff_var)), \ + $(call copy-flashfile,$(call word-colon,1,$(pair)),$(ff_intermediates)/root$(ff_var)/$(call word-colon,2,$(pair)))) +$(hide) zip -qj $(1) $(ff_intermediates)/root$(ff_var)/* +endef + +ifneq ($(FLASHFILE_VARIANTS),) +provdata_zip := +$(foreach var,$(FLASHFILE_VARIANTS), \ + $(eval provdata_zip += $(ff_intermediates)/provdata_$(var).zip) \ + $(eval BOARD_FLASHFILES_$(var) := $(BOARD_FLASHFILES)) \ + $(eval BOARD_FLASHFILES_$(var) += $(BOARD_FLASHFILES_FIRMWARE_$(var))) \ + $(eval provdata_zip_deps += $(foreach pair,$(BOARD_FLASHFILES_FIRMWARE_$(var)),$(call word-colon,1,$(pair))))) +else +$(eval BOARD_FLASHFILES += $(BOARD_FLASHFILES_FIRMWARE)) +$(eval provdata_zip_deps += $(foreach pair,$(BOARD_FLASHFILES_FIRMWARE),$(call word-colon,1,$(pair)))) +endif + +$(provdata_zip): $(provdata_zip_deps) | $(ACP) + $(call deploy_provdata,$@) + + +INSTALLED_RADIOIMAGE_TARGET += $(provdata_zip) + +############################################################## +# Source: device/intel/mixins/groups/gptbuild/true/AndroidBoard.mk +############################################################## +gptimage_size ?= 14G + +raw_config := none +raw_factory := none +tos_bin := none +multiboot_bin := none + +.PHONY: none +none: ; + +.PHONY: $(INSTALLED_CONFIGIMAGE_TARGET).raw +$(INSTALLED_CONFIGIMAGE_TARGET).raw: $(INSTALLED_CONFIGIMAGE_TARGET) $(SIMG2IMG) + $(SIMG2IMG) $< $@ + +.PHONY: $(INSTALLED_FACTORYIMAGE_TARGET).raw +$(INSTALLED_FACTORYIMAGE_TARGET).raw: $(INSTALLED_FACTORYIMAGE_TARGET) $(SIMG2IMG) + $(SIMG2IMG) $< $@ + +ifdef INSTALLED_CONFIGIMAGE_TARGET +raw_config := $(INSTALLED_CONFIGIMAGE_TARGET).raw +endif + +ifdef INSTALLED_FACTORYIMAGE_TARGET +raw_factory := $(INSTALLED_FACTORYIMAGE_TARGET).raw +endif + +.PHONY: $(GPTIMAGE_BIN) +ifeq ($(strip $(TARGET_USE_TRUSTY)),true) +ifeq ($(strip $(TARGET_USE_MULTIBOOT)),true) +$(GPTIMAGE_BIN): tosimage multiboot +multiboot_bin = $(INSTALLED_MULTIBOOT_IMAGE_TARGET) +else +$(GPTIMAGE_BIN): tosimage +endif +tos_bin = $(INSTALLED_TOS_IMAGE_TARGET) +endif + +$(GPTIMAGE_BIN): \ + bootloader \ + bootimage \ + systemimage \ + vbmetaimage \ + vendorimage \ + $(SIMG2IMG) \ + $(raw_config) \ + $(raw_factory) + + $(hide) rm -f $(INSTALLED_SYSTEMIMAGE).raw + $(hide) rm -f $(INSTALLED_USERDATAIMAGE_TARGET).raw + + $(SIMG2IMG) $(INSTALLED_SYSTEMIMAGE) $(INSTALLED_SYSTEMIMAGE).raw + $(SIMG2IMG) $(INSTALLED_VENDORIMAGE_TARGET) $(INSTALLED_VENDORIMAGE_TARGET).raw + + $(INTEL_PATH_BUILD)/create_gpt_image.py \ + --create $@ \ + --block $(BOARD_FLASH_BLOCK_SIZE) \ + --table $(TARGET_DEVICE_DIR)/gpt.ini \ + --size $(gptimage_size) \ + --bootloader $(bootloader_bin) \ + --bootloader2 $(bootloader_bin) \ + --tos $(tos_bin) \ + --multiboot $(multiboot_bin) \ + --boot $(INSTALLED_BOOTIMAGE_TARGET) \ + --vbmeta $(INSTALLED_VBMETAIMAGE_TARGET) \ + --system $(INSTALLED_SYSTEMIMAGE).raw \ + --vendor $(INSTALLED_VENDORIMAGE_TARGET).raw \ + --config $(raw_config) \ + --factory $(raw_factory) + + +.PHONY: gptimage +gptimage: $(GPTIMAGE_BIN) +############################################################## +# Source: device/intel/mixins/groups/device-type/car/AndroidBoard.mk +############################################################## +# Car device required kernel diff config +#KERNEL_CAR_DIFFCONFIG = $(wildcard $(KERNEL_CONFIG_PATH)/car_diffconfig) +#KERNEL_DIFFCONFIG += $(KERNEL_CAR_DIFFCONFIG) +# ------------------ END MIX-IN DEFINITIONS ------------------ diff --git a/cel_kbl/AndroidProducts.mk b/cel_kbl/AndroidProducts.mk new file mode 100644 index 000000000..474b0af23 --- /dev/null +++ b/cel_kbl/AndroidProducts.mk @@ -0,0 +1,2 @@ +PRODUCT_MAKEFILES := \ + $(LOCAL_DIR)/cel_kbl.mk diff --git a/cel_kbl/BoardConfig.mk b/cel_kbl/BoardConfig.mk new file mode 100644 index 000000000..b7507fc84 --- /dev/null +++ b/cel_kbl/BoardConfig.mk @@ -0,0 +1,519 @@ +# ----------------- BEGIN MIX-IN DEFINITIONS ----------------- +# Mix-In definitions are auto-generated by mixin-update +############################################################## +# Source: device/intel/mixins/groups/vndk/true/BoardConfig.mk +############################################################## +BOARD_VNDK_VERSION := current +############################################################## +# Source: device/intel/mixins/groups/2ndstage/oemvars/BoardConfig.mk +############################################################## +TARGET_BOOTLOADER_IS_2ND := true +BOARD_OEM_VARS += $(TARGET_DEVICE_DIR)/extra_files/2ndstage/oemvars.txt +############################################################## +# Source: device/intel/mixins/groups/disk-bus/auto/BoardConfig.mk +############################################################## +BOARD_SEPOLICY_DIRS += $(INTEL_PATH_SEPOLICY)/set_storage +BOARD_DISK_BUS = ff.ff +############################################################## +# Source: device/intel/mixins/groups/project-celadon/default/BoardConfig.mk +############################################################## +KERNEL_CROSS_COMPILE_WRAPPER := x86_64-linux-android- + +BOARD_SEPOLICY_DIRS += $(INTEL_PATH_SEPOLICY)/vendor +############################################################## +# Source: device/intel/mixins/groups/sepolicy/enforcing/BoardConfig.mk +############################################################## +# SELinux Policy +BOARD_SEPOLICY_DIRS += $(INTEL_PATH_SEPOLICY) + +############################################################## +# Source: device/intel/mixins/groups/graphics/mesa/BoardConfig.mk +############################################################## +# Use external/drm-bxt +TARGET_USE_PRIVATE_LIBDRM := true +LIBDRM_VER ?= intel + +BOARD_KERNEL_CMDLINE += vga=current i915.modeset=1 drm.atomic=1 i915.nuclear_pageflip=1 drm.vblankoffdelay=1 i915.fastboot=1 +USE_OPENGL_RENDERER := true +NUM_FRAMEBUFFER_SURFACE_BUFFERS := 3 +USE_INTEL_UFO_DRIVER := false +BOARD_GPU_DRIVERS := i965 +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 +ifneq ($(strip $(BOARD_GPU_DRIVERS)),) +TARGET_HARDWARE_3D := true +TARGET_USES_HWC2 := true +endif + + +BOARD_USES_DRM_HWCOMPOSER := false +BOARD_USES_IA_HWCOMPOSER := true + +BOARD_USES_MINIGBM := true +BOARD_ENABLE_EXPLICIT_SYNC := true +INTEL_MINIGBM := external/minigbm + + +BOARD_USES_GRALLOC1 := true + + + +BOARD_CURSOR_WA := false + +BOARD_THREEDIS_UNDERRUN_WA := true + + +BOARD_SEPOLICY_DIRS += $(INTEL_PATH_SEPOLICY)/graphics/mesa + +############################################################## +# Source: device/intel/mixins/groups/media/project-celadon/BoardConfig.mk +############################################################## +INTEL_STAGEFRIGHT := true + +# Settings for the Media SDK library and plug-ins: +# - USE_MEDIASDK: use Media SDK support or not +USE_MEDIASDK := true + +BOARD_HAVE_MEDIASDK_OPEN_SOURCE := true +############################################################## +# Source: device/intel/mixins/groups/debugfs/default/BoardConfig.mk +############################################################## +BOARD_SEPOLICY_DIRS += device/intel/project-celadon/sepolicy/debugfs +############################################################## +# Source: device/intel/mixins/groups/usb-gadget/g_ffs/BoardConfig.mk +############################################################## +BOARD_SEPOLICY_DIRS += device/intel/project-celadon/sepolicy/usb + +############################################################## +# Source: device/intel/mixins/groups/slot-ab/true/BoardConfig.mk +############################################################## +AB_OTA_UPDATER := true +AB_OTA_PARTITIONS := \ + boot \ + system +BOARD_BUILD_SYSTEM_ROOT_IMAGE := true +TARGET_NO_RECOVERY := true +BOARD_USES_RECOVERY_AS_BOOT := true +BOARD_SLOT_AB_ENABLE := true +############################################################## +# Source: device/intel/mixins/groups/kernel/project-celadon/BoardConfig.mk +############################################################## +TARGET_USES_64_BIT_BINDER := true +BOARD_USE_64BIT_USERSPACE := true +TARGET_SUPPORTS_64_BIT_APPS := true + + +TARGET_PRELINK_MODULE := false +TARGET_NO_KERNEL ?= false + +KERNEL_LOGLEVEL ?= 3 +SERIAL_PARAMETER ?= console=tty0 console=ttyS0,115200n8 + + +BOARD_KERNEL_CMDLINE += androidboot.hardware=$(TARGET_PRODUCT) firmware_class.path=/vendor/firmware loglevel=$(KERNEL_LOGLEVEL) loop.max_part=7 + +ifneq ($(TARGET_BUILD_VARIANT),user) +ifeq ($(SPARSE_IMG),true) +BOARD_KERNEL_CMDLINE += $(SERIAL_PARAMETER) +endif +endif + + +BOARD_SEPOLICY_M4DEFS += module_kernel=true +BOARD_SEPOLICY_DIRS += device/intel/project-celadon/sepolicy/kernel +############################################################## +# Source: device/intel/mixins/groups/bluetooth/btusb/BoardConfig.mk +############################################################## +BOARD_HAVE_BLUETOOTH_INTEL_ICNV := true +DEVICE_PACKAGE_OVERLAYS += device/intel/common/bluetooth/overlay-bt-pan +BOARD_SEPOLICY_DIRS += device/intel/project-celadon/sepolicy/bluetooth/common + +BOARD_BLUETOOTH_BDROID_BUILDCFG_INCLUDE_DIR := device/intel/common/bluetooth/intel/car/ + +############################################################## +# Source: device/intel/mixins/groups/avb/true/BoardConfig.mk +############################################################## +BOARD_AVB_ENABLE := true + +KERNELFLINGER_AVB_CMDLINE := true + +BOARD_VBMETAIMAGE_PARTITION_SIZE := 2097152 +BOARD_FLASHFILES += $(PRODUCT_OUT)/vbmeta.img + +# Now use AVB to support A/B slot +PRODUCT_STATIC_BOOT_CONTROL_HAL := bootctrl.avb libavb_user +############################################################## +# Source: device/intel/mixins/groups/firststage-mount/true/BoardConfig.mk +############################################################## +BOARD_FIRSTSTAGE_MOUNT_ENABLE := true +BOARD_KERNEL_CMDLINE += androidboot.android_dt_dir=/sys/bus/platform/devices/ANDR0001:00/properties/android/ +FIRSTSTAGE_MOUNT_SSDT = $(PRODUCT_OUT)/firststage-mount.aml +############################################################## +# Source: device/intel/mixins/groups/vendor-partition/true/BoardConfig.mk +############################################################## +# Those 3 lines are required to enable vendor image generation. +# Remove them if vendor partition is not used. +TARGET_COPY_OUT_VENDOR := vendor +BOARD_VENDORIMAGE_PARTITION_SIZE := 1887436800 +ifeq ($(SPARSE_IMG),true) +BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := ext4 +else +BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := squashfs +endif +BOARD_FLASHFILES += $(PRODUCT_OUT)/vendor.img +AB_OTA_PARTITIONS += vendor +############################################################## +# Source: device/intel/mixins/groups/config-partition/enabled/BoardConfig.mk +############################################################## +BOARD_CONFIGIMAGE_PARTITION_SIZE := 8388608 +BOARD_FLASHFILES += $(PRODUCT_OUT)/config.img +BOARD_SEPOLICY_M4DEFS += module_config_partition=true +BOARD_SEPOLICY_DIRS += device/intel/project-celadon/sepolicy/config-partition +############################################################## +# Source: device/intel/mixins/groups/factory-partition/true/BoardConfig.mk +############################################################## +BOARD_FACTORYIMAGE_PARTITION_SIZE := 10485760 +BOARD_FLASHFILES += $(PRODUCT_OUT)/factory.img +BOARD_SEPOLICY_DIRS += device/intel/project-celadon/sepolicy/factory-partition +BOARD_SEPOLICY_M4DEFS += module_factory_partition=true +############################################################## +# Source: device/intel/mixins/groups/boot-arch/project-celadon/BoardConfig.mk +############################################################## +#TARGET_NO_RECOVERY ?= false + +ifeq (False,true) +TARGET_USERIMAGES_USE_F2FS := true +BOARD_USERDATAIMAGE_FILE_SYSTEM_TYPE := f2fs +INTERNAL_USERIMAGES_EXT_VARIANT := f2fs +else +TARGET_USERIMAGES_USE_EXT4 := true +BOARD_USERDATAIMAGE_FILE_SYSTEM_TYPE := ext4 +INTERNAL_USERIMAGES_EXT_VARIANT := ext4 +endif + +BOARD_USERDATAIMAGE_PARTITION_SIZE := 576716800 +BOARD_FLASH_BLOCK_SIZE := 512 + +BOARD_BOOTIMAGE_PARTITION_SIZE := 31457280 + +ifeq ($(SPARSE_IMG),true) +TARGET_USERIMAGES_SPARSE_EXT_DISABLED := false +BOARD_SYSTEMIMAGE_FILE_SYSTEM_TYPE := ext4 +else +TARGET_USERIMAGES_SPARSE_EXT_DISABLED := true +BOARD_SYSTEMIMAGE_FILE_SYSTEM_TYPE := squashfs +endif + +BOARD_SYSTEMIMAGE_PARTITION_SIZE := 3758096384 + +BOARD_BOOTLOADER_PARTITION_SIZE ?= 62914560 +BOARD_BOOTLOADER_BLOCK_SIZE := 512 +TARGET_BOOTLOADER_BOARD_NAME := $(TARGET_DEVICE) + +TARGET_USES_MKE2FS := true + +# Kernel Flinger +TARGET_UEFI_ARCH := x86_64 +# Kernelflinger won't check the ACPI table oem_id, oem_table_id and +# revision fields +KERNELFLINGER_ALLOW_UNSUPPORTED_ACPI_TABLE := true +# Allow Kernelflinger to start watchdog prior to boot the kernel +KERNELFLINGER_USE_WATCHDOG := true +# Tell Kernelflinger to ignore ACPI RSCI table +KERNELFLINGER_IGNORE_RSCI := true +#KERNELFLINGER_SSL_LIBRARY := boringssl +KERNELFLINGER_SSL_LIBRARY := openssl +# Specify system verity partition +#PRODUCT_SYSTEM_VERITY_PARTITION := /dev/block/by-name/system + +# Avoid Watchdog truggered reboot +BOARD_KERNEL_CMDLINE += iTCO_wdt.force_no_reboot=1 + +BOARD_SEPOLICY_DIRS += device/intel/project-celadon/sepolicy/boot-arch/project-celadon/$(TARGET_PRODUCT) + +# Show the "OEM unlocking" option in Android "Developer options" +#PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.frp.pst=/dev/block/by-name/android_persistent + +# Specify file for creating final flashfiles +# BOARD_GPT_INI ?= $(TARGET_DEVICE_DIR)/gpt.ini +BOARD_GPT_BIN = $(PRODUCT_OUT)/gpt.bin +BOARD_FLASHFILES += $(PRODUCT_OUT)/system.img +BOARD_FLASHFILES += $(PRODUCT_OUT)/gpt.bin +BOARD_FLASHFILES += $(PRODUCT_OUT)/boot.img +BOARD_FLASHFILES += $(PRODUCT_OUT)/efi/installer.efi +BOARD_FLASHFILES += $(PRODUCT_OUT)/efi/kernelflinger.efi +BOARD_FLASHFILES += $(PRODUCT_OUT)/efi/startup.nsh +BOARD_FLASHFILES += $(PRODUCT_OUT)/efi/unlock_device.nsh +BOARD_FLASHFILES += $(PRODUCT_OUT)/efi/efivar_oemlock +BOARD_FLASHFILES += $(PRODUCT_OUT)/bootloader +BOARD_FLASHFILES += $(PRODUCT_OUT)/fastboot-usb.img + +# -- OTA RELATED DEFINES -- +# tell build system where to get the recovery.fstab. +TARGET_RECOVERY_FSTAB ?= $(TARGET_DEVICE_DIR)/fstab.recovery +# Used by ota_from_target_files to add platform-specific directives +# to the OTA updater scripts +TARGET_RELEASETOOLS_EXTENSIONS ?= device/intel/common/recovery +# +# By default recovery minui expects RGBA framebuffer +TARGET_RECOVERY_PIXEL_FORMAT := "BGRA_8888" + +# Kernelfligner will assume the BIOS support secure boot. Not check the EFI variable SecureBoot +# It is useful when the BIOS does not support secure boot. +KERNELFLINGER_ASSUME_BIOS_SECURE_BOOT := true + + +KERNELFLINGER_USE_RPMB_SIMULATE := true + +AB_OTA_PARTITIONS += vbmeta +AB_OTA_PARTITIONS += tos + +AB_OTA_POSTINSTALL_CONFIG += \ + RUN_POSTINSTALL_vendor=true \ + POSTINSTALL_PATH_vendor=bin/updater_ab_esp \ + FILESYSTEM_TYPE_vendor=ext4 \ + POSTINSTALL_OPTIONAL_vendor=true + +############################################################## +# Source: device/intel/mixins/groups/audio/project-celadon/BoardConfig.mk +############################################################## +BOARD_USES_ALSA_AUDIO := true +BOARD_USES_TINY_ALSA_AUDIO := true +BOARD_USES_GENERIC_AUDIO ?= false +ifneq ($(BOARD_USES_GENERIC_AUDIO), true) +# Audio HAL selection Flag default setting. +# INTEL_AUDIO_HAL:= audio -> baseline HAL +# INTEL_AUDIO_HAL:= audio_pfw -> PFW-based HAL +INTEL_AUDIO_HAL := audio +else +INTEL_AUDIO_HAL := stub +endif + +# Use XML audio policy configuration file +USE_XML_AUDIO_POLICY_CONF ?= 1 +# Use configurable audio policy +USE_CONFIGURABLE_AUDIO_POLICY ?= 1 + +BOARD_SEPOLICY_DIRS += device/intel/project-celadon/sepolicy/audio/project-celadon +############################################################## +# Source: device/intel/mixins/groups/wlan/iwlwifi/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 + +# Enabling iwlwifi +BOARD_USING_INTEL_IWL := true +INTEL_IWL_MODULE_SUB_FOLDER := rel +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 := "/system/vendor/firmware/iwlwifi-softap-dummy.ucode" +WIFI_DRIVER_FW_PATH_AP := "/system/vendor/firmware/iwlwifi-softap-dummy.ucode" +WIFI_DRIVER_FW_PATH_P2P := "/system/vendor/firmware/iwlwifi-softap-dummy.ucode" +WIFI_DRIVER_FW_PATH_PARAM := "/dev/null" + +# config_wifi_background_scan_support=true: +DEVICE_PACKAGE_OVERLAYS += device/intel/common/wlan/overlay-pno + +DEVICE_PACKAGE_OVERLAYS += device/intel/common/wlan/overlay-tcp-buffers + +# Add SIM , AKA and AKA' methods in EAP entries of WiFi UI +DEVICE_PACKAGE_OVERLAYS += device/intel/common/wlan/overlay-eap-methods + +ifneq (lhp,$(INTEL_IWL_MODULE_SUB_FOLDER)) + DEVICE_PACKAGE_OVERLAYS += device/intel/common/wlan/overlay-dual-band +endif + +# WiDi / Miracast Optimisations +DEVICE_PACKAGE_OVERLAYS += device/intel/common/wlan/overlay-miracast-go +DEVICE_PACKAGE_OVERLAYS += device/intel/common/wlan/overlay-p2p-connected-stop-scan +DEVICE_PACKAGE_OVERLAYS += device/intel/common/wlan/overlay-miracast-force-single-ch +DEVICE_PACKAGE_OVERLAYS += device/intel/common/wlan/overlay-wifi-tethering + +BOARD_SEPOLICY_M4DEFS += module_iwlwifi=true +BOARD_SEPOLICY_DIRS += device/intel/project-celadon/sepolicy/wlan/iwlwifi +############################################################## +# Source: device/intel/mixins/groups/cpu-arch/skl/BoardConfig.mk +############################################################## +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 := x86 +TARGET_2ND_CPU_VARIANT := x86 +else +# 32b-specific items: +TARGET_ARCH := x86 +TARGET_CPU_ABI := x86 +endif +############################################################## +# Source: device/intel/mixins/groups/cpuset/autocores/BoardConfig.mk +############################################################## +BOARD_SEPOLICY_DIRS += $(INTEL_PATH_SEPOLICY)/config_cpuset +############################################################## +# Source: device/intel/mixins/groups/rfkill/true/BoardConfig.mk +############################################################## +BOARD_SEPOLICY_DIRS += $(INTEL_PATH_SEPOLICY)/rfkill +############################################################## +# Source: device/intel/mixins/groups/dexpreopt/enabled/BoardConfig.mk +############################################################## +# enable dex-preoptimization. +WITH_DEXPREOPT := true +WITH_DEXPREOPT_PIC := true +############################################################## +# Source: device/intel/mixins/groups/thermal/thermal-daemon/BoardConfig.mk +############################################################## +BOARD_SEPOLICY_DIRS += device/intel/project-celadon/sepolicy/thermal +BOARD_SEPOLICY_DIRS += device/intel/project-celadon/sepolicy/thermal/thermal-daemon +############################################################## +# Source: device/intel/mixins/groups/pstore/ram_dummy/BoardConfig.mk.1 +############################################################## +BOARD_KERNEL_CMDLINE += pstore.backend=ramoops +############################################################## +# Source: device/intel/mixins/groups/pstore/ram_dummy/BoardConfig.mk.2 +############################################################## +BOARD_SEPOLICY_DIRS += device/intel/sepolicy/pstore +############################################################## +# Source: device/intel/mixins/groups/pstore/ram_dummy/BoardConfig.mk +############################################################## +BOARD_KERNEL_CMDLINE += \ + memmap=0x400000\$$0x50000000 \ + ramoops.mem_address=0x50000000 \ + ramoops.mem_size=0x400000 +BOARD_KERNEL_CMDLINE += \ + ramoops.record_size=0x4000 + +BOARD_KERNEL_CMDLINE += \ + ramoops.console_size=0x200000 + +BOARD_KERNEL_CMDLINE += \ + ramoops.ftrace_size=0x2000 + +BOARD_KERNEL_CMDLINE += \ + ramoops.dump_oops=1 + +############################################################## +# Source: device/intel/mixins/groups/debug-phonedoctor/true/BoardConfig.mk +############################################################## +BOARD_SEPOLICY_M4DEFS += module_debug_phonedoctor=true +BOARD_SEPOLICY_DIRS += $(INTEL_PATH_SEPOLICY)/debug-phonedoctor +############################################################## +# Source: device/intel/mixins/groups/trusty/true/BoardConfig.mk +############################################################## +TARGET_USE_TRUSTY := true + +KM_VERSION := 2 +ifeq ($(KM_VERSION),1) +BOARD_USES_TRUSTY := true +BOARD_USES_KEYMASTER1 := true +endif + +BOARD_SEPOLICY_DIRS += device/intel/project-celadon/sepolicy/trusty +BOARD_SEPOLICY_M4DEFS += module_trusty=true + +LK_PRODUCT := project-celadon_64 + +LKBUILD_TOOLCHAIN_ROOT = $(PWD)/vendor/intel/external/prebuilts/elf/ +LKBUILD_X86_TOOLCHAIN = +LKBUILD_X64_TOOLCHAIN = $(LKBUILD_TOOLCHAIN_ROOT)x86_64-elf-4.9.1-Linux-x86_64/bin +EVMMBUILD_TOOLCHAIN ?= x86_64-linux-android- +TRUSTY_BUILDROOT = $(PWD)/$(PRODUCT_OUT)/obj/trusty/ + +TRUSTY_ENV_VAR += LK_CORE_NUM=1 +TRUSTY_ENV_VAR += TRUSTY_REF_TARGET=project-celadon_kbl + +#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 += COMPILE_TOOLCHAIN=$(EVMMBUILD_TOOLCHAIN) + +# 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/ + +#Workaround CPU lost issue on SIMICS, will remove this line below after PO. +BOARD_KERNEL_CMDLINE += cpu_init_udelay=500000 + +BOARD_TOSIMAGE_PARTITION_SIZE := 10485760 +############################################################## +# Source: device/intel/mixins/groups/flashfiles/ini/BoardConfig.mk +############################################################## +FLASHFILES_CONFIG ?= $(TARGET_DEVICE_DIR)/extra_files/flashfiles/flashfiles.ini +USE_INTEL_FLASHFILES := true +VARIANT_SPECIFIC_FLASHFILES ?= false +FAST_FLASHFILES := true + +############################################################## +# Source: device/intel/mixins/groups/camera-ext/ext-camera-only/BoardConfig.mk +############################################################## +BOARD_SEPOLICY_DIRS += device/intel/project-celadon/sepolicy/camera-ext/ext-camera-only +############################################################## +# Source: device/intel/mixins/groups/memtrack/true/BoardConfig.mk +############################################################## +BOARD_SEPOLICY_DIRS += $(INTEL_PATH_SEPOLICY)/memtrack +############################################################## +# Source: device/intel/mixins/groups/health/true/BoardConfig.mk +############################################################## +BOARD_SEPOLICY_DIRS += device/intel/project-celadon/sepolicy/health_hal + +DEVICE_FRAMEWORK_MANIFEST_FILE += \ + system/libhidl/vintfdata/manifest_healthd_exclude.xml +############################################################## +# Source: device/intel/mixins/groups/gptbuild/true/BoardConfig.mk +############################################################## +# can't use := here, as PRODUCT_OUT is not defined yet +GPTIMAGE_BIN = $(PRODUCT_OUT)/$(TARGET_PRODUCT)_gptimage.img +############################################################## +# Source: device/intel/mixins/groups/device-type/car/BoardConfig.mk +############################################################## +BOARD_SEPOLICY_DIRS += \ + packages/services/Car/car_product/sepolicy \ + device/generic/car/common/sepolicy \ + $(INTEL_PATH_SEPOLICY)/car + +TARGET_USES_CAR_FUTURE_FEATURES := true +############################################################## +# Source: device/intel/mixins/groups/swap/zram/BoardConfig.mk +############################################################## +BOARD_SEPOLICY_DIRS += $(INTEL_PATH_SEPOLICY)/swap +BOARD_SEPOLICY_M4DEFS += module_swap=true +############################################################## +# Source: device/intel/mixins/groups/power/true/BoardConfig.mk +############################################################## +BOARD_SEPOLICY_DIRS += device/intel/project-celadon/sepolicy/power + +############################################################## +# Source: device/intel/mixins/groups/default-drm/true/BoardConfig.mk +############################################################## +BOARD_SEPOLICY_DIRS += device/intel/project-celadon/sepolicy/drm-default +# ------------------ END MIX-IN DEFINITIONS ------------------ diff --git a/cel_kbl/cel_kbl.mk b/cel_kbl/cel_kbl.mk new file mode 100644 index 000000000..006ced87b --- /dev/null +++ b/cel_kbl/cel_kbl.mk @@ -0,0 +1,23 @@ +ENABLE_NATIVEBRIDGE_64BIT := true + +$(call inherit-product,$(SRC_TARGET_DIR)/product/core_64_bit.mk) + +include build/make/target/product/treble_common.mk +BOARD_PROPERTY_OVERRIDES_SPLIT_ENABLED := true + +# Include GAS application. +# Must put this calling before device.mk to make sure GAS overlay take +# precedence than Car product overlay +FLAG_GAS_MINIMAL := true +FLAG_GAS_AVAILABLE := true +$(call inherit-product-if-exists, vendor/google/gas/products/gas.mk) +$(call inherit-product,device/intel/project-celadon/cel_kbl/device.mk) + +# Overrides +PRODUCT_NAME := cel_kbl +PRODUCT_BRAND := cel_kbl +PRODUCT_DEVICE := cel_kbl +PRODUCT_MODEL := Generic cel_kbl +PRODUCT_MANUFACTURER := Intel + +PRODUCT_SHIPPING_API_LEVEL := 28 diff --git a/cel_kbl/device.mk b/cel_kbl/device.mk new file mode 100644 index 000000000..3597c41e6 --- /dev/null +++ b/cel_kbl/device.mk @@ -0,0 +1,808 @@ +# ----------------- BEGIN MIX-IN DEFINITIONS ----------------- +# Mix-In definitions are auto-generated by mixin-update +############################################################## +# Source: device/intel/mixins/groups/disk-bus/auto/product.mk +############################################################## +# create primary storage symlink dynamically +PRODUCT_PACKAGES += set_storage +PRODUCT_PACKAGES += set_storage.vendor +############################################################## +# Source: device/intel/mixins/groups/project-celadon/default/product.mk +############################################################## +TARGET_BOARD_PLATFORM := project-celadon + +#Product Characteristics +PRODUCT_DIR := $(dir $(lastword $(filter-out device/common/%,$(filter device/%,$(ALL_PRODUCTS))))) + +INTEL_PATH_DEVICE := device/intel/project-celadon +INTEL_PATH_COMMON := device/intel/common +INTEL_PATH_SEPOLICY := device/intel/project-celadon/sepolicy +INTEL_PATH_BUILD := device/intel/build +INTEL_PATH_HARDWARE := hardware/intel +INTEL_PATH_VENDOR := vendor/intel + +PRODUCT_TAGS += dalvik.gc.type-precise + +DEVICE_PACKAGE_OVERLAYS += device/intel/project-celadon/common/overlay + +PRODUCT_PACKAGES += $(THIRD_PARTY_APPS) + +PRODUCT_PACKAGES += fio + +# Set default sounds +# Note: As the override mechanism, must make sure this config +# being in front of generic_no_telephony.mk(defined the aosp sound config) +PRODUCT_PROPERTY_OVERRIDES += \ + ro.config.notification_sound=Xenon.ogg \ + ro.config.alarm_alert=Cesium.ogg \ + ro.config.ringtone=Sceptrum.ogg \ + +# Get a list of languages. +#$(call inherit-product,$(SRC_TARGET_DIR)/product/locales_full.mk) +$(call inherit-product,$(SRC_TARGET_DIR)/product/languages_full.mk) + +# Get everything else from the parent package +$(call inherit-product, $(SRC_TARGET_DIR)/product/generic_no_telephony.mk) + +# Get some sounds +$(call inherit-product-if-exists,frameworks/base/data/sounds/AudioPackage6.mk) + +# Get Platform specific settings +$(call inherit-product-if-exists,vendor/vendor.mk) + +#Product Characteristics +PRODUCT_COPY_FILES += \ + $(LOCAL_PATH)/gpt.ini:root/gpt.$(TARGET_PRODUCT).ini \ + $(LOCAL_PATH)/init.recovery.rc:root/init.recovery.$(TARGET_PRODUCT).rc \ + $(LOCAL_PATH)/init.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw//init.$(TARGET_PRODUCT).rc \ + $(LOCAL_PATH)/ueventd.rc:$(TARGET_COPY_OUT_VENDOR)/ueventd.rc + +# Voip +PRODUCT_COPY_FILES += \ + frameworks/native/data/etc/android.software.sip.voip.xml:system/etc/permissions/android.software.sip.voip.xml \ + frameworks/native/data/etc/android.software.sip.xml:system/etc/permissions/android.software.sip.xml \ + +# Usb +PRODUCT_COPY_FILES += \ + frameworks/native/data/etc/android.hardware.usb.accessory.xml:system/etc/permissions/android.hardware.usb.accessory.xml \ + frameworks/native/data/etc/android.hardware.usb.host.xml:system/etc/permissions/android.hardware.usb.host.xml + +# Touch +PRODUCT_COPY_FILES += \ + frameworks/native/data/etc/android.hardware.touchscreen.multitouch.jazzhand.xml:system/etc/permissions/android.hardware.touchscreen.multitouch.jazzhand.xml \ + frameworks/native/data/etc/android.hardware.touchscreen.multitouch.distinct.xml:system/etc/permissions/android.hardware.touchscreen.multitouch.distinct.xml \ + frameworks/native/data/etc/android.hardware.touchscreen.multitouch.jazzhand.xml:system/etc/permissions/android.hardware.touchscreen.multitouch.jazzhand.xml \ + +# USB +PRODUCT_COPY_FILES += \ + frameworks/native/data/etc/android.hardware.usb.accessory.xml:system/etc/permissions/android.hardware.usb.accessory.xml \ + frameworks/native/data/etc/android.hardware.usb.host.xml:system/etc/permissions/android.hardware.usb.host.xml \ + +# please modify to appropriate value based on tuning +PRODUCT_PROPERTY_OVERRIDES += \ + ro.hwui.texture_cache_size=24.0f \ + ro.hwui.text_large_cache_width=2048 \ + ro.hwui.text_large_cache_height=512 + +# Set filenames_mode to cts, for heh is not available +PRODUCT_PROPERTY_OVERRIDES += \ + ro.crypto.volume.filenames_mode=aes-256-cts + +PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \ + persist.rtc_local_time=1 \ + +# Enable MultiWindow +PRODUCT_PROPERTY_OVERRIDES += \ + persist.sys.debug.multi_window=true + +# DRM service +PRODUCT_PROPERTY_OVERRIDES += \ + drm.service.enabled=true + +# Property to choose between virtual/external wfd display +PRODUCT_PROPERTY_OVERRIDES += \ + persist.sys.wfd.virtual=0 + +# Input resampling configuration +PRODUCT_PROPERTY_OVERRIDES += \ + ro.input.noresample=1 + +# AOSP Packages +PRODUCT_PACKAGES += \ + Launcher3 \ + Terminal + +PRODUCT_PACKAGES += \ + libion \ + libxml2 + +PRODUCT_PACKAGES += \ + libemoji + +PRODUCT_PACKAGES += \ + LiveWallpapers \ + LiveWallpapersPicker \ + WallpaperPicker \ + NotePad \ + Provision \ + drmserver \ + power.project-celadon \ + scp \ + sftp \ + ssh \ + sshd \ + local_time.default.so \ + keystore.default.so + +# USB +PRODUCT_PACKAGES += \ + com.android.future.usb.accessory + +# Keymaster HAL +PRODUCT_PACKAGES += \ + android.hardware.keymaster@3.0-impl \ + android.hardware.keymaster@3.0-service + +# Power HAL +PRODUCT_PACKAGES += \ + android.hardware.power@1.2-impl \ + android.hardware.power@1.2-service + +# DumpState HAL +PRODUCT_PACKAGES += \ + android.hardware.dumpstate@1.0-impl \ + android.hardware.dumpstate@1.0-service + +# Configstore HAL +PRODUCT_PACKAGES += \ + android.hardware.configstore@1.0-impl + +# Vendor Interface Manifest +PRODUCT_COPY_FILES += \ + device/intel/project-celadon/manifest.xml:vendor/manifest.xml +############################################################## +# Source: device/intel/mixins/groups/sepolicy/enforcing/product.mk +############################################################## +PRODUCT_PACKAGES += sepolicy-areq-checker +############################################################## +# Source: device/intel/mixins/groups/graphics/mesa/product.mk +############################################################## +# Mesa +PRODUCT_PACKAGES += \ + libGLES_mesa \ + libGLES_android + +PRODUCT_PACKAGES += \ + libdrm \ + libdrm_intel \ + libsync \ + libmd + +PRODUCT_PACKAGES += ufo_prebuilts + +PRODUCT_COPY_FILES += \ + $(LOCAL_PATH)/extra_files/graphics/drirc:system/etc/drirc + + +# HWComposer IA +PRODUCT_PACKAGES += \ + hwcomposer.$(TARGET_BOARD_PLATFORM) + +PRODUCT_PROPERTY_OVERRIDES += \ + ro.hardware.hwcomposer=$(TARGET_BOARD_PLATFORM) + +INTEL_HWC_CONFIG := $(INTEL_PATH_VENDOR)/external/project-celadon/hwcomposer + +ifeq ($(findstring _acrn,$(TARGET_PRODUCT)),_acrn) +PRODUCT_COPY_FILES += $(INTEL_HWC_CONFIG)/hwc_display_virt.ini:$(TARGET_COPY_OUT_VENDOR)/etc/hwc_display.ini +else +PRODUCT_COPY_FILES += $(INTEL_HWC_CONFIG)/hwc_display.ini:$(TARGET_COPY_OUT_VENDOR)/etc/hwc_display.ini +endif + + +# Mini gbm +PRODUCT_PROPERTY_OVERRIDES += \ + ro.hardware.gralloc=$(TARGET_BOARD_PLATFORM) + +PRODUCT_PACKAGES += \ + gralloc.$(TARGET_BOARD_PLATFORM) + + + +# Mesa +PRODUCT_COPY_FILES += \ + frameworks/native/data/etc/android.hardware.opengles.aep.xml:vendor/etc/permissions/android.hardware.opengles.aep.xml + +# GLES version +PRODUCT_PROPERTY_OVERRIDES += \ + ro.opengles.version=196610 + +PRODUCT_COPY_FILES += \ + frameworks/native/data/etc/android.hardware.vulkan.level-1.xml:vendor/etc/permissions/android.hardware.vulkan.level.xml + +PRODUCT_COPY_FILES += \ + frameworks/native/data/etc/android.hardware.vulkan.compute-0.xml:vendor/etc/permissions/android.hardware.vulkan.compute.xml + + +PRODUCT_COPY_FILES += \ + frameworks/native/data/etc/android.hardware.vulkan.version-1_1.xml:vendor/etc/permissions/android.hardware.vulkan.version.xml + +PRODUCT_PACKAGES += \ + vulkan.$(TARGET_BOARD_PLATFORM) \ + libvulkan_intel + +PRODUCT_PROPERTY_OVERRIDES += \ + ro.hardware.vulkan=$(TARGET_BOARD_PLATFORM) +# Graphics HAL +PRODUCT_PACKAGES += \ + android.hardware.graphics.composer@2.1-impl \ + android.hardware.graphics.composer@2.1-service + +# Gralloc HAL +PRODUCT_PACKAGES += \ + android.hardware.graphics.allocator@2.0-impl \ + android.hardware.graphics.allocator@2.0-service \ + android.hardware.graphics.mapper@2.0-impl +############################################################## +# Source: device/intel/mixins/groups/media/project-celadon/product.mk +############################################################## +# libva, vaapi +PRODUCT_PACKAGES += \ + libva \ + libva-android \ + i965_drv_video + +PRODUCT_PACKAGES += libpciaccess + +# Audio/video codec support. +PRODUCT_COPY_FILES += \ + frameworks/av/media/libstagefright/data/media_codecs_google_audio.xml:vendor/etc/media_codecs_google_audio.xml \ + frameworks/av/media/libstagefright/data/media_codecs_google_video.xml:vendor/etc/media_codecs_google_video.xml \ + device/intel/project-celadon/common/media/media_profiles.xml:vendor/etc/media_profiles.xml \ + device/intel/project-celadon/common/media/media_codecs.xml:vendor/etc/media_codecs.xml \ + device/intel/project-celadon/common/media/media_codecs_performance.xml:vendor/etc/media_codecs_performance.xml + +#Enable deep buffer for video playback +PRODUCT_PROPERTY_OVERRIDES += media.stagefright.audio.deep=true + +# Enable AAC 5.1 output +PRODUCT_PROPERTY_OVERRIDES += \ + media.aac_51_output_enabled=true + +# Enable Media Sdk +PRODUCT_PACKAGES += \ + libmfxhw32 \ + libmfxhw64 \ + libmfx_omx_core \ + libmfx_omx_components_hw \ + libstagefrighthw + + +# Enable Open source hdcp +PRODUCT_PACKAGES += libhdcpsdk +PRODUCT_PACKAGES += lihdcpcommon +# hdcp daemon +PRODUCT_PACKAGES += hdcpd + +PRODUCT_COPY_FILES += \ + device/intel/project-celadon/common/media/mfx_omxil_core.conf:vendor/etc/mfx_omxil_core.conf +############################################################## +# Source: device/intel/mixins/groups/ethernet/dhcp/product.mk +############################################################## +PRODUCT_COPY_FILES += \ + frameworks/native/data/etc/android.hardware.ethernet.xml:vendor/etc/permissions/android.hardware.ethernet.xml +############################################################## +# Source: device/intel/mixins/groups/storage/sdcard-mmc0-usb-sd/product.mk +############################################################## + +PRODUCT_DEFAULT_PROPERTY_OVERRIDES += support.sdcardfs.mode=y +############################################################## +# Source: device/intel/mixins/groups/display-density/default/product.mk +############################################################## +PRODUCT_AAPT_CONFIG := normal large mdpi +PRODUCT_AAPT_PREF_CONFIG := mdpi + +PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.sf.lcd_density=160 +############################################################## +# Source: device/intel/mixins/groups/usb-gadget/g_ffs/product.mk +############################################################## +# Set default USB interface +ifeq ($(TARGET_BUILD_VARIANT),user) +# Enable Secure Debugging +PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.adb.secure=1 +ifeq ($(BUILD_FOR_CTS_AUTOMATION),true) +# Build for automated CTS +PRODUCT_COPY_FILES += $(INTEL_PATH_COMMON)/usb-gadget/adb_keys:root/adb_keys +endif #BUILD_FOR_CTS_AUTOMATION == true +endif #TARGET_BUILD_VARIANT == user + +# Add Intel adb keys for userdebug/eng builds +ifneq ($(TARGET_BUILD_VARIANT),user) +PRODUCT_COPY_FILES += $(INTEL_PATH_COMMON)/usb-gadget/adb_keys:root/adb_keys +# Enable Secure Debugging for userdebug +ifeq ($(TARGET_BUILD_VARIANT),userdebug) #userdebug +PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.adb.secure=1 +endif #userdebug +endif #userdebug/eng +############################################################## +# Source: device/intel/mixins/groups/adb_net/true/product.mk +############################################################## +# Enable Secure Debugging +ifeq ($(TARGET_BUILD_VARIANT),user) +PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.adb.secure=1 +endif +############################################################## +# Source: device/intel/mixins/groups/slot-ab/true/product.mk +############################################################## +PRODUCT_PACKAGES += \ + update_engine \ + update_verifier \ + update_engine_sideload \ + libavb \ + bootctrl.avb \ + bootctrl.intel \ + bootctrl.intel.static \ + android.hardware.boot@1.0-impl \ + android.hardware.boot@1.0-service + +PRODUCT_PACKAGES_DEBUG += \ + update_engine_client \ + bootctl + +PRODUCT_PROPERTY_OVERRIDES += \ + ro.hardware.bootctrl=intel +############################################################## +# Source: device/intel/mixins/groups/kernel/project-celadon/product.mk +############################################################## +TARGET_KERNEL_ARCH := x86_64 +BOARD_USE_64BIT_KERNEL := true + + +KERNEL_MODULES_ROOT_PATH ?= /vendor/lib/modules +KERNEL_MODULES_ROOT ?= $(KERNEL_MODULES_ROOT_PATH) + +FIRMWARES_DIR ?= vendor/linux/firmware + +# Include common settings. +FIRMWARE_FILTERS ?= .git/% %.mk + +# Firmware +$(call inherit-product,device/intel/project-celadon/common/firmware.mk) +############################################################## +# Source: device/intel/mixins/groups/bluetooth/btusb/product.mk +############################################################## +PRODUCT_PACKAGES += \ + audio.a2dp.default \ + ath3k-1.fw + +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 + +# Bluetooth HAL +PRODUCT_PACKAGES += \ + android.hardware.bluetooth@1.0-service.vbt \ + libbt-vendor + +PRODUCT_PACKAGE_OVERLAYS += $(INTEL_PATH_COMMON)/bluetooth/overlay-car + +############################################################## +# Source: device/intel/mixins/groups/avb/true/product.mk +############################################################## + +PRODUCT_PACKAGES += avbctl +############################################################## +# Source: device/intel/mixins/groups/vendor-partition/true/product.mk +############################################################## +PRODUCT_VENDOR_VERITY_PARTITION := /dev/block/by-name/vendor +############################################################## +# Source: device/intel/mixins/groups/boot-arch/project-celadon/product.mk +############################################################## +PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.frp.pst=/dev/block/by-name/persistent + +ifeq ($(TARGET_BOOTLOADER_POLICY),$(filter $(TARGET_BOOTLOADER_POLICY),0x0 0x2 0x4 0x6)) +# OEM Unlock reporting 1 +#ADDITIONAL_DEFAULT_PROPERTIES += \ + ro.oem_unlock_supported=1 + +PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \ + ro.oem_unlock_supported=1 + +endif + +PRODUCT_PACKAGES += updater_ab_esp + +# Allow Kernelflinger to ignore the RSCI reset source "not_applicable" +# when setting the bootreason +KERNELFLINGER_IGNORE_NOT_APPLICABLE_RESET := true + + +ifneq (0x0,static) +BOOTLOADER_POLICY_OEMVARS = $(PRODUCT_OUT)/bootloader_policy-oemvars.txt +BOARD_FLASHFILES += $(BOOTLOADER_POLICY_OEMVARS) +BOARD_OEM_VARS += $(BOOTLOADER_POLICY_OEMVARS) +endif + +# It activates the Bootloader policy and RMA refurbishing +# features. TARGET_BOOTLOADER_POLICY is the desired bitmask for this +# device. +# * bit 0: +# - 0: GVB class B. +# - 1: GVB class A. Device unlock is not permitted. The only way +# to unlock is to use the secured force-unlock mechanism. +# * bit 1 and 2 defines the minimal boot state required to boot the +# device: +# - 0x0: BOOT_STATE_RED (GVB default behavior) +# - 0x1: BOOT_STATE_ORANGE +# - 0x2: BOOT_STATE_YELLOW +# - 0x3: BOOT_STATE_GREEN +# If TARGET_BOOTLOADER_POLICY is equal to 'static' the bootloader +# policy is not built but is provided statically in the repository. +# If TARGET_BOOTLOADER_POLICY is equal to 'external' the bootloader +# policy OEMVARS should be installed manually in +# $(BOOTLOADER_POLICY_OEMVARS). +TARGET_BOOTLOADER_POLICY := 0x0 +# If the following variable is set to false, the bootloader policy and +# RMA refurbishing features does not use time-based authenticated EFI +# variables to store the BPM and OAK values. The BPM value is defined +# compilation time by the TARGET_BOOTLOADER_POLICY variable. +TARGET_BOOTLOADER_POLICY_USE_EFI_VAR := true +#ifeq ($(TARGET_BOOTLOADER_POLICY),$(filter $(TARGET_BOOTLOADER_POLICY),0x0 0x2 0x4 0x6)) +# OEM Unlock reporting 1 +PRODUCT_PROPERTY_OVERRIDES += \ + ro.oem_unlock_supported=1 +#endif +ifeq ($(TARGET_BOOTLOADER_POLICY),$(filter $(TARGET_BOOTLOADER_POLICY),static external)) +# The bootloader policy is not generated build time but is supplied +# statically in the repository or in $(PRODUCT_OUT)/. If your +# bootloader policy allows the device to be unlocked, uncomment the +# following lines: +#PRODUCT_PROPERTY_OVERRIDES += \ + ro.oem_unlock_supported=1 +endif + + + +KERNELFLINGER_SUPPORT_SELF_USB_DEVICE_MODE_PROTOCOL := true + + +PRODUCT_COPY_FILES += \ + $(LOCAL_PATH)/fstab:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.$(TARGET_PRODUCT) + +# Add the feature of FEATURE_VERIFIED_BOOT +PRODUCT_COPY_FILES += \ + frameworks/native/data/etc/android.software.verified_boot.xml:vendor/etc/permissions/android.software.verified_boot.xml +############################################################## +# Source: device/intel/mixins/groups/audio/project-celadon/product.mk +############################################################## +# Tinyalsa +PRODUCT_PACKAGES_DEBUG += \ + tinymix \ + tinyplay \ + tinycap + +# Extended Audio HALs +PRODUCT_PACKAGES += \ + audio.r_submix.default \ + audio.usb.default \ + audio_policy.default.so \ + audio_configuration_files + +# Audio HAL +PRODUCT_PACKAGES += \ + android.hardware.audio.effect@4.0-impl \ + android.hardware.audio@4.0-impl \ + android.hardware.audio@2.0-service + +PRODUCT_PROPERTY_OVERRIDES += audio.safemedia.bypass=true +############################################################## +# Source: device/intel/mixins/groups/wlan/iwlwifi/product.mk +############################################################## +PRODUCT_PACKAGES += \ + hostapd \ + hostapd_cli \ + wificond \ + wifilogd \ + wpa_supplicant \ + wpa_cli \ + iw + +# FW and PNVM +PRODUCT_PACKAGES += \ + iwl-fw \ + iwl-nvm + +# iwlwifi USC +PRODUCT_PACKAGES += \ + wifi_intel_usc + +#copy iwlwifi wpa config files +PRODUCT_COPY_FILES += \ + device/intel/common/wlan/wpa_supplicant-common.conf:vendor/etc/wifi/wpa_supplicant.conf \ + device/intel/common/wlan/iwlwifi/wpa_supplicant_overlay.conf:vendor/etc/wifi/wpa_supplicant_overlay.conf \ + device/intel/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 + +# Wifi configuration +BOARD_WPA_SUPPLICANT_DRIVER := NL80211 +BOARD_WLAN_DEVICE := iwlwifi + +PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \ + ro.wifi.softap_dualband_allow=false + +PRODUCT_PACKAGES += \ + android.hardware.wifi@1.0-service +############################################################## +# Source: device/intel/mixins/groups/cpuset/autocores/product.mk +############################################################## +PRODUCT_PACKAGES += \ + config_cpuset.sh + +PRODUCT_COPY_FILES += \ + $(LOCAL_PATH)/extra_files/cpuset/config_cpuset.sh:vendor/bin/config_cpuset.sh +############################################################## +# Source: device/intel/mixins/groups/rfkill/true/product.mk +############################################################## +PRODUCT_COPY_FILES += $(INTEL_PATH_COMMON)/rfkill/rfkill-init.sh:vendor/bin/rfkill-init.sh +############################################################## +# Source: device/intel/mixins/groups/usb/host+acc/product.mk +############################################################## +PRODUCT_COPY_FILES += \ + frameworks/native/data/etc/android.hardware.usb.accessory.xml:system/etc/permissions/android.hardware.usb.accessory.xml \ + frameworks/native/data/etc/android.hardware.usb.host.xml:system/etc/permissions/android.hardware.usb.host.xml + +# usb accessory +PRODUCT_PACKAGES += \ + com.android.future.usb.accessory + +# USB HAL +PRODUCT_PACKAGES += \ + android.hardware.usb@1.0-impl \ + android.hardware.usb@1.0-service +############################################################## +# Source: device/intel/mixins/groups/lights/true/product.mk +############################################################## +# Lights HAL +BOARD_SEPOLICY_DIRS += \ + $(INTEL_PATH_SEPOLICY)/light + +PRODUCT_PACKAGES += lights.$(TARGET_BOARD_PLATFORM) \ + android.hardware.light@2.0-service \ + android.hardware.light@2.0-impl + +############################################################## +# Source: device/intel/mixins/groups/thermal/thermal-daemon/product.mk +############################################################## +# thermal-daemon +PRODUCT_PACKAGES += thermal-daemon +PRODUCT_COPY_FILES += \ + device/intel/project-celadon/common/thermal/thermal-conf.xml:/vendor/etc/thermal-daemon/thermal-conf.xml \ + device/intel/project-celadon/common/thermal/thermal-cpu-cdev-order.xml:/vendor/etc/thermal-daemon/thermal-cpu-cdev-order.xml +############################################################## +# Source: device/intel/mixins/groups/pstore/ram_dummy/product.mk +############################################################## +PRODUCT_PACKAGES += \ + pstore-clean +############################################################## +# Source: device/intel/mixins/groups/debug-logs/true/product.mk +############################################################## +ifneq ($(TARGET_BUILD_VARIANT),user) +MIXIN_DEBUG_LOGS := true +endif + +ifeq ($(MIXIN_DEBUG_LOGS),true) +PRODUCT_COPY_FILES += $(LOCAL_PATH)/extra_files/debug-logs/init.logs.rc:root/init.logs.rc +PRODUCT_PACKAGES += \ + elogs.sh \ + start_log_srv.sh \ + logcat_ep.sh +endif + +ifeq ($(MIXIN_DEBUG_LOGS),true) +PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.service.default_logfs=apklogfs +PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.intel.logger=/system/bin/logcat +PRODUCT_DEFAULT_PROPERTY_OVERRIDES += logd.kernel.raw_message=False +PRODUCT_DEFAULT_PROPERTY_OVERRIDES += persist.intel.logger.rot_cnt=20 +PRODUCT_DEFAULT_PROPERTY_OVERRIDES += persist.intel.logger.rot_size=5000 +BOARD_SEPOLICY_DIRS += $(INTEL_PATH_SEPOLICY)/debug-logs +BOARD_SEPOLICY_M4DEFS += module_debug_logs=true +endif +############################################################## +# Source: device/intel/mixins/groups/debug-crashlogd/true/product.mk +############################################################## +ifeq ($(MIXIN_DEBUG_LOGS),true) +PRODUCT_COPY_FILES += \ + $(LOCAL_PATH)/extra_files/debug-crashlogd/init.crashlogd.rc:root/init.crashlogd.rc \ + $(call add-to-product-copy-files-if-exists,$(LOCAL_PATH)/extra_files/debug-crashlogd/ingredients.conf:$(TARGET_COPY_OUT_VENDOR)/etc/ingredients.conf) \ + $(call add-to-product-copy-files-if-exists,$(LOCAL_PATH)/extra_files/debug-crashlogd/crashlog.conf:$(TARGET_COPY_OUT_VENDOR)/etc/crashlog.conf) +PRODUCT_PACKAGES += crashlogd \ + dumpstate_dropbox.sh +endif + +ifeq ($(MIXIN_DEBUG_LOGS),true) +PRODUCT_DEFAULT_PROPERTY_OVERRIDES += persist.vendor.crashlogd.data_quota=50 +BOARD_SEPOLICY_DIRS += device/intel/project-celadon/sepolicy/crashlogd + +CRASHLOGD_LOGS_PATH := "/data/logs" +CRASHLOGD_APLOG := true +CRASHLOGD_FULL_REPORT := true +CRASHLOGD_MODULE_MODEM ?= true +CRASHLOGD_USE_SD := false +endif +############################################################## +# Source: device/intel/mixins/groups/debug-coredump/true/product.mk +############################################################## +ifeq ($(MIXIN_DEBUG_LOGS),true) +PRODUCT_COPY_FILES += $(LOCAL_PATH)/extra_files/debug-coredump/init.coredump.rc:root/init.coredump.rc +endif + +ifeq ($(MIXIN_DEBUG_LOGS),true) +BOARD_SEPOLICY_DIRS += $(INTEL_PATH_SEPOLICY)/coredump +# Enable core dump for eng builds +ifeq ($(TARGET_BUILD_VARIANT),eng) +PRODUCT_DEFAULT_PROPERTY_OVERRIDES += persist.core.enabled=1 +else +PRODUCT_DEFAULT_PROPERTY_OVERRIDES += persist.core.enabled=0 +endif +CRASHLOGD_COREDUMP := true +endif +############################################################## +# Source: device/intel/mixins/groups/debug-phonedoctor/true/product.mk +############################################################## +ifeq ($(MIXIN_DEBUG_LOGS),true) +PRODUCT_PACKAGES += crash_package +endif +############################################################## +# Source: device/intel/mixins/groups/debug-tools/true/product.mk +############################################################## +PRODUCT_PACKAGES_DEBUG += \ + AndroidTerm \ + libjackpal-androidterm4 \ + peeknpoke \ + pytimechart-record \ + lspci \ + llvm-symbolizer +############################################################## +# Source: device/intel/mixins/groups/trusty/true/product.mk +############################################################## + +KM_VERSION := 2 + +ifeq ($(KM_VERSION),2) +PRODUCT_PACKAGES += \ + keystore.trusty +PRODUCT_PROPERTY_OVERRIDES += \ + ro.hardware.keystore=trusty +endif + +ifeq ($(KM_VERSION),1) +PRODUCT_PACKAGES += \ + keystore.project-celadon +endif + +PRODUCT_PACKAGES += \ + libtrusty \ + storageproxyd \ + libtrustystorage \ + libtrustystorageinterface \ + gatekeeper.trusty \ + android.hardware.gatekeeper@1.0-impl \ + android.hardware.gatekeeper@1.0-service + +PRODUCT_PROPERTY_OVERRIDES += \ + ro.hardware.gatekeeper=trusty + +############################################################## +# Source: device/intel/mixins/groups/midi/true/product.mk +############################################################## +# MIDI support +PRODUCT_COPY_FILES += \ + frameworks/native/data/etc/android.software.midi.xml:vendor/etc/permissions/android.software.midi.xml +############################################################## +# Source: device/intel/mixins/groups/camera-ext/ext-camera-only/product.mk +############################################################## +# Camera: Device-specific configuration files. Supports only External USB camera, no CSI support +PRODUCT_COPY_FILES += \ + frameworks/native/data/etc/android.hardware.camera.external.xml:vendor/etc/permissions/android.hardware.camera.external.xml \ + device/intel/project-celadon/common/camera-ext/external_camera_config.xml:vendor/etc/external_camera_config.xml + +# External camera service +PRODUCT_PACKAGES += android.hardware.camera.provider@2.4-external-service \ + android.hardware.camera.provider@2.4-impl + +# Only include test apps in eng or userdebug builds. +PRODUCT_PACKAGES_DEBUG += TestingCamera \ + MultiCameraApp +############################################################## +# Source: device/intel/mixins/groups/memtrack/true/product.mk +############################################################## +# memtrack HAL +PRODUCT_PACKAGES += \ + memtrack.$(TARGET_BOARD_PLATFORM) \ + android.hardware.memtrack@1.0-service \ + android.hardware.memtrack@1.0-impl +############################################################## +# Source: device/intel/mixins/groups/touch/galax7200/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 +############################################################## +# Source: device/intel/mixins/groups/health/true/product.mk +############################################################## +PRODUCT_PACKAGES += health +PRODUCT_PACKAGES += health.$(TARGET_BOARD_PLATFORM) \ + android.hardware.health@2.0-service.celadon +############################################################## +# Source: device/intel/mixins/groups/art-config/default/product.mk +############################################################## +# This is needed to enable silver art optimizer. +VENDOR_ART_PATH ?= $(INTEL_PATH_VENDOR)/art-extension + +PRODUCT_PACKAGES_TESTS += \ + art-run-tests \ + libarttest \ + libnativebridgetest \ + libart-gtest +############################################################## +# Source: device/intel/mixins/groups/device-type/car/product.mk +############################################################## +PRODUCT_COPY_FILES += \ + frameworks/native/data/etc/car_core_hardware.xml:vendor/etc/permissions/car_core_hardware.xml \ + frameworks/native/data/etc/android.hardware.type.automotive.xml:vendor/etc/permissions/android.hardware.type.automotive.xml \ + frameworks/native/data/etc/android.hardware.screen.landscape.xml:vendor/etc/permissions/android.hardware.screen.landscape.xml \ + frameworks/native/data/etc/android.hardware.ethernet.xml:vendor/etc/permissions/android.hardware.ethernet.xml \ + frameworks/native/data/etc/android.hardware.broadcastradio.xml:vendor/etc/permissions/android.hardware.broadcastradio.xml \ + frameworks/native/data/etc/android.software.activities_on_secondary_displays.xml:vendor/etc/permissions/android.software.activities_on_secondary_displays.xml \ + $(INTEL_PATH_COMMON)/framework/android.software.cant_save_state.xml:vendor/etc/permissions/android.software.cant_save_state.xml + +# Make sure vendor car product overlays take precedence than google definition +# under packages/services/Car/car_product/overlay/ +PRODUCT_PACKAGE_OVERLAYS += device/intel/common/device-type/overlay-car +$(call inherit-product, packages/services/Car/car_product/build/car.mk) + +$(call inherit-product,frameworks/native/build/tablet-10in-xhdpi-2048-dalvik-heap.mk) + +PRODUCT_PACKAGES += \ + radio.fm.default \ + CarSettings \ + VmsPublisherClientSample \ + VmsSubscriberClientSample \ + +PRODUCT_PACKAGES += android.hardware.automotive.vehicle.intel@2.0-service \ + android.hardware.automotive.vehicle@2.0-service \ + android.hardware.automotive.vehicle@2.0-impl + +VEHICLE_HAL_PROTO_TYPE := google-emulator +############################################################## +# Source: device/intel/mixins/groups/default-drm/true/product.mk +############################################################## +#only enable default drm service +PRODUCT_PACKAGES += android.hardware.drm@1.0-service \ + android.hardware.drm@1.0-impl \ + android.hardware.drm@1.1-service.clearkey + +############################################################## +# Source: device/intel/mixins/groups/debug-kernel/default/product.mk +############################################################## +ifneq ($(TARGET_BUILD_VARIANT),user) +PRODUCT_COPY_FILES += $(LOCAL_PATH)/extra_files/debug-kernel/init.kernel.rc:root/init.kernel.rc +endif +############################################################## +# Source: device/intel/mixins/groups/debug-unresponsive/default/product.mk +############################################################## +ifneq ($(TARGET_BUILD_VARIANT),user) + +PRODUCT_DEFAULT_PROPERTY_OVERRIDES += sys.dropbox.max_size_kb=4096 + +PRODUCT_DEFAULT_PROPERTY_OVERRIDES += sys.dump.binder_stats.uiwdt=1 +PRODUCT_DEFAULT_PROPERTY_OVERRIDES += sys.dump.binder_stats.anr=1 + +PRODUCT_DEFAULT_PROPERTY_OVERRIDES += sys.dump.peer_depth=3 + +PRODUCT_DEFAULT_PROPERTY_OVERRIDES += sys.dump.stacks_timeout=1500 + +endif +# ------------------ END MIX-IN DEFINITIONS ------------------ + + diff --git a/cel_kbl/dptf.dv b/cel_kbl/dptf.dv new file mode 100644 index 000000000..c973bb347 Binary files /dev/null and b/cel_kbl/dptf.dv differ diff --git a/cel_kbl/efivar_oemlock b/cel_kbl/efivar_oemlock new file mode 100644 index 000000000..b93dad169 Binary files /dev/null and b/cel_kbl/efivar_oemlock differ diff --git a/cel_kbl/extra_files/2ndstage/oemvars.txt b/cel_kbl/extra_files/2ndstage/oemvars.txt new file mode 100644 index 000000000..f63725c6b --- /dev/null +++ b/cel_kbl/extra_files/2ndstage/oemvars.txt @@ -0,0 +1,18 @@ +# ----------------- BEGIN MIX-IN DEFINITIONS ----------------- +# Mix-In definitions are auto-generated by mixin-update +############################################################## +# Source: device/intel/mixins/groups/2ndstage/oemvars/oemvars.txt +############################################################## +# This section may appear empty if magic_key_timeout is false +############################################################## +# Source: device/intel/mixins/groups/boot-arch/project-celadon/oemvars.txt +############################################################## +# This section may appear empty if magic_key_timeout is false + +########################## +GUID = 4a67b082-0a4c-41cf-b6c7-440b29bb8c4f + +# Maximum timeout to check for magic key at boot; loader GUID +MagicKeyTimeout 80 + +# ------------------ END MIX-IN DEFINITIONS ------------------ diff --git a/cel_kbl/extra_files/audio/load_audio_modules.sh b/cel_kbl/extra_files/audio/load_audio_modules.sh new file mode 100644 index 000000000..c23ff333c --- /dev/null +++ b/cel_kbl/extra_files/audio/load_audio_modules.sh @@ -0,0 +1,4 @@ +load_audio_modules() { +insmod /vendor/lib/modules/kernel/sound/drivers/snd-dummy.ko +} +load_audio_modules& diff --git a/cel_kbl/extra_files/bluetooth/load_bt.sh b/cel_kbl/extra_files/bluetooth/load_bt.sh new file mode 100644 index 000000000..999ca0d17 --- /dev/null +++ b/cel_kbl/extra_files/bluetooth/load_bt.sh @@ -0,0 +1,9 @@ +load_bt_modules() { +insmod $modules/kernel/crypto/ecdh_generic.ko +insmod $modules/kernel/net/bluetooth/bluetooth.ko +insmod $modules/kernel/drivers/bluetooth/btintel.ko +insmod $modules/kernel/drivers/bluetooth/btbcm.ko +insmod $modules/kernel/drivers/bluetooth/btrtl.ko +insmod $modules/kernel/drivers/bluetooth/btusb.ko +} +load_bt_modules& diff --git a/cel_kbl/extra_files/boot-arch/oemvars.txt b/cel_kbl/extra_files/boot-arch/oemvars.txt new file mode 100644 index 000000000..5f86e3636 --- /dev/null +++ b/cel_kbl/extra_files/boot-arch/oemvars.txt @@ -0,0 +1,8 @@ +# This section may appear empty if magic_key_timeout is false + +########################## +GUID = 4a67b082-0a4c-41cf-b6c7-440b29bb8c4f + +# Maximum timeout to check for magic key at boot; loader GUID +MagicKeyTimeout 80 + diff --git a/cel_kbl/extra_files/boot-arch/startup.nsh b/cel_kbl/extra_files/boot-arch/startup.nsh new file mode 100644 index 000000000..abab6587e --- /dev/null +++ b/cel_kbl/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/cel_kbl/extra_files/boot-arch/unlock_device.nsh b/cel_kbl/extra_files/boot-arch/unlock_device.nsh new file mode 100644 index 000000000..ec3aaa8a3 --- /dev/null +++ b/cel_kbl/extra_files/boot-arch/unlock_device.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/unlock_device.nsh +############################################################## +dmpstore OEMLock -l efivar_oemlock +# ------------------ END MIX-IN DEFINITIONS ------------------ diff --git a/cel_kbl/extra_files/camera-ext/external_camera_config.xml b/cel_kbl/extra_files/camera-ext/external_camera_config.xml new file mode 100644 index 000000000..0266b3bc7 --- /dev/null +++ b/cel_kbl/extra_files/camera-ext/external_camera_config.xml @@ -0,0 +1,51 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/cel_kbl/extra_files/cpuset/config_cpuset.sh b/cel_kbl/extra_files/cpuset/config_cpuset.sh new file mode 100644 index 000000000..97512e68d --- /dev/null +++ b/cel_kbl/extra_files/cpuset/config_cpuset.sh @@ -0,0 +1,22 @@ +#!/vendor/bin/sh + + cp /sys/devices/system/cpu/online /dev/cpuset/foreground/cpus + cp /sys/devices/system/cpu/online /dev/cpuset/background/cpus + cp /sys/devices/system/cpu/online /dev/cpuset/system-background/cpus + cp /sys/devices/system/cpu/online /dev/cpuset/top-app/cpus + cp /sys/devices/system/cpu/online /dev/cpuset/foreground/boost/cpus + +# ----------------- BEGIN MIX-IN DEFINITIONS ----------------- +# Mix-In definitions are auto-generated by mixin-update +############################################################## +# Source: device/intel/mixins/groups/cpuset/autocores/config_cpuset.sh +############################################################## +#!/vendor/bin/sh + + cp /sys/devices/system/cpu/online /dev/cpuset/foreground/cpus + cp /sys/devices/system/cpu/online /dev/cpuset/background/cpus + cp /sys/devices/system/cpu/online /dev/cpuset/system-background/cpus + cp /sys/devices/system/cpu/online /dev/cpuset/top-app/cpus + cp /sys/devices/system/cpu/online /dev/cpuset/foreground/boost/cpus + +# ------------------ END MIX-IN DEFINITIONS ------------------ diff --git a/cel_kbl/extra_files/debug-coredump/init.coredump.rc b/cel_kbl/extra_files/debug-coredump/init.coredump.rc new file mode 100644 index 000000000..75ecbc71c --- /dev/null +++ b/cel_kbl/extra_files/debug-coredump/init.coredump.rc @@ -0,0 +1,21 @@ +# ----------------- BEGIN MIX-IN DEFINITIONS ----------------- +# Mix-In definitions are auto-generated by mixin-update +############################################################## +# Source: device/intel/mixins/groups/debug-coredump/true/init.coredump.rc +############################################################## +on early-init + setrlimit 4 -1 -1 + + # Add code sections in coredump + write /proc/self/coredump_filter 0x2F + +on post-fs-data + mkdir /data/core 0773 root log + +on property:persist.core.enabled=0 + setrlimit 4 0 0 + +on property:persist.core.enabled=1 + setrlimit 4 -1 -1 + write /proc/sys/kernel/core_pattern /data/core/%t_%p_%s_%e.core +# ------------------ END MIX-IN DEFINITIONS ------------------ diff --git a/cel_kbl/extra_files/debug-crashlogd/init.crashlogd.rc b/cel_kbl/extra_files/debug-crashlogd/init.crashlogd.rc new file mode 100644 index 000000000..c94ad194c --- /dev/null +++ b/cel_kbl/extra_files/debug-crashlogd/init.crashlogd.rc @@ -0,0 +1,28 @@ +# ----------------- BEGIN MIX-IN DEFINITIONS ----------------- +# Mix-In definitions are auto-generated by mixin-update +############################################################## +# Source: device/intel/mixins/groups/debug-crashlogd/true/init.crashlogd.rc +############################################################## +on init + write /proc/sys/fs/suid_dumpable 1 + +on post-fs-data +## mkdir /data/tombstones 0775 system system + mkdir /data/system 0755 system system + mkdir /data/system/dropbox 0700 system system + mkdir /data/logs/modemcrash 0775 system system + mkdir /data/logs/stats 0775 system system + mkdir /data/logs/aplogs 0775 system log + trigger delayed-fs-data + +on delayed-fs-data + mkdir /data/tombstones 0775 system system + +service crashlogd /system/vendor/bin/crashlogd + class late_start + +# started by vendor/intel/log_capture/crashlog +service logsystemstate /system/vendor/bin/dumpstate_dropbox.sh -v + disabled + oneshot +# ------------------ END MIX-IN DEFINITIONS ------------------ diff --git a/cel_kbl/extra_files/debug-kernel/init.kernel.rc b/cel_kbl/extra_files/debug-kernel/init.kernel.rc new file mode 100644 index 000000000..e249cdc6e --- /dev/null +++ b/cel_kbl/extra_files/debug-kernel/init.kernel.rc @@ -0,0 +1,12 @@ +# ----------------- BEGIN MIX-IN DEFINITIONS ----------------- +# Mix-In definitions are auto-generated by mixin-update +############################################################## +# Source: device/intel/mixins/groups/debug-kernel/default/init.kernel.rc +############################################################## +on early-init + write /proc/sys/kernel/panic_on_stackoverflow 1 + +on fs + # Overwrite system/core/rootdir/init.rc config declared "on init" + write /proc/sys/kernel/hung_task_timeout_secs 120 +# ------------------ END MIX-IN DEFINITIONS ------------------ diff --git a/cel_kbl/extra_files/debug-logs/init.logs.rc b/cel_kbl/extra_files/debug-logs/init.logs.rc new file mode 100644 index 000000000..6901e4416 --- /dev/null +++ b/cel_kbl/extra_files/debug-logs/init.logs.rc @@ -0,0 +1,64 @@ +# ----------------- BEGIN MIX-IN DEFINITIONS ----------------- +# Mix-In definitions are auto-generated by mixin-update +############################################################## +# Source: device/intel/mixins/groups/debug-logs/true/init.logs.rc +############################################################## +on post-fs-data + mkdir /data/logs 0770 system log + +on property:persist.service.aplogfs.enable=0 + stop vendor.ap_logfs + +on property:persist.service.aplogfs.enable=1 + setprop persist.service.apklogfs.enable 0 + restart vendor.ap_log_srv + +on property:persist.service.apklogfs.enable=0 + stop vendor.apk_logfs + +on property:persist.service.apklogfs.enable=1 + setprop persist.service.aplogfs.enable 0 + restart vendor.ap_log_srv + +service vendor.apk_logfs /vendor/bin/logcat_ep.sh auto \ + -b main -b system -b radio -b events -b crash -b kernel \ + -v threadtime -f /data/logs/aplog + user root + group root log + disabled + +service vendor.ap_logfs /vendor/bin/logcat_ep.sh auto \ + -b main -b system -b radio -b events -b crash \ + -v threadtime -f /data/logs/aplog + user root + group root log + disabled + +# Service called at boot time after data is decrypted +# +# This is done through the late_start class or through persist properties +# that are only available after data is decrypted. +# The service may be called again when the properties are updated. +service vendor.ap_log_srv /vendor/bin/start_log_srv.sh + user root + group root log + class late_start + oneshot + +service vendor.earlylogs /vendor/bin/elogs.sh + class core + oneshot + +on nonencrypted + stop vendor.earlylogs + +on property:vold.decrypt=trigger_restart_framework + stop vendor.earlylogs + +on property:persist.service.elogs.enable=1 + mkdir /cache/elogs 0770 system log + restorecon /cache/elogs + +on property:persist.service.elogs.enable=0 + exec -- /system/bin/rm -rf /cache/elogs +# ------------------ END MIX-IN DEFINITIONS ------------------ diff --git a/cel_kbl/extra_files/firststage-mount/config.asl b/cel_kbl/extra_files/firststage-mount/config.asl new file mode 100644 index 000000000..47bcc9c9d --- /dev/null +++ b/cel_kbl/extra_files/firststage-mount/config.asl @@ -0,0 +1,31 @@ +//ACPI module device to config First-Stage Mount +DefinitionBlock ("firststage-mount.aml", "SSDT", 1, "INTEL ", "android", 0x00001000) +{ +Scope (\) +{ +External (\_SB.CFG0, DeviceObj) +Scope(_SB) +{ + Device (ANDT) + { + Name (_HID, "ANDR0001") + Name (_STR, Unicode("android device tree")) // Optional + + Name (_DSD, Package () { + ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"), + Package () { + Package () {"android.compatible", "android,firmware"}, + Package () {"android.vbmeta.compatible","android,vbmeta"}, + Package () {"android.vbmeta.parts","vbmeta,boot,system,vendor,tos"}, + Package () {"android.fstab.compatible", "android,fstab"}, + Package () {"android.fstab.vendor.compatible", "android,vendor"}, + Package () {"android.fstab.vendor.dev", "/dev/block/pci/pci0000:00/0000:00:ff.ff/by-name/vendor"}, // Varies with platform + Package () {"android.fstab.vendor.type", "ext4"}, // May vary with platform + Package () {"android.fstab.vendor.mnt_flags", "ro"}, // May vary with platform + Package () {"android.fstab.vendor.fsmgr_flags", "wait,slotselect,avb"}, // May vary with platform + } + }) + } +} +} +} diff --git a/cel_kbl/extra_files/flashfiles/flashfiles.ini b/cel_kbl/extra_files/flashfiles/flashfiles.ini new file mode 100644 index 000000000..711315df0 --- /dev/null +++ b/cel_kbl/extra_files/flashfiles/flashfiles.ini @@ -0,0 +1,200 @@ +# This file describe the commands needed to flash the board. +# it is used to generate a json file for PhoneFlashTool, and +# also to generate a script for the USB thumb drive installer. + +# there are 4 types of sections: +# [output.xxx.yy] : tell the script to generate a file named xxx.yyy +# [configuration.xxx] : add a new configuration in the PhoneFlashTool droplist +# each configuration defines the list of sets of commands. +# each command sets will be executed in the order they are in this file. +# for a configuration to be embeded in a json output file, it must +# be present in the "configurations" list of it +# [command.xxxx.yyyy] : add a new command yyyy to the command set xxxxx +# so if a configuration has sets = "format reboot" then all commands +# [command.format.yyy] will be executed, followed by all [command.reboot.yyy] +# if the command requires a file to be passed, you can use $my_file in the args +# and then my_file = src:filename where src is the location of the file at +# build time (provdatazip, image, ...). +# [group.xxxx] : add a checkbox in PFT UI, to enable/disable all commands +# which are member of this group. the default can be overriden in a configuration +# by setting override-xxxx = true or false. + + +[global] +# if you need additional files in the flashfiles.zip. +# additional-files += radio:dediprog.bin + +[output.flash.json] +fastboot-command-options += timeout=1200000 retry=1 mandatory=true +enable = true +version = 3.0 +configurations += update blank + +[output.installer.cmd] +sets = unlock partition bootloader erase format flash configure slot-ab lock reboot +additional-files += provdatazip:installer.efi provdatazip:startup.nsh provdatazip:efivar_oemlock provdatazip:unlock_device.nsh provdatazip:config.img provdatazip:factory.img +enable = true + +[configuration.update] +startState = pos +sets = unlock bootloader flash capsule slot-ab lock reboot +default = true +description = update device to new release +brief = update + +[configuration.blank] +startState = pos +#sets = fw_update bootstrap unlock partition bootloader erase format flash capsule configure slot-ab lock reboot +sets = unlock partition bootloader reboot-bootloader erase format flash configure slot-ab lock reboot +description = erase and flash all partitions, all data will be lost. +brief = blank + +[group.delete-capsule] +name = Disable capsule update +description = Disable capsule update by deleting the capsule file from the ESP partition +default = false + +[command.unlock.unlock] +tool = fastboot +args = flashing unlock +description = Set device state to unlocked + +[command.erase.misc] +tool = fastboot +args = erase misc +description = Erase misc partition + +[command.erase.persistent] +tool = fastboot +args = erase persistent +description = Erase persistent partition + +[command.erase.metadata] +tool = fastboot +args = erase metadata +description = Erase metadata partition + +[command.erase.teedata] +tool = fastboot +args = erase teedata +description = Erase teedata partition + +[group.erase-efivars] +name = Erase efi vars +description = Erase all optional efi vars +default = true + +[command.erase-efivars.efivars] +tool = fastboot +args = oem erase-efivars +description = Erase all optional efi vars +group = erase-efivars + +[command.partition.gpt] +tool = fastboot +args = flash gpt $file +file = provdatazip:gpt.bin +description = Initialize the partition table + +[command.bootloader.bootloader] +tool = fastboot +args = flash bootloader $file +file = bootloader:bootloader +description = Flash bootloader partition + + + +[command.flash.vbmeta_a] +tool = fastboot +args = flash vbmeta_a $file +file = images:vbmeta.img +description = Flash vbmeta_a partition + + +[command.flash.tos_a] +tool = fastboot +args = flash tos_a $file +file = radio:tos.img +description = Flash tos_a partition + + +[command.flash.boot_a] +tool = fastboot +args = flash boot_a $file +file = boot:boot:boot.img +description = Flash boot_a partition + + + + +[command.flash.system_a] +tool = fastboot +args = flash system_a $file +file = images:system.img +timeout = 600000 +description = Flash system_a partition + + +[command.flash.vendor_a] +tool = fastboot +args = flash vendor_a $file +file = images:vendor.img +timeout = 600000 +description = Flash vendor_a partition + + +[command.flash.factory] +tool = fastboot +args = flash factory $file +file = radio:factory.img +timeout = 600000 +description = Flash factory partition + + +[command.flash.config] +tool = fastboot +args = flash config $file +file = radio:config.img +timeout = 600000 +description = Flash config partition + + +[command.capsule.rm-capsule] +tool = fastboot +args = oem rm /ESP/BIOSUPDATE.FV +group = delete-capsule +description = Delete firmware capsule + + +[command.format.data] +tool = fastboot +args = format data +description = Format data partition + +# This will reset the setting of slot B + +[command.slot-ab.set-active-a] +tool = fastboot +args = set_active a +description = Set the active slot to A + +[group.lock-device] +name = Lock the device (it implies the userdata partition wipe) +description = Put the device in locked state at the end of the flash procedure. +default = true + +[command.lock.lock] +tool = fastboot +args = flashing lock +group = lock-device +description = Set device state to locked + +[command.reboot.continue] +tool = fastboot +args = continue +description = Boot to main OS + +[command.reboot-bootloader.reboot] +tool = fastboot +args = reboot bootloader +description = Boot to bootloader diff --git a/cel_kbl/extra_files/graphics/drirc b/cel_kbl/extra_files/graphics/drirc new file mode 100644 index 000000000..5306b98fc --- /dev/null +++ b/cel_kbl/extra_files/graphics/drirc @@ -0,0 +1,15 @@ + + + + + + + + + + + + diff --git a/cel_kbl/extra_files/rfkill/load_rfkill.sh b/cel_kbl/extra_files/rfkill/load_rfkill.sh new file mode 100644 index 000000000..b51848162 --- /dev/null +++ b/cel_kbl/extra_files/rfkill/load_rfkill.sh @@ -0,0 +1,4 @@ +load_rfkill_modules() { +insmod $modules/kernel/net/rfkill/rfkill-gpio.ko +} +load_rfkill_modules& diff --git a/cel_kbl/extra_files/wlan/load_iwlwifi_modules.sh b/cel_kbl/extra_files/wlan/load_iwlwifi_modules.sh new file mode 100644 index 000000000..9de80b1f2 --- /dev/null +++ b/cel_kbl/extra_files/wlan/load_iwlwifi_modules.sh @@ -0,0 +1,7 @@ +load_iwlwifi_modules() { + insmod $modules/kernel/net/wireless/cfg80211.ko + insmod $modules/kernel/net/mac80211/mac80211.ko + insmod $modules/kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko d0i3_disable=1 + insmod $modules/kernel/drivers/net/wireless/intel/iwlwifi/mvm/iwlmvm.ko power_scheme=1 +} +load_iwlwifi_modules& diff --git a/cel_kbl/flash.json b/cel_kbl/flash.json new file mode 100644 index 000000000..432041c04 --- /dev/null +++ b/cel_kbl/flash.json @@ -0,0 +1,509 @@ +# ----------------- BEGIN MIX-IN DEFINITIONS ----------------- +# Mix-In definitions are auto-generated by mixin-update +############################################################## +# Source: device/intel/mixins/groups/boot-arch/project-celadon/flash.json +############################################################## +{ + "flash": { + "commands": [ + { + "args": "flashing unlock", + "description": "Set device state to unlocked", + "mandatory": true, + "precondition": { + "description": "Check battery level: ${battery}mV", + "expression": "${battery} >= 3500", + "skipOnFailure": false + }, + "restrict": [ + "blank", + "update" + ], + "retry": 1, + "timeout": 60000, + "tool": "fastboot" + }, + { + "args": "flash gpt ${gpt}", + "description": "Initialize the partition table", + "mandatory": true, + "precondition": { + "description": "Check battery level: ${battery}mV", + "expression": "${battery} >= 3500", + "skipOnFailure": false + }, + "restrict": [ + "blank" + ], + "retry": 1, + "timeout": 60000, + "tool": "fastboot" + }, + { + "args": "flash bootloader ${bootloader}", + "description": "Flash bootloader partition", + "mandatory": true, + "precondition": { + "description": "Check battery level: ${battery}mV", + "expression": "${battery} >= 3500", + "skipOnFailure": false + }, + "restrict": [ + "blank", + "update" + ], + "retry": 1, + "timeout": 60000, + "tool": "fastboot" + }, + { + "args": "reboot bootloader", + "description": "Reboot system to fastboot mode", + "mandatory": true, + "precondition": { + "description": "Check battery level: ${battery}mV", + "expression": "${battery} >= 3500", + "skipOnFailure": false + }, + "restrict": [ + "blank" + ], + "retry": 1, + "timeout": 60000, + "tool": "fastboot" + }, + { + "args": "erase misc", + "description": "Erase misc partition", + "mandatory": true, + "precondition": { + "description": "Check battery level: ${battery}mV", + "expression": "${battery} >= 3500", + "skipOnFailure": false + }, + "restrict": [ + "blank" + ], + "retry": 1, + "timeout": 60000, + "tool": "fastboot" + }, + { + "args": "erase persistent", + "description": "Erase persistent partition", + "mandatory": true, + "precondition": { + "description": "Check battery level: ${battery}mV", + "expression": "${battery} >= 3500", + "skipOnFailure": false + }, + "restrict": [ + "blank" + ], + "retry": 1, + "timeout": 60000, + "tool": "fastboot" + }, + { + "args": "erase metadata", + "description": "Erase metadata partition", + "mandatory": true, + "precondition": { + "description": "Check battery level: ${battery}mV", + "expression": "${battery} >= 3500", + "skipOnFailure": false + }, + "restrict": [ + "blank" + ], + "retry": 1, + "timeout": 60000, + "tool": "fastboot" + }, + { + "args": "format config", + "description": "Format config partition", + "mandatory": true, + "precondition": { + "description": "Check battery level: ${battery}mV", + "expression": "${battery} >= 3500", + "skipOnFailure": false + }, + "restrict": [ + "blank" + ], + "retry": 1, + "timeout": 60000, + "tool": "fastboot" + }, + { + "args": "format data", + "description": "Format data partition", + "mandatory": true, + "precondition": { + "description": "Check battery level: ${battery}mV", + "expression": "${battery} >= 3500", + "skipOnFailure": false + }, + "restrict": [ + "blank" + ], + "retry": 1, + "timeout": 60000, + "tool": "fastboot" + }, + { + "args": "flash vbmeta_a ${vbmeta}", + "description": "Flash vbmeta_a partition", + "mandatory": true, + "precondition": { + "description": "Check battery level: ${battery}mV", + "expression": "${battery} >= 3500", + "skipOnFailure": false + }, + "restrict": [ + "blank", + "update" + ], + "retry": 1, + "timeout": 60000, + "tool": "fastboot" + }, + { + "args": "flash vbmeta_b ${vbmeta}", + "description": "Flash vbmeta_b partition", + "mandatory": true, + "precondition": { + "description": "Check battery level: ${battery}mV", + "expression": "${battery} >= 3500", + "skipOnFailure": false + }, + "restrict": [ + "blank", + "update" + ], + "retry": 1, + "timeout": 60000, + "tool": "fastboot" + }, + { + "args": "flash boot_a ${boot}", + "description": "Flash boot_a partition", + "mandatory": true, + "precondition": { + "description": "Check battery level: ${battery}mV", + "expression": "${battery} >= 3500", + "skipOnFailure": false + }, + "restrict": [ + "blank", + "update" + ], + "retry": 1, + "timeout": 60000, + "tool": "fastboot" + }, + { + "args": "flash boot_b ${boot}", + "description": "Flash boot_b partition", + "mandatory": true, + "precondition": { + "description": "Check battery level: ${battery}mV", + "expression": "${battery} >= 3500", + "skipOnFailure": false + }, + "restrict": [ + "blank", + "update" + ], + "retry": 1, + "timeout": 60000, + "tool": "fastboot" + }, + { + "args": "flash tos_a ${tos}", + "description": "Flash tos_a partition", + "mandatory": true, + "precondition": { + "description": "Check battery level: ${battery}mV", + "expression": "${battery} >= 3500", + "skipOnFailure": false + }, + "restrict": [ + "blank", + "update" + ], + "retry": 1, + "timeout": 60000, + "tool": "fastboot" + }, + { + "args": "flash tos_b ${tos}", + "description": "Flash tos_b partition", + "mandatory": true, + "precondition": { + "description": "Check battery level: ${battery}mV", + "expression": "${battery} >= 3500", + "skipOnFailure": false + }, + "restrict": [ + "blank", + "update" + ], + "retry": 1, + "timeout": 60000, + "tool": "fastboot" + }, + { + "args": "flash system_a ${system}", + "description": "Flash system_a partition", + "mandatory": true, + "precondition": { + "description": "Check battery level: ${battery}mV", + "expression": "${battery} >= 3500", + "skipOnFailure": false + }, + "restrict": [ + "blank", + "update" + ], + "retry": 1, + "timeout": 600000, + "tool": "fastboot" + }, + { + "args": "flash system_b ${system}", + "description": "Flash system_b partition", + "mandatory": true, + "precondition": { + "description": "Check battery level: ${battery}mV", + "expression": "${battery} >= 3500", + "skipOnFailure": false + }, + "restrict": [ + "blank", + "update" + ], + "retry": 1, + "timeout": 600000, + "tool": "fastboot" + }, + { + "args": "flash vendor_a ${vendor}", + "description": "Flash vendor partition", + "mandatory": true, + "precondition": { + "description": "Check battery level: ${battery}mV", + "expression": "${battery} >= 3500", + "skipOnFailure": false + }, + "restrict": [ + "blank", + "update" + ], + "retry": 1, + "timeout": 60000, + "tool": "fastboot" + }, + { + "args": "flash vendor_b ${vendor}", + "description": "Flash vendor_b partition", + "mandatory": true, + "precondition": { + "description": "Check battery level: ${battery}mV", + "expression": "${battery} >= 3500", + "skipOnFailure": false + }, + "restrict": [ + "blank", + "update" + ], + "retry": 1, + "timeout": 60000, + "tool": "fastboot" + }, + { + "args": "flash factory ${factory}", + "description": "Flash factory partition", + "mandatory": true, + "precondition": { + "description": "Check battery level: ${battery}mV", + "expression": "${battery} >= 3500", + "skipOnFailure": false + }, + "restrict": [ + "blank", + "update" + ], + "retry": 1, + "timeout": 60000, + "tool": "fastboot" + }, + { + "args": "set_active a", + "description": "Set active slot to a", + "mandatory": true, + "precondition": { + "description": "Check battery level: ${battery}mV", + "expression": "${battery} >= 3500", + "skipOnFailure": false + }, + "restrict": [ + "blank", + "blank" + ], + "retry": 1, + "timeout": 60000, + "tool": "fastboot" + }, + { + "args": "flashing lock", + "description": "Set device state to locked", + "group": "lock-device", + "mandatory": true, + "precondition": { + "description": "Check battery level: ${battery}mV", + "expression": "${battery} >= 3500", + "skipOnFailure": false + }, + "restrict": [ + "blank", + "update" + ], + "retry": 1, + "timeout": 60000, + "tool": "fastboot" + }, + { + "args": "continue", + "description": "Boot to main OS", + "mandatory": true, + "precondition": { + "description": "Check battery level: ${battery}mV", + "expression": "${battery} >= 3500", + "skipOnFailure": false + }, + "restrict": [ + "blank", + "update" + ], + "retry": 1, + "timeout": 60000, + "tool": "fastboot" + } + ], + "configurations": { + "blank": { + "brief": "blank", + "description": "erase and flash all partitions, all data will be lost.", + "groupsState": { + "check-battery": true, + "erase-efivars": true, + "lock-device": true + }, + "name": "blank", + "startState": "pos" + }, + "update": { + "brief": "update", + "default": true, + "description": "update phone to new release", + "groupsState": { + "check-battery": true, + "lock-device": true + }, + "name": "update", + "startState": "pos" + } + }, + "groups": { + "check-battery": { + "description": "Check battery level before sending fastboot command", + "name": "Check battery level" + }, + "erase-efivars": { + "description": "Erase all optional efi vars", + "name": "Erase efi vars" + }, + "lock-device": { + "description": "Put the device in locked state at the end of the flash procedure.", + "name": "Lock the device (it implies the userdata partition wipe)" + } + }, + "osplatform": "android", + "parameters": { + "battery": { + "computedValue": "$1", + "description": "Fetch battery", + "filter": "battery-voltage:[\\s]*([0-9]+)mV", + "name": "battery", + "subCommand": { + "args": "getvar battery-voltage", + "description": "Fetch battery", + "mandatory": true, + "retry": 1, + "timeout": 60000, + "tool": "fastboot" + }, + "type": "variable", + "value": 3500 + }, + "boot": { + "description": "boot.img", + "name": "boot", + "type": "file", + "value": "boot.img" + }, + "bootloader": { + "description": "bootloader", + "name": "bootloader", + "type": "file", + "value": "bootloader" + }, + "gpt": { + "description": "gpt.bin", + "name": "gpt", + "type": "file", + "value": "gpt.bin" + }, + "vbmeta": { + "description": "vbmeta.img", + "name": "vbmeta", + "type": "file", + "value": "vbmeta.img" + }, + "recovery": { + "description": "recovery.img", + "name": "recovery", + "type": "file", + "value": "recovery.img" + }, + "factory": { + "description": "factory.img", + "name": "factory", + "type": "file", + "value": "factory.img" + }, + "system": { + "description": "system.img", + "name": "system", + "type": "file", + "value": "system.img" + }, + "vendor": { + "description": "vendor.img", + "name": "vendor", + "type": "file", + "value": "vendor.img" + }, + "tos": { + "description": "tos.img", + "name": "tos", + "type": "file", + "value": "tos.img" + } + }, + "version": "3.0" + } +} +# ------------------ END MIX-IN DEFINITIONS ------------------ diff --git a/cel_kbl/flashfiles.ini b/cel_kbl/flashfiles.ini new file mode 100644 index 000000000..d5434dbd5 --- /dev/null +++ b/cel_kbl/flashfiles.ini @@ -0,0 +1,206 @@ +# ----------------- BEGIN MIX-IN DEFINITIONS ----------------- +# Mix-In definitions are auto-generated by mixin-update +############################################################## +# Source: device/intel/mixins/groups/flashfiles/ini/flashfiles.ini +############################################################## +# This file describe the commands needed to flash the board. +# it is used to generate a json file for PhoneFlashTool, and +# also to generate a script for the USB thumb drive installer. + +# there are 4 types of sections: +# [output.xxx.yy] : tell the script to generate a file named xxx.yyy +# [configuration.xxx] : add a new configuration in the PhoneFlashTool droplist +# each configuration defines the list of sets of commands. +# each command sets will be executed in the order they are in this file. +# for a configuration to be embeded in a json output file, it must +# be present in the "configurations" list of it +# [command.xxxx.yyyy] : add a new command yyyy to the command set xxxxx +# so if a configuration has sets = "format reboot" then all commands +# [command.format.yyy] will be executed, followed by all [command.reboot.yyy] +# if the command requires a file to be passed, you can use $my_file in the args +# and then my_file = src:filename where src is the location of the file at +# build time (provdatazip, image, ...). +# [group.xxxx] : add a checkbox in PFT UI, to enable/disable all commands +# which are member of this group. the default can be overriden in a configuration +# by setting override-xxxx = true or false. + + +[global] +# if you need additional files in the flashfiles.zip. +# additional-files += radio:dediprog.bin + +[output.flash.json] +fastboot-command-options += timeout=1200000 retry=1 mandatory=true +enable = true +version = 3.0 +configurations += update blank + +[output.installer.cmd] +sets = unlock partition bootloader erase format flash configure slot-ab lock reboot +additional-files += provdatazip:installer.efi provdatazip:startup.nsh provdatazip:efivar_oemlock provdatazip:unlock_device.nsh provdatazip:config.img provdatazip:factory.img +enable = true + +[configuration.update] +startState = pos +sets = unlock bootloader flash capsule slot-ab lock reboot +default = true +description = update device to new release +brief = update + +[configuration.blank] +startState = pos +#sets = fw_update bootstrap unlock partition bootloader erase format flash capsule configure slot-ab lock reboot +sets = unlock partition bootloader reboot-bootloader erase format flash configure slot-ab lock reboot +description = erase and flash all partitions, all data will be lost. +brief = blank + +[group.delete-capsule] +name = Disable capsule update +description = Disable capsule update by deleting the capsule file from the ESP partition +default = false + +[command.unlock.unlock] +tool = fastboot +args = flashing unlock +description = Set device state to unlocked + +[command.erase.misc] +tool = fastboot +args = erase misc +description = Erase misc partition + +[command.erase.persistent] +tool = fastboot +args = erase persistent +description = Erase persistent partition + +[command.erase.metadata] +tool = fastboot +args = erase metadata +description = Erase metadata partition + +[command.erase.teedata] +tool = fastboot +args = erase teedata +description = Erase teedata partition + +[group.erase-efivars] +name = Erase efi vars +description = Erase all optional efi vars +default = true + +[command.erase-efivars.efivars] +tool = fastboot +args = oem erase-efivars +description = Erase all optional efi vars +group = erase-efivars + +[command.partition.gpt] +tool = fastboot +args = flash gpt $file +file = provdatazip:gpt.bin +description = Initialize the partition table + +[command.bootloader.bootloader] +tool = fastboot +args = flash bootloader $file +file = bootloader:bootloader +description = Flash bootloader partition + + + +[command.flash.vbmeta_a] +tool = fastboot +args = flash vbmeta_a $file +file = images:vbmeta.img +description = Flash vbmeta_a partition + + +[command.flash.tos_a] +tool = fastboot +args = flash tos_a $file +file = radio:tos.img +description = Flash tos_a partition + + +[command.flash.boot_a] +tool = fastboot +args = flash boot_a $file +file = boot:boot:boot.img +description = Flash boot_a partition + + + + +[command.flash.system_a] +tool = fastboot +args = flash system_a $file +file = images:system.img +timeout = 600000 +description = Flash system_a partition + + +[command.flash.vendor_a] +tool = fastboot +args = flash vendor_a $file +file = images:vendor.img +timeout = 600000 +description = Flash vendor_a partition + + +[command.flash.factory] +tool = fastboot +args = flash factory $file +file = radio:factory.img +timeout = 600000 +description = Flash factory partition + + +[command.flash.config] +tool = fastboot +args = flash config $file +file = radio:config.img +timeout = 600000 +description = Flash config partition + + +[command.capsule.rm-capsule] +tool = fastboot +args = oem rm /ESP/BIOSUPDATE.FV +group = delete-capsule +description = Delete firmware capsule + + +[command.format.data] +tool = fastboot +args = format data +description = Format data partition + +# This will reset the setting of slot B + +[command.slot-ab.set-active-a] +tool = fastboot +args = set_active a +description = Set the active slot to A + +[group.lock-device] +name = Lock the device (it implies the userdata partition wipe) +description = Put the device in locked state at the end of the flash procedure. +default = true + +[command.lock.lock] +tool = fastboot +args = flashing lock +group = lock-device +description = Set device state to locked + +[command.reboot.continue] +tool = fastboot +args = continue +description = Boot to main OS + +[command.reboot-bootloader.reboot] +tool = fastboot +args = reboot bootloader +description = Boot to bootloader +# ------------------ END MIX-IN DEFINITIONS ------------------ diff --git a/cel_kbl/fstab b/cel_kbl/fstab new file mode 100644 index 000000000..b06bd807f --- /dev/null +++ b/cel_kbl/fstab @@ -0,0 +1,54 @@ +# ----------------- BEGIN MIX-IN DEFINITIONS ----------------- +# Mix-In definitions are auto-generated by mixin-update +############################################################## +# Source: device/intel/mixins/groups/storage/sdcard-mmc0-usb-sd/fstab +############################################################## +*/usb*/*/host*/*/block/sd* auto auto defaults voldmanaged=usbdisk:auto,encryptable=userdata +*/mmc0/*/block/mmcblk* auto auto defaults voldmanaged=sdcard1:auto,encryptable=userdata +############################################################## +# Source: device/intel/mixins/groups/avb/true/fstab +############################################################## +/dev/block/by-name/vbmeta /vbmeta emmc defaults defaults,slotselect,avb +############################################################## +# Source: device/intel/mixins/groups/vendor-partition/true/fstab +############################################################## +# Following line is required if you use a vendor image. +# If the vendor image is not used, +# following line should be commented with the related ones in BoardConfig.mk +#First-Stage Mount is enabled, the mount of vendor partition is moved to the configure in ACPI SSDT table. +############################################################## +# Source: device/intel/mixins/groups/config-partition/enabled/fstab +############################################################## +/dev/block/by-name/config /vendor/oem_config ext4 noatime,nosuid,nodev,errors=panic wait,check +############################################################## +# Source: device/intel/mixins/groups/factory-partition/true/fstab +############################################################## +/dev/block/by-name/factory /vendor/factory ext4 rw,noatime wait +############################################################## +# Source: device/intel/mixins/groups/boot-arch/project-celadon/fstab +############################################################## +# Android fstab file. +# +# The filesystem that contains the filesystem checker binary (typically /system) cannot +# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK + +/devices/*/usb*/* auto auto defaults voldmanaged=usb:auto +/devices/*/*sdmmc*/* auto auto defaults voldmanaged=sdcard1:auto +/devices/*/80860F14:01/mmc_* auto auto defaults voldmanaged=sdcard1:auto + +# If enable AVB and A/B slot, then will mount system partition as / through /dev/dm-0 +/dev/block/by-name/system / ext4 ro wait,slotselect,avb +/dev/block/by-name/data /data ext4 noatime,nosuid,nodev,discard,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/bootloader /bootloader emmc defaults recoveryonly +/dev/block/by-name/bootloader2 /bootloader2 emmc defaults recoveryonly +/dev/block/by-name/persistent /persistent emmc defaults defaults +/dev/block/by-name/metadata /metadata emmc defaults defaults +/dev/block/by-name/tos /tos emmc defaults defaults,slotselect,avb +############################################################## +# Source: device/intel/mixins/groups/swap/zram/fstab +############################################################## +/dev/block/zram0 none swap defaults zramsize=1073741824 + +# ------------------ END MIX-IN DEFINITIONS ------------------ diff --git a/cel_kbl/fstab.recovery b/cel_kbl/fstab.recovery new file mode 100644 index 000000000..7f54e83eb --- /dev/null +++ b/cel_kbl/fstab.recovery @@ -0,0 +1,56 @@ +# ----------------- BEGIN MIX-IN DEFINITIONS ----------------- +# Mix-In definitions are auto-generated by mixin-update +############################################################## +# Source: device/intel/mixins/groups/storage/sdcard-mmc0-usb-sd/fstab.recovery +############################################################## +/dev/block/sda1 /udiska vfat defaults voldmanaged=udiska:auto +/dev/block/sdb1 /udiskb vfat defaults voldmanaged=udiskb:auto +/dev/block/mmcblk0p1 /sdcard vfat defaults voldmanaged=sdcard:auto +############################################################## +# Source: device/intel/mixins/groups/avb/true/fstab.recovery +############################################################## +/dev/block/by-name/vbmeta /vbmeta emmc defaults defaults,slotselect +############################################################## +# Source: device/intel/mixins/groups/vendor-partition/true/fstab.recovery +############################################################## +# Following line is required if you use a vendor image. +# If the vendor image is not used, +# following line should be commented with the related ones in BoardConfig.mk + +/dev/block/by-name/vendor /vendor ext4 ro wait,slotselect +############################################################## +# Source: device/intel/mixins/groups/config-partition/enabled/fstab.recovery +############################################################## +/dev/block/by-name/config /vendor/oem_config ext4 noatime,nosuid,nodev,errors=panic wait,check +############################################################## +# Source: device/intel/mixins/groups/factory-partition/true/fstab.recovery +############################################################## +/dev/block/by-name/factory /vendor/factory ext4 rw,noatime wait +############################################################## +# Source: device/intel/mixins/groups/boot-arch/project-celadon/fstab.recovery +############################################################## +# Android fstab file. +# +# The filesystem that contains the filesystem checker binary (typically /system) cannot +# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK + +/devices/*/usb*/* auto auto defaults voldmanaged=usb:auto +/devices/*/*sdmmc*/* auto auto defaults voldmanaged=sdcard1:auto +/devices/*/80860F14:01/mmc_* auto auto defaults voldmanaged=sdcard1:auto + +# If enable AVB and A/B slot, then will mount system partition as / through /dev/dm-0 +/dev/block/by-name/system / ext4 ro wait,slotselect,avb +/dev/block/by-name/data /data ext4 noatime,nosuid,nodev,discard,noauto_da_alloc,errors=panic wait,check,formattable,fileencryption=aes-256-xts:aes-256-cts,quota +/dev/block/by-name/boot /boot emmc defaults defaults,slotselect +/dev/block/by-name/misc /misc emmc defaults defaults +/dev/block/by-name/bootloader /bootloader emmc defaults recoveryonly +/dev/block/by-name/bootloader2 /bootloader2 emmc defaults recoveryonly +/dev/block/by-name/persistent /persistent emmc defaults defaults +/dev/block/by-name/metadata /metadata ext4 noatime,nosuid,nodev,errors=panic wait,check +/dev/block/by-name/tos /tos emmc defaults defaults,slotselect +############################################################## +# Source: device/intel/mixins/groups/swap/zram/fstab.recovery +############################################################## +/dev/block/zram0 none swap defaults zramsize=1073741824 + +# ------------------ END MIX-IN DEFINITIONS ------------------ diff --git a/cel_kbl/gpt.ini b/cel_kbl/gpt.ini new file mode 100644 index 000000000..49d370a6f --- /dev/null +++ b/cel_kbl/gpt.ini @@ -0,0 +1,106 @@ +# ----------------- BEGIN MIX-IN DEFINITIONS ----------------- +# Mix-In definitions are auto-generated by mixin-update +############################################################## +# Source: device/intel/mixins/groups/boot-arch/project-celadon/gpt.ini +############################################################## +[base] +partitions = bootloader bootloader2 boot misc metadata system persistent vendor config factory tos vbmeta teedata data +device = auto +nb_slot = 2 + +[partition.bootloader] +label = bootloader +len = 60 +type = esp +guid = 2568845d-2332-4675-bc39-8fa5a4748d15 +efi_loader = \loader.efi +efi_title = PROJECT-CELADON +flags = boot + +[partition.bootloader2] +label = bootloader2 +len = 60 +type = fat +guid = 114eaffe-1552-4022-b26e-9b053604cf84 + +[partition.boot] +label = boot +len = 30 +type = boot +has_slot = true +guid = 49a4d17f-93a3-45c1-a0de-f50b2ebe2599 + + +[partition.misc] +label = misc +len = 1 +type = misc +guid = ef32a33b-a409-486c-9141-9ffb711f6266 + +[partition.metadata] +label = metadata +len = 16 +type = metadata +guid = 20ac26be-20b7-11e3-84c5-6cfdb94711e9 + +[partition.system] +label = system +len = 3584 +type = linux +has_slot = true +guid = 38f428e6-d326-425d-9140-6e0ea133647c + + +[partition.data] +label = data +len = -1 +type = linux +guid = dc76dda9-5ac1-491c-af42-a82591580c0d + +[partition.persistent] +label = persistent +len = 1 +type = linux +guid = ebc597d0-2053-4b15-8b64-e0aac75f4db1 + +[partition.vendor] +label = vendor +len = 1800 +type = linux +has_slot = true +guid = c5a0aeec-13ea-11e5-a1b1-001e67ca0c3c + +[partition.config] +label = config +len = 8 +type = linux +guid = bd59408b-4514-490d-bf12-9878d963f378 + +[partition.factory] +label = factory +len = 10 +type = linux +guid = 8f68cc74-c5e5-48da-be91-a0c8c15e9c80 + +[partition.tos] +label = tos +len = 10 +type = boot +has_slot = true +guid = 52cd00fd-f5b0-4061-b3a5-65b07f2179f0 + +[partition.vbmeta] +label = vbmeta +len = 2 +type = linux +has_slot = true +# Randum generate a guid +guid = 7ced364c-3b5a-4eba-9f5c-9fef1327cb50 + +[partition.teedata] +label = teedata +len = 32 +type = linux +# Randum generate a guid +guid = f0c8e9aa-57f6-4155-8aef-4e0549217563 +# ------------------ END MIX-IN DEFINITIONS ------------------ diff --git a/cel_kbl/hwc-valsetup.sh b/cel_kbl/hwc-valsetup.sh new file mode 100644 index 000000000..7a7356112 --- /dev/null +++ b/cel_kbl/hwc-valsetup.sh @@ -0,0 +1,10 @@ +LOCAL_PATH="$(gettop)" +HWCOMPOSER_PATH="$(find vendor -name hwcomposer*)" +export HWCVAL_ROOT=$LOCAL_PATH/$HWCOMPOSER_PATH/tests/hwc-val/tests/hwc +export VAL_HWC_TOP="`( cd "$HWCVAL_ROOT/../.." && pwd)`" +export PATH=$HWCVAL_ROOT/host_scripts:$HWCVAL_ROOT/tools:$PATH +export CLIENT_LOGS=$HOME/client_logs + +# Target directories +export HWCVAL_TARGET_DIR=/data/validation/hwc +export HWCVAL_TARGET_SCRIPT_DIR=/data/validation/hwc diff --git a/cel_kbl/init.rc b/cel_kbl/init.rc new file mode 100644 index 000000000..e59933131 --- /dev/null +++ b/cel_kbl/init.rc @@ -0,0 +1,800 @@ +# ----------------- BEGIN MIX-IN DEFINITIONS ----------------- +# Mix-In definitions are auto-generated by mixin-update +############################################################## +# Source: device/intel/mixins/groups/disk-bus/auto/init.rc +############################################################## +on init + # Android creates by-name disk links with the disk controller + # in the generated path, so that the names pulled out of the GPT + # can be associated with the correct disk. Create a shortcut to + # /dev/block/by-name so that we can use the same fstabs everywhere. + mkdir /dev/block 0755 root root + exec u:r:set_storage:s0 root root -- /vendor/bin/set_storage.vendor +############################################################## +# Source: device/intel/mixins/groups/project-celadon/default/init.rc +############################################################## + +on init + # The following line maybe replaced by scripts in SKL. + # symlink /dev/block/pci/pci0000:00/0000:00:1c.0/by-name /dev/block/by-name + + # Load persistent dm-verity state and detect if a restart was + # triggered after dm-verity detected a corrupted block + # And maybe trigger verity-logging if verity mode is not default. + # Should wait for setup the by-name block device + verity_load_state + + # If verity-logging is triggered, must mount_all after it, + # otherwise the warning page maybe can't be shown. + trigger mount-all-fs + + # Since the modules are stored in /vendor, not in ram disk, + # so need to restart ueventd after mount_all. + trigger restart-ueventd + + +on verity-logging + exec u:r:slideshow:s0 -- /sbin/slideshow -p -t 30000 warning/verity_red_1 warning/verity_red_2 + + +on mount-all-fs + mkdir /dev/pstore 0755 root system + mount pstore pstore /dev/pstore + mount_all /vendor/etc/fstab.${ro.hardware} + +on restart-ueventd + rm /dev/.coldboot_done + restart ueventd + +on fs + mkdir /dev/pstore 0755 root system + mount pstore pstore /dev/pstore + +on post-fs + setprop ro.setupwizard.mode DISABLED + +on post-fs-data + mkdir /data/kpanic 0770 system system + mkdir /data/kpanic/pstore 0770 system system + mkdir /data/dontpanic 0750 root log + # Create data folder for GPS + mkdir /data/gps 0770 gps system + + # Set indication (checked by vold) that we have finished this action + setprop vold.post_fs_data_done 1 + +on boot + write /sys/devices/platform/INT33BB:00/power/control on + write /sys/devices/pci0000\:00/0000\:00\:02.0/power/control auto + + setprop camera.disable_zsl_mode 1 + + setprop persist.sys.strictmode.visual 0 + setprop persist.sys.strictmode.disable 1 + + chmod 0660 /sys/class/tty/ttyHSU1/../../power/control + chown system system /sys/class/tty/ttyHSU1/../../power/control + mkdir /dev/gps 0770 gps system + symlink /dev/ttyHSU1 /dev/gps/ttyGPS + symlink /sys/class/tty/ttyHSU1/../../power/control /dev/gps/ttyGPSPowerControl + + write /proc/sys/net/ipv4/tcp_limit_output_bytes 1500000 + write /proc/sys/net/core/rmem_max 6291456 + write /proc/sys/net/core/wmem_max 4194304 + + # change group for IPC interfaces + chown root system /sys/devices/pci0000:00/0000:00:14.0/power/control + chmod 0664 /sys/devices/pci0000:00/0000:00:14.0/power/control + chown root system /sys/bus/usb/devices/2-0:1.0/port5/power/pm_qos_no_power_off + chmod 0664 /sys/bus/usb/devices/2-0:1.0/port5/power/pm_qos_no_power_off + chown root system /sys/devices/pci0000:00/0000:00:14.0/usb2/2-5/power/wakeup + chmod 0664 /sys/devices/pci0000:00/0000:00:14.0/usb2/2-5/power/wakeup + chown root system /sys/devices/pci0000:00/0000:00:14.0/ssic_port_enable + chmod 0664 /sys/devices/pci0000:00/0000:00:14.0/power/ssic_port_enable + + chown root system /sys/bus/usb/devices/2-0:1.0/port5/usb3_lpm + chmod 0664 /sys/bus/usb/devices/2-0:1.0/port5/usb3_lpm + + # disable HSIC port + write /sys/bus/usb/devices/1-0:1.0/port6/power/pm_qos_no_power_off 0 + + chown system system /sys/devices/system/cpu/intel_pstate/min_perf_pct + chmod 0660 /sys/devices/system/cpu/intel_pstate/min_perf_pct + chown system system /sys/devices/system/cpu/intel_pstate/max_perf_pct + chmod 0660 /sys/devices/system/cpu/intel_pstate/max_perf_pct + write /sys/kernel/debug/pstate_snb/setpoint 75 + + # adb over ethernet + setprop service.adb.tcp.port 5555 + +service watchdogd /sbin/watchdogd 10 30 + user root + class core + oneshot + seclabel u:r:watchdogd:s0 + +on charger + start watchdogd + +# bugreport is triggered by holding down volume down, volume up and power +service bugreport /system/bin/dumpstate -d -p -B -z \ + -o /data/user_de/0/com.android.shell/files/bugreports/bugreport + class main + disabled + oneshot + keycodes 114 115 116 + +on fs + # Update dm-verity persistent state and set partition.*.verified + # properties + verity_update_state +############################################################## +# Source: device/intel/mixins/groups/graphics/mesa/init.rc.1 +############################################################## +# for hardware accelerated graphics +service msync /system/vendor/bin/msync + class main + user media + group media + +service coreu /system/vendor/bin/coreu + class main + user media + group media shell + +# Note that this service must start as root to set up a mem-mapped region +# and once that is set up it will drop all unnecessary capabilities and +# will not show up as a root process in the steady state. +service hdcpd /system/vendor/bin/hdcpd + class main + user media + group media shell + seclabel u:r:hdcpd:s0 + +on post-fs-data + # Change ownership of pci syfs file to 'media', as hdcpd runs as 'media' + chown media media /sys/devices/pci0000\:00/0000\:00\:02.0/resource0 + mkdir /data/system 0770 system system + mkdir /data/vendor/coreu 0770 media root + mkdir /data/hdcp 0770 media root +on boot + #Give permission to system to use i915_videostatus sysfs interface + chown system system /sys/class/drm/card0/power/i915_videostatus + chown media media /sys/kernel/debug/tracing/events/drm/drm_vblank_event/enable + chown media media /sys/kernel/debug/tracing/events/i915/i915_flip_complete/enable + chown media media /sys/kernel/debug/tracing/events/i915/i915_flip_request/enable + chown media media /sys/kernel/debug/tracing/events/i915/i915_gem_ring_dispatch/enable + chown media media /sys/kernel/debug/tracing/events/i915/i915_gem_request_complete/enable + chown media media /sys/kernel/debug/tracing/events/i915/i915_gem_request_retire/enable + chown media media /sys/kernel/debug/tracing/events/i915/i915_gem_request_wait_begin/enable + chown media media /sys/kernel/debug/tracing/events/i915/i915_gem_request_wait_end/enable + chown media media /sys/kernel/debug/tracing/events/i915/i915_ring_wait_begin/enable + chown media media /sys/kernel/debug/tracing/events/i915/i915_ring_wait_end/enable + chown media media /sys/devices/pci0000:00/0000:00:02.0/drm/card0/gt_max_freq_mhz + chown media media /sys/devices/pci0000:00/0000:00:02.0/drm/card0/gt_min_freq_mhz + +on property:persist.vendor.gen_gfxd.enable=1 + start gfxd + +on property:persist.vendor.gen_gfxd.enable=0 + stop gfxd + +service gfxd /system/vendor/bin/gfxd + class main + user root + group graphics + disabled +############################################################## +# Source: device/intel/mixins/groups/graphics/mesa/init.rc +############################################################## +on init + chown system system /sys/class/backlight/intel_backlight/brightness + chown system system /sys/class/backlight/acpi_video0/brightness + export INTEL_DEBUG heur32 + +on post-fs-data + #setprop debug.sf.nobootanimation 1 + mkdir /data/system 0770 system system + +on boot + chown system graphics /sys/kernel/debug/sync/sw_sync + symlink /sys/kernel/debug/sync/sw_sync /dev/sw_sync +############################################################## +# Source: device/intel/mixins/groups/media/project-celadon/init.rc +############################################################## +# Note that this service must start as root to set up a mem-mapped region +# and once that is set up it will drop all unnecessary capabilities and +# will not show up as a root process in the steady state. +service hdcpd /system/vendor/bin/hdcpd + class main + user media + group media shell + seclabel u:r:hdcpd:s0 + +on post-fs-data + mkdir /data/hdcp 0770 media root + mkdir /data/coreu 0770 media root + mkdir /data/media 0770 media_rw media_rw + chown media_rw media_rw /data/media + +on boot + setprop persist.media.pfw.verbose true + +on post-fs + insmod /vendor/lib/modules/kernel/drivers/media/v4l2-core/videobuf2-core.ko + insmod /vendor/lib/modules/kernel/drivers/media/v4l2-core/videobuf2-v4l2.ko + insmod /vendor/lib/modules/kernel/drivers/media/v4l2-core/videobuf2-memops.ko + insmod /vendor/lib/modules/kernel/drivers/media/v4l2-core/videobuf2-dma-contig.ko + insmod /vendor/lib/modules/kernel/drivers/media/v4l2-core/videobuf2-vmalloc.ko + insmod /vendor/lib/modules/kernel/drivers/media/usb/uvc/uvcvideo.ko + + setprop media.settings.xml /vendor/etc/media_profiles.xml +############################################################## +# Source: device/intel/mixins/groups/ethernet/dhcp/init.rc +############################################################## + +service dhcpcd_eth0 /system/bin/dhcpcd -ABDKL + class main + disabled + oneshot + +service iprenew_eth0 /system/bin/dhcpcd -n + class main + disabled + oneshot + +on post-fs + insmod /vendor/lib/modules/kernel/drivers/pps/pps_core.ko + insmod /vendor/lib/modules/kernel/drivers/ptp/ptp.ko + insmod /vendor/lib/modules/kernel/drivers/net/ethernet/intel/e1000e/e1000e.ko + +on post-fs + insmod /vendor/lib/modules/kernel/drivers/net/mii.ko + insmod /vendor/lib/modules/kernel/drivers/net/phy/libphy.ko + insmod /vendor/lib/modules/kernel/drivers/net/usb/usbnet.ko + insmod /vendor/lib/modules/kernel/drivers/net/usb/asix.ko + insmod /vendor/lib/modules/kernel/drivers/net/usb/r8152.ko + insmod /vendor/lib/modules/kernel/drivers/net/ethernet/realtek/r8169.ko +############################################################## +# Source: device/intel/mixins/groups/debugfs/default/init.rc +############################################################## +on early-init + # Mount debugfs and make it writable so that debuggerd can + # create stack traces, required with newer kernels + mount debugfs debugfs /sys/kernel/debug + chmod 0755 /sys/kernel/debug + +on early-boot + # Needed by surfaceflinger to enable it to open trace_marker + # on start without file permissions error. + chmod 0222 /sys/kernel/debug/tracing/trace_marker + # tracefs is mounted after 1st access to it + chmod 0755 /sys/kernel/debug/tracing +############################################################## +# Source: device/intel/mixins/groups/storage/sdcard-mmc0-usb-sd/init.rc +############################################################## +on init + # Support legacy paths + symlink /sdcard /mnt/sdcard + symlink /sdcard /storage/sdcard0 + +############################################################## +# Source: device/intel/mixins/groups/usb-gadget/g_ffs/init.rc +############################################################## +on fs + write /sys/class/android_usb/android0/f_ffs/aliases adb + write /sys/class/android_usb/android0/iSerial ${ro.serialno} + +on boot + # Create mount-point for ConfigFS USB gadgets + # Add standard gadget entries + mount configfs none /config + mkdir /config/usb_gadget/g1 0770 shell shell + write /config/usb_gadget/g1/bcdDevice 0x0 + write /config/usb_gadget/g1/bcdUSB 0x210 + mkdir /config/usb_gadget/g1/strings/0x409 0770 + write /config/usb_gadget/g1/strings/0x409/serialnumber ${ro.serialno} + write /config/usb_gadget/g1/strings/0x409/manufacturer ${ro.product.manufacturer} + write /config/usb_gadget/g1/strings/0x409/product ${ro.product.model} + mkdir /config/usb_gadget/g1/functions/ffs.adb + mkdir /config/usb_gadget/g1/functions/mtp.gs0 + mkdir /config/usb_gadget/g1/functions/ptp.gs1 + mkdir /config/usb_gadget/g1/functions/accessory.gs2 + mkdir /config/usb_gadget/g1/functions/rndis.gs4 + mkdir /config/usb_gadget/g1/functions/midi.gs5 + + mkdir /config/usb_gadget/g1/configs/b.1 + mkdir /config/usb_gadget/g1/configs/b.1/strings/0x409 + symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f1 + write /config/usb_gadget/g1/os_desc/qw_sign "MSFT100" + write /config/usb_gadget/g1/os_desc/b_vendor_code 0x1 + write /config/usb_gadget/g1/configs/b.1/MaxPower 500 + symlink /config/usb_gadget/g1/configs/b.1 /config/usb_gadget/g1/os_desc/b.1 + + # Create adb+ffs gadget function + mkdir /dev/usb-ffs 0770 shell shell + mkdir /dev/usb-ffs/adb 0770 shell shell + mount functionfs adb /dev/usb-ffs/adb uid=2000,gid=2000 + + # Enable USB Gadget Configfs interface and make DWC3 the controller + setprop sys.usb.configfs 1 + setprop sys.usb.controller dwc3.0.auto + + # Allow auto-suspend of USB gadget devices + write /sys/devices/pci0000\:00/0000\:00\:15.1/power/control auto + write /sys/devices/pci0000\:00/0000\:00\:15.1/dwc3.0.auto/power/control auto + write /sys/devices/pci0000\:00/0000\:00\:15.1/dwc3.0.auto/gadget/power/control auto + write /sys/devices/pci0000\:00/0000\:00\:15.1/dwc3.0.auto/udc/dwc3.0.auto/power/control auto + chown system system /sys/devices/pci0000:00/0000:00:14.0/intel_xhci_usb_sw/usb_role/intel_xhci_usb_sw-role-switch/role + chmod 0666 /sys/devices/pci0000:00/0000:00:14.0/intel_xhci_usb_sw/usb_role/intel_xhci_usb_sw-role-switch/role + +on property:sys.usb.config=none && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/os_desc/use 0 + setprop sys.usb.ffs.ready 0 + write /sys/power/wake_unlock mylock + +on property:sys.usb.config=adb && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/idVendor 0x8087 + write /config/usb_gadget/g1/idProduct 0x09ef + write /sys/power/wake_lock mylock + +on property:sys.usb.config=mtp && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/functions/mtp.gs0/os_desc/interface.MTP/compatible_id "MTP" + # write /config/usb_gadget/g1/os_desc/use 1 + write /config/usb_gadget/g1/idVendor 0x8087 + write /config/usb_gadget/g1/idProduct 0x0a5e + +on property:sys.usb.config=mtp,adb && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/functions/mtp.gs0/os_desc/interface.MTP/compatible_id "MTP" + # write /config/usb_gadget/g1/os_desc/use 1 + write /config/usb_gadget/g1/idVendor 0x8087 + write /config/usb_gadget/g1/idProduct 0x0a5f + write /sys/power/wake_lock mylock + +on property:sys.usb.config=ptp && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/functions/ptp.gs1/os_desc/interface.MTP/compatible_id "PTP" + # write /config/usb_gadget/g1/os_desc/use 1 + write /config/usb_gadget/g1/idVendor 0x8087 + write /config/usb_gadget/g1/idProduct 0x0a60 + +on property:sys.usb.config=ptp,adb && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/functions/mtp.gs0/os_desc/interface.MTP/compatible_id "PTP" + # write /config/usb_gadget/g1/os_desc/use 1 + write /config/usb_gadget/g1/idVendor 0x8087 + write /config/usb_gadget/g1/idProduct 0x0a61 + write /sys/power/wake_lock mylock + +on property:sys.usb.config=rndis && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/idVendor 0x8087 + write /config/usb_gadget/g1/idProduct 0x0a62 + +on property:sys.usb.config=rndis,adb && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/bcdUSB 0x310 + write /config/usb_gadget/g1/idVendor 0x8087 + write /config/usb_gadget/g1/idProduct 0x0a63 + write /sys/power/wake_lock mylock + +on property:sys.usb.config=midi && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/idVendor 0x8087 + write /config/usb_gadget/g1/idProduct 0x0a65 + +on property:sys.usb.config=midi,adb && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/idVendor 0x8087 + write /config/usb_gadget/g1/idProduct 0x0a67 + write /sys/power/wake_lock mylock + +on property:sys.usb.config=accessory && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/idVendor 0x18d1 + write /config/usb_gadget/g1/idProduct 0x2d00 + +on property:sys.usb.config=accessory,adb && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/idVendor 0x18d1 + write /config/usb_gadget/g1/idProduct 0x2d01 + write /sys/power/wake_lock mylock +############################################################## +# Source: device/intel/mixins/groups/adb_net/true/init.rc +############################################################## +on boot + start adbd + setprop net.eth0.startonboot true + +on property:debug.logcat=1 + class_start debug + +service logcat /system/bin/logcat -v threadtime -f /data/log.txt + class debug + +service setconsole /system/bin/setconsole -g + class main + user root + oneshot + +############################################################## +# Source: device/intel/mixins/groups/kernel/project-celadon/init.rc +############################################################## +on boot + write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor interactive + write /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor interactive + write /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor interactive + write /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor interactive + chown system system /sys/devices/system/cpu/cpufreq/interactive/touchboostpulse + + chown system system /sys/devices/system/cpu/cpufreq/interactive/timer_rate + chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/timer_rate + chown system system /sys/devices/system/cpu/cpufreq/interactive/timer_slack + chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/timer_slack + chown system system /sys/devices/system/cpu/cpufreq/interactive/min_sample_time + chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/min_sample_time + chown system system /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq + chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq + chown system system /sys/devices/system/cpu/cpufreq/interactive/target_loads + chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/target_loads + chown system system /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load + chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load + chown system system /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay + chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay + chown system system /sys/devices/system/cpu/cpufreq/interactive/boost + chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/boost + chown system system /sys/devices/system/cpu/cpufreq/interactive/boostpulse + chown system system /sys/devices/system/cpu/cpufreq/interactive/input_boost + chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/input_boost + chown system system /sys/devices/system/cpu/cpufreq/interactive/boostpulse_duration + chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/boostpulse_duration + chown system system /sys/devices/system/cpu/cpufreq/interactive/io_is_busy + chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/io_is_busy + # Assume SMP uses shared cpufreq policy for all CPUs + chown system system /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq + chmod 0660 /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq + #Give permission to system to use i915_videostatus sysfs interface + chown system system /sys/class/drm/card0/power/i915_videostatus + +on property:sys.boot_completed=1 + write /sys/devices/system/cpu/cpufreq/interactive/boost 0 + write /sys/devices/system/cpu/cpufreq/interactive/irq_load_threshold 2 + +on early-init + write /sys/devices/system/cpu/cpu0/cpuidle/state1/disable 1 + write /sys/devices/system/cpu/cpu0/cpuidle/state2/disable 1 + write /sys/devices/system/cpu/cpu0/cpuidle/state3/disable 1 + write /sys/devices/system/cpu/cpu0/cpuidle/state4/disable 1 + write /sys/devices/system/cpu/cpu0/cpuidle/state5/disable 1 + write /sys/devices/system/cpu/cpu0/cpuidle/state6/disable 1 + write /sys/devices/system/cpu/cpu0/cpuidle/state7/disable 1 + write /sys/devices/system/cpu/cpu1/cpuidle/state1/disable 1 + write /sys/devices/system/cpu/cpu1/cpuidle/state2/disable 1 + write /sys/devices/system/cpu/cpu1/cpuidle/state3/disable 1 + write /sys/devices/system/cpu/cpu1/cpuidle/state4/disable 1 + write /sys/devices/system/cpu/cpu1/cpuidle/state5/disable 1 + write /sys/devices/system/cpu/cpu1/cpuidle/state6/disable 1 + write /sys/devices/system/cpu/cpu1/cpuidle/state7/disable 1 + write /sys/devices/system/cpu/cpu2/cpuidle/state1/disable 1 + write /sys/devices/system/cpu/cpu2/cpuidle/state2/disable 1 + write /sys/devices/system/cpu/cpu2/cpuidle/state3/disable 1 + write /sys/devices/system/cpu/cpu2/cpuidle/state4/disable 1 + write /sys/devices/system/cpu/cpu2/cpuidle/state5/disable 1 + write /sys/devices/system/cpu/cpu2/cpuidle/state6/disable 1 + write /sys/devices/system/cpu/cpu2/cpuidle/state7/disable 1 + write /sys/devices/system/cpu/cpu3/cpuidle/state1/disable 1 + write /sys/devices/system/cpu/cpu3/cpuidle/state2/disable 1 + write /sys/devices/system/cpu/cpu3/cpuidle/state3/disable 1 + write /sys/devices/system/cpu/cpu3/cpuidle/state4/disable 1 + write /sys/devices/system/cpu/cpu3/cpuidle/state5/disable 1 + write /sys/devices/system/cpu/cpu3/cpuidle/state6/disable 1 + write /sys/devices/system/cpu/cpu3/cpuidle/state7/disable 1 + +on property:sys.boot_completed=1 + write /sys/devices/system/cpu/cpu0/cpuidle/state1/disable 0 + write /sys/devices/system/cpu/cpu0/cpuidle/state2/disable 0 + write /sys/devices/system/cpu/cpu0/cpuidle/state3/disable 0 + write /sys/devices/system/cpu/cpu0/cpuidle/state4/disable 0 + write /sys/devices/system/cpu/cpu0/cpuidle/state5/disable 0 + write /sys/devices/system/cpu/cpu0/cpuidle/state6/disable 0 + write /sys/devices/system/cpu/cpu0/cpuidle/state7/disable 0 + write /sys/devices/system/cpu/cpu1/cpuidle/state1/disable 0 + write /sys/devices/system/cpu/cpu1/cpuidle/state2/disable 0 + write /sys/devices/system/cpu/cpu1/cpuidle/state3/disable 0 + write /sys/devices/system/cpu/cpu1/cpuidle/state4/disable 0 + write /sys/devices/system/cpu/cpu1/cpuidle/state5/disable 0 + write /sys/devices/system/cpu/cpu1/cpuidle/state6/disable 0 + write /sys/devices/system/cpu/cpu1/cpuidle/state7/disable 0 + write /sys/devices/system/cpu/cpu2/cpuidle/state1/disable 0 + write /sys/devices/system/cpu/cpu2/cpuidle/state2/disable 0 + write /sys/devices/system/cpu/cpu2/cpuidle/state3/disable 0 + write /sys/devices/system/cpu/cpu2/cpuidle/state4/disable 0 + write /sys/devices/system/cpu/cpu2/cpuidle/state5/disable 0 + write /sys/devices/system/cpu/cpu2/cpuidle/state6/disable 0 + write /sys/devices/system/cpu/cpu2/cpuidle/state7/disable 0 + write /sys/devices/system/cpu/cpu3/cpuidle/state1/disable 0 + write /sys/devices/system/cpu/cpu3/cpuidle/state2/disable 0 + write /sys/devices/system/cpu/cpu3/cpuidle/state3/disable 0 + write /sys/devices/system/cpu/cpu3/cpuidle/state4/disable 0 + write /sys/devices/system/cpu/cpu3/cpuidle/state5/disable 0 + write /sys/devices/system/cpu/cpu3/cpuidle/state6/disable 0 + write /sys/devices/system/cpu/cpu3/cpuidle/state7/disable 0 + +############################################################## +# Source: device/intel/mixins/groups/bluetooth/btusb/init.rc +############################################################## +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 + +service dhcpcd_bt-pan /system/bin/dhcpcd -ABKL + disabled + oneshot + +service iprenew_bt-pan /system/bin/dhcpcd -n + disabled + oneshot + +on boot + insmod /vendor/lib/modules/kernel/crypto/ecdh_generic.ko + insmod /vendor/lib/modules/kernel/net/bluetooth/bluetooth.ko + insmod /vendor/lib/modules/kernel/drivers/bluetooth/btintel.ko + insmod /vendor/lib/modules/kernel/drivers/bluetooth/btbcm.ko + insmod /vendor/lib/modules/kernel/drivers/bluetooth/btrtl.ko + insmod /vendor/lib/modules/kernel/drivers/bluetooth/btusb.ko +############################################################## +# Source: device/intel/mixins/groups/config-partition/enabled/init.rc +############################################################## +# Enable SELinux labeling +on post-fs + restorecon_recursive /vendor/oem_config +############################################################## +# Source: device/intel/mixins/groups/factory-partition/true/init.rc +############################################################## +# init.rc for telephony services specific to flashless platforms using /vendor/factory partition + + +on post-fs + restorecon_recursive /vendor/factory + trigger post-fs-factory +############################################################## +# Source: device/intel/mixins/groups/boot-arch/project-celadon/init.rc +############################################################## +service watchdogd /sbin/watchdogd + user root + class core + oneshot + seclabel u:r:watchdogd:s0 + +on charger + start watchdogd +############################################################## +# Source: device/intel/mixins/groups/audio/project-celadon/init.rc +############################################################## +on boot + insmod /vendor/lib/modules/kernel/sound/drivers/snd-dummy.ko + +############################################################## +# Source: device/intel/mixins/groups/wlan/iwlwifi/init.rc +############################################################## +on post-fs-data + setprop wifi.interface wlan0 + setprop wifi.direct.interface p2p-dev-wlan0 + + # create config WiFi NVM folder + mkdir /oem_config/wlan 0770 wifi system + +on zygote-start + # Create the directories used by the Wireless subsystem + mkdir /data/vendor/wifi 0771 wifi wifi + mkdir /data/vendor/wifi/wpa 0770 wifi wifi + mkdir /data/vendor/wifi/wpa/sockets 0770 wifi wifi + +service wpa_supplicant /vendor/bin/hw/wpa_supplicant \ + -O/data/vendor/wifi/wpa/sockets -puse_p2p_group_interface=1 \ + -g@android:wpa_wlan0 +# we will start as root and wpa_supplicant will switch to user wifi +# after setting up the capabilities required for WEXT +# user wifi +# group wifi inet keystore + interface android.hardware.wifi.supplicant@1.0::ISupplicant default + interface android.hardware.wifi.supplicant@1.1::ISupplicant default + class main + socket wpa_wlan0 dgram 660 wifi wifi + disabled + oneshot + + +service dhcpcd_wlan0 /system/bin/dhcpcd -ABDKL + class main + disabled + oneshot + +service iprenew_wlan0 /system/bin/dhcpcd -n + class main + disabled + oneshot + +service dhcpcd_p2p /system/bin/dhcpcd -aABKL + disabled + oneshot + +service iprenew_p2p /system/bin/dhcpcd -n + disabled + oneshot + +on boot + insmod /vendor/lib/modules/kernel/net/wireless/cfg80211.ko + insmod /vendor/lib/modules/kernel/net/mac80211/mac80211.ko + insmod /vendor/lib/modules/kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko + insmod /vendor/lib/modules/kernel/drivers/net/wireless/intel/iwlwifi/mvm/iwlmvm.ko +############################################################## +# Source: device/intel/mixins/groups/cpuset/autocores/init.rc +############################################################## +on early-boot + # execute script to set initial CPU settings + # don't run as a service to avoid race conditions + exec - root system -- /vendor/bin/config_cpuset.sh +############################################################## +# Source: device/intel/mixins/groups/rfkill/true/init.rc +############################################################## +on boot + insmod ${ro.boot.moduleslocation}/rfkill-gpio.ko + start rfkill-init + +service rfkill-init /vendor/bin/rfkill-init.sh + disabled + user system + group system + oneshot +############################################################## +# Source: device/intel/mixins/groups/usb/host+acc/init.rc +############################################################## +on boot + write /sys/devices/pci0000\:00/0000\:00\:14.0/power/control auto + write /sys/devices/pci0000\:00/0000\:00\:15.0/power/control auto + write /sys/devices/pci0000\:00/0000\:00\:15.0/usb1/1-3/power/control auto + +on charger + write /sys/devices/pci0000\:00/0000\:00\:14.0/power/control auto + +on post-fs + insmod /vendor/lib/modules/kernel/drivers/usb/serial/usbserial.ko + insmod /vendor/lib/modules/kernel/drivers/usb/serial/pl2303.ko + insmod /vendor/lib/modules/kernel/drivers/usb/serial/ftdi_sio.ko +############################################################## +# Source: device/intel/mixins/groups/thermal/thermal-daemon/init.rc +############################################################## +service thermal-daemon /system/vendor/bin/thermal-daemon --config-file /system/vendor/etc/thermal-daemon/thermal-conf.xml + class main + user system + group system + +on boot + chown system system /sys/devices/system/cpu/intel_pstate/max_perf_pct + chown system system /sys/devices/system/cpu/intel_pstate/min_perf_pct + chown system system /sys/devices/system/cpu/intel_pstate/no_turbo + chown system system /sys/class/powercap/intel-rapl:0/enabled + chown system system /sys/class/powercap/intel-rapl:0/constraint_0_power_limit_uw + chown system system /sys/class/dmi/id/product_uuid + chown system system /sys/class/dmi/id/product_name + chown system system /system/vendor/etc/ + chown system system /system/vendor/etc/thermal-daemon/thermal-conf.xml + restorecon_recursive /sys/class/powercap + +on post-fs-data + setprop persist.thermal.mode thermal-daemon + mkdir /data/vendor/thermal-daemon 0660 system system + start thermal-daemon + +############################################################## +# Source: device/intel/mixins/groups/pstore/ram_dummy/init.rc +############################################################## +on fs + mkdir /dev/pstore 0700 5001 root + mount pstore pstore /dev/pstore + +on post-fs-data + mkdir /data/dontpanic 0770 root log + +service pstore-clean /system/vendor/bin/pstore-clean + user 5001 + group root log + class late_start + oneshot + +on property:init.svc.pstore-clean=stopped + umount /dev/pstore + rmdir /dev/pstore +############################################################## +# Source: device/intel/mixins/groups/debug-logs/true/init.rc +############################################################## +import /init.logs.rc +############################################################## +# Source: device/intel/mixins/groups/debug-crashlogd/true/init.rc +############################################################## +import /init.crashlogd.rc +############################################################## +# Source: device/intel/mixins/groups/debug-coredump/true/init.rc +############################################################## +import /init.coredump.rc +############################################################## +# Source: device/intel/mixins/groups/trusty/true/init.rc +############################################################## +on fs + # Update device node r/w attribute + chown system system /dev/trusty-ipc-dev0 + chmod 666 /dev/trusty-ipc-dev0 + +on post-fs-data + mkdir /data/vendor/securestorage 0700 system system + chmod 666 /dev/rpmb0 + +on early-boot + start storageproxyd + +service storageproxyd /vendor/bin/storageproxyd -d /dev/trusty-ipc-dev0 -p /data/vendor/securestorage -r /dev/rpmb0 + user system + group system + +############################################################## +# Source: device/intel/mixins/groups/midi/true/init.rc +############################################################## +on property:sys.usb.config=midi + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 8087 + write /sys/class/android_usb/android0/idProduct 0a67 + write /sys/class/android_usb/android0/functions ${sys.usb.config} + write /sys/class/android_usb/android0/enable 1 + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=midi,adb + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 8087 + write /sys/class/android_usb/android0/idProduct 0a65 + write /sys/class/android_usb/android0/functions ${sys.usb.config} + write /sys/class/android_usb/android0/enable 1 + start adbd + setprop sys.usb.state ${sys.usb.config} +############################################################## +# Source: device/intel/mixins/groups/swap/zram/init.rc +############################################################## + +on boot + # Read one page at a time for swap (default is 8) + write /proc/sys/vm/page-cluster 0 + +on post-fs-data + # Enable swaps described in the fstab + swapon_all /fstab.${ro.hardware} +############################################################## +# Source: device/intel/mixins/groups/debug-kernel/default/init.rc +############################################################## +import /init.kernel.rc +############################################################## +# Source: device/intel/mixins/groups/disk-encryption/default/init.rc +############################################################## +# This _should_ be the very last thing that happens in +# the device's 'on post-fs-data' sections. Since we compose +# init scripts from various snippets with mixins, we need to +# ensure this is included last in the mixin-update by listing +# disk-encryption as LAST in the mixin spec file. +on post-fs-data + setprop vold.post_fs_data_done 1 +# ------------------ END MIX-IN DEFINITIONS ------------------ +# Enable native bridge for target executables +on early-init + mount binfmt_misc binfmt_misc /proc/sys/fs/binfmt_misc + +on property:ro.enable.native.bridge.exec=1 + copy /vendor/etc/binfmt_misc/arm_exe /proc/sys/fs/binfmt_misc/register + copy /vendor/etc/binfmt_misc/arm_dyn /proc/sys/fs/binfmt_misc/register + +on property:ro.enable.native.bridge.exec64=1 + copy /vendor/etc/binfmt_misc/arm64_exe /proc/sys/fs/binfmt_misc/register + copy /vendor/etc/binfmt_misc/arm64_dyn /proc/sys/fs/binfmt_misc/register + +on boot +service nativebridge /system/bin/enable_nativebridge + +on property:persist.sys.nativebridge=1 + mkdir /data/arm 0775 system system + start nativebridge + +on property:persist.sys.nativebridge=0 + stop nativebridge diff --git a/cel_kbl/init.recovery.rc b/cel_kbl/init.recovery.rc new file mode 100644 index 000000000..69efdba14 --- /dev/null +++ b/cel_kbl/init.recovery.rc @@ -0,0 +1,82 @@ +# ----------------- BEGIN MIX-IN DEFINITIONS ----------------- +# Mix-In definitions are auto-generated by mixin-update +############################################################## +# Source: device/intel/mixins/groups/disk-bus/auto/init.recovery.rc +############################################################## +on init + # Android creates by-name disk links with the disk controller + # in the generated path, so that the names pulled out of the GPT + # can be associated with the correct disk. Create a shortcut to + # /dev/block/by-name so that we can use the same fstabs everywhere. + exec u:r:set_storage:s0 root root -- /sbin/set_storage + symlink /dev/block/pci/pci0000:00/0000:00:1c.0/by-name /dev/block/by-name +############################################################## +# Source: device/intel/mixins/groups/ethernet/dhcp/init.recovery.rc +############################################################## + +service dhcpcd_eth0 /system/bin/dhcpcd -ABDKL eth0 + class main + disabled + oneshot + seclabel u:r:dhcp:s0 + +on post-fs-data + start dhcpcd_eth0 + +############################################################## +# Source: device/intel/mixins/groups/debugfs/default/init.recovery.rc +############################################################## +on early-init + # Mount debugfs and make it writable so that debuggerd can + # create stack traces, required with newer kernels + mount debugfs debugfs /sys/kernel/debug + chmod 0755 /sys/kernel/debug + +on early-boot + # Needed by surfaceflinger to enable it to open trace_marker + # on start without file permissions error. + chmod 0222 /sys/kernel/debug/tracing/trace_marker + # tracefs is mounted after 1st access to it + chmod 0755 /sys/kernel/debug/tracing +############################################################## +# Source: device/intel/mixins/groups/usb-gadget/g_ffs/init.recovery.rc +############################################################## +on boot + mkdir /config 0500 root root + mount configfs none /config + mkdir /config/usb_gadget/g1 0770 shell shell + write /config/usb_gadget/g1/idVendor 0x18d1 + mkdir /config/usb_gadget/g1/strings/0x409 0770 + write /config/usb_gadget/g1/strings/0x409/serialnumber ${ro.serialno} + write /config/usb_gadget/g1/strings/0x409/manufacturer ${ro.product.manufacturer} + write /config/usb_gadget/g1/strings/0x409/product ${ro.product.model} + mkdir /config/usb_gadget/g1/functions/ffs.adb + mkdir /config/usb_gadget/g1/configs/b.1 0770 shell shell + mkdir /config/usb_gadget/g1/configs/b.1/strings/0x409 0770 shell shell + write /config/usb_gadget/g1/configs/b.1/MaxPower 500 + mkdir /dev/usb-ffs 0770 shell shell + mkdir /dev/usb-ffs/adb 0770 shell shell + mount functionfs adb /dev/usb-ffs/adb uid=2000,gid=2000 + setprop sys.usb.configfs 1 + setprop sys.usb.controller dwc3.0.auto + +on property:sys.usb.config=none && property:sys.usb.configfs=1 + setprop sys.usb.ffs.ready 0 + +on property:sys.usb.ffs.ready=1 + symlink /config/usb_gadget/g1/configs/b.1 /config/usb_gadget/g1/os_desc/b.1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "adb" + symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f1 + write /config/usb_gadget/g1/UDC dwc3.0.auto +############################################################## +# Source: device/intel/mixins/groups/boot-arch/project-celadon/init.recovery.rc +############################################################## +service watchdogd /sbin/watchdogd + user root + class core + oneshot + seclabel u:r:watchdogd:s0 + +on boot + start watchdogd +# ------------------ END MIX-IN DEFINITIONS ------------------ diff --git a/cel_kbl/installer.cmd b/cel_kbl/installer.cmd new file mode 100644 index 000000000..ea2250dea --- /dev/null +++ b/cel_kbl/installer.cmd @@ -0,0 +1,28 @@ +# ----------------- BEGIN MIX-IN DEFINITIONS ----------------- +# Mix-In definitions are auto-generated by mixin-update +############################################################## +# Source: device/intel/mixins/groups/boot-arch/project-celadon/installer.cmd +############################################################## +flashing unlock +flash gpt gpt.bin +erase misc +erase persistent +erase metadata +format config +format data +flash bootloader bootloader +flash vbmeta_a vbmeta.img +flash vbmeta_b vbmeta.img +flash boot_a boot.img +flash boot_b boot.img +flash tos_a tos.img +flash tos_b tos.img +flash system_a system.img +flash system_b system.img +flash vendor_a vendor.img +flash vendor_b vendor.img +flash factory factory.img +set_active a +flashing lock +continue +# ------------------ END MIX-IN DEFINITIONS ------------------ diff --git a/cel_kbl/mixins.spec b/cel_kbl/mixins.spec new file mode 100644 index 000000000..8ab2b5234 --- /dev/null +++ b/cel_kbl/mixins.spec @@ -0,0 +1,62 @@ +[main] +mixinsdir: device/intel/mixins/groups + +[mapping] +product.mk: device.mk + +[groups] +device-specific: cel_kbl +treble: true +vndk: true +2ndstage: oemvars +project-celadon: default +sepolicy: enforcing +graphics: mesa(gralloc1=true,gen9+=true,hwc2=true,vulkan=true,drmhwc=false,minigbm=true) +media: project-celadon(mediasdk=false,media_sdk_source=false) +ethernet: dhcp +debugfs: default +storage: sdcard-mmc0-usb-sd(adoptablesd=true,adoptableusb=true) +display-density: default +usb-gadget: g_ffs +adb_net: true +kernel: project-celadon(loglevel=3, disable_cpuidle_on_boot=true, external_modules=perftools-external/soc_perf_driver/src perftools-external/socwatch_driver) +bluetooth: btusb (ivi=true) +boot-arch: project-celadon(bootloader_policy=0x0,bootloader_len=60,magic_key_timeout=80,assume_bios_secure_boot=true,tos_partition=true,rpmb_simulate=true,disk_encryption=false,file_encryption=true,ignore_not_applicable_reset=true,self_usb_device_mode_protocol=true) +audio: project-celadon +wlan: iwlwifi +cpu-arch: skl +cpuset: autocores +rfkill: true(force_disable=) +dexpreopt: enabled +disk-bus: auto +usb: host+acc +lights: true +thermal: thermal-daemon +config-partition: enabled +vendor-partition: true +factory-partition: true +pstore: ram_dummy(address=0x50000000,size=0x400000,record_size=0x4000,console_size=0x200000,ftrace_size=0x2000,dump_oops=1) +debug-crashlogd: true +debug-logs: true +debug-coredump: true +debug-phonedoctor: true +debug-tools: true +flashfiles: ini(oemvars=false,version=3.0,fastboot_min_battery_level=false,installer=true,timeout=1200000) +midi: true +trusty: true(enable_hw_sec=true,enable_storage_proxyd=true,ref_target=project-celadon_kbl) +slcan: default +ioc-slcan-reboot: false +camera-ext: ext-camera-only +memtrack: true +touch: galax7200 +avb: true +health: true +slot-ab: true +art-config: default +gptbuild: true(size=14G,generate_craff=false) +device-type: car +swap:zram(size=1073741824,swappiness=false,hardware=cel_kbl) +power: true +firststage-mount: true +default-drm: true +load_modules: true diff --git a/cel_kbl/system.prop b/cel_kbl/system.prop new file mode 100644 index 000000000..df3ddf7e2 --- /dev/null +++ b/cel_kbl/system.prop @@ -0,0 +1,8 @@ +# +# system.prop for cel_kbl +# + +audio.safemedia.bypass=true +persist.bluetooth.enablenewavrcp=false +media.settings.xml=/vendor/etc/media_profiles.xml +ro.crypto.volume.filenames_mode=aes-256-cts diff --git a/cel_kbl/ueventd.rc b/cel_kbl/ueventd.rc new file mode 100644 index 000000000..46452628f --- /dev/null +++ b/cel_kbl/ueventd.rc @@ -0,0 +1,86 @@ +# ----------------- BEGIN MIX-IN DEFINITIONS ----------------- +# Mix-In definitions are auto-generated by mixin-update +############################################################## +# Source: device/intel/mixins/groups/disk-bus/auto/ueventd.rc +############################################################## +/dev/block/*/*/*/by-name/persistent 0660 system system +############################################################## +# Source: device/intel/mixins/groups/project-celadon/default/ueventd.rc +############################################################## +/sys/devices/system/cpu/cpu* online 0664 system system + +# Camera +/dev/v4l-subdev* 0660 camera system +/dev/ipu-psys* 0660 camera system + +# rfkill node +/dev/rfkill 0660 bluetooth bluetooth + +/dev/ttyS* 0660 system radio + +# NFCC node +/dev/nfcc 0660 nfc nfc + +# modem tty node change to radio user can read and write +/dev/gsmtty* 0660 system radio +/dev/ttyMFD* 0660 system radio +/dev/ttyACM* 0660 system radio +/dev/ttyPTI1 0660 root radio +/dev/ttyGS0 0660 root radio +/dev/mdmTrace 0660 root radio +/dev/mdm_ctrl* 0660 root radio +/dev/ttyIFX0 0660 root radio +/dev/ttyIFX1 0660 root radio +/dev/ttyUSB* 0660 radio radio +/dev/iio:device* 0660 system system +/dev/radio0 0660 bluetooth audio + +/sys/devices/pci0000:00/0000:00:02.0/drm/card*/card*/intel_backlight brightness 0644 system system +############################################################## +# Source: device/intel/mixins/groups/graphics/mesa/ueventd.rc +############################################################## +/dev/sw_sync 0666 system mediadrm +/dev/dri 0666 root graphics +/dev/dri/card0 0666 root graphics +/dev/graphics 0660 root graphics +/dev/graphics/fb0 0660 root graphics +/dev/dri/controlD64 0660 root graphics +############################################################## +# Source: device/intel/mixins/groups/media/project-celadon/ueventd.rc +############################################################## +/dev/media* 0660 media system +/dev/video* 0660 media system +############################################################## +# Source: device/intel/mixins/groups/bluetooth/btusb/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 +############################################################## +# 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/rfkill/true/ueventd.rc +############################################################## +# rfkill node +/dev/rfkill 0660 bluetooth system +############################################################## +# Source: device/intel/mixins/groups/lights/true/ueventd.rc +############################################################## +# i915 backlight driver +/sys/devices/pci0000:00/0000:00:02.0/drm/card*/card*/intel_backlight brightness 0644 system system + +############################################################## +# Source: device/intel/mixins/groups/trusty/true/ueventd.rc +############################################################## +/dev/block/pci/pci0000:00/0000:00:*.0/by-name/teedata 0660 system system +############################################################## +# Source: device/intel/mixins/groups/camera-ext/ext-camera-only/ueventd.rc +############################################################## +# Camera +/dev/video* 0660 system camera +/dev/media* 0660 system camera +# ------------------ END MIX-IN DEFINITIONS ------------------ diff --git a/cel_kbl/vendorsetup.sh b/cel_kbl/vendorsetup.sh new file mode 100644 index 000000000..4251ea1b0 --- /dev/null +++ b/cel_kbl/vendorsetup.sh @@ -0,0 +1,3 @@ +add_lunch_combo cel_kbl-eng +add_lunch_combo cel_kbl-userdebug +add_lunch_combo cel_kbl-user diff --git a/celadon/AndroidBoard.mk b/celadon/AndroidBoard.mk new file mode 100644 index 000000000..aff6a21c9 --- /dev/null +++ b/celadon/AndroidBoard.mk @@ -0,0 +1,603 @@ +# ----------------- BEGIN MIX-IN DEFINITIONS ----------------- +# Mix-In definitions are auto-generated by mixin-update +############################################################## +# Source: device/intel/mixins/groups/project-celadon/default/AndroidBoard.mk +############################################################## +droid: flashfiles + -$(hide) $(ACP) $(out_flashfiles) $(DIST_DIR) +############################################################## +# Source: device/intel/mixins/groups/sepolicy/enforcing/AndroidBoard.mk +############################################################## +include $(CLEAR_VARS) +LOCAL_MODULE := sepolicy-areq-checker +LOCAL_REQUIRED_MODULES := sepolicy + +# +# On user builds, enforce that open tickets are considered violations. +# +ifeq ($(TARGET_BUILD_VARIANT),user) +LOCAL_USER_OPTIONS := -i +endif + +LOCAL_POST_INSTALL_CMD := $(INTEL_PATH_SEPOLICY)/tools/capchecker $(LOCAL_USER_OPTIONS) -p $(INTEL_PATH_SEPOLICY)/tools/caps.conf $(TARGET_ROOT_OUT)/sepolicy + +include $(BUILD_PHONY_PACKAGE) +############################################################## +# Source: device/intel/mixins/groups/graphics/mesa/AndroidBoard.mk +############################################################## +ifneq ($(TARGET_BOARD_PLATFORM),kabylake) +I915_FW_PATH := ./$(INTEL_PATH_VENDOR)/ufo/gen9_dev/x86_64_media/vendor/firmware/i915 +else +I915_FW_PATH := ./$(INTEL_PATH_VENDOR)/ufo/gen9_dev/x86_64_media_kbl/vendor/firmware/i915 +endif +#list of i915/huc_xxx.bin i915/dmc_xxx.bin i915/guc_xxx.bin +$(foreach t, $(patsubst $(I915_FW_PATH)/%,%,$(wildcard $(I915_FW_PATH)/*)) ,$(eval I915_FW += i915/$(t)) $(eval $(LOCAL_KERNEL) : $(PRODUCT_OUT)/vendor/firmware/i915/$(t))) + +_EXTRA_FW_ += $(I915_FW) + +############################################################## +# Source: device/intel/mixins/groups/slot-ab/true/AndroidBoard.mk +############################################################## + +make_dir_slot_ab: + @mkdir -p $(PRODUCT_OUT)/root/boot + @mkdir -p $(PRODUCT_OUT)/root/misc + @mkdir -p $(PRODUCT_OUT)/root/persistent + @mkdir -p $(PRODUCT_OUT)/root/metadata + +$(PRODUCT_OUT)/ramdisk.img: make_dir_slot_ab +############################################################## +# Source: device/intel/mixins/groups/kernel/project-celadon/AndroidBoard.mk +############################################################## +ifneq ($(TARGET_PREBUILT_KERNEL),) +$(error TARGET_PREBUILT_KERNEL defined but AndroidIA kernels build from source) +endif + +TARGET_KERNEL_SRC ?= kernel/project-celadon + +TARGET_KERNEL_ARCH := x86_64 +TARGET_KERNEL_CONFIG ?= kernel_64_defconfig + +KERNEL_CONFIG_DIR := device/intel/project-celadon/kernel_config + +KERNEL_NAME := bzImage + +# Set the output for the kernel build products. +KERNEL_OUT := $(abspath $(TARGET_OUT_INTERMEDIATES)/kernel) +KERNEL_BIN := $(KERNEL_OUT)/arch/$(TARGET_KERNEL_ARCH)/boot/$(KERNEL_NAME) +KERNEL_MODULES_INSTALL := $(PRODUCT_OUT)/$(TARGET_COPY_OUT_VENDOR)/lib/modules + +KERNELRELEASE = $(shell cat $(KERNEL_OUT)/include/config/kernel.release) + +KMOD_OUT := $(shell readlink -f "$(PRODUCT_OUT)/$(TARGET_COPY_OUT_VENDOR)") + +build_kernel := $(MAKE) -C $(TARGET_KERNEL_SRC) \ + O=$(KERNEL_OUT) \ + ARCH=$(TARGET_KERNEL_ARCH) \ + CROSS_COMPILE="$(KERNEL_CROSS_COMPILE_WRAPPER)" \ + KCFLAGS="$(KERNEL_CFLAGS)" \ + KAFLAGS="$(KERNEL_AFLAGS)" \ + $(if $(SHOW_COMMANDS),V=1) \ + INSTALL_MOD_PATH=$(KMOD_OUT) + +KERNEL_CONFIG_FILE := device/intel/project-celadon/kernel_config/$(TARGET_KERNEL_CONFIG) + +ifneq ($(TARGET_BUILD_VARIANT), user) +KERNEL_CONFIG_FILE += $(wildcard $(KERNEL_CONFIG_DIR)/debug_diffconfig) +endif + +KERNEL_CONFIG := $(KERNEL_OUT)/.config +$(KERNEL_CONFIG): $(KERNEL_CONFIG_FILE) + $(hide) mkdir -p $(@D) && cat $(wildcard $^) > $@ + $(build_kernel) oldnoconfig + +# Produces the actual kernel image! +$(PRODUCT_OUT)/kernel: $(KERNEL_CONFIG) | $(ACP) + $(build_kernel) $(KERNEL_NAME) modules + $(hide) $(ACP) -fp $(KERNEL_BIN) $@ + +EXTMOD_SRC := ../../../../../.. + +TARGET_EXTRA_KERNEL_MODULES := $(EXTMOD_SRC)/kernel/modules/perftools-external/soc_perf_driver/src +TARGET_EXTRA_KERNEL_MODULES += $(EXTMOD_SRC)/kernel/modules/perftools-external/socwatch_driver + +ALL_EXTRA_MODULES := $(patsubst %,$(TARGET_OUT_INTERMEDIATES)/kmodule/%,$(TARGET_EXTRA_KERNEL_MODULES)) +$(ALL_EXTRA_MODULES): $(TARGET_OUT_INTERMEDIATES)/kmodule/%: $(PRODUCT_OUT)/kernel + @echo Building additional kernel module $* + $(build_kernel) M=$(abspath $@) modules + +# Copy modules in directory pointed by $(KERNEL_MODULES_ROOT) +# First copy modules keeping directory hierarchy lib/modules/`uname-r`for libkmod +# Second, create flat hierarchy for insmod linking to previous hierarchy +$(KERNEL_MODULES_INSTALL): $(PRODUCT_OUT)/kernel $(ALL_EXTRA_MODULES) + $(hide) rm -rf $(PRODUCT_OUT)/$(TARGET_COPY_OUT_VENDOR)/lib/modules + $(build_kernel) modules_install + $(hide) for kmod in $(TARGET_EXTRA_KERNEL_MODULES) ; do \ + echo Installing additional kernel module $${kmod} ; \ + $(subst +,,$(subst $(hide),,$(build_kernel))) M=$(abspath $(TARGET_OUT_INTERMEDIATES))/kernel/$${kmod} modules_install ; \ + done + $(hide) rm -f $(PRODUCT_OUT)/$(TARGET_COPY_OUT_VENDOR)/lib/modules/*/{build,source} + $(hide) mv $(PRODUCT_OUT)/$(TARGET_COPY_OUT_VENDOR)/lib/modules/$(KERNELRELEASE)/* $(PRODUCT_OUT)/$(TARGET_COPY_OUT_VENDOR)/lib/modules + $(hide) rm -rf $(PRODUCT_OUT)/$(TARGET_COPY_OUT_VENDOR)/lib/modules/$(KERNELRELEASE) + $(hide) touch $@ + +# Makes sure any built modules will be included in the system image build. +ALL_DEFAULT_INSTALLED_MODULES += $(KERNEL_MODULES_INSTALL) + +installclean: FILES += $(KERNEL_OUT) $(PRODUCT_OUT)/kernel + +.PHONY: kernel +kernel: $(PRODUCT_OUT)/kernel +############################################################## +# Source: device/intel/mixins/groups/firststage-mount/true/AndroidBoard.mk +############################################################## +FIRST_STAGE_MOUNT_CFG_FILE := $(TARGET_DEVICE_DIR)/extra_files/firststage-mount/config.asl + +$(FIRSTSTAGE_MOUNT_SSDT): $(FIRST_STAGE_MOUNT_CFG_FILE) $(IASL) + $(hide) $(IASL) -p $(@:.aml=) $(FIRST_STAGE_MOUNT_CFG_FILE); +############################################################## +# Source: device/intel/mixins/groups/vendor-partition/true/AndroidBoard.mk +############################################################## + +# This is to ensure that kernel modules are installed before +# vendor.img is generated. +$(PRODUCT_OUT)/vendor.img : $(KERNEL_MODULES_INSTALL) + +make_dir_ab_vendor: + @mkdir -p $(PRODUCT_OUT)/root/vendor + +$(PRODUCT_OUT)/ramdisk.img: make_dir_ab_vendor +############################################################## +# Source: device/intel/mixins/groups/config-partition/enabled/AndroidBoard.mk +############################################################## +INSTALLED_CONFIGIMAGE_TARGET := $(PRODUCT_OUT)/config.img + +selinux_fc := $(TARGET_ROOT_OUT)/file_contexts.bin + +$(INSTALLED_CONFIGIMAGE_TARGET) : PRIVATE_SELINUX_FC := $(selinux_fc) +$(INSTALLED_CONFIGIMAGE_TARGET) : $(MKEXTUSERIMG) $(MAKE_EXT4FS) $(E2FSCK) $(selinux_fc) + $(call pretty,"Target config fs image: $(INSTALLED_CONFIGIMAGE_TARGET)") + @mkdir -p $(PRODUCT_OUT)/config + $(hide) PATH=$(HOST_OUT_EXECUTABLES):$$PATH \ + $(MKEXTUSERIMG) -s \ + $(PRODUCT_OUT)/config \ + $(PRODUCT_OUT)/config.img \ + ext4 \ + oem_config \ + $(BOARD_CONFIGIMAGE_PARTITION_SIZE) \ + $(PRIVATE_SELINUX_FC) + +INSTALLED_RADIOIMAGE_TARGET += $(INSTALLED_CONFIGIMAGE_TARGET) + +selinux_fc := + +selinux_fc := +.PHONY: configimage +configimage: $(INSTALLED_CONFIGIMAGE_TARGET) + +make_dir_ab_config: + @mkdir -p $(PRODUCT_OUT)/vendor/oem_config + +$(PRODUCT_OUT)/ramdisk.img: make_dir_ab_config +############################################################## +# Source: device/intel/mixins/groups/factory-partition/true/AndroidBoard.mk +############################################################## +INSTALLED_FACTORYIMAGE_TARGET := $(PRODUCT_OUT)/factory.img +selinux_fc := $(TARGET_ROOT_OUT)/file_contexts.bin + +$(INSTALLED_FACTORYIMAGE_TARGET) : PRIVATE_SELINUX_FC := $(selinux_fc) +$(INSTALLED_FACTORYIMAGE_TARGET) : $(MKEXTUSERIMG) $(MAKE_EXT4FS) $(E2FSCK) $(selinux_fc) + $(call pretty,"Target factory fs image: $(INSTALLED_FACTORYIMAGE_TARGET)") + @mkdir -p $(PRODUCT_OUT)/factory + $(hide) $(MKEXTUSERIMG) -s \ + $(PRODUCT_OUT)/factory \ + $(PRODUCT_OUT)/factory.img \ + ext4 \ + factory \ + $(BOARD_FACTORYIMAGE_PARTITION_SIZE) \ + $(PRIVATE_SELINUX_FC) + +INSTALLED_RADIOIMAGE_TARGET += $(INSTALLED_FACTORYIMAGE_TARGET) + +selinux_fc := + +.PHONY: factoryimage +factoryimage: $(INSTALLED_FACTORYIMAGE_TARGET) + +make_dir_ab_factory: + @mkdir -p $(PRODUCT_OUT)/vendor/factory + +$(PRODUCT_OUT)/ramdisk.img: make_dir_ab_factory +############################################################## +# 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 +############################################################## +src_loader_file := $(PRODUCT_OUT)/efi/kernelflinger.efi +tgt_loader_file := $(PRODUCT_OUT)/loader.efi + +define generate_flashfiles +$(shell cp $(src_loader_file) $(tgt_loader_file)) +zip -qj $(1) $(2) $(tgt_loader_file) +endef + +ifneq ($(BUILD_NUMBER),) +out_flashfiles := $(PRODUCT_OUT)/$(TARGET_PRODUCT)-flashfiles-$(BUILD_NUMBER).zip +else +out_flashfiles := $(PRODUCT_OUT)/$(TARGET_PRODUCT).flashfiles.$(TARGET_BUILD_VARIANT).$(USER).zip +endif + + +$(PRODUCT_OUT)/efi/startup.nsh: $(TARGET_DEVICE_DIR)/extra_files/boot-arch/$(@F) + $(ACP) $(TARGET_DEVICE_DIR)/extra_files/boot-arch/$(@F) $@ + sed -i '/#/d' $@ + +$(PRODUCT_OUT)/efi/unlock_device.nsh: $(TARGET_DEVICE_DIR)/extra_files/boot-arch/$(@F) + $(ACP) $(TARGET_DEVICE_DIR)/extra_files/boot-arch/$(@F) $@ + sed -i '/#/d' $@ + +$(PRODUCT_OUT)/efi/efivar_oemlock: $(TARGET_DEVICE_DIR)/$(@F) + $(ACP) $(TARGET_DEVICE_DIR)/$(@F) $@ + +$(out_flashfiles): $(BOARD_FLASHFILES) | $(ACP) + $(call generate_flashfiles,$@, $^) + + +.PHONY: flashfiles_simple +flashfiles_simple: $(out_flashfiles) + +# 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 + +# (pulled from build/core/Makefile as this gets defined much later) +# Pick a reasonable string to use to identify files. +ifneq "" "$(filter eng.%,$(BUILD_NUMBER))" +# BUILD_NUMBER has a timestamp in it, which means that +# it will change every time. Pick a stable value. +FILE_NAME_TAG := eng.$(USER) +else +FILE_NAME_TAG := $(BUILD_NUMBER) +endif + +BOARD_FIRST_STAGE_LOADER := $(PRODUCT_OUT)/efi/kernelflinger.efi +BOARD_EXTRA_EFI_MODULES := + +# We stash a copy of BIOSUPDATE.fv so the FW sees it, applies the +# update, and deletes the file. Follows Google's desire to update all +# bootloader pieces with a single "fastboot flash bootloader" command. +# Since it gets deleted we can't do incremental updates of it, we keep +# a copy as capsules/current.fv for this purpose. +intermediates := $(call intermediates-dir-for,PACKAGING,bootloader_zip) +bootloader_zip := $(intermediates)/bootloader.zip +$(bootloader_zip): intermediates := $(intermediates) +$(bootloader_zip): efi_root := $(intermediates)/root +$(bootloader_zip): \ + $(TARGET_DEVICE_DIR)/AndroidBoard.mk \ + $(BOARD_FIRST_STAGE_LOADER) \ + $(BOARD_EXTRA_EFI_MODULES) \ + $(BOARD_SFU_UPDATE) \ + | $(ACP) \ + + $(hide) rm -rf $(efi_root) + $(hide) rm -f $@ + $(hide) mkdir -p $(efi_root)/capsules + $(hide) mkdir -p $(efi_root)/EFI/BOOT + $(foreach EXTRA,$(BOARD_EXTRA_EFI_MODULES), \ + $(hide) $(ACP) $(EXTRA) $(efi_root)/) +ifneq ($(BOARD_SFU_UPDATE),) + $(hide) $(ACP) $(BOARD_SFU_UPDATE) $(efi_root)/BIOSUPDATE.fv + $(hide) $(ACP) $(BOARD_SFU_UPDATE) $(efi_root)/capsules/current.fv +endif + $(hide) $(ACP) $(BOARD_FIRST_STAGE_LOADER) $(efi_root)/loader.efi + $(hide) $(ACP) $(BOARD_FIRST_STAGE_LOADER) $(efi_root)/EFI/BOOT/$(efi_default_name) + $(hide) echo "Android-IA=\\EFI\\BOOT\\$(efi_default_name)" > $(efi_root)/manifest.txt +ifeq ($(BOARD_BOOTOPTION_FASTBOOT),true) + $(hide) echo "Fastboot=\\EFI\\BOOT\\$(efi_default_name);-f">> $(efi_root)/manifest.txt +endif + $(hide) (cd $(efi_root) && zip -qry ../$(notdir $@) .) + +bootloader_info := $(intermediates)/bootloader_image_info.txt +$(bootloader_info): + $(hide) mkdir -p $(dir $@) + $(hide) echo "size=$(BOARD_BOOTLOADER_PARTITION_SIZE)" > $@ + $(hide) echo "block_size=$(BOARD_BOOTLOADER_BLOCK_SIZE)" >> $@ + +INSTALLED_RADIOIMAGE_TARGET += $(bootloader_zip) $(bootloader_info) + +# Rule to create $(OUT)/bootloader image, binaries within are signed with +# testing keys + +BOOTLOADER_FROM_ZIP = device/intel/build/bootloader_from_zip + +bootloader_bin := $(PRODUCT_OUT)/bootloader +$(bootloader_bin): \ + $(bootloader_zip) \ + $(IMG2SIMG) \ + $(BOOTLOADER_ADDITIONAL_DEPS) \ + $(BOOTLOADER_FROM_ZIP) \ + + $(hide) $(BOOTLOADER_FROM_ZIP) \ + --size $(BOARD_BOOTLOADER_PARTITION_SIZE) \ + --block-size $(BOARD_BOOTLOADER_BLOCK_SIZE) \ + $(BOOTLOADER_ADDITIONAL_ARGS) \ + --zipfile $(bootloader_zip) \ + $@ + +droidcore: $(bootloader_bin) + +.PHONY: bootloader +bootloader: $(bootloader_bin) +$(call dist-for-goals,droidcore,$(bootloader_bin):$(TARGET_PRODUCT)-bootloader-$(FILE_NAME_TAG)) + +fastboot_usb_bin := $(PRODUCT_OUT)/fastboot-usb.img +$(fastboot_usb_bin): \ + $(bootloader_zip) \ + $(BOOTLOADER_ADDITIONAL_DEPS) \ + $(BOOTLOADER_FROM_ZIP) \ + + $(hide) $(BOOTLOADER_FROM_ZIP) \ + $(BOOTLOADER_ADDITIONAL_ARGS) \ + --zipfile $(bootloader_zip) \ + --extra-size 10485760 \ + --bootable \ + $@ + +# Build when 'make' is run with no args +droidcore: $(fastboot_usb_bin) + +.PHONY: fastboot-usb +fastboot-usb: $(fastboot_usb_bin) + +$(call dist-for-goals,droidcore,$(fastboot_usb_bin):$(TARGET_PRODUCT)-fastboot-usb-$(FILE_NAME_TAG).img) +$(call dist-for-goals,droidcore,device/intel/build/testkeys/testkeys_lockdown.txt:test-keys_efi_lockdown.txt) +$(call dist-for-goals,droidcore,device/intel/build/testkeys/unlock.txt:efi_unlock.txt) + +ifeq ($(TARGET_BOOTLOADER_POLICY),$(filter $(TARGET_BOOTLOADER_POLICY),static external)) +# The bootloader policy is not built but is provided statically in the +# repository or in $(PRODUCT_OUT)/. +else +# Bootloader policy values are generated based on the +# TARGET_BOOTLOADER_POLICY value and the +# device/intel/build/testkeys/{odm,OAK} keys. The OEM must provide +# its own keys. +GEN_BLPOLICY_OEMVARS := device/intel/build/generate_blpolicy_oemvars +TARGET_ODM_KEY_PAIR := device/intel/build/testkeys/odm +TARGET_OAK_KEY_PAIR := device/intel/build/testkeys/OAK + +$(BOOTLOADER_POLICY_OEMVARS): + $(GEN_BLPOLICY_OEMVARS) -K $(TARGET_ODM_KEY_PAIR) \ + -O $(TARGET_OAK_KEY_PAIR).x509.pem -B $(TARGET_BOOTLOADER_POLICY) \ + $(BOOTLOADER_POLICY_OEMVARS) +endif + + +GPT_INI2BIN := ./device/intel/common/gpt_bin/gpt_ini2bin.py + +$(BOARD_GPT_BIN): $(TARGET_DEVICE_DIR)/gpt.ini + $(hide) $(GPT_INI2BIN) $< > $@ + $(hide) echo GEN $(notdir $@) + +# Use by updater_ab_esp +$(PRODUCT_OUT)/vendor.img: $(PRODUCT_OUT)/vendor/firmware/kernelflinger.efi +$(PRODUCT_OUT)/vendor/firmware/kernelflinger.efi: $(PRODUCT_OUT)/efi/kernelflinger.efi + $(ACP) $(PRODUCT_OUT)/efi/kernelflinger.efi $@ + +############################################################## +# Source: device/intel/mixins/groups/audio/project-celadon/AndroidBoard.mk +############################################################## +pfw_rebuild_settings := true +# Target specific audio configuration files +include device/intel/project-celadon/common/audio/AndroidBoard.mk +############################################################## +# Source: device/intel/mixins/groups/wlan/iwlwifi/AndroidBoard.mk +############################################################## +#LOCAL_KERNEL_PATH := $(abspath $(PRODUCT_OUT)/obj/kernel) is not defined yet +#$(abspath $(PRODUCT_OUT)/obj/kernel)/copy_modules: iwlwifi +############################################################## +# Source: device/intel/mixins/groups/trusty/true/AndroidBoard.mk +############################################################## +TOS_IMAGE_TARGET := $(TRUSTY_BUILDROOT)/evmm_lk_pkg.bin + +INTERNAL_PLATFORM := ikgt +LOCAL_MAKE := make + +# Build the evmm_pkg.bin and lk.bin +.PHONY: $(TOS_IMAGE_TARGET) +$(TOS_IMAGE_TARGET): + @echo "making lk.bin.." + $(hide) (cd $(TOPDIR)trusty && $(TRUSTY_ENV_VAR) $(LOCAL_MAKE) sand-x86-64) + @echo "making tos image.." + $(hide) (cd $(TOPDIR)vendor/intel/fw/evmm/$(INTERNAL_PLATFORM) && $(TRUSTY_ENV_VAR) $(LOCAL_MAKE)) + +#tos partition is assigned for trusty +INSTALLED_TOS_IMAGE_TARGET := $(PRODUCT_OUT)/tos.img +TOS_SIGNING_KEY := $(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_VERITY_SIGNING_KEY).pk8 +TOS_SIGNING_CERT := $(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_VERITY_SIGNING_KEY).x509.pem + +.PHONY: tosimage +tosimage: $(INSTALLED_TOS_IMAGE_TARGET) + +ifeq (true,$(BOARD_AVB_ENABLE)) # BOARD_AVB_ENABLE == true +$(INSTALLED_TOS_IMAGE_TARGET): $(TOS_IMAGE_TARGET) $(MKBOOTIMG) $(AVBTOOL) + @echo "mkbootimg to create boot image for TOS file: $@" + $(hide) $(MKBOOTIMG) --kernel $(TOS_IMAGE_TARGET) --output $@ + $(hide) $(AVBTOOL) add_hash_footer \ + --image $@ \ + --partition_size $(BOARD_TOSIMAGE_PARTITION_SIZE) \ + --partition_name tos $(INTERNAL_AVB_SIGNING_ARGS) +BOARD_AVB_MAKE_VBMETA_IMAGE_ARGS += --include_descriptors_from_image $(INSTALLED_TOS_IMAGE_TARGET) +$(PRODUCT_OUT)/vbmeta.img: $(INSTALLED_TOS_IMAGE_TARGET) +else +$(INSTALLED_TOS_IMAGE_TARGET): $(TOS_IMAGE_TARGET) $(MKBOOTIMG) $(BOOT_SIGNER) + @echo "mkbootimg to create boot image for TOS file: $@" + $(hide) $(MKBOOTIMG) --kernel $(TOS_IMAGE_TARGET) --output $@ + $(if $(filter true,$(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_SUPPORTS_BOOT_SIGNER)),\ + @echo "sign prebuilt TOS file: $@" &&\ + $(BOOT_SIGNER) /tos $@ $(TOS_SIGNING_KEY) $(TOS_SIGNING_CERT) $@) +endif + +INSTALLED_RADIOIMAGE_TARGET += $(INSTALLED_TOS_IMAGE_TARGET) + +make_dir_ab_tos: + @mkdir -p $(PRODUCT_OUT)/root/tos + +$(PRODUCT_OUT)/ramdisk.img: make_dir_ab_tos +############################################################## +# Source: device/intel/mixins/groups/flashfiles/ini/AndroidBoard.mk +############################################################## +ff_intermediates := $(call intermediates-dir-for,PACKAGING,flashfiles) + +# We need a copy of the flashfiles configuration ini in the +# TFP RADIO/ directory +ff_config := $(ff_intermediates)/flashfiles.ini +$(ff_config): $(FLASHFILES_CONFIG) | $(ACP) + $(copy-file-to-target) + +$(call add_variant_flashfiles,$(ff_intermediates)) + +INSTALLED_RADIOIMAGE_TARGET += $(ff_config) + + +$(call flashfile_add_blob,extra_script.edify,$(TARGET_DEVICE_DIR)/flashfiles/::variant::/extra_script.edify) + +# We take any required images that can't be derived elsewhere in +# the TFP and put them in RADIO/provdata.zip. +ff_intermediates := $(call intermediates-dir-for,PACKAGING,flashfiles) +provdata_zip := $(ff_intermediates)/provdata.zip +provdata_zip_deps := $(foreach pair,$(BOARD_FLASHFILES),$(call word-colon,1,$(pair))) +ff_root := $(ff_intermediates)/root + +define copy-flashfile +$(hide) $(ACP) -fp $(1) $(2) + +endef + +define deploy_provdata +$(eval ff_var := $(subst provdata,,$(basename $(notdir $(1))))) +$(hide) rm -f $(1) +$(hide) rm -rf $(ff_intermediates)/root$(ff_var) +$(hide) mkdir -p $(ff_intermediates)/root$(ff_var) +$(foreach pair,$(BOARD_FLASHFILES$(ff_var)), \ + $(call copy-flashfile,$(call word-colon,1,$(pair)),$(ff_intermediates)/root$(ff_var)/$(call word-colon,2,$(pair)))) +$(hide) zip -qj $(1) $(ff_intermediates)/root$(ff_var)/* +endef + +ifneq ($(FLASHFILE_VARIANTS),) +provdata_zip := +$(foreach var,$(FLASHFILE_VARIANTS), \ + $(eval provdata_zip += $(ff_intermediates)/provdata_$(var).zip) \ + $(eval BOARD_FLASHFILES_$(var) := $(BOARD_FLASHFILES)) \ + $(eval BOARD_FLASHFILES_$(var) += $(BOARD_FLASHFILES_FIRMWARE_$(var))) \ + $(eval provdata_zip_deps += $(foreach pair,$(BOARD_FLASHFILES_FIRMWARE_$(var)),$(call word-colon,1,$(pair))))) +else +$(eval BOARD_FLASHFILES += $(BOARD_FLASHFILES_FIRMWARE)) +$(eval provdata_zip_deps += $(foreach pair,$(BOARD_FLASHFILES_FIRMWARE),$(call word-colon,1,$(pair)))) +endif + +$(provdata_zip): $(provdata_zip_deps) | $(ACP) + $(call deploy_provdata,$@) + + +INSTALLED_RADIOIMAGE_TARGET += $(provdata_zip) + +############################################################## +# Source: device/intel/mixins/groups/gptbuild/true/AndroidBoard.mk +############################################################## +gptimage_size ?= 14G + +raw_config := none +raw_factory := none +tos_bin := none +multiboot_bin := none + +.PHONY: none +none: ; + +.PHONY: $(INSTALLED_CONFIGIMAGE_TARGET).raw +$(INSTALLED_CONFIGIMAGE_TARGET).raw: $(INSTALLED_CONFIGIMAGE_TARGET) $(SIMG2IMG) + $(SIMG2IMG) $< $@ + +.PHONY: $(INSTALLED_FACTORYIMAGE_TARGET).raw +$(INSTALLED_FACTORYIMAGE_TARGET).raw: $(INSTALLED_FACTORYIMAGE_TARGET) $(SIMG2IMG) + $(SIMG2IMG) $< $@ + +ifdef INSTALLED_CONFIGIMAGE_TARGET +raw_config := $(INSTALLED_CONFIGIMAGE_TARGET).raw +endif + +ifdef INSTALLED_FACTORYIMAGE_TARGET +raw_factory := $(INSTALLED_FACTORYIMAGE_TARGET).raw +endif + +.PHONY: $(GPTIMAGE_BIN) +ifeq ($(strip $(TARGET_USE_TRUSTY)),true) +ifeq ($(strip $(TARGET_USE_MULTIBOOT)),true) +$(GPTIMAGE_BIN): tosimage multiboot +multiboot_bin = $(INSTALLED_MULTIBOOT_IMAGE_TARGET) +else +$(GPTIMAGE_BIN): tosimage +endif +tos_bin = $(INSTALLED_TOS_IMAGE_TARGET) +endif + +$(GPTIMAGE_BIN): \ + bootloader \ + bootimage \ + systemimage \ + vbmetaimage \ + vendorimage \ + $(SIMG2IMG) \ + $(raw_config) \ + $(raw_factory) + + $(hide) rm -f $(INSTALLED_SYSTEMIMAGE).raw + $(hide) rm -f $(INSTALLED_USERDATAIMAGE_TARGET).raw + + $(SIMG2IMG) $(INSTALLED_SYSTEMIMAGE) $(INSTALLED_SYSTEMIMAGE).raw + $(SIMG2IMG) $(INSTALLED_VENDORIMAGE_TARGET) $(INSTALLED_VENDORIMAGE_TARGET).raw + + $(INTEL_PATH_BUILD)/create_gpt_image.py \ + --create $@ \ + --block $(BOARD_FLASH_BLOCK_SIZE) \ + --table $(TARGET_DEVICE_DIR)/gpt.ini \ + --size $(gptimage_size) \ + --bootloader $(bootloader_bin) \ + --bootloader2 $(bootloader_bin) \ + --tos $(tos_bin) \ + --multiboot $(multiboot_bin) \ + --boot $(INSTALLED_BOOTIMAGE_TARGET) \ + --vbmeta $(INSTALLED_VBMETAIMAGE_TARGET) \ + --system $(INSTALLED_SYSTEMIMAGE).raw \ + --vendor $(INSTALLED_VENDORIMAGE_TARGET).raw \ + --config $(raw_config) \ + --factory $(raw_factory) + + +.PHONY: gptimage +gptimage: $(GPTIMAGE_BIN) +# ------------------ END MIX-IN DEFINITIONS ------------------ diff --git a/celadon/AndroidProducts.mk b/celadon/AndroidProducts.mk new file mode 100644 index 000000000..af26b9d3b --- /dev/null +++ b/celadon/AndroidProducts.mk @@ -0,0 +1,2 @@ +PRODUCT_MAKEFILES := \ + $(LOCAL_DIR)/celadon.mk diff --git a/celadon/BoardConfig.mk b/celadon/BoardConfig.mk new file mode 100644 index 000000000..0aaa70960 --- /dev/null +++ b/celadon/BoardConfig.mk @@ -0,0 +1,510 @@ +# ----------------- BEGIN MIX-IN DEFINITIONS ----------------- +# Mix-In definitions are auto-generated by mixin-update +############################################################## +# Source: device/intel/mixins/groups/vndk/true/BoardConfig.mk +############################################################## +BOARD_VNDK_VERSION := current +############################################################## +# Source: device/intel/mixins/groups/2ndstage/oemvars/BoardConfig.mk +############################################################## +TARGET_BOOTLOADER_IS_2ND := true +BOARD_OEM_VARS += $(TARGET_DEVICE_DIR)/extra_files/2ndstage/oemvars.txt +############################################################## +# Source: device/intel/mixins/groups/disk-bus/auto/BoardConfig.mk +############################################################## +BOARD_SEPOLICY_DIRS += $(INTEL_PATH_SEPOLICY)/set_storage +BOARD_DISK_BUS = ff.ff +############################################################## +# Source: device/intel/mixins/groups/project-celadon/default/BoardConfig.mk +############################################################## +KERNEL_CROSS_COMPILE_WRAPPER := x86_64-linux-android- + +BOARD_SEPOLICY_DIRS += $(INTEL_PATH_SEPOLICY)/vendor +############################################################## +# Source: device/intel/mixins/groups/sepolicy/enforcing/BoardConfig.mk +############################################################## +# SELinux Policy +BOARD_SEPOLICY_DIRS += $(INTEL_PATH_SEPOLICY) + +############################################################## +# Source: device/intel/mixins/groups/graphics/mesa/BoardConfig.mk +############################################################## +# Use external/drm-bxt +TARGET_USE_PRIVATE_LIBDRM := true +LIBDRM_VER ?= intel + +BOARD_KERNEL_CMDLINE += vga=current i915.modeset=1 drm.atomic=1 i915.nuclear_pageflip=1 drm.vblankoffdelay=1 i915.fastboot=1 +USE_OPENGL_RENDERER := true +NUM_FRAMEBUFFER_SURFACE_BUFFERS := 3 +USE_INTEL_UFO_DRIVER := false +BOARD_GPU_DRIVERS := i965 +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 +ifneq ($(strip $(BOARD_GPU_DRIVERS)),) +TARGET_HARDWARE_3D := true +TARGET_USES_HWC2 := true +endif + + +BOARD_USES_DRM_HWCOMPOSER := false +BOARD_USES_IA_HWCOMPOSER := true + +BOARD_USES_MINIGBM := true +BOARD_ENABLE_EXPLICIT_SYNC := true +INTEL_MINIGBM := external/minigbm + + +BOARD_USES_GRALLOC1 := true + + + +BOARD_CURSOR_WA := false + +BOARD_THREEDIS_UNDERRUN_WA := true + + +BOARD_SEPOLICY_DIRS += $(INTEL_PATH_SEPOLICY)/graphics/mesa + +############################################################## +# Source: device/intel/mixins/groups/media/project-celadon/BoardConfig.mk +############################################################## +INTEL_STAGEFRIGHT := true + +# Settings for the Media SDK library and plug-ins: +# - USE_MEDIASDK: use Media SDK support or not +USE_MEDIASDK := true + +BOARD_HAVE_MEDIASDK_OPEN_SOURCE := true +############################################################## +# Source: device/intel/mixins/groups/device-type/tablet/BoardConfig.mk +############################################################## +DEVICE_PACKAGE_OVERLAYS += $(INTEL_PATH_COMMON)/device-type/overlay-tablet +############################################################## +# Source: device/intel/mixins/groups/debugfs/default/BoardConfig.mk +############################################################## +BOARD_SEPOLICY_DIRS += device/intel/project-celadon/sepolicy/debugfs +############################################################## +# Source: device/intel/mixins/groups/usb-gadget/g_ffs/BoardConfig.mk +############################################################## +BOARD_SEPOLICY_DIRS += device/intel/project-celadon/sepolicy/usb + +############################################################## +# Source: device/intel/mixins/groups/slot-ab/true/BoardConfig.mk +############################################################## +AB_OTA_UPDATER := true +AB_OTA_PARTITIONS := \ + boot \ + system +BOARD_BUILD_SYSTEM_ROOT_IMAGE := true +TARGET_NO_RECOVERY := true +BOARD_USES_RECOVERY_AS_BOOT := true +BOARD_SLOT_AB_ENABLE := true +############################################################## +# Source: device/intel/mixins/groups/kernel/project-celadon/BoardConfig.mk +############################################################## +TARGET_USES_64_BIT_BINDER := true +BOARD_USE_64BIT_USERSPACE := true +TARGET_SUPPORTS_64_BIT_APPS := true + + +TARGET_PRELINK_MODULE := false +TARGET_NO_KERNEL ?= false + +KERNEL_LOGLEVEL ?= 3 +SERIAL_PARAMETER ?= console=tty0 console=ttyS0,115200n8 + + +BOARD_KERNEL_CMDLINE += androidboot.hardware=$(TARGET_PRODUCT) firmware_class.path=/vendor/firmware loglevel=$(KERNEL_LOGLEVEL) loop.max_part=7 + +ifneq ($(TARGET_BUILD_VARIANT),user) +ifeq ($(SPARSE_IMG),true) +BOARD_KERNEL_CMDLINE += $(SERIAL_PARAMETER) +endif +endif + + +BOARD_SEPOLICY_M4DEFS += module_kernel=true +BOARD_SEPOLICY_DIRS += device/intel/project-celadon/sepolicy/kernel +############################################################## +# Source: device/intel/mixins/groups/bluetooth/btusb/BoardConfig.mk +############################################################## +BOARD_HAVE_BLUETOOTH_INTEL_ICNV := true +DEVICE_PACKAGE_OVERLAYS += device/intel/common/bluetooth/overlay-bt-pan +BOARD_SEPOLICY_DIRS += device/intel/project-celadon/sepolicy/bluetooth/common + + +BOARD_BLUETOOTH_BDROID_BUILDCFG_INCLUDE_DIR := device/intel/common/bluetooth/intel/tablet/ +############################################################## +# Source: device/intel/mixins/groups/avb/true/BoardConfig.mk +############################################################## +BOARD_AVB_ENABLE := true + +KERNELFLINGER_AVB_CMDLINE := true + +BOARD_VBMETAIMAGE_PARTITION_SIZE := 2097152 +BOARD_FLASHFILES += $(PRODUCT_OUT)/vbmeta.img + +# Now use AVB to support A/B slot +PRODUCT_STATIC_BOOT_CONTROL_HAL := bootctrl.avb libavb_user +############################################################## +# Source: device/intel/mixins/groups/firststage-mount/true/BoardConfig.mk +############################################################## +BOARD_FIRSTSTAGE_MOUNT_ENABLE := true +BOARD_KERNEL_CMDLINE += androidboot.android_dt_dir=/sys/bus/platform/devices/ANDR0001:00/properties/android/ +FIRSTSTAGE_MOUNT_SSDT = $(PRODUCT_OUT)/firststage-mount.aml +############################################################## +# Source: device/intel/mixins/groups/vendor-partition/true/BoardConfig.mk +############################################################## +# Those 3 lines are required to enable vendor image generation. +# Remove them if vendor partition is not used. +TARGET_COPY_OUT_VENDOR := vendor +BOARD_VENDORIMAGE_PARTITION_SIZE := 1887436800 +ifeq ($(SPARSE_IMG),true) +BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := ext4 +else +BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := squashfs +endif +BOARD_FLASHFILES += $(PRODUCT_OUT)/vendor.img +AB_OTA_PARTITIONS += vendor +############################################################## +# Source: device/intel/mixins/groups/config-partition/enabled/BoardConfig.mk +############################################################## +BOARD_CONFIGIMAGE_PARTITION_SIZE := 8388608 +BOARD_FLASHFILES += $(PRODUCT_OUT)/config.img +BOARD_SEPOLICY_M4DEFS += module_config_partition=true +BOARD_SEPOLICY_DIRS += device/intel/project-celadon/sepolicy/config-partition +############################################################## +# Source: device/intel/mixins/groups/factory-partition/true/BoardConfig.mk +############################################################## +BOARD_FACTORYIMAGE_PARTITION_SIZE := 10485760 +BOARD_FLASHFILES += $(PRODUCT_OUT)/factory.img +BOARD_SEPOLICY_DIRS += device/intel/project-celadon/sepolicy/factory-partition +BOARD_SEPOLICY_M4DEFS += module_factory_partition=true +############################################################## +# Source: device/intel/mixins/groups/boot-arch/project-celadon/BoardConfig.mk +############################################################## +#TARGET_NO_RECOVERY ?= false + +ifeq (False,true) +TARGET_USERIMAGES_USE_F2FS := true +BOARD_USERDATAIMAGE_FILE_SYSTEM_TYPE := f2fs +INTERNAL_USERIMAGES_EXT_VARIANT := f2fs +else +TARGET_USERIMAGES_USE_EXT4 := true +BOARD_USERDATAIMAGE_FILE_SYSTEM_TYPE := ext4 +INTERNAL_USERIMAGES_EXT_VARIANT := ext4 +endif + +BOARD_USERDATAIMAGE_PARTITION_SIZE := 576716800 +BOARD_FLASH_BLOCK_SIZE := 512 + +BOARD_BOOTIMAGE_PARTITION_SIZE := 31457280 + +ifeq ($(SPARSE_IMG),true) +TARGET_USERIMAGES_SPARSE_EXT_DISABLED := false +BOARD_SYSTEMIMAGE_FILE_SYSTEM_TYPE := ext4 +else +TARGET_USERIMAGES_SPARSE_EXT_DISABLED := true +BOARD_SYSTEMIMAGE_FILE_SYSTEM_TYPE := squashfs +endif + +BOARD_SYSTEMIMAGE_PARTITION_SIZE := 3758096384 + +BOARD_BOOTLOADER_PARTITION_SIZE ?= 62914560 +BOARD_BOOTLOADER_BLOCK_SIZE := 512 +TARGET_BOOTLOADER_BOARD_NAME := $(TARGET_DEVICE) + +TARGET_USES_MKE2FS := true + +# Kernel Flinger +TARGET_UEFI_ARCH := x86_64 +# Kernelflinger won't check the ACPI table oem_id, oem_table_id and +# revision fields +KERNELFLINGER_ALLOW_UNSUPPORTED_ACPI_TABLE := true +# Allow Kernelflinger to start watchdog prior to boot the kernel +KERNELFLINGER_USE_WATCHDOG := true +# Tell Kernelflinger to ignore ACPI RSCI table +KERNELFLINGER_IGNORE_RSCI := true +#KERNELFLINGER_SSL_LIBRARY := boringssl +KERNELFLINGER_SSL_LIBRARY := openssl +# Specify system verity partition +#PRODUCT_SYSTEM_VERITY_PARTITION := /dev/block/by-name/system + +# Avoid Watchdog truggered reboot +BOARD_KERNEL_CMDLINE += iTCO_wdt.force_no_reboot=1 + +BOARD_SEPOLICY_DIRS += device/intel/project-celadon/sepolicy/boot-arch/project-celadon/$(TARGET_PRODUCT) + +# Show the "OEM unlocking" option in Android "Developer options" +#PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.frp.pst=/dev/block/by-name/android_persistent + +# Specify file for creating final flashfiles +# BOARD_GPT_INI ?= $(TARGET_DEVICE_DIR)/gpt.ini +BOARD_GPT_BIN = $(PRODUCT_OUT)/gpt.bin +BOARD_FLASHFILES += $(PRODUCT_OUT)/system.img +BOARD_FLASHFILES += $(PRODUCT_OUT)/gpt.bin +BOARD_FLASHFILES += $(PRODUCT_OUT)/boot.img +BOARD_FLASHFILES += $(PRODUCT_OUT)/efi/installer.efi +BOARD_FLASHFILES += $(PRODUCT_OUT)/efi/kernelflinger.efi +BOARD_FLASHFILES += $(PRODUCT_OUT)/efi/startup.nsh +BOARD_FLASHFILES += $(PRODUCT_OUT)/efi/unlock_device.nsh +BOARD_FLASHFILES += $(PRODUCT_OUT)/efi/efivar_oemlock +BOARD_FLASHFILES += $(PRODUCT_OUT)/bootloader +BOARD_FLASHFILES += $(PRODUCT_OUT)/fastboot-usb.img + +# -- OTA RELATED DEFINES -- +# tell build system where to get the recovery.fstab. +TARGET_RECOVERY_FSTAB ?= $(TARGET_DEVICE_DIR)/fstab.recovery +# Used by ota_from_target_files to add platform-specific directives +# to the OTA updater scripts +TARGET_RELEASETOOLS_EXTENSIONS ?= device/intel/common/recovery +# +# By default recovery minui expects RGBA framebuffer +TARGET_RECOVERY_PIXEL_FORMAT := "BGRA_8888" + +# Kernelfligner will assume the BIOS support secure boot. Not check the EFI variable SecureBoot +# It is useful when the BIOS does not support secure boot. +KERNELFLINGER_ASSUME_BIOS_SECURE_BOOT := true + + +KERNELFLINGER_USE_RPMB_SIMULATE := true + +AB_OTA_PARTITIONS += vbmeta +AB_OTA_PARTITIONS += tos + +AB_OTA_POSTINSTALL_CONFIG += \ + RUN_POSTINSTALL_vendor=true \ + POSTINSTALL_PATH_vendor=bin/updater_ab_esp \ + FILESYSTEM_TYPE_vendor=ext4 \ + POSTINSTALL_OPTIONAL_vendor=true + +############################################################## +# Source: device/intel/mixins/groups/audio/project-celadon/BoardConfig.mk +############################################################## +BOARD_USES_ALSA_AUDIO := true +BOARD_USES_TINY_ALSA_AUDIO := true +BOARD_USES_GENERIC_AUDIO ?= false +ifneq ($(BOARD_USES_GENERIC_AUDIO), true) +# Audio HAL selection Flag default setting. +# INTEL_AUDIO_HAL:= audio -> baseline HAL +# INTEL_AUDIO_HAL:= audio_pfw -> PFW-based HAL +INTEL_AUDIO_HAL := audio +else +INTEL_AUDIO_HAL := stub +endif + +# Use XML audio policy configuration file +USE_XML_AUDIO_POLICY_CONF ?= 1 +# Use configurable audio policy +USE_CONFIGURABLE_AUDIO_POLICY ?= 1 + +BOARD_SEPOLICY_DIRS += device/intel/project-celadon/sepolicy/audio/project-celadon +############################################################## +# Source: device/intel/mixins/groups/wlan/iwlwifi/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 + +# Enabling iwlwifi +BOARD_USING_INTEL_IWL := true +INTEL_IWL_MODULE_SUB_FOLDER := rel +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 := "/system/vendor/firmware/iwlwifi-softap-dummy.ucode" +WIFI_DRIVER_FW_PATH_AP := "/system/vendor/firmware/iwlwifi-softap-dummy.ucode" +WIFI_DRIVER_FW_PATH_P2P := "/system/vendor/firmware/iwlwifi-softap-dummy.ucode" +WIFI_DRIVER_FW_PATH_PARAM := "/dev/null" + +# config_wifi_background_scan_support=true: +DEVICE_PACKAGE_OVERLAYS += device/intel/common/wlan/overlay-pno + +DEVICE_PACKAGE_OVERLAYS += device/intel/common/wlan/overlay-tcp-buffers + +# Add SIM , AKA and AKA' methods in EAP entries of WiFi UI +DEVICE_PACKAGE_OVERLAYS += device/intel/common/wlan/overlay-eap-methods + +ifneq (lhp,$(INTEL_IWL_MODULE_SUB_FOLDER)) + DEVICE_PACKAGE_OVERLAYS += device/intel/common/wlan/overlay-dual-band +endif + +# WiDi / Miracast Optimisations +DEVICE_PACKAGE_OVERLAYS += device/intel/common/wlan/overlay-miracast-go +DEVICE_PACKAGE_OVERLAYS += device/intel/common/wlan/overlay-p2p-connected-stop-scan +DEVICE_PACKAGE_OVERLAYS += device/intel/common/wlan/overlay-miracast-force-single-ch +DEVICE_PACKAGE_OVERLAYS += device/intel/common/wlan/overlay-wifi-tethering + +BOARD_SEPOLICY_M4DEFS += module_iwlwifi=true +BOARD_SEPOLICY_DIRS += device/intel/project-celadon/sepolicy/wlan/iwlwifi +############################################################## +# Source: device/intel/mixins/groups/cpu-arch/skl/BoardConfig.mk +############################################################## +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 := x86 +TARGET_2ND_CPU_VARIANT := x86 +else +# 32b-specific items: +TARGET_ARCH := x86 +TARGET_CPU_ABI := x86 +endif +############################################################## +# Source: device/intel/mixins/groups/cpuset/autocores/BoardConfig.mk +############################################################## +BOARD_SEPOLICY_DIRS += $(INTEL_PATH_SEPOLICY)/config_cpuset +############################################################## +# Source: device/intel/mixins/groups/rfkill/true/BoardConfig.mk +############################################################## +BOARD_SEPOLICY_DIRS += $(INTEL_PATH_SEPOLICY)/rfkill +############################################################## +# Source: device/intel/mixins/groups/dexpreopt/enabled/BoardConfig.mk +############################################################## +# enable dex-preoptimization. +WITH_DEXPREOPT := true +WITH_DEXPREOPT_PIC := true +############################################################## +# Source: device/intel/mixins/groups/thermal/thermal-daemon/BoardConfig.mk +############################################################## +BOARD_SEPOLICY_DIRS += device/intel/project-celadon/sepolicy/thermal +BOARD_SEPOLICY_DIRS += device/intel/project-celadon/sepolicy/thermal/thermal-daemon +############################################################## +# Source: device/intel/mixins/groups/pstore/ram_dummy/BoardConfig.mk.1 +############################################################## +BOARD_KERNEL_CMDLINE += pstore.backend=ramoops +############################################################## +# Source: device/intel/mixins/groups/pstore/ram_dummy/BoardConfig.mk.2 +############################################################## +BOARD_SEPOLICY_DIRS += device/intel/sepolicy/pstore +############################################################## +# Source: device/intel/mixins/groups/pstore/ram_dummy/BoardConfig.mk +############################################################## +BOARD_KERNEL_CMDLINE += \ + memmap=0x400000\$$0x50000000 \ + ramoops.mem_address=0x50000000 \ + ramoops.mem_size=0x400000 +BOARD_KERNEL_CMDLINE += \ + ramoops.record_size=0x4000 + +BOARD_KERNEL_CMDLINE += \ + ramoops.console_size=0x200000 + +BOARD_KERNEL_CMDLINE += \ + ramoops.ftrace_size=0x2000 + +BOARD_KERNEL_CMDLINE += \ + ramoops.dump_oops=1 + +############################################################## +# Source: device/intel/mixins/groups/debug-phonedoctor/true/BoardConfig.mk +############################################################## +BOARD_SEPOLICY_M4DEFS += module_debug_phonedoctor=true +BOARD_SEPOLICY_DIRS += $(INTEL_PATH_SEPOLICY)/debug-phonedoctor +############################################################## +# Source: device/intel/mixins/groups/trusty/true/BoardConfig.mk +############################################################## +TARGET_USE_TRUSTY := true + +KM_VERSION := 2 +ifeq ($(KM_VERSION),1) +BOARD_USES_TRUSTY := true +BOARD_USES_KEYMASTER1 := true +endif + +BOARD_SEPOLICY_DIRS += device/intel/project-celadon/sepolicy/trusty +BOARD_SEPOLICY_M4DEFS += module_trusty=true + +LK_PRODUCT := project-celadon_64 + +LKBUILD_TOOLCHAIN_ROOT = $(PWD)/vendor/intel/external/prebuilts/elf/ +LKBUILD_X86_TOOLCHAIN = +LKBUILD_X64_TOOLCHAIN = $(LKBUILD_TOOLCHAIN_ROOT)x86_64-elf-4.9.1-Linux-x86_64/bin +EVMMBUILD_TOOLCHAIN ?= x86_64-linux-android- +TRUSTY_BUILDROOT = $(PWD)/$(PRODUCT_OUT)/obj/trusty/ + +TRUSTY_ENV_VAR += LK_CORE_NUM=1 +TRUSTY_ENV_VAR += TRUSTY_REF_TARGET=project-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 += COMPILE_TOOLCHAIN=$(EVMMBUILD_TOOLCHAIN) + +# 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/ + +#Workaround CPU lost issue on SIMICS, will remove this line below after PO. +BOARD_KERNEL_CMDLINE += cpu_init_udelay=500000 + +BOARD_TOSIMAGE_PARTITION_SIZE := 10485760 +############################################################## +# Source: device/intel/mixins/groups/flashfiles/ini/BoardConfig.mk +############################################################## +FLASHFILES_CONFIG ?= $(TARGET_DEVICE_DIR)/extra_files/flashfiles/flashfiles.ini +USE_INTEL_FLASHFILES := true +VARIANT_SPECIFIC_FLASHFILES ?= false +FAST_FLASHFILES := true + +############################################################## +# Source: device/intel/mixins/groups/camera-ext/ext-camera-only/BoardConfig.mk +############################################################## +BOARD_SEPOLICY_DIRS += device/intel/project-celadon/sepolicy/camera-ext/ext-camera-only +############################################################## +# Source: device/intel/mixins/groups/memtrack/true/BoardConfig.mk +############################################################## +BOARD_SEPOLICY_DIRS += $(INTEL_PATH_SEPOLICY)/memtrack +############################################################## +# Source: device/intel/mixins/groups/health/true/BoardConfig.mk +############################################################## +BOARD_SEPOLICY_DIRS += device/intel/project-celadon/sepolicy/health_hal + +DEVICE_FRAMEWORK_MANIFEST_FILE += \ + system/libhidl/vintfdata/manifest_healthd_exclude.xml +############################################################## +# Source: device/intel/mixins/groups/gptbuild/true/BoardConfig.mk +############################################################## +# can't use := here, as PRODUCT_OUT is not defined yet +GPTIMAGE_BIN = $(PRODUCT_OUT)/$(TARGET_PRODUCT)_gptimage.img +############################################################## +# Source: device/intel/mixins/groups/swap/zram/BoardConfig.mk +############################################################## +BOARD_SEPOLICY_DIRS += $(INTEL_PATH_SEPOLICY)/swap +BOARD_SEPOLICY_M4DEFS += module_swap=true +############################################################## +# Source: device/intel/mixins/groups/power/true/BoardConfig.mk +############################################################## +BOARD_SEPOLICY_DIRS += device/intel/project-celadon/sepolicy/power + +# ------------------ END MIX-IN DEFINITIONS ------------------ diff --git a/celadon/celadon.mk b/celadon/celadon.mk new file mode 100644 index 000000000..ca0a7676c --- /dev/null +++ b/celadon/celadon.mk @@ -0,0 +1,18 @@ +ENABLE_NATIVEBRIDGE_64BIT := true + +$(call inherit-product,$(SRC_TARGET_DIR)/product/core_64_bit.mk) +$(call inherit-product,device/intel/project-celadon/celadon/device.mk) + +# Include GMS application +FLAG_GMS_MINIMAL := true +FLAG_GMS_AVAILABLE := true +$(call inherit-product-if-exists, vendor/google/gms/products/gms.mk) + +# Overrides +PRODUCT_NAME := celadon +PRODUCT_BRAND := celadon +PRODUCT_DEVICE := celadon +PRODUCT_MODEL := Generic celadon +PRODUCT_MANUFACTURER := Intel + +PRODUCT_SHIPPING_API_LEVEL := 28 diff --git a/celadon/device.mk b/celadon/device.mk new file mode 100644 index 000000000..2df9edf29 --- /dev/null +++ b/celadon/device.mk @@ -0,0 +1,780 @@ +# ----------------- BEGIN MIX-IN DEFINITIONS ----------------- +# Mix-In definitions are auto-generated by mixin-update +############################################################## +# Source: device/intel/mixins/groups/disk-bus/auto/product.mk +############################################################## +# create primary storage symlink dynamically +PRODUCT_PACKAGES += set_storage +PRODUCT_PACKAGES += set_storage.vendor +############################################################## +# Source: device/intel/mixins/groups/project-celadon/default/product.mk +############################################################## +TARGET_BOARD_PLATFORM := project-celadon + +#Product Characteristics +PRODUCT_DIR := $(dir $(lastword $(filter-out device/common/%,$(filter device/%,$(ALL_PRODUCTS))))) + +INTEL_PATH_DEVICE := device/intel/project-celadon +INTEL_PATH_COMMON := device/intel/common +INTEL_PATH_SEPOLICY := device/intel/project-celadon/sepolicy +INTEL_PATH_BUILD := device/intel/build +INTEL_PATH_HARDWARE := hardware/intel +INTEL_PATH_VENDOR := vendor/intel + +PRODUCT_TAGS += dalvik.gc.type-precise + +DEVICE_PACKAGE_OVERLAYS += device/intel/project-celadon/common/overlay + +PRODUCT_PACKAGES += $(THIRD_PARTY_APPS) + +PRODUCT_PACKAGES += fio + +# Set default sounds +# Note: As the override mechanism, must make sure this config +# being in front of generic_no_telephony.mk(defined the aosp sound config) +PRODUCT_PROPERTY_OVERRIDES += \ + ro.config.notification_sound=Xenon.ogg \ + ro.config.alarm_alert=Cesium.ogg \ + ro.config.ringtone=Sceptrum.ogg \ + +# Get a list of languages. +#$(call inherit-product,$(SRC_TARGET_DIR)/product/locales_full.mk) +$(call inherit-product,$(SRC_TARGET_DIR)/product/languages_full.mk) + +# Get everything else from the parent package +$(call inherit-product, $(SRC_TARGET_DIR)/product/generic_no_telephony.mk) + +# Get some sounds +$(call inherit-product-if-exists,frameworks/base/data/sounds/AudioPackage6.mk) + +# Get Platform specific settings +$(call inherit-product-if-exists,vendor/vendor.mk) + +#Product Characteristics +PRODUCT_COPY_FILES += \ + $(LOCAL_PATH)/gpt.ini:root/gpt.$(TARGET_PRODUCT).ini \ + $(LOCAL_PATH)/init.recovery.rc:root/init.recovery.$(TARGET_PRODUCT).rc \ + $(LOCAL_PATH)/init.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw//init.$(TARGET_PRODUCT).rc \ + $(LOCAL_PATH)/ueventd.rc:$(TARGET_COPY_OUT_VENDOR)/ueventd.rc + +# Voip +PRODUCT_COPY_FILES += \ + frameworks/native/data/etc/android.software.sip.voip.xml:system/etc/permissions/android.software.sip.voip.xml \ + frameworks/native/data/etc/android.software.sip.xml:system/etc/permissions/android.software.sip.xml \ + +# Usb +PRODUCT_COPY_FILES += \ + frameworks/native/data/etc/android.hardware.usb.accessory.xml:system/etc/permissions/android.hardware.usb.accessory.xml \ + frameworks/native/data/etc/android.hardware.usb.host.xml:system/etc/permissions/android.hardware.usb.host.xml + +# Touch +PRODUCT_COPY_FILES += \ + frameworks/native/data/etc/android.hardware.touchscreen.multitouch.jazzhand.xml:system/etc/permissions/android.hardware.touchscreen.multitouch.jazzhand.xml \ + frameworks/native/data/etc/android.hardware.touchscreen.multitouch.distinct.xml:system/etc/permissions/android.hardware.touchscreen.multitouch.distinct.xml \ + frameworks/native/data/etc/android.hardware.touchscreen.multitouch.jazzhand.xml:system/etc/permissions/android.hardware.touchscreen.multitouch.jazzhand.xml \ + +# USB +PRODUCT_COPY_FILES += \ + frameworks/native/data/etc/android.hardware.usb.accessory.xml:system/etc/permissions/android.hardware.usb.accessory.xml \ + frameworks/native/data/etc/android.hardware.usb.host.xml:system/etc/permissions/android.hardware.usb.host.xml \ + +# please modify to appropriate value based on tuning +PRODUCT_PROPERTY_OVERRIDES += \ + ro.hwui.texture_cache_size=24.0f \ + ro.hwui.text_large_cache_width=2048 \ + ro.hwui.text_large_cache_height=512 + +# Set filenames_mode to cts, for heh is not available +PRODUCT_PROPERTY_OVERRIDES += \ + ro.crypto.volume.filenames_mode=aes-256-cts + +PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \ + persist.rtc_local_time=1 \ + +# Enable MultiWindow +PRODUCT_PROPERTY_OVERRIDES += \ + persist.sys.debug.multi_window=true + +# DRM service +PRODUCT_PROPERTY_OVERRIDES += \ + drm.service.enabled=true + +# Property to choose between virtual/external wfd display +PRODUCT_PROPERTY_OVERRIDES += \ + persist.sys.wfd.virtual=0 + +# Input resampling configuration +PRODUCT_PROPERTY_OVERRIDES += \ + ro.input.noresample=1 + +# AOSP Packages +PRODUCT_PACKAGES += \ + Launcher3 \ + Terminal + +PRODUCT_PACKAGES += \ + libion \ + libxml2 + +PRODUCT_PACKAGES += \ + libemoji + +PRODUCT_PACKAGES += \ + LiveWallpapers \ + LiveWallpapersPicker \ + WallpaperPicker \ + NotePad \ + Provision \ + drmserver \ + power.project-celadon \ + scp \ + sftp \ + ssh \ + sshd \ + local_time.default.so \ + keystore.default.so + +# USB +PRODUCT_PACKAGES += \ + com.android.future.usb.accessory + +# Keymaster HAL +PRODUCT_PACKAGES += \ + android.hardware.keymaster@3.0-impl \ + android.hardware.keymaster@3.0-service + +# Power HAL +PRODUCT_PACKAGES += \ + android.hardware.power@1.2-impl \ + android.hardware.power@1.2-service + +# DumpState HAL +PRODUCT_PACKAGES += \ + android.hardware.dumpstate@1.0-impl \ + android.hardware.dumpstate@1.0-service + +# Configstore HAL +PRODUCT_PACKAGES += \ + android.hardware.configstore@1.0-impl + +# Vendor Interface Manifest +PRODUCT_COPY_FILES += \ + device/intel/project-celadon/manifest.xml:vendor/manifest.xml +############################################################## +# Source: device/intel/mixins/groups/sepolicy/enforcing/product.mk +############################################################## +PRODUCT_PACKAGES += sepolicy-areq-checker +############################################################## +# Source: device/intel/mixins/groups/graphics/mesa/product.mk +############################################################## +# Mesa +PRODUCT_PACKAGES += \ + libGLES_mesa \ + libGLES_android + +PRODUCT_PACKAGES += \ + libdrm \ + libdrm_intel \ + libsync \ + libmd + +PRODUCT_PACKAGES += ufo_prebuilts + +PRODUCT_COPY_FILES += \ + $(LOCAL_PATH)/extra_files/graphics/drirc:system/etc/drirc + + +# HWComposer IA +PRODUCT_PACKAGES += \ + hwcomposer.$(TARGET_BOARD_PLATFORM) + +PRODUCT_PROPERTY_OVERRIDES += \ + ro.hardware.hwcomposer=$(TARGET_BOARD_PLATFORM) + +INTEL_HWC_CONFIG := $(INTEL_PATH_VENDOR)/external/project-celadon/hwcomposer + +ifeq ($(findstring _acrn,$(TARGET_PRODUCT)),_acrn) +PRODUCT_COPY_FILES += $(INTEL_HWC_CONFIG)/hwc_display_virt.ini:$(TARGET_COPY_OUT_VENDOR)/etc/hwc_display.ini +else +PRODUCT_COPY_FILES += $(INTEL_HWC_CONFIG)/hwc_display.ini:$(TARGET_COPY_OUT_VENDOR)/etc/hwc_display.ini +endif + + +# Mini gbm +PRODUCT_PROPERTY_OVERRIDES += \ + ro.hardware.gralloc=$(TARGET_BOARD_PLATFORM) + +PRODUCT_PACKAGES += \ + gralloc.$(TARGET_BOARD_PLATFORM) + + + +# Mesa +PRODUCT_COPY_FILES += \ + frameworks/native/data/etc/android.hardware.opengles.aep.xml:vendor/etc/permissions/android.hardware.opengles.aep.xml + +# GLES version +PRODUCT_PROPERTY_OVERRIDES += \ + ro.opengles.version=196610 + +PRODUCT_COPY_FILES += \ + frameworks/native/data/etc/android.hardware.vulkan.level-1.xml:vendor/etc/permissions/android.hardware.vulkan.level.xml + +PRODUCT_COPY_FILES += \ + frameworks/native/data/etc/android.hardware.vulkan.compute-0.xml:vendor/etc/permissions/android.hardware.vulkan.compute.xml + + +PRODUCT_COPY_FILES += \ + frameworks/native/data/etc/android.hardware.vulkan.version-1_1.xml:vendor/etc/permissions/android.hardware.vulkan.version.xml + +PRODUCT_PACKAGES += \ + vulkan.$(TARGET_BOARD_PLATFORM) \ + libvulkan_intel + +PRODUCT_PROPERTY_OVERRIDES += \ + ro.hardware.vulkan=$(TARGET_BOARD_PLATFORM) +# Graphics HAL +PRODUCT_PACKAGES += \ + android.hardware.graphics.composer@2.1-impl \ + android.hardware.graphics.composer@2.1-service + +# Gralloc HAL +PRODUCT_PACKAGES += \ + android.hardware.graphics.allocator@2.0-impl \ + android.hardware.graphics.allocator@2.0-service \ + android.hardware.graphics.mapper@2.0-impl +############################################################## +# Source: device/intel/mixins/groups/media/project-celadon/product.mk +############################################################## +# libva, vaapi +PRODUCT_PACKAGES += \ + libva \ + libva-android \ + i965_drv_video + +PRODUCT_PACKAGES += libpciaccess + +# Audio/video codec support. +PRODUCT_COPY_FILES += \ + frameworks/av/media/libstagefright/data/media_codecs_google_audio.xml:vendor/etc/media_codecs_google_audio.xml \ + frameworks/av/media/libstagefright/data/media_codecs_google_video.xml:vendor/etc/media_codecs_google_video.xml \ + device/intel/project-celadon/common/media/media_profiles.xml:vendor/etc/media_profiles.xml \ + device/intel/project-celadon/common/media/media_codecs.xml:vendor/etc/media_codecs.xml \ + device/intel/project-celadon/common/media/media_codecs_performance.xml:vendor/etc/media_codecs_performance.xml + +#Enable deep buffer for video playback +PRODUCT_PROPERTY_OVERRIDES += media.stagefright.audio.deep=true + +# Enable AAC 5.1 output +PRODUCT_PROPERTY_OVERRIDES += \ + media.aac_51_output_enabled=true + +# Enable Media Sdk +PRODUCT_PACKAGES += \ + libmfxhw32 \ + libmfxhw64 \ + libmfx_omx_core \ + libmfx_omx_components_hw \ + libstagefrighthw + + +# Enable Open source hdcp +PRODUCT_PACKAGES += libhdcpsdk +PRODUCT_PACKAGES += lihdcpcommon +# hdcp daemon +PRODUCT_PACKAGES += hdcpd + +PRODUCT_COPY_FILES += \ + device/intel/project-celadon/common/media/mfx_omxil_core.conf:vendor/etc/mfx_omxil_core.conf +############################################################## +# Source: device/intel/mixins/groups/device-type/tablet/product.mk +############################################################## +PRODUCT_CHARACTERISTICS := tablet + +$(call inherit-product,frameworks/native/build/tablet-10in-xhdpi-2048-dalvik-heap.mk) + +PRODUCT_COPY_FILES += \ + frameworks/native/data/etc/tablet_core_hardware.xml:vendor/etc/permissions/tablet_core_hardware.xml + +############################################################## +# Source: device/intel/mixins/groups/ethernet/dhcp/product.mk +############################################################## +PRODUCT_COPY_FILES += \ + frameworks/native/data/etc/android.hardware.ethernet.xml:vendor/etc/permissions/android.hardware.ethernet.xml +############################################################## +# Source: device/intel/mixins/groups/storage/sdcard-mmc0-usb-sd/product.mk +############################################################## + +PRODUCT_DEFAULT_PROPERTY_OVERRIDES += support.sdcardfs.mode=y +############################################################## +# Source: device/intel/mixins/groups/display-density/default/product.mk +############################################################## +PRODUCT_AAPT_CONFIG := normal large mdpi +PRODUCT_AAPT_PREF_CONFIG := mdpi + +PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.sf.lcd_density=160 +############################################################## +# Source: device/intel/mixins/groups/usb-gadget/g_ffs/product.mk +############################################################## +# Set default USB interface +ifeq ($(TARGET_BUILD_VARIANT),user) +# Enable Secure Debugging +PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.adb.secure=1 +ifeq ($(BUILD_FOR_CTS_AUTOMATION),true) +# Build for automated CTS +PRODUCT_COPY_FILES += $(INTEL_PATH_COMMON)/usb-gadget/adb_keys:root/adb_keys +endif #BUILD_FOR_CTS_AUTOMATION == true +endif #TARGET_BUILD_VARIANT == user + +# Add Intel adb keys for userdebug/eng builds +ifneq ($(TARGET_BUILD_VARIANT),user) +PRODUCT_COPY_FILES += $(INTEL_PATH_COMMON)/usb-gadget/adb_keys:root/adb_keys +# Enable Secure Debugging for userdebug +ifeq ($(TARGET_BUILD_VARIANT),userdebug) #userdebug +PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.adb.secure=1 +endif #userdebug +endif #userdebug/eng +############################################################## +# Source: device/intel/mixins/groups/adb_net/true/product.mk +############################################################## +# Enable Secure Debugging +ifeq ($(TARGET_BUILD_VARIANT),user) +PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.adb.secure=1 +endif +############################################################## +# Source: device/intel/mixins/groups/slot-ab/true/product.mk +############################################################## +PRODUCT_PACKAGES += \ + update_engine \ + update_verifier \ + update_engine_sideload \ + libavb \ + bootctrl.avb \ + bootctrl.intel \ + bootctrl.intel.static \ + android.hardware.boot@1.0-impl \ + android.hardware.boot@1.0-service + +PRODUCT_PACKAGES_DEBUG += \ + update_engine_client \ + bootctl + +PRODUCT_PROPERTY_OVERRIDES += \ + ro.hardware.bootctrl=intel +############################################################## +# Source: device/intel/mixins/groups/kernel/project-celadon/product.mk +############################################################## +TARGET_KERNEL_ARCH := x86_64 +BOARD_USE_64BIT_KERNEL := true + + +KERNEL_MODULES_ROOT_PATH ?= /vendor/lib/modules +KERNEL_MODULES_ROOT ?= $(KERNEL_MODULES_ROOT_PATH) + +FIRMWARES_DIR ?= vendor/linux/firmware + +# Include common settings. +FIRMWARE_FILTERS ?= .git/% %.mk + +# Firmware +$(call inherit-product,device/intel/project-celadon/common/firmware.mk) +############################################################## +# Source: device/intel/mixins/groups/bluetooth/btusb/product.mk +############################################################## +PRODUCT_PACKAGES += \ + audio.a2dp.default \ + ath3k-1.fw + +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 + +# Bluetooth HAL +PRODUCT_PACKAGES += \ + android.hardware.bluetooth@1.0-service.vbt \ + libbt-vendor + + +PRODUCT_PACKAGE_OVERLAYS += $(INTEL_PATH_COMMON)/bluetooth/overlay-tablet +############################################################## +# Source: device/intel/mixins/groups/avb/true/product.mk +############################################################## + +PRODUCT_PACKAGES += avbctl +############################################################## +# Source: device/intel/mixins/groups/vendor-partition/true/product.mk +############################################################## +PRODUCT_VENDOR_VERITY_PARTITION := /dev/block/by-name/vendor +############################################################## +# Source: device/intel/mixins/groups/boot-arch/project-celadon/product.mk +############################################################## +PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.frp.pst=/dev/block/by-name/persistent + +ifeq ($(TARGET_BOOTLOADER_POLICY),$(filter $(TARGET_BOOTLOADER_POLICY),0x0 0x2 0x4 0x6)) +# OEM Unlock reporting 1 +#ADDITIONAL_DEFAULT_PROPERTIES += \ + ro.oem_unlock_supported=1 + +PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \ + ro.oem_unlock_supported=1 + +endif + +PRODUCT_PACKAGES += updater_ab_esp + +# Allow Kernelflinger to ignore the RSCI reset source "not_applicable" +# when setting the bootreason +KERNELFLINGER_IGNORE_NOT_APPLICABLE_RESET := true + + +ifneq (0x0,static) +BOOTLOADER_POLICY_OEMVARS = $(PRODUCT_OUT)/bootloader_policy-oemvars.txt +BOARD_FLASHFILES += $(BOOTLOADER_POLICY_OEMVARS) +BOARD_OEM_VARS += $(BOOTLOADER_POLICY_OEMVARS) +endif + +# It activates the Bootloader policy and RMA refurbishing +# features. TARGET_BOOTLOADER_POLICY is the desired bitmask for this +# device. +# * bit 0: +# - 0: GVB class B. +# - 1: GVB class A. Device unlock is not permitted. The only way +# to unlock is to use the secured force-unlock mechanism. +# * bit 1 and 2 defines the minimal boot state required to boot the +# device: +# - 0x0: BOOT_STATE_RED (GVB default behavior) +# - 0x1: BOOT_STATE_ORANGE +# - 0x2: BOOT_STATE_YELLOW +# - 0x3: BOOT_STATE_GREEN +# If TARGET_BOOTLOADER_POLICY is equal to 'static' the bootloader +# policy is not built but is provided statically in the repository. +# If TARGET_BOOTLOADER_POLICY is equal to 'external' the bootloader +# policy OEMVARS should be installed manually in +# $(BOOTLOADER_POLICY_OEMVARS). +TARGET_BOOTLOADER_POLICY := 0x0 +# If the following variable is set to false, the bootloader policy and +# RMA refurbishing features does not use time-based authenticated EFI +# variables to store the BPM and OAK values. The BPM value is defined +# compilation time by the TARGET_BOOTLOADER_POLICY variable. +TARGET_BOOTLOADER_POLICY_USE_EFI_VAR := true +#ifeq ($(TARGET_BOOTLOADER_POLICY),$(filter $(TARGET_BOOTLOADER_POLICY),0x0 0x2 0x4 0x6)) +# OEM Unlock reporting 1 +PRODUCT_PROPERTY_OVERRIDES += \ + ro.oem_unlock_supported=1 +#endif +ifeq ($(TARGET_BOOTLOADER_POLICY),$(filter $(TARGET_BOOTLOADER_POLICY),static external)) +# The bootloader policy is not generated build time but is supplied +# statically in the repository or in $(PRODUCT_OUT)/. If your +# bootloader policy allows the device to be unlocked, uncomment the +# following lines: +#PRODUCT_PROPERTY_OVERRIDES += \ + ro.oem_unlock_supported=1 +endif + + + +KERNELFLINGER_SUPPORT_SELF_USB_DEVICE_MODE_PROTOCOL := true + + +PRODUCT_COPY_FILES += \ + $(LOCAL_PATH)/fstab:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.$(TARGET_PRODUCT) + +# Add the feature of FEATURE_VERIFIED_BOOT +PRODUCT_COPY_FILES += \ + frameworks/native/data/etc/android.software.verified_boot.xml:vendor/etc/permissions/android.software.verified_boot.xml +############################################################## +# Source: device/intel/mixins/groups/audio/project-celadon/product.mk +############################################################## +# Tinyalsa +PRODUCT_PACKAGES_DEBUG += \ + tinymix \ + tinyplay \ + tinycap + +# Extended Audio HALs +PRODUCT_PACKAGES += \ + audio.r_submix.default \ + audio.usb.default \ + audio_policy.default.so \ + audio_configuration_files + +# Audio HAL +PRODUCT_PACKAGES += \ + android.hardware.audio.effect@4.0-impl \ + android.hardware.audio@4.0-impl \ + android.hardware.audio@2.0-service + +PRODUCT_PROPERTY_OVERRIDES += audio.safemedia.bypass=true +############################################################## +# Source: device/intel/mixins/groups/wlan/iwlwifi/product.mk +############################################################## +PRODUCT_PACKAGES += \ + hostapd \ + hostapd_cli \ + wificond \ + wifilogd \ + wpa_supplicant \ + wpa_cli \ + iw + +# FW and PNVM +PRODUCT_PACKAGES += \ + iwl-fw \ + iwl-nvm + +# iwlwifi USC +PRODUCT_PACKAGES += \ + wifi_intel_usc + +#copy iwlwifi wpa config files +PRODUCT_COPY_FILES += \ + device/intel/common/wlan/wpa_supplicant-common.conf:vendor/etc/wifi/wpa_supplicant.conf \ + device/intel/common/wlan/iwlwifi/wpa_supplicant_overlay.conf:vendor/etc/wifi/wpa_supplicant_overlay.conf \ + device/intel/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 + +# Wifi configuration +BOARD_WPA_SUPPLICANT_DRIVER := NL80211 +BOARD_WLAN_DEVICE := iwlwifi + +PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \ + ro.wifi.softap_dualband_allow=false + +PRODUCT_PACKAGES += \ + android.hardware.wifi@1.0-service +############################################################## +# Source: device/intel/mixins/groups/cpuset/autocores/product.mk +############################################################## +PRODUCT_PACKAGES += \ + config_cpuset.sh + +PRODUCT_COPY_FILES += \ + $(LOCAL_PATH)/extra_files/cpuset/config_cpuset.sh:vendor/bin/config_cpuset.sh +############################################################## +# Source: device/intel/mixins/groups/rfkill/true/product.mk +############################################################## +PRODUCT_COPY_FILES += $(INTEL_PATH_COMMON)/rfkill/rfkill-init.sh:vendor/bin/rfkill-init.sh +############################################################## +# Source: device/intel/mixins/groups/usb/host+acc/product.mk +############################################################## +PRODUCT_COPY_FILES += \ + frameworks/native/data/etc/android.hardware.usb.accessory.xml:system/etc/permissions/android.hardware.usb.accessory.xml \ + frameworks/native/data/etc/android.hardware.usb.host.xml:system/etc/permissions/android.hardware.usb.host.xml + +# usb accessory +PRODUCT_PACKAGES += \ + com.android.future.usb.accessory + +# USB HAL +PRODUCT_PACKAGES += \ + android.hardware.usb@1.0-impl \ + android.hardware.usb@1.0-service +############################################################## +# Source: device/intel/mixins/groups/lights/true/product.mk +############################################################## +# Lights HAL +BOARD_SEPOLICY_DIRS += \ + $(INTEL_PATH_SEPOLICY)/light + +PRODUCT_PACKAGES += lights.$(TARGET_BOARD_PLATFORM) \ + android.hardware.light@2.0-service \ + android.hardware.light@2.0-impl + +############################################################## +# Source: device/intel/mixins/groups/thermal/thermal-daemon/product.mk +############################################################## +# thermal-daemon +PRODUCT_PACKAGES += thermal-daemon +PRODUCT_COPY_FILES += \ + device/intel/project-celadon/common/thermal/thermal-conf.xml:/vendor/etc/thermal-daemon/thermal-conf.xml \ + device/intel/project-celadon/common/thermal/thermal-cpu-cdev-order.xml:/vendor/etc/thermal-daemon/thermal-cpu-cdev-order.xml +############################################################## +# Source: device/intel/mixins/groups/pstore/ram_dummy/product.mk +############################################################## +PRODUCT_PACKAGES += \ + pstore-clean +############################################################## +# Source: device/intel/mixins/groups/debug-logs/true/product.mk +############################################################## +ifneq ($(TARGET_BUILD_VARIANT),user) +MIXIN_DEBUG_LOGS := true +endif + +ifeq ($(MIXIN_DEBUG_LOGS),true) +PRODUCT_COPY_FILES += $(LOCAL_PATH)/extra_files/debug-logs/init.logs.rc:root/init.logs.rc +PRODUCT_PACKAGES += \ + elogs.sh \ + start_log_srv.sh \ + logcat_ep.sh +endif + +ifeq ($(MIXIN_DEBUG_LOGS),true) +PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.service.default_logfs=apklogfs +PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.intel.logger=/system/bin/logcat +PRODUCT_DEFAULT_PROPERTY_OVERRIDES += logd.kernel.raw_message=False +PRODUCT_DEFAULT_PROPERTY_OVERRIDES += persist.intel.logger.rot_cnt=20 +PRODUCT_DEFAULT_PROPERTY_OVERRIDES += persist.intel.logger.rot_size=5000 +BOARD_SEPOLICY_DIRS += $(INTEL_PATH_SEPOLICY)/debug-logs +BOARD_SEPOLICY_M4DEFS += module_debug_logs=true +endif +############################################################## +# Source: device/intel/mixins/groups/debug-crashlogd/true/product.mk +############################################################## +ifeq ($(MIXIN_DEBUG_LOGS),true) +PRODUCT_COPY_FILES += \ + $(LOCAL_PATH)/extra_files/debug-crashlogd/init.crashlogd.rc:root/init.crashlogd.rc \ + $(call add-to-product-copy-files-if-exists,$(LOCAL_PATH)/extra_files/debug-crashlogd/ingredients.conf:$(TARGET_COPY_OUT_VENDOR)/etc/ingredients.conf) \ + $(call add-to-product-copy-files-if-exists,$(LOCAL_PATH)/extra_files/debug-crashlogd/crashlog.conf:$(TARGET_COPY_OUT_VENDOR)/etc/crashlog.conf) +PRODUCT_PACKAGES += crashlogd \ + dumpstate_dropbox.sh +endif + +ifeq ($(MIXIN_DEBUG_LOGS),true) +PRODUCT_DEFAULT_PROPERTY_OVERRIDES += persist.vendor.crashlogd.data_quota=50 +BOARD_SEPOLICY_DIRS += device/intel/project-celadon/sepolicy/crashlogd + +CRASHLOGD_LOGS_PATH := "/data/logs" +CRASHLOGD_APLOG := true +CRASHLOGD_FULL_REPORT := true +CRASHLOGD_MODULE_MODEM ?= true +CRASHLOGD_USE_SD := false +endif +############################################################## +# Source: device/intel/mixins/groups/debug-coredump/true/product.mk +############################################################## +ifeq ($(MIXIN_DEBUG_LOGS),true) +PRODUCT_COPY_FILES += $(LOCAL_PATH)/extra_files/debug-coredump/init.coredump.rc:root/init.coredump.rc +endif + +ifeq ($(MIXIN_DEBUG_LOGS),true) +BOARD_SEPOLICY_DIRS += $(INTEL_PATH_SEPOLICY)/coredump +# Enable core dump for eng builds +ifeq ($(TARGET_BUILD_VARIANT),eng) +PRODUCT_DEFAULT_PROPERTY_OVERRIDES += persist.core.enabled=1 +else +PRODUCT_DEFAULT_PROPERTY_OVERRIDES += persist.core.enabled=0 +endif +CRASHLOGD_COREDUMP := true +endif +############################################################## +# Source: device/intel/mixins/groups/debug-phonedoctor/true/product.mk +############################################################## +ifeq ($(MIXIN_DEBUG_LOGS),true) +PRODUCT_PACKAGES += crash_package +endif +############################################################## +# Source: device/intel/mixins/groups/debug-tools/true/product.mk +############################################################## +PRODUCT_PACKAGES_DEBUG += \ + AndroidTerm \ + libjackpal-androidterm4 \ + peeknpoke \ + pytimechart-record \ + lspci \ + llvm-symbolizer +############################################################## +# Source: device/intel/mixins/groups/trusty/true/product.mk +############################################################## + +KM_VERSION := 2 + +ifeq ($(KM_VERSION),2) +PRODUCT_PACKAGES += \ + keystore.trusty +PRODUCT_PROPERTY_OVERRIDES += \ + ro.hardware.keystore=trusty +endif + +ifeq ($(KM_VERSION),1) +PRODUCT_PACKAGES += \ + keystore.project-celadon +endif + +PRODUCT_PACKAGES += \ + libtrusty \ + storageproxyd \ + libtrustystorage \ + libtrustystorageinterface \ + gatekeeper.trusty \ + android.hardware.gatekeeper@1.0-impl \ + android.hardware.gatekeeper@1.0-service + +PRODUCT_PROPERTY_OVERRIDES += \ + ro.hardware.gatekeeper=trusty + +############################################################## +# Source: device/intel/mixins/groups/midi/true/product.mk +############################################################## +# MIDI support +PRODUCT_COPY_FILES += \ + frameworks/native/data/etc/android.software.midi.xml:vendor/etc/permissions/android.software.midi.xml +############################################################## +# Source: device/intel/mixins/groups/camera-ext/ext-camera-only/product.mk +############################################################## +# Camera: Device-specific configuration files. Supports only External USB camera, no CSI support +PRODUCT_COPY_FILES += \ + frameworks/native/data/etc/android.hardware.camera.external.xml:vendor/etc/permissions/android.hardware.camera.external.xml \ + device/intel/project-celadon/common/camera-ext/external_camera_config.xml:vendor/etc/external_camera_config.xml + +# External camera service +PRODUCT_PACKAGES += android.hardware.camera.provider@2.4-external-service \ + android.hardware.camera.provider@2.4-impl + +# Only include test apps in eng or userdebug builds. +PRODUCT_PACKAGES_DEBUG += TestingCamera \ + MultiCameraApp +############################################################## +# Source: device/intel/mixins/groups/memtrack/true/product.mk +############################################################## +# memtrack HAL +PRODUCT_PACKAGES += \ + memtrack.$(TARGET_BOARD_PLATFORM) \ + android.hardware.memtrack@1.0-service \ + android.hardware.memtrack@1.0-impl +############################################################## +# Source: device/intel/mixins/groups/touch/galax7200/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 +############################################################## +# Source: device/intel/mixins/groups/health/true/product.mk +############################################################## +PRODUCT_PACKAGES += health +PRODUCT_PACKAGES += health.$(TARGET_BOARD_PLATFORM) \ + android.hardware.health@2.0-service.celadon +############################################################## +# Source: device/intel/mixins/groups/art-config/default/product.mk +############################################################## +# This is needed to enable silver art optimizer. +VENDOR_ART_PATH ?= $(INTEL_PATH_VENDOR)/art-extension + +PRODUCT_PACKAGES_TESTS += \ + art-run-tests \ + libarttest \ + libnativebridgetest \ + libart-gtest +############################################################## +# Source: device/intel/mixins/groups/debug-kernel/default/product.mk +############################################################## +ifneq ($(TARGET_BUILD_VARIANT),user) +PRODUCT_COPY_FILES += $(LOCAL_PATH)/extra_files/debug-kernel/init.kernel.rc:root/init.kernel.rc +endif +############################################################## +# Source: device/intel/mixins/groups/debug-unresponsive/default/product.mk +############################################################## +ifneq ($(TARGET_BUILD_VARIANT),user) + +PRODUCT_DEFAULT_PROPERTY_OVERRIDES += sys.dropbox.max_size_kb=4096 + +PRODUCT_DEFAULT_PROPERTY_OVERRIDES += sys.dump.binder_stats.uiwdt=1 +PRODUCT_DEFAULT_PROPERTY_OVERRIDES += sys.dump.binder_stats.anr=1 + +PRODUCT_DEFAULT_PROPERTY_OVERRIDES += sys.dump.peer_depth=3 + +PRODUCT_DEFAULT_PROPERTY_OVERRIDES += sys.dump.stacks_timeout=1500 + +endif +# ------------------ END MIX-IN DEFINITIONS ------------------ + + diff --git a/celadon/dptf.dv b/celadon/dptf.dv new file mode 100644 index 000000000..c973bb347 Binary files /dev/null and b/celadon/dptf.dv differ diff --git a/celadon/efivar_oemlock b/celadon/efivar_oemlock new file mode 100644 index 000000000..b93dad169 Binary files /dev/null and b/celadon/efivar_oemlock differ diff --git a/celadon/extra_files/2ndstage/oemvars.txt b/celadon/extra_files/2ndstage/oemvars.txt new file mode 100644 index 000000000..f63725c6b --- /dev/null +++ b/celadon/extra_files/2ndstage/oemvars.txt @@ -0,0 +1,18 @@ +# ----------------- BEGIN MIX-IN DEFINITIONS ----------------- +# Mix-In definitions are auto-generated by mixin-update +############################################################## +# Source: device/intel/mixins/groups/2ndstage/oemvars/oemvars.txt +############################################################## +# This section may appear empty if magic_key_timeout is false +############################################################## +# Source: device/intel/mixins/groups/boot-arch/project-celadon/oemvars.txt +############################################################## +# This section may appear empty if magic_key_timeout is false + +########################## +GUID = 4a67b082-0a4c-41cf-b6c7-440b29bb8c4f + +# Maximum timeout to check for magic key at boot; loader GUID +MagicKeyTimeout 80 + +# ------------------ END MIX-IN DEFINITIONS ------------------ diff --git a/celadon/extra_files/audio/load_audio_modules.sh b/celadon/extra_files/audio/load_audio_modules.sh new file mode 100644 index 000000000..c23ff333c --- /dev/null +++ b/celadon/extra_files/audio/load_audio_modules.sh @@ -0,0 +1,4 @@ +load_audio_modules() { +insmod /vendor/lib/modules/kernel/sound/drivers/snd-dummy.ko +} +load_audio_modules& diff --git a/celadon/extra_files/bluetooth/load_bt.sh b/celadon/extra_files/bluetooth/load_bt.sh new file mode 100644 index 000000000..999ca0d17 --- /dev/null +++ b/celadon/extra_files/bluetooth/load_bt.sh @@ -0,0 +1,9 @@ +load_bt_modules() { +insmod $modules/kernel/crypto/ecdh_generic.ko +insmod $modules/kernel/net/bluetooth/bluetooth.ko +insmod $modules/kernel/drivers/bluetooth/btintel.ko +insmod $modules/kernel/drivers/bluetooth/btbcm.ko +insmod $modules/kernel/drivers/bluetooth/btrtl.ko +insmod $modules/kernel/drivers/bluetooth/btusb.ko +} +load_bt_modules& diff --git a/celadon/extra_files/boot-arch/oemvars.txt b/celadon/extra_files/boot-arch/oemvars.txt new file mode 100644 index 000000000..5f86e3636 --- /dev/null +++ b/celadon/extra_files/boot-arch/oemvars.txt @@ -0,0 +1,8 @@ +# This section may appear empty if magic_key_timeout is false + +########################## +GUID = 4a67b082-0a4c-41cf-b6c7-440b29bb8c4f + +# Maximum timeout to check for magic key at boot; loader GUID +MagicKeyTimeout 80 + diff --git a/celadon/extra_files/boot-arch/startup.nsh b/celadon/extra_files/boot-arch/startup.nsh new file mode 100644 index 000000000..abab6587e --- /dev/null +++ b/celadon/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/celadon/extra_files/boot-arch/unlock_device.nsh b/celadon/extra_files/boot-arch/unlock_device.nsh new file mode 100644 index 000000000..ec3aaa8a3 --- /dev/null +++ b/celadon/extra_files/boot-arch/unlock_device.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/unlock_device.nsh +############################################################## +dmpstore OEMLock -l efivar_oemlock +# ------------------ END MIX-IN DEFINITIONS ------------------ diff --git a/celadon/extra_files/camera-ext/external_camera_config.xml b/celadon/extra_files/camera-ext/external_camera_config.xml new file mode 100644 index 000000000..0266b3bc7 --- /dev/null +++ b/celadon/extra_files/camera-ext/external_camera_config.xml @@ -0,0 +1,51 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/celadon/extra_files/cpuset/config_cpuset.sh b/celadon/extra_files/cpuset/config_cpuset.sh new file mode 100644 index 000000000..97512e68d --- /dev/null +++ b/celadon/extra_files/cpuset/config_cpuset.sh @@ -0,0 +1,22 @@ +#!/vendor/bin/sh + + cp /sys/devices/system/cpu/online /dev/cpuset/foreground/cpus + cp /sys/devices/system/cpu/online /dev/cpuset/background/cpus + cp /sys/devices/system/cpu/online /dev/cpuset/system-background/cpus + cp /sys/devices/system/cpu/online /dev/cpuset/top-app/cpus + cp /sys/devices/system/cpu/online /dev/cpuset/foreground/boost/cpus + +# ----------------- BEGIN MIX-IN DEFINITIONS ----------------- +# Mix-In definitions are auto-generated by mixin-update +############################################################## +# Source: device/intel/mixins/groups/cpuset/autocores/config_cpuset.sh +############################################################## +#!/vendor/bin/sh + + cp /sys/devices/system/cpu/online /dev/cpuset/foreground/cpus + cp /sys/devices/system/cpu/online /dev/cpuset/background/cpus + cp /sys/devices/system/cpu/online /dev/cpuset/system-background/cpus + cp /sys/devices/system/cpu/online /dev/cpuset/top-app/cpus + cp /sys/devices/system/cpu/online /dev/cpuset/foreground/boost/cpus + +# ------------------ END MIX-IN DEFINITIONS ------------------ diff --git a/celadon/extra_files/debug-coredump/init.coredump.rc b/celadon/extra_files/debug-coredump/init.coredump.rc new file mode 100644 index 000000000..75ecbc71c --- /dev/null +++ b/celadon/extra_files/debug-coredump/init.coredump.rc @@ -0,0 +1,21 @@ +# ----------------- BEGIN MIX-IN DEFINITIONS ----------------- +# Mix-In definitions are auto-generated by mixin-update +############################################################## +# Source: device/intel/mixins/groups/debug-coredump/true/init.coredump.rc +############################################################## +on early-init + setrlimit 4 -1 -1 + + # Add code sections in coredump + write /proc/self/coredump_filter 0x2F + +on post-fs-data + mkdir /data/core 0773 root log + +on property:persist.core.enabled=0 + setrlimit 4 0 0 + +on property:persist.core.enabled=1 + setrlimit 4 -1 -1 + write /proc/sys/kernel/core_pattern /data/core/%t_%p_%s_%e.core +# ------------------ END MIX-IN DEFINITIONS ------------------ diff --git a/celadon/extra_files/debug-crashlogd/init.crashlogd.rc b/celadon/extra_files/debug-crashlogd/init.crashlogd.rc new file mode 100644 index 000000000..c94ad194c --- /dev/null +++ b/celadon/extra_files/debug-crashlogd/init.crashlogd.rc @@ -0,0 +1,28 @@ +# ----------------- BEGIN MIX-IN DEFINITIONS ----------------- +# Mix-In definitions are auto-generated by mixin-update +############################################################## +# Source: device/intel/mixins/groups/debug-crashlogd/true/init.crashlogd.rc +############################################################## +on init + write /proc/sys/fs/suid_dumpable 1 + +on post-fs-data +## mkdir /data/tombstones 0775 system system + mkdir /data/system 0755 system system + mkdir /data/system/dropbox 0700 system system + mkdir /data/logs/modemcrash 0775 system system + mkdir /data/logs/stats 0775 system system + mkdir /data/logs/aplogs 0775 system log + trigger delayed-fs-data + +on delayed-fs-data + mkdir /data/tombstones 0775 system system + +service crashlogd /system/vendor/bin/crashlogd + class late_start + +# started by vendor/intel/log_capture/crashlog +service logsystemstate /system/vendor/bin/dumpstate_dropbox.sh -v + disabled + oneshot +# ------------------ END MIX-IN DEFINITIONS ------------------ diff --git a/celadon/extra_files/debug-kernel/init.kernel.rc b/celadon/extra_files/debug-kernel/init.kernel.rc new file mode 100644 index 000000000..e249cdc6e --- /dev/null +++ b/celadon/extra_files/debug-kernel/init.kernel.rc @@ -0,0 +1,12 @@ +# ----------------- BEGIN MIX-IN DEFINITIONS ----------------- +# Mix-In definitions are auto-generated by mixin-update +############################################################## +# Source: device/intel/mixins/groups/debug-kernel/default/init.kernel.rc +############################################################## +on early-init + write /proc/sys/kernel/panic_on_stackoverflow 1 + +on fs + # Overwrite system/core/rootdir/init.rc config declared "on init" + write /proc/sys/kernel/hung_task_timeout_secs 120 +# ------------------ END MIX-IN DEFINITIONS ------------------ diff --git a/celadon/extra_files/debug-logs/init.logs.rc b/celadon/extra_files/debug-logs/init.logs.rc new file mode 100644 index 000000000..6901e4416 --- /dev/null +++ b/celadon/extra_files/debug-logs/init.logs.rc @@ -0,0 +1,64 @@ +# ----------------- BEGIN MIX-IN DEFINITIONS ----------------- +# Mix-In definitions are auto-generated by mixin-update +############################################################## +# Source: device/intel/mixins/groups/debug-logs/true/init.logs.rc +############################################################## +on post-fs-data + mkdir /data/logs 0770 system log + +on property:persist.service.aplogfs.enable=0 + stop vendor.ap_logfs + +on property:persist.service.aplogfs.enable=1 + setprop persist.service.apklogfs.enable 0 + restart vendor.ap_log_srv + +on property:persist.service.apklogfs.enable=0 + stop vendor.apk_logfs + +on property:persist.service.apklogfs.enable=1 + setprop persist.service.aplogfs.enable 0 + restart vendor.ap_log_srv + +service vendor.apk_logfs /vendor/bin/logcat_ep.sh auto \ + -b main -b system -b radio -b events -b crash -b kernel \ + -v threadtime -f /data/logs/aplog + user root + group root log + disabled + +service vendor.ap_logfs /vendor/bin/logcat_ep.sh auto \ + -b main -b system -b radio -b events -b crash \ + -v threadtime -f /data/logs/aplog + user root + group root log + disabled + +# Service called at boot time after data is decrypted +# +# This is done through the late_start class or through persist properties +# that are only available after data is decrypted. +# The service may be called again when the properties are updated. +service vendor.ap_log_srv /vendor/bin/start_log_srv.sh + user root + group root log + class late_start + oneshot + +service vendor.earlylogs /vendor/bin/elogs.sh + class core + oneshot + +on nonencrypted + stop vendor.earlylogs + +on property:vold.decrypt=trigger_restart_framework + stop vendor.earlylogs + +on property:persist.service.elogs.enable=1 + mkdir /cache/elogs 0770 system log + restorecon /cache/elogs + +on property:persist.service.elogs.enable=0 + exec -- /system/bin/rm -rf /cache/elogs +# ------------------ END MIX-IN DEFINITIONS ------------------ diff --git a/celadon/extra_files/firststage-mount/config.asl b/celadon/extra_files/firststage-mount/config.asl new file mode 100644 index 000000000..47bcc9c9d --- /dev/null +++ b/celadon/extra_files/firststage-mount/config.asl @@ -0,0 +1,31 @@ +//ACPI module device to config First-Stage Mount +DefinitionBlock ("firststage-mount.aml", "SSDT", 1, "INTEL ", "android", 0x00001000) +{ +Scope (\) +{ +External (\_SB.CFG0, DeviceObj) +Scope(_SB) +{ + Device (ANDT) + { + Name (_HID, "ANDR0001") + Name (_STR, Unicode("android device tree")) // Optional + + Name (_DSD, Package () { + ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"), + Package () { + Package () {"android.compatible", "android,firmware"}, + Package () {"android.vbmeta.compatible","android,vbmeta"}, + Package () {"android.vbmeta.parts","vbmeta,boot,system,vendor,tos"}, + Package () {"android.fstab.compatible", "android,fstab"}, + Package () {"android.fstab.vendor.compatible", "android,vendor"}, + Package () {"android.fstab.vendor.dev", "/dev/block/pci/pci0000:00/0000:00:ff.ff/by-name/vendor"}, // Varies with platform + Package () {"android.fstab.vendor.type", "ext4"}, // May vary with platform + Package () {"android.fstab.vendor.mnt_flags", "ro"}, // May vary with platform + Package () {"android.fstab.vendor.fsmgr_flags", "wait,slotselect,avb"}, // May vary with platform + } + }) + } +} +} +} diff --git a/celadon/extra_files/flashfiles/flashfiles.ini b/celadon/extra_files/flashfiles/flashfiles.ini new file mode 100644 index 000000000..e497914fa --- /dev/null +++ b/celadon/extra_files/flashfiles/flashfiles.ini @@ -0,0 +1,200 @@ +# This file describe the commands needed to flash the board. +# it is used to generate a json file for PhoneFlashTool, and +# also to generate a script for the USB thumb drive installer. + +# there are 4 types of sections: +# [output.xxx.yy] : tell the script to generate a file named xxx.yyy +# [configuration.xxx] : add a new configuration in the PhoneFlashTool droplist +# each configuration defines the list of sets of commands. +# each command sets will be executed in the order they are in this file. +# for a configuration to be embeded in a json output file, it must +# be present in the "configurations" list of it +# [command.xxxx.yyyy] : add a new command yyyy to the command set xxxxx +# so if a configuration has sets = "format reboot" then all commands +# [command.format.yyy] will be executed, followed by all [command.reboot.yyy] +# if the command requires a file to be passed, you can use $my_file in the args +# and then my_file = src:filename where src is the location of the file at +# build time (provdatazip, image, ...). +# [group.xxxx] : add a checkbox in PFT UI, to enable/disable all commands +# which are member of this group. the default can be overriden in a configuration +# by setting override-xxxx = true or false. + + +[global] +# if you need additional files in the flashfiles.zip. +# additional-files += radio:dediprog.bin + +[output.flash.json] +fastboot-command-options += timeout=60000 retry=1 mandatory=true +enable = true +version = 3.0 +configurations += update blank + +[output.installer.cmd] +sets = unlock partition bootloader erase format flash configure slot-ab lock reboot +additional-files += provdatazip:installer.efi provdatazip:startup.nsh provdatazip:efivar_oemlock provdatazip:unlock_device.nsh provdatazip:config.img provdatazip:factory.img +enable = true + +[configuration.update] +startState = pos +sets = unlock bootloader flash capsule slot-ab lock reboot +default = true +description = update device to new release +brief = update + +[configuration.blank] +startState = pos +#sets = fw_update bootstrap unlock partition bootloader erase format flash capsule configure slot-ab lock reboot +sets = unlock partition bootloader reboot-bootloader erase format flash configure slot-ab lock reboot +description = erase and flash all partitions, all data will be lost. +brief = blank + +[group.delete-capsule] +name = Disable capsule update +description = Disable capsule update by deleting the capsule file from the ESP partition +default = false + +[command.unlock.unlock] +tool = fastboot +args = flashing unlock +description = Set device state to unlocked + +[command.erase.misc] +tool = fastboot +args = erase misc +description = Erase misc partition + +[command.erase.persistent] +tool = fastboot +args = erase persistent +description = Erase persistent partition + +[command.erase.metadata] +tool = fastboot +args = erase metadata +description = Erase metadata partition + +[command.erase.teedata] +tool = fastboot +args = erase teedata +description = Erase teedata partition + +[group.erase-efivars] +name = Erase efi vars +description = Erase all optional efi vars +default = true + +[command.erase-efivars.efivars] +tool = fastboot +args = oem erase-efivars +description = Erase all optional efi vars +group = erase-efivars + +[command.partition.gpt] +tool = fastboot +args = flash gpt $file +file = provdatazip:gpt.bin +description = Initialize the partition table + +[command.bootloader.bootloader] +tool = fastboot +args = flash bootloader $file +file = bootloader:bootloader +description = Flash bootloader partition + + + +[command.flash.vbmeta_a] +tool = fastboot +args = flash vbmeta_a $file +file = images:vbmeta.img +description = Flash vbmeta_a partition + + +[command.flash.tos_a] +tool = fastboot +args = flash tos_a $file +file = radio:tos.img +description = Flash tos_a partition + + +[command.flash.boot_a] +tool = fastboot +args = flash boot_a $file +file = boot:boot:boot.img +description = Flash boot_a partition + + + + +[command.flash.system_a] +tool = fastboot +args = flash system_a $file +file = images:system.img +timeout = 600000 +description = Flash system_a partition + + +[command.flash.vendor_a] +tool = fastboot +args = flash vendor_a $file +file = images:vendor.img +timeout = 600000 +description = Flash vendor_a partition + + +[command.flash.factory] +tool = fastboot +args = flash factory $file +file = radio:factory.img +timeout = 600000 +description = Flash factory partition + + +[command.flash.config] +tool = fastboot +args = flash config $file +file = radio:config.img +timeout = 600000 +description = Flash config partition + + +[command.capsule.rm-capsule] +tool = fastboot +args = oem rm /ESP/BIOSUPDATE.FV +group = delete-capsule +description = Delete firmware capsule + + +[command.format.data] +tool = fastboot +args = format data +description = Format data partition + +# This will reset the setting of slot B + +[command.slot-ab.set-active-a] +tool = fastboot +args = set_active a +description = Set the active slot to A + +[group.lock-device] +name = Lock the device (it implies the userdata partition wipe) +description = Put the device in locked state at the end of the flash procedure. +default = true + +[command.lock.lock] +tool = fastboot +args = flashing lock +group = lock-device +description = Set device state to locked + +[command.reboot.continue] +tool = fastboot +args = continue +description = Boot to main OS + +[command.reboot-bootloader.reboot] +tool = fastboot +args = reboot bootloader +description = Boot to bootloader diff --git a/celadon/extra_files/graphics/drirc b/celadon/extra_files/graphics/drirc new file mode 100644 index 000000000..5306b98fc --- /dev/null +++ b/celadon/extra_files/graphics/drirc @@ -0,0 +1,15 @@ + + + + + + + + + + + + diff --git a/celadon/extra_files/rfkill/load_rfkill.sh b/celadon/extra_files/rfkill/load_rfkill.sh new file mode 100644 index 000000000..b51848162 --- /dev/null +++ b/celadon/extra_files/rfkill/load_rfkill.sh @@ -0,0 +1,4 @@ +load_rfkill_modules() { +insmod $modules/kernel/net/rfkill/rfkill-gpio.ko +} +load_rfkill_modules& diff --git a/celadon/extra_files/wlan/load_iwlwifi_modules.sh b/celadon/extra_files/wlan/load_iwlwifi_modules.sh new file mode 100644 index 000000000..9de80b1f2 --- /dev/null +++ b/celadon/extra_files/wlan/load_iwlwifi_modules.sh @@ -0,0 +1,7 @@ +load_iwlwifi_modules() { + insmod $modules/kernel/net/wireless/cfg80211.ko + insmod $modules/kernel/net/mac80211/mac80211.ko + insmod $modules/kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko d0i3_disable=1 + insmod $modules/kernel/drivers/net/wireless/intel/iwlwifi/mvm/iwlmvm.ko power_scheme=1 +} +load_iwlwifi_modules& diff --git a/celadon/flash.json b/celadon/flash.json new file mode 100644 index 000000000..432041c04 --- /dev/null +++ b/celadon/flash.json @@ -0,0 +1,509 @@ +# ----------------- BEGIN MIX-IN DEFINITIONS ----------------- +# Mix-In definitions are auto-generated by mixin-update +############################################################## +# Source: device/intel/mixins/groups/boot-arch/project-celadon/flash.json +############################################################## +{ + "flash": { + "commands": [ + { + "args": "flashing unlock", + "description": "Set device state to unlocked", + "mandatory": true, + "precondition": { + "description": "Check battery level: ${battery}mV", + "expression": "${battery} >= 3500", + "skipOnFailure": false + }, + "restrict": [ + "blank", + "update" + ], + "retry": 1, + "timeout": 60000, + "tool": "fastboot" + }, + { + "args": "flash gpt ${gpt}", + "description": "Initialize the partition table", + "mandatory": true, + "precondition": { + "description": "Check battery level: ${battery}mV", + "expression": "${battery} >= 3500", + "skipOnFailure": false + }, + "restrict": [ + "blank" + ], + "retry": 1, + "timeout": 60000, + "tool": "fastboot" + }, + { + "args": "flash bootloader ${bootloader}", + "description": "Flash bootloader partition", + "mandatory": true, + "precondition": { + "description": "Check battery level: ${battery}mV", + "expression": "${battery} >= 3500", + "skipOnFailure": false + }, + "restrict": [ + "blank", + "update" + ], + "retry": 1, + "timeout": 60000, + "tool": "fastboot" + }, + { + "args": "reboot bootloader", + "description": "Reboot system to fastboot mode", + "mandatory": true, + "precondition": { + "description": "Check battery level: ${battery}mV", + "expression": "${battery} >= 3500", + "skipOnFailure": false + }, + "restrict": [ + "blank" + ], + "retry": 1, + "timeout": 60000, + "tool": "fastboot" + }, + { + "args": "erase misc", + "description": "Erase misc partition", + "mandatory": true, + "precondition": { + "description": "Check battery level: ${battery}mV", + "expression": "${battery} >= 3500", + "skipOnFailure": false + }, + "restrict": [ + "blank" + ], + "retry": 1, + "timeout": 60000, + "tool": "fastboot" + }, + { + "args": "erase persistent", + "description": "Erase persistent partition", + "mandatory": true, + "precondition": { + "description": "Check battery level: ${battery}mV", + "expression": "${battery} >= 3500", + "skipOnFailure": false + }, + "restrict": [ + "blank" + ], + "retry": 1, + "timeout": 60000, + "tool": "fastboot" + }, + { + "args": "erase metadata", + "description": "Erase metadata partition", + "mandatory": true, + "precondition": { + "description": "Check battery level: ${battery}mV", + "expression": "${battery} >= 3500", + "skipOnFailure": false + }, + "restrict": [ + "blank" + ], + "retry": 1, + "timeout": 60000, + "tool": "fastboot" + }, + { + "args": "format config", + "description": "Format config partition", + "mandatory": true, + "precondition": { + "description": "Check battery level: ${battery}mV", + "expression": "${battery} >= 3500", + "skipOnFailure": false + }, + "restrict": [ + "blank" + ], + "retry": 1, + "timeout": 60000, + "tool": "fastboot" + }, + { + "args": "format data", + "description": "Format data partition", + "mandatory": true, + "precondition": { + "description": "Check battery level: ${battery}mV", + "expression": "${battery} >= 3500", + "skipOnFailure": false + }, + "restrict": [ + "blank" + ], + "retry": 1, + "timeout": 60000, + "tool": "fastboot" + }, + { + "args": "flash vbmeta_a ${vbmeta}", + "description": "Flash vbmeta_a partition", + "mandatory": true, + "precondition": { + "description": "Check battery level: ${battery}mV", + "expression": "${battery} >= 3500", + "skipOnFailure": false + }, + "restrict": [ + "blank", + "update" + ], + "retry": 1, + "timeout": 60000, + "tool": "fastboot" + }, + { + "args": "flash vbmeta_b ${vbmeta}", + "description": "Flash vbmeta_b partition", + "mandatory": true, + "precondition": { + "description": "Check battery level: ${battery}mV", + "expression": "${battery} >= 3500", + "skipOnFailure": false + }, + "restrict": [ + "blank", + "update" + ], + "retry": 1, + "timeout": 60000, + "tool": "fastboot" + }, + { + "args": "flash boot_a ${boot}", + "description": "Flash boot_a partition", + "mandatory": true, + "precondition": { + "description": "Check battery level: ${battery}mV", + "expression": "${battery} >= 3500", + "skipOnFailure": false + }, + "restrict": [ + "blank", + "update" + ], + "retry": 1, + "timeout": 60000, + "tool": "fastboot" + }, + { + "args": "flash boot_b ${boot}", + "description": "Flash boot_b partition", + "mandatory": true, + "precondition": { + "description": "Check battery level: ${battery}mV", + "expression": "${battery} >= 3500", + "skipOnFailure": false + }, + "restrict": [ + "blank", + "update" + ], + "retry": 1, + "timeout": 60000, + "tool": "fastboot" + }, + { + "args": "flash tos_a ${tos}", + "description": "Flash tos_a partition", + "mandatory": true, + "precondition": { + "description": "Check battery level: ${battery}mV", + "expression": "${battery} >= 3500", + "skipOnFailure": false + }, + "restrict": [ + "blank", + "update" + ], + "retry": 1, + "timeout": 60000, + "tool": "fastboot" + }, + { + "args": "flash tos_b ${tos}", + "description": "Flash tos_b partition", + "mandatory": true, + "precondition": { + "description": "Check battery level: ${battery}mV", + "expression": "${battery} >= 3500", + "skipOnFailure": false + }, + "restrict": [ + "blank", + "update" + ], + "retry": 1, + "timeout": 60000, + "tool": "fastboot" + }, + { + "args": "flash system_a ${system}", + "description": "Flash system_a partition", + "mandatory": true, + "precondition": { + "description": "Check battery level: ${battery}mV", + "expression": "${battery} >= 3500", + "skipOnFailure": false + }, + "restrict": [ + "blank", + "update" + ], + "retry": 1, + "timeout": 600000, + "tool": "fastboot" + }, + { + "args": "flash system_b ${system}", + "description": "Flash system_b partition", + "mandatory": true, + "precondition": { + "description": "Check battery level: ${battery}mV", + "expression": "${battery} >= 3500", + "skipOnFailure": false + }, + "restrict": [ + "blank", + "update" + ], + "retry": 1, + "timeout": 600000, + "tool": "fastboot" + }, + { + "args": "flash vendor_a ${vendor}", + "description": "Flash vendor partition", + "mandatory": true, + "precondition": { + "description": "Check battery level: ${battery}mV", + "expression": "${battery} >= 3500", + "skipOnFailure": false + }, + "restrict": [ + "blank", + "update" + ], + "retry": 1, + "timeout": 60000, + "tool": "fastboot" + }, + { + "args": "flash vendor_b ${vendor}", + "description": "Flash vendor_b partition", + "mandatory": true, + "precondition": { + "description": "Check battery level: ${battery}mV", + "expression": "${battery} >= 3500", + "skipOnFailure": false + }, + "restrict": [ + "blank", + "update" + ], + "retry": 1, + "timeout": 60000, + "tool": "fastboot" + }, + { + "args": "flash factory ${factory}", + "description": "Flash factory partition", + "mandatory": true, + "precondition": { + "description": "Check battery level: ${battery}mV", + "expression": "${battery} >= 3500", + "skipOnFailure": false + }, + "restrict": [ + "blank", + "update" + ], + "retry": 1, + "timeout": 60000, + "tool": "fastboot" + }, + { + "args": "set_active a", + "description": "Set active slot to a", + "mandatory": true, + "precondition": { + "description": "Check battery level: ${battery}mV", + "expression": "${battery} >= 3500", + "skipOnFailure": false + }, + "restrict": [ + "blank", + "blank" + ], + "retry": 1, + "timeout": 60000, + "tool": "fastboot" + }, + { + "args": "flashing lock", + "description": "Set device state to locked", + "group": "lock-device", + "mandatory": true, + "precondition": { + "description": "Check battery level: ${battery}mV", + "expression": "${battery} >= 3500", + "skipOnFailure": false + }, + "restrict": [ + "blank", + "update" + ], + "retry": 1, + "timeout": 60000, + "tool": "fastboot" + }, + { + "args": "continue", + "description": "Boot to main OS", + "mandatory": true, + "precondition": { + "description": "Check battery level: ${battery}mV", + "expression": "${battery} >= 3500", + "skipOnFailure": false + }, + "restrict": [ + "blank", + "update" + ], + "retry": 1, + "timeout": 60000, + "tool": "fastboot" + } + ], + "configurations": { + "blank": { + "brief": "blank", + "description": "erase and flash all partitions, all data will be lost.", + "groupsState": { + "check-battery": true, + "erase-efivars": true, + "lock-device": true + }, + "name": "blank", + "startState": "pos" + }, + "update": { + "brief": "update", + "default": true, + "description": "update phone to new release", + "groupsState": { + "check-battery": true, + "lock-device": true + }, + "name": "update", + "startState": "pos" + } + }, + "groups": { + "check-battery": { + "description": "Check battery level before sending fastboot command", + "name": "Check battery level" + }, + "erase-efivars": { + "description": "Erase all optional efi vars", + "name": "Erase efi vars" + }, + "lock-device": { + "description": "Put the device in locked state at the end of the flash procedure.", + "name": "Lock the device (it implies the userdata partition wipe)" + } + }, + "osplatform": "android", + "parameters": { + "battery": { + "computedValue": "$1", + "description": "Fetch battery", + "filter": "battery-voltage:[\\s]*([0-9]+)mV", + "name": "battery", + "subCommand": { + "args": "getvar battery-voltage", + "description": "Fetch battery", + "mandatory": true, + "retry": 1, + "timeout": 60000, + "tool": "fastboot" + }, + "type": "variable", + "value": 3500 + }, + "boot": { + "description": "boot.img", + "name": "boot", + "type": "file", + "value": "boot.img" + }, + "bootloader": { + "description": "bootloader", + "name": "bootloader", + "type": "file", + "value": "bootloader" + }, + "gpt": { + "description": "gpt.bin", + "name": "gpt", + "type": "file", + "value": "gpt.bin" + }, + "vbmeta": { + "description": "vbmeta.img", + "name": "vbmeta", + "type": "file", + "value": "vbmeta.img" + }, + "recovery": { + "description": "recovery.img", + "name": "recovery", + "type": "file", + "value": "recovery.img" + }, + "factory": { + "description": "factory.img", + "name": "factory", + "type": "file", + "value": "factory.img" + }, + "system": { + "description": "system.img", + "name": "system", + "type": "file", + "value": "system.img" + }, + "vendor": { + "description": "vendor.img", + "name": "vendor", + "type": "file", + "value": "vendor.img" + }, + "tos": { + "description": "tos.img", + "name": "tos", + "type": "file", + "value": "tos.img" + } + }, + "version": "3.0" + } +} +# ------------------ END MIX-IN DEFINITIONS ------------------ diff --git a/celadon/flashfiles.ini b/celadon/flashfiles.ini new file mode 100644 index 000000000..2e74fb37b --- /dev/null +++ b/celadon/flashfiles.ini @@ -0,0 +1,206 @@ +# ----------------- BEGIN MIX-IN DEFINITIONS ----------------- +# Mix-In definitions are auto-generated by mixin-update +############################################################## +# Source: device/intel/mixins/groups/flashfiles/ini/flashfiles.ini +############################################################## +# This file describe the commands needed to flash the board. +# it is used to generate a json file for PhoneFlashTool, and +# also to generate a script for the USB thumb drive installer. + +# there are 4 types of sections: +# [output.xxx.yy] : tell the script to generate a file named xxx.yyy +# [configuration.xxx] : add a new configuration in the PhoneFlashTool droplist +# each configuration defines the list of sets of commands. +# each command sets will be executed in the order they are in this file. +# for a configuration to be embeded in a json output file, it must +# be present in the "configurations" list of it +# [command.xxxx.yyyy] : add a new command yyyy to the command set xxxxx +# so if a configuration has sets = "format reboot" then all commands +# [command.format.yyy] will be executed, followed by all [command.reboot.yyy] +# if the command requires a file to be passed, you can use $my_file in the args +# and then my_file = src:filename where src is the location of the file at +# build time (provdatazip, image, ...). +# [group.xxxx] : add a checkbox in PFT UI, to enable/disable all commands +# which are member of this group. the default can be overriden in a configuration +# by setting override-xxxx = true or false. + + +[global] +# if you need additional files in the flashfiles.zip. +# additional-files += radio:dediprog.bin + +[output.flash.json] +fastboot-command-options += timeout=60000 retry=1 mandatory=true +enable = true +version = 3.0 +configurations += update blank + +[output.installer.cmd] +sets = unlock partition bootloader erase format flash configure slot-ab lock reboot +additional-files += provdatazip:installer.efi provdatazip:startup.nsh provdatazip:efivar_oemlock provdatazip:unlock_device.nsh provdatazip:config.img provdatazip:factory.img +enable = true + +[configuration.update] +startState = pos +sets = unlock bootloader flash capsule slot-ab lock reboot +default = true +description = update device to new release +brief = update + +[configuration.blank] +startState = pos +#sets = fw_update bootstrap unlock partition bootloader erase format flash capsule configure slot-ab lock reboot +sets = unlock partition bootloader reboot-bootloader erase format flash configure slot-ab lock reboot +description = erase and flash all partitions, all data will be lost. +brief = blank + +[group.delete-capsule] +name = Disable capsule update +description = Disable capsule update by deleting the capsule file from the ESP partition +default = false + +[command.unlock.unlock] +tool = fastboot +args = flashing unlock +description = Set device state to unlocked + +[command.erase.misc] +tool = fastboot +args = erase misc +description = Erase misc partition + +[command.erase.persistent] +tool = fastboot +args = erase persistent +description = Erase persistent partition + +[command.erase.metadata] +tool = fastboot +args = erase metadata +description = Erase metadata partition + +[command.erase.teedata] +tool = fastboot +args = erase teedata +description = Erase teedata partition + +[group.erase-efivars] +name = Erase efi vars +description = Erase all optional efi vars +default = true + +[command.erase-efivars.efivars] +tool = fastboot +args = oem erase-efivars +description = Erase all optional efi vars +group = erase-efivars + +[command.partition.gpt] +tool = fastboot +args = flash gpt $file +file = provdatazip:gpt.bin +description = Initialize the partition table + +[command.bootloader.bootloader] +tool = fastboot +args = flash bootloader $file +file = bootloader:bootloader +description = Flash bootloader partition + + + +[command.flash.vbmeta_a] +tool = fastboot +args = flash vbmeta_a $file +file = images:vbmeta.img +description = Flash vbmeta_a partition + + +[command.flash.tos_a] +tool = fastboot +args = flash tos_a $file +file = radio:tos.img +description = Flash tos_a partition + + +[command.flash.boot_a] +tool = fastboot +args = flash boot_a $file +file = boot:boot:boot.img +description = Flash boot_a partition + + + + +[command.flash.system_a] +tool = fastboot +args = flash system_a $file +file = images:system.img +timeout = 600000 +description = Flash system_a partition + + +[command.flash.vendor_a] +tool = fastboot +args = flash vendor_a $file +file = images:vendor.img +timeout = 600000 +description = Flash vendor_a partition + + +[command.flash.factory] +tool = fastboot +args = flash factory $file +file = radio:factory.img +timeout = 600000 +description = Flash factory partition + + +[command.flash.config] +tool = fastboot +args = flash config $file +file = radio:config.img +timeout = 600000 +description = Flash config partition + + +[command.capsule.rm-capsule] +tool = fastboot +args = oem rm /ESP/BIOSUPDATE.FV +group = delete-capsule +description = Delete firmware capsule + + +[command.format.data] +tool = fastboot +args = format data +description = Format data partition + +# This will reset the setting of slot B + +[command.slot-ab.set-active-a] +tool = fastboot +args = set_active a +description = Set the active slot to A + +[group.lock-device] +name = Lock the device (it implies the userdata partition wipe) +description = Put the device in locked state at the end of the flash procedure. +default = true + +[command.lock.lock] +tool = fastboot +args = flashing lock +group = lock-device +description = Set device state to locked + +[command.reboot.continue] +tool = fastboot +args = continue +description = Boot to main OS + +[command.reboot-bootloader.reboot] +tool = fastboot +args = reboot bootloader +description = Boot to bootloader +# ------------------ END MIX-IN DEFINITIONS ------------------ diff --git a/celadon/fstab b/celadon/fstab new file mode 100644 index 000000000..44800fd9e --- /dev/null +++ b/celadon/fstab @@ -0,0 +1,54 @@ +# ----------------- BEGIN MIX-IN DEFINITIONS ----------------- +# Mix-In definitions are auto-generated by mixin-update +############################################################## +# Source: device/intel/mixins/groups/storage/sdcard-mmc0-usb-sd/fstab +############################################################## +*/usb*/*/host*/*/block/sd* auto auto defaults voldmanaged=usbdisk:auto,encryptable=userdata +*/mmc0/*/block/mmcblk* auto auto defaults voldmanaged=sdcard1:auto +############################################################## +# Source: device/intel/mixins/groups/avb/true/fstab +############################################################## +/dev/block/by-name/vbmeta /vbmeta emmc defaults defaults,slotselect,avb +############################################################## +# Source: device/intel/mixins/groups/vendor-partition/true/fstab +############################################################## +# Following line is required if you use a vendor image. +# If the vendor image is not used, +# following line should be commented with the related ones in BoardConfig.mk +#First-Stage Mount is enabled, the mount of vendor partition is moved to the configure in ACPI SSDT table. +############################################################## +# Source: device/intel/mixins/groups/config-partition/enabled/fstab +############################################################## +/dev/block/by-name/config /vendor/oem_config ext4 noatime,nosuid,nodev,errors=panic wait,check +############################################################## +# Source: device/intel/mixins/groups/factory-partition/true/fstab +############################################################## +/dev/block/by-name/factory /vendor/factory ext4 rw,noatime wait +############################################################## +# Source: device/intel/mixins/groups/boot-arch/project-celadon/fstab +############################################################## +# Android fstab file. +# +# The filesystem that contains the filesystem checker binary (typically /system) cannot +# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK + +/devices/*/usb*/* auto auto defaults voldmanaged=usb:auto +/devices/*/*sdmmc*/* auto auto defaults voldmanaged=sdcard1:auto +/devices/*/80860F14:01/mmc_* auto auto defaults voldmanaged=sdcard1:auto + +# If enable AVB and A/B slot, then will mount system partition as / through /dev/dm-0 +/dev/block/by-name/system / ext4 ro wait,slotselect,avb +/dev/block/by-name/data /data ext4 noatime,nosuid,nodev,discard,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/bootloader /bootloader emmc defaults recoveryonly +/dev/block/by-name/bootloader2 /bootloader2 emmc defaults recoveryonly +/dev/block/by-name/persistent /persistent emmc defaults defaults +/dev/block/by-name/metadata /metadata emmc defaults defaults +/dev/block/by-name/tos /tos emmc defaults defaults,slotselect,avb +############################################################## +# Source: device/intel/mixins/groups/swap/zram/fstab +############################################################## +/dev/block/zram0 none swap defaults zramsize=1073741824 + +# ------------------ END MIX-IN DEFINITIONS ------------------ diff --git a/celadon/fstab.recovery b/celadon/fstab.recovery new file mode 100644 index 000000000..7f54e83eb --- /dev/null +++ b/celadon/fstab.recovery @@ -0,0 +1,56 @@ +# ----------------- BEGIN MIX-IN DEFINITIONS ----------------- +# Mix-In definitions are auto-generated by mixin-update +############################################################## +# Source: device/intel/mixins/groups/storage/sdcard-mmc0-usb-sd/fstab.recovery +############################################################## +/dev/block/sda1 /udiska vfat defaults voldmanaged=udiska:auto +/dev/block/sdb1 /udiskb vfat defaults voldmanaged=udiskb:auto +/dev/block/mmcblk0p1 /sdcard vfat defaults voldmanaged=sdcard:auto +############################################################## +# Source: device/intel/mixins/groups/avb/true/fstab.recovery +############################################################## +/dev/block/by-name/vbmeta /vbmeta emmc defaults defaults,slotselect +############################################################## +# Source: device/intel/mixins/groups/vendor-partition/true/fstab.recovery +############################################################## +# Following line is required if you use a vendor image. +# If the vendor image is not used, +# following line should be commented with the related ones in BoardConfig.mk + +/dev/block/by-name/vendor /vendor ext4 ro wait,slotselect +############################################################## +# Source: device/intel/mixins/groups/config-partition/enabled/fstab.recovery +############################################################## +/dev/block/by-name/config /vendor/oem_config ext4 noatime,nosuid,nodev,errors=panic wait,check +############################################################## +# Source: device/intel/mixins/groups/factory-partition/true/fstab.recovery +############################################################## +/dev/block/by-name/factory /vendor/factory ext4 rw,noatime wait +############################################################## +# Source: device/intel/mixins/groups/boot-arch/project-celadon/fstab.recovery +############################################################## +# Android fstab file. +# +# The filesystem that contains the filesystem checker binary (typically /system) cannot +# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK + +/devices/*/usb*/* auto auto defaults voldmanaged=usb:auto +/devices/*/*sdmmc*/* auto auto defaults voldmanaged=sdcard1:auto +/devices/*/80860F14:01/mmc_* auto auto defaults voldmanaged=sdcard1:auto + +# If enable AVB and A/B slot, then will mount system partition as / through /dev/dm-0 +/dev/block/by-name/system / ext4 ro wait,slotselect,avb +/dev/block/by-name/data /data ext4 noatime,nosuid,nodev,discard,noauto_da_alloc,errors=panic wait,check,formattable,fileencryption=aes-256-xts:aes-256-cts,quota +/dev/block/by-name/boot /boot emmc defaults defaults,slotselect +/dev/block/by-name/misc /misc emmc defaults defaults +/dev/block/by-name/bootloader /bootloader emmc defaults recoveryonly +/dev/block/by-name/bootloader2 /bootloader2 emmc defaults recoveryonly +/dev/block/by-name/persistent /persistent emmc defaults defaults +/dev/block/by-name/metadata /metadata ext4 noatime,nosuid,nodev,errors=panic wait,check +/dev/block/by-name/tos /tos emmc defaults defaults,slotselect +############################################################## +# Source: device/intel/mixins/groups/swap/zram/fstab.recovery +############################################################## +/dev/block/zram0 none swap defaults zramsize=1073741824 + +# ------------------ END MIX-IN DEFINITIONS ------------------ diff --git a/celadon/gpt.ini b/celadon/gpt.ini new file mode 100644 index 000000000..49d370a6f --- /dev/null +++ b/celadon/gpt.ini @@ -0,0 +1,106 @@ +# ----------------- BEGIN MIX-IN DEFINITIONS ----------------- +# Mix-In definitions are auto-generated by mixin-update +############################################################## +# Source: device/intel/mixins/groups/boot-arch/project-celadon/gpt.ini +############################################################## +[base] +partitions = bootloader bootloader2 boot misc metadata system persistent vendor config factory tos vbmeta teedata data +device = auto +nb_slot = 2 + +[partition.bootloader] +label = bootloader +len = 60 +type = esp +guid = 2568845d-2332-4675-bc39-8fa5a4748d15 +efi_loader = \loader.efi +efi_title = PROJECT-CELADON +flags = boot + +[partition.bootloader2] +label = bootloader2 +len = 60 +type = fat +guid = 114eaffe-1552-4022-b26e-9b053604cf84 + +[partition.boot] +label = boot +len = 30 +type = boot +has_slot = true +guid = 49a4d17f-93a3-45c1-a0de-f50b2ebe2599 + + +[partition.misc] +label = misc +len = 1 +type = misc +guid = ef32a33b-a409-486c-9141-9ffb711f6266 + +[partition.metadata] +label = metadata +len = 16 +type = metadata +guid = 20ac26be-20b7-11e3-84c5-6cfdb94711e9 + +[partition.system] +label = system +len = 3584 +type = linux +has_slot = true +guid = 38f428e6-d326-425d-9140-6e0ea133647c + + +[partition.data] +label = data +len = -1 +type = linux +guid = dc76dda9-5ac1-491c-af42-a82591580c0d + +[partition.persistent] +label = persistent +len = 1 +type = linux +guid = ebc597d0-2053-4b15-8b64-e0aac75f4db1 + +[partition.vendor] +label = vendor +len = 1800 +type = linux +has_slot = true +guid = c5a0aeec-13ea-11e5-a1b1-001e67ca0c3c + +[partition.config] +label = config +len = 8 +type = linux +guid = bd59408b-4514-490d-bf12-9878d963f378 + +[partition.factory] +label = factory +len = 10 +type = linux +guid = 8f68cc74-c5e5-48da-be91-a0c8c15e9c80 + +[partition.tos] +label = tos +len = 10 +type = boot +has_slot = true +guid = 52cd00fd-f5b0-4061-b3a5-65b07f2179f0 + +[partition.vbmeta] +label = vbmeta +len = 2 +type = linux +has_slot = true +# Randum generate a guid +guid = 7ced364c-3b5a-4eba-9f5c-9fef1327cb50 + +[partition.teedata] +label = teedata +len = 32 +type = linux +# Randum generate a guid +guid = f0c8e9aa-57f6-4155-8aef-4e0549217563 +# ------------------ END MIX-IN DEFINITIONS ------------------ diff --git a/celadon/hwc-valsetup.sh b/celadon/hwc-valsetup.sh new file mode 100644 index 000000000..9246afa1c --- /dev/null +++ b/celadon/hwc-valsetup.sh @@ -0,0 +1,10 @@ +LOCAL_PATH="$(gettop)" +HWCOMPOSER_PATH="$(find vendor/intel/external -name hwcomposer*)" +export HWCVAL_ROOT=$LOCAL_PATH/$HWCOMPOSER_PATH/tests/hwc-val/tests/hwc +export VAL_HWC_TOP="`( cd "$HWCVAL_ROOT/../.." && pwd)`" +export PATH=$HWCVAL_ROOT/host_scripts:$HWCVAL_ROOT/tools:$PATH +export CLIENT_LOGS=$HOME/client_logs + +# Target directories +export HWCVAL_TARGET_DIR=/data/validation/hwc +export HWCVAL_TARGET_SCRIPT_DIR=/data/validation/hwc diff --git a/celadon/init.rc b/celadon/init.rc new file mode 100644 index 000000000..e59933131 --- /dev/null +++ b/celadon/init.rc @@ -0,0 +1,800 @@ +# ----------------- BEGIN MIX-IN DEFINITIONS ----------------- +# Mix-In definitions are auto-generated by mixin-update +############################################################## +# Source: device/intel/mixins/groups/disk-bus/auto/init.rc +############################################################## +on init + # Android creates by-name disk links with the disk controller + # in the generated path, so that the names pulled out of the GPT + # can be associated with the correct disk. Create a shortcut to + # /dev/block/by-name so that we can use the same fstabs everywhere. + mkdir /dev/block 0755 root root + exec u:r:set_storage:s0 root root -- /vendor/bin/set_storage.vendor +############################################################## +# Source: device/intel/mixins/groups/project-celadon/default/init.rc +############################################################## + +on init + # The following line maybe replaced by scripts in SKL. + # symlink /dev/block/pci/pci0000:00/0000:00:1c.0/by-name /dev/block/by-name + + # Load persistent dm-verity state and detect if a restart was + # triggered after dm-verity detected a corrupted block + # And maybe trigger verity-logging if verity mode is not default. + # Should wait for setup the by-name block device + verity_load_state + + # If verity-logging is triggered, must mount_all after it, + # otherwise the warning page maybe can't be shown. + trigger mount-all-fs + + # Since the modules are stored in /vendor, not in ram disk, + # so need to restart ueventd after mount_all. + trigger restart-ueventd + + +on verity-logging + exec u:r:slideshow:s0 -- /sbin/slideshow -p -t 30000 warning/verity_red_1 warning/verity_red_2 + + +on mount-all-fs + mkdir /dev/pstore 0755 root system + mount pstore pstore /dev/pstore + mount_all /vendor/etc/fstab.${ro.hardware} + +on restart-ueventd + rm /dev/.coldboot_done + restart ueventd + +on fs + mkdir /dev/pstore 0755 root system + mount pstore pstore /dev/pstore + +on post-fs + setprop ro.setupwizard.mode DISABLED + +on post-fs-data + mkdir /data/kpanic 0770 system system + mkdir /data/kpanic/pstore 0770 system system + mkdir /data/dontpanic 0750 root log + # Create data folder for GPS + mkdir /data/gps 0770 gps system + + # Set indication (checked by vold) that we have finished this action + setprop vold.post_fs_data_done 1 + +on boot + write /sys/devices/platform/INT33BB:00/power/control on + write /sys/devices/pci0000\:00/0000\:00\:02.0/power/control auto + + setprop camera.disable_zsl_mode 1 + + setprop persist.sys.strictmode.visual 0 + setprop persist.sys.strictmode.disable 1 + + chmod 0660 /sys/class/tty/ttyHSU1/../../power/control + chown system system /sys/class/tty/ttyHSU1/../../power/control + mkdir /dev/gps 0770 gps system + symlink /dev/ttyHSU1 /dev/gps/ttyGPS + symlink /sys/class/tty/ttyHSU1/../../power/control /dev/gps/ttyGPSPowerControl + + write /proc/sys/net/ipv4/tcp_limit_output_bytes 1500000 + write /proc/sys/net/core/rmem_max 6291456 + write /proc/sys/net/core/wmem_max 4194304 + + # change group for IPC interfaces + chown root system /sys/devices/pci0000:00/0000:00:14.0/power/control + chmod 0664 /sys/devices/pci0000:00/0000:00:14.0/power/control + chown root system /sys/bus/usb/devices/2-0:1.0/port5/power/pm_qos_no_power_off + chmod 0664 /sys/bus/usb/devices/2-0:1.0/port5/power/pm_qos_no_power_off + chown root system /sys/devices/pci0000:00/0000:00:14.0/usb2/2-5/power/wakeup + chmod 0664 /sys/devices/pci0000:00/0000:00:14.0/usb2/2-5/power/wakeup + chown root system /sys/devices/pci0000:00/0000:00:14.0/ssic_port_enable + chmod 0664 /sys/devices/pci0000:00/0000:00:14.0/power/ssic_port_enable + + chown root system /sys/bus/usb/devices/2-0:1.0/port5/usb3_lpm + chmod 0664 /sys/bus/usb/devices/2-0:1.0/port5/usb3_lpm + + # disable HSIC port + write /sys/bus/usb/devices/1-0:1.0/port6/power/pm_qos_no_power_off 0 + + chown system system /sys/devices/system/cpu/intel_pstate/min_perf_pct + chmod 0660 /sys/devices/system/cpu/intel_pstate/min_perf_pct + chown system system /sys/devices/system/cpu/intel_pstate/max_perf_pct + chmod 0660 /sys/devices/system/cpu/intel_pstate/max_perf_pct + write /sys/kernel/debug/pstate_snb/setpoint 75 + + # adb over ethernet + setprop service.adb.tcp.port 5555 + +service watchdogd /sbin/watchdogd 10 30 + user root + class core + oneshot + seclabel u:r:watchdogd:s0 + +on charger + start watchdogd + +# bugreport is triggered by holding down volume down, volume up and power +service bugreport /system/bin/dumpstate -d -p -B -z \ + -o /data/user_de/0/com.android.shell/files/bugreports/bugreport + class main + disabled + oneshot + keycodes 114 115 116 + +on fs + # Update dm-verity persistent state and set partition.*.verified + # properties + verity_update_state +############################################################## +# Source: device/intel/mixins/groups/graphics/mesa/init.rc.1 +############################################################## +# for hardware accelerated graphics +service msync /system/vendor/bin/msync + class main + user media + group media + +service coreu /system/vendor/bin/coreu + class main + user media + group media shell + +# Note that this service must start as root to set up a mem-mapped region +# and once that is set up it will drop all unnecessary capabilities and +# will not show up as a root process in the steady state. +service hdcpd /system/vendor/bin/hdcpd + class main + user media + group media shell + seclabel u:r:hdcpd:s0 + +on post-fs-data + # Change ownership of pci syfs file to 'media', as hdcpd runs as 'media' + chown media media /sys/devices/pci0000\:00/0000\:00\:02.0/resource0 + mkdir /data/system 0770 system system + mkdir /data/vendor/coreu 0770 media root + mkdir /data/hdcp 0770 media root +on boot + #Give permission to system to use i915_videostatus sysfs interface + chown system system /sys/class/drm/card0/power/i915_videostatus + chown media media /sys/kernel/debug/tracing/events/drm/drm_vblank_event/enable + chown media media /sys/kernel/debug/tracing/events/i915/i915_flip_complete/enable + chown media media /sys/kernel/debug/tracing/events/i915/i915_flip_request/enable + chown media media /sys/kernel/debug/tracing/events/i915/i915_gem_ring_dispatch/enable + chown media media /sys/kernel/debug/tracing/events/i915/i915_gem_request_complete/enable + chown media media /sys/kernel/debug/tracing/events/i915/i915_gem_request_retire/enable + chown media media /sys/kernel/debug/tracing/events/i915/i915_gem_request_wait_begin/enable + chown media media /sys/kernel/debug/tracing/events/i915/i915_gem_request_wait_end/enable + chown media media /sys/kernel/debug/tracing/events/i915/i915_ring_wait_begin/enable + chown media media /sys/kernel/debug/tracing/events/i915/i915_ring_wait_end/enable + chown media media /sys/devices/pci0000:00/0000:00:02.0/drm/card0/gt_max_freq_mhz + chown media media /sys/devices/pci0000:00/0000:00:02.0/drm/card0/gt_min_freq_mhz + +on property:persist.vendor.gen_gfxd.enable=1 + start gfxd + +on property:persist.vendor.gen_gfxd.enable=0 + stop gfxd + +service gfxd /system/vendor/bin/gfxd + class main + user root + group graphics + disabled +############################################################## +# Source: device/intel/mixins/groups/graphics/mesa/init.rc +############################################################## +on init + chown system system /sys/class/backlight/intel_backlight/brightness + chown system system /sys/class/backlight/acpi_video0/brightness + export INTEL_DEBUG heur32 + +on post-fs-data + #setprop debug.sf.nobootanimation 1 + mkdir /data/system 0770 system system + +on boot + chown system graphics /sys/kernel/debug/sync/sw_sync + symlink /sys/kernel/debug/sync/sw_sync /dev/sw_sync +############################################################## +# Source: device/intel/mixins/groups/media/project-celadon/init.rc +############################################################## +# Note that this service must start as root to set up a mem-mapped region +# and once that is set up it will drop all unnecessary capabilities and +# will not show up as a root process in the steady state. +service hdcpd /system/vendor/bin/hdcpd + class main + user media + group media shell + seclabel u:r:hdcpd:s0 + +on post-fs-data + mkdir /data/hdcp 0770 media root + mkdir /data/coreu 0770 media root + mkdir /data/media 0770 media_rw media_rw + chown media_rw media_rw /data/media + +on boot + setprop persist.media.pfw.verbose true + +on post-fs + insmod /vendor/lib/modules/kernel/drivers/media/v4l2-core/videobuf2-core.ko + insmod /vendor/lib/modules/kernel/drivers/media/v4l2-core/videobuf2-v4l2.ko + insmod /vendor/lib/modules/kernel/drivers/media/v4l2-core/videobuf2-memops.ko + insmod /vendor/lib/modules/kernel/drivers/media/v4l2-core/videobuf2-dma-contig.ko + insmod /vendor/lib/modules/kernel/drivers/media/v4l2-core/videobuf2-vmalloc.ko + insmod /vendor/lib/modules/kernel/drivers/media/usb/uvc/uvcvideo.ko + + setprop media.settings.xml /vendor/etc/media_profiles.xml +############################################################## +# Source: device/intel/mixins/groups/ethernet/dhcp/init.rc +############################################################## + +service dhcpcd_eth0 /system/bin/dhcpcd -ABDKL + class main + disabled + oneshot + +service iprenew_eth0 /system/bin/dhcpcd -n + class main + disabled + oneshot + +on post-fs + insmod /vendor/lib/modules/kernel/drivers/pps/pps_core.ko + insmod /vendor/lib/modules/kernel/drivers/ptp/ptp.ko + insmod /vendor/lib/modules/kernel/drivers/net/ethernet/intel/e1000e/e1000e.ko + +on post-fs + insmod /vendor/lib/modules/kernel/drivers/net/mii.ko + insmod /vendor/lib/modules/kernel/drivers/net/phy/libphy.ko + insmod /vendor/lib/modules/kernel/drivers/net/usb/usbnet.ko + insmod /vendor/lib/modules/kernel/drivers/net/usb/asix.ko + insmod /vendor/lib/modules/kernel/drivers/net/usb/r8152.ko + insmod /vendor/lib/modules/kernel/drivers/net/ethernet/realtek/r8169.ko +############################################################## +# Source: device/intel/mixins/groups/debugfs/default/init.rc +############################################################## +on early-init + # Mount debugfs and make it writable so that debuggerd can + # create stack traces, required with newer kernels + mount debugfs debugfs /sys/kernel/debug + chmod 0755 /sys/kernel/debug + +on early-boot + # Needed by surfaceflinger to enable it to open trace_marker + # on start without file permissions error. + chmod 0222 /sys/kernel/debug/tracing/trace_marker + # tracefs is mounted after 1st access to it + chmod 0755 /sys/kernel/debug/tracing +############################################################## +# Source: device/intel/mixins/groups/storage/sdcard-mmc0-usb-sd/init.rc +############################################################## +on init + # Support legacy paths + symlink /sdcard /mnt/sdcard + symlink /sdcard /storage/sdcard0 + +############################################################## +# Source: device/intel/mixins/groups/usb-gadget/g_ffs/init.rc +############################################################## +on fs + write /sys/class/android_usb/android0/f_ffs/aliases adb + write /sys/class/android_usb/android0/iSerial ${ro.serialno} + +on boot + # Create mount-point for ConfigFS USB gadgets + # Add standard gadget entries + mount configfs none /config + mkdir /config/usb_gadget/g1 0770 shell shell + write /config/usb_gadget/g1/bcdDevice 0x0 + write /config/usb_gadget/g1/bcdUSB 0x210 + mkdir /config/usb_gadget/g1/strings/0x409 0770 + write /config/usb_gadget/g1/strings/0x409/serialnumber ${ro.serialno} + write /config/usb_gadget/g1/strings/0x409/manufacturer ${ro.product.manufacturer} + write /config/usb_gadget/g1/strings/0x409/product ${ro.product.model} + mkdir /config/usb_gadget/g1/functions/ffs.adb + mkdir /config/usb_gadget/g1/functions/mtp.gs0 + mkdir /config/usb_gadget/g1/functions/ptp.gs1 + mkdir /config/usb_gadget/g1/functions/accessory.gs2 + mkdir /config/usb_gadget/g1/functions/rndis.gs4 + mkdir /config/usb_gadget/g1/functions/midi.gs5 + + mkdir /config/usb_gadget/g1/configs/b.1 + mkdir /config/usb_gadget/g1/configs/b.1/strings/0x409 + symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f1 + write /config/usb_gadget/g1/os_desc/qw_sign "MSFT100" + write /config/usb_gadget/g1/os_desc/b_vendor_code 0x1 + write /config/usb_gadget/g1/configs/b.1/MaxPower 500 + symlink /config/usb_gadget/g1/configs/b.1 /config/usb_gadget/g1/os_desc/b.1 + + # Create adb+ffs gadget function + mkdir /dev/usb-ffs 0770 shell shell + mkdir /dev/usb-ffs/adb 0770 shell shell + mount functionfs adb /dev/usb-ffs/adb uid=2000,gid=2000 + + # Enable USB Gadget Configfs interface and make DWC3 the controller + setprop sys.usb.configfs 1 + setprop sys.usb.controller dwc3.0.auto + + # Allow auto-suspend of USB gadget devices + write /sys/devices/pci0000\:00/0000\:00\:15.1/power/control auto + write /sys/devices/pci0000\:00/0000\:00\:15.1/dwc3.0.auto/power/control auto + write /sys/devices/pci0000\:00/0000\:00\:15.1/dwc3.0.auto/gadget/power/control auto + write /sys/devices/pci0000\:00/0000\:00\:15.1/dwc3.0.auto/udc/dwc3.0.auto/power/control auto + chown system system /sys/devices/pci0000:00/0000:00:14.0/intel_xhci_usb_sw/usb_role/intel_xhci_usb_sw-role-switch/role + chmod 0666 /sys/devices/pci0000:00/0000:00:14.0/intel_xhci_usb_sw/usb_role/intel_xhci_usb_sw-role-switch/role + +on property:sys.usb.config=none && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/os_desc/use 0 + setprop sys.usb.ffs.ready 0 + write /sys/power/wake_unlock mylock + +on property:sys.usb.config=adb && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/idVendor 0x8087 + write /config/usb_gadget/g1/idProduct 0x09ef + write /sys/power/wake_lock mylock + +on property:sys.usb.config=mtp && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/functions/mtp.gs0/os_desc/interface.MTP/compatible_id "MTP" + # write /config/usb_gadget/g1/os_desc/use 1 + write /config/usb_gadget/g1/idVendor 0x8087 + write /config/usb_gadget/g1/idProduct 0x0a5e + +on property:sys.usb.config=mtp,adb && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/functions/mtp.gs0/os_desc/interface.MTP/compatible_id "MTP" + # write /config/usb_gadget/g1/os_desc/use 1 + write /config/usb_gadget/g1/idVendor 0x8087 + write /config/usb_gadget/g1/idProduct 0x0a5f + write /sys/power/wake_lock mylock + +on property:sys.usb.config=ptp && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/functions/ptp.gs1/os_desc/interface.MTP/compatible_id "PTP" + # write /config/usb_gadget/g1/os_desc/use 1 + write /config/usb_gadget/g1/idVendor 0x8087 + write /config/usb_gadget/g1/idProduct 0x0a60 + +on property:sys.usb.config=ptp,adb && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/functions/mtp.gs0/os_desc/interface.MTP/compatible_id "PTP" + # write /config/usb_gadget/g1/os_desc/use 1 + write /config/usb_gadget/g1/idVendor 0x8087 + write /config/usb_gadget/g1/idProduct 0x0a61 + write /sys/power/wake_lock mylock + +on property:sys.usb.config=rndis && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/idVendor 0x8087 + write /config/usb_gadget/g1/idProduct 0x0a62 + +on property:sys.usb.config=rndis,adb && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/bcdUSB 0x310 + write /config/usb_gadget/g1/idVendor 0x8087 + write /config/usb_gadget/g1/idProduct 0x0a63 + write /sys/power/wake_lock mylock + +on property:sys.usb.config=midi && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/idVendor 0x8087 + write /config/usb_gadget/g1/idProduct 0x0a65 + +on property:sys.usb.config=midi,adb && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/idVendor 0x8087 + write /config/usb_gadget/g1/idProduct 0x0a67 + write /sys/power/wake_lock mylock + +on property:sys.usb.config=accessory && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/idVendor 0x18d1 + write /config/usb_gadget/g1/idProduct 0x2d00 + +on property:sys.usb.config=accessory,adb && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/idVendor 0x18d1 + write /config/usb_gadget/g1/idProduct 0x2d01 + write /sys/power/wake_lock mylock +############################################################## +# Source: device/intel/mixins/groups/adb_net/true/init.rc +############################################################## +on boot + start adbd + setprop net.eth0.startonboot true + +on property:debug.logcat=1 + class_start debug + +service logcat /system/bin/logcat -v threadtime -f /data/log.txt + class debug + +service setconsole /system/bin/setconsole -g + class main + user root + oneshot + +############################################################## +# Source: device/intel/mixins/groups/kernel/project-celadon/init.rc +############################################################## +on boot + write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor interactive + write /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor interactive + write /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor interactive + write /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor interactive + chown system system /sys/devices/system/cpu/cpufreq/interactive/touchboostpulse + + chown system system /sys/devices/system/cpu/cpufreq/interactive/timer_rate + chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/timer_rate + chown system system /sys/devices/system/cpu/cpufreq/interactive/timer_slack + chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/timer_slack + chown system system /sys/devices/system/cpu/cpufreq/interactive/min_sample_time + chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/min_sample_time + chown system system /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq + chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq + chown system system /sys/devices/system/cpu/cpufreq/interactive/target_loads + chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/target_loads + chown system system /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load + chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load + chown system system /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay + chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay + chown system system /sys/devices/system/cpu/cpufreq/interactive/boost + chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/boost + chown system system /sys/devices/system/cpu/cpufreq/interactive/boostpulse + chown system system /sys/devices/system/cpu/cpufreq/interactive/input_boost + chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/input_boost + chown system system /sys/devices/system/cpu/cpufreq/interactive/boostpulse_duration + chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/boostpulse_duration + chown system system /sys/devices/system/cpu/cpufreq/interactive/io_is_busy + chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/io_is_busy + # Assume SMP uses shared cpufreq policy for all CPUs + chown system system /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq + chmod 0660 /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq + #Give permission to system to use i915_videostatus sysfs interface + chown system system /sys/class/drm/card0/power/i915_videostatus + +on property:sys.boot_completed=1 + write /sys/devices/system/cpu/cpufreq/interactive/boost 0 + write /sys/devices/system/cpu/cpufreq/interactive/irq_load_threshold 2 + +on early-init + write /sys/devices/system/cpu/cpu0/cpuidle/state1/disable 1 + write /sys/devices/system/cpu/cpu0/cpuidle/state2/disable 1 + write /sys/devices/system/cpu/cpu0/cpuidle/state3/disable 1 + write /sys/devices/system/cpu/cpu0/cpuidle/state4/disable 1 + write /sys/devices/system/cpu/cpu0/cpuidle/state5/disable 1 + write /sys/devices/system/cpu/cpu0/cpuidle/state6/disable 1 + write /sys/devices/system/cpu/cpu0/cpuidle/state7/disable 1 + write /sys/devices/system/cpu/cpu1/cpuidle/state1/disable 1 + write /sys/devices/system/cpu/cpu1/cpuidle/state2/disable 1 + write /sys/devices/system/cpu/cpu1/cpuidle/state3/disable 1 + write /sys/devices/system/cpu/cpu1/cpuidle/state4/disable 1 + write /sys/devices/system/cpu/cpu1/cpuidle/state5/disable 1 + write /sys/devices/system/cpu/cpu1/cpuidle/state6/disable 1 + write /sys/devices/system/cpu/cpu1/cpuidle/state7/disable 1 + write /sys/devices/system/cpu/cpu2/cpuidle/state1/disable 1 + write /sys/devices/system/cpu/cpu2/cpuidle/state2/disable 1 + write /sys/devices/system/cpu/cpu2/cpuidle/state3/disable 1 + write /sys/devices/system/cpu/cpu2/cpuidle/state4/disable 1 + write /sys/devices/system/cpu/cpu2/cpuidle/state5/disable 1 + write /sys/devices/system/cpu/cpu2/cpuidle/state6/disable 1 + write /sys/devices/system/cpu/cpu2/cpuidle/state7/disable 1 + write /sys/devices/system/cpu/cpu3/cpuidle/state1/disable 1 + write /sys/devices/system/cpu/cpu3/cpuidle/state2/disable 1 + write /sys/devices/system/cpu/cpu3/cpuidle/state3/disable 1 + write /sys/devices/system/cpu/cpu3/cpuidle/state4/disable 1 + write /sys/devices/system/cpu/cpu3/cpuidle/state5/disable 1 + write /sys/devices/system/cpu/cpu3/cpuidle/state6/disable 1 + write /sys/devices/system/cpu/cpu3/cpuidle/state7/disable 1 + +on property:sys.boot_completed=1 + write /sys/devices/system/cpu/cpu0/cpuidle/state1/disable 0 + write /sys/devices/system/cpu/cpu0/cpuidle/state2/disable 0 + write /sys/devices/system/cpu/cpu0/cpuidle/state3/disable 0 + write /sys/devices/system/cpu/cpu0/cpuidle/state4/disable 0 + write /sys/devices/system/cpu/cpu0/cpuidle/state5/disable 0 + write /sys/devices/system/cpu/cpu0/cpuidle/state6/disable 0 + write /sys/devices/system/cpu/cpu0/cpuidle/state7/disable 0 + write /sys/devices/system/cpu/cpu1/cpuidle/state1/disable 0 + write /sys/devices/system/cpu/cpu1/cpuidle/state2/disable 0 + write /sys/devices/system/cpu/cpu1/cpuidle/state3/disable 0 + write /sys/devices/system/cpu/cpu1/cpuidle/state4/disable 0 + write /sys/devices/system/cpu/cpu1/cpuidle/state5/disable 0 + write /sys/devices/system/cpu/cpu1/cpuidle/state6/disable 0 + write /sys/devices/system/cpu/cpu1/cpuidle/state7/disable 0 + write /sys/devices/system/cpu/cpu2/cpuidle/state1/disable 0 + write /sys/devices/system/cpu/cpu2/cpuidle/state2/disable 0 + write /sys/devices/system/cpu/cpu2/cpuidle/state3/disable 0 + write /sys/devices/system/cpu/cpu2/cpuidle/state4/disable 0 + write /sys/devices/system/cpu/cpu2/cpuidle/state5/disable 0 + write /sys/devices/system/cpu/cpu2/cpuidle/state6/disable 0 + write /sys/devices/system/cpu/cpu2/cpuidle/state7/disable 0 + write /sys/devices/system/cpu/cpu3/cpuidle/state1/disable 0 + write /sys/devices/system/cpu/cpu3/cpuidle/state2/disable 0 + write /sys/devices/system/cpu/cpu3/cpuidle/state3/disable 0 + write /sys/devices/system/cpu/cpu3/cpuidle/state4/disable 0 + write /sys/devices/system/cpu/cpu3/cpuidle/state5/disable 0 + write /sys/devices/system/cpu/cpu3/cpuidle/state6/disable 0 + write /sys/devices/system/cpu/cpu3/cpuidle/state7/disable 0 + +############################################################## +# Source: device/intel/mixins/groups/bluetooth/btusb/init.rc +############################################################## +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 + +service dhcpcd_bt-pan /system/bin/dhcpcd -ABKL + disabled + oneshot + +service iprenew_bt-pan /system/bin/dhcpcd -n + disabled + oneshot + +on boot + insmod /vendor/lib/modules/kernel/crypto/ecdh_generic.ko + insmod /vendor/lib/modules/kernel/net/bluetooth/bluetooth.ko + insmod /vendor/lib/modules/kernel/drivers/bluetooth/btintel.ko + insmod /vendor/lib/modules/kernel/drivers/bluetooth/btbcm.ko + insmod /vendor/lib/modules/kernel/drivers/bluetooth/btrtl.ko + insmod /vendor/lib/modules/kernel/drivers/bluetooth/btusb.ko +############################################################## +# Source: device/intel/mixins/groups/config-partition/enabled/init.rc +############################################################## +# Enable SELinux labeling +on post-fs + restorecon_recursive /vendor/oem_config +############################################################## +# Source: device/intel/mixins/groups/factory-partition/true/init.rc +############################################################## +# init.rc for telephony services specific to flashless platforms using /vendor/factory partition + + +on post-fs + restorecon_recursive /vendor/factory + trigger post-fs-factory +############################################################## +# Source: device/intel/mixins/groups/boot-arch/project-celadon/init.rc +############################################################## +service watchdogd /sbin/watchdogd + user root + class core + oneshot + seclabel u:r:watchdogd:s0 + +on charger + start watchdogd +############################################################## +# Source: device/intel/mixins/groups/audio/project-celadon/init.rc +############################################################## +on boot + insmod /vendor/lib/modules/kernel/sound/drivers/snd-dummy.ko + +############################################################## +# Source: device/intel/mixins/groups/wlan/iwlwifi/init.rc +############################################################## +on post-fs-data + setprop wifi.interface wlan0 + setprop wifi.direct.interface p2p-dev-wlan0 + + # create config WiFi NVM folder + mkdir /oem_config/wlan 0770 wifi system + +on zygote-start + # Create the directories used by the Wireless subsystem + mkdir /data/vendor/wifi 0771 wifi wifi + mkdir /data/vendor/wifi/wpa 0770 wifi wifi + mkdir /data/vendor/wifi/wpa/sockets 0770 wifi wifi + +service wpa_supplicant /vendor/bin/hw/wpa_supplicant \ + -O/data/vendor/wifi/wpa/sockets -puse_p2p_group_interface=1 \ + -g@android:wpa_wlan0 +# we will start as root and wpa_supplicant will switch to user wifi +# after setting up the capabilities required for WEXT +# user wifi +# group wifi inet keystore + interface android.hardware.wifi.supplicant@1.0::ISupplicant default + interface android.hardware.wifi.supplicant@1.1::ISupplicant default + class main + socket wpa_wlan0 dgram 660 wifi wifi + disabled + oneshot + + +service dhcpcd_wlan0 /system/bin/dhcpcd -ABDKL + class main + disabled + oneshot + +service iprenew_wlan0 /system/bin/dhcpcd -n + class main + disabled + oneshot + +service dhcpcd_p2p /system/bin/dhcpcd -aABKL + disabled + oneshot + +service iprenew_p2p /system/bin/dhcpcd -n + disabled + oneshot + +on boot + insmod /vendor/lib/modules/kernel/net/wireless/cfg80211.ko + insmod /vendor/lib/modules/kernel/net/mac80211/mac80211.ko + insmod /vendor/lib/modules/kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko + insmod /vendor/lib/modules/kernel/drivers/net/wireless/intel/iwlwifi/mvm/iwlmvm.ko +############################################################## +# Source: device/intel/mixins/groups/cpuset/autocores/init.rc +############################################################## +on early-boot + # execute script to set initial CPU settings + # don't run as a service to avoid race conditions + exec - root system -- /vendor/bin/config_cpuset.sh +############################################################## +# Source: device/intel/mixins/groups/rfkill/true/init.rc +############################################################## +on boot + insmod ${ro.boot.moduleslocation}/rfkill-gpio.ko + start rfkill-init + +service rfkill-init /vendor/bin/rfkill-init.sh + disabled + user system + group system + oneshot +############################################################## +# Source: device/intel/mixins/groups/usb/host+acc/init.rc +############################################################## +on boot + write /sys/devices/pci0000\:00/0000\:00\:14.0/power/control auto + write /sys/devices/pci0000\:00/0000\:00\:15.0/power/control auto + write /sys/devices/pci0000\:00/0000\:00\:15.0/usb1/1-3/power/control auto + +on charger + write /sys/devices/pci0000\:00/0000\:00\:14.0/power/control auto + +on post-fs + insmod /vendor/lib/modules/kernel/drivers/usb/serial/usbserial.ko + insmod /vendor/lib/modules/kernel/drivers/usb/serial/pl2303.ko + insmod /vendor/lib/modules/kernel/drivers/usb/serial/ftdi_sio.ko +############################################################## +# Source: device/intel/mixins/groups/thermal/thermal-daemon/init.rc +############################################################## +service thermal-daemon /system/vendor/bin/thermal-daemon --config-file /system/vendor/etc/thermal-daemon/thermal-conf.xml + class main + user system + group system + +on boot + chown system system /sys/devices/system/cpu/intel_pstate/max_perf_pct + chown system system /sys/devices/system/cpu/intel_pstate/min_perf_pct + chown system system /sys/devices/system/cpu/intel_pstate/no_turbo + chown system system /sys/class/powercap/intel-rapl:0/enabled + chown system system /sys/class/powercap/intel-rapl:0/constraint_0_power_limit_uw + chown system system /sys/class/dmi/id/product_uuid + chown system system /sys/class/dmi/id/product_name + chown system system /system/vendor/etc/ + chown system system /system/vendor/etc/thermal-daemon/thermal-conf.xml + restorecon_recursive /sys/class/powercap + +on post-fs-data + setprop persist.thermal.mode thermal-daemon + mkdir /data/vendor/thermal-daemon 0660 system system + start thermal-daemon + +############################################################## +# Source: device/intel/mixins/groups/pstore/ram_dummy/init.rc +############################################################## +on fs + mkdir /dev/pstore 0700 5001 root + mount pstore pstore /dev/pstore + +on post-fs-data + mkdir /data/dontpanic 0770 root log + +service pstore-clean /system/vendor/bin/pstore-clean + user 5001 + group root log + class late_start + oneshot + +on property:init.svc.pstore-clean=stopped + umount /dev/pstore + rmdir /dev/pstore +############################################################## +# Source: device/intel/mixins/groups/debug-logs/true/init.rc +############################################################## +import /init.logs.rc +############################################################## +# Source: device/intel/mixins/groups/debug-crashlogd/true/init.rc +############################################################## +import /init.crashlogd.rc +############################################################## +# Source: device/intel/mixins/groups/debug-coredump/true/init.rc +############################################################## +import /init.coredump.rc +############################################################## +# Source: device/intel/mixins/groups/trusty/true/init.rc +############################################################## +on fs + # Update device node r/w attribute + chown system system /dev/trusty-ipc-dev0 + chmod 666 /dev/trusty-ipc-dev0 + +on post-fs-data + mkdir /data/vendor/securestorage 0700 system system + chmod 666 /dev/rpmb0 + +on early-boot + start storageproxyd + +service storageproxyd /vendor/bin/storageproxyd -d /dev/trusty-ipc-dev0 -p /data/vendor/securestorage -r /dev/rpmb0 + user system + group system + +############################################################## +# Source: device/intel/mixins/groups/midi/true/init.rc +############################################################## +on property:sys.usb.config=midi + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 8087 + write /sys/class/android_usb/android0/idProduct 0a67 + write /sys/class/android_usb/android0/functions ${sys.usb.config} + write /sys/class/android_usb/android0/enable 1 + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=midi,adb + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 8087 + write /sys/class/android_usb/android0/idProduct 0a65 + write /sys/class/android_usb/android0/functions ${sys.usb.config} + write /sys/class/android_usb/android0/enable 1 + start adbd + setprop sys.usb.state ${sys.usb.config} +############################################################## +# Source: device/intel/mixins/groups/swap/zram/init.rc +############################################################## + +on boot + # Read one page at a time for swap (default is 8) + write /proc/sys/vm/page-cluster 0 + +on post-fs-data + # Enable swaps described in the fstab + swapon_all /fstab.${ro.hardware} +############################################################## +# Source: device/intel/mixins/groups/debug-kernel/default/init.rc +############################################################## +import /init.kernel.rc +############################################################## +# Source: device/intel/mixins/groups/disk-encryption/default/init.rc +############################################################## +# This _should_ be the very last thing that happens in +# the device's 'on post-fs-data' sections. Since we compose +# init scripts from various snippets with mixins, we need to +# ensure this is included last in the mixin-update by listing +# disk-encryption as LAST in the mixin spec file. +on post-fs-data + setprop vold.post_fs_data_done 1 +# ------------------ END MIX-IN DEFINITIONS ------------------ +# Enable native bridge for target executables +on early-init + mount binfmt_misc binfmt_misc /proc/sys/fs/binfmt_misc + +on property:ro.enable.native.bridge.exec=1 + copy /vendor/etc/binfmt_misc/arm_exe /proc/sys/fs/binfmt_misc/register + copy /vendor/etc/binfmt_misc/arm_dyn /proc/sys/fs/binfmt_misc/register + +on property:ro.enable.native.bridge.exec64=1 + copy /vendor/etc/binfmt_misc/arm64_exe /proc/sys/fs/binfmt_misc/register + copy /vendor/etc/binfmt_misc/arm64_dyn /proc/sys/fs/binfmt_misc/register + +on boot +service nativebridge /system/bin/enable_nativebridge + +on property:persist.sys.nativebridge=1 + mkdir /data/arm 0775 system system + start nativebridge + +on property:persist.sys.nativebridge=0 + stop nativebridge diff --git a/celadon/init.recovery.rc b/celadon/init.recovery.rc new file mode 100644 index 000000000..69efdba14 --- /dev/null +++ b/celadon/init.recovery.rc @@ -0,0 +1,82 @@ +# ----------------- BEGIN MIX-IN DEFINITIONS ----------------- +# Mix-In definitions are auto-generated by mixin-update +############################################################## +# Source: device/intel/mixins/groups/disk-bus/auto/init.recovery.rc +############################################################## +on init + # Android creates by-name disk links with the disk controller + # in the generated path, so that the names pulled out of the GPT + # can be associated with the correct disk. Create a shortcut to + # /dev/block/by-name so that we can use the same fstabs everywhere. + exec u:r:set_storage:s0 root root -- /sbin/set_storage + symlink /dev/block/pci/pci0000:00/0000:00:1c.0/by-name /dev/block/by-name +############################################################## +# Source: device/intel/mixins/groups/ethernet/dhcp/init.recovery.rc +############################################################## + +service dhcpcd_eth0 /system/bin/dhcpcd -ABDKL eth0 + class main + disabled + oneshot + seclabel u:r:dhcp:s0 + +on post-fs-data + start dhcpcd_eth0 + +############################################################## +# Source: device/intel/mixins/groups/debugfs/default/init.recovery.rc +############################################################## +on early-init + # Mount debugfs and make it writable so that debuggerd can + # create stack traces, required with newer kernels + mount debugfs debugfs /sys/kernel/debug + chmod 0755 /sys/kernel/debug + +on early-boot + # Needed by surfaceflinger to enable it to open trace_marker + # on start without file permissions error. + chmod 0222 /sys/kernel/debug/tracing/trace_marker + # tracefs is mounted after 1st access to it + chmod 0755 /sys/kernel/debug/tracing +############################################################## +# Source: device/intel/mixins/groups/usb-gadget/g_ffs/init.recovery.rc +############################################################## +on boot + mkdir /config 0500 root root + mount configfs none /config + mkdir /config/usb_gadget/g1 0770 shell shell + write /config/usb_gadget/g1/idVendor 0x18d1 + mkdir /config/usb_gadget/g1/strings/0x409 0770 + write /config/usb_gadget/g1/strings/0x409/serialnumber ${ro.serialno} + write /config/usb_gadget/g1/strings/0x409/manufacturer ${ro.product.manufacturer} + write /config/usb_gadget/g1/strings/0x409/product ${ro.product.model} + mkdir /config/usb_gadget/g1/functions/ffs.adb + mkdir /config/usb_gadget/g1/configs/b.1 0770 shell shell + mkdir /config/usb_gadget/g1/configs/b.1/strings/0x409 0770 shell shell + write /config/usb_gadget/g1/configs/b.1/MaxPower 500 + mkdir /dev/usb-ffs 0770 shell shell + mkdir /dev/usb-ffs/adb 0770 shell shell + mount functionfs adb /dev/usb-ffs/adb uid=2000,gid=2000 + setprop sys.usb.configfs 1 + setprop sys.usb.controller dwc3.0.auto + +on property:sys.usb.config=none && property:sys.usb.configfs=1 + setprop sys.usb.ffs.ready 0 + +on property:sys.usb.ffs.ready=1 + symlink /config/usb_gadget/g1/configs/b.1 /config/usb_gadget/g1/os_desc/b.1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "adb" + symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f1 + write /config/usb_gadget/g1/UDC dwc3.0.auto +############################################################## +# Source: device/intel/mixins/groups/boot-arch/project-celadon/init.recovery.rc +############################################################## +service watchdogd /sbin/watchdogd + user root + class core + oneshot + seclabel u:r:watchdogd:s0 + +on boot + start watchdogd +# ------------------ END MIX-IN DEFINITIONS ------------------ diff --git a/celadon/installer.cmd b/celadon/installer.cmd new file mode 100644 index 000000000..ea2250dea --- /dev/null +++ b/celadon/installer.cmd @@ -0,0 +1,28 @@ +# ----------------- BEGIN MIX-IN DEFINITIONS ----------------- +# Mix-In definitions are auto-generated by mixin-update +############################################################## +# Source: device/intel/mixins/groups/boot-arch/project-celadon/installer.cmd +############################################################## +flashing unlock +flash gpt gpt.bin +erase misc +erase persistent +erase metadata +format config +format data +flash bootloader bootloader +flash vbmeta_a vbmeta.img +flash vbmeta_b vbmeta.img +flash boot_a boot.img +flash boot_b boot.img +flash tos_a tos.img +flash tos_b tos.img +flash system_a system.img +flash system_b system.img +flash vendor_a vendor.img +flash vendor_b vendor.img +flash factory factory.img +set_active a +flashing lock +continue +# ------------------ END MIX-IN DEFINITIONS ------------------ diff --git a/celadon/mixins.spec b/celadon/mixins.spec new file mode 100644 index 000000000..ff7dfa739 --- /dev/null +++ b/celadon/mixins.spec @@ -0,0 +1,61 @@ +[main] +mixinsdir: device/intel/mixins/groups + +[mapping] +product.mk: device.mk + +[groups] +device-specific: celadon +treble: true +vndk: true +2ndstage: oemvars +project-celadon: default +sepolicy: enforcing +graphics: mesa(gralloc1=true,gen9+=true,hwc2=true,vulkan=true,drmhwc=false,minigbm=true) +media: project-celadon(mediasdk=false,media_sdk_source=false) +device-type: tablet +ethernet: dhcp +debugfs: default +storage: sdcard-mmc0-usb-sd(adoptablesd=false,adoptableusb=true) +display-density: default +usb-gadget: g_ffs +adb_net: true +kernel: project-celadon(loglevel=3, disable_cpuidle_on_boot=true, external_modules=perftools-external/soc_perf_driver/src perftools-external/socwatch_driver) +bluetooth: btusb +boot-arch: project-celadon(bootloader_policy=0x0,bootloader_len=60,magic_key_timeout=80,assume_bios_secure_boot=true,rpmb_simulate=true,disk_encryption=false,file_encryption=true,ignore_not_applicable_reset=true,self_usb_device_mode_protocol=true) +audio: project-celadon +wlan: iwlwifi +cpu-arch: skl +cpuset: autocores +rfkill: true(force_disable=) +dexpreopt: enabled +disk-bus: auto +usb: host+acc +lights: true +thermal: thermal-daemon +config-partition: enabled +vendor-partition: true +factory-partition: true +pstore: ram_dummy(address=0x50000000,size=0x400000,record_size=0x4000,console_size=0x200000,ftrace_size=0x2000,dump_oops=1) +debug-crashlogd: true +debug-logs: true +debug-coredump: true +debug-phonedoctor: true +debug-tools: true +flashfiles: ini(oemvars=false,version=3.0,fastboot_min_battery_level=false,installer=true) +midi: true +trusty: true(enable_hw_sec=true,enable_storage_proxyd=true,ref_target=project-celadon_64) +slcan: default +ioc-slcan-reboot: false +camera-ext: ext-camera-only +memtrack: true +touch: galax7200 +avb: true +health: true +slot-ab: true +art-config: default +gptbuild: true(size=14G,generate_craff=false) +swap:zram(size=1073741824,swappiness=false,hardware=celadon) +power: true +firststage-mount: true +load_modules: true diff --git a/celadon/ueventd.rc b/celadon/ueventd.rc new file mode 100644 index 000000000..46452628f --- /dev/null +++ b/celadon/ueventd.rc @@ -0,0 +1,86 @@ +# ----------------- BEGIN MIX-IN DEFINITIONS ----------------- +# Mix-In definitions are auto-generated by mixin-update +############################################################## +# Source: device/intel/mixins/groups/disk-bus/auto/ueventd.rc +############################################################## +/dev/block/*/*/*/by-name/persistent 0660 system system +############################################################## +# Source: device/intel/mixins/groups/project-celadon/default/ueventd.rc +############################################################## +/sys/devices/system/cpu/cpu* online 0664 system system + +# Camera +/dev/v4l-subdev* 0660 camera system +/dev/ipu-psys* 0660 camera system + +# rfkill node +/dev/rfkill 0660 bluetooth bluetooth + +/dev/ttyS* 0660 system radio + +# NFCC node +/dev/nfcc 0660 nfc nfc + +# modem tty node change to radio user can read and write +/dev/gsmtty* 0660 system radio +/dev/ttyMFD* 0660 system radio +/dev/ttyACM* 0660 system radio +/dev/ttyPTI1 0660 root radio +/dev/ttyGS0 0660 root radio +/dev/mdmTrace 0660 root radio +/dev/mdm_ctrl* 0660 root radio +/dev/ttyIFX0 0660 root radio +/dev/ttyIFX1 0660 root radio +/dev/ttyUSB* 0660 radio radio +/dev/iio:device* 0660 system system +/dev/radio0 0660 bluetooth audio + +/sys/devices/pci0000:00/0000:00:02.0/drm/card*/card*/intel_backlight brightness 0644 system system +############################################################## +# Source: device/intel/mixins/groups/graphics/mesa/ueventd.rc +############################################################## +/dev/sw_sync 0666 system mediadrm +/dev/dri 0666 root graphics +/dev/dri/card0 0666 root graphics +/dev/graphics 0660 root graphics +/dev/graphics/fb0 0660 root graphics +/dev/dri/controlD64 0660 root graphics +############################################################## +# Source: device/intel/mixins/groups/media/project-celadon/ueventd.rc +############################################################## +/dev/media* 0660 media system +/dev/video* 0660 media system +############################################################## +# Source: device/intel/mixins/groups/bluetooth/btusb/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 +############################################################## +# 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/rfkill/true/ueventd.rc +############################################################## +# rfkill node +/dev/rfkill 0660 bluetooth system +############################################################## +# Source: device/intel/mixins/groups/lights/true/ueventd.rc +############################################################## +# i915 backlight driver +/sys/devices/pci0000:00/0000:00:02.0/drm/card*/card*/intel_backlight brightness 0644 system system + +############################################################## +# Source: device/intel/mixins/groups/trusty/true/ueventd.rc +############################################################## +/dev/block/pci/pci0000:00/0000:00:*.0/by-name/teedata 0660 system system +############################################################## +# Source: device/intel/mixins/groups/camera-ext/ext-camera-only/ueventd.rc +############################################################## +# Camera +/dev/video* 0660 system camera +/dev/media* 0660 system camera +# ------------------ END MIX-IN DEFINITIONS ------------------ diff --git a/celadon/vendorsetup.sh b/celadon/vendorsetup.sh new file mode 100644 index 000000000..8d1de0bcf --- /dev/null +++ b/celadon/vendorsetup.sh @@ -0,0 +1,6 @@ +add_lunch_combo celadon-eng +add_lunch_combo celadon-userdebug +add_lunch_combo celadon-user + + +#. $('gettop')/device/intel/project-celadon/celadon/hwc-valsetup.sh diff --git a/clk/AndroidBoard.mk b/clk/AndroidBoard.mk new file mode 100644 index 000000000..9dee248cc --- /dev/null +++ b/clk/AndroidBoard.mk @@ -0,0 +1,554 @@ +# ----------------- BEGIN MIX-IN DEFINITIONS ----------------- +# Mix-In definitions are auto-generated by mixin-update +############################################################## +# Source: device/intel/mixins/groups/project-celadon/default/AndroidBoard.mk +############################################################## +droid: flashfiles + -$(hide) $(ACP) $(out_flashfiles) $(DIST_DIR) +############################################################## +# Source: device/intel/mixins/groups/sepolicy/enforcing/AndroidBoard.mk +############################################################## +include $(CLEAR_VARS) +LOCAL_MODULE := sepolicy-areq-checker +LOCAL_REQUIRED_MODULES := sepolicy + +# +# On user builds, enforce that open tickets are considered violations. +# +ifeq ($(TARGET_BUILD_VARIANT),user) +LOCAL_USER_OPTIONS := -i +endif + +LOCAL_POST_INSTALL_CMD := $(INTEL_PATH_SEPOLICY)/tools/capchecker $(LOCAL_USER_OPTIONS) -p $(INTEL_PATH_SEPOLICY)/tools/caps.conf $(TARGET_ROOT_OUT)/sepolicy + +include $(BUILD_PHONY_PACKAGE) +############################################################## +# Source: device/intel/mixins/groups/graphics/mesa/AndroidBoard.mk +############################################################## +ifneq ($(TARGET_BOARD_PLATFORM),kabylake) +I915_FW_PATH := ./$(INTEL_PATH_VENDOR)/ufo/gen9_dev/x86_64_media/vendor/firmware/i915 +else +I915_FW_PATH := ./$(INTEL_PATH_VENDOR)/ufo/gen9_dev/x86_64_media_kbl/vendor/firmware/i915 +endif +#list of i915/huc_xxx.bin i915/dmc_xxx.bin i915/guc_xxx.bin +$(foreach t, $(patsubst $(I915_FW_PATH)/%,%,$(wildcard $(I915_FW_PATH)/*)) ,$(eval I915_FW += i915/$(t)) $(eval $(LOCAL_KERNEL) : $(PRODUCT_OUT)/vendor/firmware/i915/$(t))) + +_EXTRA_FW_ += $(I915_FW) + +############################################################## +# Source: device/intel/mixins/groups/slot-ab/true/AndroidBoard.mk +############################################################## + +make_dir_slot_ab: + @mkdir -p $(PRODUCT_OUT)/root/boot + @mkdir -p $(PRODUCT_OUT)/root/misc + @mkdir -p $(PRODUCT_OUT)/root/persistent + @mkdir -p $(PRODUCT_OUT)/root/metadata + +$(PRODUCT_OUT)/ramdisk.img: make_dir_slot_ab +############################################################## +# Source: device/intel/mixins/groups/kernel/project-celadon/AndroidBoard.mk +############################################################## +ifneq ($(TARGET_PREBUILT_KERNEL),) +$(error TARGET_PREBUILT_KERNEL defined but AndroidIA kernels build from source) +endif + +TARGET_KERNEL_SRC ?= kernel/project-celadon + +TARGET_KERNEL_ARCH := x86_64 +TARGET_KERNEL_CONFIG ?= kernel_64_defconfig + +KERNEL_CONFIG_DIR := device/intel/project-celadon/kernel_config + +KERNEL_NAME := bzImage + +# Set the output for the kernel build products. +KERNEL_OUT := $(abspath $(TARGET_OUT_INTERMEDIATES)/kernel) +KERNEL_BIN := $(KERNEL_OUT)/arch/$(TARGET_KERNEL_ARCH)/boot/$(KERNEL_NAME) +KERNEL_MODULES_INSTALL := $(PRODUCT_OUT)/$(TARGET_COPY_OUT_VENDOR)/lib/modules + +KERNELRELEASE = $(shell cat $(KERNEL_OUT)/include/config/kernel.release) + +KMOD_OUT := $(shell readlink -f "$(PRODUCT_OUT)/$(TARGET_COPY_OUT_VENDOR)") + +build_kernel := $(MAKE) -C $(TARGET_KERNEL_SRC) \ + O=$(KERNEL_OUT) \ + ARCH=$(TARGET_KERNEL_ARCH) \ + CROSS_COMPILE="$(KERNEL_CROSS_COMPILE_WRAPPER)" \ + KCFLAGS="$(KERNEL_CFLAGS)" \ + KAFLAGS="$(KERNEL_AFLAGS)" \ + $(if $(SHOW_COMMANDS),V=1) \ + INSTALL_MOD_PATH=$(KMOD_OUT) + +KERNEL_CONFIG_FILE := device/intel/project-celadon/kernel_config/$(TARGET_KERNEL_CONFIG) + +ifneq ($(TARGET_BUILD_VARIANT), user) +KERNEL_CONFIG_FILE += $(wildcard $(KERNEL_CONFIG_DIR)/debug_diffconfig) +endif + +KERNEL_CONFIG := $(KERNEL_OUT)/.config +$(KERNEL_CONFIG): $(KERNEL_CONFIG_FILE) + $(hide) mkdir -p $(@D) && cat $(wildcard $^) > $@ + $(build_kernel) oldnoconfig + +# Produces the actual kernel image! +$(PRODUCT_OUT)/kernel: $(KERNEL_CONFIG) | $(ACP) + $(build_kernel) $(KERNEL_NAME) modules + $(hide) $(ACP) -fp $(KERNEL_BIN) $@ + +EXTMOD_SRC := ../../../../../.. + +TARGET_EXTRA_KERNEL_MODULES := $(EXTMOD_SRC)/kernel/modules/perftools-external/soc_perf_driver/src +TARGET_EXTRA_KERNEL_MODULES += $(EXTMOD_SRC)/kernel/modules/perftools-external/socwatch_driver + +ALL_EXTRA_MODULES := $(patsubst %,$(TARGET_OUT_INTERMEDIATES)/kmodule/%,$(TARGET_EXTRA_KERNEL_MODULES)) +$(ALL_EXTRA_MODULES): $(TARGET_OUT_INTERMEDIATES)/kmodule/%: $(PRODUCT_OUT)/kernel + @echo Building additional kernel module $* + $(build_kernel) M=$(abspath $@) modules + +# Copy modules in directory pointed by $(KERNEL_MODULES_ROOT) +# First copy modules keeping directory hierarchy lib/modules/`uname-r`for libkmod +# Second, create flat hierarchy for insmod linking to previous hierarchy +$(KERNEL_MODULES_INSTALL): $(PRODUCT_OUT)/kernel $(ALL_EXTRA_MODULES) + $(hide) rm -rf $(PRODUCT_OUT)/$(TARGET_COPY_OUT_VENDOR)/lib/modules + $(build_kernel) modules_install + $(hide) for kmod in $(TARGET_EXTRA_KERNEL_MODULES) ; do \ + echo Installing additional kernel module $${kmod} ; \ + $(subst +,,$(subst $(hide),,$(build_kernel))) M=$(abspath $(TARGET_OUT_INTERMEDIATES))/kernel/$${kmod} modules_install ; \ + done + $(hide) rm -f $(PRODUCT_OUT)/$(TARGET_COPY_OUT_VENDOR)/lib/modules/*/{build,source} + $(hide) mv $(PRODUCT_OUT)/$(TARGET_COPY_OUT_VENDOR)/lib/modules/$(KERNELRELEASE)/* $(PRODUCT_OUT)/$(TARGET_COPY_OUT_VENDOR)/lib/modules + $(hide) rm -rf $(PRODUCT_OUT)/$(TARGET_COPY_OUT_VENDOR)/lib/modules/$(KERNELRELEASE) + $(hide) touch $@ + +# Makes sure any built modules will be included in the system image build. +ALL_DEFAULT_INSTALLED_MODULES += $(KERNEL_MODULES_INSTALL) + +installclean: FILES += $(KERNEL_OUT) $(PRODUCT_OUT)/kernel + +.PHONY: kernel +kernel: $(PRODUCT_OUT)/kernel +############################################################## +# Source: device/intel/mixins/groups/firststage-mount/true/AndroidBoard.mk +############################################################## +FIRST_STAGE_MOUNT_CFG_FILE := $(TARGET_DEVICE_DIR)/extra_files/firststage-mount/config.asl + +$(FIRSTSTAGE_MOUNT_SSDT): $(FIRST_STAGE_MOUNT_CFG_FILE) $(IASL) + $(hide) $(IASL) -p $(@:.aml=) $(FIRST_STAGE_MOUNT_CFG_FILE); +############################################################## +# Source: device/intel/mixins/groups/vendor-partition/true/AndroidBoard.mk +############################################################## + +# This is to ensure that kernel modules are installed before +# vendor.img is generated. +$(PRODUCT_OUT)/vendor.img : $(KERNEL_MODULES_INSTALL) + +make_dir_ab_vendor: + @mkdir -p $(PRODUCT_OUT)/root/vendor + +$(PRODUCT_OUT)/ramdisk.img: make_dir_ab_vendor +############################################################## +# Source: device/intel/mixins/groups/config-partition/enabled/AndroidBoard.mk +############################################################## +INSTALLED_CONFIGIMAGE_TARGET := $(PRODUCT_OUT)/config.img + +selinux_fc := $(TARGET_ROOT_OUT)/file_contexts.bin + +$(INSTALLED_CONFIGIMAGE_TARGET) : PRIVATE_SELINUX_FC := $(selinux_fc) +$(INSTALLED_CONFIGIMAGE_TARGET) : $(MKEXTUSERIMG) $(MAKE_EXT4FS) $(E2FSCK) $(selinux_fc) + $(call pretty,"Target config fs image: $(INSTALLED_CONFIGIMAGE_TARGET)") + @mkdir -p $(PRODUCT_OUT)/config + $(hide) PATH=$(HOST_OUT_EXECUTABLES):$$PATH \ + $(MKEXTUSERIMG) -s \ + $(PRODUCT_OUT)/config \ + $(PRODUCT_OUT)/config.img \ + ext4 \ + oem_config \ + $(BOARD_CONFIGIMAGE_PARTITION_SIZE) \ + $(PRIVATE_SELINUX_FC) + +INSTALLED_RADIOIMAGE_TARGET += $(INSTALLED_CONFIGIMAGE_TARGET) + +selinux_fc := + +selinux_fc := +.PHONY: configimage +configimage: $(INSTALLED_CONFIGIMAGE_TARGET) + +make_dir_ab_config: + @mkdir -p $(PRODUCT_OUT)/vendor/oem_config + +$(PRODUCT_OUT)/ramdisk.img: make_dir_ab_config +############################################################## +# Source: device/intel/mixins/groups/factory-partition/true/AndroidBoard.mk +############################################################## +INSTALLED_FACTORYIMAGE_TARGET := $(PRODUCT_OUT)/factory.img +selinux_fc := $(TARGET_ROOT_OUT)/file_contexts.bin + +$(INSTALLED_FACTORYIMAGE_TARGET) : PRIVATE_SELINUX_FC := $(selinux_fc) +$(INSTALLED_FACTORYIMAGE_TARGET) : $(MKEXTUSERIMG) $(MAKE_EXT4FS) $(E2FSCK) $(selinux_fc) + $(call pretty,"Target factory fs image: $(INSTALLED_FACTORYIMAGE_TARGET)") + @mkdir -p $(PRODUCT_OUT)/factory + $(hide) $(MKEXTUSERIMG) -s \ + $(PRODUCT_OUT)/factory \ + $(PRODUCT_OUT)/factory.img \ + ext4 \ + factory \ + $(BOARD_FACTORYIMAGE_PARTITION_SIZE) \ + $(PRIVATE_SELINUX_FC) + +INSTALLED_RADIOIMAGE_TARGET += $(INSTALLED_FACTORYIMAGE_TARGET) + +selinux_fc := + +.PHONY: factoryimage +factoryimage: $(INSTALLED_FACTORYIMAGE_TARGET) + +make_dir_ab_factory: + @mkdir -p $(PRODUCT_OUT)/vendor/factory + +$(PRODUCT_OUT)/ramdisk.img: make_dir_ab_factory +############################################################## +# 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 +############################################################## +src_loader_file := $(PRODUCT_OUT)/efi/kernelflinger.efi +tgt_loader_file := $(PRODUCT_OUT)/loader.efi + +define generate_flashfiles +$(shell cp $(src_loader_file) $(tgt_loader_file)) +zip -qj $(1) $(2) $(tgt_loader_file) +endef + +ifneq ($(BUILD_NUMBER),) +out_flashfiles := $(PRODUCT_OUT)/$(TARGET_PRODUCT)-flashfiles-$(BUILD_NUMBER).zip +else +out_flashfiles := $(PRODUCT_OUT)/$(TARGET_PRODUCT).flashfiles.$(TARGET_BUILD_VARIANT).$(USER).zip +endif + + +$(PRODUCT_OUT)/efi/startup.nsh: $(TARGET_DEVICE_DIR)/extra_files/boot-arch/$(@F) + $(ACP) $(TARGET_DEVICE_DIR)/extra_files/boot-arch/$(@F) $@ + sed -i '/#/d' $@ + +$(PRODUCT_OUT)/efi/unlock_device.nsh: $(TARGET_DEVICE_DIR)/extra_files/boot-arch/$(@F) + $(ACP) $(TARGET_DEVICE_DIR)/extra_files/boot-arch/$(@F) $@ + sed -i '/#/d' $@ + +$(PRODUCT_OUT)/efi/efivar_oemlock: $(TARGET_DEVICE_DIR)/$(@F) + $(ACP) $(TARGET_DEVICE_DIR)/$(@F) $@ + +$(out_flashfiles): $(BOARD_FLASHFILES) | $(ACP) + $(call generate_flashfiles,$@, $^) + + +.PHONY: flashfiles_simple +flashfiles_simple: $(out_flashfiles) + +# 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 + +# (pulled from build/core/Makefile as this gets defined much later) +# Pick a reasonable string to use to identify files. +ifneq "" "$(filter eng.%,$(BUILD_NUMBER))" +# BUILD_NUMBER has a timestamp in it, which means that +# it will change every time. Pick a stable value. +FILE_NAME_TAG := eng.$(USER) +else +FILE_NAME_TAG := $(BUILD_NUMBER) +endif + +BOARD_FIRST_STAGE_LOADER := $(PRODUCT_OUT)/efi/kernelflinger.efi +BOARD_EXTRA_EFI_MODULES := + +# We stash a copy of BIOSUPDATE.fv so the FW sees it, applies the +# update, and deletes the file. Follows Google's desire to update all +# bootloader pieces with a single "fastboot flash bootloader" command. +# Since it gets deleted we can't do incremental updates of it, we keep +# a copy as capsules/current.fv for this purpose. +intermediates := $(call intermediates-dir-for,PACKAGING,bootloader_zip) +bootloader_zip := $(intermediates)/bootloader.zip +$(bootloader_zip): intermediates := $(intermediates) +$(bootloader_zip): efi_root := $(intermediates)/root +$(bootloader_zip): \ + $(TARGET_DEVICE_DIR)/AndroidBoard.mk \ + $(BOARD_FIRST_STAGE_LOADER) \ + $(BOARD_EXTRA_EFI_MODULES) \ + $(BOARD_SFU_UPDATE) \ + | $(ACP) \ + + $(hide) rm -rf $(efi_root) + $(hide) rm -f $@ + $(hide) mkdir -p $(efi_root)/capsules + $(hide) mkdir -p $(efi_root)/EFI/BOOT + $(foreach EXTRA,$(BOARD_EXTRA_EFI_MODULES), \ + $(hide) $(ACP) $(EXTRA) $(efi_root)/) +ifneq ($(BOARD_SFU_UPDATE),) + $(hide) $(ACP) $(BOARD_SFU_UPDATE) $(efi_root)/BIOSUPDATE.fv + $(hide) $(ACP) $(BOARD_SFU_UPDATE) $(efi_root)/capsules/current.fv +endif + $(hide) $(ACP) $(BOARD_FIRST_STAGE_LOADER) $(efi_root)/loader.efi + $(hide) $(ACP) $(BOARD_FIRST_STAGE_LOADER) $(efi_root)/EFI/BOOT/$(efi_default_name) + $(hide) echo "Android-IA=\\EFI\\BOOT\\$(efi_default_name)" > $(efi_root)/manifest.txt +ifeq ($(BOARD_BOOTOPTION_FASTBOOT),true) + $(hide) echo "Fastboot=\\EFI\\BOOT\\$(efi_default_name);-f">> $(efi_root)/manifest.txt +endif + $(hide) (cd $(efi_root) && zip -qry ../$(notdir $@) .) + +bootloader_info := $(intermediates)/bootloader_image_info.txt +$(bootloader_info): + $(hide) mkdir -p $(dir $@) + $(hide) echo "size=$(BOARD_BOOTLOADER_PARTITION_SIZE)" > $@ + $(hide) echo "block_size=$(BOARD_BOOTLOADER_BLOCK_SIZE)" >> $@ + +INSTALLED_RADIOIMAGE_TARGET += $(bootloader_zip) $(bootloader_info) + +# Rule to create $(OUT)/bootloader image, binaries within are signed with +# testing keys + +BOOTLOADER_FROM_ZIP = device/intel/build/bootloader_from_zip + +bootloader_bin := $(PRODUCT_OUT)/bootloader +$(bootloader_bin): \ + $(bootloader_zip) \ + $(IMG2SIMG) \ + $(BOOTLOADER_ADDITIONAL_DEPS) \ + $(BOOTLOADER_FROM_ZIP) \ + + $(hide) $(BOOTLOADER_FROM_ZIP) \ + --size $(BOARD_BOOTLOADER_PARTITION_SIZE) \ + --block-size $(BOARD_BOOTLOADER_BLOCK_SIZE) \ + $(BOOTLOADER_ADDITIONAL_ARGS) \ + --zipfile $(bootloader_zip) \ + $@ + +droidcore: $(bootloader_bin) + +.PHONY: bootloader +bootloader: $(bootloader_bin) +$(call dist-for-goals,droidcore,$(bootloader_bin):$(TARGET_PRODUCT)-bootloader-$(FILE_NAME_TAG)) + +fastboot_usb_bin := $(PRODUCT_OUT)/fastboot-usb.img +$(fastboot_usb_bin): \ + $(bootloader_zip) \ + $(BOOTLOADER_ADDITIONAL_DEPS) \ + $(BOOTLOADER_FROM_ZIP) \ + + $(hide) $(BOOTLOADER_FROM_ZIP) \ + $(BOOTLOADER_ADDITIONAL_ARGS) \ + --zipfile $(bootloader_zip) \ + --extra-size 10485760 \ + --bootable \ + $@ + +# Build when 'make' is run with no args +droidcore: $(fastboot_usb_bin) + +.PHONY: fastboot-usb +fastboot-usb: $(fastboot_usb_bin) + +$(call dist-for-goals,droidcore,$(fastboot_usb_bin):$(TARGET_PRODUCT)-fastboot-usb-$(FILE_NAME_TAG).img) +$(call dist-for-goals,droidcore,device/intel/build/testkeys/testkeys_lockdown.txt:test-keys_efi_lockdown.txt) +$(call dist-for-goals,droidcore,device/intel/build/testkeys/unlock.txt:efi_unlock.txt) + +ifeq ($(TARGET_BOOTLOADER_POLICY),$(filter $(TARGET_BOOTLOADER_POLICY),static external)) +# The bootloader policy is not built but is provided statically in the +# repository or in $(PRODUCT_OUT)/. +else +# Bootloader policy values are generated based on the +# TARGET_BOOTLOADER_POLICY value and the +# device/intel/build/testkeys/{odm,OAK} keys. The OEM must provide +# its own keys. +GEN_BLPOLICY_OEMVARS := device/intel/build/generate_blpolicy_oemvars +TARGET_ODM_KEY_PAIR := device/intel/build/testkeys/odm +TARGET_OAK_KEY_PAIR := device/intel/build/testkeys/OAK + +$(BOOTLOADER_POLICY_OEMVARS): + $(GEN_BLPOLICY_OEMVARS) -K $(TARGET_ODM_KEY_PAIR) \ + -O $(TARGET_OAK_KEY_PAIR).x509.pem -B $(TARGET_BOOTLOADER_POLICY) \ + $(BOOTLOADER_POLICY_OEMVARS) +endif + + +GPT_INI2BIN := ./device/intel/common/gpt_bin/gpt_ini2bin.py + +$(BOARD_GPT_BIN): $(TARGET_DEVICE_DIR)/gpt.ini + $(hide) $(GPT_INI2BIN) $< > $@ + $(hide) echo GEN $(notdir $@) + +# Use by updater_ab_esp +$(PRODUCT_OUT)/vendor.img: $(PRODUCT_OUT)/vendor/firmware/kernelflinger.efi +$(PRODUCT_OUT)/vendor/firmware/kernelflinger.efi: $(PRODUCT_OUT)/efi/kernelflinger.efi + $(ACP) $(PRODUCT_OUT)/efi/kernelflinger.efi $@ + +############################################################## +# Source: device/intel/mixins/groups/audio/project-celadon/AndroidBoard.mk +############################################################## +pfw_rebuild_settings := true +# Target specific audio configuration files +include device/intel/project-celadon/common/audio/AndroidBoard.mk +############################################################## +# Source: device/intel/mixins/groups/wlan/iwlwifi/AndroidBoard.mk +############################################################## +#LOCAL_KERNEL_PATH := $(abspath $(PRODUCT_OUT)/obj/kernel) is not defined yet +#$(abspath $(PRODUCT_OUT)/obj/kernel)/copy_modules: iwlwifi +############################################################## +# Source: device/intel/mixins/groups/flashfiles/ini/AndroidBoard.mk +############################################################## +ff_intermediates := $(call intermediates-dir-for,PACKAGING,flashfiles) + +# We need a copy of the flashfiles configuration ini in the +# TFP RADIO/ directory +ff_config := $(ff_intermediates)/flashfiles.ini +$(ff_config): $(FLASHFILES_CONFIG) | $(ACP) + $(copy-file-to-target) + +$(call add_variant_flashfiles,$(ff_intermediates)) + +INSTALLED_RADIOIMAGE_TARGET += $(ff_config) + + +$(call flashfile_add_blob,extra_script.edify,$(TARGET_DEVICE_DIR)/flashfiles/::variant::/extra_script.edify) + +# We take any required images that can't be derived elsewhere in +# the TFP and put them in RADIO/provdata.zip. +ff_intermediates := $(call intermediates-dir-for,PACKAGING,flashfiles) +provdata_zip := $(ff_intermediates)/provdata.zip +provdata_zip_deps := $(foreach pair,$(BOARD_FLASHFILES),$(call word-colon,1,$(pair))) +ff_root := $(ff_intermediates)/root + +define copy-flashfile +$(hide) $(ACP) -fp $(1) $(2) + +endef + +define deploy_provdata +$(eval ff_var := $(subst provdata,,$(basename $(notdir $(1))))) +$(hide) rm -f $(1) +$(hide) rm -rf $(ff_intermediates)/root$(ff_var) +$(hide) mkdir -p $(ff_intermediates)/root$(ff_var) +$(foreach pair,$(BOARD_FLASHFILES$(ff_var)), \ + $(call copy-flashfile,$(call word-colon,1,$(pair)),$(ff_intermediates)/root$(ff_var)/$(call word-colon,2,$(pair)))) +$(hide) zip -qj $(1) $(ff_intermediates)/root$(ff_var)/* +endef + +ifneq ($(FLASHFILE_VARIANTS),) +provdata_zip := +$(foreach var,$(FLASHFILE_VARIANTS), \ + $(eval provdata_zip += $(ff_intermediates)/provdata_$(var).zip) \ + $(eval BOARD_FLASHFILES_$(var) := $(BOARD_FLASHFILES)) \ + $(eval BOARD_FLASHFILES_$(var) += $(BOARD_FLASHFILES_FIRMWARE_$(var))) \ + $(eval provdata_zip_deps += $(foreach pair,$(BOARD_FLASHFILES_FIRMWARE_$(var)),$(call word-colon,1,$(pair))))) +else +$(eval BOARD_FLASHFILES += $(BOARD_FLASHFILES_FIRMWARE)) +$(eval provdata_zip_deps += $(foreach pair,$(BOARD_FLASHFILES_FIRMWARE),$(call word-colon,1,$(pair)))) +endif + +$(provdata_zip): $(provdata_zip_deps) | $(ACP) + $(call deploy_provdata,$@) + + +INSTALLED_RADIOIMAGE_TARGET += $(provdata_zip) + +############################################################## +# Source: device/intel/mixins/groups/gptbuild/true/AndroidBoard.mk +############################################################## +gptimage_size ?= 14G + +raw_config := none +raw_factory := none +tos_bin := none +multiboot_bin := none + +.PHONY: none +none: ; + +.PHONY: $(INSTALLED_CONFIGIMAGE_TARGET).raw +$(INSTALLED_CONFIGIMAGE_TARGET).raw: $(INSTALLED_CONFIGIMAGE_TARGET) $(SIMG2IMG) + $(SIMG2IMG) $< $@ + +.PHONY: $(INSTALLED_FACTORYIMAGE_TARGET).raw +$(INSTALLED_FACTORYIMAGE_TARGET).raw: $(INSTALLED_FACTORYIMAGE_TARGET) $(SIMG2IMG) + $(SIMG2IMG) $< $@ + +ifdef INSTALLED_CONFIGIMAGE_TARGET +raw_config := $(INSTALLED_CONFIGIMAGE_TARGET).raw +endif + +ifdef INSTALLED_FACTORYIMAGE_TARGET +raw_factory := $(INSTALLED_FACTORYIMAGE_TARGET).raw +endif + +.PHONY: $(GPTIMAGE_BIN) +ifeq ($(strip $(TARGET_USE_TRUSTY)),true) +ifeq ($(strip $(TARGET_USE_MULTIBOOT)),true) +$(GPTIMAGE_BIN): tosimage multiboot +multiboot_bin = $(INSTALLED_MULTIBOOT_IMAGE_TARGET) +else +$(GPTIMAGE_BIN): tosimage +endif +tos_bin = $(INSTALLED_TOS_IMAGE_TARGET) +endif + +$(GPTIMAGE_BIN): \ + bootloader \ + bootimage \ + systemimage \ + vbmetaimage \ + vendorimage \ + $(SIMG2IMG) \ + $(raw_config) \ + $(raw_factory) + + $(hide) rm -f $(INSTALLED_SYSTEMIMAGE).raw + $(hide) rm -f $(INSTALLED_USERDATAIMAGE_TARGET).raw + + $(SIMG2IMG) $(INSTALLED_SYSTEMIMAGE) $(INSTALLED_SYSTEMIMAGE).raw + $(SIMG2IMG) $(INSTALLED_VENDORIMAGE_TARGET) $(INSTALLED_VENDORIMAGE_TARGET).raw + + $(INTEL_PATH_BUILD)/create_gpt_image.py \ + --create $@ \ + --block $(BOARD_FLASH_BLOCK_SIZE) \ + --table $(TARGET_DEVICE_DIR)/gpt.ini \ + --size $(gptimage_size) \ + --bootloader $(bootloader_bin) \ + --bootloader2 $(bootloader_bin) \ + --tos $(tos_bin) \ + --multiboot $(multiboot_bin) \ + --boot $(INSTALLED_BOOTIMAGE_TARGET) \ + --vbmeta $(INSTALLED_VBMETAIMAGE_TARGET) \ + --system $(INSTALLED_SYSTEMIMAGE).raw \ + --vendor $(INSTALLED_VENDORIMAGE_TARGET).raw \ + --config $(raw_config) \ + --factory $(raw_factory) + + +.PHONY: gptimage +gptimage: $(GPTIMAGE_BIN) +# ------------------ END MIX-IN DEFINITIONS ------------------ diff --git a/clk/AndroidProducts.mk b/clk/AndroidProducts.mk new file mode 100644 index 000000000..73201be3f --- /dev/null +++ b/clk/AndroidProducts.mk @@ -0,0 +1,2 @@ +PRODUCT_MAKEFILES := \ + $(LOCAL_DIR)/clk.mk diff --git a/clk/BoardConfig.mk b/clk/BoardConfig.mk new file mode 100644 index 000000000..8c321415c --- /dev/null +++ b/clk/BoardConfig.mk @@ -0,0 +1,466 @@ +# ----------------- BEGIN MIX-IN DEFINITIONS ----------------- +# Mix-In definitions are auto-generated by mixin-update +############################################################## +# Source: device/intel/mixins/groups/vndk/true/BoardConfig.mk +############################################################## +BOARD_VNDK_VERSION := current +############################################################## +# Source: device/intel/mixins/groups/2ndstage/oemvars/BoardConfig.mk +############################################################## +TARGET_BOOTLOADER_IS_2ND := true +BOARD_OEM_VARS += $(TARGET_DEVICE_DIR)/extra_files/2ndstage/oemvars.txt +############################################################## +# Source: device/intel/mixins/groups/disk-bus/auto/BoardConfig.mk +############################################################## +BOARD_SEPOLICY_DIRS += $(INTEL_PATH_SEPOLICY)/set_storage +BOARD_DISK_BUS = ff.ff +############################################################## +# Source: device/intel/mixins/groups/project-celadon/default/BoardConfig.mk +############################################################## +KERNEL_CROSS_COMPILE_WRAPPER := x86_64-linux-android- + +BOARD_SEPOLICY_DIRS += $(INTEL_PATH_SEPOLICY)/vendor +############################################################## +# Source: device/intel/mixins/groups/sepolicy/enforcing/BoardConfig.mk +############################################################## +# SELinux Policy +BOARD_SEPOLICY_DIRS += $(INTEL_PATH_SEPOLICY) + +############################################################## +# Source: device/intel/mixins/groups/graphics/mesa/BoardConfig.mk +############################################################## +# Use external/drm-bxt +TARGET_USE_PRIVATE_LIBDRM := true +LIBDRM_VER ?= intel + +BOARD_KERNEL_CMDLINE += vga=current i915.modeset=1 drm.atomic=1 i915.nuclear_pageflip=1 drm.vblankoffdelay=1 i915.fastboot=1 +USE_OPENGL_RENDERER := true +NUM_FRAMEBUFFER_SURFACE_BUFFERS := 3 +USE_INTEL_UFO_DRIVER := false +BOARD_GPU_DRIVERS := i965 +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 +ifneq ($(strip $(BOARD_GPU_DRIVERS)),) +TARGET_HARDWARE_3D := true +TARGET_USES_HWC2 := true +endif + + +BOARD_USES_DRM_HWCOMPOSER := false +BOARD_USES_IA_HWCOMPOSER := true + +BOARD_USES_MINIGBM := true +BOARD_ENABLE_EXPLICIT_SYNC := true +INTEL_MINIGBM := external/minigbm + + +BOARD_USES_GRALLOC1 := true + + + +BOARD_CURSOR_WA := false + +BOARD_THREEDIS_UNDERRUN_WA := true + + +BOARD_SEPOLICY_DIRS += $(INTEL_PATH_SEPOLICY)/graphics/mesa + +############################################################## +# Source: device/intel/mixins/groups/media/project-celadon/BoardConfig.mk +############################################################## +INTEL_STAGEFRIGHT := true + +# Settings for the Media SDK library and plug-ins: +# - USE_MEDIASDK: use Media SDK support or not +USE_MEDIASDK := true + +BOARD_HAVE_MEDIASDK_OPEN_SOURCE := true +############################################################## +# Source: device/intel/mixins/groups/device-type/tablet/BoardConfig.mk +############################################################## +DEVICE_PACKAGE_OVERLAYS += $(INTEL_PATH_COMMON)/device-type/overlay-tablet +############################################################## +# Source: device/intel/mixins/groups/debugfs/default/BoardConfig.mk +############################################################## +BOARD_SEPOLICY_DIRS += device/intel/project-celadon/sepolicy/debugfs +############################################################## +# Source: device/intel/mixins/groups/usb-gadget/g_ffs/BoardConfig.mk +############################################################## +BOARD_SEPOLICY_DIRS += device/intel/project-celadon/sepolicy/usb + +############################################################## +# Source: device/intel/mixins/groups/slot-ab/true/BoardConfig.mk +############################################################## +AB_OTA_UPDATER := true +AB_OTA_PARTITIONS := \ + boot \ + system +BOARD_BUILD_SYSTEM_ROOT_IMAGE := true +TARGET_NO_RECOVERY := true +BOARD_USES_RECOVERY_AS_BOOT := true +BOARD_SLOT_AB_ENABLE := true +############################################################## +# Source: device/intel/mixins/groups/kernel/project-celadon/BoardConfig.mk +############################################################## +TARGET_USES_64_BIT_BINDER := true +BOARD_USE_64BIT_USERSPACE := true +TARGET_SUPPORTS_64_BIT_APPS := true + + +TARGET_PRELINK_MODULE := false +TARGET_NO_KERNEL ?= false + +KERNEL_LOGLEVEL ?= 3 +SERIAL_PARAMETER ?= console=tty0 console=ttyS0,115200n8 + + +BOARD_KERNEL_CMDLINE += androidboot.hardware=$(TARGET_PRODUCT) firmware_class.path=/vendor/firmware loglevel=$(KERNEL_LOGLEVEL) loop.max_part=7 + +ifneq ($(TARGET_BUILD_VARIANT),user) +ifeq ($(SPARSE_IMG),true) +BOARD_KERNEL_CMDLINE += $(SERIAL_PARAMETER) +endif +endif + + +BOARD_SEPOLICY_M4DEFS += module_kernel=true +BOARD_SEPOLICY_DIRS += device/intel/project-celadon/sepolicy/kernel +############################################################## +# Source: device/intel/mixins/groups/bluetooth/btusb/BoardConfig.mk +############################################################## +BOARD_HAVE_BLUETOOTH_INTEL_ICNV := true +DEVICE_PACKAGE_OVERLAYS += device/intel/common/bluetooth/overlay-bt-pan +BOARD_SEPOLICY_DIRS += device/intel/project-celadon/sepolicy/bluetooth/common + + +BOARD_BLUETOOTH_BDROID_BUILDCFG_INCLUDE_DIR := device/intel/common/bluetooth/intel/tablet/ +############################################################## +# Source: device/intel/mixins/groups/avb/true/BoardConfig.mk +############################################################## +BOARD_AVB_ENABLE := true + +KERNELFLINGER_AVB_CMDLINE := true + +BOARD_VBMETAIMAGE_PARTITION_SIZE := 2097152 +BOARD_FLASHFILES += $(PRODUCT_OUT)/vbmeta.img + +# Now use AVB to support A/B slot +PRODUCT_STATIC_BOOT_CONTROL_HAL := bootctrl.avb libavb_user +############################################################## +# Source: device/intel/mixins/groups/firststage-mount/true/BoardConfig.mk +############################################################## +BOARD_FIRSTSTAGE_MOUNT_ENABLE := true +BOARD_KERNEL_CMDLINE += androidboot.android_dt_dir=/sys/bus/platform/devices/ANDR0001:00/properties/android/ +FIRSTSTAGE_MOUNT_SSDT = $(PRODUCT_OUT)/firststage-mount.aml +############################################################## +# Source: device/intel/mixins/groups/vendor-partition/true/BoardConfig.mk +############################################################## +# Those 3 lines are required to enable vendor image generation. +# Remove them if vendor partition is not used. +TARGET_COPY_OUT_VENDOR := vendor +BOARD_VENDORIMAGE_PARTITION_SIZE := 1887436800 +ifeq ($(SPARSE_IMG),true) +BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := ext4 +else +BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := squashfs +endif +BOARD_FLASHFILES += $(PRODUCT_OUT)/vendor.img +AB_OTA_PARTITIONS += vendor +############################################################## +# Source: device/intel/mixins/groups/config-partition/enabled/BoardConfig.mk +############################################################## +BOARD_CONFIGIMAGE_PARTITION_SIZE := 8388608 +BOARD_FLASHFILES += $(PRODUCT_OUT)/config.img +BOARD_SEPOLICY_M4DEFS += module_config_partition=true +BOARD_SEPOLICY_DIRS += device/intel/project-celadon/sepolicy/config-partition +############################################################## +# Source: device/intel/mixins/groups/factory-partition/true/BoardConfig.mk +############################################################## +BOARD_FACTORYIMAGE_PARTITION_SIZE := 10485760 +BOARD_FLASHFILES += $(PRODUCT_OUT)/factory.img +BOARD_SEPOLICY_DIRS += device/intel/project-celadon/sepolicy/factory-partition +BOARD_SEPOLICY_M4DEFS += module_factory_partition=true +############################################################## +# Source: device/intel/mixins/groups/boot-arch/project-celadon/BoardConfig.mk +############################################################## +#TARGET_NO_RECOVERY ?= false + +ifeq (False,true) +TARGET_USERIMAGES_USE_F2FS := true +BOARD_USERDATAIMAGE_FILE_SYSTEM_TYPE := f2fs +INTERNAL_USERIMAGES_EXT_VARIANT := f2fs +else +TARGET_USERIMAGES_USE_EXT4 := true +BOARD_USERDATAIMAGE_FILE_SYSTEM_TYPE := ext4 +INTERNAL_USERIMAGES_EXT_VARIANT := ext4 +endif + +BOARD_USERDATAIMAGE_PARTITION_SIZE := 576716800 +BOARD_FLASH_BLOCK_SIZE := 512 + +BOARD_BOOTIMAGE_PARTITION_SIZE := 31457280 + +ifeq ($(SPARSE_IMG),true) +TARGET_USERIMAGES_SPARSE_EXT_DISABLED := false +BOARD_SYSTEMIMAGE_FILE_SYSTEM_TYPE := ext4 +else +TARGET_USERIMAGES_SPARSE_EXT_DISABLED := true +BOARD_SYSTEMIMAGE_FILE_SYSTEM_TYPE := squashfs +endif + +BOARD_SYSTEMIMAGE_PARTITION_SIZE := 3758096384 + +BOARD_BOOTLOADER_PARTITION_SIZE ?= 62914560 +BOARD_BOOTLOADER_BLOCK_SIZE := 512 +TARGET_BOOTLOADER_BOARD_NAME := $(TARGET_DEVICE) + +TARGET_USES_MKE2FS := true + +# Kernel Flinger +TARGET_UEFI_ARCH := x86_64 +# Kernelflinger won't check the ACPI table oem_id, oem_table_id and +# revision fields +KERNELFLINGER_ALLOW_UNSUPPORTED_ACPI_TABLE := true +# Allow Kernelflinger to start watchdog prior to boot the kernel +KERNELFLINGER_USE_WATCHDOG := true +# Tell Kernelflinger to ignore ACPI RSCI table +KERNELFLINGER_IGNORE_RSCI := true +#KERNELFLINGER_SSL_LIBRARY := boringssl +KERNELFLINGER_SSL_LIBRARY := openssl +# Specify system verity partition +#PRODUCT_SYSTEM_VERITY_PARTITION := /dev/block/by-name/system + +# Avoid Watchdog truggered reboot +BOARD_KERNEL_CMDLINE += iTCO_wdt.force_no_reboot=1 + +BOARD_SEPOLICY_DIRS += device/intel/project-celadon/sepolicy/boot-arch/project-celadon/$(TARGET_PRODUCT) + +# Show the "OEM unlocking" option in Android "Developer options" +#PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.frp.pst=/dev/block/by-name/android_persistent + +# Specify file for creating final flashfiles +# BOARD_GPT_INI ?= $(TARGET_DEVICE_DIR)/gpt.ini +BOARD_GPT_BIN = $(PRODUCT_OUT)/gpt.bin +BOARD_FLASHFILES += $(PRODUCT_OUT)/system.img +BOARD_FLASHFILES += $(PRODUCT_OUT)/gpt.bin +BOARD_FLASHFILES += $(PRODUCT_OUT)/boot.img +BOARD_FLASHFILES += $(PRODUCT_OUT)/efi/installer.efi +BOARD_FLASHFILES += $(PRODUCT_OUT)/efi/kernelflinger.efi +BOARD_FLASHFILES += $(PRODUCT_OUT)/efi/startup.nsh +BOARD_FLASHFILES += $(PRODUCT_OUT)/efi/unlock_device.nsh +BOARD_FLASHFILES += $(PRODUCT_OUT)/efi/efivar_oemlock +BOARD_FLASHFILES += $(PRODUCT_OUT)/bootloader +BOARD_FLASHFILES += $(PRODUCT_OUT)/fastboot-usb.img + +# -- OTA RELATED DEFINES -- +# tell build system where to get the recovery.fstab. +TARGET_RECOVERY_FSTAB ?= $(TARGET_DEVICE_DIR)/fstab.recovery +# Used by ota_from_target_files to add platform-specific directives +# to the OTA updater scripts +TARGET_RELEASETOOLS_EXTENSIONS ?= device/intel/common/recovery +# +# By default recovery minui expects RGBA framebuffer +TARGET_RECOVERY_PIXEL_FORMAT := "BGRA_8888" + +# Kernelfligner will assume the BIOS support secure boot. Not check the EFI variable SecureBoot +# It is useful when the BIOS does not support secure boot. +KERNELFLINGER_ASSUME_BIOS_SECURE_BOOT := true + + +KERNELFLINGER_USE_RPMB_SIMULATE := true + +AB_OTA_PARTITIONS += vbmeta + +AB_OTA_POSTINSTALL_CONFIG += \ + RUN_POSTINSTALL_vendor=true \ + POSTINSTALL_PATH_vendor=bin/updater_ab_esp \ + FILESYSTEM_TYPE_vendor=ext4 \ + POSTINSTALL_OPTIONAL_vendor=true + +############################################################## +# Source: device/intel/mixins/groups/audio/project-celadon/BoardConfig.mk +############################################################## +BOARD_USES_ALSA_AUDIO := true +BOARD_USES_TINY_ALSA_AUDIO := true +BOARD_USES_GENERIC_AUDIO ?= false +ifneq ($(BOARD_USES_GENERIC_AUDIO), true) +# Audio HAL selection Flag default setting. +# INTEL_AUDIO_HAL:= audio -> baseline HAL +# INTEL_AUDIO_HAL:= audio_pfw -> PFW-based HAL +INTEL_AUDIO_HAL := audio +else +INTEL_AUDIO_HAL := stub +endif + +# Use XML audio policy configuration file +USE_XML_AUDIO_POLICY_CONF ?= 1 +# Use configurable audio policy +USE_CONFIGURABLE_AUDIO_POLICY ?= 1 + +BOARD_SEPOLICY_DIRS += device/intel/project-celadon/sepolicy/audio/project-celadon +############################################################## +# Source: device/intel/mixins/groups/wlan/iwlwifi/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 + +# Enabling iwlwifi +BOARD_USING_INTEL_IWL := true +INTEL_IWL_MODULE_SUB_FOLDER := rel +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 := "/system/vendor/firmware/iwlwifi-softap-dummy.ucode" +WIFI_DRIVER_FW_PATH_AP := "/system/vendor/firmware/iwlwifi-softap-dummy.ucode" +WIFI_DRIVER_FW_PATH_P2P := "/system/vendor/firmware/iwlwifi-softap-dummy.ucode" +WIFI_DRIVER_FW_PATH_PARAM := "/dev/null" + +# config_wifi_background_scan_support=true: +DEVICE_PACKAGE_OVERLAYS += device/intel/common/wlan/overlay-pno + +DEVICE_PACKAGE_OVERLAYS += device/intel/common/wlan/overlay-tcp-buffers + +# Add SIM , AKA and AKA' methods in EAP entries of WiFi UI +DEVICE_PACKAGE_OVERLAYS += device/intel/common/wlan/overlay-eap-methods + +ifneq (lhp,$(INTEL_IWL_MODULE_SUB_FOLDER)) + DEVICE_PACKAGE_OVERLAYS += device/intel/common/wlan/overlay-dual-band +endif + +# WiDi / Miracast Optimisations +DEVICE_PACKAGE_OVERLAYS += device/intel/common/wlan/overlay-miracast-go +DEVICE_PACKAGE_OVERLAYS += device/intel/common/wlan/overlay-p2p-connected-stop-scan +DEVICE_PACKAGE_OVERLAYS += device/intel/common/wlan/overlay-miracast-force-single-ch +DEVICE_PACKAGE_OVERLAYS += device/intel/common/wlan/overlay-wifi-tethering + +BOARD_SEPOLICY_M4DEFS += module_iwlwifi=true +BOARD_SEPOLICY_DIRS += device/intel/project-celadon/sepolicy/wlan/iwlwifi +############################################################## +# Source: device/intel/mixins/groups/cpu-arch/skl/BoardConfig.mk +############################################################## +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 := x86 +TARGET_2ND_CPU_VARIANT := x86 +else +# 32b-specific items: +TARGET_ARCH := x86 +TARGET_CPU_ABI := x86 +endif +############################################################## +# Source: device/intel/mixins/groups/cpuset/autocores/BoardConfig.mk +############################################################## +BOARD_SEPOLICY_DIRS += $(INTEL_PATH_SEPOLICY)/config_cpuset +############################################################## +# Source: device/intel/mixins/groups/rfkill/true/BoardConfig.mk +############################################################## +BOARD_SEPOLICY_DIRS += $(INTEL_PATH_SEPOLICY)/rfkill +############################################################## +# Source: device/intel/mixins/groups/dexpreopt/enabled/BoardConfig.mk +############################################################## +# enable dex-preoptimization. +WITH_DEXPREOPT := true +WITH_DEXPREOPT_PIC := true +############################################################## +# Source: device/intel/mixins/groups/thermal/thermal-daemon/BoardConfig.mk +############################################################## +BOARD_SEPOLICY_DIRS += device/intel/project-celadon/sepolicy/thermal +BOARD_SEPOLICY_DIRS += device/intel/project-celadon/sepolicy/thermal/thermal-daemon +############################################################## +# Source: device/intel/mixins/groups/pstore/ram_dummy/BoardConfig.mk.1 +############################################################## +BOARD_KERNEL_CMDLINE += pstore.backend=ramoops +############################################################## +# Source: device/intel/mixins/groups/pstore/ram_dummy/BoardConfig.mk.2 +############################################################## +BOARD_SEPOLICY_DIRS += device/intel/sepolicy/pstore +############################################################## +# Source: device/intel/mixins/groups/pstore/ram_dummy/BoardConfig.mk +############################################################## +BOARD_KERNEL_CMDLINE += \ + memmap=0x400000\$$0x50000000 \ + ramoops.mem_address=0x50000000 \ + ramoops.mem_size=0x400000 +BOARD_KERNEL_CMDLINE += \ + ramoops.record_size=0x4000 + +BOARD_KERNEL_CMDLINE += \ + ramoops.console_size=0x200000 + +BOARD_KERNEL_CMDLINE += \ + ramoops.ftrace_size=0x2000 + +BOARD_KERNEL_CMDLINE += \ + ramoops.dump_oops=1 + +############################################################## +# Source: device/intel/mixins/groups/debug-phonedoctor/true/BoardConfig.mk +############################################################## +BOARD_SEPOLICY_M4DEFS += module_debug_phonedoctor=true +BOARD_SEPOLICY_DIRS += $(INTEL_PATH_SEPOLICY)/debug-phonedoctor +############################################################## +# Source: device/intel/mixins/groups/flashfiles/ini/BoardConfig.mk +############################################################## +FLASHFILES_CONFIG ?= $(TARGET_DEVICE_DIR)/extra_files/flashfiles/flashfiles.ini +USE_INTEL_FLASHFILES := true +VARIANT_SPECIFIC_FLASHFILES ?= false +FAST_FLASHFILES := true + +############################################################## +# Source: device/intel/mixins/groups/camera-ext/ext-camera-only/BoardConfig.mk +############################################################## +BOARD_SEPOLICY_DIRS += device/intel/project-celadon/sepolicy/camera-ext/ext-camera-only +############################################################## +# Source: device/intel/mixins/groups/memtrack/true/BoardConfig.mk +############################################################## +BOARD_SEPOLICY_DIRS += $(INTEL_PATH_SEPOLICY)/memtrack +############################################################## +# Source: device/intel/mixins/groups/health/true/BoardConfig.mk +############################################################## +BOARD_SEPOLICY_DIRS += device/intel/project-celadon/sepolicy/health_hal + +DEVICE_FRAMEWORK_MANIFEST_FILE += \ + system/libhidl/vintfdata/manifest_healthd_exclude.xml +############################################################## +# Source: device/intel/mixins/groups/gptbuild/true/BoardConfig.mk +############################################################## +# can't use := here, as PRODUCT_OUT is not defined yet +GPTIMAGE_BIN = $(PRODUCT_OUT)/$(TARGET_PRODUCT)_gptimage.img +############################################################## +# Source: device/intel/mixins/groups/swap/zram/BoardConfig.mk +############################################################## +BOARD_SEPOLICY_DIRS += $(INTEL_PATH_SEPOLICY)/swap +BOARD_SEPOLICY_M4DEFS += module_swap=true +############################################################## +# Source: device/intel/mixins/groups/power/true/BoardConfig.mk +############################################################## +BOARD_SEPOLICY_DIRS += device/intel/project-celadon/sepolicy/power + +# ------------------ END MIX-IN DEFINITIONS ------------------ diff --git a/clk/clk.mk b/clk/clk.mk new file mode 100644 index 000000000..4e42cd671 --- /dev/null +++ b/clk/clk.mk @@ -0,0 +1,18 @@ +ENABLE_NATIVEBRIDGE_64BIT := true + +$(call inherit-product,$(SRC_TARGET_DIR)/product/core_64_bit.mk) +$(call inherit-product,device/intel/project-celadon/clk/device.mk) + +# Include GMS application +FLAG_GMS_MINIMAL := true +FLAG_GMS_AVAILABLE := true +$(call inherit-product-if-exists, vendor/google/gms/products/gms.mk) + +# Overrides +PRODUCT_NAME := clk +PRODUCT_BRAND := clk +PRODUCT_DEVICE := clk +PRODUCT_MODEL := Generic clk +PRODUCT_MANUFACTURER := Intel + +PRODUCT_SHIPPING_API_LEVEL := 28 diff --git a/clk/device.mk b/clk/device.mk new file mode 100644 index 000000000..8951935cc --- /dev/null +++ b/clk/device.mk @@ -0,0 +1,748 @@ +# ----------------- BEGIN MIX-IN DEFINITIONS ----------------- +# Mix-In definitions are auto-generated by mixin-update +############################################################## +# Source: device/intel/mixins/groups/disk-bus/auto/product.mk +############################################################## +# create primary storage symlink dynamically +PRODUCT_PACKAGES += set_storage +PRODUCT_PACKAGES += set_storage.vendor +############################################################## +# Source: device/intel/mixins/groups/project-celadon/default/product.mk +############################################################## +TARGET_BOARD_PLATFORM := project-celadon + +#Product Characteristics +PRODUCT_DIR := $(dir $(lastword $(filter-out device/common/%,$(filter device/%,$(ALL_PRODUCTS))))) + +INTEL_PATH_DEVICE := device/intel/project-celadon +INTEL_PATH_COMMON := device/intel/common +INTEL_PATH_SEPOLICY := device/intel/project-celadon/sepolicy +INTEL_PATH_BUILD := device/intel/build +INTEL_PATH_HARDWARE := hardware/intel +INTEL_PATH_VENDOR := vendor/intel + +PRODUCT_TAGS += dalvik.gc.type-precise + +DEVICE_PACKAGE_OVERLAYS += device/intel/project-celadon/common/overlay + +PRODUCT_PACKAGES += $(THIRD_PARTY_APPS) + +PRODUCT_PACKAGES += fio + +# Set default sounds +# Note: As the override mechanism, must make sure this config +# being in front of generic_no_telephony.mk(defined the aosp sound config) +PRODUCT_PROPERTY_OVERRIDES += \ + ro.config.notification_sound=Xenon.ogg \ + ro.config.alarm_alert=Cesium.ogg \ + ro.config.ringtone=Sceptrum.ogg \ + +# Get a list of languages. +#$(call inherit-product,$(SRC_TARGET_DIR)/product/locales_full.mk) +$(call inherit-product,$(SRC_TARGET_DIR)/product/languages_full.mk) + +# Get everything else from the parent package +$(call inherit-product, $(SRC_TARGET_DIR)/product/generic_no_telephony.mk) + +# Get some sounds +$(call inherit-product-if-exists,frameworks/base/data/sounds/AudioPackage6.mk) + +# Get Platform specific settings +$(call inherit-product-if-exists,vendor/vendor.mk) + +#Product Characteristics +PRODUCT_COPY_FILES += \ + $(LOCAL_PATH)/gpt.ini:root/gpt.$(TARGET_PRODUCT).ini \ + $(LOCAL_PATH)/init.recovery.rc:root/init.recovery.$(TARGET_PRODUCT).rc \ + $(LOCAL_PATH)/init.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw//init.$(TARGET_PRODUCT).rc \ + $(LOCAL_PATH)/ueventd.rc:$(TARGET_COPY_OUT_VENDOR)/ueventd.rc + +# Voip +PRODUCT_COPY_FILES += \ + frameworks/native/data/etc/android.software.sip.voip.xml:system/etc/permissions/android.software.sip.voip.xml \ + frameworks/native/data/etc/android.software.sip.xml:system/etc/permissions/android.software.sip.xml \ + +# Usb +PRODUCT_COPY_FILES += \ + frameworks/native/data/etc/android.hardware.usb.accessory.xml:system/etc/permissions/android.hardware.usb.accessory.xml \ + frameworks/native/data/etc/android.hardware.usb.host.xml:system/etc/permissions/android.hardware.usb.host.xml + +# Touch +PRODUCT_COPY_FILES += \ + frameworks/native/data/etc/android.hardware.touchscreen.multitouch.jazzhand.xml:system/etc/permissions/android.hardware.touchscreen.multitouch.jazzhand.xml \ + frameworks/native/data/etc/android.hardware.touchscreen.multitouch.distinct.xml:system/etc/permissions/android.hardware.touchscreen.multitouch.distinct.xml \ + frameworks/native/data/etc/android.hardware.touchscreen.multitouch.jazzhand.xml:system/etc/permissions/android.hardware.touchscreen.multitouch.jazzhand.xml \ + +# USB +PRODUCT_COPY_FILES += \ + frameworks/native/data/etc/android.hardware.usb.accessory.xml:system/etc/permissions/android.hardware.usb.accessory.xml \ + frameworks/native/data/etc/android.hardware.usb.host.xml:system/etc/permissions/android.hardware.usb.host.xml \ + +# please modify to appropriate value based on tuning +PRODUCT_PROPERTY_OVERRIDES += \ + ro.hwui.texture_cache_size=24.0f \ + ro.hwui.text_large_cache_width=2048 \ + ro.hwui.text_large_cache_height=512 + +# Set filenames_mode to cts, for heh is not available +PRODUCT_PROPERTY_OVERRIDES += \ + ro.crypto.volume.filenames_mode=aes-256-cts + +PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \ + persist.rtc_local_time=1 \ + +# Enable MultiWindow +PRODUCT_PROPERTY_OVERRIDES += \ + persist.sys.debug.multi_window=true + +# DRM service +PRODUCT_PROPERTY_OVERRIDES += \ + drm.service.enabled=true + +# Property to choose between virtual/external wfd display +PRODUCT_PROPERTY_OVERRIDES += \ + persist.sys.wfd.virtual=0 + +# Input resampling configuration +PRODUCT_PROPERTY_OVERRIDES += \ + ro.input.noresample=1 + +# AOSP Packages +PRODUCT_PACKAGES += \ + Launcher3 \ + Terminal + +PRODUCT_PACKAGES += \ + libion \ + libxml2 + +PRODUCT_PACKAGES += \ + libemoji + +PRODUCT_PACKAGES += \ + LiveWallpapers \ + LiveWallpapersPicker \ + WallpaperPicker \ + NotePad \ + Provision \ + drmserver \ + power.project-celadon \ + scp \ + sftp \ + ssh \ + sshd \ + local_time.default.so \ + keystore.default.so + +# USB +PRODUCT_PACKAGES += \ + com.android.future.usb.accessory + +# Keymaster HAL +PRODUCT_PACKAGES += \ + android.hardware.keymaster@3.0-impl \ + android.hardware.keymaster@3.0-service + +# Power HAL +PRODUCT_PACKAGES += \ + android.hardware.power@1.2-impl \ + android.hardware.power@1.2-service + +# DumpState HAL +PRODUCT_PACKAGES += \ + android.hardware.dumpstate@1.0-impl \ + android.hardware.dumpstate@1.0-service + +# Configstore HAL +PRODUCT_PACKAGES += \ + android.hardware.configstore@1.0-impl + +# Vendor Interface Manifest +PRODUCT_COPY_FILES += \ + device/intel/project-celadon/manifest.xml:vendor/manifest.xml +############################################################## +# Source: device/intel/mixins/groups/sepolicy/enforcing/product.mk +############################################################## +PRODUCT_PACKAGES += sepolicy-areq-checker +############################################################## +# Source: device/intel/mixins/groups/graphics/mesa/product.mk +############################################################## +# Mesa +PRODUCT_PACKAGES += \ + libGLES_mesa \ + libGLES_android + +PRODUCT_PACKAGES += \ + libdrm \ + libdrm_intel \ + libsync \ + libmd + +PRODUCT_PACKAGES += ufo_prebuilts + +PRODUCT_COPY_FILES += \ + $(LOCAL_PATH)/extra_files/graphics/drirc:system/etc/drirc + + +# HWComposer IA +PRODUCT_PACKAGES += \ + hwcomposer.$(TARGET_BOARD_PLATFORM) + +PRODUCT_PROPERTY_OVERRIDES += \ + ro.hardware.hwcomposer=$(TARGET_BOARD_PLATFORM) + +INTEL_HWC_CONFIG := $(INTEL_PATH_VENDOR)/external/project-celadon/hwcomposer + +ifeq ($(findstring _acrn,$(TARGET_PRODUCT)),_acrn) +PRODUCT_COPY_FILES += $(INTEL_HWC_CONFIG)/hwc_display_virt.ini:$(TARGET_COPY_OUT_VENDOR)/etc/hwc_display.ini +else +PRODUCT_COPY_FILES += $(INTEL_HWC_CONFIG)/hwc_display.ini:$(TARGET_COPY_OUT_VENDOR)/etc/hwc_display.ini +endif + + +# Mini gbm +PRODUCT_PROPERTY_OVERRIDES += \ + ro.hardware.gralloc=$(TARGET_BOARD_PLATFORM) + +PRODUCT_PACKAGES += \ + gralloc.$(TARGET_BOARD_PLATFORM) + + + +# Mesa +PRODUCT_COPY_FILES += \ + frameworks/native/data/etc/android.hardware.opengles.aep.xml:vendor/etc/permissions/android.hardware.opengles.aep.xml + +# GLES version +PRODUCT_PROPERTY_OVERRIDES += \ + ro.opengles.version=196610 + +PRODUCT_COPY_FILES += \ + frameworks/native/data/etc/android.hardware.vulkan.level-1.xml:vendor/etc/permissions/android.hardware.vulkan.level.xml + +PRODUCT_COPY_FILES += \ + frameworks/native/data/etc/android.hardware.vulkan.compute-0.xml:vendor/etc/permissions/android.hardware.vulkan.compute.xml + + +PRODUCT_COPY_FILES += \ + frameworks/native/data/etc/android.hardware.vulkan.version-1_1.xml:vendor/etc/permissions/android.hardware.vulkan.version.xml + +PRODUCT_PACKAGES += \ + vulkan.$(TARGET_BOARD_PLATFORM) \ + libvulkan_intel + +PRODUCT_PROPERTY_OVERRIDES += \ + ro.hardware.vulkan=$(TARGET_BOARD_PLATFORM) +# Graphics HAL +PRODUCT_PACKAGES += \ + android.hardware.graphics.composer@2.1-impl \ + android.hardware.graphics.composer@2.1-service + +# Gralloc HAL +PRODUCT_PACKAGES += \ + android.hardware.graphics.allocator@2.0-impl \ + android.hardware.graphics.allocator@2.0-service \ + android.hardware.graphics.mapper@2.0-impl +############################################################## +# Source: device/intel/mixins/groups/media/project-celadon/product.mk +############################################################## +# libva, vaapi +PRODUCT_PACKAGES += \ + libva \ + libva-android \ + i965_drv_video + +PRODUCT_PACKAGES += libpciaccess + +# Audio/video codec support. +PRODUCT_COPY_FILES += \ + frameworks/av/media/libstagefright/data/media_codecs_google_audio.xml:vendor/etc/media_codecs_google_audio.xml \ + frameworks/av/media/libstagefright/data/media_codecs_google_video.xml:vendor/etc/media_codecs_google_video.xml \ + device/intel/project-celadon/common/media/media_profiles.xml:vendor/etc/media_profiles.xml \ + device/intel/project-celadon/common/media/media_codecs.xml:vendor/etc/media_codecs.xml \ + device/intel/project-celadon/common/media/media_codecs_performance.xml:vendor/etc/media_codecs_performance.xml + +#Enable deep buffer for video playback +PRODUCT_PROPERTY_OVERRIDES += media.stagefright.audio.deep=true + +# Enable AAC 5.1 output +PRODUCT_PROPERTY_OVERRIDES += \ + media.aac_51_output_enabled=true + +# Enable Media Sdk +PRODUCT_PACKAGES += \ + libmfxhw32 \ + libmfxhw64 \ + libmfx_omx_core \ + libmfx_omx_components_hw \ + libstagefrighthw + + +# Enable Open source hdcp +PRODUCT_PACKAGES += libhdcpsdk +PRODUCT_PACKAGES += lihdcpcommon +# hdcp daemon +PRODUCT_PACKAGES += hdcpd + +PRODUCT_COPY_FILES += \ + device/intel/project-celadon/common/media/mfx_omxil_core.conf:vendor/etc/mfx_omxil_core.conf +############################################################## +# Source: device/intel/mixins/groups/device-type/tablet/product.mk +############################################################## +PRODUCT_CHARACTERISTICS := tablet + +$(call inherit-product,frameworks/native/build/tablet-10in-xhdpi-2048-dalvik-heap.mk) + +PRODUCT_COPY_FILES += \ + frameworks/native/data/etc/tablet_core_hardware.xml:vendor/etc/permissions/tablet_core_hardware.xml + +############################################################## +# Source: device/intel/mixins/groups/ethernet/dhcp/product.mk +############################################################## +PRODUCT_COPY_FILES += \ + frameworks/native/data/etc/android.hardware.ethernet.xml:vendor/etc/permissions/android.hardware.ethernet.xml +############################################################## +# Source: device/intel/mixins/groups/storage/sdcard-mmc0-usb-sd/product.mk +############################################################## + +PRODUCT_DEFAULT_PROPERTY_OVERRIDES += support.sdcardfs.mode=y +############################################################## +# Source: device/intel/mixins/groups/display-density/default/product.mk +############################################################## +PRODUCT_AAPT_CONFIG := normal large mdpi +PRODUCT_AAPT_PREF_CONFIG := mdpi + +PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.sf.lcd_density=160 +############################################################## +# Source: device/intel/mixins/groups/usb-gadget/g_ffs/product.mk +############################################################## +# Set default USB interface +ifeq ($(TARGET_BUILD_VARIANT),user) +# Enable Secure Debugging +PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.adb.secure=1 +ifeq ($(BUILD_FOR_CTS_AUTOMATION),true) +# Build for automated CTS +PRODUCT_COPY_FILES += $(INTEL_PATH_COMMON)/usb-gadget/adb_keys:root/adb_keys +endif #BUILD_FOR_CTS_AUTOMATION == true +endif #TARGET_BUILD_VARIANT == user + +# Add Intel adb keys for userdebug/eng builds +ifneq ($(TARGET_BUILD_VARIANT),user) +PRODUCT_COPY_FILES += $(INTEL_PATH_COMMON)/usb-gadget/adb_keys:root/adb_keys +# Enable Secure Debugging for userdebug +ifeq ($(TARGET_BUILD_VARIANT),userdebug) #userdebug +PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.adb.secure=1 +endif #userdebug +endif #userdebug/eng +############################################################## +# Source: device/intel/mixins/groups/adb_net/true/product.mk +############################################################## +# Enable Secure Debugging +ifeq ($(TARGET_BUILD_VARIANT),user) +PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.adb.secure=1 +endif +############################################################## +# Source: device/intel/mixins/groups/slot-ab/true/product.mk +############################################################## +PRODUCT_PACKAGES += \ + update_engine \ + update_verifier \ + update_engine_sideload \ + libavb \ + bootctrl.avb \ + bootctrl.intel \ + bootctrl.intel.static \ + android.hardware.boot@1.0-impl \ + android.hardware.boot@1.0-service + +PRODUCT_PACKAGES_DEBUG += \ + update_engine_client \ + bootctl + +PRODUCT_PROPERTY_OVERRIDES += \ + ro.hardware.bootctrl=intel +############################################################## +# Source: device/intel/mixins/groups/kernel/project-celadon/product.mk +############################################################## +TARGET_KERNEL_ARCH := x86_64 +BOARD_USE_64BIT_KERNEL := true + + +KERNEL_MODULES_ROOT_PATH ?= /vendor/lib/modules +KERNEL_MODULES_ROOT ?= $(KERNEL_MODULES_ROOT_PATH) + +FIRMWARES_DIR ?= vendor/linux/firmware + +# Include common settings. +FIRMWARE_FILTERS ?= .git/% %.mk + +# Firmware +$(call inherit-product,device/intel/project-celadon/common/firmware.mk) +############################################################## +# Source: device/intel/mixins/groups/bluetooth/btusb/product.mk +############################################################## +PRODUCT_PACKAGES += \ + audio.a2dp.default \ + ath3k-1.fw + +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 + +# Bluetooth HAL +PRODUCT_PACKAGES += \ + android.hardware.bluetooth@1.0-service.vbt \ + libbt-vendor + + +PRODUCT_PACKAGE_OVERLAYS += $(INTEL_PATH_COMMON)/bluetooth/overlay-tablet +############################################################## +# Source: device/intel/mixins/groups/avb/true/product.mk +############################################################## + +PRODUCT_PACKAGES += avbctl +############################################################## +# Source: device/intel/mixins/groups/vendor-partition/true/product.mk +############################################################## +PRODUCT_VENDOR_VERITY_PARTITION := /dev/block/by-name/vendor +############################################################## +# Source: device/intel/mixins/groups/boot-arch/project-celadon/product.mk +############################################################## +PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.frp.pst=/dev/block/by-name/persistent + +ifeq ($(TARGET_BOOTLOADER_POLICY),$(filter $(TARGET_BOOTLOADER_POLICY),0x0 0x2 0x4 0x6)) +# OEM Unlock reporting 1 +#ADDITIONAL_DEFAULT_PROPERTIES += \ + ro.oem_unlock_supported=1 + +PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \ + ro.oem_unlock_supported=1 + +endif + +PRODUCT_PACKAGES += updater_ab_esp + +# Allow Kernelflinger to ignore the RSCI reset source "not_applicable" +# when setting the bootreason +KERNELFLINGER_IGNORE_NOT_APPLICABLE_RESET := true + + +ifneq (0x0,static) +BOOTLOADER_POLICY_OEMVARS = $(PRODUCT_OUT)/bootloader_policy-oemvars.txt +BOARD_FLASHFILES += $(BOOTLOADER_POLICY_OEMVARS) +BOARD_OEM_VARS += $(BOOTLOADER_POLICY_OEMVARS) +endif + +# It activates the Bootloader policy and RMA refurbishing +# features. TARGET_BOOTLOADER_POLICY is the desired bitmask for this +# device. +# * bit 0: +# - 0: GVB class B. +# - 1: GVB class A. Device unlock is not permitted. The only way +# to unlock is to use the secured force-unlock mechanism. +# * bit 1 and 2 defines the minimal boot state required to boot the +# device: +# - 0x0: BOOT_STATE_RED (GVB default behavior) +# - 0x1: BOOT_STATE_ORANGE +# - 0x2: BOOT_STATE_YELLOW +# - 0x3: BOOT_STATE_GREEN +# If TARGET_BOOTLOADER_POLICY is equal to 'static' the bootloader +# policy is not built but is provided statically in the repository. +# If TARGET_BOOTLOADER_POLICY is equal to 'external' the bootloader +# policy OEMVARS should be installed manually in +# $(BOOTLOADER_POLICY_OEMVARS). +TARGET_BOOTLOADER_POLICY := 0x0 +# If the following variable is set to false, the bootloader policy and +# RMA refurbishing features does not use time-based authenticated EFI +# variables to store the BPM and OAK values. The BPM value is defined +# compilation time by the TARGET_BOOTLOADER_POLICY variable. +TARGET_BOOTLOADER_POLICY_USE_EFI_VAR := true +#ifeq ($(TARGET_BOOTLOADER_POLICY),$(filter $(TARGET_BOOTLOADER_POLICY),0x0 0x2 0x4 0x6)) +# OEM Unlock reporting 1 +PRODUCT_PROPERTY_OVERRIDES += \ + ro.oem_unlock_supported=1 +#endif +ifeq ($(TARGET_BOOTLOADER_POLICY),$(filter $(TARGET_BOOTLOADER_POLICY),static external)) +# The bootloader policy is not generated build time but is supplied +# statically in the repository or in $(PRODUCT_OUT)/. If your +# bootloader policy allows the device to be unlocked, uncomment the +# following lines: +#PRODUCT_PROPERTY_OVERRIDES += \ + ro.oem_unlock_supported=1 +endif + + + +KERNELFLINGER_SUPPORT_SELF_USB_DEVICE_MODE_PROTOCOL := true + + +PRODUCT_COPY_FILES += \ + $(LOCAL_PATH)/fstab:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.$(TARGET_PRODUCT) + +# Add the feature of FEATURE_VERIFIED_BOOT +PRODUCT_COPY_FILES += \ + frameworks/native/data/etc/android.software.verified_boot.xml:vendor/etc/permissions/android.software.verified_boot.xml +############################################################## +# Source: device/intel/mixins/groups/audio/project-celadon/product.mk +############################################################## +# Tinyalsa +PRODUCT_PACKAGES_DEBUG += \ + tinymix \ + tinyplay \ + tinycap + +# Extended Audio HALs +PRODUCT_PACKAGES += \ + audio.r_submix.default \ + audio.usb.default \ + audio_policy.default.so \ + audio_configuration_files + +# Audio HAL +PRODUCT_PACKAGES += \ + android.hardware.audio.effect@4.0-impl \ + android.hardware.audio@4.0-impl \ + android.hardware.audio@2.0-service + +PRODUCT_PROPERTY_OVERRIDES += audio.safemedia.bypass=true +############################################################## +# Source: device/intel/mixins/groups/wlan/iwlwifi/product.mk +############################################################## +PRODUCT_PACKAGES += \ + hostapd \ + hostapd_cli \ + wificond \ + wifilogd \ + wpa_supplicant \ + wpa_cli \ + iw + +# FW and PNVM +PRODUCT_PACKAGES += \ + iwl-fw \ + iwl-nvm + +# iwlwifi USC +PRODUCT_PACKAGES += \ + wifi_intel_usc + +#copy iwlwifi wpa config files +PRODUCT_COPY_FILES += \ + device/intel/common/wlan/wpa_supplicant-common.conf:vendor/etc/wifi/wpa_supplicant.conf \ + device/intel/common/wlan/iwlwifi/wpa_supplicant_overlay.conf:vendor/etc/wifi/wpa_supplicant_overlay.conf \ + device/intel/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 + +# Wifi configuration +BOARD_WPA_SUPPLICANT_DRIVER := NL80211 +BOARD_WLAN_DEVICE := iwlwifi + +PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \ + ro.wifi.softap_dualband_allow=false + +PRODUCT_PACKAGES += \ + android.hardware.wifi@1.0-service +############################################################## +# Source: device/intel/mixins/groups/cpuset/autocores/product.mk +############################################################## +PRODUCT_PACKAGES += \ + config_cpuset.sh + +PRODUCT_COPY_FILES += \ + $(LOCAL_PATH)/extra_files/cpuset/config_cpuset.sh:vendor/bin/config_cpuset.sh +############################################################## +# Source: device/intel/mixins/groups/rfkill/true/product.mk +############################################################## +PRODUCT_COPY_FILES += $(INTEL_PATH_COMMON)/rfkill/rfkill-init.sh:vendor/bin/rfkill-init.sh +############################################################## +# Source: device/intel/mixins/groups/usb/host+acc/product.mk +############################################################## +PRODUCT_COPY_FILES += \ + frameworks/native/data/etc/android.hardware.usb.accessory.xml:system/etc/permissions/android.hardware.usb.accessory.xml \ + frameworks/native/data/etc/android.hardware.usb.host.xml:system/etc/permissions/android.hardware.usb.host.xml + +# usb accessory +PRODUCT_PACKAGES += \ + com.android.future.usb.accessory + +# USB HAL +PRODUCT_PACKAGES += \ + android.hardware.usb@1.0-impl \ + android.hardware.usb@1.0-service +############################################################## +# Source: device/intel/mixins/groups/lights/true/product.mk +############################################################## +# Lights HAL +BOARD_SEPOLICY_DIRS += \ + $(INTEL_PATH_SEPOLICY)/light + +PRODUCT_PACKAGES += lights.$(TARGET_BOARD_PLATFORM) \ + android.hardware.light@2.0-service \ + android.hardware.light@2.0-impl + +############################################################## +# Source: device/intel/mixins/groups/thermal/thermal-daemon/product.mk +############################################################## +# thermal-daemon +PRODUCT_PACKAGES += thermal-daemon +PRODUCT_COPY_FILES += \ + device/intel/project-celadon/common/thermal/thermal-conf.xml:/vendor/etc/thermal-daemon/thermal-conf.xml \ + device/intel/project-celadon/common/thermal/thermal-cpu-cdev-order.xml:/vendor/etc/thermal-daemon/thermal-cpu-cdev-order.xml +############################################################## +# Source: device/intel/mixins/groups/pstore/ram_dummy/product.mk +############################################################## +PRODUCT_PACKAGES += \ + pstore-clean +############################################################## +# Source: device/intel/mixins/groups/debug-logs/true/product.mk +############################################################## +ifneq ($(TARGET_BUILD_VARIANT),user) +MIXIN_DEBUG_LOGS := true +endif + +ifeq ($(MIXIN_DEBUG_LOGS),true) +PRODUCT_COPY_FILES += $(LOCAL_PATH)/extra_files/debug-logs/init.logs.rc:root/init.logs.rc +PRODUCT_PACKAGES += \ + elogs.sh \ + start_log_srv.sh \ + logcat_ep.sh +endif + +ifeq ($(MIXIN_DEBUG_LOGS),true) +PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.service.default_logfs=apklogfs +PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.intel.logger=/system/bin/logcat +PRODUCT_DEFAULT_PROPERTY_OVERRIDES += logd.kernel.raw_message=False +PRODUCT_DEFAULT_PROPERTY_OVERRIDES += persist.intel.logger.rot_cnt=20 +PRODUCT_DEFAULT_PROPERTY_OVERRIDES += persist.intel.logger.rot_size=5000 +BOARD_SEPOLICY_DIRS += $(INTEL_PATH_SEPOLICY)/debug-logs +BOARD_SEPOLICY_M4DEFS += module_debug_logs=true +endif +############################################################## +# Source: device/intel/mixins/groups/debug-crashlogd/true/product.mk +############################################################## +ifeq ($(MIXIN_DEBUG_LOGS),true) +PRODUCT_COPY_FILES += \ + $(LOCAL_PATH)/extra_files/debug-crashlogd/init.crashlogd.rc:root/init.crashlogd.rc \ + $(call add-to-product-copy-files-if-exists,$(LOCAL_PATH)/extra_files/debug-crashlogd/ingredients.conf:$(TARGET_COPY_OUT_VENDOR)/etc/ingredients.conf) \ + $(call add-to-product-copy-files-if-exists,$(LOCAL_PATH)/extra_files/debug-crashlogd/crashlog.conf:$(TARGET_COPY_OUT_VENDOR)/etc/crashlog.conf) +PRODUCT_PACKAGES += crashlogd \ + dumpstate_dropbox.sh +endif + +ifeq ($(MIXIN_DEBUG_LOGS),true) +PRODUCT_DEFAULT_PROPERTY_OVERRIDES += persist.vendor.crashlogd.data_quota=50 +BOARD_SEPOLICY_DIRS += device/intel/project-celadon/sepolicy/crashlogd + +CRASHLOGD_LOGS_PATH := "/data/logs" +CRASHLOGD_APLOG := true +CRASHLOGD_FULL_REPORT := true +CRASHLOGD_MODULE_MODEM ?= true +CRASHLOGD_USE_SD := false +endif +############################################################## +# Source: device/intel/mixins/groups/debug-coredump/true/product.mk +############################################################## +ifeq ($(MIXIN_DEBUG_LOGS),true) +PRODUCT_COPY_FILES += $(LOCAL_PATH)/extra_files/debug-coredump/init.coredump.rc:root/init.coredump.rc +endif + +ifeq ($(MIXIN_DEBUG_LOGS),true) +BOARD_SEPOLICY_DIRS += $(INTEL_PATH_SEPOLICY)/coredump +# Enable core dump for eng builds +ifeq ($(TARGET_BUILD_VARIANT),eng) +PRODUCT_DEFAULT_PROPERTY_OVERRIDES += persist.core.enabled=1 +else +PRODUCT_DEFAULT_PROPERTY_OVERRIDES += persist.core.enabled=0 +endif +CRASHLOGD_COREDUMP := true +endif +############################################################## +# Source: device/intel/mixins/groups/debug-phonedoctor/true/product.mk +############################################################## +ifeq ($(MIXIN_DEBUG_LOGS),true) +PRODUCT_PACKAGES += crash_package +endif +############################################################## +# Source: device/intel/mixins/groups/debug-tools/true/product.mk +############################################################## +PRODUCT_PACKAGES_DEBUG += \ + AndroidTerm \ + libjackpal-androidterm4 \ + peeknpoke \ + pytimechart-record \ + lspci \ + llvm-symbolizer +############################################################## +# Source: device/intel/mixins/groups/midi/true/product.mk +############################################################## +# MIDI support +PRODUCT_COPY_FILES += \ + frameworks/native/data/etc/android.software.midi.xml:vendor/etc/permissions/android.software.midi.xml +############################################################## +# Source: device/intel/mixins/groups/camera-ext/ext-camera-only/product.mk +############################################################## +# Camera: Device-specific configuration files. Supports only External USB camera, no CSI support +PRODUCT_COPY_FILES += \ + frameworks/native/data/etc/android.hardware.camera.external.xml:vendor/etc/permissions/android.hardware.camera.external.xml \ + device/intel/project-celadon/common/camera-ext/external_camera_config.xml:vendor/etc/external_camera_config.xml + +# External camera service +PRODUCT_PACKAGES += android.hardware.camera.provider@2.4-external-service \ + android.hardware.camera.provider@2.4-impl + +# Only include test apps in eng or userdebug builds. +PRODUCT_PACKAGES_DEBUG += TestingCamera \ + MultiCameraApp +############################################################## +# Source: device/intel/mixins/groups/memtrack/true/product.mk +############################################################## +# memtrack HAL +PRODUCT_PACKAGES += \ + memtrack.$(TARGET_BOARD_PLATFORM) \ + android.hardware.memtrack@1.0-service \ + android.hardware.memtrack@1.0-impl +############################################################## +# Source: device/intel/mixins/groups/touch/galax7200/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 +############################################################## +# Source: device/intel/mixins/groups/health/true/product.mk +############################################################## +PRODUCT_PACKAGES += health +PRODUCT_PACKAGES += health.$(TARGET_BOARD_PLATFORM) \ + android.hardware.health@2.0-service.celadon +############################################################## +# Source: device/intel/mixins/groups/art-config/default/product.mk +############################################################## +# This is needed to enable silver art optimizer. +VENDOR_ART_PATH ?= $(INTEL_PATH_VENDOR)/art-extension + +PRODUCT_PACKAGES_TESTS += \ + art-run-tests \ + libarttest \ + libnativebridgetest \ + libart-gtest +############################################################## +# Source: device/intel/mixins/groups/debug-kernel/default/product.mk +############################################################## +ifneq ($(TARGET_BUILD_VARIANT),user) +PRODUCT_COPY_FILES += $(LOCAL_PATH)/extra_files/debug-kernel/init.kernel.rc:root/init.kernel.rc +endif +############################################################## +# Source: device/intel/mixins/groups/debug-unresponsive/default/product.mk +############################################################## +ifneq ($(TARGET_BUILD_VARIANT),user) + +PRODUCT_DEFAULT_PROPERTY_OVERRIDES += sys.dropbox.max_size_kb=4096 + +PRODUCT_DEFAULT_PROPERTY_OVERRIDES += sys.dump.binder_stats.uiwdt=1 +PRODUCT_DEFAULT_PROPERTY_OVERRIDES += sys.dump.binder_stats.anr=1 + +PRODUCT_DEFAULT_PROPERTY_OVERRIDES += sys.dump.peer_depth=3 + +PRODUCT_DEFAULT_PROPERTY_OVERRIDES += sys.dump.stacks_timeout=1500 + +endif +# ------------------ END MIX-IN DEFINITIONS ------------------ diff --git a/clk/dptf.dv b/clk/dptf.dv new file mode 100644 index 000000000..c973bb347 Binary files /dev/null and b/clk/dptf.dv differ diff --git a/clk/efivar_oemlock b/clk/efivar_oemlock new file mode 100644 index 000000000..b93dad169 Binary files /dev/null and b/clk/efivar_oemlock differ diff --git a/clk/extra_files/2ndstage/oemvars.txt b/clk/extra_files/2ndstage/oemvars.txt new file mode 100644 index 000000000..f63725c6b --- /dev/null +++ b/clk/extra_files/2ndstage/oemvars.txt @@ -0,0 +1,18 @@ +# ----------------- BEGIN MIX-IN DEFINITIONS ----------------- +# Mix-In definitions are auto-generated by mixin-update +############################################################## +# Source: device/intel/mixins/groups/2ndstage/oemvars/oemvars.txt +############################################################## +# This section may appear empty if magic_key_timeout is false +############################################################## +# Source: device/intel/mixins/groups/boot-arch/project-celadon/oemvars.txt +############################################################## +# This section may appear empty if magic_key_timeout is false + +########################## +GUID = 4a67b082-0a4c-41cf-b6c7-440b29bb8c4f + +# Maximum timeout to check for magic key at boot; loader GUID +MagicKeyTimeout 80 + +# ------------------ END MIX-IN DEFINITIONS ------------------ diff --git a/clk/extra_files/audio/load_audio_modules.sh b/clk/extra_files/audio/load_audio_modules.sh new file mode 100644 index 000000000..c23ff333c --- /dev/null +++ b/clk/extra_files/audio/load_audio_modules.sh @@ -0,0 +1,4 @@ +load_audio_modules() { +insmod /vendor/lib/modules/kernel/sound/drivers/snd-dummy.ko +} +load_audio_modules& diff --git a/clk/extra_files/bluetooth/load_bt.sh b/clk/extra_files/bluetooth/load_bt.sh new file mode 100644 index 000000000..999ca0d17 --- /dev/null +++ b/clk/extra_files/bluetooth/load_bt.sh @@ -0,0 +1,9 @@ +load_bt_modules() { +insmod $modules/kernel/crypto/ecdh_generic.ko +insmod $modules/kernel/net/bluetooth/bluetooth.ko +insmod $modules/kernel/drivers/bluetooth/btintel.ko +insmod $modules/kernel/drivers/bluetooth/btbcm.ko +insmod $modules/kernel/drivers/bluetooth/btrtl.ko +insmod $modules/kernel/drivers/bluetooth/btusb.ko +} +load_bt_modules& diff --git a/clk/extra_files/boot-arch/oemvars.txt b/clk/extra_files/boot-arch/oemvars.txt new file mode 100644 index 000000000..5f86e3636 --- /dev/null +++ b/clk/extra_files/boot-arch/oemvars.txt @@ -0,0 +1,8 @@ +# This section may appear empty if magic_key_timeout is false + +########################## +GUID = 4a67b082-0a4c-41cf-b6c7-440b29bb8c4f + +# Maximum timeout to check for magic key at boot; loader GUID +MagicKeyTimeout 80 + diff --git a/clk/extra_files/boot-arch/startup.nsh b/clk/extra_files/boot-arch/startup.nsh new file mode 100644 index 000000000..abab6587e --- /dev/null +++ b/clk/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/clk/extra_files/boot-arch/unlock_device.nsh b/clk/extra_files/boot-arch/unlock_device.nsh new file mode 100644 index 000000000..ec3aaa8a3 --- /dev/null +++ b/clk/extra_files/boot-arch/unlock_device.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/unlock_device.nsh +############################################################## +dmpstore OEMLock -l efivar_oemlock +# ------------------ END MIX-IN DEFINITIONS ------------------ diff --git a/clk/extra_files/camera-ext/external_camera_config.xml b/clk/extra_files/camera-ext/external_camera_config.xml new file mode 100644 index 000000000..0266b3bc7 --- /dev/null +++ b/clk/extra_files/camera-ext/external_camera_config.xml @@ -0,0 +1,51 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/clk/extra_files/cpuset/config_cpuset.sh b/clk/extra_files/cpuset/config_cpuset.sh new file mode 100644 index 000000000..97512e68d --- /dev/null +++ b/clk/extra_files/cpuset/config_cpuset.sh @@ -0,0 +1,22 @@ +#!/vendor/bin/sh + + cp /sys/devices/system/cpu/online /dev/cpuset/foreground/cpus + cp /sys/devices/system/cpu/online /dev/cpuset/background/cpus + cp /sys/devices/system/cpu/online /dev/cpuset/system-background/cpus + cp /sys/devices/system/cpu/online /dev/cpuset/top-app/cpus + cp /sys/devices/system/cpu/online /dev/cpuset/foreground/boost/cpus + +# ----------------- BEGIN MIX-IN DEFINITIONS ----------------- +# Mix-In definitions are auto-generated by mixin-update +############################################################## +# Source: device/intel/mixins/groups/cpuset/autocores/config_cpuset.sh +############################################################## +#!/vendor/bin/sh + + cp /sys/devices/system/cpu/online /dev/cpuset/foreground/cpus + cp /sys/devices/system/cpu/online /dev/cpuset/background/cpus + cp /sys/devices/system/cpu/online /dev/cpuset/system-background/cpus + cp /sys/devices/system/cpu/online /dev/cpuset/top-app/cpus + cp /sys/devices/system/cpu/online /dev/cpuset/foreground/boost/cpus + +# ------------------ END MIX-IN DEFINITIONS ------------------ diff --git a/clk/extra_files/debug-coredump/init.coredump.rc b/clk/extra_files/debug-coredump/init.coredump.rc new file mode 100644 index 000000000..75ecbc71c --- /dev/null +++ b/clk/extra_files/debug-coredump/init.coredump.rc @@ -0,0 +1,21 @@ +# ----------------- BEGIN MIX-IN DEFINITIONS ----------------- +# Mix-In definitions are auto-generated by mixin-update +############################################################## +# Source: device/intel/mixins/groups/debug-coredump/true/init.coredump.rc +############################################################## +on early-init + setrlimit 4 -1 -1 + + # Add code sections in coredump + write /proc/self/coredump_filter 0x2F + +on post-fs-data + mkdir /data/core 0773 root log + +on property:persist.core.enabled=0 + setrlimit 4 0 0 + +on property:persist.core.enabled=1 + setrlimit 4 -1 -1 + write /proc/sys/kernel/core_pattern /data/core/%t_%p_%s_%e.core +# ------------------ END MIX-IN DEFINITIONS ------------------ diff --git a/clk/extra_files/debug-crashlogd/init.crashlogd.rc b/clk/extra_files/debug-crashlogd/init.crashlogd.rc new file mode 100644 index 000000000..c94ad194c --- /dev/null +++ b/clk/extra_files/debug-crashlogd/init.crashlogd.rc @@ -0,0 +1,28 @@ +# ----------------- BEGIN MIX-IN DEFINITIONS ----------------- +# Mix-In definitions are auto-generated by mixin-update +############################################################## +# Source: device/intel/mixins/groups/debug-crashlogd/true/init.crashlogd.rc +############################################################## +on init + write /proc/sys/fs/suid_dumpable 1 + +on post-fs-data +## mkdir /data/tombstones 0775 system system + mkdir /data/system 0755 system system + mkdir /data/system/dropbox 0700 system system + mkdir /data/logs/modemcrash 0775 system system + mkdir /data/logs/stats 0775 system system + mkdir /data/logs/aplogs 0775 system log + trigger delayed-fs-data + +on delayed-fs-data + mkdir /data/tombstones 0775 system system + +service crashlogd /system/vendor/bin/crashlogd + class late_start + +# started by vendor/intel/log_capture/crashlog +service logsystemstate /system/vendor/bin/dumpstate_dropbox.sh -v + disabled + oneshot +# ------------------ END MIX-IN DEFINITIONS ------------------ diff --git a/clk/extra_files/debug-kernel/init.kernel.rc b/clk/extra_files/debug-kernel/init.kernel.rc new file mode 100644 index 000000000..e249cdc6e --- /dev/null +++ b/clk/extra_files/debug-kernel/init.kernel.rc @@ -0,0 +1,12 @@ +# ----------------- BEGIN MIX-IN DEFINITIONS ----------------- +# Mix-In definitions are auto-generated by mixin-update +############################################################## +# Source: device/intel/mixins/groups/debug-kernel/default/init.kernel.rc +############################################################## +on early-init + write /proc/sys/kernel/panic_on_stackoverflow 1 + +on fs + # Overwrite system/core/rootdir/init.rc config declared "on init" + write /proc/sys/kernel/hung_task_timeout_secs 120 +# ------------------ END MIX-IN DEFINITIONS ------------------ diff --git a/clk/extra_files/debug-logs/init.logs.rc b/clk/extra_files/debug-logs/init.logs.rc new file mode 100644 index 000000000..6901e4416 --- /dev/null +++ b/clk/extra_files/debug-logs/init.logs.rc @@ -0,0 +1,64 @@ +# ----------------- BEGIN MIX-IN DEFINITIONS ----------------- +# Mix-In definitions are auto-generated by mixin-update +############################################################## +# Source: device/intel/mixins/groups/debug-logs/true/init.logs.rc +############################################################## +on post-fs-data + mkdir /data/logs 0770 system log + +on property:persist.service.aplogfs.enable=0 + stop vendor.ap_logfs + +on property:persist.service.aplogfs.enable=1 + setprop persist.service.apklogfs.enable 0 + restart vendor.ap_log_srv + +on property:persist.service.apklogfs.enable=0 + stop vendor.apk_logfs + +on property:persist.service.apklogfs.enable=1 + setprop persist.service.aplogfs.enable 0 + restart vendor.ap_log_srv + +service vendor.apk_logfs /vendor/bin/logcat_ep.sh auto \ + -b main -b system -b radio -b events -b crash -b kernel \ + -v threadtime -f /data/logs/aplog + user root + group root log + disabled + +service vendor.ap_logfs /vendor/bin/logcat_ep.sh auto \ + -b main -b system -b radio -b events -b crash \ + -v threadtime -f /data/logs/aplog + user root + group root log + disabled + +# Service called at boot time after data is decrypted +# +# This is done through the late_start class or through persist properties +# that are only available after data is decrypted. +# The service may be called again when the properties are updated. +service vendor.ap_log_srv /vendor/bin/start_log_srv.sh + user root + group root log + class late_start + oneshot + +service vendor.earlylogs /vendor/bin/elogs.sh + class core + oneshot + +on nonencrypted + stop vendor.earlylogs + +on property:vold.decrypt=trigger_restart_framework + stop vendor.earlylogs + +on property:persist.service.elogs.enable=1 + mkdir /cache/elogs 0770 system log + restorecon /cache/elogs + +on property:persist.service.elogs.enable=0 + exec -- /system/bin/rm -rf /cache/elogs +# ------------------ END MIX-IN DEFINITIONS ------------------ diff --git a/clk/extra_files/firststage-mount/config.asl b/clk/extra_files/firststage-mount/config.asl new file mode 100644 index 000000000..191800a85 --- /dev/null +++ b/clk/extra_files/firststage-mount/config.asl @@ -0,0 +1,31 @@ +//ACPI module device to config First-Stage Mount +DefinitionBlock ("firststage-mount.aml", "SSDT", 1, "INTEL ", "android", 0x00001000) +{ +Scope (\) +{ +External (\_SB.CFG0, DeviceObj) +Scope(_SB) +{ + Device (ANDT) + { + Name (_HID, "ANDR0001") + Name (_STR, Unicode("android device tree")) // Optional + + Name (_DSD, Package () { + ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"), + Package () { + Package () {"android.compatible", "android,firmware"}, + Package () {"android.vbmeta.compatible","android,vbmeta"}, + Package () {"android.vbmeta.parts","vbmeta,boot,system,vendor"}, + Package () {"android.fstab.compatible", "android,fstab"}, + Package () {"android.fstab.vendor.compatible", "android,vendor"}, + Package () {"android.fstab.vendor.dev", "/dev/block/pci/pci0000:00/0000:00:ff.ff/by-name/vendor"}, // Varies with platform + Package () {"android.fstab.vendor.type", "ext4"}, // May vary with platform + Package () {"android.fstab.vendor.mnt_flags", "ro"}, // May vary with platform + Package () {"android.fstab.vendor.fsmgr_flags", "wait,slotselect,avb"}, // May vary with platform + } + }) + } +} +} +} diff --git a/clk/extra_files/flashfiles/flashfiles.ini b/clk/extra_files/flashfiles/flashfiles.ini new file mode 100644 index 000000000..dfa8de32d --- /dev/null +++ b/clk/extra_files/flashfiles/flashfiles.ini @@ -0,0 +1,195 @@ +# This file describe the commands needed to flash the board. +# it is used to generate a json file for PhoneFlashTool, and +# also to generate a script for the USB thumb drive installer. + +# there are 4 types of sections: +# [output.xxx.yy] : tell the script to generate a file named xxx.yyy +# [configuration.xxx] : add a new configuration in the PhoneFlashTool droplist +# each configuration defines the list of sets of commands. +# each command sets will be executed in the order they are in this file. +# for a configuration to be embeded in a json output file, it must +# be present in the "configurations" list of it +# [command.xxxx.yyyy] : add a new command yyyy to the command set xxxxx +# so if a configuration has sets = "format reboot" then all commands +# [command.format.yyy] will be executed, followed by all [command.reboot.yyy] +# if the command requires a file to be passed, you can use $my_file in the args +# and then my_file = src:filename where src is the location of the file at +# build time (provdatazip, image, ...). +# [group.xxxx] : add a checkbox in PFT UI, to enable/disable all commands +# which are member of this group. the default can be overriden in a configuration +# by setting override-xxxx = true or false. + + +[global] +# if you need additional files in the flashfiles.zip. +# additional-files += radio:dediprog.bin + +[output.flash.json] +fastboot-command-options += timeout=60000 retry=1 mandatory=true +enable = true +version = 3.0 +configurations += update blank + +[output.installer.cmd] +sets = unlock partition bootloader erase format flash configure slot-ab lock reboot +additional-files += provdatazip:installer.efi provdatazip:startup.nsh provdatazip:efivar_oemlock provdatazip:unlock_device.nsh provdatazip:config.img provdatazip:factory.img +enable = true + +[configuration.update] +startState = pos +sets = unlock bootloader flash capsule slot-ab lock reboot +default = true +description = update device to new release +brief = update + +[configuration.blank] +startState = pos +#sets = fw_update bootstrap unlock partition bootloader erase format flash capsule configure slot-ab lock reboot +sets = unlock partition bootloader reboot-bootloader erase format flash configure slot-ab lock reboot +description = erase and flash all partitions, all data will be lost. +brief = blank + +[group.delete-capsule] +name = Disable capsule update +description = Disable capsule update by deleting the capsule file from the ESP partition +default = false + +[command.unlock.unlock] +tool = fastboot +args = flashing unlock +description = Set device state to unlocked + +[command.erase.misc] +tool = fastboot +args = erase misc +description = Erase misc partition + +[command.erase.persistent] +tool = fastboot +args = erase persistent +description = Erase persistent partition + +[command.erase.metadata] +tool = fastboot +args = erase metadata +description = Erase metadata partition + +[command.erase.teedata] +tool = fastboot +args = erase teedata +description = Erase teedata partition + +[group.erase-efivars] +name = Erase efi vars +description = Erase all optional efi vars +default = true + +[command.erase-efivars.efivars] +tool = fastboot +args = oem erase-efivars +description = Erase all optional efi vars +group = erase-efivars + +[command.partition.gpt] +tool = fastboot +args = flash gpt $file +file = provdatazip:gpt.bin +description = Initialize the partition table + +[command.bootloader.bootloader] +tool = fastboot +args = flash bootloader $file +file = bootloader:bootloader +description = Flash bootloader partition + + + +[command.flash.vbmeta_a] +tool = fastboot +args = flash vbmeta_a $file +file = images:vbmeta.img +description = Flash vbmeta_a partition + + + + +[command.flash.boot_a] +tool = fastboot +args = flash boot_a $file +file = boot:boot:boot.img +description = Flash boot_a partition + + + + +[command.flash.system_a] +tool = fastboot +args = flash system_a $file +file = images:system.img +timeout = 600000 +description = Flash system_a partition + + +[command.flash.vendor_a] +tool = fastboot +args = flash vendor_a $file +file = images:vendor.img +timeout = 600000 +description = Flash vendor_a partition + + +[command.flash.factory] +tool = fastboot +args = flash factory $file +file = radio:factory.img +timeout = 600000 +description = Flash factory partition + + +[command.flash.config] +tool = fastboot +args = flash config $file +file = radio:config.img +timeout = 600000 +description = Flash config partition + + +[command.capsule.rm-capsule] +tool = fastboot +args = oem rm /ESP/BIOSUPDATE.FV +group = delete-capsule +description = Delete firmware capsule + + +[command.format.data] +tool = fastboot +args = format data +description = Format data partition + +# This will reset the setting of slot B + +[command.slot-ab.set-active-a] +tool = fastboot +args = set_active a +description = Set the active slot to A + +[group.lock-device] +name = Lock the device (it implies the userdata partition wipe) +description = Put the device in locked state at the end of the flash procedure. +default = true + +[command.lock.lock] +tool = fastboot +args = flashing lock +group = lock-device +description = Set device state to locked + +[command.reboot.continue] +tool = fastboot +args = continue +description = Boot to main OS + +[command.reboot-bootloader.reboot] +tool = fastboot +args = reboot bootloader +description = Boot to bootloader diff --git a/clk/extra_files/graphics/drirc b/clk/extra_files/graphics/drirc new file mode 100644 index 000000000..5306b98fc --- /dev/null +++ b/clk/extra_files/graphics/drirc @@ -0,0 +1,15 @@ + + + + + + + + + + + + diff --git a/clk/extra_files/rfkill/load_rfkill.sh b/clk/extra_files/rfkill/load_rfkill.sh new file mode 100644 index 000000000..b51848162 --- /dev/null +++ b/clk/extra_files/rfkill/load_rfkill.sh @@ -0,0 +1,4 @@ +load_rfkill_modules() { +insmod $modules/kernel/net/rfkill/rfkill-gpio.ko +} +load_rfkill_modules& diff --git a/clk/extra_files/wlan/load_iwlwifi_modules.sh b/clk/extra_files/wlan/load_iwlwifi_modules.sh new file mode 100644 index 000000000..9de80b1f2 --- /dev/null +++ b/clk/extra_files/wlan/load_iwlwifi_modules.sh @@ -0,0 +1,7 @@ +load_iwlwifi_modules() { + insmod $modules/kernel/net/wireless/cfg80211.ko + insmod $modules/kernel/net/mac80211/mac80211.ko + insmod $modules/kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko d0i3_disable=1 + insmod $modules/kernel/drivers/net/wireless/intel/iwlwifi/mvm/iwlmvm.ko power_scheme=1 +} +load_iwlwifi_modules& diff --git a/clk/flash.json b/clk/flash.json new file mode 100644 index 000000000..432041c04 --- /dev/null +++ b/clk/flash.json @@ -0,0 +1,509 @@ +# ----------------- BEGIN MIX-IN DEFINITIONS ----------------- +# Mix-In definitions are auto-generated by mixin-update +############################################################## +# Source: device/intel/mixins/groups/boot-arch/project-celadon/flash.json +############################################################## +{ + "flash": { + "commands": [ + { + "args": "flashing unlock", + "description": "Set device state to unlocked", + "mandatory": true, + "precondition": { + "description": "Check battery level: ${battery}mV", + "expression": "${battery} >= 3500", + "skipOnFailure": false + }, + "restrict": [ + "blank", + "update" + ], + "retry": 1, + "timeout": 60000, + "tool": "fastboot" + }, + { + "args": "flash gpt ${gpt}", + "description": "Initialize the partition table", + "mandatory": true, + "precondition": { + "description": "Check battery level: ${battery}mV", + "expression": "${battery} >= 3500", + "skipOnFailure": false + }, + "restrict": [ + "blank" + ], + "retry": 1, + "timeout": 60000, + "tool": "fastboot" + }, + { + "args": "flash bootloader ${bootloader}", + "description": "Flash bootloader partition", + "mandatory": true, + "precondition": { + "description": "Check battery level: ${battery}mV", + "expression": "${battery} >= 3500", + "skipOnFailure": false + }, + "restrict": [ + "blank", + "update" + ], + "retry": 1, + "timeout": 60000, + "tool": "fastboot" + }, + { + "args": "reboot bootloader", + "description": "Reboot system to fastboot mode", + "mandatory": true, + "precondition": { + "description": "Check battery level: ${battery}mV", + "expression": "${battery} >= 3500", + "skipOnFailure": false + }, + "restrict": [ + "blank" + ], + "retry": 1, + "timeout": 60000, + "tool": "fastboot" + }, + { + "args": "erase misc", + "description": "Erase misc partition", + "mandatory": true, + "precondition": { + "description": "Check battery level: ${battery}mV", + "expression": "${battery} >= 3500", + "skipOnFailure": false + }, + "restrict": [ + "blank" + ], + "retry": 1, + "timeout": 60000, + "tool": "fastboot" + }, + { + "args": "erase persistent", + "description": "Erase persistent partition", + "mandatory": true, + "precondition": { + "description": "Check battery level: ${battery}mV", + "expression": "${battery} >= 3500", + "skipOnFailure": false + }, + "restrict": [ + "blank" + ], + "retry": 1, + "timeout": 60000, + "tool": "fastboot" + }, + { + "args": "erase metadata", + "description": "Erase metadata partition", + "mandatory": true, + "precondition": { + "description": "Check battery level: ${battery}mV", + "expression": "${battery} >= 3500", + "skipOnFailure": false + }, + "restrict": [ + "blank" + ], + "retry": 1, + "timeout": 60000, + "tool": "fastboot" + }, + { + "args": "format config", + "description": "Format config partition", + "mandatory": true, + "precondition": { + "description": "Check battery level: ${battery}mV", + "expression": "${battery} >= 3500", + "skipOnFailure": false + }, + "restrict": [ + "blank" + ], + "retry": 1, + "timeout": 60000, + "tool": "fastboot" + }, + { + "args": "format data", + "description": "Format data partition", + "mandatory": true, + "precondition": { + "description": "Check battery level: ${battery}mV", + "expression": "${battery} >= 3500", + "skipOnFailure": false + }, + "restrict": [ + "blank" + ], + "retry": 1, + "timeout": 60000, + "tool": "fastboot" + }, + { + "args": "flash vbmeta_a ${vbmeta}", + "description": "Flash vbmeta_a partition", + "mandatory": true, + "precondition": { + "description": "Check battery level: ${battery}mV", + "expression": "${battery} >= 3500", + "skipOnFailure": false + }, + "restrict": [ + "blank", + "update" + ], + "retry": 1, + "timeout": 60000, + "tool": "fastboot" + }, + { + "args": "flash vbmeta_b ${vbmeta}", + "description": "Flash vbmeta_b partition", + "mandatory": true, + "precondition": { + "description": "Check battery level: ${battery}mV", + "expression": "${battery} >= 3500", + "skipOnFailure": false + }, + "restrict": [ + "blank", + "update" + ], + "retry": 1, + "timeout": 60000, + "tool": "fastboot" + }, + { + "args": "flash boot_a ${boot}", + "description": "Flash boot_a partition", + "mandatory": true, + "precondition": { + "description": "Check battery level: ${battery}mV", + "expression": "${battery} >= 3500", + "skipOnFailure": false + }, + "restrict": [ + "blank", + "update" + ], + "retry": 1, + "timeout": 60000, + "tool": "fastboot" + }, + { + "args": "flash boot_b ${boot}", + "description": "Flash boot_b partition", + "mandatory": true, + "precondition": { + "description": "Check battery level: ${battery}mV", + "expression": "${battery} >= 3500", + "skipOnFailure": false + }, + "restrict": [ + "blank", + "update" + ], + "retry": 1, + "timeout": 60000, + "tool": "fastboot" + }, + { + "args": "flash tos_a ${tos}", + "description": "Flash tos_a partition", + "mandatory": true, + "precondition": { + "description": "Check battery level: ${battery}mV", + "expression": "${battery} >= 3500", + "skipOnFailure": false + }, + "restrict": [ + "blank", + "update" + ], + "retry": 1, + "timeout": 60000, + "tool": "fastboot" + }, + { + "args": "flash tos_b ${tos}", + "description": "Flash tos_b partition", + "mandatory": true, + "precondition": { + "description": "Check battery level: ${battery}mV", + "expression": "${battery} >= 3500", + "skipOnFailure": false + }, + "restrict": [ + "blank", + "update" + ], + "retry": 1, + "timeout": 60000, + "tool": "fastboot" + }, + { + "args": "flash system_a ${system}", + "description": "Flash system_a partition", + "mandatory": true, + "precondition": { + "description": "Check battery level: ${battery}mV", + "expression": "${battery} >= 3500", + "skipOnFailure": false + }, + "restrict": [ + "blank", + "update" + ], + "retry": 1, + "timeout": 600000, + "tool": "fastboot" + }, + { + "args": "flash system_b ${system}", + "description": "Flash system_b partition", + "mandatory": true, + "precondition": { + "description": "Check battery level: ${battery}mV", + "expression": "${battery} >= 3500", + "skipOnFailure": false + }, + "restrict": [ + "blank", + "update" + ], + "retry": 1, + "timeout": 600000, + "tool": "fastboot" + }, + { + "args": "flash vendor_a ${vendor}", + "description": "Flash vendor partition", + "mandatory": true, + "precondition": { + "description": "Check battery level: ${battery}mV", + "expression": "${battery} >= 3500", + "skipOnFailure": false + }, + "restrict": [ + "blank", + "update" + ], + "retry": 1, + "timeout": 60000, + "tool": "fastboot" + }, + { + "args": "flash vendor_b ${vendor}", + "description": "Flash vendor_b partition", + "mandatory": true, + "precondition": { + "description": "Check battery level: ${battery}mV", + "expression": "${battery} >= 3500", + "skipOnFailure": false + }, + "restrict": [ + "blank", + "update" + ], + "retry": 1, + "timeout": 60000, + "tool": "fastboot" + }, + { + "args": "flash factory ${factory}", + "description": "Flash factory partition", + "mandatory": true, + "precondition": { + "description": "Check battery level: ${battery}mV", + "expression": "${battery} >= 3500", + "skipOnFailure": false + }, + "restrict": [ + "blank", + "update" + ], + "retry": 1, + "timeout": 60000, + "tool": "fastboot" + }, + { + "args": "set_active a", + "description": "Set active slot to a", + "mandatory": true, + "precondition": { + "description": "Check battery level: ${battery}mV", + "expression": "${battery} >= 3500", + "skipOnFailure": false + }, + "restrict": [ + "blank", + "blank" + ], + "retry": 1, + "timeout": 60000, + "tool": "fastboot" + }, + { + "args": "flashing lock", + "description": "Set device state to locked", + "group": "lock-device", + "mandatory": true, + "precondition": { + "description": "Check battery level: ${battery}mV", + "expression": "${battery} >= 3500", + "skipOnFailure": false + }, + "restrict": [ + "blank", + "update" + ], + "retry": 1, + "timeout": 60000, + "tool": "fastboot" + }, + { + "args": "continue", + "description": "Boot to main OS", + "mandatory": true, + "precondition": { + "description": "Check battery level: ${battery}mV", + "expression": "${battery} >= 3500", + "skipOnFailure": false + }, + "restrict": [ + "blank", + "update" + ], + "retry": 1, + "timeout": 60000, + "tool": "fastboot" + } + ], + "configurations": { + "blank": { + "brief": "blank", + "description": "erase and flash all partitions, all data will be lost.", + "groupsState": { + "check-battery": true, + "erase-efivars": true, + "lock-device": true + }, + "name": "blank", + "startState": "pos" + }, + "update": { + "brief": "update", + "default": true, + "description": "update phone to new release", + "groupsState": { + "check-battery": true, + "lock-device": true + }, + "name": "update", + "startState": "pos" + } + }, + "groups": { + "check-battery": { + "description": "Check battery level before sending fastboot command", + "name": "Check battery level" + }, + "erase-efivars": { + "description": "Erase all optional efi vars", + "name": "Erase efi vars" + }, + "lock-device": { + "description": "Put the device in locked state at the end of the flash procedure.", + "name": "Lock the device (it implies the userdata partition wipe)" + } + }, + "osplatform": "android", + "parameters": { + "battery": { + "computedValue": "$1", + "description": "Fetch battery", + "filter": "battery-voltage:[\\s]*([0-9]+)mV", + "name": "battery", + "subCommand": { + "args": "getvar battery-voltage", + "description": "Fetch battery", + "mandatory": true, + "retry": 1, + "timeout": 60000, + "tool": "fastboot" + }, + "type": "variable", + "value": 3500 + }, + "boot": { + "description": "boot.img", + "name": "boot", + "type": "file", + "value": "boot.img" + }, + "bootloader": { + "description": "bootloader", + "name": "bootloader", + "type": "file", + "value": "bootloader" + }, + "gpt": { + "description": "gpt.bin", + "name": "gpt", + "type": "file", + "value": "gpt.bin" + }, + "vbmeta": { + "description": "vbmeta.img", + "name": "vbmeta", + "type": "file", + "value": "vbmeta.img" + }, + "recovery": { + "description": "recovery.img", + "name": "recovery", + "type": "file", + "value": "recovery.img" + }, + "factory": { + "description": "factory.img", + "name": "factory", + "type": "file", + "value": "factory.img" + }, + "system": { + "description": "system.img", + "name": "system", + "type": "file", + "value": "system.img" + }, + "vendor": { + "description": "vendor.img", + "name": "vendor", + "type": "file", + "value": "vendor.img" + }, + "tos": { + "description": "tos.img", + "name": "tos", + "type": "file", + "value": "tos.img" + } + }, + "version": "3.0" + } +} +# ------------------ END MIX-IN DEFINITIONS ------------------ diff --git a/clk/flashfiles.ini b/clk/flashfiles.ini new file mode 100644 index 000000000..7b87a5197 --- /dev/null +++ b/clk/flashfiles.ini @@ -0,0 +1,201 @@ +# ----------------- BEGIN MIX-IN DEFINITIONS ----------------- +# Mix-In definitions are auto-generated by mixin-update +############################################################## +# Source: device/intel/mixins/groups/flashfiles/ini/flashfiles.ini +############################################################## +# This file describe the commands needed to flash the board. +# it is used to generate a json file for PhoneFlashTool, and +# also to generate a script for the USB thumb drive installer. + +# there are 4 types of sections: +# [output.xxx.yy] : tell the script to generate a file named xxx.yyy +# [configuration.xxx] : add a new configuration in the PhoneFlashTool droplist +# each configuration defines the list of sets of commands. +# each command sets will be executed in the order they are in this file. +# for a configuration to be embeded in a json output file, it must +# be present in the "configurations" list of it +# [command.xxxx.yyyy] : add a new command yyyy to the command set xxxxx +# so if a configuration has sets = "format reboot" then all commands +# [command.format.yyy] will be executed, followed by all [command.reboot.yyy] +# if the command requires a file to be passed, you can use $my_file in the args +# and then my_file = src:filename where src is the location of the file at +# build time (provdatazip, image, ...). +# [group.xxxx] : add a checkbox in PFT UI, to enable/disable all commands +# which are member of this group. the default can be overriden in a configuration +# by setting override-xxxx = true or false. + + +[global] +# if you need additional files in the flashfiles.zip. +# additional-files += radio:dediprog.bin + +[output.flash.json] +fastboot-command-options += timeout=60000 retry=1 mandatory=true +enable = true +version = 3.0 +configurations += update blank + +[output.installer.cmd] +sets = unlock partition bootloader erase format flash configure slot-ab lock reboot +additional-files += provdatazip:installer.efi provdatazip:startup.nsh provdatazip:efivar_oemlock provdatazip:unlock_device.nsh provdatazip:config.img provdatazip:factory.img +enable = true + +[configuration.update] +startState = pos +sets = unlock bootloader flash capsule slot-ab lock reboot +default = true +description = update device to new release +brief = update + +[configuration.blank] +startState = pos +#sets = fw_update bootstrap unlock partition bootloader erase format flash capsule configure slot-ab lock reboot +sets = unlock partition bootloader reboot-bootloader erase format flash configure slot-ab lock reboot +description = erase and flash all partitions, all data will be lost. +brief = blank + +[group.delete-capsule] +name = Disable capsule update +description = Disable capsule update by deleting the capsule file from the ESP partition +default = false + +[command.unlock.unlock] +tool = fastboot +args = flashing unlock +description = Set device state to unlocked + +[command.erase.misc] +tool = fastboot +args = erase misc +description = Erase misc partition + +[command.erase.persistent] +tool = fastboot +args = erase persistent +description = Erase persistent partition + +[command.erase.metadata] +tool = fastboot +args = erase metadata +description = Erase metadata partition + +[command.erase.teedata] +tool = fastboot +args = erase teedata +description = Erase teedata partition + +[group.erase-efivars] +name = Erase efi vars +description = Erase all optional efi vars +default = true + +[command.erase-efivars.efivars] +tool = fastboot +args = oem erase-efivars +description = Erase all optional efi vars +group = erase-efivars + +[command.partition.gpt] +tool = fastboot +args = flash gpt $file +file = provdatazip:gpt.bin +description = Initialize the partition table + +[command.bootloader.bootloader] +tool = fastboot +args = flash bootloader $file +file = bootloader:bootloader +description = Flash bootloader partition + + + +[command.flash.vbmeta_a] +tool = fastboot +args = flash vbmeta_a $file +file = images:vbmeta.img +description = Flash vbmeta_a partition + + + + +[command.flash.boot_a] +tool = fastboot +args = flash boot_a $file +file = boot:boot:boot.img +description = Flash boot_a partition + + + + +[command.flash.system_a] +tool = fastboot +args = flash system_a $file +file = images:system.img +timeout = 600000 +description = Flash system_a partition + + +[command.flash.vendor_a] +tool = fastboot +args = flash vendor_a $file +file = images:vendor.img +timeout = 600000 +description = Flash vendor_a partition + + +[command.flash.factory] +tool = fastboot +args = flash factory $file +file = radio:factory.img +timeout = 600000 +description = Flash factory partition + + +[command.flash.config] +tool = fastboot +args = flash config $file +file = radio:config.img +timeout = 600000 +description = Flash config partition + + +[command.capsule.rm-capsule] +tool = fastboot +args = oem rm /ESP/BIOSUPDATE.FV +group = delete-capsule +description = Delete firmware capsule + + +[command.format.data] +tool = fastboot +args = format data +description = Format data partition + +# This will reset the setting of slot B + +[command.slot-ab.set-active-a] +tool = fastboot +args = set_active a +description = Set the active slot to A + +[group.lock-device] +name = Lock the device (it implies the userdata partition wipe) +description = Put the device in locked state at the end of the flash procedure. +default = true + +[command.lock.lock] +tool = fastboot +args = flashing lock +group = lock-device +description = Set device state to locked + +[command.reboot.continue] +tool = fastboot +args = continue +description = Boot to main OS + +[command.reboot-bootloader.reboot] +tool = fastboot +args = reboot bootloader +description = Boot to bootloader +# ------------------ END MIX-IN DEFINITIONS ------------------ diff --git a/clk/fstab b/clk/fstab new file mode 100644 index 000000000..2bb662567 --- /dev/null +++ b/clk/fstab @@ -0,0 +1,53 @@ +# ----------------- BEGIN MIX-IN DEFINITIONS ----------------- +# Mix-In definitions are auto-generated by mixin-update +############################################################## +# Source: device/intel/mixins/groups/storage/sdcard-mmc0-usb-sd/fstab +############################################################## +*/usb*/*/host*/*/block/sd* auto auto defaults voldmanaged=usbdisk:auto,encryptable=userdata +*/mmc0/*/block/mmcblk* auto auto defaults voldmanaged=sdcard1:auto +############################################################## +# Source: device/intel/mixins/groups/avb/true/fstab +############################################################## +/dev/block/by-name/vbmeta /vbmeta emmc defaults defaults,slotselect,avb +############################################################## +# Source: device/intel/mixins/groups/vendor-partition/true/fstab +############################################################## +# Following line is required if you use a vendor image. +# If the vendor image is not used, +# following line should be commented with the related ones in BoardConfig.mk +#First-Stage Mount is enabled, the mount of vendor partition is moved to the configure in ACPI SSDT table. +############################################################## +# Source: device/intel/mixins/groups/config-partition/enabled/fstab +############################################################## +/dev/block/by-name/config /vendor/oem_config ext4 noatime,nosuid,nodev,errors=panic wait,check +############################################################## +# Source: device/intel/mixins/groups/factory-partition/true/fstab +############################################################## +/dev/block/by-name/factory /vendor/factory ext4 rw,noatime wait +############################################################## +# Source: device/intel/mixins/groups/boot-arch/project-celadon/fstab +############################################################## +# Android fstab file. +# +# The filesystem that contains the filesystem checker binary (typically /system) cannot +# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK + +/devices/*/usb*/* auto auto defaults voldmanaged=usb:auto +/devices/*/*sdmmc*/* auto auto defaults voldmanaged=sdcard1:auto +/devices/*/80860F14:01/mmc_* auto auto defaults voldmanaged=sdcard1:auto + +# If enable AVB and A/B slot, then will mount system partition as / through /dev/dm-0 +/dev/block/by-name/system / ext4 ro wait,slotselect,avb +/dev/block/by-name/data /data ext4 noatime,nosuid,nodev,discard,noauto_da_alloc,errors=panic wait,check,formattable,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/bootloader /bootloader emmc defaults recoveryonly +/dev/block/by-name/bootloader2 /bootloader2 emmc defaults recoveryonly +/dev/block/by-name/persistent /persistent emmc defaults defaults +/dev/block/by-name/metadata /metadata emmc defaults defaults +############################################################## +# Source: device/intel/mixins/groups/swap/zram/fstab +############################################################## +/dev/block/zram0 none swap defaults zramsize=1073741824 + +# ------------------ END MIX-IN DEFINITIONS ------------------ diff --git a/clk/fstab.recovery b/clk/fstab.recovery new file mode 100644 index 000000000..5afb6c158 --- /dev/null +++ b/clk/fstab.recovery @@ -0,0 +1,55 @@ +# ----------------- BEGIN MIX-IN DEFINITIONS ----------------- +# Mix-In definitions are auto-generated by mixin-update +############################################################## +# Source: device/intel/mixins/groups/storage/sdcard-mmc0-usb-sd/fstab.recovery +############################################################## +/dev/block/sda1 /udiska vfat defaults voldmanaged=udiska:auto +/dev/block/sdb1 /udiskb vfat defaults voldmanaged=udiskb:auto +/dev/block/mmcblk0p1 /sdcard vfat defaults voldmanaged=sdcard:auto +############################################################## +# Source: device/intel/mixins/groups/avb/true/fstab.recovery +############################################################## +/dev/block/by-name/vbmeta /vbmeta emmc defaults defaults,slotselect +############################################################## +# Source: device/intel/mixins/groups/vendor-partition/true/fstab.recovery +############################################################## +# Following line is required if you use a vendor image. +# If the vendor image is not used, +# following line should be commented with the related ones in BoardConfig.mk + +/dev/block/by-name/vendor /vendor ext4 ro wait,slotselect +############################################################## +# Source: device/intel/mixins/groups/config-partition/enabled/fstab.recovery +############################################################## +/dev/block/by-name/config /vendor/oem_config ext4 noatime,nosuid,nodev,errors=panic wait,check +############################################################## +# Source: device/intel/mixins/groups/factory-partition/true/fstab.recovery +############################################################## +/dev/block/by-name/factory /vendor/factory ext4 rw,noatime wait +############################################################## +# Source: device/intel/mixins/groups/boot-arch/project-celadon/fstab.recovery +############################################################## +# Android fstab file. +# +# The filesystem that contains the filesystem checker binary (typically /system) cannot +# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK + +/devices/*/usb*/* auto auto defaults voldmanaged=usb:auto +/devices/*/*sdmmc*/* auto auto defaults voldmanaged=sdcard1:auto +/devices/*/80860F14:01/mmc_* auto auto defaults voldmanaged=sdcard1:auto + +# If enable AVB and A/B slot, then will mount system partition as / through /dev/dm-0 +/dev/block/by-name/system / ext4 ro wait,slotselect,avb +/dev/block/by-name/data /data ext4 noatime,nosuid,nodev,discard,noauto_da_alloc,errors=panic wait,check,formattable,quota +/dev/block/by-name/boot /boot emmc defaults defaults,slotselect +/dev/block/by-name/misc /misc emmc defaults defaults +/dev/block/by-name/bootloader /bootloader emmc defaults recoveryonly +/dev/block/by-name/bootloader2 /bootloader2 emmc defaults recoveryonly +/dev/block/by-name/persistent /persistent emmc defaults defaults +/dev/block/by-name/metadata /metadata ext4 noatime,nosuid,nodev,errors=panic wait,check +############################################################## +# Source: device/intel/mixins/groups/swap/zram/fstab.recovery +############################################################## +/dev/block/zram0 none swap defaults zramsize=1073741824 + +# ------------------ END MIX-IN DEFINITIONS ------------------ diff --git a/androidia_64/gpt.ini b/clk/gpt.ini similarity index 59% rename from androidia_64/gpt.ini rename to clk/gpt.ini index 44f4ada83..d48da73fd 100644 --- a/androidia_64/gpt.ini +++ b/clk/gpt.ini @@ -1,83 +1,100 @@ # ----------------- BEGIN MIX-IN DEFINITIONS ----------------- # Mix-In definitions are auto-generated by mixin-update ############################################################## -# Source: device/intel/mixins/groups/boot-arch/android_ia/gpt.ini +# Source: device/intel/mixins/groups/boot-arch/project-celadon/gpt.ini ############################################################## [base] -partitions = bootloader bootloader2 boot recovery misc metadata system cache persistent vendor config data +partitions = bootloader bootloader2 boot misc metadata system persistent vendor config factory vbmeta teedata data +device = auto +nb_slot = 2 [partition.bootloader] -label = android_bootloader +label = bootloader len = 60 type = esp guid = 2568845d-2332-4675-bc39-8fa5a4748d15 efi_loader = \loader.efi -efi_title = Android-IA +efi_title = PROJECT-CELADON flags = boot [partition.bootloader2] -label = android_bootloader2 +label = bootloader2 len = 60 type = fat guid = 114eaffe-1552-4022-b26e-9b053604cf84 [partition.boot] -label = android_boot +label = boot len = 30 type = boot +has_slot = true guid = 49a4d17f-93a3-45c1-a0de-f50b2ebe2599 -[partition.recovery] -label = android_recovery -len = 30 -type = recovery -guid = 4177c722-9e92-4aab-8644-43502bfd5506 [partition.misc] -label = android_misc +label = misc len = 1 type = misc guid = ef32a33b-a409-486c-9141-9ffb711f6266 [partition.metadata] -label = android_metadata +label = metadata len = 16 type = metadata guid = 20ac26be-20b7-11e3-84c5-6cfdb94711e9 [partition.system] -label = android_system -len = 2560 +label = system +len = 3584 type = linux +has_slot = true guid = 38f428e6-d326-425d-9140-6e0ea133647c -[partition.cache] -label = android_cache -len = 100 -type = linux -guid = a893ef21-e428-470a-9e55-0668fd91a2d9 [partition.data] -label = android_data +label = data len = -1 type = linux guid = dc76dda9-5ac1-491c-af42-a82591580c0d [partition.persistent] -label = android_persistent +label = persistent len = 1 type = linux guid = ebc597d0-2053-4b15-8b64-e0aac75f4db1 [partition.vendor] -label = android_vendor -len = 1500 +label = vendor +len = 1800 type = linux +has_slot = true guid = c5a0aeec-13ea-11e5-a1b1-001e67ca0c3c [partition.config] -label = android_config +label = config len = 8 type = linux guid = bd59408b-4514-490d-bf12-9878d963f378 + +[partition.factory] +label = factory +len = 10 +type = linux +guid = 8f68cc74-c5e5-48da-be91-a0c8c15e9c80 + + +[partition.vbmeta] +label = vbmeta +len = 2 +type = linux +has_slot = true +# Randum generate a guid +guid = 7ced364c-3b5a-4eba-9f5c-9fef1327cb50 + +[partition.teedata] +label = teedata +len = 32 +type = linux +# Randum generate a guid +guid = f0c8e9aa-57f6-4155-8aef-4e0549217563 # ------------------ END MIX-IN DEFINITIONS ------------------ diff --git a/clk/hwc-valsetup.sh b/clk/hwc-valsetup.sh new file mode 100644 index 000000000..9246afa1c --- /dev/null +++ b/clk/hwc-valsetup.sh @@ -0,0 +1,10 @@ +LOCAL_PATH="$(gettop)" +HWCOMPOSER_PATH="$(find vendor/intel/external -name hwcomposer*)" +export HWCVAL_ROOT=$LOCAL_PATH/$HWCOMPOSER_PATH/tests/hwc-val/tests/hwc +export VAL_HWC_TOP="`( cd "$HWCVAL_ROOT/../.." && pwd)`" +export PATH=$HWCVAL_ROOT/host_scripts:$HWCVAL_ROOT/tools:$PATH +export CLIENT_LOGS=$HOME/client_logs + +# Target directories +export HWCVAL_TARGET_DIR=/data/validation/hwc +export HWCVAL_TARGET_SCRIPT_DIR=/data/validation/hwc diff --git a/clk/init.rc b/clk/init.rc new file mode 100644 index 000000000..05a0bbf24 --- /dev/null +++ b/clk/init.rc @@ -0,0 +1,760 @@ +# ----------------- BEGIN MIX-IN DEFINITIONS ----------------- +# Mix-In definitions are auto-generated by mixin-update +############################################################## +# Source: device/intel/mixins/groups/disk-bus/auto/init.rc +############################################################## +on init + # Android creates by-name disk links with the disk controller + # in the generated path, so that the names pulled out of the GPT + # can be associated with the correct disk. Create a shortcut to + # /dev/block/by-name so that we can use the same fstabs everywhere. + mkdir /dev/block 0755 root root + exec u:r:set_storage:s0 root root -- /vendor/bin/set_storage.vendor +############################################################## +# Source: device/intel/mixins/groups/project-celadon/default/init.rc +############################################################## + +on init + # The following line maybe replaced by scripts in SKL. + # symlink /dev/block/pci/pci0000:00/0000:00:1c.0/by-name /dev/block/by-name + + # Load persistent dm-verity state and detect if a restart was + # triggered after dm-verity detected a corrupted block + # And maybe trigger verity-logging if verity mode is not default. + # Should wait for setup the by-name block device + verity_load_state + + # If verity-logging is triggered, must mount_all after it, + # otherwise the warning page maybe can't be shown. + trigger mount-all-fs + + # Since the modules are stored in /vendor, not in ram disk, + # so need to restart ueventd after mount_all. + trigger restart-ueventd + + +on verity-logging + exec u:r:slideshow:s0 -- /sbin/slideshow -p -t 30000 warning/verity_red_1 warning/verity_red_2 + + +on mount-all-fs + mkdir /dev/pstore 0755 root system + mount pstore pstore /dev/pstore + mount_all /vendor/etc/fstab.${ro.hardware} + +on restart-ueventd + rm /dev/.coldboot_done + restart ueventd + +on fs + mkdir /dev/pstore 0755 root system + mount pstore pstore /dev/pstore + +on post-fs + setprop ro.setupwizard.mode DISABLED + +on post-fs-data + mkdir /data/kpanic 0770 system system + mkdir /data/kpanic/pstore 0770 system system + mkdir /data/dontpanic 0750 root log + # Create data folder for GPS + mkdir /data/gps 0770 gps system + + # Set indication (checked by vold) that we have finished this action + setprop vold.post_fs_data_done 1 + +on boot + write /sys/devices/platform/INT33BB:00/power/control on + write /sys/devices/pci0000\:00/0000\:00\:02.0/power/control auto + + setprop camera.disable_zsl_mode 1 + + setprop persist.sys.strictmode.visual 0 + setprop persist.sys.strictmode.disable 1 + + chmod 0660 /sys/class/tty/ttyHSU1/../../power/control + chown system system /sys/class/tty/ttyHSU1/../../power/control + mkdir /dev/gps 0770 gps system + symlink /dev/ttyHSU1 /dev/gps/ttyGPS + symlink /sys/class/tty/ttyHSU1/../../power/control /dev/gps/ttyGPSPowerControl + + write /proc/sys/net/ipv4/tcp_limit_output_bytes 1500000 + write /proc/sys/net/core/rmem_max 6291456 + write /proc/sys/net/core/wmem_max 4194304 + + # change group for IPC interfaces + chown root system /sys/devices/pci0000:00/0000:00:14.0/power/control + chmod 0664 /sys/devices/pci0000:00/0000:00:14.0/power/control + chown root system /sys/bus/usb/devices/2-0:1.0/port5/power/pm_qos_no_power_off + chmod 0664 /sys/bus/usb/devices/2-0:1.0/port5/power/pm_qos_no_power_off + chown root system /sys/devices/pci0000:00/0000:00:14.0/usb2/2-5/power/wakeup + chmod 0664 /sys/devices/pci0000:00/0000:00:14.0/usb2/2-5/power/wakeup + chown root system /sys/devices/pci0000:00/0000:00:14.0/ssic_port_enable + chmod 0664 /sys/devices/pci0000:00/0000:00:14.0/power/ssic_port_enable + + chown root system /sys/bus/usb/devices/2-0:1.0/port5/usb3_lpm + chmod 0664 /sys/bus/usb/devices/2-0:1.0/port5/usb3_lpm + + # disable HSIC port + write /sys/bus/usb/devices/1-0:1.0/port6/power/pm_qos_no_power_off 0 + + chown system system /sys/devices/system/cpu/intel_pstate/min_perf_pct + chmod 0660 /sys/devices/system/cpu/intel_pstate/min_perf_pct + chown system system /sys/devices/system/cpu/intel_pstate/max_perf_pct + chmod 0660 /sys/devices/system/cpu/intel_pstate/max_perf_pct + write /sys/kernel/debug/pstate_snb/setpoint 75 + + # adb over ethernet + setprop service.adb.tcp.port 5555 + +service watchdogd /sbin/watchdogd 10 30 + user root + class core + oneshot + seclabel u:r:watchdogd:s0 + +on charger + start watchdogd + +# bugreport is triggered by holding down volume down, volume up and power +service bugreport /system/bin/dumpstate -d -p -B -z \ + -o /data/user_de/0/com.android.shell/files/bugreports/bugreport + class main + disabled + oneshot + keycodes 114 115 116 + +on fs + # Update dm-verity persistent state and set partition.*.verified + # properties + verity_update_state +############################################################## +# Source: device/intel/mixins/groups/graphics/mesa/init.rc.1 +############################################################## +# for hardware accelerated graphics +service msync /system/vendor/bin/msync + class main + user media + group media + +service coreu /system/vendor/bin/coreu + class main + user media + group media shell + +# Note that this service must start as root to set up a mem-mapped region +# and once that is set up it will drop all unnecessary capabilities and +# will not show up as a root process in the steady state. +service hdcpd /system/vendor/bin/hdcpd + class main + user media + group media shell + seclabel u:r:hdcpd:s0 + +on post-fs-data + # Change ownership of pci syfs file to 'media', as hdcpd runs as 'media' + chown media media /sys/devices/pci0000\:00/0000\:00\:02.0/resource0 + mkdir /data/system 0770 system system + mkdir /data/vendor/coreu 0770 media root + mkdir /data/hdcp 0770 media root +on boot + #Give permission to system to use i915_videostatus sysfs interface + chown system system /sys/class/drm/card0/power/i915_videostatus + chown media media /sys/kernel/debug/tracing/events/drm/drm_vblank_event/enable + chown media media /sys/kernel/debug/tracing/events/i915/i915_flip_complete/enable + chown media media /sys/kernel/debug/tracing/events/i915/i915_flip_request/enable + chown media media /sys/kernel/debug/tracing/events/i915/i915_gem_ring_dispatch/enable + chown media media /sys/kernel/debug/tracing/events/i915/i915_gem_request_complete/enable + chown media media /sys/kernel/debug/tracing/events/i915/i915_gem_request_retire/enable + chown media media /sys/kernel/debug/tracing/events/i915/i915_gem_request_wait_begin/enable + chown media media /sys/kernel/debug/tracing/events/i915/i915_gem_request_wait_end/enable + chown media media /sys/kernel/debug/tracing/events/i915/i915_ring_wait_begin/enable + chown media media /sys/kernel/debug/tracing/events/i915/i915_ring_wait_end/enable + chown media media /sys/devices/pci0000:00/0000:00:02.0/drm/card0/gt_max_freq_mhz + chown media media /sys/devices/pci0000:00/0000:00:02.0/drm/card0/gt_min_freq_mhz + +on property:persist.vendor.gen_gfxd.enable=1 + start gfxd + +on property:persist.vendor.gen_gfxd.enable=0 + stop gfxd + +service gfxd /system/vendor/bin/gfxd + class main + user root + group graphics + disabled +############################################################## +# Source: device/intel/mixins/groups/graphics/mesa/init.rc +############################################################## +on init + chown system system /sys/class/backlight/intel_backlight/brightness + chown system system /sys/class/backlight/acpi_video0/brightness + export INTEL_DEBUG heur32 + +on post-fs-data + #setprop debug.sf.nobootanimation 1 + mkdir /data/system 0770 system system + +on boot + chown system graphics /sys/kernel/debug/sync/sw_sync + symlink /sys/kernel/debug/sync/sw_sync /dev/sw_sync +############################################################## +# Source: device/intel/mixins/groups/media/project-celadon/init.rc +############################################################## +# Note that this service must start as root to set up a mem-mapped region +# and once that is set up it will drop all unnecessary capabilities and +# will not show up as a root process in the steady state. +service hdcpd /system/vendor/bin/hdcpd + class main + user media + group media shell + seclabel u:r:hdcpd:s0 + +on post-fs-data + mkdir /data/hdcp 0770 media root + mkdir /data/coreu 0770 media root + mkdir /data/media 0770 media_rw media_rw + chown media_rw media_rw /data/media + +on boot + setprop persist.media.pfw.verbose true + +on post-fs + insmod /vendor/lib/modules/kernel/drivers/media/v4l2-core/videobuf2-core.ko + insmod /vendor/lib/modules/kernel/drivers/media/v4l2-core/videobuf2-v4l2.ko + insmod /vendor/lib/modules/kernel/drivers/media/v4l2-core/videobuf2-memops.ko + insmod /vendor/lib/modules/kernel/drivers/media/v4l2-core/videobuf2-dma-contig.ko + insmod /vendor/lib/modules/kernel/drivers/media/v4l2-core/videobuf2-vmalloc.ko + insmod /vendor/lib/modules/kernel/drivers/media/usb/uvc/uvcvideo.ko + + setprop media.settings.xml /vendor/etc/media_profiles.xml +############################################################## +# Source: device/intel/mixins/groups/ethernet/dhcp/init.rc +############################################################## + +service dhcpcd_eth0 /system/bin/dhcpcd -ABDKL + class main + disabled + oneshot + +service iprenew_eth0 /system/bin/dhcpcd -n + class main + disabled + oneshot + +on post-fs + insmod /vendor/lib/modules/kernel/drivers/pps/pps_core.ko + insmod /vendor/lib/modules/kernel/drivers/ptp/ptp.ko + insmod /vendor/lib/modules/kernel/drivers/net/ethernet/intel/e1000e/e1000e.ko + +on post-fs + insmod /vendor/lib/modules/kernel/drivers/net/mii.ko + insmod /vendor/lib/modules/kernel/drivers/net/phy/libphy.ko + insmod /vendor/lib/modules/kernel/drivers/net/usb/usbnet.ko + insmod /vendor/lib/modules/kernel/drivers/net/usb/asix.ko + insmod /vendor/lib/modules/kernel/drivers/net/usb/r8152.ko + insmod /vendor/lib/modules/kernel/drivers/net/ethernet/realtek/r8169.ko +############################################################## +# Source: device/intel/mixins/groups/debugfs/default/init.rc +############################################################## +on early-init + # Mount debugfs and make it writable so that debuggerd can + # create stack traces, required with newer kernels + mount debugfs debugfs /sys/kernel/debug + chmod 0755 /sys/kernel/debug + +on early-boot + # Needed by surfaceflinger to enable it to open trace_marker + # on start without file permissions error. + chmod 0222 /sys/kernel/debug/tracing/trace_marker + # tracefs is mounted after 1st access to it + chmod 0755 /sys/kernel/debug/tracing +############################################################## +# Source: device/intel/mixins/groups/storage/sdcard-mmc0-usb-sd/init.rc +############################################################## +on init + # Support legacy paths + symlink /sdcard /mnt/sdcard + symlink /sdcard /storage/sdcard0 + +############################################################## +# Source: device/intel/mixins/groups/usb-gadget/g_ffs/init.rc +############################################################## +on fs + write /sys/class/android_usb/android0/f_ffs/aliases adb + write /sys/class/android_usb/android0/iSerial ${ro.serialno} + +on boot + # Create mount-point for ConfigFS USB gadgets + # Add standard gadget entries + mount configfs none /config + mkdir /config/usb_gadget/g1 0770 shell shell + write /config/usb_gadget/g1/bcdDevice 0x0 + write /config/usb_gadget/g1/bcdUSB 0x210 + mkdir /config/usb_gadget/g1/strings/0x409 0770 + write /config/usb_gadget/g1/strings/0x409/serialnumber ${ro.serialno} + write /config/usb_gadget/g1/strings/0x409/manufacturer ${ro.product.manufacturer} + write /config/usb_gadget/g1/strings/0x409/product ${ro.product.model} + mkdir /config/usb_gadget/g1/functions/ffs.adb + mkdir /config/usb_gadget/g1/functions/mtp.gs0 + mkdir /config/usb_gadget/g1/functions/ptp.gs1 + mkdir /config/usb_gadget/g1/functions/accessory.gs2 + mkdir /config/usb_gadget/g1/functions/rndis.gs4 + mkdir /config/usb_gadget/g1/functions/midi.gs5 + + mkdir /config/usb_gadget/g1/configs/b.1 + mkdir /config/usb_gadget/g1/configs/b.1/strings/0x409 + symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f1 + write /config/usb_gadget/g1/os_desc/qw_sign "MSFT100" + write /config/usb_gadget/g1/os_desc/b_vendor_code 0x1 + write /config/usb_gadget/g1/configs/b.1/MaxPower 500 + symlink /config/usb_gadget/g1/configs/b.1 /config/usb_gadget/g1/os_desc/b.1 + + # Create adb+ffs gadget function + mkdir /dev/usb-ffs 0770 shell shell + mkdir /dev/usb-ffs/adb 0770 shell shell + mount functionfs adb /dev/usb-ffs/adb uid=2000,gid=2000 + + # Enable USB Gadget Configfs interface and make DWC3 the controller + setprop sys.usb.configfs 1 + setprop sys.usb.controller dwc3.0.auto + + # Allow auto-suspend of USB gadget devices + write /sys/devices/pci0000\:00/0000\:00\:15.1/power/control auto + write /sys/devices/pci0000\:00/0000\:00\:15.1/dwc3.0.auto/power/control auto + write /sys/devices/pci0000\:00/0000\:00\:15.1/dwc3.0.auto/gadget/power/control auto + write /sys/devices/pci0000\:00/0000\:00\:15.1/dwc3.0.auto/udc/dwc3.0.auto/power/control auto + chown system system /sys/devices/pci0000:00/0000:00:14.0/intel_xhci_usb_sw/usb_role/intel_xhci_usb_sw-role-switch/role + chmod 0666 /sys/devices/pci0000:00/0000:00:14.0/intel_xhci_usb_sw/usb_role/intel_xhci_usb_sw-role-switch/role + +on property:sys.usb.config=none && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/os_desc/use 0 + setprop sys.usb.ffs.ready 0 + write /sys/power/wake_unlock mylock + +on property:sys.usb.config=adb && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/idVendor 0x8087 + write /config/usb_gadget/g1/idProduct 0x09ef + write /sys/power/wake_lock mylock + +on property:sys.usb.config=mtp && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/functions/mtp.gs0/os_desc/interface.MTP/compatible_id "MTP" + # write /config/usb_gadget/g1/os_desc/use 1 + write /config/usb_gadget/g1/idVendor 0x8087 + write /config/usb_gadget/g1/idProduct 0x0a5e + +on property:sys.usb.config=mtp,adb && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/functions/mtp.gs0/os_desc/interface.MTP/compatible_id "MTP" + # write /config/usb_gadget/g1/os_desc/use 1 + write /config/usb_gadget/g1/idVendor 0x8087 + write /config/usb_gadget/g1/idProduct 0x0a5f + write /sys/power/wake_lock mylock + +on property:sys.usb.config=ptp && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/functions/ptp.gs1/os_desc/interface.MTP/compatible_id "PTP" + # write /config/usb_gadget/g1/os_desc/use 1 + write /config/usb_gadget/g1/idVendor 0x8087 + write /config/usb_gadget/g1/idProduct 0x0a60 + +on property:sys.usb.config=ptp,adb && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/functions/mtp.gs0/os_desc/interface.MTP/compatible_id "PTP" + # write /config/usb_gadget/g1/os_desc/use 1 + write /config/usb_gadget/g1/idVendor 0x8087 + write /config/usb_gadget/g1/idProduct 0x0a61 + write /sys/power/wake_lock mylock + +on property:sys.usb.config=rndis && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/idVendor 0x8087 + write /config/usb_gadget/g1/idProduct 0x0a62 + +on property:sys.usb.config=rndis,adb && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/bcdUSB 0x310 + write /config/usb_gadget/g1/idVendor 0x8087 + write /config/usb_gadget/g1/idProduct 0x0a63 + write /sys/power/wake_lock mylock + +on property:sys.usb.config=midi && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/idVendor 0x8087 + write /config/usb_gadget/g1/idProduct 0x0a65 + +on property:sys.usb.config=midi,adb && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/idVendor 0x8087 + write /config/usb_gadget/g1/idProduct 0x0a67 + write /sys/power/wake_lock mylock + +on property:sys.usb.config=accessory && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/idVendor 0x18d1 + write /config/usb_gadget/g1/idProduct 0x2d00 + +on property:sys.usb.config=accessory,adb && property:sys.usb.configfs=1 + write /config/usb_gadget/g1/idVendor 0x18d1 + write /config/usb_gadget/g1/idProduct 0x2d01 + write /sys/power/wake_lock mylock +############################################################## +# Source: device/intel/mixins/groups/adb_net/true/init.rc +############################################################## +on boot + start adbd + setprop net.eth0.startonboot true + +on property:debug.logcat=1 + class_start debug + +service logcat /system/bin/logcat -v threadtime -f /data/log.txt + class debug + +service setconsole /system/bin/setconsole -g + class main + user root + oneshot + +############################################################## +# Source: device/intel/mixins/groups/kernel/project-celadon/init.rc +############################################################## +on boot + write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor interactive + write /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor interactive + write /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor interactive + write /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor interactive + chown system system /sys/devices/system/cpu/cpufreq/interactive/touchboostpulse + + chown system system /sys/devices/system/cpu/cpufreq/interactive/timer_rate + chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/timer_rate + chown system system /sys/devices/system/cpu/cpufreq/interactive/timer_slack + chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/timer_slack + chown system system /sys/devices/system/cpu/cpufreq/interactive/min_sample_time + chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/min_sample_time + chown system system /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq + chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq + chown system system /sys/devices/system/cpu/cpufreq/interactive/target_loads + chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/target_loads + chown system system /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load + chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load + chown system system /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay + chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay + chown system system /sys/devices/system/cpu/cpufreq/interactive/boost + chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/boost + chown system system /sys/devices/system/cpu/cpufreq/interactive/boostpulse + chown system system /sys/devices/system/cpu/cpufreq/interactive/input_boost + chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/input_boost + chown system system /sys/devices/system/cpu/cpufreq/interactive/boostpulse_duration + chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/boostpulse_duration + chown system system /sys/devices/system/cpu/cpufreq/interactive/io_is_busy + chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/io_is_busy + # Assume SMP uses shared cpufreq policy for all CPUs + chown system system /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq + chmod 0660 /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq + #Give permission to system to use i915_videostatus sysfs interface + chown system system /sys/class/drm/card0/power/i915_videostatus + +on property:sys.boot_completed=1 + write /sys/devices/system/cpu/cpufreq/interactive/boost 0 + write /sys/devices/system/cpu/cpufreq/interactive/irq_load_threshold 2 + +on early-init + write /sys/devices/system/cpu/cpu0/cpuidle/state1/disable 1 + write /sys/devices/system/cpu/cpu0/cpuidle/state2/disable 1 + write /sys/devices/system/cpu/cpu0/cpuidle/state3/disable 1 + write /sys/devices/system/cpu/cpu0/cpuidle/state4/disable 1 + write /sys/devices/system/cpu/cpu0/cpuidle/state5/disable 1 + write /sys/devices/system/cpu/cpu0/cpuidle/state6/disable 1 + write /sys/devices/system/cpu/cpu0/cpuidle/state7/disable 1 + write /sys/devices/system/cpu/cpu1/cpuidle/state1/disable 1 + write /sys/devices/system/cpu/cpu1/cpuidle/state2/disable 1 + write /sys/devices/system/cpu/cpu1/cpuidle/state3/disable 1 + write /sys/devices/system/cpu/cpu1/cpuidle/state4/disable 1 + write /sys/devices/system/cpu/cpu1/cpuidle/state5/disable 1 + write /sys/devices/system/cpu/cpu1/cpuidle/state6/disable 1 + write /sys/devices/system/cpu/cpu1/cpuidle/state7/disable 1 + write /sys/devices/system/cpu/cpu2/cpuidle/state1/disable 1 + write /sys/devices/system/cpu/cpu2/cpuidle/state2/disable 1 + write /sys/devices/system/cpu/cpu2/cpuidle/state3/disable 1 + write /sys/devices/system/cpu/cpu2/cpuidle/state4/disable 1 + write /sys/devices/system/cpu/cpu2/cpuidle/state5/disable 1 + write /sys/devices/system/cpu/cpu2/cpuidle/state6/disable 1 + write /sys/devices/system/cpu/cpu2/cpuidle/state7/disable 1 + write /sys/devices/system/cpu/cpu3/cpuidle/state1/disable 1 + write /sys/devices/system/cpu/cpu3/cpuidle/state2/disable 1 + write /sys/devices/system/cpu/cpu3/cpuidle/state3/disable 1 + write /sys/devices/system/cpu/cpu3/cpuidle/state4/disable 1 + write /sys/devices/system/cpu/cpu3/cpuidle/state5/disable 1 + write /sys/devices/system/cpu/cpu3/cpuidle/state6/disable 1 + write /sys/devices/system/cpu/cpu3/cpuidle/state7/disable 1 + +on property:sys.boot_completed=1 + write /sys/devices/system/cpu/cpu0/cpuidle/state1/disable 0 + write /sys/devices/system/cpu/cpu0/cpuidle/state2/disable 0 + write /sys/devices/system/cpu/cpu0/cpuidle/state3/disable 0 + write /sys/devices/system/cpu/cpu0/cpuidle/state4/disable 0 + write /sys/devices/system/cpu/cpu0/cpuidle/state5/disable 0 + write /sys/devices/system/cpu/cpu0/cpuidle/state6/disable 0 + write /sys/devices/system/cpu/cpu0/cpuidle/state7/disable 0 + write /sys/devices/system/cpu/cpu1/cpuidle/state1/disable 0 + write /sys/devices/system/cpu/cpu1/cpuidle/state2/disable 0 + write /sys/devices/system/cpu/cpu1/cpuidle/state3/disable 0 + write /sys/devices/system/cpu/cpu1/cpuidle/state4/disable 0 + write /sys/devices/system/cpu/cpu1/cpuidle/state5/disable 0 + write /sys/devices/system/cpu/cpu1/cpuidle/state6/disable 0 + write /sys/devices/system/cpu/cpu1/cpuidle/state7/disable 0 + write /sys/devices/system/cpu/cpu2/cpuidle/state1/disable 0 + write /sys/devices/system/cpu/cpu2/cpuidle/state2/disable 0 + write /sys/devices/system/cpu/cpu2/cpuidle/state3/disable 0 + write /sys/devices/system/cpu/cpu2/cpuidle/state4/disable 0 + write /sys/devices/system/cpu/cpu2/cpuidle/state5/disable 0 + write /sys/devices/system/cpu/cpu2/cpuidle/state6/disable 0 + write /sys/devices/system/cpu/cpu2/cpuidle/state7/disable 0 + write /sys/devices/system/cpu/cpu3/cpuidle/state1/disable 0 + write /sys/devices/system/cpu/cpu3/cpuidle/state2/disable 0 + write /sys/devices/system/cpu/cpu3/cpuidle/state3/disable 0 + write /sys/devices/system/cpu/cpu3/cpuidle/state4/disable 0 + write /sys/devices/system/cpu/cpu3/cpuidle/state5/disable 0 + write /sys/devices/system/cpu/cpu3/cpuidle/state6/disable 0 + write /sys/devices/system/cpu/cpu3/cpuidle/state7/disable 0 + +############################################################## +# Source: device/intel/mixins/groups/bluetooth/btusb/init.rc +############################################################## +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 + +service dhcpcd_bt-pan /system/bin/dhcpcd -ABKL + disabled + oneshot + +service iprenew_bt-pan /system/bin/dhcpcd -n + disabled + oneshot + +on boot + insmod /vendor/lib/modules/kernel/crypto/ecdh_generic.ko + insmod /vendor/lib/modules/kernel/net/bluetooth/bluetooth.ko + insmod /vendor/lib/modules/kernel/drivers/bluetooth/btintel.ko + insmod /vendor/lib/modules/kernel/drivers/bluetooth/btbcm.ko + insmod /vendor/lib/modules/kernel/drivers/bluetooth/btrtl.ko + insmod /vendor/lib/modules/kernel/drivers/bluetooth/btusb.ko +############################################################## +# Source: device/intel/mixins/groups/config-partition/enabled/init.rc +############################################################## +# Enable SELinux labeling +on post-fs + restorecon_recursive /vendor/oem_config +############################################################## +# Source: device/intel/mixins/groups/factory-partition/true/init.rc +############################################################## +# init.rc for telephony services specific to flashless platforms using /vendor/factory partition + + +on post-fs + restorecon_recursive /vendor/factory + trigger post-fs-factory +############################################################## +# Source: device/intel/mixins/groups/boot-arch/project-celadon/init.rc +############################################################## +service watchdogd /sbin/watchdogd + user root + class core + oneshot + seclabel u:r:watchdogd:s0 + +on charger + start watchdogd +############################################################## +# Source: device/intel/mixins/groups/audio/project-celadon/init.rc +############################################################## +on boot + insmod /vendor/lib/modules/kernel/sound/drivers/snd-dummy.ko + +############################################################## +# Source: device/intel/mixins/groups/wlan/iwlwifi/init.rc +############################################################## +on post-fs-data + setprop wifi.interface wlan0 + setprop wifi.direct.interface p2p-dev-wlan0 + + # create config WiFi NVM folder + mkdir /oem_config/wlan 0770 wifi system + +on zygote-start + # Create the directories used by the Wireless subsystem + mkdir /data/vendor/wifi 0771 wifi wifi + mkdir /data/vendor/wifi/wpa 0770 wifi wifi + mkdir /data/vendor/wifi/wpa/sockets 0770 wifi wifi + +service wpa_supplicant /vendor/bin/hw/wpa_supplicant \ + -O/data/vendor/wifi/wpa/sockets -puse_p2p_group_interface=1 \ + -g@android:wpa_wlan0 +# we will start as root and wpa_supplicant will switch to user wifi +# after setting up the capabilities required for WEXT +# user wifi +# group wifi inet keystore + interface android.hardware.wifi.supplicant@1.0::ISupplicant default + interface android.hardware.wifi.supplicant@1.1::ISupplicant default + class main + socket wpa_wlan0 dgram 660 wifi wifi + disabled + oneshot + + +service dhcpcd_wlan0 /system/bin/dhcpcd -ABDKL + class main + disabled + oneshot + +service iprenew_wlan0 /system/bin/dhcpcd -n + class main + disabled + oneshot + +service dhcpcd_p2p /system/bin/dhcpcd -aABKL + disabled + oneshot + +service iprenew_p2p /system/bin/dhcpcd -n + disabled + oneshot + +on boot + insmod /vendor/lib/modules/kernel/net/wireless/cfg80211.ko + insmod /vendor/lib/modules/kernel/net/mac80211/mac80211.ko + insmod /vendor/lib/modules/kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko + insmod /vendor/lib/modules/kernel/drivers/net/wireless/intel/iwlwifi/mvm/iwlmvm.ko +############################################################## +# Source: device/intel/mixins/groups/cpuset/autocores/init.rc +############################################################## +on early-boot + # execute script to set initial CPU settings + # don't run as a service to avoid race conditions + exec - root system -- /vendor/bin/config_cpuset.sh +############################################################## +# Source: device/intel/mixins/groups/rfkill/true/init.rc +############################################################## +on boot + insmod ${ro.boot.moduleslocation}/rfkill-gpio.ko + start rfkill-init + +service rfkill-init /vendor/bin/rfkill-init.sh + disabled + user system + group system + oneshot +############################################################## +# Source: device/intel/mixins/groups/usb/host+acc/init.rc +############################################################## +on boot + write /sys/devices/pci0000\:00/0000\:00\:14.0/power/control auto + write /sys/devices/pci0000\:00/0000\:00\:15.0/power/control auto + write /sys/devices/pci0000\:00/0000\:00\:15.0/usb1/1-3/power/control auto + +on charger + write /sys/devices/pci0000\:00/0000\:00\:14.0/power/control auto + +on post-fs + insmod /vendor/lib/modules/kernel/drivers/usb/serial/usbserial.ko + insmod /vendor/lib/modules/kernel/drivers/usb/serial/pl2303.ko + insmod /vendor/lib/modules/kernel/drivers/usb/serial/ftdi_sio.ko +############################################################## +# Source: device/intel/mixins/groups/thermal/thermal-daemon/init.rc +############################################################## +service thermal-daemon /system/vendor/bin/thermal-daemon --config-file /system/vendor/etc/thermal-daemon/thermal-conf.xml + class main + user system + group system + +on boot + chown system system /sys/devices/system/cpu/intel_pstate/max_perf_pct + chown system system /sys/devices/system/cpu/intel_pstate/min_perf_pct + chown system system /sys/devices/system/cpu/intel_pstate/no_turbo + chown system system /sys/class/powercap/intel-rapl:0/enabled + chown system system /sys/class/powercap/intel-rapl:0/constraint_0_power_limit_uw + chown system system /sys/class/dmi/id/product_uuid + chown system system /sys/class/dmi/id/product_name + chown system system /system/vendor/etc/ + chown system system /system/vendor/etc/thermal-daemon/thermal-conf.xml + restorecon_recursive /sys/class/powercap + +on post-fs-data + setprop persist.thermal.mode thermal-daemon + mkdir /data/vendor/thermal-daemon 0660 system system + start thermal-daemon + +############################################################## +# Source: device/intel/mixins/groups/pstore/ram_dummy/init.rc +############################################################## +on fs + mkdir /dev/pstore 0700 5001 root + mount pstore pstore /dev/pstore + +on post-fs-data + mkdir /data/dontpanic 0770 root log + +service pstore-clean /system/vendor/bin/pstore-clean + user 5001 + group root log + class late_start + oneshot + +on property:init.svc.pstore-clean=stopped + umount /dev/pstore + rmdir /dev/pstore +############################################################## +# Source: device/intel/mixins/groups/debug-logs/true/init.rc +############################################################## +import /init.logs.rc +############################################################## +# Source: device/intel/mixins/groups/debug-crashlogd/true/init.rc +############################################################## +import /init.crashlogd.rc +############################################################## +# Source: device/intel/mixins/groups/debug-coredump/true/init.rc +############################################################## +import /init.coredump.rc +############################################################## +# Source: device/intel/mixins/groups/midi/true/init.rc +############################################################## +on property:sys.usb.config=midi + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 8087 + write /sys/class/android_usb/android0/idProduct 0a67 + write /sys/class/android_usb/android0/functions ${sys.usb.config} + write /sys/class/android_usb/android0/enable 1 + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=midi,adb + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 8087 + write /sys/class/android_usb/android0/idProduct 0a65 + write /sys/class/android_usb/android0/functions ${sys.usb.config} + write /sys/class/android_usb/android0/enable 1 + start adbd + setprop sys.usb.state ${sys.usb.config} +############################################################## +# Source: device/intel/mixins/groups/swap/zram/init.rc +############################################################## + +on boot + # Read one page at a time for swap (default is 8) + write /proc/sys/vm/page-cluster 0 + +on post-fs-data + # Enable swaps described in the fstab + swapon_all /fstab.${ro.hardware} +############################################################## +# Source: device/intel/mixins/groups/debug-kernel/default/init.rc +############################################################## +import /init.kernel.rc +############################################################## +# Source: device/intel/mixins/groups/disk-encryption/default/init.rc +############################################################## +# This _should_ be the very last thing that happens in +# the device's 'on post-fs-data' sections. Since we compose +# init scripts from various snippets with mixins, we need to +# ensure this is included last in the mixin-update by listing +# disk-encryption as LAST in the mixin spec file. +on post-fs-data + setprop vold.post_fs_data_done 1 +# ------------------ END MIX-IN DEFINITIONS ------------------ diff --git a/clk/init.recovery.rc b/clk/init.recovery.rc new file mode 100644 index 000000000..69efdba14 --- /dev/null +++ b/clk/init.recovery.rc @@ -0,0 +1,82 @@ +# ----------------- BEGIN MIX-IN DEFINITIONS ----------------- +# Mix-In definitions are auto-generated by mixin-update +############################################################## +# Source: device/intel/mixins/groups/disk-bus/auto/init.recovery.rc +############################################################## +on init + # Android creates by-name disk links with the disk controller + # in the generated path, so that the names pulled out of the GPT + # can be associated with the correct disk. Create a shortcut to + # /dev/block/by-name so that we can use the same fstabs everywhere. + exec u:r:set_storage:s0 root root -- /sbin/set_storage + symlink /dev/block/pci/pci0000:00/0000:00:1c.0/by-name /dev/block/by-name +############################################################## +# Source: device/intel/mixins/groups/ethernet/dhcp/init.recovery.rc +############################################################## + +service dhcpcd_eth0 /system/bin/dhcpcd -ABDKL eth0 + class main + disabled + oneshot + seclabel u:r:dhcp:s0 + +on post-fs-data + start dhcpcd_eth0 + +############################################################## +# Source: device/intel/mixins/groups/debugfs/default/init.recovery.rc +############################################################## +on early-init + # Mount debugfs and make it writable so that debuggerd can + # create stack traces, required with newer kernels + mount debugfs debugfs /sys/kernel/debug + chmod 0755 /sys/kernel/debug + +on early-boot + # Needed by surfaceflinger to enable it to open trace_marker + # on start without file permissions error. + chmod 0222 /sys/kernel/debug/tracing/trace_marker + # tracefs is mounted after 1st access to it + chmod 0755 /sys/kernel/debug/tracing +############################################################## +# Source: device/intel/mixins/groups/usb-gadget/g_ffs/init.recovery.rc +############################################################## +on boot + mkdir /config 0500 root root + mount configfs none /config + mkdir /config/usb_gadget/g1 0770 shell shell + write /config/usb_gadget/g1/idVendor 0x18d1 + mkdir /config/usb_gadget/g1/strings/0x409 0770 + write /config/usb_gadget/g1/strings/0x409/serialnumber ${ro.serialno} + write /config/usb_gadget/g1/strings/0x409/manufacturer ${ro.product.manufacturer} + write /config/usb_gadget/g1/strings/0x409/product ${ro.product.model} + mkdir /config/usb_gadget/g1/functions/ffs.adb + mkdir /config/usb_gadget/g1/configs/b.1 0770 shell shell + mkdir /config/usb_gadget/g1/configs/b.1/strings/0x409 0770 shell shell + write /config/usb_gadget/g1/configs/b.1/MaxPower 500 + mkdir /dev/usb-ffs 0770 shell shell + mkdir /dev/usb-ffs/adb 0770 shell shell + mount functionfs adb /dev/usb-ffs/adb uid=2000,gid=2000 + setprop sys.usb.configfs 1 + setprop sys.usb.controller dwc3.0.auto + +on property:sys.usb.config=none && property:sys.usb.configfs=1 + setprop sys.usb.ffs.ready 0 + +on property:sys.usb.ffs.ready=1 + symlink /config/usb_gadget/g1/configs/b.1 /config/usb_gadget/g1/os_desc/b.1 + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "adb" + symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f1 + write /config/usb_gadget/g1/UDC dwc3.0.auto +############################################################## +# Source: device/intel/mixins/groups/boot-arch/project-celadon/init.recovery.rc +############################################################## +service watchdogd /sbin/watchdogd + user root + class core + oneshot + seclabel u:r:watchdogd:s0 + +on boot + start watchdogd +# ------------------ END MIX-IN DEFINITIONS ------------------ diff --git a/clk/installer.cmd b/clk/installer.cmd new file mode 100644 index 000000000..ea2250dea --- /dev/null +++ b/clk/installer.cmd @@ -0,0 +1,28 @@ +# ----------------- BEGIN MIX-IN DEFINITIONS ----------------- +# Mix-In definitions are auto-generated by mixin-update +############################################################## +# Source: device/intel/mixins/groups/boot-arch/project-celadon/installer.cmd +############################################################## +flashing unlock +flash gpt gpt.bin +erase misc +erase persistent +erase metadata +format config +format data +flash bootloader bootloader +flash vbmeta_a vbmeta.img +flash vbmeta_b vbmeta.img +flash boot_a boot.img +flash boot_b boot.img +flash tos_a tos.img +flash tos_b tos.img +flash system_a system.img +flash system_b system.img +flash vendor_a vendor.img +flash vendor_b vendor.img +flash factory factory.img +set_active a +flashing lock +continue +# ------------------ END MIX-IN DEFINITIONS ------------------ diff --git a/clk/mixins.spec b/clk/mixins.spec new file mode 100644 index 000000000..19f8e0636 --- /dev/null +++ b/clk/mixins.spec @@ -0,0 +1,61 @@ +[main] +mixinsdir: device/intel/mixins/groups + +[mapping] +product.mk: device.mk + +[groups] +device-specific: clk +treble: true +vndk: true +2ndstage: oemvars +project-celadon: default +sepolicy: enforcing +graphics: mesa(gralloc1=true,gen9+=true,hwc2=true,vulkan=true,drmhwc=false,minigbm=true) +media: project-celadon(mediasdk=false,media_sdk_source=false) +device-type: tablet +ethernet: dhcp +debugfs: default +storage: sdcard-mmc0-usb-sd(adoptablesd=false,adoptableusb=true) +display-density: default +usb-gadget: g_ffs +adb_net: true +kernel: project-celadon(loglevel=3, disable_cpuidle_on_boot=true, external_modules=perftools-external/soc_perf_driver/src perftools-external/socwatch_driver) +bluetooth: btusb +boot-arch: project-celadon(bootloader_policy=0x0,bootloader_len=60,magic_key_timeout=80,assume_bios_secure_boot=true,rpmb_simulate=true,disk_encryption=false,file_encryption=true,ignore_not_applicable_reset=true,self_usb_device_mode_protocol=true) +audio: project-celadon +wlan: iwlwifi +cpu-arch: skl +cpuset: autocores +rfkill: true(force_disable=) +dexpreopt: enabled +disk-bus: auto +usb: host+acc +lights: true +thermal: thermal-daemon +config-partition: enabled +vendor-partition: true +factory-partition: true +pstore: ram_dummy(address=0x50000000,size=0x400000,record_size=0x4000,console_size=0x200000,ftrace_size=0x2000,dump_oops=1) +debug-crashlogd: true +debug-logs: true +debug-coredump: true +debug-phonedoctor: true +debug-tools: true +flashfiles: ini(oemvars=false,version=3.0,fastboot_min_battery_level=false,installer=true) +midi: true +trusty: false +slcan: default +ioc-slcan-reboot: false +camera-ext: ext-camera-only +memtrack: true +touch: galax7200 +avb: true +health: true +slot-ab: true +art-config: default +gptbuild: true(size=14G,generate_craff=false) +swap:zram(size=1073741824,swappiness=false,hardware=celadon) +power: true +firststage-mount: true +load_modules: true diff --git a/androidia_64/ueventd.rc b/clk/ueventd.rc similarity index 67% rename from androidia_64/ueventd.rc rename to clk/ueventd.rc index 3437781a5..60ba4952c 100644 --- a/androidia_64/ueventd.rc +++ b/clk/ueventd.rc @@ -1,7 +1,11 @@ # ----------------- BEGIN MIX-IN DEFINITIONS ----------------- # Mix-In definitions are auto-generated by mixin-update ############################################################## -# Source: device/intel/mixins/groups/android_ia/default/ueventd.rc +# Source: device/intel/mixins/groups/disk-bus/auto/ueventd.rc +############################################################## +/dev/block/*/*/*/by-name/persistent 0660 system system +############################################################## +# Source: device/intel/mixins/groups/project-celadon/default/ueventd.rc ############################################################## /sys/devices/system/cpu/cpu* online 0664 system system @@ -12,8 +16,6 @@ # rfkill node /dev/rfkill 0660 bluetooth bluetooth -#Bluedroid uhid support -/dev/uhid 0660 bluetooth bluetooth /dev/ttyS* 0660 system radio # NFCC node @@ -35,7 +37,7 @@ /sys/devices/pci0000:00/0000:00:02.0/drm/card*/card*/intel_backlight brightness 0644 system system ############################################################## -# Source: device/intel/mixins/groups/graphics/android_ia/ueventd.rc +# Source: device/intel/mixins/groups/graphics/mesa/ueventd.rc ############################################################## /dev/sw_sync 0666 system mediadrm /dev/dri 0666 root graphics @@ -44,23 +46,37 @@ /dev/graphics/fb0 0660 root graphics /dev/dri/controlD64 0660 root graphics ############################################################## -# Source: device/intel/mixins/groups/media/android_ia/ueventd.rc +# Source: device/intel/mixins/groups/media/project-celadon/ueventd.rc ############################################################## /dev/media* 0660 media system /dev/video* 0660 media system ############################################################## # Source: device/intel/mixins/groups/bluetooth/btusb/ueventd.rc ############################################################## -#Bluedroid uhid support -/dev/uhid 0660 bluetooth bluetooth - # 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 ############################################################## +# 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/rfkill/true/ueventd.rc ############################################################## # rfkill node /dev/rfkill 0660 bluetooth system +############################################################## +# Source: device/intel/mixins/groups/lights/true/ueventd.rc +############################################################## +# i915 backlight driver +/sys/devices/pci0000:00/0000:00:02.0/drm/card*/card*/intel_backlight brightness 0644 system system + +############################################################## +# Source: device/intel/mixins/groups/camera-ext/ext-camera-only/ueventd.rc +############################################################## +# Camera +/dev/video* 0660 system camera +/dev/media* 0660 system camera # ------------------ END MIX-IN DEFINITIONS ------------------ diff --git a/clk/vendorsetup.sh b/clk/vendorsetup.sh new file mode 100644 index 000000000..9f6797983 --- /dev/null +++ b/clk/vendorsetup.sh @@ -0,0 +1,6 @@ +add_lunch_combo clk-eng +add_lunch_combo clk-userdebug +add_lunch_combo clk-user + + +#. $('gettop')/device/intel/project-celadon/celadon/hwc-valsetup.sh diff --git a/common/audio/AndroidBoard.mk b/common/audio/AndroidBoard.mk new file mode 100644 index 000000000..2ac577489 --- /dev/null +++ b/common/audio/AndroidBoard.mk @@ -0,0 +1,203 @@ +LOCAL_PATH := $(call my-dir) + +# audio hardware is not discoverable, select hardware or use basic default +ifeq ($(INTEL_AUDIO_HAL), stub) + +# this option only enables USB, A2DP and remote submix audio. +# the audio.primary.default HAL is part of the build to pass +# CTS tests but only acts as a NULL sink/source + +AUDIO_HARDWARE := stub + +else +AUDIO_HARDWARE := default +#AUDIO_HARDWARE := PCH-CX20724 +# Next configuration is used for Intel NUC6i5SYH +#AUDIO_HARDWARE := PCH-ALC283 +#AUDIO_HARDWARE := nuc-skull-canyon +endif + +########################################### +# Audio stack Packages +########################################### +include $(CLEAR_VARS) +LOCAL_MODULE := audio_configuration_files +LOCAL_MODULE_TAGS := optional +LOCAL_REQUIRED_MODULES := \ + audio_policy_configuration_files \ + audio_settings_configuration_files \ + audio_effects.xml + +ifeq ($(INTEL_AUDIO_HAL), stub) +LOCAL_REQUIRED_MODULES += audio.stub.default +else +LOCAL_REQUIRED_MODULES += audio.primary.project-celadon + +ifeq ($(INTEL_AUDIO_HAL),audio_pfw) +LOCAL_REQUIRED_MODULES += audio_hal_configuration_files +endif + +endif + +include $(BUILD_PHONY_PACKAGE) + +########################################### +# Audio Policy Configuration files +########################################### +include $(CLEAR_VARS) +LOCAL_MODULE := audio_policy_configuration_files +LOCAL_MODULE_TAGS := optional +LOCAL_REQUIRED_MODULES := \ + a2dp_audio_policy_configuration.xml \ + r_submix_audio_policy_configuration.xml \ + usb_audio_policy_configuration.xml \ + audio_policy_volumes.xml \ + default_volume_tables.xml \ + audio_policy_configuration.xml + +ifeq ($(INTEL_AUDIO_HAL), stub) +LOCAL_REQUIRED_MODULES += stub_audio_policy_configuration.xml +endif + +include $(BUILD_PHONY_PACKAGE) + +include $(CLEAR_VARS) +LOCAL_MODULE := audio_effects.xml +LOCAL_MODULE_OWNER := intel +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_CLASS := ETC +LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC) +LOCAL_SRC_FILES := default/effect/$(LOCAL_MODULE) +include $(BUILD_PREBUILT) + +include $(CLEAR_VARS) +LOCAL_MODULE := a2dp_audio_policy_configuration.xml +LOCAL_MODULE_OWNER := intel +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_CLASS := ETC +LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC) +LOCAL_SRC_FILES := default/policy/$(LOCAL_MODULE) +include $(BUILD_PREBUILT) + +include $(CLEAR_VARS) +LOCAL_MODULE := audio_policy_volumes.xml +LOCAL_MODULE_OWNER := intel +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_CLASS := ETC +LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC) +LOCAL_SRC_FILES := default/policy/$(LOCAL_MODULE) +include $(BUILD_PREBUILT) + +include $(CLEAR_VARS) +LOCAL_MODULE := default_volume_tables.xml +LOCAL_MODULE_OWNER := intel +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_CLASS := ETC +LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC) +LOCAL_SRC_FILES := default/policy/$(LOCAL_MODULE) +include $(BUILD_PREBUILT) + +include $(CLEAR_VARS) +LOCAL_MODULE := r_submix_audio_policy_configuration.xml +LOCAL_MODULE_OWNER := intel +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_CLASS := ETC +LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC) +LOCAL_SRC_FILES := default/policy/$(LOCAL_MODULE) +include $(BUILD_PREBUILT) + +include $(CLEAR_VARS) +LOCAL_MODULE := usb_audio_policy_configuration.xml +LOCAL_MODULE_OWNER := intel +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_CLASS := ETC +LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC) +LOCAL_SRC_FILES := default/policy/$(LOCAL_MODULE) +include $(BUILD_PREBUILT) + +include $(CLEAR_VARS) +LOCAL_MODULE := stub_audio_policy_configuration.xml +LOCAL_MODULE_OWNER := intel +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_CLASS := ETC +LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC) +LOCAL_SRC_FILES := default/policy/$(LOCAL_MODULE) +include $(BUILD_PREBUILT) + +include $(CLEAR_VARS) +LOCAL_MODULE := audio_policy_configuration.xml +LOCAL_MODULE_OWNER := intel +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_CLASS := ETC +LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC) +ifeq ($(INTEL_AUDIO_HAL),audio_pfw) +LOCAL_SRC_FILES := $(AUDIO_HARDWARE)/policy/audio_policy_configuration_pfw.xml +else +LOCAL_SRC_FILES := $(AUDIO_HARDWARE)/policy/$(LOCAL_MODULE) +endif +include $(BUILD_PREBUILT) +########################################### + +########################################### +# Audio HAL configuration file +########################################### +include $(CLEAR_VARS) +LOCAL_MODULE := audio_hal_configuration_files +LOCAL_MODULE_TAGS := optional +LOCAL_REQUIRED_MODULES := \ + vendor_audio_criteria.xml \ + vendor_audio_criterion_types.xml + +include $(BUILD_PHONY_PACKAGE) + +include $(CLEAR_VARS) +LOCAL_MODULE := vendor_audio_criteria.xml +LOCAL_MODULE_STEM := audio_criteria.xml +LOCAL_MODULE_OWNER := intel +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_CLASS := ETC +LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC) +LOCAL_SRC_FILES := default/route/$(LOCAL_MODULE_STEM) +include $(BUILD_PREBUILT) + +include $(CLEAR_VARS) +LOCAL_MODULE := vendor_audio_criterion_types.xml +LOCAL_MODULE_STEM := audio_criterion_types.xml +LOCAL_MODULE_OWNER := intel +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_CLASS := ETC +LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC) +LOCAL_SRC_FILES := default/route/$(LOCAL_MODULE_STEM) +include $(BUILD_PREBUILT) +########################################### + +########################################### +# Audio HAL Custom configuration files +########################################### +include $(CLEAR_VARS) +LOCAL_MODULE := audio_settings_configuration_files +LOCAL_MODULE_TAGS := optional +ifeq ($(INTEL_AUDIO_HAL),audio_pfw) +LOCAL_REQUIRED_MODULES := audio_parameter_framework +else +LOCAL_REQUIRED_MODULES := mixer_paths_0.xml +endif +include $(BUILD_PHONY_PACKAGE) + +ifeq ($(INTEL_AUDIO_HAL),audio_pfw) +include device/intel/project-celadon/common/audio/$(AUDIO_HARDWARE)/AndroidBoard.mk +else +include $(CLEAR_VARS) +LOCAL_MODULE := mixer_paths_0.xml +LOCAL_MODULE_OWNER := intel +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_CLASS := ETC +LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC) +LOCAL_SRC_FILES := $(AUDIO_HARDWARE)/$(LOCAL_MODULE) +include $(BUILD_PREBUILT) +endif +########################################### + +ifeq ($(USE_CONFIGURABLE_AUDIO_POLICY), 1) +include device/intel/project-celadon/common/audio/reference_configurable_audio_policy/AndroidBoard.mk +endif diff --git a/common/audio/PCH-ALC283/AndroidBoard.mk b/common/audio/PCH-ALC283/AndroidBoard.mk new file mode 100644 index 000000000..d5f86031f --- /dev/null +++ b/common/audio/PCH-ALC283/AndroidBoard.mk @@ -0,0 +1,143 @@ +LOCAL_PATH := $(call my-dir) +PFW_CORE := external/parameter-framework +BUILD_PFW_SETTINGS := $(PFW_CORE)/support/android/build_pfw_settings.mk +PFW_DEFAULT_SCHEMAS_DIR := $(PFW_CORE)/upstream/schemas +PFW_SCHEMAS_DIR := $(PFW_DEFAULT_SCHEMAS_DIR) + +########################################### +# Audio stack Package +########################################### +include $(CLEAR_VARS) +LOCAL_MODULE := audio_parameter_framework +LOCAL_MODULE_TAGS := optional +LOCAL_REQUIRED_MODULES := \ + libremote-processor \ + remote-process \ + AudioConfigurableDomains.xml \ + topology.audio.$(TARGET_DEVICE) + +include $(BUILD_PHONY_PACKAGE) + + +########################################### +# Audio Tuning Tool Configuration file +########################################### +include $(CLEAR_VARS) +LOCAL_MODULE := topology.audio.$(TARGET_DEVICE) +LOCAL_MODULE_TAGS := optional +LOCAL_REQUIRED_MODULES := \ + layout_types.xml \ + layout_topology.xml \ + layout_ui.xml \ + layout_probes.xml + +include $(BUILD_PHONY_PACKAGE) + + +include $(CLEAR_VARS) +LOCAL_MODULE := layout_types.xml +LOCAL_MODULE_OWNER := intel +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_CLASS := ETC +LOCAL_MODULE_RELATIVE_PATH := tuning/audio +LOCAL_SRC_FILES := topology/$(LOCAL_MODULE) +include $(BUILD_PREBUILT) + +include $(CLEAR_VARS) +LOCAL_MODULE := layout_topology.xml +LOCAL_MODULE_OWNER := intel +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_CLASS := ETC +LOCAL_MODULE_RELATIVE_PATH := tuning/audio +LOCAL_SRC_FILES := topology/$(LOCAL_MODULE) +include $(BUILD_PREBUILT) + +include $(CLEAR_VARS) +LOCAL_MODULE := layout_ui.xml +LOCAL_MODULE_OWNER := intel +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_CLASS := ETC +LOCAL_MODULE_RELATIVE_PATH := tuning/audio +LOCAL_SRC_FILES := topology/$(LOCAL_MODULE) +include $(BUILD_PREBUILT) + +include $(CLEAR_VARS) +LOCAL_MODULE := layout_probes.xml +LOCAL_MODULE_OWNER := intel +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_CLASS := ETC +LOCAL_MODULE_RELATIVE_PATH := tuning/audio +LOCAL_SRC_FILES := topology/$(LOCAL_MODULE) +include $(BUILD_PREBUILT) +########################################### + +########################################### +# Audio PFW Package +########################################### +include $(CLEAR_VARS) +LOCAL_MODULE := AudioConfigurableDomains.xml +LOCAL_MODULES_TAGS := optional +LOCAL_ADDITIONAL_DEPENDENCIES := \ + AudioParameterFramework.xml \ + AudioClass.xml \ + RealtekAlc283Subsystem.xml \ + HdmiSubsystem.xml + +LOCAL_MODULE_CLASS := ETC +LOCAL_MODULE_RELATIVE_PATH := parameter-framework/Settings/Audio +LOCAL_REQUIRED_MODULES := \ + libtinyalsa-subsystem + +PFW_TOPLEVEL_FILE := $(TARGET_OUT_ETC)/parameter-framework/AudioParameterFramework.xml +PFW_CRITERIA_FILE := $(LOCAL_PATH)/parameter-framework/AudioCriteria.txt +PFW_TUNING_FILE := $(LOCAL_PATH)/$(LOCAL_MODULE_RELATIVE_PATH)/AudioConfigurableDomains-Tuning.xml + +PFW_EDD_FILES := \ + $(LOCAL_PATH)/$(LOCAL_MODULE_RELATIVE_PATH)/routing_alc283.pfw \ + $(LOCAL_PATH)/$(LOCAL_MODULE_RELATIVE_PATH)/routing_hdmi.pfw + +include $(BUILD_PFW_SETTINGS) + +########################################### +# Audio PFW top file +########################################### +include $(CLEAR_VARS) +LOCAL_MODULE := AudioParameterFramework.xml +LOCAL_MODULE_OWNER := intel +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_CLASS := ETC +LOCAL_MODULE_RELATIVE_PATH := parameter-framework +LOCAL_SRC_FILES := parameter-framework/$(LOCAL_MODULE) +include $(BUILD_PREBUILT) +########################################### + +########################################### +# Audio PFW Structure files +########################################### +include $(CLEAR_VARS) +LOCAL_MODULE := AudioClass.xml +LOCAL_MODULE_OWNER := intel +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_CLASS := ETC +LOCAL_MODULE_RELATIVE_PATH := parameter-framework/Structure/Audio +LOCAL_SRC_FILES := $(LOCAL_MODULE_RELATIVE_PATH)/$(LOCAL_MODULE) +include $(BUILD_PREBUILT) + +include $(CLEAR_VARS) +LOCAL_MODULE := RealtekAlc283Subsystem.xml +LOCAL_MODULE_OWNER := intel +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_CLASS := ETC +LOCAL_MODULE_RELATIVE_PATH := parameter-framework/Structure/Audio +LOCAL_SRC_FILES := $(LOCAL_MODULE_RELATIVE_PATH)/$(LOCAL_MODULE) +include $(BUILD_PREBUILT) + +include $(CLEAR_VARS) +LOCAL_MODULE := HdmiSubsystem.xml +LOCAL_MODULE_OWNER := intel +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_CLASS := ETC +LOCAL_MODULE_RELATIVE_PATH := parameter-framework/Structure/Audio +LOCAL_SRC_FILES := $(LOCAL_MODULE_RELATIVE_PATH)/$(LOCAL_MODULE) +include $(BUILD_PREBUILT) +########################################### diff --git a/common/audio/PCH-ALC283/mixer_paths_0.xml b/common/audio/PCH-ALC283/mixer_paths_0.xml new file mode 100644 index 000000000..ee89c3a93 --- /dev/null +++ b/common/audio/PCH-ALC283/mixer_paths_0.xml @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/common/audio/PCH-ALC283/parameter-framework/AudioCriteria.txt b/common/audio/PCH-ALC283/parameter-framework/AudioCriteria.txt new file mode 100644 index 000000000..9f6043489 --- /dev/null +++ b/common/audio/PCH-ALC283/parameter-framework/AudioCriteria.txt @@ -0,0 +1,7 @@ +ExclusiveCriterion Mode : Normal +InclusiveCriterion RoutageState : Configure Flow Path +InclusiveCriterion OpenedPlaybackRoutes : primary_output hdmi_stereo hdmi_multi +InclusiveCriterion OpenedCaptureRoutes : primary_input +InclusiveCriterion SelectedInputDevices : Headset +InclusiveCriterion SelectedOutputDevices : Headphones Headset Line Ihf AuxDigital +ExclusiveCriterion ScreenState : Off On diff --git a/common/audio/PCH-ALC283/parameter-framework/AudioParameterFramework.xml b/common/audio/PCH-ALC283/parameter-framework/AudioParameterFramework.xml new file mode 100644 index 000000000..870a29e52 --- /dev/null +++ b/common/audio/PCH-ALC283/parameter-framework/AudioParameterFramework.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + diff --git a/common/audio/PCH-ALC283/parameter-framework/Settings/Audio/AudioConfigurableDomains-Tuning.xml b/common/audio/PCH-ALC283/parameter-framework/Settings/Audio/AudioConfigurableDomains-Tuning.xml new file mode 100644 index 000000000..1ac247c16 --- /dev/null +++ b/common/audio/PCH-ALC283/parameter-framework/Settings/Audio/AudioConfigurableDomains-Tuning.xml @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + 50 50 + + + + + + + + + + + + + + + + + + + + 50 50 + + + + + + diff --git a/common/audio/PCH-ALC283/parameter-framework/Settings/Audio/routing_alc283.pfw b/common/audio/PCH-ALC283/parameter-framework/Settings/Audio/routing_alc283.pfw new file mode 100644 index 000000000..a7b2f1434 --- /dev/null +++ b/common/audio/PCH-ALC283/parameter-framework/Settings/Audio/routing_alc283.pfw @@ -0,0 +1,39 @@ +domainGroup: Routing.Alc283 + + ######################################### + ############### Configure ############### + ######################################### + + domainGroup: Configure + RoutageState Includes Configure + + domainGroup: Playback + domainGroup: Media + domain: Headset + conf: Bind + ALL + OpenedPlaybackRoutes Includes primary_output + ANY + SelectedOutputDevices Includes Headset + SelectedOutputDevices Includes Headphones + SelectedOutputDevices Includes Line + /Audio/alc283/output/headset/switch = 1 1 + + conf: Unbind + /Audio/alc283/output/headset/switch = 0 0 + + domainGroup: Capture + domainGroup: Media + confType: Bind + ANY + OpenedCaptureRoutes Includes primary_input + + domain: Headset + conf: Bind + SelectedInputDevices Includes Headset + /Audio/alc283/input/headset/switch = 1 1 + + conf: Unbind + /Audio/alc283/input/headset/switch = 0 0 + + diff --git a/common/audio/PCH-ALC283/parameter-framework/Settings/Audio/routing_hdmi.pfw b/common/audio/PCH-ALC283/parameter-framework/Settings/Audio/routing_hdmi.pfw new file mode 100644 index 000000000..23df1e5b1 --- /dev/null +++ b/common/audio/PCH-ALC283/parameter-framework/Settings/Audio/routing_hdmi.pfw @@ -0,0 +1,22 @@ +domainGroup: Routing.Hdmi + + ######################################### + ############### Configure ############### + ######################################### + + domainGroup: Configure + RoutageState Includes Configure + + domainGroup: Playack + domain: Port0 + conf: Bind + ALL + ANY + OpenedPlaybackRoutes Includes hdmi_stereo + OpenedPlaybackRoutes Includes hdmi_multi + SelectedOutputDevices Includes AuxDigital + /Audio/hdmi/output/port0/switch = 1 + + conf: Unbind + /Audio/hdmi/output/port0/switch = 0 + diff --git a/common/audio/PCH-ALC283/parameter-framework/Structure/Audio/AudioClass.xml b/common/audio/PCH-ALC283/parameter-framework/Structure/Audio/AudioClass.xml new file mode 100644 index 000000000..ba2bbbf8a --- /dev/null +++ b/common/audio/PCH-ALC283/parameter-framework/Structure/Audio/AudioClass.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/common/audio/PCH-ALC283/parameter-framework/Structure/Audio/HdmiSubsystem.xml b/common/audio/PCH-ALC283/parameter-framework/Structure/Audio/HdmiSubsystem.xml new file mode 100644 index 000000000..92b9fcd1a --- /dev/null +++ b/common/audio/PCH-ALC283/parameter-framework/Structure/Audio/HdmiSubsystem.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + diff --git a/common/audio/PCH-ALC283/parameter-framework/Structure/Audio/RealtekAlc283Subsystem.xml b/common/audio/PCH-ALC283/parameter-framework/Structure/Audio/RealtekAlc283Subsystem.xml new file mode 100644 index 000000000..08790e969 --- /dev/null +++ b/common/audio/PCH-ALC283/parameter-framework/Structure/Audio/RealtekAlc283Subsystem.xml @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/common/audio/PCH-ALC283/policy/audio_policy_configuration.xml b/common/audio/PCH-ALC283/policy/audio_policy_configuration.xml new file mode 100644 index 000000000..aee968171 --- /dev/null +++ b/common/audio/PCH-ALC283/policy/audio_policy_configuration.xml @@ -0,0 +1,135 @@ + + + + + + + + + Default Out + Default In + + Default Out + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/common/audio/PCH-ALC283/topology/layout_probes.xml b/common/audio/PCH-ALC283/topology/layout_probes.xml new file mode 100644 index 000000000..552be524f --- /dev/null +++ b/common/audio/PCH-ALC283/topology/layout_probes.xml @@ -0,0 +1,2 @@ + + diff --git a/common/audio/PCH-ALC283/topology/layout_topology.xml b/common/audio/PCH-ALC283/topology/layout_topology.xml new file mode 100644 index 000000000..732f17d0f --- /dev/null +++ b/common/audio/PCH-ALC283/topology/layout_topology.xml @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/common/audio/PCH-ALC283/topology/layout_types.xml b/common/audio/PCH-ALC283/topology/layout_types.xml new file mode 100644 index 000000000..16bd708f8 --- /dev/null +++ b/common/audio/PCH-ALC283/topology/layout_types.xml @@ -0,0 +1,74 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/common/audio/PCH-ALC283/topology/layout_ui.xml b/common/audio/PCH-ALC283/topology/layout_ui.xml new file mode 100644 index 000000000..d3781a18e --- /dev/null +++ b/common/audio/PCH-ALC283/topology/layout_ui.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/common/audio/PCH-CX20724/AndroidBoard.mk b/common/audio/PCH-CX20724/AndroidBoard.mk new file mode 100644 index 000000000..5464d4a63 --- /dev/null +++ b/common/audio/PCH-CX20724/AndroidBoard.mk @@ -0,0 +1,89 @@ +LOCAL_PATH := $(call my-dir) +PFW_CORE := external/parameter-framework +BUILD_PFW_SETTINGS := $(PFW_CORE)/support/android/build_pfw_settings.mk +PFW_DEFAULT_SCHEMAS_DIR := $(PFW_CORE)/upstream/schemas +PFW_SCHEMAS_DIR := $(PFW_DEFAULT_SCHEMAS_DIR) + +########################################### +# Audio stack Package +########################################### +include $(CLEAR_VARS) +LOCAL_MODULE := audio_parameter_framework +LOCAL_MODULE_TAGS := optional +LOCAL_REQUIRED_MODULES := \ + libremote-processor \ + remote-process \ + AudioConfigurableDomains.xml + +include $(BUILD_PHONY_PACKAGE) + +########################################### +# Audio PFW Package +########################################### +include $(CLEAR_VARS) +LOCAL_MODULE := AudioConfigurableDomains.xml +LOCAL_MODULES_TAGS := optional +LOCAL_ADDITIONAL_DEPENDENCIES := \ + AudioParameterFramework.xml \ + AudioClass.xml \ + ConexantCX20724Subsystem.xml \ + HdmiSubsystem.xml + +LOCAL_MODULE_CLASS := ETC +LOCAL_MODULE_RELATIVE_PATH := parameter-framework/Settings/Audio +LOCAL_REQUIRED_MODULES := \ + libtinyalsa-subsystem + +PFW_TOPLEVEL_FILE := $(TARGET_OUT_ETC)/parameter-framework/AudioParameterFramework.xml +PFW_CRITERIA_FILE := $(LOCAL_PATH)/parameter-framework/AudioCriteria.txt +PFW_TUNING_FILE := $(LOCAL_PATH)/$(LOCAL_MODULE_RELATIVE_PATH)/AudioConfigurableDomains-Tuning.xml + +PFW_EDD_FILES := \ + $(LOCAL_PATH)/$(LOCAL_MODULE_RELATIVE_PATH)/routing_cx20724.pfw \ + $(LOCAL_PATH)/$(LOCAL_MODULE_RELATIVE_PATH)/routing_hdmi.pfw + +include $(BUILD_PFW_SETTINGS) + +########################################### +# Audio PFW top file +########################################### +include $(CLEAR_VARS) +LOCAL_MODULE := AudioParameterFramework.xml +LOCAL_MODULE_OWNER := intel +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_CLASS := ETC +LOCAL_MODULE_RELATIVE_PATH := parameter-framework +LOCAL_SRC_FILES := parameter-framework/$(LOCAL_MODULE) +include $(BUILD_PREBUILT) +########################################### + +########################################### +# Audio PFW Structure files +########################################### +include $(CLEAR_VARS) +LOCAL_MODULE := AudioClass.xml +LOCAL_MODULE_OWNER := intel +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_CLASS := ETC +LOCAL_MODULE_RELATIVE_PATH := parameter-framework/Structure/Audio +LOCAL_SRC_FILES := $(LOCAL_MODULE_RELATIVE_PATH)/$(LOCAL_MODULE) +include $(BUILD_PREBUILT) + +include $(CLEAR_VARS) +LOCAL_MODULE := ConexantCX20724Subsystem.xml +LOCAL_MODULE_OWNER := intel +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_CLASS := ETC +LOCAL_MODULE_RELATIVE_PATH := parameter-framework/Structure/Audio +LOCAL_SRC_FILES := $(LOCAL_MODULE_RELATIVE_PATH)/$(LOCAL_MODULE) +include $(BUILD_PREBUILT) + +include $(CLEAR_VARS) +LOCAL_MODULE := HdmiSubsystem.xml +LOCAL_MODULE_OWNER := intel +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_CLASS := ETC +LOCAL_MODULE_RELATIVE_PATH := parameter-framework/Structure/Audio +LOCAL_SRC_FILES := $(LOCAL_MODULE_RELATIVE_PATH)/$(LOCAL_MODULE) +include $(BUILD_PREBUILT) +########################################### diff --git a/common/audio/PCH-CX20724/mixer_paths_0.xml b/common/audio/PCH-CX20724/mixer_paths_0.xml new file mode 100644 index 000000000..9aafc86c3 --- /dev/null +++ b/common/audio/PCH-CX20724/mixer_paths_0.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/common/audio/PCH-CX20724/parameter-framework/AudioCriteria.txt b/common/audio/PCH-CX20724/parameter-framework/AudioCriteria.txt new file mode 100644 index 000000000..beaac8672 --- /dev/null +++ b/common/audio/PCH-CX20724/parameter-framework/AudioCriteria.txt @@ -0,0 +1,7 @@ +ExclusiveCriterion Mode : Normal +InclusiveCriterion RoutageState : Configure Flow Path +InclusiveCriterion OpenedPlaybackRoutes : primary_output hdmi_stereo hdmi_multi +InclusiveCriterion OpenedCaptureRoutes : primary_input +InclusiveCriterion SelectedInputDevices : Headset Main +InclusiveCriterion SelectedOutputDevices : Headphones Headset Ihf AuxDigital +ExclusiveCriterion ScreenState : Off On diff --git a/common/audio/PCH-CX20724/parameter-framework/AudioParameterFramework.xml b/common/audio/PCH-CX20724/parameter-framework/AudioParameterFramework.xml new file mode 100644 index 000000000..870a29e52 --- /dev/null +++ b/common/audio/PCH-CX20724/parameter-framework/AudioParameterFramework.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + diff --git a/common/audio/PCH-CX20724/parameter-framework/Settings/Audio/AudioConfigurableDomains-Tuning.xml b/common/audio/PCH-CX20724/parameter-framework/Settings/Audio/AudioConfigurableDomains-Tuning.xml new file mode 100644 index 000000000..5c4e7bd35 --- /dev/null +++ b/common/audio/PCH-CX20724/parameter-framework/Settings/Audio/AudioConfigurableDomains-Tuning.xml @@ -0,0 +1,69 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 74 + + + + + 74 74 + + + + + 74 74 + + + + + + + + + + + + + + + + + + + + + 74 74 + + + + + + diff --git a/common/audio/PCH-CX20724/parameter-framework/Settings/Audio/routing_cx20724.pfw b/common/audio/PCH-CX20724/parameter-framework/Settings/Audio/routing_cx20724.pfw new file mode 100644 index 000000000..f1642346b --- /dev/null +++ b/common/audio/PCH-CX20724/parameter-framework/Settings/Audio/routing_cx20724.pfw @@ -0,0 +1,60 @@ +domainGroup: Routing.Cx20724 + + ######################################### + ############## Mute/unmute ############## + ######################################### + + domainGroup: flow + RoutageState Includes Flow + + domainGroup: Playback + domainGroup: Media + confType: UnMute + ALL + OpenedPlaybackRoutes Includes primary_output + + domain: Headset + conf: UnMute + ANY + SelectedOutputDevices Includes Headset + SelectedOutputDevices Includes Headphones + /Audio/cx20724/output/headset/switch = 1 1 + + conf: Mute + /Audio/cx20724/output/headset/switch = 0 0 + + domain: Speaker + conf: UnMute + ANY + SelectedOutputDevices Includes Ihf + /Audio/cx20724/output/speaker/switch = 1 1 + + conf: Mute + /Audio/cx20724/output/speaker/switch = 0 0 + + domain: Master + conf: UnMute + ANY + SelectedOutputDevices Includes Headset + SelectedOutputDevices Includes Headphones + SelectedOutputDevices Includes Ihf + /Audio/cx20724/output/switch = 1 + + conf: Mute + /Audio/cx20724/output/switch = 0 + + domainGroup: Capture + domainGroup: Media + confType: UnMute + ANY + OpenedCaptureRoutes Includes primary_input + + domain: Master + conf: UnMute + ANY + SelectedInputDevices Includes Headset + SelectedInputDevices Includes Main + /Audio/cx20724/input/mic_headset/switch = 1 1 + conf: Mute + /Audio/cx20724/input/mic_headset/switch = 0 0 + diff --git a/common/audio/PCH-CX20724/parameter-framework/Settings/Audio/routing_hdmi.pfw b/common/audio/PCH-CX20724/parameter-framework/Settings/Audio/routing_hdmi.pfw new file mode 100644 index 000000000..23df1e5b1 --- /dev/null +++ b/common/audio/PCH-CX20724/parameter-framework/Settings/Audio/routing_hdmi.pfw @@ -0,0 +1,22 @@ +domainGroup: Routing.Hdmi + + ######################################### + ############### Configure ############### + ######################################### + + domainGroup: Configure + RoutageState Includes Configure + + domainGroup: Playack + domain: Port0 + conf: Bind + ALL + ANY + OpenedPlaybackRoutes Includes hdmi_stereo + OpenedPlaybackRoutes Includes hdmi_multi + SelectedOutputDevices Includes AuxDigital + /Audio/hdmi/output/port0/switch = 1 + + conf: Unbind + /Audio/hdmi/output/port0/switch = 0 + diff --git a/common/audio/PCH-CX20724/parameter-framework/Structure/Audio/AudioClass.xml b/common/audio/PCH-CX20724/parameter-framework/Structure/Audio/AudioClass.xml new file mode 100644 index 000000000..7f31284ea --- /dev/null +++ b/common/audio/PCH-CX20724/parameter-framework/Structure/Audio/AudioClass.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/common/audio/PCH-CX20724/parameter-framework/Structure/Audio/ConexantCX20724Subsystem.xml b/common/audio/PCH-CX20724/parameter-framework/Structure/Audio/ConexantCX20724Subsystem.xml new file mode 100644 index 000000000..0b19ca379 --- /dev/null +++ b/common/audio/PCH-CX20724/parameter-framework/Structure/Audio/ConexantCX20724Subsystem.xml @@ -0,0 +1,66 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/common/audio/PCH-CX20724/parameter-framework/Structure/Audio/HdmiSubsystem.xml b/common/audio/PCH-CX20724/parameter-framework/Structure/Audio/HdmiSubsystem.xml new file mode 100644 index 000000000..92b9fcd1a --- /dev/null +++ b/common/audio/PCH-CX20724/parameter-framework/Structure/Audio/HdmiSubsystem.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + diff --git a/common/audio/PCH-CX20724/policy/audio_policy_configuration.xml b/common/audio/PCH-CX20724/policy/audio_policy_configuration.xml new file mode 100644 index 000000000..84192b0c9 --- /dev/null +++ b/common/audio/PCH-CX20724/policy/audio_policy_configuration.xml @@ -0,0 +1,138 @@ + + + + + + + + + Speaker + Built-In Mic + + Speaker + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/common/audio/audio_policy.conf b/common/audio/audio_policy.conf deleted file mode 100644 index 39ce05a11..000000000 --- a/common/audio/audio_policy.conf +++ /dev/null @@ -1,76 +0,0 @@ -# Global configuration section: lists input and output devices always present on the device -# as well as the output device selected by default. -# Devices are designated by a string that corresponds to the enum in audio.h - -global_configuration { - attached_output_devices AUDIO_DEVICE_OUT_SPEAKER - default_output_device AUDIO_DEVICE_OUT_SPEAKER - attached_input_devices AUDIO_DEVICE_IN_BUILTIN_MIC -} - -# audio hardware module section: contains descriptors for all audio hw modules present on the -# device. Each hw module node is named after the corresponding hw module library base name. -# For instance, "primary" corresponds to audio.primary..so. -# The "primary" module is mandatory and must include at least one output with -# AUDIO_OUTPUT_FLAG_PRIMARY flag. -# Each module descriptor contains one or more output profile descriptors and zero or more -# input profile descriptors. Each profile lists all the parameters supported by a given output -# or input stream category. -# The "channel_masks", "formats", "devices" and "flags" are specified using strings corresponding -# to enums in audio.h and audio_policy.h. They are concatenated by use of "|" without space or "\n". - -audio_hw_modules { - primary { - outputs { - primary { - sampling_rates 48000 - channel_masks AUDIO_CHANNEL_OUT_STEREO - formats AUDIO_FORMAT_PCM_16_BIT - devices AUDIO_DEVICE_OUT_SPEAKER|AUDIO_DEVICE_OUT_WIRED_HEADSET|AUDIO_DEVICE_OUT_WIRED_HEADPHONE|AUDIO_DEVICE_OUT_ALL_SCO|AUDIO_DEVICE_OUT_AUX_DIGITAL - flags AUDIO_OUTPUT_FLAG_PRIMARY - } - } - inputs { - primary { - sampling_rates 8000|11025|16000|22050|24000|32000|44100|48000 - channel_masks AUDIO_CHANNEL_IN_MONO|AUDIO_CHANNEL_IN_STEREO - formats AUDIO_FORMAT_PCM_16_BIT - devices AUDIO_DEVICE_IN_BUILTIN_MIC|AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET|AUDIO_DEVICE_IN_WIRED_HEADSET - } - } - } - a2dp { - outputs { - a2dp { - sampling_rates 44100 - channel_masks AUDIO_CHANNEL_OUT_STEREO - formats AUDIO_FORMAT_PCM_16_BIT - devices AUDIO_DEVICE_OUT_ALL_A2DP - } - } - } - usb { - outputs { - usb_accessory { - sampling_rates 44100 - channel_masks AUDIO_CHANNEL_OUT_STEREO - formats AUDIO_FORMAT_PCM_16_BIT - devices AUDIO_DEVICE_OUT_USB_ACCESSORY - } - usb_device { - sampling_rates 44100 - channel_masks AUDIO_CHANNEL_OUT_STEREO - formats AUDIO_FORMAT_PCM_16_BIT - devices AUDIO_DEVICE_OUT_USB_DEVICE - } - } - inputs { - usb_device { - sampling_rates 44100 - channel_masks AUDIO_CHANNEL_IN_STEREO - formats AUDIO_FORMAT_PCM_16_BIT - devices AUDIO_DEVICE_IN_USB_DEVICE - } - } - } -} diff --git a/common/audio/default/AndroidBoard.mk b/common/audio/default/AndroidBoard.mk new file mode 100644 index 000000000..c3b601438 --- /dev/null +++ b/common/audio/default/AndroidBoard.mk @@ -0,0 +1,88 @@ +LOCAL_PATH := $(call my-dir) +PFW_CORE := external/parameter-framework +BUILD_PFW_SETTINGS := $(PFW_CORE)/support/android/build_pfw_settings.mk +PFW_DEFAULT_SCHEMAS_DIR := $(PFW_CORE)/upstream/schemas +PFW_SCHEMAS_DIR := $(PFW_DEFAULT_SCHEMAS_DIR) + +########################################### +# Audio stack Package +########################################### +include $(CLEAR_VARS) +LOCAL_MODULE := audio_parameter_framework +LOCAL_MODULE_TAGS := optional +LOCAL_REQUIRED_MODULES := \ + libremote-processor \ + remote-process \ + AudioConfigurableDomains.xml + +include $(BUILD_PHONY_PACKAGE) + +########################################### +# Audio PFW Package +########################################### +include $(CLEAR_VARS) +LOCAL_MODULE := AudioConfigurableDomains.xml +LOCAL_MODULES_TAGS := optional +LOCAL_ADDITIONAL_DEPENDENCIES := \ + AudioParameterFramework.xml \ + AudioClass.xml \ + DefaultHDaudioSubsystem.xml \ + HdmiSubsystem.xml + +LOCAL_MODULE_CLASS := ETC +LOCAL_MODULE_RELATIVE_PATH := parameter-framework/Settings/Audio +LOCAL_REQUIRED_MODULES := \ + libtinyalsa-subsystem + +PFW_TOPLEVEL_FILE := $(TARGET_OUT_ETC)/parameter-framework/AudioParameterFramework.xml +PFW_CRITERIA_FILE := $(LOCAL_PATH)/parameter-framework/AudioCriteria.txt + +PFW_EDD_FILES := \ + $(LOCAL_PATH)/$(LOCAL_MODULE_RELATIVE_PATH)/routing_defaulthda.pfw \ + $(LOCAL_PATH)/$(LOCAL_MODULE_RELATIVE_PATH)/routing_hdmi.pfw + +include $(BUILD_PFW_SETTINGS) + +########################################### +# Audio PFW top file +########################################### +include $(CLEAR_VARS) +LOCAL_MODULE := AudioParameterFramework.xml +LOCAL_MODULE_OWNER := intel +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_CLASS := ETC +LOCAL_MODULE_RELATIVE_PATH := parameter-framework +LOCAL_SRC_FILES := parameter-framework/$(LOCAL_MODULE) +include $(BUILD_PREBUILT) +########################################### + +########################################### +# Audio PFW Structure files +########################################### +include $(CLEAR_VARS) +LOCAL_MODULE := AudioClass.xml +LOCAL_MODULE_OWNER := intel +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_CLASS := ETC +LOCAL_MODULE_RELATIVE_PATH := parameter-framework/Structure/Audio +LOCAL_SRC_FILES := $(LOCAL_MODULE_RELATIVE_PATH)/$(LOCAL_MODULE) +include $(BUILD_PREBUILT) + +include $(CLEAR_VARS) +LOCAL_MODULE := DefaultHDaudioSubsystem.xml +LOCAL_MODULE_OWNER := intel +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_CLASS := ETC +LOCAL_MODULE_RELATIVE_PATH := parameter-framework/Structure/Audio +LOCAL_SRC_FILES := $(LOCAL_MODULE_RELATIVE_PATH)/$(LOCAL_MODULE) +include $(BUILD_PREBUILT) + +include $(CLEAR_VARS) +LOCAL_MODULE := HdmiSubsystem.xml +LOCAL_MODULE_OWNER := intel +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_CLASS := ETC +LOCAL_MODULE_RELATIVE_PATH := parameter-framework/Structure/Audio +LOCAL_SRC_FILES := $(LOCAL_MODULE_RELATIVE_PATH)/$(LOCAL_MODULE) +include $(BUILD_PREBUILT) +########################################### diff --git a/common/audio/default/effect/audio_effects.xml b/common/audio/default/effect/audio_effects.xml new file mode 100644 index 000000000..3f8505270 --- /dev/null +++ b/common/audio/default/effect/audio_effects.xml @@ -0,0 +1,102 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/common/audio/default/mixer_paths_0.xml b/common/audio/default/mixer_paths_0.xml new file mode 100644 index 000000000..1b3e866e7 --- /dev/null +++ b/common/audio/default/mixer_paths_0.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/common/audio/default/parameter-framework/AudioCriteria.txt b/common/audio/default/parameter-framework/AudioCriteria.txt new file mode 100644 index 000000000..beaac8672 --- /dev/null +++ b/common/audio/default/parameter-framework/AudioCriteria.txt @@ -0,0 +1,7 @@ +ExclusiveCriterion Mode : Normal +InclusiveCriterion RoutageState : Configure Flow Path +InclusiveCriterion OpenedPlaybackRoutes : primary_output hdmi_stereo hdmi_multi +InclusiveCriterion OpenedCaptureRoutes : primary_input +InclusiveCriterion SelectedInputDevices : Headset Main +InclusiveCriterion SelectedOutputDevices : Headphones Headset Ihf AuxDigital +ExclusiveCriterion ScreenState : Off On diff --git a/common/audio/default/parameter-framework/AudioParameterFramework.xml b/common/audio/default/parameter-framework/AudioParameterFramework.xml new file mode 100644 index 000000000..870a29e52 --- /dev/null +++ b/common/audio/default/parameter-framework/AudioParameterFramework.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + diff --git a/common/audio/default/parameter-framework/Settings/Audio/routing_defaulthda.pfw b/common/audio/default/parameter-framework/Settings/Audio/routing_defaulthda.pfw new file mode 100644 index 000000000..9485859a3 --- /dev/null +++ b/common/audio/default/parameter-framework/Settings/Audio/routing_defaulthda.pfw @@ -0,0 +1,43 @@ +domainGroup: Routing.Defaulthda + + ######################################### + ############## Mute/unmute ############## + ######################################### + + domainGroup: flow + RoutageState Includes Flow + + domainGroup: Playback + domainGroup: Media + confType: UnMute + ALL + OpenedPlaybackRoutes Includes primary_output + + domain: Master + conf: UnMute + ANY + SelectedOutputDevices Includes Headset + SelectedOutputDevices Includes Headphones + SelectedOutputDevices Includes Ihf + /Audio/defaulthda/output/switch = 1 + /Audio/defaulthda/output/volume = 63 + + conf: Mute + /Audio/defaulthda/output/switch = 0 + /Audio/defaulthda/output/volume = 0 + + domainGroup: Capture + domainGroup: Media + confType: UnMute + ANY + OpenedCaptureRoutes Includes primary_input + + domain: Master + conf: UnMute + ANY + SelectedInputDevices Includes Headset + SelectedInputDevices Includes Main + /Audio/defaulthda/input/mic_headset/switch = 1 1 + conf: Mute + /Audio/defaulthda/input/mic_headset/switch = 0 0 + diff --git a/common/audio/default/parameter-framework/Settings/Audio/routing_hdmi.pfw b/common/audio/default/parameter-framework/Settings/Audio/routing_hdmi.pfw new file mode 100644 index 000000000..23df1e5b1 --- /dev/null +++ b/common/audio/default/parameter-framework/Settings/Audio/routing_hdmi.pfw @@ -0,0 +1,22 @@ +domainGroup: Routing.Hdmi + + ######################################### + ############### Configure ############### + ######################################### + + domainGroup: Configure + RoutageState Includes Configure + + domainGroup: Playack + domain: Port0 + conf: Bind + ALL + ANY + OpenedPlaybackRoutes Includes hdmi_stereo + OpenedPlaybackRoutes Includes hdmi_multi + SelectedOutputDevices Includes AuxDigital + /Audio/hdmi/output/port0/switch = 1 + + conf: Unbind + /Audio/hdmi/output/port0/switch = 0 + diff --git a/common/audio/default/parameter-framework/Structure/Audio/AudioClass.xml b/common/audio/default/parameter-framework/Structure/Audio/AudioClass.xml new file mode 100644 index 000000000..a1212c1ea --- /dev/null +++ b/common/audio/default/parameter-framework/Structure/Audio/AudioClass.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/common/audio/default/parameter-framework/Structure/Audio/DefaultHDaudioSubsystem.xml b/common/audio/default/parameter-framework/Structure/Audio/DefaultHDaudioSubsystem.xml new file mode 100644 index 000000000..4cfecd6cf --- /dev/null +++ b/common/audio/default/parameter-framework/Structure/Audio/DefaultHDaudioSubsystem.xml @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/common/audio/default/parameter-framework/Structure/Audio/HdmiSubsystem.xml b/common/audio/default/parameter-framework/Structure/Audio/HdmiSubsystem.xml new file mode 100644 index 000000000..92b9fcd1a --- /dev/null +++ b/common/audio/default/parameter-framework/Structure/Audio/HdmiSubsystem.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + diff --git a/common/audio/default/policy/a2dp_audio_policy_configuration.xml b/common/audio/default/policy/a2dp_audio_policy_configuration.xml new file mode 100644 index 000000000..ced746316 --- /dev/null +++ b/common/audio/default/policy/a2dp_audio_policy_configuration.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/common/audio/default/policy/audio_policy_configuration.xml b/common/audio/default/policy/audio_policy_configuration.xml new file mode 100644 index 000000000..8fc13ab56 --- /dev/null +++ b/common/audio/default/policy/audio_policy_configuration.xml @@ -0,0 +1,116 @@ + + + + + + + + + + + + Speaker + Built-In Mic + + Speaker + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/common/audio/default/policy/audio_policy_configuration_pfw.xml b/common/audio/default/policy/audio_policy_configuration_pfw.xml new file mode 100644 index 000000000..459b98679 --- /dev/null +++ b/common/audio/default/policy/audio_policy_configuration_pfw.xml @@ -0,0 +1,128 @@ + + + + + + + + + + + + Speaker + Built-In Mic + + Speaker + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/common/audio/default/policy/audio_policy_volumes.xml b/common/audio/default/policy/audio_policy_volumes.xml new file mode 100644 index 000000000..43a47b045 --- /dev/null +++ b/common/audio/default/policy/audio_policy_volumes.xml @@ -0,0 +1,179 @@ + + + + + + + 0,-4200 + 33,-2800 + 66,-1400 + 100,0 + + + 0,-2400 + 33,-1600 + 66,-800 + 100,0 + + + 0,-2400 + 33,-1600 + 66,-800 + 100,0 + + + + 1,-3000 + 33,-2600 + 66,-2200 + 100,-1800 + + + + + + + 1,-2970 + 33,-2010 + 66,-1020 + 100,0 + + + + + + + + + + 1,-2970 + 33,-2010 + 66,-1020 + 100,0 + + + + + + 1,-2970 + 33,-2010 + 66,-1020 + 100,0 + + + + + 0,-4200 + 33,-2800 + 66,-1400 + 100,0 + + + 0,-2400 + 33,-1600 + 66,-800 + 100,0 + + + 0,-4200 + 33,-2800 + 66,-1400 + 100,0 + + + + 1,-3000 + 33,-2600 + 66,-2200 + 100,-1800 + + + + + + 1,-3000 + 33,-2600 + 66,-2200 + 100,-1800 + + + + + + + + + + + + + + + + + + + + + + diff --git a/common/audio/default/policy/default_volume_tables.xml b/common/audio/default/policy/default_volume_tables.xml new file mode 100644 index 000000000..9a22b1da3 --- /dev/null +++ b/common/audio/default/policy/default_volume_tables.xml @@ -0,0 +1,70 @@ + + + + + + + + 0,0 + 100,0 + + + 0,-9600 + 100,-9600 + + + + 1,-2400 + 33,-1800 + 66,-1200 + 100,-600 + + + + 1,-5800 + 20,-4000 + 60,-1700 + 100,0 + + + + 1,-4950 + 33,-3350 + 66,-1700 + 100,0 + + + + 1,-5800 + 20,-4000 + 60,-1700 + 100,0 + + + + 1,-4950 + 33,-3350 + 66,-1700 + 100,0 + + + + 1,-5800 + 20,-4000 + 60,-2100 + 100,-1000 + + diff --git a/common/audio/default/policy/r_submix_audio_policy_configuration.xml b/common/audio/default/policy/r_submix_audio_policy_configuration.xml new file mode 100644 index 000000000..dc2a5ecc8 --- /dev/null +++ b/common/audio/default/policy/r_submix_audio_policy_configuration.xml @@ -0,0 +1,47 @@ + + + + + + Remote Submix In + + + + + + + + + + + + + + + + + + + + + + diff --git a/common/audio/default/policy/stub_audio_policy_configuration.xml b/common/audio/default/policy/stub_audio_policy_configuration.xml new file mode 100644 index 000000000..2b49fa33f --- /dev/null +++ b/common/audio/default/policy/stub_audio_policy_configuration.xml @@ -0,0 +1,47 @@ + + + + + + + Default Out + Default In + + Default Out + + + + + + + + + + + + + + + + + + + + + + diff --git a/common/audio/default/policy/usb_audio_policy_configuration.xml b/common/audio/default/policy/usb_audio_policy_configuration.xml new file mode 100644 index 000000000..eca7aacf2 --- /dev/null +++ b/common/audio/default/policy/usb_audio_policy_configuration.xml @@ -0,0 +1,51 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/common/audio/default/route/audio_criteria.xml b/common/audio/default/route/audio_criteria.xml new file mode 100644 index 000000000..0c73d2b2d --- /dev/null +++ b/common/audio/default/route/audio_criteria.xml @@ -0,0 +1,49 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/common/audio/default/route/audio_criterion_types.xml b/common/audio/default/route/audio_criterion_types.xml new file mode 100644 index 000000000..2672a4a58 --- /dev/null +++ b/common/audio/default/route/audio_criterion_types.xml @@ -0,0 +1,65 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/common/audio/mixer_paths.xml b/common/audio/mixer_paths.xml deleted file mode 100644 index a329af79a..000000000 --- a/common/audio/mixer_paths.xml +++ /dev/null @@ -1,2384 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/common/audio/reference_configurable_audio_policy/AndroidBoard.mk b/common/audio/reference_configurable_audio_policy/AndroidBoard.mk new file mode 100644 index 000000000..cdf478c8b --- /dev/null +++ b/common/audio/reference_configurable_audio_policy/AndroidBoard.mk @@ -0,0 +1,170 @@ +LOCAL_PATH := $(call my-dir) + +ifeq ($(USE_CONFIGURABLE_AUDIO_POLICY), 1) + +POLICY_NO_INPUT := 0 +POLICY_NO_OUTPUT := 0 + +PFW_CORE := external/parameter-framework +BUILD_PFW_SETTINGS := $(PFW_CORE)/support/android/build_pfw_settings.mk +PFW_DEFAULT_SCHEMAS_DIR := $(PFW_CORE)/upstream/schemas +PFW_SCHEMAS_DIR := $(PFW_DEFAULT_SCHEMAS_DIR) + +################################################################## +# CONFIGURATION FILES +################################################################## +######### Policy PFW top level file ######### + +include $(CLEAR_VARS) +LOCAL_MODULE := ParameterFrameworkConfigurationPolicy.xml +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_CLASS := ETC +LOCAL_MODULE_PATH := $(TARGET_OUT_ETC)/parameter-framework +LOCAL_SRC_FILES := $(LOCAL_MODULE).in + +AUDIO_PATTERN = @TUNING_ALLOWED@ +ifeq ($(TARGET_BUILD_VARIANT),user) +AUDIO_VALUE = false +else +AUDIO_VALUE = true + +LOCAL_REQUIRED_MODULES := \ + libremote-processor \ + remote-process \ + +endif + +LOCAL_POST_INSTALL_CMD := $(hide) sed -i -e 's|$(AUDIO_PATTERN)|$(AUDIO_VALUE)|g' $(LOCAL_MODULE_PATH)/$(LOCAL_MODULE) + +include $(BUILD_PREBUILT) + + +########## Policy PFW Structures ######### + +include $(CLEAR_VARS) +LOCAL_MODULE := PolicyClass.xml +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_CLASS := ETC +LOCAL_MODULE_PATH := $(TARGET_OUT_ETC)/parameter-framework/Structure/Policy +LOCAL_SRC_FILES := Structure/$(LOCAL_MODULE) +include $(BUILD_PREBUILT) + +include $(CLEAR_VARS) +LOCAL_MODULE := PolicySubsystem.xml +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_CLASS := ETC +LOCAL_REQUIRED_MODULES := \ + PolicySubsystem-CommonTypes.xml \ + PolicySubsystem-Volume.xml \ + libpolicy-subsystem \ + +LOCAL_MODULE_PATH := $(TARGET_OUT_ETC)/parameter-framework/Structure/Policy +LOCAL_SRC_FILES := Structure/$(LOCAL_MODULE) +include $(BUILD_PREBUILT) + +include $(CLEAR_VARS) +LOCAL_MODULE := PolicySubsystem-CommonTypes.xml +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_CLASS := ETC +LOCAL_MODULE_PATH := $(TARGET_OUT_ETC)/parameter-framework/Structure/Policy +LOCAL_SRC_FILES := Structure/$(LOCAL_MODULE) +include $(BUILD_PREBUILT) + +ifneq ($(POLICY_NO_INPUT),1) +ifneq ($(POLICY_NO_OUTPUT),1) +######### Policy PFW Settings ######### +include $(CLEAR_VARS) +LOCAL_MODULE := parameter-framework.policy +LOCAL_MODULE_STEM := PolicyConfigurableDomains.xml +LOCAL_MODULE_CLASS := ETC +LOCAL_MODULE_RELATIVE_PATH := parameter-framework/Settings/Policy +LOCAL_ADDITIONAL_DEPENDENCIES := \ + $(TARGET_OUT_ETC)/parameter-framework/Structure/Policy/PolicyClass.xml \ + $(TARGET_OUT_ETC)/parameter-framework/Structure/Policy/PolicySubsystem.xml \ + $(TARGET_OUT_ETC)/parameter-framework/ParameterFrameworkConfigurationPolicy.xml + +ifeq ($(pfw_rebuild_settings),true) +PFW_TOPLEVEL_FILE := $(TARGET_OUT_ETC)/parameter-framework/ParameterFrameworkConfigurationPolicy.xml +PFW_CRITERIA_FILE := $(LOCAL_PATH)/policy_criteria.txt +PFW_EDD_FILES := \ + $(LOCAL_PATH)/Settings/device_for_strategy_media.pfw \ + $(LOCAL_PATH)/Settings/device_for_strategy_phone.pfw \ + $(LOCAL_PATH)/Settings/device_for_strategy_sonification.pfw \ + $(LOCAL_PATH)/Settings/device_for_strategy_sonification_respectful.pfw \ + $(LOCAL_PATH)/Settings/device_for_strategy_dtmf.pfw \ + $(LOCAL_PATH)/Settings/device_for_strategy_enforced_audible.pfw \ + $(LOCAL_PATH)/Settings/device_for_strategy_transmitted_through_speaker.pfw \ + $(LOCAL_PATH)/Settings/device_for_strategy_accessibility.pfw \ + $(LOCAL_PATH)/Settings/device_for_strategy_rerouting.pfw \ + $(LOCAL_PATH)/Settings/strategy_for_stream.pfw \ + $(LOCAL_PATH)/Settings/strategy_for_usage.pfw \ + $(LOCAL_PATH)/Settings/device_for_input_source.pfw \ + $(LOCAL_PATH)/Settings/volumes.pfw + +include $(BUILD_PFW_SETTINGS) +else +# Use the existing file +LOCAL_SRC_FILES := Settings/$(LOCAL_MODULE_STEM) +include $(BUILD_PREBUILT) +endif # pfw_rebuild_settings + +endif # NO_INPUT +endif # NO_OUPUT + +######### Policy PFW Settings - No Output ######### +ifeq ($(POLICY_NO_OUTPUT),1) +include $(CLEAR_VARS) +LOCAL_MODULE := parameter-framework.policy.no-output +LOCAL_MODULE_STEM := PolicyConfigurableDomains-NoOutputDevice.xml +LOCAL_MODULE_CLASS := ETC +LOCAL_MODULE_RELATIVE_PATH := parameter-framework/Settings/Policy +LOCAL_ADDITIONAL_DEPENDENCIES := \ + $(TARGET_OUT_ETC)/parameter-framework/Structure/Policy/PolicyClass.xml \ + $(TARGET_OUT_ETC)/parameter-framework/Structure/Policy/PolicySubsystem.xml \ + $(TARGET_OUT_ETC)/parameter-framework/ParameterFrameworkConfigurationPolicy.xml + +PFW_TOPLEVEL_FILE := $(TARGET_OUT_ETC)/parameter-framework/ParameterFrameworkConfigurationPolicy.xml +PFW_CRITERIA_FILE := $(LOCAL_PATH)/policy_criteria.txt +PFW_EDD_FILES := \ + $(LOCAL_PATH)/SettingsNoOutput/device_for_strategies.pfw \ + $(LOCAL_PATH)/Settings/strategy_for_stream.pfw \ + $(LOCAL_PATH)/Settings/strategy_for_usage.pfw \ + $(LOCAL_PATH)/Settings/device_for_input_source.pfw \ + $(LOCAL_PATH)/Settings/volumes.pfw + +include $(BUILD_PFW_SETTINGS) +endif # NO_OUTPUT + +######### Policy PFW Settings - No Input ######### +ifeq ($(POLICY_NO_INPUT),1) +include $(CLEAR_VARS) +LOCAL_MODULE := parameter-framework.policy.no-input +LOCAL_MODULE_STEM := PolicyConfigurableDomains-NoInputDevice.xml +LOCAL_MODULE_CLASS := ETC +LOCAL_MODULE_RELATIVE_PATH := parameter-framework/Settings/Policy +LOCAL_ADDITIONAL_DEPENDENCIES := \ + $(TARGET_OUT_ETC)/parameter-framework/Structure/Policy/PolicyClass.xml \ + $(TARGET_OUT_ETC)/parameter-framework/Structure/Policy/PolicySubsystem.xml \ + $(TARGET_OUT_ETC)/parameter-framework/ParameterFrameworkConfigurationPolicy.xml + +PFW_TOPLEVEL_FILE := $(TARGET_OUT_ETC)/parameter-framework/ParameterFrameworkConfigurationPolicy.xml +PFW_CRITERIA_FILE := $(LOCAL_PATH)/policy_criteria.txt +PFW_EDD_FILES := \ + $(LOCAL_PATH)/Settings/device_for_strategy_media.pfw \ + $(LOCAL_PATH)/Settings/device_for_strategy_phone.pfw \ + $(LOCAL_PATH)/Settings/device_for_strategy_sonification.pfw \ + $(LOCAL_PATH)/Settings/device_for_strategy_sonification_respectful.pfw \ + $(LOCAL_PATH)/Settings/device_for_strategy_dtmf.pfw \ + $(LOCAL_PATH)/Settings/device_for_strategy_enforced_audible.pfw \ + $(LOCAL_PATH)/Settings/device_for_strategy_transmitted_through_speaker.pfw \ + $(LOCAL_PATH)/Settings/device_for_strategy_accessibility.pfw \ + $(LOCAL_PATH)/Settings/device_for_strategy_rerouting.pfw \ + $(LOCAL_PATH)/Settings/strategy_for_stream.pfw \ + $(LOCAL_PATH)/Settings/strategy_for_usage.pfw \ + $(LOCAL_PATH)/SettingsNoInput/device_for_input_source.pfw \ + $(LOCAL_PATH)/Settings/volumes.pfw + +include $(BUILD_PFW_SETTINGS) +endif # NO_INPUT + +endif # USE_CONFIGURABLE_AUDIO_POLICY diff --git a/common/audio/reference_configurable_audio_policy/ParameterFrameworkConfigurationPolicy.xml.in b/common/audio/reference_configurable_audio_policy/ParameterFrameworkConfigurationPolicy.xml.in new file mode 100644 index 000000000..f5615cd52 --- /dev/null +++ b/common/audio/reference_configurable_audio_policy/ParameterFrameworkConfigurationPolicy.xml.in @@ -0,0 +1,14 @@ + + + + + + + + + + + + + diff --git a/common/audio/reference_configurable_audio_policy/README.md b/common/audio/reference_configurable_audio_policy/README.md new file mode 100644 index 000000000..92668e1ec --- /dev/null +++ b/common/audio/reference_configurable_audio_policy/README.md @@ -0,0 +1,11 @@ +Configurable Policy Engine Example +================================ + +This folder exposes a generic functional configurable policy engine configuration files +to provide to have a product following the nexus experience. + +A vendor wishing to customize the behavior shall provides its own set of configuration files +within the device folder for the product to customize. + +For any question about the parameter framework and configuration files, +See [the wiki on github](https://github.com/01org/parameter-framework/wiki). diff --git a/common/audio/reference_configurable_audio_policy/Settings/PolicyConfigurableDomains.xml b/common/audio/reference_configurable_audio_policy/Settings/PolicyConfigurableDomains.xml new file mode 100644 index 000000000..aa2af0ff2 --- /dev/null +++ b/common/audio/reference_configurable_audio_policy/Settings/PolicyConfigurableDomains.xml @@ -0,0 +1,10228 @@ + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 1 + + + 0 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 1 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 1 + + + 0 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 1 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 1 + + + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + 0 + + + + + 0 + + + 1 + + + + + 0 + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 1 + + + 0 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 1 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + + + + + + + + + + + + + + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 1 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 1 + + + 0 + + + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 1 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 1 + + + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 1 + + + 0 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 1 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 1 + + + 0 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 1 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + phone + + + media + + + sonification + + + media + + + sonification + + + sonification_respectful + + + phone + + + enforced_audible + + + dtmf + + + transmitted_through_speaker + + + accessibility + + + rerouting + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + media + + + media + + + phone + + + dtmf + + + sonification + + + sonification_respectful + + + sonification + + + sonification_respectful + + + sonification_respectful + + + sonification_respectful + + + sonification_respectful + + + media + + + media + + + media + + + + + + + + + + + + + + + + + + + + + + + + + + + + sonification + + + + + phone + + + + + accessibility + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + 1 + + + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + + + 0 + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + 1 + + + 0 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + 1 + + + 1 + + + + + 0 + + + 0 + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + 0 + + + + + 0 + + + 1 + + + + + 0 + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + 0 + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + 1 + + + 0 + + + + + 0 + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + 1 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + + + 0 + + + 0 + + + 0 + + + 1 + + + 0 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 1 + + + + + 0 + + + 0 + + + 0 + + + 1 + + + 0 + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + voice_call + + + system + + + ring + + + music + + + alarm + + + notification + + + bluetooth_sco + + + enforced_audible + + + tts + + + accessibility + + + rerouting + + + patch + + + + + + + + + + + + + + + + + + + + + + + voice_call + + + + + dtmf + + + + + diff --git a/common/audio/reference_configurable_audio_policy/Settings/device_for_input_source.pfw b/common/audio/reference_configurable_audio_policy/Settings/device_for_input_source.pfw new file mode 100644 index 000000000..10c10cfd8 --- /dev/null +++ b/common/audio/reference_configurable_audio_policy/Settings/device_for_input_source.pfw @@ -0,0 +1,673 @@ +supDomain: DeviceForInputSource + domain: Calibration + conf: Calibration + component: /Policy/policy/input_sources/default/applicable_input_device/mask + communication = 0 + ambient = 0 + hdmi = 0 + telephony_rx = 0 + back_mic = 0 + remote_submix = 0 + anlg_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + fm_tuner = 0 + tv_tuner = 0 + line = 0 + spdif = 0 + loopback = 0 + ip = 0 + bus = 0 + stub = 0 + component: /Policy/policy/input_sources/mic/applicable_input_device/mask + communication = 0 + ambient = 0 + hdmi = 0 + telephony_rx = 0 + back_mic = 0 + remote_submix = 0 + anlg_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + fm_tuner = 0 + tv_tuner = 0 + line = 0 + spdif = 0 + loopback = 0 + ip = 0 + bus = 0 + stub = 0 + component: /Policy/policy/input_sources/voice_downlink/applicable_input_device/mask + communication = 0 + ambient = 0 + builtin_mic = 0 + bluetooth_sco_headset = 0 + wired_headset = 0 + hdmi = 0 + back_mic = 0 + remote_submix = 0 + anlg_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + usb_headset = 0 + fm_tuner = 0 + tv_tuner = 0 + line = 0 + spdif = 0 + bluetooth_a2dp = 0 + loopback = 0 + ip = 0 + bus = 0 + stub = 0 + component: /Policy/policy/input_sources/voice_call/applicable_input_device/mask + communication = 0 + ambient = 0 + builtin_mic = 0 + bluetooth_sco_headset = 0 + wired_headset = 0 + hdmi = 0 + back_mic = 0 + remote_submix = 0 + anlg_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + usb_headset = 0 + fm_tuner = 0 + tv_tuner = 0 + line = 0 + spdif = 0 + bluetooth_a2dp = 0 + loopback = 0 + ip = 0 + bus = 0 + stub = 0 + component: /Policy/policy/input_sources/voice_uplink/applicable_input_device/mask + communication = 0 + ambient = 0 + builtin_mic = 0 + bluetooth_sco_headset = 0 + wired_headset = 0 + hdmi = 0 + back_mic = 0 + remote_submix = 0 + anlg_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + usb_headset = 0 + fm_tuner = 0 + tv_tuner = 0 + line = 0 + spdif = 0 + bluetooth_a2dp = 0 + loopback = 0 + ip = 0 + bus = 0 + stub = 0 + component: /Policy/policy/input_sources/camcorder/applicable_input_device/mask + communication = 0 + ambient = 0 + bluetooth_sco_headset = 0 + wired_headset = 0 + hdmi = 0 + telephony_rx = 0 + remote_submix = 0 + anlg_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + usb_headset = 0 + fm_tuner = 0 + tv_tuner = 0 + line = 0 + spdif = 0 + bluetooth_a2dp = 0 + loopback = 0 + ip = 0 + bus = 0 + stub = 0 + component: /Policy/policy/input_sources/voice_recognition/applicable_input_device/mask + communication = 0 + ambient = 0 + hdmi = 0 + telephony_rx = 0 + back_mic = 0 + remote_submix = 0 + anlg_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + fm_tuner = 0 + tv_tuner = 0 + line = 0 + spdif = 0 + bluetooth_a2dp = 0 + loopback = 0 + ip = 0 + bus = 0 + stub = 0 + component: /Policy/policy/input_sources/voice_communication/applicable_input_device/mask + communication = 0 + ambient = 0 + hdmi = 0 + telephony_rx = 0 + remote_submix = 0 + anlg_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + fm_tuner = 0 + tv_tuner = 0 + line = 0 + spdif = 0 + bluetooth_a2dp = 0 + loopback = 0 + ip = 0 + bus = 0 + stub = 0 + component: /Policy/policy/input_sources/remote_submix/applicable_input_device/mask + communication = 0 + ambient = 0 + builtin_mic = 0 + bluetooth_sco_headset = 0 + wired_headset = 0 + hdmi = 0 + telephony_rx = 0 + back_mic = 0 + anlg_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + usb_headset = 0 + fm_tuner = 0 + tv_tuner = 0 + line = 0 + spdif = 0 + bluetooth_a2dp = 0 + loopback = 0 + ip = 0 + bus = 0 + stub = 0 + component: /Policy/policy/input_sources/hotword/applicable_input_device/mask + communication = 0 + ambient = 0 + hdmi = 0 + telephony_rx = 0 + back_mic = 0 + remote_submix = 0 + anlg_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + fm_tuner = 0 + tv_tuner = 0 + line = 0 + spdif = 0 + bluetooth_a2dp = 0 + loopback = 0 + ip = 0 + bus = 0 + stub = 0 + component: /Policy/policy/input_sources/unprocessed/applicable_input_device/mask + communication = 0 + ambient = 0 + hdmi = 0 + telephony_rx = 0 + back_mic = 0 + remote_submix = 0 + anlg_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + fm_tuner = 0 + tv_tuner = 0 + line = 0 + spdif = 0 + bluetooth_a2dp = 0 + loopback = 0 + ip = 0 + bus = 0 + stub = 0 + component: /Policy/policy/input_sources/fm_tuner/applicable_input_device/mask + communication = 0 + ambient = 0 + bluetooth_sco_headset = 0 + hdmi = 0 + telephony_rx = 0 + builtin_mic = 0 + wired_headset = 0 + back_mic = 0 + remote_submix = 0 + anlg_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + usb_headset = 0 + tv_tuner = 0 + line = 0 + spdif = 0 + bluetooth_a2dp = 0 + loopback = 0 + ip = 0 + bus = 0 + stub = 0 + + domain: DefaultAndMic + conf: A2dp + AvailableInputDevices Includes BluetoothA2dp + + component: /Policy/policy/input_sources + component: default/applicable_input_device/mask/ + bluetooth_a2dp = 1 + wired_headset = 0 + usb_device = 0 + usb_headset = 0 + builtin_mic = 0 + bluetooth_sco_headset = 0 + component: mic/applicable_input_device/mask/ + bluetooth_a2dp = 1 + wired_headset = 0 + usb_device = 0 + usb_headset = 0 + builtin_mic = 0 + bluetooth_sco_headset = 0 + + conf: Sco + AvailableInputDevices Includes BluetoothScoHeadset + ForceUseForRecord Is ForceBtSco + + component: /Policy/policy/input_sources + component: default/applicable_input_device/mask/ + bluetooth_a2dp = 0 + wired_headset = 0 + usb_device = 0 + usb_headset = 0 + builtin_mic = 0 + bluetooth_sco_headset = 1 + component: mic/applicable_input_device/mask/ + bluetooth_a2dp = 0 + wired_headset = 0 + usb_device = 0 + usb_headset = 0 + builtin_mic = 0 + bluetooth_sco_headset = 1 + + conf: WiredHeadset + AvailableInputDevices Includes WiredHeadset + + component: /Policy/policy/input_sources + component: default/applicable_input_device/mask/ + bluetooth_a2dp = 0 + wired_headset = 1 + usb_device = 0 + usb_headset = 0 + builtin_mic = 0 + bluetooth_sco_headset = 0 + component: mic/applicable_input_device/mask/ + bluetooth_a2dp = 0 + wired_headset = 1 + usb_device = 0 + usb_headset = 0 + builtin_mic = 0 + bluetooth_sco_headset = 0 + + conf: UsbDevice + AvailableInputDevices Includes UsbDevice + + component: /Policy/policy/input_sources + component: default/applicable_input_device/mask/ + bluetooth_a2dp = 0 + wired_headset = 0 + usb_device = 1 + usb_headset = 0 + builtin_mic = 0 + bluetooth_sco_headset = 0 + component: mic/applicable_input_device/mask/ + bluetooth_a2dp = 0 + wired_headset = 0 + usb_device = 1 + usb_headset = 0 + builtin_mic = 0 + bluetooth_sco_headset = 0 + conf: UsbHeadset + AvailableInputDevices Includes UsbHeadset + + component: /Policy/policy/input_sources + component: default/applicable_input_device/mask/ + bluetooth_a2dp = 0 + wired_headset = 0 + usb_device = 0 + usb_headset = 1 + builtin_mic = 0 + bluetooth_sco_headset = 0 + component: mic/applicable_input_device/mask/ + bluetooth_a2dp = 0 + wired_headset = 0 + usb_device = 0 + usb_headset = 1 + builtin_mic = 0 + bluetooth_sco_headset = 0 + + + conf: BuiltinMic + AvailableInputDevices Includes BuiltinMic + + component: /Policy/policy/input_sources + component: default/applicable_input_device/mask/ + bluetooth_a2dp = 0 + wired_headset = 0 + usb_device = 0 + usb_headset = 0 + builtin_mic = 1 + bluetooth_sco_headset = 0 + component: mic/applicable_input_device/mask/ + bluetooth_a2dp = 0 + wired_headset = 0 + usb_device = 0 + usb_headset = 0 + builtin_mic = 1 + bluetooth_sco_headset = 0 + + conf: Default + component: /Policy/policy/input_sources + component: default/applicable_input_device/mask/ + bluetooth_a2dp = 0 + wired_headset = 0 + usb_device = 0 + usb_headset = 0 + builtin_mic = 0 + bluetooth_sco_headset = 0 + component: mic/applicable_input_device/mask/ + bluetooth_a2dp = 0 + wired_headset = 0 + usb_device = 0 + usb_headset = 0 + builtin_mic = 0 + bluetooth_sco_headset = 0 + + domain: VoiceUplinkAndVoiceDownlinkAndVoiceCall + conf: VoiceCall + AvailableInputDevices Includes TelephonyRx + + component: /Policy/policy/input_sources + voice_downlink/applicable_input_device/mask/telephony_rx = 1 + voice_call/applicable_input_device/mask/telephony_rx = 1 + voice_uplink/applicable_input_device/mask/telephony_rx = 1 + + conf: Default + component: /Policy/policy/input_sources + voice_downlink/applicable_input_device/mask/telephony_rx = 0 + voice_call/applicable_input_device/mask/telephony_rx = 0 + voice_uplink/applicable_input_device/mask/telephony_rx = 0 + + domain: Camcorder + conf: BackMic + AvailableInputDevices Includes BackMic + + component: /Policy/policy/input_sources/camcorder/applicable_input_device/mask + back_mic = 1 + builtin_mic = 0 + + conf: BuiltinMic + AvailableInputDevices Includes BuiltinMic + + component: /Policy/policy/input_sources/camcorder/applicable_input_device/mask + back_mic = 0 + builtin_mic = 1 + + conf: Default + component: /Policy/policy/input_sources/camcorder/applicable_input_device/mask + back_mic = 0 + builtin_mic = 0 + + domain: VoiceRecognitionAndUnprocessedAndHotword + conf: ScoHeadset + ForceUseForRecord Is ForceBtSco + AvailableInputDevices Includes BluetoothScoHeadset + + component: /Policy/policy/input_sources + component: voice_recognition/applicable_input_device/mask + bluetooth_sco_headset = 1 + wired_headset = 0 + usb_device = 0 + usb_headset = 0 + builtin_mic = 0 + component: unprocessed/applicable_input_device/mask + bluetooth_sco_headset = 1 + wired_headset = 0 + usb_device = 0 + usb_headset = 0 + builtin_mic = 0 + component: hotword/applicable_input_device/mask + bluetooth_sco_headset = 1 + wired_headset = 0 + usb_device = 0 + usb_headset = 0 + builtin_mic = 0 + + conf: WiredHeadset + AvailableInputDevices Includes WiredHeadset + + component: /Policy/policy/input_sources + component: voice_recognition/applicable_input_device/mask + bluetooth_sco_headset = 0 + wired_headset = 1 + usb_device = 0 + usb_headset = 0 + builtin_mic = 0 + component: unprocessed/applicable_input_device/mask + bluetooth_sco_headset = 0 + wired_headset = 1 + usb_device = 0 + usb_headset = 0 + builtin_mic = 0 + component: hotword/applicable_input_device/mask + bluetooth_sco_headset = 0 + wired_headset = 1 + usb_device = 0 + usb_headset = 0 + builtin_mic = 0 + + conf: UsbDevice + AvailableInputDevices Includes UsbDevice + + component: /Policy/policy/input_sources + component: voice_recognition/applicable_input_device/mask + bluetooth_sco_headset = 0 + wired_headset = 0 + usb_device = 1 + usb_headset = 0 + builtin_mic = 0 + component: unprocessed/applicable_input_device/mask + bluetooth_sco_headset = 0 + wired_headset = 0 + usb_device = 1 + usb_headset = 0 + builtin_mic = 0 + component: hotword/applicable_input_device/mask + bluetooth_sco_headset = 0 + wired_headset = 0 + usb_device = 1 + usb_headset = 0 + builtin_mic = 0 + + conf: UsbHeadset + AvailableInputDevices Includes UsbHeadset + + component: /Policy/policy/input_sources + component: voice_recognition/applicable_input_device/mask + bluetooth_sco_headset = 0 + wired_headset = 0 + usb_device = 0 + usb_headset = 1 + builtin_mic = 0 + component: unprocessed/applicable_input_device/mask + bluetooth_sco_headset = 0 + wired_headset = 0 + usb_device = 0 + usb_headset = 1 + builtin_mic = 0 + component: hotword/applicable_input_device/mask + bluetooth_sco_headset = 0 + wired_headset = 0 + usb_device = 0 + usb_headset = 1 + builtin_mic = 0 + + + conf: BuiltinMic + AvailableInputDevices Includes BuiltinMic + + component: /Policy/policy/input_sources + component: voice_recognition/applicable_input_device/mask + bluetooth_sco_headset = 0 + wired_headset = 0 + usb_device = 0 + usb_headset = 0 + builtin_mic = 1 + component: unprocessed/applicable_input_device/mask + bluetooth_sco_headset = 0 + wired_headset = 0 + usb_device = 0 + usb_headset = 0 + builtin_mic = 1 + component: hotword/applicable_input_device/mask + bluetooth_sco_headset = 0 + wired_headset = 0 + usb_device = 0 + usb_headset = 0 + builtin_mic = 1 + + conf: Default + component: /Policy/policy/input_sources + component: voice_recognition/applicable_input_device/mask + bluetooth_sco_headset = 0 + wired_headset = 0 + usb_device = 0 + usb_headset = 0 + builtin_mic = 0 + component: unprocessed/applicable_input_device/mask + bluetooth_sco_headset = 0 + wired_headset = 0 + usb_device = 0 + usb_headset = 0 + builtin_mic = 0 + component: hotword/applicable_input_device/mask + bluetooth_sco_headset = 0 + wired_headset = 0 + usb_device = 0 + usb_headset = 0 + builtin_mic = 0 + + domain: VoiceCommunication + conf: ScoHeadset + # + # SCO device may be requested but no SCO device is available + # + ForceUseForCommunication Is ForceBtSco + AvailableInputDevices Includes BluetoothScoHeadset + + component: /Policy/policy/input_sources/voice_communication/applicable_input_device/mask + bluetooth_sco_headset = 1 + wired_headset = 0 + usb_device = 0 + usb_headset = 0 + builtin_mic = 0 + back_mic = 0 + + conf: WiredHeadset + ForceUseForCommunication Is ForceNone + AvailableInputDevices Includes WiredHeadset + + component: /Policy/policy/input_sources/voice_communication/applicable_input_device/mask + bluetooth_sco_headset = 0 + wired_headset = 1 + usb_device = 0 + usb_headset = 0 + builtin_mic = 0 + back_mic = 0 + + conf: UsbDevice + ForceUseForCommunication Is ForceNone + AvailableInputDevices Includes UsbDevice + + component: /Policy/policy/input_sources/voice_communication/applicable_input_device/mask + bluetooth_sco_headset = 0 + wired_headset = 0 + usb_device = 1 + usb_headset = 0 + builtin_mic = 0 + back_mic = 0 + + conf: UsbHeadset + ForceUseForCommunication Is ForceNone + AvailableInputDevices Includes UsbHeadset + + component: /Policy/policy/input_sources/voice_communication/applicable_input_device/mask + bluetooth_sco_headset = 0 + wired_headset = 0 + usb_device = 0 + usb_headset = 1 + builtin_mic = 0 + back_mic = 0 + + conf: BuiltinMic + AvailableInputDevices Includes BuiltinMic + ANY + ForceUseForCommunication Is ForceNone + ALL + ForceUseForCommunication Is ForceSpeaker + AvailableInputDevices Excludes BackMic + + component: /Policy/policy/input_sources/voice_communication/applicable_input_device/mask + bluetooth_sco_headset = 0 + wired_headset = 0 + usb_device = 0 + usb_headset = 0 + builtin_mic = 1 + back_mic = 0 + + conf: BackMic + ForceUseForCommunication Is ForceSpeaker + AvailableInputDevices Includes BackMic + + component: /Policy/policy/input_sources/voice_communication/applicable_input_device/mask + bluetooth_sco_headset = 0 + wired_headset = 0 + usb_device = 0 + usb_headset = 0 + builtin_mic = 0 + back_mic = 1 + + conf: Default + # + # Fallback on the default input device which can be builtin mic for example + # + component: /Policy/policy/input_sources/voice_communication/applicable_input_device/mask + bluetooth_sco_headset = 0 + wired_headset = 0 + usb_device = 0 + usb_headset = 0 + builtin_mic = 1 + back_mic = 0 + + domain: RemoteSubmix + conf: RemoteSubmix + AvailableInputDevices Includes RemoteSubmix + + component: /Policy/policy/input_sources/remote_submix/applicable_input_device/mask + remote_submix = 1 + + conf: Default + component: /Policy/policy/input_sources/remote_submix/applicable_input_device/mask + remote_submix = 0 + + domain: FmTuner + conf: FmTuner + AvailableInputDevices Includes FmTuner + + component: /Policy/policy/input_sources/fm_tuner/applicable_input_device/mask + fm_tuner = 1 + + conf: Default + component: /Policy/policy/input_sources/fm_tuner/applicable_input_device/mask + fm_tuner = 0 + diff --git a/common/audio/reference_configurable_audio_policy/Settings/device_for_strategy_accessibility.pfw b/common/audio/reference_configurable_audio_policy/Settings/device_for_strategy_accessibility.pfw new file mode 100644 index 000000000..4337fc278 --- /dev/null +++ b/common/audio/reference_configurable_audio_policy/Settings/device_for_strategy_accessibility.pfw @@ -0,0 +1,653 @@ +supDomain: DeviceForStrategy + + supDomain: Accessibility + # + # STRATEGY_ACCESSIBILITY follows STRATEGY_PHONE if in call widely speaking + # STRATEGY_ACCESSIBILITY follows STRATEGY_MEDIA otherwise + # + # Other case are handled programmatically has involving activity of streams. + # + domain: UnreachableDevices + conf: Calibration + component: /Policy/policy/strategies/accessibility/selected_output_devices/mask + hdmi_arc = 0 + spdif = 0 + aux_line = 0 + fm = 0 + speaker_safe = 0 + telephony_tx = 0 + ip = 0 + bus = 0 + stub = 0 + + domain: Device + conf: RemoteSubmix + # + # Accessibility follows Media strategy if not in call + # + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + AvailableOutputDevices Includes RemoteSubmix + + component: /Policy/policy/strategies/accessibility/selected_output_devices/mask + remote_submix = 1 + earpiece = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_sco = 0 + speaker = 0 + wired_headset = 0 + wired_headphone = 0 + line = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + usb_headset = 0 + hdmi = 0 + + conf: BluetoothA2dp + # + # Accessibility falls through media strategy if not in call (widely speaking) + # + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + ForceUseForMedia IsNot ForceNoBtA2dp + AvailableOutputDevices Includes BluetoothA2dp + + component: /Policy/policy/strategies/accessibility/selected_output_devices/mask + remote_submix = 0 + earpiece = 0 + bluetooth_a2dp = 1 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_sco = 0 + speaker = 0 + wired_headset = 0 + wired_headphone = 0 + line = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + usb_headset = 0 + hdmi = 0 + + conf: BluetoothA2dpHeadphone + # + # Accessibility falls through media strategy if not in call (widely speaking) + # + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + ForceUseForMedia IsNot ForceNoBtA2dp + AvailableOutputDevices Includes BluetoothA2dpHeadphones + + component: /Policy/policy/strategies/accessibility/selected_output_devices/mask + remote_submix = 0 + earpiece = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 1 + bluetooth_a2dp_speaker = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_sco = 0 + speaker = 0 + wired_headset = 0 + wired_headphone = 0 + line = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + usb_headset = 0 + hdmi = 0 + + conf: BluetoothA2dpSpeaker + # + # Accessibility falls through media strategy if not in call (widely speaking) + # + ForceUseForMedia IsNot ForceNoBtA2dp + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + AvailableOutputDevices Includes BluetoothA2dpSpeaker + + component: /Policy/policy/strategies/accessibility/selected_output_devices/mask + remote_submix = 0 + earpiece = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 1 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_sco = 0 + speaker = 0 + wired_headset = 0 + wired_headphone = 0 + line = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + usb_headset = 0 + hdmi = 0 + + conf: ForceSpeakerWhenNotInCall + # + # Accessibility follows Media strategy if not in call + # + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + ForceUseForMedia Is ForceSpeaker + AvailableOutputDevices Includes Speaker + + component: /Policy/policy/strategies/accessibility/selected_output_devices/mask + remote_submix = 0 + earpiece = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_sco = 0 + speaker = 1 + wired_headset = 0 + wired_headphone = 0 + line = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + usb_headset = 0 + hdmi = 0 + + conf: BluetoothScoCarkit + # + # accessibility falls through Phone strategy if in call + # + ANY + TelephonyMode Is InCall + TelephonyMode Is InCommunication + AvailableOutputDevices Includes BluetoothScoCarkit + ForceUseForCommunication Is ForceBtSco + + component: /Policy/policy/strategies/accessibility/selected_output_devices/mask + remote_submix = 0 + earpiece = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 1 + bluetooth_sco = 0 + speaker = 0 + wired_headset = 0 + wired_headphone = 0 + line = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + usb_headset = 0 + hdmi = 0 + + conf: BluetoothScoHeadset + # + # accessibility falls through Phone strategy if in call + # + ANY + TelephonyMode Is InCall + TelephonyMode Is InCommunication + AvailableOutputDevices Includes BluetoothScoHeadset + ForceUseForCommunication Is ForceBtSco + + component: /Policy/policy/strategies/accessibility/selected_output_devices/mask + remote_submix = 0 + earpiece = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + bluetooth_sco_headset = 1 + bluetooth_sco_carkit = 0 + bluetooth_sco = 0 + speaker = 0 + wired_headset = 0 + wired_headphone = 0 + line = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + usb_headset = 0 + hdmi = 0 + + conf: BluetoothSco + # + # accessibility falls through Phone strategy if in call + # + ANY + TelephonyMode Is InCall + TelephonyMode Is InCommunication + AvailableOutputDevices Includes BluetoothSco + ForceUseForCommunication Is ForceBtSco + + component: /Policy/policy/strategies/accessibility/selected_output_devices/mask + remote_submix = 0 + earpiece = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_sco = 1 + speaker = 0 + wired_headset = 0 + wired_headphone = 0 + line = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + usb_headset = 0 + hdmi = 0 + + conf: WiredHeadphone + ANY + # + # accessibility falls through Phone strategy if in call + # + ALL + ANY + TelephonyMode Is InCall + TelephonyMode Is InCommunication + ForceUseForCommunication IsNot ForceSpeaker + # + # accessibility follows Media strategy if not in call + # + ALL + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + AvailableOutputDevices Includes WiredHeadphone + + component: /Policy/policy/strategies/accessibility/selected_output_devices/mask + remote_submix = 0 + earpiece = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_sco = 0 + speaker = 0 + wired_headset = 0 + wired_headphone = 1 + line = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + usb_headset = 0 + hdmi = 0 + + conf: Line + ANY + # + # accessibility falls through Phone strategy if in call + # but Line has a lower priority than WiredHeadset in this case. + # + ALL + ANY + TelephonyMode Is InCall + TelephonyMode Is InCommunication + ForceUseForCommunication IsNot ForceSpeaker + AvailableOutputDevices Excludes WiredHeadset + # + # accessibility follows Media strategy if not in call + # + AvailableOutputDevices Includes Line + + component: /Policy/policy/strategies/accessibility/selected_output_devices/mask + remote_submix = 0 + earpiece = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_sco = 0 + speaker = 0 + wired_headset = 0 + wired_headphone = 0 + line = 1 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + usb_headset = 0 + hdmi = 0 + + conf: WiredHeadset + ANY + # + # accessibility falls through Phone strategy if in call + # + ALL + ANY + TelephonyMode Is InCall + TelephonyMode Is InCommunication + ForceUseForCommunication IsNot ForceSpeaker + # + # accessibility follows Media strategy if not in call + # + ALL + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + AvailableOutputDevices Includes WiredHeadset + + component: /Policy/policy/strategies/accessibility/selected_output_devices/mask + remote_submix = 0 + earpiece = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_sco = 0 + speaker = 0 + wired_headset = 1 + wired_headphone = 0 + line = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + usb_headset = 0 + hdmi = 0 + + conf: UsbDevice + ANY + # + # accessibility falls through Phone strategy if in call (widely speaking) + # + ALL + ANY + TelephonyMode Is InCall + TelephonyMode Is InCommunication + ForceUseForCommunication IsNot ForceSpeaker + # + # accessibility follows Media strategy if not in call + # Media strategy inverts the priority of USB device vs accessory + # + ALL + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + AvailableOutputDevices Excludes UsbAccessory + ForceUseForMedia IsNot ForceSpeaker + AvailableOutputDevices Includes UsbDevice + + component: /Policy/policy/strategies/accessibility/selected_output_devices/mask + remote_submix = 0 + earpiece = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_sco = 0 + speaker = 0 + wired_headset = 0 + wired_headphone = 0 + line = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 1 + usb_headset = 0 + hdmi = 0 + + conf: UsbAccessory + # + # accessibility falls through Phone strategy if in call (widely speaking) + # but USB accessory not reachable in call + # + # accessibility follows Media strategy if not in call + # Media strategy inverts the priority of USB device vs accessory + # + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + AvailableOutputDevices Includes UsbAccessory + + component: /Policy/policy/strategies/accessibility/selected_output_devices/mask + remote_submix = 0 + earpiece = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_sco = 0 + speaker = 0 + wired_headset = 0 + wired_headphone = 0 + line = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 1 + usb_device = 0 + usb_headset = 0 + hdmi = 0 + + conf: UsbHeadset + ANY + # + # accessibility falls through Phone strategy if in call (widely speaking) + # + ALL + ANY + TelephonyMode Is InCall + TelephonyMode Is InCommunication + ForceUseForCommunication IsNot ForceSpeaker + # + # accessibility follows Media strategy if not in call + # Media strategy inverts the priority of USB device vs accessory + # + ALL + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + AvailableOutputDevices Excludes UsbAccessory + ForceUseForMedia IsNot ForceSpeaker + AvailableOutputDevices Includes UsbHeadset + + component: /Policy/policy/strategies/accessibility/selected_output_devices/mask + remote_submix = 0 + earpiece = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_sco = 0 + speaker = 0 + wired_headset = 0 + wired_headphone = 0 + line = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + usb_headset = 1 + hdmi = 0 + + conf: DgtlDockHeadset + # + # accessibility falls through Phone strategy if in call (widely speaking) + # but DgtlDockHeadset not reachable in call + # + # accessibility follows Media strategy if not in call + # + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + AvailableOutputDevices Includes DgtlDockHeadset + + component: /Policy/policy/strategies/accessibility/selected_output_devices/mask + remote_submix = 0 + earpiece = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_sco = 0 + speaker = 0 + wired_headset = 0 + wired_headphone = 0 + line = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 1 + usb_accessory = 0 + usb_device = 0 + usb_headset = 0 + hdmi = 0 + + conf: AuxDigital + # + # accessibility falls through Phone strategy if in call (widely speaking) + # but Hdmi not reachable in call + # + # accessibility follows Media strategy if not in call + # + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + AvailableOutputDevices Includes Hdmi + + component: /Policy/policy/strategies/accessibility/selected_output_devices/mask + remote_submix = 0 + earpiece = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_sco = 0 + speaker = 0 + wired_headset = 0 + wired_headphone = 0 + line = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + usb_headset = 0 + hdmi = 1 + + conf: AnlgDockHeadset + # + # accessibility falls through Phone strategy if in call (widely speaking) + # but AnlgDockHeadset not reachable in call + # + # accessibility follows Media strategy if not in call + # Media strategy inverts the priority of USB device vs accessory + # + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + AvailableOutputDevices Includes AnlgDockHeadset + ForceUseForDock Is ForceAnalogDock + + component: /Policy/policy/strategies/accessibility/selected_output_devices/mask + remote_submix = 0 + earpiece = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_sco = 0 + speaker = 0 + wired_headset = 0 + wired_headphone = 0 + line = 0 + angl_dock_headset = 1 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + usb_headset = 0 + hdmi = 0 + + conf: Earpiece + # + # accessibility falls through Phone strategy if in call + # + ANY + TelephonyMode Is InCall + TelephonyMode Is InCommunication + AvailableOutputDevices Includes Earpiece + ForceUseForCommunication IsNot ForceSpeaker + + component: /Policy/policy/strategies/accessibility/selected_output_devices/mask + remote_submix = 0 + earpiece = 1 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_sco = 0 + speaker = 0 + wired_headset = 0 + wired_headphone = 0 + line = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + usb_headset = 0 + hdmi = 0 + + conf: Speaker + AvailableOutputDevices Includes Speaker + + component: /Policy/policy/strategies/accessibility/selected_output_devices/mask + remote_submix = 0 + earpiece = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_sco = 0 + speaker = 1 + wired_headset = 0 + wired_headphone = 0 + line = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + usb_headset = 0 + hdmi = 0 + + conf: Default + component: /Policy/policy/strategies/accessibility/selected_output_devices/mask + remote_submix = 0 + earpiece = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_sco = 0 + speaker = 0 + wired_headset = 0 + wired_headphone = 0 + line = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + usb_headset = 0 + hdmi = 0 + diff --git a/common/audio/reference_configurable_audio_policy/Settings/device_for_strategy_dtmf.pfw b/common/audio/reference_configurable_audio_policy/Settings/device_for_strategy_dtmf.pfw new file mode 100644 index 000000000..3f45887ea --- /dev/null +++ b/common/audio/reference_configurable_audio_policy/Settings/device_for_strategy_dtmf.pfw @@ -0,0 +1,682 @@ +supDomain: DeviceForStrategy + + supDomain: Dtmf + + domain: UnreachableDevices + conf: Calibration + component: /Policy/policy/strategies/dtmf/selected_output_devices/mask + fm = 0 + speaker_safe = 0 + bluetooth_sco_carkit = 0 + ip = 0 + bus = 0 + stub = 0 + + domain: Device2 + conf: RemoteSubmix + # + # DTMF follows Media strategy if not in call + # + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + AvailableOutputDevices Includes RemoteSubmix + + component: /Policy/policy/strategies/dtmf/selected_output_devices/mask + remote_submix = 1 + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + hdmi = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + usb_headset = 0 + telephony_tx = 0 + line = 0 + speaker = 0 + + conf: BluetoothA2dp + # + # DTMF follows Media strategy if not in call + # + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + ForceUseForMedia IsNot ForceNoBtA2dp + AvailableOutputDevices Includes BluetoothA2dp + + component: /Policy/policy/strategies/dtmf/selected_output_devices/mask + remote_submix = 0 + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_a2dp = 1 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + hdmi = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + usb_headset = 0 + telephony_tx = 0 + line = 0 + speaker = 0 + + conf: BluetoothA2dpHeadphones + # + # DTMF follows Media strategy if not in call + # + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + ForceUseForMedia IsNot ForceNoBtA2dp + AvailableOutputDevices Includes BluetoothA2dpHeadphones + + component: /Policy/policy/strategies/dtmf/selected_output_devices/mask + remote_submix = 0 + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 1 + bluetooth_a2dp_speaker = 0 + hdmi = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + usb_headset = 0 + telephony_tx = 0 + line = 0 + speaker = 0 + + conf: BluetoothA2dpSpeaker + # + # DTMF follows Media strategy if not in call + # + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + ForceUseForMedia IsNot ForceNoBtA2dp + AvailableOutputDevices Includes BluetoothA2dpSpeaker + + component: /Policy/policy/strategies/dtmf/selected_output_devices/mask + remote_submix = 0 + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 1 + hdmi = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + usb_headset = 0 + telephony_tx = 0 + line = 0 + speaker = 0 + + conf: ForceSpeakerWhenNotInCall + # + # DTMF follows Media strategy if not in call + # + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + ForceUseForMedia Is ForceSpeaker + ForceUseForHdmiSystemAudio IsNot ForceHdmiSystemEnforced + AvailableOutputDevices Includes Speaker + + component: /Policy/policy/strategies/dtmf/selected_output_devices/mask + remote_submix = 0 + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + hdmi = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + usb_headset = 0 + telephony_tx = 0 + line = 0 + speaker = 1 + + conf: BluetoothScoHeadset + # + # DTMF falls through Phone strategy if in call + # + ANY + TelephonyMode Is InCall + TelephonyMode Is InCommunication + AvailableOutputDevices Includes BluetoothScoHeadset + ForceUseForCommunication Is ForceBtSco + + component: /Policy/policy/strategies/dtmf/selected_output_devices/mask + remote_submix = 0 + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 1 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + hdmi = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + usb_headset = 0 + telephony_tx = 0 + line = 0 + speaker = 0 + + conf: BluetoothSco + # + # DTMF falls through Phone strategy if in call + # + ANY + TelephonyMode Is InCall + TelephonyMode Is InCommunication + AvailableOutputDevices Includes BluetoothSco + ForceUseForCommunication Is ForceBtSco + + component: /Policy/policy/strategies/dtmf/selected_output_devices/mask + remote_submix = 0 + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 1 + bluetooth_sco_headset = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + hdmi = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + usb_headset = 0 + telephony_tx = 0 + line = 0 + speaker = 0 + + conf: WiredHeadphone + ANY + # + # DTMF falls through Phone strategy if in call + # + ALL + ANY + TelephonyMode Is InCall + TelephonyMode Is InCommunication + ForceUseForCommunication IsNot ForceSpeaker + # + # DTMF follows Media strategy if not in call + # + ALL + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + AvailableOutputDevices Includes WiredHeadphone + + component: /Policy/policy/strategies/dtmf/selected_output_devices/mask + remote_submix = 0 + earpiece = 0 + wired_headset = 0 + wired_headphone = 1 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + hdmi = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + usb_headset = 0 + telephony_tx = 0 + line = 0 + speaker = 0 + + conf: Line + ANY + # + # DTMF falls through Phone strategy if in call + # but Line has a lower priority than WiredHeadset in this case. + # + ALL + ANY + TelephonyMode Is InCall + TelephonyMode Is InCommunication + ForceUseForCommunication IsNot ForceSpeaker + AvailableOutputDevices Excludes WiredHeadset + # + # DTMF follows Media strategy if not in call + # + ALL + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + AvailableOutputDevices Includes Line + + component: /Policy/policy/strategies/dtmf/selected_output_devices/mask + remote_submix = 0 + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + hdmi = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + usb_headset = 0 + telephony_tx = 0 + line = 1 + speaker = 0 + + conf: WiredHeadset + ANY + # + # DTMF falls through Phone strategy if in call + # + ALL + ANY + TelephonyMode Is InCall + TelephonyMode Is InCommunication + ForceUseForCommunication IsNot ForceSpeaker + # + # DTMF follows Media strategy if not in call + # + ALL + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + AvailableOutputDevices Includes WiredHeadset + + component: /Policy/policy/strategies/dtmf/selected_output_devices/mask + remote_submix = 0 + earpiece = 0 + wired_headset = 1 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + hdmi = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + usb_headset = 0 + telephony_tx = 0 + line = 0 + speaker = 0 + + conf: UsbDevice + ANY + # + # DTMF falls through Phone strategy if in call (widely speaking) + # + ALL + ANY + TelephonyMode Is InCall + TelephonyMode Is InCommunication + ForceUseForCommunication IsNot ForceSpeaker + # + # DTMF follows Media strategy if not in call + # Media strategy inverts the priority of USB device vs accessory + # + ALL + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + AvailableOutputDevices Excludes UsbAccessory + ForceUseForCommunication Is ForceSpeaker + AvailableOutputDevices Includes UsbDevice + + component: /Policy/policy/strategies/dtmf/selected_output_devices/mask + remote_submix = 0 + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + hdmi = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 1 + usb_headset = 0 + telephony_tx = 0 + line = 0 + speaker = 0 + + conf: UsbHeadset + ANY + # + # DTMF falls through Phone strategy if in call (widely speaking) + # + ALL + ANY + TelephonyMode Is InCall + TelephonyMode Is InCommunication + ForceUseForCommunication IsNot ForceSpeaker + # + # DTMF follows Media strategy if not in call + # Media strategy inverts the priority of USB device vs accessory + # + ALL + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + AvailableOutputDevices Excludes UsbAccessory + ForceUseForCommunication Is ForceSpeaker + AvailableOutputDevices Includes UsbHeadset + + component: /Policy/policy/strategies/dtmf/selected_output_devices/mask + remote_submix = 0 + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + hdmi = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + usb_headset = 1 + telephony_tx = 0 + line = 0 + speaker = 0 + + conf: UsbAccessory + # + # DTMF falls through Phone strategy if in call (widely speaking) + # but USB accessory not reachable in call + # + # DTMF follows Media strategy if not in call + # Media strategy inverts the priority of USB device vs accessory + # + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + AvailableOutputDevices Includes UsbAccessory + + component: /Policy/policy/strategies/dtmf/selected_output_devices/mask + remote_submix = 0 + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + hdmi = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 1 + usb_device = 0 + usb_headset = 0 + telephony_tx = 0 + line = 0 + speaker = 0 + + conf: DgtlDockHeadset + # + # DTMF falls through Phone strategy if in call (widely speaking) + # but DgtlDockHeadset not reachable in call + # + # DTMF follows Media strategy if not in call + # + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + AvailableOutputDevices Includes DgtlDockHeadset + + component: /Policy/policy/strategies/dtmf/selected_output_devices/mask + remote_submix = 0 + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + hdmi = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 1 + usb_accessory = 0 + usb_device = 0 + usb_headset = 0 + telephony_tx = 0 + line = 0 + speaker = 0 + + conf: Hdmi + # + # DTMF falls through Phone strategy if in call (widely speaking) + # but Hdmi not reachable in call + # + # DTMF follows Media strategy if not in call + # + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + AvailableOutputDevices Includes Hdmi + + component: /Policy/policy/strategies/dtmf/selected_output_devices/mask + remote_submix = 0 + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + hdmi = 1 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + usb_headset = 0 + telephony_tx = 0 + line = 0 + speaker = 0 + + conf: AnlgDockHeadset + # + # DTMF falls through Phone strategy if in call (widely speaking) + # but AnlgDockHeadset not reachable in call + # + # DTMF follows Media strategy if not in call + # Media strategy inverts the priority of USB device vs accessory + # + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + ForceUseForDock Is ForceAnalogDock + AvailableOutputDevices Includes AnlgDockHeadset + + component: /Policy/policy/strategies/dtmf/selected_output_devices/mask + remote_submix = 0 + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + hdmi = 0 + angl_dock_headset = 1 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + usb_headset = 0 + telephony_tx = 0 + line = 0 + speaker = 0 + + conf: Earpiece + # + # DTMF falls through Phone strategy if in call + # + ANY + TelephonyMode Is InCall + TelephonyMode Is InCommunication + AvailableOutputDevices Includes Earpiece + ForceUseForCommunication IsNot ForceSpeaker + + component: /Policy/policy/strategies/dtmf/selected_output_devices/mask + remote_submix = 0 + earpiece = 1 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + hdmi = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + usb_headset = 0 + telephony_tx = 0 + line = 0 + speaker = 0 + + conf: Speaker + ANY + # + # DTMF falls through Phone strategy if in call + # + ALL + ANY + TelephonyMode Is InCall + TelephonyMode Is InCommunication + ForceUseForCommunication Is ForceSpeaker + # + # DTMF follows Media strategy if not in call + # + ALL + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + ForceUseForHdmiSystemAudio IsNot ForceHdmiSystemEnforced + AvailableOutputDevices Includes Speaker + + component: /Policy/policy/strategies/dtmf/selected_output_devices/mask + remote_submix = 0 + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + hdmi = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + usb_headset = 0 + telephony_tx = 0 + line = 0 + speaker = 1 + + conf: Default + component: /Policy/policy/strategies/dtmf/selected_output_devices/mask + remote_submix = 0 + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + hdmi = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + usb_headset = 0 + telephony_tx = 0 + line = 0 + speaker = 0 + + domain: Arc + # + # DTMF strategy follows media strategy if not in call + # these following domains consists in device(s) that can co-exist with others + # e.g. ARC, SPDIF, AUX_LINE + # + conf: Selected + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + AvailableOutputDevices Includes HdmiArc + + /Policy/policy/strategies/dtmf/selected_output_devices/mask/hdmi_arc = 1 + + conf: NotSelected + /Policy/policy/strategies/dtmf/selected_output_devices/mask/hdmi_arc = 0 + + domain: Spdif + # + # DTMF strategy follows media strategy if not in call + # these following domains consists in device(s) that can co-exist with others + # e.g. ARC, SPDIF, AUX_LINE + # + conf: Selected + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + AvailableOutputDevices Includes Spdif + + /Policy/policy/strategies/dtmf/selected_output_devices/mask/spdif = 1 + + conf: NotSelected + /Policy/policy/strategies/dtmf/selected_output_devices/mask/spdif = 0 + + domain: AuxLine + # + # DTMF strategy follows media strategy if not in call + # these following domains consists in device(s) that can co-exist with others + # e.g. ARC, SPDIF, AUX_LINE + # + conf: Selected + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + AvailableOutputDevices Includes AuxLine + + /Policy/policy/strategies/dtmf/selected_output_devices/mask/aux_line = 1 + + conf: NotSelected + /Policy/policy/strategies/dtmf/selected_output_devices/mask/aux_line = 0 diff --git a/common/audio/reference_configurable_audio_policy/Settings/device_for_strategy_enforced_audible.pfw b/common/audio/reference_configurable_audio_policy/Settings/device_for_strategy_enforced_audible.pfw new file mode 100644 index 000000000..31a8b8c75 --- /dev/null +++ b/common/audio/reference_configurable_audio_policy/Settings/device_for_strategy_enforced_audible.pfw @@ -0,0 +1,395 @@ +supDomain: DeviceForStrategy + + supDomain: EnforcedAudible + + domain: UnreachableDevices + conf: Calibration + component: /Policy/policy/strategies/enforced_audible/selected_output_devices/mask + # no enforced_audible on remote submix (e.g. WFD) + hdmi_arc = 0 + spdif = 0 + aux_line = 0 + speaker_safe = 0 + ip = 0 + bus = 0 + fm = 0 + stub = 0 + + domain: Speaker + conf: Selected + # + # strategy STRATEGY_ENFORCED_AUDIBLE uses same routing policy as STRATEGY_SONIFICATION + # except: + # - when in call where it doesn't default to STRATEGY_PHONE behavior + # - in countries where not enforced in which case it follows STRATEGY_MEDIA + # + AvailableOutputDevices Includes Speaker + ANY + ForceUseForSystem Is ForceSystemEnforced + ALL + ForceUseForMedia Is ForceSpeaker + AvailableOutputDevices Excludes RemoteSubmix + ANY + ForceUseForMedia IsNot ForceNoBtA2dp + AvailableOutputDevices Excludes BluetoothA2dp + AvailableOutputDevices Excludes BluetoothA2dpHeadphones + AvailableOutputDevices Excludes BluetoothA2dpSpeaker + # + # Speaker is also the fallback device if any of the device from Device2 domain + # is selected. + # + ALL + AvailableOutputDevices Excludes RemoteSubmix + AvailableOutputDevices Excludes WiredHeadphone + AvailableOutputDevices Excludes Line + AvailableOutputDevices Excludes WiredHeadset + AvailableOutputDevices Excludes UsbAccessory + AvailableOutputDevices Excludes UsbDevice + AvailableOutputDevices Excludes DgtlDockHeadset + AvailableOutputDevices Excludes Hdmi + ANY + AvailableOutputDevices Excludes AnlgDockHeadset + ForceUseForDock IsNot ForceAnalogDock + + component: /Policy/policy/strategies/enforced_audible/selected_output_devices/mask + speaker = 1 + + conf: NotSelected + component: /Policy/policy/strategies/enforced_audible/selected_output_devices/mask + speaker = 0 + + domain: Device2 + conf: RemoteSubmix + AvailableOutputDevices Includes RemoteSubmix + + component: /Policy/policy/strategies/enforced_audible/selected_output_devices/mask + remote_submix = 1 + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + hdmi = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + usb_headset = 0 + telephony_tx = 0 + line = 0 + + conf: BluetoothA2dp + AvailableOutputDevices Includes BluetoothA2dp + ForceUseForMedia IsNot ForceNoBtA2dp + + component: /Policy/policy/strategies/enforced_audible/selected_output_devices/mask + remote_submix = 0 + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp = 1 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + hdmi = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + usb_headset = 0 + telephony_tx = 0 + line = 0 + + conf: BluetoothA2dpHeadphones + AvailableOutputDevices Includes BluetoothA2dpHeadphones + ForceUseForMedia IsNot ForceNoBtA2dp + + component: /Policy/policy/strategies/enforced_audible/selected_output_devices/mask + remote_submix = 0 + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 1 + bluetooth_a2dp_speaker = 0 + hdmi = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + usb_headset = 0 + telephony_tx = 0 + line = 0 + + conf: BluetoothA2dpSpeaker + AvailableOutputDevices Includes BluetoothA2dpSpeaker + ForceUseForMedia IsNot ForceNoBtA2dp + + component: /Policy/policy/strategies/enforced_audible/selected_output_devices/mask + remote_submix = 0 + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 1 + hdmi = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + usb_headset = 0 + telephony_tx = 0 + line = 0 + + conf: WiredHeadphone + ForceUseForMedia IsNot ForceSpeaker + AvailableOutputDevices Includes WiredHeadphone + + component: /Policy/policy/strategies/enforced_audible/selected_output_devices/mask + remote_submix = 0 + earpiece = 0 + wired_headset = 0 + wired_headphone = 1 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + hdmi = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + usb_headset = 0 + telephony_tx = 0 + line = 0 + + conf: Line + ForceUseForMedia IsNot ForceSpeaker + AvailableOutputDevices Includes Line + + component: /Policy/policy/strategies/enforced_audible/selected_output_devices/mask + remote_submix = 0 + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + hdmi = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + usb_headset = 0 + telephony_tx = 0 + line = 1 + + conf: WiredHeadset + ForceUseForMedia IsNot ForceSpeaker + AvailableOutputDevices Includes WiredHeadset + + component: /Policy/policy/strategies/enforced_audible/selected_output_devices/mask + remote_submix = 0 + earpiece = 0 + wired_headset = 1 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + hdmi = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + usb_headset = 0 + telephony_tx = 0 + line = 0 + + conf: UsbAccessory + ForceUseForMedia IsNot ForceSpeaker + AvailableOutputDevices Includes UsbAccessory + + component: /Policy/policy/strategies/enforced_audible/selected_output_devices/mask + remote_submix = 0 + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + hdmi = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 1 + usb_device = 0 + usb_headset = 0 + telephony_tx = 0 + line = 0 + + conf: UsbDevice + ForceUseForMedia IsNot ForceSpeaker + AvailableOutputDevices Includes UsbDevice + + component: /Policy/policy/strategies/enforced_audible/selected_output_devices/mask + remote_submix = 0 + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + hdmi = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 1 + usb_headset = 0 + telephony_tx = 0 + line = 0 + + conf: UsbHeadset + ForceUseForMedia IsNot ForceSpeaker + AvailableOutputDevices Includes UsbHeadset + + component: /Policy/policy/strategies/enforced_audible/selected_output_devices/mask + remote_submix = 0 + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + hdmi = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + usb_headset = 1 + telephony_tx = 0 + line = 0 + + conf: DgtlDockHeadset + ForceUseForMedia IsNot ForceSpeaker + AvailableOutputDevices Includes DgtlDockHeadset + + component: /Policy/policy/strategies/enforced_audible/selected_output_devices/mask + remote_submix = 0 + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + hdmi = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 1 + usb_accessory = 0 + usb_device = 0 + usb_headset = 0 + telephony_tx = 0 + line = 0 + + conf: Hdmi + ForceUseForMedia IsNot ForceSpeaker + AvailableOutputDevices Includes Hdmi + + component: /Policy/policy/strategies/enforced_audible/selected_output_devices/mask + remote_submix = 0 + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + hdmi = 1 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + usb_headset = 0 + telephony_tx = 0 + line = 0 + + conf: AnlgDockHeadset + ForceUseForMedia IsNot ForceSpeaker + ForceUseForDock Is ForceAnalogDock + AvailableOutputDevices Includes AnlgDockHeadset + + component: /Policy/policy/strategies/enforced_audible/selected_output_devices/mask + remote_submix = 0 + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + hdmi = 0 + angl_dock_headset = 1 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + usb_headset = 0 + telephony_tx = 0 + line = 0 + + conf: NoDevice + component: /Policy/policy/strategies/enforced_audible/selected_output_devices/mask + remote_submix = 0 + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + hdmi = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + usb_headset = 0 + telephony_tx = 0 + line = 0 + + diff --git a/common/audio/reference_configurable_audio_policy/Settings/device_for_strategy_media.pfw b/common/audio/reference_configurable_audio_policy/Settings/device_for_strategy_media.pfw new file mode 100644 index 000000000..b71555cbe --- /dev/null +++ b/common/audio/reference_configurable_audio_policy/Settings/device_for_strategy_media.pfw @@ -0,0 +1,372 @@ +domainGroup: DeviceForStrategy + + domainGroup: Media + + domain: UnreachableDevices + conf: Calibration + component: /Policy/policy/strategies/media/selected_output_devices/mask + fm = 0 + speaker_safe = 0 + earpiece = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + telephony_tx = 0 + ip = 0 + bus = 0 + stub = 0 + + domain: Device2 + conf: RemoteSubmix + AvailableOutputDevices Includes RemoteSubmix + + component: /Policy/policy/strategies/media/selected_output_devices/mask + speaker = 0 + hdmi = 0 + dgtl_dock_headset = 0 + angl_dock_headset = 0 + usb_device = 0 + usb_headset = 0 + usb_accessory = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_a2dp_speaker = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp = 0 + remote_submix = 1 + line = 0 + + conf: BluetoothA2dp + ForceUseForMedia IsNot ForceNoBtA2dp + ForceUseForCommunication IsNot ForceBtSco + AvailableOutputDevices Includes BluetoothA2dp + + component: /Policy/policy/strategies/media/selected_output_devices/mask + speaker = 0 + hdmi = 0 + dgtl_dock_headset = 0 + angl_dock_headset = 0 + usb_device = 0 + usb_headset = 0 + usb_accessory = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_a2dp_speaker = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp = 1 + remote_submix = 0 + line = 0 + + conf: BluetoothA2dpHeadphone + ForceUseForMedia IsNot ForceNoBtA2dp + ForceUseForCommunication IsNot ForceBtSco + AvailableOutputDevices Includes BluetoothA2dpHeadphones + + component: /Policy/policy/strategies/media/selected_output_devices/mask + speaker = 0 + hdmi = 0 + dgtl_dock_headset = 0 + angl_dock_headset = 0 + usb_device = 0 + usb_headset = 0 + usb_accessory = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_a2dp_speaker = 0 + bluetooth_a2dp_headphones = 1 + bluetooth_a2dp = 0 + remote_submix = 0 + line = 0 + + conf: BluetoothA2dpSpeaker + ForceUseForMedia IsNot ForceNoBtA2dp + ForceUseForCommunication IsNot ForceBtSco + AvailableOutputDevices Includes BluetoothA2dpSpeaker + + component: /Policy/policy/strategies/media/selected_output_devices/mask + speaker = 0 + hdmi = 0 + dgtl_dock_headset = 0 + angl_dock_headset = 0 + usb_device = 0 + usb_headset = 0 + usb_accessory = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_a2dp_speaker = 1 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp = 0 + remote_submix = 0 + line = 0 + + conf: ForceSpeaker + ForceUseForMedia Is ForceSpeaker + AvailableOutputDevices Includes Speaker + # + # If hdmi system audio mode is on, remove speaker out of output list. + # + ForceUseForHdmiSystemAudio IsNot ForceHdmiSystemEnforced + + component: /Policy/policy/strategies/media/selected_output_devices/mask + speaker = 1 + hdmi = 0 + dgtl_dock_headset = 0 + angl_dock_headset = 0 + usb_device = 0 + usb_headset = 0 + usb_accessory = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_a2dp_speaker = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp = 0 + remote_submix = 0 + line = 0 + + conf: WiredHeadphone + AvailableOutputDevices Includes WiredHeadphone + + component: /Policy/policy/strategies/media/selected_output_devices/mask + speaker = 0 + hdmi = 0 + dgtl_dock_headset = 0 + angl_dock_headset = 0 + usb_device = 0 + usb_headset = 0 + usb_accessory = 0 + wired_headset = 0 + wired_headphone = 1 + bluetooth_a2dp_speaker = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp = 0 + remote_submix = 0 + line = 0 + + conf: Line + AvailableOutputDevices Includes Line + + component: /Policy/policy/strategies/media/selected_output_devices/mask + speaker = 0 + hdmi = 0 + dgtl_dock_headset = 0 + angl_dock_headset = 0 + usb_device = 0 + usb_headset = 0 + usb_accessory = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_a2dp_speaker = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp = 0 + remote_submix = 0 + line = 1 + + conf: WiredHeadset + AvailableOutputDevices Includes WiredHeadset + + component: /Policy/policy/strategies/media/selected_output_devices/mask + speaker = 0 + hdmi = 0 + dgtl_dock_headset = 0 + angl_dock_headset = 0 + usb_device = 0 + usb_headset = 0 + usb_accessory = 0 + wired_headset = 1 + wired_headphone = 0 + bluetooth_a2dp_speaker = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp = 0 + remote_submix = 0 + line = 0 + + conf: UsbAccessory + AvailableOutputDevices Includes UsbAccessory + + component: /Policy/policy/strategies/media/selected_output_devices/mask + speaker = 0 + hdmi = 0 + dgtl_dock_headset = 0 + angl_dock_headset = 0 + usb_device = 0 + usb_headset = 0 + usb_accessory = 1 + wired_headset = 0 + wired_headphone = 0 + bluetooth_a2dp_speaker = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp = 0 + remote_submix = 0 + line = 0 + + conf: UsbDevice + AvailableOutputDevices Includes UsbDevice + + component: /Policy/policy/strategies/media/selected_output_devices/mask + speaker = 0 + hdmi = 0 + dgtl_dock_headset = 0 + angl_dock_headset = 0 + usb_device = 1 + usb_headset = 0 + usb_accessory = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_a2dp_speaker = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp = 0 + remote_submix = 0 + line = 0 + + conf: UsbHeadset + AvailableOutputDevices Includes UsbHeadset + + component: /Policy/policy/strategies/media/selected_output_devices/mask + speaker = 0 + hdmi = 0 + dgtl_dock_headset = 0 + angl_dock_headset = 0 + usb_device = 0 + usb_headset = 1 + usb_accessory = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_a2dp_speaker = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp = 0 + remote_submix = 0 + line = 0 + + conf: DgtlDockHeadset + AvailableOutputDevices Includes DgtlDockHeadset + + component: /Policy/policy/strategies/media/selected_output_devices/mask + speaker = 0 + hdmi = 0 + dgtl_dock_headset = 1 + angl_dock_headset = 0 + usb_device = 0 + usb_headset=0 + usb_accessory = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_a2dp_speaker = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp = 0 + remote_submix = 0 + line = 0 + + conf: AuxDigital + AvailableOutputDevices Includes Hdmi + + component: /Policy/policy/strategies/media/selected_output_devices/mask + speaker = 0 + hdmi = 1 + dgtl_dock_headset = 0 + angl_dock_headset = 0 + usb_device = 0 + usb_headset=0 + usb_accessory = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_a2dp_speaker = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp = 0 + remote_submix = 0 + line = 0 + + conf: AnlgDockHeadset + AvailableOutputDevices Includes AnlgDockHeadset + ForceUseForDock Is ForceAnalogDock + + component: /Policy/policy/strategies/media/selected_output_devices/mask + speaker = 0 + hdmi = 0 + dgtl_dock_headset = 0 + angl_dock_headset = 1 + usb_device = 0 + usb_headset=0 + usb_accessory = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_a2dp_speaker = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp = 0 + remote_submix = 0 + line = 0 + + conf: Speaker + AvailableOutputDevices Includes Speaker + # + # If hdmi system audio mode is on, remove speaker out of output list. + # + ForceUseForHdmiSystemAudio IsNot ForceHdmiSystemEnforced + ForceUseForCommunication IsNot ForceBtSco + + component: /Policy/policy/strategies/media/selected_output_devices/mask + speaker = 1 + hdmi = 0 + dgtl_dock_headset = 0 + angl_dock_headset = 0 + usb_device = 0 + usb_headset=0 + usb_accessory = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_a2dp_speaker = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp = 0 + remote_submix = 0 + line = 0 + + conf: Default + component: /Policy/policy/strategies/media/selected_output_devices/mask + speaker = 0 + hdmi = 0 + dgtl_dock_headset = 0 + angl_dock_headset = 0 + usb_device = 0 + usb_headset = 0 + usb_accessory = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_a2dp_speaker = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp = 0 + remote_submix = 0 + line = 0 + + domain: Arc + # + # these following domains consists in device(s) that can co-exist with others + # e.g. ARC, SPDIF, AUX_LINE + # + conf: Selected + AvailableOutputDevices Includes HdmiArc + + /Policy/policy/strategies/media/selected_output_devices/mask/hdmi_arc = 1 + + conf: NotSelected + /Policy/policy/strategies/media/selected_output_devices/mask/hdmi_arc = 0 + + domain: Spdif + # + # these following domains consists in device(s) that can co-exist with others + # e.g. ARC, SPDIF, AUX_LINE + # + conf: Selected + AvailableOutputDevices Includes Spdif + + /Policy/policy/strategies/media/selected_output_devices/mask/spdif = 1 + + conf: NotSelected + /Policy/policy/strategies/media/selected_output_devices/mask/spdif = 0 + + domain: AuxLine + conf: Selected + AvailableOutputDevices Includes AuxLine + + /Policy/policy/strategies/media/selected_output_devices/mask/aux_line = 1 + + conf: NotSelected + /Policy/policy/strategies/media/selected_output_devices/mask/aux_line = 0 diff --git a/common/audio/reference_configurable_audio_policy/Settings/device_for_strategy_phone.pfw b/common/audio/reference_configurable_audio_policy/Settings/device_for_strategy_phone.pfw new file mode 100644 index 000000000..35c74729f --- /dev/null +++ b/common/audio/reference_configurable_audio_policy/Settings/device_for_strategy_phone.pfw @@ -0,0 +1,539 @@ +supDomain: DeviceForStrategy + + supDomain: Phone + + domain: UnreachableDevices + conf: Calibration + component: /Policy/policy/strategies/phone/selected_output_devices/mask + # no sonification on remote submix (e.g. WFD) + remote_submix = 0 + hdmi_arc = 0 + aux_line = 0 + spdif = 0 + fm = 0 + speaker_safe = 0 + ip = 0 + bus = 0 + stub = 0 + + domain: Device + conf: ScoCarkit + AvailableOutputDevices Includes BluetoothScoCarkit + ForceUseForCommunication Is ForceBtSco + + component: /Policy/policy/strategies/phone/selected_output_devices/mask + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 1 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + hdmi = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + usb_headset = 0 + telephony_tx = 0 + line = 0 + speaker = 0 + + conf: BluetoothScoHeadset + AvailableOutputDevices Includes BluetoothScoHeadset + ForceUseForCommunication Is ForceBtSco + + component: /Policy/policy/strategies/phone/selected_output_devices/mask + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 1 + bluetooth_sco_carkit = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + hdmi = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + usb_headset = 0 + telephony_tx = 0 + line = 0 + speaker = 0 + + conf: BluetoothSco + AvailableOutputDevices Includes BluetoothSco + ForceUseForCommunication Is ForceBtSco + + component: /Policy/policy/strategies/phone/selected_output_devices/mask + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 1 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + hdmi = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + usb_headset = 0 + telephony_tx = 0 + line = 0 + speaker = 0 + + conf: BluetoothA2dp + # + # Fallback BT Sco devices in case of FORCE_BT_SCO + # or FORCE_NONE + # + AvailableOutputDevices Includes BluetoothA2dp + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + ForceUseForMedia IsNot ForceNoBtA2dp + ForceUseForCommunication Is ForceNone + + component: /Policy/policy/strategies/phone/selected_output_devices/mask + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp = 1 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + hdmi = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + usb_headset = 0 + telephony_tx = 0 + line = 0 + speaker = 0 + + conf: BluetoothA2dpHeadphones + # + # Fallback BT Sco devices in case of FORCE_BT_SCO + # or FORCE_NONE + # + AvailableOutputDevices Includes BluetoothA2dpHeadphones + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + ForceUseForMedia IsNot ForceNoBtA2dp + ForceUseForCommunication Is ForceNone + + component: /Policy/policy/strategies/phone/selected_output_devices/mask + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 1 + bluetooth_a2dp_speaker = 0 + hdmi = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + usb_headset = 0 + telephony_tx = 0 + line = 0 + speaker = 0 + + conf: BluetoothA2dpSpeaker + # + # Fallback BT Sco devices in case of FORCE_BT_SCO + # or FORCE_NONE + # + AvailableOutputDevices Includes BluetoothA2dpSpeaker + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + ForceUseForMedia IsNot ForceNoBtA2dp + ForceUseForCommunication Is ForceSpeaker + + component: /Policy/policy/strategies/phone/selected_output_devices/mask + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 1 + hdmi = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + usb_headset = 0 + telephony_tx = 0 + line = 0 + speaker = 0 + + conf: WiredHeadphone + # + # Fallback BT Sco devices in case of FORCE_BT_SCO + # or FORCE_NONE + # + AvailableOutputDevices Includes WiredHeadphone + ForceUseForCommunication IsNot ForceSpeaker + + component: /Policy/policy/strategies/phone/selected_output_devices/mask + earpiece = 0 + wired_headset = 0 + wired_headphone = 1 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + hdmi = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + usb_headset = 0 + telephony_tx = 0 + line = 0 + speaker = 0 + + conf: WiredHeadset + # + # Fallback BT Sco devices in case of FORCE_BT_SCO + # or FORCE_NONE + # + AvailableOutputDevices Includes WiredHeadset + ForceUseForCommunication IsNot ForceSpeaker + + component: /Policy/policy/strategies/phone/selected_output_devices/mask + earpiece = 0 + wired_headset = 1 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + hdmi = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + usb_headset = 0 + telephony_tx = 0 + line = 0 + speaker = 0 + + conf: Line + AvailableOutputDevices Includes Line + ForceUseForCommunication IsNot ForceSpeaker + + component: /Policy/policy/strategies/phone/selected_output_devices/mask + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + hdmi = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + usb_headset = 0 + telephony_tx = 0 + line = 1 + speaker = 0 + + conf: UsbDevice + # + # Fallback BT Sco devices in case of FORCE_BT_SCO + # or FORCE_NONE + # + AvailableOutputDevices Includes UsbDevice + ANY + ForceUseForCommunication Is ForceBtSco + ForceUseForCommunication Is ForceNone + ALL + ForceUseForCommunication Is ForceSpeaker + # + # In case of Force Speaker, priority between device and accessory are + # inverted compared to Force None or Bt Sco + # + AvailableOutputDevices Excludes UsbAccessory + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + + component: /Policy/policy/strategies/phone/selected_output_devices/mask + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + hdmi = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 1 + usb_headset = 0 + telephony_tx = 0 + line = 0 + speaker = 0 + + conf: UsbHeadset + # + # Fallback BT Sco devices in case of FORCE_BT_SCO + # or FORCE_NONE + # + AvailableOutputDevices Includes UsbHeadset + ANY + ForceUseForCommunication Is ForceBtSco + ForceUseForCommunication Is ForceNone + ALL + ForceUseForCommunication Is ForceSpeaker + # + # In case of Force Speaker, priority between device and accessory are + # inverted compared to Force None or Bt Sco + # + AvailableOutputDevices Excludes UsbAccessory + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + + component: /Policy/policy/strategies/phone/selected_output_devices/mask + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + hdmi = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + usb_headset = 1 + telephony_tx = 0 + line = 0 + speaker = 0 + + conf: UsbAccessory + # + # Fallback BT Sco devices in case of FORCE_BT_SCO + # or FORCE_NONE + # + AvailableOutputDevices Includes UsbAccessory + TelephonyMode IsNot InCommunication + TelephonyMode IsNot InCall + + component: /Policy/policy/strategies/phone/selected_output_devices/mask + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + hdmi = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 1 + usb_device = 0 + telephony_tx = 0 + line = 0 + speaker = 0 + usb_headset = 0 + + conf: DgtlDockHeadset + # + # Fallback BT Sco devices in case of FORCE_BT_SCO + # or FORCE_NONE + # + AvailableOutputDevices Includes DgtlDockHeadset + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + + component: /Policy/policy/strategies/phone/selected_output_devices/mask + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + hdmi = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 1 + usb_accessory = 0 + usb_device = 0 + usb_headset = 0 + telephony_tx = 0 + line = 0 + speaker = 0 + + conf: Hdmi + # + # Fallback BT Sco devices in case of FORCE_BT_SCO + # or FORCE_NONE + # + AvailableOutputDevices Includes Hdmi + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + + component: /Policy/policy/strategies/phone/selected_output_devices/mask + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + hdmi = 1 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + usb_headset = 0 + telephony_tx = 0 + line = 0 + speaker = 0 + + conf: AnlgDockHeadset + # + # Fallback BT Sco devices in case of FORCE_BT_SCO + # or FORCE_NONE + # + AvailableOutputDevices Includes AnlgDockHeadset + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + + component: /Policy/policy/strategies/phone/selected_output_devices/mask + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + hdmi = 0 + angl_dock_headset = 1 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + usb_headset = 0 + telephony_tx = 0 + line = 0 + speaker = 0 + + conf: Earpiece + # + # Fallback BT Sco devices in case of FORCE_BT_SCO + # or FORCE_NONE + # + AvailableOutputDevices Includes Earpiece + ForceUseForCommunication IsNot ForceSpeaker + + component: /Policy/policy/strategies/phone/selected_output_devices/mask + earpiece = 1 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + hdmi = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + usb_headset = 0 + telephony_tx = 0 + line = 0 + speaker = 0 + + conf: Speaker + # + # Fallback BT Sco devices in case of FORCE_BT_SCO + # or FORCE_NONE + # + AvailableOutputDevices Includes Speaker + ForceUseForCommunication Is ForceSpeaker + + component: /Policy/policy/strategies/phone/selected_output_devices/mask + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + hdmi = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + usb_headset = 0 + telephony_tx = 0 + line = 0 + speaker = 1 + + conf: Default + # + # Fallback on default output device which can be speaker for example + # + component: /Policy/policy/strategies/phone/selected_output_devices/mask + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + hdmi = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + usb_headset = 0 + telephony_tx = 0 + line = 0 + speaker = 1 + + diff --git a/common/audio/reference_configurable_audio_policy/Settings/device_for_strategy_rerouting.pfw b/common/audio/reference_configurable_audio_policy/Settings/device_for_strategy_rerouting.pfw new file mode 100644 index 000000000..b87f839c9 --- /dev/null +++ b/common/audio/reference_configurable_audio_policy/Settings/device_for_strategy_rerouting.pfw @@ -0,0 +1,334 @@ +domainGroup: DeviceForStrategy + + domainGroup: Rerouting + # + # Falls through media strategy + # + domain: UnreachableDevices + conf: Calibration + component: /Policy/policy/strategies/rerouting/selected_output_devices/mask + hdmi_arc = 0 + spdif = 0 + aux_line = 0 + fm = 0 + speaker_safe = 0 + earpiece = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + telephony_tx = 0 + ip = 0 + bus = 0 + stub = 0 + + domain: Device2 + conf: RemoteSubmix + AvailableOutputDevices Includes RemoteSubmix + + component: /Policy/policy/strategies/rerouting/selected_output_devices/mask + remote_submix = 1 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + speaker = 0 + wired_headset = 0 + wired_headphone = 0 + line = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + usb_headset = 0 + hdmi = 0 + + conf: BluetoothA2dp + ForceUseForMedia IsNot ForceNoBtA2dp + AvailableOutputDevices Includes BluetoothA2dp + + component: /Policy/policy/strategies/rerouting/selected_output_devices/mask + remote_submix = 0 + bluetooth_a2dp = 1 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + speaker = 0 + wired_headset = 0 + wired_headphone = 0 + line = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + usb_headset = 0 + hdmi = 0 + + conf: BluetoothA2dpHeadphone + ForceUseForMedia IsNot ForceNoBtA2dp + AvailableOutputDevices Includes BluetoothA2dpHeadphones + + component: /Policy/policy/strategies/rerouting/selected_output_devices/mask + remote_submix = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 1 + bluetooth_a2dp_speaker = 0 + speaker = 0 + wired_headset = 0 + wired_headphone = 0 + line = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + usb_headset = 0 + hdmi = 0 + + conf: BluetoothA2dpSpeaker + ForceUseForMedia IsNot ForceNoBtA2dp + AvailableOutputDevices Includes BluetoothA2dpSpeaker + + component: /Policy/policy/strategies/rerouting/selected_output_devices/mask + remote_submix = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 1 + speaker = 0 + wired_headset = 0 + wired_headphone = 0 + line = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + usb_headset = 0 + hdmi = 0 + + conf: ForceSpeaker + ForceUseForMedia Is ForceSpeaker + AvailableOutputDevices Includes Speaker + + component: /Policy/policy/strategies/rerouting/selected_output_devices/mask + remote_submix = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + speaker = 1 + wired_headset = 0 + wired_headphone = 0 + line = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + usb_headset = 0 + hdmi = 0 + + conf: WiredHeadphone + AvailableOutputDevices Includes WiredHeadphone + + component: /Policy/policy/strategies/rerouting/selected_output_devices/mask + remote_submix = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + speaker = 0 + wired_headset = 0 + wired_headphone = 1 + line = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + usb_headset = 0 + hdmi = 0 + + conf: Line + AvailableOutputDevices Includes Line + + component: /Policy/policy/strategies/rerouting/selected_output_devices/mask + remote_submix = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + speaker = 0 + wired_headset = 0 + wired_headphone = 0 + line = 1 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + usb_headset = 0 + hdmi = 0 + + conf: WiredHeadset + AvailableOutputDevices Includes WiredHeadset + + component: /Policy/policy/strategies/rerouting/selected_output_devices/mask + remote_submix = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + speaker = 0 + wired_headset = 1 + wired_headphone = 0 + line = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + usb_headset = 0 + hdmi = 0 + + conf: UsbAccessory + AvailableOutputDevices Includes UsbAccessory + + component: /Policy/policy/strategies/rerouting/selected_output_devices/mask + remote_submix = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + speaker = 0 + wired_headset = 0 + wired_headphone = 0 + line = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 1 + usb_device = 0 + usb_headset = 0 + hdmi = 0 + + conf: UsbDevice + AvailableOutputDevices Includes UsbDevice + + component: /Policy/policy/strategies/rerouting/selected_output_devices/mask + remote_submix = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + speaker = 0 + wired_headset = 0 + wired_headphone = 0 + line = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 1 + usb_headset = 0 + hdmi = 0 + + conf: UsbHeadset + AvailableOutputDevices Includes UsbHeadset + + component: /Policy/policy/strategies/rerouting/selected_output_devices/mask + remote_submix = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + speaker = 0 + wired_headset = 0 + wired_headphone = 0 + line = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + usb_headset = 1 + hdmi = 0 + + conf: DgtlDockHeadset + AvailableOutputDevices Includes DgtlDockHeadset + + component: /Policy/policy/strategies/rerouting/selected_output_devices/mask + remote_submix = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + speaker = 0 + wired_headset = 0 + wired_headphone = 0 + line = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 1 + usb_accessory = 0 + usb_device = 0 + usb_headset = 0 + hdmi = 0 + + conf: AuxDigital + # + # Rerouting is similar to media and sonification (exept here: sonification is not allowed on HDMI) + # + AvailableOutputDevices Includes Hdmi + + component: /Policy/policy/strategies/rerouting/selected_output_devices/mask + remote_submix = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + speaker = 0 + wired_headset = 0 + wired_headphone = 0 + line = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + usb_headset = 0 + hdmi = 1 + + conf: AnlgDockHeadset + AvailableOutputDevices Includes AnlgDockHeadset + ForceUseForDock Is ForceAnalogDock + + component: /Policy/policy/strategies/rerouting/selected_output_devices/mask + remote_submix = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + speaker = 0 + wired_headset = 0 + wired_headphone = 0 + line = 0 + angl_dock_headset = 1 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + usb_headset = 0 + hdmi = 0 + + conf: Speaker + AvailableOutputDevices Includes Speaker + + component: /Policy/policy/strategies/rerouting/selected_output_devices/mask + remote_submix = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + speaker = 1 + wired_headset = 0 + wired_headphone = 0 + line = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + usb_headset = 0 + hdmi = 0 + + conf: Default + component: /Policy/policy/strategies/rerouting/selected_output_devices/mask + remote_submix = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + speaker = 0 + wired_headset = 0 + wired_headphone = 0 + line = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + usb_headset = 0 + hdmi = 0 + diff --git a/common/audio/reference_configurable_audio_policy/Settings/device_for_strategy_sonification.pfw b/common/audio/reference_configurable_audio_policy/Settings/device_for_strategy_sonification.pfw new file mode 100644 index 000000000..395504d61 --- /dev/null +++ b/common/audio/reference_configurable_audio_policy/Settings/device_for_strategy_sonification.pfw @@ -0,0 +1,543 @@ +supDomain: DeviceForStrategy + + supDomain: Sonification + + domain: UnreachableDevices + conf: Calibration + component: /Policy/policy/strategies/sonification/selected_output_devices/mask + # no sonification on remote submix (e.g. WFD) + remote_submix = 0 + hdmi_arc = 0 + spdif = 0 + fm = 0 + speaker_safe = 0 + aux_line = 0 + # + # Sonification follows phone strategy if in call but HDMI is not reachable + # + hdmi = 0 + ip = 0 + bus = 0 + stub = 0 + + domain: Speaker + + conf: Selected + AvailableOutputDevices Includes Speaker + ANY + # + # Sonification falls through ENFORCED_AUDIBLE if not in call (widely speaking) + # + ALL + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + ALL + # + # Sonification follows phone strategy if in call (widely speaking) + # + ForceUseForCommunication Is ForceSpeaker + ANY + TelephonyMode Is InCall + TelephonyMode Is InCommunication + AvailableOutputDevices Excludes Line + + component: /Policy/policy/strategies/sonification/selected_output_devices/mask + speaker = 1 + + conf: NotSelected + component: /Policy/policy/strategies/sonification/selected_output_devices/mask + speaker = 0 + + domain: Device2 + + conf: BluetoothA2dp + # + # Sonification falls through media strategy if not in call (widely speaking) + # + AvailableOutputDevices Includes BluetoothA2dp + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + ForceUseForMedia IsNot ForceNoBtA2dp + + component: /Policy/policy/strategies/sonification/selected_output_devices/mask + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp = 1 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + usb_headset = 0 + telephony_tx = 0 + line = 0 + + conf: BluetoothA2dpHeadphones + # + # Sonification falls through media strategy if not in call (widely speaking) + # + AvailableOutputDevices Includes BluetoothA2dpHeadphones + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + ForceUseForMedia IsNot ForceNoBtA2dp + + component: /Policy/policy/strategies/sonification/selected_output_devices/mask + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 1 + bluetooth_a2dp_speaker = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + usb_headset = 0 + telephony_tx = 0 + line = 0 + + conf: BluetoothA2dpSpeaker + # + # Sonification falls through media strategy if not in call (widely speaking) + # + AvailableOutputDevices Includes BluetoothA2dpSpeaker + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + ForceUseForMedia IsNot ForceNoBtA2dp + + component: /Policy/policy/strategies/sonification/selected_output_devices/mask + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 1 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + usb_headset = 0 + telephony_tx = 0 + line = 0 + + conf: ScoCarkit + # + # Sonification follows phone strategy if in call (widely speaking) + # + ANY + TelephonyMode Is InCall + TelephonyMode Is InCommunication + ForceUseForCommunication Is ForceBtSco + AvailableOutputDevices Includes BluetoothScoCarkit + + component: /Policy/policy/strategies/sonification/selected_output_devices/mask + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 1 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + usb_headset = 0 + telephony_tx = 0 + line = 0 + + conf: ScoHeadset + # + # Sonification follows phone strategy if in call (widely speaking) + # + ANY + TelephonyMode Is InCall + TelephonyMode Is InCommunication + ForceUseForCommunication Is ForceBtSco + AvailableOutputDevices Includes BluetoothScoHeadset + + component: /Policy/policy/strategies/sonification/selected_output_devices/mask + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 1 + bluetooth_sco_carkit = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + usb_headset = 0 + telephony_tx = 0 + line = 0 + + conf: Sco + # + # Sonification follows phone strategy if in call (widely speaking) + # + ANY + TelephonyMode Is InCall + TelephonyMode Is InCommunication + ForceUseForCommunication Is ForceBtSco + AvailableOutputDevices Includes BluetoothSco + + component: /Policy/policy/strategies/sonification/selected_output_devices/mask + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 1 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + usb_headset = 0 + telephony_tx = 0 + line = 0 + + conf: WiredHeadphone + AvailableOutputDevices Includes WiredHeadphone + ANY + # + # Sonification falls through media strategy if not in call (widely speaking) + # + ALL + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + ForceUseForMedia IsNot ForceSpeaker + # + # Sonification follows Phone strategy if in call (widely speaking) + # + ALL + ANY + TelephonyMode Is InCall + TelephonyMode Is InCommunication + ForceUseForCommunication IsNot ForceSpeaker + + component: /Policy/policy/strategies/sonification/selected_output_devices/mask + earpiece = 0 + wired_headset = 0 + wired_headphone = 1 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + usb_headset = 0 + telephony_tx = 0 + line = 0 + + conf: Line + AvailableOutputDevices Includes Line + ANY + # + # Sonification follows Phone strategy if in call (widely speaking) + # but Line has a lower priority than WiredHeadset in this case. + # + ALL + ANY + TelephonyMode Is InCall + TelephonyMode Is InCommunication + ForceUseForCommunication IsNot ForceSpeaker + AvailableOutputDevices Excludes WiredHeadset + # + # Sonification falls through media strategy if not in call (widely speaking) + # + ALL + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + ForceUseForMedia IsNot ForceSpeaker + + component: /Policy/policy/strategies/sonification/selected_output_devices/mask + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + usb_headset = 0 + telephony_tx = 0 + line = 1 + + conf: WiredHeadset + AvailableOutputDevices Includes WiredHeadset + ANY + # + # Sonification falls through media strategy if not in call (widely speaking) + # + ALL + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + ForceUseForMedia IsNot ForceSpeaker + ALL + # + # Sonification Follows Phone Strategy if in call (widely speaking) + # + ANY + TelephonyMode Is InCall + TelephonyMode Is InCommunication + ForceUseForCommunication IsNot ForceSpeaker + + component: /Policy/policy/strategies/sonification/selected_output_devices/mask + earpiece = 0 + wired_headset = 1 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + usb_headset = 0 + telephony_tx = 0 + line = 0 + + conf: UsbDevice + AvailableOutputDevices Includes UsbDevice + ANY + # + # Sonification falls through media strategy if not in call (widely speaking) + # + ALL + AvailableOutputDevices Excludes UsbAccessory + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + ForceUseForMedia IsNot ForceSpeaker + ALL + # + # Sonification Follows Phone Strategy if in call (widely speaking) + # + ANY + TelephonyMode Is InCall + TelephonyMode Is InCommunication + ForceUseForCommunication IsNot ForceSpeaker + + component: /Policy/policy/strategies/sonification/selected_output_devices/mask + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 1 + usb_headset = 0 + telephony_tx = 0 + line = 0 + + conf: UsbHeadset + AvailableOutputDevices Includes UsbHeadset + ANY + # + # Sonification falls through media strategy if not in call (widely speaking) + # + ALL + AvailableOutputDevices Excludes UsbAccessory + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + ForceUseForMedia IsNot ForceSpeaker + ALL + # + # Sonification Follows Phone Strategy if in call (widely speaking) + # + ANY + TelephonyMode Is InCall + TelephonyMode Is InCommunication + ForceUseForCommunication IsNot ForceSpeaker + + component: /Policy/policy/strategies/sonification/selected_output_devices/mask + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + usb_headset = 1 + telephony_tx = 0 + line = 0 + + conf: UsbAccessory + AvailableOutputDevices Includes UsbAccessory + # + # Sonification falls through media strategy if not in call (widely speaking) + # + # Sonification Follows Phone Strategy if in call (widely speaking) + # but USB Accessory not reachable in call. + # + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + ForceUseForMedia IsNot ForceSpeaker + + component: /Policy/policy/strategies/sonification/selected_output_devices/mask + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 1 + usb_device = 0 + usb_headset = 0 + telephony_tx = 0 + line = 0 + + conf: DgtlDockHeadset + AvailableOutputDevices Includes DgtlDockHeadset + # + # Sonification falls through media strategy if not in call + # + # Sonification Follows Phone Strategy if in call (widely speaking) + # but DgtlDockHeadset not reachable in call. + # + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + ForceUseForMedia IsNot ForceSpeaker + + component: /Policy/policy/strategies/sonification/selected_output_devices/mask + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 1 + usb_accessory = 0 + usb_device = 0 + usb_headset = 0 + telephony_tx = 0 + line = 0 + + conf: AnlgDockHeadset + AvailableOutputDevices Includes AnlgDockHeadset + # + # Sonification falls through media strategy if not in call + # + # Sonification Follows Phone Strategy if in call (widely speaking) + # but AnlgDockHeadset not reachable in call. + # + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + ForceUseForMedia IsNot ForceSpeaker + ForceUseForDock Is ForceAnalogDock + + component: /Policy/policy/strategies/sonification/selected_output_devices/mask + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + angl_dock_headset = 1 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + usb_headset = 0 + telephony_tx = 0 + line = 0 + + conf: Earpiece + # + # Sonification Follows Phone Strategy if in call + # + ANY + TelephonyMode Is InCall + TelephonyMode Is InCommunication + ForceUseForCommunication IsNot ForceSpeaker + AvailableOutputDevices Includes Earpiece + + component: /Policy/policy/strategies/sonification/selected_output_devices/mask + earpiece = 1 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + usb_headset = 0 + telephony_tx = 0 + line = 0 + + conf: None + component: /Policy/policy/strategies/sonification/selected_output_devices/mask + earpiece = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + usb_headset = 0 + telephony_tx = 0 + line = 0 diff --git a/common/audio/reference_configurable_audio_policy/Settings/device_for_strategy_sonification_respectful.pfw b/common/audio/reference_configurable_audio_policy/Settings/device_for_strategy_sonification_respectful.pfw new file mode 100644 index 000000000..c9a3e309c --- /dev/null +++ b/common/audio/reference_configurable_audio_policy/Settings/device_for_strategy_sonification_respectful.pfw @@ -0,0 +1,591 @@ +domainGroup: DeviceForStrategy + + domainGroup: SonificationRespectful + # + # Sonificiation Respectful follows: + # - If in call: Strategy sonification (that follows phone strategy in call also...) + # - If not in call AND a music stream is active remotely: Strategy sonification (that + # follows enforced audible, which follows media) + # - if not in call and no music stream active remotely and music stream active): strategy + # media + # - Otherwise follows sonification by replacing speaker with speaker safe if speaker is + # selected. + # + # Case of stream active handled programmatically + + domain: UnreachableDevices + conf: Calibration + component: /Policy/policy/strategies/sonification_respectful/selected_output_devices/mask + remote_submix = 0 + hdmi_arc = 0 + aux_line = 0 + spdif = 0 + fm = 0 + telephony_tx = 0 + ip = 0 + bus = 0 + stub = 0 + + domain: Speakers + + conf: SpeakerSafe + AvailableOutputDevices Includes Speaker + AvailableOutputDevices Includes SpeakerSafe + # + # Follows sonification strategy if not in call and replace speaker by speaker safe + # if and only if speaker only selected + # + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + + component: /Policy/policy/strategies/sonification_respectful/selected_output_devices/mask + speaker_safe = 1 + speaker = 0 + + conf: Speaker + AvailableOutputDevices Includes Speaker + ANY + # + # Follows sonification strategy if not in call + # + ALL + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + ALL + # + # Follows Phone Strategy if call + # + ForceUseForCommunication Is ForceSpeaker + ANY + TelephonyMode Is InCall + TelephonyMode Is InCommunication + AvailableOutputDevices Excludes Line + + component: /Policy/policy/strategies/sonification_respectful/selected_output_devices/mask + speaker_safe = 0 + speaker = 1 + + conf: None + component: /Policy/policy/strategies/sonification_respectful/selected_output_devices/mask + speaker_safe = 0 + speaker = 0 + + domain: Device2 + conf: BluetoothA2dp + # + # SonificationRespectful Follows Sonification that falls through Media strategy if not in call + # SonificationRespectful follows media if music stream is active + # + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + ForceUseForMedia IsNot ForceNoBtA2dp + AvailableOutputDevices Includes BluetoothA2dp + + component: /Policy/policy/strategies/sonification_respectful/selected_output_devices/mask + earpiece = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + bluetooth_a2dp = 1 + wired_headset = 0 + wired_headphone = 0 + line = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + usb_headset = 0 + hdmi = 0 + + conf: BluetoothA2dpHeadphones + # + # SonificationRespectful Follows Sonification that falls through Media strategy if not in call + # SonificationRespectful follows media if music stream is active + # + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + ForceUseForMedia IsNot ForceNoBtA2dp + AvailableOutputDevices Includes BluetoothA2dpHeadphones + + component: /Policy/policy/strategies/sonification_respectful/selected_output_devices/mask + earpiece = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp_headphones = 1 + bluetooth_a2dp_speaker = 0 + bluetooth_a2dp = 0 + wired_headset = 0 + wired_headphone = 0 + line = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + usb_headset = 0 + hdmi = 0 + + conf: BluetoothA2dpSpeaker + # + # SonificationRespectful Follows Sonification that falls through Media strategy if not in call + # SonificationRespectful follows media if music stream is active + # + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + ForceUseForMedia IsNot ForceNoBtA2dp + AvailableOutputDevices Includes BluetoothA2dpSpeaker + + component: /Policy/policy/strategies/sonification_respectful/selected_output_devices/mask + earpiece = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 1 + bluetooth_a2dp = 0 + wired_headset = 0 + wired_headphone = 0 + line = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + usb_headset = 0 + hdmi = 0 + + conf: BluetoothScoCarkit + # + # SonificationRespectful Follows Phone strategy if in call + # + ANY + TelephonyMode Is InCall + TelephonyMode Is InCommunication + ForceUseForCommunication Is ForceBtSco + AvailableOutputDevices Includes BluetoothScoCarkit + + component: /Policy/policy/strategies/sonification_respectful/selected_output_devices/mask + earpiece = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 1 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + bluetooth_a2dp = 0 + wired_headset = 0 + wired_headphone = 0 + line = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + usb_headset = 0 + hdmi = 0 + + conf: BluetoothScoHeadset + # + # SonificationRespectful Follows Phone strategy if in call + # + ANY + TelephonyMode Is InCall + TelephonyMode Is InCommunication + ForceUseForCommunication Is ForceBtSco + AvailableOutputDevices Includes BluetoothScoHeadset + + component: /Policy/policy/strategies/sonification_respectful/selected_output_devices/mask + earpiece = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 1 + bluetooth_sco_carkit = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + bluetooth_a2dp = 0 + wired_headset = 0 + wired_headphone = 0 + line = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + usb_headset = 0 + hdmi = 0 + + conf: BluetoothSco + # + # SonificationRespectful Follows Phone strategy if in call + # + ANY + TelephonyMode Is InCall + TelephonyMode Is InCommunication + ForceUseForCommunication Is ForceBtSco + AvailableOutputDevices Includes BluetoothSco + + component: /Policy/policy/strategies/sonification_respectful/selected_output_devices/mask + earpiece = 0 + bluetooth_sco = 1 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + bluetooth_a2dp = 0 + wired_headset = 0 + wired_headphone = 0 + line = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + usb_headset = 0 + hdmi = 0 + + conf: WiredHeadphone + ANY + ALL + # + # SonificationRespectful Follows Phone strategy if in call + # + ANY + TelephonyMode Is InCall + TelephonyMode Is InCommunication + ForceUseForCommunication IsNot ForceSpeaker + ALL + # + # SonificationRespectful Follows Sonification that falls through Media strategy if not in call + # SonificationRespectful follows media if music stream is active + # + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + ForceUseForMedia IsNot ForceSpeaker + AvailableOutputDevices Includes WiredHeadphone + + component: /Policy/policy/strategies/sonification_respectful/selected_output_devices/mask + earpiece = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + bluetooth_a2dp = 0 + wired_headset = 0 + wired_headphone = 1 + line = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + usb_headset = 0 + hdmi = 0 + + conf: Line + ANY + # + # SonificationRespectful Follows Phone strategy if in call + # but Line has a lower priority than WiredHeadset in this case. + # + # + ALL + ANY + TelephonyMode Is InCall + TelephonyMode Is InCommunication + ForceUseForCommunication IsNot ForceSpeaker + AvailableOutputDevices Excludes WiredHeadset + # + # SonificationRespectful Follows Sonification that falls through Media strategy if not in call + # SonificationRespectful follows media if music stream is active + # + ALL + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + AvailableOutputDevices Includes WiredHeadphone + ForceUseForMedia IsNot ForceSpeaker + AvailableOutputDevices Includes Line + + component: /Policy/policy/strategies/sonification_respectful/selected_output_devices/mask + earpiece = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + bluetooth_a2dp = 0 + wired_headset = 0 + wired_headphone = 0 + line = 1 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + usb_headset = 0 + hdmi = 0 + + conf: WiredHeadset + ANY + ALL + # + # SonificationRespectful Follows Phone strategy if in call + # + ANY + TelephonyMode Is InCall + TelephonyMode Is InCommunication + ForceUseForCommunication IsNot ForceSpeaker + ALL + # + # SonificationRespectful Follows Sonification that falls through Media strategy if not in call + # SonificationRespectful follows media if music stream is active + # + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + ForceUseForMedia IsNot ForceSpeaker + AvailableOutputDevices Includes WiredHeadset + + component: /Policy/policy/strategies/sonification_respectful/selected_output_devices/mask + earpiece = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + bluetooth_a2dp = 0 + wired_headset = 1 + wired_headphone = 0 + line = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + usb_headset = 0 + hdmi = 0 + + conf: UsbDevice + ANY + ALL + # + # SonificationRespectful Follows Phone strategy if in call + # + ANY + TelephonyMode Is InCall + TelephonyMode Is InCommunication + ForceUseForCommunication IsNot ForceSpeaker + ALL + # + # SonificationRespectful Follows Sonification that falls through Media strategy if not in call + # SonificationRespectful follows media if music stream is active + # + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + ForceUseForMedia IsNot ForceSpeaker + AvailableOutputDevices Excludes UsbAccessory + AvailableOutputDevices Includes UsbDevice + + component: /Policy/policy/strategies/sonification_respectful/selected_output_devices/mask + earpiece = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + bluetooth_a2dp = 0 + wired_headset = 0 + wired_headphone = 0 + line = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 1 + hdmi = 0 + usb_headset = 0 + + conf: UsbHeadset + ANY + ALL + # + # SonificationRespectful Follows Phone strategy if in call + # + ANY + TelephonyMode Is InCall + TelephonyMode Is InCommunication + ForceUseForCommunication IsNot ForceSpeaker + ALL + # + # SonificationRespectful Follows Sonification that falls through Media strategy if not in call + # SonificationRespectful follows media if music stream is active + # + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + ForceUseForMedia IsNot ForceSpeaker + AvailableOutputDevices Excludes UsbAccessory + AvailableOutputDevices Includes UsbHeadset + + component: /Policy/policy/strategies/sonification_respectful/selected_output_devices/mask + earpiece = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + bluetooth_a2dp = 0 + wired_headset = 0 + wired_headphone = 0 + line = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + usb_headset = 1 + hdmi = 0 + + + conf: UsbAccessory + # + # SonificationRespectful Follows Phone strategy if in call (widely speaking) + # but UsbAccessory not reachable in call. + # + # SonificationRespectful Follows Sonification that falls through Media strategy if not in call + # SonificationRespectful follows media if music stream is active + # + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + ForceUseForMedia IsNot ForceSpeaker + AvailableOutputDevices Includes UsbAccessory + + component: /Policy/policy/strategies/sonification_respectful/selected_output_devices/mask + earpiece = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + bluetooth_a2dp = 0 + wired_headset = 0 + wired_headphone = 0 + line = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 1 + usb_device = 0 + usb_headset = 0 + hdmi = 0 + + conf: DgtlDockHeadset + # + # SonificationRespectful Follows Phone strategy if in call (widely speaking) + # but DgtlDockHeadset not reachable in call. + # + # SonificationRespectful Follows Sonification that falls through Media strategy if not in call + # SonificationRespectful follows media if music stream is active + # + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + ForceUseForMedia IsNot ForceSpeaker + AvailableOutputDevices Includes DgtlDockHeadset + + component: /Policy/policy/strategies/sonification_respectful/selected_output_devices/mask + earpiece = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + bluetooth_a2dp = 0 + wired_headset = 0 + wired_headphone = 0 + line = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 1 + usb_accessory = 0 + usb_device = 0 + usb_headset = 0 + hdmi = 0 + + conf: AuxDigital + # + # SonificationRespectful Follows Phone strategy if in call (widely speaking) + # but HDMI not reachable in call. + # + # SonificationRespectful Follows Sonification that falls through Media strategy if not in call + # SonificationRespectful follows media if music stream is active + # + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + ForceUseForMedia IsNot ForceSpeaker + AvailableOutputDevices Includes Hdmi + + component: /Policy/policy/strategies/sonification_respectful/selected_output_devices/mask + earpiece = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + bluetooth_a2dp = 0 + wired_headset = 0 + wired_headphone = 0 + line = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + usb_headset = 0 + hdmi = 1 + + conf: AnlgDockHeadset + # + # SonificationRespectful Follows Phone strategy if in call (widely speaking) + # but AnlgDockHeadset not reachable in call. + # + # SonificationRespectful Follows Sonification that falls through Media strategy if not in call + # SonificationRespectful follows media if music stream is active + # + TelephonyMode IsNot InCall + TelephonyMode IsNot InCommunication + ForceUseForMedia IsNot ForceSpeaker + ForceUseForDock Is ForceAnalogDock + AvailableOutputDevices Includes AnlgDockHeadset + + component: /Policy/policy/strategies/sonification_respectful/selected_output_devices/mask + earpiece = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + bluetooth_a2dp = 0 + wired_headset = 0 + wired_headphone = 0 + line = 0 + angl_dock_headset = 1 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + usb_headset = 0 + hdmi = 0 + + conf: Earpiece + # + # SonificationRespectful Follows Phone strategy if in call + # + ANY + TelephonyMode Is InCall + TelephonyMode Is InCommunication + ForceUseForCommunication IsNot ForceSpeaker + AvailableOutputDevices Includes Earpiece + + component: /Policy/policy/strategies/sonification_respectful/selected_output_devices/mask + earpiece = 1 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + bluetooth_a2dp = 0 + wired_headset = 0 + wired_headphone = 0 + line = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + usb_headset = 0 + hdmi = 0 + diff --git a/common/audio/reference_configurable_audio_policy/Settings/device_for_strategy_transmitted_through_speaker.pfw b/common/audio/reference_configurable_audio_policy/Settings/device_for_strategy_transmitted_through_speaker.pfw new file mode 100644 index 000000000..9f9c21196 --- /dev/null +++ b/common/audio/reference_configurable_audio_policy/Settings/device_for_strategy_transmitted_through_speaker.pfw @@ -0,0 +1,43 @@ +supDomain: DeviceForStrategy + + supDomain: TransmittedThroughSpeaker + domain: UnreacheableDevices + conf: Calibration + component: /Policy/policy/strategies/transmitted_through_speaker/selected_output_devices/mask + remote_submix = 0 + hdmi_arc = 0 + spdif = 0 + aux_line = 0 + fm = 0 + speaker_safe = 0 + earpiece = 0 + wired_headset = 1 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp = 0 + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + hdmi = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + telephony_tx = 0 + line = 0 + ip = 0 + bus = 0 + stub = 0 + + domain: Speaker + conf: Selected + AvailableOutputDevices Includes Speaker + + component: /Policy/policy/strategies/transmitted_through_speaker/selected_output_devices/mask + speaker = 1 + + conf: NotSelected + component: /Policy/policy/strategies/transmitted_through_speaker/selected_output_devices/mask + speaker = 0 + diff --git a/common/audio/reference_configurable_audio_policy/Settings/strategy_for_stream.pfw b/common/audio/reference_configurable_audio_policy/Settings/strategy_for_stream.pfw new file mode 100644 index 000000000..3940b9daf --- /dev/null +++ b/common/audio/reference_configurable_audio_policy/Settings/strategy_for_stream.pfw @@ -0,0 +1,20 @@ +domain: StrategyForStream + + conf: Calibration + /Policy/policy/streams/voice_call/applicable_strategy/strategy = phone + # + # NOTE: SYSTEM stream uses MEDIA strategy because muting music and switching outputs + # while key clicks are played produces a poor result + # + /Policy/policy/streams/system/applicable_strategy/strategy = media + /Policy/policy/streams/ring/applicable_strategy/strategy = sonification + /Policy/policy/streams/music/applicable_strategy/strategy = media + /Policy/policy/streams/alarm/applicable_strategy/strategy = sonification + /Policy/policy/streams/notification/applicable_strategy/strategy = sonification_respectful + /Policy/policy/streams/bluetooth_sco/applicable_strategy/strategy = phone + /Policy/policy/streams/enforced_audible/applicable_strategy/strategy = enforced_audible + /Policy/policy/streams/dtmf/applicable_strategy/strategy = dtmf + /Policy/policy/streams/tts/applicable_strategy/strategy = transmitted_through_speaker + /Policy/policy/streams/accessibility/applicable_strategy/strategy = accessibility + /Policy/policy/streams/rerouting/applicable_strategy/strategy = rerouting + diff --git a/common/audio/reference_configurable_audio_policy/Settings/strategy_for_usage.pfw b/common/audio/reference_configurable_audio_policy/Settings/strategy_for_usage.pfw new file mode 100644 index 000000000..3f5da135f --- /dev/null +++ b/common/audio/reference_configurable_audio_policy/Settings/strategy_for_usage.pfw @@ -0,0 +1,39 @@ +supDomain: SelectedStrategyForUsages + + domain: Calibration + conf: Calibration + /Policy/policy/usages/unknown/applicable_strategy/strategy = media + /Policy/policy/usages/media/applicable_strategy/strategy = media + /Policy/policy/usages/voice_communication/applicable_strategy/strategy = phone + /Policy/policy/usages/voice_communication_signalling/applicable_strategy/strategy = dtmf + /Policy/policy/usages/alarm/applicable_strategy/strategy = sonification + /Policy/policy/usages/notification/applicable_strategy/strategy = sonification_respectful + /Policy/policy/usages/notification_telephony_ringtone/applicable_strategy/strategy = sonification + /Policy/policy/usages/notification_communication_request/applicable_strategy/strategy = sonification_respectful + /Policy/policy/usages/notification_communication_instant/applicable_strategy/strategy = sonification_respectful + /Policy/policy/usages/notification_communication_delayed/applicable_strategy/strategy = sonification_respectful + /Policy/policy/usages/notification_event/applicable_strategy/strategy = sonification_respectful + /Policy/policy/usages/assistance_navigation_guidance/applicable_strategy/strategy = media + /Policy/policy/usages/assistance_sonification/applicable_strategy/strategy = media + /Policy/policy/usages/game/applicable_strategy/strategy = media + + domain: AssistanceAccessibility + conf: Sonification + # + # In case of Ring or Alarm stream type active, switching to sonification + # @todo: handle this dynamic case. As a WA, using Ringtone mode... + # + TelephonyMode Is RingTone + + /Policy/policy/usages/assistance_accessibility/applicable_strategy/strategy = sonification + + conf: Phone + ANY + TelephonyMode Is InCall + TelephonyMode Is InCommunication + + /Policy/policy/usages/assistance_accessibility/applicable_strategy/strategy = phone + + conf: Accessibility + /Policy/policy/usages/assistance_accessibility/applicable_strategy/strategy = accessibility + diff --git a/common/audio/reference_configurable_audio_policy/Settings/volumes.pfw b/common/audio/reference_configurable_audio_policy/Settings/volumes.pfw new file mode 100644 index 000000000..7db4537b5 --- /dev/null +++ b/common/audio/reference_configurable_audio_policy/Settings/volumes.pfw @@ -0,0 +1,28 @@ +supDomain: VolumeProfilesForStream + domain: Calibration + conf: Calibration + /Policy/policy/streams/voice_call/applicable_volume_profile/volume_profile = voice_call + /Policy/policy/streams/system/applicable_volume_profile/volume_profile = system + /Policy/policy/streams/ring/applicable_volume_profile/volume_profile = ring + /Policy/policy/streams/music/applicable_volume_profile/volume_profile = music + /Policy/policy/streams/alarm/applicable_volume_profile/volume_profile = alarm + /Policy/policy/streams/notification/applicable_volume_profile/volume_profile = notification + /Policy/policy/streams/bluetooth_sco/applicable_volume_profile/volume_profile = bluetooth_sco + /Policy/policy/streams/enforced_audible/applicable_volume_profile/volume_profile = enforced_audible + /Policy/policy/streams/tts/applicable_volume_profile/volume_profile = tts + /Policy/policy/streams/accessibility/applicable_volume_profile/volume_profile = accessibility + /Policy/policy/streams/rerouting/applicable_volume_profile/volume_profile = rerouting + /Policy/policy/streams/patch/applicable_volume_profile/volume_profile = patch + + domain: Dtmf + conf: InCall + ANY + TelephonyMode Is InCall + TelephonyMode Is InCommunication + + /Policy/policy/streams/dtmf/applicable_volume_profile/volume_profile = voice_call + + conf: OutOfCall + /Policy/policy/streams/dtmf/applicable_volume_profile/volume_profile = dtmf + + diff --git a/common/audio/reference_configurable_audio_policy/SettingsNoInput/device_for_input_source.pfw b/common/audio/reference_configurable_audio_policy/SettingsNoInput/device_for_input_source.pfw new file mode 100644 index 000000000..611d8f575 --- /dev/null +++ b/common/audio/reference_configurable_audio_policy/SettingsNoInput/device_for_input_source.pfw @@ -0,0 +1,285 @@ +supDomain: DeviceForInputSource + domain: Calibration + conf: Calibration + # + # Note that ALL input devices must have the sign bit set to 1. + # As the devices is a mask, use the "in" bit as a direction indicator. + # + component: /Policy/policy/input_sources/default/applicable_input_device/mask + communication = 0 + ambient = 0 + builtin_mic = 0 + bluetooth_sco_headset = 0 + wired_headset = 0 + hdmi = 0 + telephony_rx = 0 + back_mic = 0 + remote_submix = 0 + anlg_dock_headset = 0 + dgtl_dock_headset = 0> + usb_accessory = 0 + usb_device = 0 + fm_tuner = 0 + tv_tuner = 0 + line = 0 + spdif = 0 + bluetooth_a2dp = 0 + loopback = 0 + ip = 0 + bus = 0 + stub = 1 + component: /Policy/policy/input_sources/mic/applicable_input_device/mask + communication = 0 + ambient = 0 + builtin_mic = 0 + bluetooth_sco_headset = 0 + wired_headset = 0 + hdmi = 0 + telephony_rx = 0 + back_mic = 0 + remote_submix = 0 + anlg_dock_headset = 0 + dgtl_dock_headset = 0> + usb_accessory = 0 + usb_device = 0 + fm_tuner = 0 + tv_tuner = 0 + line = 0 + spdif = 0 + bluetooth_a2dp = 0 + loopback = 0 + ip = 0 + bus = 0 + stub = 1 + component: /Policy/policy/input_sources/voice_downlink/applicable_input_device/mask + communication = 0 + ambient = 0 + builtin_mic = 0 + bluetooth_sco_headset = 0 + wired_headset = 0 + hdmi = 0 + telephony_rx = 0 + back_mic = 0 + remote_submix = 0 + anlg_dock_headset = 0 + dgtl_dock_headset = 0> + usb_accessory = 0 + usb_device = 0 + fm_tuner = 0 + tv_tuner = 0 + line = 0 + spdif = 0 + bluetooth_a2dp = 0 + loopback = 0 + ip = 0 + bus = 0 + stub = 1 + component: /Policy/policy/input_sources/voice_call/applicable_input_device/mask + communication = 0 + ambient = 0 + builtin_mic = 0 + bluetooth_sco_headset = 0 + wired_headset = 0 + hdmi = 0 + telephony_rx = 0 + back_mic = 0 + remote_submix = 0 + anlg_dock_headset = 0 + dgtl_dock_headset = 0> + usb_accessory = 0 + usb_device = 0 + fm_tuner = 0 + tv_tuner = 0 + line = 0 + spdif = 0 + bluetooth_a2dp = 0 + loopback = 0 + ip = 0 + bus = 0 + stub = 1 + component: /Policy/policy/input_sources/voice_uplink/applicable_input_device/mask + communication = 0 + ambient = 0 + builtin_mic = 0 + bluetooth_sco_headset = 0 + wired_headset = 0 + hdmi = 0 + telephony_rx = 0 + back_mic = 0 + remote_submix = 0 + anlg_dock_headset = 0 + dgtl_dock_headset = 0> + usb_accessory = 0 + usb_device = 0 + fm_tuner = 0 + tv_tuner = 0 + line = 0 + spdif = 0 + bluetooth_a2dp = 0 + loopback = 0 + ip = 0 + bus = 0 + stub = 1 + component: /Policy/policy/input_sources/camcorder/applicable_input_device/mask + communication = 0 + ambient = 0 + builtin_mic = 0 + bluetooth_sco_headset = 0 + wired_headset = 0 + hdmi = 0 + telephony_rx = 0 + back_mic = 0 + remote_submix = 0 + anlg_dock_headset = 0 + dgtl_dock_headset = 0> + usb_accessory = 0 + usb_device = 0 + fm_tuner = 0 + tv_tuner = 0 + line = 0 + spdif = 0 + bluetooth_a2dp = 0 + loopback = 0 + ip = 0 + bus = 0 + stub = 1 + component: /Policy/policy/input_sources/voice_recognition/applicable_input_device/mask + communication = 0 + ambient = 0 + builtin_mic = 0 + bluetooth_sco_headset = 0 + wired_headset = 0 + hdmi = 0 + telephony_rx = 0 + back_mic = 0 + remote_submix = 0 + anlg_dock_headset = 0 + dgtl_dock_headset = 0> + usb_accessory = 0 + usb_device = 0 + fm_tuner = 0 + tv_tuner = 0 + line = 0 + spdif = 0 + bluetooth_a2dp = 0 + loopback = 0 + ip = 0 + bus = 0 + stub = 1 + component: /Policy/policy/input_sources/voice_communication/applicable_input_device/mask + communication = 0 + ambient = 0 + builtin_mic = 0 + bluetooth_sco_headset = 0 + wired_headset = 0 + hdmi = 0 + telephony_rx = 0 + back_mic = 0 + remote_submix = 0 + anlg_dock_headset = 0 + dgtl_dock_headset = 0> + usb_accessory = 0 + usb_device = 0 + fm_tuner = 0 + tv_tuner = 0 + line = 0 + spdif = 0 + bluetooth_a2dp = 0 + loopback = 0 + ip = 0 + bus = 0 + stub = 1 + component: /Policy/policy/input_sources/remote_submix/applicable_input_device/mask + communication = 0 + ambient = 0 + builtin_mic = 0 + bluetooth_sco_headset = 0 + wired_headset = 0 + hdmi = 0 + telephony_rx = 0 + back_mic = 0 + remote_submix = 0 + anlg_dock_headset = 0 + dgtl_dock_headset = 0> + usb_accessory = 0 + usb_device = 0 + fm_tuner = 0 + tv_tuner = 0 + line = 0 + spdif = 0 + bluetooth_a2dp = 0 + loopback = 0 + ip = 0 + bus = 0 + stub = 1 + component: /Policy/policy/input_sources/hotword/applicable_input_device/mask + communication = 0 + ambient = 0 + builtin_mic = 0 + bluetooth_sco_headset = 0 + wired_headset = 0 + hdmi = 0 + telephony_rx = 0 + back_mic = 0 + remote_submix = 0 + anlg_dock_headset = 0 + dgtl_dock_headset = 0> + usb_accessory = 0 + usb_device = 0 + fm_tuner = 0 + tv_tuner = 0 + line = 0 + spdif = 0 + bluetooth_a2dp = 0 + loopback = 0 + ip = 0 + bus = 0 + stub = 1 + component: /Policy/policy/input_sources/unprocessed/applicable_input_device/mask + communication = 0 + ambient = 0 + builtin_mic = 0 + bluetooth_sco_headset = 0 + wired_headset = 0 + hdmi = 0 + telephony_rx = 0 + back_mic = 0 + remote_submix = 0 + anlg_dock_headset = 0 + dgtl_dock_headset = 0> + usb_accessory = 0 + usb_device = 0 + fm_tuner = 0 + tv_tuner = 0 + line = 0 + spdif = 0 + bluetooth_a2dp = 0 + loopback = 0 + ip = 0 + bus = 0 + stub = 1 + component: /Policy/policy/input_sources/fm_tuner/applicable_input_device/mask + communication = 0 + ambient = 0 + builtin_mic = 0 + bluetooth_sco_headset = 0 + wired_headset = 0 + hdmi = 0 + telephony_rx = 0 + back_mic = 0 + remote_submix = 0 + anlg_dock_headset = 0 + dgtl_dock_headset = 0> + usb_accessory = 0 + usb_device = 0 + fm_tuner = 0 + tv_tuner = 0 + line = 0 + spdif = 0 + bluetooth_a2dp = 0 + loopback = 0 + ip = 0 + bus = 0 + stub = 1 + + diff --git a/common/audio/reference_configurable_audio_policy/SettingsNoOutput/device_for_strategies.pfw b/common/audio/reference_configurable_audio_policy/SettingsNoOutput/device_for_strategies.pfw new file mode 100644 index 000000000..917d4a761 --- /dev/null +++ b/common/audio/reference_configurable_audio_policy/SettingsNoOutput/device_for_strategies.pfw @@ -0,0 +1,255 @@ +domain: DeviceForStrategy + conf: Calibration + component: /Policy/policy/strategies + component: media/selected_output_devices/mask + earpiece = 0 + speaker = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp = 0> + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + hdmi = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + remote_submix = 0 + telephony_tx = 0 + line = 0 + hdmi_arc = 0 + spdif = 0 + fm = 0 + aux_line = 0 + speaker_safe = 0 + ip = 0 + bus = 0 + stub = 1 + + component: phone/selected_output_devices/mask + earpiece = 0 + speaker = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp = 0> + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + hdmi = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + remote_submix = 0 + telephony_tx = 0 + line = 0 + hdmi_arc = 0 + spdif = 0 + fm = 0 + aux_line = 0 + speaker_safe = 0 + ip = 0 + bus = 0 + stub = 1 + + component: sonification/selected_output_devices/mask + earpiece = 0 + speaker = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp = 0> + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + hdmi = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + remote_submix = 0 + telephony_tx = 0 + line = 0 + hdmi_arc = 0 + spdif = 0 + fm = 0 + aux_line = 0 + speaker_safe = 0 + ip = 0 + bus = 0 + stub = 1 + + component: sonification_respectful/selected_output_devices/mask + earpiece = 0 + speaker = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp = 0> + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + hdmi = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + remote_submix = 0 + telephony_tx = 0 + line = 0 + hdmi_arc = 0 + spdif = 0 + fm = 0 + aux_line = 0 + speaker_safe = 0 + ip = 0 + bus = 0 + stub = 1 + + component: dtmf/selected_output_devices/mask + earpiece = 0 + speaker = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp = 0> + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + hdmi = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + remote_submix = 0 + telephony_tx = 0 + line = 0 + hdmi_arc = 0 + spdif = 0 + fm = 0 + aux_line = 0 + speaker_safe = 0 + ip = 0 + bus = 0 + stub = 1 + + component: enforced_audible/selected_output_devices/mask + earpiece = 0 + speaker = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp = 0> + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + hdmi = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + remote_submix = 0 + telephony_tx = 0 + line = 0 + hdmi_arc = 0 + spdif = 0 + fm = 0 + aux_line = 0 + speaker_safe = 0 + ip = 0 + bus = 0 + stub = 1 + + component: transmitted_through_speaker/selected_output_devices/mask + earpiece = 0 + speaker = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp = 0> + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + hdmi = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + remote_submix = 0 + telephony_tx = 0 + line = 0 + hdmi_arc = 0 + spdif = 0 + fm = 0 + aux_line = 0 + speaker_safe = 0 + ip = 0 + bus = 0 + stub = 1 + + component: accessibility/selected_output_devices/mask + earpiece = 0 + speaker = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp = 0> + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + hdmi = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + remote_submix = 0 + telephony_tx = 0 + line = 0 + hdmi_arc = 0 + spdif = 0 + fm = 0 + aux_line = 0 + speaker_safe = 0 + ip = 0 + bus = 0 + stub = 1 + + component: rerouting/selected_output_devices/mask + earpiece = 0 + speaker = 0 + wired_headset = 0 + wired_headphone = 0 + bluetooth_sco = 0 + bluetooth_sco_headset = 0 + bluetooth_sco_carkit = 0 + bluetooth_a2dp = 0> + bluetooth_a2dp_headphones = 0 + bluetooth_a2dp_speaker = 0 + hdmi = 0 + angl_dock_headset = 0 + dgtl_dock_headset = 0 + usb_accessory = 0 + usb_device = 0 + remote_submix = 0 + telephony_tx = 0 + line = 0 + hdmi_arc = 0 + spdif = 0 + fm = 0 + aux_line = 0 + speaker_safe = 0 + ip = 0 + bus = 0 + stub = 1 + diff --git a/common/audio/reference_configurable_audio_policy/Structure/PolicyClass.xml b/common/audio/reference_configurable_audio_policy/Structure/PolicyClass.xml new file mode 100644 index 000000000..296879f31 --- /dev/null +++ b/common/audio/reference_configurable_audio_policy/Structure/PolicyClass.xml @@ -0,0 +1,5 @@ + + + + diff --git a/common/audio/reference_configurable_audio_policy/Structure/PolicySubsystem-CommonTypes.xml b/common/audio/reference_configurable_audio_policy/Structure/PolicySubsystem-CommonTypes.xml new file mode 100644 index 000000000..9d6c6caf5 --- /dev/null +++ b/common/audio/reference_configurable_audio_policy/Structure/PolicySubsystem-CommonTypes.xml @@ -0,0 +1,200 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/common/audio/reference_configurable_audio_policy/Structure/PolicySubsystem.xml b/common/audio/reference_configurable_audio_policy/Structure/PolicySubsystem.xml new file mode 100644 index 000000000..71b2b6238 --- /dev/null +++ b/common/audio/reference_configurable_audio_policy/Structure/PolicySubsystem.xml @@ -0,0 +1,139 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/common/audio/reference_configurable_audio_policy/policy_criteria.txt b/common/audio/reference_configurable_audio_policy/policy_criteria.txt new file mode 100644 index 000000000..32bae9599 --- /dev/null +++ b/common/audio/reference_configurable_audio_policy/policy_criteria.txt @@ -0,0 +1,10 @@ +ExclusiveCriterion TelephonyMode : Normal RingTone InCall InCommunication +InclusiveCriterion AvailableInputDevices : Communication Ambient BuiltinMic BluetoothScoHeadset WiredHeadset Hdmi TelephonyRx BackMic RemoteSubmix AnlgDockHeadset DgtlDockHeadset UsbAccessory UsbDevice FmTuner TvTuner Line Spdif BluetoothA2dp Loopback Ip Bus Stub UsbHeadset +InclusiveCriterion AvailableOutputDevices : Earpiece Speaker WiredSpeaker WiredHeadset WiredHeadphone BluetoothSco BluetoothScoHeadset BluetoothScoCarkit BluetoothA2dp BluetoothA2dpHeadphones BluetoothA2dpSpeaker Hdmi AnlgDockHeadset DgtlDockHeadset UsbAccessory UsbDevice RemoteSubmix TelephonyTx Line HdmiArc Spdif Fm AuxLine SpeakerSafe Ip Bus Stub UsbHeadset +ExclusiveCriterion ForceUseForCommunication : ForceNone ForceSpeaker ForceBtSco +ExclusiveCriterion ForceUseForMedia : ForceNone ForceSpeaker ForceHeadphones ForceBtA2dp ForceWiredAccessory ForceAnalogDock ForceDigitalDock ForceNoBtA2dp ForceSystemEnforced +ExclusiveCriterion ForceUseForRecord : ForceNone ForceBtSco ForceWiredAccessory +ExclusiveCriterion ForceUseForDock : ForceNone ForceWiredAccessory ForceBtCarDock ForceBtDeskDock ForceAnalogDock ForceDigitalDock +ExclusiveCriterion ForceUseForSystem : ForceNone ForceSystemEnforced +ExclusiveCriterion ForceUseForHdmiSystemAudio : ForceNone ForceHdmiSystemEnforced +ExclusiveCriterion ForceUseForEncodedSurround : ForceNone ForceEncodedSurroundNever ForceEncodedSurroundAlways diff --git a/common/audio/stub/mixer_paths_0.xml b/common/audio/stub/mixer_paths_0.xml new file mode 100644 index 000000000..0661ef118 --- /dev/null +++ b/common/audio/stub/mixer_paths_0.xml @@ -0,0 +1,3 @@ + + + diff --git a/common/audio/stub/policy/audio_policy_configuration.xml b/common/audio/stub/policy/audio_policy_configuration.xml new file mode 100644 index 000000000..eb96f32c7 --- /dev/null +++ b/common/audio/stub/policy/audio_policy_configuration.xml @@ -0,0 +1,65 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/common/camera-ext/external_camera_config.xml b/common/camera-ext/external_camera_config.xml new file mode 100644 index 000000000..adbf8258b --- /dev/null +++ b/common/camera-ext/external_camera_config.xml @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/common/firmware.mk b/common/firmware.mk index 0a3c31b22..a238d6027 100644 --- a/common/firmware.mk +++ b/common/firmware.mk @@ -14,7 +14,33 @@ # limitations under the License. # -LOCAL_FIRMWARES ?= $(filter-out $(FIRMWARE_FILTERS),$(subst ./,,$(shell cd $(FIRMWARES_DIR) && find . -type f))) +## List of Firmware bin files to be copied + +LOCAL_FIRMWARE_SRC := \ + i6050-fw-usb-1.5.sbcf \ + i2400m-fw-usb-1.4.sbcf \ + i2400m-fw-usb-1.5.sbcf \ + iwlwifi-3168-29.ucode \ + iwlwifi-8265-31.ucode \ + iwlwifi-9000-pu-b0-jf-b0-38.ucode \ + iwlwifi-9000-pu-b0-jf-b0-41.ucode \ + iwlwifi-9260-th-b0-jf-b0-38.ucode \ + iwlwifi-9260-th-b0-jf-b0-41.ucode \ + iwlwifi-9260-th-b0-jf-b0-43.ucode + +## List of complete Firmware folders to be copied + +LOCAL_FIRMWARE_DIR := \ + intel \ + i915 + +## List of matching patterns of Firmware bins to be copied + +#LOCAL_FIRMWARE_PATTERN := \ +# iwlwifi + +LOCAL_FIRMWARE_SRC += $(foreach f,$(LOCAL_FIRMWARE_PATTERN),$(shell cd $(FIRMWARES_DIR) && find . -iname "*$(f)*" -type f )) +LOCAL_FIRMWARE_SRC += $(foreach f,$(LOCAL_FIRMWARE_DIR),$(shell cd $(FIRMWARES_DIR) && find $(f) -type f) ) PRODUCT_COPY_FILES := \ - $(foreach f,$(LOCAL_FIRMWARES),$(FIRMWARES_DIR)/$(f):system/vendor/firmware/$(f)) + $(foreach f,$(LOCAL_FIRMWARE_SRC),$(FIRMWARES_DIR)/$(f):$(TARGET_COPY_OUT_VENDOR)/firmware/$(f)) diff --git a/common/media/media_codecs.xml b/common/media/media_codecs.xml index ba1fbdb96..e06ddc852 100644 --- a/common/media/media_codecs.xml +++ b/common/media/media_codecs.xml @@ -1,4 +1,3 @@ - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/common/media/media_codecs_performance.xml b/common/media/media_codecs_performance.xml new file mode 100644 index 000000000..29b1f8da9 --- /dev/null +++ b/common/media/media_codecs_performance.xml @@ -0,0 +1,116 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/common/media/media_profiles.xml b/common/media/media_profiles.xml index 8f4155c5e..b289f74a5 100644 --- a/common/media/media_profiles.xml +++ b/common/media/media_profiles.xml @@ -32,7 +32,7 @@ - + @@ -56,7 +56,7 @@ - + @@ -457,6 +457,16 @@ minSampleRate="8000" maxSampleRate="44100" minChannels="1" maxChannels="1" /> + + + + "wifi,1,1,1,-1,true" - "mobile,0,0,0,-1,true" - "mobile_mms,2,0,2,60000,true" - "mobile_supl,3,0,2,60000,true" - "mobile_hipri,5,0,3,60000,true" "ethernet,9,9,1,-1,true" - "mobile_fota,10,0,2,60000,true" - "mobile_ims,11,0,2,60000,true" - "mobile_cbs,12,0,2,60000,true" "wifi_p2p,13,1,0,-1,true" @@ -49,7 +42,6 @@ [# simultaneous connection types]" --> "1,1" - "0,1" "9,1" @@ -75,4 +67,26 @@ true + + + false + + + power + restart + sleep + bugreport + users + diff --git a/common/overlay/frameworks/base/core/res/res/values/strings.xml b/common/overlay/frameworks/base/core/res/res/values/strings.xml new file mode 100644 index 000000000..1a72797dc --- /dev/null +++ b/common/overlay/frameworks/base/core/res/res/values/strings.xml @@ -0,0 +1,4 @@ + + +Sleep + diff --git a/common/overlay/frameworks/base/core/res/res/values/symbols.xml b/common/overlay/frameworks/base/core/res/res/values/symbols.xml new file mode 100644 index 000000000..a91dfbec6 --- /dev/null +++ b/common/overlay/frameworks/base/core/res/res/values/symbols.xml @@ -0,0 +1,3 @@ + + + diff --git a/common/overlay/frameworks/base/packages/SettingsProvider/res/values/defaults.xml b/common/overlay/frameworks/base/packages/SettingsProvider/res/values/defaults.xml index 86897374a..0312fe395 100644 --- a/common/overlay/frameworks/base/packages/SettingsProvider/res/values/defaults.xml +++ b/common/overlay/frameworks/base/packages/SettingsProvider/res/values/defaults.xml @@ -22,4 +22,7 @@ true + + + false diff --git a/common/overlay/packages/apps/Launcher3/res/values/config.xml b/common/overlay/packages/apps/Launcher3/res/values/config.xml new file mode 100644 index 000000000..4e71f19c2 --- /dev/null +++ b/common/overlay/packages/apps/Launcher3/res/values/config.xml @@ -0,0 +1,4 @@ + + + com.android.wallpaperpicker + diff --git a/common/thermal/thermal-conf.xml b/common/thermal/thermal-conf.xml new file mode 100644 index 000000000..07f5ca614 --- /dev/null +++ b/common/thermal/thermal-conf.xml @@ -0,0 +1,173 @@ + + + + + KBL-NUC + NUC7i5BNH + QUIET + + + cpu_passive + + + x86_pkg_temp + 85000 + Passive + + rapl_limit_1 + + + + x86_pkg_temp + 95000 + Passive + + rapl_limit_2 + + + + + + cpu_critical + + + x86_pkg_temp + 99000 + Critical + + + + + + + rapl_limit_1 + /sys/devices/virtual/powercap/intel-rapl/intel-rapl:0/constraint_0_power_limit_uw + 25000000 + 0 + 13000000 + -200000 + + + rapl_limit_2 + /sys/devices/virtual/powercap/intel-rapl/intel-rapl:0/constraint_0_power_limit_uw + 13000000 + 0 + 6000000 + -200000 + + + + + KBL-NUC-D + NUC7i5DNHE + QUIET + + + cpu_passive + + + x86_pkg_temp + 85000 + Passive + + rapl_limit_1 + + + + x86_pkg_temp + 95000 + Passive + + rapl_limit_2 + + + + + + cpu_critical + + + x86_pkg_temp + 99000 + Critical + + + + + + + rapl_limit_1 + /sys/devices/virtual/powercap/intel-rapl/intel-rapl:0/constraint_0_power_limit_uw + 20000000 + 0 + 14000000 + -200000 + + + rapl_limit_2 + /sys/devices/virtual/powercap/intel-rapl/intel-rapl:0/constraint_0_power_limit_uw + 14000000 + 0 + 6000000 + -200000 + + + + + APL-NUC + NUC6CAYH + QUIET + + + cpu_passive + + + x86_pkg_temp + 90000 + Passive + + rapl_limit_1 + + + + x86_pkg_temp + 100000 + Passive + + rapl_limit_2 + + + + + + cpu_critical + + + x86_pkg_temp + 104000 + Critical + + + + + + + rapl_limit_1 + /sys/devices/virtual/powercap/intel-rapl/intel-rapl:0/constraint_0_power_limit_uw + 12000000 + 0 + 8000000 + -200000 + + + rapl_limit_2 + /sys/devices/virtual/powercap/intel-rapl/intel-rapl:0/constraint_0_power_limit_uw + 8000000 + 0 + 6000000 + -200000 + + + + + diff --git a/common/thermal/thermal-cpu-cdev-order.xml b/common/thermal/thermal-cpu-cdev-order.xml new file mode 100644 index 000000000..a9a497813 --- /dev/null +++ b/common/thermal/thermal-cpu-cdev-order.xml @@ -0,0 +1,18 @@ + + + + + + rapl_controller + intel_pstate + intel_powerclamp + cpufreq + Processor + + diff --git a/health/Android.bp b/health/Android.bp new file mode 100644 index 000000000..80ba698be --- /dev/null +++ b/health/Android.bp @@ -0,0 +1,96 @@ +cc_library_static { + name: "android.hardware.health@2.0-impl.celadon", + vendor_available: true, + defaults: ["hidl_defaults"], + srcs: [ + "Health.cpp", + "healthd_common.cpp", + "Storage.cpp", + "Storage_diskstats.cpp", + "Storage_info.cpp", + ], + + cflags: ["-DHEALTHD_USE_HEALTH_2_0"], + + + shared_libs: [ + "libbase", + "libhidlbase", + "libhidltransport", + "libhwbinder", + "liblog", + "libutils", + "libcutils", + "android.hardware.health@2.0", + ], + + export_include_dirs: ["include"], + + static_libs: [ + "libbatterymonitor", + "android.hardware.health@1.0-convert", + ], +} + +cc_library_static { + name: "libhealthservice.celadon", + vendor_available: true, + srcs: ["HealthServiceCommon.cpp"], + + + cflags: [ + "-Wall", + "-Werror", + ], + shared_libs: [ + "android.hardware.health@2.0", + ], + static_libs: [ + "android.hardware.health@2.0-impl.celadon", + "android.hardware.health@1.0-convert", + ], + export_static_lib_headers: [ + "android.hardware.health@1.0-convert", + ], + export_include_dirs: ["include"], + header_libs: ["libhealthd_headers"], + export_header_lib_headers: ["libhealthd_headers"], +} + + +cc_binary { + name: "android.hardware.health@2.0-service.celadon", + overrides: ["healthd"], + init_rc: ["android.hardware.health@2.0-service.celadon.rc"], + proprietary: true, + relative_install_path: "hw", + srcs: [ + "HealthService.cpp", + ], + + cflags: [ + "-Wall", + "-Werror", + ], + + static_libs: [ + "android.hardware.health@1.0-convert", + "android.hardware.health@2.0-impl.celadon", + "libhealthservice.celadon", + "libbatterymonitor", + "libhealthstoragedefault", + ], + + shared_libs: [ + "libbase", + "libcutils", + "libhidlbase", + "libhidltransport", + "libhwbinder", + "libutils", + "android.hardware.health@2.0", + ], + + header_libs: ["libhealthd_headers"], +} + diff --git a/health/Health.cpp b/health/Health.cpp new file mode 100644 index 000000000..29de64866 --- /dev/null +++ b/health/Health.cpp @@ -0,0 +1,292 @@ +/* + * Copyright (C) 2018 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#define LOG_TAG "android.hardware.health@2.0-impl.celadon" +#include + +#include +#include +#include + +#include +#include + +extern void healthd_battery_update_internal(bool); +extern unsigned int platformPowerSupplyType; + +namespace android { +namespace hardware { +namespace health { +namespace V2_0 { +namespace implementation { + +sp Health::instance_; +Health::Health(struct healthd_config* c) { + // TODO(b/69268160): remove when libhealthd is removed. + healthd_board_init(c); + battery_monitor_ = std::make_unique(); + battery_monitor_->init(c); +} + +// Methods from IHealth follow. +Return Health::registerCallback(const sp& callback) { + if (callback == nullptr) { + return Result::SUCCESS; + } + + { + std::lock_guard _lock(callbacks_lock_); + callbacks_.push_back(callback); + // unlock + } + + auto linkRet = callback->linkToDeath(this, 0u /* cookie */); + if (!linkRet.withDefault(false)) { + LOG(WARNING) << __func__ << "Cannot link to death: " + << (linkRet.isOk() ? "linkToDeath returns false" : linkRet.description()); + // ignore the error + } + + return update(); +} + +bool Health::unregisterCallbackInternal(const sp& callback) { + if (callback == nullptr) return false; + + bool removed = false; + std::lock_guard _lock(callbacks_lock_); + for (auto it = callbacks_.begin(); it != callbacks_.end();) { + if (interfacesEqual(*it, callback)) { + it = callbacks_.erase(it); + removed = true; + } else { + ++it; + } + } + (void)callback->unlinkToDeath(this).isOk(); // ignore errors + return removed; +} + +Return Health::unregisterCallback(const sp& callback) { + return unregisterCallbackInternal(callback) ? Result::SUCCESS : Result::NOT_FOUND; +} + +template +void getProperty(const std::unique_ptr& monitor, int id, T defaultValue, + const std::function& callback) { + struct BatteryProperty prop; + T ret = defaultValue; + Result result = Result::SUCCESS; + if (platformPowerSupplyType == CONSTANT_POWER) + result = Result::NOT_SUPPORTED; + else{ + status_t err = monitor->getProperty(static_cast(id), &prop); + if (err != OK) { + LOG(DEBUG) << "getProperty(" << id << ")" + << " fails: (" << err << ") " << strerror(-err); + } else { + ret = static_cast(prop.valueInt64); + } + switch (err) { + case OK: + result = Result::SUCCESS; + break; + case NAME_NOT_FOUND: + result = Result::NOT_SUPPORTED; + break; + default: + result = Result::UNKNOWN; + break; + } + } + callback(result, static_cast(ret)); +} + +Return Health::getChargeCounter(getChargeCounter_cb _hidl_cb) { + getProperty(battery_monitor_, BATTERY_PROP_CHARGE_COUNTER, 0, _hidl_cb); + return Void(); +} + +Return Health::getCurrentNow(getCurrentNow_cb _hidl_cb) { + getProperty(battery_monitor_, BATTERY_PROP_CURRENT_NOW, 0, _hidl_cb); + return Void(); +} + +Return Health::getCurrentAverage(getCurrentAverage_cb _hidl_cb) { + getProperty(battery_monitor_, BATTERY_PROP_CURRENT_AVG, 0, _hidl_cb); + return Void(); +} + +Return Health::getCapacity(getCapacity_cb _hidl_cb) { + getProperty(battery_monitor_, BATTERY_PROP_CAPACITY, 0, _hidl_cb); + return Void(); +} + +Return Health::getEnergyCounter(getEnergyCounter_cb _hidl_cb) { + getProperty(battery_monitor_, BATTERY_PROP_ENERGY_COUNTER, 0, _hidl_cb); + return Void(); +} + +Return Health::getChargeStatus(getChargeStatus_cb _hidl_cb) { + getProperty(battery_monitor_, BATTERY_PROP_BATTERY_STATUS, BatteryStatus::UNKNOWN, _hidl_cb); + return Void(); +} + +Return Health::update() { + if (!healthd_mode_ops || !healthd_mode_ops->battery_update) { + LOG(WARNING) << "health@2.0: update: not initialized. " + << "update() should not be called in charger / recovery."; + return Result::UNKNOWN; + } + + // Retrieve all information and call healthd_mode_ops->battery_update, which calls + // notifyListeners. + bool chargerOnline = battery_monitor_->update(); + + // adjust uevent / wakealarm periods + healthd_battery_update_internal(chargerOnline); + + return Result::SUCCESS; +} + +void Health::notifyListeners(HealthInfo* healthInfo) { + std::vector info; + get_storage_info(info); + + std::vector stats; + get_disk_stats(stats); + + int32_t currentAvg = 0; + + struct BatteryProperty prop; + status_t ret = battery_monitor_->getProperty(BATTERY_PROP_CURRENT_AVG, &prop); + if (ret == OK) { + currentAvg = static_cast(prop.valueInt64); + } + + healthInfo->batteryCurrentAverage = currentAvg; + healthInfo->diskStats = stats; + healthInfo->storageInfos = info; + + std::lock_guard _lock(callbacks_lock_); + for (auto it = callbacks_.begin(); it != callbacks_.end();) { + auto ret = (*it)->healthInfoChanged(*healthInfo); + if (!ret.isOk() && ret.isDeadObject()) { + it = callbacks_.erase(it); + } else { + ++it; + } + } +} + +Return Health::debug(const hidl_handle& handle, const hidl_vec&) { + if (handle != nullptr && handle->numFds >= 1) { + int fd = handle->data[0]; + battery_monitor_->dumpState(fd); + + getHealthInfo([fd](auto res, const auto& info) { + android::base::WriteStringToFd("\ngetHealthInfo -> ", fd); + if (res == Result::SUCCESS) { + android::base::WriteStringToFd(toString(info), fd); + } else { + android::base::WriteStringToFd(toString(res), fd); + } + android::base::WriteStringToFd("\n", fd); + }); + + fsync(fd); + } + return Void(); +} + +Return Health::getStorageInfo(getStorageInfo_cb _hidl_cb) { + std::vector info; + get_storage_info(info); + hidl_vec info_vec(info); + if (!info.size()) { + _hidl_cb(Result::NOT_SUPPORTED, info_vec); + } else { + _hidl_cb(Result::SUCCESS, info_vec); + } + return Void(); +} + +Return Health::getDiskStats(getDiskStats_cb _hidl_cb) { + std::vector stats; + get_disk_stats(stats); + hidl_vec stats_vec(stats); + if (!stats.size()) { + _hidl_cb(Result::NOT_SUPPORTED, stats_vec); + } else { + _hidl_cb(Result::SUCCESS, stats_vec); + } + return Void(); +} + +Return Health::getHealthInfo(getHealthInfo_cb _hidl_cb) { + using android::hardware::health::V1_0::hal_conversion::convertToHealthInfo; + using android::hardware::health::V1_0::BatteryStatus; + using android::hardware::health::V1_0::BatteryHealth; + + update(); + struct android::BatteryProperties p = getBatteryProperties(battery_monitor_.get()); + V1_0::HealthInfo batteryInfo; + convertToHealthInfo(&p, batteryInfo); + std::vector info; + get_storage_info(info); + + std::vector stats; + get_disk_stats(stats); + + int32_t currentAvg = 0; + + struct BatteryProperty prop; + status_t ret = battery_monitor_->getProperty(BATTERY_PROP_CURRENT_AVG, &prop); + if (ret == OK) { + currentAvg = static_cast(prop.valueInt64); + } + + V2_0::HealthInfo healthInfo = {}; + healthInfo.legacy = std::move(batteryInfo); + healthInfo.batteryCurrentAverage = currentAvg; + healthInfo.diskStats = stats; + healthInfo.storageInfos = info; + + _hidl_cb(Result::SUCCESS, healthInfo); + return Void(); +} + +void Health::serviceDied(uint64_t /* cookie */, const wp& who) { + (void)unregisterCallbackInternal(who.promote()); +} + +sp Health::initInstance(struct healthd_config* c) { + if (instance_ == nullptr) { + instance_ = new Health(c); + } + return instance_; +} + +sp Health::getImplementation() { + CHECK(instance_ != nullptr); + return instance_; +} + +} // namespace implementation +} // namespace V2_0 +} // namespace health +} // namespace hardware +} // namespace android + diff --git a/health/HealthService.cpp b/health/HealthService.cpp new file mode 100644 index 000000000..d278741ee --- /dev/null +++ b/health/HealthService.cpp @@ -0,0 +1,95 @@ +/* + * Copyright (C) 2018 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#define LOG_TAG "android.hardware.health@2.0-service.celadon" +#include + +#include +#include +#include +#include +#include + +#include +#include +#include +#include + +#include +#include +#include +#include +#include + + +using android::hardware::health::V1_0::BatteryStatus; +using android::hardware::health::V1_0::BatteryHealth; +using namespace android; +#define POWER_SUPPLY_SUBSYSTEM "power_supply" +#define POWER_SUPPLY_SYSFS_PATH "/sys/class/" POWER_SUPPLY_SUBSYSTEM + +unsigned int platformPowerSupplyType = BATTERY; + +void healthd_board_init(struct healthd_config*) +{ + String8 path; + + DIR* dir = opendir(POWER_SUPPLY_SYSFS_PATH); + if (dir == NULL) { + KLOG_ERROR(LOG_TAG, "Could not open %s\n", POWER_SUPPLY_SYSFS_PATH); + } else { + struct dirent* entry; + + while ((entry = readdir(dir))) { + const char* name = entry->d_name; + + if (!strcmp(name, ".") || !strcmp(name, "..")){ + platformPowerSupplyType = CONSTANT_POWER; + continue; + }else + platformPowerSupplyType = BATTERY; + } + + } + closedir(dir); +} + +int healthd_board_battery_update(struct android::BatteryProperties *props) +{ + + if (platformPowerSupplyType == CONSTANT_POWER) { + props->batteryStatus = android::BATTERY_STATUS_FULL; + props->batteryHealth = android::BATTERY_HEALTH_GOOD; + props->batteryLevel = 100; + props->batteryChargeCounter= 1000000; + props->batteryCurrent= 1000000; + props->chargerAcOnline = true; + props->chargerUsbOnline= false; + props->chargerWirelessOnline = false; + props->maxChargingCurrent= 2500000; + props->maxChargingVoltage= 4300000; + props->batteryPresent= true; + props->batteryVoltage= 1200000; + props->batteryTemperature= 25; + props->batteryFullCharge= 4200000; + } else + UNUSED(props); + return 0; +} + +int main(void) { + return health_service_main(); +} + diff --git a/health/HealthServiceCommon.cpp b/health/HealthServiceCommon.cpp new file mode 100644 index 000000000..385f211e9 --- /dev/null +++ b/health/HealthServiceCommon.cpp @@ -0,0 +1,93 @@ +/* + * Copyright 2017 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#define LOG_TAG "health@2.0/" +#include + +#include +#include +#include +#include +#include +#include + +using android::hardware::IPCThreadState; +using android::hardware::configureRpcThreadpool; +using android::hardware::handleTransportPoll; +using android::hardware::setupTransportPolling; +using android::hardware::health::V2_0::HealthInfo; +using android::hardware::health::V1_0::hal_conversion::convertToHealthInfo; +using android::hardware::health::V2_0::IHealth; +using android::hardware::health::V2_0::implementation::Health; + +extern int healthd_main(void); + +static int gBinderFd = -1; +static std::string gInstanceName; + +static void binder_event(uint32_t /*epevents*/) { + if (gBinderFd >= 0) handleTransportPoll(gBinderFd); +} + +void healthd_mode_service_2_0_init(struct healthd_config* config) { + LOG(INFO) << LOG_TAG << gInstanceName << " Hal is starting up..."; + + gBinderFd = setupTransportPolling(); + + if (gBinderFd >= 0) { + if (healthd_register_event(gBinderFd, binder_event)) + LOG(ERROR) << LOG_TAG << gInstanceName << ": Register for binder events failed"; + } + + android::sp service = Health::initInstance(config); + CHECK_EQ(service->registerAsService(gInstanceName), android::OK) + << LOG_TAG << gInstanceName << ": Failed to register HAL"; + + LOG(INFO) << LOG_TAG << gInstanceName << ": Hal init done"; +} + +int healthd_mode_service_2_0_preparetowait(void) { + IPCThreadState::self()->flushCommands(); + return -1; +} + +void healthd_mode_service_2_0_heartbeat(void) { + // noop +} + +void healthd_mode_service_2_0_battery_update(struct android::BatteryProperties* prop) { + HealthInfo info; + convertToHealthInfo(prop, info.legacy); + Health::getImplementation()->notifyListeners(&info); +} + +static struct healthd_mode_ops healthd_mode_service_2_0_ops = { + .init = healthd_mode_service_2_0_init, + .preparetowait = healthd_mode_service_2_0_preparetowait, + .heartbeat = healthd_mode_service_2_0_heartbeat, + .battery_update = healthd_mode_service_2_0_battery_update, +}; + +int health_service_main(const char* instance) { + gInstanceName = instance; + if (gInstanceName.empty()) { + gInstanceName = "default"; + } + healthd_mode_ops = &healthd_mode_service_2_0_ops; + LOG(INFO) << LOG_TAG << gInstanceName << ": Hal starting main loop..."; + return healthd_main(); +} + diff --git a/health/Storage.cpp b/health/Storage.cpp new file mode 100644 index 000000000..4b35fd171 --- /dev/null +++ b/health/Storage.cpp @@ -0,0 +1,101 @@ +/* + * Copyright (C) 2018 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#define LOG_TAG "android.hardware.health@2.0-impl.celadon" +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include + +using namespace std; +std::ifstream File; +char diskbus_prop_value[PROP_VALUE_MAX]; +enum storage_type{EMMC, NVME, SDA, VDA, NODISK}; // TODO: Support shall be extended to UFS in future version. +enum storage_type get_storage_type(); +class StorageInf* get_storage_dev(int dev_type); + +/* + * The function exposes the lower layer storage device wear information such as lifetime information. + * The function focus to expose the boot media information. + */ +void get_storage_info(std::vector& info) { + LOG(INFO) << LOG_TAG << "get_storage_info:START\n"; + enum storage_type type; + type = get_storage_type(); + StorageInf *IDev = get_storage_dev(type); + if(IDev != nullptr) { + IDev->get_storageinfo(info); + } + delete IDev; +} + +/* + * The function identifies the boot medium from the available storage devices on board. + */ +enum storage_type get_storage_type() { + memset(diskbus_prop_value, 0, sizeof(diskbus_prop_value)); + property_get(diskbus_build_property, diskbus_prop_value, "0"); + if (strcmp(diskbus_prop_value,"17.0") == 0) + return SDA; + else if (strcmp(diskbus_prop_value,"1D.0") == 0) + return NVME; + else if (strcmp(diskbus_prop_value,"1C.0") == 0) + return EMMC; + else if (strcmp(diskbus_prop_value,"03.0") == 0) + return VDA; + else + return NODISK; +} + +/* + * The function returns the boot media Storage device class + */ +class StorageInf* get_storage_dev(int dev_type) { + if(dev_type == SDA) + return new SdaDev(); + else if(dev_type == EMMC) + return new EmmcDev(); + else if(dev_type == VDA) + return new VdaDev(); + else if(dev_type == NVME) + return new NvmeDev(); + else + return nullptr; +} + +/* + * The function exposes the lower layer storage device statistics since the system boot. + */ +void get_disk_stats(std::vector& stats) { + LOG(INFO) << LOG_TAG << "get_disk_stats:START\n"; + enum storage_type type; + type = get_storage_type(); + StorageInf *SDev = get_storage_dev(type); + if(SDev != nullptr) { + SDev->get_diskstats(stats); + } + delete SDev; +} diff --git a/health/Storage_diskstats.cpp b/health/Storage_diskstats.cpp new file mode 100644 index 000000000..8e13557c7 --- /dev/null +++ b/health/Storage_diskstats.cpp @@ -0,0 +1,91 @@ +/* + * Copyright (C) 2018 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#define LOG_TAG "storagediskstats" +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include + +using namespace std; +std::ifstream StatFile; +uint64_t sysfs_block_stat; +uint64_t sysfs_block_stat_val[13]; +uint64_t sysfs_block_read_counter = 0; + +void get_diskstats_io(std::vector& stats) { + // publishing diskstat metrics to storaged framework + LOG(INFO) << LOG_TAG << "get_diskstats_io: Enter\n"; + DiskStats diskstats; + diskstats.reads = sysfs_block_stat_val[0]; + diskstats.readMerges = sysfs_block_stat_val[1]; + diskstats.readSectors = sysfs_block_stat_val[2]; + diskstats.readTicks = sysfs_block_stat_val[3]; + diskstats.writes = sysfs_block_stat_val[4]; + diskstats.writeMerges = sysfs_block_stat_val[5]; + diskstats.writeSectors = sysfs_block_stat_val[6]; + diskstats.writeTicks = sysfs_block_stat_val[7]; + diskstats.ioInFlight = sysfs_block_stat_val[8]; + diskstats.ioTicks = sysfs_block_stat_val[9]; + diskstats.ioInQueue = sysfs_block_stat_val[10]; + stats.push_back(diskstats); +} + +void get_disk_blk(const char blkpath[], std::vector& stats) { + // Reading diskstat metrics from disk block path. + StatFile.open(blkpath); + if (!StatFile.is_open()) { + return; + } + while(StatFile >> sysfs_block_stat) { + sysfs_block_stat_val[sysfs_block_read_counter]= sysfs_block_stat; + sysfs_block_read_counter++; + } + get_diskstats_io(stats); + StatFile.close(); +} + +/* + * Device type:: get_diskstats utility + */ +void SdaDev :: get_diskstats(std::vector& stats) { + sysfs_block_read_counter = 0; + const char diskstat_blkpath[] = "/sys/block/sda/stat"; + get_disk_blk(diskstat_blkpath, stats); //parsing SATA diskstat information +} + +void EmmcDev :: get_diskstats(std::vector& stats) { + sysfs_block_read_counter = 0; + const char diskstat_blkpath[] = "/sys/block/mmcblk1/stat"; + get_disk_blk(diskstat_blkpath, stats); //parsing MMC diskstat information +} + +void VdaDev :: get_diskstats(std::vector& stats) { + sysfs_block_read_counter = 0; + const char diskstat_blkpath[] = "/sys/block/vda/stat"; + get_disk_blk(diskstat_blkpath, stats); //parsing VDA diskstat information +} + +void NvmeDev :: get_diskstats(std::vector&) { + //TODO: Place holder for NVMe +} diff --git a/health/Storage_info.cpp b/health/Storage_info.cpp new file mode 100644 index 000000000..5e2467d9f --- /dev/null +++ b/health/Storage_info.cpp @@ -0,0 +1,117 @@ +/* + * Copyright (C) 2018 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#define LOG_TAG "storageinfo" +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include + +using namespace std; +std::ifstream InfoFile; +uint16_t ext_csd_stat_val[3]; +uint16_t ext_csd_lifetime_val; +uint16_t ext_csd_lifetime_counter = 0; +const char mmc1_sysfs_eol[] = "/sys/bus/mmc/devices/mmc1:0001/pre_eol_info"; +const char mmc1_sysfs_lifetime[] = "/sys/bus/mmc/devices/mmc1:0001/life_time"; + +/* + * mmc version sys node is not supported. + * TODO: in Storaged future version + */ +//const char mmc1_sysfs_version[] = "/sys/bus/mmc/devices/mmc1:0001/version"; + +/* + * Sda Device type :: get_storageinfo utility + */ +void SdaDev :: get_storageinfo(std::vector& info) { + /* + * SATA driver does not expose end of life and lifetime information. + * So assigning eol and lifetimeA, lifetimeB values manually. FIXME + */ + StorageInfo storageinfo; + storageinfo.eol = 3; + storageinfo.lifetimeA = 0x0B; + storageinfo.lifetimeB = 0x0B; + storageinfo.version = "3.0"; + info.push_back(storageinfo); +} + +/* + * eMMC Device type :: get_storageinfo utility + */ +void EmmcDev :: get_storageinfo(std::vector& info) { + StorageInfo storageinfo; + ext_csd_lifetime_counter = 0; + InfoFile.open(mmc1_sysfs_eol); //parsing ext_csd end of life information + if (!InfoFile.is_open()) { + return; + } + InfoFile >> std::hex >> storageinfo.eol; + InfoFile.close(); + InfoFile.open(mmc1_sysfs_lifetime); //parsing ext_csd life time estimates + if (!InfoFile.is_open()) { + return; + } + while(InfoFile >> std::hex >> ext_csd_lifetime_val) { + ext_csd_stat_val[ext_csd_lifetime_counter] = ext_csd_lifetime_val; + ext_csd_lifetime_counter++; + } + storageinfo.lifetimeA = ext_csd_stat_val[0]; + storageinfo.lifetimeB = ext_csd_stat_val[1]; + InfoFile.close(); + + /* + * TO DO: ext_csd version parsing in Storaged version 0.1 + * std::string ext_csd_version_val; + * File.open(mmc1_sysfs_version); + * File >> ext_csd_version_val; + * storageinfo.version = ext_csd_version_val; + * File.close(); + */ + storageinfo.version = "5.0"; + info.push_back(storageinfo); +} + +/* + * Virtual Device type :: get_storageinfo utility + */ +void VdaDev :: get_storageinfo(std::vector& info) { + StorageInfo storageinfo; + /* + * Acrn has virtual nodes. So, it does not expose end of life and lifetime information. + * So assigning eol and lifetimeA, lifetimeB values manually. FIXME + */ + storageinfo.eol = 3; + storageinfo.lifetimeA = 0x0B; + storageinfo.lifetimeB = 0x0B; + storageinfo.version = "5.0"; + info.push_back(storageinfo); +} + +/* + * NVMe Device type :: get_storageinfo utility + */ +void NvmeDev :: get_storageinfo(std::vector&) { + //TODO: Place holder for NVMe devices +} diff --git a/health/android.hardware.health@2.0-service.celadon.rc b/health/android.hardware.health@2.0-service.celadon.rc new file mode 100644 index 000000000..9917bb61b --- /dev/null +++ b/health/android.hardware.health@2.0-service.celadon.rc @@ -0,0 +1,5 @@ +service vendor.health-hal-2-0 /vendor/bin/hw/android.hardware.health@2.0-service.celadon + class hal + user system + group system + file /dev/kmsg w diff --git a/health/healthd_common.cpp b/health/healthd_common.cpp new file mode 100644 index 000000000..05089b07b --- /dev/null +++ b/health/healthd_common.cpp @@ -0,0 +1,276 @@ +/* + * Copyright (C) 2013 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#define LOG_TAG "android.hardware.health@2.0-impl.celadon" +#define KLOG_LEVEL 6 + +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +using namespace android; + +// Periodic chores fast interval in seconds +#define DEFAULT_PERIODIC_CHORES_INTERVAL_FAST (60 * 1) +// Periodic chores fast interval in seconds +#define DEFAULT_PERIODIC_CHORES_INTERVAL_SLOW (60 * 10) + +static struct healthd_config healthd_config = { + .periodic_chores_interval_fast = DEFAULT_PERIODIC_CHORES_INTERVAL_FAST, + .periodic_chores_interval_slow = DEFAULT_PERIODIC_CHORES_INTERVAL_SLOW, + .batteryStatusPath = String8(String8::kEmptyString), + .batteryHealthPath = String8(String8::kEmptyString), + .batteryPresentPath = String8(String8::kEmptyString), + .batteryCapacityPath = String8(String8::kEmptyString), + .batteryVoltagePath = String8(String8::kEmptyString), + .batteryTemperaturePath = String8(String8::kEmptyString), + .batteryTechnologyPath = String8(String8::kEmptyString), + .batteryCurrentNowPath = String8(String8::kEmptyString), + .batteryCurrentAvgPath = String8(String8::kEmptyString), + .batteryChargeCounterPath = String8(String8::kEmptyString), + .batteryFullChargePath = String8(String8::kEmptyString), + .batteryCycleCountPath = String8(String8::kEmptyString), + .energyCounter = NULL, + .boot_min_cap = 0, + .screen_on = NULL, +}; + +static int eventct; +static int epollfd; + +#define POWER_SUPPLY_SUBSYSTEM "power_supply" + +// epoll_create() parameter is actually unused +#define MAX_EPOLL_EVENTS 40 +static int uevent_fd; +static int wakealarm_fd; + +// -1 for no epoll timeout +static int awake_poll_interval = -1; + +static int wakealarm_wake_interval = DEFAULT_PERIODIC_CHORES_INTERVAL_FAST; + +using ::android::hardware::health::V2_0::implementation::Health; + +struct healthd_mode_ops* healthd_mode_ops = nullptr; + +int healthd_register_event(int fd, void (*handler)(uint32_t), EventWakeup wakeup) { + struct epoll_event ev; + + ev.events = EPOLLIN; + + if (wakeup == EVENT_WAKEUP_FD) ev.events |= EPOLLWAKEUP; + + ev.data.ptr = (void*)handler; + if (epoll_ctl(epollfd, EPOLL_CTL_ADD, fd, &ev) == -1) { + KLOG_ERROR(LOG_TAG, "epoll_ctl failed; errno=%d\n", errno); + return -1; + } + + eventct++; + return 0; +} + +static void wakealarm_set_interval(int interval) { + struct itimerspec itval; + + if (wakealarm_fd == -1) return; + + wakealarm_wake_interval = interval; + + if (interval == -1) interval = 0; + + itval.it_interval.tv_sec = interval; + itval.it_interval.tv_nsec = 0; + itval.it_value.tv_sec = interval; + itval.it_value.tv_nsec = 0; + + if (timerfd_settime(wakealarm_fd, 0, &itval, NULL) == -1) + KLOG_ERROR(LOG_TAG, "wakealarm_set_interval: timerfd_settime failed\n"); +} + +void healthd_battery_update_internal(bool charger_online) { + // Fast wake interval when on charger (watch for overheat); + // slow wake interval when on battery (watch for drained battery). + + int new_wake_interval = charger_online ? healthd_config.periodic_chores_interval_fast + : healthd_config.periodic_chores_interval_slow; + + if (new_wake_interval != wakealarm_wake_interval) wakealarm_set_interval(new_wake_interval); + + // During awake periods poll at fast rate. If wake alarm is set at fast + // rate then just use the alarm; if wake alarm is set at slow rate then + // poll at fast rate while awake and let alarm wake up at slow rate when + // asleep. + + if (healthd_config.periodic_chores_interval_fast == -1) + awake_poll_interval = -1; + else + awake_poll_interval = new_wake_interval == healthd_config.periodic_chores_interval_fast + ? -1 + : healthd_config.periodic_chores_interval_fast * 1000; +} + +static void healthd_battery_update(void) { + Health::getImplementation()->update(); +} + +static void periodic_chores() { + healthd_battery_update(); +} + +#define UEVENT_MSG_LEN 2048 +static void uevent_event(uint32_t /*epevents*/) { + char msg[UEVENT_MSG_LEN + 2]; + char* cp; + int n; + + n = uevent_kernel_multicast_recv(uevent_fd, msg, UEVENT_MSG_LEN); + if (n <= 0) return; + if (n >= UEVENT_MSG_LEN) /* overflow -- discard */ + return; + + msg[n] = '\0'; + msg[n + 1] = '\0'; + cp = msg; + + while (*cp) { + if (!strcmp(cp, "SUBSYSTEM=" POWER_SUPPLY_SUBSYSTEM)) { + healthd_battery_update(); + break; + } + + /* advance to after the next \0 */ + while (*cp++) + ; + } +} + +static void uevent_init(void) { + uevent_fd = uevent_open_socket(64 * 1024, true); + + if (uevent_fd < 0) { + KLOG_ERROR(LOG_TAG, "uevent_init: uevent_open_socket failed\n"); + return; + } + + fcntl(uevent_fd, F_SETFL, O_NONBLOCK); + if (healthd_register_event(uevent_fd, uevent_event, EVENT_WAKEUP_FD)) + KLOG_ERROR(LOG_TAG, "register for uevent events failed\n"); +} + +static void wakealarm_event(uint32_t /*epevents*/) { + unsigned long long wakeups; + + if (read(wakealarm_fd, &wakeups, sizeof(wakeups)) == -1) { + KLOG_ERROR(LOG_TAG, "wakealarm_event: read wakealarm fd failed\n"); + return; + } + + periodic_chores(); +} + +static void wakealarm_init(void) { + wakealarm_fd = timerfd_create(CLOCK_BOOTTIME_ALARM, TFD_NONBLOCK); + if (wakealarm_fd == -1) { + KLOG_ERROR(LOG_TAG, "wakealarm_init: timerfd_create failed\n"); + return; + } + + if (healthd_register_event(wakealarm_fd, wakealarm_event, EVENT_WAKEUP_FD)) + KLOG_ERROR(LOG_TAG, "Registration of wakealarm event failed\n"); + + wakealarm_set_interval(healthd_config.periodic_chores_interval_fast); +} + +static void healthd_mainloop(void) { + int nevents = 0; + while (1) { + struct epoll_event events[eventct]; + int timeout = awake_poll_interval; + int mode_timeout; + + /* Don't wait for first timer timeout to run periodic chores */ + if (!nevents) periodic_chores(); + + healthd_mode_ops->heartbeat(); + + mode_timeout = healthd_mode_ops->preparetowait(); + if (timeout < 0 || (mode_timeout > 0 && mode_timeout < timeout)) timeout = mode_timeout; + nevents = epoll_wait(epollfd, events, eventct, timeout); + if (nevents == -1) { + if (errno == EINTR) continue; + KLOG_ERROR(LOG_TAG, "healthd_mainloop: epoll_wait failed\n"); + break; + } + + for (int n = 0; n < nevents; ++n) { + if (events[n].data.ptr) (*(void (*)(int))events[n].data.ptr)(events[n].events); + } + } + + return; +} + +static int healthd_init() { + epollfd = epoll_create(MAX_EPOLL_EVENTS); + if (epollfd == -1) { + KLOG_ERROR(LOG_TAG, "epoll_create failed; errno=%d\n", errno); + return -1; + } + + healthd_mode_ops->init(&healthd_config); + wakealarm_init(); + uevent_init(); + + return 0; +} + +int healthd_main() { + int ret; + + klog_set_level(KLOG_LEVEL); + + if (!healthd_mode_ops) { + KLOG_ERROR("healthd ops not set, exiting\n"); + exit(1); + } + + ret = healthd_init(); + if (ret) { + KLOG_ERROR("Initialization failed, exiting\n"); + exit(2); + } + + healthd_mainloop(); + KLOG_ERROR("Main loop terminated, exiting\n"); + return 3; +} + diff --git a/health/include/health2/Health.h b/health/include/health2/Health.h new file mode 100644 index 000000000..fe6c3dff7 --- /dev/null +++ b/health/include/health2/Health.h @@ -0,0 +1,78 @@ +#ifndef ANDROID_HARDWARE_HEALTH_V2_0_HEALTH_H +#define ANDROID_HARDWARE_HEALTH_V2_0_HEALTH_H + +#include +#include + +#include +#include +#include +#include + +using android::hardware::health::V2_0::StorageInfo; +using android::hardware::health::V2_0::DiskStats; + +void get_storage_info(std::vector& info); +void get_disk_stats(std::vector& stats); + +namespace android { +namespace hardware { +namespace health { +namespace V2_0 { +namespace implementation { + +using V1_0::BatteryStatus; + +using ::android::hidl::base::V1_0::IBase; + +struct Health : public IHealth, hidl_death_recipient { + public: + static sp initInstance(struct healthd_config* c); + // Should only be called by implementation itself (-impl, -service). + // Clients should not call this function. Instead, initInstance() initializes and returns the + // global instance that has fewer functions. + // TODO(b/62229583): clean up and hide these functions after update() logic is simplified. + static sp getImplementation(); + + Health(struct healthd_config* c); + + // TODO(b/62229583): clean up and hide these functions after update() logic is simplified. + void notifyListeners(HealthInfo* info); + + // Methods from IHealth follow. + Return registerCallback(const sp& callback) override; + Return unregisterCallback(const sp& callback) override; + Return update() override; + Return getChargeCounter(getChargeCounter_cb _hidl_cb) override; + Return getCurrentNow(getCurrentNow_cb _hidl_cb) override; + Return getCurrentAverage(getCurrentAverage_cb _hidl_cb) override; + Return getCapacity(getCapacity_cb _hidl_cb) override; + Return getEnergyCounter(getEnergyCounter_cb _hidl_cb) override; + Return getChargeStatus(getChargeStatus_cb _hidl_cb) override; + Return getStorageInfo(getStorageInfo_cb _hidl_cb) override; + Return getDiskStats(getDiskStats_cb _hidl_cb) override; + Return getHealthInfo(getHealthInfo_cb _hidl_cb) override; + + // Methods from ::android::hidl::base::V1_0::IBase follow. + Return debug(const hidl_handle& fd, const hidl_vec& args) override; + + void serviceDied(uint64_t cookie, const wp& /* who */) override; + + private: + static sp instance_; + + std::mutex callbacks_lock_; + std::vector> callbacks_; + std::unique_ptr battery_monitor_; + + bool unregisterCallbackInternal(const sp& cb); +}; + +} // namespace implementation +} // namespace V2_0 +} // namespace health +} // namespace hardware +} // namespace android + +#endif // ANDROID_HARDWARE_HEALTH_V2_0_HEALTH_H + diff --git a/health/include/health2/powerSupplyType.h b/health/include/health2/powerSupplyType.h new file mode 100644 index 000000000..fdf47402f --- /dev/null +++ b/health/include/health2/powerSupplyType.h @@ -0,0 +1,24 @@ +/* + * Copyright 2018 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef ANDROID_HARDWARE_POWER_SUPPLY_TYPE +#define ANDROID_HARDWARE_POWER_SUPPLY_TYPE + +enum powerType { + CONSTANT_POWER = 0, + BATTERY, +}; +#endif // ANDROID_HARDWARE_POWER_SUPPLY_TYPE diff --git a/health/include/health2/service.h b/health/include/health2/service.h new file mode 100644 index 000000000..0abff41d9 --- /dev/null +++ b/health/include/health2/service.h @@ -0,0 +1,23 @@ +/* + * Copyright 2018 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef ANDROID_HARDWARE_HEALTH_V2_0_SERVICE_COMMON +#define ANDROID_HARDWARE_HEALTH_V2_0_SERVICE_COMMON + +int health_service_main(const char* instance = ""); + +#endif // ANDROID_HARDWARE_HEALTH_V2_0_SERVICE_COMMON + diff --git a/health/include/health2/storage_hal.h b/health/include/health2/storage_hal.h new file mode 100644 index 000000000..07a2bfdc7 --- /dev/null +++ b/health/include/health2/storage_hal.h @@ -0,0 +1,55 @@ +#ifndef _STORAGE_HAL_H_ +#define _STORAGE_HAL_H_ + +#include +#include +#include + +using android::hardware::health::V2_0::StorageInfo; +using android::hardware::health::V2_0::DiskStats; +const char diskbus_build_property[] = "ro.boot.diskbus"; + +/* + * Storaged ::Get disk statistics and get storage information utilities. + */ +class StorageInf { +public: + virtual void get_diskstats(std::vector& stats) = 0; + virtual void get_storageinfo(std::vector& info) = 0; + virtual ~StorageInf() {} +}; + +class SdaDev : public StorageInf { +public: + void get_diskstats(std::vector& stats); + void get_storageinfo(std::vector& info); +}; + +class NvmeDev : public StorageInf { +public: + void get_diskstats(std::vector& stats); + void get_storageinfo(std::vector& info); +}; + +class EmmcDev : public StorageInf { +public: + void get_diskstats(std::vector& stats); + void get_storageinfo(std::vector& info); +}; + +class VdaDev : public StorageInf { +public: + void get_diskstats(std::vector& stats); + void get_storageinfo(std::vector& info); +}; + +/* + * publish diskstat metrics to storaged framework. + */ +void get_diskstats_io(std::vector& stats); + +/* + * Read diskstat metrics from disk block path. + */ +void get_disk_blk(const char blkpath[], std::vector& stats); +#endif /* _STORAGE_HAL_H_ */ diff --git a/kernel_config/debug_diffconfig b/kernel_config/debug_diffconfig new file mode 100644 index 000000000..fd70ad9fc --- /dev/null +++ b/kernel_config/debug_diffconfig @@ -0,0 +1,2 @@ +#Debug configuration options +CONFIG_DEBUG_INFO=y diff --git a/kernel_config/kernel_64_defconfig b/kernel_config/kernel_64_defconfig index f78355224..bcd7af39d 100644 --- a/kernel_config/kernel_64_defconfig +++ b/kernel_config/kernel_64_defconfig @@ -1,52 +1,26 @@ -CONFIG_64BIT=y -CONFIG_X86_64=y -CONFIG_INSTRUCTION_DECODER=y -CONFIG_OUTPUT_FORMAT="elf64-x86-64" -CONFIG_ARCH_DEFCONFIG="arch/x86/configs/x86_64_defconfig" -CONFIG_LOCKDEP_SUPPORT=y -CONFIG_STACKTRACE_SUPPORT=y -CONFIG_MMU=y -CONFIG_ARCH_MMAP_RND_BITS_MIN=28 -CONFIG_ARCH_MMAP_RND_BITS_MAX=32 -CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MIN=8 -CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MAX=16 -CONFIG_NEED_DMA_MAP_STATE=y -CONFIG_NEED_SG_DMA_LENGTH=y -CONFIG_GENERIC_ISA_DMA=y -CONFIG_GENERIC_BUG=y -CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y -CONFIG_GENERIC_HWEIGHT=y -CONFIG_ARCH_MAY_HAVE_PC_FDC=y -CONFIG_RWSEM_XCHGADD_ALGORITHM=y -CONFIG_GENERIC_CALIBRATE_DELAY=y -CONFIG_ARCH_HAS_CPU_RELAX=y -CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y -CONFIG_HAVE_SETUP_PER_CPU_AREA=y -CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y -CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y -CONFIG_ARCH_HIBERNATION_POSSIBLE=y -CONFIG_ARCH_SUSPEND_POSSIBLE=y -CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y -CONFIG_ARCH_WANT_GENERAL_HUGETLB=y -CONFIG_ZONE_DMA32=y -CONFIG_AUDIT_ARCH=y -CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y -CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y -CONFIG_X86_64_SMP=y -CONFIG_ARCH_SUPPORTS_UPROBES=y -CONFIG_FIX_EARLYCON_MEM=y -CONFIG_DEBUG_RODATA=y -CONFIG_PGTABLE_LEVELS=4 -CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" +# +# Automatically generated file; DO NOT EDIT. +# Linux/x86_64 4.19.19 Kernel Configuration +# + +# +# Compiler: gcc (Ubuntu 5.5.0-12ubuntu1~14.04) 5.5.0 20171010 +# +CONFIG_CC_IS_GCC=y +CONFIG_GCC_VERSION=50500 +CONFIG_CLANG_VERSION=0 CONFIG_IRQ_WORK=y CONFIG_BUILDTIME_EXTABLE_SORT=y +CONFIG_THREAD_INFO_IN_TASK=y # # General setup # CONFIG_INIT_ENV_ARG_LIMIT=32 -CONFIG_CROSS_COMPILE="" # CONFIG_COMPILE_TEST is not set +CONFIG_LOCALVERSION="-quilt-2e5dc0ac" +CONFIG_LOCALVERSION_AUTO=y +CONFIG_BUILD_SALT="" CONFIG_HAVE_KERNEL_GZIP=y CONFIG_HAVE_KERNEL_BZIP2=y CONFIG_HAVE_KERNEL_LZMA=y @@ -59,11 +33,12 @@ CONFIG_KERNEL_GZIP=y # CONFIG_KERNEL_XZ is not set # CONFIG_KERNEL_LZO is not set # CONFIG_KERNEL_LZ4 is not set +CONFIG_DEFAULT_HOSTNAME="localhost" CONFIG_SWAP=y # CONFIG_SYSVIPC is not set -# CONFIG_POSIX_MQUEUE is not set +CONFIG_POSIX_MQUEUE=y +CONFIG_POSIX_MQUEUE_SYSCTL=y CONFIG_CROSS_MEMORY_ATTACH=y -# CONFIG_FHANDLE is not set # CONFIG_USELIB is not set CONFIG_AUDIT=y CONFIG_HAVE_ARCH_AUDITSYSCALL=y @@ -76,15 +51,18 @@ CONFIG_AUDIT_TREE=y # CONFIG_GENERIC_IRQ_PROBE=y CONFIG_GENERIC_IRQ_SHOW=y +CONFIG_GENERIC_IRQ_EFFECTIVE_AFF_MASK=y CONFIG_GENERIC_PENDING_IRQ=y -CONFIG_GENERIC_IRQ_CHIP=y +CONFIG_GENERIC_IRQ_MIGRATION=y CONFIG_IRQ_DOMAIN=y CONFIG_IRQ_DOMAIN_HIERARCHY=y CONFIG_GENERIC_MSI_IRQ=y CONFIG_GENERIC_MSI_IRQ_DOMAIN=y -# CONFIG_IRQ_DOMAIN_DEBUG is not set +CONFIG_GENERIC_IRQ_MATRIX_ALLOCATOR=y +CONFIG_GENERIC_IRQ_RESERVATION_MODE=y CONFIG_IRQ_FORCED_THREADING=y CONFIG_SPARSE_IRQ=y +# CONFIG_GENERIC_IRQ_DEBUGFS is not set CONFIG_CLOCKSOURCE_WATCHDOG=y CONFIG_ARCH_CLOCKSOURCE_DATA=y CONFIG_CLOCKSOURCE_VALIDATE_LAST_CYCLE=y @@ -104,6 +82,11 @@ CONFIG_NO_HZ_IDLE=y # CONFIG_NO_HZ_FULL is not set CONFIG_NO_HZ=y CONFIG_HIGH_RES_TIMERS=y +CONFIG_ANDROID_AUTO_SUSPEND_BEHAVIOR=y +# CONFIG_PREEMPT_NONE is not set +# CONFIG_PREEMPT_VOLUNTARY is not set +CONFIG_PREEMPT=y +CONFIG_PREEMPT_COUNT=y # # CPU/Task time and stats accounting @@ -117,6 +100,7 @@ CONFIG_TASKSTATS=y CONFIG_TASK_DELAY_ACCT=y CONFIG_TASK_XACCT=y CONFIG_TASK_IO_ACCOUNTING=y +# CONFIG_CPU_ISOLATION is not set # # RCU Subsystem @@ -124,52 +108,64 @@ CONFIG_TASK_IO_ACCOUNTING=y CONFIG_PREEMPT_RCU=y # CONFIG_RCU_EXPERT is not set CONFIG_SRCU=y -# CONFIG_TASKS_RCU is not set +CONFIG_TREE_SRCU=y +CONFIG_TASKS_RCU=y CONFIG_RCU_STALL_COMMON=y -# CONFIG_TREE_RCU_TRACE is not set -# CONFIG_RCU_EXPEDITE_BOOT is not set -# CONFIG_BUILD_BIN2C is not set -# CONFIG_IKCONFIG is not set -CONFIG_LOG_BUF_SHIFT=17 +CONFIG_RCU_NEED_SEGCBLIST=y +CONFIG_BUILD_BIN2C=y +CONFIG_IKCONFIG=y +CONFIG_IKCONFIG_PROC=y +CONFIG_LOG_BUF_SHIFT=18 CONFIG_LOG_CPU_MAX_BUF_SHIFT=12 -CONFIG_NMI_LOG_BUF_SHIFT=13 +CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT=13 CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y CONFIG_ARCH_SUPPORTS_NUMA_BALANCING=y CONFIG_ARCH_WANT_BATCHED_UNMAP_TLB_FLUSH=y CONFIG_ARCH_SUPPORTS_INT128=y CONFIG_CGROUPS=y -# CONFIG_MEMCG is not set +CONFIG_PAGE_COUNTER=y +CONFIG_MEMCG=y +CONFIG_MEMCG_SWAP=y +CONFIG_MEMCG_SWAP_ENABLED=y +CONFIG_MEMCG_KMEM=y # CONFIG_BLK_CGROUP is not set CONFIG_CGROUP_SCHED=y CONFIG_FAIR_GROUP_SCHED=y # CONFIG_CFS_BANDWIDTH is not set CONFIG_RT_GROUP_SCHED=y # CONFIG_CGROUP_PIDS is not set +# CONFIG_CGROUP_RDMA is not set CONFIG_CGROUP_FREEZER=y -# CONFIG_CPUSETS is not set +# CONFIG_CGROUP_HUGETLB is not set +CONFIG_CPUSETS=y +CONFIG_PROC_PID_CPUSET=y # CONFIG_CGROUP_DEVICE is not set CONFIG_CGROUP_CPUACCT=y # CONFIG_CGROUP_PERF is not set +CONFIG_CGROUP_BPF=y CONFIG_CGROUP_DEBUG=y -# CONFIG_CHECKPOINT_RESTORE is not set +CONFIG_SOCK_CGROUP_DATA=y CONFIG_NAMESPACES=y -# CONFIG_UTS_NS is not set +CONFIG_UTS_NS=y +CONFIG_IPC_NS=y # CONFIG_USER_NS is not set -# CONFIG_PID_NS is not set -# CONFIG_NET_NS is not set -# CONFIG_SCHED_AUTOGROUP is not set +CONFIG_PID_NS=y +CONFIG_NET_NS=y +# CONFIG_CHECKPOINT_RESTORE is not set +CONFIG_SCHED_AUTOGROUP=y +# CONFIG_SCHED_TUNE is not set # CONFIG_SYSFS_DEPRECATED is not set CONFIG_RELAY=y CONFIG_BLK_DEV_INITRD=y CONFIG_INITRAMFS_SOURCE="" CONFIG_RD_GZIP=y -# CONFIG_RD_BZIP2 is not set -# CONFIG_RD_LZMA is not set -# CONFIG_RD_XZ is not set -# CONFIG_RD_LZO is not set -# CONFIG_RD_LZ4 is not set -# CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE is not set -CONFIG_CC_OPTIMIZE_FOR_SIZE=y +CONFIG_RD_BZIP2=y +CONFIG_RD_LZMA=y +CONFIG_RD_XZ=y +CONFIG_RD_LZO=y +CONFIG_RD_LZ4=y +CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y +# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set CONFIG_SYSCTL=y CONFIG_ANON_INODES=y CONFIG_HAVE_UID16=y @@ -179,33 +175,39 @@ CONFIG_BPF=y CONFIG_EXPERT=y CONFIG_UID16=y CONFIG_MULTIUSER=y -CONFIG_SGETMASK_SYSCALL=y -CONFIG_SYSFS_SYSCALL=y -CONFIG_SYSCTL_SYSCALL=y -CONFIG_KALLSYMS=y -CONFIG_KALLSYMS_ALL=y -CONFIG_KALLSYMS_ABSOLUTE_PERCPU=y -CONFIG_KALLSYMS_BASE_RELATIVE=y +# CONFIG_SGETMASK_SYSCALL is not set +# CONFIG_SYSFS_SYSCALL is not set +# CONFIG_SYSCTL_SYSCALL is not set +# CONFIG_FHANDLE is not set +CONFIG_POSIX_TIMERS=y CONFIG_PRINTK=y CONFIG_PRINTK_NMI=y CONFIG_BUG=y -# CONFIG_ELF_CORE is not set +CONFIG_ELF_CORE=y CONFIG_PCSPKR_PLATFORM=y CONFIG_BASE_FULL=y CONFIG_FUTEX=y +CONFIG_FUTEX_PI=y CONFIG_EPOLL=y CONFIG_SIGNALFD=y CONFIG_TIMERFD=y CONFIG_EVENTFD=y -# CONFIG_BPF_SYSCALL is not set CONFIG_SHMEM=y CONFIG_AIO=y CONFIG_ADVISE_SYSCALLS=y -# CONFIG_USERFAULTFD is not set -CONFIG_PCI_QUIRKS=y CONFIG_MEMBARRIER=y +CONFIG_KALLSYMS=y +CONFIG_KALLSYMS_ALL=y +CONFIG_KALLSYMS_ABSOLUTE_PERCPU=y +CONFIG_KALLSYMS_BASE_RELATIVE=y +CONFIG_BPF_SYSCALL=y +# CONFIG_USERFAULTFD is not set +CONFIG_ARCH_HAS_MEMBARRIER_SYNC_CORE=y +CONFIG_RSEQ=y +# CONFIG_DEBUG_RSEQ is not set CONFIG_EMBEDDED=y CONFIG_HAVE_PERF_EVENTS=y +# CONFIG_PC104 is not set # # Kernel Performance Events And Counters @@ -213,143 +215,56 @@ CONFIG_HAVE_PERF_EVENTS=y CONFIG_PERF_EVENTS=y # CONFIG_DEBUG_PERF_USE_VMALLOC is not set CONFIG_VM_EVENT_COUNTERS=y +# CONFIG_COMPAT_BRK is not set CONFIG_SLAB=y # CONFIG_SLUB is not set # CONFIG_SLOB is not set -# CONFIG_SYSTEM_DATA_VERIFICATION is not set +CONFIG_SLAB_MERGE_DEFAULT=y +# CONFIG_SLAB_FREELIST_RANDOM is not set +CONFIG_SYSTEM_DATA_VERIFICATION=y CONFIG_PROFILING=y CONFIG_TRACEPOINTS=y -CONFIG_KEXEC_CORE=y -CONFIG_OPROFILE=y -# CONFIG_OPROFILE_EVENT_MULTIPLEX is not set -CONFIG_HAVE_OPROFILE=y -CONFIG_OPROFILE_NMI_TIMER=y -# CONFIG_KPROBES is not set -# CONFIG_JUMP_LABEL is not set -# CONFIG_UPROBES is not set -# CONFIG_HAVE_64BIT_ALIGNED_ACCESS is not set -CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y -CONFIG_ARCH_USE_BUILTIN_BSWAP=y -CONFIG_HAVE_IOREMAP_PROT=y -CONFIG_HAVE_KPROBES=y -CONFIG_HAVE_KRETPROBES=y -CONFIG_HAVE_OPTPROBES=y -CONFIG_HAVE_KPROBES_ON_FTRACE=y -CONFIG_HAVE_NMI=y -CONFIG_HAVE_ARCH_TRACEHOOK=y -CONFIG_HAVE_DMA_CONTIGUOUS=y -CONFIG_GENERIC_SMP_IDLE_THREAD=y -CONFIG_ARCH_WANTS_DYNAMIC_TASK_STRUCT=y -CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y -CONFIG_HAVE_CLK=y -CONFIG_HAVE_DMA_API_DEBUG=y -CONFIG_HAVE_HW_BREAKPOINT=y -CONFIG_HAVE_MIXED_BREAKPOINTS_REGS=y -CONFIG_HAVE_USER_RETURN_NOTIFIER=y -CONFIG_HAVE_PERF_EVENTS_NMI=y -CONFIG_HAVE_PERF_REGS=y -CONFIG_HAVE_PERF_USER_STACK_DUMP=y -CONFIG_HAVE_ARCH_JUMP_LABEL=y -CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y -CONFIG_HAVE_CMPXCHG_LOCAL=y -CONFIG_HAVE_CMPXCHG_DOUBLE=y -CONFIG_ARCH_WANT_COMPAT_IPC_PARSE_VERSION=y -CONFIG_ARCH_WANT_OLD_COMPAT_IPC=y -CONFIG_HAVE_ARCH_SECCOMP_FILTER=y -CONFIG_HAVE_GCC_PLUGINS=y -# CONFIG_GCC_PLUGINS is not set -CONFIG_HAVE_CC_STACKPROTECTOR=y -CONFIG_HAVE_ARCH_WITHIN_STACK_FRAMES=y -CONFIG_HAVE_CONTEXT_TRACKING=y -CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y -CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y -CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y -CONFIG_HAVE_ARCH_HUGE_VMAP=y -CONFIG_HAVE_ARCH_SOFT_DIRTY=y -CONFIG_MODULES_USE_ELF_RELA=y -CONFIG_HAVE_IRQ_EXIT_ON_IRQ_STACK=y -CONFIG_ARCH_HAS_ELF_RANDOMIZE=y -CONFIG_HAVE_ARCH_MMAP_RND_BITS=y -CONFIG_HAVE_EXIT_THREAD=y -CONFIG_ARCH_MMAP_RND_BITS=28 -CONFIG_HAVE_ARCH_MMAP_RND_COMPAT_BITS=y -CONFIG_ARCH_MMAP_RND_COMPAT_BITS=8 -CONFIG_HAVE_COPY_THREAD_TLS=y -CONFIG_HAVE_STACK_VALIDATION=y -# CONFIG_HAVE_ARCH_HASH is not set -# CONFIG_ISA_BUS_API is not set -CONFIG_OLD_SIGSUSPEND3=y -CONFIG_COMPAT_OLD_SIGACTION=y -# CONFIG_CPU_NO_EFFICIENT_FFS is not set - -# -# GCOV-based kernel profiling -# -# CONFIG_GCOV_KERNEL is not set -CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y -# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set -CONFIG_SLABINFO=y -CONFIG_RT_MUTEXES=y -CONFIG_BASE_SMALL=0 -CONFIG_MODULES=y -CONFIG_MODULE_FORCE_LOAD=y -CONFIG_MODULE_UNLOAD=y -CONFIG_MODULE_FORCE_UNLOAD=y -CONFIG_MODVERSIONS=y -CONFIG_MODULE_SRCVERSION_ALL=y -# CONFIG_MODULE_COMPRESS is not set -CONFIG_MODULES_TREE_LOOKUP=y -CONFIG_BLOCK=y -# CONFIG_BLK_DEV_BSG is not set -# CONFIG_BLK_DEV_BSGLIB is not set -# CONFIG_BLK_DEV_INTEGRITY is not set -# CONFIG_BLK_CMDLINE_PARSER is not set - -# -# Partition Types -# -CONFIG_PARTITION_ADVANCED=y -# CONFIG_ACORN_PARTITION is not set -# CONFIG_AIX_PARTITION is not set -# CONFIG_OSF_PARTITION is not set -# CONFIG_AMIGA_PARTITION is not set -# CONFIG_ATARI_PARTITION is not set -# CONFIG_MAC_PARTITION is not set -CONFIG_MSDOS_PARTITION=y -# CONFIG_BSD_DISKLABEL is not set -# CONFIG_MINIX_SUBPARTITION is not set -# CONFIG_SOLARIS_X86_PARTITION is not set -# CONFIG_UNIXWARE_DISKLABEL is not set -# CONFIG_LDM_PARTITION is not set -# CONFIG_SGI_PARTITION is not set -# CONFIG_ULTRIX_PARTITION is not set -# CONFIG_SUN_PARTITION is not set -# CONFIG_KARMA_PARTITION is not set -CONFIG_EFI_PARTITION=y -# CONFIG_SYSV68_PARTITION is not set -# CONFIG_CMDLINE_PARTITION is not set -CONFIG_BLOCK_COMPAT=y - -# -# IO Schedulers -# -CONFIG_IOSCHED_NOOP=y -CONFIG_IOSCHED_DEADLINE=y -CONFIG_IOSCHED_CFQ=y -# CONFIG_DEFAULT_DEADLINE is not set -CONFIG_DEFAULT_CFQ=y -# CONFIG_DEFAULT_NOOP is not set -CONFIG_DEFAULT_IOSCHED="cfq" -CONFIG_UNINLINE_SPIN_UNLOCK=y -CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y -CONFIG_MUTEX_SPIN_ON_OWNER=y -CONFIG_RWSEM_SPIN_ON_OWNER=y -CONFIG_LOCK_SPIN_ON_OWNER=y -CONFIG_ARCH_USE_QUEUED_SPINLOCKS=y -CONFIG_QUEUED_SPINLOCKS=y -CONFIG_ARCH_USE_QUEUED_RWLOCKS=y -CONFIG_QUEUED_RWLOCKS=y -CONFIG_FREEZER=y +CONFIG_64BIT=y +CONFIG_X86_64=y +CONFIG_X86=y +# CONFIG_TURBO_BEFORE_DECOMPRESS is not set +CONFIG_INSTRUCTION_DECODER=y +CONFIG_OUTPUT_FORMAT="elf64-x86-64" +CONFIG_ARCH_DEFCONFIG="arch/x86/configs/x86_64_defconfig" +CONFIG_LOCKDEP_SUPPORT=y +CONFIG_STACKTRACE_SUPPORT=y +CONFIG_MMU=y +CONFIG_ARCH_MMAP_RND_BITS_MIN=28 +CONFIG_ARCH_MMAP_RND_BITS_MAX=32 +CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MIN=8 +CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MAX=16 +CONFIG_GENERIC_ISA_DMA=y +CONFIG_GENERIC_BUG=y +CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y +CONFIG_GENERIC_HWEIGHT=y +CONFIG_ARCH_MAY_HAVE_PC_FDC=y +CONFIG_RWSEM_XCHGADD_ALGORITHM=y +CONFIG_GENERIC_CALIBRATE_DELAY=y +CONFIG_ARCH_HAS_CPU_RELAX=y +CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y +CONFIG_ARCH_HAS_FILTER_PGPROT=y +CONFIG_HAVE_SETUP_PER_CPU_AREA=y +CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y +CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y +CONFIG_ARCH_HIBERNATION_POSSIBLE=y +CONFIG_ARCH_SUSPEND_POSSIBLE=y +CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y +CONFIG_ARCH_WANT_GENERAL_HUGETLB=y +CONFIG_ZONE_DMA32=y +CONFIG_AUDIT_ARCH=y +CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y +CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y +CONFIG_HAVE_INTEL_TXT=y +CONFIG_X86_64_SMP=y +CONFIG_ARCH_SUPPORTS_UPROBES=y +CONFIG_FIX_EARLYCON_MEM=y +CONFIG_PGTABLE_LEVELS=4 +CONFIG_CC_HAS_SANE_STACKPROTECTOR=y # # Processor type and features @@ -357,14 +272,12 @@ CONFIG_FREEZER=y CONFIG_ZONE_DMA=y CONFIG_SMP=y CONFIG_X86_FEATURE_NAMES=y -CONFIG_X86_FAST_FEATURE_TESTS=y # CONFIG_X86_X2APIC is not set CONFIG_X86_MPPARSE=y # CONFIG_GOLDFISH is not set -CONFIG_X86_EXTENDED_PLATFORM=y -# CONFIG_X86_VSMP is not set -# CONFIG_X86_GOLDFISH is not set -# CONFIG_X86_INTEL_MID is not set +CONFIG_RETPOLINE=y +# CONFIG_INTEL_RDT is not set +# CONFIG_X86_EXTENDED_PLATFORM is not set CONFIG_X86_INTEL_LPSS=y # CONFIG_X86_AMD_PLATFORM_DEVICE is not set CONFIG_IOSF_MBI=y @@ -373,44 +286,47 @@ CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y CONFIG_SCHED_OMIT_FRAME_POINTER=y CONFIG_HYPERVISOR_GUEST=y # CONFIG_PARAVIRT is not set +# CONFIG_JAILHOUSE_GUEST is not set CONFIG_NO_BOOTMEM=y # CONFIG_MK8 is not set # CONFIG_MPSC is not set -# CONFIG_MCORE2 is not set +CONFIG_MCORE2=y # CONFIG_MATOM is not set -CONFIG_GENERIC_CPU=y +# CONFIG_GENERIC_CPU is not set CONFIG_X86_INTERNODE_CACHE_SHIFT=6 CONFIG_X86_L1_CACHE_SHIFT=6 +CONFIG_X86_INTEL_USERCOPY=y +CONFIG_X86_USE_PPRO_CHECKSUM=y +CONFIG_X86_P6_NOP=y CONFIG_X86_TSC=y CONFIG_X86_CMPXCHG64=y CONFIG_X86_CMOV=y CONFIG_X86_MINIMUM_CPU_FAMILY=64 CONFIG_X86_DEBUGCTLMSR=y -CONFIG_PROCESSOR_SELECT=y +# CONFIG_PROCESSOR_SELECT is not set CONFIG_CPU_SUP_INTEL=y CONFIG_CPU_SUP_AMD=y CONFIG_CPU_SUP_CENTAUR=y CONFIG_HPET_TIMER=y CONFIG_HPET_EMULATE_RTC=y CONFIG_DMI=y -# CONFIG_GART_IOMMU is not set +CONFIG_GART_IOMMU=y # CONFIG_CALGARY_IOMMU is not set -CONFIG_SWIOTLB=y -CONFIG_IOMMU_HELPER=y # CONFIG_MAXSMP is not set -CONFIG_NR_CPUS=8 +CONFIG_NR_CPUS_RANGE_BEGIN=2 +CONFIG_NR_CPUS_RANGE_END=512 +CONFIG_NR_CPUS_DEFAULT=64 +CONFIG_NR_CPUS=32 CONFIG_SCHED_SMT=y CONFIG_SCHED_MC=y -# CONFIG_PREEMPT_NONE is not set -# CONFIG_PREEMPT_VOLUNTARY is not set -CONFIG_PREEMPT=y -CONFIG_PREEMPT_COUNT=y +CONFIG_SCHED_MC_PRIO=y CONFIG_X86_LOCAL_APIC=y CONFIG_X86_IO_APIC=y -# CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS is not set +CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y CONFIG_X86_MCE=y +# CONFIG_X86_MCELOG_LEGACY is not set CONFIG_X86_MCE_INTEL=y -CONFIG_X86_MCE_AMD=y +# CONFIG_X86_MCE_AMD is not set CONFIG_X86_MCE_THRESHOLD=y # CONFIG_X86_MCE_INJECT is not set CONFIG_X86_THERMAL_VECTOR=y @@ -422,80 +338,44 @@ CONFIG_PERF_EVENTS_INTEL_UNCORE=y CONFIG_PERF_EVENTS_INTEL_RAPL=y CONFIG_PERF_EVENTS_INTEL_CSTATE=y # CONFIG_PERF_EVENTS_AMD_POWER is not set -# CONFIG_VM86 is not set -CONFIG_X86_16BIT=y -CONFIG_X86_ESPFIX64=y +# CONFIG_X86_16BIT is not set CONFIG_X86_VSYSCALL_EMULATION=y CONFIG_I8K=m CONFIG_MICROCODE=y CONFIG_MICROCODE_INTEL=y -CONFIG_MICROCODE_AMD=y +# CONFIG_MICROCODE_AMD is not set CONFIG_MICROCODE_OLD_INTERFACE=y -CONFIG_X86_MSR=y +# CONFIG_X86_MSR is not set CONFIG_X86_CPUID=y -CONFIG_ARCH_PHYS_ADDR_T_64BIT=y -CONFIG_ARCH_DMA_ADDR_T_64BIT=y +# CONFIG_X86_5LEVEL is not set CONFIG_X86_DIRECT_GBPAGES=y +# CONFIG_X86_CPA_STATISTICS is not set +CONFIG_ARCH_HAS_MEM_ENCRYPT=y +# CONFIG_AMD_MEM_ENCRYPT is not set # CONFIG_NUMA is not set CONFIG_ARCH_SPARSEMEM_ENABLE=y CONFIG_ARCH_SPARSEMEM_DEFAULT=y CONFIG_ARCH_SELECT_MEMORY_MODEL=y CONFIG_ARCH_PROC_KCORE_TEXT=y CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000 -CONFIG_SELECT_MEMORY_MODEL=y -CONFIG_SPARSEMEM_MANUAL=y -CONFIG_SPARSEMEM=y -CONFIG_HAVE_MEMORY_PRESENT=y -CONFIG_SPARSEMEM_EXTREME=y -CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y -CONFIG_SPARSEMEM_ALLOC_MEM_MAP_TOGETHER=y -CONFIG_SPARSEMEM_VMEMMAP=y -CONFIG_HAVE_MEMBLOCK=y -CONFIG_HAVE_MEMBLOCK_NODE_MAP=y -CONFIG_ARCH_DISCARD_MEMBLOCK=y -# CONFIG_HAVE_BOOTMEM_INFO_NODE is not set -# CONFIG_MEMORY_HOTPLUG is not set -CONFIG_SPLIT_PTLOCK_CPUS=4 -CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK=y -CONFIG_MEMORY_BALLOON=y -CONFIG_BALLOON_COMPACTION=y -CONFIG_COMPACTION=y -CONFIG_MIGRATION=y -CONFIG_PHYS_ADDR_T_64BIT=y -CONFIG_BOUNCE=y -CONFIG_VIRT_TO_BUS=y -CONFIG_MMU_NOTIFIER=y -CONFIG_KSM=y -CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y -# CONFIG_MEMORY_FAILURE is not set -# CONFIG_TRANSPARENT_HUGEPAGE is not set -CONFIG_CLEANCACHE=y -CONFIG_FRONTSWAP=y -# CONFIG_CMA is not set -# CONFIG_ZSWAP is not set -# CONFIG_ZPOOL is not set -# CONFIG_ZBUD is not set -# CONFIG_ZSMALLOC is not set -CONFIG_GENERIC_EARLY_IOREMAP=y -CONFIG_ARCH_SUPPORTS_DEFERRED_STRUCT_PAGE_INIT=y -# CONFIG_IDLE_PAGE_TRACKING is not set -CONFIG_FRAME_VECTOR=y -CONFIG_ARCH_USES_HIGH_VMA_FLAGS=y -CONFIG_ARCH_HAS_PKEYS=y # CONFIG_X86_PMEM_LEGACY is not set -# CONFIG_X86_CHECK_BIOS_CORRUPTION is not set +CONFIG_X86_CHECK_BIOS_CORRUPTION=y +CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK=y CONFIG_X86_RESERVE_LOW=64 CONFIG_MTRR=y -# CONFIG_MTRR_SANITIZER is not set +CONFIG_MTRR_SANITIZER=y +CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=1 +CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1 CONFIG_X86_PAT=y CONFIG_ARCH_USES_PG_UNCACHED=y CONFIG_ARCH_RANDOM=y -# CONFIG_X86_SMAP is not set +CONFIG_X86_SMAP=y +CONFIG_X86_INTEL_UMIP=y # CONFIG_X86_INTEL_MPX is not set CONFIG_X86_INTEL_MEMORY_PROTECTION_KEYS=y CONFIG_EFI=y CONFIG_EFI_STUB=y -CONFIG_EFI_MIXED=y +# CONFIG_EFI_MIXED is not set CONFIG_SECCOMP=y # CONFIG_HZ_100 is not set # CONFIG_HZ_250 is not set @@ -503,22 +383,32 @@ CONFIG_SECCOMP=y CONFIG_HZ_1000=y CONFIG_HZ=1000 CONFIG_SCHED_HRTICK=y +# CONFIG_KEXEC is not set # CONFIG_KEXEC_FILE is not set # CONFIG_CRASH_DUMP is not set CONFIG_PHYSICAL_START=0x1000000 CONFIG_RELOCATABLE=y -CONFIG_PHYSICAL_ALIGN=0x200000 +CONFIG_RANDOMIZE_BASE=y +CONFIG_X86_NEED_RELOCS=y +CONFIG_PHYSICAL_ALIGN=0x1000000 +CONFIG_DYNAMIC_MEMORY_LAYOUT=y +CONFIG_RANDOMIZE_MEMORY=y +CONFIG_RANDOMIZE_MEMORY_PHYSICAL_PADDING=0x0 CONFIG_HOTPLUG_CPU=y # CONFIG_BOOTPARAM_HOTPLUG_CPU0 is not set # CONFIG_DEBUG_HOTPLUG_CPU0 is not set -# CONFIG_LEGACY_VSYSCALL_NATIVE is not set +# CONFIG_COMPAT_VDSO is not set CONFIG_LEGACY_VSYSCALL_EMULATE=y # CONFIG_LEGACY_VSYSCALL_NONE is not set # CONFIG_CMDLINE_BOOL is not set CONFIG_MODIFY_LDT_SYSCALL=y CONFIG_HAVE_LIVEPATCH=y # CONFIG_LIVEPATCH is not set +CONFIG_ARCH_HAS_ADD_PAGES=y CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y +CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK=y +CONFIG_ARCH_ENABLE_HUGEPAGE_MIGRATION=y +CONFIG_ARCH_ENABLE_THP_MIGRATION=y # # Power management and ACPI options @@ -526,65 +416,78 @@ CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y CONFIG_SUSPEND=y CONFIG_SUSPEND_FREEZER=y # CONFIG_SUSPEND_SKIP_SYNC is not set +# CONFIG_HIBERNATION is not set CONFIG_PM_SLEEP=y CONFIG_PM_SLEEP_SMP=y CONFIG_PM_AUTOSLEEP=y CONFIG_PM_WAKELOCKS=y -CONFIG_PM_WAKELOCKS_LIMIT=0 -# CONFIG_PM_WAKELOCKS_GC is not set +CONFIG_PM_WAKELOCKS_LIMIT=100 +CONFIG_PM_WAKELOCKS_GC=y CONFIG_PM=y CONFIG_PM_DEBUG=y -# CONFIG_PM_ADVANCED_DEBUG is not set +CONFIG_PM_ADVANCED_DEBUG=y # CONFIG_PM_TEST_SUSPEND is not set CONFIG_PM_SLEEP_DEBUG=y # CONFIG_DPM_WATCHDOG is not set CONFIG_PM_TRACE=y CONFIG_PM_TRACE_RTC=y CONFIG_PM_CLK=y -# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set +CONFIG_WQ_POWER_EFFICIENT_DEFAULT=y +# CONFIG_ENERGY_MODEL is not set +CONFIG_ARCH_SUPPORTS_ACPI=y CONFIG_ACPI=y CONFIG_ACPI_LEGACY_TABLES_LOOKUP=y CONFIG_ARCH_MIGHT_HAVE_ACPI_PDC=y CONFIG_ACPI_SYSTEM_POWER_STATES_SUPPORT=y # CONFIG_ACPI_DEBUGGER is not set +CONFIG_ACPI_SPCR_TABLE=y +CONFIG_ACPI_LPIT=y CONFIG_ACPI_SLEEP=y # CONFIG_ACPI_PROCFS_POWER is not set CONFIG_ACPI_REV_OVERRIDE_POSSIBLE=y -CONFIG_ACPI_EC_DEBUGFS=y +# CONFIG_ACPI_EC_DEBUGFS is not set CONFIG_ACPI_AC=y CONFIG_ACPI_BATTERY=y CONFIG_ACPI_BUTTON=y CONFIG_ACPI_VIDEO=y CONFIG_ACPI_FAN=y +# CONFIG_ACPI_TAD is not set CONFIG_ACPI_DOCK=y CONFIG_ACPI_CPU_FREQ_PSS=y CONFIG_ACPI_PROCESSOR_CSTATE=y CONFIG_ACPI_PROCESSOR_IDLE=y +CONFIG_ACPI_CPPC_LIB=y CONFIG_ACPI_PROCESSOR=y CONFIG_ACPI_HOTPLUG_CPU=y -CONFIG_ACPI_PROCESSOR_AGGREGATOR=y +# CONFIG_ACPI_PROCESSOR_AGGREGATOR is not set CONFIG_ACPI_THERMAL=y -# CONFIG_ACPI_CUSTOM_DSDT is not set CONFIG_ARCH_HAS_ACPI_TABLE_UPGRADE=y CONFIG_ACPI_TABLE_UPGRADE=y # CONFIG_ACPI_DEBUG is not set # CONFIG_ACPI_PCI_SLOT is not set -CONFIG_X86_PM_TIMER=y CONFIG_ACPI_CONTAINER=y CONFIG_ACPI_HOTPLUG_IOAPIC=y -CONFIG_ACPI_SBS=m -CONFIG_ACPI_HED=m +# CONFIG_ACPI_SBS is not set +# CONFIG_ACPI_HED is not set +# CONFIG_ACPI_CUSTOM_METHOD is not set # CONFIG_ACPI_BGRT is not set # CONFIG_ACPI_REDUCED_HARDWARE_ONLY is not set # CONFIG_ACPI_NFIT is not set CONFIG_HAVE_ACPI_APEI=y CONFIG_HAVE_ACPI_APEI_NMI=y -# CONFIG_ACPI_APEI is not set +CONFIG_ACPI_APEI=y +# CONFIG_ACPI_APEI_GHES is not set +# CONFIG_ACPI_APEI_PCIEAER is not set +# CONFIG_ACPI_APEI_EINJ is not set +# CONFIG_ACPI_APEI_ERST_DEBUG is not set # CONFIG_DPTF_POWER is not set -# CONFIG_ACPI_EXTLOG is not set -# CONFIG_PMIC_OPREGION is not set +CONFIG_ACPI_WATCHDOG=y +CONFIG_PMIC_OPREGION=y +CONFIG_CRC_PMIC_OPREGION=y +CONFIG_BXT_WC_PMIC_OPREGION=y # CONFIG_ACPI_CONFIGFS is not set -CONFIG_SFI=y +CONFIG_X86_PM_TIMER=y +# CONFIG_SFI is not set # # CPU Frequency scaling @@ -592,8 +495,8 @@ CONFIG_SFI=y CONFIG_CPU_FREQ=y CONFIG_CPU_FREQ_GOV_ATTR_SET=y CONFIG_CPU_FREQ_GOV_COMMON=y -CONFIG_CPU_FREQ_STAT=y -CONFIG_CPU_FREQ_STAT_DETAILS=y +# CONFIG_CPU_FREQ_STAT is not set +# CONFIG_CPU_FREQ_TIMES is not set # CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set # CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set # CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set @@ -602,28 +505,26 @@ CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y # CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL is not set CONFIG_CPU_FREQ_GOV_PERFORMANCE=y CONFIG_CPU_FREQ_GOV_POWERSAVE=y -CONFIG_CPU_FREQ_GOV_USERSPACE=y +# CONFIG_CPU_FREQ_GOV_USERSPACE is not set CONFIG_CPU_FREQ_GOV_ONDEMAND=y -CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y +# CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set # CONFIG_CPU_FREQ_GOV_SCHEDUTIL is not set # # CPU frequency scaling drivers # -# CONFIG_CPUFREQ_DT is not set CONFIG_X86_INTEL_PSTATE=y -CONFIG_X86_PCC_CPUFREQ=m -CONFIG_X86_ACPI_CPUFREQ=m +CONFIG_X86_PCC_CPUFREQ=y +CONFIG_X86_ACPI_CPUFREQ=y CONFIG_X86_ACPI_CPUFREQ_CPB=y -CONFIG_X86_POWERNOW_K8=m -CONFIG_X86_AMD_FREQ_SENSITIVITY=m +# CONFIG_X86_POWERNOW_K8 is not set +# CONFIG_X86_AMD_FREQ_SENSITIVITY is not set # CONFIG_X86_SPEEDSTEP_CENTRINO is not set -CONFIG_X86_P4_CLOCKMOD=m +# CONFIG_X86_P4_CLOCKMOD is not set # # shared options # -CONFIG_X86_SPEEDSTEP_LIB=m # # CPU Idle @@ -631,14 +532,8 @@ CONFIG_X86_SPEEDSTEP_LIB=m CONFIG_CPU_IDLE=y CONFIG_CPU_IDLE_GOV_LADDER=y CONFIG_CPU_IDLE_GOV_MENU=y -# CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED is not set CONFIG_INTEL_IDLE=y -# -# Memory power savings -# -# CONFIG_I7300_IDLE is not set - # # Bus options (PCI etc.) # @@ -646,81 +541,356 @@ CONFIG_PCI=y CONFIG_PCI_DIRECT=y CONFIG_PCI_MMCONFIG=y CONFIG_PCI_DOMAINS=y +CONFIG_MMCONF_FAM10H=y # CONFIG_PCI_CNB20LE_QUIRK is not set CONFIG_PCIEPORTBUS=y -# CONFIG_HOTPLUG_PCI_PCIE is not set +CONFIG_HOTPLUG_PCI_PCIE=y CONFIG_PCIEAER=y +# CONFIG_PCIEAER_INJECT is not set # CONFIG_PCIE_ECRC is not set -CONFIG_PCIEAER_INJECT=m CONFIG_PCIEASPM=y # CONFIG_PCIEASPM_DEBUG is not set -CONFIG_PCIEASPM_DEFAULT=y -# CONFIG_PCIEASPM_POWERSAVE is not set +# CONFIG_PCIEASPM_DEFAULT is not set +CONFIG_PCIEASPM_POWERSAVE=y +# CONFIG_PCIEASPM_POWER_SUPERSAVE is not set # CONFIG_PCIEASPM_PERFORMANCE is not set CONFIG_PCIE_PME=y # CONFIG_PCIE_DPC is not set -CONFIG_PCI_BUS_ADDR_T_64BIT=y +# CONFIG_PCIE_PTM is not set CONFIG_PCI_MSI=y CONFIG_PCI_MSI_IRQ_DOMAIN=y +CONFIG_PCI_QUIRKS=y # CONFIG_PCI_DEBUG is not set -# CONFIG_PCI_REALLOC_ENABLE_AUTO is not set # CONFIG_PCI_STUB is not set -CONFIG_HT_IRQ=y +CONFIG_PCI_LOCKLESS_CONFIG=y # CONFIG_PCI_IOV is not set # CONFIG_PCI_PRI is not set # CONFIG_PCI_PASID is not set CONFIG_PCI_LABEL=y -# CONFIG_PCI_HYPERV is not set CONFIG_HOTPLUG_PCI=y CONFIG_HOTPLUG_PCI_ACPI=y -CONFIG_HOTPLUG_PCI_ACPI_IBM=m +# CONFIG_HOTPLUG_PCI_ACPI_IBM is not set # CONFIG_HOTPLUG_PCI_CPCI is not set -CONFIG_HOTPLUG_PCI_SHPC=m +# CONFIG_HOTPLUG_PCI_SHPC is not set + +# +# PCI controller drivers +# + +# +# Cadence PCIe controllers support +# +# CONFIG_VMD is not set + +# +# DesignWare PCI Core Support +# +# CONFIG_PCIE_DW_PLAT_HOST is not set + +# +# PCI Endpoint +# +# CONFIG_PCI_ENDPOINT is not set # -# PCI host controller drivers +# PCI switch controller drivers # -# CONFIG_PCIE_DW_PLAT is not set +# CONFIG_PCI_SW_SWITCHTEC is not set # CONFIG_ISA_BUS is not set CONFIG_ISA_DMA_API=y CONFIG_AMD_NB=y -CONFIG_PCCARD=m -CONFIG_PCMCIA=m -CONFIG_PCMCIA_LOAD_CIS=y -CONFIG_CARDBUS=y - -# -# PC-card bridges -# -CONFIG_YENTA=m -CONFIG_YENTA_O2=y -CONFIG_YENTA_RICOH=y -CONFIG_YENTA_TI=y -CONFIG_YENTA_ENE_TUNE=y -CONFIG_YENTA_TOSHIBA=y -CONFIG_PD6729=m -CONFIG_I82092=m -CONFIG_PCCARD_NONSTATIC=y +# CONFIG_PCCARD is not set # CONFIG_RAPIDIO is not set -# CONFIG_X86_SYSFB is not set +CONFIG_X86_SYSFB=y # -# Executable file formats / Emulations +# Binary Emulations # -CONFIG_BINFMT_ELF=y -CONFIG_COMPAT_BINFMT_ELF=y -CONFIG_ELFCORE=y -CONFIG_BINFMT_SCRIPT=y -# CONFIG_HAVE_AOUT is not set -CONFIG_COREDUMP=y CONFIG_IA32_EMULATION=y # CONFIG_IA32_AOUT is not set -CONFIG_X86_X32=y +# CONFIG_X86_X32 is not set +CONFIG_COMPAT_32=y CONFIG_COMPAT=y CONFIG_COMPAT_FOR_U64_ALIGNMENT=y CONFIG_X86_DEV_DMA_OPS=y -CONFIG_PMC_ATOM=y -# CONFIG_VMD is not set +CONFIG_HAVE_GENERIC_GUP=y + +# +# Firmware Drivers +# +CONFIG_EDD=y +# CONFIG_EDD_OFF is not set +CONFIG_FIRMWARE_MEMMAP=y +CONFIG_DELL_RBU=y +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_FW_CFG_SYSFS is not set +# CONFIG_GOOGLE_FIRMWARE is not set + +# +# EFI (Extensible Firmware Interface) Support +# +CONFIG_EFI_VARS=y +CONFIG_EFI_ESRT=y +# CONFIG_EFI_VARS_PSTORE is not set +# CONFIG_EFI_FAKE_MEMMAP is not set +CONFIG_EFI_RUNTIME_WRAPPERS=y +CONFIG_EFI_BOOTLOADER_CONTROL=y +# CONFIG_EFI_CAPSULE_LOADER is not set +# CONFIG_EFI_TEST is not set +# CONFIG_APPLE_PROPERTIES is not set +# CONFIG_RESET_ATTACK_MITIGATION is not set +CONFIG_UEFI_CPER=y +CONFIG_UEFI_CPER_X86=y + +# +# Tegra firmware driver +# +CONFIG_HAVE_KVM=y +CONFIG_VIRTUALIZATION=y +# CONFIG_KVM is not set +# CONFIG_VHOST_NET is not set +# CONFIG_VHOST_CROSS_ENDIAN_LEGACY is not set + +# +# General architecture-dependent options +# +CONFIG_CRASH_CORE=y +CONFIG_HOTPLUG_SMT=y +# CONFIG_OPROFILE is not set +CONFIG_HAVE_OPROFILE=y +CONFIG_OPROFILE_NMI_TIMER=y +# CONFIG_KPROBES is not set +CONFIG_JUMP_LABEL=y +# CONFIG_STATIC_KEYS_SELFTEST is not set +CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y +CONFIG_ARCH_USE_BUILTIN_BSWAP=y +CONFIG_HAVE_IOREMAP_PROT=y +CONFIG_HAVE_KPROBES=y +CONFIG_HAVE_KRETPROBES=y +CONFIG_HAVE_OPTPROBES=y +CONFIG_HAVE_KPROBES_ON_FTRACE=y +CONFIG_HAVE_FUNCTION_ERROR_INJECTION=y +CONFIG_HAVE_NMI=y +CONFIG_HAVE_ARCH_TRACEHOOK=y +CONFIG_HAVE_DMA_CONTIGUOUS=y +CONFIG_GENERIC_SMP_IDLE_THREAD=y +CONFIG_ARCH_HAS_FORTIFY_SOURCE=y +CONFIG_ARCH_HAS_SET_MEMORY=y +CONFIG_HAVE_ARCH_THREAD_STRUCT_WHITELIST=y +CONFIG_ARCH_WANTS_DYNAMIC_TASK_STRUCT=y +CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y +CONFIG_HAVE_RSEQ=y +CONFIG_HAVE_CLK=y +CONFIG_HAVE_HW_BREAKPOINT=y +CONFIG_HAVE_MIXED_BREAKPOINTS_REGS=y +CONFIG_HAVE_USER_RETURN_NOTIFIER=y +CONFIG_HAVE_PERF_EVENTS_NMI=y +CONFIG_HAVE_HARDLOCKUP_DETECTOR_PERF=y +CONFIG_HAVE_PERF_REGS=y +CONFIG_HAVE_PERF_USER_STACK_DUMP=y +CONFIG_HAVE_ARCH_JUMP_LABEL=y +CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y +CONFIG_HAVE_CMPXCHG_LOCAL=y +CONFIG_HAVE_CMPXCHG_DOUBLE=y +CONFIG_ARCH_WANT_COMPAT_IPC_PARSE_VERSION=y +CONFIG_ARCH_WANT_OLD_COMPAT_IPC=y +CONFIG_HAVE_ARCH_SECCOMP_FILTER=y +CONFIG_SECCOMP_FILTER=y +CONFIG_HAVE_STACKPROTECTOR=y +CONFIG_CC_HAS_STACKPROTECTOR_NONE=y +CONFIG_STACKPROTECTOR=y +CONFIG_STACKPROTECTOR_STRONG=y +CONFIG_HAVE_ARCH_WITHIN_STACK_FRAMES=y +CONFIG_HAVE_CONTEXT_TRACKING=y +CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y +CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y +CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y +CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE_PUD=y +CONFIG_HAVE_ARCH_HUGE_VMAP=y +CONFIG_HAVE_ARCH_SOFT_DIRTY=y +CONFIG_HAVE_MOD_ARCH_SPECIFIC=y +CONFIG_MODULES_USE_ELF_RELA=y +CONFIG_HAVE_IRQ_EXIT_ON_IRQ_STACK=y +CONFIG_ARCH_HAS_ELF_RANDOMIZE=y +CONFIG_HAVE_ARCH_MMAP_RND_BITS=y +CONFIG_HAVE_EXIT_THREAD=y +CONFIG_ARCH_MMAP_RND_BITS=28 +CONFIG_HAVE_ARCH_MMAP_RND_COMPAT_BITS=y +CONFIG_ARCH_MMAP_RND_COMPAT_BITS=8 +CONFIG_HAVE_ARCH_COMPAT_MMAP_BASES=y +CONFIG_HAVE_COPY_THREAD_TLS=y +CONFIG_HAVE_STACK_VALIDATION=y +CONFIG_HAVE_RELIABLE_STACKTRACE=y +CONFIG_OLD_SIGSUSPEND3=y +CONFIG_COMPAT_OLD_SIGACTION=y +CONFIG_COMPAT_32BIT_TIME=y +CONFIG_HAVE_ARCH_VMAP_STACK=y +CONFIG_VMAP_STACK=y +CONFIG_ARCH_HAS_STRICT_KERNEL_RWX=y +CONFIG_STRICT_KERNEL_RWX=y +CONFIG_ARCH_HAS_STRICT_MODULE_RWX=y +CONFIG_STRICT_MODULE_RWX=y +CONFIG_ARCH_HAS_REFCOUNT=y +# CONFIG_REFCOUNT_FULL is not set +CONFIG_HAVE_ARCH_PREL32_RELOCATIONS=y + +# +# GCOV-based kernel profiling +# +# CONFIG_GCOV_KERNEL is not set +CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y +CONFIG_PLUGIN_HOSTCC="" +CONFIG_HAVE_GCC_PLUGINS=y +CONFIG_RT_MUTEXES=y +CONFIG_BASE_SMALL=0 +CONFIG_MODULES=y +# CONFIG_MODULE_FORCE_LOAD is not set +CONFIG_MODULE_UNLOAD=y +CONFIG_MODULE_FORCE_UNLOAD=y +CONFIG_MODVERSIONS=y +# CONFIG_MODULE_SRCVERSION_ALL is not set +CONFIG_MODULE_SIG=y +CONFIG_MODULE_SIG_FORCE=y +CONFIG_MODULE_SIG_ALL=y +# CONFIG_MODULE_SIG_SHA1 is not set +# CONFIG_MODULE_SIG_SHA224 is not set +# CONFIG_MODULE_SIG_SHA256 is not set +# CONFIG_MODULE_SIG_SHA384 is not set +CONFIG_MODULE_SIG_SHA512=y +CONFIG_MODULE_SIG_HASH="sha512" +# CONFIG_MODULE_COMPRESS is not set +# CONFIG_TRIM_UNUSED_KSYMS is not set +CONFIG_MODULES_TREE_LOOKUP=y +CONFIG_BLOCK=y +CONFIG_BLK_SCSI_REQUEST=y +CONFIG_BLK_DEV_BSG=y +# CONFIG_BLK_DEV_BSGLIB is not set +# CONFIG_BLK_DEV_INTEGRITY is not set +# CONFIG_BLK_DEV_ZONED is not set +# CONFIG_BLK_CMDLINE_PARSER is not set +# CONFIG_BLK_WBT is not set +CONFIG_BLK_DEBUG_FS=y +# CONFIG_BLK_SED_OPAL is not set + +# +# Partition Types +# +CONFIG_PARTITION_ADVANCED=y +# CONFIG_ACORN_PARTITION is not set +# CONFIG_AIX_PARTITION is not set +# CONFIG_OSF_PARTITION is not set +# CONFIG_AMIGA_PARTITION is not set +# CONFIG_ATARI_PARTITION is not set +# CONFIG_MAC_PARTITION is not set +CONFIG_MSDOS_PARTITION=y +# CONFIG_BSD_DISKLABEL is not set +# CONFIG_MINIX_SUBPARTITION is not set +# CONFIG_SOLARIS_X86_PARTITION is not set +# CONFIG_UNIXWARE_DISKLABEL is not set +# CONFIG_LDM_PARTITION is not set +# CONFIG_SGI_PARTITION is not set +# CONFIG_ULTRIX_PARTITION is not set +# CONFIG_SUN_PARTITION is not set +# CONFIG_KARMA_PARTITION is not set +CONFIG_EFI_PARTITION=y +# CONFIG_SYSV68_PARTITION is not set +# CONFIG_CMDLINE_PARTITION is not set +CONFIG_BLOCK_COMPAT=y +CONFIG_BLK_MQ_PCI=y +CONFIG_BLK_MQ_VIRTIO=y + +# +# IO Schedulers +# +CONFIG_IOSCHED_NOOP=y +CONFIG_IOSCHED_DEADLINE=y +CONFIG_IOSCHED_CFQ=y +# CONFIG_DEFAULT_DEADLINE is not set +CONFIG_DEFAULT_CFQ=y +# CONFIG_DEFAULT_NOOP is not set +CONFIG_DEFAULT_IOSCHED="cfq" +CONFIG_MQ_IOSCHED_DEADLINE=y +CONFIG_MQ_IOSCHED_KYBER=y +# CONFIG_IOSCHED_BFQ is not set +CONFIG_ASN1=y +CONFIG_UNINLINE_SPIN_UNLOCK=y +CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y +CONFIG_MUTEX_SPIN_ON_OWNER=y +CONFIG_RWSEM_SPIN_ON_OWNER=y +CONFIG_LOCK_SPIN_ON_OWNER=y +CONFIG_ARCH_USE_QUEUED_SPINLOCKS=y +CONFIG_QUEUED_SPINLOCKS=y +CONFIG_ARCH_USE_QUEUED_RWLOCKS=y +CONFIG_QUEUED_RWLOCKS=y +CONFIG_ARCH_HAS_SYNC_CORE_BEFORE_USERMODE=y +CONFIG_ARCH_HAS_SYSCALL_WRAPPER=y +CONFIG_FREEZER=y + +# +# Executable file formats +# +CONFIG_BINFMT_ELF=y +CONFIG_COMPAT_BINFMT_ELF=y +CONFIG_ELFCORE=y +CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y +CONFIG_BINFMT_SCRIPT=y +CONFIG_BINFMT_MISC=y +CONFIG_COREDUMP=y + +# +# Memory Management options +# +CONFIG_SELECT_MEMORY_MODEL=y +CONFIG_SPARSEMEM_MANUAL=y +CONFIG_SPARSEMEM=y +CONFIG_HAVE_MEMORY_PRESENT=y +CONFIG_SPARSEMEM_EXTREME=y +CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y +CONFIG_SPARSEMEM_VMEMMAP=y +CONFIG_HAVE_MEMBLOCK=y +CONFIG_HAVE_MEMBLOCK_NODE_MAP=y +CONFIG_ARCH_DISCARD_MEMBLOCK=y +# CONFIG_MEMORY_HOTPLUG is not set +CONFIG_SPLIT_PTLOCK_CPUS=4 +CONFIG_COMPACTION=y +CONFIG_MIGRATION=y +CONFIG_PHYS_ADDR_T_64BIT=y +CONFIG_BOUNCE=y +CONFIG_VIRT_TO_BUS=y +CONFIG_MMU_NOTIFIER=y +CONFIG_KSM=y +CONFIG_DEFAULT_MMAP_MIN_ADDR=8192 +CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y +# CONFIG_MEMORY_FAILURE is not set +CONFIG_TRANSPARENT_HUGEPAGE=y +# CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS is not set +CONFIG_TRANSPARENT_HUGEPAGE_MADVISE=y +CONFIG_ARCH_WANTS_THP_SWAP=y +CONFIG_THP_SWAP=y +CONFIG_TRANSPARENT_HUGE_PAGECACHE=y +# CONFIG_CLEANCACHE is not set +# CONFIG_FRONTSWAP is not set +# CONFIG_CMA is not set +# CONFIG_ZPOOL is not set +# CONFIG_ZBUD is not set +CONFIG_ZSMALLOC=y +# CONFIG_PGTABLE_MAPPING is not set +# CONFIG_DEBUG_PANIC_ON_BAD_PAGE is not set +# CONFIG_ZSMALLOC_STAT is not set +CONFIG_GENERIC_EARLY_IOREMAP=y +# CONFIG_DEFERRED_STRUCT_PAGE_INIT is not set +# CONFIG_IDLE_PAGE_TRACKING is not set +CONFIG_ARCH_HAS_ZONE_DEVICE=y +CONFIG_FRAME_VECTOR=y +CONFIG_ARCH_USES_HIGH_VMA_FLAGS=y +CONFIG_ARCH_HAS_PKEYS=y +# CONFIG_PERCPU_STATS is not set +# CONFIG_GUP_BENCHMARK is not set +CONFIG_ARCH_HAS_PTE_SPECIAL=y CONFIG_NET=y CONFIG_COMPAT_NETLINK_MESSAGES=y CONFIG_NET_INGRESS=y @@ -733,15 +903,18 @@ CONFIG_PACKET=y # CONFIG_PACKET_DIAG is not set CONFIG_UNIX=y # CONFIG_UNIX_DIAG is not set +# CONFIG_TLS is not set CONFIG_XFRM=y CONFIG_XFRM_ALGO=y CONFIG_XFRM_USER=y +# CONFIG_XFRM_INTERFACE is not set # CONFIG_XFRM_SUB_POLICY is not set # CONFIG_XFRM_MIGRATE is not set # CONFIG_XFRM_STATISTICS is not set CONFIG_XFRM_IPCOMP=y CONFIG_NET_KEY=y # CONFIG_NET_KEY_MIGRATE is not set +# CONFIG_XDP_SOCKETS is not set CONFIG_INET=y CONFIG_IP_MULTICAST=y CONFIG_IP_ADVANCED_ROUTER=y @@ -757,20 +930,23 @@ CONFIG_IP_PNP_DHCP=y # CONFIG_NET_IPGRE_DEMUX is not set CONFIG_NET_IP_TUNNEL=y # CONFIG_IP_MROUTE is not set -# CONFIG_NET_IPVTI is not set +CONFIG_SYN_COOKIES=y +CONFIG_NET_IPVTI=y CONFIG_NET_UDP_TUNNEL=m # CONFIG_NET_FOU is not set # CONFIG_NET_FOU_IP_TUNNELS is not set # CONFIG_INET_AH is not set CONFIG_INET_ESP=y +# CONFIG_INET_ESP_OFFLOAD is not set # CONFIG_INET_IPCOMP is not set -# CONFIG_INET_XFRM_TUNNEL is not set CONFIG_INET_TUNNEL=y -# CONFIG_INET_XFRM_MODE_TRANSPORT is not set +CONFIG_INET_XFRM_MODE_TRANSPORT=y CONFIG_INET_XFRM_MODE_TUNNEL=y # CONFIG_INET_XFRM_MODE_BEET is not set -CONFIG_INET_TCP_DIAG=m +CONFIG_INET_DIAG=y +CONFIG_INET_TCP_DIAG=y CONFIG_INET_UDP_DIAG=m +# CONFIG_INET_RAW_DIAG is not set CONFIG_INET_DIAG_DESTROY=y # CONFIG_TCP_CONG_ADVANCED is not set CONFIG_TCP_CONG_CUBIC=y @@ -782,6 +958,7 @@ CONFIG_IPV6_ROUTE_INFO=y CONFIG_IPV6_OPTIMISTIC_DAD=y CONFIG_INET6_AH=y CONFIG_INET6_ESP=y +# CONFIG_INET6_ESP_OFFLOAD is not set CONFIG_INET6_IPCOMP=y CONFIG_IPV6_MIP6=y # CONFIG_IPV6_ILA is not set @@ -791,23 +968,22 @@ CONFIG_INET6_XFRM_MODE_TRANSPORT=y CONFIG_INET6_XFRM_MODE_TUNNEL=y CONFIG_INET6_XFRM_MODE_BEET=y # CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set -# CONFIG_IPV6_VTI is not set +CONFIG_IPV6_VTI=y CONFIG_IPV6_SIT=y # CONFIG_IPV6_SIT_6RD is not set CONFIG_IPV6_NDISC_NODETYPE=y CONFIG_IPV6_TUNNEL=y -# CONFIG_IPV6_FOU is not set -# CONFIG_IPV6_FOU_TUNNEL is not set CONFIG_IPV6_MULTIPLE_TABLES=y # CONFIG_IPV6_SUBTREES is not set # CONFIG_IPV6_MROUTE is not set +# CONFIG_IPV6_SEG6_LWTUNNEL is not set +# CONFIG_IPV6_SEG6_HMAC is not set # CONFIG_NETLABEL is not set CONFIG_ANDROID_PARANOID_NETWORK=y CONFIG_NETWORK_SECMARK=y CONFIG_NET_PTP_CLASSIFY=y # CONFIG_NETWORK_PHY_TIMESTAMPING is not set CONFIG_NETFILTER=y -# CONFIG_NETFILTER_DEBUG is not set CONFIG_NETFILTER_ADVANCED=y CONFIG_BRIDGE_NETFILTER=m @@ -816,16 +992,23 @@ CONFIG_BRIDGE_NETFILTER=m # CONFIG_NETFILTER_INGRESS=y CONFIG_NETFILTER_NETLINK=y +CONFIG_NETFILTER_FAMILY_BRIDGE=y +CONFIG_NETFILTER_FAMILY_ARP=y # CONFIG_NETFILTER_NETLINK_ACCT is not set CONFIG_NETFILTER_NETLINK_QUEUE=y CONFIG_NETFILTER_NETLINK_LOG=y +# CONFIG_NETFILTER_NETLINK_OSF is not set CONFIG_NF_CONNTRACK=y +# CONFIG_NF_LOG_NETDEV is not set +CONFIG_NETFILTER_CONNCOUNT=y CONFIG_NF_CONNTRACK_MARK=y CONFIG_NF_CONNTRACK_SECMARK=y +# CONFIG_NF_CONNTRACK_ZONES is not set CONFIG_NF_CONNTRACK_PROCFS=y CONFIG_NF_CONNTRACK_EVENTS=y # CONFIG_NF_CONNTRACK_TIMEOUT is not set # CONFIG_NF_CONNTRACK_TIMESTAMP is not set +# CONFIG_NF_CONNTRACK_LABELS is not set CONFIG_NF_CT_PROTO_DCCP=y CONFIG_NF_CT_PROTO_GRE=y CONFIG_NF_CT_PROTO_SCTP=y @@ -839,10 +1022,9 @@ CONFIG_NF_CONNTRACK_NETBIOS_NS=y # CONFIG_NF_CONNTRACK_SNMP is not set CONFIG_NF_CONNTRACK_PPTP=y CONFIG_NF_CONNTRACK_SANE=y -# CONFIG_NF_CONNTRACK_SIP is not set +CONFIG_NF_CONNTRACK_SIP=y CONFIG_NF_CONNTRACK_TFTP=y CONFIG_NF_CT_NETLINK=y -# CONFIG_NF_CT_NETLINK_TIMEOUT is not set # CONFIG_NETFILTER_NETLINK_GLUE_CT is not set CONFIG_NF_NAT=y CONFIG_NF_NAT_NEEDED=y @@ -852,7 +1034,7 @@ CONFIG_NF_NAT_PROTO_SCTP=y CONFIG_NF_NAT_AMANDA=y CONFIG_NF_NAT_FTP=y CONFIG_NF_NAT_IRC=y -# CONFIG_NF_NAT_SIP is not set +CONFIG_NF_NAT_SIP=y CONFIG_NF_NAT_TFTP=y CONFIG_NF_NAT_REDIRECT=y # CONFIG_NF_TABLES is not set @@ -898,7 +1080,7 @@ CONFIG_NETFILTER_XT_TARGET_TCPMSS=y # Xtables matches # # CONFIG_NETFILTER_XT_MATCH_ADDRTYPE is not set -# CONFIG_NETFILTER_XT_MATCH_BPF is not set +CONFIG_NETFILTER_XT_MATCH_BPF=y # CONFIG_NETFILTER_XT_MATCH_CGROUP is not set # CONFIG_NETFILTER_XT_MATCH_CLUSTER is not set CONFIG_NETFILTER_XT_MATCH_COMMENT=y @@ -926,11 +1108,14 @@ CONFIG_NETFILTER_XT_MATCH_MARK=y # CONFIG_NETFILTER_XT_MATCH_MULTIPORT is not set # CONFIG_NETFILTER_XT_MATCH_NFACCT is not set # CONFIG_NETFILTER_XT_MATCH_OSF is not set -CONFIG_NETFILTER_XT_MATCH_OWNER=y +# CONFIG_NETFILTER_XT_MATCH_OWNER is not set CONFIG_NETFILTER_XT_MATCH_POLICY=y # CONFIG_NETFILTER_XT_MATCH_PHYSDEV is not set CONFIG_NETFILTER_XT_MATCH_PKTTYPE=y +CONFIG_NETFILTER_XT_MATCH_QTAGUID=y CONFIG_NETFILTER_XT_MATCH_QUOTA=y +CONFIG_NETFILTER_XT_MATCH_QUOTA2=y +CONFIG_NETFILTER_XT_MATCH_QUOTA2_LOG=y # CONFIG_NETFILTER_XT_MATCH_RATEEST is not set # CONFIG_NETFILTER_XT_MATCH_REALM is not set # CONFIG_NETFILTER_XT_MATCH_RECENT is not set @@ -949,8 +1134,8 @@ CONFIG_NETFILTER_XT_MATCH_U32=y # IP: Netfilter Configuration # CONFIG_NF_DEFRAG_IPV4=y -CONFIG_NF_CONNTRACK_IPV4=y -CONFIG_NF_CONNTRACK_PROC_COMPAT=y +CONFIG_NF_SOCKET_IPV4=y +CONFIG_NF_TPROXY_IPV4=y # CONFIG_NF_DUP_IPV4 is not set # CONFIG_NF_LOG_ARP is not set # CONFIG_NF_LOG_IPV4 is not set @@ -963,7 +1148,7 @@ CONFIG_NF_NAT_H323=y CONFIG_IP_NF_IPTABLES=y CONFIG_IP_NF_MATCH_AH=y CONFIG_IP_NF_MATCH_ECN=y -# CONFIG_IP_NF_MATCH_RPFILTER is not set +CONFIG_IP_NF_MATCH_RPFILTER=y CONFIG_IP_NF_MATCH_TTL=y CONFIG_IP_NF_FILTER=y CONFIG_IP_NF_TARGET_REJECT=y @@ -985,8 +1170,8 @@ CONFIG_IP_NF_ARP_MANGLE=y # # IPv6: Netfilter Configuration # -CONFIG_NF_DEFRAG_IPV6=y -CONFIG_NF_CONNTRACK_IPV6=y +CONFIG_NF_SOCKET_IPV6=y +CONFIG_NF_TPROXY_IPV6=y # CONFIG_NF_DUP_IPV6 is not set CONFIG_NF_REJECT_IPV6=y # CONFIG_NF_LOG_IPV6 is not set @@ -1000,8 +1185,9 @@ CONFIG_IP6_NF_IPTABLES=y # CONFIG_IP6_NF_MATCH_HL is not set CONFIG_IP6_NF_MATCH_IPV6HEADER=y # CONFIG_IP6_NF_MATCH_MH is not set -# CONFIG_IP6_NF_MATCH_RPFILTER is not set +CONFIG_IP6_NF_MATCH_RPFILTER=y # CONFIG_IP6_NF_MATCH_RT is not set +# CONFIG_IP6_NF_MATCH_SRH is not set # CONFIG_IP6_NF_TARGET_HL is not set CONFIG_IP6_NF_FILTER=y CONFIG_IP6_NF_TARGET_REJECT=y @@ -1012,7 +1198,9 @@ CONFIG_IP6_NF_RAW=y CONFIG_IP6_NF_NAT=y CONFIG_IP6_NF_TARGET_MASQUERADE=y CONFIG_IP6_NF_TARGET_NPT=y +CONFIG_NF_DEFRAG_IPV6=y # CONFIG_BRIDGE_NF_EBTABLES is not set +# CONFIG_BPFILTER is not set # CONFIG_IP_DCCP is not set # CONFIG_IP_SCTP is not set # CONFIG_RDS is not set @@ -1025,11 +1213,11 @@ CONFIG_STP=m CONFIG_BRIDGE=m CONFIG_BRIDGE_IGMP_SNOOPING=y CONFIG_HAVE_NET_DSA=y +# CONFIG_NET_DSA is not set # CONFIG_VLAN_8021Q is not set # CONFIG_DECNET is not set CONFIG_LLC=m # CONFIG_LLC2 is not set -# CONFIG_IPX is not set # CONFIG_ATALK is not set # CONFIG_X25 is not set # CONFIG_LAPB is not set @@ -1051,20 +1239,25 @@ CONFIG_NET_SCH_HTB=y # CONFIG_NET_SCH_SFQ is not set # CONFIG_NET_SCH_TEQL is not set # CONFIG_NET_SCH_TBF is not set +# CONFIG_NET_SCH_CBS is not set +# CONFIG_NET_SCH_ETF is not set # CONFIG_NET_SCH_GRED is not set # CONFIG_NET_SCH_DSMARK is not set # CONFIG_NET_SCH_NETEM is not set # CONFIG_NET_SCH_DRR is not set # CONFIG_NET_SCH_MQPRIO is not set +# CONFIG_NET_SCH_SKBPRIO is not set # CONFIG_NET_SCH_CHOKE is not set # CONFIG_NET_SCH_QFQ is not set # CONFIG_NET_SCH_CODEL is not set # CONFIG_NET_SCH_FQ_CODEL is not set +# CONFIG_NET_SCH_CAKE is not set # CONFIG_NET_SCH_FQ is not set # CONFIG_NET_SCH_HHF is not set # CONFIG_NET_SCH_PIE is not set CONFIG_NET_SCH_INGRESS=y # CONFIG_NET_SCH_PLUG is not set +# CONFIG_NET_SCH_DEFAULT is not set # # Classification @@ -1091,11 +1284,13 @@ CONFIG_NET_EMATCH_STACK=32 CONFIG_NET_EMATCH_U32=y # CONFIG_NET_EMATCH_META is not set # CONFIG_NET_EMATCH_TEXT is not set +# CONFIG_NET_EMATCH_IPT is not set CONFIG_NET_CLS_ACT=y CONFIG_NET_ACT_POLICE=y CONFIG_NET_ACT_GACT=y # CONFIG_GACT_PROB is not set CONFIG_NET_ACT_MIRRED=y +# CONFIG_NET_ACT_SAMPLE is not set # CONFIG_NET_ACT_IPT is not set # CONFIG_NET_ACT_NAT is not set # CONFIG_NET_ACT_PEDIT is not set @@ -1105,15 +1300,19 @@ CONFIG_NET_ACT_MIRRED=y # CONFIG_NET_ACT_VLAN is not set # CONFIG_NET_ACT_BPF is not set # CONFIG_NET_ACT_CONNMARK is not set +# CONFIG_NET_ACT_SKBMOD is not set # CONFIG_NET_ACT_IFE is not set +# CONFIG_NET_ACT_TUNNEL_KEY is not set # CONFIG_NET_CLS_IND is not set CONFIG_NET_SCH_FIFO=y # CONFIG_DCB is not set +# CONFIG_DNS_RESOLVER is not set # CONFIG_BATMAN_ADV is not set # CONFIG_OPENVSWITCH is not set # CONFIG_VSOCKETS is not set # CONFIG_NETLINK_DIAG is not set # CONFIG_MPLS is not set +# CONFIG_NET_NSH is not set # CONFIG_HSR is not set # CONFIG_NET_SWITCHDEV is not set # CONFIG_NET_L3_MASTER_DEV is not set @@ -1121,12 +1320,12 @@ CONFIG_NET_SCH_FIFO=y CONFIG_RPS=y CONFIG_RFS_ACCEL=y CONFIG_XPS=y -# CONFIG_SOCK_CGROUP_DATA is not set # CONFIG_CGROUP_NET_PRIO is not set # CONFIG_CGROUP_NET_CLASSID is not set CONFIG_NET_RX_BUSY_POLL=y CONFIG_BQL=y # CONFIG_BPF_JIT is not set +# CONFIG_BPF_STREAM_PARSER is not set CONFIG_NET_FLOW_LIMIT=y # @@ -1136,7 +1335,6 @@ CONFIG_NET_FLOW_LIMIT=y # CONFIG_NET_DROP_MONITOR is not set # CONFIG_HAMRADIO is not set # CONFIG_CAN is not set -# CONFIG_IRDA is not set CONFIG_BT=m CONFIG_BT_BREDR=y CONFIG_BT_RFCOMM=m @@ -1157,8 +1355,8 @@ CONFIG_BT_DEBUGFS=y CONFIG_BT_INTEL=m CONFIG_BT_BCM=m CONFIG_BT_RTL=m -CONFIG_BT_QCA=m CONFIG_BT_HCIBTUSB=m +# CONFIG_BT_HCIBTUSB_AUTOSUSPEND is not set CONFIG_BT_HCIBTUSB_BCM=y CONFIG_BT_HCIBTUSB_RTL=y CONFIG_BT_HCIBTSDIO=m @@ -1166,24 +1364,17 @@ CONFIG_BT_HCIUART=m CONFIG_BT_HCIUART_H4=y CONFIG_BT_HCIUART_BCSP=y CONFIG_BT_HCIUART_ATH3K=y -CONFIG_BT_HCIUART_LL=y -CONFIG_BT_HCIUART_3WIRE=y CONFIG_BT_HCIUART_INTEL=y -CONFIG_BT_HCIUART_BCM=y -CONFIG_BT_HCIUART_QCA=y # CONFIG_BT_HCIUART_AG6XX is not set +# CONFIG_BT_HCIUART_MRVL is not set CONFIG_BT_HCIBCM203X=m CONFIG_BT_HCIBPA10X=m CONFIG_BT_HCIBFUSB=m -CONFIG_BT_HCIDTL1=m -CONFIG_BT_HCIBT3C=m -CONFIG_BT_HCIBLUECARD=m -CONFIG_BT_HCIBTUART=m CONFIG_BT_HCIVHCI=m CONFIG_BT_MRVL=m CONFIG_BT_MRVL_SDIO=m CONFIG_BT_ATH3K=m -CONFIG_BT_WILINK=m +CONFIG_BT_HCIRSI=m # CONFIG_AF_RXRPC is not set # CONFIG_AF_KCM is not set CONFIG_FIB_RULES=y @@ -1197,9 +1388,10 @@ CONFIG_CFG80211=m # CONFIG_NL80211_TESTMODE is not set # CONFIG_CFG80211_DEVELOPER_WARNINGS is not set # CONFIG_CFG80211_CERTIFICATION_ONUS is not set +CONFIG_CFG80211_REQUIRE_SIGNED_REGDB=y +CONFIG_CFG80211_USE_KERNEL_REGDB_KEYS=y CONFIG_CFG80211_DEFAULT_PS=y # CONFIG_CFG80211_DEBUGFS is not set -# CONFIG_CFG80211_INTERNAL_REGDB is not set CONFIG_CFG80211_CRDA_SUPPORT=y CONFIG_CFG80211_WEXT=y CONFIG_CFG80211_WEXT_EXPORT=y @@ -1224,18 +1416,23 @@ CONFIG_MAC80211_STA_HASH_MAX_SIZE=0 CONFIG_WIMAX=m CONFIG_WIMAX_DEBUG_LEVEL=8 CONFIG_RFKILL=y +CONFIG_RFKILL_PM=y CONFIG_RFKILL_LEDS=y CONFIG_RFKILL_INPUT=y -# CONFIG_RFKILL_REGULATOR is not set CONFIG_RFKILL_GPIO=m # CONFIG_NET_9P is not set # CONFIG_CAIF is not set # CONFIG_CEPH_LIB is not set # CONFIG_NFC is not set +# CONFIG_PSAMPLE is not set +# CONFIG_NET_IFE is not set # CONFIG_LWTUNNEL is not set CONFIG_DST_CACHE=y +CONFIG_GRO_CELLS=y # CONFIG_NET_DEVLINK is not set CONFIG_MAY_USE_DEVLINK=y +CONFIG_PAGE_POOL=y +# CONFIG_FAILOVER is not set CONFIG_HAVE_EBPF_JIT=y # @@ -1250,156 +1447,44 @@ CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" # CONFIG_DEVTMPFS is not set CONFIG_STANDALONE=y CONFIG_PREVENT_FIRMWARE_BUILD=y + +# +# Firmware loader +# CONFIG_FW_LOADER=y -# CONFIG_FIRMWARE_IN_KERNEL is not set CONFIG_EXTRA_FIRMWARE="" -# CONFIG_FW_LOADER_USER_HELPER_FALLBACK is not set +CONFIG_FW_LOADER_USER_HELPER=y +CONFIG_FW_LOADER_USER_HELPER_FALLBACK=y CONFIG_WANT_DEV_COREDUMP=y CONFIG_ALLOW_DEV_COREDUMP=y CONFIG_DEV_COREDUMP=y # CONFIG_DEBUG_DRIVER is not set -# CONFIG_DEBUG_DEVRES is not set -# CONFIG_SYS_HYPERVISOR is not set -# CONFIG_GENERIC_CPU_DEVICES is not set +CONFIG_DEBUG_DEVRES=y +# CONFIG_DEBUG_TEST_DRIVER_REMOVE is not set +# CONFIG_TEST_ASYNC_DRIVER_PROBE is not set CONFIG_GENERIC_CPU_AUTOPROBE=y +CONFIG_GENERIC_CPU_VULNERABILITIES=y CONFIG_REGMAP=y CONFIG_REGMAP_I2C=y CONFIG_REGMAP_SPI=y CONFIG_REGMAP_MMIO=y CONFIG_REGMAP_IRQ=y CONFIG_DMA_SHARED_BUFFER=y -# CONFIG_FENCE_TRACE is not set +# CONFIG_DMA_FENCE_TRACE is not set # # Bus devices # -CONFIG_CONNECTOR=m -CONFIG_MTD=m -# CONFIG_MTD_TESTS is not set -# CONFIG_MTD_REDBOOT_PARTS is not set -# CONFIG_MTD_CMDLINE_PARTS is not set -CONFIG_MTD_OF_PARTS=m -# CONFIG_MTD_AR7_PARTS is not set - -# -# User Modules And Translation Layers -# -CONFIG_MTD_BLKDEVS=m -CONFIG_MTD_BLOCK=m -# CONFIG_MTD_BLOCK_RO is not set -CONFIG_FTL=m -CONFIG_NFTL=m -# CONFIG_NFTL_RW is not set -CONFIG_INFTL=m -CONFIG_RFD_FTL=m -CONFIG_SSFDC=m -CONFIG_SM_FTL=m -CONFIG_MTD_OOPS=m -# CONFIG_MTD_SWAP is not set -# CONFIG_MTD_PARTITIONED_MASTER is not set - -# -# RAM/ROM/Flash chip drivers -# -# CONFIG_MTD_CFI is not set -# CONFIG_MTD_JEDECPROBE is not set -CONFIG_MTD_MAP_BANK_WIDTH_1=y -CONFIG_MTD_MAP_BANK_WIDTH_2=y -CONFIG_MTD_MAP_BANK_WIDTH_4=y -# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set -# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set -# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set -CONFIG_MTD_CFI_I1=y -CONFIG_MTD_CFI_I2=y -# CONFIG_MTD_CFI_I4 is not set -# CONFIG_MTD_CFI_I8 is not set -# CONFIG_MTD_RAM is not set -# CONFIG_MTD_ROM is not set -# CONFIG_MTD_ABSENT is not set - -# -# Mapping drivers for chip access -# -# CONFIG_MTD_COMPLEX_MAPPINGS is not set -# CONFIG_MTD_PHYSMAP is not set -# CONFIG_MTD_INTEL_VR_NOR is not set -# CONFIG_MTD_PLATRAM is not set - -# -# Self-contained MTD device drivers -# -# CONFIG_MTD_PMC551 is not set -# CONFIG_MTD_DATAFLASH is not set -# CONFIG_MTD_SST25L is not set -# CONFIG_MTD_SLRAM is not set -# CONFIG_MTD_PHRAM is not set -# CONFIG_MTD_MTDRAM is not set -# CONFIG_MTD_BLOCK2MTD is not set - -# -# Disk-On-Chip Device Drivers -# -# CONFIG_MTD_DOCG3 is not set -CONFIG_MTD_NAND_ECC=m -# CONFIG_MTD_NAND_ECC_SMC is not set -CONFIG_MTD_NAND=m -# CONFIG_MTD_NAND_ECC_BCH is not set -# CONFIG_MTD_SM_COMMON is not set -# CONFIG_MTD_NAND_DENALI_PCI is not set -# CONFIG_MTD_NAND_DENALI_DT is not set -# CONFIG_MTD_NAND_GPIO is not set -# CONFIG_MTD_NAND_OMAP_BCH_BUILD is not set -CONFIG_MTD_NAND_IDS=m -# CONFIG_MTD_NAND_RICOH is not set -# CONFIG_MTD_NAND_DISKONCHIP is not set -# CONFIG_MTD_NAND_DOCG4 is not set -# CONFIG_MTD_NAND_CAFE is not set -# CONFIG_MTD_NAND_NANDSIM is not set -# CONFIG_MTD_NAND_PLATFORM is not set -# CONFIG_MTD_NAND_HISI504 is not set -# CONFIG_MTD_NAND_MTK is not set -CONFIG_MTD_ONENAND=m -# CONFIG_MTD_ONENAND_VERIFY_WRITE is not set -# CONFIG_MTD_ONENAND_GENERIC is not set -# CONFIG_MTD_ONENAND_OTP is not set -# CONFIG_MTD_ONENAND_2X_PROGRAM is not set - -# -# LPDDR & LPDDR2 PCM memory drivers -# -CONFIG_MTD_LPDDR=m -CONFIG_MTD_QINFO_PROBE=m -# CONFIG_MTD_SPI_NOR is not set -CONFIG_MTD_UBI=m -CONFIG_MTD_UBI_WL_THRESHOLD=4096 -CONFIG_MTD_UBI_BEB_LIMIT=20 -# CONFIG_MTD_UBI_FASTMAP is not set -CONFIG_MTD_UBI_GLUEBI=m -# CONFIG_MTD_UBI_BLOCK is not set -CONFIG_OF=y -# CONFIG_OF_UNITTEST is not set -CONFIG_OF_ADDRESS=y -CONFIG_OF_ADDRESS_PCI=y -CONFIG_OF_IRQ=y -CONFIG_OF_NET=y -CONFIG_OF_MDIO=m -CONFIG_OF_PCI=y -CONFIG_OF_PCI_IRQ=y -CONFIG_OF_MTD=y -# CONFIG_OF_OVERLAY is not set +# CONFIG_DVC_TRACE_BUS is not set +CONFIG_CONNECTOR=y +CONFIG_PROC_EVENTS=y +# CONFIG_GNSS is not set +# CONFIG_MTD is not set +# CONFIG_OF is not set CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y -CONFIG_PARPORT=m -CONFIG_PARPORT_PC=m -CONFIG_PARPORT_SERIAL=m -# CONFIG_PARPORT_PC_FIFO is not set -# CONFIG_PARPORT_PC_SUPERIO is not set -CONFIG_PARPORT_PC_PCMCIA=m -# CONFIG_PARPORT_GSC is not set -CONFIG_PARPORT_AX88796=m -# CONFIG_PARPORT_1284 is not set -CONFIG_PARPORT_NOT_PC=y +# CONFIG_PARPORT is not set CONFIG_PNP=y -CONFIG_PNP_DEBUG_MESSAGES=y +# CONFIG_PNP_DEBUG_MESSAGES is not set # # Protocols @@ -1408,39 +1493,13 @@ CONFIG_PNPACPI=y CONFIG_BLK_DEV=y # CONFIG_BLK_DEV_NULL_BLK is not set # CONFIG_BLK_DEV_FD is not set -CONFIG_PARIDE=m - -# -# Parallel IDE high-level drivers -# -CONFIG_PARIDE_PD=m -# CONFIG_PARIDE_PCD is not set -# CONFIG_PARIDE_PF is not set -# CONFIG_PARIDE_PT is not set -# CONFIG_PARIDE_PG is not set - -# -# Parallel IDE protocol modules -# -# CONFIG_PARIDE_ATEN is not set -# CONFIG_PARIDE_BPCK is not set -# CONFIG_PARIDE_COMM is not set -# CONFIG_PARIDE_DSTR is not set -# CONFIG_PARIDE_FIT2 is not set -# CONFIG_PARIDE_FIT3 is not set -# CONFIG_PARIDE_EPAT is not set -# CONFIG_PARIDE_EPIA is not set -# CONFIG_PARIDE_FRIQ is not set -# CONFIG_PARIDE_FRPW is not set -# CONFIG_PARIDE_KBIC is not set -# CONFIG_PARIDE_KTTI is not set -# CONFIG_PARIDE_ON20 is not set -# CONFIG_PARIDE_ON26 is not set -CONFIG_BLK_DEV_PCIESSD_MTIP32XX=m -# CONFIG_BLK_CPQ_CISS_DA is not set +CONFIG_CDROM=y +# CONFIG_BLK_DEV_PCIESSD_MTIP32XX is not set +CONFIG_ZRAM=y +# CONFIG_ZRAM_WRITEBACK is not set +# CONFIG_ZRAM_MEMORY_TRACKING is not set # CONFIG_BLK_DEV_DAC960 is not set # CONFIG_BLK_DEV_UMEM is not set -# CONFIG_BLK_DEV_COW_COMMON is not set CONFIG_BLK_DEV_LOOP=y CONFIG_BLK_DEV_LOOP_MIN_COUNT=8 # CONFIG_BLK_DEV_CRYPTOLOOP is not set @@ -1450,83 +1509,82 @@ CONFIG_BLK_DEV_LOOP_MIN_COUNT=8 # CONFIG_BLK_DEV_SX8 is not set CONFIG_BLK_DEV_RAM=y CONFIG_BLK_DEV_RAM_COUNT=16 -CONFIG_BLK_DEV_RAM_SIZE=8192 +CONFIG_BLK_DEV_RAM_SIZE=16384 # CONFIG_CDROM_PKTCDVD is not set # CONFIG_ATA_OVER_ETH is not set -CONFIG_VIRTIO_BLK=y -# CONFIG_BLK_DEV_HD is not set +# CONFIG_VIRTIO_BLK is not set # CONFIG_BLK_DEV_RBD is not set # CONFIG_BLK_DEV_RSXX is not set -# CONFIG_BLK_DEV_NVME is not set -# CONFIG_NVME_TARGET is not set + +# +# NVME Support +# +CONFIG_NVME_CORE=y +CONFIG_BLK_DEV_NVME=y +# CONFIG_NVME_MULTIPATH is not set +# CONFIG_NVME_FC is not set +CONFIG_NVME_TARGET=y +# CONFIG_NVME_TARGET_LOOP is not set +# CONFIG_NVME_TARGET_FC is not set # # Misc devices # -CONFIG_SENSORS_LIS3LV02D=m -CONFIG_AD525X_DPOT=m -CONFIG_AD525X_DPOT_I2C=m -# CONFIG_AD525X_DPOT_SPI is not set +# CONFIG_AD525X_DPOT is not set # CONFIG_DUMMY_IRQ is not set # CONFIG_IBM_ASM is not set # CONFIG_PHANTOM is not set # CONFIG_SGI_IOC4 is not set -CONFIG_TIFM_CORE=m -CONFIG_TIFM_7XX1=m -CONFIG_ICS932S401=m -CONFIG_ENCLOSURE_SERVICES=m +# CONFIG_TIFM_CORE is not set +# CONFIG_ICS932S401 is not set +# CONFIG_ENCLOSURE_SERVICES is not set # CONFIG_HP_ILO is not set -CONFIG_APDS9802ALS=m -CONFIG_ISL29003=m -CONFIG_ISL29020=m -CONFIG_SENSORS_TSL2550=m -CONFIG_SENSORS_BH1780=m -CONFIG_SENSORS_BH1770=m -CONFIG_SENSORS_APDS990X=m -CONFIG_HMC6352=m +# CONFIG_APDS9802ALS is not set +# CONFIG_ISL29003 is not set +# CONFIG_ISL29020 is not set +# CONFIG_SENSORS_TSL2550 is not set +# CONFIG_SENSORS_BH1770 is not set +# CONFIG_SENSORS_APDS990X is not set +# CONFIG_HMC6352 is not set # CONFIG_DS1682 is not set -# CONFIG_TI_DAC7512 is not set -CONFIG_VMWARE_BALLOON=m -CONFIG_BMP085=m -CONFIG_BMP085_I2C=m -CONFIG_BMP085_SPI=m -CONFIG_USB_SWITCH_FSA9480=m +# CONFIG_USB_SWITCH_FSA9480 is not set # CONFIG_LATTICE_ECP3_CONFIG is not set # CONFIG_SRAM is not set -CONFIG_PANEL=m -CONFIG_PANEL_PARPORT=0 -CONFIG_PANEL_PROFILE=5 -# CONFIG_PANEL_CHANGE_MESSAGE is not set -CONFIG_C2PORT=m -CONFIG_C2PORT_DURAMAR_2150=m +# CONFIG_PCI_ENDPOINT_TEST is not set +CONFIG_MISC_RTSX=y +CONFIG_UID_SYS_STATS=y +# CONFIG_UID_SYS_STATS_DEBUG is not set +# CONFIG_C2PORT is not set # # EEPROM support # -CONFIG_EEPROM_AT24=m +# CONFIG_EEPROM_AT24 is not set # CONFIG_EEPROM_AT25 is not set # CONFIG_EEPROM_LEGACY is not set # CONFIG_EEPROM_MAX6875 is not set CONFIG_EEPROM_93CX6=m # CONFIG_EEPROM_93XX46 is not set -CONFIG_CB710_CORE=m -# CONFIG_CB710_DEBUG is not set -CONFIG_CB710_DEBUG_ASSUMPTIONS=y +# CONFIG_EEPROM_IDT_89HPESX is not set +# CONFIG_CB710_CORE is not set # # Texas Instruments shared transport line discipline # -CONFIG_TI_ST=m -CONFIG_SENSORS_LIS3_I2C=m +# CONFIG_TI_ST is not set +# CONFIG_SENSORS_LIS3_I2C is not set +# CONFIG_ALTERA_STAPL is not set +CONFIG_INTEL_MEI=y +CONFIG_INTEL_MEI_ME=y +CONFIG_INTEL_MEI_TXE=y +# CONFIG_INTEL_MEI_VIRTIO is not set +# CONFIG_INTEL_MEI_DAL is not set +# CONFIG_INTEL_MEI_SPD is not set +# CONFIG_VMWARE_VMCI is not set # -# Altera FPGA firmware download module +# Intel MIC & related support # -CONFIG_ALTERA_STAPL=m -# CONFIG_INTEL_MEI is not set -# CONFIG_INTEL_MEI_ME is not set -# CONFIG_INTEL_MEI_TXE is not set -CONFIG_VMWARE_VMCI=m # # Intel MIC Bus Driver @@ -1563,64 +1621,13 @@ CONFIG_VMWARE_VMCI=m # VOP Driver # # CONFIG_GENWQE is not set -CONFIG_ECHO=m -# CONFIG_CXL_BASE is not set -# CONFIG_CXL_AFU_DRIVER_OPS is not set +# CONFIG_ECHO is not set +CONFIG_MISC_RTSX_PCI=y +# CONFIG_MISC_RTSX_USB is not set +# CONFIG_INTEL_HDCP_VIRTIO is not set +# CONFIG_INTEL_COREU_VIRTIO is not set CONFIG_HAVE_IDE=y -CONFIG_IDE=m - -# -# Please see Documentation/ide/ide.txt for help/info on IDE drives -# -# CONFIG_BLK_DEV_IDE_SATA is not set -CONFIG_IDE_GD=m -CONFIG_IDE_GD_ATA=y -# CONFIG_IDE_GD_ATAPI is not set -# CONFIG_BLK_DEV_IDECS is not set -# CONFIG_BLK_DEV_DELKIN is not set -# CONFIG_BLK_DEV_IDECD is not set -# CONFIG_BLK_DEV_IDETAPE is not set -# CONFIG_BLK_DEV_IDEACPI is not set -# CONFIG_IDE_TASK_IOCTL is not set -CONFIG_IDE_PROC_FS=y - -# -# IDE chipset support/bugfixes -# -# CONFIG_IDE_GENERIC is not set -# CONFIG_BLK_DEV_PLATFORM is not set -# CONFIG_BLK_DEV_CMD640 is not set -# CONFIG_BLK_DEV_IDEPNP is not set - -# -# PCI IDE chipsets support -# -# CONFIG_BLK_DEV_GENERIC is not set -# CONFIG_BLK_DEV_OPTI621 is not set -# CONFIG_BLK_DEV_RZ1000 is not set -# CONFIG_BLK_DEV_AEC62XX is not set -# CONFIG_BLK_DEV_ALI15X3 is not set -# CONFIG_BLK_DEV_AMD74XX is not set -# CONFIG_BLK_DEV_ATIIXP is not set -# CONFIG_BLK_DEV_CMD64X is not set -# CONFIG_BLK_DEV_TRIFLEX is not set -# CONFIG_BLK_DEV_HPT366 is not set -# CONFIG_BLK_DEV_JMICRON is not set -# CONFIG_BLK_DEV_PIIX is not set -# CONFIG_BLK_DEV_IT8172 is not set -# CONFIG_BLK_DEV_IT8213 is not set -# CONFIG_BLK_DEV_IT821X is not set -# CONFIG_BLK_DEV_NS87415 is not set -# CONFIG_BLK_DEV_PDC202XX_OLD is not set -# CONFIG_BLK_DEV_PDC202XX_NEW is not set -# CONFIG_BLK_DEV_SVWKS is not set -# CONFIG_BLK_DEV_SIIMAGE is not set -# CONFIG_BLK_DEV_SIS5513 is not set -# CONFIG_BLK_DEV_SLC90E66 is not set -# CONFIG_BLK_DEV_TRM290 is not set -# CONFIG_BLK_DEV_VIA82CXXX is not set -# CONFIG_BLK_DEV_TC86C001 is not set -# CONFIG_BLK_DEV_IDEDMA is not set +# CONFIG_IDE is not set # # SCSI device support @@ -1629,9 +1636,8 @@ CONFIG_SCSI_MOD=y # CONFIG_RAID_ATTRS is not set CONFIG_SCSI=y CONFIG_SCSI_DMA=y -# CONFIG_SCSI_NETLINK is not set # CONFIG_SCSI_MQ_DEFAULT is not set -# CONFIG_SCSI_PROC_FS is not set +CONFIG_SCSI_PROC_FS=y # # SCSI support type (disk, tape, CD-ROM) @@ -1643,8 +1649,7 @@ CONFIG_BLK_DEV_SR=y CONFIG_BLK_DEV_SR_VENDOR=y CONFIG_CHR_DEV_SG=y # CONFIG_CHR_DEV_SCH is not set -# CONFIG_SCSI_ENCLOSURE is not set -# CONFIG_SCSI_CONSTANTS is not set +CONFIG_SCSI_CONSTANTS=y # CONFIG_SCSI_LOGGING is not set # CONFIG_SCSI_SCAN_ASYNC is not set @@ -1684,30 +1689,27 @@ CONFIG_SCSI_LOWLEVEL=y # CONFIG_MEGARAID_SAS is not set # CONFIG_SCSI_MPT3SAS is not set # CONFIG_SCSI_MPT2SAS is not set +# CONFIG_SCSI_SMARTPQI is not set CONFIG_SCSI_UFSHCD=y -# CONFIG_SCSI_UFSHCD_PCI is not set +CONFIG_SCSI_UFSHCD_PCI=y # CONFIG_SCSI_UFS_DWC_TC_PCI is not set # CONFIG_SCSI_UFSHCD_PLATFORM is not set # CONFIG_SCSI_HPTIOP is not set # CONFIG_SCSI_BUSLOGIC is not set CONFIG_VMWARE_PVSCSI=y -CONFIG_HYPERV_STORAGE=y # CONFIG_SCSI_SNIC is not set # CONFIG_SCSI_DMX3191D is not set -# CONFIG_SCSI_EATA is not set -# CONFIG_SCSI_FUTURE_DOMAIN is not set # CONFIG_SCSI_GDTH is not set # CONFIG_SCSI_ISCI is not set # CONFIG_SCSI_IPS is not set # CONFIG_SCSI_INITIO is not set # CONFIG_SCSI_INIA100 is not set -# CONFIG_SCSI_PPA is not set -# CONFIG_SCSI_IMM is not set # CONFIG_SCSI_STEX is not set # CONFIG_SCSI_SYM53C8XX_2 is not set # CONFIG_SCSI_IPR is not set # CONFIG_SCSI_QLOGIC_1280 is not set # CONFIG_SCSI_QLA_ISCSI is not set +# CONFIG_QEDI is not set # CONFIG_SCSI_DC395x is not set # CONFIG_SCSI_AM53C974 is not set # CONFIG_SCSI_WD719X is not set @@ -1715,15 +1717,9 @@ CONFIG_HYPERV_STORAGE=y # CONFIG_SCSI_PMCRAID is not set # CONFIG_SCSI_PM8001 is not set CONFIG_SCSI_VIRTIO=y -CONFIG_SCSI_LOWLEVEL_PCMCIA=y -CONFIG_PCMCIA_AHA152X=m -CONFIG_PCMCIA_FDOMAIN=m -CONFIG_PCMCIA_QLOGIC=m -CONFIG_PCMCIA_SYM53C500=m # CONFIG_SCSI_DH is not set # CONFIG_SCSI_OSD_INITIATOR is not set CONFIG_ATA=y -# CONFIG_ATA_NONSTANDARD is not set CONFIG_ATA_VERBOSE_ERROR=y CONFIG_ATA_ACPI=y # CONFIG_SATA_ZPODD is not set @@ -1733,9 +1729,8 @@ CONFIG_SATA_PMP=y # Controllers with non-SFF native interface # CONFIG_SATA_AHCI=y +CONFIG_SATA_MOBILE_LPM_POLICY=0 CONFIG_SATA_AHCI_PLATFORM=y -# CONFIG_AHCI_CEVA is not set -# CONFIG_AHCI_QORIQ is not set # CONFIG_SATA_INIC162X is not set # CONFIG_SATA_ACARD_AHCI is not set # CONFIG_SATA_SIL24 is not set @@ -1767,10 +1762,10 @@ CONFIG_SATA_VIA=y # # PATA SFF controllers with BMDMA # -CONFIG_PATA_ALI=y +# CONFIG_PATA_ALI is not set CONFIG_PATA_AMD=y # CONFIG_PATA_ARTOP is not set -CONFIG_PATA_ATIIXP=y +# CONFIG_PATA_ATIIXP is not set # CONFIG_PATA_ATP867X is not set # CONFIG_PATA_CMD64X is not set # CONFIG_PATA_CYPRESS is not set @@ -1779,14 +1774,14 @@ CONFIG_PATA_ATIIXP=y # CONFIG_PATA_HPT37X is not set # CONFIG_PATA_HPT3X2N is not set # CONFIG_PATA_HPT3X3 is not set -CONFIG_PATA_IT8213=y +# CONFIG_PATA_IT8213 is not set # CONFIG_PATA_IT821X is not set # CONFIG_PATA_JMICRON is not set # CONFIG_PATA_MARVELL is not set # CONFIG_PATA_NETCELL is not set # CONFIG_PATA_NINJA32 is not set # CONFIG_PATA_NS87415 is not set -# CONFIG_PATA_OLDPIIX is not set +CONFIG_PATA_OLDPIIX=y # CONFIG_PATA_OPTIDMA is not set # CONFIG_PATA_PDC2027X is not set # CONFIG_PATA_PDC_OLD is not set @@ -1798,67 +1793,70 @@ CONFIG_PATA_SCH=y CONFIG_PATA_SIS=y # CONFIG_PATA_TOSHIBA is not set # CONFIG_PATA_TRIFLEX is not set -CONFIG_PATA_VIA=y +# CONFIG_PATA_VIA is not set # CONFIG_PATA_WINBOND is not set # # PIO-only SFF controllers # # CONFIG_PATA_CMD640_PCI is not set -# CONFIG_PATA_MPIIX is not set +CONFIG_PATA_MPIIX=y # CONFIG_PATA_NS87410 is not set # CONFIG_PATA_OPTI is not set -# CONFIG_PATA_PCMCIA is not set -CONFIG_PATA_PLATFORM=y -# CONFIG_PATA_OF_PLATFORM is not set +# CONFIG_PATA_PLATFORM is not set # CONFIG_PATA_RZ1000 is not set # # Generic fallback / legacy drivers # -CONFIG_PATA_ACPI=y +# CONFIG_PATA_ACPI is not set CONFIG_ATA_GENERIC=y # CONFIG_PATA_LEGACY is not set CONFIG_MD=y # CONFIG_BLK_DEV_MD is not set -# CONFIG_BCACHE is not set +CONFIG_BCACHE=m +# CONFIG_BCACHE_DEBUG is not set +# CONFIG_BCACHE_CLOSURES_DEBUG is not set CONFIG_BLK_DEV_DM_BUILTIN=y CONFIG_BLK_DEV_DM=y # CONFIG_DM_MQ_DEFAULT is not set -CONFIG_DM_DEBUG=y +# CONFIG_DM_DEBUG is not set CONFIG_DM_BUFIO=y -# CONFIG_DM_DEBUG_BLOCK_STACK_TRACING is not set +# CONFIG_DM_DEBUG_BLOCK_MANAGER_LOCKING is not set +# CONFIG_DM_UNSTRIPED is not set CONFIG_DM_CRYPT=y -# CONFIG_DM_SNAPSHOT is not set +CONFIG_DM_SNAPSHOT=y # CONFIG_DM_THIN_PROVISIONING is not set # CONFIG_DM_CACHE is not set +# CONFIG_DM_WRITECACHE is not set # CONFIG_DM_ERA is not set -# CONFIG_DM_MIRROR is not set +CONFIG_DM_MIRROR=y +# CONFIG_DM_LOG_USERSPACE is not set # CONFIG_DM_RAID is not set -# CONFIG_DM_ZERO is not set +CONFIG_DM_ZERO=y # CONFIG_DM_MULTIPATH is not set # CONFIG_DM_DELAY is not set CONFIG_DM_UEVENT=y # CONFIG_DM_FLAKEY is not set CONFIG_DM_VERITY=y +# CONFIG_DM_VERITY_HASH_PREFETCH_MIN_SIZE_128 is not set +CONFIG_DM_VERITY_HASH_PREFETCH_MIN_SIZE=1 CONFIG_DM_VERITY_FEC=y # CONFIG_DM_SWITCH is not set # CONFIG_DM_LOG_WRITES is not set +# CONFIG_DM_INTEGRITY is not set +# CONFIG_DM_VERITY_AVB is not set +# CONFIG_DM_ANDROID_VERITY is not set +# CONFIG_DM_ANDROID_VERITY_AT_MOST_ONCE_DEFAULT_ENABLED is not set # CONFIG_TARGET_CORE is not set -CONFIG_FUSION=y -CONFIG_FUSION_SPI=y -# CONFIG_FUSION_SAS is not set -CONFIG_FUSION_MAX_SGE=128 -# CONFIG_FUSION_CTL is not set -# CONFIG_FUSION_LOGGING is not set +# CONFIG_FUSION is not set # # IEEE 1394 (FireWire) support # # CONFIG_FIREWIRE is not set # CONFIG_FIREWIRE_NOSY is not set -CONFIG_MACINTOSH_DRIVERS=y -CONFIG_MAC_EMUMOUSEBTN=m +# CONFIG_MACINTOSH_DRIVERS is not set CONFIG_NETDEVICES=y CONFIG_MII=m CONFIG_NET_CORE=y @@ -1866,41 +1864,24 @@ CONFIG_NET_CORE=y # CONFIG_DUMMY is not set # CONFIG_EQUALIZER is not set # CONFIG_NET_FC is not set -CONFIG_IFB=m -CONFIG_NET_TEAM=m -# CONFIG_NET_TEAM_MODE_BROADCAST is not set -# CONFIG_NET_TEAM_MODE_ROUNDROBIN is not set -# CONFIG_NET_TEAM_MODE_RANDOM is not set -# CONFIG_NET_TEAM_MODE_ACTIVEBACKUP is not set -# CONFIG_NET_TEAM_MODE_LOADBALANCE is not set -CONFIG_MACVLAN=m -CONFIG_MACVTAP=m +# CONFIG_IFB is not set +# CONFIG_NET_TEAM is not set +# CONFIG_MACVLAN is not set # CONFIG_IPVLAN is not set # CONFIG_VXLAN is not set # CONFIG_GENEVE is not set # CONFIG_GTP is not set # CONFIG_MACSEC is not set -CONFIG_NETCONSOLE=m -CONFIG_NETCONSOLE_DYNAMIC=y +CONFIG_NETCONSOLE=y +# CONFIG_NETCONSOLE_DYNAMIC is not set CONFIG_NETPOLL=y CONFIG_NET_POLL_CONTROLLER=y CONFIG_TUN=y # CONFIG_TUN_VNET_CROSS_LE is not set -CONFIG_VETH=m -CONFIG_VIRTIO_NET=m -# CONFIG_NLMON is not set -CONFIG_SUNGEM_PHY=m -CONFIG_ARCNET=m -CONFIG_ARCNET_1201=m -CONFIG_ARCNET_1051=m -CONFIG_ARCNET_RAW=m -CONFIG_ARCNET_CAP=m -CONFIG_ARCNET_COM90xx=m -CONFIG_ARCNET_COM90xxIO=m -CONFIG_ARCNET_RIM_I=m -CONFIG_ARCNET_COM20020=m -CONFIG_ARCNET_COM20020_PCI=m -# CONFIG_ARCNET_COM20020_CS is not set +# CONFIG_VETH is not set +# CONFIG_VIRTIO_NET is not set +CONFIG_NLMON=m +# CONFIG_ARCNET is not set # # CAIF transport drivers @@ -1911,26 +1892,24 @@ CONFIG_ARCNET_COM20020_PCI=m # CONFIG_ETHERNET=y CONFIG_MDIO=m -CONFIG_NET_VENDOR_3COM=y -CONFIG_PCMCIA_3C574=m -CONFIG_PCMCIA_3C589=m -CONFIG_VORTEX=m -CONFIG_TYPHOON=m -CONFIG_NET_VENDOR_ADAPTEC=y -CONFIG_ADAPTEC_STARFIRE=m +# CONFIG_NET_VENDOR_3COM is not set +# CONFIG_NET_VENDOR_ADAPTEC is not set CONFIG_NET_VENDOR_AGERE=y CONFIG_ET131X=m +CONFIG_NET_VENDOR_ALACRITECH=y +CONFIG_SLICOSS=m CONFIG_NET_VENDOR_ALTEON=y -CONFIG_ACENIC=m -# CONFIG_ACENIC_OMIT_TIGON_I is not set +# CONFIG_ACENIC is not set CONFIG_ALTERA_TSE=m +CONFIG_NET_VENDOR_AMAZON=y +# CONFIG_ENA_ETHERNET is not set CONFIG_NET_VENDOR_AMD=y CONFIG_AMD8111_ETH=m CONFIG_PCNET32=m -CONFIG_PCMCIA_NMCLAN=m +# CONFIG_AMD_XGBE is not set +CONFIG_NET_VENDOR_AQUANTIA=y +# CONFIG_AQTION is not set CONFIG_NET_VENDOR_ARC=y -# CONFIG_ARC_EMAC is not set -# CONFIG_EMAC_ROCKCHIP is not set CONFIG_NET_VENDOR_ATHEROS=y CONFIG_ATL2=m CONFIG_ATL1=m @@ -1939,8 +1918,6 @@ CONFIG_ATL1C=m CONFIG_ALX=m CONFIG_NET_VENDOR_AURORA=y CONFIG_AURORA_NB8800=m -CONFIG_NET_CADENCE=y -CONFIG_MACB=m CONFIG_NET_VENDOR_BROADCOM=y CONFIG_B44=m CONFIG_B44_PCI_AUTOSELECT=y @@ -1949,25 +1926,35 @@ CONFIG_B44_PCI=y CONFIG_BCMGENET=m CONFIG_BNX2=m CONFIG_CNIC=m -CONFIG_TIGON3=m -CONFIG_BNX2X=m +# CONFIG_TIGON3 is not set +# CONFIG_BNX2X is not set # CONFIG_SYSTEMPORT is not set CONFIG_BNXT=m +CONFIG_BNXT_FLOWER_OFFLOAD=y +CONFIG_BNXT_HWMON=y CONFIG_NET_VENDOR_BROCADE=y CONFIG_BNA=m +CONFIG_NET_VENDOR_CADENCE=y +CONFIG_MACB=m +CONFIG_MACB_USE_HWSTAMP=y +# CONFIG_MACB_PCI is not set CONFIG_NET_VENDOR_CAVIUM=y CONFIG_THUNDER_NIC_PF=m # CONFIG_THUNDER_NIC_VF is not set CONFIG_THUNDER_NIC_BGX=m +CONFIG_THUNDER_NIC_RGX=m +CONFIG_CAVIUM_PTP=y CONFIG_LIQUIDIO=m +# CONFIG_LIQUIDIO_VF is not set CONFIG_NET_VENDOR_CHELSIO=y CONFIG_CHELSIO_T1=m CONFIG_CHELSIO_T1_1G=y -CONFIG_CHELSIO_T3=m +# CONFIG_CHELSIO_T3 is not set CONFIG_CHELSIO_T4=m CONFIG_CHELSIO_T4VF=m CONFIG_NET_VENDOR_CISCO=y CONFIG_ENIC=m +CONFIG_NET_VENDOR_CORTINA=y CONFIG_CX_ECAT=m CONFIG_DNET=m CONFIG_NET_VENDOR_DEC=y @@ -1982,7 +1969,6 @@ CONFIG_DE4X5=m CONFIG_WINBOND_840=m CONFIG_DM9102=m CONFIG_ULI526X=m -CONFIG_PCMCIA_XIRCOM=m CONFIG_NET_VENDOR_DLINK=y CONFIG_DL2K=m CONFIG_SUNDANCE=m @@ -1990,38 +1976,35 @@ CONFIG_SUNDANCE=m CONFIG_NET_VENDOR_EMULEX=y CONFIG_BE2NET=m CONFIG_BE2NET_HWMON=y +CONFIG_BE2NET_BE2=y +CONFIG_BE2NET_BE3=y +CONFIG_BE2NET_LANCER=y +CONFIG_BE2NET_SKYHAWK=y CONFIG_NET_VENDOR_EZCHIP=y -# CONFIG_EZCHIP_NPS_MANAGEMENT_ENET is not set -CONFIG_NET_VENDOR_EXAR=y -CONFIG_S2IO=m -CONFIG_VXGE=m -# CONFIG_VXGE_DEBUG_TRACE_ALL is not set -CONFIG_NET_VENDOR_FUJITSU=y -CONFIG_PCMCIA_FMVJ18X=m CONFIG_NET_VENDOR_HP=y CONFIG_HP100=m +CONFIG_NET_VENDOR_HUAWEI=y +# CONFIG_HINIC is not set +CONFIG_NET_VENDOR_I825XX=y CONFIG_NET_VENDOR_INTEL=y -CONFIG_E100=m +# CONFIG_E100 is not set CONFIG_E1000=m CONFIG_E1000E=m CONFIG_E1000E_HWTS=y CONFIG_IGB=m CONFIG_IGB_HWMON=y -CONFIG_IGB_DCA=y CONFIG_IGBVF=m CONFIG_IXGB=m CONFIG_IXGBE=m CONFIG_IXGBE_HWMON=y -CONFIG_IXGBE_DCA=y CONFIG_IXGBEVF=m CONFIG_I40E=m CONFIG_I40EVF=m +# CONFIG_ICE is not set CONFIG_FM10K=m -CONFIG_NET_VENDOR_I825XX=y CONFIG_JME=m CONFIG_NET_VENDOR_MARVELL=y CONFIG_MVMDIO=m -# CONFIG_MVNETA_BM is not set CONFIG_SKGE=m # CONFIG_SKGE_DEBUG is not set # CONFIG_SKGE_GENESIS is not set @@ -2031,11 +2014,21 @@ CONFIG_NET_VENDOR_MELLANOX=y CONFIG_MLX4_EN=m CONFIG_MLX4_CORE=m CONFIG_MLX4_DEBUG=y +CONFIG_MLX4_CORE_GEN2=y CONFIG_MLX5_CORE=m +# CONFIG_MLX5_FPGA is not set CONFIG_MLX5_CORE_EN=y +CONFIG_MLX5_EN_ARFS=y +CONFIG_MLX5_EN_RXNFC=y +CONFIG_MLX5_MPFS=y +# CONFIG_MLX5_CORE_IPOIB is not set CONFIG_MLXSW_CORE=m CONFIG_MLXSW_CORE_HWMON=y +CONFIG_MLXSW_CORE_THERMAL=y CONFIG_MLXSW_PCI=m +CONFIG_MLXSW_I2C=m +CONFIG_MLXSW_MINIMAL=m +# CONFIG_MLXFW is not set CONFIG_NET_VENDOR_MICREL=y CONFIG_KS8842=m CONFIG_KS8851=m @@ -2045,24 +2038,28 @@ CONFIG_NET_VENDOR_MICROCHIP=y CONFIG_ENC28J60=m # CONFIG_ENC28J60_WRITEVERIFY is not set CONFIG_ENCX24J600=m +# CONFIG_LAN743X is not set +CONFIG_NET_VENDOR_MICROSEMI=y CONFIG_NET_VENDOR_MYRI=y CONFIG_MYRI10GE=m -CONFIG_MYRI10GE_DCA=y CONFIG_FEALNX=m CONFIG_NET_VENDOR_NATSEMI=y CONFIG_NATSEMI=m CONFIG_NS83820=m +CONFIG_NET_VENDOR_NETERION=y +CONFIG_S2IO=m +CONFIG_VXGE=m +# CONFIG_VXGE_DEBUG_TRACE_ALL is not set CONFIG_NET_VENDOR_NETRONOME=y -# CONFIG_NFP_NETVF is not set +# CONFIG_NFP is not set +CONFIG_NET_VENDOR_NI=y CONFIG_NET_VENDOR_8390=y -CONFIG_PCMCIA_AXNET=m CONFIG_NE2K_PCI=m -CONFIG_PCMCIA_PCNET=m CONFIG_NET_VENDOR_NVIDIA=y CONFIG_FORCEDETH=m CONFIG_NET_VENDOR_OKI=y CONFIG_ETHOC=m -CONFIG_NET_PACKET_ENGINE=y +CONFIG_NET_VENDOR_PACKET_ENGINES=y CONFIG_HAMACHI=m CONFIG_YELLOWFIN=m CONFIG_NET_VENDOR_QLOGIC=y @@ -2074,9 +2071,11 @@ CONFIG_NETXEN_NIC=m CONFIG_QED=m CONFIG_QEDE=m CONFIG_NET_VENDOR_QUALCOMM=y -# CONFIG_QCA7000 is not set +# CONFIG_QCOM_EMAC is not set +# CONFIG_RMNET is not set +CONFIG_NET_VENDOR_RDC=y +CONFIG_R6040=m CONFIG_NET_VENDOR_REALTEK=y -CONFIG_ATP=m CONFIG_8139CP=m CONFIG_8139TOO=m CONFIG_8139TOO_PIO=y @@ -2085,122 +2084,107 @@ CONFIG_8139TOO_8129=y # CONFIG_8139_OLD_RX_RESET is not set CONFIG_R8169=m CONFIG_NET_VENDOR_RENESAS=y -CONFIG_NET_VENDOR_RDC=y -CONFIG_R6040=m CONFIG_NET_VENDOR_ROCKER=y CONFIG_NET_VENDOR_SAMSUNG=y CONFIG_SXGBE_ETH=m CONFIG_NET_VENDOR_SEEQ=y +CONFIG_NET_VENDOR_SOLARFLARE=y +CONFIG_SFC=m +CONFIG_SFC_MCDI_MON=y +CONFIG_SFC_MCDI_LOGGING=y +# CONFIG_SFC_FALCON is not set CONFIG_NET_VENDOR_SILAN=y CONFIG_SC92031=m CONFIG_NET_VENDOR_SIS=y CONFIG_SIS900=m CONFIG_SIS190=m -CONFIG_SFC=m -CONFIG_SFC_MTD=y -CONFIG_SFC_MCDI_MON=y -CONFIG_SFC_MCDI_LOGGING=y CONFIG_NET_VENDOR_SMSC=y -CONFIG_PCMCIA_SMC91C92=m CONFIG_EPIC100=m CONFIG_SMSC911X=m -# CONFIG_SMSC911X_ARCH_HOOKS is not set CONFIG_SMSC9420=m +CONFIG_NET_VENDOR_SOCIONEXT=y CONFIG_NET_VENDOR_STMICRO=y CONFIG_STMMAC_ETH=m CONFIG_STMMAC_PLATFORM=m CONFIG_DWMAC_GENERIC=m CONFIG_STMMAC_PCI=m -CONFIG_NET_VENDOR_SUN=y -CONFIG_HAPPYMEAL=m -CONFIG_SUNGEM=m -CONFIG_CASSINI=m -CONFIG_NIU=m +# CONFIG_NET_VENDOR_SUN is not set CONFIG_NET_VENDOR_SYNOPSYS=y -CONFIG_SYNOPSYS_DWC_ETH_QOS=m -CONFIG_NET_VENDOR_TEHUTI=y -CONFIG_TEHUTI=m -CONFIG_NET_VENDOR_TI=y -# CONFIG_TI_CPSW_ALE is not set -CONFIG_TLAN=m -CONFIG_NET_VENDOR_VIA=y -CONFIG_VIA_RHINE=m -# CONFIG_VIA_RHINE_MMIO is not set -CONFIG_VIA_VELOCITY=m -CONFIG_NET_VENDOR_WIZNET=y -CONFIG_WIZNET_W5100=m -CONFIG_WIZNET_W5300=m -# CONFIG_WIZNET_BUS_DIRECT is not set -# CONFIG_WIZNET_BUS_INDIRECT is not set -CONFIG_WIZNET_BUS_ANY=y -# CONFIG_WIZNET_W5100_SPI is not set -CONFIG_NET_VENDOR_XIRCOM=y -CONFIG_PCMCIA_XIRC2PS=m +# CONFIG_DWC_XLGMAC is not set +# CONFIG_NET_VENDOR_TEHUTI is not set +# CONFIG_NET_VENDOR_TI is not set +# CONFIG_NET_VENDOR_VIA is not set +# CONFIG_NET_VENDOR_WIZNET is not set # CONFIG_FDDI is not set # CONFIG_HIPPI is not set CONFIG_NET_SB1000=m +CONFIG_MDIO_DEVICE=m +CONFIG_MDIO_BUS=m +CONFIG_MDIO_BCM_UNIMAC=m +CONFIG_MDIO_BITBANG=m +CONFIG_MDIO_CAVIUM=m +CONFIG_MDIO_GPIO=m +# CONFIG_MDIO_MSCC_MIIM is not set +CONFIG_MDIO_THUNDER=m CONFIG_PHYLIB=m CONFIG_SWPHY=y +# CONFIG_LED_TRIGGER_PHY is not set # # MII PHY device drivers # +CONFIG_AMD_PHY=m # CONFIG_AQUANTIA_PHY is not set +# CONFIG_ASIX_PHY is not set CONFIG_AT803X_PHY=m -CONFIG_AMD_PHY=m -CONFIG_MARVELL_PHY=m +CONFIG_BCM7XXX_PHY=m +CONFIG_BCM87XX_PHY=m +CONFIG_BCM_NET_PHYLIB=m +CONFIG_BROADCOM_PHY=m +CONFIG_CICADA_PHY=m +# CONFIG_CORTINA_PHY is not set CONFIG_DAVICOM_PHY=m -CONFIG_QSEMI_PHY=m -CONFIG_LXT_PHY=m -CONFIG_CICADA_PHY=m -CONFIG_VITESSE_PHY=m -# CONFIG_TERANETICS_PHY is not set -CONFIG_SMSC_PHY=m -CONFIG_BCM_NET_PHYLIB=m -CONFIG_BROADCOM_PHY=m -CONFIG_BCM7XXX_PHY=m -CONFIG_BCM87XX_PHY=m -CONFIG_ICPLUS_PHY=m -CONFIG_REALTEK_PHY=m -CONFIG_NATIONAL_PHY=m -CONFIG_STE10XP=m -CONFIG_LSI_ET1011C_PHY=m -CONFIG_MICREL_PHY=m +# CONFIG_DP83822_PHY is not set +# CONFIG_DP83TC811_PHY is not set # CONFIG_DP83848_PHY is not set # CONFIG_DP83867_PHY is not set -CONFIG_MICROCHIP_PHY=m CONFIG_FIXED_PHY=m -CONFIG_MDIO_BITBANG=m -CONFIG_MDIO_GPIO=m -CONFIG_MDIO_CAVIUM=m -CONFIG_MDIO_OCTEON=m -CONFIG_MDIO_THUNDER=m -# CONFIG_MDIO_BUS_MUX_GPIO is not set -# CONFIG_MDIO_BUS_MUX_MMIOREG is not set -# CONFIG_MDIO_BCM_UNIMAC is not set +CONFIG_ICPLUS_PHY=m # CONFIG_INTEL_XWAY_PHY is not set -# CONFIG_MDIO_HISI_FEMAC is not set -# CONFIG_MDIO_XGENE is not set +CONFIG_LSI_ET1011C_PHY=m +CONFIG_LXT_PHY=m +CONFIG_MARVELL_PHY=m +# CONFIG_MARVELL_10G_PHY is not set +CONFIG_MICREL_PHY=m +CONFIG_MICROCHIP_PHY=m +# CONFIG_MICROCHIP_T1_PHY is not set +# CONFIG_MICROSEMI_PHY is not set +CONFIG_NATIONAL_PHY=m +CONFIG_QSEMI_PHY=m +CONFIG_REALTEK_PHY=m +# CONFIG_RENESAS_PHY is not set +# CONFIG_ROCKCHIP_PHY is not set +CONFIG_SMSC_PHY=m +CONFIG_STE10XP=m +# CONFIG_TERANETICS_PHY is not set +CONFIG_VITESSE_PHY=m +# CONFIG_XILINX_GMII2RGMII is not set CONFIG_MICREL_KS8995MA=m -CONFIG_PLIP=m -CONFIG_PPP=m -CONFIG_PPP_BSDCOMP=m -CONFIG_PPP_DEFLATE=m +CONFIG_PPP=y +CONFIG_PPP_BSDCOMP=y +CONFIG_PPP_DEFLATE=y CONFIG_PPP_FILTER=y -CONFIG_PPP_MPPE=m -CONFIG_PPP_MULTILINK=y -CONFIG_PPPOE=m +CONFIG_PPP_MPPE=y +# CONFIG_PPP_MULTILINK is not set +CONFIG_PPPOE=y CONFIG_PPPOL2TP=m -CONFIG_PPP_ASYNC=m -CONFIG_PPP_SYNC_TTY=m -CONFIG_SLIP=m -CONFIG_SLHC=m -# CONFIG_SLIP_COMPRESSED is not set -# CONFIG_SLIP_SMART is not set -# CONFIG_SLIP_MODE_SLIP6 is not set +# CONFIG_PPP_ASYNC is not set +# CONFIG_PPP_SYNC_TTY is not set +# CONFIG_SLIP is not set +CONFIG_SLHC=y CONFIG_USB_NET_DRIVERS=y CONFIG_USB_CATC=m -CONFIG_USB_KAWETH=m +# CONFIG_USB_KAWETH is not set CONFIG_USB_PEGASUS=m CONFIG_USB_RTL8150=m CONFIG_USB_RTL8152=m @@ -2222,7 +2206,7 @@ CONFIG_USB_NET_GL620A=m CONFIG_USB_NET_NET1080=m CONFIG_USB_NET_PLUSB=m CONFIG_USB_NET_MCS7830=m -CONFIG_USB_NET_RNDIS_HOST=m +# CONFIG_USB_NET_RNDIS_HOST is not set CONFIG_USB_NET_CDC_SUBSET_ENABLE=m CONFIG_USB_NET_CDC_SUBSET=m CONFIG_USB_ALI_M5632=y @@ -2243,55 +2227,24 @@ CONFIG_USB_SIERRA_NET=m CONFIG_USB_VL600=m CONFIG_USB_NET_CH9200=m CONFIG_WLAN=y +# CONFIG_WIRELESS_WDS is not set CONFIG_WLAN_VENDOR_ADMTEK=y -CONFIG_ADM8211=m -CONFIG_ATH_COMMON=m +# CONFIG_ADM8211 is not set CONFIG_WLAN_VENDOR_ATH=y # CONFIG_ATH_DEBUG is not set -CONFIG_ATH5K=m -# CONFIG_ATH5K_DEBUG is not set -# CONFIG_ATH5K_TRACER is not set -CONFIG_ATH5K_PCI=y -CONFIG_ATH9K_HW=m -CONFIG_ATH9K_COMMON=m -CONFIG_ATH9K_BTCOEX_SUPPORT=y -CONFIG_ATH9K=m -CONFIG_ATH9K_PCI=y -CONFIG_ATH9K_AHB=y -# CONFIG_ATH9K_DEBUGFS is not set -# CONFIG_ATH9K_DYNACK is not set -# CONFIG_ATH9K_WOW is not set -CONFIG_ATH9K_RFKILL=y -# CONFIG_ATH9K_CHANNEL_CONTEXT is not set -CONFIG_ATH9K_PCOEM=y -CONFIG_ATH9K_HTC=m -# CONFIG_ATH9K_HTC_DEBUGFS is not set -CONFIG_ATH9K_HWRNG=y -CONFIG_CARL9170=m -CONFIG_CARL9170_LEDS=y -CONFIG_CARL9170_WPC=y -# CONFIG_CARL9170_HWRNG is not set -CONFIG_ATH6KL=m -CONFIG_ATH6KL_SDIO=m -CONFIG_ATH6KL_USB=m -# CONFIG_ATH6KL_DEBUG is not set -# CONFIG_ATH6KL_TRACING is not set -CONFIG_AR5523=m -CONFIG_WIL6210=m -CONFIG_WIL6210_ISR_COR=y -CONFIG_WIL6210_TRACING=y -CONFIG_ATH10K=m -CONFIG_ATH10K_PCI=m -# CONFIG_ATH10K_AHB is not set -# CONFIG_ATH10K_DEBUG is not set -# CONFIG_ATH10K_DEBUGFS is not set -# CONFIG_ATH10K_TRACING is not set -CONFIG_WCN36XX=m -# CONFIG_WCN36XX_DEBUGFS is not set +# CONFIG_ATH5K is not set +# CONFIG_ATH5K_PCI is not set +# CONFIG_ATH9K is not set +# CONFIG_ATH9K_HTC is not set +# CONFIG_CARL9170 is not set +# CONFIG_ATH6KL is not set +# CONFIG_AR5523 is not set +# CONFIG_WIL6210 is not set +# CONFIG_ATH10K is not set +# CONFIG_WCN36XX is not set CONFIG_WLAN_VENDOR_ATMEL=y CONFIG_ATMEL=m CONFIG_PCI_ATMEL=m -CONFIG_PCMCIA_ATMEL=m CONFIG_AT76C50X_USB=m CONFIG_WLAN_VENDOR_BROADCOM=y CONFIG_B43=m @@ -2333,10 +2286,8 @@ CONFIG_BRCMFMAC_USB=y CONFIG_BRCMFMAC_PCIE=y # CONFIG_BRCM_TRACING is not set # CONFIG_BRCMDBG is not set -CONFIG_WL=m CONFIG_WLAN_VENDOR_CISCO=y CONFIG_AIRO=m -CONFIG_AIRO_CS=m CONFIG_WLAN_VENDOR_INTEL=y CONFIG_IPW2100=m CONFIG_IPW2100_MONITOR=y @@ -2375,15 +2326,12 @@ CONFIG_HOSTAP=m # CONFIG_HOSTAP_FIRMWARE is not set CONFIG_HOSTAP_PLX=m CONFIG_HOSTAP_PCI=m -CONFIG_HOSTAP_CS=m CONFIG_HERMES=m # CONFIG_HERMES_PRISM is not set CONFIG_HERMES_CACHE_FW_ON_INIT=y CONFIG_PLX_HERMES=m CONFIG_TMD_HERMES=m CONFIG_NORTEL_HERMES=m -CONFIG_PCMCIA_HERMES=m -CONFIG_PCMCIA_SPECTRUM=m CONFIG_ORINOCO_USB=m CONFIG_P54_COMMON=m CONFIG_P54_USB=m @@ -2395,7 +2343,6 @@ CONFIG_PRISM54=m CONFIG_WLAN_VENDOR_MARVELL=y CONFIG_LIBERTAS=m CONFIG_LIBERTAS_USB=m -CONFIG_LIBERTAS_CS=m CONFIG_LIBERTAS_SDIO=m CONFIG_LIBERTAS_SPI=m # CONFIG_LIBERTAS_DEBUG is not set @@ -2410,6 +2357,9 @@ CONFIG_MWIFIEX_USB=m CONFIG_MWL8K=m CONFIG_WLAN_VENDOR_MEDIATEK=y CONFIG_MT7601U=m +# CONFIG_MT76x0U is not set +# CONFIG_MT76x2E is not set +# CONFIG_MT76x2U is not set CONFIG_WLAN_VENDOR_RALINK=y CONFIG_RT2X00=m CONFIG_RT2400PCI=m @@ -2467,6 +2417,7 @@ CONFIG_RSI_91X=m CONFIG_RSI_DEBUGFS=y CONFIG_RSI_SDIO=m CONFIG_RSI_USB=m +CONFIG_RSI_COEX=y CONFIG_WLAN_VENDOR_ST=y CONFIG_CW1200=m CONFIG_CW1200_WLAN_SDIO=m @@ -2478,17 +2429,16 @@ CONFIG_WL1251_SDIO=m CONFIG_WL12XX=m CONFIG_WL18XX=m CONFIG_WLCORE=m -CONFIG_WLCORE_SPI=m CONFIG_WLCORE_SDIO=m CONFIG_WILINK_PLATFORM_DATA=y CONFIG_WLAN_VENDOR_ZYDAS=y CONFIG_USB_ZD1201=m CONFIG_ZD1211RW=m # CONFIG_ZD1211RW_DEBUG is not set -CONFIG_PCMCIA_RAYCS=m -CONFIG_PCMCIA_WL3501=m +CONFIG_WLAN_VENDOR_QUANTENNA=y +# CONFIG_QTNFMAC_PEARL_PCIE is not set CONFIG_MAC80211_HWSIM=m -CONFIG_USB_NET_RNDIS_WLAN=m +# CONFIG_USB_NET_RNDIS_WLAN is not set # # WiMAX Wireless Broadband devices @@ -2499,7 +2449,8 @@ CONFIG_WIMAX_I2400M_DEBUG_LEVEL=8 # CONFIG_WAN is not set CONFIG_VMXNET3=m # CONFIG_FUJITSU_ES is not set -CONFIG_HYPERV_NET=m +# CONFIG_NETDEVSIM is not set +# CONFIG_NET_FAILOVER is not set # CONFIG_ISDN is not set # CONFIG_NVM is not set @@ -2528,11 +2479,13 @@ CONFIG_INPUT_EVDEV=y # Input Device Drivers # CONFIG_INPUT_KEYBOARD=y +# CONFIG_KEYBOARD_ADC is not set # CONFIG_KEYBOARD_ADP5588 is not set # CONFIG_KEYBOARD_ADP5589 is not set CONFIG_KEYBOARD_ATKBD=m CONFIG_KEYBOARD_QT1070=m CONFIG_KEYBOARD_QT2160=m +# CONFIG_KEYBOARD_DLINK_DIR685 is not set # CONFIG_KEYBOARD_LKKBD is not set CONFIG_KEYBOARD_GPIO=m # CONFIG_KEYBOARD_GPIO_POLLED is not set @@ -2549,25 +2502,25 @@ CONFIG_KEYBOARD_MATRIX=m # CONFIG_KEYBOARD_SAMSUNG is not set # CONFIG_KEYBOARD_STOWAWAY is not set # CONFIG_KEYBOARD_SUNKBD is not set -# CONFIG_KEYBOARD_OMAP4 is not set +# CONFIG_KEYBOARD_TM2_TOUCHKEY is not set CONFIG_KEYBOARD_XTKBD=m -# CONFIG_KEYBOARD_CROS_EC is not set -# CONFIG_KEYBOARD_CAP11XX is not set -# CONFIG_KEYBOARD_BCM is not set CONFIG_INPUT_MOUSE=y CONFIG_MOUSE_PS2=m CONFIG_MOUSE_PS2_ALPS=y CONFIG_MOUSE_PS2_BYD=y CONFIG_MOUSE_PS2_LOGIPS2PP=y CONFIG_MOUSE_PS2_SYNAPTICS=y +CONFIG_MOUSE_PS2_SYNAPTICS_SMBUS=y CONFIG_MOUSE_PS2_CYPRESS=y CONFIG_MOUSE_PS2_LIFEBOOK=y CONFIG_MOUSE_PS2_TRACKPOINT=y CONFIG_MOUSE_PS2_ELANTECH=y +CONFIG_MOUSE_PS2_ELANTECH_SMBUS=y CONFIG_MOUSE_PS2_SENTELIC=y CONFIG_MOUSE_PS2_TOUCHKIT=y CONFIG_MOUSE_PS2_FOCALTECH=y # CONFIG_MOUSE_PS2_VMMOUSE is not set +CONFIG_MOUSE_PS2_SMBUS=y CONFIG_MOUSE_SERIAL=m CONFIG_MOUSE_APPLETOUCH=m CONFIG_MOUSE_BCM5974=m @@ -2601,15 +2554,13 @@ CONFIG_JOYSTICK_SPACEBALL=m CONFIG_JOYSTICK_STINGER=m CONFIG_JOYSTICK_TWIDJOY=m CONFIG_JOYSTICK_ZHENHUA=m -CONFIG_JOYSTICK_DB9=m -CONFIG_JOYSTICK_GAMECON=m -CONFIG_JOYSTICK_TURBOGRAFX=m CONFIG_JOYSTICK_AS5011=m CONFIG_JOYSTICK_JOYDUMP=m CONFIG_JOYSTICK_XPAD=m CONFIG_JOYSTICK_XPAD_FF=y CONFIG_JOYSTICK_XPAD_LEDS=y -CONFIG_JOYSTICK_WALKERA0701=m +# CONFIG_JOYSTICK_PSXPAD_SPI is not set +# CONFIG_JOYSTICK_PXRC is not set CONFIG_INPUT_TABLET=y CONFIG_TABLET_USB_ACECAD=m CONFIG_TABLET_USB_AIPTEK=m @@ -2625,11 +2576,13 @@ CONFIG_TOUCHSCREEN_AD7877=m CONFIG_TOUCHSCREEN_AD7879=m CONFIG_TOUCHSCREEN_AD7879_I2C=m CONFIG_TOUCHSCREEN_AD7879_SPI=m -# CONFIG_TOUCHSCREEN_AR1021_I2C is not set +# CONFIG_TOUCHSCREEN_ADC is not set CONFIG_TOUCHSCREEN_ATMEL_MXT=m +# CONFIG_TOUCHSCREEN_ATMEL_MXT_T37 is not set CONFIG_TOUCHSCREEN_AUO_PIXCIR=m CONFIG_TOUCHSCREEN_BU21013=m -CONFIG_TOUCHSCREEN_CHIPONE_ICN8318=m +# CONFIG_TOUCHSCREEN_BU21029 is not set +# CONFIG_TOUCHSCREEN_CHIPONE_ICN8505 is not set CONFIG_TOUCHSCREEN_CY8CTMG110=m CONFIG_TOUCHSCREEN_CYTTSP_CORE=m CONFIG_TOUCHSCREEN_CYTTSP_I2C=m @@ -2640,13 +2593,15 @@ CONFIG_TOUCHSCREEN_CYTTSP4_SPI=m CONFIG_TOUCHSCREEN_DYNAPRO=m CONFIG_TOUCHSCREEN_HAMPSHIRE=m CONFIG_TOUCHSCREEN_EETI=m -CONFIG_TOUCHSCREEN_EGALAX=m # CONFIG_TOUCHSCREEN_EGALAX_SERIAL is not set -CONFIG_TOUCHSCREEN_FT6236=m +# CONFIG_TOUCHSCREEN_EXC3000 is not set CONFIG_TOUCHSCREEN_FUJITSU=m CONFIG_TOUCHSCREEN_GOODIX=m +# CONFIG_TOUCHSCREEN_HIDEEP is not set CONFIG_TOUCHSCREEN_ILI210X=m +# CONFIG_TOUCHSCREEN_S6SY761 is not set CONFIG_TOUCHSCREEN_GUNZE=m +# CONFIG_TOUCHSCREEN_EKTF2127 is not set CONFIG_TOUCHSCREEN_ELAN=m CONFIG_TOUCHSCREEN_ELO=m CONFIG_TOUCHSCREEN_WACOM_W8001=m @@ -2656,14 +2611,12 @@ CONFIG_TOUCHSCREEN_MCS5000=m CONFIG_TOUCHSCREEN_MMS114=m # CONFIG_TOUCHSCREEN_MELFAS_MIP4 is not set CONFIG_TOUCHSCREEN_MTOUCH=m -CONFIG_TOUCHSCREEN_IMX6UL_TSC=m CONFIG_TOUCHSCREEN_INEXIO=m CONFIG_TOUCHSCREEN_MK712=m CONFIG_TOUCHSCREEN_PENMOUNT=m CONFIG_TOUCHSCREEN_EDT_FT5X06=m CONFIG_TOUCHSCREEN_TOUCHRIGHT=m CONFIG_TOUCHSCREEN_TOUCHWIN=m -CONFIG_TOUCHSCREEN_UCB1400=m CONFIG_TOUCHSCREEN_PIXCIR=m CONFIG_TOUCHSCREEN_WDT87XX_I2C=m CONFIG_TOUCHSCREEN_WM97XX=m @@ -2695,32 +2648,32 @@ CONFIG_TOUCHSCREEN_TSC200X_CORE=m CONFIG_TOUCHSCREEN_TSC2004=m CONFIG_TOUCHSCREEN_TSC2005=m CONFIG_TOUCHSCREEN_TSC2007=m +# CONFIG_TOUCHSCREEN_TSC2007_IIO is not set # CONFIG_TOUCHSCREEN_RM_TS is not set CONFIG_TOUCHSCREEN_SILEAD=m # CONFIG_TOUCHSCREEN_SIS_I2C is not set CONFIG_TOUCHSCREEN_ST1232=m +# CONFIG_TOUCHSCREEN_STMFTS is not set CONFIG_TOUCHSCREEN_SUR40=m CONFIG_TOUCHSCREEN_SURFACE3_SPI=m CONFIG_TOUCHSCREEN_SX8654=m CONFIG_TOUCHSCREEN_TPS6507X=m +# CONFIG_TOUCHSCREEN_ZET6223 is not set CONFIG_TOUCHSCREEN_ZFORCE=m CONFIG_TOUCHSCREEN_ROHM_BU21023=m CONFIG_INPUT_MISC=y -CONFIG_INPUT_88PM80X_ONKEY=m CONFIG_INPUT_AD714X=m CONFIG_INPUT_AD714X_I2C=m CONFIG_INPUT_AD714X_SPI=m # CONFIG_INPUT_ARIZONA_HAPTICS is not set -# CONFIG_INPUT_ATMEL_CAPTOUCH is not set CONFIG_INPUT_BMA150=m # CONFIG_INPUT_E3X0_BUTTON is not set CONFIG_INPUT_PCSPKR=m CONFIG_INPUT_MMA8450=m -CONFIG_INPUT_MPU3050=m CONFIG_INPUT_APANEL=m CONFIG_INPUT_GP2A=m # CONFIG_INPUT_GPIO_BEEPER is not set -CONFIG_INPUT_GPIO_TILT_POLLED=m +# CONFIG_INPUT_GPIO_DECODER is not set CONFIG_INPUT_ATLAS_BTNS=m CONFIG_INPUT_ATI_REMOTE2=m CONFIG_INPUT_KEYSPAN_REMOTE=m @@ -2730,23 +2683,22 @@ CONFIG_INPUT_POWERMATE=m CONFIG_INPUT_YEALINK=m CONFIG_INPUT_CM109=m CONFIG_INPUT_REGULATOR_HAPTIC=m -CONFIG_INPUT_TPS65218_PWRBUTTON=m CONFIG_INPUT_UINPUT=y -CONFIG_INPUT_PCF8574=m +# CONFIG_INPUT_GPIO is not set +# CONFIG_INPUT_PCF8574 is not set # CONFIG_INPUT_PWM_BEEPER is not set +# CONFIG_INPUT_PWM_VIBRA is not set CONFIG_INPUT_GPIO_ROTARY_ENCODER=m CONFIG_INPUT_ADXL34X=m CONFIG_INPUT_ADXL34X_I2C=m CONFIG_INPUT_ADXL34X_SPI=m # CONFIG_INPUT_IMS_PCU is not set -CONFIG_INPUT_CMA3000=m -CONFIG_INPUT_CMA3000_I2C=m -CONFIG_INPUT_IDEAPAD_SLIDEBAR=m +# CONFIG_INPUT_CMA3000 is not set +# CONFIG_INPUT_IDEAPAD_SLIDEBAR is not set CONFIG_INPUT_SOC_BUTTON_ARRAY=m -CONFIG_INPUT_SURFACE3_BUTTON_ARRAY=m -CONFIG_INPUT_DRV260X_HAPTICS=m -CONFIG_INPUT_DRV2665_HAPTICS=m -CONFIG_INPUT_DRV2667_HAPTICS=m +# CONFIG_INPUT_DRV260X_HAPTICS is not set +# CONFIG_INPUT_DRV2665_HAPTICS is not set +# CONFIG_INPUT_DRV2667_HAPTICS is not set # CONFIG_RMI4_CORE is not set # @@ -2757,15 +2709,13 @@ CONFIG_ARCH_MIGHT_HAVE_PC_SERIO=y CONFIG_SERIO_I8042=y CONFIG_SERIO_SERPORT=y CONFIG_SERIO_CT82C710=m -CONFIG_SERIO_PARKBD=m CONFIG_SERIO_PCIPS2=y CONFIG_SERIO_LIBPS2=y CONFIG_SERIO_RAW=y CONFIG_SERIO_ALTERA_PS2=m CONFIG_SERIO_PS2MULT=m CONFIG_SERIO_ARC_PS2=m -# CONFIG_SERIO_APBPS2 is not set -CONFIG_HYPERV_KEYBOARD=y +# CONFIG_SERIO_GPIO_PS2 is not set # CONFIG_USERIO is not set CONFIG_GAMEPORT=m CONFIG_GAMEPORT_NS558=m @@ -2784,13 +2734,23 @@ CONFIG_VT_CONSOLE_SLEEP=y CONFIG_HW_CONSOLE=y CONFIG_VT_HW_CONSOLE_BINDING=y CONFIG_UNIX98_PTYS=y -CONFIG_LEGACY_PTYS=y -CONFIG_LEGACY_PTY_COUNT=32 -# CONFIG_SERIAL_NONSTANDARD is not set +# CONFIG_LEGACY_PTYS is not set +CONFIG_SERIAL_NONSTANDARD=y +# CONFIG_ROCKETPORT is not set +# CONFIG_CYCLADES is not set +# CONFIG_MOXA_INTELLIO is not set +# CONFIG_MOXA_SMARTIO is not set +# CONFIG_SYNCLINK is not set +# CONFIG_SYNCLINKMP is not set +# CONFIG_SYNCLINK_GT is not set # CONFIG_NOZOMI is not set -# CONFIG_N_GSM is not set -# CONFIG_TRACE_SINK is not set -CONFIG_DEVMEM=y +# CONFIG_ISI is not set +# CONFIG_N_HDLC is not set +CONFIG_N_GSM=y +CONFIG_TRACE_ROUTER=y +CONFIG_TRACE_SINK=y +# CONFIG_CBC_LDISC is not set +# CONFIG_DEVMEM is not set # CONFIG_DEVKMEM is not set # @@ -2804,7 +2764,7 @@ CONFIG_SERIAL_8250_PNP=y CONFIG_SERIAL_8250_CONSOLE=y CONFIG_SERIAL_8250_DMA=y CONFIG_SERIAL_8250_PCI=m -CONFIG_SERIAL_8250_CS=m +CONFIG_SERIAL_8250_EXAR=m CONFIG_SERIAL_8250_NR_UARTS=4 CONFIG_SERIAL_8250_RUNTIME_UARTS=4 CONFIG_SERIAL_8250_EXTENDED=y @@ -2812,12 +2772,11 @@ CONFIG_SERIAL_8250_MANY_PORTS=y CONFIG_SERIAL_8250_SHARE_IRQ=y CONFIG_SERIAL_8250_DETECT_IRQ=y CONFIG_SERIAL_8250_RSA=y -# CONFIG_SERIAL_8250_FSL is not set -CONFIG_SERIAL_8250_DW=m +CONFIG_SERIAL_8250_DW=y # CONFIG_SERIAL_8250_RT288X is not set +CONFIG_SERIAL_8250_LPSS=y # CONFIG_SERIAL_8250_MID is not set # CONFIG_SERIAL_8250_MOXA is not set -# CONFIG_SERIAL_OF_PLATFORM is not set # # Non-8250 serial port support @@ -2833,36 +2792,22 @@ CONFIG_SERIAL_CORE_CONSOLE=y # CONFIG_SERIAL_ALTERA_JTAGUART is not set # CONFIG_SERIAL_ALTERA_UART is not set # CONFIG_SERIAL_IFX6X60 is not set -# CONFIG_SERIAL_XILINX_PS_UART is not set # CONFIG_SERIAL_ARC is not set # CONFIG_SERIAL_RP2 is not set # CONFIG_SERIAL_FSL_LPUART is not set -# CONFIG_SERIAL_CONEXANT_DIGICOLOR is not set -CONFIG_SERIAL_MCTRL_GPIO=y +# CONFIG_SERIAL_DEV_BUS is not set # CONFIG_TTY_PRINTK is not set -CONFIG_PRINTER=m -# CONFIG_LP_CONSOLE is not set -# CONFIG_PPDEV is not set -CONFIG_HVC_DRIVER=y -CONFIG_VIRTIO_CONSOLE=m +# CONFIG_VIRTIO_CONSOLE is not set # CONFIG_IPMI_HANDLER is not set -CONFIG_HW_RANDOM=m -CONFIG_HW_RANDOM_TIMERIOMEM=m -CONFIG_HW_RANDOM_INTEL=m -CONFIG_HW_RANDOM_AMD=m -CONFIG_HW_RANDOM_VIA=m -CONFIG_HW_RANDOM_VIRTIO=m -CONFIG_NVRAM=m +CONFIG_HW_RANDOM=y +# CONFIG_HW_RANDOM_TIMERIOMEM is not set +CONFIG_HW_RANDOM_INTEL=y +# CONFIG_HW_RANDOM_AMD is not set +# CONFIG_HW_RANDOM_VIA is not set +# CONFIG_HW_RANDOM_VIRTIO is not set +CONFIG_NVRAM=y # CONFIG_R3964 is not set # CONFIG_APPLICOM is not set - -# -# PCMCIA character devices -# -# CONFIG_SYNCLINK_CS is not set -# CONFIG_CARDMAN_4000 is not set -# CONFIG_CARDMAN_4040 is not set -# CONFIG_IPWIRELESS is not set # CONFIG_MWAVE is not set CONFIG_RAW_DRIVER=m CONFIG_MAX_RAW_DEVS=4096 @@ -2871,8 +2816,14 @@ CONFIG_HPET=y CONFIG_HANGCHECK_TIMER=m # CONFIG_TCG_TPM is not set # CONFIG_TELCLOCK is not set -CONFIG_DEVPORT=y +# CONFIG_DEVPORT is not set # CONFIG_XILLYBUS is not set +CONFIG_RPMB=y +# CONFIG_RPMB_INTF_DEV is not set +# CONFIG_RPMB_SIM is not set +# CONFIG_VIRTIO_RPMB is not set +# CONFIG_RPMB_MUX is not set +# CONFIG_RANDOM_TRUST_CPU is not set # # I2C support @@ -2881,23 +2832,27 @@ CONFIG_I2C=y CONFIG_ACPI_I2C_OPREGION=y CONFIG_I2C_BOARDINFO=y CONFIG_I2C_COMPAT=y -CONFIG_I2C_CHARDEV=m -CONFIG_I2C_MUX=m +CONFIG_I2C_CHARDEV=y +CONFIG_I2C_MUX=y # # Multiplexer I2C Chip support # -# CONFIG_I2C_ARB_GPIO_CHALLENGE is not set -CONFIG_I2C_MUX_GPIO=m -CONFIG_I2C_MUX_PCA9541=m -CONFIG_I2C_MUX_PCA954x=m -CONFIG_I2C_MUX_PINCTRL=m -CONFIG_I2C_MUX_REG=m -# CONFIG_I2C_DEMUX_PINCTRL is not set -CONFIG_I2C_HELPER_AUTO=y -CONFIG_I2C_SMBUS=m -CONFIG_I2C_ALGOBIT=m -CONFIG_I2C_ALGOPCA=m +# CONFIG_I2C_MUX_GPIO is not set +# CONFIG_I2C_MUX_LTC4306 is not set +# CONFIG_I2C_MUX_PCA9541 is not set +# CONFIG_I2C_MUX_PCA954x is not set +# CONFIG_I2C_MUX_REG is not set +# CONFIG_I2C_MUX_MLXCPLD is not set +# CONFIG_I2C_HELPER_AUTO is not set +CONFIG_I2C_SMBUS=y + +# +# I2C Algorithms +# +CONFIG_I2C_ALGOBIT=y +# CONFIG_I2C_ALGOPCF is not set +# CONFIG_I2C_ALGOPCA is not set # # I2C Hardware Bus support @@ -2906,60 +2861,56 @@ CONFIG_I2C_ALGOPCA=m # # PC SMBus host controller drivers # -CONFIG_I2C_ALI1535=m -CONFIG_I2C_ALI1563=m -CONFIG_I2C_ALI15X3=m -CONFIG_I2C_AMD756=m -CONFIG_I2C_AMD756_S4882=m -CONFIG_I2C_AMD8111=m -CONFIG_I2C_I801=m -CONFIG_I2C_ISCH=m -CONFIG_I2C_ISMT=m -CONFIG_I2C_PIIX4=m -CONFIG_I2C_NFORCE2=m -CONFIG_I2C_NFORCE2_S4985=m -CONFIG_I2C_SIS5595=m -CONFIG_I2C_SIS630=m -CONFIG_I2C_SIS96X=m -CONFIG_I2C_VIA=m -CONFIG_I2C_VIAPRO=m +# CONFIG_I2C_ALI1535 is not set +# CONFIG_I2C_ALI1563 is not set +# CONFIG_I2C_ALI15X3 is not set +# CONFIG_I2C_AMD756 is not set +# CONFIG_I2C_AMD8111 is not set +CONFIG_I2C_I801=y +CONFIG_I2C_ISCH=y +# CONFIG_I2C_ISMT is not set +# CONFIG_I2C_PIIX4 is not set +# CONFIG_I2C_NFORCE2 is not set +# CONFIG_I2C_SIS5595 is not set +# CONFIG_I2C_SIS630 is not set +# CONFIG_I2C_SIS96X is not set +# CONFIG_I2C_VIA is not set +# CONFIG_I2C_VIAPRO is not set # # ACPI drivers # -CONFIG_I2C_SCMI=m +CONFIG_I2C_SCMI=y # # I2C system bus drivers (mostly embedded / system-on-chip) # -CONFIG_I2C_CBUS_GPIO=m -CONFIG_I2C_DESIGNWARE_CORE=m -CONFIG_I2C_DESIGNWARE_PLATFORM=m -CONFIG_I2C_DESIGNWARE_PCI=m +# CONFIG_I2C_CBUS_GPIO is not set +CONFIG_I2C_DESIGNWARE_CORE=y +CONFIG_I2C_DESIGNWARE_PLATFORM=y +# CONFIG_I2C_DESIGNWARE_SLAVE is not set +CONFIG_I2C_DESIGNWARE_PCI=y CONFIG_I2C_DESIGNWARE_BAYTRAIL=y -CONFIG_I2C_EMEV2=m -CONFIG_I2C_GPIO=m -CONFIG_I2C_OCORES=m -CONFIG_I2C_PCA_PLATFORM=m -# CONFIG_I2C_PXA_PCI is not set -# CONFIG_I2C_RK3X is not set -CONFIG_I2C_SIMTEC=m -CONFIG_I2C_XILINX=m +# CONFIG_I2C_EMEV2 is not set +# CONFIG_I2C_GPIO is not set +# CONFIG_I2C_OCORES is not set +# CONFIG_I2C_PCA_PLATFORM is not set +# CONFIG_I2C_SIMTEC is not set +# CONFIG_I2C_XILINX is not set # # External I2C/SMBus adapter drivers # -CONFIG_I2C_DIOLAN_U2C=m -CONFIG_I2C_PARPORT=m -CONFIG_I2C_PARPORT_LIGHT=m -CONFIG_I2C_ROBOTFUZZ_OSIF=m -CONFIG_I2C_TAOS_EVM=m -CONFIG_I2C_TINY_USB=m +# CONFIG_I2C_DIOLAN_U2C is not set +# CONFIG_I2C_PARPORT_LIGHT is not set +# CONFIG_I2C_ROBOTFUZZ_OSIF is not set +# CONFIG_I2C_TAOS_EVM is not set +# CONFIG_I2C_TINY_USB is not set # # Other I2C/SMBus bus drivers # -CONFIG_I2C_CROS_EC_TUNNEL=m +# CONFIG_I2C_MLXCPLD is not set # CONFIG_I2C_STUB is not set CONFIG_I2C_SLAVE=y # CONFIG_I2C_SLAVE_EEPROM is not set @@ -2969,25 +2920,20 @@ CONFIG_I2C_SLAVE=y CONFIG_SPI=y # CONFIG_SPI_DEBUG is not set CONFIG_SPI_MASTER=y +# CONFIG_SPI_MEM is not set # # SPI Master Controller Drivers # # CONFIG_SPI_ALTERA is not set # CONFIG_SPI_AXI_SPI_ENGINE is not set -CONFIG_SPI_BITBANG=m -# CONFIG_SPI_BUTTERFLY is not set +# CONFIG_SPI_BITBANG is not set # CONFIG_SPI_CADENCE is not set -CONFIG_SPI_DESIGNWARE=m -CONFIG_SPI_DW_PCI=m -# CONFIG_SPI_DW_MID_DMA is not set -CONFIG_SPI_DW_MMIO=m +# CONFIG_SPI_DESIGNWARE is not set # CONFIG_SPI_GPIO is not set -# CONFIG_SPI_LM70_LLP is not set -# CONFIG_SPI_FSL_SPI is not set # CONFIG_SPI_OC_TINY is not set -CONFIG_SPI_PXA2XX=m -CONFIG_SPI_PXA2XX_PCI=m +CONFIG_SPI_PXA2XX=y +CONFIG_SPI_PXA2XX_PCI=y # CONFIG_SPI_ROCKCHIP is not set # CONFIG_SPI_SC18IS602 is not set # CONFIG_SPI_XCOMM is not set @@ -3000,13 +2946,10 @@ CONFIG_SPI_PXA2XX_PCI=m # CONFIG_SPI_SPIDEV is not set # CONFIG_SPI_LOOPBACK_TEST is not set # CONFIG_SPI_TLE62X0 is not set +# CONFIG_SPI_SLAVE is not set # CONFIG_SPMI is not set # CONFIG_HSI is not set - -# -# PPS support -# -CONFIG_PPS=m +CONFIG_PPS=y # CONFIG_PPS_DEBUG is not set # @@ -3014,7 +2957,6 @@ CONFIG_PPS=m # # CONFIG_PPS_CLIENT_KTIMER is not set # CONFIG_PPS_CLIENT_LDISC is not set -# CONFIG_PPS_CLIENT_PARPORT is not set # CONFIG_PPS_CLIENT_GPIO is not set # @@ -3024,136 +2966,132 @@ CONFIG_PPS=m # # PTP clock support # -CONFIG_PTP_1588_CLOCK=m +CONFIG_PTP_1588_CLOCK=y # # Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks. # CONFIG_PINCTRL=y - -# -# Pin controllers -# CONFIG_PINMUX=y CONFIG_PINCONF=y CONFIG_GENERIC_PINCONF=y # CONFIG_DEBUG_PINCTRL is not set -CONFIG_PINCTRL_AMD=y -CONFIG_PINCTRL_SINGLE=m +# CONFIG_PINCTRL_AMD is not set +# CONFIG_PINCTRL_MCP23S08 is not set +# CONFIG_PINCTRL_SX150X is not set CONFIG_PINCTRL_BAYTRAIL=y CONFIG_PINCTRL_CHERRYVIEW=y -CONFIG_PINCTRL_INTEL=m -CONFIG_PINCTRL_BROXTON=m -CONFIG_PINCTRL_SUNRISEPOINT=m +CONFIG_PINCTRL_INTEL=y +CONFIG_PINCTRL_BROXTON=y +# CONFIG_PINCTRL_CANNONLAKE is not set +# CONFIG_PINCTRL_CEDARFORK is not set +# CONFIG_PINCTRL_DENVERTON is not set +# CONFIG_PINCTRL_GEMINILAKE is not set +# CONFIG_PINCTRL_ICELAKE is not set +# CONFIG_PINCTRL_LEWISBURG is not set +# CONFIG_PINCTRL_SUNRISEPOINT is not set CONFIG_GPIOLIB=y -CONFIG_GPIO_DEVRES=y -CONFIG_OF_GPIO=y +CONFIG_GPIOLIB_FASTPATH_LIMIT=512 CONFIG_GPIO_ACPI=y CONFIG_GPIOLIB_IRQCHIP=y # CONFIG_DEBUG_GPIO is not set CONFIG_GPIO_SYSFS=y -CONFIG_GPIO_GENERIC=m -CONFIG_GPIO_MAX730X=m # # Memory mapped GPIO drivers # -# CONFIG_GPIO_74XX_MMIO is not set -# CONFIG_GPIO_ALTERA is not set # CONFIG_GPIO_AMDPT is not set -CONFIG_GPIO_DWAPB=m -CONFIG_GPIO_GENERIC_PLATFORM=m -# CONFIG_GPIO_GRGPIO is not set -CONFIG_GPIO_ICH=m -CONFIG_GPIO_LYNXPOINT=m -CONFIG_GPIO_SYSCON=m -CONFIG_GPIO_VX855=m -CONFIG_GPIO_XILINX=m -# CONFIG_GPIO_ZX is not set +# CONFIG_GPIO_DWAPB is not set +# CONFIG_GPIO_EXAR is not set +# CONFIG_GPIO_GENERIC_PLATFORM is not set +# CONFIG_GPIO_ICH is not set +CONFIG_GPIO_LYNXPOINT=y +# CONFIG_GPIO_MB86S7X is not set +# CONFIG_GPIO_MOCKUP is not set +# CONFIG_GPIO_VX855 is not set # # Port-mapped I/O GPIO drivers # -CONFIG_GPIO_F7188X=m -CONFIG_GPIO_IT87=m -CONFIG_GPIO_SCH=m -CONFIG_GPIO_SCH311X=m +# CONFIG_GPIO_F7188X is not set +# CONFIG_GPIO_IT87 is not set +# CONFIG_GPIO_SCH is not set +# CONFIG_GPIO_SCH311X is not set +# CONFIG_GPIO_WINBOND is not set +# CONFIG_GPIO_WS16C48 is not set # # I2C GPIO expanders # -CONFIG_GPIO_ADP5588=m -# CONFIG_GPIO_ADNP is not set -CONFIG_GPIO_MAX7300=m -CONFIG_GPIO_MAX732X=m -CONFIG_GPIO_PCA953X=m -CONFIG_GPIO_PCF857X=m -# CONFIG_GPIO_SX150X is not set +# CONFIG_GPIO_ADP5588 is not set +# CONFIG_GPIO_MAX7300 is not set +# CONFIG_GPIO_MAX732X is not set +# CONFIG_GPIO_PCA953X is not set +# CONFIG_GPIO_PCF857X is not set # CONFIG_GPIO_TPIC2810 is not set # # MFD GPIO expanders # -CONFIG_GPIO_ARIZONA=m -CONFIG_GPIO_CRYSTAL_COVE=y -# CONFIG_GPIO_TPS65218 is not set -CONFIG_GPIO_UCB1400=m +CONFIG_GPIO_ARIZONA=y +# CONFIG_GPIO_CRYSTAL_COVE is not set +CONFIG_GPIO_WHISKEY_COVE=y # # PCI GPIO expanders # -CONFIG_GPIO_AMD8111=m -CONFIG_GPIO_ML_IOH=m -CONFIG_GPIO_RDC321X=m -# CONFIG_GPIO_SODAVILLE is not set +# CONFIG_GPIO_AMD8111 is not set +# CONFIG_GPIO_BT8XX is not set +# CONFIG_GPIO_ML_IOH is not set +# CONFIG_GPIO_PCI_IDIO_16 is not set +# CONFIG_GPIO_PCIE_IDIO_24 is not set +# CONFIG_GPIO_RDC321X is not set # # SPI GPIO expanders # -# CONFIG_GPIO_74X164 is not set -CONFIG_GPIO_MAX7301=m -CONFIG_GPIO_MC33880=m +# CONFIG_GPIO_MAX3191X is not set +# CONFIG_GPIO_MAX7301 is not set +# CONFIG_GPIO_MC33880 is not set # CONFIG_GPIO_PISOSR is not set - -# -# SPI or I2C GPIO expanders -# -CONFIG_GPIO_MCP23S08=m +# CONFIG_GPIO_XRA1403 is not set # # USB GPIO expanders # # CONFIG_W1 is not set +# CONFIG_POWER_AVS is not set +# CONFIG_POWER_RESET is not set CONFIG_POWER_SUPPLY=y -CONFIG_POWER_SUPPLY_DEBUG=y -CONFIG_PDA_POWER=y -# CONFIG_GENERIC_ADC_BATTERY is not set +# CONFIG_POWER_SUPPLY_DEBUG is not set +# CONFIG_PDA_POWER is not set +CONFIG_GENERIC_ADC_BATTERY=m # CONFIG_TEST_POWER is not set +# CONFIG_CHARGER_ADP5061 is not set # CONFIG_BATTERY_DS2780 is not set # CONFIG_BATTERY_DS2781 is not set # CONFIG_BATTERY_DS2782 is not set # CONFIG_BATTERY_SBS is not set +# CONFIG_CHARGER_SBS is not set +# CONFIG_MANAGER_SBS is not set # CONFIG_BATTERY_BQ27XXX is not set # CONFIG_BATTERY_MAX17040 is not set -# CONFIG_BATTERY_MAX17042 is not set -# CONFIG_CHARGER_ISP1704 is not set +CONFIG_BATTERY_MAX17042=y +CONFIG_CHARGER_ISP1704=m # CONFIG_CHARGER_MAX8903 is not set # CONFIG_CHARGER_LP8727 is not set # CONFIG_CHARGER_GPIO is not set # CONFIG_CHARGER_MANAGER is not set +# CONFIG_CHARGER_LTC3651 is not set # CONFIG_CHARGER_BQ2415X is not set # CONFIG_CHARGER_BQ24190 is not set # CONFIG_CHARGER_BQ24257 is not set # CONFIG_CHARGER_BQ24735 is not set -# CONFIG_CHARGER_BQ25890 is not set -CONFIG_CHARGER_SMB347=m -# CONFIG_CHARGER_TPS65217 is not set +CONFIG_CHARGER_BQ25890=y +CONFIG_CHARGER_SMB347=y # CONFIG_BATTERY_GAUGE_LTC2941 is not set # CONFIG_CHARGER_RT9455 is not set -# CONFIG_POWER_RESET is not set -CONFIG_POWER_AVS=y -CONFIG_HWMON=m -CONFIG_HWMON_VID=m +CONFIG_HWMON=y # CONFIG_HWMON_DEBUG_CHIP is not set # @@ -3180,8 +3118,9 @@ CONFIG_HWMON_VID=m # CONFIG_SENSORS_K8TEMP is not set # CONFIG_SENSORS_K10TEMP is not set # CONFIG_SENSORS_FAM15H_POWER is not set -CONFIG_SENSORS_APPLESMC=m +# CONFIG_SENSORS_APPLESMC is not set # CONFIG_SENSORS_ASB100 is not set +# CONFIG_SENSORS_ASPEED is not set # CONFIG_SENSORS_ATXP1 is not set # CONFIG_SENSORS_DS620 is not set # CONFIG_SENSORS_DS1621 is not set @@ -3196,11 +3135,10 @@ CONFIG_SENSORS_DELL_SMM=m # CONFIG_SENSORS_GL520SM is not set # CONFIG_SENSORS_G760A is not set # CONFIG_SENSORS_G762 is not set -# CONFIG_SENSORS_GPIO_FAN is not set # CONFIG_SENSORS_HIH6130 is not set -# CONFIG_SENSORS_IIO_HWMON is not set +CONFIG_SENSORS_IIO_HWMON=y # CONFIG_SENSORS_I5500 is not set -# CONFIG_SENSORS_CORETEMP is not set +CONFIG_SENSORS_CORETEMP=y # CONFIG_SENSORS_IT87 is not set # CONFIG_SENSORS_JC42 is not set # CONFIG_SENSORS_POWR1220 is not set @@ -3219,13 +3157,14 @@ CONFIG_SENSORS_DELL_SMM=m # CONFIG_SENSORS_MAX1668 is not set # CONFIG_SENSORS_MAX197 is not set # CONFIG_SENSORS_MAX31722 is not set +# CONFIG_SENSORS_MAX6621 is not set # CONFIG_SENSORS_MAX6639 is not set # CONFIG_SENSORS_MAX6642 is not set # CONFIG_SENSORS_MAX6650 is not set # CONFIG_SENSORS_MAX6697 is not set # CONFIG_SENSORS_MAX31790 is not set # CONFIG_SENSORS_MCP3021 is not set -# CONFIG_SENSORS_MENF21BMC_HWMON is not set +# CONFIG_SENSORS_TC654 is not set # CONFIG_SENSORS_ADCXX is not set # CONFIG_SENSORS_LM63 is not set # CONFIG_SENSORS_LM70 is not set @@ -3235,7 +3174,7 @@ CONFIG_SENSORS_DELL_SMM=m # CONFIG_SENSORS_LM78 is not set # CONFIG_SENSORS_LM80 is not set # CONFIG_SENSORS_LM83 is not set -CONFIG_SENSORS_LM85=m +# CONFIG_SENSORS_LM85 is not set # CONFIG_SENSORS_LM87 is not set # CONFIG_SENSORS_LM90 is not set # CONFIG_SENSORS_LM92 is not set @@ -3250,9 +3189,9 @@ CONFIG_SENSORS_LM85=m # CONFIG_SENSORS_NCT6775 is not set # CONFIG_SENSORS_NCT7802 is not set # CONFIG_SENSORS_NCT7904 is not set +# CONFIG_SENSORS_NPCM7XX is not set # CONFIG_SENSORS_PCF8591 is not set # CONFIG_PMBUS is not set -# CONFIG_SENSORS_PWM_FAN is not set # CONFIG_SENSORS_SHT15 is not set # CONFIG_SENSORS_SHT21 is not set # CONFIG_SENSORS_SHT3x is not set @@ -3265,9 +3204,10 @@ CONFIG_SENSORS_LM85=m # CONFIG_SENSORS_SMSC47M1 is not set # CONFIG_SENSORS_SMSC47M192 is not set # CONFIG_SENSORS_SMSC47B397 is not set -# CONFIG_SENSORS_SCH56XX_COMMON is not set -# CONFIG_SENSORS_SCH5627 is not set -# CONFIG_SENSORS_SCH5636 is not set +CONFIG_SENSORS_SCH56XX_COMMON=m +CONFIG_SENSORS_SCH5627=m +CONFIG_SENSORS_SCH5636=m +# CONFIG_SENSORS_STTS751 is not set # CONFIG_SENSORS_SMM665 is not set # CONFIG_SENSORS_ADC128D818 is not set # CONFIG_SENSORS_ADS1015 is not set @@ -3281,12 +3221,14 @@ CONFIG_SENSORS_LM85=m # CONFIG_SENSORS_THMC50 is not set # CONFIG_SENSORS_TMP102 is not set # CONFIG_SENSORS_TMP103 is not set +# CONFIG_SENSORS_TMP108 is not set # CONFIG_SENSORS_TMP401 is not set # CONFIG_SENSORS_TMP421 is not set # CONFIG_SENSORS_VIA_CPUTEMP is not set # CONFIG_SENSORS_VIA686A is not set # CONFIG_SENSORS_VT1211 is not set # CONFIG_SENSORS_VT8231 is not set +# CONFIG_SENSORS_W83773G is not set # CONFIG_SENSORS_W83781D is not set # CONFIG_SENSORS_W83791D is not set # CONFIG_SENSORS_W83792D is not set @@ -3296,14 +3238,17 @@ CONFIG_SENSORS_LM85=m # CONFIG_SENSORS_W83L786NG is not set # CONFIG_SENSORS_W83627HF is not set # CONFIG_SENSORS_W83627EHF is not set +# CONFIG_SENSORS_XGENE is not set # # ACPI drivers # -CONFIG_SENSORS_ACPI_POWER=m +# CONFIG_SENSORS_ACPI_POWER is not set # CONFIG_SENSORS_ATK0110 is not set CONFIG_THERMAL=y -CONFIG_THERMAL_OF=y +# CONFIG_THERMAL_STATISTICS is not set +CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0 +CONFIG_THERMAL_HWMON=y CONFIG_THERMAL_WRITABLE_TRIPS=y CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y # CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE is not set @@ -3314,42 +3259,53 @@ CONFIG_THERMAL_GOV_STEP_WISE=y CONFIG_THERMAL_GOV_BANG_BANG=y CONFIG_THERMAL_GOV_USER_SPACE=y # CONFIG_THERMAL_GOV_POWER_ALLOCATOR is not set -# CONFIG_CPU_THERMAL is not set +# CONFIG_CLOCK_THERMAL is not set +# CONFIG_DEVFREQ_THERMAL is not set # CONFIG_THERMAL_EMULATION is not set -CONFIG_INTEL_POWERCLAMP=m -CONFIG_X86_PKG_TEMP_THERMAL=m -CONFIG_INTEL_SOC_DTS_IOSF_CORE=m +CONFIG_INTEL_POWERCLAMP=y +CONFIG_X86_PKG_TEMP_THERMAL=y +CONFIG_INTEL_SOC_DTS_IOSF_CORE=y CONFIG_INTEL_SOC_DTS_THERMAL=m # # ACPI INT340X thermal drivers # -CONFIG_INT340X_THERMAL=m -CONFIG_ACPI_THERMAL_REL=m +CONFIG_INT340X_THERMAL=y +CONFIG_ACPI_THERMAL_REL=y # CONFIG_INT3406_THERMAL is not set -CONFIG_INTEL_PCH_THERMAL=m +# CONFIG_INTEL_BXT_PMIC_THERMAL is not set +# CONFIG_INTEL_PCH_THERMAL is not set # CONFIG_GENERIC_ADC_THERMAL is not set + +# +# Trusty +# +CONFIG_TRUSTY=y +CONFIG_TRUSTY_LOG=y +CONFIG_TRUSTY_VIRTIO=y +CONFIG_TRUSTY_VIRTIO_IPC=y +CONFIG_TRUSTY_BACKUP_TIMER=y CONFIG_WATCHDOG=y -# CONFIG_WATCHDOG_CORE is not set +CONFIG_WATCHDOG_CORE=y # CONFIG_WATCHDOG_NOWAYOUT is not set +CONFIG_WATCHDOG_HANDLE_BOOT_ENABLED=y # CONFIG_WATCHDOG_SYSFS is not set # # Watchdog Device Drivers # # CONFIG_SOFT_WATCHDOG is not set -# CONFIG_GPIO_WATCHDOG is not set -# CONFIG_MENF21BMC_WATCHDOG is not set +CONFIG_WDAT_WDT=y # CONFIG_XILINX_WATCHDOG is not set # CONFIG_ZIIRAVE_WATCHDOG is not set # CONFIG_CADENCE_WATCHDOG is not set # CONFIG_DW_WATCHDOG is not set -# CONFIG_RN5T618_WATCHDOG is not set # CONFIG_MAX63XX_WATCHDOG is not set # CONFIG_ACQUIRE_WDT is not set # CONFIG_ADVANTECH_WDT is not set # CONFIG_ALIM1535_WDT is not set # CONFIG_ALIM7101_WDT is not set +# CONFIG_EBC_C384_WDT is not set # CONFIG_F71808E_WDT is not set # CONFIG_SP5100_TCO is not set # CONFIG_SBC_FITPC2_WATCHDOG is not set @@ -3359,7 +3315,9 @@ CONFIG_WATCHDOG=y # CONFIG_WAFER_WDT is not set # CONFIG_I6300ESB_WDT is not set # CONFIG_IE6XX_WDT is not set -# CONFIG_ITCO_WDT is not set +CONFIG_ITCO_WDT=y +# CONFIG_ITCO_NO_NMI_INTR is not set +# CONFIG_ITCO_VENDOR_SUPPORT is not set # CONFIG_IT8712F_WDT is not set # CONFIG_IT87_WDT is not set # CONFIG_HP_WATCHDOG is not set @@ -3376,7 +3334,9 @@ CONFIG_WATCHDOG=y # CONFIG_W83977F_WDT is not set # CONFIG_MACHZ_WDT is not set # CONFIG_SBC_EPX_C3_WATCHDOG is not set +# CONFIG_INTEL_MEI_WDT is not set # CONFIG_NI903X_WDT is not set +# CONFIG_NIC7018_WDT is not set # CONFIG_MEN_A21_WDT is not set # @@ -3389,58 +3349,46 @@ CONFIG_WATCHDOG=y # USB-based Watchdog Cards # # CONFIG_USBPCWATCHDOG is not set -CONFIG_SSB_POSSIBLE=y # -# Sonics Silicon Backplane +# Watchdog Pretimeout Governors # +# CONFIG_WATCHDOG_PRETIMEOUT_GOV is not set +CONFIG_SSB_POSSIBLE=y CONFIG_SSB=m CONFIG_SSB_SPROM=y CONFIG_SSB_BLOCKIO=y CONFIG_SSB_PCIHOST_POSSIBLE=y CONFIG_SSB_PCIHOST=y CONFIG_SSB_B43_PCI_BRIDGE=y -CONFIG_SSB_PCMCIAHOST_POSSIBLE=y -# CONFIG_SSB_PCMCIAHOST is not set CONFIG_SSB_SDIOHOST_POSSIBLE=y CONFIG_SSB_SDIOHOST=y -# CONFIG_SSB_SILENT is not set -# CONFIG_SSB_DEBUG is not set CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y CONFIG_SSB_DRIVER_PCICORE=y # CONFIG_SSB_DRIVER_GPIO is not set CONFIG_BCMA_POSSIBLE=y - -# -# Broadcom specific AMBA -# CONFIG_BCMA=m CONFIG_BCMA_BLOCKIO=y CONFIG_BCMA_HOST_PCI_POSSIBLE=y CONFIG_BCMA_HOST_PCI=y -CONFIG_BCMA_HOST_SOC=y +# CONFIG_BCMA_HOST_SOC is not set CONFIG_BCMA_DRIVER_PCI=y -CONFIG_BCMA_SFLASH=y -CONFIG_BCMA_DRIVER_GMAC_CMN=y -CONFIG_BCMA_DRIVER_GPIO=y +# CONFIG_BCMA_DRIVER_GMAC_CMN is not set +# CONFIG_BCMA_DRIVER_GPIO is not set # CONFIG_BCMA_DEBUG is not set # # Multifunction device drivers # CONFIG_MFD_CORE=y -# CONFIG_MFD_ACT8945A is not set # CONFIG_MFD_AS3711 is not set -# CONFIG_MFD_AS3722 is not set # CONFIG_PMIC_ADP5520 is not set # CONFIG_MFD_AAT2870_CORE is not set -# CONFIG_MFD_ATMEL_FLEXCOM is not set -# CONFIG_MFD_ATMEL_HLCDC is not set # CONFIG_MFD_BCM590XX is not set +# CONFIG_MFD_BD9571MWV is not set # CONFIG_MFD_AXP20X_I2C is not set -CONFIG_MFD_CROS_EC=m -CONFIG_MFD_CROS_EC_I2C=m -# CONFIG_MFD_CROS_EC_SPI is not set +# CONFIG_MFD_CROS_EC is not set +# CONFIG_MFD_MADERA is not set # CONFIG_PMIC_DA903X is not set # CONFIG_MFD_DA9052_SPI is not set # CONFIG_MFD_DA9052_I2C is not set @@ -3451,63 +3399,59 @@ CONFIG_MFD_CROS_EC_I2C=m # CONFIG_MFD_DLN2 is not set # CONFIG_MFD_MC13XXX_SPI is not set # CONFIG_MFD_MC13XXX_I2C is not set -# CONFIG_MFD_HI6421_PMIC is not set # CONFIG_HTC_PASIC3 is not set # CONFIG_HTC_I2CPLD is not set # CONFIG_MFD_INTEL_QUARK_I2C_GPIO is not set -CONFIG_LPC_ICH=m -CONFIG_LPC_SCH=m +CONFIG_LPC_ICH=y +CONFIG_LPC_SCH=y CONFIG_INTEL_SOC_PMIC=y -CONFIG_MFD_INTEL_LPSS=m -CONFIG_MFD_INTEL_LPSS_ACPI=m -CONFIG_MFD_INTEL_LPSS_PCI=m +CONFIG_INTEL_SOC_PMIC_BXTWC=y +# CONFIG_INTEL_SOC_PMIC_CHTWC is not set +# CONFIG_INTEL_SOC_PMIC_CHTDC_TI is not set +CONFIG_MFD_INTEL_LPSS=y +CONFIG_MFD_INTEL_LPSS_ACPI=y +CONFIG_MFD_INTEL_LPSS_PCI=y # CONFIG_MFD_JANZ_CMODIO is not set # CONFIG_MFD_KEMPLD is not set -CONFIG_MFD_88PM800=m -CONFIG_MFD_88PM805=m +# CONFIG_MFD_88PM800 is not set +# CONFIG_MFD_88PM805 is not set # CONFIG_MFD_88PM860X is not set # CONFIG_MFD_MAX14577 is not set -# CONFIG_MFD_MAX77620 is not set -# CONFIG_MFD_MAX77686 is not set # CONFIG_MFD_MAX77693 is not set # CONFIG_MFD_MAX77843 is not set -CONFIG_MFD_MAX8907=m +# CONFIG_MFD_MAX8907 is not set # CONFIG_MFD_MAX8925 is not set # CONFIG_MFD_MAX8997 is not set # CONFIG_MFD_MAX8998 is not set -CONFIG_MFD_MT6397=m -CONFIG_MFD_MENF21BMC=m +# CONFIG_MFD_MT6397 is not set +# CONFIG_MFD_MENF21BMC is not set # CONFIG_EZX_PCAP is not set # CONFIG_MFD_VIPERBOARD is not set # CONFIG_MFD_RETU is not set # CONFIG_MFD_PCF50633 is not set -CONFIG_UCB1400_CORE=m -CONFIG_MFD_RDC321X=m -CONFIG_MFD_RTSX_PCI=m +# CONFIG_UCB1400_CORE is not set +# CONFIG_MFD_RDC321X is not set # CONFIG_MFD_RT5033 is not set -CONFIG_MFD_RTSX_USB=m # CONFIG_MFD_RC5T583 is not set -# CONFIG_MFD_RK808 is not set -CONFIG_MFD_RN5T618=m -CONFIG_MFD_SEC_CORE=y +# CONFIG_MFD_SEC_CORE is not set # CONFIG_MFD_SI476X_CORE is not set # CONFIG_MFD_SM501 is not set # CONFIG_MFD_SKY81452 is not set # CONFIG_MFD_SMSC is not set # CONFIG_ABX500_CORE is not set -# CONFIG_MFD_STMPE is not set CONFIG_MFD_SYSCON=y # CONFIG_MFD_TI_AM335X_TSCADC is not set # CONFIG_MFD_LP3943 is not set # CONFIG_MFD_LP8788 is not set +# CONFIG_MFD_TI_LMU is not set # CONFIG_MFD_PALMAS is not set # CONFIG_TPS6105X is not set # CONFIG_TPS65010 is not set # CONFIG_TPS6507X is not set # CONFIG_MFD_TPS65086 is not set # CONFIG_MFD_TPS65090 is not set -CONFIG_MFD_TPS65217=m -CONFIG_MFD_TPS65218=m +# CONFIG_MFD_TPS68470 is not set +# CONFIG_MFD_TI_LP873X is not set # CONFIG_MFD_TPS6586X is not set # CONFIG_MFD_TPS65910 is not set # CONFIG_MFD_TPS65912_I2C is not set @@ -3516,18 +3460,16 @@ CONFIG_MFD_TPS65218=m # CONFIG_TWL4030_CORE is not set # CONFIG_TWL6040_CORE is not set # CONFIG_MFD_WL1273_CORE is not set -CONFIG_MFD_LM3533=m -# CONFIG_MFD_TC3589X is not set -# CONFIG_MFD_TMIO is not set -CONFIG_MFD_VX855=m +# CONFIG_MFD_LM3533 is not set +# CONFIG_MFD_VX855 is not set CONFIG_MFD_ARIZONA=y CONFIG_MFD_ARIZONA_I2C=m -CONFIG_MFD_ARIZONA_SPI=m +# CONFIG_MFD_ARIZONA_SPI is not set # CONFIG_MFD_CS47L24 is not set # CONFIG_MFD_WM5102 is not set -# CONFIG_MFD_WM5110 is not set +CONFIG_MFD_WM5110=y # CONFIG_MFD_WM8997 is not set -# CONFIG_MFD_WM8998 is not set +CONFIG_MFD_WM8998=y # CONFIG_MFD_WM8400 is not set # CONFIG_MFD_WM831X_I2C is not set # CONFIG_MFD_WM831X_SPI is not set @@ -3536,17 +3478,18 @@ CONFIG_MFD_ARIZONA_SPI=m CONFIG_REGULATOR=y # CONFIG_REGULATOR_DEBUG is not set CONFIG_REGULATOR_FIXED_VOLTAGE=y -CONFIG_REGULATOR_VIRTUAL_CONSUMER=m +# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set # CONFIG_REGULATOR_USERSPACE_CONSUMER is not set -# CONFIG_REGULATOR_88PM800 is not set +# CONFIG_REGULATOR_88PG86X is not set # CONFIG_REGULATOR_ACT8865 is not set # CONFIG_REGULATOR_AD5398 is not set # CONFIG_REGULATOR_ANATOP is not set -# CONFIG_REGULATOR_ARIZONA is not set +# CONFIG_REGULATOR_ARIZONA_LDO1 is not set +# CONFIG_REGULATOR_ARIZONA_MICSUPP is not set # CONFIG_REGULATOR_DA9210 is not set # CONFIG_REGULATOR_DA9211 is not set # CONFIG_REGULATOR_FAN53555 is not set -CONFIG_REGULATOR_GPIO=m +CONFIG_REGULATOR_GPIO=y # CONFIG_REGULATOR_ISL9305 is not set # CONFIG_REGULATOR_ISL6271A is not set # CONFIG_REGULATOR_LP3971 is not set @@ -3554,333 +3497,113 @@ CONFIG_REGULATOR_GPIO=m # CONFIG_REGULATOR_LP872X is not set # CONFIG_REGULATOR_LP8755 is not set # CONFIG_REGULATOR_LTC3589 is not set +# CONFIG_REGULATOR_LTC3676 is not set # CONFIG_REGULATOR_MAX1586 is not set # CONFIG_REGULATOR_MAX8649 is not set # CONFIG_REGULATOR_MAX8660 is not set -# CONFIG_REGULATOR_MAX8907 is not set # CONFIG_REGULATOR_MAX8952 is not set -# CONFIG_REGULATOR_MAX8973 is not set # CONFIG_REGULATOR_MT6311 is not set -# CONFIG_REGULATOR_MT6323 is not set -# CONFIG_REGULATOR_MT6397 is not set # CONFIG_REGULATOR_PFUZE100 is not set # CONFIG_REGULATOR_PV88060 is not set # CONFIG_REGULATOR_PV88080 is not set # CONFIG_REGULATOR_PV88090 is not set # CONFIG_REGULATOR_PWM is not set -# CONFIG_REGULATOR_RN5T618 is not set -# CONFIG_REGULATOR_S2MPA01 is not set -# CONFIG_REGULATOR_S2MPS11 is not set -# CONFIG_REGULATOR_S5M8767 is not set # CONFIG_REGULATOR_TPS51632 is not set -CONFIG_REGULATOR_TPS62360=m +# CONFIG_REGULATOR_TPS62360 is not set # CONFIG_REGULATOR_TPS65023 is not set # CONFIG_REGULATOR_TPS6507X is not set -# CONFIG_REGULATOR_TPS65217 is not set -# CONFIG_REGULATOR_TPS65218 is not set +# CONFIG_REGULATOR_TPS65132 is not set # CONFIG_REGULATOR_TPS6524X is not set +CONFIG_RC_CORE=y +CONFIG_RC_MAP=y +# CONFIG_LIRC is not set +CONFIG_RC_DECODERS=y +CONFIG_IR_NEC_DECODER=y +CONFIG_IR_RC5_DECODER=y +CONFIG_IR_RC6_DECODER=y +CONFIG_IR_JVC_DECODER=y +CONFIG_IR_SONY_DECODER=y +CONFIG_IR_SANYO_DECODER=y +CONFIG_IR_SHARP_DECODER=y +CONFIG_IR_MCE_KBD_DECODER=y +CONFIG_IR_XMP_DECODER=y +# CONFIG_IR_IMON_DECODER is not set +# CONFIG_RC_DEVICES is not set CONFIG_MEDIA_SUPPORT=y # # Multimedia core support # CONFIG_MEDIA_CAMERA_SUPPORT=y -CONFIG_MEDIA_ANALOG_TV_SUPPORT=y -CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y +# CONFIG_MEDIA_ANALOG_TV_SUPPORT is not set +# CONFIG_MEDIA_DIGITAL_TV_SUPPORT is not set CONFIG_MEDIA_RADIO_SUPPORT=y # CONFIG_MEDIA_SDR_SUPPORT is not set -CONFIG_MEDIA_RC_SUPPORT=y -CONFIG_MEDIA_CEC_EDID=y +# CONFIG_MEDIA_CEC_SUPPORT is not set CONFIG_MEDIA_CONTROLLER=y -# CONFIG_MEDIA_CONTROLLER_DVB is not set CONFIG_VIDEO_DEV=y CONFIG_VIDEO_V4L2_SUBDEV_API=y CONFIG_VIDEO_V4L2=y # CONFIG_VIDEO_ADV_DEBUG is not set # CONFIG_VIDEO_FIXED_MINOR_RANGES is not set -CONFIG_VIDEO_TUNER=m -CONFIG_VIDEOBUF_GEN=m -CONFIG_VIDEOBUF_DMA_SG=m -CONFIG_VIDEOBUF_VMALLOC=m -CONFIG_VIDEOBUF_DVB=m -CONFIG_VIDEOBUF2_CORE=m -CONFIG_VIDEOBUF2_MEMOPS=m -CONFIG_VIDEOBUF2_DMA_CONTIG=m -CONFIG_VIDEOBUF2_VMALLOC=m -CONFIG_VIDEOBUF2_DMA_SG=m -CONFIG_VIDEOBUF2_DVB=m -CONFIG_DVB_CORE=y -CONFIG_DVB_NET=y -CONFIG_TTPCI_EEPROM=m -CONFIG_DVB_MAX_ADAPTERS=8 -# CONFIG_DVB_DYNAMIC_MINORS is not set +CONFIG_V4L2_FWNODE=m # # Media drivers # -CONFIG_RC_CORE=y -CONFIG_RC_MAP=m -CONFIG_RC_DECODERS=y -CONFIG_LIRC=m -CONFIG_IR_LIRC_CODEC=m -CONFIG_IR_NEC_DECODER=m -CONFIG_IR_RC5_DECODER=m -CONFIG_IR_RC6_DECODER=m -CONFIG_IR_JVC_DECODER=m -CONFIG_IR_SONY_DECODER=m -CONFIG_IR_SANYO_DECODER=m -CONFIG_IR_SHARP_DECODER=y -CONFIG_IR_MCE_KBD_DECODER=m -CONFIG_IR_XMP_DECODER=y -CONFIG_RC_DEVICES=y -CONFIG_RC_ATI_REMOTE=m -CONFIG_IR_ENE=m -# CONFIG_IR_HIX5HD2 is not set -CONFIG_IR_IMON=m -CONFIG_IR_MCEUSB=m -CONFIG_IR_ITE_CIR=m -CONFIG_IR_FINTEK=m -CONFIG_IR_NUVOTON=m -CONFIG_IR_REDRAT3=m -CONFIG_IR_STREAMZAP=m -CONFIG_IR_WINBOND_CIR=m -# CONFIG_IR_IGORPLUGUSB is not set -CONFIG_IR_IGUANA=m -CONFIG_IR_TTUSBIR=m -CONFIG_RC_LOOPBACK=m -CONFIG_IR_GPIO_CIR=m CONFIG_MEDIA_USB_SUPPORT=y # # Webcam devices # -CONFIG_USB_VIDEO_CLASS=m +CONFIG_USB_VIDEO_CLASS=y CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y -CONFIG_USB_GSPCA=m -CONFIG_USB_M5602=m -CONFIG_USB_STV06XX=m -CONFIG_USB_GL860=m -CONFIG_USB_GSPCA_BENQ=m -CONFIG_USB_GSPCA_CONEX=m -CONFIG_USB_GSPCA_CPIA1=m -# CONFIG_USB_GSPCA_DTCS033 is not set -CONFIG_USB_GSPCA_ETOMS=m -CONFIG_USB_GSPCA_FINEPIX=m -CONFIG_USB_GSPCA_JEILINJ=m -CONFIG_USB_GSPCA_JL2005BCD=m -CONFIG_USB_GSPCA_KINECT=m -CONFIG_USB_GSPCA_KONICA=m -CONFIG_USB_GSPCA_MARS=m -CONFIG_USB_GSPCA_MR97310A=m -CONFIG_USB_GSPCA_NW80X=m -CONFIG_USB_GSPCA_OV519=m -CONFIG_USB_GSPCA_OV534=m -CONFIG_USB_GSPCA_OV534_9=m -CONFIG_USB_GSPCA_PAC207=m -CONFIG_USB_GSPCA_PAC7302=m -CONFIG_USB_GSPCA_PAC7311=m -CONFIG_USB_GSPCA_SE401=m -CONFIG_USB_GSPCA_SN9C2028=m -CONFIG_USB_GSPCA_SN9C20X=m -CONFIG_USB_GSPCA_SONIXB=m -CONFIG_USB_GSPCA_SONIXJ=m -CONFIG_USB_GSPCA_SPCA500=m -CONFIG_USB_GSPCA_SPCA501=m -CONFIG_USB_GSPCA_SPCA505=m -CONFIG_USB_GSPCA_SPCA506=m -CONFIG_USB_GSPCA_SPCA508=m -CONFIG_USB_GSPCA_SPCA561=m -CONFIG_USB_GSPCA_SPCA1528=m -CONFIG_USB_GSPCA_SQ905=m -CONFIG_USB_GSPCA_SQ905C=m -CONFIG_USB_GSPCA_SQ930X=m -CONFIG_USB_GSPCA_STK014=m -# CONFIG_USB_GSPCA_STK1135 is not set -CONFIG_USB_GSPCA_STV0680=m -CONFIG_USB_GSPCA_SUNPLUS=m -CONFIG_USB_GSPCA_T613=m -CONFIG_USB_GSPCA_TOPRO=m -# CONFIG_USB_GSPCA_TOUPTEK is not set -CONFIG_USB_GSPCA_TV8532=m -CONFIG_USB_GSPCA_VC032X=m -CONFIG_USB_GSPCA_VICAM=m -CONFIG_USB_GSPCA_XIRLINK_CIT=m -CONFIG_USB_GSPCA_ZC3XX=m -CONFIG_USB_PWC=m -# CONFIG_USB_PWC_DEBUG is not set -CONFIG_USB_PWC_INPUT_EVDEV=y -CONFIG_VIDEO_CPIA2=m -CONFIG_USB_ZR364XX=m -CONFIG_USB_STKWEBCAM=m -CONFIG_USB_S2255=m +# CONFIG_USB_GSPCA is not set +# CONFIG_USB_PWC is not set +# CONFIG_VIDEO_CPIA2 is not set +# CONFIG_USB_ZR364XX is not set +# CONFIG_USB_STKWEBCAM is not set +# CONFIG_USB_S2255 is not set # CONFIG_VIDEO_USBTV is not set -# -# Analog TV USB devices -# -# CONFIG_VIDEO_PVRUSB2 is not set -# CONFIG_VIDEO_HDPVR is not set -# CONFIG_VIDEO_USBVISION is not set -# CONFIG_VIDEO_STK1160_COMMON is not set -# CONFIG_VIDEO_GO7007 is not set - -# -# Analog/digital TV USB devices -# -# CONFIG_VIDEO_AU0828 is not set -CONFIG_VIDEO_CX231XX=m -CONFIG_VIDEO_CX231XX_RC=y -CONFIG_VIDEO_CX231XX_ALSA=m -CONFIG_VIDEO_CX231XX_DVB=m -CONFIG_VIDEO_TM6000=m -CONFIG_VIDEO_TM6000_ALSA=m -CONFIG_VIDEO_TM6000_DVB=m - -# -# Digital TV USB devices -# -CONFIG_DVB_USB=m -# CONFIG_DVB_USB_DEBUG is not set -CONFIG_DVB_USB_A800=m -CONFIG_DVB_USB_DIBUSB_MB=m -CONFIG_DVB_USB_DIBUSB_MB_FAULTY=y -CONFIG_DVB_USB_DIBUSB_MC=m -CONFIG_DVB_USB_DIB0700=m -CONFIG_DVB_USB_UMT_010=m -CONFIG_DVB_USB_CXUSB=m -CONFIG_DVB_USB_M920X=m -CONFIG_DVB_USB_DIGITV=m -CONFIG_DVB_USB_VP7045=m -CONFIG_DVB_USB_VP702X=m -CONFIG_DVB_USB_GP8PSK=m -CONFIG_DVB_USB_NOVA_T_USB2=m -CONFIG_DVB_USB_TTUSB2=m -CONFIG_DVB_USB_DTT200U=m -CONFIG_DVB_USB_OPERA1=m -CONFIG_DVB_USB_AF9005=m -CONFIG_DVB_USB_AF9005_REMOTE=m -CONFIG_DVB_USB_PCTV452E=m -CONFIG_DVB_USB_DW2102=m -CONFIG_DVB_USB_CINERGY_T2=m -CONFIG_DVB_USB_DTV5100=m -CONFIG_DVB_USB_FRIIO=m -CONFIG_DVB_USB_AZ6027=m -CONFIG_DVB_USB_TECHNISAT_USB2=m -CONFIG_DVB_USB_V2=m -CONFIG_DVB_USB_AF9015=m -CONFIG_DVB_USB_AF9035=m -CONFIG_DVB_USB_ANYSEE=m -CONFIG_DVB_USB_AU6610=m -CONFIG_DVB_USB_AZ6007=m -CONFIG_DVB_USB_CE6230=m -CONFIG_DVB_USB_EC168=m -CONFIG_DVB_USB_GL861=m -CONFIG_DVB_USB_LME2510=m -CONFIG_DVB_USB_MXL111SF=m -CONFIG_DVB_USB_RTL28XXU=m -# CONFIG_DVB_USB_DVBSKY is not set -CONFIG_DVB_TTUSB_BUDGET=m -CONFIG_DVB_TTUSB_DEC=m -CONFIG_SMS_USB_DRV=m -CONFIG_DVB_B2C2_FLEXCOP_USB=m -# CONFIG_DVB_B2C2_FLEXCOP_USB_DEBUG is not set -CONFIG_DVB_AS102=m - # # Webcam, TV (analog/digital) USB devices # -CONFIG_VIDEO_EM28XX=m -# CONFIG_VIDEO_EM28XX_V4L2 is not set -CONFIG_VIDEO_EM28XX_ALSA=m -CONFIG_VIDEO_EM28XX_DVB=m -CONFIG_VIDEO_EM28XX_RC=m +# CONFIG_VIDEO_EM28XX is not set CONFIG_MEDIA_PCI_SUPPORT=y # # Media capture support # -CONFIG_VIDEO_MEYE=m # CONFIG_VIDEO_SOLO6X10 is not set +# CONFIG_VIDEO_TW5864 is not set # CONFIG_VIDEO_TW68 is not set # CONFIG_VIDEO_TW686X is not set -# CONFIG_VIDEO_ZORAN is not set - -# -# Media capture/analog TV support -# -# CONFIG_VIDEO_IVTV is not set -# CONFIG_VIDEO_HEXIUM_GEMINI is not set -# CONFIG_VIDEO_HEXIUM_ORION is not set -# CONFIG_VIDEO_MXB is not set -CONFIG_VIDEO_DT3155=m - -# -# Media capture/analog/hybrid TV support -# -CONFIG_VIDEO_CX18=m -CONFIG_VIDEO_CX18_ALSA=m -CONFIG_VIDEO_CX23885=m -CONFIG_MEDIA_ALTERA_CI=m -CONFIG_VIDEO_CX25821=m -CONFIG_VIDEO_CX25821_ALSA=m -CONFIG_VIDEO_CX88=m -CONFIG_VIDEO_CX88_ALSA=m -CONFIG_VIDEO_CX88_BLACKBIRD=m -CONFIG_VIDEO_CX88_DVB=m -CONFIG_VIDEO_CX88_ENABLE_VP3054=y -CONFIG_VIDEO_CX88_VP3054=m -CONFIG_VIDEO_CX88_MPEG=m -CONFIG_VIDEO_BT848=m -CONFIG_DVB_BT8XX=m -CONFIG_VIDEO_SAA7134=m -CONFIG_VIDEO_SAA7134_ALSA=m -CONFIG_VIDEO_SAA7134_RC=y -CONFIG_VIDEO_SAA7134_DVB=m -CONFIG_VIDEO_SAA7164=m - -# -# Media digital TV PCI Adapters -# -CONFIG_DVB_AV7110_IR=y -CONFIG_DVB_AV7110=m -CONFIG_DVB_AV7110_OSD=y -CONFIG_DVB_BUDGET_CORE=m -CONFIG_DVB_BUDGET=m -CONFIG_DVB_BUDGET_CI=m -CONFIG_DVB_BUDGET_AV=m -CONFIG_DVB_BUDGET_PATCH=m -CONFIG_DVB_B2C2_FLEXCOP_PCI=m -# CONFIG_DVB_B2C2_FLEXCOP_PCI_DEBUG is not set -CONFIG_DVB_PLUTO2=m -CONFIG_DVB_DM1105=m -CONFIG_DVB_PT1=m -# CONFIG_DVB_PT3 is not set -CONFIG_MANTIS_CORE=m -CONFIG_DVB_MANTIS=m -CONFIG_DVB_HOPPER=m -CONFIG_DVB_NGENE=m -CONFIG_DVB_DDBRIDGE=m -# CONFIG_DVB_SMIPCIE is not set -# CONFIG_DVB_NETUP_UNIDVB is not set +# CONFIG_VIDEO_INTEL_IPU is not set +# CONFIG_VIDEO_INTEL_IPU_FW_LIB is not set +# CONFIG_VIDEO_INTEL_UOS is not set +# CONFIG_VIDEO_INTEL_IPU_ACRN is not set +# CONFIG_VIDEO_IPU3_CIO2 is not set CONFIG_V4L_PLATFORM_DRIVERS=y -CONFIG_VIDEO_CAFE_CCIC=m -CONFIG_VIDEO_VIA_CAMERA=m -CONFIG_SOC_CAMERA=m -CONFIG_SOC_CAMERA_PLATFORM=m -# CONFIG_VIDEO_XILINX is not set +# CONFIG_VIDEO_CAFE_CCIC is not set +# CONFIG_VIDEO_CADENCE is not set +# CONFIG_SOC_CAMERA is not set +# CONFIG_INTEL_IPU4_AR023Z is not set +# CONFIG_INTEL_IPU4_OV13860 is not set +# CONFIG_INTEL_IPU4_OV9281 is not set +# CONFIG_INTEL_IPU4_OV10635 is not set +# CONFIG_INTEL_IPU4_AR0231AT is not set +# CONFIG_INTEL_IPU4_OV10640 is not set +# CONFIG_INTEL_IPU4_ADV7481 is not set +# CONFIG_INTEL_IPU4_ADV7481_EVAL is not set +CONFIG_INTEL_IPU4_ADV7481_I2C_ID=0 # CONFIG_V4L_MEM2MEM_DRIVERS is not set -CONFIG_V4L_TEST_DRIVERS=y -CONFIG_VIDEO_VIVID=m -CONFIG_VIDEO_VIVID_MAX_DEVS=2 -# CONFIG_VIDEO_VIM2M is not set -# CONFIG_DVB_PLATFORM_DRIVERS is not set +# CONFIG_V4L_TEST_DRIVERS is not set # # Supported MMC/SDIO adapters # -CONFIG_SMS_SDIO_DRV=m CONFIG_RADIO_ADAPTERS=y -CONFIG_RADIO_TEA575X=m # CONFIG_RADIO_SI470X is not set # CONFIG_RADIO_SI4713 is not set # CONFIG_USB_MR800 is not set @@ -3899,32 +3622,22 @@ CONFIG_RADIO_TEA575X=m # # Texas Instruments WL128x FM driver (ST based) # -# CONFIG_RADIO_WL128X is not set -CONFIG_MEDIA_COMMON_OPTIONS=y - -# -# common driver options -# -CONFIG_VIDEO_CX2341X=m -CONFIG_VIDEO_TVEEPROM=m -CONFIG_CYPRESS_FIRMWARE=m -CONFIG_DVB_B2C2_FLEXCOP=m -CONFIG_VIDEO_SAA7146=m -CONFIG_VIDEO_SAA7146_VV=m -CONFIG_SMS_SIANO_MDTV=m -CONFIG_SMS_SIANO_RC=y -# CONFIG_SMS_SIANO_DEBUGFS is not set -CONFIG_VIDEO_V4L2_TPG=m +# CONFIG_CYPRESS_FIRMWARE is not set +CONFIG_VIDEOBUF2_CORE=y +CONFIG_VIDEOBUF2_V4L2=y +CONFIG_VIDEOBUF2_MEMOPS=y +CONFIG_VIDEOBUF2_VMALLOC=y +CONFIG_VIDEOBUF2_DMA_SG=m # -# Media ancillary drivers (tuners, sensors, i2c, frontends) +# Media ancillary drivers (tuners, sensors, i2c, spi, frontends) # # CONFIG_MEDIA_SUBDRV_AUTOSELECT is not set CONFIG_MEDIA_ATTACH=y CONFIG_VIDEO_IR_I2C=m # -# Encoders, decoders, sensors and other helper chips +# I2C Encoders, decoders, sensors and other helper chips # # @@ -3933,6 +3646,7 @@ CONFIG_VIDEO_IR_I2C=m # CONFIG_VIDEO_TVAUDIO is not set # CONFIG_VIDEO_TDA7432 is not set # CONFIG_VIDEO_TDA9840 is not set +# CONFIG_VIDEO_TDA1997X is not set # CONFIG_VIDEO_TEA6415C is not set # CONFIG_VIDEO_TEA6420 is not set # CONFIG_VIDEO_MSP3400 is not set @@ -3957,12 +3671,17 @@ CONFIG_VIDEO_CS5345=m CONFIG_VIDEO_ADV7180=m CONFIG_VIDEO_ADV7183=m CONFIG_VIDEO_ADV7604=m +# CONFIG_VIDEO_ADV7604_CEC is not set # CONFIG_VIDEO_ADV7842 is not set CONFIG_VIDEO_BT819=m CONFIG_VIDEO_BT856=m CONFIG_VIDEO_BT866=m CONFIG_VIDEO_KS0127=m # CONFIG_VIDEO_ML86V7667 is not set +# CONFIG_VIDEO_AD5820 is not set +# CONFIG_VIDEO_AK7375 is not set +# CONFIG_VIDEO_DW9714 is not set +# CONFIG_VIDEO_DW9807_VCM is not set CONFIG_VIDEO_SAA7110=m CONFIG_VIDEO_SAA711X=m # CONFIG_VIDEO_TC358743 is not set @@ -3972,6 +3691,7 @@ CONFIG_VIDEO_TVP7002=m # CONFIG_VIDEO_TW2804 is not set # CONFIG_VIDEO_TW9903 is not set # CONFIG_VIDEO_TW9906 is not set +# CONFIG_VIDEO_TW9910 is not set CONFIG_VIDEO_VPX3220=m # @@ -3997,32 +3717,49 @@ CONFIG_VIDEO_AK881X=m # # Camera sensor devices # -CONFIG_VIDEO_APTINA_PLL=m +# CONFIG_VIDEO_IMX258 is not set +# CONFIG_VIDEO_IMX274 is not set +# CONFIG_VIDEO_OV2640 is not set # CONFIG_VIDEO_OV2659 is not set +# CONFIG_VIDEO_OV2680 is not set +# CONFIG_VIDEO_OV2685 is not set +# CONFIG_VIDEO_OV5647 is not set +# CONFIG_VIDEO_OV6650 is not set +# CONFIG_VIDEO_OV5670 is not set +# CONFIG_VIDEO_OV5695 is not set +# CONFIG_VIDEO_OV7251 is not set +# CONFIG_VIDEO_OV772X is not set # CONFIG_VIDEO_OV7640 is not set -CONFIG_VIDEO_OV7670=m +# CONFIG_VIDEO_OV7670 is not set +# CONFIG_VIDEO_OV7740 is not set # CONFIG_VIDEO_OV9650 is not set -CONFIG_VIDEO_VS6624=m -CONFIG_VIDEO_MT9M032=m -CONFIG_VIDEO_MT9P031=m -CONFIG_VIDEO_MT9T001=m -CONFIG_VIDEO_MT9V011=m -CONFIG_VIDEO_MT9V032=m -CONFIG_VIDEO_SR030PC30=m -CONFIG_VIDEO_NOON010PC30=m -CONFIG_VIDEO_M5MOLS=m -CONFIG_VIDEO_S5K6AA=m +# CONFIG_VIDEO_OV13858 is not set +# CONFIG_VIDEO_VS6624 is not set +# CONFIG_VIDEO_MT9M032 is not set +# CONFIG_VIDEO_MT9M111 is not set +# CONFIG_VIDEO_MT9P031 is not set +# CONFIG_VIDEO_MT9T001 is not set +# CONFIG_VIDEO_MT9T112 is not set +# CONFIG_VIDEO_MT9V011 is not set +# CONFIG_VIDEO_MT9V032 is not set +# CONFIG_VIDEO_MT9V111 is not set +# CONFIG_VIDEO_SR030PC30 is not set +# CONFIG_VIDEO_NOON010PC30 is not set +# CONFIG_VIDEO_M5MOLS is not set +# CONFIG_VIDEO_RJ54N1 is not set +# CONFIG_VIDEO_S5K6AA is not set # CONFIG_VIDEO_S5K6A3 is not set CONFIG_VIDEO_S5K4ECGX=m # CONFIG_VIDEO_S5K5BAF is not set # CONFIG_VIDEO_SMIAPP is not set +# CONFIG_VIDEO_ET8EK8 is not set +# CONFIG_VIDEO_CRLMODULE is not set # CONFIG_VIDEO_S5C73M3 is not set # # Flash devices # # CONFIG_VIDEO_ADP1653 is not set -# CONFIG_VIDEO_AS3645A is not set # CONFIG_VIDEO_LM3560 is not set # CONFIG_VIDEO_LM3646 is not set @@ -4037,229 +3774,82 @@ CONFIG_VIDEO_S5K4ECGX=m # # CONFIG_VIDEO_SAA6752HS is not set +# +# SDR tuner chips +# + # # Miscellaneous helper chips # # CONFIG_VIDEO_THS7303 is not set # CONFIG_VIDEO_M52790 is not set +# CONFIG_VIDEO_I2C is not set +# CONFIG_VIDEO_TI964 is not set +# CONFIG_VIDEO_MAX9286 is not set +# CONFIG_VIDEO_TI960 is not set # # Sensors used on soc_camera driver # # -# soc_camera sensor drivers +# SPI helper chips +# +# CONFIG_VIDEO_GS1662 is not set + +# +# Media SPI Adapters # -CONFIG_SOC_CAMERA_IMX074=m -CONFIG_SOC_CAMERA_MT9M001=m -CONFIG_SOC_CAMERA_MT9M111=m -CONFIG_SOC_CAMERA_MT9T031=m -CONFIG_SOC_CAMERA_MT9T112=m -CONFIG_SOC_CAMERA_MT9V022=m -CONFIG_SOC_CAMERA_OV2640=m -CONFIG_SOC_CAMERA_OV5642=m -CONFIG_SOC_CAMERA_OV6650=m -CONFIG_SOC_CAMERA_OV772X=m -CONFIG_SOC_CAMERA_OV9640=m -CONFIG_SOC_CAMERA_OV9740=m -CONFIG_SOC_CAMERA_RJ54N1=m -CONFIG_SOC_CAMERA_TW9910=m CONFIG_MEDIA_TUNER=y # # Customize TV tuners # -CONFIG_MEDIA_TUNER_SIMPLE=m -CONFIG_MEDIA_TUNER_TDA8290=m -CONFIG_MEDIA_TUNER_TDA827X=m -CONFIG_MEDIA_TUNER_TDA18271=m -CONFIG_MEDIA_TUNER_TDA9887=m -CONFIG_MEDIA_TUNER_TEA5761=m -CONFIG_MEDIA_TUNER_TEA5767=m +# CONFIG_MEDIA_TUNER_SIMPLE is not set +CONFIG_MEDIA_TUNER_TDA18250=m +# CONFIG_MEDIA_TUNER_TDA8290 is not set +# CONFIG_MEDIA_TUNER_TDA827X is not set +# CONFIG_MEDIA_TUNER_TDA18271 is not set +# CONFIG_MEDIA_TUNER_TDA9887 is not set +# CONFIG_MEDIA_TUNER_TEA5761 is not set +# CONFIG_MEDIA_TUNER_TEA5767 is not set # CONFIG_MEDIA_TUNER_MSI001 is not set -CONFIG_MEDIA_TUNER_MT20XX=m -CONFIG_MEDIA_TUNER_MT2060=m -CONFIG_MEDIA_TUNER_MT2063=m -CONFIG_MEDIA_TUNER_MT2266=m -CONFIG_MEDIA_TUNER_MT2131=m -CONFIG_MEDIA_TUNER_QT1010=m -CONFIG_MEDIA_TUNER_XC2028=m -CONFIG_MEDIA_TUNER_XC5000=m -CONFIG_MEDIA_TUNER_XC4000=m -CONFIG_MEDIA_TUNER_MXL5005S=m -CONFIG_MEDIA_TUNER_MXL5007T=m -CONFIG_MEDIA_TUNER_MC44S803=m -CONFIG_MEDIA_TUNER_MAX2165=m -CONFIG_MEDIA_TUNER_TDA18218=m -CONFIG_MEDIA_TUNER_FC0011=m -CONFIG_MEDIA_TUNER_FC0012=m -CONFIG_MEDIA_TUNER_FC0013=m -CONFIG_MEDIA_TUNER_TDA18212=m -CONFIG_MEDIA_TUNER_E4000=m -CONFIG_MEDIA_TUNER_FC2580=m -CONFIG_MEDIA_TUNER_M88RS6000T=m -CONFIG_MEDIA_TUNER_TUA9001=m -CONFIG_MEDIA_TUNER_SI2157=m -CONFIG_MEDIA_TUNER_IT913X=m -CONFIG_MEDIA_TUNER_R820T=m -CONFIG_MEDIA_TUNER_MXL301RF=m -CONFIG_MEDIA_TUNER_QM1D1C0042=m +# CONFIG_MEDIA_TUNER_MT20XX is not set +# CONFIG_MEDIA_TUNER_MT2060 is not set +# CONFIG_MEDIA_TUNER_MT2063 is not set +# CONFIG_MEDIA_TUNER_MT2266 is not set +# CONFIG_MEDIA_TUNER_MT2131 is not set +# CONFIG_MEDIA_TUNER_QT1010 is not set +# CONFIG_MEDIA_TUNER_XC2028 is not set +# CONFIG_MEDIA_TUNER_XC5000 is not set +# CONFIG_MEDIA_TUNER_XC4000 is not set +# CONFIG_MEDIA_TUNER_MXL5005S is not set +# CONFIG_MEDIA_TUNER_MXL5007T is not set +# CONFIG_MEDIA_TUNER_MC44S803 is not set +# CONFIG_MEDIA_TUNER_MAX2165 is not set +# CONFIG_MEDIA_TUNER_TDA18218 is not set +# CONFIG_MEDIA_TUNER_FC0011 is not set +# CONFIG_MEDIA_TUNER_FC0012 is not set +# CONFIG_MEDIA_TUNER_FC0013 is not set +# CONFIG_MEDIA_TUNER_TDA18212 is not set +# CONFIG_MEDIA_TUNER_E4000 is not set +# CONFIG_MEDIA_TUNER_FC2580 is not set +# CONFIG_MEDIA_TUNER_M88RS6000T is not set +# CONFIG_MEDIA_TUNER_TUA9001 is not set +# CONFIG_MEDIA_TUNER_SI2157 is not set +# CONFIG_MEDIA_TUNER_IT913X is not set +# CONFIG_MEDIA_TUNER_R820T is not set +# CONFIG_MEDIA_TUNER_MXL301RF is not set +# CONFIG_MEDIA_TUNER_QM1D1C0042 is not set +CONFIG_MEDIA_TUNER_QM1D1B0004=m # # Customise DVB Frontends # -# -# Multistandard (satellite) frontends -# -CONFIG_DVB_STB0899=m -CONFIG_DVB_STB6100=m -CONFIG_DVB_STV090x=m -CONFIG_DVB_STV6110x=m -CONFIG_DVB_M88DS3103=m - -# -# Multistandard (cable + terrestrial) frontends -# -CONFIG_DVB_DRXK=m -CONFIG_DVB_TDA18271C2DD=m -CONFIG_DVB_SI2165=m -CONFIG_DVB_MN88472=m -CONFIG_DVB_MN88473=m - -# -# DVB-S (satellite) frontends -# -CONFIG_DVB_CX24110=m -CONFIG_DVB_CX24123=m -CONFIG_DVB_MT312=m -CONFIG_DVB_ZL10036=m -CONFIG_DVB_ZL10039=m -CONFIG_DVB_S5H1420=m -CONFIG_DVB_STV0288=m -CONFIG_DVB_STB6000=m -CONFIG_DVB_STV0299=m -CONFIG_DVB_STV6110=m -CONFIG_DVB_STV0900=m -CONFIG_DVB_TDA8083=m -CONFIG_DVB_TDA10086=m -CONFIG_DVB_TDA8261=m -CONFIG_DVB_VES1X93=m -CONFIG_DVB_TUNER_ITD1000=m -CONFIG_DVB_TUNER_CX24113=m -CONFIG_DVB_TDA826X=m -CONFIG_DVB_TUA6100=m -CONFIG_DVB_CX24116=m -CONFIG_DVB_CX24117=m -CONFIG_DVB_CX24120=m -CONFIG_DVB_SI21XX=m -# CONFIG_DVB_TS2020 is not set -CONFIG_DVB_DS3000=m -CONFIG_DVB_MB86A16=m -CONFIG_DVB_TDA10071=m - -# -# DVB-T (terrestrial) frontends -# -CONFIG_DVB_SP8870=m -CONFIG_DVB_SP887X=m -CONFIG_DVB_CX22700=m -CONFIG_DVB_CX22702=m -CONFIG_DVB_S5H1432=m -CONFIG_DVB_DRXD=m -CONFIG_DVB_L64781=m -CONFIG_DVB_TDA1004X=m -CONFIG_DVB_NXT6000=m -CONFIG_DVB_MT352=m -CONFIG_DVB_ZL10353=m -CONFIG_DVB_DIB3000MB=m -CONFIG_DVB_DIB3000MC=m -CONFIG_DVB_DIB7000M=m -CONFIG_DVB_DIB7000P=m -CONFIG_DVB_DIB9000=m -CONFIG_DVB_TDA10048=m -CONFIG_DVB_AF9013=m -CONFIG_DVB_EC100=m -CONFIG_DVB_HD29L2=m -CONFIG_DVB_STV0367=m -CONFIG_DVB_CXD2820R=m -CONFIG_DVB_CXD2841ER=m -CONFIG_DVB_RTL2830=m -CONFIG_DVB_RTL2832=m -CONFIG_DVB_SI2168=m -CONFIG_DVB_AS102_FE=m - -# -# DVB-C (cable) frontends -# -CONFIG_DVB_VES1820=m -CONFIG_DVB_TDA10021=m -CONFIG_DVB_TDA10023=m -CONFIG_DVB_STV0297=m - -# -# ATSC (North American/Korean Terrestrial/Cable DTV) frontends -# -CONFIG_DVB_NXT200X=m -CONFIG_DVB_OR51211=m -CONFIG_DVB_OR51132=m -CONFIG_DVB_BCM3510=m -CONFIG_DVB_LGDT330X=m -CONFIG_DVB_LGDT3305=m -CONFIG_DVB_LGDT3306A=m -CONFIG_DVB_LG2160=m -CONFIG_DVB_S5H1409=m -CONFIG_DVB_AU8522=m -CONFIG_DVB_AU8522_DTV=m -CONFIG_DVB_AU8522_V4L=m -CONFIG_DVB_S5H1411=m - -# -# ISDB-T (terrestrial) frontends -# -CONFIG_DVB_S921=m -CONFIG_DVB_DIB8000=m -CONFIG_DVB_MB86A20S=m - -# -# ISDB-S (satellite) & ISDB-T (terrestrial) frontends -# -CONFIG_DVB_TC90522=m - -# -# Digital terrestrial only tuners/PLL -# -CONFIG_DVB_PLL=m -CONFIG_DVB_TUNER_DIB0070=m -CONFIG_DVB_TUNER_DIB0090=m - -# -# SEC control devices for DVB-S -# -CONFIG_DVB_DRX39XYJ=m -CONFIG_DVB_LNBH25=m -CONFIG_DVB_LNBP21=m -CONFIG_DVB_LNBP22=m -CONFIG_DVB_ISL6405=m -CONFIG_DVB_ISL6421=m -CONFIG_DVB_ISL6423=m -CONFIG_DVB_A8293=m -CONFIG_DVB_SP2=m -CONFIG_DVB_LGS8GL5=m -CONFIG_DVB_LGS8GXX=m -CONFIG_DVB_ATBM8830=m -CONFIG_DVB_TDA665x=m -CONFIG_DVB_IX2505V=m -CONFIG_DVB_M88RS2000=m -CONFIG_DVB_AF9033=m -CONFIG_DVB_HORUS3A=m -CONFIG_DVB_ASCOT2E=m -CONFIG_DVB_HELENE=m - # # Tools to develop new frontends # -# CONFIG_DVB_DUMMY_FE is not set # # Graphics support @@ -4273,113 +3863,104 @@ CONFIG_INTEL_GTT=y CONFIG_VGA_ARB=y CONFIG_VGA_ARB_MAX_GPUS=16 CONFIG_VGA_SWITCHEROO=y -CONFIG_DRM=m +CONFIG_DRM=y CONFIG_DRM_MIPI_DSI=y # CONFIG_DRM_DP_AUX_CHARDEV is not set -CONFIG_DRM_KMS_HELPER=m +# CONFIG_DRM_DEBUG_MM is not set +# CONFIG_DRM_DEBUG_SELFTEST is not set +CONFIG_DRM_KMS_HELPER=y CONFIG_DRM_KMS_FB_HELPER=y CONFIG_DRM_FBDEV_EMULATION=y +CONFIG_DRM_FBDEV_OVERALLOC=300 +# CONFIG_DRM_FBDEV_LEAK_PHYS_SMEM is not set # CONFIG_DRM_LOAD_EDID_FIRMWARE is not set -CONFIG_DRM_TTM=m +# CONFIG_DRM_DP_CEC is not set +CONFIG_DRM_TTM=y # # I2C encoder or helper chips # -CONFIG_DRM_I2C_CH7006=m -CONFIG_DRM_I2C_SIL164=m -CONFIG_DRM_I2C_NXP_TDA998X=m -CONFIG_DRM_TDFX=m -CONFIG_DRM_R128=m -CONFIG_DRM_RADEON=m -# CONFIG_DRM_RADEON_USERPTR is not set -CONFIG_DRM_AMDGPU=m -CONFIG_DRM_AMDGPU_CIK=y -# CONFIG_DRM_AMDGPU_USERPTR is not set -# CONFIG_DRM_AMDGPU_GART_DEBUGFS is not set -# CONFIG_DRM_AMD_POWERPLAY is not set +# CONFIG_DRM_I2C_CH7006 is not set +# CONFIG_DRM_I2C_SIL164 is not set +# CONFIG_DRM_I2C_NXP_TDA998X is not set +# CONFIG_DRM_I2C_NXP_TDA9950 is not set +# CONFIG_DRM_RADEON is not set +# CONFIG_DRM_AMDGPU is not set # # ACP (Audio CoProcessor) Configuration # -# CONFIG_DRM_AMD_ACP is not set -CONFIG_DRM_NOUVEAU=m -CONFIG_NOUVEAU_DEBUG=5 -CONFIG_NOUVEAU_DEBUG_DEFAULT=3 -CONFIG_DRM_NOUVEAU_BACKLIGHT=y -CONFIG_DRM_I915=m -CONFIG_DRM_I915_PRELIMINARY_HW_SUPPORT=y + +# +# AMD Library routines +# +# CONFIG_DRM_NOUVEAU is not set +CONFIG_DRM_I915=y +# CONFIG_DRM_I915_ALPHA_SUPPORT is not set +CONFIG_DRM_I915_CAPTURE_ERROR=y +CONFIG_DRM_I915_COMPRESS_ERROR=y +CONFIG_DRM_I915_MEMTRACK=y CONFIG_DRM_I915_USERPTR=y # CONFIG_DRM_I915_GVT is not set +# CONFIG_DRM_I915_LOAD_ASYNC_SUPPORT is not set # # drm/i915 Debugging # # CONFIG_DRM_I915_WERROR is not set # CONFIG_DRM_I915_DEBUG is not set -CONFIG_DRM_MGA=m -CONFIG_DRM_SIS=m -CONFIG_DRM_VIA=m -CONFIG_DRM_SAVAGE=m -CONFIG_DRM_VGEM=m -CONFIG_DRM_VMWGFX=m -CONFIG_DRM_VMWGFX_FBCON=y -CONFIG_DRM_GMA500=m -CONFIG_DRM_GMA600=y -CONFIG_DRM_GMA3600=y -CONFIG_DRM_UDL=m -CONFIG_DRM_AST=m -CONFIG_DRM_MGAG200=m +# CONFIG_DRM_I915_SW_FENCE_DEBUG_OBJECTS is not set +# CONFIG_DRM_I915_SW_FENCE_CHECK_DAG is not set +# CONFIG_DRM_I915_DEBUG_GUC is not set +# CONFIG_DRM_I915_SELFTEST is not set +# CONFIG_DRM_I915_LOW_LEVEL_TRACEPOINTS is not set +# CONFIG_DRM_I915_DEBUG_VBLANK_EVADE is not set +# CONFIG_DRM_VGEM is not set +# CONFIG_DRM_VKMS is not set +# CONFIG_DRM_VMWGFX is not set +# CONFIG_DRM_GMA500 is not set +# CONFIG_DRM_UDL is not set +# CONFIG_DRM_AST is not set +# CONFIG_DRM_MGAG200 is not set # CONFIG_DRM_CIRRUS_QEMU is not set # CONFIG_DRM_QXL is not set -CONFIG_DRM_BOCHS=m -CONFIG_DRM_VIRTIO_GPU=m +CONFIG_DRM_BOCHS=y +# CONFIG_DRM_VIRTIO_GPU is not set CONFIG_DRM_PANEL=y # # Display Panels # -# CONFIG_DRM_PANEL_SIMPLE is not set -# CONFIG_DRM_PANEL_SAMSUNG_LD9040 is not set -# CONFIG_DRM_PANEL_LG_LG4573 is not set -# CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00 is not set -# CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0 is not set -# CONFIG_DRM_PANEL_SHARP_LQ101R1SX01 is not set -# CONFIG_DRM_PANEL_SHARP_LS043T1LE01 is not set +# CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN is not set CONFIG_DRM_BRIDGE=y +CONFIG_DRM_PANEL_BRIDGE=y # # Display Interface Bridges # # CONFIG_DRM_ANALOGIX_ANX78XX is not set -# CONFIG_DRM_NXP_PTN3460 is not set -# CONFIG_DRM_PARADE_PS8622 is not set -# CONFIG_DRM_SII902X is not set -# CONFIG_DRM_TOSHIBA_TC358767 is not set -# CONFIG_DRM_I2C_ADV7511 is not set -# CONFIG_DRM_ARCPGU is not set +# CONFIG_DRM_HISI_HIBMC is not set +# CONFIG_DRM_TINYDRM is not set +# CONFIG_DRM_LEGACY is not set +CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y # # Frame buffer Devices # CONFIG_FB=y -CONFIG_FIRMWARE_EDID=y +# CONFIG_FIRMWARE_EDID is not set CONFIG_FB_CMDLINE=y CONFIG_FB_NOTIFY=y -CONFIG_FB_DDC=m CONFIG_FB_BOOT_VESA_SUPPORT=y CONFIG_FB_CFB_FILLRECT=y CONFIG_FB_CFB_COPYAREA=y CONFIG_FB_CFB_IMAGEBLIT=y -# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set -CONFIG_FB_SYS_FILLRECT=m -CONFIG_FB_SYS_COPYAREA=m -CONFIG_FB_SYS_IMAGEBLIT=m +CONFIG_FB_SYS_FILLRECT=y +CONFIG_FB_SYS_COPYAREA=y +CONFIG_FB_SYS_IMAGEBLIT=y # CONFIG_FB_FOREIGN_ENDIAN is not set -CONFIG_FB_SYS_FOPS=m +CONFIG_FB_SYS_FOPS=y CONFIG_FB_DEFERRED_IO=y -CONFIG_FB_SVGALIB=m -# CONFIG_FB_MACMODES is not set -CONFIG_FB_BACKLIGHT=y CONFIG_FB_MODE_HELPERS=y CONFIG_FB_TILEBLITTING=y @@ -4393,7 +3974,7 @@ CONFIG_FB_TILEBLITTING=y # CONFIG_FB_ASILIANT is not set # CONFIG_FB_IMSTT is not set # CONFIG_FB_VGA16 is not set -CONFIG_FB_UVESA=m +# CONFIG_FB_UVESA is not set CONFIG_FB_VESA=y CONFIG_FB_EFI=y # CONFIG_FB_N411 is not set @@ -4401,290 +3982,234 @@ CONFIG_FB_EFI=y # CONFIG_FB_OPENCORES is not set # CONFIG_FB_S1D13XXX is not set # CONFIG_FB_NVIDIA is not set -CONFIG_FB_RIVA=m -# CONFIG_FB_RIVA_I2C is not set -# CONFIG_FB_RIVA_DEBUG is not set -CONFIG_FB_RIVA_BACKLIGHT=y +# CONFIG_FB_RIVA is not set # CONFIG_FB_I740 is not set # CONFIG_FB_LE80578 is not set -# CONFIG_FB_INTEL is not set -CONFIG_FB_MATROX=m -CONFIG_FB_MATROX_MILLENIUM=y -CONFIG_FB_MATROX_MYSTIQUE=y -CONFIG_FB_MATROX_G=y -CONFIG_FB_MATROX_I2C=m -CONFIG_FB_MATROX_MAVEN=m +# CONFIG_FB_MATROX is not set # CONFIG_FB_RADEON is not set -CONFIG_FB_ATY128=m -CONFIG_FB_ATY128_BACKLIGHT=y -CONFIG_FB_ATY=m -CONFIG_FB_ATY_CT=y -CONFIG_FB_ATY_GENERIC_LCD=y -CONFIG_FB_ATY_GX=y -CONFIG_FB_ATY_BACKLIGHT=y -CONFIG_FB_S3=m -CONFIG_FB_S3_DDC=y -CONFIG_FB_SAVAGE=m -CONFIG_FB_SAVAGE_I2C=y -CONFIG_FB_SAVAGE_ACCEL=y +# CONFIG_FB_ATY128 is not set +# CONFIG_FB_ATY is not set +# CONFIG_FB_S3 is not set +# CONFIG_FB_SAVAGE is not set # CONFIG_FB_SIS is not set -CONFIG_FB_VIA=m -# CONFIG_FB_VIA_DIRECT_PROCFS is not set -# CONFIG_FB_VIA_X_COMPATIBILITY is not set -CONFIG_FB_NEOMAGIC=m -CONFIG_FB_KYRO=m -CONFIG_FB_3DFX=m -CONFIG_FB_3DFX_ACCEL=y -CONFIG_FB_3DFX_I2C=y -CONFIG_FB_VOODOO1=m -CONFIG_FB_VT8623=m -CONFIG_FB_TRIDENT=m +# CONFIG_FB_VIA is not set +# CONFIG_FB_NEOMAGIC is not set +# CONFIG_FB_KYRO is not set +# CONFIG_FB_3DFX is not set +# CONFIG_FB_VOODOO1 is not set +# CONFIG_FB_VT8623 is not set +# CONFIG_FB_TRIDENT is not set # CONFIG_FB_ARK is not set # CONFIG_FB_PM3 is not set # CONFIG_FB_CARMINE is not set # CONFIG_FB_SMSCUFX is not set -CONFIG_FB_UDL=m +# CONFIG_FB_UDL is not set # CONFIG_FB_IBM_GXT4500 is not set -CONFIG_FB_VIRTUAL=m -CONFIG_FB_METRONOME=m -CONFIG_FB_MB862XX=m -CONFIG_FB_MB862XX_PCI_GDC=y -CONFIG_FB_MB862XX_I2C=y +# CONFIG_FB_VIRTUAL is not set +# CONFIG_FB_METRONOME is not set +# CONFIG_FB_MB862XX is not set # CONFIG_FB_BROADSHEET is not set -# CONFIG_FB_AUO_K190X is not set -# CONFIG_FB_HYPERV is not set -# CONFIG_FB_SIMPLE is not set -# CONFIG_FB_SSD1307 is not set +CONFIG_FB_SIMPLE=y # CONFIG_FB_SM712 is not set CONFIG_BACKLIGHT_LCD_SUPPORT=y -CONFIG_LCD_CLASS_DEVICE=y -CONFIG_LCD_L4F00242T03=m -CONFIG_LCD_LMS283GF05=m -CONFIG_LCD_LTV350QV=m -CONFIG_LCD_ILI922X=m -CONFIG_LCD_ILI9320=m -CONFIG_LCD_TDO24M=m -CONFIG_LCD_VGG2432A4=m +CONFIG_LCD_CLASS_DEVICE=m +# CONFIG_LCD_L4F00242T03 is not set +# CONFIG_LCD_LMS283GF05 is not set +# CONFIG_LCD_LTV350QV is not set +# CONFIG_LCD_ILI922X is not set +# CONFIG_LCD_ILI9320 is not set +# CONFIG_LCD_TDO24M is not set +# CONFIG_LCD_VGG2432A4 is not set CONFIG_LCD_PLATFORM=m -CONFIG_LCD_S6E63M0=m -CONFIG_LCD_LD9040=m -CONFIG_LCD_AMS369FG06=m -CONFIG_LCD_LMS501KF03=m -CONFIG_LCD_HX8357=m +# CONFIG_LCD_S6E63M0 is not set +# CONFIG_LCD_LD9040 is not set +# CONFIG_LCD_AMS369FG06 is not set +# CONFIG_LCD_LMS501KF03 is not set +# CONFIG_LCD_HX8357 is not set +# CONFIG_LCD_OTM3225A is not set CONFIG_BACKLIGHT_CLASS_DEVICE=y CONFIG_BACKLIGHT_GENERIC=m -CONFIG_BACKLIGHT_LM3533=m -CONFIG_BACKLIGHT_PWM=m -CONFIG_BACKLIGHT_APPLE=m +# CONFIG_BACKLIGHT_PWM is not set +# CONFIG_BACKLIGHT_APPLE is not set # CONFIG_BACKLIGHT_PM8941_WLED is not set -CONFIG_BACKLIGHT_SAHARA=m -CONFIG_BACKLIGHT_ADP8860=m -CONFIG_BACKLIGHT_ADP8870=m +# CONFIG_BACKLIGHT_SAHARA is not set +# CONFIG_BACKLIGHT_ADP8860 is not set +# CONFIG_BACKLIGHT_ADP8870 is not set CONFIG_BACKLIGHT_LM3630A=m -CONFIG_BACKLIGHT_LM3639=m -CONFIG_BACKLIGHT_LP855X=m -CONFIG_BACKLIGHT_TPS65217=m +# CONFIG_BACKLIGHT_LM3639 is not set +# CONFIG_BACKLIGHT_LP855X is not set CONFIG_BACKLIGHT_GPIO=m CONFIG_BACKLIGHT_LV5207LP=m CONFIG_BACKLIGHT_BD6107=m -CONFIG_VGASTATE=m +# CONFIG_BACKLIGHT_ARCXCNN is not set CONFIG_HDMI=y # # Console display driver support # -CONFIG_VGA_CONSOLE=y -# CONFIG_VGACON_SOFT_SCROLLBACK is not set +# CONFIG_VGA_CONSOLE is not set CONFIG_DUMMY_CONSOLE=y CONFIG_DUMMY_CONSOLE_COLUMNS=80 CONFIG_DUMMY_CONSOLE_ROWS=25 -CONFIG_FRAMEBUFFER_CONSOLE=y -CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y -# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set +# CONFIG_FRAMEBUFFER_CONSOLE is not set # CONFIG_LOGO is not set -CONFIG_SOUND=m +CONFIG_SOUND=y CONFIG_SOUND_OSS_CORE=y CONFIG_SOUND_OSS_CORE_PRECLAIM=y -CONFIG_SND=m -CONFIG_SND_TIMER=m -CONFIG_SND_PCM=m -CONFIG_SND_PCM_ELD=y -CONFIG_SND_DMAENGINE_PCM=m -CONFIG_SND_HWDEP=m -CONFIG_SND_RAWMIDI=m -CONFIG_SND_COMPRESS_OFFLOAD=m +CONFIG_SND=y +CONFIG_SND_TIMER=y +CONFIG_SND_PCM=y +CONFIG_SND_HWDEP=y +CONFIG_SND_SEQ_DEVICE=y +CONFIG_SND_RAWMIDI=y CONFIG_SND_JACK=y CONFIG_SND_JACK_INPUT_DEV=y -CONFIG_SND_SEQUENCER=m -# CONFIG_SND_SEQ_DUMMY is not set CONFIG_SND_OSSEMUL=y CONFIG_SND_MIXER_OSS=m CONFIG_SND_PCM_OSS=m CONFIG_SND_PCM_OSS_PLUGINS=y CONFIG_SND_PCM_TIMER=y -# CONFIG_SND_SEQUENCER_OSS is not set -CONFIG_SND_HRTIMER=m -CONFIG_SND_SEQ_HRTIMER_DEFAULT=y +CONFIG_SND_HRTIMER=y CONFIG_SND_DYNAMIC_MINORS=y CONFIG_SND_MAX_CARDS=32 -# CONFIG_SND_SUPPORT_OLD_API is not set +CONFIG_SND_SUPPORT_OLD_API=y CONFIG_SND_PROC_FS=y CONFIG_SND_VERBOSE_PROCFS=y -# CONFIG_SND_VERBOSE_PRINTK is not set +CONFIG_SND_VERBOSE_PRINTK=y # CONFIG_SND_DEBUG is not set CONFIG_SND_VMASTER=y CONFIG_SND_DMA_SGBUF=y -CONFIG_SND_RAWMIDI_SEQ=m -CONFIG_SND_OPL3_LIB_SEQ=m -# CONFIG_SND_OPL4_LIB_SEQ is not set -# CONFIG_SND_SBAWE_SEQ is not set -CONFIG_SND_EMU10K1_SEQ=m -CONFIG_SND_MPU401_UART=m -CONFIG_SND_OPL3_LIB=m -CONFIG_SND_VX_LIB=m +CONFIG_SND_SEQUENCER=m +# CONFIG_SND_SEQ_DUMMY is not set +# CONFIG_SND_SEQUENCER_OSS is not set +CONFIG_SND_SEQ_HRTIMER_DEFAULT=y +CONFIG_SND_SEQ_MIDI_EVENT=m +CONFIG_SND_SEQ_MIDI=m CONFIG_SND_AC97_CODEC=m CONFIG_SND_DRIVERS=y # CONFIG_SND_PCSP is not set CONFIG_SND_DUMMY=m # CONFIG_SND_ALOOP is not set -CONFIG_SND_VIRMIDI=m -CONFIG_SND_MTPAV=m -CONFIG_SND_MTS64=m -CONFIG_SND_SERIAL_U16550=m -CONFIG_SND_MPU401=m -CONFIG_SND_PORTMAN2X4=m -CONFIG_SND_AC97_POWER_SAVE=y -CONFIG_SND_AC97_POWER_SAVE_DEFAULT=0 -CONFIG_SND_SB_COMMON=m +# CONFIG_SND_VIRMIDI is not set +# CONFIG_SND_MTPAV is not set +# CONFIG_SND_SERIAL_U16550 is not set +# CONFIG_SND_MPU401 is not set +# CONFIG_SND_AC97_POWER_SAVE is not set CONFIG_SND_PCI=y -CONFIG_SND_AD1889=m -CONFIG_SND_ALS300=m -CONFIG_SND_ALS4000=m -CONFIG_SND_ALI5451=m -CONFIG_SND_ASIHPI=m -CONFIG_SND_ATIIXP=m -CONFIG_SND_ATIIXP_MODEM=m -CONFIG_SND_AU8810=m -CONFIG_SND_AU8820=m -CONFIG_SND_AU8830=m -CONFIG_SND_AW2=m -CONFIG_SND_AZT3328=m -CONFIG_SND_BT87X=m -# CONFIG_SND_BT87X_OVERCLOCK is not set -CONFIG_SND_CA0106=m -CONFIG_SND_CMIPCI=m -CONFIG_SND_OXYGEN_LIB=m -CONFIG_SND_OXYGEN=m -CONFIG_SND_CS4281=m -CONFIG_SND_CS46XX=m -CONFIG_SND_CS46XX_NEW_DSP=y -CONFIG_SND_CTXFI=m -CONFIG_SND_DARLA20=m -CONFIG_SND_GINA20=m -CONFIG_SND_LAYLA20=m -CONFIG_SND_DARLA24=m -CONFIG_SND_GINA24=m -CONFIG_SND_LAYLA24=m -CONFIG_SND_MONA=m -CONFIG_SND_MIA=m -CONFIG_SND_ECHO3G=m -CONFIG_SND_INDIGO=m -CONFIG_SND_INDIGOIO=m -CONFIG_SND_INDIGODJ=m -CONFIG_SND_INDIGOIOX=m -CONFIG_SND_INDIGODJX=m -CONFIG_SND_EMU10K1=m -CONFIG_SND_EMU10K1X=m -CONFIG_SND_ENS1370=m -CONFIG_SND_ENS1371=m -CONFIG_SND_ES1938=m -CONFIG_SND_ES1968=m -CONFIG_SND_ES1968_INPUT=y -# CONFIG_SND_ES1968_RADIO is not set -CONFIG_SND_FM801=m -# CONFIG_SND_FM801_TEA575X_BOOL is not set -CONFIG_SND_HDSP=m -CONFIG_SND_HDSPM=m -CONFIG_SND_ICE1712=m -CONFIG_SND_ICE1724=m -CONFIG_SND_INTEL8X0=m -CONFIG_SND_INTEL8X0M=m -CONFIG_SND_KORG1212=m -CONFIG_SND_LOLA=m -CONFIG_SND_LX6464ES=m -CONFIG_SND_MAESTRO3=m -CONFIG_SND_MAESTRO3_INPUT=y -CONFIG_SND_MIXART=m -CONFIG_SND_NM256=m -CONFIG_SND_PCXHR=m -CONFIG_SND_RIPTIDE=m -CONFIG_SND_RME32=m -CONFIG_SND_RME96=m -CONFIG_SND_RME9652=m -CONFIG_SND_SONICVIBES=m -CONFIG_SND_TRIDENT=m -CONFIG_SND_VIA82XX=m -CONFIG_SND_VIA82XX_MODEM=m -CONFIG_SND_VIRTUOSO=m -CONFIG_SND_VX222=m -CONFIG_SND_YMFPCI=m +# CONFIG_SND_AD1889 is not set +# CONFIG_SND_ALS300 is not set +# CONFIG_SND_ALS4000 is not set +# CONFIG_SND_ALI5451 is not set +# CONFIG_SND_ASIHPI is not set +# CONFIG_SND_ATIIXP is not set +# CONFIG_SND_ATIIXP_MODEM is not set +# CONFIG_SND_AU8810 is not set +# CONFIG_SND_AU8820 is not set +# CONFIG_SND_AU8830 is not set +# CONFIG_SND_AW2 is not set +# CONFIG_SND_AZT3328 is not set +# CONFIG_SND_BT87X is not set +# CONFIG_SND_CA0106 is not set +# CONFIG_SND_CMIPCI is not set +# CONFIG_SND_OXYGEN is not set +# CONFIG_SND_CS4281 is not set +# CONFIG_SND_CS46XX is not set +# CONFIG_SND_CTXFI is not set +# CONFIG_SND_DARLA20 is not set +# CONFIG_SND_GINA20 is not set +# CONFIG_SND_LAYLA20 is not set +# CONFIG_SND_DARLA24 is not set +# CONFIG_SND_GINA24 is not set +# CONFIG_SND_LAYLA24 is not set +# CONFIG_SND_MONA is not set +# CONFIG_SND_MIA is not set +# CONFIG_SND_ECHO3G is not set +# CONFIG_SND_INDIGO is not set +# CONFIG_SND_INDIGOIO is not set +# CONFIG_SND_INDIGODJ is not set +# CONFIG_SND_INDIGOIOX is not set +# CONFIG_SND_INDIGODJX is not set +# CONFIG_SND_EMU10K1 is not set +# CONFIG_SND_EMU10K1X is not set +# CONFIG_SND_ENS1370 is not set +# CONFIG_SND_ENS1371 is not set +# CONFIG_SND_ES1938 is not set +# CONFIG_SND_ES1968 is not set +# CONFIG_SND_FM801 is not set +# CONFIG_SND_HDSP is not set +# CONFIG_SND_HDSPM is not set +# CONFIG_SND_ICE1712 is not set +# CONFIG_SND_ICE1724 is not set +# CONFIG_SND_INTEL8X0 is not set +# CONFIG_SND_INTEL8X0M is not set +# CONFIG_SND_KORG1212 is not set +# CONFIG_SND_LOLA is not set +# CONFIG_SND_LX6464ES is not set +# CONFIG_SND_MAESTRO3 is not set +# CONFIG_SND_MIXART is not set +# CONFIG_SND_NM256 is not set +# CONFIG_SND_PCXHR is not set +# CONFIG_SND_RIPTIDE is not set +# CONFIG_SND_RME32 is not set +# CONFIG_SND_RME96 is not set +# CONFIG_SND_RME9652 is not set +# CONFIG_SND_SE6X is not set +# CONFIG_SND_SONICVIBES is not set +# CONFIG_SND_TRIDENT is not set +# CONFIG_SND_VIA82XX is not set +# CONFIG_SND_VIA82XX_MODEM is not set +# CONFIG_SND_VIRTUOSO is not set +# CONFIG_SND_VX222 is not set +# CONFIG_SND_YMFPCI is not set # # HD-Audio # -CONFIG_SND_HDA=m -CONFIG_SND_HDA_INTEL=m +CONFIG_SND_HDA=y +CONFIG_SND_HDA_INTEL=y CONFIG_SND_HDA_HWDEP=y CONFIG_SND_HDA_RECONFIG=y # CONFIG_SND_HDA_INPUT_BEEP is not set CONFIG_SND_HDA_PATCH_LOADER=y -CONFIG_SND_HDA_CODEC_REALTEK=m -CONFIG_SND_HDA_CODEC_ANALOG=m -CONFIG_SND_HDA_CODEC_SIGMATEL=m -CONFIG_SND_HDA_CODEC_VIA=m -CONFIG_SND_HDA_CODEC_HDMI=m -CONFIG_SND_HDA_CODEC_CIRRUS=m -CONFIG_SND_HDA_CODEC_CONEXANT=m -CONFIG_SND_HDA_CODEC_CA0110=m -CONFIG_SND_HDA_CODEC_CA0132=m +CONFIG_SND_HDA_CODEC_REALTEK=y +CONFIG_SND_HDA_CODEC_ANALOG=y +CONFIG_SND_HDA_CODEC_SIGMATEL=y +CONFIG_SND_HDA_CODEC_VIA=y +CONFIG_SND_HDA_CODEC_HDMI=y +CONFIG_SND_HDA_CODEC_CIRRUS=y +CONFIG_SND_HDA_CODEC_CONEXANT=y +CONFIG_SND_HDA_CODEC_CA0110=y +CONFIG_SND_HDA_CODEC_CA0132=y CONFIG_SND_HDA_CODEC_CA0132_DSP=y -CONFIG_SND_HDA_CODEC_CMEDIA=m -CONFIG_SND_HDA_CODEC_SI3054=m -CONFIG_SND_HDA_GENERIC=m +CONFIG_SND_HDA_CODEC_CMEDIA=y +CONFIG_SND_HDA_CODEC_SI3054=y +CONFIG_SND_HDA_GENERIC=y CONFIG_SND_HDA_POWER_SAVE_DEFAULT=3 -CONFIG_SND_HDA_CORE=m +CONFIG_SND_HDA_CORE=y CONFIG_SND_HDA_DSP_LOADER=y +CONFIG_SND_HDA_COMPONENT=y CONFIG_SND_HDA_I915=y -CONFIG_SND_HDA_EXT_CORE=m CONFIG_SND_HDA_PREALLOC_SIZE=64 # CONFIG_SND_SPI is not set CONFIG_SND_USB=y -CONFIG_SND_USB_AUDIO=m -CONFIG_SND_USB_UA101=m -CONFIG_SND_USB_USX2Y=m +CONFIG_SND_USB_AUDIO=y +CONFIG_SND_USB_UA101=y +CONFIG_SND_USB_USX2Y=y CONFIG_SND_USB_CAIAQ=m # CONFIG_SND_USB_CAIAQ_INPUT is not set -CONFIG_SND_USB_US122L=m +CONFIG_SND_USB_US122L=y CONFIG_SND_USB_6FIRE=m CONFIG_SND_USB_HIFACE=m -CONFIG_SND_BCD2000=m -CONFIG_SND_USB_LINE6=m -CONFIG_SND_USB_POD=m -CONFIG_SND_USB_PODHD=m -CONFIG_SND_USB_TONEPORT=m -CONFIG_SND_USB_VARIAX=m -CONFIG_SND_PCMCIA=y -CONFIG_SND_VXPOCKET=m -CONFIG_SND_PDAUDIOCF=m -CONFIG_SND_SOC=m +# CONFIG_SND_BCD2000 is not set +# CONFIG_SND_USB_POD is not set +# CONFIG_SND_USB_PODHD is not set +# CONFIG_SND_USB_TONEPORT is not set +# CONFIG_SND_USB_VARIAX is not set +CONFIG_SND_SOC=y CONFIG_SND_SOC_AC97_BUS=y -CONFIG_SND_SOC_GENERIC_DMAENGINE_PCM=y -CONFIG_SND_SOC_COMPRESS=y -CONFIG_SND_SOC_TOPOLOGY=y # CONFIG_SND_SOC_AMD_ACP is not set -CONFIG_SND_ATMEL_SOC=m -CONFIG_SND_DESIGNWARE_I2S=m -# CONFIG_SND_DESIGNWARE_PCM is not set +# CONFIG_SND_ATMEL_SOC is not set +# CONFIG_SND_DESIGNWARE_I2S is not set # # SoC Audio for Freescale CPUs @@ -4699,141 +4224,140 @@ CONFIG_SND_DESIGNWARE_I2S=m # CONFIG_SND_SOC_FSL_SPDIF is not set # CONFIG_SND_SOC_FSL_ESAI is not set # CONFIG_SND_SOC_IMX_AUDMUX is not set +# CONFIG_SND_I2S_HI6210_I2S is not set # CONFIG_SND_SOC_IMG is not set -CONFIG_SND_SST_MFLD_PLATFORM=m -CONFIG_SND_SST_IPC=m -CONFIG_SND_SST_IPC_ACPI=m -CONFIG_SND_SOC_INTEL_SST=m -CONFIG_SND_SOC_INTEL_SST_FIRMWARE=m -CONFIG_SND_SOC_INTEL_SST_ACPI=m -CONFIG_SND_SOC_INTEL_SST_MATCH=m -CONFIG_SND_SOC_INTEL_HASWELL=m -CONFIG_SND_SOC_INTEL_HASWELL_MACH=m -# CONFIG_SND_SOC_INTEL_BXT_DA7219_MAX98357A_MACH is not set -# CONFIG_SND_SOC_INTEL_BXT_RT298_MACH is not set -CONFIG_SND_SOC_INTEL_BROADWELL_MACH=m -CONFIG_SND_SOC_INTEL_BYTCR_RT5640_MACH=m -# CONFIG_SND_SOC_INTEL_BYTCR_RT5651_MACH is not set -CONFIG_SND_SOC_INTEL_CHT_BSW_RT5672_MACH=m -CONFIG_SND_SOC_INTEL_CHT_BSW_RT5645_MACH=m -CONFIG_SND_SOC_INTEL_CHT_BSW_MAX98090_TI_MACH=m -CONFIG_SND_SOC_INTEL_SKYLAKE=m -CONFIG_SND_SOC_INTEL_SKL_RT286_MACH=m -# CONFIG_SND_SOC_INTEL_SKL_NAU88L25_SSM4567_MACH is not set -# CONFIG_SND_SOC_INTEL_SKL_NAU88L25_MAX98357A_MACH is not set - -# -# Allwinner SoC Audio support -# -# CONFIG_SND_SUN4I_CODEC is not set -# CONFIG_SND_SUN4I_I2S is not set -# CONFIG_SND_SUN4I_SPDIF is not set +# CONFIG_SND_SOC_INTEL_SST_TOPLEVEL is not set + +# +# STMicroelectronics STM32 SOC audio support +# # CONFIG_SND_SOC_XTFPGA_I2S is not set -CONFIG_SND_SOC_I2C_AND_SPI=m +# CONFIG_ZX_TDM is not set +CONFIG_SND_SOC_I2C_AND_SPI=y # # CODEC drivers # CONFIG_SND_SOC_AC97_CODEC=m CONFIG_SND_SOC_ADAU1701=m +# CONFIG_SND_SOC_ADAU1761_I2C is not set +# CONFIG_SND_SOC_ADAU1761_SPI is not set # CONFIG_SND_SOC_ADAU7002 is not set -CONFIG_SND_SOC_AK4104=m -CONFIG_SND_SOC_AK4554=m -CONFIG_SND_SOC_AK4613=m -CONFIG_SND_SOC_AK4642=m -CONFIG_SND_SOC_AK5386=m -CONFIG_SND_SOC_ALC5623=m +# CONFIG_SND_SOC_AK4104 is not set +# CONFIG_SND_SOC_AK4458 is not set +# CONFIG_SND_SOC_AK4554 is not set +# CONFIG_SND_SOC_AK4613 is not set +# CONFIG_SND_SOC_AK4642 is not set +# CONFIG_SND_SOC_AK5386 is not set +# CONFIG_SND_SOC_AK5558 is not set +# CONFIG_SND_SOC_ALC5623 is not set +# CONFIG_SND_SOC_BD28623 is not set # CONFIG_SND_SOC_BT_SCO is not set -CONFIG_SND_SOC_CS35L32=m +# CONFIG_SND_SOC_CS35L32 is not set # CONFIG_SND_SOC_CS35L33 is not set -CONFIG_SND_SOC_CS42L51=m -CONFIG_SND_SOC_CS42L51_I2C=m -CONFIG_SND_SOC_CS42L52=m -CONFIG_SND_SOC_CS42L56=m -CONFIG_SND_SOC_CS42L73=m -CONFIG_SND_SOC_CS4265=m -CONFIG_SND_SOC_CS4270=m -CONFIG_SND_SOC_CS4271=m -CONFIG_SND_SOC_CS4271_I2C=m -CONFIG_SND_SOC_CS4271_SPI=m -CONFIG_SND_SOC_CS42XX8=m -CONFIG_SND_SOC_CS42XX8_I2C=m -CONFIG_SND_SOC_CS4349=m +# CONFIG_SND_SOC_CS35L34 is not set +# CONFIG_SND_SOC_CS35L35 is not set +# CONFIG_SND_SOC_CS42L42 is not set +# CONFIG_SND_SOC_SVFPGA_I2C is not set +# CONFIG_SND_SOC_CS42L51_I2C is not set +# CONFIG_SND_SOC_CS42L52 is not set +# CONFIG_SND_SOC_CS42L56 is not set +# CONFIG_SND_SOC_CS42L73 is not set +# CONFIG_SND_SOC_CS4265 is not set +# CONFIG_SND_SOC_CS4270 is not set +# CONFIG_SND_SOC_CS4271_I2C is not set +# CONFIG_SND_SOC_CS4271_SPI is not set +# CONFIG_SND_SOC_CS42XX8_I2C is not set +# CONFIG_SND_SOC_CS43130 is not set +# CONFIG_SND_SOC_CS4349 is not set # CONFIG_SND_SOC_CS53L30 is not set -CONFIG_SND_SOC_DMIC=m -CONFIG_SND_SOC_ES8328=m +# CONFIG_SND_SOC_ES7134 is not set +# CONFIG_SND_SOC_ES7241 is not set +# CONFIG_SND_SOC_ES8316 is not set +# CONFIG_SND_SOC_ES8328_I2C is not set +# CONFIG_SND_SOC_ES8328_SPI is not set # CONFIG_SND_SOC_GTM601 is not set -CONFIG_SND_SOC_HDAC_HDMI=m # CONFIG_SND_SOC_INNO_RK3036 is not set -CONFIG_SND_SOC_MAX98090=m # CONFIG_SND_SOC_MAX98504 is not set +# CONFIG_SND_SOC_MAX9867 is not set +# CONFIG_SND_SOC_MAX98927 is not set +# CONFIG_SND_SOC_MAX98373 is not set # CONFIG_SND_SOC_MAX9860 is not set -CONFIG_SND_SOC_PCM1681=m +# CONFIG_SND_SOC_MSM8916_WCD_DIGITAL is not set +# CONFIG_SND_SOC_PCM1681 is not set +# CONFIG_SND_SOC_PCM1789_I2C is not set # CONFIG_SND_SOC_PCM179X_I2C is not set # CONFIG_SND_SOC_PCM179X_SPI is not set +# CONFIG_SND_SOC_PCM186X_I2C is not set +# CONFIG_SND_SOC_PCM186X_SPI is not set # CONFIG_SND_SOC_PCM3168A_I2C is not set # CONFIG_SND_SOC_PCM3168A_SPI is not set -CONFIG_SND_SOC_PCM512x=m -CONFIG_SND_SOC_PCM512x_I2C=m -CONFIG_SND_SOC_PCM512x_SPI=m -CONFIG_SND_SOC_RL6231=m -CONFIG_SND_SOC_RL6347A=m -CONFIG_SND_SOC_RT286=m +# CONFIG_SND_SOC_PCM512x_I2C is not set +# CONFIG_SND_SOC_PCM512x_SPI is not set # CONFIG_SND_SOC_RT5616 is not set -CONFIG_SND_SOC_RT5631=m -CONFIG_SND_SOC_RT5640=m -CONFIG_SND_SOC_RT5645=m -CONFIG_SND_SOC_RT5670=m -# CONFIG_SND_SOC_RT5677_SPI is not set -CONFIG_SND_SOC_SGTL5000=m +# CONFIG_SND_SOC_RT5631 is not set +# CONFIG_SND_SOC_SGTL5000 is not set CONFIG_SND_SOC_SIGMADSP=m CONFIG_SND_SOC_SIGMADSP_I2C=m -CONFIG_SND_SOC_SIRF_AUDIO_CODEC=m -CONFIG_SND_SOC_SPDIF=m -CONFIG_SND_SOC_SSM2602=m -CONFIG_SND_SOC_SSM2602_SPI=m -CONFIG_SND_SOC_SSM2602_I2C=m -CONFIG_SND_SOC_SSM4567=m -CONFIG_SND_SOC_STA32X=m -CONFIG_SND_SOC_STA350=m -CONFIG_SND_SOC_STI_SAS=m -CONFIG_SND_SOC_TAS2552=m -CONFIG_SND_SOC_TAS5086=m -CONFIG_SND_SOC_TAS571X=m +# CONFIG_SND_SOC_SIMPLE_AMPLIFIER is not set +# CONFIG_SND_SOC_SIRF_AUDIO_CODEC is not set +# CONFIG_SND_SOC_SPDIF is not set +# CONFIG_SND_SOC_SSM2305 is not set +# CONFIG_SND_SOC_SSM2602_SPI is not set +# CONFIG_SND_SOC_SSM2602_I2C is not set +# CONFIG_SND_SOC_SSM4567 is not set +# CONFIG_SND_SOC_STA32X is not set +# CONFIG_SND_SOC_STA350 is not set +# CONFIG_SND_SOC_STI_SAS is not set +# CONFIG_SND_SOC_TAS2552 is not set +# CONFIG_SND_SOC_TAS5086 is not set +# CONFIG_SND_SOC_TAS571X is not set # CONFIG_SND_SOC_TAS5720 is not set -CONFIG_SND_SOC_TFA9879=m -CONFIG_SND_SOC_TLV320AIC23=m -CONFIG_SND_SOC_TLV320AIC23_I2C=m -CONFIG_SND_SOC_TLV320AIC23_SPI=m -CONFIG_SND_SOC_TLV320AIC31XX=m -CONFIG_SND_SOC_TLV320AIC3X=m -CONFIG_SND_SOC_TS3A227E=m -CONFIG_SND_SOC_WM8510=m -CONFIG_SND_SOC_WM8523=m -CONFIG_SND_SOC_WM8580=m -CONFIG_SND_SOC_WM8711=m -CONFIG_SND_SOC_WM8728=m -CONFIG_SND_SOC_WM8731=m -CONFIG_SND_SOC_WM8737=m -CONFIG_SND_SOC_WM8741=m -CONFIG_SND_SOC_WM8750=m -CONFIG_SND_SOC_WM8753=m -CONFIG_SND_SOC_WM8770=m -CONFIG_SND_SOC_WM8776=m -CONFIG_SND_SOC_WM8804=m -CONFIG_SND_SOC_WM8804_I2C=m -CONFIG_SND_SOC_WM8804_SPI=m -CONFIG_SND_SOC_WM8903=m +# CONFIG_SND_SOC_TAS6424 is not set +# CONFIG_SND_SOC_TDA7419 is not set +# CONFIG_SND_SOC_TFA9879 is not set +# CONFIG_SND_SOC_TLV320AIC23_I2C is not set +# CONFIG_SND_SOC_TLV320AIC23_SPI is not set +# CONFIG_SND_SOC_TLV320AIC31XX is not set +# CONFIG_SND_SOC_TLV320AIC32X4_I2C is not set +# CONFIG_SND_SOC_TLV320AIC32X4_SPI is not set +# CONFIG_SND_SOC_TLV320AIC3X is not set +# CONFIG_SND_SOC_TS3A227E is not set +# CONFIG_SND_SOC_TSCS42XX is not set +# CONFIG_SND_SOC_TSCS454 is not set +# CONFIG_SND_SOC_WM8510 is not set +# CONFIG_SND_SOC_WM8523 is not set +# CONFIG_SND_SOC_WM8524 is not set +# CONFIG_SND_SOC_WM8580 is not set +# CONFIG_SND_SOC_WM8711 is not set +# CONFIG_SND_SOC_WM8728 is not set +# CONFIG_SND_SOC_WM8731 is not set +# CONFIG_SND_SOC_WM8737 is not set +# CONFIG_SND_SOC_WM8741 is not set +# CONFIG_SND_SOC_WM8750 is not set +# CONFIG_SND_SOC_WM8753 is not set +# CONFIG_SND_SOC_WM8770 is not set +# CONFIG_SND_SOC_WM8776 is not set +# CONFIG_SND_SOC_WM8782 is not set +# CONFIG_SND_SOC_WM8804_I2C is not set +# CONFIG_SND_SOC_WM8804_SPI is not set +# CONFIG_SND_SOC_WM8903 is not set # CONFIG_SND_SOC_WM8960 is not set -CONFIG_SND_SOC_WM8962=m +# CONFIG_SND_SOC_WM8962 is not set # CONFIG_SND_SOC_WM8974 is not set -CONFIG_SND_SOC_WM8978=m +# CONFIG_SND_SOC_WM8978 is not set # CONFIG_SND_SOC_WM8985 is not set -CONFIG_SND_SOC_TPA6130A2=m -CONFIG_SND_SIMPLE_CARD_UTILS=m -CONFIG_SND_SIMPLE_CARD=m -# CONFIG_SOUND_PRIME is not set -CONFIG_AC97_BUS=m +# CONFIG_SND_SOC_ZX_AUD96P22 is not set +# CONFIG_SND_SOC_MAX9759 is not set +# CONFIG_SND_SOC_MT6351 is not set +# CONFIG_SND_SOC_NAU8540 is not set +# CONFIG_SND_SOC_NAU8810 is not set +# CONFIG_SND_SOC_NAU8824 is not set +# CONFIG_SND_SOC_TPA6130A2 is not set +# CONFIG_SND_SIMPLE_CARD is not set +CONFIG_SND_X86=y +# CONFIG_HDMI_LPE_AUDIO is not set +CONFIG_AC97_BUS=y # # HID support @@ -4847,96 +4371,93 @@ CONFIG_HID_GENERIC=y # # Special HID drivers # -CONFIG_HID_A4TECH=m -CONFIG_HID_ACRUX=m -CONFIG_HID_ACRUX_FF=y -CONFIG_HID_APPLE=m -CONFIG_HID_APPLEIR=m +CONFIG_HID_A4TECH=y +# CONFIG_HID_ACCUTOUCH is not set +# CONFIG_HID_ACRUX is not set +CONFIG_HID_APPLE=y +# CONFIG_HID_APPLEIR is not set # CONFIG_HID_ASUS is not set -CONFIG_HID_AUREAL=m -CONFIG_HID_BELKIN=m +# CONFIG_HID_AUREAL is not set +CONFIG_HID_BELKIN=y # CONFIG_HID_BETOP_FF is not set -CONFIG_HID_CHERRY=m -CONFIG_HID_CHICONY=m +CONFIG_HID_CHERRY=y +CONFIG_HID_CHICONY=y # CONFIG_HID_CORSAIR is not set -CONFIG_HID_PRODIKEYS=m +# CONFIG_HID_COUGAR is not set +# CONFIG_HID_PRODIKEYS is not set # CONFIG_HID_CMEDIA is not set -CONFIG_HID_CP2112=m -CONFIG_HID_CYPRESS=m -CONFIG_HID_DRAGONRISE=m -CONFIG_DRAGONRISE_FF=y -CONFIG_HID_EMS_FF=m -CONFIG_HID_ELECOM=m +# CONFIG_HID_CP2112 is not set +CONFIG_HID_CYPRESS=y +# CONFIG_HID_DRAGONRISE is not set +# CONFIG_HID_EMS_FF is not set +# CONFIG_HID_ELAN is not set +# CONFIG_HID_ELECOM is not set CONFIG_HID_ELO=m -CONFIG_HID_EZKEY=m +CONFIG_HID_EZKEY=y # CONFIG_HID_GEMBIRD is not set # CONFIG_HID_GFRM is not set -CONFIG_HID_HOLTEK=m -CONFIG_HOLTEK_FF=y -CONFIG_HID_GT683R=m -CONFIG_HID_KEYTOUCH=m -CONFIG_HID_KYE=m -CONFIG_HID_UCLOGIC=m -CONFIG_HID_WALTOP=m -CONFIG_HID_GYRATION=m -CONFIG_HID_ICADE=m -CONFIG_HID_TWINHAN=m -CONFIG_HID_KENSINGTON=m -CONFIG_HID_LCPOWER=m -CONFIG_HID_LED=m -CONFIG_HID_LENOVO=m -CONFIG_HID_LOGITECH=m -CONFIG_HID_LOGITECH_DJ=m -CONFIG_HID_LOGITECH_HIDPP=m +# CONFIG_HID_HOLTEK is not set +# CONFIG_HID_GOOGLE_HAMMER is not set +# CONFIG_HID_GT683R is not set +# CONFIG_HID_KEYTOUCH is not set +# CONFIG_HID_KYE is not set +# CONFIG_HID_UCLOGIC is not set +# CONFIG_HID_WALTOP is not set +# CONFIG_HID_GYRATION is not set +# CONFIG_HID_ICADE is not set +# CONFIG_HID_ITE is not set +# CONFIG_HID_JABRA is not set +# CONFIG_HID_TWINHAN is not set +CONFIG_HID_KENSINGTON=y +# CONFIG_HID_LCPOWER is not set +# CONFIG_HID_LED is not set +# CONFIG_HID_LENOVO is not set +CONFIG_HID_LOGITECH=y +# CONFIG_HID_LOGITECH_DJ is not set +# CONFIG_HID_LOGITECH_HIDPP is not set CONFIG_LOGITECH_FF=y -CONFIG_LOGIRUMBLEPAD2_FF=y -CONFIG_LOGIG940_FF=y +# CONFIG_LOGIRUMBLEPAD2_FF is not set +# CONFIG_LOGIG940_FF is not set CONFIG_LOGIWHEELS_FF=y CONFIG_HID_MAGICMOUSE=m -CONFIG_HID_MICROSOFT=m -CONFIG_HID_MONTEREY=m -CONFIG_HID_MULTITOUCH=m +# CONFIG_HID_MAYFLASH is not set +# CONFIG_HID_REDRAGON is not set +CONFIG_HID_MICROSOFT=y +CONFIG_HID_MONTEREY=y +CONFIG_HID_MULTITOUCH=y +# CONFIG_HID_NTI is not set CONFIG_HID_NTRIG=m -CONFIG_HID_ORTEK=m -CONFIG_HID_PANTHERLORD=m -CONFIG_PANTHERLORD_FF=y -CONFIG_HID_PENMOUNT=m -CONFIG_HID_PETALYNX=m -CONFIG_HID_PICOLCD=m -CONFIG_HID_PICOLCD_FB=y -CONFIG_HID_PICOLCD_BACKLIGHT=y -CONFIG_HID_PICOLCD_LCD=y -CONFIG_HID_PICOLCD_LEDS=y -CONFIG_HID_PICOLCD_CIR=y -CONFIG_HID_PLANTRONICS=m -CONFIG_HID_PRIMAX=m -CONFIG_HID_ROCCAT=m -CONFIG_HID_SAITEK=m -CONFIG_HID_SAMSUNG=m -CONFIG_HID_SONY=m -# CONFIG_SONY_FF is not set -CONFIG_HID_SPEEDLINK=m -CONFIG_HID_STEELSERIES=m -CONFIG_HID_SUNPLUS=m -CONFIG_HID_RMI=m -CONFIG_HID_GREENASIA=m -CONFIG_GREENASIA_FF=y -CONFIG_HID_HYPERV_MOUSE=m -CONFIG_HID_SMARTJOYPLUS=m -CONFIG_SMARTJOYPLUS_FF=y -CONFIG_HID_TIVO=m -CONFIG_HID_TOPSEED=m -CONFIG_HID_THINGM=m -CONFIG_HID_THRUSTMASTER=m -CONFIG_THRUSTMASTER_FF=y -CONFIG_HID_WACOM=m -CONFIG_HID_WIIMOTE=m +# CONFIG_HID_ORTEK is not set +# CONFIG_HID_PANTHERLORD is not set +# CONFIG_HID_PENMOUNT is not set +# CONFIG_HID_PETALYNX is not set +# CONFIG_HID_PICOLCD is not set +# CONFIG_HID_PLANTRONICS is not set +# CONFIG_HID_PRIMAX is not set +# CONFIG_HID_RETRODE is not set +# 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_SPEEDLINK is not set +# CONFIG_HID_STEAM is not set +# CONFIG_HID_STEELSERIES is not set +# CONFIG_HID_SUNPLUS is not set +# CONFIG_HID_RMI is not set +# CONFIG_HID_GREENASIA is not set +# CONFIG_HID_SMARTJOYPLUS is not set +# CONFIG_HID_TIVO is not set +# CONFIG_HID_TOPSEED is not set +# CONFIG_HID_THINGM is not set +# CONFIG_HID_THRUSTMASTER is not set +# CONFIG_HID_UDRAW_PS3 is not set +# CONFIG_HID_WACOM is not set +# CONFIG_HID_WIIMOTE is not set CONFIG_HID_XINMO=m -CONFIG_HID_ZEROPLUS=m -CONFIG_ZEROPLUS_FF=y -CONFIG_HID_ZYDACRON=m +# CONFIG_HID_ZEROPLUS is not set +# CONFIG_HID_ZYDACRON is not set CONFIG_HID_SENSOR_HUB=m -CONFIG_HID_SENSOR_CUSTOM_SENSOR=m +# CONFIG_HID_SENSOR_CUSTOM_SENSOR is not set # CONFIG_HID_ALPS is not set # @@ -4950,11 +4471,17 @@ CONFIG_USB_HIDDEV=y # I2C HID support # CONFIG_I2C_HID=m + +# +# Intel ISH HID support +# +# CONFIG_INTEL_ISH_HID is not set CONFIG_USB_OHCI_LITTLE_ENDIAN=y CONFIG_USB_SUPPORT=y CONFIG_USB_COMMON=y CONFIG_USB_ARCH_HAS_HCD=y CONFIG_USB=y +CONFIG_USB_PCI=y CONFIG_USB_ANNOUNCE_NEW_DEVICES=y # @@ -4965,8 +4492,8 @@ CONFIG_USB_DEFAULT_PERSIST=y CONFIG_USB_OTG=y # CONFIG_USB_OTG_WHITELIST is not set # CONFIG_USB_OTG_BLACKLIST_HUB is not set -# CONFIG_USB_OTG_FSM is not set -# CONFIG_USB_ULPI_BUS is not set +CONFIG_USB_OTG_FSM=y +# CONFIG_USB_LEDS_TRIGGER_USBPORT is not set CONFIG_USB_MON=y # CONFIG_USB_WUSB_CBAF is not set @@ -4975,27 +4502,26 @@ CONFIG_USB_MON=y # # CONFIG_USB_C67X00_HCD is not set CONFIG_USB_XHCI_HCD=y +CONFIG_USB_XHCI_DBGCAP=y CONFIG_USB_XHCI_PCI=y -CONFIG_USB_XHCI_PLATFORM=m +CONFIG_USB_XHCI_PLATFORM=y CONFIG_USB_EHCI_HCD=y CONFIG_USB_EHCI_ROOT_HUB_TT=y CONFIG_USB_EHCI_TT_NEWSCHED=y CONFIG_USB_EHCI_PCI=y -# CONFIG_USB_EHCI_HCD_PLATFORM is not set +CONFIG_USB_EHCI_HCD_PLATFORM=y CONFIG_USB_OXU210HP_HCD=y CONFIG_USB_ISP116X_HCD=y -CONFIG_USB_ISP1362_HCD=y -# CONFIG_USB_FOTG210_HCD is not set +CONFIG_USB_FOTG210_HCD=m # CONFIG_USB_MAX3421_HCD is not set CONFIG_USB_OHCI_HCD=y CONFIG_USB_OHCI_HCD_PCI=y -# CONFIG_USB_OHCI_HCD_PLATFORM is not set +CONFIG_USB_OHCI_HCD_PLATFORM=y CONFIG_USB_UHCI_HCD=y CONFIG_USB_SL811_HCD=y CONFIG_USB_SL811_HCD_ISO=y -# CONFIG_USB_SL811_CS is not set # CONFIG_USB_R8A66597_HCD is not set -# CONFIG_USB_HCD_BCMA is not set +CONFIG_USB_HCD_BCMA=m # CONFIG_USB_HCD_SSB is not set # CONFIG_USB_HCD_TEST_MODE is not set @@ -5039,6 +4565,8 @@ CONFIG_USB_MDC800=m # CONFIG_USB_MICROTEK is not set CONFIG_USBIP_CORE=m CONFIG_USBIP_VHCI_HCD=m +CONFIG_USBIP_VHCI_HC_PORTS=8 +CONFIG_USBIP_VHCI_NR_HCS=1 CONFIG_USBIP_HOST=m # CONFIG_USBIP_VUDC is not set # CONFIG_USBIP_DEBUG is not set @@ -5052,8 +4580,8 @@ CONFIG_USB_DWC3_GADGET=y # Platform Glue Driver Support # CONFIG_USB_DWC3_PCI=y -CONFIG_USB_DWC3_OF_SIMPLE=m -CONFIG_USB_DWC2=m +CONFIG_USB_DWC3_HAPS=y +CONFIG_USB_DWC2=y # CONFIG_USB_DWC2_HOST is not set # @@ -5061,7 +4589,7 @@ CONFIG_USB_DWC2=m # # CONFIG_USB_DWC2_PERIPHERAL is not set CONFIG_USB_DWC2_DUAL_ROLE=y -CONFIG_USB_DWC2_PCI=m +CONFIG_USB_DWC2_PCI=y # CONFIG_USB_DWC2_DEBUG is not set # CONFIG_USB_DWC2_TRACK_MISSED_SOFS is not set # CONFIG_USB_CHIPIDEA is not set @@ -5070,7 +4598,6 @@ CONFIG_USB_DWC2_PCI=m # # USB port drivers # -# CONFIG_USB_USS720 is not set CONFIG_USB_SERIAL=m # CONFIG_USB_SERIAL_GENERIC is not set # CONFIG_USB_SERIAL_SIMPLE is not set @@ -5078,7 +4605,7 @@ CONFIG_USB_SERIAL_AIRCABLE=m CONFIG_USB_SERIAL_ARK3116=m CONFIG_USB_SERIAL_BELKIN=m CONFIG_USB_SERIAL_CH341=m -CONFIG_USB_SERIAL_WHITEHEAT=m +# CONFIG_USB_SERIAL_WHITEHEAT is not set CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m CONFIG_USB_SERIAL_CP210X=m CONFIG_USB_SERIAL_CYPRESS_M8=m @@ -5087,20 +4614,20 @@ CONFIG_USB_SERIAL_FTDI_SIO=m CONFIG_USB_SERIAL_VISOR=m CONFIG_USB_SERIAL_IPAQ=m CONFIG_USB_SERIAL_IR=m -CONFIG_USB_SERIAL_EDGEPORT=m -CONFIG_USB_SERIAL_EDGEPORT_TI=m +# CONFIG_USB_SERIAL_EDGEPORT is not set +# CONFIG_USB_SERIAL_EDGEPORT_TI is not set CONFIG_USB_SERIAL_F81232=m +# CONFIG_USB_SERIAL_F8153X is not set CONFIG_USB_SERIAL_GARMIN=m CONFIG_USB_SERIAL_IPW=m CONFIG_USB_SERIAL_IUU=m -CONFIG_USB_SERIAL_KEYSPAN_PDA=m +# CONFIG_USB_SERIAL_KEYSPAN_PDA is not set CONFIG_USB_SERIAL_KEYSPAN=m CONFIG_USB_SERIAL_KLSI=m CONFIG_USB_SERIAL_KOBIL_SCT=m CONFIG_USB_SERIAL_MCT_U232=m CONFIG_USB_SERIAL_METRO=m CONFIG_USB_SERIAL_MOS7720=m -# CONFIG_USB_SERIAL_MOS7715_PARPORT is not set CONFIG_USB_SERIAL_MOS7840=m # CONFIG_USB_SERIAL_MXUPORT is not set CONFIG_USB_SERIAL_NAVMAN=m @@ -5113,9 +4640,9 @@ CONFIG_USB_SERIAL_SAFE=m # CONFIG_USB_SERIAL_SAFE_PADDED is not set CONFIG_USB_SERIAL_SIERRAWIRELESS=m CONFIG_USB_SERIAL_SYMBOL=m -CONFIG_USB_SERIAL_TI=m +# CONFIG_USB_SERIAL_TI is not set CONFIG_USB_SERIAL_CYBERJACK=m -CONFIG_USB_SERIAL_XIRCOM=m +# CONFIG_USB_SERIAL_XIRCOM is not set CONFIG_USB_SERIAL_WWAN=m CONFIG_USB_SERIAL_OPTION=m CONFIG_USB_SERIAL_OMNINET=m @@ -5124,13 +4651,14 @@ CONFIG_USB_SERIAL_XSENS_MT=m CONFIG_USB_SERIAL_WISHBONE=m CONFIG_USB_SERIAL_SSU100=m CONFIG_USB_SERIAL_QT2=m +# CONFIG_USB_SERIAL_UPD78F0730 is not set # CONFIG_USB_SERIAL_DEBUG is not set # # USB Miscellaneous drivers # -CONFIG_USB_EMI62=m -CONFIG_USB_EMI26=m +# CONFIG_USB_EMI62 is not set +# CONFIG_USB_EMI26 is not set # CONFIG_USB_ADUTUX is not set # CONFIG_USB_SEVSEG is not set # CONFIG_USB_RIO500 is not set @@ -5150,16 +4678,17 @@ CONFIG_USB_APPLEDISPLAY=m # CONFIG_USB_ISIGHTFW is not set # CONFIG_USB_YUREX is not set CONFIG_USB_EZUSB_FX2=m +# CONFIG_USB_HUB_USB251XB is not set # CONFIG_USB_HSIC_USB3503 is not set +# CONFIG_USB_HSIC_USB4604 is not set # CONFIG_USB_LINK_LAYER_TEST is not set # CONFIG_USB_CHAOSKEY is not set -# CONFIG_UCSI is not set # # USB Physical Layer drivers # CONFIG_USB_PHY=y -CONFIG_NOP_USB_XCEIV=m +CONFIG_NOP_USB_XCEIV=y # CONFIG_USB_GPIO_VBUS is not set # CONFIG_USB_ISP1301 is not set CONFIG_USB_GADGET=y @@ -5185,13 +4714,38 @@ CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2 # CONFIG_USB_NET2280 is not set # CONFIG_USB_GOKU is not set # CONFIG_USB_EG20T is not set -# CONFIG_USB_GADGET_XILINX is not set # CONFIG_USB_DUMMY_HCD is not set CONFIG_USB_LIBCOMPOSITE=y -CONFIG_USB_F_UVC=m +CONFIG_USB_U_ETHER=y +CONFIG_USB_F_RNDIS=y CONFIG_USB_F_FS=y +CONFIG_USB_F_UVC=m +CONFIG_USB_F_MIDI=y +CONFIG_USB_F_AUDIO_SRC=y +CONFIG_USB_F_ACC=y CONFIG_USB_CONFIGFS=y +# CONFIG_USB_CONFIGFS_SERIAL is not set +# CONFIG_USB_CONFIGFS_ACM is not set +# CONFIG_USB_CONFIGFS_OBEX is not set +# CONFIG_USB_CONFIGFS_NCM is not set +# CONFIG_USB_CONFIGFS_ECM is not set +# CONFIG_USB_CONFIGFS_ECM_SUBSET is not set +CONFIG_USB_CONFIGFS_RNDIS=y +# CONFIG_USB_CONFIGFS_EEM is not set +# CONFIG_USB_CONFIGFS_PHONET is not set +# CONFIG_USB_CONFIGFS_MASS_STORAGE is not set +# CONFIG_USB_CONFIGFS_F_LB_SS is not set CONFIG_USB_CONFIGFS_F_FS=y +CONFIG_USB_CONFIGFS_F_ACC=y +CONFIG_USB_CONFIGFS_F_AUDIO_SRC=y +CONFIG_USB_CONFIGFS_UEVENT=y +# CONFIG_USB_CONFIGFS_F_UAC1 is not set +# CONFIG_USB_CONFIGFS_F_UAC1_LEGACY is not set +# CONFIG_USB_CONFIGFS_F_UAC2 is not set +CONFIG_USB_CONFIGFS_F_MIDI=y +# CONFIG_USB_CONFIGFS_F_HID is not set +# CONFIG_USB_CONFIGFS_F_UVC is not set +# CONFIG_USB_CONFIGFS_F_PRINTER is not set # CONFIG_USB_ZERO is not set # CONFIG_USB_AUDIO is not set # CONFIG_USB_ETH is not set @@ -5209,93 +4763,77 @@ CONFIG_USB_CONFIGFS_F_FS=y # CONFIG_USB_G_HID is not set # CONFIG_USB_G_DBGP is not set CONFIG_USB_G_WEBCAM=m +CONFIG_TYPEC=y +CONFIG_TYPEC_TCPM=y +# CONFIG_TYPEC_TCPCI is not set +# CONFIG_TYPEC_RT1711H is not set +# CONFIG_TYPEC_FUSB302 is not set +CONFIG_TYPEC_WCOVE=y +CONFIG_TYPEC_UCSI=y +# CONFIG_UCSI_ACPI is not set +# CONFIG_TYPEC_TPS6598X is not set # -# USB PD and Type-C drivers +# USB Type-C Multiplexer/DeMultiplexer Switch support # -CONFIG_TYPEC=y -CONFIG_USB_PD_SINK=y -CONFIG_TYPEC_WCOVE=y +# CONFIG_TYPEC_MUX_PI3USB30532 is not set +# +# USB Type-C Alternate Mode drivers +# +# CONFIG_TYPEC_DP_ALTMODE is not set +CONFIG_USB_ROLE_SWITCH=y +CONFIG_USB_ROLES_INTEL_XHCI=y # CONFIG_USB_LED_TRIG is not set +# CONFIG_USB_ULPI_BUS is not set # CONFIG_UWB is not set CONFIG_MMC=y -# CONFIG_MMC_DEBUG is not set -CONFIG_PWRSEQ_EMMC=y -CONFIG_PWRSEQ_SIMPLE=y - -# -# MMC/SD/SDIO Card Drivers -# CONFIG_MMC_BLOCK=y CONFIG_MMC_BLOCK_MINORS=8 -CONFIG_MMC_BLOCK_BOUNCE=y CONFIG_SDIO_UART=m # CONFIG_MMC_TEST is not set # # MMC/SD/SDIO Host Controller Drivers # +# CONFIG_MMC_DEBUG is not set CONFIG_MMC_SDHCI=y CONFIG_MMC_SDHCI_PCI=y -CONFIG_MMC_RICOH_MMC=y +# CONFIG_MMC_RICOH_MMC is not set CONFIG_MMC_SDHCI_ACPI=y -CONFIG_MMC_SDHCI_PLTFM=y -# CONFIG_MMC_SDHCI_OF_ARASAN is not set -# CONFIG_MMC_SDHCI_OF_AT91 is not set -CONFIG_MMC_SDHCI_F_SDH30=m -CONFIG_MMC_WBSD=m -CONFIG_MMC_TIFM_SD=m -CONFIG_MMC_SPI=m -CONFIG_MMC_SDRICOH_CS=m -CONFIG_MMC_CB710=m -CONFIG_MMC_VIA_SDMMC=m -CONFIG_MMC_VUB300=m -CONFIG_MMC_USHC=m -CONFIG_MMC_USDHI6ROL0=m -CONFIG_MMC_REALTEK_PCI=m -CONFIG_MMC_REALTEK_USB=m -CONFIG_MMC_TOSHIBA_PCI=m -CONFIG_MMC_MTK=m -CONFIG_MEMSTICK=m -# CONFIG_MEMSTICK_DEBUG is not set - -# -# MemoryStick drivers -# -# CONFIG_MEMSTICK_UNSAFE_RESUME is not set -CONFIG_MSPRO_BLOCK=m -CONFIG_MS_BLOCK=m - -# -# MemoryStick Host Controller Drivers -# -CONFIG_MEMSTICK_TIFM_MS=m -CONFIG_MEMSTICK_JMICRON_38X=m -CONFIG_MEMSTICK_R592=m -CONFIG_MEMSTICK_REALTEK_PCI=m -CONFIG_MEMSTICK_REALTEK_USB=m +# CONFIG_MMC_SDHCI_PLTFM is not set +# CONFIG_MMC_WBSD is not set +# CONFIG_MMC_TIFM_SD is not set +# CONFIG_MMC_SPI is not set +# CONFIG_MMC_CB710 is not set +# CONFIG_MMC_VIA_SDMMC is not set +# CONFIG_MMC_VUB300 is not set +# CONFIG_MMC_USHC is not set +# CONFIG_MMC_USDHI6ROL0 is not set +CONFIG_MMC_REALTEK_PCI=y +CONFIG_MMC_CQHCI=y +# CONFIG_MMC_TOSHIBA_PCI is not set +# CONFIG_MMC_MTK is not set +# CONFIG_MEMSTICK is not set CONFIG_NEW_LEDS=y CONFIG_LEDS_CLASS=y # CONFIG_LEDS_CLASS_FLASH is not set +# CONFIG_LEDS_BRIGHTNESS_HW_CHANGED is not set # # LED drivers # -# CONFIG_LEDS_BCM6328 is not set -# CONFIG_LEDS_BCM6358 is not set +# CONFIG_LEDS_APU is not set # CONFIG_LEDS_LM3530 is not set -# CONFIG_LEDS_LM3533 is not set # CONFIG_LEDS_LM3642 is not set # CONFIG_LEDS_PCA9532 is not set -CONFIG_LEDS_GPIO=m +# CONFIG_LEDS_GPIO is not set # CONFIG_LEDS_LP3944 is not set # CONFIG_LEDS_LP3952 is not set # CONFIG_LEDS_LP5521 is not set # CONFIG_LEDS_LP5523 is not set # CONFIG_LEDS_LP5562 is not set # CONFIG_LEDS_LP8501 is not set -# CONFIG_LEDS_LP8860 is not set # CONFIG_LEDS_CLEVO_MAIL is not set # CONFIG_LEDS_PCA955X is not set # CONFIG_LEDS_PCA963X is not set @@ -5308,26 +4846,27 @@ CONFIG_LEDS_GPIO=m # CONFIG_LEDS_TCA6507 is not set # CONFIG_LEDS_TLC591XX is not set # CONFIG_LEDS_LM355x is not set -# CONFIG_LEDS_MENF21BMC is not set -# CONFIG_LEDS_IS31FL32XX is not set # # LED driver for blink(1) USB RGB LED is under Special HID drivers (HID_THINGM) # # CONFIG_LEDS_BLINKM is not set -# CONFIG_LEDS_SYSCON is not set +# CONFIG_LEDS_MLXCPLD is not set +# CONFIG_LEDS_MLXREG is not set +# CONFIG_LEDS_USER is not set +# CONFIG_LEDS_NIC78BX is not set # # LED Triggers # CONFIG_LEDS_TRIGGERS=y -CONFIG_LEDS_TRIGGER_TIMER=y +# CONFIG_LEDS_TRIGGER_TIMER is not set # CONFIG_LEDS_TRIGGER_ONESHOT is not set # CONFIG_LEDS_TRIGGER_DISK is not set -# CONFIG_LEDS_TRIGGER_MTD is not set # CONFIG_LEDS_TRIGGER_HEARTBEAT is not set # CONFIG_LEDS_TRIGGER_BACKLIGHT is not set # CONFIG_LEDS_TRIGGER_CPU is not set +# CONFIG_LEDS_TRIGGER_ACTIVITY is not set # CONFIG_LEDS_TRIGGER_GPIO is not set # CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set @@ -5337,6 +4876,7 @@ CONFIG_LEDS_TRIGGER_TIMER=y # CONFIG_LEDS_TRIGGER_TRANSIENT is not set # CONFIG_LEDS_TRIGGER_CAMERA is not set # CONFIG_LEDS_TRIGGER_PANIC is not set +# CONFIG_LEDS_TRIGGER_NETDEV is not set # CONFIG_ACCESSIBILITY is not set # CONFIG_INFINIBAND is not set CONFIG_EDAC_ATOMIC_SCRUB=y @@ -5349,7 +4889,8 @@ CONFIG_RTC_HCTOSYS=y CONFIG_RTC_HCTOSYS_DEVICE="rtc0" CONFIG_RTC_SYSTOHC=y CONFIG_RTC_SYSTOHC_DEVICE="rtc0" -CONFIG_RTC_DEBUG=y +# CONFIG_RTC_DEBUG is not set +CONFIG_RTC_NVMEM=y # # RTC interfaces @@ -5363,37 +4904,30 @@ CONFIG_RTC_INTF_DEV=y # # I2C RTC drivers # -CONFIG_RTC_DRV_88PM80X=m -CONFIG_RTC_DRV_ABB5ZES3=m +# CONFIG_RTC_DRV_ABB5ZES3 is not set # CONFIG_RTC_DRV_ABX80X is not set -CONFIG_RTC_DRV_DS1307=m -CONFIG_RTC_DRV_DS1307_HWMON=y -CONFIG_RTC_DRV_DS1374=m -# CONFIG_RTC_DRV_DS1374_WDT is not set -CONFIG_RTC_DRV_DS1672=m -# CONFIG_RTC_DRV_HYM8563 is not set -CONFIG_RTC_DRV_MAX6900=m -CONFIG_RTC_DRV_MAX8907=m -CONFIG_RTC_DRV_RS5C372=m -CONFIG_RTC_DRV_ISL1208=m -CONFIG_RTC_DRV_ISL12022=m -# CONFIG_RTC_DRV_ISL12057 is not set -CONFIG_RTC_DRV_X1205=m -CONFIG_RTC_DRV_PCF8523=m -CONFIG_RTC_DRV_PCF85063=m -CONFIG_RTC_DRV_PCF8563=m -CONFIG_RTC_DRV_PCF8583=m -CONFIG_RTC_DRV_M41T80=m -CONFIG_RTC_DRV_M41T80_WDT=y -CONFIG_RTC_DRV_BQ32K=m -CONFIG_RTC_DRV_S35390A=m -CONFIG_RTC_DRV_FM3130=m +# CONFIG_RTC_DRV_DS1307 is not set +# CONFIG_RTC_DRV_DS1374 is not set +# CONFIG_RTC_DRV_DS1672 is not set +# CONFIG_RTC_DRV_MAX6900 is not set +# CONFIG_RTC_DRV_RS5C372 is not set +# CONFIG_RTC_DRV_ISL1208 is not set +# CONFIG_RTC_DRV_ISL12022 is not set +# CONFIG_RTC_DRV_X1205 is not set +# CONFIG_RTC_DRV_PCF8523 is not set +# CONFIG_RTC_DRV_PCF85063 is not set +# CONFIG_RTC_DRV_PCF85363 is not set +# CONFIG_RTC_DRV_PCF8563 is not set +# CONFIG_RTC_DRV_PCF8583 is not set +# CONFIG_RTC_DRV_M41T80 is not set +# CONFIG_RTC_DRV_BQ32K is not set +# CONFIG_RTC_DRV_S35390A is not set +# CONFIG_RTC_DRV_FM3130 is not set # CONFIG_RTC_DRV_RX8010 is not set -CONFIG_RTC_DRV_RX8581=m -CONFIG_RTC_DRV_RX8025=m -CONFIG_RTC_DRV_EM3027=m +# CONFIG_RTC_DRV_RX8581 is not set +# CONFIG_RTC_DRV_RX8025 is not set +# CONFIG_RTC_DRV_EM3027 is not set # CONFIG_RTC_DRV_RV8803 is not set -CONFIG_RTC_DRV_S5M=m # # SPI RTC drivers @@ -5418,48 +4952,38 @@ CONFIG_RTC_I2C_AND_SPI=y # # SPI and I2C RTC drivers # -CONFIG_RTC_DRV_DS3232=m -CONFIG_RTC_DRV_PCF2127=m -CONFIG_RTC_DRV_RV3029C2=m -CONFIG_RTC_DRV_RV3029_HWMON=y +# CONFIG_RTC_DRV_DS3232 is not set +# CONFIG_RTC_DRV_PCF2127 is not set +# CONFIG_RTC_DRV_RV3029C2 is not set # # Platform RTC drivers # CONFIG_RTC_DRV_CMOS=y -CONFIG_RTC_DRV_DS1286=m -CONFIG_RTC_DRV_DS1511=m -CONFIG_RTC_DRV_DS1553=m -CONFIG_RTC_DRV_DS1685_FAMILY=m -CONFIG_RTC_DRV_DS1685=y -# CONFIG_RTC_DRV_DS1689 is not set -# CONFIG_RTC_DRV_DS17285 is not set -# CONFIG_RTC_DRV_DS17485 is not set -# CONFIG_RTC_DRV_DS17885 is not set -# CONFIG_RTC_DS1685_PROC_REGS is not set -# CONFIG_RTC_DS1685_SYSFS_REGS is not set -CONFIG_RTC_DRV_DS1742=m -CONFIG_RTC_DRV_DS2404=m -CONFIG_RTC_DRV_STK17TA8=m +# CONFIG_RTC_DRV_DS1286 is not set +# CONFIG_RTC_DRV_DS1511 is not set +# CONFIG_RTC_DRV_DS1553 is not set +# CONFIG_RTC_DRV_DS1685_FAMILY is not set +# CONFIG_RTC_DRV_DS1742 is not set +# CONFIG_RTC_DRV_DS2404 is not set +# CONFIG_RTC_DRV_STK17TA8 is not set # CONFIG_RTC_DRV_M48T86 is not set -CONFIG_RTC_DRV_M48T35=m -CONFIG_RTC_DRV_M48T59=m -CONFIG_RTC_DRV_MSM6242=m -CONFIG_RTC_DRV_BQ4802=m -CONFIG_RTC_DRV_RP5C01=m -CONFIG_RTC_DRV_V3020=m -# CONFIG_RTC_DRV_ZYNQMP is not set +# CONFIG_RTC_DRV_M48T35 is not set +# CONFIG_RTC_DRV_M48T59 is not set +# CONFIG_RTC_DRV_MSM6242 is not set +# CONFIG_RTC_DRV_BQ4802 is not set +# CONFIG_RTC_DRV_RP5C01 is not set +# CONFIG_RTC_DRV_V3020 is not set # # on-CPU RTC drivers # -# CONFIG_RTC_DRV_SNVS is not set -# CONFIG_RTC_DRV_MT6397 is not set +# CONFIG_RTC_DRV_FTRTC010 is not set # # HID Sensor RTC drivers # -CONFIG_RTC_DRV_HID_SENSOR_TIME=m +# CONFIG_RTC_DRV_HID_SENSOR_TIME is not set CONFIG_DMADEVICES=y # CONFIG_DMADEVICES_DEBUG is not set @@ -5467,28 +4991,31 @@ CONFIG_DMADEVICES=y # DMA Devices # CONFIG_DMA_ENGINE=y +CONFIG_DMA_VIRTUAL_CHANNELS=y CONFIG_DMA_ACPI=y -CONFIG_DMA_OF=y -# CONFIG_FSL_EDMA is not set -# CONFIG_INTEL_IDMA64 is not set -CONFIG_INTEL_IOATDMA=m +# CONFIG_ALTERA_MSGDMA is not set +CONFIG_INTEL_IDMA64=y +# CONFIG_INTEL_IOATDMA is not set # CONFIG_QCOM_HIDMA_MGMT is not set # CONFIG_QCOM_HIDMA is not set -CONFIG_DW_DMAC_CORE=m -CONFIG_DW_DMAC=m -CONFIG_DW_DMAC_PCI=m +CONFIG_DW_DMAC_CORE=y +CONFIG_DW_DMAC=y +CONFIG_DW_DMAC_PCI=y # # DMA Clients # # CONFIG_ASYNC_TX_DMA is not set # CONFIG_DMATEST is not set -CONFIG_DMA_ENGINE_RAID=y # # DMABUF options # -CONFIG_DCA=m +CONFIG_SYNC_FILE=y +# CONFIG_SW_SYNC is not set +CONFIG_HYPER_DMABUF=y +CONFIG_HYPER_DMABUF_SYSFS=y +# CONFIG_HYPER_DMABUF_EVENT_GEN is not set # CONFIG_AUXDISPLAY is not set CONFIG_UIO=m # CONFIG_UIO_CIF is not set @@ -5500,58 +5027,39 @@ CONFIG_UIO=m # CONFIG_UIO_NETX is not set # CONFIG_UIO_PRUSS is not set # CONFIG_UIO_MF624 is not set +# CONFIG_VFIO is not set CONFIG_VIRT_DRIVERS=y +# CONFIG_VBOXGUEST is not set CONFIG_VIRTIO=y - -# -# Virtio drivers -# +CONFIG_VIRTIO_MENU=y CONFIG_VIRTIO_PCI=y CONFIG_VIRTIO_PCI_LEGACY=y -CONFIG_VIRTIO_BALLOON=m -CONFIG_VIRTIO_INPUT=m -CONFIG_VIRTIO_MMIO=m -# CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES is not set +# CONFIG_VIRTIO_BALLOON is not set +CONFIG_VIRTIO_INPUT=y +CONFIG_VIRTIO_MMIO=y +CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y +# CONFIG_ACRN_VIRTIO_DEVICES is not set # # Microsoft Hyper-V guest support # -CONFIG_HYPERV=y -CONFIG_HYPERV_UTILS=m -CONFIG_HYPERV_BALLOON=m +# CONFIG_HYPERV is not set CONFIG_STAGING=y -CONFIG_SLICOSS=m -CONFIG_PRISM2_USB=m -CONFIG_COMEDI=m -# CONFIG_COMEDI_DEBUG is not set -CONFIG_COMEDI_DEFAULT_BUF_SIZE_KB=2048 -CONFIG_COMEDI_DEFAULT_BUF_MAXSIZE_KB=20480 -# CONFIG_COMEDI_MISC_DRIVERS is not set -# CONFIG_COMEDI_ISA_DRIVERS is not set -# CONFIG_COMEDI_PCI_DRIVERS is not set -# CONFIG_COMEDI_PCMCIA_DRIVERS is not set -# CONFIG_COMEDI_USB_DRIVERS is not set -# CONFIG_COMEDI_8255_SA is not set -# CONFIG_COMEDI_KCOMEDILIB is not set +# CONFIG_PRISM2_USB is not set +# CONFIG_COMEDI is not set CONFIG_RTL8192U=m CONFIG_RTLLIB=m CONFIG_RTLLIB_CRYPTO_CCMP=m CONFIG_RTLLIB_CRYPTO_TKIP=m CONFIG_RTLLIB_CRYPTO_WEP=m CONFIG_RTL8192E=m +# CONFIG_RTL8723BS is not set CONFIG_R8712U=m -CONFIG_R8188EU=m -CONFIG_88EU_AP_MODE=y -CONFIG_R8723AU=m -CONFIG_8723AU_AP_MODE=y -CONFIG_8723AU_BT_COEXIST=y -CONFIG_RTL8723BS=m -CONFIG_RTL8723BU=m -CONFIG_RTL8821AU=m -CONFIG_WLAN_SDIO=y -CONFIG_RTS5208=m -CONFIG_VT6655=m -CONFIG_VT6656=m +# CONFIG_R8188EU is not set +# CONFIG_R8822BE is not set +# CONFIG_RTS5208 is not set +# CONFIG_VT6655 is not set +# CONFIG_VT6656 is not set # # IIO staging drivers @@ -5560,22 +5068,17 @@ CONFIG_VT6656=m # # Accelerometers # -CONFIG_ADIS16201=m -CONFIG_ADIS16203=m -CONFIG_ADIS16209=m -CONFIG_ADIS16240=m -CONFIG_SCA3000=m +# CONFIG_ADIS16203 is not set +# CONFIG_ADIS16240 is not set # # Analog to digital converters # -CONFIG_AD7606=m -CONFIG_AD7606_IFACE_PARALLEL=m -CONFIG_AD7606_IFACE_SPI=m -CONFIG_AD7780=m -CONFIG_AD7816=m -CONFIG_AD7192=m -CONFIG_AD7280=m +# CONFIG_AD7606 is not set +# CONFIG_AD7780 is not set +# CONFIG_AD7816 is not set +# CONFIG_AD7192 is not set +# CONFIG_AD7280 is not set # # Analog digital bi-direction converters @@ -5595,121 +5098,104 @@ CONFIG_AD7280=m # CONFIG_AD9832 is not set # CONFIG_AD9834 is not set -# -# Digital gyroscope sensors -# -CONFIG_ADIS16060=m - # # Network Analyzer, Impedance Converters # # CONFIG_AD5933 is not set -# -# Light sensors -# -CONFIG_SENSORS_ISL29018=m -CONFIG_SENSORS_ISL29028=m -CONFIG_TSL2583=m -CONFIG_TSL2x7x=m - # # Active energy metering IC # -# CONFIG_ADE7753 is not set -# CONFIG_ADE7754 is not set -# CONFIG_ADE7758 is not set -# CONFIG_ADE7759 is not set # CONFIG_ADE7854 is not set # # Resolver to digital converters # # CONFIG_AD2S90 is not set -# CONFIG_AD2S1200 is not set # CONFIG_AD2S1210 is not set - -# -# Triggers - standalone -# # CONFIG_FB_SM750 is not set -CONFIG_FB_XGI=m +# CONFIG_FB_XGI is not set # # Speakup console speech # # CONFIG_SPEAKUP is not set -CONFIG_STAGING_MEDIA=y -# CONFIG_I2C_BCM2048 is not set -# CONFIG_MEDIA_CEC is not set -CONFIG_DVB_CXD2099=m -# CONFIG_VIDEO_TW686X_KH is not set -# CONFIG_LIRC_STAGING is not set +# CONFIG_STAGING_MEDIA is not set # # Android # CONFIG_ASHMEM=y -CONFIG_ANDROID_LOW_MEMORY_KILLER=y +# CONFIG_ANDROID_VSOC is not set +CONFIG_SYNC=y +CONFIG_ANDROID_FWDATA=y +# CONFIG_ABL_BOOTLOADER_CONTROL is not set +# CONFIG_SEND_SLCAN_ENABLE is not set # CONFIG_ION is not set -# CONFIG_STAGING_BOARD is not set -# CONFIG_LTE_GDM724X is not set -# CONFIG_MTD_SPINAND_MT29F is not set -# CONFIG_LNET is not set +# CONFIG_SBL_BOOTLOADER_CONTROL is not set +# CONFIG_VSBL_BOOTLOADER_CONTROL is not set +CONFIG_LTE_GDM724X=m # CONFIG_DGNC is not set # CONFIG_GS_FPGABOOT is not set -# CONFIG_CRYPTO_SKEIN is not set # CONFIG_UNISYSSPAR is not set -# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set # CONFIG_FB_TFT is not set # CONFIG_WILC1000_SDIO is not set # CONFIG_WILC1000_SPI is not set # CONFIG_MOST is not set # CONFIG_KS7010 is not set +# CONFIG_GREYBUS is not set +# CONFIG_DRM_VBOXVIDEO is not set +# CONFIG_PI433 is not set +# CONFIG_MTK_MMC is not set + +# +# Gasket devices +# +# CONFIG_STAGING_GASKET_FRAMEWORK is not set +# CONFIG_XIL_AXIS_FIFO is not set +# CONFIG_EROFS_FS is not set CONFIG_X86_PLATFORM_DEVICES=y -CONFIG_ACER_WMI=m -CONFIG_ACERHDF=m -CONFIG_ALIENWARE_WMI=m -CONFIG_ASUS_LAPTOP=m +# CONFIG_ACER_WMI is not set +# CONFIG_ACER_WIRELESS is not set +# CONFIG_ACERHDF is not set +# CONFIG_ALIENWARE_WMI is not set +# CONFIG_ASUS_LAPTOP is not set # CONFIG_DELL_SMBIOS is not set -CONFIG_DELL_WMI_AIO=m -CONFIG_DELL_SMO8800=m -CONFIG_DELL_RBTN=m -CONFIG_FUJITSU_LAPTOP=m -# CONFIG_FUJITSU_LAPTOP_DEBUG is not set -CONFIG_FUJITSU_TABLET=m -CONFIG_AMILO_RFKILL=m -CONFIG_HP_ACCEL=m -CONFIG_HP_WIRELESS=m -CONFIG_HP_WMI=m -CONFIG_MSI_LAPTOP=m -CONFIG_PANASONIC_LAPTOP=m -CONFIG_COMPAL_LAPTOP=m -CONFIG_SONY_LAPTOP=m -CONFIG_SONYPI_COMPAT=y -CONFIG_IDEAPAD_LAPTOP=m -CONFIG_THINKPAD_ACPI=m -CONFIG_THINKPAD_ACPI_ALSA_SUPPORT=y -# CONFIG_THINKPAD_ACPI_DEBUGFACILITIES is not set -# CONFIG_THINKPAD_ACPI_DEBUG is not set -CONFIG_THINKPAD_ACPI_UNSAFE_LEDS=y -CONFIG_THINKPAD_ACPI_VIDEO=y -CONFIG_THINKPAD_ACPI_HOTKEY_POLL=y -CONFIG_SENSORS_HDAPS=m -CONFIG_INTEL_MENLOW=m -CONFIG_EEEPC_LAPTOP=m -CONFIG_ASUS_WMI=m -CONFIG_ASUS_NB_WMI=m -CONFIG_EEEPC_WMI=m +# CONFIG_DELL_WMI_AIO is not set +# CONFIG_DELL_WMI_LED is not set +# CONFIG_DELL_SMO8800 is not set +# CONFIG_DELL_RBTN is not set +# CONFIG_FUJITSU_LAPTOP is not set +# CONFIG_FUJITSU_TABLET is not set +# CONFIG_AMILO_RFKILL is not set +# CONFIG_GPD_POCKET_FAN is not set +# CONFIG_HP_ACCEL is not set +# CONFIG_HP_WIRELESS is not set +# CONFIG_HP_WMI is not set +# CONFIG_MSI_LAPTOP is not set +# CONFIG_PANASONIC_LAPTOP is not set +# CONFIG_COMPAL_LAPTOP is not set +# CONFIG_SONY_LAPTOP is not set +# CONFIG_IDEAPAD_LAPTOP is not set +# CONFIG_SURFACE3_WMI is not set +# CONFIG_THINKPAD_ACPI is not set +# CONFIG_SENSORS_HDAPS is not set +# CONFIG_INTEL_MENLOW is not set +# CONFIG_EEEPC_LAPTOP is not set +# CONFIG_ASUS_WMI is not set # CONFIG_ASUS_WIRELESS is not set CONFIG_ACPI_WMI=m +CONFIG_WMI_BMOF=m +# CONFIG_INTEL_WMI_THUNDERBOLT is not set CONFIG_MSI_WMI=m +# CONFIG_PEAQ_WMI is not set CONFIG_TOPSTAR_LAPTOP=m CONFIG_ACPI_TOSHIBA=m CONFIG_TOSHIBA_BT_RFKILL=m CONFIG_TOSHIBA_HAPS=m CONFIG_TOSHIBA_WMI=m CONFIG_ACPI_CMPC=m +# CONFIG_INTEL_INT0002_VGPIO is not set # CONFIG_INTEL_HID_EVENT is not set # CONFIG_INTEL_VBTN is not set CONFIG_INTEL_IPS=m @@ -5724,15 +5210,21 @@ CONFIG_INTEL_RST=m CONFIG_INTEL_SMARTCONNECT=m CONFIG_PVPANIC=m CONFIG_INTEL_PMC_IPC=y -CONFIG_SURFACE_PRO3_BUTTON=m -# CONFIG_INTEL_PUNIT_IPC is not set -CONFIG_CHROME_PLATFORMS=y -CONFIG_CHROMEOS_LAPTOP=m -# CONFIG_CHROMEOS_PSTORE is not set -CONFIG_CROS_EC_CHARDEV=m -# CONFIG_CROS_EC_LPC is not set -CONFIG_CROS_EC_PROTO=y -# CONFIG_CROS_KBD_LED_BACKLIGHT is not set +# CONFIG_INTEL_BXTWC_PMIC_TMU is not set +# CONFIG_SURFACE_PRO3_BUTTON is not set +# CONFIG_SURFACE_3_BUTTON is not set +CONFIG_INTEL_PUNIT_IPC=y +CONFIG_INTEL_TELEMETRY=y +# CONFIG_MLX_PLATFORM is not set +# CONFIG_INTEL_TURBO_MAX_3 is not set +# CONFIG_TOUCHSCREEN_DMI is not set +# CONFIG_I2C_MULTI_INSTANTIATE is not set +# CONFIG_INTEL_PSTORE_PRAM is not set +CONFIG_PMC_ATOM=y +CONFIG_INTEL_SOCWATCH=m +# CONFIG_INTEL_SEP is not set +# CONFIG_CHROME_PLATFORMS is not set +# CONFIG_MELLANOX_PLATFORM is not set CONFIG_CLKDEV_LOOKUP=y CONFIG_HAVE_CLK_PREPARE=y CONFIG_COMMON_CLK=y @@ -5740,22 +5232,13 @@ CONFIG_COMMON_CLK=y # # Common Clock Framework # +# CONFIG_COMMON_CLK_MAX9485 is not set # CONFIG_COMMON_CLK_SI5351 is not set -# CONFIG_COMMON_CLK_SI514 is not set -# CONFIG_COMMON_CLK_SI570 is not set +# CONFIG_COMMON_CLK_SI544 is not set # CONFIG_COMMON_CLK_CDCE706 is not set -# CONFIG_COMMON_CLK_CDCE925 is not set # CONFIG_COMMON_CLK_CS2000_CP is not set -# CONFIG_COMMON_CLK_S2MPS11 is not set -# CONFIG_COMMON_CLK_NXP is not set # CONFIG_COMMON_CLK_PWM is not set -# CONFIG_COMMON_CLK_PXA is not set -# CONFIG_COMMON_CLK_PIC32 is not set -# CONFIG_SUNXI_CCU is not set - -# -# Hardware Spinlock drivers -# +# CONFIG_HWSPINLOCK is not set # # Clock Source drivers @@ -5763,39 +5246,67 @@ CONFIG_COMMON_CLK=y CONFIG_CLKEVT_I8253=y CONFIG_I8253_LOCK=y CONFIG_CLKBLD_I8253=y -# CONFIG_ATMEL_PIT is not set -# CONFIG_SH_TIMER_CMT is not set -# CONFIG_SH_TIMER_MTU2 is not set -# CONFIG_SH_TIMER_TMU is not set -# CONFIG_EM_TIMER_STI is not set -# CONFIG_MAILBOX is not set +CONFIG_MAILBOX=y +CONFIG_PCC=y +# CONFIG_ALTERA_MBOX is not set +CONFIG_IOMMU_API=y CONFIG_IOMMU_SUPPORT=y # # Generic IOMMU Pagetable Support # +# CONFIG_IOMMU_DEBUGFS is not set +# CONFIG_IOMMU_DEFAULT_PASSTHROUGH is not set +CONFIG_IOMMU_IOVA=y # CONFIG_AMD_IOMMU is not set -# CONFIG_INTEL_IOMMU is not set +CONFIG_DMAR_TABLE=y +CONFIG_INTEL_IOMMU=y +# CONFIG_INTEL_IOMMU_SVM is not set +CONFIG_INTEL_IOMMU_DEFAULT_ON=y +CONFIG_INTEL_IOMMU_FLOPPY_WA=y # CONFIG_IRQ_REMAP is not set # # Remoteproc drivers # -# CONFIG_STE_MODEM_RPROC is not set +# CONFIG_REMOTEPROC is not set # # Rpmsg drivers # +# CONFIG_RPMSG_QCOM_GLINK_RPM is not set +# CONFIG_RPMSG_VIRTIO is not set +# CONFIG_SOUNDWIRE is not set # # SOC (System On Chip) specific Drivers # +# +# Amlogic SoC drivers +# + # # Broadcom SoC drivers # -# CONFIG_SUNXI_SRAM is not set + +# +# NXP/Freescale QorIQ SoC drivers +# + +# +# i.MX SoC drivers +# + +# +# Qualcomm SoC drivers +# # CONFIG_SOC_TI is not set + +# +# Xilinx SoC drivers +# +# CONFIG_XILINX_VCU is not set CONFIG_PM_DEVFREQ=y # @@ -5803,7 +5314,7 @@ CONFIG_PM_DEVFREQ=y # CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=y # CONFIG_DEVFREQ_GOV_PERFORMANCE is not set -CONFIG_DEVFREQ_GOV_POWERSAVE=m +# CONFIG_DEVFREQ_GOV_POWERSAVE is not set # CONFIG_DEVFREQ_GOV_USERSPACE is not set # CONFIG_DEVFREQ_GOV_PASSIVE is not set @@ -5811,24 +5322,26 @@ CONFIG_DEVFREQ_GOV_POWERSAVE=m # DEVFREQ Drivers # # CONFIG_PM_DEVFREQ_EVENT is not set -CONFIG_EXTCON=m +CONFIG_EXTCON=y # # Extcon Device Drivers # -CONFIG_EXTCON_ADC_JACK=m -CONFIG_EXTCON_ARIZONA=m -CONFIG_EXTCON_GPIO=m +# CONFIG_EXTCON_ADC_JACK is not set +CONFIG_EXTCON_ARIZONA=y +CONFIG_EXTCON_GPIO=y +# CONFIG_EXTCON_INTEL_INT3496 is not set # CONFIG_EXTCON_MAX3355 is not set -CONFIG_EXTCON_RT8973A=m -CONFIG_EXTCON_SM5502=m -CONFIG_EXTCON_USB_GPIO=m +# CONFIG_EXTCON_RT8973A is not set +# CONFIG_EXTCON_SM5502 is not set +# CONFIG_EXTCON_USB_GPIO is not set # CONFIG_MEMORY is not set -CONFIG_IIO=m +CONFIG_IIO=y CONFIG_IIO_BUFFER=y # CONFIG_IIO_BUFFER_CB is not set -CONFIG_IIO_KFIFO_BUF=m -CONFIG_IIO_TRIGGERED_BUFFER=m +# CONFIG_IIO_BUFFER_HW_CONSUMER is not set +CONFIG_IIO_KFIFO_BUF=y +CONFIG_IIO_TRIGGERED_BUFFER=y # CONFIG_IIO_CONFIGFS is not set CONFIG_IIO_TRIGGER=y CONFIG_IIO_CONSUMERS_PER_TRIGGER=2 @@ -5838,37 +5351,45 @@ CONFIG_IIO_CONSUMERS_PER_TRIGGER=2 # # Accelerometers # +# CONFIG_ADIS16201 is not set +# CONFIG_ADIS16209 is not set CONFIG_BMA180=m # CONFIG_BMA220 is not set -CONFIG_BMC150_ACCEL=m -CONFIG_BMC150_ACCEL_I2C=m -CONFIG_BMC150_ACCEL_SPI=m +CONFIG_BMC150_ACCEL=y +CONFIG_BMC150_ACCEL_I2C=y +CONFIG_BMC150_ACCEL_SPI=y +# CONFIG_DA280 is not set +# CONFIG_DA311 is not set +# CONFIG_DMARD09 is not set +# CONFIG_DMARD10 is not set CONFIG_HID_SENSOR_ACCEL_3D=m -CONFIG_IIO_ST_ACCEL_3AXIS=m -CONFIG_IIO_ST_ACCEL_I2C_3AXIS=m -CONFIG_IIO_ST_ACCEL_SPI_3AXIS=m -CONFIG_KXSD9=m -CONFIG_KXCJK1013=m +# CONFIG_IIO_CROS_EC_ACCEL_LEGACY is not set +CONFIG_IIO_ST_ACCEL_3AXIS=y +CONFIG_IIO_ST_ACCEL_I2C_3AXIS=y +CONFIG_IIO_ST_ACCEL_SPI_3AXIS=y +# CONFIG_KXSD9 is not set +CONFIG_KXCJK1013=y +# CONFIG_MC3230 is not set # CONFIG_MMA7455_I2C is not set # CONFIG_MMA7455_SPI is not set # CONFIG_MMA7660 is not set -CONFIG_MMA8452=m -CONFIG_MMA9551_CORE=m -CONFIG_MMA9551=m -CONFIG_MMA9553=m -CONFIG_MXC4005=m +# CONFIG_MMA8452 is not set +# CONFIG_MMA9551 is not set +# CONFIG_MMA9553 is not set +# CONFIG_MXC4005 is not set # CONFIG_MXC6255 is not set -CONFIG_STK8312=m -CONFIG_STK8BA50=m +# CONFIG_SCA3000 is not set +# CONFIG_STK8312 is not set +# CONFIG_STK8BA50 is not set # # Analog to digital converters # -CONFIG_AD_SIGMA_DELTA=m # CONFIG_AD7266 is not set # CONFIG_AD7291 is not set # CONFIG_AD7298 is not set # CONFIG_AD7476 is not set +# CONFIG_AD7766 is not set # CONFIG_AD7791 is not set # CONFIG_AD7793 is not set # CONFIG_AD7887 is not set @@ -5876,18 +5397,33 @@ CONFIG_AD_SIGMA_DELTA=m # CONFIG_AD799X is not set # CONFIG_CC10001_ADC is not set # CONFIG_HI8435 is not set +# CONFIG_HX711 is not set # CONFIG_INA2XX_ADC is not set +# CONFIG_LTC2471 is not set +# CONFIG_LTC2485 is not set +# CONFIG_LTC2497 is not set # CONFIG_MAX1027 is not set +# CONFIG_MAX11100 is not set +# CONFIG_MAX1118 is not set # CONFIG_MAX1363 is not set -# CONFIG_MCP320X is not set +# CONFIG_MAX9611 is not set +CONFIG_MCP320X=m # CONFIG_MCP3422 is not set -# CONFIG_NAU7802 is not set +CONFIG_NAU7802=m # CONFIG_TI_ADC081C is not set # CONFIG_TI_ADC0832 is not set +# CONFIG_TI_ADC084S021 is not set +# CONFIG_TI_ADC12138 is not set +# CONFIG_TI_ADC108S102 is not set # CONFIG_TI_ADC128S052 is not set +# CONFIG_TI_ADC161S626 is not set # CONFIG_TI_ADS1015 is not set -# CONFIG_TI_ADS8688 is not set -# CONFIG_VF610_ADC is not set +# CONFIG_TI_ADS7950 is not set +# CONFIG_TI_TLC4541 is not set + +# +# Analog Front Ends +# # # Amplifiers @@ -5898,6 +5434,8 @@ CONFIG_AD_SIGMA_DELTA=m # Chemical Sensors # # CONFIG_ATLAS_PH_SENSOR is not set +# CONFIG_BME680 is not set +# CONFIG_CCS811 is not set # CONFIG_IAQCORE is not set # CONFIG_VZ89X is not set @@ -5906,16 +5444,18 @@ CONFIG_AD_SIGMA_DELTA=m # CONFIG_HID_SENSOR_IIO_COMMON=m CONFIG_HID_SENSOR_IIO_TRIGGER=m -CONFIG_IIO_MS_SENSORS_I2C=m # # SSP Sensor Common # -CONFIG_IIO_SSP_SENSORS_COMMONS=m -CONFIG_IIO_SSP_SENSORHUB=m -CONFIG_IIO_ST_SENSORS_I2C=m -CONFIG_IIO_ST_SENSORS_SPI=m -CONFIG_IIO_ST_SENSORS_CORE=m +# CONFIG_IIO_SSP_SENSORHUB is not set +CONFIG_IIO_ST_SENSORS_I2C=y +CONFIG_IIO_ST_SENSORS_SPI=y +CONFIG_IIO_ST_SENSORS_CORE=y + +# +# Counters +# # # Digital to analog converters @@ -5930,18 +5470,23 @@ CONFIG_IIO_ST_SENSORS_CORE=m # CONFIG_AD5593R is not set # CONFIG_AD5504 is not set # CONFIG_AD5624R_SPI is not set -# CONFIG_AD5686 is not set +# CONFIG_LTC2632 is not set +# CONFIG_AD5686_SPI is not set +# CONFIG_AD5696_I2C is not set # CONFIG_AD5755 is not set +# CONFIG_AD5758 is not set # CONFIG_AD5761 is not set # CONFIG_AD5764 is not set # CONFIG_AD5791 is not set # CONFIG_AD7303 is not set +# CONFIG_AD8801 is not set +# CONFIG_DS4424 is not set # CONFIG_M62332 is not set # CONFIG_MAX517 is not set -# CONFIG_MAX5821 is not set # CONFIG_MCP4725 is not set # CONFIG_MCP4922 is not set -# CONFIG_VF610_DAC is not set +# CONFIG_TI_DAC082S085 is not set +# CONFIG_TI_DAC5571 is not set # # IIO dummy driver @@ -5964,19 +5509,20 @@ CONFIG_IIO_ST_SENSORS_CORE=m # # Digital gyroscope sensors # -CONFIG_ADIS16080=m -CONFIG_ADIS16130=m -CONFIG_ADIS16136=m -CONFIG_ADIS16260=m -CONFIG_ADXRS450=m -CONFIG_BMG160=m -CONFIG_BMG160_I2C=m -CONFIG_BMG160_SPI=m +# CONFIG_ADIS16080 is not set +# CONFIG_ADIS16130 is not set +# CONFIG_ADIS16136 is not set +# CONFIG_ADIS16260 is not set +# CONFIG_ADXRS450 is not set +CONFIG_BMG160=y +CONFIG_BMG160_I2C=y +CONFIG_BMG160_SPI=y CONFIG_HID_SENSOR_GYRO_3D=m -CONFIG_IIO_ST_GYRO_3AXIS=m -CONFIG_IIO_ST_GYRO_I2C_3AXIS=m -CONFIG_IIO_ST_GYRO_SPI_3AXIS=m -CONFIG_ITG3200=m +# CONFIG_MPU3050_I2C is not set +CONFIG_IIO_ST_GYRO_3AXIS=y +CONFIG_IIO_ST_GYRO_I2C_3AXIS=y +CONFIG_IIO_ST_GYRO_SPI_3AXIS=y +# CONFIG_ITG3200 is not set # # Health Sensors @@ -5988,63 +5534,74 @@ CONFIG_ITG3200=m # CONFIG_AFE4403 is not set # CONFIG_AFE4404 is not set # CONFIG_MAX30100 is not set +# CONFIG_MAX30102 is not set # # Humidity sensors # # CONFIG_AM2315 is not set -CONFIG_DHT11=m -CONFIG_HDC100X=m -CONFIG_HTU21=m -CONFIG_SI7005=m -CONFIG_SI7020=m +# CONFIG_DHT11 is not set +# CONFIG_HDC100X is not set +# CONFIG_HID_SENSOR_HUMIDITY is not set +# CONFIG_HTS221 is not set +# CONFIG_HTU21 is not set +# CONFIG_SI7005 is not set +# CONFIG_SI7020 is not set # # Inertial measurement units # -CONFIG_ADIS16400=m -CONFIG_ADIS16480=m +# CONFIG_ADIS16400 is not set +# CONFIG_ADIS16480 is not set # CONFIG_BMI160_I2C is not set # CONFIG_BMI160_SPI is not set -CONFIG_KMX61=m +CONFIG_KMX61=y # CONFIG_INV_MPU6050_I2C is not set # CONFIG_INV_MPU6050_SPI is not set -CONFIG_IIO_ADIS_LIB=m -CONFIG_IIO_ADIS_LIB_BUFFER=y +# CONFIG_IIO_ST_LSM6DSX is not set # # Light sensors # -# CONFIG_ACPI_ALS is not set -CONFIG_ADJD_S311=m -CONFIG_AL3320A=m -CONFIG_APDS9300=m -CONFIG_APDS9960=m -CONFIG_BH1750=m +CONFIG_ACPI_ALS=y +# CONFIG_ADJD_S311 is not set +# CONFIG_AL3320A is not set +# CONFIG_APDS9300 is not set +# CONFIG_APDS9960 is not set +# CONFIG_BH1750 is not set # CONFIG_BH1780 is not set -CONFIG_CM32181=m -CONFIG_CM3232=m -CONFIG_CM3323=m +CONFIG_CM32181=y +CONFIG_CM3232=y +# CONFIG_CM3323 is not set CONFIG_CM36651=m -CONFIG_GP2AP020A00F=m -CONFIG_ISL29125=m +# CONFIG_GP2AP020A00F is not set +# CONFIG_SENSORS_ISL29018 is not set +# CONFIG_SENSORS_ISL29028 is not set +# CONFIG_ISL29125 is not set CONFIG_HID_SENSOR_ALS=m -CONFIG_HID_SENSOR_PROX=m +# CONFIG_HID_SENSOR_PROX is not set CONFIG_JSA1212=m -CONFIG_RPR0521=m -CONFIG_SENSORS_LM3533=m -CONFIG_LTR501=m +# CONFIG_RPR0521 is not set +# CONFIG_LTR501 is not set +# CONFIG_LV0104CS is not set # CONFIG_MAX44000 is not set -CONFIG_OPT3001=m -CONFIG_PA12203001=m -CONFIG_STK3310=m -CONFIG_TCS3414=m -CONFIG_TCS3472=m -CONFIG_SENSORS_TSL2563=m -CONFIG_TSL4531=m -CONFIG_US5182D=m -CONFIG_VCNL4000=m +# CONFIG_OPT3001 is not set +# CONFIG_PA12203001 is not set +# CONFIG_SI1133 is not set +# CONFIG_SI1145 is not set +# CONFIG_STK3310 is not set +# CONFIG_ST_UVIS25 is not set +# CONFIG_TCS3414 is not set +# CONFIG_TCS3472 is not set +# CONFIG_SENSORS_TSL2563 is not set +# CONFIG_TSL2583 is not set +# CONFIG_TSL2772 is not set +# CONFIG_TSL4531 is not set +# CONFIG_US5182D is not set +# CONFIG_VCNL4000 is not set # CONFIG_VEML6070 is not set +# CONFIG_VL6180 is not set +# CONFIG_ZOPT2201 is not set # # Magnetometer sensors @@ -6053,224 +5610,223 @@ CONFIG_AK8975=m CONFIG_AK09911=m # CONFIG_BMC150_MAGN_I2C is not set # CONFIG_BMC150_MAGN_SPI is not set -CONFIG_MAG3110=m +# CONFIG_MAG3110 is not set CONFIG_HID_SENSOR_MAGNETOMETER_3D=m -CONFIG_MMC35240=m -CONFIG_IIO_ST_MAGN_3AXIS=m -CONFIG_IIO_ST_MAGN_I2C_3AXIS=m -CONFIG_IIO_ST_MAGN_SPI_3AXIS=m -CONFIG_SENSORS_HMC5843=m -CONFIG_SENSORS_HMC5843_I2C=m -CONFIG_SENSORS_HMC5843_SPI=m +# CONFIG_MMC35240 is not set +CONFIG_IIO_ST_MAGN_3AXIS=y +CONFIG_IIO_ST_MAGN_I2C_3AXIS=y +CONFIG_IIO_ST_MAGN_SPI_3AXIS=y +# CONFIG_SENSORS_HMC5843_I2C is not set +# CONFIG_SENSORS_HMC5843_SPI is not set + +# +# Multiplexers +# # # Inclinometer sensors # CONFIG_HID_SENSOR_INCLINOMETER_3D=m -CONFIG_HID_SENSOR_DEVICE_ROTATION=m +# CONFIG_HID_SENSOR_DEVICE_ROTATION is not set # # Triggers - standalone # -CONFIG_IIO_INTERRUPT_TRIGGER=m -CONFIG_IIO_SYSFS_TRIGGER=m +CONFIG_IIO_INTERRUPT_TRIGGER=y +CONFIG_IIO_SYSFS_TRIGGER=y # # Digital potentiometers # +# CONFIG_AD5272 is not set # CONFIG_DS1803 is not set +# CONFIG_MAX5481 is not set # CONFIG_MAX5487 is not set +# CONFIG_MCP4018 is not set # CONFIG_MCP4131 is not set # CONFIG_MCP4531 is not set # CONFIG_TPL0102 is not set +# +# Digital potentiostats +# +# CONFIG_LMP91000 is not set + # # Pressure sensors # -CONFIG_HID_SENSOR_PRESS=m +# CONFIG_ABP060MG is not set +# CONFIG_BMP280 is not set +# CONFIG_HID_SENSOR_PRESS is not set # CONFIG_HP03 is not set # CONFIG_MPL115_I2C is not set # CONFIG_MPL115_SPI is not set -CONFIG_MPL3115=m -CONFIG_MS5611=m -CONFIG_MS5611_I2C=m -CONFIG_MS5611_SPI=m -CONFIG_MS5637=m -CONFIG_IIO_ST_PRESS=m -CONFIG_IIO_ST_PRESS_I2C=m -CONFIG_IIO_ST_PRESS_SPI=m -CONFIG_T5403=m +# CONFIG_MPL3115 is not set +# CONFIG_MS5611 is not set +# CONFIG_MS5637 is not set +CONFIG_IIO_ST_PRESS=y +CONFIG_IIO_ST_PRESS_I2C=y +CONFIG_IIO_ST_PRESS_SPI=y +# CONFIG_T5403 is not set # CONFIG_HP206C is not set +# CONFIG_ZPA2326 is not set # # Lightning sensors # -CONFIG_AS3935=m +# CONFIG_AS3935 is not set + +# +# Proximity and distance sensors +# +# CONFIG_ISL29501 is not set +# CONFIG_LIDAR_LITE_V2 is not set +# CONFIG_RFD77402 is not set +# CONFIG_SRF04 is not set +# CONFIG_SX9500 is not set +# CONFIG_SRF08 is not set # -# Proximity sensors +# Resolver to digital converters # -CONFIG_LIDAR_LITE_V2=m -CONFIG_SX9500=m +# CONFIG_AD2S1200 is not set # # Temperature sensors # -CONFIG_MLX90614=m +# CONFIG_MAXIM_THERMOCOUPLE is not set +# CONFIG_HID_SENSOR_TEMP is not set +# CONFIG_MLX90614 is not set +# CONFIG_MLX90632 is not set CONFIG_TMP006=m -CONFIG_TSYS01=m -CONFIG_TSYS02D=m +# CONFIG_TMP007 is not set +# CONFIG_TSYS01 is not set +# CONFIG_TSYS02D is not set # CONFIG_NTB is not set # CONFIG_VME_BUS is not set CONFIG_PWM=y CONFIG_PWM_SYSFS=y -CONFIG_PWM_CRC=y -# CONFIG_PWM_CROS_EC is not set -# CONFIG_PWM_FSL_FTM is not set -CONFIG_PWM_LPSS=m -CONFIG_PWM_LPSS_PCI=m -CONFIG_PWM_LPSS_PLATFORM=m +# CONFIG_PWM_CRC is not set +CONFIG_PWM_LPSS=y +CONFIG_PWM_LPSS_PCI=y +# CONFIG_PWM_LPSS_PLATFORM is not set # CONFIG_PWM_PCA9685 is not set -CONFIG_IRQCHIP=y + +# +# IRQ chip support +# CONFIG_ARM_GIC_MAX_NR=1 # CONFIG_IPACK_BUS is not set CONFIG_RESET_CONTROLLER=y -# CONFIG_TI_SYSCON_RESET is not set +# CONFIG_RESET_TI_SYSCON is not set # CONFIG_FMC is not set # # PHY Subsystem # CONFIG_GENERIC_PHY=y -CONFIG_PHY_PXA_28NM_HSIC=m -CONFIG_PHY_PXA_28NM_USB2=m -CONFIG_BCM_KONA_USB2_PHY=m -CONFIG_PHY_SAMSUNG_USB2=m -# CONFIG_PHY_EXYNOS4210_USB2 is not set -# CONFIG_PHY_EXYNOS4X12_USB2 is not set -# CONFIG_PHY_EXYNOS5250_USB2 is not set +# CONFIG_BCM_KONA_USB2_PHY is not set +# CONFIG_PHY_PXA_28NM_HSIC is not set +# CONFIG_PHY_PXA_28NM_USB2 is not set +# CONFIG_PHY_CPCAP_USB is not set +# CONFIG_PHY_SAMSUNG_USB2 is not set CONFIG_POWERCAP=y -CONFIG_INTEL_RAPL=m +CONFIG_INTEL_RAPL=y +# CONFIG_IDLE_INJECT is not set # CONFIG_MCB is not set # # Performance monitor support # CONFIG_RAS=y -CONFIG_THUNDERBOLT=m +# CONFIG_THUNDERBOLT is not set # # Android # CONFIG_ANDROID=y CONFIG_ANDROID_BINDER_IPC=y +CONFIG_ANDROID_BINDER_DEVICES="binder,hwbinder,vndbinder" +# CONFIG_ANDROID_BINDER_IPC_SELFTEST is not set # CONFIG_LIBNVDIMM is not set -CONFIG_NVMEM=m -# CONFIG_STM is not set -# CONFIG_INTEL_TH is not set +CONFIG_DAX=y +# CONFIG_DEV_DAX is not set +CONFIG_NVMEM=y # -# FPGA Configuration Support +# HW tracing support # +CONFIG_STM=y +# CONFIG_STM_PROTO_BASIC is not set +# CONFIG_STM_PROTO_SYS_T is not set +# CONFIG_STM_DUMMY is not set +CONFIG_STM_SOURCE_CONSOLE=y +# CONFIG_STM_SOURCE_HEARTBEAT is not set +# CONFIG_STM_SOURCE_FTRACE is not set +# CONFIG_INTEL_TH is not set # CONFIG_FPGA is not set - -# -# Firmware Drivers -# -# CONFIG_EDD is not set -CONFIG_FIRMWARE_MEMMAP=y -# CONFIG_DELL_RBU is not set -CONFIG_DCDBAS=m -CONFIG_DMIID=y -CONFIG_DMI_SYSFS=y -CONFIG_DMI_SCAN_MACHINE_NON_EFI_FALLBACK=y -# CONFIG_ISCSI_IBFT_FIND is not set -# CONFIG_FW_CFG_SYSFS is not set -# CONFIG_GOOGLE_FIRMWARE is not set - -# -# EFI (Extensible Firmware Interface) Support -# -CONFIG_EFI_VARS=m -CONFIG_EFI_ESRT=y -CONFIG_EFI_VARS_PSTORE=m -# CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE is not set -CONFIG_EFI_RUNTIME_MAP=y -# CONFIG_EFI_FAKE_MEMMAP is not set -CONFIG_EFI_RUNTIME_WRAPPERS=y -CONFIG_EFI_BOOTLOADER_CONTROL=m -# CONFIG_EFI_CAPSULE_LOADER is not set +CONFIG_PM_OPP=y +# CONFIG_SDW is not set +# CONFIG_UNISYS_VISORBUS is not set +# CONFIG_SIOX is not set +# CONFIG_SLIMBUS is not set +# CONFIG_LEGACY_ENERGY_MODEL_DT is not set # # File systems # CONFIG_DCACHE_WORD_ACCESS=y CONFIG_FS_IOMAP=y -CONFIG_EXT2_FS=y -CONFIG_EXT2_FS_XATTR=y -CONFIG_EXT2_FS_POSIX_ACL=y -CONFIG_EXT2_FS_SECURITY=y -CONFIG_EXT3_FS=y -CONFIG_EXT3_FS_POSIX_ACL=y -CONFIG_EXT3_FS_SECURITY=y +# CONFIG_EXT2_FS is not set +# CONFIG_EXT3_FS is not set CONFIG_EXT4_FS=y +CONFIG_EXT4_USE_FOR_EXT2=y CONFIG_EXT4_FS_POSIX_ACL=y CONFIG_EXT4_FS_SECURITY=y -# CONFIG_EXT4_ENCRYPTION is not set +CONFIG_EXT4_ENCRYPTION=y +CONFIG_EXT4_FS_ENCRYPTION=y # CONFIG_EXT4_DEBUG is not set CONFIG_JBD2=y # CONFIG_JBD2_DEBUG is not set CONFIG_FS_MBCACHE=y -CONFIG_REISERFS_FS=m -# CONFIG_REISERFS_CHECK is not set -# CONFIG_REISERFS_PROC_INFO is not set -# CONFIG_REISERFS_FS_XATTR is not set -CONFIG_JFS_FS=m -# CONFIG_JFS_POSIX_ACL is not set -# CONFIG_JFS_SECURITY is not set -# CONFIG_JFS_DEBUG is not set -# CONFIG_JFS_STATISTICS is not set -CONFIG_XFS_FS=m -# CONFIG_XFS_QUOTA is not set -# CONFIG_XFS_POSIX_ACL is not set -# CONFIG_XFS_RT is not set -# CONFIG_XFS_WARN is not set -# CONFIG_XFS_DEBUG is not set +# CONFIG_REISERFS_FS is not set +# CONFIG_JFS_FS is not set +# CONFIG_XFS_FS is not set # CONFIG_GFS2_FS is not set -CONFIG_OCFS2_FS=m -CONFIG_OCFS2_FS_O2CB=m -CONFIG_OCFS2_FS_STATS=y -CONFIG_OCFS2_DEBUG_MASKLOG=y -# CONFIG_OCFS2_DEBUG_FS is not set -CONFIG_BTRFS_FS=m -# CONFIG_BTRFS_FS_POSIX_ACL is not set -# CONFIG_BTRFS_FS_CHECK_INTEGRITY is not set -# CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set -# CONFIG_BTRFS_DEBUG is not set -# CONFIG_BTRFS_ASSERT is not set +# CONFIG_OCFS2_FS is not set +# CONFIG_BTRFS_FS is not set # CONFIG_NILFS2_FS is not set -# CONFIG_F2FS_FS is not set +CONFIG_F2FS_FS=y +CONFIG_F2FS_STAT_FS=y +CONFIG_F2FS_FS_XATTR=y +CONFIG_F2FS_FS_POSIX_ACL=y +CONFIG_F2FS_FS_SECURITY=y +# CONFIG_F2FS_CHECK_FS is not set +# CONFIG_F2FS_FS_ENCRYPTION is not set +# CONFIG_F2FS_IO_TRACE is not set +# CONFIG_F2FS_FAULT_INJECTION is not set # CONFIG_FS_DAX is not set CONFIG_FS_POSIX_ACL=y -CONFIG_EXPORTFS=m # CONFIG_EXPORTFS_BLOCK_OPS is not set CONFIG_FILE_LOCKING=y CONFIG_MANDATORY_FILE_LOCKING=y -# CONFIG_FS_ENCRYPTION is not set +CONFIG_FS_ENCRYPTION=y CONFIG_FSNOTIFY=y -# CONFIG_DNOTIFY is not set +CONFIG_DNOTIFY=y CONFIG_INOTIFY_USER=y -# CONFIG_FANOTIFY is not set +CONFIG_FANOTIFY=y +# CONFIG_FANOTIFY_ACCESS_PERMISSIONS is not set CONFIG_QUOTA=y -# CONFIG_QUOTA_NETLINK_INTERFACE is not set -CONFIG_PRINT_QUOTA_WARNING=y +CONFIG_QUOTA_NETLINK_INTERFACE=y +# CONFIG_PRINT_QUOTA_WARNING is not set # CONFIG_QUOTA_DEBUG is not set -CONFIG_QUOTA_TREE=m +CONFIG_QUOTA_TREE=y # CONFIG_QFMT_V1 is not set -# CONFIG_QFMT_V2 is not set +CONFIG_QFMT_V2=y CONFIG_QUOTACTL=y CONFIG_QUOTACTL_COMPAT=y # CONFIG_AUTOFS4_FS is not set +# CONFIG_AUTOFS_FS is not set CONFIG_FUSE_FS=y # CONFIG_CUSE is not set # CONFIG_OVERLAY_FS is not set @@ -6283,11 +5839,8 @@ CONFIG_FUSE_FS=y # # CD-ROM/DVD Filesystems # -CONFIG_ISO9660_FS=y -CONFIG_JOLIET=y -# CONFIG_ZISOFS is not set -CONFIG_UDF_FS=m -CONFIG_UDF_NLS=y +# CONFIG_ISO9660_FS is not set +# CONFIG_UDF_FS is not set # # DOS/FAT/NT Filesystems @@ -6308,39 +5861,41 @@ CONFIG_PROC_KCORE=y CONFIG_PROC_SYSCTL=y CONFIG_PROC_PAGE_MONITOR=y # CONFIG_PROC_CHILDREN is not set +CONFIG_PROC_UID=y CONFIG_KERNFS=y CONFIG_SYSFS=y CONFIG_TMPFS=y CONFIG_TMPFS_POSIX_ACL=y CONFIG_TMPFS_XATTR=y -# CONFIG_HUGETLBFS is not set -# CONFIG_HUGETLB_PAGE is not set -CONFIG_CONFIGFS_FS=m -CONFIG_EFIVAR_FS=m +CONFIG_HUGETLBFS=y +CONFIG_HUGETLB_PAGE=y +CONFIG_MEMFD_CREATE=y +CONFIG_CONFIGFS_FS=y +CONFIG_EFIVAR_FS=y CONFIG_MISC_FILESYSTEMS=y # CONFIG_ORANGEFS_FS is not set # CONFIG_ADFS_FS is not set # CONFIG_AFFS_FS is not set +# CONFIG_ECRYPT_FS is not set +CONFIG_SDCARD_FS=y # CONFIG_HFS_FS is not set # CONFIG_HFSPLUS_FS is not set # CONFIG_BEFS_FS is not set # CONFIG_BFS_FS is not set # CONFIG_EFS_FS is not set -# CONFIG_JFFS2_FS is not set -# CONFIG_UBIFS_FS is not set -# CONFIG_LOGFS is not set # CONFIG_CRAMFS is not set CONFIG_SQUASHFS=y -# CONFIG_SQUASHFS_FILE_CACHE is not set -CONFIG_SQUASHFS_FILE_DIRECT=y +CONFIG_SQUASHFS_FILE_CACHE=y +# CONFIG_SQUASHFS_FILE_DIRECT is not set # CONFIG_SQUASHFS_DECOMP_SINGLE is not set # CONFIG_SQUASHFS_DECOMP_MULTI is not set CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU=y CONFIG_SQUASHFS_XATTR=y CONFIG_SQUASHFS_ZLIB=y -# CONFIG_SQUASHFS_LZ4 is not set -# CONFIG_SQUASHFS_LZO is not set -# CONFIG_SQUASHFS_XZ is not set +CONFIG_SQUASHFS_LZ4=y +CONFIG_SQUASHFS_LZO=y +CONFIG_SQUASHFS_XZ=y +# CONFIG_SQUASHFS_ZSTD is not set CONFIG_SQUASHFS_4K_DEVBLK_SIZE=y # CONFIG_SQUASHFS_EMBEDDED is not set CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3 @@ -6352,9 +5907,15 @@ CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3 # CONFIG_QNX6FS_FS is not set # CONFIG_ROMFS_FS is not set CONFIG_PSTORE=y -CONFIG_PSTORE_ZLIB_COMPRESS=y +CONFIG_PSTORE_DEFLATE_COMPRESS=y # CONFIG_PSTORE_LZO_COMPRESS is not set # CONFIG_PSTORE_LZ4_COMPRESS is not set +# CONFIG_PSTORE_LZ4HC_COMPRESS is not set +# CONFIG_PSTORE_842_COMPRESS is not set +# CONFIG_PSTORE_ZSTD_COMPRESS is not set +CONFIG_PSTORE_COMPRESS=y +CONFIG_PSTORE_DEFLATE_COMPRESS_DEFAULT=y +CONFIG_PSTORE_COMPRESS_DEFAULT="deflate" CONFIG_PSTORE_CONSOLE=y # CONFIG_PSTORE_PMSG is not set CONFIG_PSTORE_FTRACE=y @@ -6362,28 +5923,19 @@ CONFIG_PSTORE_RAM=y CONFIG_SYSV_FS=y # CONFIG_UFS_FS is not set CONFIG_NETWORK_FILESYSTEMS=y -CONFIG_NFS_FS=m -CONFIG_NFS_V2=m -CONFIG_NFS_V3=m -# CONFIG_NFS_V3_ACL is not set -# CONFIG_NFS_V4 is not set -# CONFIG_NFS_SWAP is not set +# CONFIG_NFS_FS is not set # CONFIG_NFSD is not set -CONFIG_GRACE_PERIOD=m -CONFIG_LOCKD=m -CONFIG_LOCKD_V4=y -CONFIG_NFS_COMMON=y -CONFIG_SUNRPC=m -# CONFIG_SUNRPC_DEBUG is not set # CONFIG_CEPH_FS is not set CONFIG_CIFS=m -# CONFIG_CIFS_STATS is not set +# CONFIG_CIFS_STATS2 is not set +CONFIG_CIFS_ALLOW_INSECURE_LEGACY=y # CONFIG_CIFS_WEAK_PW_HASH is not set +# CONFIG_CIFS_UPCALL is not set # CONFIG_CIFS_XATTR is not set CONFIG_CIFS_DEBUG=y # CONFIG_CIFS_DEBUG2 is not set -# CONFIG_CIFS_SMB2 is not set -# CONFIG_NCP_FS is not set +# CONFIG_CIFS_DEBUG_DUMP_KEYS is not set +# CONFIG_CIFS_DFS_UPCALL is not set # CONFIG_CODA_FS is not set # CONFIG_AFS_FS is not set CONFIG_NLS=y @@ -6440,263 +5992,57 @@ CONFIG_NLS_UTF8=m # CONFIG_DLM is not set # -# Kernel hacking -# -CONFIG_TRACE_IRQFLAGS_SUPPORT=y - -# -# printk and dmesg options +# Security options # -CONFIG_PRINTK_TIME=y -CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 -# CONFIG_BOOT_PRINTK_DELAY is not set -CONFIG_DYNAMIC_DEBUG=y +CONFIG_KEYS=y +CONFIG_KEYS_COMPAT=y +# CONFIG_PERSISTENT_KEYRINGS is not set +CONFIG_BIG_KEYS=y +# CONFIG_ENCRYPTED_KEYS is not set +# CONFIG_KEY_DH_OPERATIONS is not set +# CONFIG_SECURITY_DMESG_RESTRICT is not set +CONFIG_SECURITY_PERF_EVENTS_RESTRICT=y +CONFIG_SECURITY=y +CONFIG_SECURITY_WRITABLE_HOOKS=y +# CONFIG_SECURITY_STACKING is not set +# CONFIG_SECURITY_LSM_DEBUG is not set +CONFIG_SECURITYFS=y +CONFIG_SECURITY_NETWORK=y +CONFIG_PAGE_TABLE_ISOLATION=y +# CONFIG_SECURITY_NETWORK_XFRM is not set +# CONFIG_SECURITY_PATH is not set +# CONFIG_INTEL_TXT is not set +CONFIG_LSM_MMAP_MIN_ADDR=65536 +CONFIG_HAVE_HARDENED_USERCOPY_ALLOCATOR=y +CONFIG_HARDENED_USERCOPY=y +CONFIG_HARDENED_USERCOPY_FALLBACK=y +# CONFIG_HARDENED_USERCOPY_PAGESPAN is not set +# CONFIG_FORTIFY_SOURCE is not set +# CONFIG_STATIC_USERMODEHELPER is not set +CONFIG_SECURITY_SELINUX=y +CONFIG_SECURITY_SELINUX_BOOTPARAM=y +CONFIG_SECURITY_SELINUX_BOOTPARAM_VALUE=1 +CONFIG_SECURITY_SELINUX_DISABLE=y +CONFIG_SECURITY_SELINUX_DEVELOP=y +CONFIG_SECURITY_SELINUX_AVC_STATS=y +CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1 +# CONFIG_SECURITY_SMACK is not set +# CONFIG_SECURITY_TOMOYO is not set +# CONFIG_SECURITY_APPARMOR is not set +# CONFIG_SECURITY_LOADPIN is not set +# CONFIG_SECURITY_YAMA is not set +# CONFIG_INTEGRITY is not set # -# Compile-time checks and compiler options +# Security Module Selection # -# CONFIG_DEBUG_INFO is not set -CONFIG_ENABLE_WARN_DEPRECATED=y -CONFIG_ENABLE_MUST_CHECK=y -CONFIG_FRAME_WARN=1024 -# CONFIG_STRIP_ASM_SYMS is not set -# CONFIG_READABLE_ASM is not set -CONFIG_UNUSED_SYMBOLS=y -# CONFIG_PAGE_OWNER is not set -CONFIG_DEBUG_FS=y -# CONFIG_HEADERS_CHECK is not set -# CONFIG_DEBUG_SECTION_MISMATCH is not set -CONFIG_SECTION_MISMATCH_WARN_ONLY=y -CONFIG_ARCH_WANT_FRAME_POINTERS=y -# CONFIG_FRAME_POINTER is not set -# CONFIG_STACK_VALIDATION is not set -# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set -CONFIG_MAGIC_SYSRQ=y -CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x1 +CONFIG_DEFAULT_SECURITY_SELINUX=y +# CONFIG_DEFAULT_SECURITY_DAC is not set +CONFIG_DEFAULT_SECURITY="selinux" +CONFIG_CRYPTO=y # -# Memory Debugging -# -# CONFIG_PAGE_EXTENSION is not set -# CONFIG_DEBUG_PAGEALLOC is not set -# CONFIG_PAGE_POISONING is not set -# CONFIG_DEBUG_PAGE_REF is not set -# CONFIG_DEBUG_OBJECTS is not set -# CONFIG_DEBUG_SLAB is not set -CONFIG_HAVE_DEBUG_KMEMLEAK=y -# CONFIG_DEBUG_KMEMLEAK is not set -# CONFIG_DEBUG_STACK_USAGE is not set -# CONFIG_DEBUG_VM is not set -# CONFIG_DEBUG_VIRTUAL is not set -# CONFIG_DEBUG_MEMORY_INIT is not set -# CONFIG_DEBUG_PER_CPU_MAPS is not set -CONFIG_HAVE_DEBUG_STACKOVERFLOW=y -# CONFIG_DEBUG_STACKOVERFLOW is not set -CONFIG_HAVE_ARCH_KMEMCHECK=y -CONFIG_HAVE_ARCH_KASAN=y -# CONFIG_KASAN is not set -CONFIG_ARCH_HAS_KCOV=y -# CONFIG_KCOV is not set -# CONFIG_DEBUG_SHIRQ is not set - -# -# Debug Lockups and Hangs -# -CONFIG_LOCKUP_DETECTOR=y -CONFIG_HARDLOCKUP_DETECTOR=y -# CONFIG_BOOTPARAM_HARDLOCKUP_PANIC is not set -CONFIG_BOOTPARAM_HARDLOCKUP_PANIC_VALUE=0 -# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set -CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 -# CONFIG_DETECT_HUNG_TASK is not set -# CONFIG_WQ_WATCHDOG is not set -CONFIG_PANIC_ON_OOPS_VALUE=0 -CONFIG_PANIC_TIMEOUT=5 -CONFIG_SCHED_DEBUG=y -CONFIG_SCHED_INFO=y -CONFIG_SCHEDSTATS=y -# CONFIG_SCHED_STACK_END_CHECK is not set -# CONFIG_DEBUG_TIMEKEEPING is not set -CONFIG_TIMER_STATS=y -# CONFIG_DEBUG_PREEMPT is not set - -# -# Lock Debugging (spinlocks, mutexes, etc...) -# -# CONFIG_DEBUG_RT_MUTEXES is not set -# CONFIG_DEBUG_SPINLOCK is not set -# CONFIG_DEBUG_MUTEXES is not set -# CONFIG_DEBUG_WW_MUTEX_SLOWPATH is not set -# CONFIG_DEBUG_LOCK_ALLOC is not set -# CONFIG_PROVE_LOCKING is not set -# CONFIG_LOCK_STAT is not set -# CONFIG_DEBUG_ATOMIC_SLEEP is not set -# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set -# CONFIG_LOCK_TORTURE_TEST is not set -CONFIG_STACKTRACE=y -# CONFIG_DEBUG_KOBJECT is not set -# CONFIG_DEBUG_BUGVERBOSE is not set -# CONFIG_DEBUG_LIST is not set -# CONFIG_DEBUG_PI_LIST is not set -# CONFIG_DEBUG_SG is not set -# CONFIG_DEBUG_NOTIFIERS is not set - -# -# RCU Debugging -# -# CONFIG_PROVE_RCU is not set -# CONFIG_SPARSE_RCU_POINTER is not set -# CONFIG_TORTURE_TEST is not set -# CONFIG_RCU_PERF_TEST is not set -# CONFIG_RCU_TORTURE_TEST is not set -CONFIG_RCU_CPU_STALL_TIMEOUT=60 -# CONFIG_RCU_TRACE is not set -# CONFIG_RCU_EQS_DEBUG is not set -# CONFIG_DEBUG_WQ_FORCE_RR_CPU is not set -# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set -# CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set -# CONFIG_NOTIFIER_ERROR_INJECTION is not set -# CONFIG_FAULT_INJECTION is not set -# CONFIG_LATENCYTOP is not set -CONFIG_ARCH_HAS_DEBUG_STRICT_USER_COPY_CHECKS=y -# CONFIG_DEBUG_STRICT_USER_COPY_CHECKS is not set -CONFIG_USER_STACKTRACE_SUPPORT=y -CONFIG_NOP_TRACER=y -CONFIG_HAVE_FUNCTION_TRACER=y -CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y -CONFIG_HAVE_FUNCTION_GRAPH_FP_TEST=y -CONFIG_HAVE_DYNAMIC_FTRACE=y -CONFIG_HAVE_DYNAMIC_FTRACE_WITH_REGS=y -CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y -CONFIG_HAVE_SYSCALL_TRACEPOINTS=y -CONFIG_HAVE_FENTRY=y -CONFIG_HAVE_C_RECORDMCOUNT=y -CONFIG_TRACE_CLOCK=y -CONFIG_RING_BUFFER=y -CONFIG_EVENT_TRACING=y -CONFIG_CONTEXT_SWITCH_TRACER=y -CONFIG_RING_BUFFER_ALLOW_SWAP=y -CONFIG_TRACING=y -CONFIG_GENERIC_TRACER=y -CONFIG_TRACING_SUPPORT=y -CONFIG_FTRACE=y -CONFIG_FUNCTION_TRACER=y -CONFIG_FUNCTION_GRAPH_TRACER=y -# CONFIG_IRQSOFF_TRACER is not set -# CONFIG_PREEMPT_TRACER is not set -# CONFIG_SCHED_TRACER is not set -# CONFIG_FTRACE_SYSCALLS is not set -# CONFIG_TRACER_SNAPSHOT is not set -CONFIG_BRANCH_PROFILE_NONE=y -# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set -# CONFIG_PROFILE_ALL_BRANCHES is not set -# CONFIG_STACK_TRACER is not set -# CONFIG_BLK_DEV_IO_TRACE is not set -# CONFIG_UPROBE_EVENT is not set -# CONFIG_PROBE_EVENTS is not set -CONFIG_DYNAMIC_FTRACE=y -CONFIG_DYNAMIC_FTRACE_WITH_REGS=y -# CONFIG_FUNCTION_PROFILER is not set -CONFIG_FTRACE_MCOUNT_RECORD=y -# CONFIG_FTRACE_STARTUP_TEST is not set -# CONFIG_MMIOTRACE is not set -# CONFIG_HIST_TRIGGERS is not set -# CONFIG_TRACEPOINT_BENCHMARK is not set -# CONFIG_RING_BUFFER_BENCHMARK is not set -# CONFIG_RING_BUFFER_STARTUP_TEST is not set -# CONFIG_TRACE_ENUM_MAP_FILE is not set -CONFIG_TRACING_EVENTS_GPIO=y - -# -# Runtime Testing -# -# CONFIG_LKDTM is not set -# CONFIG_TEST_LIST_SORT is not set -# CONFIG_BACKTRACE_SELF_TEST is not set -# CONFIG_RBTREE_TEST is not set -# CONFIG_INTERVAL_TREE_TEST is not set -# CONFIG_PERCPU_TEST is not set -# CONFIG_ATOMIC64_SELFTEST is not set -# CONFIG_TEST_HEXDUMP is not set -# CONFIG_TEST_STRING_HELPERS is not set -# CONFIG_TEST_KSTRTOX is not set -# CONFIG_TEST_PRINTF is not set -# CONFIG_TEST_BITMAP is not set -# CONFIG_TEST_UUID is not set -# CONFIG_TEST_RHASHTABLE is not set -# CONFIG_TEST_HASH is not set -# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set -# CONFIG_DMA_API_DEBUG is not set -# CONFIG_TEST_LKM is not set -# CONFIG_TEST_USER_COPY is not set -# CONFIG_TEST_BPF is not set -# CONFIG_TEST_FIRMWARE is not set -# CONFIG_TEST_UDELAY is not set -# CONFIG_MEMTEST is not set -# CONFIG_TEST_STATIC_KEYS is not set -# CONFIG_SAMPLES is not set -CONFIG_HAVE_ARCH_KGDB=y -# CONFIG_KGDB is not set -CONFIG_ARCH_HAS_UBSAN_SANITIZE_ALL=y -# CONFIG_UBSAN is not set -CONFIG_ARCH_HAS_DEVMEM_IS_ALLOWED=y -# CONFIG_IO_STRICT_DEVMEM is not set -CONFIG_X86_VERBOSE_BOOTUP=y -CONFIG_EARLY_PRINTK=y -# CONFIG_EARLY_PRINTK_DBGP is not set -# CONFIG_EARLY_PRINTK_EFI is not set -# CONFIG_X86_PTDUMP_CORE is not set -# CONFIG_X86_PTDUMP is not set -# CONFIG_EFI_PGT_DUMP is not set -CONFIG_DEBUG_RODATA_TEST=y -# CONFIG_DEBUG_WX is not set -# CONFIG_DEBUG_SET_MODULE_RONX is not set -# CONFIG_DEBUG_NX_TEST is not set -CONFIG_DOUBLEFAULT=y -# CONFIG_DEBUG_TLBFLUSH is not set -# CONFIG_IOMMU_STRESS is not set -CONFIG_HAVE_MMIOTRACE_SUPPORT=y -CONFIG_IO_DELAY_TYPE_0X80=0 -CONFIG_IO_DELAY_TYPE_0XED=1 -CONFIG_IO_DELAY_TYPE_UDELAY=2 -CONFIG_IO_DELAY_TYPE_NONE=3 -CONFIG_IO_DELAY_0X80=y -# CONFIG_IO_DELAY_0XED is not set -# CONFIG_IO_DELAY_UDELAY is not set -# CONFIG_IO_DELAY_NONE is not set -CONFIG_DEFAULT_IO_DELAY_TYPE=0 -# CONFIG_DEBUG_BOOT_PARAMS is not set -# CONFIG_CPA_DEBUG is not set -# CONFIG_OPTIMIZE_INLINING is not set -# CONFIG_DEBUG_ENTRY is not set -# CONFIG_DEBUG_NMI_SELFTEST is not set -CONFIG_X86_DEBUG_FPU=y -# CONFIG_PUNIT_ATOM_DEBUG is not set - -# -# Security options -# -# CONFIG_KEYS is not set -# CONFIG_SECURITY_DMESG_RESTRICT is not set -# CONFIG_SECURITYFS is not set -CONFIG_SECURITY_NETWORK=y -# CONFIG_SECURITY_NETWORK_XFRM is not set -CONFIG_LSM_MMAP_MIN_ADDR=65536 -CONFIG_HAVE_HARDENED_USERCOPY_ALLOCATOR=y -CONFIG_HAVE_ARCH_HARDENED_USERCOPY=y -# CONFIG_SECURITY_SMACK is not set -# CONFIG_SECURITY_TOMOYO is not set -# CONFIG_SECURITY_APPARMOR is not set -# CONFIG_SECURITY_LOADPIN is not set -CONFIG_INTEGRITY=y -CONFIG_INTEGRITY_AUDIT=y -# CONFIG_IMA is not set -# CONFIG_EVM is not set -CONFIG_XOR_BLOCKS=m -CONFIG_CRYPTO=y - -# -# Crypto core or helper +# Crypto core or helper # CONFIG_CRYPTO_ALGAPI=y CONFIG_CRYPTO_ALGAPI2=y @@ -6710,10 +6056,13 @@ CONFIG_CRYPTO_RNG=y CONFIG_CRYPTO_RNG2=y CONFIG_CRYPTO_RNG_DEFAULT=y CONFIG_CRYPTO_AKCIPHER2=y +CONFIG_CRYPTO_AKCIPHER=y CONFIG_CRYPTO_KPP2=y -# CONFIG_CRYPTO_RSA is not set +CONFIG_CRYPTO_KPP=m +CONFIG_CRYPTO_ACOMP2=y +CONFIG_CRYPTO_RSA=y # CONFIG_CRYPTO_DH is not set -# CONFIG_CRYPTO_ECDH is not set +CONFIG_CRYPTO_ECDH=m CONFIG_CRYPTO_MANAGER=y CONFIG_CRYPTO_MANAGER2=y # CONFIG_CRYPTO_USER is not set @@ -6726,16 +6075,28 @@ CONFIG_CRYPTO_WORKQUEUE=y CONFIG_CRYPTO_CRYPTD=y # CONFIG_CRYPTO_MCRYPTD is not set CONFIG_CRYPTO_AUTHENC=y -CONFIG_CRYPTO_TEST=m -CONFIG_CRYPTO_ABLK_HELPER=y +# CONFIG_CRYPTO_TEST is not set +CONFIG_CRYPTO_SIMD=y CONFIG_CRYPTO_GLUE_HELPER_X86=y +CONFIG_CRYPTO_ENGINE=m # # Authenticated Encryption with Associated Data # CONFIG_CRYPTO_CCM=y -CONFIG_CRYPTO_GCM=m +CONFIG_CRYPTO_GCM=y # CONFIG_CRYPTO_CHACHA20POLY1305 is not set +# CONFIG_CRYPTO_AEGIS128 is not set +# CONFIG_CRYPTO_AEGIS128L is not set +# CONFIG_CRYPTO_AEGIS256 is not set +# CONFIG_CRYPTO_AEGIS128_AESNI_SSE2 is not set +# CONFIG_CRYPTO_AEGIS128L_AESNI_SSE2 is not set +# CONFIG_CRYPTO_AEGIS256_AESNI_SSE2 is not set +# CONFIG_CRYPTO_MORUS640 is not set +# CONFIG_CRYPTO_MORUS640_SSE2 is not set +# CONFIG_CRYPTO_MORUS1280 is not set +# CONFIG_CRYPTO_MORUS1280_SSE2 is not set +# CONFIG_CRYPTO_MORUS1280_AVX2 is not set CONFIG_CRYPTO_SEQIV=y CONFIG_CRYPTO_ECHAINIV=y @@ -6743,11 +6104,12 @@ CONFIG_CRYPTO_ECHAINIV=y # Block modes # CONFIG_CRYPTO_CBC=y +# CONFIG_CRYPTO_CFB is not set CONFIG_CRYPTO_CTR=y -# CONFIG_CRYPTO_CTS is not set +CONFIG_CRYPTO_CTS=y CONFIG_CRYPTO_ECB=y CONFIG_CRYPTO_LRW=y -CONFIG_CRYPTO_PCBC=m +# CONFIG_CRYPTO_PCBC is not set CONFIG_CRYPTO_XTS=y # CONFIG_CRYPTO_KEYWRAP is not set @@ -6756,75 +6118,77 @@ CONFIG_CRYPTO_XTS=y # CONFIG_CRYPTO_CMAC=y CONFIG_CRYPTO_HMAC=y -CONFIG_CRYPTO_XCBC=m +# CONFIG_CRYPTO_XCBC is not set # CONFIG_CRYPTO_VMAC is not set # # Digest # CONFIG_CRYPTO_CRC32C=y -# CONFIG_CRYPTO_CRC32C_INTEL is not set -# CONFIG_CRYPTO_CRC32 is not set +CONFIG_CRYPTO_CRC32C_INTEL=y +CONFIG_CRYPTO_CRC32=y # CONFIG_CRYPTO_CRC32_PCLMUL is not set -# CONFIG_CRYPTO_CRCT10DIF is not set -CONFIG_CRYPTO_GHASH=m +CONFIG_CRYPTO_CRCT10DIF=y +CONFIG_CRYPTO_CRCT10DIF_PCLMUL=y +CONFIG_CRYPTO_GHASH=y # CONFIG_CRYPTO_POLY1305 is not set # CONFIG_CRYPTO_POLY1305_X86_64 is not set -CONFIG_CRYPTO_MD4=m +CONFIG_CRYPTO_MD4=y CONFIG_CRYPTO_MD5=y -CONFIG_CRYPTO_MICHAEL_MIC=y +CONFIG_CRYPTO_MICHAEL_MIC=m # CONFIG_CRYPTO_RMD128 is not set # CONFIG_CRYPTO_RMD160 is not set # CONFIG_CRYPTO_RMD256 is not set # CONFIG_CRYPTO_RMD320 is not set CONFIG_CRYPTO_SHA1=y CONFIG_CRYPTO_SHA1_SSSE3=y -CONFIG_CRYPTO_SHA256_SSSE3=y -CONFIG_CRYPTO_SHA512_SSSE3=y +# CONFIG_CRYPTO_SHA256_SSSE3 is not set +# CONFIG_CRYPTO_SHA512_SSSE3 is not set # CONFIG_CRYPTO_SHA1_MB is not set # CONFIG_CRYPTO_SHA256_MB is not set # CONFIG_CRYPTO_SHA512_MB is not set CONFIG_CRYPTO_SHA256=y CONFIG_CRYPTO_SHA512=y # CONFIG_CRYPTO_SHA3 is not set -CONFIG_CRYPTO_TGR192=m -CONFIG_CRYPTO_WP512=m +# CONFIG_CRYPTO_SM3 is not set +# CONFIG_CRYPTO_TGR192 is not set +# CONFIG_CRYPTO_WP512 is not set # CONFIG_CRYPTO_GHASH_CLMUL_NI_INTEL is not set # # Ciphers # CONFIG_CRYPTO_AES=y -CONFIG_CRYPTO_AES_X86_64=m -CONFIG_CRYPTO_AES_NI_INTEL=m -CONFIG_CRYPTO_ANUBIS=m +# CONFIG_CRYPTO_AES_TI is not set +CONFIG_CRYPTO_AES_X86_64=y +CONFIG_CRYPTO_AES_NI_INTEL=y +# CONFIG_CRYPTO_ANUBIS is not set CONFIG_CRYPTO_ARC4=y -CONFIG_CRYPTO_BLOWFISH=m +CONFIG_CRYPTO_BLOWFISH=y CONFIG_CRYPTO_BLOWFISH_COMMON=y CONFIG_CRYPTO_BLOWFISH_X86_64=y -CONFIG_CRYPTO_CAMELLIA=m -CONFIG_CRYPTO_CAMELLIA_X86_64=m -CONFIG_CRYPTO_CAMELLIA_AESNI_AVX_X86_64=m -CONFIG_CRYPTO_CAMELLIA_AESNI_AVX2_X86_64=m -CONFIG_CRYPTO_CAST_COMMON=m -CONFIG_CRYPTO_CAST5=m -CONFIG_CRYPTO_CAST5_AVX_X86_64=m -CONFIG_CRYPTO_CAST6=m -CONFIG_CRYPTO_CAST6_AVX_X86_64=m +# CONFIG_CRYPTO_CAMELLIA is not set +# CONFIG_CRYPTO_CAMELLIA_X86_64 is not set +# CONFIG_CRYPTO_CAMELLIA_AESNI_AVX_X86_64 is not set +# CONFIG_CRYPTO_CAMELLIA_AESNI_AVX2_X86_64 is not set +# CONFIG_CRYPTO_CAST5 is not set +# CONFIG_CRYPTO_CAST5_AVX_X86_64 is not set +# CONFIG_CRYPTO_CAST6 is not set +# CONFIG_CRYPTO_CAST6_AVX_X86_64 is not set CONFIG_CRYPTO_DES=y # CONFIG_CRYPTO_DES3_EDE_X86_64 is not set -CONFIG_CRYPTO_FCRYPT=m -CONFIG_CRYPTO_KHAZAD=m +# CONFIG_CRYPTO_FCRYPT is not set +# CONFIG_CRYPTO_KHAZAD is not set # CONFIG_CRYPTO_SALSA20 is not set -# CONFIG_CRYPTO_SALSA20_X86_64 is not set # CONFIG_CRYPTO_CHACHA20 is not set # CONFIG_CRYPTO_CHACHA20_X86_64 is not set # CONFIG_CRYPTO_SEED is not set -CONFIG_CRYPTO_SERPENT=m -CONFIG_CRYPTO_SERPENT_SSE2_X86_64=m -CONFIG_CRYPTO_SERPENT_AVX_X86_64=m -CONFIG_CRYPTO_SERPENT_AVX2_X86_64=m -CONFIG_CRYPTO_TEA=m +# CONFIG_CRYPTO_SERPENT is not set +# CONFIG_CRYPTO_SERPENT_SSE2_X86_64 is not set +# CONFIG_CRYPTO_SERPENT_AVX_X86_64 is not set +# CONFIG_CRYPTO_SERPENT_AVX2_X86_64 is not set +# CONFIG_CRYPTO_SM4 is not set +# CONFIG_CRYPTO_TEA is not set CONFIG_CRYPTO_TWOFISH=y CONFIG_CRYPTO_TWOFISH_COMMON=y CONFIG_CRYPTO_TWOFISH_X86_64=y @@ -6835,10 +6199,11 @@ CONFIG_CRYPTO_TWOFISH_AVX_X86_64=y # Compression # CONFIG_CRYPTO_DEFLATE=y -# CONFIG_CRYPTO_LZO is not set +CONFIG_CRYPTO_LZO=y # CONFIG_CRYPTO_842 is not set -# CONFIG_CRYPTO_LZ4 is not set -# CONFIG_CRYPTO_LZ4HC is not set +CONFIG_CRYPTO_LZ4=y +CONFIG_CRYPTO_LZ4HC=y +# CONFIG_CRYPTO_ZSTD is not set # # Random Number Generation @@ -6850,26 +6215,45 @@ CONFIG_CRYPTO_DRBG_HMAC=y # CONFIG_CRYPTO_DRBG_CTR is not set CONFIG_CRYPTO_DRBG=y CONFIG_CRYPTO_JITTERENTROPY=y -CONFIG_CRYPTO_USER_API=m -CONFIG_CRYPTO_USER_API_HASH=m -CONFIG_CRYPTO_USER_API_SKCIPHER=m +# CONFIG_CRYPTO_USER_API_HASH is not set +# CONFIG_CRYPTO_USER_API_SKCIPHER is not set # CONFIG_CRYPTO_USER_API_RNG is not set # CONFIG_CRYPTO_USER_API_AEAD is not set -# CONFIG_CRYPTO_HW is not set +CONFIG_CRYPTO_HASH_INFO=y +CONFIG_CRYPTO_HW=y +# CONFIG_CRYPTO_DEV_PADLOCK is not set +# CONFIG_CRYPTO_DEV_CCP is not set +# CONFIG_CRYPTO_DEV_QAT_DH895xCC is not set +# CONFIG_CRYPTO_DEV_QAT_C3XXX is not set +# CONFIG_CRYPTO_DEV_QAT_C62X is not set +# CONFIG_CRYPTO_DEV_QAT_DH895xCCVF is not set +# CONFIG_CRYPTO_DEV_QAT_C3XXXVF is not set +# CONFIG_CRYPTO_DEV_QAT_C62XVF is not set +# CONFIG_CRYPTO_DEV_NITROX_CNN55XX is not set +# CONFIG_CRYPTO_DEV_CHELSIO is not set +CONFIG_CRYPTO_DEV_VIRTIO=m +CONFIG_ASYMMETRIC_KEY_TYPE=y +CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=y +CONFIG_X509_CERTIFICATE_PARSER=y +CONFIG_PKCS7_MESSAGE_PARSER=y +CONFIG_PKCS7_TEST_KEY=y +# CONFIG_SIGNED_PE_FILE_VERIFICATION is not set # # Certificates for signature checking # -CONFIG_HAVE_KVM=y -# CONFIG_VIRTUALIZATION is not set +CONFIG_MODULE_SIG_KEY="certs/signing_key.pem" +CONFIG_SYSTEM_TRUSTED_KEYRING=y +CONFIG_SYSTEM_TRUSTED_KEYS="" +# CONFIG_SYSTEM_EXTRA_CERTIFICATE is not set +# CONFIG_SECONDARY_TRUSTED_KEYRING is not set +# CONFIG_SYSTEM_BLACKLIST_KEYRING is not set CONFIG_BINARY_PRINTF=y # # Library routines # -CONFIG_RAID6_PQ=m CONFIG_BITREVERSE=y -# CONFIG_HAVE_ARCH_BITREVERSE is not set CONFIG_RATIONAL=y CONFIG_GENERIC_STRNCPY_FROM_USER=y CONFIG_GENERIC_STRNLEN_USER=y @@ -6877,38 +6261,46 @@ CONFIG_GENERIC_NET_UTILS=y CONFIG_GENERIC_FIND_FIRST_BIT=y CONFIG_GENERIC_PCI_IOMAP=y CONFIG_GENERIC_IOMAP=y -CONFIG_GENERIC_IO=y CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y CONFIG_ARCH_HAS_FAST_MULTIPLIER=y CONFIG_CRC_CCITT=y CONFIG_CRC16=y -# CONFIG_CRC_T10DIF is not set -CONFIG_CRC_ITU_T=m +CONFIG_CRC_T10DIF=y +CONFIG_CRC_ITU_T=y CONFIG_CRC32=y # CONFIG_CRC32_SELFTEST is not set CONFIG_CRC32_SLICEBY8=y # CONFIG_CRC32_SLICEBY4 is not set # CONFIG_CRC32_SARWATE is not set # CONFIG_CRC32_BIT is not set +CONFIG_CRC64=m +# CONFIG_CRC4 is not set CONFIG_CRC7=m CONFIG_LIBCRC32C=y -# CONFIG_CRC8 is not set -# CONFIG_AUDIT_ARCH_COMPAT_GENERIC is not set +CONFIG_CRC8=y # CONFIG_RANDOM32_SELFTEST is not set CONFIG_ZLIB_INFLATE=y CONFIG_ZLIB_DEFLATE=y CONFIG_LZO_COMPRESS=y CONFIG_LZO_DECOMPRESS=y +CONFIG_LZ4_COMPRESS=y +CONFIG_LZ4HC_COMPRESS=y +CONFIG_LZ4_DECOMPRESS=y CONFIG_XZ_DEC=y CONFIG_XZ_DEC_X86=y -CONFIG_XZ_DEC_POWERPC=y -CONFIG_XZ_DEC_IA64=y -CONFIG_XZ_DEC_ARM=y -CONFIG_XZ_DEC_ARMTHUMB=y -CONFIG_XZ_DEC_SPARC=y +# CONFIG_XZ_DEC_POWERPC is not set +# CONFIG_XZ_DEC_IA64 is not set +# CONFIG_XZ_DEC_ARM is not set +# CONFIG_XZ_DEC_ARMTHUMB is not set +# CONFIG_XZ_DEC_SPARC is not set CONFIG_XZ_DEC_BCJ=y # CONFIG_XZ_DEC_TEST is not set CONFIG_DECOMPRESS_GZIP=y +CONFIG_DECOMPRESS_BZIP2=y +CONFIG_DECOMPRESS_LZMA=y +CONFIG_DECOMPRESS_XZ=y +CONFIG_DECOMPRESS_LZO=y +CONFIG_DECOMPRESS_LZ4=y CONFIG_GENERIC_ALLOCATOR=y CONFIG_REED_SOLOMON=y CONFIG_REED_SOLOMON_ENC8=y @@ -6918,127 +6310,288 @@ CONFIG_TEXTSEARCH_KMP=y CONFIG_TEXTSEARCH_BM=y CONFIG_TEXTSEARCH_FSM=y CONFIG_INTERVAL_TREE=y +CONFIG_RADIX_TREE_MULTIORDER=y +CONFIG_ASSOCIATIVE_ARRAY=y CONFIG_HAS_IOMEM=y CONFIG_HAS_IOPORT_MAP=y CONFIG_HAS_DMA=y +CONFIG_NEED_SG_DMA_LENGTH=y +CONFIG_NEED_DMA_MAP_STATE=y +CONFIG_ARCH_DMA_ADDR_T_64BIT=y +CONFIG_DMA_DIRECT_OPS=y +CONFIG_SWIOTLB=y +CONFIG_SGL_ALLOC=y +CONFIG_IOMMU_HELPER=y CONFIG_CHECK_SIGNATURE=y CONFIG_CPU_RMAP=y CONFIG_DQL=y CONFIG_GLOB=y # CONFIG_GLOB_SELFTEST is not set CONFIG_NLATTR=y -CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y +CONFIG_CLZ_TAB=y CONFIG_CORDIC=m # CONFIG_DDR is not set # CONFIG_IRQ_POLL is not set +CONFIG_MPILIB=y +CONFIG_OID_REGISTRY=y CONFIG_UCS2_STRING=y CONFIG_FONT_SUPPORT=y -CONFIG_FONTS=y -# CONFIG_FONT_8x8 is not set CONFIG_FONT_8x16=y -# CONFIG_FONT_6x11 is not set -# CONFIG_FONT_7x14 is not set -# CONFIG_FONT_PEARL_8x8 is not set -# CONFIG_FONT_ACORN_8x8 is not set -# CONFIG_FONT_MINI_4x6 is not set -# CONFIG_FONT_6x10 is not set -# CONFIG_FONT_SUN8x16 is not set -# CONFIG_FONT_SUN12x22 is not set -# CONFIG_FONT_10x18 is not set CONFIG_FONT_AUTOSELECT=y -# CONFIG_SG_SPLIT is not set CONFIG_SG_POOL=y CONFIG_ARCH_HAS_SG_CHAIN=y CONFIG_ARCH_HAS_PMEM_API=y -CONFIG_ARCH_HAS_MMIO_FLUSH=y +CONFIG_ARCH_HAS_UACCESS_FLUSHCACHE=y +CONFIG_ARCH_HAS_UACCESS_MCSAFE=y +CONFIG_SBITMAP=y +# CONFIG_STRING_SELFTEST is not set +# +# Kernel hacking +# -CONFIG_LOCALVERSION="-android_ia_64" -CONFIG_DEFAULT_HOSTNAME="android_ia_64" -CONFIG_SYNC_FILE=y -CONFIG_SYNC=y -CONFIG_SW_SYNC=y -CONFIG_SW_SYNC_USER=y -CONFIG_DEFAULT_SECURITY_SELINUX=y -# CONFIG_DEFAULT_SECURITY_DAC is not set -CONFIG_DEFAULT_SECURITY="selinux" -CONFIG_SECURITY_SELINUX=y -CONFIG_SECURITY_PATH=y -CONFIG_SECURITY_SELINUX_BOOTPARAM=y -CONFIG_SECURITY_SELINUX_DISABLE=y -CONFIG_SECURITY_SELINUX_DEVELOP=y -CONFIG_SECURITY_SELINUX_AVC_STATS=y -CONFIG_SECURITY_SELINUX_BOOTPARAM_VALUE=1 -CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1 -CONFIG_X86=n +# +# printk and dmesg options +# +CONFIG_PRINTK_TIME=y +CONFIG_CONSOLE_LOGLEVEL_DEFAULT=7 +CONFIG_CONSOLE_LOGLEVEL_QUIET=4 +CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 +# CONFIG_BOOT_PRINTK_DELAY is not set +CONFIG_DYNAMIC_DEBUG=y -# Make sure kernel page tables have safe permissions. +# +# Compile-time checks and compiler options +# +CONFIG_DEBUG_INFO=y +# CONFIG_DEBUG_INFO_REDUCED is not set +# CONFIG_DEBUG_INFO_SPLIT is not set +# CONFIG_DEBUG_INFO_DWARF4 is not set +# CONFIG_GDB_SCRIPTS is not set +CONFIG_ENABLE_MUST_CHECK=y +CONFIG_FRAME_WARN=2048 +# CONFIG_STRIP_ASM_SYMS is not set +# CONFIG_READABLE_ASM is not set +# CONFIG_UNUSED_SYMBOLS is not set +# CONFIG_PAGE_OWNER is not set +CONFIG_DEBUG_FS=y +# CONFIG_HEADERS_CHECK is not set +# CONFIG_DEBUG_SECTION_MISMATCH is not set +CONFIG_SECTION_MISMATCH_WARN_ONLY=y +CONFIG_STACK_VALIDATION=y +# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set +CONFIG_MAGIC_SYSRQ=y +CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x1 +CONFIG_MAGIC_SYSRQ_SERIAL=y CONFIG_DEBUG_KERNEL=y -# Blocks direct physical memory access. -CONFIG_STRICT_DEVMEM=y - -# Provides some protections against SYN flooding. -CONFIG_SYN_COOKIES=y - -# Perform additional validation of credentials. -CONFIG_DEBUG_CREDENTIALS=y - -# Provide userspace with seccomp BPF API for syscall attack surface reduction. -CONFIG_SECCOMP_FILTER=y - -# Randomize allocator freelists. -CONFIG_SLAB_FREELIST_RANDOM=y - -# Allow allocator validation checking to be enabled. -CONFIG_SLUB_DEBUG=y - -# Dangerous; allows direct physical memory writing. -# CONFIG_ACPI_CUSTOM_METHOD is not set - -# Dangerous; disables brk ASLR. -# CONFIG_COMPAT_BRK is not set - -# Dangerous; disables VDSO ASLR. -# CONFIG_COMPAT_VDSO is not set - -# Dangerous; allows replacement of running kernel. -# CONFIG_KEXEC is not set - -# Dangerous; allows replacement of running kernel. -# CONFIG_HIBERNATION is not set - -# Prior to v4.1, assists heap memory attacks; best to keep interface disabled. -# CONFIG_INET_DIAG is not set - -# Easily confused by misconfigured userspace, keep off. -# CONFIG_BINFMT_MISC is not set - -# Reboot devices immediately if kernel experiences an Oops. -CONFIG_PANIC_ON_OOPS=y - -# Disallow allocating the first 64k of memory. -CONFIG_DEFAULT_MMAP_MIN_ADDR=65536 - -# Randomize position of kernel and memory. -CONFIG_RANDOMIZE_BASE=y -CONFIG_RANDOMIZE_MEMORY=y - -# Perform usercopy bounds checking. -CONFIG_HARDENED_USERCOPY=y +# +# Memory Debugging +# +# CONFIG_PAGE_EXTENSION is not set +# CONFIG_DEBUG_PAGEALLOC is not set +# CONFIG_PAGE_POISONING is not set +# CONFIG_DEBUG_PAGE_REF is not set +# CONFIG_DEBUG_RODATA_TEST is not set +# CONFIG_DEBUG_OBJECTS is not set +# CONFIG_DEBUG_SLAB is not set +CONFIG_HAVE_DEBUG_KMEMLEAK=y +# CONFIG_DEBUG_KMEMLEAK is not set +# CONFIG_DEBUG_STACK_USAGE is not set +# CONFIG_DEBUG_VM is not set +CONFIG_ARCH_HAS_DEBUG_VIRTUAL=y +# CONFIG_DEBUG_VIRTUAL is not set +CONFIG_DEBUG_MEMORY_INIT=y +# CONFIG_DEBUG_PER_CPU_MAPS is not set +CONFIG_HAVE_DEBUG_STACKOVERFLOW=y +CONFIG_DEBUG_STACKOVERFLOW=y +CONFIG_HAVE_ARCH_KASAN=y +# CONFIG_KASAN is not set +CONFIG_ARCH_HAS_KCOV=y +# CONFIG_DEBUG_SHIRQ is not set -# Use -fstack-protector-strong (gcc 4.9+) for best stack canary coverage. -CONFIG_CC_STACKPROTECTOR=y -CONFIG_CC_STACKPROTECTOR_STRONG=y +# +# Debug Lockups and Hangs +# +# CONFIG_SOFTLOCKUP_DETECTOR is not set +CONFIG_HARDLOCKUP_CHECK_TIMESTAMP=y +# CONFIG_HARDLOCKUP_DETECTOR is not set +CONFIG_DETECT_HUNG_TASK=y +CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120 +# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set +CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0 +# CONFIG_WQ_WATCHDOG is not set +# CONFIG_PANIC_ON_OOPS is not set +CONFIG_PANIC_ON_OOPS_VALUE=0 +CONFIG_PANIC_TIMEOUT=10 +CONFIG_SCHED_DEBUG=y +CONFIG_SCHED_INFO=y +CONFIG_SCHEDSTATS=y +# CONFIG_SCHED_STACK_END_CHECK is not set +# CONFIG_DEBUG_TIMEKEEPING is not set +CONFIG_DEBUG_PREEMPT=y -# Provide userspace with ptrace ancestry protections. -CONFIG_SECURITY=y -CONFIG_SECURITY_YAMA=y +# +# Lock Debugging (spinlocks, mutexes, etc...) +# +CONFIG_LOCK_DEBUGGING_SUPPORT=y +# CONFIG_PROVE_LOCKING is not set +# CONFIG_LOCK_STAT is not set +# CONFIG_DEBUG_RT_MUTEXES is not set +# CONFIG_DEBUG_SPINLOCK is not set +# CONFIG_DEBUG_MUTEXES is not set +# CONFIG_DEBUG_WW_MUTEX_SLOWPATH is not set +# CONFIG_DEBUG_RWSEMS is not set +# CONFIG_DEBUG_LOCK_ALLOC is not set +CONFIG_DEBUG_ATOMIC_SLEEP=y +# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set +# CONFIG_LOCK_TORTURE_TEST is not set +# CONFIG_WW_MUTEX_SELFTEST is not set +CONFIG_TRACE_IRQFLAGS=y +CONFIG_STACKTRACE=y +# CONFIG_WARN_ALL_UNSEEDED_RANDOM is not set +# CONFIG_DEBUG_KOBJECT is not set +CONFIG_DEBUG_BUGVERBOSE=y +CONFIG_DEBUG_LIST=y +# CONFIG_DEBUG_PI_LIST is not set +# CONFIG_DEBUG_SG is not set +CONFIG_DEBUG_NOTIFIERS=y +# CONFIG_DEBUG_CREDENTIALS is not set -# If we build using modules, they must be signed with a per-build key. -CONFIG_MODULE_SIG=y -CONFIG_MODULE_SIG_FORCE=y -CONFIG_MODULE_SIG_ALL=y -CONFIG_MODULE_SIG_SHA512=y -CONFIG_MODULE_SIG_HASH="sha512" -CONFIG_MODULE_SIG_KEY="certs/signing_key.pem" +# +# RCU Debugging +# +# CONFIG_RCU_PERF_TEST is not set +# CONFIG_RCU_TORTURE_TEST is not set +CONFIG_RCU_CPU_STALL_TIMEOUT=21 +# CONFIG_RCU_TRACE is not set +# CONFIG_RCU_EQS_DEBUG is not set +# CONFIG_DEBUG_WQ_FORCE_RR_CPU is not set +# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set +# CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set +# CONFIG_NOTIFIER_ERROR_INJECTION is not set +# CONFIG_FAULT_INJECTION is not set +CONFIG_LATENCYTOP=y +CONFIG_USER_STACKTRACE_SUPPORT=y +CONFIG_NOP_TRACER=y +CONFIG_HAVE_FUNCTION_TRACER=y +CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y +CONFIG_HAVE_DYNAMIC_FTRACE=y +CONFIG_HAVE_DYNAMIC_FTRACE_WITH_REGS=y +CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y +CONFIG_HAVE_SYSCALL_TRACEPOINTS=y +CONFIG_HAVE_FENTRY=y +CONFIG_HAVE_C_RECORDMCOUNT=y +CONFIG_TRACER_MAX_TRACE=y +CONFIG_TRACE_CLOCK=y +CONFIG_RING_BUFFER=y +CONFIG_EVENT_TRACING=y +CONFIG_CONTEXT_SWITCH_TRACER=y +CONFIG_RING_BUFFER_ALLOW_SWAP=y +CONFIG_PREEMPTIRQ_TRACEPOINTS=y +CONFIG_TRACING=y +CONFIG_GENERIC_TRACER=y +CONFIG_TRACING_SUPPORT=y +CONFIG_FTRACE=y +CONFIG_FUNCTION_TRACER=y +CONFIG_FUNCTION_GRAPH_TRACER=y +# CONFIG_PREEMPTIRQ_EVENTS is not set +CONFIG_IRQSOFF_TRACER=y +# CONFIG_PREEMPT_TRACER is not set +CONFIG_SCHED_TRACER=y +# CONFIG_HWLAT_TRACER is not set +CONFIG_FTRACE_SYSCALLS=y +CONFIG_TRACER_SNAPSHOT=y +CONFIG_TRACER_SNAPSHOT_PER_CPU_SWAP=y +CONFIG_BRANCH_PROFILE_NONE=y +# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set +# CONFIG_PROFILE_ALL_BRANCHES is not set +# CONFIG_STACK_TRACER is not set +CONFIG_BLK_DEV_IO_TRACE=y +# CONFIG_UPROBE_EVENTS is not set +CONFIG_DYNAMIC_FTRACE=y +CONFIG_DYNAMIC_FTRACE_WITH_REGS=y +# CONFIG_FUNCTION_PROFILER is not set +CONFIG_FTRACE_MCOUNT_RECORD=y +# CONFIG_FTRACE_STARTUP_TEST is not set +# CONFIG_MMIOTRACE is not set +# CONFIG_HIST_TRIGGERS is not set +# CONFIG_TRACEPOINT_BENCHMARK is not set +# CONFIG_RING_BUFFER_BENCHMARK is not set +# CONFIG_RING_BUFFER_STARTUP_TEST is not set +# CONFIG_PREEMPTIRQ_DELAY_TEST is not set +# CONFIG_TRACE_EVAL_MAP_FILE is not set +CONFIG_TRACING_EVENTS_GPIO=y +CONFIG_PROVIDE_OHCI1394_DMA_INIT=y +# CONFIG_DMA_API_DEBUG is not set +CONFIG_RUNTIME_TESTING_MENU=y +# CONFIG_LKDTM is not set +# CONFIG_TEST_LIST_SORT is not set +# CONFIG_TEST_SORT is not set +# CONFIG_BACKTRACE_SELF_TEST is not set +# CONFIG_RBTREE_TEST is not set +# CONFIG_INTERVAL_TREE_TEST is not set +# CONFIG_PERCPU_TEST is not set +# CONFIG_ATOMIC64_SELFTEST is not set +# CONFIG_TEST_HEXDUMP is not set +# CONFIG_TEST_STRING_HELPERS is not set +# CONFIG_TEST_KSTRTOX is not set +# CONFIG_TEST_PRINTF is not set +# CONFIG_TEST_BITMAP is not set +# CONFIG_TEST_BITFIELD is not set +# CONFIG_TEST_UUID is not set +# CONFIG_TEST_OVERFLOW is not set +# CONFIG_TEST_RHASHTABLE is not set +# CONFIG_TEST_HASH is not set +# CONFIG_TEST_IDA is not set +# CONFIG_TEST_LKM is not set +# CONFIG_TEST_USER_COPY is not set +# CONFIG_TEST_BPF is not set +# CONFIG_FIND_BIT_BENCHMARK is not set +# CONFIG_TEST_FIRMWARE is not set +# CONFIG_TEST_SYSCTL is not set +# CONFIG_TEST_UDELAY is not set +# CONFIG_TEST_STATIC_KEYS is not set +# CONFIG_TEST_KMOD is not set +# CONFIG_TEST_MEMCAT_P is not set +# CONFIG_MEMTEST is not set +# CONFIG_BUG_ON_DATA_CORRUPTION is not set +# CONFIG_SAMPLES is not set +CONFIG_HAVE_ARCH_KGDB=y +# CONFIG_KGDB is not set +CONFIG_ARCH_HAS_UBSAN_SANITIZE_ALL=y +# CONFIG_UBSAN is not set +CONFIG_ARCH_HAS_DEVMEM_IS_ALLOWED=y +CONFIG_TRACE_IRQFLAGS_SUPPORT=y +CONFIG_EARLY_PRINTK_USB=y +CONFIG_X86_VERBOSE_BOOTUP=y +CONFIG_EARLY_PRINTK=y +CONFIG_EARLY_PRINTK_DBGP=y +CONFIG_EARLY_PRINTK_EFI=y +# CONFIG_EARLY_PRINTK_USB_XDBC is not set +# CONFIG_X86_PTDUMP is not set +# CONFIG_EFI_PGT_DUMP is not set +# CONFIG_DEBUG_WX is not set +CONFIG_DOUBLEFAULT=y +# CONFIG_DEBUG_TLBFLUSH is not set +# CONFIG_IOMMU_DEBUG is not set +CONFIG_HAVE_MMIOTRACE_SUPPORT=y +CONFIG_IO_DELAY_TYPE_0X80=0 +CONFIG_IO_DELAY_TYPE_0XED=1 +CONFIG_IO_DELAY_TYPE_UDELAY=2 +CONFIG_IO_DELAY_TYPE_NONE=3 +CONFIG_IO_DELAY_0X80=y +# CONFIG_IO_DELAY_0XED is not set +# CONFIG_IO_DELAY_UDELAY is not set +# CONFIG_IO_DELAY_NONE is not set +CONFIG_DEFAULT_IO_DELAY_TYPE=0 +CONFIG_DEBUG_BOOT_PARAMS=y +# CONFIG_CPA_DEBUG is not set +CONFIG_OPTIMIZE_INLINING=y +# CONFIG_DEBUG_ENTRY is not set +# CONFIG_DEBUG_NMI_SELFTEST is not set +CONFIG_X86_DEBUG_FPU=y +# CONFIG_PUNIT_ATOM_DEBUG is not set +CONFIG_UNWINDER_ORC=y +# CONFIG_UNWINDER_FRAME_POINTER is not set +# CONFIG_UNWINDER_GUESS is not set diff --git a/manifest.xml b/manifest.xml new file mode 100644 index 000000000..ed8b9ec1d --- /dev/null +++ b/manifest.xml @@ -0,0 +1,222 @@ + + + 27.0 + + + android.hardware.audio + hwbinder + 4.0 + + IDevicesFactory + default + + + + android.hardware.audio.effect + hwbinder + 4.0 + + IEffectsFactory + default + + + + android.hardware.graphics.composer + hwbinder + 2.1 + + IComposer + default + + + + android.hardware.graphics.allocator + hwbinder + 2.0 + + IAllocator + default + + + + android.hardware.graphics.mapper + passthrough + 2.0 + + IMapper + default + + + + android.hardware.automotive.vehicle + hwbinder + 2.0 + + IVehicle + default + + + + android.hardware.dumpstate + hwbinder + 1.0 + + IDumpstateDevice + default + + + + android.hardware.memtrack + hwbinder + 1.0 + + IMemtrack + default + + + + android.hardware.gatekeeper + hwbinder + 1.0 + + IGatekeeper + default + + + + android.hardware.keymaster + hwbinder + 3.0 + + IKeymasterDevice + default + + + + android.hardware.power + hwbinder + 1.2 + + IPower + default + + + + android.hardware.drm + hwbinder + 1.0 + + ICryptoFactory + default + + + IDrmFactory + default + + @1.1::ICryptoFactory/clearkey + @1.1::IDrmFactory/clearkey + + + android.hardware.usb + hwbinder + 1.0 + + IUsb + default + + + + android.hardware.bluetooth + hwbinder + 1.0 + + IBluetoothHci + default + + + + android.hardware.camera.provider + hwbinder + 2.4 + + ICameraProvider + external/0 + + + + android.hardware.configstore + hwbinder + 1.0 + + ISurfaceFlingerConfigs + default + + + + android.hardware.wifi.supplicant + hwbinder + 1.1 + + ISupplicant + default + + + + android.hardware.wifi + hwbinder + 1.2 + + IWifi + default + + + + android.hardware.wifi.hostapd + hwbinder + 1.0 + + IHostapd + default + + + + android.hardware.media.omx + hwbinder + 1.0 + + IOmx + default + + + IOmxStore + default + + + + android.hardware.health + hwbinder + 2.0 + + IHealth + default + + + + android.hardware.boot + hwbinder + 1.0 + + IBootControl + default + + + + android.hardware.cas + hwbinder + 1.0 + + IMediaCasService + default + + + diff --git a/patches/patch-aosp.sh b/patches/patch-aosp.sh index da2f0fd58..0efe3243f 100755 --- a/patches/patch-aosp.sh +++ b/patches/patch-aosp.sh @@ -1,6 +1,6 @@ #!/bin/sh -PATCH_DIR=`pwd`/device/intel/android_ia/patches +PATCH_DIR=`pwd`/device/intel/project-celadon/patches echo "Android IA: Patching AOSP Tree" diff --git a/power/Android.bp b/power/Android.bp new file mode 100644 index 000000000..30264da08 --- /dev/null +++ b/power/Android.bp @@ -0,0 +1,72 @@ +// Copyright (C) 2016 The Android Open Source Project +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +cc_library_shared { + name: "android.hardware.power@1.2-impl", + defaults: ["hidl_defaults"], + proprietary: true, + relative_install_path: "hw", + srcs: ["Power.cpp"], + + cflags: [ + "-Wall", + "-Werror", + "-D_FORTIFY_SOURCE=2", + "-Wformat", + "-Wformat-security", + ], + + shared_libs: [ + "liblog", + "libhardware", + "libhidlbase", + "libhidltransport", + "libutils", + "android.hardware.power@1.0", + "android.hardware.power@1.1", + "android.hardware.power@1.2", + ], + +} + +cc_binary { + proprietary: true, + defaults: ["hidl_defaults"], + relative_install_path: "hw", + name: "android.hardware.power@1.2-service", + init_rc: ["android.hardware.power@1.2-service.rc"], + srcs: ["service.cpp"], + + cflags: [ + "-Wall", + "-Werror", + "-D_FORTIFY_SOURCE=2", + "-Wformat", + "-Wformat-security", + ], + + shared_libs: [ + "liblog", + "libdl", + "libutils", + "libhardware", + "libhidlbase", + "libhidltransport", + "android.hardware.power@1.0", + "android.hardware.power@1.1", + "android.hardware.power@1.2", + ], + +} + diff --git a/power/Power.cpp b/power/Power.cpp new file mode 100644 index 000000000..b0aa74f86 --- /dev/null +++ b/power/Power.cpp @@ -0,0 +1,196 @@ +/* + * Copyright (C) 2016 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#define LOG_TAG "android.hardware.power@1.2-impl" + +#include + +#include +#include + +#include +#include + +#include "Power.h" + +namespace android { +namespace hardware { +namespace power { +namespace V1_2 { +namespace implementation { + +Power::Power(power_module_t *module) : mModule(module) { + if (mModule) + mModule->init(mModule); +} + +Power::~Power() { + delete(mModule); +} + +// Methods from ::android::hardware::power::V1_0::IPower follow. +Return Power::setInteractive(bool interactive) { + if (mModule->setInteractive) + mModule->setInteractive(mModule, interactive ? 1 : 0); + return Void(); +} + +Return Power::powerHint(::android::hardware::power::V1_0::PowerHint hint, int32_t data) { + int32_t param = data; + if (mModule->powerHint) { + if (data) + mModule->powerHint(mModule, static_cast(hint), ¶m); + else + mModule->powerHint(mModule, static_cast(hint), NULL); + } + return Void(); +} + +Return Power::setFeature(Feature feature, bool activate) { + if (mModule->setFeature) + mModule->setFeature(mModule, static_cast(feature), + activate ? 1 : 0); + return Void(); +} + +Return Power::getPlatformLowPowerStats(getPlatformLowPowerStats_cb _hidl_cb) { + hidl_vec states; + ssize_t number_platform_modes; + size_t *voters = nullptr; + power_state_platform_sleep_state_t *legacy_states = nullptr; + int ret; + + if (mModule->get_number_of_platform_modes == nullptr || + mModule->get_voter_list == nullptr || + mModule->get_platform_low_power_stats == nullptr) + { + _hidl_cb(states, Status::SUCCESS); + return Void(); + } + + number_platform_modes = mModule->get_number_of_platform_modes(mModule); + if (number_platform_modes) + { + if ((ssize_t) (SIZE_MAX / sizeof(size_t)) <= number_platform_modes) // overflow + goto done; + voters = new (std::nothrow) size_t [number_platform_modes]; + if (voters == nullptr) + goto done; + + ret = mModule->get_voter_list(mModule, voters); + if (ret != 0) + goto done; + + if ((ssize_t) (SIZE_MAX / sizeof(power_state_platform_sleep_state_t)) + <= number_platform_modes) // overflow + goto done; + legacy_states = new (std::nothrow) + power_state_platform_sleep_state_t [number_platform_modes]; + if (legacy_states == nullptr) + goto done; + + for (int i = 0; i < number_platform_modes; i++) + { + legacy_states[i].voters = nullptr; + legacy_states[i].voters = new power_state_voter_t [voters[i]]; + if (legacy_states[i].voters == nullptr) + goto done; + } + + ret = mModule->get_platform_low_power_stats(mModule, legacy_states); + if (ret != 0) + goto done; + + states.resize(number_platform_modes); + for (int i = 0; i < number_platform_modes; i++) + { + power_state_platform_sleep_state_t& legacy_state = legacy_states[i]; + PowerStatePlatformSleepState& state = states[i]; + state.name = legacy_state.name; + state.residencyInMsecSinceBoot = legacy_state.residency_in_msec_since_boot; + state.totalTransitions = legacy_state.total_transitions; + state.supportedOnlyInSuspend = legacy_state.supported_only_in_suspend; + state.voters.resize(voters[i]); + for(size_t j = 0; j < voters[i]; j++) + { + state.voters[j].name = legacy_state.voters[j].name; + state.voters[j].totalTimeInMsecVotedForSinceBoot = legacy_state.voters[j].total_time_in_msec_voted_for_since_boot; + state.voters[j].totalNumberOfTimesVotedSinceBoot = legacy_state.voters[j].total_number_of_times_voted_since_boot; + } + } + } +done: + if (legacy_states) + { + for (int i = 0; i < number_platform_modes; i++) + { + if(legacy_states[i].voters) + delete(legacy_states[i].voters); + } + } + delete[] legacy_states; + delete[] voters; + _hidl_cb(states, Status::SUCCESS); + return Void(); +} + +// Methods from ::android::hardware::power::V1_1::IPower follow. +Return Power::getSubsystemLowPowerStats(getSubsystemLowPowerStats_cb _hidl_cb) { + hidl_vec subsystems; + subsystems.resize(0); + _hidl_cb(subsystems, Status::SUCCESS); + return Void(); +} + +Return Power::powerHintAsync(::android::hardware::power::V1_0::PowerHint hint, int32_t data) { + return powerHint(hint, data); +} + +// Methods from ::android::hardware::power::V1_2::IPower follow. +Return Power::powerHintAsync_1_2(PowerHint hint, int32_t data) { + return powerHint(static_cast<::android::hardware::power::V1_0::PowerHint>(hint), data); +} + +IPower* HIDL_FETCH_IPower(const char* /* name */) { + const hw_module_t* hw_module = nullptr; + power_module_t* power_module = nullptr; + int err = hw_get_module(POWER_HARDWARE_MODULE_ID, &hw_module); + if (err) { + ALOGE("hw_get_module %s failed: %d", POWER_HARDWARE_MODULE_ID, err); + return nullptr; + } + + if (!hw_module->methods || !hw_module->methods->open) { + power_module = reinterpret_cast( + const_cast(hw_module)); + } else { + err = hw_module->methods->open( + hw_module, POWER_HARDWARE_MODULE_ID, + reinterpret_cast(&power_module)); + if (err) { + ALOGE("Passthrough failed to load legacy HAL."); + return nullptr; + } + } + return new Power(power_module); +} + +} // namespace implementation +} // namespace V1_2 +} // namespace power +} // namespace hardware +} // namespace android + diff --git a/power/Power.h b/power/Power.h new file mode 100644 index 000000000..c28c8ad2b --- /dev/null +++ b/power/Power.h @@ -0,0 +1,77 @@ +/* + * Copyright (C) 2016 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef ANDROID_HARDWARE_POWER_V1_2_POWER_H +#define ANDROID_HARDWARE_POWER_V1_2_POWER_H + +#include +#include + +#include + +#include +namespace android { +namespace hardware { +namespace power { +namespace V1_2 { +namespace implementation { + +using ::android::hardware::power::V1_0::Feature; +using ::android::hardware::power::V1_0::PowerStatePlatformSleepState; +using ::android::hardware::power::V1_0::Status; + +using ::android::hardware::power::V1_1::PowerStateSubsystem; +using ::android::hardware::power::V1_1::PowerStateSubsystemSleepState; + +using ::android::hardware::power::V1_2::IPower; +using ::android::hardware::power::V1_2::PowerHint; + +using ::android::hardware::Return; +using ::android::hardware::Void; +using ::android::hardware::hidl_vec; +using ::android::hardware::hidl_string; +using ::android::sp; + +struct Power : public IPower { + // Methods from ::android::hardware::power::V1_0::IPower follow. + Power(power_module_t* module); + ~Power(); + Return setInteractive(bool interactive) override; + Return powerHint(::android::hardware::power::V1_0::PowerHint hint, int32_t data) override; + Return setFeature(::android::hardware::power::V1_0::Feature feature, bool activate) override; + Return getPlatformLowPowerStats(getPlatformLowPowerStats_cb _hidl_cb) override; + + // Methods from ::android::hardware::power::V1_1::IPower follow. + Return getSubsystemLowPowerStats(getSubsystemLowPowerStats_cb _hidl_cb) override; + Return powerHintAsync(::android::hardware::power::V1_0::PowerHint hint, int32_t data) override; + + // Methods from ::android::hardware::power::V1_2::IPower follow. + Return powerHintAsync_1_2(PowerHint hint, int32_t data) override; + + private: + power_module_t* mModule; +}; + +extern "C" IPower* HIDL_FETCH_IPower(const char* name); + +} // namespace implementation +} // namespace V1_2 +} // namespace power +} // namespace hardware +} // namespace android + +#endif // ANDROID_HARDWARE_POWER_V1_2_POWER_H + diff --git a/power/android.hardware.power@1.2-service.rc b/power/android.hardware.power@1.2-service.rc new file mode 100644 index 000000000..bb835a3a9 --- /dev/null +++ b/power/android.hardware.power@1.2-service.rc @@ -0,0 +1,5 @@ +service power-hal-1-2 /vendor/bin/hw/android.hardware.power@1.2-service + class hal + user system + group system + diff --git a/power/service.cpp b/power/service.cpp new file mode 100644 index 000000000..0c71ab1e7 --- /dev/null +++ b/power/service.cpp @@ -0,0 +1,28 @@ +/* + * Copyright (C) 2016 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#define LOG_TAG "android.hardware.power@1.2-service" + +#include +#include + +using android::hardware::power::V1_2::IPower; +using android::hardware::defaultPassthroughServiceImplementation; + +int main() { + return defaultPassthroughServiceImplementation(); +} + diff --git a/sepolicy/LICENSE b/sepolicy/LICENSE deleted file mode 100644 index 9f50280f1..000000000 --- a/sepolicy/LICENSE +++ /dev/null @@ -1,15 +0,0 @@ -/* -// Copyright (c) 2016 Intel Corporation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -*/ diff --git a/sepolicy/adbd.te b/sepolicy/adbd.te deleted file mode 100644 index 3322f18db..000000000 --- a/sepolicy/adbd.te +++ /dev/null @@ -1,4 +0,0 @@ -allow adbd tmpfs:file {entrypoint read }; -allow adbd graphics_device:dir search; -allow adbd surfaceflinger:fifo_file rw_file_perms; -allow adbd host1x_device:chr_file rw_file_perms; diff --git a/sepolicy/app.te b/sepolicy/app.te deleted file mode 100644 index a495f2b33..000000000 --- a/sepolicy/app.te +++ /dev/null @@ -1,3 +0,0 @@ -# Allow apps to read /dev/dri. Needed to pass CTS -allow appdomain device:dir r_dir_perms; -allow { appdomain -isolated_app } host1x_device:chr_file rw_file_perms; diff --git a/sepolicy/appdomain.te b/sepolicy/appdomain.te deleted file mode 100644 index e4010cf08..000000000 --- a/sepolicy/appdomain.te +++ /dev/null @@ -1 +0,0 @@ -allow appdomain surfaceflinger:fifo_file rw_file_perms; diff --git a/sepolicy/audio/project-celadon/audioserver.te b/sepolicy/audio/project-celadon/audioserver.te new file mode 100644 index 000000000..963506a43 --- /dev/null +++ b/sepolicy/audio/project-celadon/audioserver.te @@ -0,0 +1,26 @@ +ignore_adb_debug(audioserver) + +set_prop(audioserver, audio_prop) + +userdebug_or_eng(` + # audioserver exposes a remote debugging port + + # used for parameter framework (PFW) tuning and debug + dontaudit audioserver fwmarkd_socket:sock_file write; + dontaudit audioserver netd:unix_stream_socket connectto; + dontaudit audioserver node:tcp_socket node_bind; + dontaudit audioserver port:tcp_socket name_bind; + dontaudit audioserver self:tcp_socket { accept bind create getopt listen read setopt write }; +') + +# audioserver recovery mechanism through uevent +allow audioserver self:netlink_kobject_uevent_socket { create bind setopt read }; +allowxperm audioserver self:netlink_kobject_uevent_socket ioctl SIOCETHTOOL; + +# Ringbuffer data files & Runtime Communication with SmartXBar data files +allow audioserver audioserver_data_file:dir rw_dir_perms; +allow audioserver audioserver_data_file:{ file fifo_file } create_file_perms; + +# allow audioserver to set SCHED_FIFO for SmartXBar worker threads +allow audioserver self:capability sys_nice; +allow audioserver self:process { setsched }; diff --git a/sepolicy/audio/project-celadon/file_contexts b/sepolicy/audio/project-celadon/file_contexts new file mode 100644 index 000000000..b197163fd --- /dev/null +++ b/sepolicy/audio/project-celadon/file_contexts @@ -0,0 +1 @@ +/dev/snd/.* u:object_r:audio_device:s0 diff --git a/sepolicy/audio/project-celadon/hal_audio_default.te b/sepolicy/audio/project-celadon/hal_audio_default.te new file mode 100644 index 000000000..cac593851 --- /dev/null +++ b/sepolicy/audio/project-celadon/hal_audio_default.te @@ -0,0 +1,37 @@ +# +# hal_audio_default is provided by the base policy and mixin +# project-celadon defines the hal services. +# +# Audio uses the default implementations as defined in the product.mk: +# audio/project-celadon/product.mk: android.hardware.audio@2.0-impl \ +# audio/project-celadon/product.mk: android.hardware.audio@2.0-service \ +# audio/project-celadon/product.mk: android.hardware.audio.effect@2.0-impl \ +# +# Which can be found digging around: hardware/interfaces/audio/2.0 +# + +ignore_adb_debug(hal_audio_default) + +allow hal_audio_default self:capability sys_nice; + +allow hal_audio_default audioserver_data_file:dir create_dir_perms; +allow hal_audio_default audioserver_data_file:fifo_file create_file_perms; +allow hal_audio_default audioserver_data_file:file create_file_perms; + +allow hal_audio_default dumpstate:fd use; +allow hal_audio_default dumpstate:fifo_file write; + +set_prop(hal_audio_default, audiohal_prop) + +allow hal_audio_default self:netlink_kobject_uevent_socket { read bind create setopt }; + +userdebug_or_eng(` + # hal_audio_default exposes a remote debugging port + + # used for parameter framework (PFW) tuning and debug + dontaudit hal_audio_default fwmarkd_socket:sock_file write; + dontaudit hal_audio_default netd:unix_stream_socket connectto; + dontaudit hal_audio_default node:tcp_socket node_bind; + dontaudit hal_audio_default port:tcp_socket name_bind; + dontaudit hal_audio_default self:tcp_socket { accept bind create getopt listen read setopt write }; +') diff --git a/sepolicy/audio/project-celadon/netd.te b/sepolicy/audio/project-celadon/netd.te new file mode 100644 index 000000000..463f31b58 --- /dev/null +++ b/sepolicy/audio/project-celadon/netd.te @@ -0,0 +1,7 @@ +userdebug_or_eng(` + # used for parameter framework (PFW) tuning and debug + allow netd hal_audio_default:fd use; + allow netd hal_audio_default:tcp_socket { getopt read setopt write }; + allow netd audioserver:fd use; + allow netd audioserver:tcp_socket { getopt read setopt write }; +') diff --git a/sepolicy/audio/project-celadon/property.te b/sepolicy/audio/project-celadon/property.te new file mode 100644 index 000000000..4d79beac7 --- /dev/null +++ b/sepolicy/audio/project-celadon/property.te @@ -0,0 +1 @@ +type audiohal_prop, property_type; diff --git a/sepolicy/audio/project-celadon/property_contexts b/sepolicy/audio/project-celadon/property_contexts new file mode 100644 index 000000000..7696111a9 --- /dev/null +++ b/sepolicy/audio/project-celadon/property_contexts @@ -0,0 +1,2 @@ +audiohal. u:object_r:audiohal_prop:s0 +persist.audiohal. u:object_r:audiohal_prop:s0 diff --git a/sepolicy/audio/project-celadon/system_server.te b/sepolicy/audio/project-celadon/system_server.te new file mode 100644 index 000000000..8fcc53062 --- /dev/null +++ b/sepolicy/audio/project-celadon/system_server.te @@ -0,0 +1,6 @@ +# +# system_server +# + +allow system_server hal_audio_default:file write; +allow system_server audioserver:file w_file_perms; diff --git a/sepolicy/audio/project-celadon/violators_blacklist.te b/sepolicy/audio/project-celadon/violators_blacklist.te new file mode 100644 index 000000000..f22304986 --- /dev/null +++ b/sepolicy/audio/project-celadon/violators_blacklist.te @@ -0,0 +1 @@ +typeattribute hal_audio_default data_between_core_and_vendor_violators; diff --git a/sepolicy/audioserver.te b/sepolicy/audioserver.te deleted file mode 100644 index 67c24fa95..000000000 --- a/sepolicy/audioserver.te +++ /dev/null @@ -1,2 +0,0 @@ -allow audioserver tmpfs:lnk_file read; -allow audioserver debugfs_tracing:file { write open }; diff --git a/sepolicy/bluetooth.te b/sepolicy/bluetooth.te deleted file mode 100644 index f537e45e8..000000000 --- a/sepolicy/bluetooth.te +++ /dev/null @@ -1,6 +0,0 @@ -allow bluetooth bluetooth_control:chr_file { rw_file_perms }; - -# access /sys/devices/bt_bcm4354 -allow bluetooth sysfs_bluetooth:dir search; -allow bluetooth sysfs_bluetooth:file rw_file_perms; -allow bluetooth storage_stub_file:dir getattr; diff --git a/sepolicy/bluetooth/common/bluetooth.te b/sepolicy/bluetooth/common/bluetooth.te new file mode 100644 index 000000000..b45785a0b --- /dev/null +++ b/sepolicy/bluetooth/common/bluetooth.te @@ -0,0 +1,22 @@ +# +# Common Bluetooth Permissions +# +allow bluetooth self:socket create_socket_perms; +allowxperm bluetooth self:socket ioctl unpriv_sock_ioctls; + +allow bluetooth self:bluetooth_socket create_socket_perms; +allowxperm bluetooth self:bluetooth_socket ioctl unpriv_sock_ioctls; + +allow bluetooth kernel:system module_request; +allow bluetooth rfkill_device:chr_file rw_file_perms; +allow bluetooth sysfs_bluetooth_writable:file rw_file_perms; + +module_only(`config_partition', ` + allow bluetooth config_file:dir search; +') + +allow bluetooth bluetooth_efs_file:dir rw_dir_perms; +allow bluetooth bluetooth_efs_file:file create_file_perms; + +allow bluetooth bluetooth_config_file:dir r_dir_perms; +allow bluetooth bluetooth_config_file:file r_file_perms; diff --git a/sepolicy/bluetooth/common/btcfg.te b/sepolicy/bluetooth/common/btcfg.te new file mode 100644 index 000000000..d02dd0010 --- /dev/null +++ b/sepolicy/bluetooth/common/btcfg.te @@ -0,0 +1,32 @@ +type btcfg, domain; +type btcfg_exec, exec_type, file_type, vendor_file_type; + +init_daemon_domain(btcfg) + +allow btcfg self:socket create_socket_perms; +allowxperm btcfg self:socket ioctl { + unpriv_sock_ioctls + HCIGETDEVLIST + HCIGETDEVINFO +}; + +allow btcfg self:bluetooth_socket create_socket_perms; + +allowxperm btcfg self:bluetooth_socket ioctl { + unpriv_sock_ioctls + HCIGETDEVLIST + HCIGETDEVINFO +}; + +allow btcfg hci_attach_dev:chr_file rw_file_perms; +allow btcfg kernel:system module_request; +allow btcfg hci_attach_exec:file rx_file_perms; +allow btcfg vendor_file:file rx_file_perms; + +not_full_treble(` + allow btcfg system_file:file rx_file_perms; + allow btcfg shell_exec:file rx_file_perms; +') +full_treble_only(` + allow btcfg vendor_shell_exec:file rx_file_perms; +') diff --git a/sepolicy/bluetooth/common/file.te b/sepolicy/bluetooth/common/file.te new file mode 100644 index 000000000..9c9139383 --- /dev/null +++ b/sepolicy/bluetooth/common/file.te @@ -0,0 +1,2 @@ +# NVM data in etc/bluetooth +type bluetooth_config_file, file_type, data_file_type; diff --git a/sepolicy/bluetooth/common/file_contexts b/sepolicy/bluetooth/common/file_contexts new file mode 100644 index 000000000..6e9f2793a --- /dev/null +++ b/sepolicy/bluetooth/common/file_contexts @@ -0,0 +1,10 @@ +/system/etc/bluetooth(/.*)? u:object_r:bluetooth_config_file:s0 +(/system)?/vendor/bin/bt_nvm_init.sh u:object_r:init_bt_nvm_exec:s0 +/vendor/bin/hciattach u:object_r:hci_attach_exec:s0 +/oem_config/bluetooth u:object_r:bluetooth_data_file:s0 + +# setup by device/intel/common/bluetooth/rfkill/rfkill_bt.sh +/sys/devices/pci0000:00/8086228A:00/.*/rfkill/rfkill[0-9]+/state u:object_r:sysfs_bluetooth_writable:s0 + +/vendor/bin/btcfg.sh u:object_r:btcfg_exec:s0 +/vendor/bin/hw/android\.hardware\.bluetooth@1\.0-service\.vbt u:object_r:hal_bluetooth_vbt_exec:s0 diff --git a/sepolicy/bluetooth/common/hal_bluetooth_vbt.te b/sepolicy/bluetooth/common/hal_bluetooth_vbt.te new file mode 100644 index 000000000..e726477fb --- /dev/null +++ b/sepolicy/bluetooth/common/hal_bluetooth_vbt.te @@ -0,0 +1,59 @@ +# For treble mode, the HAL is loaded by a excutable hal service, and +# framework need request the hal service if it want to operate the +# device by HAL. +# For bluetooth, the default hal service is created by Google named +# android.hardware.bluetooth@1.0-service +# Google also setup sepolicy types and rules for the hal services, and +# android.hardware.bluetooth@1.0-service is one of hal services. +# The sepolicy type and rules for the hal services are created by Google +# and locate at system/sepolicy/vendor/hal_xxx.te +# For bluetooth it is hal_bluetooth_default.te, and the content of this +# file is +# +# +# type hal_bluetooth_default, domain; +# hal_server_domain(hal_bluetooth_default, hal_bluetooth) +# +# type hal_bluetooth_default_exec, exec_type, file_type; +# init_daemon_domain(hal_bluetooth_default) +# +# # Logging for backward compatibility +# allow hal_bluetooth_default bluetooth_data_file:dir ra_dir_perms; +# allow hal_bluetooth_default bluetooth_data_file:file create_file_perms; +# +# Google allow vendor to write his own hal service, but do not suggest +# directly modify the default hal service code. Google also give the reference +# code(device/linaro/hikey/bluetooth) about how to write vendor's own hal +# service. +# For gordon peak, bluetooth hal service need to be changed because some +# message handling difference with Google's default one. Then the bluetooth +# hal service for gordon peak is created based on default one. +# The sepolicy types and rules for gordon peak bluetooth service needs to be +# created too based on the default one. +# The following setting are copied from hal_bluetooth_default.te except use +# extension "vbt" to replace "default". + +type hal_bluetooth_vbt, domain; +hal_server_domain(hal_bluetooth_vbt, hal_bluetooth) + +type hal_bluetooth_vbt_exec, exec_type, file_type, vendor_file_type; +init_daemon_domain(hal_bluetooth_vbt) + +set_prop(hal_bluetooth_vbt, vendor_bluetooth_prop) +# Logging for backward compatibility +allow hal_bluetooth_vbt bluetooth_data_file:dir ra_dir_perms; +allow hal_bluetooth_vbt bluetooth_data_file:file create_file_perms; + +allow hal_bluetooth_vbt self:socket create_socket_perms; + +allowxperm hal_bluetooth_vbt self:socket ioctl { + unpriv_sock_ioctls + HCIDEVDOWN +}; + +allow hal_bluetooth_vbt self:bluetooth_socket create_socket_perms; + +allowxperm hal_bluetooth_vbt self:bluetooth_socket ioctl { + unpriv_sock_ioctls + HCIDEVDOWN +}; diff --git a/sepolicy/bluetooth/common/hci_attach.te b/sepolicy/bluetooth/common/hci_attach.te new file mode 100644 index 000000000..31b5427a3 --- /dev/null +++ b/sepolicy/bluetooth/common/hci_attach.te @@ -0,0 +1,12 @@ +type hci_attach, domain; +type hci_attach_exec, exec_type, file_type, vendor_file_type; + +init_daemon_domain(hci_attach) + +allow hci_attach kernel:system module_request; +allow hci_attach hci_attach_dev:chr_file rw_file_perms; +allow hci_attach bluetooth_efs_file:dir r_dir_perms; +allow hci_attach bluetooth_efs_file:file r_file_perms; + +allow hci_attach rootfs:lnk_file getattr; +allow hci_attach sysfs:file r_file_perms; diff --git a/sepolicy/bluetooth/common/init_bt_nvm.te b/sepolicy/bluetooth/common/init_bt_nvm.te new file mode 100644 index 000000000..9c66da80e --- /dev/null +++ b/sepolicy/bluetooth/common/init_bt_nvm.te @@ -0,0 +1,34 @@ +type init_bt_nvm, domain; +type init_bt_nvm_exec, exec_type, file_type, vendor_file_type; + +init_daemon_domain(init_bt_nvm) + +allow init_bt_nvm bluetooth_config_file:dir r_dir_perms; +allow init_bt_nvm bluetooth_config_file:file r_file_perms; + +allow init_bt_nvm efs_file:dir create_dir_perms; +allow init_bt_nvm efs_file:file create_file_perms; + +allow init_bt_nvm bluetooth_efs_file:dir w_dir_perms; +allow init_bt_nvm bluetooth_efs_file:file create_file_perms; + +allow init_bt_nvm init_bt_nvm_exec:file x_file_perms; + +module_only(`config_partition', ` + allow init_bt_nvm config_file:dir r_dir_perms; + allow init_bt_nvm config_file:file r_file_perms; +') + +userdebug_or_eng(` + allow init_bt_nvm configfs:dir r_dir_perms; +') + +not_full_treble(` + allow init_bt_nvm shell_exec:file rx_file_perms; + allow init_bt_nvm toolbox_exec:file rx_file_perms; + allow init_bt_nvm system_file:file rx_file_perms; +') +full_treble_only(` + allow init_bt_nvm vendor_shell_exec:file rx_file_perms; + allow init_bt_nvm vendor_toolbox_exec:file rx_file_perms; +') diff --git a/sepolicy/bluetooth/common/property.te b/sepolicy/bluetooth/common/property.te new file mode 100644 index 000000000..d114f394e --- /dev/null +++ b/sepolicy/bluetooth/common/property.te @@ -0,0 +1 @@ +type vendor_bluetooth_prop, property_type; diff --git a/sepolicy/bluetooth/common/property_contexts b/sepolicy/bluetooth/common/property_contexts new file mode 100644 index 000000000..019b293cc --- /dev/null +++ b/sepolicy/bluetooth/common/property_contexts @@ -0,0 +1 @@ +vendor.bluetooth.hwcfg u:object_r:vendor_bluetooth_prop:s0 diff --git a/sepolicy/bluetooth/common/system_server.te b/sepolicy/bluetooth/common/system_server.te new file mode 100644 index 000000000..d8cc4672d --- /dev/null +++ b/sepolicy/bluetooth/common/system_server.te @@ -0,0 +1 @@ +add_service(system_server, bluetooth_service) diff --git a/sepolicy/bluetooth/common/ueventd.te b/sepolicy/bluetooth/common/ueventd.te new file mode 100644 index 000000000..e610c2d05 --- /dev/null +++ b/sepolicy/bluetooth/common/ueventd.te @@ -0,0 +1,2 @@ +allow ueventd bluetooth_efs_file:dir search; +allow ueventd bluetooth_efs_file:file { read getattr open }; diff --git a/sepolicy/bluetooth/common/vendor_init.te b/sepolicy/bluetooth/common/vendor_init.te new file mode 100644 index 000000000..891319e60 --- /dev/null +++ b/sepolicy/bluetooth/common/vendor_init.te @@ -0,0 +1 @@ +set_prop(vendor_init, vendor_bluetooth_prop) diff --git a/sepolicy/bluetooth/common/violators_blacklist.te b/sepolicy/bluetooth/common/violators_blacklist.te new file mode 100644 index 000000000..1f1a53ca3 --- /dev/null +++ b/sepolicy/bluetooth/common/violators_blacklist.te @@ -0,0 +1 @@ +typeattribute hal_bluetooth_vbt data_between_core_and_vendor_violators; diff --git a/sepolicy/bluetooth/intel/file_contexts b/sepolicy/bluetooth/intel/file_contexts new file mode 100644 index 000000000..3b02413c3 --- /dev/null +++ b/sepolicy/bluetooth/intel/file_contexts @@ -0,0 +1 @@ +/vendor/bin/hw/android\.hardware\.bluetooth@1\.0-service u:object_r:hal_bluetooth_ia_exec:s0 diff --git a/sepolicy/bluetooth/intel/hal_bluetooth_ia.te b/sepolicy/bluetooth/intel/hal_bluetooth_ia.te new file mode 100644 index 000000000..8a30046b0 --- /dev/null +++ b/sepolicy/bluetooth/intel/hal_bluetooth_ia.te @@ -0,0 +1,51 @@ +# For treble mode, the HAL is loaded by a excutable hal service, and +# framework need request the hal service if it want to operate the +# device by HAL. +# For bluetooth, the default hal service is created by Google named +# android.hardware.bluetooth@1.0-service +# Google also setup sepolicy types and rules for the hal services, and +# android.hardware.bluetooth@1.0-service is one of hal services. +# The sepolicy type and rules for the hal services are created by Google +# and locate at system/sepolicy/vendor/hal_xxx.te +# For bluetooth it is hal_bluetooth_default.te, and the content of this +# file is +# +# +# type hal_bluetooth_default, domain; +# hal_server_domain(hal_bluetooth_default, hal_bluetooth) +# +# type hal_bluetooth_default_exec, exec_type, file_type; +# init_daemon_domain(hal_bluetooth_default) +# +# # Logging for backward compatibility +# allow hal_bluetooth_default bluetooth_data_file:dir ra_dir_perms; +# allow hal_bluetooth_default bluetooth_data_file:file create_file_perms; +# +# Google allow vendor to write his own hal service, but do not suggest +# directly modify the default hal service code. Google also give the reference +# code(device/linaro/hikey/bluetooth) about how to write vendor's own hal +# service. +# For gordon peak, bluetooth hal service need to be changed because some +# message handling difference with Google's default one. Then the bluetooth +# hal service for gordon peak is created based on default one. +# The sepolicy types and rules for gordon peak bluetooth service needs to be +# created too based on the default one. +# The following setting are copied from hal_bluetooth_default.te except use +# extension "gordon_peak" to replace "default". + +type hal_bluetooth_ia, domain; +hal_server_domain(hal_bluetooth_ia, hal_bluetooth) + +type hal_bluetooth_ia_exec, exec_type, file_type, vendor_file_type; +init_daemon_domain(hal_bluetooth_ia) + +# Logging for backward compatibility +allow hal_bluetooth_ia bluetooth_data_file:dir ra_dir_perms; +allow hal_bluetooth_ia bluetooth_data_file:file create_file_perms; + +allow hal_bluetooth_ia self:socket create_socket_perms; + +allowxperm hal_bluetooth_ia self:socket ioctl { + unpriv_sock_ioctls + HCIDEVDOWN +}; diff --git a/sepolicy/bluetooth/intel/hal_bluetooth_icl.te b/sepolicy/bluetooth/intel/hal_bluetooth_icl.te new file mode 100644 index 000000000..58a22d74f --- /dev/null +++ b/sepolicy/bluetooth/intel/hal_bluetooth_icl.te @@ -0,0 +1,51 @@ +# For treble mode, the HAL is loaded by a excutable hal service, and +# framework need request the hal service if it want to operate the +# device by HAL. +# For bluetooth, the default hal service is created by Google named +# android.hardware.bluetooth@1.0-service +# Google also setup sepolicy types and rules for the hal services, and +# android.hardware.bluetooth@1.0-service is one of hal services. +# The sepolicy type and rules for the hal services are created by Google +# and locate at system/sepolicy/vendor/hal_xxx.te +# For bluetooth it is hal_bluetooth_default.te, and the content of this +# file is +# +# +# type hal_bluetooth_default, domain; +# hal_server_domain(hal_bluetooth_default, hal_bluetooth) +# +# type hal_bluetooth_default_exec, exec_type, file_type; +# init_daemon_domain(hal_bluetooth_default) +# +# # Logging for backward compatibility +# allow hal_bluetooth_default bluetooth_data_file:dir ra_dir_perms; +# allow hal_bluetooth_default bluetooth_data_file:file create_file_perms; +# +# Google allow vendor to write his own hal service, but do not suggest +# directly modify the default hal service code. Google also give the reference +# code(device/linaro/hikey/bluetooth) about how to write vendor's own hal +# service. +# For gordon peak, bluetooth hal service need to be changed because some +# message handling difference with Google's default one. Then the bluetooth +# hal service for gordon peak is created based on default one. +# The sepolicy types and rules for gordon peak bluetooth service needs to be +# created too based on the default one. +# The following setting are copied from hal_bluetooth_default.te except use +# extension "gordon_peak" to replace "default". + +type hal_bluetooth_icl, domain; +hal_server_domain(hal_bluetooth_icl, hal_bluetooth) + +type hal_bluetooth_icl_exec, exec_type, file_type, vendor_file_type; +init_daemon_domain(hal_bluetooth_icl) + +# Logging for backward compatibility +allow hal_bluetooth_icl bluetooth_data_file:dir ra_dir_perms; +allow hal_bluetooth_icl bluetooth_data_file:file create_file_perms; + +allow hal_bluetooth_icl self:socket create_socket_perms; + +allowxperm hal_bluetooth_icl self:socket ioctl { + unpriv_sock_ioctls + HCIDEVDOWN +}; diff --git a/sepolicy/boot-arch/abl/device.te b/sepolicy/boot-arch/abl/device.te new file mode 100644 index 000000000..b31ee1953 --- /dev/null +++ b/sepolicy/boot-arch/abl/device.te @@ -0,0 +1 @@ +type vendor_block_device, dev_type; diff --git a/sepolicy/boot-arch/abl/file_contexts b/sepolicy/boot-arch/abl/file_contexts new file mode 100644 index 000000000..03f4101f3 --- /dev/null +++ b/sepolicy/boot-arch/abl/file_contexts @@ -0,0 +1,15 @@ +# +# Block Devices +# +/dev/block/(pci|platform)(/.*)?/.*/by-name/boot(_(a|b))? u:object_r:boot_block_device:s0 +/dev/block/(pci|platform)(/.*)?/.*/by-name/system(_(a|b))? u:object_r:system_block_device:s0 +/dev/block/(pci|platform)(/.*)?/.*/by-name/vendor(_(a|b))? u:object_r:vendor_block_device:s0 +/dev/block/(pci|platform)(/.*)?/.*/by-name/vbmeta(_(a|b))? u:object_r:boot_block_device:s0 +/dev/block/(pci|platform)(/.*)?/.*/by-name/tos(_(a|b))? u:object_r:boot_block_device:s0 +/dev/block/(pci|platform)(/.*)?/.*/by-name/persistent u:object_r:frp_block_device:s0 +/dev/block/(pci|platform)(/.*)?/.*/by-name/recovery u:object_r:recovery_block_device:s0 +/dev/block/(pci|platform)(/.*)?/.*/by-name/metadata u:object_r:metadata_block_device:s0 +/dev/block/(pci|platform)(/.*)?/.*/by-name/cache u:object_r:cache_block_device:s0 +/dev/block/(pci|platform)(/.*)?/.*/by-name/data u:object_r:userdata_block_device:s0 +/dev/block/(pci|platform)(/.*)?/.*/by-name/misc u:object_r:misc_block_device:s0 +/dev/block/(pci|platform)(/.*)?/.*/by-name/teedata u:object_r:tee_device:s0 diff --git a/sepolicy/boot-arch/abl/hal_bootctl_default.te b/sepolicy/boot-arch/abl/hal_bootctl_default.te new file mode 100644 index 000000000..2f1f82bc0 --- /dev/null +++ b/sepolicy/boot-arch/abl/hal_bootctl_default.te @@ -0,0 +1,6 @@ +allow hal_bootctl_default rootfs:file r_file_perms; +allow hal_bootctl_default proc:file r_file_perms; +allow hal_bootctl_default block_device:dir r_dir_perms; +allow hal_bootctl_default misc_block_device:blk_file rw_file_perms; +allow hal_bootctl_default tmpfs:file r_file_perms; +allow hal_bootctl_default tmpfs:dir r_dir_perms; diff --git a/sepolicy/boot-arch/abl/init.te b/sepolicy/boot-arch/abl/init.te new file mode 100644 index 000000000..b86e52916 --- /dev/null +++ b/sepolicy/boot-arch/abl/init.te @@ -0,0 +1,3 @@ +allow init system_file:system module_load; +allow init tmpfs:file r_file_perms; +allow init { boot_block_device vendor_block_device }:lnk_file relabelto; diff --git a/sepolicy/boot-arch/abl/update_engine.te b/sepolicy/boot-arch/abl/update_engine.te new file mode 100644 index 000000000..c65dc121e --- /dev/null +++ b/sepolicy/boot-arch/abl/update_engine.te @@ -0,0 +1,3 @@ +allow update_engine vendor_block_device:blk_file rw_file_perms; +allow update_engine tmpfs:file r_file_perms; +allow update_engine tmpfs:lnk_file r_file_perms; diff --git a/sepolicy/boot-arch/abl/update_engine_common.te b/sepolicy/boot-arch/abl/update_engine_common.te new file mode 100644 index 000000000..eb5f3aab2 --- /dev/null +++ b/sepolicy/boot-arch/abl/update_engine_common.te @@ -0,0 +1,3 @@ +allow update_engine_common vendor_block_device:blk_file rw_file_perms; +allow update_engine_common tmpfs:file r_file_perms; +allow update_engine_common tmpfs:lnk_file r_file_perms; diff --git a/sepolicy/boot-arch/abl/vold.te b/sepolicy/boot-arch/abl/vold.te new file mode 100644 index 000000000..a7cd94845 --- /dev/null +++ b/sepolicy/boot-arch/abl/vold.te @@ -0,0 +1 @@ +allow vold tmpfs:file r_file_perms; diff --git a/sepolicy/boot-arch/common/attributes b/sepolicy/boot-arch/common/attributes new file mode 100644 index 000000000..466333803 --- /dev/null +++ b/sepolicy/boot-arch/common/attributes @@ -0,0 +1,2 @@ +# all rpc sockets +attribute rpc_socket_type; diff --git a/sepolicy/boot-arch/common/audioserver.te b/sepolicy/boot-arch/common/audioserver.te new file mode 100644 index 000000000..ac5f7e20f --- /dev/null +++ b/sepolicy/boot-arch/common/audioserver.te @@ -0,0 +1 @@ +rpc_socket_use(audioserver) diff --git a/sepolicy/boot-arch/common/device.te b/sepolicy/boot-arch/common/device.te new file mode 100644 index 000000000..16f19d829 --- /dev/null +++ b/sepolicy/boot-arch/common/device.te @@ -0,0 +1,9 @@ +# +# Devices +# +type nvm_device, dev_type; +type rpc_device, dev_type; + +# Block Devices +type nvm_block_device, dev_type; +type rpc_block_device, dev_type; diff --git a/sepolicy/boot-arch/common/file.te b/sepolicy/boot-arch/common/file.te new file mode 100644 index 000000000..a09d7f473 --- /dev/null +++ b/sepolicy/boot-arch/common/file.te @@ -0,0 +1,11 @@ +# +# RPC Socket types +# +type rpc_send_socket, rpc_socket_type, file_type; +type rpc_recv_socket, rpc_socket_type, file_type; +type rpc_reg_socket, rpc_socket_type, file_type; + +# +# msm socket type +# +type msm_socket, file_type; diff --git a/sepolicy/boot-arch/common/file_contexts b/sepolicy/boot-arch/common/file_contexts new file mode 100644 index 000000000..baae56d04 --- /dev/null +++ b/sepolicy/boot-arch/common/file_contexts @@ -0,0 +1,28 @@ +# +# Devices +# +/dev/nvmdev u:object_r:nvm_device:s0 +/dev/tee_rpc u:object_r:tee_device:s0 +/dev/vmodem u:object_r:rpc_device:s0 + +# +# nvm factory fs +# +/nvm_fs_partition(/.*)? u:object_r:efs_file:s0 + +# +# Sockets +# +/dev/socket/msmSock u:object_r:msm_socket:s0 +/dev/socket/rpc_send u:object_r:rpc_send_socket:s0 +/dev/socket/rpc_recv u:object_r:rpc_recv_socket:s0 +/dev/socket/rpc_reg u:object_r:rpc_reg_socket:s0 + +# +# System executables +# +/system/bin/rpcServer u:object_r:rpcServer_exec:s0 +/system/bin/rpc-daemon u:object_r:rpcdaemon_exec:s0 +/system/bin/nvm_useragent u:object_r:nvm_useragent_exec:s0 +/system/bin/setup_fs_nvm u:object_r:setup_fs_nvm_exec:s0 +/system/bin/make_ext4fs u:object_r:make_ext4fs_exec:s0 diff --git a/sepolicy/boot-arch/common/init.te b/sepolicy/boot-arch/common/init.te new file mode 100644 index 000000000..59378f216 --- /dev/null +++ b/sepolicy/boot-arch/common/init.te @@ -0,0 +1,9 @@ +# +# init +# + +# +# The setup_nvm_fs helper no longer does the mount. It is now mounted in the init.rc directly. +# path: /nvm_fs_partition +# +allow init efs_file:dir mounton; diff --git a/sepolicy/boot-arch/common/kernel.te b/sepolicy/boot-arch/common/kernel.te new file mode 100644 index 000000000..61e36a9c8 --- /dev/null +++ b/sepolicy/boot-arch/common/kernel.te @@ -0,0 +1,8 @@ +# +# kernel +# + +# vnvm +allow kernel block_device:dir search; + +allow kernel ram_device:blk_file rw_file_perms; diff --git a/sepolicy/boot-arch/common/make_ext4fs.te b/sepolicy/boot-arch/common/make_ext4fs.te new file mode 100644 index 000000000..eaeca7562 --- /dev/null +++ b/sepolicy/boot-arch/common/make_ext4fs.te @@ -0,0 +1,6 @@ +type make_ext4fs, domain; +type make_ext4fs_exec, file_type, exec_type; + +init_daemon_domain(make_ext4fs) + +allow make_ext4fs nvm_block_device:blk_file rw_file_perms; diff --git a/sepolicy/boot-arch/common/nvm_useragent.te b/sepolicy/boot-arch/common/nvm_useragent.te new file mode 100644 index 000000000..3da0582b5 --- /dev/null +++ b/sepolicy/boot-arch/common/nvm_useragent.te @@ -0,0 +1,13 @@ +# +# This process runs as root which will FAIL CTS +# This process also triggers dac_override which +# should not be granted +# + +type nvm_useragent, domain; +type nvm_useragent_exec, exec_type, file_type; +init_daemon_domain(nvm_useragent) + +allow nvm_useragent efs_file:dir rw_dir_perms; +allow nvm_useragent efs_file:file create_file_perms; +allow nvm_useragent nvm_device:chr_file rw_file_perms; diff --git a/sepolicy/boot-arch/common/property.te b/sepolicy/boot-arch/common/property.te new file mode 100644 index 000000000..5600e9615 --- /dev/null +++ b/sepolicy/boot-arch/common/property.te @@ -0,0 +1,3 @@ +type msm_prop, property_type; +type rpc_default_prop, property_type; +type rpc_state_prop, property_type; diff --git a/sepolicy/boot-arch/common/property_contexts b/sepolicy/boot-arch/common/property_contexts new file mode 100644 index 000000000..c72ae35a8 --- /dev/null +++ b/sepolicy/boot-arch/common/property_contexts @@ -0,0 +1,6 @@ +msm. u:object_r:msm_prop:s0 +rpc u:object_r:rpc_default_prop:s0 +rpc.state u:object_r:rpc_state_prop:s0 + +# XXX this may be refactorable into a higher echelon +persist.configure.modem u:object_r:config_prop:s0 diff --git a/sepolicy/boot-arch/common/rild.te b/sepolicy/boot-arch/common/rild.te new file mode 100644 index 000000000..ab94824a2 --- /dev/null +++ b/sepolicy/boot-arch/common/rild.te @@ -0,0 +1,6 @@ +# +# rild +# +rpc_socket_use(rild) + +unix_socket_connect(rild, msm, rpcServer) diff --git a/sepolicy/boot-arch/common/rpcServer.te b/sepolicy/boot-arch/common/rpcServer.te new file mode 100644 index 000000000..c9f735466 --- /dev/null +++ b/sepolicy/boot-arch/common/rpcServer.te @@ -0,0 +1,26 @@ +type rpcServer, domain; +type rpcServer_exec, exec_type, file_type; + +init_daemon_domain(rpcServer) + +allow rpcServer self:capability net_admin; + +set_prop(rpcServer, msm_prop) +set_prop(rpcServer, config_prop) + +allow rpcServer rpc_device:chr_file rw_file_perms; + +allow rpcServer self:netlink_kobject_uevent_socket create_socket_perms; +allowxperm rpcServer self:netlink_kobject_uevent_socket ioctl SIOCETHTOOL; + +# XXX Running shell +allow rpcServer shell_exec:file rx_file_perms; + +allow rpcServer mvpipe_device:chr_file rw_file_perms; + +# Access NVM partitions +allow rpcServer block_device:dir search; +allow rpcServer ram_device:blk_file r_file_perms; + +# Run /system/bin/reboot +allow rpcServer system_file:file execute_no_trans; diff --git a/sepolicy/boot-arch/common/rpcdaemon.te b/sepolicy/boot-arch/common/rpcdaemon.te new file mode 100644 index 000000000..d230ed6c4 --- /dev/null +++ b/sepolicy/boot-arch/common/rpcdaemon.te @@ -0,0 +1,10 @@ +type rpcdaemon, domain; +type rpcdaemon_exec, exec_type, file_type; + +init_daemon_domain(rpcdaemon) + +set_prop(rpcdaemon, rpc_state_prop) + +unix_socket_connect(rpcdaemon, msm, rpcServer) + +allow rpcdaemon mvpipe_device:chr_file rw_file_perms; diff --git a/sepolicy/boot-arch/common/setup_fs_nvm.te b/sepolicy/boot-arch/common/setup_fs_nvm.te new file mode 100644 index 000000000..c47cb9a5c --- /dev/null +++ b/sepolicy/boot-arch/common/setup_fs_nvm.te @@ -0,0 +1,29 @@ +# +# setup_fs_nvm +# + +type setup_fs_nvm, domain; +type setup_fs_nvm_exec, file_type, exec_type; + +init_daemon_domain(setup_fs_nvm) + +# execute e2fsck +allow setup_fs_nvm fsck_exec:file rx_file_perms; + +# execute make_ext4fs +allow setup_fs_nvm make_ext4fs_exec:file rx_file_perms; + +# Access nvm on factoryfs +allow setup_fs_nvm efs_file:dir r_dir_perms; + +allow setup_fs_nvm kernel:process setsched; +allow setup_fs_nvm nvm_block_device:blk_file getattr; +allow setup_fs_nvm nvm_block_device:blk_file rw_file_perms; +allow setup_fs_nvm nvm_block_device:dir search; +allow setup_fs_nvm block_device:dir search; + +allow setup_fs_nvm setup_fs_nvm_exec:file x_file_perms; + +module_only(`swap', ` + allow setup_fs_nvm swap_block_device:blk_file getattr; +') diff --git a/sepolicy/boot-arch/common/system_app.te b/sepolicy/boot-arch/common/system_app.te new file mode 100644 index 000000000..e05b6481f --- /dev/null +++ b/sepolicy/boot-arch/common/system_app.te @@ -0,0 +1,2 @@ +unix_socket_connect(system_app, msm, rpcServer) +allow system_app msm_socket:sock_file write; diff --git a/sepolicy/boot-arch/common/te_macros b/sepolicy/boot-arch/common/te_macros new file mode 100644 index 000000000..60b0e8d16 --- /dev/null +++ b/sepolicy/boot-arch/common/te_macros @@ -0,0 +1,10 @@ +################################### +# +# allow a domain to connect and use +# the rpc sockets +# rpc_socket_use(domain) +# +define(`rpc_socket_use', ` + allow $1 rpcdaemon:unix_stream_socket connectto; + allow $1 rpc_socket_type:sock_file write; +') diff --git a/sepolicy/boot-arch/common/vold.te b/sepolicy/boot-arch/common/vold.te new file mode 100644 index 000000000..022a223bb --- /dev/null +++ b/sepolicy/boot-arch/common/vold.te @@ -0,0 +1,5 @@ +# +# vold +# + +allow vold make_ext4fs_exec:file rx_file_perms; diff --git a/sepolicy/boot-arch/efi/file_contexts b/sepolicy/boot-arch/efi/file_contexts new file mode 100644 index 000000000..c551f4311 --- /dev/null +++ b/sepolicy/boot-arch/efi/file_contexts @@ -0,0 +1,12 @@ +# +# Block Devices +# + +/dev/block/(pci|platform)(/.*)?/.*/by-name/boot u:object_r:boot_block_device:s0 +/dev/block/(pci|platform)(/.*)?/.*/by-name/persistent u:object_r:frp_block_device:s0 +/dev/block/(pci|platform)(/.*)?/.*/by-name/recovery u:object_r:recovery_block_device:s0 +/dev/block/(pci|platform)(/.*)?/.*/by-name/metadata u:object_r:metadata_block_device:s0 +/dev/block/(pci|platform)(/.*)?/.*/by-name/cache u:object_r:cache_block_device:s0 +/dev/block/(pci|platform)(/.*)?/.*/by-name/data u:object_r:userdata_block_device:s0 +/dev/block/(pci|platform)(/.*)?/.*/by-name/misc u:object_r:misc_block_device:s0 +/dev/block/(pci|platform)(/.*)?/.*/by-name/teedata u:object_r:tee_device:s0 diff --git a/sepolicy/boot-arch/project-celadon/cel_apl/device.te b/sepolicy/boot-arch/project-celadon/cel_apl/device.te new file mode 100644 index 000000000..b31ee1953 --- /dev/null +++ b/sepolicy/boot-arch/project-celadon/cel_apl/device.te @@ -0,0 +1 @@ +type vendor_block_device, dev_type; diff --git a/sepolicy/boot-arch/project-celadon/cel_apl/file_contexts b/sepolicy/boot-arch/project-celadon/cel_apl/file_contexts new file mode 100644 index 000000000..156b0127b --- /dev/null +++ b/sepolicy/boot-arch/project-celadon/cel_apl/file_contexts @@ -0,0 +1,25 @@ +# +# Block Devices +# + +/dev/block/(pci|platform|vbd)(/.*)?/.*/by-name/boot(_(a|b))? u:object_r:boot_block_device:s0 +/dev/block/(pci|platform|vbd)(/.*)?/.*/by-name/bootloader(_(a|b))? u:object_r:boot_block_device:s0 +/dev/block/(pci|platform|vbd)(/.*)?/.*/by-name/system(_(a|b))? u:object_r:system_block_device:s0 +/dev/block/(pci|platform|vbd)(/.*)?/.*/by-name/vendor(_(a|b))? u:object_r:vendor_block_device:s0 +/dev/block/(pci|platform|vbd)(/.*)?/.*/by-name/vbmeta(_(a|b))? u:object_r:boot_block_device:s0 +/dev/block/(pci|platform|vbd)(/.*)?/.*/by-name/tos(_(a|b))? u:object_r:boot_block_device:s0 +/dev/block/(pci|platform|vbd)(/.*)?/.*/by-name/persistent u:object_r:frp_block_device:s0 +/dev/block/(pci|platform|vbd)(/.*)?/.*/by-name/recovery u:object_r:recovery_block_device:s0 +/dev/block/(pci|platform|vbd)(/.*)?/.*/by-name/metadata u:object_r:metadata_block_device:s0 +/dev/block/(pci|platform|vbd)(/.*)?/.*/by-name/cache u:object_r:cache_block_device:s0 +/dev/block/(pci|platform|vbd)(/.*)?/.*/by-name/data u:object_r:userdata_block_device:s0 +/dev/block/(pci|platform|vbd)(/.*)?/.*/by-name/misc u:object_r:misc_block_device:s0 +/dev/block/(pci|platform|vbd)(/.*)?/.*/by-name/teedata u:object_r:tee_device:s0 + +/file_contexts.bin u:object_r:rootfs:s0 +/metadata u:object_r:rootfs:s0 +/misc u:object_r:rootfs:s0 +/boot u:object_r:rootfs:s0 +/gpt.cel_apl.ini u:object_r:rootfs:s0 +/persistent u:object_r:rootfs:s0 +/tos u:object_r:rootfs:s0 diff --git a/sepolicy/boot-arch/project-celadon/cel_apl/hal_bootctl_default.te b/sepolicy/boot-arch/project-celadon/cel_apl/hal_bootctl_default.te new file mode 100644 index 000000000..2f1f82bc0 --- /dev/null +++ b/sepolicy/boot-arch/project-celadon/cel_apl/hal_bootctl_default.te @@ -0,0 +1,6 @@ +allow hal_bootctl_default rootfs:file r_file_perms; +allow hal_bootctl_default proc:file r_file_perms; +allow hal_bootctl_default block_device:dir r_dir_perms; +allow hal_bootctl_default misc_block_device:blk_file rw_file_perms; +allow hal_bootctl_default tmpfs:file r_file_perms; +allow hal_bootctl_default tmpfs:dir r_dir_perms; diff --git a/sepolicy/boot-arch/project-celadon/cel_apl/init.te b/sepolicy/boot-arch/project-celadon/cel_apl/init.te new file mode 100644 index 000000000..a2f993a8d --- /dev/null +++ b/sepolicy/boot-arch/project-celadon/cel_apl/init.te @@ -0,0 +1,4 @@ +allow init system_file:system module_load; +allow init tmpfs:file r_file_perms; +allow init { boot_block_device vendor_block_device }:lnk_file relabelto; +allow init userdata_block_device:{ lnk_file blk_file } w_file_perms; diff --git a/sepolicy/boot-arch/project-celadon/cel_apl/postinstall.te b/sepolicy/boot-arch/project-celadon/cel_apl/postinstall.te new file mode 100644 index 000000000..f5dc50cba --- /dev/null +++ b/sepolicy/boot-arch/project-celadon/cel_apl/postinstall.te @@ -0,0 +1,16 @@ +typeattribute postinstall system_writes_vendor_properties_violators; +typeattribute postinstall system_executes_vendor_violators; + +set_prop(postinstall, vendor_ota_prop) +recovery_only(` + allow postinstall rootfs:file rx_file_perms; +') + +allow postinstall vendor_shell_exec:file rx_file_perms; +allow postinstall vendor_toolbox_exec:file rx_file_perms; +allow postinstall rootfs:dir { write add_name create mounton }; +allow postinstall self:capability { sys_admin }; +allow postinstall vfat:filesystem { mount unmount }; +allow postinstall vfat:dir { write add_name search }; +allow postinstall vfat:file { create write open getattr }; +allow postinstall block_device:dir { search }; diff --git a/sepolicy/boot-arch/project-celadon/cel_apl/property.te b/sepolicy/boot-arch/project-celadon/cel_apl/property.te new file mode 100644 index 000000000..fc36b0842 --- /dev/null +++ b/sepolicy/boot-arch/project-celadon/cel_apl/property.te @@ -0,0 +1 @@ +type vendor_ota_prop, property_type; diff --git a/sepolicy/boot-arch/project-celadon/cel_apl/recovery.te b/sepolicy/boot-arch/project-celadon/cel_apl/recovery.te new file mode 100644 index 000000000..15fb95121 --- /dev/null +++ b/sepolicy/boot-arch/project-celadon/cel_apl/recovery.te @@ -0,0 +1 @@ +allow recovery sysfs_thermal_management:dir { search }; diff --git a/sepolicy/boot-arch/project-celadon/cel_apl/update_engine.te b/sepolicy/boot-arch/project-celadon/cel_apl/update_engine.te new file mode 100644 index 000000000..9d845dac9 --- /dev/null +++ b/sepolicy/boot-arch/project-celadon/cel_apl/update_engine.te @@ -0,0 +1,15 @@ +allow update_engine vendor_block_device:blk_file rw_file_perms; +allow update_engine tmpfs:dir r_dir_perms; +allow update_engine tmpfs:file r_file_perms; +allow update_engine tmpfs:lnk_file r_file_perms; +allow update_engine vendor_shell_exec:file rx_file_perms; + +allow update_engine platform_app:binder call; +allow update_engine vfat:dir search; +allow update_engine vfat:file r_file_perms; +allow update_engine sdcardfs:dir search; +allow update_engine sdcardfs:file r_file_perms; +allow update_engine mnt_media_rw_file:file r_file_perms; +allow update_engine mnt_media_rw_file:dir r_dir_perms; +allow update_engine storage_file:file r_file_perms; +allow update_engine storage_file:dir r_dir_perms; diff --git a/sepolicy/boot-arch/project-celadon/cel_apl/update_engine_common.te b/sepolicy/boot-arch/project-celadon/cel_apl/update_engine_common.te new file mode 100644 index 000000000..eb5f3aab2 --- /dev/null +++ b/sepolicy/boot-arch/project-celadon/cel_apl/update_engine_common.te @@ -0,0 +1,3 @@ +allow update_engine_common vendor_block_device:blk_file rw_file_perms; +allow update_engine_common tmpfs:file r_file_perms; +allow update_engine_common tmpfs:lnk_file r_file_perms; diff --git a/sepolicy/boot-arch/project-celadon/cel_apl/update_engine_sideload.te b/sepolicy/boot-arch/project-celadon/cel_apl/update_engine_sideload.te new file mode 100644 index 000000000..7ef4adf62 --- /dev/null +++ b/sepolicy/boot-arch/project-celadon/cel_apl/update_engine_sideload.te @@ -0,0 +1,3 @@ +type update_engine_sideload, domain; + +allow update_engine_sideload recovery:capability { sys_rawio }; diff --git a/sepolicy/boot-arch/project-celadon/cel_apl/vold.te b/sepolicy/boot-arch/project-celadon/cel_apl/vold.te new file mode 100644 index 000000000..a7cd94845 --- /dev/null +++ b/sepolicy/boot-arch/project-celadon/cel_apl/vold.te @@ -0,0 +1 @@ +allow vold tmpfs:file r_file_perms; diff --git a/sepolicy/boot-arch/project-celadon/cel_kbl/device.te b/sepolicy/boot-arch/project-celadon/cel_kbl/device.te new file mode 100644 index 000000000..b31ee1953 --- /dev/null +++ b/sepolicy/boot-arch/project-celadon/cel_kbl/device.te @@ -0,0 +1 @@ +type vendor_block_device, dev_type; diff --git a/sepolicy/boot-arch/project-celadon/cel_kbl/file_contexts b/sepolicy/boot-arch/project-celadon/cel_kbl/file_contexts new file mode 100644 index 000000000..e5ca108e4 --- /dev/null +++ b/sepolicy/boot-arch/project-celadon/cel_kbl/file_contexts @@ -0,0 +1,25 @@ +# +# Block Devices +# + +/dev/block/(pci|platform|vbd)(/.*)?/.*/by-name/boot(_(a|b))? u:object_r:boot_block_device:s0 +/dev/block/(pci|platform|vbd)(/.*)?/.*/by-name/bootloader(_(a|b))? u:object_r:boot_block_device:s0 +/dev/block/(pci|platform|vbd)(/.*)?/.*/by-name/system(_(a|b))? u:object_r:system_block_device:s0 +/dev/block/(pci|platform|vbd)(/.*)?/.*/by-name/vendor(_(a|b))? u:object_r:vendor_block_device:s0 +/dev/block/(pci|platform|vbd)(/.*)?/.*/by-name/vbmeta(_(a|b))? u:object_r:boot_block_device:s0 +/dev/block/(pci|platform|vbd)(/.*)?/.*/by-name/tos(_(a|b))? u:object_r:boot_block_device:s0 +/dev/block/(pci|platform|vbd)(/.*)?/.*/by-name/persistent u:object_r:frp_block_device:s0 +/dev/block/(pci|platform|vbd)(/.*)?/.*/by-name/recovery u:object_r:recovery_block_device:s0 +/dev/block/(pci|platform|vbd)(/.*)?/.*/by-name/metadata u:object_r:metadata_block_device:s0 +/dev/block/(pci|platform|vbd)(/.*)?/.*/by-name/cache u:object_r:cache_block_device:s0 +/dev/block/(pci|platform|vbd)(/.*)?/.*/by-name/data u:object_r:userdata_block_device:s0 +/dev/block/(pci|platform|vbd)(/.*)?/.*/by-name/misc u:object_r:misc_block_device:s0 +/dev/block/(pci|platform|vbd)(/.*)?/.*/by-name/teedata u:object_r:tee_device:s0 + +/file_contexts.bin u:object_r:rootfs:s0 +/metadata u:object_r:rootfs:s0 +/misc u:object_r:rootfs:s0 +/boot u:object_r:rootfs:s0 +/gpt.cel_kbl.ini u:object_r:rootfs:s0 +/persistent u:object_r:rootfs:s0 +/tos u:object_r:rootfs:s0 diff --git a/sepolicy/boot-arch/project-celadon/cel_kbl/hal_bootctl_default.te b/sepolicy/boot-arch/project-celadon/cel_kbl/hal_bootctl_default.te new file mode 100644 index 000000000..2f1f82bc0 --- /dev/null +++ b/sepolicy/boot-arch/project-celadon/cel_kbl/hal_bootctl_default.te @@ -0,0 +1,6 @@ +allow hal_bootctl_default rootfs:file r_file_perms; +allow hal_bootctl_default proc:file r_file_perms; +allow hal_bootctl_default block_device:dir r_dir_perms; +allow hal_bootctl_default misc_block_device:blk_file rw_file_perms; +allow hal_bootctl_default tmpfs:file r_file_perms; +allow hal_bootctl_default tmpfs:dir r_dir_perms; diff --git a/sepolicy/boot-arch/project-celadon/cel_kbl/init.te b/sepolicy/boot-arch/project-celadon/cel_kbl/init.te new file mode 100644 index 000000000..a2f993a8d --- /dev/null +++ b/sepolicy/boot-arch/project-celadon/cel_kbl/init.te @@ -0,0 +1,4 @@ +allow init system_file:system module_load; +allow init tmpfs:file r_file_perms; +allow init { boot_block_device vendor_block_device }:lnk_file relabelto; +allow init userdata_block_device:{ lnk_file blk_file } w_file_perms; diff --git a/sepolicy/boot-arch/project-celadon/cel_kbl/postinstall.te b/sepolicy/boot-arch/project-celadon/cel_kbl/postinstall.te new file mode 100644 index 000000000..f5dc50cba --- /dev/null +++ b/sepolicy/boot-arch/project-celadon/cel_kbl/postinstall.te @@ -0,0 +1,16 @@ +typeattribute postinstall system_writes_vendor_properties_violators; +typeattribute postinstall system_executes_vendor_violators; + +set_prop(postinstall, vendor_ota_prop) +recovery_only(` + allow postinstall rootfs:file rx_file_perms; +') + +allow postinstall vendor_shell_exec:file rx_file_perms; +allow postinstall vendor_toolbox_exec:file rx_file_perms; +allow postinstall rootfs:dir { write add_name create mounton }; +allow postinstall self:capability { sys_admin }; +allow postinstall vfat:filesystem { mount unmount }; +allow postinstall vfat:dir { write add_name search }; +allow postinstall vfat:file { create write open getattr }; +allow postinstall block_device:dir { search }; diff --git a/sepolicy/boot-arch/project-celadon/cel_kbl/property.te b/sepolicy/boot-arch/project-celadon/cel_kbl/property.te new file mode 100644 index 000000000..fc36b0842 --- /dev/null +++ b/sepolicy/boot-arch/project-celadon/cel_kbl/property.te @@ -0,0 +1 @@ +type vendor_ota_prop, property_type; diff --git a/sepolicy/boot-arch/project-celadon/cel_kbl/recovery.te b/sepolicy/boot-arch/project-celadon/cel_kbl/recovery.te new file mode 100644 index 000000000..15fb95121 --- /dev/null +++ b/sepolicy/boot-arch/project-celadon/cel_kbl/recovery.te @@ -0,0 +1 @@ +allow recovery sysfs_thermal_management:dir { search }; diff --git a/sepolicy/boot-arch/project-celadon/cel_kbl/update_engine.te b/sepolicy/boot-arch/project-celadon/cel_kbl/update_engine.te new file mode 100644 index 000000000..9d845dac9 --- /dev/null +++ b/sepolicy/boot-arch/project-celadon/cel_kbl/update_engine.te @@ -0,0 +1,15 @@ +allow update_engine vendor_block_device:blk_file rw_file_perms; +allow update_engine tmpfs:dir r_dir_perms; +allow update_engine tmpfs:file r_file_perms; +allow update_engine tmpfs:lnk_file r_file_perms; +allow update_engine vendor_shell_exec:file rx_file_perms; + +allow update_engine platform_app:binder call; +allow update_engine vfat:dir search; +allow update_engine vfat:file r_file_perms; +allow update_engine sdcardfs:dir search; +allow update_engine sdcardfs:file r_file_perms; +allow update_engine mnt_media_rw_file:file r_file_perms; +allow update_engine mnt_media_rw_file:dir r_dir_perms; +allow update_engine storage_file:file r_file_perms; +allow update_engine storage_file:dir r_dir_perms; diff --git a/sepolicy/boot-arch/project-celadon/cel_kbl/update_engine_common.te b/sepolicy/boot-arch/project-celadon/cel_kbl/update_engine_common.te new file mode 100644 index 000000000..eb5f3aab2 --- /dev/null +++ b/sepolicy/boot-arch/project-celadon/cel_kbl/update_engine_common.te @@ -0,0 +1,3 @@ +allow update_engine_common vendor_block_device:blk_file rw_file_perms; +allow update_engine_common tmpfs:file r_file_perms; +allow update_engine_common tmpfs:lnk_file r_file_perms; diff --git a/sepolicy/boot-arch/project-celadon/cel_kbl/update_engine_sideload.te b/sepolicy/boot-arch/project-celadon/cel_kbl/update_engine_sideload.te new file mode 100644 index 000000000..7ef4adf62 --- /dev/null +++ b/sepolicy/boot-arch/project-celadon/cel_kbl/update_engine_sideload.te @@ -0,0 +1,3 @@ +type update_engine_sideload, domain; + +allow update_engine_sideload recovery:capability { sys_rawio }; diff --git a/sepolicy/boot-arch/project-celadon/cel_kbl/vold.te b/sepolicy/boot-arch/project-celadon/cel_kbl/vold.te new file mode 100644 index 000000000..a7cd94845 --- /dev/null +++ b/sepolicy/boot-arch/project-celadon/cel_kbl/vold.te @@ -0,0 +1 @@ +allow vold tmpfs:file r_file_perms; diff --git a/sepolicy/boot-arch/project-celadon/celadon/device.te b/sepolicy/boot-arch/project-celadon/celadon/device.te new file mode 100644 index 000000000..b31ee1953 --- /dev/null +++ b/sepolicy/boot-arch/project-celadon/celadon/device.te @@ -0,0 +1 @@ +type vendor_block_device, dev_type; diff --git a/sepolicy/boot-arch/project-celadon/celadon/file_contexts b/sepolicy/boot-arch/project-celadon/celadon/file_contexts new file mode 100644 index 000000000..1f9fb4c17 --- /dev/null +++ b/sepolicy/boot-arch/project-celadon/celadon/file_contexts @@ -0,0 +1,25 @@ +# +# Block Devices +# + +/dev/block/(pci|platform|vbd)(/.*)?/.*/by-name/boot(_(a|b))? u:object_r:boot_block_device:s0 +/dev/block/(pci|platform|vbd)(/.*)?/.*/by-name/bootloader(_(a|b))? u:object_r:boot_block_device:s0 +/dev/block/(pci|platform|vbd)(/.*)?/.*/by-name/system(_(a|b))? u:object_r:system_block_device:s0 +/dev/block/(pci|platform|vbd)(/.*)?/.*/by-name/vendor(_(a|b))? u:object_r:vendor_block_device:s0 +/dev/block/(pci|platform|vbd)(/.*)?/.*/by-name/vbmeta(_(a|b))? u:object_r:boot_block_device:s0 +/dev/block/(pci|platform|vbd)(/.*)?/.*/by-name/tos(_(a|b))? u:object_r:boot_block_device:s0 +/dev/block/(pci|platform|vbd)(/.*)?/.*/by-name/persistent u:object_r:frp_block_device:s0 +/dev/block/(pci|platform|vbd)(/.*)?/.*/by-name/recovery u:object_r:recovery_block_device:s0 +/dev/block/(pci|platform|vbd)(/.*)?/.*/by-name/metadata u:object_r:metadata_block_device:s0 +/dev/block/(pci|platform|vbd)(/.*)?/.*/by-name/cache u:object_r:cache_block_device:s0 +/dev/block/(pci|platform|vbd)(/.*)?/.*/by-name/data u:object_r:userdata_block_device:s0 +/dev/block/(pci|platform|vbd)(/.*)?/.*/by-name/misc u:object_r:misc_block_device:s0 +/dev/block/(pci|platform|vbd)(/.*)?/.*/by-name/teedata u:object_r:tee_device:s0 + +/file_contexts.bin u:object_r:rootfs:s0 +/metadata u:object_r:rootfs:s0 +/misc u:object_r:rootfs:s0 +/boot u:object_r:rootfs:s0 +/gpt.celadon.ini u:object_r:rootfs:s0 +/persistent u:object_r:rootfs:s0 +/tos u:object_r:rootfs:s0 diff --git a/sepolicy/boot-arch/project-celadon/celadon/hal_bootctl_default.te b/sepolicy/boot-arch/project-celadon/celadon/hal_bootctl_default.te new file mode 100644 index 000000000..2f1f82bc0 --- /dev/null +++ b/sepolicy/boot-arch/project-celadon/celadon/hal_bootctl_default.te @@ -0,0 +1,6 @@ +allow hal_bootctl_default rootfs:file r_file_perms; +allow hal_bootctl_default proc:file r_file_perms; +allow hal_bootctl_default block_device:dir r_dir_perms; +allow hal_bootctl_default misc_block_device:blk_file rw_file_perms; +allow hal_bootctl_default tmpfs:file r_file_perms; +allow hal_bootctl_default tmpfs:dir r_dir_perms; diff --git a/sepolicy/boot-arch/project-celadon/celadon/init.te b/sepolicy/boot-arch/project-celadon/celadon/init.te new file mode 100644 index 000000000..a2f993a8d --- /dev/null +++ b/sepolicy/boot-arch/project-celadon/celadon/init.te @@ -0,0 +1,4 @@ +allow init system_file:system module_load; +allow init tmpfs:file r_file_perms; +allow init { boot_block_device vendor_block_device }:lnk_file relabelto; +allow init userdata_block_device:{ lnk_file blk_file } w_file_perms; diff --git a/sepolicy/boot-arch/project-celadon/celadon/postinstall.te b/sepolicy/boot-arch/project-celadon/celadon/postinstall.te new file mode 100644 index 000000000..f5dc50cba --- /dev/null +++ b/sepolicy/boot-arch/project-celadon/celadon/postinstall.te @@ -0,0 +1,16 @@ +typeattribute postinstall system_writes_vendor_properties_violators; +typeattribute postinstall system_executes_vendor_violators; + +set_prop(postinstall, vendor_ota_prop) +recovery_only(` + allow postinstall rootfs:file rx_file_perms; +') + +allow postinstall vendor_shell_exec:file rx_file_perms; +allow postinstall vendor_toolbox_exec:file rx_file_perms; +allow postinstall rootfs:dir { write add_name create mounton }; +allow postinstall self:capability { sys_admin }; +allow postinstall vfat:filesystem { mount unmount }; +allow postinstall vfat:dir { write add_name search }; +allow postinstall vfat:file { create write open getattr }; +allow postinstall block_device:dir { search }; diff --git a/sepolicy/boot-arch/project-celadon/celadon/property.te b/sepolicy/boot-arch/project-celadon/celadon/property.te new file mode 100644 index 000000000..fc36b0842 --- /dev/null +++ b/sepolicy/boot-arch/project-celadon/celadon/property.te @@ -0,0 +1 @@ +type vendor_ota_prop, property_type; diff --git a/sepolicy/boot-arch/project-celadon/celadon/recovery.te b/sepolicy/boot-arch/project-celadon/celadon/recovery.te new file mode 100644 index 000000000..15fb95121 --- /dev/null +++ b/sepolicy/boot-arch/project-celadon/celadon/recovery.te @@ -0,0 +1 @@ +allow recovery sysfs_thermal_management:dir { search }; diff --git a/sepolicy/boot-arch/project-celadon/celadon/update_engine.te b/sepolicy/boot-arch/project-celadon/celadon/update_engine.te new file mode 100644 index 000000000..9d845dac9 --- /dev/null +++ b/sepolicy/boot-arch/project-celadon/celadon/update_engine.te @@ -0,0 +1,15 @@ +allow update_engine vendor_block_device:blk_file rw_file_perms; +allow update_engine tmpfs:dir r_dir_perms; +allow update_engine tmpfs:file r_file_perms; +allow update_engine tmpfs:lnk_file r_file_perms; +allow update_engine vendor_shell_exec:file rx_file_perms; + +allow update_engine platform_app:binder call; +allow update_engine vfat:dir search; +allow update_engine vfat:file r_file_perms; +allow update_engine sdcardfs:dir search; +allow update_engine sdcardfs:file r_file_perms; +allow update_engine mnt_media_rw_file:file r_file_perms; +allow update_engine mnt_media_rw_file:dir r_dir_perms; +allow update_engine storage_file:file r_file_perms; +allow update_engine storage_file:dir r_dir_perms; diff --git a/sepolicy/boot-arch/project-celadon/celadon/update_engine_common.te b/sepolicy/boot-arch/project-celadon/celadon/update_engine_common.te new file mode 100644 index 000000000..eb5f3aab2 --- /dev/null +++ b/sepolicy/boot-arch/project-celadon/celadon/update_engine_common.te @@ -0,0 +1,3 @@ +allow update_engine_common vendor_block_device:blk_file rw_file_perms; +allow update_engine_common tmpfs:file r_file_perms; +allow update_engine_common tmpfs:lnk_file r_file_perms; diff --git a/sepolicy/boot-arch/project-celadon/celadon/update_engine_sideload.te b/sepolicy/boot-arch/project-celadon/celadon/update_engine_sideload.te new file mode 100644 index 000000000..7ef4adf62 --- /dev/null +++ b/sepolicy/boot-arch/project-celadon/celadon/update_engine_sideload.te @@ -0,0 +1,3 @@ +type update_engine_sideload, domain; + +allow update_engine_sideload recovery:capability { sys_rawio }; diff --git a/sepolicy/boot-arch/project-celadon/celadon/vold.te b/sepolicy/boot-arch/project-celadon/celadon/vold.te new file mode 100644 index 000000000..a7cd94845 --- /dev/null +++ b/sepolicy/boot-arch/project-celadon/celadon/vold.te @@ -0,0 +1 @@ +allow vold tmpfs:file r_file_perms; diff --git a/sepolicy/boot-arch/project-celadon/clk/device.te b/sepolicy/boot-arch/project-celadon/clk/device.te new file mode 100644 index 000000000..b31ee1953 --- /dev/null +++ b/sepolicy/boot-arch/project-celadon/clk/device.te @@ -0,0 +1 @@ +type vendor_block_device, dev_type; diff --git a/sepolicy/boot-arch/project-celadon/clk/file_contexts b/sepolicy/boot-arch/project-celadon/clk/file_contexts new file mode 100644 index 000000000..904b2c233 --- /dev/null +++ b/sepolicy/boot-arch/project-celadon/clk/file_contexts @@ -0,0 +1,25 @@ +# +# Block Devices +# + +/dev/block/(pci|platform|vbd)(/.*)?/.*/by-name/boot(_(a|b))? u:object_r:boot_block_device:s0 +/dev/block/(pci|platform|vbd)(/.*)?/.*/by-name/bootloader(_(a|b))? u:object_r:boot_block_device:s0 +/dev/block/(pci|platform|vbd)(/.*)?/.*/by-name/system(_(a|b))? u:object_r:system_block_device:s0 +/dev/block/(pci|platform|vbd)(/.*)?/.*/by-name/vendor(_(a|b))? u:object_r:vendor_block_device:s0 +/dev/block/(pci|platform|vbd)(/.*)?/.*/by-name/vbmeta(_(a|b))? u:object_r:boot_block_device:s0 +/dev/block/(pci|platform|vbd)(/.*)?/.*/by-name/tos(_(a|b))? u:object_r:boot_block_device:s0 +/dev/block/(pci|platform|vbd)(/.*)?/.*/by-name/persistent u:object_r:frp_block_device:s0 +/dev/block/(pci|platform|vbd)(/.*)?/.*/by-name/recovery u:object_r:recovery_block_device:s0 +/dev/block/(pci|platform|vbd)(/.*)?/.*/by-name/metadata u:object_r:metadata_block_device:s0 +/dev/block/(pci|platform|vbd)(/.*)?/.*/by-name/cache u:object_r:cache_block_device:s0 +/dev/block/(pci|platform|vbd)(/.*)?/.*/by-name/data u:object_r:userdata_block_device:s0 +/dev/block/(pci|platform|vbd)(/.*)?/.*/by-name/misc u:object_r:misc_block_device:s0 +/dev/block/(pci|platform|vbd)(/.*)?/.*/by-name/teedata u:object_r:tee_device:s0 + +/file_contexts.bin u:object_r:rootfs:s0 +/metadata u:object_r:rootfs:s0 +/misc u:object_r:rootfs:s0 +/boot u:object_r:rootfs:s0 +/gpt.clk.ini u:object_r:rootfs:s0 +/persistent u:object_r:rootfs:s0 +/tos u:object_r:rootfs:s0 diff --git a/sepolicy/boot-arch/project-celadon/clk/hal_bootctl_default.te b/sepolicy/boot-arch/project-celadon/clk/hal_bootctl_default.te new file mode 100644 index 000000000..2f1f82bc0 --- /dev/null +++ b/sepolicy/boot-arch/project-celadon/clk/hal_bootctl_default.te @@ -0,0 +1,6 @@ +allow hal_bootctl_default rootfs:file r_file_perms; +allow hal_bootctl_default proc:file r_file_perms; +allow hal_bootctl_default block_device:dir r_dir_perms; +allow hal_bootctl_default misc_block_device:blk_file rw_file_perms; +allow hal_bootctl_default tmpfs:file r_file_perms; +allow hal_bootctl_default tmpfs:dir r_dir_perms; diff --git a/sepolicy/boot-arch/project-celadon/clk/init.te b/sepolicy/boot-arch/project-celadon/clk/init.te new file mode 100644 index 000000000..a2f993a8d --- /dev/null +++ b/sepolicy/boot-arch/project-celadon/clk/init.te @@ -0,0 +1,4 @@ +allow init system_file:system module_load; +allow init tmpfs:file r_file_perms; +allow init { boot_block_device vendor_block_device }:lnk_file relabelto; +allow init userdata_block_device:{ lnk_file blk_file } w_file_perms; diff --git a/sepolicy/boot-arch/project-celadon/clk/postinstall.te b/sepolicy/boot-arch/project-celadon/clk/postinstall.te new file mode 100644 index 000000000..f5dc50cba --- /dev/null +++ b/sepolicy/boot-arch/project-celadon/clk/postinstall.te @@ -0,0 +1,16 @@ +typeattribute postinstall system_writes_vendor_properties_violators; +typeattribute postinstall system_executes_vendor_violators; + +set_prop(postinstall, vendor_ota_prop) +recovery_only(` + allow postinstall rootfs:file rx_file_perms; +') + +allow postinstall vendor_shell_exec:file rx_file_perms; +allow postinstall vendor_toolbox_exec:file rx_file_perms; +allow postinstall rootfs:dir { write add_name create mounton }; +allow postinstall self:capability { sys_admin }; +allow postinstall vfat:filesystem { mount unmount }; +allow postinstall vfat:dir { write add_name search }; +allow postinstall vfat:file { create write open getattr }; +allow postinstall block_device:dir { search }; diff --git a/sepolicy/boot-arch/project-celadon/clk/property.te b/sepolicy/boot-arch/project-celadon/clk/property.te new file mode 100644 index 000000000..fc36b0842 --- /dev/null +++ b/sepolicy/boot-arch/project-celadon/clk/property.te @@ -0,0 +1 @@ +type vendor_ota_prop, property_type; diff --git a/sepolicy/boot-arch/project-celadon/clk/recovery.te b/sepolicy/boot-arch/project-celadon/clk/recovery.te new file mode 100644 index 000000000..15fb95121 --- /dev/null +++ b/sepolicy/boot-arch/project-celadon/clk/recovery.te @@ -0,0 +1 @@ +allow recovery sysfs_thermal_management:dir { search }; diff --git a/sepolicy/boot-arch/project-celadon/clk/update_engine.te b/sepolicy/boot-arch/project-celadon/clk/update_engine.te new file mode 100644 index 000000000..9d845dac9 --- /dev/null +++ b/sepolicy/boot-arch/project-celadon/clk/update_engine.te @@ -0,0 +1,15 @@ +allow update_engine vendor_block_device:blk_file rw_file_perms; +allow update_engine tmpfs:dir r_dir_perms; +allow update_engine tmpfs:file r_file_perms; +allow update_engine tmpfs:lnk_file r_file_perms; +allow update_engine vendor_shell_exec:file rx_file_perms; + +allow update_engine platform_app:binder call; +allow update_engine vfat:dir search; +allow update_engine vfat:file r_file_perms; +allow update_engine sdcardfs:dir search; +allow update_engine sdcardfs:file r_file_perms; +allow update_engine mnt_media_rw_file:file r_file_perms; +allow update_engine mnt_media_rw_file:dir r_dir_perms; +allow update_engine storage_file:file r_file_perms; +allow update_engine storage_file:dir r_dir_perms; diff --git a/sepolicy/boot-arch/project-celadon/clk/update_engine_common.te b/sepolicy/boot-arch/project-celadon/clk/update_engine_common.te new file mode 100644 index 000000000..eb5f3aab2 --- /dev/null +++ b/sepolicy/boot-arch/project-celadon/clk/update_engine_common.te @@ -0,0 +1,3 @@ +allow update_engine_common vendor_block_device:blk_file rw_file_perms; +allow update_engine_common tmpfs:file r_file_perms; +allow update_engine_common tmpfs:lnk_file r_file_perms; diff --git a/sepolicy/boot-arch/project-celadon/clk/update_engine_sideload.te b/sepolicy/boot-arch/project-celadon/clk/update_engine_sideload.te new file mode 100644 index 000000000..7ef4adf62 --- /dev/null +++ b/sepolicy/boot-arch/project-celadon/clk/update_engine_sideload.te @@ -0,0 +1,3 @@ +type update_engine_sideload, domain; + +allow update_engine_sideload recovery:capability { sys_rawio }; diff --git a/sepolicy/boot-arch/project-celadon/clk/vold.te b/sepolicy/boot-arch/project-celadon/clk/vold.te new file mode 100644 index 000000000..a7cd94845 --- /dev/null +++ b/sepolicy/boot-arch/project-celadon/clk/vold.te @@ -0,0 +1 @@ +allow vold tmpfs:file r_file_perms; diff --git a/sepolicy/bootanim.te b/sepolicy/bootanim.te deleted file mode 100644 index d6e355642..000000000 --- a/sepolicy/bootanim.te +++ /dev/null @@ -1,3 +0,0 @@ -allow bootanim tmpfs:lnk_file read; -allow bootanim debugfs_tracing:file { read open write }; -allow bootanim surfaceflinger:fifo_file rw_file_perms; diff --git a/sepolicy/camera-ext/ext-camera-only/cameraserver.te b/sepolicy/camera-ext/ext-camera-only/cameraserver.te new file mode 100644 index 000000000..b501ee860 --- /dev/null +++ b/sepolicy/camera-ext/ext-camera-only/cameraserver.te @@ -0,0 +1,4 @@ +#============= cameraserver ============== +allow cameraserver gpu_device:dir search; +allow cameraserver gpu_device:chr_file { ioctl open read write }; +allow cameraserver hal_graphics_allocator_default_tmpfs:file { read write map}; diff --git a/sepolicy/camera-ext/ext-camera-only/file_contexts b/sepolicy/camera-ext/ext-camera-only/file_contexts new file mode 100644 index 000000000..1435d5fdf --- /dev/null +++ b/sepolicy/camera-ext/ext-camera-only/file_contexts @@ -0,0 +1,2 @@ +/dev/video* u:object_r:video_device:s0 +/dev/media([0-9])+ u:object_r:video_device:s0 diff --git a/sepolicy/camera-ext/ext-camera-only/hal_camera_default.te b/sepolicy/camera-ext/ext-camera-only/hal_camera_default.te new file mode 100644 index 000000000..bfb01c8c3 --- /dev/null +++ b/sepolicy/camera-ext/ext-camera-only/hal_camera_default.te @@ -0,0 +1,7 @@ +#============= hal_camera_default ============== +vndbinder_use(hal_camera_default); + +allow hal_camera_default gpu_device:chr_file { ioctl open read write }; +allow hal_camera_default gpu_device:dir search; +allow hal_camera_default hal_graphics_allocator_default_tmpfs:file { map read write }; +allow hal_camera_default hal_graphics_mapper_hwservice:hwservice_manager find; diff --git a/sepolicy/camera-ext/ext-camera-only/init.te b/sepolicy/camera-ext/ext-camera-only/init.te new file mode 100644 index 000000000..60543c9c0 --- /dev/null +++ b/sepolicy/camera-ext/ext-camera-only/init.te @@ -0,0 +1,6 @@ +# +# init +# + +# wait on /dev/video0 a shared buffer used for camera processing +allow init video_device:chr_file getattr; diff --git a/sepolicy/camera/usbcamera/file_contexts b/sepolicy/camera/usbcamera/file_contexts new file mode 100644 index 000000000..300cccb5f --- /dev/null +++ b/sepolicy/camera/usbcamera/file_contexts @@ -0,0 +1,3 @@ +/dev/video* u:object_r:video_device:s0 +/dev/v4l-subdev.* u:object_r:video_device:s0 +/dev/media([0-9])+ u:object_r:video_device:s0 diff --git a/sepolicy/camera/usbcamera/init.te b/sepolicy/camera/usbcamera/init.te new file mode 100644 index 000000000..60543c9c0 --- /dev/null +++ b/sepolicy/camera/usbcamera/init.te @@ -0,0 +1,6 @@ +# +# init +# + +# wait on /dev/video0 a shared buffer used for camera processing +allow init video_device:chr_file getattr; diff --git a/sepolicy/camera/usbcamera/untrusted_app_25.te b/sepolicy/camera/usbcamera/untrusted_app_25.te new file mode 100644 index 000000000..25af7b5ee --- /dev/null +++ b/sepolicy/camera/usbcamera/untrusted_app_25.te @@ -0,0 +1,11 @@ +#============= untrusted_app_25 ============== + +allow untrusted_app_25 device:dir open; +allow untrusted_app_25 device:dir read; +allow untrusted_app_25 video_device:chr_file { ioctl map }; +allow untrusted_app_25 video_device:chr_file open; +#allow untrusted_app_25 video_device:chr_file read; +#allow untrusted_app_25 video_device:chr_file write; + +#avc: denied { write } for pid=6896 comm="pool-3-thread-1" path=2F64726D206D6D206 dev="tmpfs" ino=56699 scontext=u:r:untrusted_app_25:s0:c512,c768 tcontext=u:object_r:hal_graphics_allocator_default_tmpfs:s0 tclass=file permissive=0 +allow untrusted_app_25 hal_graphics_allocator_default_tmpfs:file write; diff --git a/sepolicy/cameraserver.te b/sepolicy/cameraserver.te deleted file mode 100644 index 73b54d2b6..000000000 --- a/sepolicy/cameraserver.te +++ /dev/null @@ -1,21 +0,0 @@ -allow cameraserver tmpfs:lnk_file read; -allow cameraserver debugfs_tracing:file { write open }; -allow bootanim surfaceflinger:fifo_file rw_file_perms; - -allow cameraserver system_server:unix_stream_socket { read write }; - -# sensor manager based camera/video stabilization -allow cameraserver sensorservice_service:service_manager find; -allow cameraserver power_service:service_manager find; - -# gpu access -allow cameraserver device:dir r_dir_perms; -allow cameraserver gpu_device:chr_file rw_file_perms; -allow cameraserver host1x_device:chr_file rw_file_perms; - -# /sys and /proc access -allow cameraserver { proc proc_meminfo }:{ file lnk_file } r_file_perms; -r_dir_file(cameraserver, sysfs) - -allow cameraserver system_file:dir r_dir_perms; -allow cameraserver tmpfs:dir search; diff --git a/sepolicy/car/file.te b/sepolicy/car/file.te new file mode 100644 index 000000000..0399da341 --- /dev/null +++ b/sepolicy/car/file.te @@ -0,0 +1,6 @@ +# +# CarService.apk +# when system is going to suspend, by press ignition button, Carservice needs to write +# /sys/power/state to put system to suspend +# +type sysfs_early_evs, fs_type, sysfs_type; diff --git a/sepolicy/car/file_contexts b/sepolicy/car/file_contexts new file mode 100644 index 000000000..589ff440d --- /dev/null +++ b/sepolicy/car/file_contexts @@ -0,0 +1,4 @@ +/(vendor|system/vendor)/bin/hw/android\.hardware\.automotive\.vehicle\.intel@2\.0-service u:object_r:hal_vehicle_default_exec:s0 +/(vendor|system/vendor)/bin/hw/android\.hardware\.automotive\.vehicle\.intel@2\.1-service u:object_r:hal_vehicle_default_exec:s0 + +/vendor/bin/hw/android.hardware.broadcastradio@intel-service u:object_r:hal_broadcastradio_default_exec:s0 diff --git a/sepolicy/car/hal_broadcastradio_default.te b/sepolicy/car/hal_broadcastradio_default.te new file mode 100644 index 000000000..6549042b1 --- /dev/null +++ b/sepolicy/car/hal_broadcastradio_default.te @@ -0,0 +1,8 @@ +typeattribute hal_broadcastradio_default binder_in_vendor_violators; +binder_use(hal_broadcastradio_default) +binder_call(hal_broadcastradio_default, system_server) + +allow hal_broadcastradio_default i2c_device:chr_file rw_file_perms; + +allow hal_broadcastradio_default rootfs:dir r_dir_perms; +allow hal_broadcastradio_default sysfs:dir r_dir_perms; diff --git a/sepolicy/car/hal_vehicle_default.te b/sepolicy/car/hal_vehicle_default.te new file mode 100644 index 000000000..5a02c6698 --- /dev/null +++ b/sepolicy/car/hal_vehicle_default.te @@ -0,0 +1,21 @@ +# +# Default hal vehicle service +# oao/hardware/interfaces/automotive/vehicle +# +binder_call(hal_audio_default, hal_vehicle_default) +binder_call(hal_vehicle_default, hal_audio_default) +allow hal_vehicle_default hal_audio_hwservice:hwservice_manager find; + +# +# Allow hal_vehicle_default to create socket. +# Vehicle HAL service needs to communicates with CAN devices through socketCAN. +# + +allow hal_vehicle_default self:can_socket create_socket_perms; +allowxperm hal_vehicle_default self:can_socket ioctl { + SIOCGIFINDEX + SIOCSIFNAME + SIOCSIFFLAGS +}; + +ignore_adb_debug(`hal_vehicle_default') diff --git a/sepolicy/car/ioc_slcan.te b/sepolicy/car/ioc_slcan.te new file mode 100644 index 000000000..d1788ceec --- /dev/null +++ b/sepolicy/car/ioc_slcan.te @@ -0,0 +1,7 @@ +#module_only(`ioc_slcan', ` +# # alow vns to find the slcan service +# allow vns ioc_slcan_service:service_manager find; +# +# # allow vns to call found interfaces belonging to ioc_slcan; +# binder_call(vns, ioc_slcan) +#') diff --git a/sepolicy/car/kitchensink_app.te b/sepolicy/car/kitchensink_app.te new file mode 100644 index 000000000..343f6fb1a --- /dev/null +++ b/sepolicy/car/kitchensink_app.te @@ -0,0 +1,3 @@ +userdebug_or_eng(` + allow kitchensink_app { textservices_service bluetooth_manager_service }:service_manager find; +') diff --git a/sepolicy/car/netd.te b/sepolicy/car/netd.te new file mode 100644 index 000000000..4a43f0300 --- /dev/null +++ b/sepolicy/car/netd.te @@ -0,0 +1,9 @@ +# +# configuration to allow Google emulator script connecting vehicle HAL +# service through socket +# + +userdebug_or_eng(` + allow netd hal_vehicle_default:fd use; + allow netd hal_vehicle_default:tcp_socket { read write getopt setopt }; +') diff --git a/sepolicy/car/platform_app.te b/sepolicy/car/platform_app.te new file mode 100644 index 000000000..213b89b48 --- /dev/null +++ b/sepolicy/car/platform_app.te @@ -0,0 +1,5 @@ +allow platform_app broadcastradio_service:service_manager find; + +#allow SystemUpdater app to call UpdateEngine +allow platform_app update_engine:binder { call transfer }; +allow platform_app update_engine_service:service_manager find; diff --git a/sepolicy/car/system_server.te b/sepolicy/car/system_server.te new file mode 100644 index 000000000..e69de29bb diff --git a/sepolicy/config-partition/device.te b/sepolicy/config-partition/device.te new file mode 100644 index 000000000..9d3aa092a --- /dev/null +++ b/sepolicy/config-partition/device.te @@ -0,0 +1 @@ +type config_block_device, dev_type; diff --git a/sepolicy/config-partition/dumpstate.te b/sepolicy/config-partition/dumpstate.te new file mode 100644 index 000000000..b6f244949 --- /dev/null +++ b/sepolicy/config-partition/dumpstate.te @@ -0,0 +1,2 @@ +dontaudit dumpstate config_file:dir r_dir_perms; +dontaudit dumpstate config_file:file r_file_perms; diff --git a/sepolicy/config-partition/file.te b/sepolicy/config-partition/file.te new file mode 100644 index 000000000..565d0d54a --- /dev/null +++ b/sepolicy/config-partition/file.te @@ -0,0 +1 @@ +type config_file, file_type, data_file_type; diff --git a/sepolicy/config-partition/file_contexts b/sepolicy/config-partition/file_contexts new file mode 100644 index 000000000..bdcd77b53 --- /dev/null +++ b/sepolicy/config-partition/file_contexts @@ -0,0 +1,4 @@ +# Config partition +/oem_config(/.*)? u:object_r:config_file:s0 + +/dev/block/(pci|platform)(/.*)?/.*/by-name/android_config u:object_r:config_block_device:s0 diff --git a/sepolicy/config-partition/fsck.te b/sepolicy/config-partition/fsck.te new file mode 100644 index 000000000..3c5e52261 --- /dev/null +++ b/sepolicy/config-partition/fsck.te @@ -0,0 +1,3 @@ +# Run fsck on config partition + +allow fsck config_block_device:blk_file rw_file_perms; diff --git a/sepolicy/config-partition/init.te b/sepolicy/config-partition/init.te new file mode 100644 index 000000000..7af77b916 --- /dev/null +++ b/sepolicy/config-partition/init.te @@ -0,0 +1,6 @@ +# +# init +# + +# mount /oem_config +allow init config_file:dir mounton; diff --git a/sepolicy/config-partition/nfc.te b/sepolicy/config-partition/nfc.te new file mode 100644 index 000000000..c95f3b155 --- /dev/null +++ b/sepolicy/config-partition/nfc.te @@ -0,0 +1,4 @@ +# +# nfc +# +allow nfc config_file:dir search; diff --git a/sepolicy/config-partition/ueventd.te b/sepolicy/config-partition/ueventd.te new file mode 100644 index 000000000..ff6118cda --- /dev/null +++ b/sepolicy/config-partition/ueventd.te @@ -0,0 +1,6 @@ +# +# ueventd +# +typeattribute ueventd data_between_core_and_vendor_violators; +allow ueventd config_file:dir search; +allow ueventd config_file:file r_file_perms; diff --git a/sepolicy/config-partition/vold.te b/sepolicy/config-partition/vold.te new file mode 100644 index 000000000..70aa7241c --- /dev/null +++ b/sepolicy/config-partition/vold.te @@ -0,0 +1,7 @@ +# +# vold +# +typeattribute vold data_between_core_and_vendor_violators; +allow vold config_file:dir r_dir_perms; +# uapi/linux/fs.h:#define FITRIM _IOWR('X', 121, struct fstrim_range) /* Trim */ +#allow vold config_file:dir 0x5879; diff --git a/sepolicy/config-partition/wpa.te b/sepolicy/config-partition/wpa.te new file mode 100644 index 000000000..fbe3ae40a --- /dev/null +++ b/sepolicy/config-partition/wpa.te @@ -0,0 +1,7 @@ +# +# wpa.te +# + +# allow wpa to access Mac address given by wlan_prov tool +#allow wpa config_file:dir search; +#allow wpa config_file:file r_file_perms; diff --git a/sepolicy/coredump/file.te b/sepolicy/coredump/file.te new file mode 100644 index 000000000..82355ca66 --- /dev/null +++ b/sepolicy/coredump/file.te @@ -0,0 +1 @@ +type coredump_log_file, mlstrustedobject, file_type, data_file_type, core_data_file_type; diff --git a/sepolicy/coredump/file_contexts b/sepolicy/coredump/file_contexts new file mode 100644 index 000000000..7070f6e2b --- /dev/null +++ b/sepolicy/coredump/file_contexts @@ -0,0 +1,2 @@ +# Coredump path +/data/core(/.*)? u:object_r:coredump_log_file:s0 diff --git a/sepolicy/coredump/netd.te b/sepolicy/coredump/netd.te new file mode 100644 index 000000000..3840c3291 --- /dev/null +++ b/sepolicy/coredump/netd.te @@ -0,0 +1,4 @@ +userdebug_or_eng(` + allow netd coredump_log_file:dir create_dir_perms; + allow netd coredump_log_file:file create_file_perms; +') diff --git a/sepolicy/crash_collector.te b/sepolicy/crash_collector.te deleted file mode 100644 index 2f941f0eb..000000000 --- a/sepolicy/crash_collector.te +++ /dev/null @@ -1,18 +0,0 @@ -type crash_collector, domain, domain_deprecated; -type crash_collector_exec, exec_type, file_type; -type crash_reports_data_file, file_type, data_file_type; - -# To start crash_collector via /proc/sys/core_pattern. -domain_auto_trans(kernel, crash_collector_exec, crash_collector) -allow crash_collector kernel:fifo_file read; -allow crash_collector crash_collector_exec:file execute_no_trans; - -# To stop being root. -allow crash_collector self:capability { setuid setgid }; - -# To read exec files. -allow crash_collector exec_type:file r_file_perms; - -# To write crash reports in /data/system/crash_reports/ -allow crash_collector crash_reports_data_file:dir create_dir_perms; -allow crash_collector crash_reports_data_file:file create_file_perms; diff --git a/sepolicy/crash_collector_app.te b/sepolicy/crash_collector_app.te deleted file mode 100644 index 166ec1a1d..000000000 --- a/sepolicy/crash_collector_app.te +++ /dev/null @@ -1,9 +0,0 @@ -type crash_collector_app, domain, domain_deprecated; - -# com.google.android.crashuploader runs in the crash_collector_app domain -app_domain(crash_collector_app) -net_domain(crash_collector_app) - -allow crash_collector_app crash_reports_data_file:file { read getattr }; - -allow crash_collector_app { service_manager_type -gatekeeper_service -netd_service }:service_manager find; diff --git a/sepolicy/crashlogd/crashlogd.te b/sepolicy/crashlogd/crashlogd.te new file mode 100644 index 000000000..796a0e9ed --- /dev/null +++ b/sepolicy/crashlogd/crashlogd.te @@ -0,0 +1,39 @@ +userdebug_or_eng(` + # Rules for crashlogd + type crashlogd, domain; + type crashlogd_exec, exec_type, file_type, vendor_file_type; + init_daemon_domain(crashlogd) + permissive crashlogd; + + typeattribute crashlogd mlstrustedsubject; + + #For silence only + dontaudit crashlogd self:capability_class_set *; + dontaudit crashlogd kernel:security *; + dontaudit crashlogd kernel:system *; + dontaudit crashlogd self:memprotect *; + dontaudit crashlogd domain:process *; + dontaudit crashlogd domain:fd *; + dontaudit crashlogd domain:dir r_dir_perms; + dontaudit crashlogd domain:lnk_file r_file_perms; + dontaudit crashlogd domain:{ fifo_file file } rw_file_perms; + dontaudit crashlogd domain:socket_class_set *; + dontaudit crashlogd domain:ipc_class_set *; + dontaudit crashlogd domain:key *; + dontaudit crashlogd fs_type:filesystem *; + dontaudit crashlogd fs_type:dir_file_class_set *; + dontaudit crashlogd dev_type:dir_file_class_set *; + dontaudit crashlogd file_type:dir_file_class_set *; + dontaudit crashlogd node_type:node *; + dontaudit crashlogd node_type:{ tcp_socket udp_socket } node_bind; + dontaudit crashlogd netif_type:netif *; + dontaudit crashlogd port_type:socket_class_set name_bind; + dontaudit crashlogd port_type:{ tcp_socket dccp_socket } name_connect; + dontaudit crashlogd domain:peer recv; + dontaudit crashlogd domain:binder *; + dontaudit crashlogd property_type:property_service *; + dontaudit crashlogd property_type:file *; + # dontaudit crashlogd domain:debuggerd *; + dontaudit crashlogd service_manager_type:service_manager *; + dontaudit crashlogd servicemanager: binder *; +') diff --git a/sepolicy/crashlogd/dumpstate.te b/sepolicy/crashlogd/dumpstate.te new file mode 100644 index 000000000..eefbe73f5 --- /dev/null +++ b/sepolicy/crashlogd/dumpstate.te @@ -0,0 +1,4 @@ +allow dumpstate block_device:blk_file getattr; +allow dumpstate debugfs_graphics_sync:dir r_dir_perms; +allow dumpstate kernel:system module_request; +allow dumpstate self:netlink_xfrm_socket create; diff --git a/sepolicy/crashlogd/dumpstate_dropbox.te b/sepolicy/crashlogd/dumpstate_dropbox.te new file mode 100644 index 000000000..d62b24482 --- /dev/null +++ b/sepolicy/crashlogd/dumpstate_dropbox.te @@ -0,0 +1,27 @@ +userdebug_or_eng(` + type dumpstate_dropbox, domain; + type dumpstate_dropbox_exec, exec_type, file_type, vendor_file_type; + + domain_auto_trans(init, dumpstate_dropbox_exec, dumpstate_dropbox) + + permissive dumpstate_dropbox; + + dontaudit dumpstate_dropbox self:capability { chown dac_override }; + allow dumpstate_dropbox system_server:binder call; + + allow domain dumpstate_dropbox:fd use; + + dontaudit dumpstate_dropbox dropbox_service:service_manager find; + + set_prop(dumpstate_dropbox, ctl_dumpstate_prop) + + # Execute shell scripts, toolbox and system bin files. + dontaudit dumpstate_dropbox toolbox_exec:file rx_file_perms; + dontaudit dumpstate_dropbox shell_exec:file rx_file_perms; + dontaudit dumpstate_dropbox system_file:file rx_file_perms; + dontaudit dumpstate_dropbox system_data_file:dir { add_name write }; + dontaudit dumpstate_dropbox domain:binder *; + dontaudit dumpstate_dropbox binder_device: chr_file *; + dontaudit dumpstate_dropbox default_prop:file *; + dontaudit dumpstate_dropbox binder_device:chr_file *; +') diff --git a/sepolicy/crashlogd/file_contexts b/sepolicy/crashlogd/file_contexts new file mode 100644 index 000000000..41ac72fb5 --- /dev/null +++ b/sepolicy/crashlogd/file_contexts @@ -0,0 +1,5 @@ +# Crashlogd executable +(/system)?/vendor/bin/crashlogd u:object_r:crashlogd_exec:s0 + +# Dumpstate dropbox script +(/system)?/vendor/bin/dumpstate_dropbox.sh u:object_r:dumpstate_dropbox_exec:s0 diff --git a/sepolicy/crashlogd/property.te b/sepolicy/crashlogd/property.te new file mode 100644 index 000000000..f5e9e60e3 --- /dev/null +++ b/sepolicy/crashlogd/property.te @@ -0,0 +1 @@ +type vendor_crashlogd_prop, property_type; diff --git a/sepolicy/crashlogd/property_contexts b/sepolicy/crashlogd/property_contexts new file mode 100644 index 000000000..37739866b --- /dev/null +++ b/sepolicy/crashlogd/property_contexts @@ -0,0 +1,2 @@ +# user changable crashlogd properties +persist.vendor.crashlogd. u:object_r:vendor_crashlogd_prop:s0 diff --git a/sepolicy/crashlogd/system_app.te b/sepolicy/crashlogd/system_app.te new file mode 100644 index 000000000..c8c9b3366 --- /dev/null +++ b/sepolicy/crashlogd/system_app.te @@ -0,0 +1,8 @@ +# +# system_app +# + +get_prop(system_app, vendor_crashlogd_prop) + +allow system_app debugfs:dir r_dir_perms; + diff --git a/sepolicy/crashlogd/system_server.te b/sepolicy/crashlogd/system_server.te new file mode 100644 index 000000000..0fd69e865 --- /dev/null +++ b/sepolicy/crashlogd/system_server.te @@ -0,0 +1,5 @@ +userdebug_or_eng(` + binder_call(system_server, crashlogd); + allow system_server crashlogd:fifo_file w_file_perms; + allow system_server dumpstate_dropbox:fifo_file w_file_perms; +') diff --git a/sepolicy/crashlogd/vendor_shell.te b/sepolicy/crashlogd/vendor_shell.te new file mode 100644 index 000000000..02c567b46 --- /dev/null +++ b/sepolicy/crashlogd/vendor_shell.te @@ -0,0 +1,5 @@ +# enable the change of crashlog properties +userdebug_or_eng(` + set_prop(vendor_shell, vendor_crashlogd_prop) +') + diff --git a/sepolicy/debug-logs/dumpstate.te b/sepolicy/debug-logs/dumpstate.te new file mode 100644 index 000000000..84a6ae548 --- /dev/null +++ b/sepolicy/debug-logs/dumpstate.te @@ -0,0 +1,5 @@ +# +# dumpstate +# + +allow dumpstate log_file:file r_file_perms; diff --git a/sepolicy/debug-logs/file.te b/sepolicy/debug-logs/file.te new file mode 100644 index 000000000..0b7aa2857 --- /dev/null +++ b/sepolicy/debug-logs/file.te @@ -0,0 +1 @@ +type log_file, mlstrustedobject, file_type, data_file_type, core_data_file_type; diff --git a/sepolicy/debug-logs/file_contexts b/sepolicy/debug-logs/file_contexts new file mode 100644 index 000000000..3ed4b3c94 --- /dev/null +++ b/sepolicy/debug-logs/file_contexts @@ -0,0 +1,14 @@ +# earlylogs entry point script +(/system)?/vendor/bin/elogs.sh u:object_r:logsvc_exec:s0 + +(/system)?/vendor/bin/start_log_srv.sh u:object_r:logsvc_exec:s0 + +# ap[k]_logfs entry point script +# this is also used by debug-npk, which is dependent on debug-logs +(/system)?/vendor/bin/logcat_ep.sh u:object_r:logsvc_exec:s0 + +# earlylogs logs target +/cache/elogs(/.*)? u:object_r:log_file:s0 + +# Logs +/data/logs(/.*)? u:object_r:log_file:s0 diff --git a/sepolicy/debug-logs/logsvc.te b/sepolicy/debug-logs/logsvc.te new file mode 100644 index 000000000..d6d01bc4c --- /dev/null +++ b/sepolicy/debug-logs/logsvc.te @@ -0,0 +1,44 @@ +# Rules for debug-logs specific services +type logsvc, domain, data_between_core_and_vendor_violators; +type logsvc_exec, exec_type, file_type, vendor_file_type; + +init_daemon_domain(logsvc); + +userdebug_or_eng(` + permissive logsvc; +') + +allow logsvc system_file:file x_file_perms; + +dontaudit logsvc self:capability { dac_override sys_nice }; +allow logsvc self:capability2 syslog; + +allow logsvc log_file:file create_file_perms; +allow logsvc log_file:dir rw_dir_perms; + +allow logsvc logdr_socket:sock_file write; +allow logsvc logd:unix_stream_socket connectto; + +allow logsvc kmsg_device:chr_file { open read }; +allow logsvc kernel:system syslog_read; + +set_prop(logsvc, ctl_default_prop) + +allow logsvc logsvc_exec:file execute_no_trans; + +# Execute toolbox/toybox commands + +allow logsvc cache_file:dir r_dir_perms; +allow logsvc cache_file:file r_file_perms; + +not_full_treble(` + allow logsvc toolbox_exec:file rx_file_perms; + allow logsvc system_file:file x_file_perms; + allow logsvc shell_exec:file rx_file_perms; +') + +full_treble_only(` + allow logsvc vendor_toolbox_exec:file rx_file_perms; + allow logsvc vendor_shell_exec:file rx_file_perms; +') + diff --git a/sepolicy/debug-logs/nfc.te b/sepolicy/debug-logs/nfc.te new file mode 100644 index 000000000..ef12e4a32 --- /dev/null +++ b/sepolicy/debug-logs/nfc.te @@ -0,0 +1,5 @@ +# +# nfc +# + +allow nfc log_file:file write; diff --git a/sepolicy/debug-logs/system_app.te b/sepolicy/debug-logs/system_app.te new file mode 100644 index 000000000..806ee693c --- /dev/null +++ b/sepolicy/debug-logs/system_app.te @@ -0,0 +1,7 @@ +# +# system_app +# + +allow system_app log_file:dir create_dir_perms; +allow system_app log_file:file create_file_perms; +allow system_app log_file:filesystem getattr; diff --git a/sepolicy/debug-logs/vdc.te b/sepolicy/debug-logs/vdc.te new file mode 100644 index 000000000..d0a33993f --- /dev/null +++ b/sepolicy/debug-logs/vdc.te @@ -0,0 +1,2 @@ +allow vdc log_file:dir r_dir_perms; +allow vdc log_file:file r_file_perms; diff --git a/sepolicy/debug-phonedoctor/crashreport_app.te b/sepolicy/debug-phonedoctor/crashreport_app.te new file mode 100644 index 000000000..2fc8c122a --- /dev/null +++ b/sepolicy/debug-phonedoctor/crashreport_app.te @@ -0,0 +1,31 @@ +# define the type for all builds, but grant no permissions. +# this is because seapp_contexts does not support macros. +type crashreport_app, domain; + +userdebug_or_eng(` + + permissive crashreport_app; + + app_domain(crashreport_app) + net_domain(crashreport_app) + binder_service(crashreport_app) + +#============= crashreport_app ============== + module_only(`debug_crashlogd', ` + allow crashreport_app crashlogd_prop:file r_file_perms; + ') + + allow crashreport_app crashreport_app_data_file:dir create_dir_perms; + allow crashreport_app crashreport_app_data_file:file create_file_perms; + allow crashreport_app crashreport_app_data_file:file r_file_perms; + allow crashreport_app debugfs:dir r_dir_perms; + allow crashreport_app init:unix_stream_socket connectto; + allow crashreport_app log_file:dir create_dir_perms; + allow crashreport_app log_file:file create_file_perms; + + dontaudit crashreport_app property_socket:sock_file w_file_perms; + dontaudit crashreport_app system_prop:property_service set; + +# any rules that violate neverallows can go here + dontaudit crashreport_app serialno_prop:file r_file_perms; +') diff --git a/sepolicy/debug-phonedoctor/file.te b/sepolicy/debug-phonedoctor/file.te new file mode 100644 index 000000000..cb767ad12 --- /dev/null +++ b/sepolicy/debug-phonedoctor/file.te @@ -0,0 +1,2 @@ +# Always define since seapp contexts does not support m4 macro support. +type crashreport_app_data_file, file_type, data_file_type, core_data_file_type, mlstrustedobject; diff --git a/sepolicy/debug-phonedoctor/hal_memtrack_default.te b/sepolicy/debug-phonedoctor/hal_memtrack_default.te new file mode 100644 index 000000000..168b71edb --- /dev/null +++ b/sepolicy/debug-phonedoctor/hal_memtrack_default.te @@ -0,0 +1,4 @@ +userdebug_or_eng(` + allow hal_memtrack_default crashreport_app:dir r_dir_perms; + allow hal_memtrack_default crashreport_app:file r_file_perms; +') diff --git a/sepolicy/debug-phonedoctor/installd.te b/sepolicy/debug-phonedoctor/installd.te new file mode 100644 index 000000000..06fd78f7d --- /dev/null +++ b/sepolicy/debug-phonedoctor/installd.te @@ -0,0 +1,5 @@ +userdebug_or_eng(` + allow installd crashreport_app_data_file:dir create_dir_perms; + allow installd crashreport_app_data_file:dir relabelto; + allow installd crashreport_app_data_file:file { relabelto unlink getattr }; +') diff --git a/sepolicy/debug-phonedoctor/platform_app.te b/sepolicy/debug-phonedoctor/platform_app.te new file mode 100644 index 000000000..6e66c9153 --- /dev/null +++ b/sepolicy/debug-phonedoctor/platform_app.te @@ -0,0 +1,3 @@ +userdebug_or_eng(` + allow platform_app crashreport_app_data_file:dir getattr; +') diff --git a/sepolicy/debug-phonedoctor/property.te b/sepolicy/debug-phonedoctor/property.te new file mode 100644 index 000000000..1da0ebad8 --- /dev/null +++ b/sepolicy/debug-phonedoctor/property.te @@ -0,0 +1 @@ +type ctl_logconfig_prop, property_type; diff --git a/sepolicy/debug-phonedoctor/property_contexts b/sepolicy/debug-phonedoctor/property_contexts new file mode 100644 index 000000000..c8364a51b --- /dev/null +++ b/sepolicy/debug-phonedoctor/property_contexts @@ -0,0 +1 @@ +ctl.logconfig u:object_r:ctl_logconfig_prop:s0 diff --git a/sepolicy/debug-phonedoctor/seapp_contexts b/sepolicy/debug-phonedoctor/seapp_contexts new file mode 100644 index 000000000..37af4ebc5 --- /dev/null +++ b/sepolicy/debug-phonedoctor/seapp_contexts @@ -0,0 +1 @@ +user=system seinfo=platform name=com.intel.crashreport domain=crashreport_app type=crashreport_app_data_file diff --git a/sepolicy/debug-phonedoctor/system_app.te b/sepolicy/debug-phonedoctor/system_app.te new file mode 100644 index 000000000..4f58c3a7a --- /dev/null +++ b/sepolicy/debug-phonedoctor/system_app.te @@ -0,0 +1,8 @@ +allow system_app sysfs_devices_system_cpu:file rw_file_perms; + +# com.intel.crashreport which is part of the crash_package used by phonedoctor +# mixin. +allow system_app sysfs_devices_system_cpu:file rw_file_perms; +# create_socket_perms does not work becuae of neverallow on write +allow system_app self:netlink_kobject_uevent_socket { read create setopt bind }; +allowxperm system_app self:netlink_kobject_uevent_socket ioctl SIOCETHTOOL; diff --git a/sepolicy/debug-phonedoctor/system_server.te b/sepolicy/debug-phonedoctor/system_server.te new file mode 100644 index 000000000..4bac7f77d --- /dev/null +++ b/sepolicy/debug-phonedoctor/system_server.te @@ -0,0 +1,3 @@ +userdebug_or_eng(` + allow system_server crashreport_app:file w_file_perms; +') diff --git a/sepolicy/debugfs/dumpstate.te b/sepolicy/debugfs/dumpstate.te index f984db7b1..6f50c8958 100644 --- a/sepolicy/debugfs/dumpstate.te +++ b/sepolicy/debugfs/dumpstate.te @@ -3,3 +3,4 @@ # allow dumpstate debugfs_graphics_sync:file r_file_perms; +dontaudit dumpstate debugfs_graphics_sync:file r_file_perms; diff --git a/sepolicy/debugfs/file_contexts b/sepolicy/debugfs/file_contexts index 5ab0695dd..971842b24 100644 --- a/sepolicy/debugfs/file_contexts +++ b/sepolicy/debugfs/file_contexts @@ -1 +1 @@ -/sys/kernel/debug/sync u:object_r:debugfs_graphics_sync:s0 +/sys/kernel/debug/sync(/.*)? u:object_r:debugfs_graphics_sync:s0 diff --git a/sepolicy/device.te b/sepolicy/device.te index 91789568c..e284b159f 100644 --- a/sepolicy/device.te +++ b/sepolicy/device.te @@ -4,5 +4,3 @@ type rpmb_block_device, dev_type; type cros_ec_device, dev_type; type hidraw_device, dev_type; type host1x_device, dev_type, mlstrustedobject; -allow device platform_app:chr_file { ioctl }; -allow device system_server:chr_file { getattr read open write }; diff --git a/sepolicy/dex2oat.te b/sepolicy/dex2oat.te deleted file mode 100644 index a321a07df..000000000 --- a/sepolicy/dex2oat.te +++ /dev/null @@ -1 +0,0 @@ -allow dex2oat debugfs_tracing:file { open write }; diff --git a/sepolicy/domain.te b/sepolicy/domain.te index bddbd2f93..b25634535 100644 --- a/sepolicy/domain.te +++ b/sepolicy/domain.te @@ -1,2 +1 @@ -allow domain sysfs_socinfo:dir r_dir_perms; -allow domain sysfs_socinfo:file r_file_perms; +allow domain system_file:dir r_dir_perms; diff --git a/sepolicy/drm-default/file_contexts b/sepolicy/drm-default/file_contexts new file mode 100644 index 000000000..54b182328 --- /dev/null +++ b/sepolicy/drm-default/file_contexts @@ -0,0 +1 @@ +/vendor/bin/hw/android\.hardware\.drm@1\.1-service\.clearkey u:object_r:hal_drm_clearkey_exec:s0 diff --git a/sepolicy/drm-default/hal_drm_clearkey.te b/sepolicy/drm-default/hal_drm_clearkey.te new file mode 100644 index 000000000..976b9fabe --- /dev/null +++ b/sepolicy/drm-default/hal_drm_clearkey.te @@ -0,0 +1,11 @@ +# policy for /vendor/bin/hw/android.hardware.drm@1.1-service.clearkey +type hal_drm_clearkey, domain; +type hal_drm_clearkey_exec, exec_type, vendor_file_type, file_type; + +init_daemon_domain(hal_drm_clearkey) + +hal_server_domain(hal_drm_clearkey, hal_drm) + +vndbinder_use(hal_drm_clearkey); + +allow hal_drm_clearkey { appdomain -isolated_app }:fd use; diff --git a/sepolicy/drm-default/hal_drm_default.te b/sepolicy/drm-default/hal_drm_default.te new file mode 100644 index 000000000..0acbc0d45 --- /dev/null +++ b/sepolicy/drm-default/hal_drm_default.te @@ -0,0 +1 @@ +vndbinder_use(hal_drm_default) diff --git a/sepolicy/drmserver.te b/sepolicy/drmserver.te deleted file mode 100644 index be0cf3ce2..000000000 --- a/sepolicy/drmserver.te +++ /dev/null @@ -1,2 +0,0 @@ -allow drmserver gpu_device:chr_file rw_file_perms; -allow drmserver ringtone_file:file { read }; diff --git a/sepolicy/dumpstate.te b/sepolicy/dumpstate.te deleted file mode 100644 index a3c754fe3..000000000 --- a/sepolicy/dumpstate.te +++ /dev/null @@ -1,6 +0,0 @@ -userdebug_or_eng(` - allow dumpstate atvr_device:chr_file r_file_perms; -') - -# GPU dynamic fbc feature -allow dumpstate surfaceflinger:fifo_file rw_file_perms; diff --git a/sepolicy/factory-partition/drmserver.te b/sepolicy/factory-partition/drmserver.te new file mode 100644 index 000000000..957dcd31e --- /dev/null +++ b/sepolicy/factory-partition/drmserver.te @@ -0,0 +1,6 @@ +# +# drm +# + +allow drmserver factory_file:dir r_dir_perms; +allow drmserver factory_file:file r_file_perms; diff --git a/sepolicy/factory-partition/dumpstate.te b/sepolicy/factory-partition/dumpstate.te new file mode 100644 index 000000000..075da97cc --- /dev/null +++ b/sepolicy/factory-partition/dumpstate.te @@ -0,0 +1 @@ +dontaudit dumpstate factory_file:dir getattr; diff --git a/sepolicy/factory-partition/file.te b/sepolicy/factory-partition/file.te new file mode 100644 index 000000000..890e98c1b --- /dev/null +++ b/sepolicy/factory-partition/file.te @@ -0,0 +1 @@ +type factory_file, file_type; diff --git a/sepolicy/factory-partition/file_contexts b/sepolicy/factory-partition/file_contexts new file mode 100644 index 000000000..b7dc84ad7 --- /dev/null +++ b/sepolicy/factory-partition/file_contexts @@ -0,0 +1 @@ +/factory(/.*)? u:object_r:factory_file:s0 diff --git a/sepolicy/factory-partition/init.te b/sepolicy/factory-partition/init.te new file mode 100644 index 000000000..c7efab0a3 --- /dev/null +++ b/sepolicy/factory-partition/init.te @@ -0,0 +1,6 @@ +# +# init +# + +# mount /factory +allow init factory_file:dir mounton; diff --git a/sepolicy/factory-partition/vold.te b/sepolicy/factory-partition/vold.te new file mode 100644 index 000000000..798143317 --- /dev/null +++ b/sepolicy/factory-partition/vold.te @@ -0,0 +1,7 @@ +# +# Vold +# + +allow vold factory_file:dir r_dir_perms; +# uapi/linux/fs.h:#define FITRIM _IOWR('X', 121, struct fstrim_range) /* Trim */ +#allow vold factory_file:dir 0x5879; diff --git a/sepolicy/file.te b/sepolicy/file.te index 3f03cd2d8..2d0967a34 100644 --- a/sepolicy/file.te +++ b/sepolicy/file.te @@ -5,4 +5,4 @@ type sysfs_thermal_writable, fs_type, sysfs_type; type atvr_device, dev_type; type sysfs_coretemp, fs_type, sysfs_type; type gpu_pid_stats_file, fs_type, debugfs_type; -type sysfs_socinfo, sysfs_type, fs_type; +type debugfs_pstate, fs_type, debugfs_type; diff --git a/sepolicy/file_contexts b/sepolicy/file_contexts new file mode 100644 index 000000000..ca384d3fd --- /dev/null +++ b/sepolicy/file_contexts @@ -0,0 +1,2 @@ +/sys/class/thermal(/.*)? u:object_r:sysfs_thermal:s0 +/sys/module/thermal(/.*)? u:object_r:sysfs_thermal:s0 diff --git a/sepolicy/fwtool.te b/sepolicy/fwtool.te deleted file mode 100644 index 39bc4d12d..000000000 --- a/sepolicy/fwtool.te +++ /dev/null @@ -1,9 +0,0 @@ -# permissions for /system/bin/fwtool -type fwtool, domain, domain_deprecated; -type fwtool_exec, exec_type, file_type; - -init_daemon_domain(fwtool) - -# access /dev/mtd/* -allow fwtool mtd_device:dir search; -allow fwtool mtd_device:chr_file rw_file_perms; diff --git a/sepolicy/gpu_device.te b/sepolicy/gpu_device.te deleted file mode 100644 index 9dea4d7a8..000000000 --- a/sepolicy/gpu_device.te +++ /dev/null @@ -1 +0,0 @@ -allow gpu_device debugfs:filesystem associate; diff --git a/sepolicy/graphics/mesa/adbd.te b/sepolicy/graphics/mesa/adbd.te new file mode 100644 index 000000000..e1e7b4483 --- /dev/null +++ b/sepolicy/graphics/mesa/adbd.te @@ -0,0 +1,6 @@ +# to allow CTS/XTS screen capture through method getScreenshot. +allow adbd graphics_device:dir search; +allow adbd graphics_device:chr_file { read open }; +allow adbd gpu_device:dir search; +allow adbd gpu_device:chr_file r_file_perms; +allow adbd hal_graphics_allocator_default_tmpfs:file { read write map }; diff --git a/sepolicy/graphics/mesa/appdomain.te b/sepolicy/graphics/mesa/appdomain.te new file mode 100644 index 000000000..8e085c698 --- /dev/null +++ b/sepolicy/graphics/mesa/appdomain.te @@ -0,0 +1,7 @@ +# graphics buffer passed to applications for screencap and rendering +#allow appdomain surfaceflinger_tmpfs:file { read write }; +allow appdomain hal_graphics_allocator_default_tmpfs:file { read write map }; +allow appdomain hal_graphics_composer_default_tmpfs:file { read write map }; +allow appdomain gpu_device:dir r_dir_perms; +allow { appdomain -isolated_app } sysfs_app_readable:file r_file_perms; +allow appdomain app_fuse_file:file map; diff --git a/sepolicy/graphics/mesa/bootanim.te b/sepolicy/graphics/mesa/bootanim.te new file mode 100644 index 000000000..347ccbcd3 --- /dev/null +++ b/sepolicy/graphics/mesa/bootanim.te @@ -0,0 +1,3 @@ +allow bootanim sysfs_app_readable:file r_file_perms; +allow bootanim gpu_device:chr_file rw_file_perms; +allow bootanim gpu_device:dir r_dir_perms; diff --git a/sepolicy/graphics/mesa/file.te b/sepolicy/graphics/mesa/file.te new file mode 100644 index 000000000..6899feec7 --- /dev/null +++ b/sepolicy/graphics/mesa/file.te @@ -0,0 +1,2 @@ +type sysfs_app_readable, fs_type, sysfs_type; +typeattribute hal_graphics_allocator_default_tmpfs mlstrustedobject; diff --git a/sepolicy/graphics/mesa/file_contexts b/sepolicy/graphics/mesa/file_contexts new file mode 100644 index 000000000..ae94d6315 --- /dev/null +++ b/sepolicy/graphics/mesa/file_contexts @@ -0,0 +1,19 @@ +# devices +/dev/dri(/.*)? u:object_r:gpu_device:s0 +/dev/sw_sync u:object_r:graphics_device:s0 + +/sys/devices/pci0000\:00/0000\:00\:02.0/config u:object_r:sysfs_app_readable:s0 +/sys/devices/pci0000:00/0000:00:02.0/vendor u:object_r:sysfs_app_readable:s0 +/sys/devices/pci0000:00/0000:00:02.0/device u:object_r:sysfs_app_readable:s0 +/sys/devices/pci0000:00/0000:00:02.0/subsystem_vendor u:object_r:sysfs_app_readable:s0 +/sys/devices/pci0000:00/0000:00:02.0/subsystem_device u:object_r:sysfs_app_readable:s0 +/sys/devices/pci0000:00/0000:00:02.0/uevent u:object_r:sysfs_app_readable:s0 +/(vendor|system/vendor)/lib(64)?/libglapi\.so u:object_r:same_process_hal_file:s0 +/(vendor|system/vendor)/lib(64)?/libdrm_pri\.so u:object_r:same_process_hal_file:s0 +/(vendor|system/vendor)/lib(64)?/libdrm_intel_pri\.so u:object_r:same_process_hal_file:s0 +/(vendor|system/vendor)/lib(64)?/hw/gralloc\.project-celadon\.so u:object_r:same_process_hal_file:s0 +/(vendor|system/vendor)/lib(64)?/dri/i965_dri\.so u:object_r:same_process_hal_file:s0 +/(vendor|system/vendor)/lib(64)?/hw/vulkan\.project-celadon\.so u:object_r:same_process_hal_file:s0 +/vendor/bin/hw/android\.hardware\.graphics\.composer\.allocator@2\.1-service u:object_r:hal_graphics_composer_default_exec:s0 +/(vendor|system/vendor)/lib(64)?/libdrm_intel\.so u:object_r:same_process_hal_file:s0 +/(vendor|system/vendor)/lib(64)?/libpciaccess\.so u:object_r:same_process_hal_file:s0 diff --git a/sepolicy/graphics/mesa/hal_graphics_allocator_default.te b/sepolicy/graphics/mesa/hal_graphics_allocator_default.te new file mode 100644 index 000000000..42ef776b5 --- /dev/null +++ b/sepolicy/graphics/mesa/hal_graphics_allocator_default.te @@ -0,0 +1,18 @@ +#============= hal_graphics_allocator_default ============== +allow hal_graphics_allocator_default gpu_device:chr_file rw_file_perms; +allow hal_graphics_allocator_default gpu_device:dir r_dir_perms; +allowxperm hal_graphics_allocator_default gpu_device:chr_file ioctl { + DRM_IOCTL_RADEON_SURF_FREE + DRM_IOCTL_I915_GEM_SET_TILING + DRM_IOCTL_PRIME_HANDLE_TO_FD + DRM_IOCTL_GEM_CLOSE + DRM_IOCTL_VERSION + VIDIOC_INT_RESET + DRM_IOCTL_GET_CAP + DRM_IOCTL_SET_CLIENT_CAP + DRM_IOCTL_RADEON_FULLSCREEN + DRM_IOCTL_MODE_GETPLANERESOURCES + DRM_IOCTL_MODE_GETPLANE + DRM_IOCTL_MODE_OBJ_GETPROPERTIES + DRM_IOCTL_MODE_GETPROPERTY +}; diff --git a/sepolicy/graphics/mesa/hal_graphics_composer_default.te b/sepolicy/graphics/mesa/hal_graphics_composer_default.te new file mode 100644 index 000000000..3a1413727 --- /dev/null +++ b/sepolicy/graphics/mesa/hal_graphics_composer_default.te @@ -0,0 +1,18 @@ +typeattribute hal_graphics_composer_default data_between_core_and_vendor_violators; + +vndbinder_use(hal_graphics_composer_default) + +binder_call(hal_graphics_composer_default, hal_graphics_allocator_default) + +allow hal_graphics_composer_default cache_file:dir create_dir_perms; +allow hal_graphics_composer_default cache_file:file create_file_perms; + +allow hal_graphics_composer_default self:netlink_kobject_uevent_socket { read bind create setopt }; + +allow hal_graphics_composer_default hal_graphics_mapper_hwservice:hwservice_manager find; +allow hal_graphics_composer_default hal_graphics_allocator_hwservice:hwservice_manager find; + +allow hal_graphics_composer_default gpu_device:dir r_dir_perms; +allow hal_graphics_composer_default gpu_device:chr_file rw_file_perms; +allow hal_graphics_composer_default sysfs_app_readable:file r_file_perms; +allow hal_graphics_composer_default hwc_info_service:service_manager add; diff --git a/sepolicy/graphics/mesa/mediacodec.te b/sepolicy/graphics/mesa/mediacodec.te new file mode 100644 index 000000000..2451c12a5 --- /dev/null +++ b/sepolicy/graphics/mesa/mediacodec.te @@ -0,0 +1,4 @@ +allow mediacodec sysfs_app_readable:file r_file_perms; +allow mediacodec gpu_device:dir r_dir_perms; +allow mediacodec hal_graphics_allocator_default_tmpfs:file { read write map }; +allow mediacodec hal_graphics_composer_default_tmpfs:file { read write map}; diff --git a/sepolicy/graphics/mesa/mediadrmserver.te b/sepolicy/graphics/mesa/mediadrmserver.te new file mode 100644 index 000000000..0dab914b6 --- /dev/null +++ b/sepolicy/graphics/mesa/mediadrmserver.te @@ -0,0 +1 @@ +allow mediadrmserver sysfs_app_readable:file r_file_perms; diff --git a/sepolicy/graphics/mesa/mediaextractor.te b/sepolicy/graphics/mesa/mediaextractor.te new file mode 100644 index 000000000..caafd391a --- /dev/null +++ b/sepolicy/graphics/mesa/mediaextractor.te @@ -0,0 +1 @@ +allow mediaextractor fuse:file r_file_perms; diff --git a/sepolicy/graphics/mesa/mediaserver.te b/sepolicy/graphics/mesa/mediaserver.te new file mode 100644 index 000000000..23c2bdabb --- /dev/null +++ b/sepolicy/graphics/mesa/mediaserver.te @@ -0,0 +1,4 @@ +allow mediadrmserver sysfs_app_readable:file r_file_perms; +allow mediadrmserver gpu_device:dir r_dir_perms; +allow mediaserver hal_graphics_allocator_default_tmpfs:file { read write map }; +allow mediaserver gpu_device:dir r_dir_perms; diff --git a/sepolicy/graphics/mesa/platform_app.te b/sepolicy/graphics/mesa/platform_app.te new file mode 100644 index 000000000..c0b2acbf4 --- /dev/null +++ b/sepolicy/graphics/mesa/platform_app.te @@ -0,0 +1,31 @@ +allowxperm platform_app gpu_device:chr_file ioctl { + DRM_IOCTL_RADEON_IRQ_WAIT + DRM_IOCTL_PRIME_FD_TO_HANDLE + DRM_IOCTL_I915_GEM_THROTTLE + DRM_IOCTL_RADEON_SURF_FREE + DRM_IOCTL_GEM_CLOSE + DRM_IOCTL_EXYNOS_G2D_EXEC + DRM_IOCTL_PRIME_FD_TO_HANDLE + DRM_IOCTL_VERSION + DRM_IOCTL_I915_GEM_SET_DOMAIN + DRM_IOCTL_I915_GEM_MMAP + VIDIOC_INT_RESET + DRM_IOCTL_I915_GEM_SET_TILING + DRM_IOCTL_I915_GEM_EXECBUFFER2 + DRM_IOCTL_I915_GEM_WAIT + DRM_IOCTL_I915_GETPARAM + DRM_IOCTL_GET_CAP + DRM_IOCTL_SET_CLIENT_CAP + DRM_IOCTL_MODE_GETPLANERESOURCES + DRM_IOCTL_MODE_GETPLANE + DRM_IOCTL_I915_GEM_PWRITE + DRM_IOCTL_MODE_GETPROPERTY + DRM_IOCTL_MODE_OBJ_GETPROPERTIES + DRM_IOCTL_RADEON_GEM_SET_DOMAIN + DRM_IOCTL_I915_GEM_CONTEXT_CREATE + DRM_IOCTL_I915_GEM_CONTEXT_DESTROY + DRM_IOCTL_I915_GET_RESET_STATS + DRM_IOCTL_I915_REG_READ + DRM_IOCTL_I915_GEM_MMAP_GTT + 0x6475 +}; diff --git a/sepolicy/graphics/mesa/surfaceflinger.te b/sepolicy/graphics/mesa/surfaceflinger.te new file mode 100644 index 000000000..e748a0c28 --- /dev/null +++ b/sepolicy/graphics/mesa/surfaceflinger.te @@ -0,0 +1,32 @@ +allow surfaceflinger sysfs_app_readable:file r_file_perms; +allow surfaceflinger gpu_device:dir r_dir_perms; +allowxperm surfaceflinger gpu_device:chr_file ioctl { + DRM_IOCTL_I915_GEM_EXECBUFFER2 + DRM_IOCTL_I915_GEM_ENTERVT + DRM_IOCTL_RADEON_IRQ_WAIT + DRM_IOCTL_I915_GEM_THROTTLE + VIDIOC_INT_RESET + DRM_IOCTL_RADEON_SURF_FREE + DRM_IOCTL_RADEON_GEM_PREAD + DRM_IOCTL_I915_GEM_PWRITE + DRM_IOCTL_I915_GEM_SET_DOMAIN + DRM_IOCTL_GEM_CLOSE + DRM_IOCTL_PRIME_FD_TO_HANDLE + DRM_IOCTL_I915_GEM_GET_TILING + DRM_IOCTL_I915_GEM_MMAP + DRM_IOCTL_VERSION + DRM_IOCTL_RADEON_FULLSCREEN + DRM_IOCTL_GET_CAP + DRM_IOCTL_SET_CLIENT_CAP + DRM_IOCTL_MODE_GETPLANERESOURCES + DRM_IOCTL_RADEON_GEM_SET_DOMAIN + DRM_IOCTL_MODE_GETPLANE + DRM_IOCTL_MODE_OBJ_GETPROPERTIES + DRM_IOCTL_EXYNOS_IPP_SET_PROPERTY + DRM_IOCTL_I915_GET_RESET_STATS + DRM_IOCTL_I915_GEM_CONTEXT_CREATE + DRM_IOCTL_I915_GEM_MMAP_GTT + DRM_IOCTL_MODE_GETPROPERTY + DRM_IOCTL_I915_GEM_WAIT + 0x6475 +}; diff --git a/sepolicy/graphics/mesa/system_server.te b/sepolicy/graphics/mesa/system_server.te new file mode 100644 index 000000000..fcc8528aa --- /dev/null +++ b/sepolicy/graphics/mesa/system_server.te @@ -0,0 +1,4 @@ +allow system_server hal_graphics_allocator_default_tmpfs:file { read write map }; +allow system_server gpu_device:dir r_dir_perms; +allow system_server hal_graphics_composer_default_tmpfs:file { read write map }; +allow system_server sysfs_app_readable:file r_file_perms; diff --git a/sepolicy/graphics/mesa/ueventd.te b/sepolicy/graphics/mesa/ueventd.te new file mode 100644 index 000000000..36309c59a --- /dev/null +++ b/sepolicy/graphics/mesa/ueventd.te @@ -0,0 +1 @@ +allow ueventd sysfs_app_readable:file rw_file_perms; diff --git a/sepolicy/graphics/mesa/vndservice.te b/sepolicy/graphics/mesa/vndservice.te new file mode 100644 index 000000000..8d0d63c3f --- /dev/null +++ b/sepolicy/graphics/mesa/vndservice.te @@ -0,0 +1 @@ +type hwc_info_service, vndservice_manager_type; diff --git a/sepolicy/graphics/mesa/vndservice_contexts b/sepolicy/graphics/mesa/vndservice_contexts new file mode 100644 index 000000000..1a3e941ed --- /dev/null +++ b/sepolicy/graphics/mesa/vndservice_contexts @@ -0,0 +1 @@ +hwc.info u:object_r:hwc_info_service:s0 diff --git a/sepolicy/health_hal/file.te b/sepolicy/health_hal/file.te new file mode 100644 index 000000000..813d4f187 --- /dev/null +++ b/sepolicy/health_hal/file.te @@ -0,0 +1,3 @@ +# health_hal files +type sysfs_health2_0_management, fs_type, sysfs_type; + diff --git a/sepolicy/health_hal/file_contexts b/sepolicy/health_hal/file_contexts new file mode 100644 index 000000000..988d0de8c --- /dev/null +++ b/sepolicy/health_hal/file_contexts @@ -0,0 +1,2 @@ +/vendor/bin/hw/android\.hardware\.health@2\.0-service\.celadon u:object_r:hal_health_default_exec:s0 + diff --git a/sepolicy/health_hal/genfs_contexts b/sepolicy/health_hal/genfs_contexts new file mode 100644 index 000000000..2ef281782 --- /dev/null +++ b/sepolicy/health_hal/genfs_contexts @@ -0,0 +1,9 @@ +genfscon sysfs /devices/pci0000:00/0000:00:1c.0/mmc_host/mmc1/mmc1:0001 u:object_r:sysfs_health2_0_management:s0 + +genfscon sysfs /devices/pci0000:00/0000:00:03.0/virtio0/block/vda u:object_r:sysfs_health2_0_management:s0 + +genfscon sysfs /devices/pci0000:00/0000:00:17.0/ata1/host0/target0:0:0/0:0:0:0/block/sda u:object_r:sysfs_health2_0_management:s0 + +genfscon sysfs /devices/pci0000:00/0000:00:17.0/ata3/host2/target2:0:0/2:0:0:0/block/sda u:object_r:sysfs_health2_0_management:s0 + +genfscon sysfs /devices/pci0000:00/0000:00:1d.0/0000:3c:00.0/nvme/nvme0/nvme0n1 u:object_r:sysfs_health2_0_management:s0 diff --git a/sepolicy/health_hal/hal_health2_0_default.te b/sepolicy/health_hal/hal_health2_0_default.te new file mode 100644 index 000000000..55b617fa3 --- /dev/null +++ b/sepolicy/health_hal/hal_health2_0_default.te @@ -0,0 +1,9 @@ +# health info abstraction + +allow hal_health_default sysfs_health2_0_management:dir r_dir_perms; +allow hal_health_default sysfs_health2_0_management:file rw_file_perms; +allow hal_health_default sysfs_health2_0_management:lnk_file r_file_perms; + +# Health Hal to read /proc/cmdline +#allow hal_health_default proc_cmdline:file r_file_perms; +get_prop(hal_health_default, diskbus_prop); diff --git a/sepolicy/healthd.te b/sepolicy/healthd.te deleted file mode 100644 index ea54b5770..000000000 --- a/sepolicy/healthd.te +++ /dev/null @@ -1,2 +0,0 @@ -allow healthd tmpfs:file entrypoint; -allow healthd healthd:capability dac_override; diff --git a/sepolicy/houdini/file.te b/sepolicy/houdini/file.te deleted file mode 100644 index 9e6e92d17..000000000 --- a/sepolicy/houdini/file.te +++ /dev/null @@ -1 +0,0 @@ -type binfmt_misc, fs_type; diff --git a/sepolicy/houdini/init.te b/sepolicy/houdini/init.te deleted file mode 100644 index d446e03fe..000000000 --- a/sepolicy/houdini/init.te +++ /dev/null @@ -1,5 +0,0 @@ -# binfmt_misc: mount at /proc/sys/fs/binfmt_misc -allow init proc:dir mounton; - -# binfmt_misc: register types -allow init binfmt_miscfs:file write; diff --git a/sepolicy/init.te b/sepolicy/init.te index 0963c443b..79de5abac 100644 --- a/sepolicy/init.te +++ b/sepolicy/init.te @@ -14,15 +14,18 @@ allow init tmpfs:lnk_file create_file_perms; # set attributes on /sys/class/gpio sym link # chmod 0770 /sys/class/gpio/gpio66 allow init sysfs:lnk_file setattr; -allow init sysfs:dir { write add_name }; # userspace cannot create files in sys. ignore denial dontaudit init sysfs_devices_system_cpu:dir write; allow init { cache_file storage_file }:dir mounton; # /config allow init configfs:{ file lnk_file } create_file_perms; -allow init cgroup:file create; allow init sw_sync_device:file { relabelto setattr read write open ioctl }; allow init sysfs:file create; allow init devpts:chr_file { ioctl }; allow init audio_device:chr_file { write ioctl }; allow init platform_app:unix_stream_socket { read }; + +allow init debugfs_pstate:file w_file_perms; +allow init userdata_block_device:blk_file write; +allow init misc_block_device:blk_file write; +allow init kernel:key search; diff --git a/sepolicy/init_tmpfs.te b/sepolicy/init_tmpfs.te deleted file mode 100644 index 1b773c0c0..000000000 --- a/sepolicy/init_tmpfs.te +++ /dev/null @@ -1,5 +0,0 @@ -allow init_tmpfs system_server:file { read write }; -allow init_tmpfs radio:file { read }; -allow init_tmpfs platform_app:file { read }; -allow init_tmpfs system_app:file { read }; -allow init_tmpfs untrusted_app:file { read }; diff --git a/sepolicy/installd.te b/sepolicy/installd.te deleted file mode 100644 index ee3009f00..000000000 --- a/sepolicy/installd.te +++ /dev/null @@ -1 +0,0 @@ -allow installd tmpfs:file open; diff --git a/sepolicy/isolated_app.te b/sepolicy/isolated_app.te deleted file mode 100644 index 4ec6bcbe3..000000000 --- a/sepolicy/isolated_app.te +++ /dev/null @@ -1 +0,0 @@ -neverallow isolated_app host1x_device:chr_file { rw_file_perms execute }; diff --git a/sepolicy/kernel.te b/sepolicy/kernel.te deleted file mode 100644 index 42471d8da..000000000 --- a/sepolicy/kernel.te +++ /dev/null @@ -1,8 +0,0 @@ -# kdevtmpfs accesses devices before ueventd restorecon -allow kernel device: { blk_file chr_file } { create setattr }; -allow kernel device:dir { create write add_name }; -allow kernel self:capability mknod; -allow kernel kernel:capability sys_admin; -allow kernel kernel:system module_request; -allow kernel tmpfs:file { open relabelfrom }; -allow kernel rootfs:chr_file { ioctl write }; diff --git a/sepolicy/kernel/appdomain.te b/sepolicy/kernel/appdomain.te new file mode 100644 index 000000000..198b776f0 --- /dev/null +++ b/sepolicy/kernel/appdomain.te @@ -0,0 +1 @@ +allow appdomain self:icmp_socket create_socket_perms_no_ioctl; diff --git a/sepolicy/kernel/domain.te b/sepolicy/kernel/domain.te new file mode 100644 index 000000000..92d84902b --- /dev/null +++ b/sepolicy/kernel/domain.te @@ -0,0 +1,22 @@ +dontaudit { + dnsmasq + dumpstate + init + installd + install_recovery + lmkd + netd + perfprofd + postinstall_dexopt + recovery + sdcardd + tee + ueventd + uncrypt + vendor_init + vold + vold_prepare_subdirs + zygote +} self:capability dac_read_search; + +allow domain vendor_configs_file:file map; diff --git a/sepolicy/kernel/dumpstate.te b/sepolicy/kernel/dumpstate.te new file mode 100644 index 000000000..551dfabcc --- /dev/null +++ b/sepolicy/kernel/dumpstate.te @@ -0,0 +1 @@ +dontaudit dumpstate proc_version:file r_file_perms; diff --git a/sepolicy/kernel/file.te b/sepolicy/kernel/file.te new file mode 100644 index 000000000..e69de29bb diff --git a/sepolicy/kernel/genfs_contexts b/sepolicy/kernel/genfs_contexts new file mode 100644 index 000000000..e69de29bb diff --git a/sepolicy/kernel/hal_power_default.te b/sepolicy/kernel/hal_power_default.te new file mode 100644 index 000000000..9019aaba9 --- /dev/null +++ b/sepolicy/kernel/hal_power_default.te @@ -0,0 +1,2 @@ +allow hal_power_default sysfs:file rw_file_perms; +allow hal_power_default sysfs:dir r_dir_perms; diff --git a/sepolicy/kernel/healthd.te b/sepolicy/kernel/healthd.te new file mode 100644 index 000000000..d4f839d0a --- /dev/null +++ b/sepolicy/kernel/healthd.te @@ -0,0 +1 @@ +allow healthd self:capability2 wake_alarm; diff --git a/sepolicy/kernel/init.te b/sepolicy/kernel/init.te new file mode 100644 index 000000000..79d5ddb64 --- /dev/null +++ b/sepolicy/kernel/init.te @@ -0,0 +1,16 @@ +allow init debugfs:file write; +allow init kernel:key search; +allow init kernel:system module_request; +allow init { + rootfs + vendor_file +}:system module_load; + +allow init sysfs_devices_system_cpu:dir r_dir_perms; +allow init sysfs_devices_system_cpu:file create_file_perms; +allow init tmpfs:lnk_file create_file_perms; +allow init configfs:{ file lnk_file } create_file_perms; +allow init self:capability sys_module; +allow init self:capability2 block_suspend; + +dontaudit init cgroup:file create_file_perms; diff --git a/sepolicy/kernel/kernel.te b/sepolicy/kernel/kernel.te new file mode 100644 index 000000000..bf8d5576d --- /dev/null +++ b/sepolicy/kernel/kernel.te @@ -0,0 +1,18 @@ +# +# kernel +# + +#vnvm kthread +allow kernel block_device:blk_file rw_file_perms; +allow kernel block_device:dir search; + +# watchdog kernel option CONFIG_LOCKUP_DETECTOR +allow kernel kernel:capability sys_admin; + +# For loading /lib/modules/inet_diag.ko +allow kernel rootfs:system module_load; +allow kernel system_file:system module_load; +allow kernel self:system module_request; + +# allow write permission for "/data/misc/vold/" +allow kernel vold_data_file:file write; diff --git a/sepolicy/kernel/netd.te b/sepolicy/kernel/netd.te new file mode 100644 index 000000000..aeff12c2d --- /dev/null +++ b/sepolicy/kernel/netd.te @@ -0,0 +1,4 @@ +allow netd kernel:system module_request; +allow netd self:capability { sys_module fsetid }; +allow netd untrusted_app:icmp_socket {read write getopt setopt getattr}; + diff --git a/sepolicy/kernel/profman.te b/sepolicy/kernel/profman.te new file mode 100644 index 000000000..7bb2320ec --- /dev/null +++ b/sepolicy/kernel/profman.te @@ -0,0 +1 @@ +allow profman apk_data_file:file map; diff --git a/sepolicy/kernel/system_server.te b/sepolicy/kernel/system_server.te new file mode 100644 index 000000000..d68dca54c --- /dev/null +++ b/sepolicy/kernel/system_server.te @@ -0,0 +1,9 @@ +# +# system_server +# + +allow system_server audioserver:file rw_file_perms; +allow system_server system_app:file rw_file_perms; + +allow system_server hal_graphics_allocator_default_tmpfs:file rw_file_perms; +allow system_server shell_data_file:file map; diff --git a/sepolicy/kernel/ueventd.te b/sepolicy/kernel/ueventd.te new file mode 100644 index 000000000..2c6cc0b01 --- /dev/null +++ b/sepolicy/kernel/ueventd.te @@ -0,0 +1,4 @@ +allow ueventd self:capability sys_module; +allow ueventd vendor_file:system module_load; +allow ueventd kernel:key search; +allow ueventd kernel:system module_request; diff --git a/sepolicy/kernel/wificond.te b/sepolicy/kernel/wificond.te new file mode 100644 index 000000000..61a4f9cb2 --- /dev/null +++ b/sepolicy/kernel/wificond.te @@ -0,0 +1 @@ +allow wificond kernel:system module_request; diff --git a/sepolicy/load_modules/file_contexts b/sepolicy/load_modules/file_contexts new file mode 100644 index 000000000..ae66e1237 --- /dev/null +++ b/sepolicy/load_modules/file_contexts @@ -0,0 +1,2 @@ +/vendor/bin/load_modules.sh u:object_r:load_modules_exec:s0 + diff --git a/sepolicy/load_modules/kernel.te b/sepolicy/load_modules/kernel.te new file mode 100644 index 000000000..cbe8f96a8 --- /dev/null +++ b/sepolicy/load_modules/kernel.te @@ -0,0 +1 @@ +allow kernel self:system module_request; diff --git a/sepolicy/load_modules/load_modules.te b/sepolicy/load_modules/load_modules.te new file mode 100644 index 000000000..bb3bfde02 --- /dev/null +++ b/sepolicy/load_modules/load_modules.te @@ -0,0 +1,33 @@ +type load_modules, domain; +type load_modules_exec, exec_type, file_type, vendor_file_type; + +init_daemon_domain(load_modules) + +set_prop(load_modules, vendor_modules_prop) +dontaudit load_modules exported_system_radio_prop:file read; + +allow load_modules sysfs:file write; +allow load_modules self:capability sys_module; +allow load_modules { + rootfs + vendor_file +}:system module_load; + +allow load_modules kernel:key search; +allow load_modules self:key write; +allow load_modules kernel:system module_request; +allow load_modules rootfs:file r_file_perms; +allow load_modules system_data_file:dir getattr; +allow load_modules system_file:file rx_file_perms; +allow load_modules vendor_file:file rx_file_perms; +allow load_modules debugfs_wifi_tracing:dir search; + +not_full_treble(` + allow load_modules shell_exec:file rx_file_perms; + allow load_modules toolbox_exec:file rx_file_perms; +') + +full_treble_only(` + allow load_modules vendor_shell_exec:file rx_file_perms; + allow load_modules vendor_toolbox_exec:file rx_file_perms; +') diff --git a/sepolicy/load_modules/property.te b/sepolicy/load_modules/property.te new file mode 100644 index 000000000..36cdab528 --- /dev/null +++ b/sepolicy/load_modules/property.te @@ -0,0 +1 @@ +type vendor_modules_prop, property_type; diff --git a/sepolicy/load_modules/property_contexts b/sepolicy/load_modules/property_contexts new file mode 100644 index 000000000..bb149a4bf --- /dev/null +++ b/sepolicy/load_modules/property_contexts @@ -0,0 +1 @@ +vendor.modules. u:object_r:vendor_modules_prop:s0 diff --git a/sepolicy/logd.te b/sepolicy/logd.te deleted file mode 100644 index 46482b45b..000000000 --- a/sepolicy/logd.te +++ /dev/null @@ -1 +0,0 @@ -allow logd logd:capability dac_override; diff --git a/sepolicy/mediacodec.te b/sepolicy/mediacodec.te deleted file mode 100644 index 73eab1943..000000000 --- a/sepolicy/mediacodec.te +++ /dev/null @@ -1,7 +0,0 @@ -allow mediacodec tmpfs:lnk_file read; -dontaudit mediacodec graphics_device:dir search; -allow mediacodec surfaceflinger:fifo_file { read write }; -allow mediacodec sysfs:file r_file_perms; -allow mediacodec system_file:dir r_dir_perms; -allow mediacodec device:dir r_dir_perms; -allow mediacodec host1x_device:chr_file rw_file_perms; diff --git a/sepolicy/mediadrmserver.te b/sepolicy/mediadrmserver.te deleted file mode 100644 index de2cef523..000000000 --- a/sepolicy/mediadrmserver.te +++ /dev/null @@ -1,5 +0,0 @@ -allow mediadrmserver tmpfs:lnk_file { read }; -allow mediadrmserver device:dir r_dir_perms; -allow mediadrmserver host1x_device:chr_file rw_file_perms; -allow mediadrmserver tmpfs:dir search; -dontaudit mediadrmserver gpu_device:chr_file rw_file_perms; diff --git a/sepolicy/mediaserver.te b/sepolicy/mediaserver.te deleted file mode 100644 index dff69d204..000000000 --- a/sepolicy/mediaserver.te +++ /dev/null @@ -1,10 +0,0 @@ -# GPU dynamic fbc feature -allow mediaserver surfaceflinger:fifo_file rw_file_perms; -allow mediaserver tee_device:chr_file { ioctl open read }; -allow mediaserver device:dir r_dir_perms; -# sensor manager based camera/video stabilization -allow mediaserver system_server:unix_stream_socket { connectto read write setopt }; -allow mediaserver sensorservice_service:service_manager find; -allow mediaserver host1x_device:chr_file rw_file_perms; -# needed for widevine classic -allow mediaserver tee_device:chr_file { ioctl open read write }; diff --git a/sepolicy/memtrack/hal_memtrack_default.te b/sepolicy/memtrack/hal_memtrack_default.te new file mode 100644 index 000000000..d5a5929f2 --- /dev/null +++ b/sepolicy/memtrack/hal_memtrack_default.te @@ -0,0 +1,19 @@ +# +# hal memtrack default service +# + +# Goes diving into /proc//smaps +typeattribute hal_memtrack_default mlstrustedsubject; + +allow hal_memtrack_default domain:dir search; +allow hal_memtrack_default domain:file r_file_perms; + +allow hal_memtrack_default proc_meminfo:file r_file_perms; + +# /sys/devices/pci0000:00/0000:00:02.0/drm/card0/gfx_memtrack/3973 +allow hal_memtrack_default sysfs:file r_file_perms; + +# /sys/devices/virtual/block/zram0/mem_used_total +allow hal_memtrack_default sysfs_zram:dir search; +allow hal_memtrack_default sysfs_zram:file r_file_perms; + diff --git a/sepolicy/netd.te b/sepolicy/netd.te deleted file mode 100644 index 4f26c860b..000000000 --- a/sepolicy/netd.te +++ /dev/null @@ -1,2 +0,0 @@ -allow netd netd:capability { sys_module }; -allow netd kernel:system { module_request }; diff --git a/sepolicy/power/file_contexts b/sepolicy/power/file_contexts new file mode 100644 index 000000000..4910ad538 --- /dev/null +++ b/sepolicy/power/file_contexts @@ -0,0 +1,3 @@ +# Power HAL service +/(vendor|system/vendor)/bin/hw/android\.hardware\.power@[0-9]+.?[0-9]*-service u:object_r:hal_power_service_exec:s0 + diff --git a/sepolicy/power/hal_power_service.te b/sepolicy/power/hal_power_service.te new file mode 100644 index 000000000..fd48358b3 --- /dev/null +++ b/sepolicy/power/hal_power_service.te @@ -0,0 +1,10 @@ +type hal_power_service, domain; +hal_server_domain(hal_power_service, hal_power) + +type hal_power_service_exec, exec_type, vendor_file_type, file_type; +init_daemon_domain(hal_power_service) + +allow hal_power_service cgroup:file rw_file_perms; +allow hal_power_service sysfs_app_readable:file rw_file_perms; +allow hal_power_service sysfs_devices_system_cpu:file rw_file_perms; + diff --git a/sepolicy/priv_app.te b/sepolicy/priv_app.te deleted file mode 100644 index d9874364c..000000000 --- a/sepolicy/priv_app.te +++ /dev/null @@ -1,3 +0,0 @@ -allow priv_app debugfs_tracing:file { open write }; -allow priv_app device:dir { open read }; -allow priv_app device:chr_file { ioctl getattr }; diff --git a/sepolicy/property.te b/sepolicy/property.te deleted file mode 100644 index 1bb3fe0d5..000000000 --- a/sepolicy/property.te +++ /dev/null @@ -1,3 +0,0 @@ -type product_locale_prop, property_type; -type debug_bq25892_prop, property_type; -type wifi_region_prop, property_type; diff --git a/sepolicy/recovery.te b/sepolicy/recovery.te deleted file mode 100644 index 769712e1b..000000000 --- a/sepolicy/recovery.te +++ /dev/null @@ -1,16 +0,0 @@ -recovery_only(` - # recovery uses cache - allow recovery cache_file:dir mounton; - # look in /dev/dri/ - allow recovery gpu_device:chr_file rw_file_perms; - allow recovery host1x_device:chr_file rw_file_perms; - - set_prop(recovery, ffs_prop) - - # for operations in recovery/updater/flash_mtd.c - allow recovery mtd_device:dir search; - allow recovery mtd_device:chr_file rw_file_perms; - - # for operations in recovery/update/flash_ec.c - allow recovery cros_ec_device:chr_file rw_file_perms; -') diff --git a/sepolicy/rfkill/bluetooth.te b/sepolicy/rfkill/bluetooth.te new file mode 100644 index 000000000..625cce25b --- /dev/null +++ b/sepolicy/rfkill/bluetooth.te @@ -0,0 +1 @@ +allow bluetooth sysfs_rfkill:file r_file_perms; diff --git a/sepolicy/rfkill/device.te b/sepolicy/rfkill/device.te new file mode 100644 index 000000000..d3585299a --- /dev/null +++ b/sepolicy/rfkill/device.te @@ -0,0 +1 @@ +type rfkill_device, dev_type; diff --git a/sepolicy/rfkill/file.te b/sepolicy/rfkill/file.te new file mode 100644 index 000000000..563f86736 --- /dev/null +++ b/sepolicy/rfkill/file.te @@ -0,0 +1 @@ +type sysfs_rfkill, sysfs_type, fs_type; diff --git a/sepolicy/rfkill/file_contexts b/sepolicy/rfkill/file_contexts new file mode 100644 index 000000000..fd68dac26 --- /dev/null +++ b/sepolicy/rfkill/file_contexts @@ -0,0 +1,9 @@ +# +# rfkill +# + +/dev/rfkill u:object_r:rfkill_device:s0 + +/vendor/bin/rfkill-init.sh u:object_r:rfkill_exec:s0 + +/sys/devices/virtual/ieee80211/phy0/rfkill[0-9]{1}/type u:object_r:sysfs_rfkill:s0 diff --git a/sepolicy/rfkill/rfkill.te b/sepolicy/rfkill/rfkill.te new file mode 100644 index 000000000..e96cd60cb --- /dev/null +++ b/sepolicy/rfkill/rfkill.te @@ -0,0 +1,33 @@ +# +# rfkill +# + +type rfkill, domain; +type rfkill_exec, exec_type, file_type, vendor_file_type; +init_daemon_domain(rfkill) + +# devices +allow rfkill rfkill_device:chr_file rw_file_perms; + + +# devices +allow rfkill rfkill_device:chr_file rw_file_perms; + +# chmods sysfs rfkill files +allow rfkill sysfs:file { getattr setattr }; +allow rfkill sysfs_bluetooth_writable:file { getattr setattr }; + +allow rfkill sysfs:dir r_dir_perms; +allow rfkill sysfs:file r_file_perms; +allow rfkill sysfs_rfkill:file r_file_perms; + +not_full_treble(` + # its a shell script, so in order to run the interpreter + # it needs access to shell_exec + allow rfkill shell_exec:file rx_file_perms; + allow rfkill toolbox_exec:file rx_file_perms; +') +full_treble_only(` + allow rfkill vendor_shell_exec:file rx_file_perms; + allow rfkill vendor_toolbox_exec:file rx_file_perms; +') diff --git a/sepolicy/service.te b/sepolicy/service.te deleted file mode 100644 index df43c0432..000000000 --- a/sepolicy/service.te +++ /dev/null @@ -1 +0,0 @@ -type remote_control_service, system_api_service, system_server_service, service_manager_type; \ No newline at end of file diff --git a/sepolicy/servicemanager.te b/sepolicy/servicemanager.te deleted file mode 100644 index 90fa31482..000000000 --- a/sepolicy/servicemanager.te +++ /dev/null @@ -1 +0,0 @@ -allow servicemanager tmpfs:file open; diff --git a/sepolicy/set_storage/file_contexts b/sepolicy/set_storage/file_contexts new file mode 100644 index 000000000..ad32edb1b --- /dev/null +++ b/sepolicy/set_storage/file_contexts @@ -0,0 +1 @@ +/vendor/bin/set_storage.vendor u:object_r:set_storage_exec:s0 diff --git a/sepolicy/set_storage/init.te b/sepolicy/set_storage/init.te deleted file mode 100644 index 8ba454da9..000000000 --- a/sepolicy/set_storage/init.te +++ /dev/null @@ -1,5 +0,0 @@ -# -# init -# - -domain_trans(init, rootfs, set_storage) diff --git a/sepolicy/set_storage/property.te b/sepolicy/set_storage/property.te new file mode 100644 index 000000000..000e70bbc --- /dev/null +++ b/sepolicy/set_storage/property.te @@ -0,0 +1 @@ +type diskbus_prop, property_type; diff --git a/sepolicy/set_storage/property_contexts b/sepolicy/set_storage/property_contexts new file mode 100644 index 000000000..db7f18e9c --- /dev/null +++ b/sepolicy/set_storage/property_contexts @@ -0,0 +1 @@ +ro.boot.diskbus u:object_r:diskbus_prop:s0 diff --git a/sepolicy/set_storage/set_storage.te b/sepolicy/set_storage/set_storage.te index 23f71e473..d4662749f 100644 --- a/sepolicy/set_storage/set_storage.te +++ b/sepolicy/set_storage/set_storage.te @@ -3,16 +3,30 @@ # type set_storage, domain; +type set_storage_exec, file_type, exec_type, vendor_file_type; -allow set_storage self:capability { fowner chown fsetid }; +not_full_treble(` + typeattribute set_storage coredomain; + domain_trans(init, rootfs, set_storage) +') + +full_treble_only(` + init_daemon_domain(set_storage) +') + +allow set_storage self:capability { fsetid }; allow set_storage block_device:dir rw_dir_perms; allow set_storage block_device:lnk_file create; allow set_storage rootfs:file rx_file_perms; +allow set_storage kmsg_device:chr_file { open write }; # XXX setattr here can likely be dropped as it does so on the # frp block device allow set_storage block_device:blk_file { getattr setattr }; # chmod to system partition owner, see set_storage.c -allow set_storage frp_block_device:blk_file setattr; \ No newline at end of file +# allow set_storage frp_block_device:blk_file setattr; + +allow set_storage set_storage:capability { fowner chown }; +get_prop(set_storage, diskbus_prop) diff --git a/sepolicy/shell.te b/sepolicy/shell.te index 62ae1bddd..f75a3000f 100644 --- a/sepolicy/shell.te +++ b/sepolicy/shell.te @@ -2,3 +2,8 @@ allow shell efs_file:dir search; allow shell efs_file:file r_file_perms; allow shell bluetooth_efs_file:dir search; allow shell bluetooth_efs_file:file r_file_perms; + +# Allow shell read access to sysfs_thermal +recovery_only(` +r_dir_file(shell, sysfs_thermal); +') diff --git a/sepolicy/surfaceflinger.te b/sepolicy/surfaceflinger.te deleted file mode 100644 index 0d3b8b8ca..000000000 --- a/sepolicy/surfaceflinger.te +++ /dev/null @@ -1,48 +0,0 @@ -allow surfaceflinger graphics_device:chr_file ioctl; -allow surfaceflinger device:chr_file ioctl; - -allow surfaceflinger gpu_device:dir search; -allow surfaceflinger gpu_device:chr_file { read ioctl open write }; -allow surfaceflinger gpu_device:file { read ioctl open write }; -allow surfaceflinger sw_sync_device:file { read ioctl open write }; -allow surfaceflinger debugfs:chr_file { read ioctl open write getattr }; -allow surfaceflinger debugfs_tracing:file { read open write }; -allow surfaceflinger tmpfs:chr_file write; - -# Talk to init over the property socket. -unix_socket_connect(surfaceflinger, property, init) - -allow surfaceflinger platform_app:fd use; -allow surfaceflinger self:capability dac_override; -allow surfaceflinger system_app:fd use; -allow surfaceflinger system_server:binder { transfer call }; - -allow surfaceflinger proc:file write; -allow surfaceflinger servicemanager:binder call; -allow surfaceflinger untrusted_app:fd use; - -allow surfaceflinger shell_exec:file { read execute open execute_no_trans }; -allow surfaceflinger toolbox_exec:file { read getattr open execute }; - -allow surfaceflinger shell:binder call; -allow surfaceflinger toolbox_exec:file execute_no_trans; - -allow surfaceflinger system_data_file:dir { write create add_name }; - -allow surfaceflinger app_data_file:file write; -allow surfaceflinger dumpstate:fd use; -allow surfaceflinger dumpstate:unix_stream_socket { read write }; -allow surfaceflinger mediaserver:binder transfer; - -allow surfaceflinger bluetooth:fd use; - -allow surfaceflinger bootanim:fd use; -allow surfaceflinger bootanim:binder transfer; -allow surfaceflinger bootanim:dir search; -allow surfaceflinger bootanim:file { read getattr open }; -allow surfaceflinger bootanim:dir search; -allow surfaceflinger bootanim:file { read getattr open }; - -# access to dev/sw_sync -allow surfaceflinger sw_sync_device:chr_file rw_file_perms; -allow surfaceflinger host1x_device:chr_file rw_file_perms; diff --git a/sepolicy/sw_sync_device.te b/sepolicy/sw_sync_device.te deleted file mode 100644 index 25f02b9a8..000000000 --- a/sepolicy/sw_sync_device.te +++ /dev/null @@ -1 +0,0 @@ -allow sw_sync_device debugfs:filesystem associate; diff --git a/sepolicy/swap/file.te b/sepolicy/swap/file.te new file mode 100644 index 000000000..a83786514 --- /dev/null +++ b/sepolicy/swap/file.te @@ -0,0 +1 @@ +type proc_swappiness, fs_type, proc_type; diff --git a/sepolicy/swap/file_contexts b/sepolicy/swap/file_contexts new file mode 100644 index 000000000..9ddf7ae42 --- /dev/null +++ b/sepolicy/swap/file_contexts @@ -0,0 +1,2 @@ +# ZRam device configured as swap space +/dev/block/zram0 u:object_r:swap_block_device:s0 diff --git a/sepolicy/swap/genfs_contexts b/sepolicy/swap/genfs_contexts new file mode 100644 index 000000000..db74bc966 --- /dev/null +++ b/sepolicy/swap/genfs_contexts @@ -0,0 +1 @@ +genfscon proc /sys/vm/swappiness u:object_r:proc_swappiness:s0 diff --git a/sepolicy/swap/vendor_init.te b/sepolicy/swap/vendor_init.te new file mode 100644 index 000000000..639a52eaa --- /dev/null +++ b/sepolicy/swap/vendor_init.te @@ -0,0 +1 @@ +allow vendor_init proc_swappiness:file w_file_perms; diff --git a/sepolicy/swap/vold.te b/sepolicy/swap/vold.te new file mode 100644 index 000000000..357e54215 --- /dev/null +++ b/sepolicy/swap/vold.te @@ -0,0 +1,5 @@ +# +# vold +# + +allow vold swap_block_device:blk_file getattr; diff --git a/sepolicy/system_app.te b/sepolicy/system_app.te deleted file mode 100644 index 573c2f7ae..000000000 --- a/sepolicy/system_app.te +++ /dev/null @@ -1,4 +0,0 @@ -allow system_app surfaceflinger_tmpfs:file { read write }; -allow system_app sysfs_thermal_writable:file rw_file_perms; -allow system_app sysfs_coretemp:file rw_file_perms; -allow system_app self:netlink_kobject_uevent_socket {create read bind connect getopt setopt shutdown}; diff --git a/sepolicy/system_server.te b/sepolicy/system_server.te deleted file mode 100644 index a65aa01aa..000000000 --- a/sepolicy/system_server.te +++ /dev/null @@ -1,21 +0,0 @@ -allow system_server tmpfs:file open; -allow system_server surfaceflinger_tmpfs:file { read write }; -allow system_server efs_file:dir search; -allow system_server efs_file:file r_file_perms; -allow system_server surfaceflinger:fifo_file rw_file_perms; -allow system_server gpu_pid_stats_file:dir r_dir_perms; -allow system_server gpu_pid_stats_file:file r_file_perms; -# Allow system_server to open crash report files. -allow system_server crash_reports_data_file:dir r_dir_perms; -allow system_server crash_reports_data_file:file r_file_perms; -allow system_server host1x_device:chr_file rw_file_perms; -allow system_server zygote:process setsched; -allow system_server self:netlink_socket create_socket_perms; -allow system_server sensors_device:chr_file rw_file_perms; -allow system_server uhid_device:chr_file rw_file_perms; -allow system_server device:chr_file ioctl; -allow system_server debugfs:file { open read write }; -allow system_server init:tcp_socket { getopt setopt read write }; -allow system_server init:udp_socket { getopt setopt read write }; -allow system_server init:process { getattr getpgid }; -get_prop(system_server, wifi_region_prop) diff --git a/sepolicy/te_macros b/sepolicy/te_macros new file mode 100644 index 000000000..c2a4fb776 --- /dev/null +++ b/sepolicy/te_macros @@ -0,0 +1,43 @@ +##################################### +# Userfastboot only +# SELinux rules which apply only to userfastboot mode +# +define(`userfastboot_only', ifelse(target_userfastboot, `true', $1, )) + +define(`notuserfastboot', ifelse(target_userfastboot, `true', -userfastboot, )) + + +##################################### +# target_only(target, rules) +# SELinux rules which only apply to a particular target +# target - the target name in TARGET_PRODUCT. Note this is a substring search +# so target_only(`coh', `rules') is the same as target_only(`coho', `rules') +# rules - Any rules you wish to add, make sure to quote them with `' +# +define(`target_only', `ifelse(eval(index(board_sepolicy_target_product, $1) >= 0),1,$2)') + +##################################### +# module_only(module_name, rules) +# Only add rules if a module is true. +# Note: that a module must declare themselves exported +# by adding BOARD_SEPOLICY_M4DEFS += module_=true +# in the module specific mixin BoardConfig.mk file. +# WARNING: cannot contain a dash, use underscores. +define(`module_only', `ifelse(module_$1, `true', $2)') + +# ignore_adb_debug(domain) +# Some hal interface expose a forwarded port over adb +# for debugging, ignore these. If you need to access +# the port, run setenforce 0 from a root shell. +define(`ignore_adb_debug', ` + userdebug_or_eng(` + dontaudit $1 node:tcp_socket *; + dontaudit $1 self:socket *; + dontaudit $1 self:tcp_socket *; + dontaudit $1 self:udp_socket *; + dontaudit $1 port:tcp_socket *; + permissive $1; + ') +') + +define(`user_build_only', ifelse(target_build_variant, `user', $1, )) diff --git a/sepolicy/tee.te b/sepolicy/tee.te deleted file mode 100644 index 688848327..000000000 --- a/sepolicy/tee.te +++ /dev/null @@ -1,4 +0,0 @@ -allow tee tee_data_file:dir create_dir_perms; -allow tee self:capability { setuid setgid sys_rawio }; -allow tee block_device:dir search; -allow tee rpmb_block_device:blk_file rw_file_perms; diff --git a/sepolicy/thermal/device.te b/sepolicy/thermal/device.te new file mode 100644 index 000000000..d58ba6c54 --- /dev/null +++ b/sepolicy/thermal/device.te @@ -0,0 +1 @@ +type thermal_device, dev_type; diff --git a/sepolicy/thermal/dptf/dptf.te b/sepolicy/thermal/dptf/dptf.te new file mode 100644 index 000000000..9e324c10a --- /dev/null +++ b/sepolicy/thermal/dptf/dptf.te @@ -0,0 +1,54 @@ +# Rules for esif_ufd +type dptf, domain; +type dptf_exec, exec_type, file_type, vendor_file_type; +init_daemon_domain(dptf); + +# Need to use vendor binder +vndbinder_use(dptf) +binder_call(dptf, hal_thermal_default) + +# Allow dptf to find the thermal_hal_service service +allow dptf thermal_hal_service:service_manager find; + +# Allow raw socket +# Also requires DAC changes in device/intel/common/filesystem_config/android_filesystem_config.h +allow dptf self:capability { net_raw }; + +# Allow network access for DPTF UI +net_domain(dptf) + +# Allow create and listen to uevent socket +allow dptf self:netlink_kobject_uevent_socket create_socket_perms; +allowxperm dptf self:netlink_kobject_uevent_socket ioctl SIOCETHTOOL; + +# Vendor directory +# /vendor/lib64 +# /vendor/app and /vendor/etc/dptf/dv direcroty +allow dptf vendor_file:dir r_dir_perms; +allow dptf vendor_file:file rx_file_perms; + +# Data directory +allow dptf dptf_data_file:dir create_dir_perms; +allow dptf dptf_data_file:file create_file_perms; + +# +# Sysfs files +# +allow dptf sysfs:dir r_dir_perms; +allow dptf sysfs_devices_system_cpu:file rw_file_perms; +allow dptf sysfs_powercap:{ file lnk_file } rw_file_perms; +allow dptf sysfs_powercap:dir { read open search}; +allow dptf sysfs_powercap:dir r_dir_perms; +allow dptf sysfs_dptf_file:dir r_dir_perms; +allow dptf sysfs_dptf_file:file rw_file_perms; +allow dptf sysfs_thermal_management:dir r_dir_perms; +allow dptf sysfs_thermal_management:file rw_file_perms; +allow dptf sysfs_thermal:file r_file_perms; +allow dptf sysfs_thermal:file w_file_perms; + +# /sys/class/backlight/intel_backlight/brigthness +# /sys/class/power_supply/bq*/max_charge_current +allow dptf sysfs:file rw_file_perms; + +# Set properties +set_prop(dptf, powerctl_prop) diff --git a/sepolicy/thermal/dptf/file.te b/sepolicy/thermal/dptf/file.te new file mode 100644 index 000000000..08c3e1f08 --- /dev/null +++ b/sepolicy/thermal/dptf/file.te @@ -0,0 +1,2 @@ +type dptf_data_file, file_type, data_file_type; +type sysfs_dptf_file, fs_type, sysfs_type; diff --git a/sepolicy/thermal/dptf/file_contexts b/sepolicy/thermal/dptf/file_contexts new file mode 100644 index 000000000..ec1606f2c --- /dev/null +++ b/sepolicy/thermal/dptf/file_contexts @@ -0,0 +1,4 @@ +/data/misc/dptf(/.*)? u:object_r:dptf_data_file:s0 +/etc/dptf(/.*)? u:object_r:dptf_data_file:s0 +(/system)?/vendor/bin/esif_ufd u:object_r:dptf_exec:s0 +/vendor/bin/thermal_lite u:object_r:thermal_lite_exec:s0 diff --git a/sepolicy/thermal/dptf/system_server.te b/sepolicy/thermal/dptf/system_server.te new file mode 100644 index 000000000..6a7492c67 --- /dev/null +++ b/sepolicy/thermal/dptf/system_server.te @@ -0,0 +1,4 @@ +# permission needed for sensor service to access thermal sensors +allow system_server sysfs_thermal_management:dir rw_dir_perms; +allow system_server sysfs_thermal_management:file rw_file_perms; +#for last_reboot_reason diff --git a/sepolicy/thermal/dptf/thermal_lite.te b/sepolicy/thermal/dptf/thermal_lite.te new file mode 100644 index 000000000..478dea7b3 --- /dev/null +++ b/sepolicy/thermal/dptf/thermal_lite.te @@ -0,0 +1,17 @@ +# +# thermal_lite +# + +type thermal_lite, domain; +type thermal_lite_exec, exec_type, file_type, vendor_file_type; +init_daemon_domain(thermal_lite) + +allow thermal_lite sysfs:dir r_dir_perms; +allow thermal_lite sysfs_thermal_management:dir r_dir_perms; +allow thermal_lite sysfs_thermal_management:file r_file_perms; +allow thermal_lite sysfs_powercap:file rw_file_perms; +allow thermal_lite sysfs_powercap:dir r_dir_perms; +allow thermal_lite sysfs_thermal:file rw_file_perms; + +# properties +set_prop(thermal_lite, powerctl_prop) diff --git a/sepolicy/thermal/file.te b/sepolicy/thermal/file.te new file mode 100644 index 000000000..3a8ebd1e4 --- /dev/null +++ b/sepolicy/thermal/file.te @@ -0,0 +1,2 @@ +type sysfs_thermal_management, fs_type, sysfs_type; +type sysfs_powercap, fs_type, sysfs_type; diff --git a/sepolicy/thermal/file_contexts b/sepolicy/thermal/file_contexts new file mode 100644 index 000000000..02d7664ac --- /dev/null +++ b/sepolicy/thermal/file_contexts @@ -0,0 +1,12 @@ +/sys/devices/virtual/thermal/thermal_zone[0-9]/trip_point_[0-9]_temp u:object_r:sysfs_thermal:s0 +/sys/devices/virtual/thermal/cooling_device[0-9]/cur_state u:object_r:sysfs_thermal:s0 +/sys/devices/virtual/thermal/thermal_zone[0-9]/policy u:object_r:sysfs_thermal:s0 +/sys/devices/virtual/thermal/thermal_zone[0-9]/temp u:object_r:sysfs_thermal:s0 +/sys/devices/system/cpu/cpu[0-4]/cpufreq/thermal_scaling_max_freq u:object_r:sysfs_thermal:s0 + +/dev/acpi_thermal_rel u:object_r:thermal_device:s0 + +# thermal management +/sys/devices/platform/coretemp.0(/.*)? u:object_r:sysfs_thermal_management:s0 +/sys/devices/virtual/thermal(/.*)? u:object_r:sysfs_thermal_management:s0 +/sys/devices/virtual/powercap(/.*)? u:object_r:sysfs_powercap:s0 diff --git a/sepolicy/thermal/hal_sensors_sefault.te b/sepolicy/thermal/hal_sensors_sefault.te new file mode 100644 index 000000000..63e24751b --- /dev/null +++ b/sepolicy/thermal/hal_sensors_sefault.te @@ -0,0 +1,4 @@ +allow hal_sensors_default sysfs_thermal_management:dir r_dir_perms; +allow hal_sensors_default sysfs_thermal_management:file rw_file_perms; + +allow system_server system_app:file w_file_perms; diff --git a/sepolicy/thermal/hal_thermal_default.te b/sepolicy/thermal/hal_thermal_default.te new file mode 100644 index 000000000..9f65440de --- /dev/null +++ b/sepolicy/thermal/hal_thermal_default.te @@ -0,0 +1,15 @@ +#============= hal_thermal_default ============== +vndbinder_use(hal_thermal_default) + +add_service(hal_thermal_default, thermal_hal_service) + +allow hal_thermal_default thermal_hal_service:hwservice_manager find; +allow hal_thermal_default sysfs_thermal_management:dir r_dir_perms; +allow hal_thermal_default sysfs_thermal:file r_file_perms; +allow hal_thermal_default proc_stat:file r_file_perms; +allow hal_thermal_default self:can_socket create_socket_perms; +allowxperm hal_thermal_default self:can_socket ioctl { + SIOCGIFINDEX + SIOCSIFNAME + SIOCSIFFLAGS +}; diff --git a/sepolicy/thermal/platform_app.te b/sepolicy/thermal/platform_app.te new file mode 100644 index 000000000..57625dcd4 --- /dev/null +++ b/sepolicy/thermal/platform_app.te @@ -0,0 +1,7 @@ +# +# platform_app +# + +# XXX Did the thermal apps drop out of the system app domain? +allow platform_app sysfs_powercap:dir search; +allow platform_app sysfs_powercap:file r_file_perms; diff --git a/sepolicy/thermal/system_app.te b/sepolicy/thermal/system_app.te new file mode 100644 index 000000000..882d0f643 --- /dev/null +++ b/sepolicy/thermal/system_app.te @@ -0,0 +1,22 @@ +# +# system_app.te +# + +# XXX Not sure which app this is for, so common for now +allow system_app sysfs_thermal:file rw_file_perms; +allow system_app thermal_device:chr_file rw_file_perms; +allow system_app sysfs_thermal_management:{ file lnk_file } rw_file_perms; +allow system_app sysfs_thermal_management:dir {read open search }; +allow system_app sysfs_devices_system_cpu:file rw_file_perms; +allow system_app kernel:capability net_admin; + +allow system_app sysfs_powercap:{ file lnk_file } rw_file_perms; +allow system_app sysfs_powercap:dir r_dir_perms; + +module_only(`camera_ipu2', ` + set_prop(system_app, cam_flash_thrtl_prop) +') + +module_only(`camera_ipu4', ` + set_prop(system_app, cam_flash_thrtl_prop) +') diff --git a/sepolicy/thermal/thermal-daemon/file.te b/sepolicy/thermal/thermal-daemon/file.te new file mode 100644 index 000000000..3214575c8 --- /dev/null +++ b/sepolicy/thermal/thermal-daemon/file.te @@ -0,0 +1,4 @@ +type thermal-daemon_data_file, vendor_file_type, file_type; +type sysfs_dmi_id, fs_type, sysfs_type; +type sysfs_backlight_thermal, fs_type, sysfs_type; +type thermal-daemon_run_dir, file_type, data_file_type; diff --git a/sepolicy/thermal/thermal-daemon/file_contexts b/sepolicy/thermal/thermal-daemon/file_contexts new file mode 100644 index 000000000..f70550a68 --- /dev/null +++ b/sepolicy/thermal/thermal-daemon/file_contexts @@ -0,0 +1,6 @@ +/vendor/bin/thermal-daemon u:object_r:thermal-daemon_exec:s0 +/vendor/etc/thermal_daemon(/.*)? u:object_r:thermal-daemon_data_file:s0 +/data/vendor/thermal_daemon(/.*)? u:object_r:thermal-daemon_run_dir:s0 +/sys/devices/virtual/dmi/id/product_name u:object_r:sysfs_dmi_id:s0 +/sys/devices/virtual/dmi/id/product_uuid u:object_r:sysfs_dmi_id:s0 +/sys/class/backlight(/.*)? u:object_r:sysfs_backlight_thermal:s0 diff --git a/sepolicy/thermal/thermal-daemon/init.te b/sepolicy/thermal/thermal-daemon/init.te new file mode 100644 index 000000000..ed918349d --- /dev/null +++ b/sepolicy/thermal/thermal-daemon/init.te @@ -0,0 +1,8 @@ +allow init sysfs_powercap:dir { read open }; +allow init sysfs_powercap:file { read setattr }; +allow init thermal-daemon_data_file: dir { read open }; +allow init thermal-daemon_data_file: file { read }; +allow init thermal-daemon_run_dir: dir { create read open setattr }; +allow init thermal-daemon_run_dir: file { create read write setattr }; +allow init sysfs_dmi_id: file { read setattr }; +allow init sysfs_backlight_thermal: file { read write setattr }; diff --git a/sepolicy/thermal/thermal-daemon/thermal-daemon.te b/sepolicy/thermal/thermal-daemon/thermal-daemon.te new file mode 100644 index 000000000..c7a59ad9d --- /dev/null +++ b/sepolicy/thermal/thermal-daemon/thermal-daemon.te @@ -0,0 +1,36 @@ +# +# thermal-daemon +# + +type thermal-daemon, domain, data_between_core_and_vendor_violators; +type thermal-daemon_exec, exec_type, file_type, vendor_file_type; +init_daemon_domain(thermal-daemon) + +allow thermal-daemon sysfs:dir r_dir_perms; +allow thermal-daemon sysfs_thermal_management:dir r_dir_perms; +allow thermal-daemon sysfs_thermal_management:file rw_file_perms; +allow thermal-daemon sysfs_powercap:{ file lnk_file } rw_file_perms; +allow thermal-daemon sysfs_powercap:dir r_dir_perms; +allow thermal-daemon sysfs_thermal:dir r_dir_perms; +allow thermal-daemon sysfs_thermal:file rw_file_perms; +allow thermal-daemon sysfs_leds:dir r_dir_perms; +allow thermal-daemon sysfs_leds:file rw_file_perms; +allow thermal-daemon sysfs_backlight_thermal:dir r_dir_perms; +allow thermal-daemon sysfs_backlight_thermal:file rw_file_perms; +allow hal_light_default sysfs_backlight_thermal:dir r_dir_perms; +allow hal_light_default sysfs_backlight_thermal:file rw_file_perms; +allow thermal-daemon sysfs_dmi_id:{ file lnk_file } rw_file_perms; +allow thermal-daemon system_data_file:dir create_dir_perms; +allow thermal-daemon system_data_file:dir rw_dir_perms; +allow thermal-daemon thermal-daemon_run_dir:dir create_dir_perms; +allow thermal-daemon thermal-daemon_run_dir:dir rw_dir_perms; +allow thermal-daemon thermal-daemon_run_dir:file create_file_perms; +allow thermal-daemon thermal-daemon_run_dir:file rw_file_perms; +allow thermal-daemon thermal-daemon_data_file:dir r_file_perms; +allow thermal-daemon thermal-daemon_data_file:file r_file_perms; +allow thermal-daemon thermal_device:chr_file rw_file_perms; +allow thermal-daemon self:netlink_kobject_uevent_socket create_socket_perms; +allowxperm thermal-daemon self:netlink_kobject_uevent_socket ioctl SIOCETHTOOL; + +# properties +set_prop(thermal-daemon, powerctl_prop) diff --git a/sepolicy/thermal/ueventd.te b/sepolicy/thermal/ueventd.te new file mode 100644 index 000000000..8074fec75 --- /dev/null +++ b/sepolicy/thermal/ueventd.te @@ -0,0 +1,6 @@ +# +# ueventd +# + +allow ueventd sysfs_thermal_management:file rw_file_perms; +allow ueventd sysfs_powercap:file w_file_perms; diff --git a/sepolicy/thermal/vndservice.te b/sepolicy/thermal/vndservice.te new file mode 100644 index 000000000..18b2e46be --- /dev/null +++ b/sepolicy/thermal/vndservice.te @@ -0,0 +1 @@ +type thermal_hal_service, vndservice_manager_type; diff --git a/sepolicy/thermal/vndservice_contexts b/sepolicy/thermal/vndservice_contexts new file mode 100644 index 000000000..8ed48541e --- /dev/null +++ b/sepolicy/thermal/vndservice_contexts @@ -0,0 +1 @@ +thermal.hal.service u:object_r:thermal_hal_service:s0 diff --git a/sepolicy/thermal_gov.te b/sepolicy/thermal_gov.te deleted file mode 100644 index ffaef8151..000000000 --- a/sepolicy/thermal_gov.te +++ /dev/null @@ -1,13 +0,0 @@ -# permissions for /system/bin/tune-thermal-gov.sh -type thermal_gov, domain, domain_deprecated; -type thermal_gov_exec, exec_type, file_type; - -init_daemon_domain(thermal_gov) - -allow thermal_gov shell_exec:file rx_file_perms; - -# write to files in /sys/class/thermal/thermal_zone -allow thermal_gov sysfs:file w_file_perms; - -# execute toolbox/toybox -allow thermal_gov toolbox_exec:file rx_file_perms; diff --git a/sepolicy/tools/capchecker b/sepolicy/tools/capchecker new file mode 100755 index 000000000..fb703bf93 --- /dev/null +++ b/sepolicy/tools/capchecker @@ -0,0 +1,13 @@ +#!/bin/sh + +unamestr=`uname` +if [ "$unamestr" = "Linux" -o "$unamestr" = "linux" ]; then + + if [ -f $ANDROID_BUILD_TOP/vendor/intel/utils/cap_checker.py ]; then + python $ANDROID_BUILD_TOP/vendor/intel/utils/cap_checker.py "$@" + else + echo "$ANDROID_BUILD_TOP/vendor/intel/utils/cap_checker.py not found, skipping check..." + fi +else + echo "sesearch is only supported on linux" +fi diff --git a/sepolicy/tools/caps.conf b/sepolicy/tools/caps.conf new file mode 100644 index 000000000..9b5fdecdf --- /dev/null +++ b/sepolicy/tools/caps.conf @@ -0,0 +1,73 @@ +[DISSALLOWED_CAPS] +caps : setuid setgid dac_override dac_read_search fowner sys_module chown sys_admin mknod + +[AOSP_IGNORED] +adbd : setuid setgid +clatd : setuid setgid +dhcp : setuid setgid +dnsmasq : setuid setgid dac_override +dumpstate : setuid fowner chown setgid dac_override dac_read_search +hal_wifi_supplicant_default : setuid setgid +init : setuid sys_admin mknod dac_override chown setgid fowner +install_recovery : dac_override +installd : setuid sys_admin dac_override chown setgid fowner dac_read_search +lmkd : dac_override +logd : setuid setgid +modprobe : sys_module +netd : fowner chown dac_override +otapreopt_chroot : sys_admin +performanced : setuid setgid +perfprofd : sys_admin dac_override +postinstall_dexopt : setuid fowner chown setgid dac_override +postinstall : sys_admin +rild : setuid setgid +runas : setuid setgid +sdcardd : setuid sys_admin setgid dac_override +sgdisk : sys_admin +storaged : setuid setgid +system_server : setuid setgid +tee : dac_override +ueventd : fowner chown mknod setgid dac_override sys_module +uncrypt : dac_override +update_engine : fowner sys_admin +vendor_modprobe : sys_module +vold : chown mknod fowner sys_admin dac_override dac_read_search +webview_zygote : setuid setgid +wificond : setuid chown setgid +zygote : setuid sys_admin dac_override chown setgid fowner dac_read_search +hal_radio_config_default : setuid setgid +vendor_init : fowner chown sys_admin dac_override sys_module +vold_prepare_subdirs : chown dac_override +hal_radio_default : setuid setgid +vold_prepare_subdirs : fowner chown dac_override +traced_probes : dac_read_search + +[DEVICE_BUG] +hdcpd : chown sys_admin https://jira01.devtools.intel.com/browse/OAM-44007 +pstore-clean : sys_admin https://jira01.devtools.intel.com/browse/OAM-44010 +rfkill : chown https://jira01.devtools.intel.com/browse/OAM-44009 +dumpstate : sys_admin https://jira01.devtools.intel.com/browse/OAM-44012 +avb_streamhandler_service : dac_override https://jira01.devtools.intel.com/browse/OAM-44226 +hci_attach : dac_override https://jira01.devtools.intel.com/browse/OAM-44226 +set_storage : fowner chown https://jira01.devtools.intel.com/browse/OAM-44332 + +[DEVICE_IGNORED] +coreu : sys_admin +dumpstate_dropbox : * ; DEBUG WE DON"T CARE +init : sys_module dac_read_search ; Allow the use of insmod keyword for init. +log-watch : * ; DEBUG WE DON"T CARE +kernel : sys_admin ; watchdog kernel option CONFIG_LOCKUP_DETECTOR +logsvc : * ; DEBUG WE DON"T CARE +usermode_helper : sys_module ; usermode helpers need to load modules +ioc_slcan : sys_module ; boot performance +ioc_slcan_usermode_helper : sys_module ; boot performance +ioc_cbc : sys_module ; boot performance +ioc_cbc_usermode_helper : sys_module ; boot performance +netd : sys_module ; boot performance +load_iwlwifi_script : sys_module ; Allow the use of insmod keyword for load_iwlwifi_script +early_evs: sys_module +evs_bxt_app: sys_admin dac_override +load_mwifiex : sys_module ; Allow the use of insmod for load_mwifiex script +load_modules : sys_module ; Allow the use of insmod for load_modules +dirana_config : fowner chown ; Allow the use of chmod for dirana_config +rngd : sys_admin diff --git a/sepolicy/trusty/file_contexts b/sepolicy/trusty/file_contexts new file mode 100644 index 000000000..0823d60db --- /dev/null +++ b/sepolicy/trusty/file_contexts @@ -0,0 +1,8 @@ +# Trusty ipc device +/dev/trusty-ipc-dev0 u:object_r:tee_device:s0 +# Trusty rpmb device +/dev/rpmb[01] u:object_r:tee_device:s0 + +/vendor/bin/storageproxyd u:object_r:tee_exec:s0 + +/data/vendor/securestorage(/.*)? u:object_r:tee_data_file:s0 diff --git a/sepolicy/trusty/gatekeeperd.te b/sepolicy/trusty/gatekeeperd.te new file mode 100644 index 000000000..50c79b25b --- /dev/null +++ b/sepolicy/trusty/gatekeeperd.te @@ -0,0 +1,3 @@ +# HwBinder IPC from client to server, and callbacks +# refer to system/sepolicy/public/hal_gatekeeper.te +binder_call(gatekeeperd, hal_gatekeeper) diff --git a/sepolicy/trusty/storageproxyd.te b/sepolicy/trusty/storageproxyd.te new file mode 100644 index 000000000..98e268b85 --- /dev/null +++ b/sepolicy/trusty/storageproxyd.te @@ -0,0 +1,11 @@ +# storageproxyd is a daemon of secure storage to do operations on rpmb, +# which is a partition of eMMC, and provides encrypted and tamper proof +# storage to secure apps. storageproxyd service receives cmds from trusty +# storage app to execute read/write on rpmb and gives responses to trusty. + +# storageproxyd requires sys_rawio permission to call ioctl to execute +# read/write operations on /dev/rpmb*, which is in tee domain. + +allow tee self:capability { sys_rawio }; +allow tee block_device:dir search; +allow tee tee_device:blk_file rw_file_perms; \ No newline at end of file diff --git a/sepolicy/ueventd.te b/sepolicy/ueventd.te deleted file mode 100644 index cdd0957ad..000000000 --- a/sepolicy/ueventd.te +++ /dev/null @@ -1,15 +0,0 @@ -allow ueventd tmpfs:file open; -allow ueventd ueventd:capability sys_module; -allow ueventd device:chr_file { relabelfrom relabelto}; -allow ueventd gpu_device:chr_file { relabelfrom relabelto}; -allow ueventd graphics_device:chr_file { relabelfrom relabelto}; -allow ueventd audio_device:chr_file { relabelfrom relabelto}; -allow ueventd input_device:chr_file { relabelfrom relabelto}; -allow ueventd video_device:chr_file { relabelfrom relabelto}; -allow ueventd usb_device:chr_file { relabelfrom relabelto}; -allow ueventd kernel:system module_request; -allow ueventd sysfs_thermal_uevent:file w_file_perms; -allow ueventd sysfs_bluetooth:file w_file_perms; -allow ueventd sysfs_socinfo:file w_file_perms; -allow ueventd system_file:system { module_load }; -allow ueventd hidraw_device:chr_file { relabelfrom relabelto }; diff --git a/sepolicy/uncrypt.te b/sepolicy/uncrypt.te deleted file mode 100644 index 0326c72c3..000000000 --- a/sepolicy/uncrypt.te +++ /dev/null @@ -1 +0,0 @@ -allow uncrypt tmpfs:file { open }; diff --git a/sepolicy/untrusted_app.te b/sepolicy/untrusted_app.te deleted file mode 100644 index 5b02ca70c..000000000 --- a/sepolicy/untrusted_app.te +++ /dev/null @@ -1,2 +0,0 @@ -allow untrusted_app debugfs_tracing:file { write open }; -allow untrusted_app surfaceflinger_tmpfs:file { read write }; diff --git a/sepolicy/usb/file.te b/sepolicy/usb/file.te new file mode 100644 index 000000000..45ed06c6a --- /dev/null +++ b/sepolicy/usb/file.te @@ -0,0 +1 @@ +type sysfs_usb_role_writeable, fs_type, sysfs_type, mlstrustedobject; diff --git a/sepolicy/usb/file_contexts b/sepolicy/usb/file_contexts new file mode 100644 index 000000000..f1d72fd1e --- /dev/null +++ b/sepolicy/usb/file_contexts @@ -0,0 +1 @@ +/sys/devices/pci0000:00/0000:00:14.0/intel_xhci_usb_sw/usb_role/intel_xhci_usb_sw-role-switch/role u:object_r:sysfs_usb_role_writeable:s0 diff --git a/sepolicy/usb/init.te b/sepolicy/usb/init.te new file mode 100644 index 000000000..39b56af68 --- /dev/null +++ b/sepolicy/usb/init.te @@ -0,0 +1,2 @@ +allow init sysfs_usb_role_writeable:file rw_file_perms; +allow init sysfs_usb_role_writeable:file { setattr }; diff --git a/sepolicy/usb/platform_app.te b/sepolicy/usb/platform_app.te new file mode 100644 index 000000000..bc84251b3 --- /dev/null +++ b/sepolicy/usb/platform_app.te @@ -0,0 +1 @@ +allow platform_app sysfs_usb_role_writeable:file rw_file_perms; diff --git a/sepolicy/vendor/dnsmasq.te b/sepolicy/vendor/dnsmasq.te new file mode 100644 index 000000000..54772c1da --- /dev/null +++ b/sepolicy/vendor/dnsmasq.te @@ -0,0 +1,2 @@ +allow dnsmasq netd:fifo_file getattr; +allow dnsmasq netd:unix_stream_socket getattr; diff --git a/sepolicy/vendor/netd.te b/sepolicy/vendor/netd.te new file mode 100644 index 000000000..7cf33aa61 --- /dev/null +++ b/sepolicy/vendor/netd.te @@ -0,0 +1,5 @@ +dontaudit netd kernel:system module_request; +dontaudit netd self:capability sys_module; +dontaudit netd system_file:dir write; + +allow netd system_server:icmp_socket { read write }; diff --git a/sepolicy/vendor/system_server.te b/sepolicy/vendor/system_server.te new file mode 100644 index 000000000..286d8be0a --- /dev/null +++ b/sepolicy/vendor/system_server.te @@ -0,0 +1,4 @@ +allow system_server self:icmp_socket create_socket_perms_no_ioctl; + +dontaudit system_server self:capability sys_module; +dontaudit system_server kernel:system syslog_read; diff --git a/sepolicy/vendor/untrusted_app_all.te b/sepolicy/vendor/untrusted_app_all.te new file mode 100644 index 000000000..70002b890 --- /dev/null +++ b/sepolicy/vendor/untrusted_app_all.te @@ -0,0 +1,17 @@ +dontaudit untrusted_app_all mnt_vendor_file:dir search; +dontaudit untrusted_app_all system_data_file:dir setattr; +dontaudit untrusted_app_all sysfs_zram:dir search; +dontaudit untrusted_app_all sysfs:dir r_dir_perms; +dontaudit untrusted_app_all backup_data_file:dir r_dir_perms; +dontaudit untrusted_app_all anr_data_file:dir r_dir_perms; +allow untrusted_app_all vendor_file:file r_file_perms; +allow untrusted_app_all fs_bpf:dir search; + +user_build_only(` + dontaudit untrusted_app_all block_device:dir getattr; + dontaudit untrusted_app_all configfs:dir search; + dontaudit untrusted_app_all kernel:dir search; + dontaudit untrusted_app_all proc_qtaguid_stat:file r_file_perms; + dontaudit untrusted_app_all qtaguid_proc:file r_file_perms; + dontaudit untrusted_app_all qtaguid_device:chr_file r_file_perms; +') diff --git a/sepolicy/vendor_init.te b/sepolicy/vendor_init.te new file mode 100644 index 000000000..8399acfc9 --- /dev/null +++ b/sepolicy/vendor_init.te @@ -0,0 +1,5 @@ +allow vendor_init self:global_capability_class_set sys_module; +allow vendor_init vendor_file:system module_load; +allow vendor_init kernel:key search; +allow vendor_init file_contexts_file:file map; +set_prop(vendor_init, shell_prop) diff --git a/sepolicy/vold.te b/sepolicy/vold.te deleted file mode 100644 index 917e3c424..000000000 --- a/sepolicy/vold.te +++ /dev/null @@ -1 +0,0 @@ -allow vold tmpfs:file open; diff --git a/sepolicy/wpa.te b/sepolicy/wpa.te deleted file mode 100644 index aa42cd783..000000000 --- a/sepolicy/wpa.te +++ /dev/null @@ -1,5 +0,0 @@ -allow wpa efs_file:dir r_dir_perms; -allow wpa efs_file:file rw_file_perms; -allow wpa log_device:chr_file { write open }; -allow wpa system_data_file:dir { write remove_name add_name setattr }; -allow wpa system_data_file:sock_file { write create unlink setattr }; diff --git a/sepolicy/zygote.te b/sepolicy/zygote.te deleted file mode 100644 index 64332ab93..000000000 --- a/sepolicy/zygote.te +++ /dev/null @@ -1,6 +0,0 @@ -allow zygote debugfs_tracing:file { read open write }; -allow zygote zygote:capability sys_nice; -allow zygote tmpfs:dir mounton; -allow zygote tmpfs:file open; -allow zygote host1x_device:chr_file rw_file_perms; -allow zygote product_locale_prop:file { read open getattr };