[PATCH v11 3/4] power: supply: core: add wireless signal strength property
From: Ting Wang
Date: Wed Aug 04 2021 - 07:04:17 EST
From: wangting11 <wangting11@xxxxxxxxxx>
reports wireless signal strength.
The value show degree of coupling between tx and rx.
Signed-off-by: wangting11 <wangting11@xxxxxxxxxx>
---
Documentation/ABI/testing/sysfs-class-power | 22 +++++++++++++++++++++
drivers/power/supply/power_supply_sysfs.c | 1 +
include/linux/power_supply.h | 1 +
3 files changed, 24 insertions(+)
diff --git a/Documentation/ABI/testing/sysfs-class-power b/Documentation/ABI/testing/sysfs-class-power
index 36808bf8731b..4a6b4970cb7d 100644
--- a/Documentation/ABI/testing/sysfs-class-power
+++ b/Documentation/ABI/testing/sysfs-class-power
@@ -785,3 +785,25 @@ Description:
13: ADAPTER_VOICE_BOX,
14: ADAPTER_PRIVATE_PD_50W.
+What: /sys/class/power_supply/<supply_name>/signal_strength
+Date: Jul 2020
+Contact: Fei Jiang <jiangfei1@xxxxxxxxxx>
+Description:
+ In PING phase, RX transmits a signal strength packet as the
+ first communication packet to instruct the base to keep power
+ signal on.The value reports wireless signal strength and show
+ degree of coupling.
+
+ The Qi Wireless Power Transfer System is published by the
+ Wireless Power Consortium.The ping phase is the necessary stage
+ for matching transmitter and receiver. In this phase,the Power
+ Transmitter executes a Digital Ping, and listens for a response.
+ If the Power Transmitter discovers a Power Receiver, the Power
+ Transmitter may extend the Digital Ping,i.e. maintain the Power
+ Signal at the level of the Digital Ping. This causes the system
+ to proceed to the identification & configuration phase. If the
+ Power Transmitter does not extend the Digital Ping, the system
+ shall revert to the selection phase.
+
+ Access: Read-Only
+ Valid values: 0 - 100
diff --git a/drivers/power/supply/power_supply_sysfs.c b/drivers/power/supply/power_supply_sysfs.c
index 561cffef9d61..4de91dce2001 100644
--- a/drivers/power/supply/power_supply_sysfs.c
+++ b/drivers/power/supply/power_supply_sysfs.c
@@ -213,6 +213,7 @@ static struct power_supply_attr power_supply_attrs[] = {
POWER_SUPPLY_ATTR(SERIAL_NUMBER),
POWER_SUPPLY_ATTR(QUICK_CHARGE_TYPE),
POWER_SUPPLY_ATTR(TX_ADAPTER),
+ POWER_SUPPLY_ATTR(SIGNAL_STRENGTH),
};
static struct attribute *
diff --git a/include/linux/power_supply.h b/include/linux/power_supply.h
index bcfadf2a995f..0dfec19cb473 100644
--- a/include/linux/power_supply.h
+++ b/include/linux/power_supply.h
@@ -173,6 +173,7 @@ enum power_supply_property {
POWER_SUPPLY_PROP_SERIAL_NUMBER,
POWER_SUPPLY_PROP_QUICK_CHARGE_TYPE,
POWER_SUPPLY_PROP_TX_ADAPTER,
+ POWER_SUPPLY_PROP_SIGNAL_STRENGTH,
};
enum power_supply_type {
--
2.17.1