mirror of
https://github.com/Evolution-X/hardware_interfaces
synced 2026-02-01 21:37:44 +00:00
Add NFC HAL 1.1
Adds factoryReset(). This must be used by the HAL to clear the chip and use the do a full initialization at the next init. Adds closeForPowerOffCase(). There are vendor specific configurations that are need during NFC power off to enable low battery and power off use cases. This will distinguish cases where the user turns NFC off because they do not want to use NFC and NFC is turned off as a result of device switched off. HCI_NETWORK_RESET event has been added to indicate something went wrong on the firmware level and HCI network needs to be re-initialized. Bug: 70294869 Bug: 70294551 Test: Run VtsHalNfcV1_1TargetTest Change-Id: Ib981a56ac94e06b74bd901a159791f09ea16483a
This commit is contained in:
23
nfc/1.1/Android.bp
Normal file
23
nfc/1.1/Android.bp
Normal file
@@ -0,0 +1,23 @@
|
||||
// This file is autogenerated by hidl-gen -Landroidbp.
|
||||
|
||||
hidl_interface {
|
||||
name: "android.hardware.nfc@1.1",
|
||||
root: "android.hardware",
|
||||
vndk: {
|
||||
enabled: true,
|
||||
},
|
||||
srcs: [
|
||||
"types.hal",
|
||||
"INfc.hal",
|
||||
"INfcClientCallback.hal",
|
||||
],
|
||||
interfaces: [
|
||||
"android.hardware.nfc@1.0",
|
||||
"android.hidl.base@1.0",
|
||||
],
|
||||
types: [
|
||||
"NfcEvent",
|
||||
],
|
||||
gen_java: true,
|
||||
}
|
||||
|
||||
52
nfc/1.1/INfc.hal
Normal file
52
nfc/1.1/INfc.hal
Normal file
@@ -0,0 +1,52 @@
|
||||
/*
|
||||
* 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.nfc@1.1;
|
||||
|
||||
import @1.1::INfcClientCallback;
|
||||
import @1.0::INfc;
|
||||
import @1.0::NfcStatus;
|
||||
|
||||
interface INfc extends @1.0::INfc {
|
||||
/**
|
||||
* Clears the NFC chip.
|
||||
*
|
||||
* Must be called during factory reset and/or before the first time the HAL is
|
||||
* initialized after a factory reset
|
||||
*/
|
||||
factoryReset();
|
||||
|
||||
/**
|
||||
* Enable Power off use cases and close the NFC controller.
|
||||
* Should free all resources.
|
||||
*
|
||||
* This call must enable NFC functionality for off host usecases in power
|
||||
* off use cases, if the device supports power off use cases. If the
|
||||
* device doesn't support power off use cases, this call should be same as
|
||||
* close()
|
||||
*
|
||||
* @return NfcStatus::OK on success and NfcStatus::FAILED on error.
|
||||
*/
|
||||
closeForPowerOffCase() generates (NfcStatus status);
|
||||
|
||||
/**
|
||||
* Open call to take the @1.1::INfcClientCallback
|
||||
*
|
||||
* @param clientCallback for sending events and data to client.
|
||||
* @return status NfcStatus::FAILED in case of error,
|
||||
* NfcStatus::SUCCESS otherwise.
|
||||
*/
|
||||
open_1_1(INfcClientCallback clientCallback) generates (NfcStatus status);
|
||||
};
|
||||
28
nfc/1.1/INfcClientCallback.hal
Normal file
28
nfc/1.1/INfcClientCallback.hal
Normal file
@@ -0,0 +1,28 @@
|
||||
/*
|
||||
* 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.
|
||||
*/
|
||||
|
||||
package android.hardware.nfc@1.1;
|
||||
|
||||
import @1.0::INfcClientCallback;
|
||||
import @1.0::NfcStatus;
|
||||
|
||||
interface INfcClientCallback extends @1.0::INfcClientCallback {
|
||||
/**
|
||||
* The callback passed in from the NFC stack that the HAL
|
||||
* can use to pass events back to the stack.
|
||||
*/
|
||||
sendEvent_1_1(NfcEvent event, NfcStatus status);
|
||||
};
|
||||
23
nfc/1.1/types.hal
Normal file
23
nfc/1.1/types.hal
Normal file
@@ -0,0 +1,23 @@
|
||||
/*
|
||||
* 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.nfc@1.1;
|
||||
|
||||
import @1.0::NfcEvent;
|
||||
|
||||
enum NfcEvent : @1.0::NfcEvent {
|
||||
/** In case of an error, HCI network needs to be re-initialized */
|
||||
HCI_NETWORK_RESET = 7
|
||||
};
|
||||
Reference in New Issue
Block a user