diff options
author | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2022-06-11 15:26:27 +0000 |
---|---|---|
committer | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2022-06-11 15:26:27 +0000 |
commit | 8fa7b50111aa3ba47398d81cce8d42ccd25979d9 (patch) | |
tree | 8a9e4f9f242424d431d3e148da4a9967903271ec | |
parent | f09559ae5f8f4f88b2e3dd35ba50d02e1085a25a (diff) | |
parent | 137b1eee08c2469a9bf8f34473aad54f7394f9af (diff) | |
download | sunfish-android13-frc-art-release.tar.gz |
Snap for 8712302 from 137b1eee08c2469a9bf8f34473aad54f7394f9af to tm-frc-art-releaset_frc_art_330443060android13-frc-art-release
Change-Id: Ib511a733db7ef4fe188fb41570b286891a833d12
-rw-r--r-- | default-permissions.xml | 5 | ||||
-rw-r--r-- | device.mk | 2 | ||||
-rw-r--r-- | init.hardware.usb.rc | 63 | ||||
-rw-r--r-- | ueventd.rc | 3 | ||||
-rw-r--r-- | usb/gadget/android.hardware.usb.gadget-service.sunfish.rc | 4 | ||||
-rw-r--r-- | usb/usb/Usb.cpp | 45 | ||||
-rw-r--r-- | usb/usb/Usb.h | 2 |
7 files changed, 97 insertions, 27 deletions
diff --git a/default-permissions.xml b/default-permissions.xml index 356b20d9..1e50e5f1 100644 --- a/default-permissions.xml +++ b/default-permissions.xml @@ -143,4 +143,9 @@ <!-- Notifications --> <permission name="android.permission.POST_NOTIFICATIONS" fixed="true"/> </exception> + <exception + package="com.google.android.apps.turbo"> + <!-- Notifications --> + <permission name="android.permission.POST_NOTIFICATIONS" fixed="false"/> + </exception> </exceptions> @@ -886,7 +886,7 @@ PRODUCT_PACKAGES += $(HIDL_WRAPPER) # Increment the SVN for any official public releases PRODUCT_PROPERTY_OVERRIDES += \ - ro.vendor.build.svn=45 + ro.vendor.build.svn=47 PRODUCT_COPY_FILES += \ $(LOCAL_PATH)/powerhint.json:$(TARGET_COPY_OUT_VENDOR)/etc/powerhint.json diff --git a/init.hardware.usb.rc b/init.hardware.usb.rc index 0c542407..3551c32d 100644 --- a/init.hardware.usb.rc +++ b/init.hardware.usb.rc @@ -55,6 +55,69 @@ on early-boot write /sys/module/libcomposite/parameters/disable_l1_for_hs "y" write /config/usb_gadget/g1/functions/gsi.rndis/rndis_class_id 1 + # chown file/folder permission + chown system system /config/usb_gadget/ + chown system system /config/usb_gadget/g1 + chown system system /config/usb_gadget/g1/UDC + chown system system /config/usb_gadget/g1/bDeviceClass + chown system system /config/usb_gadget/g1/bDeviceProtocol + chown system system /config/usb_gadget/g1/bDeviceSubClass + chown system system /config/usb_gadget/g1/bMaxPacketSize0 + chown system system /config/usb_gadget/g1/bcdDevice + chown system system /config/usb_gadget/g1/bcdUSB + chown system system /config/usb_gadget/g1/configs + chown system system /config/usb_gadget/g1/configs/b.1 + chown system system /config/usb_gadget/g1/configs/b.1/MaxPower + chown system system /config/usb_gadget/g1/configs/b.1/bmAttributes + chown system system /config/usb_gadget/g1/configs/b.1/strings + chown system system /config/usb_gadget/g1/functions + chown system system /config/usb_gadget/g1/functions/accessory.gs2 + chown system system /config/usb_gadget/g1/functions/audio_source.gs3 + chown system system /config/usb_gadget/g1/functions/cser.dun.0 + chown system system /config/usb_gadget/g1/functions/cser.dun.0/status + chown system system /config/usb_gadget/g1/functions/cser.nmea.1 + chown system system /config/usb_gadget/g1/functions/cser.nmea.1/status + chown system system /config/usb_gadget/g1/functions/diag.diag + chown system system /config/usb_gadget/g1/functions/diag.diag_mdm + chown system system /config/usb_gadget/g1/functions/ffs.adb + chown system system /config/usb_gadget/g1/functions/ffs.mtp + chown system system /config/usb_gadget/g1/functions/ffs.ptp + chown system system /config/usb_gadget/g1/functions/gsi.dpl + chown system system /config/usb_gadget/g1/functions/gsi.dpl/info + chown system system /config/usb_gadget/g1/functions/gsi.rmnet + chown system system /config/usb_gadget/g1/functions/gsi.rmnet/info + chown system system /config/usb_gadget/g1/functions/gsi.rndis + chown system system /config/usb_gadget/g1/functions/gsi.rndis/info + chown system system /config/usb_gadget/g1/functions/gsi.rndis/rndis_class_id + chown system system /config/usb_gadget/g1/functions/midi.gs5 + chown system system /config/usb_gadget/g1/functions/midi.gs5/buflen + chown system system /config/usb_gadget/g1/functions/midi.gs5/id + chown system system /config/usb_gadget/g1/functions/midi.gs5/in_ports + chown system system /config/usb_gadget/g1/functions/midi.gs5/index + chown system system /config/usb_gadget/g1/functions/midi.gs5/out_ports + chown system system /config/usb_gadget/g1/functions/midi.gs5/qlen + chown system system /config/usb_gadget/g1/functions/qdss.qdss + chown system system /config/usb_gadget/g1/functions/qdss.qdss/enable_debug_inface + chown system system /config/usb_gadget/g1/functions/qdss.qdss_mdm + chown system system /config/usb_gadget/g1/functions/qdss.qdss_mdm/enable_debug_inface + chown system system /config/usb_gadget/g1/idProduct + chown system system /config/usb_gadget/g1/idVendor + chown system system /config/usb_gadget/g1/os_desc + chown system system /config/usb_gadget/g1/os_desc/b.1 + chown system system /config/usb_gadget/g1/os_desc/b.1/MaxPower + chown system system /config/usb_gadget/g1/os_desc/b.1/bmAttributes + chown system system /config/usb_gadget/g1/os_desc/b.1/strings + chown system system /config/usb_gadget/g1/os_desc/b.1/strings/0x409 + chown system system /config/usb_gadget/g1/os_desc/b.1/strings/0x409/configuration + chown system system /config/usb_gadget/g1/os_desc/b_vendor_code + chown system system /config/usb_gadget/g1/os_desc/qw_sign + chown system system /config/usb_gadget/g1/os_desc/use + chown system system /config/usb_gadget/g1/strings + chown system system /config/usb_gadget/g1/strings/0x409 + chown system system /config/usb_gadget/g1/strings/0x409/manufacturer + chown system system /config/usb_gadget/g1/strings/0x409/product + chown system system /config/usb_gadget/g1/strings/0x409/serialnumber + on property:init.svc.console=running write /sys/class/power_supply/usb/moisture_detection_enabled 0 @@ -140,3 +140,6 @@ firmware_directories /vendor/firmware_mnt/image/ # pixelstats /sys/devices/platform/soc/c440000.qcom,spmi/spmi-0/spmi0-00/c440000.qcom,spmi:qcom,pm6150@0:qcom,usb-pdphy@1700/usbpd0/typec/port0/port0-partner identity/id_header 0444 system system /sys/devices/platform/soc/c440000.qcom,spmi/spmi-0/spmi0-00/c440000.qcom,spmi:qcom,pm6150@0:qcom,usb-pdphy@1700/usbpd0/typec/port0/port0-partner identity/product 0444 system system + +#KGSL +/sys/class/kgsl/kgsl-3d0 perfcounter 0660 root shell diff --git a/usb/gadget/android.hardware.usb.gadget-service.sunfish.rc b/usb/gadget/android.hardware.usb.gadget-service.sunfish.rc index 7e4c4697..4b85a8b5 100644 --- a/usb/gadget/android.hardware.usb.gadget-service.sunfish.rc +++ b/usb/gadget/android.hardware.usb.gadget-service.sunfish.rc @@ -1,7 +1,7 @@ service vendor.usb-gadget-hal-1-1 /vendor/bin/hw/android.hardware.usb.gadget-service.sunfish class hal - user root - group root system shell mtp + user system + group system shell mtp on boot chown root system /sys/class/typec/port0/power_role diff --git a/usb/usb/Usb.cpp b/usb/usb/Usb.cpp index b8163d1d..ed358cdb 100644 --- a/usb/usb/Usb.cpp +++ b/usb/usb/Usb.cpp @@ -61,40 +61,41 @@ ScopedAStatus Usb::enableUsbData(const string& in_portName, bool in_enable, int64_t in_transactionId) { bool result = true; std::vector<PortStatus> currentPortStatus; + string pullup; ALOGI("Userspace turn %s USB data signaling. opID:%ld", in_enable ? "on" : "off", in_transactionId); if (in_enable) { - if (!WriteStringToFile("1", USB_DATA_PATH)) { - ALOGE("Not able to turn on usb connection notification"); - result = false; + if (ReadFileToString(PULLUP_PATH, &pullup)) { + pullup = Trim(pullup); + if (pullup != kGadgetName) { + if (!WriteStringToFile(kGadgetName, PULLUP_PATH)) { + ALOGE("Gadget cannot be pulled up"); + result = false; + } + } } - if (!WriteStringToFile(kGadgetName, PULLUP_PATH)) { - ALOGE("Gadget cannot be pulled up"); + if (!WriteStringToFile("1", USB_DATA_PATH)) { + ALOGE("Not able to turn on usb connection notification"); result = false; } } else { - if (!WriteStringToFile("1", ID_PATH)) { - ALOGE("Not able to turn off host mode"); - result = false; - } - - if (!WriteStringToFile("0", VBUS_PATH)) { - ALOGE("Not able to set Vbus state"); - result = false; + if (ReadFileToString(PULLUP_PATH, &pullup)) { + pullup = Trim(pullup); + if (pullup == kGadgetName) { + if (!WriteStringToFile("none", PULLUP_PATH)) { + ALOGE("Gadget cannot be pulled down"); + result = false; + } + } } if (!WriteStringToFile("0", USB_DATA_PATH)) { ALOGE("Not able to turn on usb connection notification"); result = false; } - - if (!WriteStringToFile("none", PULLUP_PATH)) { - ALOGE("Gadget cannot be pulled down"); - result = false; - } } if (result) { @@ -367,7 +368,8 @@ Usb::Usb() : mLock(PTHREAD_MUTEX_INITIALIZER), mRoleSwitchLock(PTHREAD_MUTEX_INITIALIZER), mPartnerLock(PTHREAD_MUTEX_INITIALIZER), - mPartnerUp(false) { + mPartnerUp(false), + mUsbDataEnabled(true) { pthread_condattr_t attr; if (pthread_condattr_init(&attr)) { ALOGE("pthread_condattr_init failed: %s", strerror(errno)); @@ -612,7 +614,7 @@ Status getPortStatusHelper(android::hardware::usb::Usb *usb, } else { (*currentPortStatus)[i].usbDataStatus.push_back(UsbDataStatus::ENABLED); } - (*currentPortStatus)[i].powerBrickStatus = PowerBrickStatus::UNKNOWN; + (*currentPortStatus)[i].powerBrickStatus = PowerBrickStatus::UNKNOWN; ALOGI("%d:%s connected:%d canChangeMode:%d canChagedata:%d canChangePower:%d " "usbDataEnabled:%d", @@ -627,6 +629,7 @@ Status getPortStatusHelper(android::hardware::usb::Usb *usb, done: return Status::ERROR; } + Status queryPowerTransferStatus(std::vector<PortStatus> *currentPortStatus) { string enabled; @@ -731,8 +734,6 @@ static void uevent_event(uint32_t /*epevents*/, struct data *payload) { pthread_cond_signal(&payload->usb->mPartnerCV); pthread_mutex_unlock(&payload->usb->mPartnerLock); } else if (!strncmp(cp, "DEVTYPE=typec_", strlen("DEVTYPE=typec_")) || - !strncmp(cp, "DRIVER=max77759tcpc", - strlen("DRIVER=max77759tcpc")) || !strncmp(cp, "POWER_SUPPLY_MOISTURE_DETECTED", strlen("POWER_SUPPLY_MOISTURE_DETECTED"))) { std::vector<PortStatus> currentPortStatus; diff --git a/usb/usb/Usb.h b/usb/usb/Usb.h index 6cb19562..89f1bade 100644 --- a/usb/usb/Usb.h +++ b/usb/usb/Usb.h @@ -43,11 +43,9 @@ using ::std::shared_ptr; using ::std::string; constexpr char kGadgetName[] = "a600000.dwc3"; -#define ID_PATH SOC_PATH "id" #define PULLUP_PATH "/config/usb_gadget/g1/UDC" #define SOC_PATH "/sys/devices/platform/soc/a600000.ssusb/" #define USB_DATA_PATH SOC_PATH "usb_data_enabled" -#define VBUS_PATH SOC_PATH "b_sess" #define USB_POWER_LIMIT_PATH "/sys/devices/platform/soc/c440000.qcom,spmi/spmi-0/spmi0-00/c440000.qcom,spmi:qcom,pm6150@0:qcom,usb-pdphy@1700/usbpd0/" #define SINK_CURRENT_LIMIT_PATH USB_POWER_LIMIT_PATH "usb_limit_sink_current" |