From fbcb7ad5dc79c7f8bd20b68df214f4db92e2a83e Mon Sep 17 00:00:00 2001 From: Puma Hsu Date: Thu, 19 Aug 2021 19:36:51 +0800 Subject: [PATCH] usb: create new functions for uwb uwb needs ACM port, create this function combination. Bug: 187877902 Test: ACM port can be enabled. Signed-off-by: Puma Hsu Change-Id: I14c6af95bbd5e9e0b2c4a17a1fffb6e04def2c9b --- conf/init.gs101.usb.rc | 6 ++++++ usb/UsbGadget.cpp | 6 ++++++ usb/android.hardware.usb@1.3-service.gs101.rc | 2 ++ 3 files changed, 14 insertions(+) diff --git a/conf/init.gs101.usb.rc b/conf/init.gs101.usb.rc index 7c763811..bbf1db0a 100644 --- a/conf/init.gs101.usb.rc +++ b/conf/init.gs101.usb.rc @@ -68,6 +68,9 @@ on early-boot # etr_miu function mkdir /config/usb_gadget/g1/functions/etr_miu.gs11 + # acm function for uwb + mkdir /config/usb_gadget/g1/functions/acm.uwb0 + setprop vendor.usb.functions.ready 1 on boot @@ -120,3 +123,6 @@ on property:sys.usb.config=charger && property:sys.usb.configfs=1 on property:vendor.usb.contaminantdisable=true exec /vendor/bin/hw/disable_contaminant_detection.sh + +on property:ro.bootmode=uwb + setprop persist.vendor.usb.usbradio.config uwb_acm diff --git a/usb/UsbGadget.cpp b/usb/UsbGadget.cpp index 909fb485..0a6cea31 100644 --- a/usb/UsbGadget.cpp +++ b/usb/UsbGadget.cpp @@ -165,6 +165,8 @@ static V1_0::Status validateAndSetVidPid(uint64_t functions) { ret = setVidPid("0x04e8", "0x6862"); } else if (vendorFunctions == "etr_miu") { ret = setVidPid("0x18d1", "0x4ee2"); + } else if (vendorFunctions == "uwb_acm"){ + ret = setVidPid("0x18d1", "0x4ee2"); } else { if (!(vendorFunctions == "user" || vendorFunctions == "")) { ALOGE("Invalid vendorFunctions set: %s", vendorFunctions.c_str()); @@ -284,6 +286,10 @@ V1_0::Status UsbGadget::setupFunctions(uint64_t functions, ALOGI("enable etr_miu functions"); if (linkFunction("etr_miu.gs11", i++)) return Status::ERROR; + } else if (vendorFunctions == "uwb_acm") { + ALOGI("enable uwb acm function"); + if (linkFunction("acm.uwb0", i++)) + return Status::ERROR; } if ((functions & GadgetFunction::ADB) != 0) { diff --git a/usb/android.hardware.usb@1.3-service.gs101.rc b/usb/android.hardware.usb@1.3-service.gs101.rc index 966726bb..4112b4ec 100644 --- a/usb/android.hardware.usb@1.3-service.gs101.rc +++ b/usb/android.hardware.usb@1.3-service.gs101.rc @@ -39,6 +39,8 @@ on property:vendor.usb.functions.ready=1 chown system system /config/usb_gadget/g1/functions/accessory.gs2 chown system system /config/usb_gadget/g1/functions/acm.gs6 chown system system /config/usb_gadget/g1/functions/acm.gs6/port_num + chown system system /config/usb_gadget/g1/functions/acm.uwb0 + chown system system /config/usb_gadget/g1/functions/acm.uwb0/port_num chown system system /config/usb_gadget/g1/functions/audio_source.gs3 chown system system /config/usb_gadget/g1/functions/dm.gs7 chown system system /config/usb_gadget/g1/functions/ffs.adb