Source-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: src/sys
Module Name: src
Committed By: jmcneill
Date: Mon Dec 30 12:31:10 UTC 2024
Modified Files:
src/sys/arch/evbarm/conf: GENERIC64
src/sys/dev/acpi: files.acpi
Added Files:
src/sys/dev/acpi: qcomipcc.c qcomipcc.h qcompas.c qcompep.c qcompep.h
qcomscm.c qcomscm.h qcomsmem.c qcomsmem.h qcomsmptp.c qcomsmptp.h
qcomspmi.c
Log Message:
arm64: Add support for Snapdragon X1E battery and charger sensors.
This is a port of a set of drivers from OpenBSD, adapted to use ACPI
instead of FDT bindings. These drivers are required to boot firmware on
the application DSP which is required to read sensors. This is an impressive
collection of work on the OpenBSD side -- big thank you to Patrick for writing
this code and his help with this porting effort.
Firmware is signed and as a result may be board specific. The qcompas(4)
driver looks for firmware files in qcompas/<subsystem> where <subsystem> is
the string returned by the _SUB method on the ADSP device node. For example,
on Lenovo ThinkPad T14s Gen 6 the subsystem ID is "233817AA".
The files "qcadsp8380.mbn" and "adsp_dtbs.elf" must be placed in
this directory to read sensor data. These files can be obtained by
downloading the appropriate OEM drivers for Windows.
When everything is online, the sensors are reported by sysmon_envsys and
the charger creates a sysmon_pswitch of type PSWITCH_TYPE_ACADAPTER. The
goal is to match the acpiacad(4) and acpibat(4) behaviour as much as possible.
XXX Firmware loading sometimes fails, still looking into this. When this
happens, sensors are not registered.
[battery]
design voltage: 0.000 V
voltage: 12.980 V
design cap: 58.000 Wh
last full cap: 59.810 Wh
charge: 59.740 2.000% 8.998% Wh (99.88%)
charge rate: N/A
discharge rate: N/A
charging: FALSE
charge state: NORMAL
discharge cycles: 4 0 0 0 0 none
temperature: 30.230 degC
[charger]
connected: TRUE
To generate a diff of this commit:
cvs rdiff -u -r1.221 -r1.222 src/sys/arch/evbarm/conf/GENERIC64
cvs rdiff -u -r1.135 -r1.136 src/sys/dev/acpi/files.acpi
cvs rdiff -u -r0 -r1.1 src/sys/dev/acpi/qcomipcc.c \
src/sys/dev/acpi/qcomipcc.h src/sys/dev/acpi/qcompas.c \
src/sys/dev/acpi/qcompep.c src/sys/dev/acpi/qcompep.h \
src/sys/dev/acpi/qcomscm.c src/sys/dev/acpi/qcomscm.h \
src/sys/dev/acpi/qcomsmem.c src/sys/dev/acpi/qcomsmem.h \
src/sys/dev/acpi/qcomsmptp.c src/sys/dev/acpi/qcomsmptp.h \
src/sys/dev/acpi/qcomspmi.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Home |
Main Index |
Thread Index |
Old Index