Jami Kettunen
79cdaeec85
[SUBMITME] arm64: dts: qcom: msm8998-oneplus-common: Add fuel gauge
...
The OnePlus 5/5T feature a BQ27411 fuel gauge for reading the battery
stats.
2022-06-05 20:06:44 +03:00
Jami Kettunen
ad19565871
[TEMP] oneplus5: disable all speaker amp stuff
...
We don't want to blow this up while messing around with audio stuff
early on...
2022-06-05 20:06:44 +03:00
Jami Kettunen
57138d33c6
arm64: dts: msm8998-oneplus-common: Add TFA9890 speaker amp bindings
2022-06-05 20:06:44 +03:00
Jami Kettunen
3cb4d243a9
[SUBMITME?] msm8998-oneplus-common: Configure Adreno 540 GPU
2022-06-05 20:06:44 +03:00
Jami Kettunen
18ffadb11d
arm64: dts: qcom: msm8998-oneplus-common: Add ctl-no-start-read-quirk
2022-06-05 20:06:44 +03:00
Jami Kettunen
f41a398851
[SUBMITME?] arm64: dts: msm8998-oneplus-*: Configure S6E3FA5 & S6E3FC1 panels
...
These Samsung DSI panels are used on the OnePlus 5/5T respectively.
Additionally disable simplefb until a proper handoff solution can be
found to avoid conflicts between it and the MSM DRM driver.
2022-06-05 20:06:44 +03:00
Jami Kettunen
66b7f663b9
msm8998-oneplus-common: Configure IPA for cellular data
2022-06-05 20:06:44 +03:00
Jami Kettunen
768863d390
msm8998-oneplus-common: Configure CPUfreq scaling hardware
2022-06-05 20:06:44 +03:00
Jami Kettunen
4115eb289f
arm64: dts: msm8998-oneplus-cheeseburger: Configure RMI4 F1A buttons
...
This allows the capacitive buttons below the touchscreen to be used on
e.g. Android normally :)
2022-06-05 20:06:44 +03:00
Jami Kettunen
48583bd772
[SUBMITME?] msm8998-oneplus-common: Add remoteproc configuration & enable WLAN
2022-06-05 20:06:43 +03:00
Jami Kettunen
6ca315eeb2
[DROPME?] msm8998-oneplus-common: Configure blsp1_i2c5_sleep (TS) as no-pull
2022-06-05 20:06:43 +03:00
Jami Kettunen
32c9efff0c
[SUBMITME?] dt-bindings: display: panel: Document Samsung S6E3FC1 display panel
2022-06-05 20:06:43 +03:00
Jami Kettunen
f841fd5fca
[SUBMITME?] drm/panel: Add panel driver for Samsung S6E3FC1
...
The S6E3FC1 is 6" 1080x2160 MIPI DSI command mode AMOLED LCD display
found on OnePlus 5T (2017) smartphones.
The panel needs to be enabled from a device tree using the
"samsung,s6e3fc1" compatible.
This driver was generated using the following & includes some minor
cleanup (such as s/to_s6e3fc1/to_s6e3fc1_panel/g):
$ python3 lmdpdg.py dumpling.dtb -r vddio
2022-06-05 20:06:43 +03:00
Jami Kettunen
6349f882a9
[SQUASHME?] drm/panel: s6e3fa5: Read panel orientation
...
The panel is mounted upside down on the OnePlus 5, so we need to handle
this in the driver.
2022-06-05 20:06:43 +03:00
Jami Kettunen
74f295b703
[SUBMITME?] arm64: dts: msm8998-oneplus-common: Drop unused regulators
...
Also comment the used ones.
2022-06-05 20:06:43 +03:00
Jami Kettunen
7bb9ae5690
[SUBMITME?] dt-bindings: display: panel: Document Samsung S6E3FA5 display panel
2022-06-05 20:06:43 +03:00
Jami Kettunen
227809af23
arm64: qcom: msm8998-oneplus-common: Enable NFC
2022-06-05 20:06:43 +03:00
Jami Kettunen
d2bc8eead8
[SUBMITME?] drm/panel: Add panel driver for Samsung S6E3FA5
...
The S6E3FA5 is 5.5" 1080x1920 MIPI DSI command mode AMOLED LCD display
found on OnePlus 5 (2017) smartphones.
The panel needs to be enabled from a device tree using the
"samsung,s6e3fa5" compatible.
This driver was generated using the following & includes some minor
cleanup (such as s/to_s6e3fa5/to_s6e3fa5_panel/g):
$ python3 lmdpdg.py cheeseburger.dtb -r vddio
Signed-off-by: Jami Kettunen <jami.kettunen@protonmail.com>
2022-06-05 20:06:43 +03:00
Jami Kettunen
772df79320
arm64: dts: qcom: msm8998-oneplus-common: Enable PMI8998 LPG leds
...
Now the RGB notification LEDs can each be controlled individually :)
2022-06-05 20:06:43 +03:00
Jami Kettunen
08f49b4e01
[ANNOTATION] Apply some F(x)tec Pro1 patches
2022-06-05 20:06:43 +03:00
Danct12
5acf9144e4
arm64: dts: msm8998-fxtec-pro1: Add remoteproc configuration
2022-06-05 20:06:43 +03:00
Danct12
fe4f19206b
arm64: dts: msm8998-fxtec-pro1: Enable PMI8998 haptics
2022-06-05 20:06:43 +03:00
Danct12
d9bd889d00
arm64: dts: msm8998-fxtec-pro1: Configure PMI8998 fuel gauge
...
This will account for battery statistics reporting on the Fxtec Pro1 (QX1000)
2022-06-05 20:06:43 +03:00
Jami Kettunen
24c173eb1a
pinctrl: Fix compilation of Awinic AW9523/B I2C GPIO Expander
...
Fixes the following link-time error:
LD .tmp_vmlinux.kallsyms1
aarch64-linux-gnu-ld: Unexpected GOT/PLT entries detected!
aarch64-linux-gnu-ld: Unexpected run-time procedure linkages detected!
aarch64-linux-gnu-ld: drivers/pinctrl/pinctrl-aw9523.o: in function `aw9523_probe':
.../drivers/pinctrl/pinctrl-aw9523.c:1004: undefined reference to `__devm_regmap_init_i2c'
make[1]: *** [.../Makefile:1155: vmlinux] Error 1
Fixes: 96e86abbb4 ("pinctrl: Add driver for Awinic AW9523/B I2C GPIO Expander")
2022-06-05 20:06:43 +03:00
Jami Kettunen
6c078183c7
[HACK] pinctrl: aw9523: Add workaround for F(x)tec Pro1 keyboard
...
This is a hack because the correct interrupt type(s) should should be
defined in msm8998-fxtec-pro1.dts instead of the driver.
(originally from Danct12)
This is a workaround for keyboard not working on Fxtec Pro1.
genirq: Setting trigger mode 12 for irq 123 failed (aw9523_gpio_irq_type+0x0/0x20)
gpio-fastmatrix-keyboard gpio-keyboard: Cannot get IRQ for gpio302
2022-06-05 20:06:43 +03:00
Jami Kettunen
5f8c475110
[ANNOTATION] Apply miscellaneous hacks and patches
2022-06-05 20:06:43 +03:00
Jami Kettunen
2e983e626a
[SUBMITME?] drm/msm: Add ctl_no_start_read_quirk for MSM8998
2022-06-05 20:06:43 +03:00
Jami Kettunen
4574a11b86
module: demote invalid ELF header magic error message to pr_debug
...
This happens anytime busybox modprobe loads a compressed module and
looks especially ugly on postmarketOS for example (or basically any
initramfs); this error is rather pointless since the module is loaded
anyway afterwards.
Upstream (busybox) has no plans to do anything about this error getting
spammed:
https://www.mail-archive.com/busybox@busybox.net/msg27078.html
2022-06-05 20:06:43 +03:00
Jami Kettunen
bd990ac32a
ASoC: codecs: tfa989x: Add support for tfa9890
...
This speaker amp model appears to be rather popular on phones and is
used for example by the OnePlus 5/5T.
2022-06-05 20:06:42 +03:00
Jami Kettunen
cf3f0de277
[SUBMITME?] Input: synaptics-rmi4 - add support for F1A
...
RMI4 F1A supports the simple capacitive buttons function, it's used for
example on embedded devices such as smartphones for capacitive Android
back and recents buttons.
2022-06-05 20:06:42 +03:00
Jami Kettunen
cc0b5035c1
[SUBMITME] drm/msm: add missing a540 MODULE_FIRMWARE declarations
2022-06-05 20:06:42 +03:00
Bjorn Andersson
2f5081d23c
arm64: dts: qcom: Add LPG to pmi8998
...
Add PWM/LPG nodes to the PMICs currently supported by the binding.
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
(JAMI: fixed up for v5.16-rc1, dropped pm*8994 & pm8916)
2022-06-05 20:06:42 +03:00
Jami Kettunen
adc007cc00
arm64: dts: qcom: msm8998: add IPA information
...
Add support for the MSM8998 SoC, which includes IPA version 3.1.
2022-06-05 20:06:42 +03:00
Jami Kettunen
b04964f4c1
[SUBMITME?] drm/msm: Mention DSI 10nm PHY support for MSM8998
2022-06-05 20:06:42 +03:00
Jami Kettunen
85d4bbdf85
[SUBMITME] dt-bindings: Document bindings for all MSM8998 devices
2022-06-05 20:06:42 +03:00
Jami Kettunen
a96260e915
[HACK] net: ipa: Disable automatic suspend
...
1aac309d32 ("net: ipa: use autosuspend") currently causes my device to
enter 900E crashdump mode as soon as IPA is probed :/
With this we at least can run ModemManager once again...
2022-06-05 20:06:42 +03:00
Jami Kettunen
df055f7b7f
[HACK] [SUBMITME?] ath10k: Fake MSA ready event after event server arrival
...
This finally allowed me to get past the 2 ath10k_info()'s in qmi.c!
However, this doesn't fix everything; it seems you *have* to run
diag-router from https://github.com/andersson/diag to calm the firmware
down and stop constantly crashing; need to look into a way to get Wi-Fi
working later without needing this debug crap to be running.
This should possible be submitted as a quirk to the ath10k driver as
modem on mainline 8998 should be running now as well...
2022-06-05 20:06:42 +03:00
Jami Kettunen
d954b16251
[HACK] drm: Don't WARN_ON() drm_connector_set_panel_orientation() call
...
This method is used by OnePlus 5 (cheeseburger) during
s6e3fa5_get_modes() and calling it here (which is what all other panel
drivers seem to do as well) causes a massively long 140-line stacktrace
for the 2 hit WARN_ON()s:
------------[ cut here ]------------
WARNING: CPU: 5 PID: 103 at drivers/gpu/drm/drm_mode_object.c:45 drm_mode_object_add+0x80/0x90
Modules linked in: hci_uart apr fastrpc msm pdr_interface qrtr_smd btqca bluetooth gpu_sched nxp_nci_i2c nxp_nci nci drm_kms_helper nfc rmi_i2c rmi_core ecdh_generic ecc libaes ath10k_snoc ath10k_core cfbfillrect syscopyarea cfbimgblt sysfillrect sysimgblt fb_sys_fops cfbcopyarea ath i2c_qup msm_serial serial_core mac80211 libarc4 sha256_generic libsha256 leds_qcom_lpg cfg80211 led_class_multicolor qcom_fg rtc_pm8xxx ipa qrtr qcom_q6v5_mss qcom_q6v5_pas qcom_stats qcom_pil_info qcom_q6v5 qcom_sysmon qcom_common qcom_smd mdt_loader qmi_helpers smp2p rpmsg_char leds_gpio evdev led_class rmtfs_mem qcom_hwspinlock rfkill dm_mod uinput loop
CPU: 5 PID: 103 Comm: kworker/u16:5 Tainted: G W 5.17.0-rc5-msm8998 #7
Hardware name: OnePlus 5 (DT)
Workqueue: events_unbound deferred_probe_work_func
pstate: 40000005 (nZcv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
pc : drm_mode_object_add+0x80/0x90
lr : drm_property_create+0xd4/0x190
sp : ffffff808193b210
x29: ffffff808193b210 x28: 0000000000000020 x27: 0000000000001000
x26: 0000000000001000 x25: 0000000000000001 x24: ffffffc0087f1f78
x23: ffffffc008833928 x22: 0000000000000004 x21: 00000000b0b0b0b0
x20: ffffff8088570b90 x19: ffffff8084b26000 x18: 00000000fffffffb
x17: 0000007a00440000 x16: 0000000000000000 x15: 0000000000000020
x14: ffffffffffffffff x13: ffffff8088570b70 x12: ffffff8088570b55
x11: 0000000000000000 x10: 0000000000000078 x9 : 0000000000000000
x8 : ffffff8088570c80 x7 : 0000000000000000 x6 : 000000000000003f
x5 : 0000000000000040 x4 : 0000000000000000 x3 : 0000000000000004
x2 : 00000000b0b0b0b0 x1 : ffffff8088570b90 x0 : 0000000000000001
Call trace:
drm_mode_object_add+0x80/0x90
drm_property_create+0xd4/0x190
drm_property_create_enum+0x28/0x90
drm_connector_set_panel_orientation+0x8c/0xb0
s6e3fa5_get_modes+0x64/0x80
drm_panel_get_modes+0x20/0x40
dsi_mgr_connector_get_modes+0x28/0x40 [msm]
drm_helper_probe_single_connector_modes+0x19c/0x770 [drm_kms_helper]
drm_client_modeset_probe+0x1a4/0x1144
__drm_fb_helper_initial_config_and_unlock+0x30/0x500 [drm_kms_helper]
drm_fb_helper_initial_config+0x44/0x50 [drm_kms_helper]
msm_fbdev_init+0x84/0xec [msm]
msm_drm_bind+0x51c/0x5e0 [msm]
try_to_bring_up_master+0x218/0x300
__component_add+0x9c/0x180
component_add+0x10/0x1c
dsi_dev_attach+0x1c/0x24 [msm]
dsi_host_attach+0x90/0x140 [msm]
mipi_dsi_attach+0x24/0x34
s6e3fa5_probe+0x10c/0x1cc
mipi_dsi_drv_probe+0x1c/0x24
really_probe+0x1b0/0x430
__driver_probe_device+0x10c/0x180
driver_probe_device+0x3c/0xf0
__device_attach_driver+0x94/0x120
bus_for_each_drv+0x64/0xa0
__device_attach+0xa8/0x19c
device_initial_probe+0x10/0x20
bus_probe_device+0x90/0xa0
device_add+0x364/0x83c
mipi_dsi_device_register_full+0xc4/0x150
mipi_dsi_host_register+0xb8/0x14c
msm_dsi_host_register+0x3c/0x54 [msm]
msm_dsi_manager_register+0x144/0x260 [msm]
dsi_dev_probe+0x124/0x1a4 [msm]
platform_probe+0x64/0xcc
really_probe+0x1b0/0x430
__driver_probe_device+0x10c/0x180
driver_probe_device+0x3c/0xf0
__device_attach_driver+0x94/0x120
bus_for_each_drv+0x64/0xa0
__device_attach+0xa8/0x19c
device_initial_probe+0x10/0x20
bus_probe_device+0x90/0xa0
deferred_probe_work_func+0x9c/0xf0
process_one_work+0x1d0/0x350
worker_thread+0x134/0x450
kthread+0x104/0x10c
ret_from_fork+0x10/0x20
---[ end trace 0000000000000000 ]---
------------[ cut here ]------------
WARNING: CPU: 5 PID: 103 at drivers/gpu/drm/drm_mode_object.c:242 drm_object_attach_property+0x6c/0xb0
Modules linked in: hci_uart apr fastrpc msm pdr_interface qrtr_smd btqca bluetooth gpu_sched nxp_nci_i2c nxp_nci nci drm_kms_helper nfc rmi_i2c rmi_core ecdh_generic ecc libaes ath10k_snoc ath10k_core cfbfillrect syscopyarea cfbimgblt sysfillrect sysimgblt fb_sys_fops cfbcopyarea ath i2c_qup msm_serial serial_core mac80211 libarc4 sha256_generic libsha256 leds_qcom_lpg cfg80211 led_class_multicolor qcom_fg rtc_pm8xxx ipa qrtr qcom_q6v5_mss qcom_q6v5_pas qcom_stats qcom_pil_info qcom_q6v5 qcom_sysmon qcom_common qcom_smd mdt_loader qmi_helpers smp2p rpmsg_char leds_gpio evdev led_class rmtfs_mem qcom_hwspinlock rfkill dm_mod uinput loop
CPU: 5 PID: 103 Comm: kworker/u16:5 Tainted: G W 5.17.0-rc5-msm8998 #7
Hardware name: OnePlus 5 (DT)
Workqueue: events_unbound deferred_probe_work_func
pstate: 60000005 (nZCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
pc : drm_object_attach_property+0x6c/0xb0
lr : drm_connector_set_panel_orientation+0x54/0xb0
sp : ffffff808193b2b0
x29: ffffff808193b2b0 x28: 0000000000000020 x27: 0000000000001000
x26: 0000000000001000 x25: 0000000000000001 x24: ffffffc0087f1f78
x23: 0000000000000000 x22: 0000000000000000 x21: ffffff8084b26000
x20: ffffff8088570b00 x19: ffffff8084b90800 x18: 00000000fffffffb
x17: 0000007a00440000 x16: 0000000000000000 x15: 0000000000000020
x14: ffffffffffffffff x13: ffffff8088570b70 x12: ffffff8088570b55
x11: 0000000000000000 x10: 0000000000000078 x9 : ffffff8088570e20
x8 : ffffff8088570e38 x7 : 00000000c0c0c0c0 x6 : 00000000c0c0c0c0
x5 : 0000000000000000 x4 : 0000000000000001 x3 : 0000000000000006
x2 : 0000000000000001 x1 : ffffff8088570b80 x0 : ffffff8084b90840
Call trace:
drm_object_attach_property+0x6c/0xb0
s6e3fa5_get_modes+0x64/0x80
drm_panel_get_modes+0x20/0x40
dsi_mgr_connector_get_modes+0x28/0x40 [msm]
drm_helper_probe_single_connector_modes+0x19c/0x770 [drm_kms_helper]
drm_client_modeset_probe+0x1a4/0x1144
__drm_fb_helper_initial_config_and_unlock+0x30/0x500 [drm_kms_helper]
drm_fb_helper_initial_config+0x44/0x50 [drm_kms_helper]
msm_fbdev_init+0x84/0xec [msm]
msm_drm_bind+0x51c/0x5e0 [msm]
try_to_bring_up_master+0x218/0x300
__component_add+0x9c/0x180
component_add+0x10/0x1c
dsi_dev_attach+0x1c/0x24 [msm]
dsi_host_attach+0x90/0x140 [msm]
mipi_dsi_attach+0x24/0x34
s6e3fa5_probe+0x10c/0x1cc
mipi_dsi_drv_probe+0x1c/0x24
really_probe+0x1b0/0x430
__driver_probe_device+0x10c/0x180
driver_probe_device+0x3c/0xf0
__device_attach_driver+0x94/0x120
bus_for_each_drv+0x64/0xa0
__device_attach+0xa8/0x19c
device_initial_probe+0x10/0x20
bus_probe_device+0x90/0xa0
device_add+0x364/0x83c
mipi_dsi_device_register_full+0xc4/0x150
mipi_dsi_host_register+0xb8/0x14c
msm_dsi_host_register+0x3c/0x54 [msm]
msm_dsi_manager_register+0x144/0x260 [msm]
dsi_dev_probe+0x124/0x1a4 [msm]
platform_probe+0x64/0xcc
really_probe+0x1b0/0x430
__driver_probe_device+0x10c/0x180
driver_probe_device+0x3c/0xf0
__device_attach_driver+0x94/0x120
bus_for_each_drv+0x64/0xa0
__device_attach+0xa8/0x19c
device_initial_probe+0x10/0x20
bus_probe_device+0x90/0xa0
deferred_probe_work_func+0x9c/0xf0
process_one_work+0x1d0/0x350
worker_thread+0x134/0x450
kthread+0x104/0x10c
ret_from_fork+0x10/0x20
---[ end trace 0000000000000000 ]---
2022-06-05 20:06:42 +03:00
Jami Kettunen
48f050eb4d
[HACK] scripts: Stop appending "+" to localversion
...
This always gets added and doesn't look nice in the version string, so
it's purely for aesthetic reasons :p
2022-06-05 20:06:42 +03:00
Jami Kettunen
eb0411a669
[ANNOTATION] [DROPME?] Import WIP "Qualcomm SPMI Fuel Gauge" driver
...
Drop pmi8994 DTS changes though.
https://gitlab.com/sdm845-mainline/linux/-/commits/driver/pmi8998_fg/
2022-06-05 20:06:42 +03:00
Jami Kettunen
86dea5456c
power: supply: qcom_fg: Report online property
2022-06-05 20:06:42 +03:00
Yassine Oudjana
1b758aceea
power: pmi8998_fg: Rename to qcom_fg and add support for PMI8994/6
...
This adds support for accessing SRAM. That includes requesting and releasing
access to SRAM by setting some registers and handling the mem-avail IRQ,
configuring access, and reading from/writing to it.
Pre-gen3 fuel gauges require reading from SRAM to get voltage, current
and temperature data. Getting capacity is identical to gen3.
Tested on Xiaomi Mi Note 2 with PMI8996.
2022-06-05 20:06:42 +03:00
Yassine Oudjana
fde6bbe1ee
power: pmi8998_fg: Remove some trailing spaces and tabs
...
This should be squashed.
2022-06-05 20:06:42 +03:00
Joel Selvaraj
9083a32532
fg: clean and read charge full and max voltage from dts
2022-06-05 20:06:42 +03:00
Joel Selvaraj
a18a9850aa
power: supply: add battery charging status feature
2022-06-05 20:06:42 +03:00
Joel Selvaraj
a1e7e1e597
arm64: dts: qcom: pmi8998: Add nodes for pmi8998 fuel guage
2022-06-05 20:06:42 +03:00
Joel Selvaraj
8e7ca27eb9
power: supply: introduce pmi8998 fuel guage driver
2022-06-05 20:06:42 +03:00
Jami Kettunen
924d6db5ae
[ANNOTATION] Import SPMI haptics driver v4 (2022-04-03)
...
Drop SDM845 DTS changes though and s/qcom,pmi8998-haptics/qcom,spmi-haptics/
in pmi8998.dtsi to fix probe of the driver.
Link: https://patchwork.kernel.org/project/linux-arm-msm/cover/20211210022639.2779173-1-caleb@connolly.tech/
2022-06-05 20:06:41 +03:00
Jami Kettunen
148c6bb847
arm64: dts: qcom: msm8998-oneplus-common: Enable PMI8998 haptics
...
The OnePlus 5 and 5T both have a haptics engine connected to PMI8998.
Signed-off-by: Jami Kettunen <jami.kettunen@somainline.org>
Signed-off-by: Caleb Connolly <caleb@connolly.tech>
2022-06-05 20:06:41 +03:00
Caleb Connolly
2c34128296
arm64: dts: qcom: pmi8998: introduce spmi haptics
...
Add bindings for Qualcomm SPMI haptics on platforms using pmi8998.
Signed-off-by: Caleb Connolly <caleb@connolly.tech>
2022-06-05 20:06:41 +03:00