diff --git a/BoardConfig-common.mk b/BoardConfig-common.mk index e8f2f7c..099c238 100644 --- a/BoardConfig-common.mk +++ b/BoardConfig-common.mk @@ -150,8 +150,6 @@ endif #display_unit_test ifeq ($(USES_DEVICE_GOOGLE_ZUMAPRO),true) -# TODO(b/272725898): Needs to check with owner later -$(warning display_unit_test set to zuma on zumapro target) $(call soong_config_set,display_unit_test,soc,zuma) endif @@ -280,8 +278,6 @@ HWC_SUPPORT_COLOR_TRANSFORM := true BOARD_USES_EXYNOS_AFBC_FEATURE := true #BOARD_USES_HDRUI_GLES_CONVERSION := true -# TODO(b/272725898): Needs to check with owner later -$(warning BOARD_LIBACRYL_DEFAULT_COMPOSITOR set to zuma on zumapro target) BOARD_LIBACRYL_DEFAULT_COMPOSITOR := fimg2d_zuma BOARD_LIBACRYL_G2D_HDR_PLUGIN := libacryl_hdr_plugin diff --git a/conf/init.zumapro.board.rc b/conf/init.zumapro.board.rc index dcee57a..9923903 100644 --- a/conf/init.zumapro.board.rc +++ b/conf/init.zumapro.board.rc @@ -294,26 +294,6 @@ on post-fs-data # Video data mkdir /data/vendor/media 0700 mediacodec mediacodec -on post-fs-data - # GPS - mkdir /data/vendor/gps 0771 system system - chown system system /data/vendor/gps - rm /data/vendor/gps/gps_started - rm /data/vendor/gps/glonass_started - rm /data/vendor/gps/beidou_started - rm /data/vendor/gps/smd_started - rm /data/vendor/gps/sv_cno.info - - chown gps system /sys/devices/platform/111e0000.spi/spi_master/spi21/spi21.0/nstandby - chmod 0664 /dev/ttyBCM - chown gps system /dev/ttyBCM - chmod 0664 /dev/bbd_control - chown gps system /dev/bbd_control - chmod 0664 /dev/bbd_patch - chown gps system /dev/bbd_patch - chmod 0664 /dev/bbd_sensor - chown gps system /dev/bbd_sensor - on early-boot # Wait for insmod_sh to finish all common modules wait_for_prop vendor.common.modules.ready 1 diff --git a/default-permissions.xml b/default-permissions.xml index fc00a30..2d04542 100644 --- a/default-permissions.xml +++ b/default-permissions.xml @@ -59,7 +59,6 @@ - @@ -67,9 +66,6 @@ - - - diff --git a/device.mk b/device.mk index ad85c55..3389983 100644 --- a/device.mk +++ b/device.mk @@ -42,6 +42,8 @@ include device/google/gs-common/misc_writer/misc_writer.mk include device/google/gs-common/gyotaku_app/gyotaku.mk include device/google/gs-common/bootctrl/bootctrl_aidl.mk include device/google/gs-common/betterbug/betterbug.mk +include device/google/gs-common/recorder/recorder.mk +include device/google/gs-common/fingerprint/fingerprint.mk include device/google/zumapro/dumpstate/item.mk @@ -66,8 +68,6 @@ ifeq ($(USE_PIXEL_GRALLOC),true) PRODUCT_SOONG_NAMESPACES += hardware/google/gchips/GrallocHAL endif -# TODO(b/272725898): Needs to check with owner later -$(warning hardware/google/graphics/zuma set to zuma on zumapro target) PRODUCT_SOONG_NAMESPACES += \ hardware/google/av \ hardware/google/gchips \ @@ -217,12 +217,84 @@ PRODUCT_PROPERTY_OVERRIDES += \ persist.sys.hdcp_checking=always USE_LASSEN_OEMHOOK := true +ifneq ($(BOARD_WITHOUT_RADIO),true) # The "power-anomaly-sitril" is added into PRODUCT_SOONG_NAMESPACES when # $(USE_LASSEN_OEMHOOK) is true and $(BOARD_WITHOUT_RADIO) is not true. -ifneq ($(BOARD_WITHOUT_RADIO),true) - PRODUCT_SOONG_NAMESPACES += vendor/google/tools/power-anomaly-sitril +PRODUCT_SOONG_NAMESPACES += vendor/google/tools/power-anomaly-sitril + +$(call inherit-product-if-exists, vendor/samsung_slsi/telephony/$(BOARD_USES_SHARED_VENDOR_TELEPHONY)/common/device-vendor.mk) + +# modem_ml_svc_sit daemon +PRODUCT_PACKAGES += modem_ml_svc_sit + +ifeq (,$(filter aosp_%,$(TARGET_PRODUCT))) +# Modem ML TFLite service. +PRODUCT_PACKAGES += modemml-tflite-service \ + libtensorflowlite_jni + +# Allow TFLite service modules to be installed to the system partition +PRODUCT_ARTIFACT_PATH_REQUIREMENT_ALLOWED_LIST += \ + system/etc/vintf/manifest/modemml_tflite_service.xml \ + system/framework/modemml-tflite-service.jar \ + system/framework/oat/arm64/modemml-tflite-service.odex \ + system/framework/oat/arm64/modemml-tflite-service.vdex \ + system/lib64/libtensorflowlite_jni.so + +PRODUCT_SYSTEM_SERVER_JARS += modemml-tflite-service endif +# modem ML models configs +ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT))) +PRODUCT_COPY_FILES += \ + device/google/zumapro/modem_ml/modem_ml_nnapi_models_userdebug.conf:$(TARGET_COPY_OUT_VENDOR)/etc/modem_ml_models.conf \ + device/google/zumapro/modem_ml/modem_ml_tflite_models_userdebug.conf:$(TARGET_COPY_OUT_VENDOR)/etc/modem_ml_tflite_models.conf +else +PRODUCT_COPY_FILES += \ + device/google/zumapro/modem_ml/modem_ml_nnapi_models_user.conf:$(TARGET_COPY_OUT_VENDOR)/etc/modem_ml_models.conf \ + device/google/zumapro/modem_ml/modem_ml_tflite_models_user.conf:$(TARGET_COPY_OUT_VENDOR)/etc/modem_ml_tflite_models.conf +endif + +# modem logging binary/configs +PRODUCT_PACKAGES += modem_logging_control + +# libeomservice_proxy binary/configs +PRODUCT_PACKAGES += liboemservice_proxy_default + +# modem logging configs +PRODUCT_PACKAGES += \ + logging.conf \ + default.cfg \ + default.nprf \ + default_metrics.xml \ + Pixel_stability.cfg \ + Pixel_stability.nprf \ + extensive_logging.conf + +# Vendor modem extensive logging default property +PRODUCT_PROPERTY_OVERRIDES += \ + persist.vendor.modem.extensive_logging_enabled=false + +# Pixel Logger +include hardware/google/pixel/PixelLogger/PixelLogger.mk + +# RIL extension service +ifeq (,$(filter aosp_% factory_%,$(TARGET_PRODUCT))) +include device/google/gs-common/pixel_ril/ril.mk +endif + +# Use Lassen specifc Shared Modem Platform +SHARED_MODEM_PLATFORM_VENDOR := lassen + +else # ifneq ($(BOARD_WITHOUT_RADIO),true) + +# Pixel Logger +BOARD_SEPOLICY_DIRS += hardware/google/pixel-sepolicy/logger_app + +endif # ifneq ($(BOARD_WITHOUT_RADIO),true) + +# Shared Modem Platform +include device/google/gs-common/modem/shared_modem_platform/shared_modem_platform.mk + # Use for GRIL USES_LASSEN_MODEM := true USE_WHI_GRIL_RECOVERY := true @@ -230,6 +302,8 @@ USE_WHI_GRIL_RECOVERY := true ifeq ($(USES_GOOGLE_DIALER_CARRIER_SETTINGS),true) USE_GOOGLE_DIALER := true USE_GOOGLE_CARRIER_SETTINGS := true +PRODUCT_PROPERTY_OVERRIDES += \ + ro.vendor.uses_google_dialer_carrier_settings=1 endif ifeq ($(USES_GOOGLE_PREBUILT_MODEM_SVC),true) @@ -777,8 +851,6 @@ PRODUCT_PACKAGES += wpa_supplicant.conf WIFI_PRIV_CMD_UPDATE_MBO_CELL_STATUS := enabled -WIFI_BRCM_OPEN_SOURCE_MULTI_AKM := enabled - ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT))) PRODUCT_PACKAGES += wpa_cli PRODUCT_PACKAGES += hostapd_cli @@ -862,8 +934,6 @@ PRODUCT_SOONG_NAMESPACES += \ PRODUCT_PACKAGES += \ trusty_metricsd -# TODO(b/272725898): Needs to check with owner later -$(warning displaycolor_platform set to zuma on zumapro target) $(call soong_config_set,google_displaycolor,displaycolor_platform,zuma) PRODUCT_PACKAGES += \ android.hardware.composer.hwc3-service.pixel \ @@ -956,10 +1026,6 @@ USE_EARLY_SEND_DEVICE_INFO := true #$(call inherit-product, vendor/google_devices/telephony/common/device-vendor.mk) #$(call inherit-product, vendor/google_devices/zumapro/proprietary/device-vendor.mk) -ifneq ($(BOARD_WITHOUT_RADIO),true) -$(call inherit-product-if-exists, vendor/samsung_slsi/telephony/$(BOARD_USES_SHARED_VENDOR_TELEPHONY)/common/device-vendor.mk) -endif - $(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit_only.mk) #$(call inherit-product, hardware/google_devices/exynos5/exynos5.mk) #$(call inherit-product-if-exists, hardware/google_devices/zumapro/zumapro.mk) @@ -974,56 +1040,6 @@ PRODUCT_COPY_FILES += \ device/google/zumapro/component-overrides.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sysconfig/component-overrides.xml \ frameworks/native/data/etc/handheld_core_hardware.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/handheld_core_hardware.xml \ -ifneq ($(BOARD_WITHOUT_RADIO),true) -# modem_ml_svc_sit daemon -PRODUCT_PACKAGES += modem_ml_svc_sit - -# Modem ML TFLite service. -PRODUCT_PACKAGES += modemml-tflite-service \ - libtensorflowlite_jni - -# Allow TFLite service modules to be installed to the system partition -PRODUCT_ARTIFACT_PATH_REQUIREMENT_ALLOWED_LIST += \ - system/etc/vintf/manifest/modemml_tflite_service.xml \ - system/framework/modemml-tflite-service.jar \ - system/framework/oat/arm64/modemml-tflite-service.odex \ - system/framework/oat/arm64/modemml-tflite-service.vdex \ - system/lib64/libtensorflowlite_jni.so - -PRODUCT_SYSTEM_SERVER_JARS += modemml-tflite-service - -# modem ML models configs -ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT))) -PRODUCT_COPY_FILES += \ - device/google/zumapro/modem_ml/modem_ml_nnapi_models_userdebug.conf:$(TARGET_COPY_OUT_VENDOR)/etc/modem_ml_models.conf \ - device/google/zumapro/modem_ml/modem_ml_tflite_models_userdebug.conf:$(TARGET_COPY_OUT_VENDOR)/etc/modem_ml_tflite_models.conf -else -PRODUCT_COPY_FILES += \ - device/google/zumapro/modem_ml/modem_ml_nnapi_models_user.conf:$(TARGET_COPY_OUT_VENDOR)/etc/modem_ml_models.conf \ - device/google/zumapro/modem_ml/modem_ml_tflite_models_user.conf:$(TARGET_COPY_OUT_VENDOR)/etc/modem_ml_tflite_models.conf -endif - -# modem logging binary/configs -PRODUCT_PACKAGES += modem_logging_control - -# libeomservice_proxy binary/configs -PRODUCT_PACKAGES += liboemservice_proxy_default - -# modem logging configs -PRODUCT_PACKAGES += \ - logging.conf \ - default.cfg \ - default.nprf \ - default_metrics.xml \ - Pixel_stability.cfg \ - Pixel_stability.nprf \ - extensive_logging.conf - -# Vendor modem extensive logging default property -PRODUCT_PROPERTY_OVERRIDES += \ - persist.vendor.modem.extensive_logging_enabled=false -endif - # Vibrator Diag PRODUCT_PACKAGES_DEBUG += \ diag-vibrator \ @@ -1161,13 +1177,6 @@ PRODUCT_PROPERTY_OVERRIDES += \ # Project include hardware/google/pixel/common/pixel-common-device.mk -# Pixel Logger -ifneq ($(BOARD_WITHOUT_RADIO),true) -include hardware/google/pixel/PixelLogger/PixelLogger.mk -else -BOARD_SEPOLICY_DIRS += hardware/google/pixel-sepolicy/logger_app -endif - # RadioExt Version USES_RADIOEXT_V1_7 = true @@ -1200,13 +1209,6 @@ include hardware/google/pixel/HardwareInfo/HardwareInfo.mk # UFS: the script is used to select the corresponding firmware to run FFU. PRODUCT_PACKAGES_DEBUG += ufs_firmware_update.sh -ifneq ($(BOARD_WITHOUT_RADIO),true) -# RIL extension service -ifeq (,$(filter aosp_% factory_%,$(TARGET_PRODUCT))) -include device/google/gs-common/pixel_ril/ril.mk -endif -endif - SUPPORT_VENDOR_SATELLITE_SERVICE := true # Telephony satellite geofence data file @@ -1231,7 +1233,3 @@ PRODUCT_PROPERTY_OVERRIDES += \ # since it can't be overridden from /vendor. PRODUCT_PRODUCT_PROPERTIES += \ dumpstate.strict_run=false - -# Shared Modem Platform -SHARED_MODEM_PLATFORM_VENDOR := lassen -include device/google/gs-common/modem/shared_modem_platform/shared_modem_platform.mk diff --git a/device_framework_matrix_product.xml b/device_framework_matrix_product.xml index 2aa37e9..59d5bf9 100644 --- a/device_framework_matrix_product.xml +++ b/device_framework_matrix_product.xml @@ -114,7 +114,7 @@ com.google.hardware.pixel.display - 11-12 + 12 IDisplay default diff --git a/dumpstate/dump_power.cpp b/dumpstate/dump_power.cpp index e8989f0..a5b4253 100644 --- a/dumpstate/dump_power.cpp +++ b/dumpstate/dump_power.cpp @@ -776,6 +776,11 @@ void dumpMitigationDirs() { }; const int eraseCnt[] = {6, 6, 4, 0}; const bool useTitleRow[] = {true, true, true, false}; + const char *vimon_name = "vimon_buff"; + const char delimiter = '\n'; + const int vimon_len = strlen(vimon_name); + const double VIMON_VMULT = 7.8122e-5; + const double VIMON_IMULT = 7.8125e-4; std::vector files; std::string content; @@ -783,6 +788,9 @@ void dumpMitigationDirs() { std::string source; std::string subModuleName; std::string readout; + char *endptr; + + bool vimon_found = false; for (int i = 0; i < paramCount; i++) { printTitle(titles[i]); @@ -800,11 +808,40 @@ void dumpMitigationDirs() { readout = android::base::Trim(content); + if (strncmp(file.c_str(), vimon_name, vimon_len) == 0) + vimon_found = true; + subModuleName = std::string(file); subModuleName.erase(subModuleName.find(paramSuffix[i]), eraseCnt[i]); if (useTitleRow[i]) { printf("%s \t%s\n", subModuleName.c_str(), readout.c_str()); + } else if (vimon_found) { + + std::vector tokens; + std::istringstream tokenStream(readout); + std::string token; + + while (std::getline(tokenStream, token, delimiter)) { + tokens.push_back(token); + } + + bool oddEntry = true; + for (auto &hexval : tokens) { + int val = strtol(hexval.c_str(), &endptr, 16); + if (*endptr != '\0') { + printf("invalid vimon readout\n"); + break; + } + if (oddEntry) { + int vbatt = int(1000 * (val * VIMON_VMULT)); + printf("vimon vbatt: %d ", vbatt); + } else { + int ibatt = int(1000 * (val * VIMON_IMULT)); + printf("ibatt: %d\n", ibatt); + } + oddEntry = !oddEntry; + } } else { printf("%s=%s\n", subModuleName.c_str(), readout.c_str()); } diff --git a/pixelstats/service.cpp b/pixelstats/service.cpp index dac4a48..e76a4d6 100644 --- a/pixelstats/service.cpp +++ b/pixelstats/service.cpp @@ -130,7 +130,8 @@ const struct SysfsCollector::SysfsPaths sysfs_paths = { "/sys/devices/platform/exynos-drm/primary-panel/error_count_unknown", "/sys/devices/platform/exynos-drm/secondary-panel/error_count_te", "/sys/devices/platform/exynos-drm/secondary-panel/error_count_unknown", - } + }, + .SpeakerVersionPath = "/sys/devices/platform/audiometrics/speaker_version" }; const struct UeventListener::UeventPaths ueventPaths = { diff --git a/usb/usb/Android.bp b/usb/usb/Android.bp index e70985c..20ba592 100644 --- a/usb/usb/Android.bp +++ b/usb/usb/Android.bp @@ -55,6 +55,7 @@ cc_binary { "libbinder_ndk", "libprotobuf-cpp-lite", "server_configurable_flags", + "libaconfig_storage_read_api_cc", ], static_libs: [ "libpixelusb-aidl", diff --git a/usb/usb/Usb.cpp b/usb/usb/Usb.cpp index 4bdd5ed..d8afb80 100644 --- a/usb/usb/Usb.cpp +++ b/usb/usb/Usb.cpp @@ -672,6 +672,11 @@ ScopedAStatus Usb::switchRole(const string& in_portName, const PortRole& in_role fp = fopen(filename.c_str(), "w"); if (fp != NULL) { int ret = fputs(convertRoletoString(in_role).c_str(), fp); + if (ret == EAGAIN) { + ALOGI("role switch busy, retry in %d ms", ROLE_SWAP_RETRY_MS); + std::this_thread::sleep_for(std::chrono::milliseconds(ROLE_SWAP_RETRY_MS)); + ret = fputs(convertRoletoString(in_role).c_str(), fp); + } fclose(fp); if ((ret != EOF) && ReadFileToString(filename, &written)) { written = Trim(written); diff --git a/usb/usb/Usb.h b/usb/usb/Usb.h index 96af846..8f0c3a0 100644 --- a/usb/usb/Usb.h +++ b/usb/usb/Usb.h @@ -80,6 +80,7 @@ constexpr char kGadgetName[] = "11210000.dwc3"; #define DISPLAYPORT_IRQ_HPD_COUNT_CHECK 3 #define DISPLAYPORT_POLL_WAIT_MS 100 +#define ROLE_SWAP_RETRY_MS 700 #define SVID_DISPLAYPORT "ff01" #define SVID_THUNDERBOLT "8087"