From: Qiwu Huang <huangq...@xiaomi.com>

reports wireless signal strength.
The value show degree of coupling between tx and rx.

Signed-off-by: Qiwu Huang <huangq...@xiaomi.com>
---
 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 03ab449fae8a..4459b720feb2 100644
--- a/Documentation/ABI/testing/sysfs-class-power
+++ b/Documentation/ABI/testing/sysfs-class-power
@@ -757,3 +757,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 <jiangf...@xiaomi.com>
+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 f2458e21d02b..e420a453095e 100644
--- a/drivers/power/supply/power_supply_sysfs.c
+++ b/drivers/power/supply/power_supply_sysfs.c
@@ -208,6 +208,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 00254e096a4a..747338118fa1 100644
--- a/include/linux/power_supply.h
+++ b/include/linux/power_supply.h
@@ -169,6 +169,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.28.0

Reply via email to