Skip to content

WCD9375 support#52

Draft
stsdc wants to merge 117 commits into
sm7150-mainline:v7.1from
stsdc:v7.1-wcd9375
Draft

WCD9375 support#52
stsdc wants to merge 117 commits into
sm7150-mainline:v7.1from
stsdc:v7.1-wcd9375

Conversation

@stsdc

@stsdc stsdc commented May 14, 2026

Copy link
Copy Markdown

No description provided.

JIaxyga and others added 30 commits May 12, 2026 23:37
Add the compatible for the cpufreq present on SM7150 platforms.

Signed-off-by: Danila Tikhonov <danila@jiaxyga.com>
Document the SM7150 watchdog compatible.

Signed-off-by: Danila Tikhonov <danila@jiaxyga.com>
Add the TSENS v2.x controller found on SM7150.

Signed-off-by: Danila Tikhonov <danila@jiaxyga.com>
… compatible

Add a compatible for the Power Domain Controller on SM7150 platforms.

Signed-off-by: David Wronek <david@mainlining.org>
Signed-off-by: Danila Tikhonov <danila@jiaxyga.com>
Document the SM7150 dwc3 compatible.

Signed-off-by: David Wronek <david@mainlining.org>
Signed-off-by: Danila Tikhonov <danila@jiaxyga.com>
Add devicetree compatible for the usb phy on SM7150 SoC.

Signed-off-by: David Wronek <david@mainlining.org>
Signed-off-by: Danila Tikhonov <danila@jiaxyga.com>
Document the qcom,sm7150-tcsr compatible.

Signed-off-by: Danila Tikhonov <danila@jiaxyga.com>
SM7150 and SC7180 both use IPA v4.2. Define corresponding compatible
string, having the SC7180 as a fallback.

Signed-off-by: Danila Tikhonov <danila@jiaxyga.com>
Document the compatible for the UFS found on SM7150.

Signed-off-by: David Wronek <david@mainlining.org>
Signed-off-by: Danila Tikhonov <danila@jiaxyga.com>
Add a compatible for the GPI DMA controller on SM7150. It uses the same
0x0 offset as SDM845.

Signed-off-by: Danila Tikhonov <danila@jiaxyga.com>
Document QFPROM compatible for SM7150.

Signed-off-by: Danila Tikhonov <danila@jiaxyga.com>
…150 compatible

Document the Inline Crypto Engine (ICE) on the SM7150 Platform.

Signed-off-by: Danila Tikhonov <danila@jiaxyga.com>
…tible

Document the compatibles used to describe the bwmons present on the
SM7150 platform.

Signed-off-by: Danila Tikhonov <danila@jiaxyga.com>
Add the SM7150 CCI device string compatible.

Signed-off-by: Danila Tikhonov <danila@jiaxyga.com>
Update the documentation for clock rpmh driver on SM7150 SoCs.

Signed-off-by: Danila Tikhonov <danila@jiaxyga.com>
Document the OSM L3 found in the Qualcomm SM7150 platform.

Signed-off-by: Danila Tikhonov <danila@jiaxyga.com>
Document the SM7150 SMMU block.

Signed-off-by: Danila Tikhonov <danila@jiaxyga.com>
SM7150 is fully compatible with the existing SC7180 GPU Clock
Controller driver. Define corresponding compatible string, having the
qcom,sc7180-gpucc as a fallback.

Signed-off-by: Danila Tikhonov <danila@jiaxyga.com>
…ompatible

Add the compatibles and constraints for the ADSP, CDSP and MPSS found on
the SM7150 SoC.

Signed-off-by: Danila Tikhonov <danila@jiaxyga.com>
Add DSP Peripheral Authentication Service support for the SM7150
platform.

Signed-off-by: Danila Tikhonov <danila@jiaxyga.com>
The Qualcomm SM7150 platform uses the qcom-cpufreq-hw driver, so add
it to the cpufreq-dt-platdev driver's blocklist.

Signed-off-by: Danila Tikhonov <danila@jiaxyga.com>
…7150) SoCs

Add base dtsi for SM7150-AA/SM7150-AB/SM7150-AC SoCs

Co-developed-by: David Wronek <david@mainlining.org>
Signed-off-by: David Wronek <david@mainlining.org>
Co-developed-by: Jens Reidel <adrian@mainlining.org>
Signed-off-by: Jens Reidel <adrian@mainlining.org>
Signed-off-by: Danila Tikhonov <danila@jiaxyga.com>
…,sunfish

This panel is used in Google Pixel 4a (google,sunfish). Document the
corresponding string.

Signed-off-by: Danila Tikhonov <danila@jiaxyga.com>
Add device tree for the Google Pixel 4a (sunfish) smartphone. This
device is based on Snapdragon 730G (sm7150) SoC.

Signed-off-by: Connor Mitchell <c.dog29@hotmail.com>
Co-developed-by: Danila Tikhonov <danila@jiaxyga.com>
Signed-off-by: Danila Tikhonov <danila@jiaxyga.com>
The WCN3990 might split MSDUs among multiple "in-order" indications. The
driver needs information from previous indications to handle MPDUs that
are not started by the same indications that complete them. Move the
list that tracks unprocessed MSDUs to the driver state so the driver can
handle MPDUs that are split in this way and be less confused.

Fixes: c545070 ("ath10k: implement rx reorder support")
Signed-off-by: Richard Acayan <mailingradian@gmail.com>
When sending DELETE_KEY, the driver times out waiting for a response
that doesn't come. Only wait for a response when sending SET_KEY.

Sample dmesg:

	[  117.285854] wlan0: deauthenticating from XX:XX:XX:XX:XX:XX by local choice (Reason: 3=DEAUTH_LEAVING)
	[  120.302934] ath10k_snoc 18800000.wifi: failed to install key for vdev 0 peer XX:XX:XX:XX:XX:XX: -110
	[  120.302996] wlan0: failed to remove key (0, XX:XX:XX:XX:XX:XX) from hardware (-110)

Signed-off-by: Richard Acayan <mailingradian@gmail.com>
Document the Goodix GT9886 and GT9896 which are part of the GTX8 series
of Touchscreen controller ICs from Goodix.

Signed-off-by: Jens Reidel <adrian@mainlining.org>
Add initial support for the Goodix GTX8 touchscreen ICs.

These ICs support SPI and I2C interfaces, up to 10 finger touch, stylus
and gesture events.

This driver is derived from the Goodix gtx8_driver_linux available at
[1] and only supports the GT9886 and GT9896 ICs present in the Xiaomi
Mi 9T and Xiaomi Redmi Note 10 Pro smartphones.

The current implementation only supports Normandy and Yellowstone type
ICs, aka only GT9886 and GT9896. It is also limited to I2C only, since I
don't have a device with GTX8 over SPI at hand. Adding support for SPI
should be fairly easy in the future, since the code uses a regmap.

Support for advanced features like:
- Firmware updates
- Stylus events
- Gesture events
- Nanjing IC support
is not included in current version.

The current support requires a previously flashed firmware to be
present.

As I did not have access to datasheets for these ICs, I extracted the
addresses from a couple of config files using a small tool [2]. The
addresses are identical for the same IC families in all configs I
observed, however not all of them make sense and I stubbed out firmware
request support due to this.

[1] https://github.com/goodix/gtx8_driver_linux
[2] https://github.com/sm7150-mainline/goodix-cfg-bin

Signed-off-by: Jens Reidel <adrian@mainlining.org>
Add MAINTAINERS entry for the Goodix GTX8 Touchscreen IC driver.

Signed-off-by: Jens Reidel <adrian@mainlining.org>
N1kroks and others added 25 commits May 12, 2026 23:49
Signed-off-by: Vitalii Skorkin <nikroksm@mail.ru>
Signed-off-by: Jens Reidel <adrian@mainlining.org>
Signed-off-by: Jens Reidel <adrian@mainlining.org>
Signed-off-by: Jens Reidel <adrian@mainlining.org>
The onboard WiFi / BT device, WCN3998, has a simple on-chip PMU, which
further spreads generated voltage. Describe the PMU in the device tree.

Signed-off-by: Aelin Reidel <aelin@mainlining.org>
…8150b and 7250b

Add compatible strings for these two PMICs which use the SMB5 generation
of charger.

Signed-off-by: Casey Connolly <casey.connolly@linaro.org>
…rent-microamp

Respect the max current limit set on the battery node, one some devices
this is set conservatively to avoid overheating since they only have a
single charger IC (instead of two in parallel).

Signed-off-by: Casey Connolly <casey.connolly@linaro.org>
I set a super conservative current limit since we lack many of the
safety features (thermal monitoring, etc) that these drivers really
need. However now we have a better understanding of the hardware, it's
fine to bump this limit up a bit, devices can additionally set the max
current via devicetree instead.

Since this is common to smb2 and smb5, move this write out of the init
sequence and into probe proper.

Signed-off-by: Casey Connolly <casey.connolly@linaro.org>
Remove registers and bits that aren't used to make things a bit more
readable.

Signed-off-by: Casey Connolly <casey.connolly@linaro.org>
Introduce support for the SMB5 charger found on pm8150b and other more
modern Qualcomm SoCs.

SMB5 is largely similar to SMB2, with a few register differences. The
main difference is the new Type-C hardware block which some registers
are moved to.

Signed-off-by: Casey Connolly <casey.connolly@linaro.org>
Some Type-C bits maybe shouldn't be here but queried from tcpm driver?
Not sure how this would work cleanly. Or just ignore it, and return 0
when it's in sink mode. Could also work and it much less effort for now.
We don't know what the bootloader programmed here, but we want to have a
consistent value. Program the automatic input current limit detection to
re-run every 3 seconds. This seems to be necessary at least for smb5.

Signed-off-by: Casey Connolly <casey.connolly@linaro.org>
otherwise the request will fail on sm6350
This reverts commit 755d5e60ec134a36ca69601b56ef31977343aa83.
XiKoTaSu pushed a commit to EEBBK-Qcom-MTK-dev/linux-sm7150 that referenced this pull request Jul 5, 2026
The xfstests' test-case generic/003 fails with errors:

sudo ./check generic/003
FSTYP -- hfs
PLATFORM -- Linux/x86_64 hfsplus-testing-0001 7.0.0-rc1+ sm7150-mainline#18 SMP PREEMPT_DYNAMIC Fri Mar 13 17:54:19 PDT 2026
MKFS_OPTIONS -- /dev/loop51
MOUNT_OPTIONS -- /dev/loop51 /mnt/scratch

output mismatch
QA output created by 003
ERROR: access time has changed for file1 after remount
ERROR: access time has changed after modifying file1
ERROR: change time has not been updated after changing file1
ERROR: access time has changed for file in read-only filesystem
Silence is golden

This patch fixes the issue with change time by
adding inode_set_ctime_current() and mark_inode_dirty()
in hfs_rename(). Also, it reworks hfs_inode_setattr() by
changing simple_inode_init_ts() on inode_set_mtime_to_ts()
and inode_set_ctime_current() calls.

HFS hasn't any field in on-disk layout that can keep
the file/folder access times (atime). It was added
setting of SB_NOATIME in SB_NOATIME.

Finally, we have only atime related errors in
generic/003 output:

sudo ./check generic/003
FSTYP         -- hfs
PLATFORM      -- Linux/x86_64 hfsplus-testing-0001 7.1.0-rc1+ sm7150-mainline#52 SMP PREEMPT_DYNAMIC Wed May 13 15:04:37 PDT 2026
MKFS_OPTIONS  -- /dev/loop51
MOUNT_OPTIONS -- /dev/loop51 /mnt/scratch

QA output created by 003
ERROR: access time has not been updated after accessing file1 first time
ERROR: access time has not been updated after accessing file2
ERROR: access time has not been updated after accessing file3 second time
ERROR: access time has not been updated after accessing file3 third time
Silence is golden

The generic/003 test-case needs to be disabled for HFS case
because it cannot support the file/folder access times (atime).

Closes: hfs-linux-kernel#3
cc: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
cc: Yangtao Li <frank.li@vivo.com>
cc: linux-fsdevel@vger.kernel.org
Signed-off-by: Viacheslav Dubeyko <slava@dubeyko.com>
Link: https://lore.kernel.org/r/20260514195630.354206-2-slava@dubeyko.com
Signed-off-by: Viacheslav Dubeyko <slava@dubeyko.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

10 participants