mirror of
https://github.com/Evolution-X/hardware_interfaces
synced 2026-02-01 11:36:00 +00:00
USB: HIDL: V1_1 report accessory modes
This CL extends the USB HAL interface to report audio accessory and debug accessory modes. Bug:36604276 Test: Manually test plugging analog audio headset. Change-Id: I7e0f0268e61cedf0910e8d62f2a8d8b73ee6c3fb
This commit is contained in:
committed by
Thierry Strudel
parent
d825a4dbf4
commit
fbc5a0d068
73
usb/1.1/Android.bp
Normal file
73
usb/1.1/Android.bp
Normal file
@@ -0,0 +1,73 @@
|
||||
// This file is autogenerated by hidl-gen. Do not edit manually.
|
||||
|
||||
filegroup {
|
||||
name: "android.hardware.usb@1.1_hal",
|
||||
srcs: [
|
||||
"types.hal",
|
||||
"IUsb.hal",
|
||||
"IUsbCallback.hal",
|
||||
],
|
||||
}
|
||||
|
||||
genrule {
|
||||
name: "android.hardware.usb@1.1_genc++",
|
||||
tools: ["hidl-gen"],
|
||||
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.usb@1.1",
|
||||
srcs: [
|
||||
":android.hardware.usb@1.1_hal",
|
||||
],
|
||||
out: [
|
||||
"android/hardware/usb/1.1/types.cpp",
|
||||
"android/hardware/usb/1.1/UsbAll.cpp",
|
||||
"android/hardware/usb/1.1/UsbCallbackAll.cpp",
|
||||
],
|
||||
}
|
||||
|
||||
genrule {
|
||||
name: "android.hardware.usb@1.1_genc++_headers",
|
||||
tools: ["hidl-gen"],
|
||||
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.usb@1.1",
|
||||
srcs: [
|
||||
":android.hardware.usb@1.1_hal",
|
||||
],
|
||||
out: [
|
||||
"android/hardware/usb/1.1/types.h",
|
||||
"android/hardware/usb/1.1/hwtypes.h",
|
||||
"android/hardware/usb/1.1/IUsb.h",
|
||||
"android/hardware/usb/1.1/IHwUsb.h",
|
||||
"android/hardware/usb/1.1/BnHwUsb.h",
|
||||
"android/hardware/usb/1.1/BpHwUsb.h",
|
||||
"android/hardware/usb/1.1/BsUsb.h",
|
||||
"android/hardware/usb/1.1/IUsbCallback.h",
|
||||
"android/hardware/usb/1.1/IHwUsbCallback.h",
|
||||
"android/hardware/usb/1.1/BnHwUsbCallback.h",
|
||||
"android/hardware/usb/1.1/BpHwUsbCallback.h",
|
||||
"android/hardware/usb/1.1/BsUsbCallback.h",
|
||||
],
|
||||
}
|
||||
|
||||
cc_library_shared {
|
||||
name: "android.hardware.usb@1.1",
|
||||
generated_sources: ["android.hardware.usb@1.1_genc++"],
|
||||
generated_headers: ["android.hardware.usb@1.1_genc++_headers"],
|
||||
export_generated_headers: ["android.hardware.usb@1.1_genc++_headers"],
|
||||
vendor_available: true,
|
||||
shared_libs: [
|
||||
"libhidlbase",
|
||||
"libhidltransport",
|
||||
"libhwbinder",
|
||||
"liblog",
|
||||
"libutils",
|
||||
"libcutils",
|
||||
"android.hardware.usb@1.0",
|
||||
"android.hidl.base@1.0",
|
||||
],
|
||||
export_shared_lib_headers: [
|
||||
"libhidlbase",
|
||||
"libhidltransport",
|
||||
"libhwbinder",
|
||||
"libutils",
|
||||
"android.hardware.usb@1.0",
|
||||
"android.hidl.base@1.0",
|
||||
],
|
||||
}
|
||||
231
usb/1.1/Android.mk
Normal file
231
usb/1.1/Android.mk
Normal file
@@ -0,0 +1,231 @@
|
||||
# This file is autogenerated by hidl-gen. Do not edit manually.
|
||||
|
||||
LOCAL_PATH := $(call my-dir)
|
||||
|
||||
################################################################################
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := android.hardware.usb-V1.1-java
|
||||
LOCAL_MODULE_CLASS := JAVA_LIBRARIES
|
||||
|
||||
intermediates := $(call local-generated-sources-dir, COMMON)
|
||||
|
||||
HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
|
||||
|
||||
LOCAL_JAVA_LIBRARIES := \
|
||||
android.hardware.usb-V1.0-java \
|
||||
android.hidl.base-V1.0-java \
|
||||
|
||||
|
||||
#
|
||||
# Build types.hal (PortMode_1_1)
|
||||
#
|
||||
GEN := $(intermediates)/android/hardware/usb/V1_1/PortMode_1_1.java
|
||||
$(GEN): $(HIDL)
|
||||
$(GEN): PRIVATE_HIDL := $(HIDL)
|
||||
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
|
||||
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
|
||||
$(GEN): PRIVATE_CUSTOM_TOOL = \
|
||||
$(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
|
||||
-Ljava \
|
||||
-randroid.hardware:hardware/interfaces \
|
||||
-randroid.hidl:system/libhidl/transport \
|
||||
android.hardware.usb@1.1::types.PortMode_1_1
|
||||
|
||||
$(GEN): $(LOCAL_PATH)/types.hal
|
||||
$(transform-generated-source)
|
||||
LOCAL_GENERATED_SOURCES += $(GEN)
|
||||
|
||||
#
|
||||
# Build types.hal (PortStatus_1_1)
|
||||
#
|
||||
GEN := $(intermediates)/android/hardware/usb/V1_1/PortStatus_1_1.java
|
||||
$(GEN): $(HIDL)
|
||||
$(GEN): PRIVATE_HIDL := $(HIDL)
|
||||
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
|
||||
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
|
||||
$(GEN): PRIVATE_CUSTOM_TOOL = \
|
||||
$(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
|
||||
-Ljava \
|
||||
-randroid.hardware:hardware/interfaces \
|
||||
-randroid.hidl:system/libhidl/transport \
|
||||
android.hardware.usb@1.1::types.PortStatus_1_1
|
||||
|
||||
$(GEN): $(LOCAL_PATH)/types.hal
|
||||
$(transform-generated-source)
|
||||
LOCAL_GENERATED_SOURCES += $(GEN)
|
||||
|
||||
#
|
||||
# Build IUsb.hal
|
||||
#
|
||||
GEN := $(intermediates)/android/hardware/usb/V1_1/IUsb.java
|
||||
$(GEN): $(HIDL)
|
||||
$(GEN): PRIVATE_HIDL := $(HIDL)
|
||||
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IUsb.hal
|
||||
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
|
||||
$(GEN): PRIVATE_CUSTOM_TOOL = \
|
||||
$(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
|
||||
-Ljava \
|
||||
-randroid.hardware:hardware/interfaces \
|
||||
-randroid.hidl:system/libhidl/transport \
|
||||
android.hardware.usb@1.1::IUsb
|
||||
|
||||
$(GEN): $(LOCAL_PATH)/IUsb.hal
|
||||
$(transform-generated-source)
|
||||
LOCAL_GENERATED_SOURCES += $(GEN)
|
||||
|
||||
#
|
||||
# Build IUsbCallback.hal
|
||||
#
|
||||
GEN := $(intermediates)/android/hardware/usb/V1_1/IUsbCallback.java
|
||||
$(GEN): $(HIDL)
|
||||
$(GEN): PRIVATE_HIDL := $(HIDL)
|
||||
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IUsbCallback.hal
|
||||
$(GEN): PRIVATE_DEPS += $(LOCAL_PATH)/types.hal
|
||||
$(GEN): $(LOCAL_PATH)/types.hal
|
||||
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
|
||||
$(GEN): PRIVATE_CUSTOM_TOOL = \
|
||||
$(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
|
||||
-Ljava \
|
||||
-randroid.hardware:hardware/interfaces \
|
||||
-randroid.hidl:system/libhidl/transport \
|
||||
android.hardware.usb@1.1::IUsbCallback
|
||||
|
||||
$(GEN): $(LOCAL_PATH)/IUsbCallback.hal
|
||||
$(transform-generated-source)
|
||||
LOCAL_GENERATED_SOURCES += $(GEN)
|
||||
include $(BUILD_JAVA_LIBRARY)
|
||||
|
||||
|
||||
################################################################################
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := android.hardware.usb-V1.1-java-static
|
||||
LOCAL_MODULE_CLASS := JAVA_LIBRARIES
|
||||
|
||||
intermediates := $(call local-generated-sources-dir, COMMON)
|
||||
|
||||
HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
|
||||
|
||||
LOCAL_STATIC_JAVA_LIBRARIES := \
|
||||
android.hardware.usb-V1.0-java-static \
|
||||
android.hidl.base-V1.0-java-static \
|
||||
|
||||
|
||||
#
|
||||
# Build types.hal (PortMode_1_1)
|
||||
#
|
||||
GEN := $(intermediates)/android/hardware/usb/V1_1/PortMode_1_1.java
|
||||
$(GEN): $(HIDL)
|
||||
$(GEN): PRIVATE_HIDL := $(HIDL)
|
||||
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
|
||||
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
|
||||
$(GEN): PRIVATE_CUSTOM_TOOL = \
|
||||
$(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
|
||||
-Ljava \
|
||||
-randroid.hardware:hardware/interfaces \
|
||||
-randroid.hidl:system/libhidl/transport \
|
||||
android.hardware.usb@1.1::types.PortMode_1_1
|
||||
|
||||
$(GEN): $(LOCAL_PATH)/types.hal
|
||||
$(transform-generated-source)
|
||||
LOCAL_GENERATED_SOURCES += $(GEN)
|
||||
|
||||
#
|
||||
# Build types.hal (PortStatus_1_1)
|
||||
#
|
||||
GEN := $(intermediates)/android/hardware/usb/V1_1/PortStatus_1_1.java
|
||||
$(GEN): $(HIDL)
|
||||
$(GEN): PRIVATE_HIDL := $(HIDL)
|
||||
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
|
||||
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
|
||||
$(GEN): PRIVATE_CUSTOM_TOOL = \
|
||||
$(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
|
||||
-Ljava \
|
||||
-randroid.hardware:hardware/interfaces \
|
||||
-randroid.hidl:system/libhidl/transport \
|
||||
android.hardware.usb@1.1::types.PortStatus_1_1
|
||||
|
||||
$(GEN): $(LOCAL_PATH)/types.hal
|
||||
$(transform-generated-source)
|
||||
LOCAL_GENERATED_SOURCES += $(GEN)
|
||||
|
||||
#
|
||||
# Build IUsb.hal
|
||||
#
|
||||
GEN := $(intermediates)/android/hardware/usb/V1_1/IUsb.java
|
||||
$(GEN): $(HIDL)
|
||||
$(GEN): PRIVATE_HIDL := $(HIDL)
|
||||
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IUsb.hal
|
||||
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
|
||||
$(GEN): PRIVATE_CUSTOM_TOOL = \
|
||||
$(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
|
||||
-Ljava \
|
||||
-randroid.hardware:hardware/interfaces \
|
||||
-randroid.hidl:system/libhidl/transport \
|
||||
android.hardware.usb@1.1::IUsb
|
||||
|
||||
$(GEN): $(LOCAL_PATH)/IUsb.hal
|
||||
$(transform-generated-source)
|
||||
LOCAL_GENERATED_SOURCES += $(GEN)
|
||||
|
||||
#
|
||||
# Build IUsbCallback.hal
|
||||
#
|
||||
GEN := $(intermediates)/android/hardware/usb/V1_1/IUsbCallback.java
|
||||
$(GEN): $(HIDL)
|
||||
$(GEN): PRIVATE_HIDL := $(HIDL)
|
||||
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IUsbCallback.hal
|
||||
$(GEN): PRIVATE_DEPS += $(LOCAL_PATH)/types.hal
|
||||
$(GEN): $(LOCAL_PATH)/types.hal
|
||||
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
|
||||
$(GEN): PRIVATE_CUSTOM_TOOL = \
|
||||
$(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
|
||||
-Ljava \
|
||||
-randroid.hardware:hardware/interfaces \
|
||||
-randroid.hidl:system/libhidl/transport \
|
||||
android.hardware.usb@1.1::IUsbCallback
|
||||
|
||||
$(GEN): $(LOCAL_PATH)/IUsbCallback.hal
|
||||
$(transform-generated-source)
|
||||
LOCAL_GENERATED_SOURCES += $(GEN)
|
||||
include $(BUILD_STATIC_JAVA_LIBRARY)
|
||||
|
||||
|
||||
################################################################################
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := android.hardware.usb-V1.1-java-constants
|
||||
LOCAL_MODULE_CLASS := JAVA_LIBRARIES
|
||||
|
||||
intermediates := $(call local-generated-sources-dir, COMMON)
|
||||
|
||||
HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
|
||||
#
|
||||
GEN := $(intermediates)/android/hardware/usb/V1_1/Constants.java
|
||||
$(GEN): $(HIDL)
|
||||
$(GEN): $(LOCAL_PATH)/types.hal
|
||||
$(GEN): $(LOCAL_PATH)/IUsb.hal
|
||||
$(GEN): $(LOCAL_PATH)/IUsbCallback.hal
|
||||
|
||||
$(GEN): PRIVATE_HIDL := $(HIDL)
|
||||
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
|
||||
$(GEN): PRIVATE_CUSTOM_TOOL = \
|
||||
$(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
|
||||
-Ljava-constants \
|
||||
-randroid.hardware:hardware/interfaces \
|
||||
-randroid.hidl:system/libhidl/transport \
|
||||
android.hardware.usb@1.1
|
||||
|
||||
$(GEN):
|
||||
$(transform-generated-source)
|
||||
LOCAL_GENERATED_SOURCES += $(GEN)
|
||||
# Avoid dependency cycle of framework.jar -> this-library -> framework.jar
|
||||
LOCAL_NO_STANDARD_LIBRARIES := true
|
||||
LOCAL_JAVA_LIBRARIES := core-oj
|
||||
|
||||
include $(BUILD_STATIC_JAVA_LIBRARY)
|
||||
|
||||
|
||||
|
||||
include $(call all-makefiles-under,$(LOCAL_PATH))
|
||||
28
usb/1.1/IUsb.hal
Normal file
28
usb/1.1/IUsb.hal
Normal file
@@ -0,0 +1,28 @@
|
||||
/*
|
||||
* Copyright (C) 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.
|
||||
*/
|
||||
|
||||
package android.hardware.usb@1.1;
|
||||
|
||||
import android.hardware.usb@1.0;
|
||||
|
||||
interface IUsb extends android.hardware.usb@1.0::IUsb {
|
||||
/**
|
||||
* The setCallback function in V1_0 is used to register the V1_1
|
||||
* IUsbCallback object as well. The implementation can use the
|
||||
* castFrom method to cast the IUsbCallback object.
|
||||
*/
|
||||
};
|
||||
|
||||
40
usb/1.1/IUsbCallback.hal
Normal file
40
usb/1.1/IUsbCallback.hal
Normal file
@@ -0,0 +1,40 @@
|
||||
/*
|
||||
* Copyright (C) 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.
|
||||
*/
|
||||
|
||||
package android.hardware.usb@1.1;
|
||||
|
||||
import android.hardware.usb@1.0;
|
||||
|
||||
/**
|
||||
* Callback object used for all the IUsb async methods which expects a result.
|
||||
* Caller is expected to register the callback object using setCallback method
|
||||
* to receive updates on the PortStatus.
|
||||
*/
|
||||
interface IUsbCallback extends @1.0::IUsbCallback {
|
||||
/**
|
||||
* Used to convey the current port status to the caller.
|
||||
* Must be called either when PortState changes due to the port partner or
|
||||
* when caller requested for the PortStatus update through queryPortStatus.
|
||||
*
|
||||
* @param currentPortStatus vector object of current status(PortStatus_1_1
|
||||
* of all the typeC ports in the device.
|
||||
* @param retval SUCCESS when the required information was enquired form
|
||||
* kernel and the PortStatus_1_1 object was built.
|
||||
* ERROR otherwise.
|
||||
*/
|
||||
oneway notifyPortStatusChange_1_1(vec<PortStatus_1_1> currentPortStatus,
|
||||
Status retval);
|
||||
};
|
||||
57
usb/1.1/types.hal
Normal file
57
usb/1.1/types.hal
Normal file
@@ -0,0 +1,57 @@
|
||||
/*
|
||||
* 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.
|
||||
*/
|
||||
|
||||
package android.hardware.usb@1.1;
|
||||
|
||||
import android.hardware.usb@1.0;
|
||||
|
||||
@export
|
||||
enum PortMode_1_1 : PortMode {
|
||||
/*
|
||||
* Indicates that the port supports Audio Accessory mode.
|
||||
*/
|
||||
AUDIO_ACCESSORY = 1 << 2,
|
||||
|
||||
/*
|
||||
* Indicates that the port supports Debug Accessory mode.
|
||||
*/
|
||||
DEBUG_ACCESSORY = 1 << 3,
|
||||
|
||||
NUM_MODES_1_1 = 1 << 4,
|
||||
};
|
||||
|
||||
/*
|
||||
* Used as the container to report data back to the caller.
|
||||
* Represents the current connection status of a single USB port.
|
||||
*/
|
||||
struct PortStatus_1_1 {
|
||||
/*
|
||||
* The supportedModes and the currentMode fields of the status
|
||||
* object should be set to NONE.
|
||||
*/
|
||||
PortStatus status;
|
||||
|
||||
/*
|
||||
* Identifies the modes supported by the port.
|
||||
* Refer to PortMode_1_1 for the significance of the individual bits.
|
||||
*/
|
||||
bitfield<PortMode_1_1> supportedModes;
|
||||
|
||||
/*
|
||||
* Indicates the current mode in which the port is operating.
|
||||
*/
|
||||
PortMode_1_1 currentMode;
|
||||
};
|
||||
@@ -2,4 +2,5 @@
|
||||
subdirs = [
|
||||
"1.0",
|
||||
"1.0/vts/functional",
|
||||
"1.1",
|
||||
]
|
||||
|
||||
Reference in New Issue
Block a user