Skip to content

Conversation

cristianc
Copy link
Contributor

No description provided.

Tooniis and others added 30 commits May 26, 2025 18:13
Add a macro to find the value closest to but smaller than a given
value in an array.

Signed-off-by: Yassine Oudjana <[email protected]>
Some pins on MSM8953 SoC have only one function. Which means that there
isn't going to be any value to set "function" property to. Only other
settings can be modified for those pins.

This patch adds condition to disallow "function" for sdc and qdsd pins
and make it required only for the rest.

Signed-off-by: Vladimir Lypak <[email protected]>
This driver supports the Advanced Trickle Charge (ATC) Leds found on
some Qualcomm PMICs. These LEDs generally have three states: On,
Blinking and Off.

Documentation: devicetree: Document atc-led driver
Add a DT schema for Qualcomm PMIC fuel gauge.

Signed-off-by: Yassine Oudjana <[email protected]>
Ths driver supports the fuel gauge hardware available on PMICs such as PMI8994,
as well as gen 3 fuel gauge hardware available on PMI8998.

Co-developed-by: Caleb Connolly <[email protected]>
Co-developed-by: Yassine Oudjana <[email protected]>
Signed-off-by: Yassine Oudjana <[email protected]>
Not for upstreaming as is.

Signed-off-by: Vladimyr Lypak <[email protected]>
Signed-off-by: Gabriel David <[email protected]>

ASoC: tfa9872: Remove non_legacy_dai_naming
Some msm8953 devices don't use mss as an active supply. Create another
struct supporting that.

Signed-off-by: Gabriel David <[email protected]>
Read battery status and health from charger power supply.
PMI8994 has different SRAM access registers than PMI8996. Add them
to a data struct and pass it as platform data, then add compatible
string for PMI8996 with its own data struct.

Signed-off-by: Yassine Oudjana <[email protected]>
Add DT schema for the switch-mode battery charger found on Qualcomm
PMICs such as PMI8994. Due to lack of documentation, some interrupt
descriptions might be inaccurate.

Signed-off-by: Yassine Oudjana <[email protected]>
Some peripheral blocks in Qualcomm PMICs such as some in the
switch-mode battery charger and fuel gauge of PMI8994 and later
have secure registers that need to be unlocked first before being
written to. Add some helper functions to do what is needed to
write to those registers.

Signed-off-by: Yassine Oudjana <[email protected]>
Add a driver for the switch-mode battery charger found on
PMICs such as PMI8994. This block is referred to in the vendor
kernel[1] as smbcharger or SMBCHG. It has USB and DC inputs,
and can generate VBUS for USB OTG with a boost regulator.
It supports Qualcomm Quick Charge 2.0, and can operate along
with a parallel charger (SMB1357, or SMB1351 for added Quick
Charge 3.0 support) for improved efficiency at higher currents.

At the moment, this driver supports charging off of the USB input
at 5V with input current limit up to 3A. It also includes support
for operating the OTG boost regulator as well as extcon
functionality, reporting states of USB and USB_HOST with VBUS and
charge port types.

Co-developed-by: Alejandro Tafalla <[email protected]>
Signed-off-by: Alejandro Tafalla <[email protected]>
Signed-off-by: Yassine Oudjana <[email protected]>

[1] https://github.com/android-linux-stable/msm-3.18/blob/kernel.lnx.3.18.r34-rel/drivers/power/qpnp-smbcharger.c
This is just a stub for now. Later this would be used for features
like call recording.

Signed-off-by: Stephan Gerhold <[email protected]>
q6voice combines the 3 q6voice-related services (q6mvm, q6cvp, q6cvs)
and allows to start/end voice calls at the moment.

Signed-off-by: Stephan Gerhold <[email protected]>
The Q6 Voice DAI driver exposes the Q6 Voice subsystem to ASoC.
At the moment it provides a single CS-Voice DAI with a hostless FE.
Eventually usage should be simplified using a codec2codec link.

v2: Set AIFs SND_SOC_NOPM
v2.1: Fix __DT_BINDINGS_Q6_VOCIE_H__ typo

Signed-off-by: Stephan Gerhold <[email protected]>
Add function to get and set RX/TX ports and use those
to un-hardcode the ports set in q6cvp_session_create() call.

Signed-off-by: Vincent Knecht <[email protected]>
[use bool capture instead of enum similar to q6voice_start(),
 add path parameter]
Signed-off-by: Stephan Gerhold <[email protected]>
Add ALSA controls for voice RX and TX ports.

Signed-off-by: Vincent Knecht <[email protected]>
[use mc->shift to mark TX mixers for now to simplify code]
Signed-off-by: Stephan Gerhold <[email protected]>
Samsung decided to implement entirely custom jack detection using
an extra IC for some reason. Because of that, the jack detection
in PM8916 does not work as-is. (It always detects that headphones
are plugged in...)

However, the headset/button detection is still working fine through
PM8916. To avoid implementing custom Samsung stuff, override the
jack detection to use the provided GPIO, but keep everything else.

Signed-off-by: Stephan Gerhold <[email protected]>
Smankusors and others added 28 commits June 9, 2025 15:03
also:
* remove unused HAP_VMAX_MAX_MV_STRONG
* adjust spmi_haptics_play_effect so that it's not overriding the vmax from DT

Signed-off-by: Antony K. S <[email protected]>
Implement reset GPIO handling logic for the rmi_i2c driver. This logic
is required for some mobile devices to successfully initialize the touch
controller.

As there are no datasheets available, the timings were taken from the
GPLv2+ licensed synaptics-dsx-v2.1 vendor driver release.

Tested-On: Motorola G5 Plus (Potter / XT1685)

Signed-off-by: Felix Kaechele <[email protected]>
Also remove the custom delay configuration. The device works fine using
the defaults.

Signed-off-by: Felix Kaechele <[email protected]>
Redmi 5 Plus (vince) uses 5.7v instead of default 5.5v.

Signed-off-by: Barnabás Czémán <[email protected]>
Fix NULL pointer check before device_link_del
is called.

Unable to handle kernel NULL pointer dereference at virtual address 000000000000032c
Call trace:
 device_link_put_kref+0xc/0xb8
 device_link_del+0x30/0x48
 vfe_pm_domain_off+0x24/0x38 [qcom_camss]
 vfe_put+0x9c/0xd0 [qcom_camss]
 vfe_set_power+0x48/0x58 [qcom_camss]
 pipeline_pm_power_one+0x154/0x158 [videodev]
 pipeline_pm_power+0x74/0xfc [videodev]
 v4l2_pipeline_pm_use+0x54/0x90 [videodev]
 v4l2_pipeline_pm_put+0x14/0x34 [videodev]
 video_release+0x2c/0x44 [qcom_camss]
 v4l2_release+0xe4/0xec [videodev]

Fixes: eb73fac ("media: qcom: camss: Use common VFE pm_domain_on/pm_domain_off where applicable")
Tested-by: Yassine Oudjana <[email protected]>
Reviewed-by: Bryan O'Donoghue <[email protected]>
Signed-off-by: Barnabás Czémán <[email protected]>
…rties last

As is common style nowadays, move the status properties to be the last
property of a node.

Signed-off-by: Luca Weiss <[email protected]>
…een regulator nodes

As is common style nowadays, make sure there's an empty line between
regulator subnodes.

Signed-off-by: Luca Weiss <[email protected]>
… for adsp & wcnss

Set the paths where the device-specific firmware can be found for this
device.

Fairphone 3 was shipped with secure-boot off so any testkey-signed
firmware is accepted.

Signed-off-by: Luca Weiss <[email protected]>
Add the necessary supplies and set an appropriete firmware-name for the
modem and enable it.

Signed-off-by: Luca Weiss <[email protected]>
Commit fbce0ca ("media: qcom: camss: csiphy-3ph: Move CSIPHY variables
to data field inside csiphy struct") moved a version check that was
previously guarded by a check for Gen2 to csiphy_init without moving the
Gen2 check along with it. Since it was guarded by the Gen2 check, it was
only handling versions that were Gen2 and returned -ENODEV for others since
they shouldn't pass the Gen2 check to begin with.

Check if the CSIPHY is Gen2 before running this version check and assigning
Gen2 lane regs array.

Fixes: fbce0ca ("media: qcom: camss: csiphy-3ph: Move CSIPHY variables to data field inside csiphy struct")
Signed-off-by: Yassine Oudjana <[email protected]>
Reviewed-by: Bryan O'Donoghue <[email protected]>
Remove unnecessary MM_[UD]L audio routes

See also torvalds@e8acfc1
…onditional"

The commit is breaking dt-schema validation.

This reverts commit 08dbbbb.
Add the bindings for the Awinic AW8898 amplifier.

Reviewed-by: Krzysztof Kozlowski <[email protected]>
Signed-off-by: Luca Weiss <[email protected]>
Add a driver for the AW8898 Audio Amplifier.

Signed-off-by: Luca Weiss <[email protected]>
Add a node for the amplifier found on Fairphone 3, receiving sound via
I2S from the SoC and being connected to the speaker.

Reviewed-by: Konrad Dybcio <[email protected]>
Reviewed-by: Krzysztof Kozlowski <[email protected]>
Signed-off-by: Luca Weiss <[email protected]>
Enable the sound card with its Quinary MI2S to enable the speaker on the
phone.

Signed-off-by: Luca Weiss <[email protected]>
Billion Capture+ is a handset using the MSM8953 SoC released in 2017

Add a device tree with initial support for:

- GPIO keys
- SDHCI (internal and external storage)
- USB Device Mode
- Regulators
- Simple framebuffer
- Haptics
@cristianc cristianc closed this Aug 17, 2025
Billion Capture+ is a handset using the MSM8953 SoC released in 2017

Add a device tree with initial support for:

- GPIO keys
- SDHCI (internal and external storage)
- USB Device Mode
- Regulators
- Display
- Haptics
- WCNSS (WiFi+BT)
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.