Commit Graph

1035707 Commits

Author SHA1 Message Date
FlowerSea0208
05e7d49733
power: supply: qti_battery_charger: Return time to full in seconds
* In Android 13, Xiaomi changed the measuring unit of this property in firmware to minutes instead of seconds, revert that behavior back by intercepting the property value and multiplying it by 60 before setting the node, as userspace expects the unit to be seconds.

* Then make sure the final value doesn't exceed 65535.

Change-Id: I9d8accbe48d743b8b071cba4253e017068b8e766
2024-12-17 19:41:27 +01:00
ArianK16a
956e37ba3b
power: supply: qti_battery_charger: Return charge counter in uAh
Previously the charge counter was not reported in uAh while the
charge full capacity was. The charge counter used to go down to
1000 times as low as the max battery capacity is in uAh.
Frameworks use this property to set the battery state and
expects it to be in uAh. Refer to [1] and [2].

Since commit "Use getUahDischarge when available" [3] AOSP
uses the getUahDischarge method to determine the amount of
discharge. Without this patch the value used to be 1000 times
too low leading to the consumed power of
AGGREGATE_BATTERY_CONSUMER_SCOPE_DEVICE becoming very low
so that the relative consumption of all consumers got very
high.

[1]: d42ec4c0e5/services/core/java/com/android/server/BatteryService.java (L579)
[2]: d42ec4c0e5/services/core/java/com/android/server/am/BatteryStatsService.java (L2079)
[3]: LineageOS/android_frameworks_base@9f08c60

Change-Id: I64dff6478588d991971b60bad61652f5c9f581b0
2024-12-17 19:41:26 +01:00
Arian
3bbe08972e
power: supply: qti_battery_charger: Add missing type specifiers
Change-Id: I91435bce8d6b4a0df50adf24cfd74e7a5b9862ad
2024-12-17 19:41:26 +01:00
Arian
7a605eafc4
power: supply: qti_battery_charger: Add support for 33W reverse wireless charging
Change-Id: Ic77236a573db6d8aeef04a423d6f1e005f474bc9
2024-12-17 19:41:26 +01:00
Arian
4476fa019f
power: supply: qti_battery_charger: Add support for display port
Change-Id: Id8444da0f1493f6127d7dcfc3f3a3f1a1c3fc579
2024-12-17 19:41:26 +01:00
Arian
42b638f115
power: supply: qti_battery_charger: Add config to match m81 module
Added cycle_count_diff from liuquin-t-oss
Reverse engineered atest from zeus V816.0.2.0.ULBCNXM

Change-Id: I213a758dba7322a75fd2f03272f2cec8d379ed33
2024-12-17 19:41:26 +01:00
Arian
4a72ab3175
power: supply: qti_battery_charger: Replace MI_CHARGE_PROPERTY with MI_WLS_REVERSE_CHG_ONLY
Change-Id: I027ebae606c3bcd882713da0a5019d19906c6986
2024-12-17 19:41:26 +01:00
Arian
8b5f23c13a
power: supply: xiaomi: Support WIRELESS_REVERSE_CLOSE
Change-Id: I1a4fe7cb54f943b778cb93fd666fe446379dd167
2024-12-17 19:41:25 +01:00
Arian
c875342573
power: supply: qti_battery_charger: Update from garnet-t-oss
Change-Id: I86233aaf82a67b23b8b375f40532b0f07e8d03ed
2024-12-17 19:41:25 +01:00
Arian
a42be96103
power: supply: qti_battery_charger: Import xiaomi changes
From mayfly-s-oss and moved new attributes to qti_battery_charger_xiaomi

Change-Id: I5de84bc9274c113d39051943d4caf5701c3d65cf
2024-12-17 19:41:25 +01:00
Arian
ee5b81f970
power: supply: qti_battery_charger: Create header for defines, enums and structs
These will be used by the xiaomi additions in an upcoming commit

Change-Id: I80aaa7c46f7690ebf7c432f0a74cfd24246c29c4
2024-12-17 19:41:25 +01:00
Arian
c1ecca0fbb
power: reset: Import xiaomi changes from mayfly-s-oss 2024-12-17 19:41:25 +01:00
Arian
ca9a3a1fb8
usb: Import xiaomi changes from mayfly-s-oss
Change-Id: I8fe3c64906ce7ee33788b6c5d893dd7c73205658
2024-12-17 19:41:25 +01:00
Jens Reidel
c259056378
soc: qcom: icnss2: Import Xiaomi changes from garnet-t-oss
Change-Id: Ic7ad09b893142234aaecf2766982cc7c9068becc
Signed-off-by: Jens Reidel <adrian@travitia.xyz>
2024-12-17 19:41:24 +01:00
Arian
edf6341795
net: wireless: cnss2: Update xiaomi changes from garnet-t-oss
Change-Id: If45daee10e411366817e33b24ecc6bbc9f0fbe52
2024-12-17 19:41:24 +01:00
Arian
d51f1e50b2
net: wireless: cnss2: Import xiaomi changes from mayfly-s-oss 2024-12-17 19:41:24 +01:00
Arian
ced9995b90
Import xiaomi mtd changes from mayfly-s-oss 2024-12-17 19:41:24 +01:00
Jens Reidel
be89c2c54e
soc: qcom: fsa4480: Add Xiaomi power supply integration
Taken and modified from garnet-t-oss' fsa4480-msm54 driver.

Change-Id: Ia5056525cd7f2e9f5e203399f39836218511f14b
Signed-off-by: Jens Reidel <adrian@travitia.xyz>
2024-12-17 19:41:24 +01:00
Arian
bc43b97718
soc: qcom: fsa4480: Use mmhardware
Change-Id: I421821216acc101e81d1d38522044bf07116b24a
2024-12-17 19:41:24 +01:00
Arian
1a57779fa9
misc: Import mmhardware
Also ran clang-format

Change-Id: Ia7e7f8b9794944ec372423c5645e74a335a4898a
2024-12-17 19:41:23 +01:00
Arian
e9078b7343
leds: Import aw22xxx driver from mayfly-s-oss
Also ran clang-format
Change-Id: I0178c58d69e2640b28bb555a2dff4b344267ea1f

Change-Id: I669cc01990647cf7a6b4112d308fbff969a0d221
2024-12-17 19:41:23 +01:00
Ivan Vecera
969ab76bfa
media: rc: ir-spi: enlarge transmit buffer
Xiaomi's remote controller app uses frequency up to 60kHz and
transmit buffer up to 64kB (32768 of 16bit words).

Signed-off-by: Ivan Vecera <ivan@cera.cz>
Change-Id: I9b1da638fc981b09e0208d06f82ce0c5cf159654
2024-12-17 19:41:23 +01:00
Jens Reidel
48fa558e2a
media: Import xiaomi camera ispv3 driver
Change-Id: If359c12219100477c49d0bac563158921754c6ee
Signed-off-by: Jens Reidel <adrian@travitia.xyz>
2024-12-17 19:41:23 +01:00
Arian
7af371ea3a
thermal: Drop unused variables
Change-Id: Id0b5f5f72861e6d53e0a7189914f81139e436479
2024-12-17 19:41:23 +01:00
Arian
256c18b0c6
thermal: mi_thermal_interface: Add prototypes to function declarations and add missing type specifiers
Change-Id: I91435bce8d6b4a0df50adf24cfd74e7a5b9862ad
2024-12-17 19:41:23 +01:00
Arian
94a527b3ed
thermal: Import xiaomi changes from ziyi-s-oss
Also ran clang-format on mi_thermal_interface

Change-Id: I2b3ec37595c66ab9b6387a9184337ccc770047d6
2024-12-17 19:41:23 +01:00
Arian
29ce3e039e
wl2866d: Add missing function prototypes
Change-Id: If08cb6b89728523022eca2c0b968ad8f7bbb1cb2
2024-12-17 19:41:22 +01:00
Arian
6a749ee3d5
misc: Import wl2866d from mondrian-s-oss
Also ran clang-format

Change-Id: Id27e570d4847339c1224b6b175136c7292e748cc
2024-12-17 19:41:22 +01:00
Arian
938968a9b3
regulator: Import wl2866d driver from mayfly-s-oss
Also ran clang-format

Change-Id: I905ed36433d95760a7a7ccb8fcbf010d0f53b5b7
2024-12-17 19:41:22 +01:00
Jens Reidel
e7adb53b16
input: synaptics_s3907: Reverse firmware selection logic from ziyi
Change-Id: I4b0f3fa4c7e105d5093dab02557da05b01d1956b
Signed-off-by: Jens Reidel <adrian@travitia.xyz>
2024-12-17 19:41:22 +01:00
Jens Reidel
e3739e4b0e
input: synaptics_s3907: Make it compile
This requires switching to the panel notifier API from the mi disp
notifier.

Change-Id: I4158f9d61241eec57d1a44da4811c62077cf9814
Signed-off-by: Jens Reidel <adrian@travitia.xyz>
2024-12-17 19:41:22 +01:00
Jens Reidel
629fb1f2b4
input: synaptics_s3907: Remove spi pinctrl setup logic
Change-Id: Ife23ce354ceab1a4909895fb55b4252830f40afd
Signed-off-by: Jens Reidel <adrian@travitia.xyz>
2024-12-17 19:41:22 +01:00
Jens Reidel
079b6a4037
input: touchscreen: Import synaptics_s3907 driver from yuechu-t-oss
Also ran clang-format

Change-Id: Ie3e0a8c4273340c7d2a919b6e26709102471cdab
Signed-off-by: Jens Reidel <adrian@travitia.xyz>
2024-12-17 19:41:21 +01:00
Jens Reidel
17806915ec
input: touchscreen: fst2: Add xiaomi touchfeature
Very basic, only the parts we are interested in.

Change-Id: I6fb961a43b8602ee197344e4e950f50295ce4fee
Signed-off-by: Jens Reidel <adrian@travitia.xyz>
2024-12-17 19:41:21 +01:00
Jens Reidel
ddc3552d10
input: touchscreen: fst2: Adapt to match zizhan
This is missing Xiaomi touchfeature. The code related to it does not
seem to match our existing drivers a whole lot and is rather complicated
and highly inlined in the binary.

We will manually add the parts we are interested in.

Change-Id: I6fde6485026b2739895bcc5380f4495d13ae13f2
Signed-off-by: Jens Reidel <adrian@travitia.xyz>
2024-12-17 19:41:21 +01:00
Jens Reidel
ed815ef071
input: touchscreen: Import fst2 driver from google kernel modules and adjust build
Change-Id: Iea7bfed5c95f1b07977cf87b9b53e9a5d77cbc77
Signed-off-by: Jens Reidel <adrian@travitia.xyz>
2024-12-17 19:41:21 +01:00
Arian
bf3b2adc8e
input: touchscreen: goodix_berlin_driver: Implement fod downup xiaomi touch action
Change-Id: I3c8ba447b6997b7401df5c01a9d3147c68ec268b
2024-12-17 19:41:21 +01:00
Arian
fa989c6913
input: touchscreen: goodix_berlin_driver: Implement gestures via xiaomi touch
Change-Id: I64ffe8fd3131bb7428b187c503908d73195e15a7
2024-12-17 19:41:21 +01:00
Jens Reidel
614b119f31
input: touchscreen: goodix_berlin_driver: Add xiaomi touch integration
Change-Id: Ib3b8c3a49852991a786db252c513f5b1a1437489
Signed-off-by: Jens Reidel <adrian@travitia.xyz>
2024-12-17 19:41:20 +01:00
Arian
5cc2fe8bff
input: touchscreen: goodix_berlin_driver: Add support to disable rawdata mode on thp enabled devices
Some devices ship a firmware which enables host based touch
processing (proprietary userspace binary). Since we don't
want to use that but still use the stock firmware, we need
to disable the rawdata mode and enable the coor mode on init
and each resume. To enable this, add the goodix,support-thp-fw
property to devicetree.

Change-Id: I55c606a6c468663cadc9506cb7d08e5cf2965bc7
2024-12-17 19:41:20 +01:00
Arian
8b03e5f498
input: touchscreen: goodix_berlin_driver: Introduce a power workqueue for suspend/resume
To avoid blocking the system wide resume for too long while sending
commands and waiting for the touchscreen.

Change-Id: I8ac0ca80c359cc65613245abe2c32de81b459ae0
2024-12-17 19:41:20 +01:00
Arian
31c2ee898d
input: touchscreen: goodix_berlin_driver: Enter suspend in LP mode
Change-Id: I81033ea70a3d699a4cca76862220a6ae801da042
2024-12-17 19:41:20 +01:00
Arian
f5e75c1643
input: touchscreen: goodix_berlin_driver: Resume on early resume notification
Change-Id: I97faa92f65bab911e0c2da065b80cdf2c592fafb
2024-12-17 19:41:20 +01:00
Jens Reidel
a426129cba
input: touchscreen: goodix_berlin_driver: Get IC type from matched compatible
Change-Id: I45123063402b3bbeac99288ccdb4ae2c3280698c
Signed-off-by: Jens Reidel <adrian@travitia.xyz>
2024-12-17 19:41:20 +01:00
Jens Reidel
73c3523557
input: touchscreen: goodix_berlin_driver: Support A/B panel detection
Change-Id: Ib0511e91a6896ec31b44c5f304f2c3e0421aa262
Signed-off-by: Jens Reidel <adrian@travitia.xyz>
2024-12-17 19:41:19 +01:00
Jens Reidel
608c10c3c0
input: touchscreen: goodix_berlin_driver: Add support for super resolution IC configs
Change-Id: Iae77a62ee6d8834855f45363ce2566bc4173f61c
Signed-off-by: Jens Reidel <adrian@travitia.xyz>
2024-12-17 19:41:19 +01:00
Jens Reidel
d6b29b6c30
input: touchscreen: goodix_berlin_driver: Always enable panel event notifier
Change-Id: I7e6c1501c2c552ddd5398fc0a0a0595f191705a2
Signed-off-by: Jens Reidel <adrian@travitia.xyz>
2024-12-17 19:41:19 +01:00
Jens Reidel
c82132045e
input: touchscreen: goodix_berlin_driver: Enable gesture module
Change-Id: I472d5bdb52249e10b4256f2cd47b9cc43cc1ea28
Signed-off-by: Jens Reidel <adrian@travitia.xyz>
2024-12-17 19:41:19 +01:00
Simranjeet Thind
7c55203998
input: touchscreen: goodix_berlin_driver: Replacing disable_irq with disable_irq_nosync
disable_irq ensures existing instances of the IRQ handler have
completed before returning which may create a deadlock if the handler
doesn't find the resource.

Change-Id: I7010d2a415f97de5ece8119b855c169ffba665b7
Signed-off-by: Simranjeet Thind <quic_sthind@quicinc.com>
2024-12-17 19:41:19 +01:00
Yu Wu
c86165161e
input: touchscreen: goodix_berlin_driver: Sleep 100ms after reset operation
It is found there might be some i2c NACK error after
power on and reset operation, from goodix datasheet
it is required to wait 100ms after reset operation
before I2C communication, so put a 100ms sleep after
reset.

Change-Id: I2601085f85c83a57bc895915506eaf0c29442678
Signed-off-by: Yu Wu <quic_zwy@quicinc.com>
2024-12-17 19:41:19 +01:00