71 Commits
Author SHA1 Message Date
Richard Acayan 2bab6556d1 community/alsa-ucm-conf-qcom-sdm670: upgrade to 1.2.9_git20260610
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8940>
2026-07-23 16:29:55 +00:00
Richard Acayan 355ae47182 linux-postmarketos-qcom-sdm670: upgrade to v7.1.3
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8940>
2026-07-23 16:29:55 +00:00
Richard Acayan 39c1eb5f9e community/linux-postmarketos-qcom-sdm670: reduce max speaker volume
Closes #4616

Signed-off-by: Oliver Smith <ollieparanoid@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8764>
2026-06-10 18:29:00 +00:00
Richard Acayan 78077f0c48 linux-postmarketos-qcom-sdm670: upgrade to v7.0.10
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8698>
2026-05-31 23:37:16 +00:00
Richard Acayan 20bfba5913 linux-postmarketos-qcom-sdm670: use pmos kconfig fragment
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8445>
2026-05-21 21:04:07 -04:00
Richard Acayan 57a9ba9ed1 linux-postmarketos-qcom-sdm670: upgrade to v7.0.5
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8445>
2026-05-21 20:23:25 -04:00
Richard Acayan 58348da036 alsa-ucm-conf-qcom-sdm670: upgrade to 1.2.9_git20260223
The userspace-facing names of some mixer paths were changed in response
to upstream review of the SDM660 sound card.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8166>
2026-04-01 19:38:09 +00:00
Richard Acayan cd9832dcbe linux-postmarketos-qcom-sdm670: upgrade to v6.19.10
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8166>
2026-04-01 19:38:09 +00:00
Richard Acayan 10462ab8a7 linux-postmarketos-qcom-sdm670: backport q6asm-dai sound fix
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7981>
2026-02-11 10:21:26 +00:00
Richard Acayan b953dc5d29 linux-postmarketos-qcom-sdm670: upgrade to v6.18.5
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7736>
2026-01-17 00:45:23 +00:00
Richard Acayan bce90fc1ec linux-postmarketos-qcom-sdm670: upgrade to v6.18.3
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7626>
2026-01-06 12:22:16 +00:00
Richard Acayan 934843e44c postmarketos-initramfs: probe subpartitions of device-mapper devices
The initramfs can sometimes use the device-mapper to open dynamic
partitions. Dynamic partitions are used for testing a full installation
without touching userdata (so testers can quickly revert to a working
phone at any time). Since subpartitions are still used on google-sargo,
do not skip device-mapper devices.

Fixes: 0268336968 ("main/postmarketos-initramfs: fix bug with booting from usb")
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7675>
2026-01-01 19:53:30 -05:00
Richard Acayan 0f5258d3ba modem/rmtfs: reference new executable path in OpenRC service
In version 1.1.1, the new install target in the Makefile was used to
install rmtfs. This installs rmtfs to /usr/bin instead of the expected
/usr/sbin. Use the new /usr/bin directory for the OpenRC service file so
rmtfs can keep working under OpenRC.

Fixes: f7052461da ("modem/rmtfs: subpackage -systemd")
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7517>
2025-12-07 15:48:00 -05:00
Richard Acayan e1a93ee134 linux-postmarketos-qcom-sdm670: upgrade to v6.17.6
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7209>
2025-11-12 16:19:15 +00:00
Richard Acayan 8e1053a477 firmware-google-sargo: add hexagonrpc symlinks for bonito and dtbo
The vendor DTBO (which may remain on some devices for convenience) uses
a "google,b4s4-sdm670" compatible. The Pixel 3a XL uses "google,bonito".
Add symlinks for these device trees.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6966>
2025-09-25 01:06:40 +02:00
Richard Acayan 54cadd8fe9 alsa-ucm-conf-qcom-sdm670: upgrade to 1.2.9_git20250707
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6986>
2025-08-29 19:19:19 -04:00
Richard Acayan b030d960d7 linux-postmarketos-qcom-sdm670: upgrade to v6.16.3
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6965>
2025-08-27 09:41:16 +00:00
Richard Acayan 24d161508f device-google-sargo: install modem-gnss in subpackage for real
Fixes: ba2403462a ("google-sargo: move openrc gnss service to openrc subpackage")
Closes: https://builds.sr.ht/~postmarketos/job/1543528#task-img
2025-08-03 22:05:34 -04:00
Richard Acayan ba2403462a google-sargo: move openrc gnss service to openrc subpackage
On a new installation, the OpenRC subpackage can be installed before the
main package. The modem-gnss service is already needed when the
subpackage is installed. Move the service file to the subpackage so new
installations don't error out.

    ( 66/750) Installing device-google-sargo-openrc (13-r0)
    device-google-sargo-openrc-13-r0.post-install: Executing script...
    device-google-sargo-openrc-13-r0.post-install:  * service hexagonrpcd-adsp-sensorspd added to runlevel sysinit
    device-google-sargo-openrc-13-r0.post-install:  * rc-update: service `modem-gnss' does not exist
    ERROR: device-google-sargo-openrc-13-r0.post-install: exited with error 1
    ...
    (199/750) Installing device-google-sargo (13-r0)
    ...
    1 error; 1335 MiB in 766 packages

Link: https://builds.sr.ht/~postmarketos/job/1542762#task-img

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6866
2025-08-01 23:43:37 -04:00
Richard Acayan d1f8b4179f google-bonito: mirror sargo changes
Mirror some of the changes to the Pixel 3a:

    device-google-sargo: add sensors support (MR 5329)
    google-sargo: add gpi to modules-initfs to fix fde (MR 5347)
    google-sargo: do not enable HexagonRPCD on every upgrade (MR 5400)
    google-sargo: stop HexagonRPCD on suspend (MR 5400)
    google-sargo: make necessary userspace changes for kernel v6.10.2
    device-google-sargo: remove nonfree_firmware subpkg (MR 6107)
    device-google-sargo: Fix hexagonrpcd on systemd (MR 6147)
    device-google-sargo: install hexagonrpcd conf to new location (MR 6217)
    device/*: explicitly depend on openrc if install scripts call rc-update

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6718
2025-07-05 01:26:45 -07:00
Richard Acayan efeed0bfc7 linux-postmarketos-qcom-sdm670: upgrade to v6.15.2
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6649

[ci:skip-build]: already built successfully in CI
2025-06-14 20:39:00 +03:00
Richard Acayan e562bac43f alsa-ucm-conf-qcom-sdm670: upgrade to 1.2.9_git20250503
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6452

[ci:skip-build]: already built successfully in CI
2025-05-08 15:47:28 +02:00
Richard Acayan ee67a5204d firmware-google-sargo: add cdsp and hexagon_nn firmware
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6452
2025-05-08 15:47:28 +02:00
Richard Acayan bac53efa59 linux-postmarketos-qcom-sdm670: upgrade to v6.14.5
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6452
2025-05-08 15:47:28 +02:00
Richard Acayan 7080a0627b linux-postmarketos-qcom-sdm670: backport the qcom-spmi-adc-tm5 scaling fix (MR 6298)
The thermal monitor measures an NTC thermistor which decreases voltage
when the temperature increases.

When fixing the scaling for the first time, a wrong division by 20 was
removed. The voltage code was still high by a factor of 28900/16384,
enough that the thermal monitor constantly signalled/interrupted at a
low voltage/high temperature trip point. The thermal monitor still
reports the correct temperature so the kernel keeps the wrong trip
points and lets the thermal monitor keep interrupting 1000 times/sec.
Fix the other scaling amount so the thermal monitor sends interrupts at
the right temperature (with some imprecision).
2025-03-12 10:32:33 +03:00
Richard Acayan e18c9fb2b2 device-google-bonito: add unl0kr quirk for full display drivers (MR 6281)
[ci:skip-build]: already built successfully in CI
2025-03-03 09:28:41 -08:00
Richard Acayan fc122c6fe1 device-google-sargo: remove kernel modules for display (MR 6241)
These kernel modules are now built-in.

[ci:skip-build]: already built successfully in CI
2025-02-28 20:40:09 -08:00
Richard Acayan 79a1c66789 linux-postmarketos-qcom-sdm670: upgrade to v6.13.3 (MR 6241) 2025-02-28 20:40:09 -08:00
Richard Acayan 33ff836196 google-sargo: install q6voiced for any init system (MR 6107)
The q6voiced environment file was moved back into the nonfree-firmware
subpackages in !6015, but google-sargo was forgotten. Add it for the
Pixel 3a.
2025-02-04 07:23:53 -08:00
Richard Acayan 9136c2dea8 firmware-google-sargo: compress firmware loaded by kernel (MR 6052)
[ci:skip-build]: already built successfully in CI
2025-01-17 16:55:54 -08:00
Richard Acayan dda11062b5 alsa-ucm-conf-qcom-sdm670: upgrade to 1.2.9_git20241211 (MR 5918)
[ci:skip-build]: already built successfully in CI
2024-12-20 18:15:31 +01:00
Richard Acayan e6b5b4046f linux-postmarketos-qcom-sdm670: upgrade to v6.12.3 (MR 5881)
The Linux stable team merged v6.12 into linux-rolling-stable as
of Thursday, so here's a new release.

This release cycle was very quiet with small fixes.

The ttynull driver was enabled in the configuration to fix a bug
where userspace would start with no stdio open.

A patch that made the fuel gauge driver compatible with v6.10
was dropped.

Patches from MSM8916 and MSM8953 were re-picked, to include the change
from strlcpy to strscpy and to remove duplicate q6voice entries in a
Makefile.

Some flashlight and charging patches were staged.

The thermal nodes were sorted by the thermal sensor to match
other platforms.

Bluetooth, camera, call audio, display, USB, I2C, eMMC, modem, video
acceleration, WiFi, haptics, NFC, sensors, and touchscreen should
work and be slightly broken like before.
2024-12-07 22:54:10 -08:00
Richard Acayan 8834db0ffb linux-postmarketos-qcom-sdm670: enable null tty (MR 5856)
The Google Pixel 3a automatically appends console=null to the command
line. In the kernel, the preferred console is set to ttynull. Since
ttynull is not automatically enabled, a warning is currently emitted:

	[    0.909853] Warning: unable to open an initial console.

This also causes stdin, stdout, and stderr to be missing from the init
process.

In the busybox implementation, syslogd creates the /dev/log socket and
opens /dev/kmsg. This happens just before daemonizing, which opens
/dev/null and aliases stdin, stdout, and stderr to it. After daemonizing
and potentially closing the socket, stdin is aliased to the socket to
save stack memory. If the program starts without stdin under Linux, the
socket gains the constant STDIN_FILENO file descriptor, which is cleared
when daemonizing.

Syscalls when the 0, 1, 2 file descriptors aren't open:

	socket(AF_UNIX, SOCK_DGRAM, 0)    = 0
	openat(AT_FDCWD, "/dev/kmsg", O_WRONLY|O_LARGEFILE) = 1
	openat(AT_FDCWD, "/dev/null", O_RDWR|O_LARGEFILE) = 2

Enable the CONFIG_NULL_TTY option and update the configuration to allow
the kernel to open stdin, stdout, and stderr for the init and (by
inheritance) syslogd processes. It's technically an expert option but
isn't enabled by default (and can be enabled in config fragments).

Closes #3269
[ci:skip-build]: already built successfully in CI
2024-11-29 04:15:20 +03:00
Richard Acayan 7ebdc89a44 google-sargo: replace hexagonrpcd config in firmware openrc subpackage (MR 5783)
Fixes: b7a426aedd ("google-sargo: move openrc scripts to subpackage (MR 5688)")

[ci:skip-build]: already built successfully in CI
2024-11-11 17:55:14 -08:00
Richard Acayan 8d7c0d1c84 firmware-google-sargo: add audio calibration file (MR 5709)
[ci:skip-build]: already built successfully in CI
2024-10-17 17:15:23 +02:00
Richard Acayan accb6bf0a9 alsa-ucm-conf-qcom-sdm670: update to 1.2.9_git20241012 (MR 5709) 2024-10-17 17:15:23 +02:00
Richard Acayan 10ccdaccc7 google-bonito: add kernel for tianma panel (MR 5709) 2024-10-17 17:15:23 +02:00
Richard Acayan f7bc9a023b linux-postmarketos-qcom-sdm670: upgrade to v6.11.3 (MR 5709) 2024-10-17 17:15:23 +02:00
Richard Acayan 75f44b9b20 linux-postmarketos-qcom-sdm670: upgrade to v6.10.2
The Freedreno driver requires python3 to build in the new version.

Deviations from the upstream config fragments:
 - set CONFIG_CMA_SIZE_MBYTES to 256, from [1] and Matrix advice

[1] https://gitlab.com/sdm845-mainline/linux/-/merge_requests/100

[ci:skip-build] already built successfully in CI
2024-08-03 10:26:43 -07:00
Richard Acayan ac3e34f1eb alsa-ucm-conf-qcom-sdm670: upgrade to 1.2.9_git20240801
Upgrade the audio configuration to the one with the built-in microphone
and unified audio devices.
2024-08-03 10:26:43 -07:00
Richard Acayan 18d5eba77d google-bonito: make room for MultiMedia4 device in q6voice.conf
Apply the same audio-related change made for the Pixel 3a non-XL.
2024-08-03 10:26:43 -07:00
Richard Acayan 8f108eb40d google-sargo: make necessary userspace changes for kernel v6.10.2
Make room for MultiMedia4 (built-in microphone) device in q6voice.conf:

    In the 6.9.3 kernel, there were four CPU endpoints in Q6ASM enabled
    for audio:

    0. MultiMedia1 - Built-in Earpiece and Speaker
    1. MultiMedia2 - Headphones Playback (3.5 mm jack)
    2. MultiMedia3 - Headset Capture (3.5 mm jack)
    3. VoiceMMode1 - fake endpoint to route voice calls

    In 6.10.2, an extra endpoint is added to support the built-in
    microphone:

    0. MultiMedia1 - Built-in Earpiece and Speaker
    1. MultiMedia2 - Headphones Playback (3.5 mm jack)
    2. MultiMedia3 - Headset Capture (3.5 mm jack)
    3. MultiMedia4 - Built-in Microphone
    4. VoiceMMode1 - fake endpoint to route voice calls

    Since the device ID of VoiceMMode1 has changed, and q6voiced does
    not automatically detect this by name, update the VoiceMMode1 device
    ID so voice calls still work.

Be compatible with the secure name for the FastRPC device node:

    There has been a security vulnerability issued at the FastRPC kernel
    driver for allowing sensorspd and rootpd to be accessed on device
    nodes not labelled "-secure". Be compatible with the FastRPC ADSP
    device named "fastrpc-adsp-secure".
2024-08-03 10:26:42 -07:00
Richard Acayan fe00027849 google-sargo: stop HexagonRPCD on suspend (MR 5400)
There is a bug in FastRPC when waking from suspend. Since HexagonRPCD is
currently only useful for a few moments when the ADSP is requesting the
sensor registry, it can just be stopped without affecting sensor
support. Add a pre-suspend hook to stop HexagonRPCD so it doesn't crash
the ADSP when the device wakes up.

[ci:skip-build]: already built successfully in CI
2024-07-30 17:10:42 -04:00
Richard Acayan 143efc60f2 google-sargo: do not enable HexagonRPCD on every upgrade (MR 5400)
There is an issue where resuming from suspend crashes the ADSP, and
rebooting the ADSP makes the entire device hang. Autosuspend has other
issues affecting higher category devices (namely, wake on modem events),
but it was still possible to resume before adding HexagonRPCD. For now,
remove the user's maintenance burden in keeping HexagonRPCD disabled.
2024-07-30 17:10:42 -04:00
Richard Acayan 436876625d device-google-sargo: add sensors support (MR 5329) 2024-07-12 13:05:18 +03:00
Richard Acayan 9501e9daa1 firmware-google-sargo: add sensor registry (MR 5329) 2024-07-12 13:05:14 +03:00
Richard Acayan f3b649c3c0 main/postmarketos-initramfs: invalidate cached rootfs after unlock (MR 5288)
The referenced commit had surfaced a bug with the unlocking code, which
would attempt to change the output of find_root_partition while the
cached PMOS_ROOT is stale and active. Clear this variable to force
find_root_partition to find the new rootfs value.

Fixes: 7030e08e7b ("postmarketos-initramfs: check for root subpartition (MR 5048)")
[ci:skip-build]: already built successfully in CI
2024-06-27 10:49:33 -04:00
Richard Acayan 1811ad154c google-sargo: enable DRM rendering in initramfs (MR 5199)
[ci:skip-build]: already built successfully in CI
2024-06-04 23:28:21 -07:00
Richard Acayan 43715175e8 linux-postmarketos-qcom-sdm670: upgrade to v6.9.3 (MR 5187) 2024-06-01 22:23:47 +09:00
Richard Acayan a4901cc122 testing/linux-postmarketos-qcom-sdm670: upgrade to 6.8.2 (MR 5003) 2024-04-06 22:32:14 +09:00
Richard Acayan f43d13e14b testing/linux-postmarketos-qcom-sdm670: upgrade to v6.7.2 (MR 4777) 2024-02-05 23:09:29 +01:00
Richard Acayan 4472e41952 google-sargo: drop msm-firmware-loader dependency (MR 4730)
Previously, the modem firmware would be loaded from the modem partition
using this firmware loader. As of the 6.5.4 SDM670 kernel upgrade, the
firmware is installed and loaded from the firmware package. Drop the
dependency on the msm-firmware-loader, which is now unused.
2024-01-19 16:43:46 +03:00
Richard Acayan 9ad01f6c9a testing/linux-postmarketos-qcom-sdm670: upgrade to 6.6.3 (MR 4587)
Also disable some drivers and subsystems in the kernel configuration
that are generally unused on the platform, according to the
corresponding patch in the kernel repository.

[ci:skip-build]: already built successfully in CI
2023-12-07 22:25:05 +01:00
Richard Acayan c0fc15d156 google-sargo: package q6voiced config (MR 4479)
This was missed in the original c720400e47 ("google-sargo: add
q6voiced config (MR 4412)"), then pointed out by craftyguy when
reviewing the full bonito port.

Link: https://gitlab.com/postmarketOS/pmaports/-/merge_requests/4318#note_1587356675
[ci:skip-build]: already built successfully in CI
2023-10-16 20:21:56 +02:00
Richard Acayan 49a5704dd4 google-bonito: new device (MR 4318)
I cannot maintain this device because I do not have it, but it is
similar to the Pixel 3a, which I can maintain.

Move the kernel into a subpackage in case support for a different panel
(the Tianma NT37700F panel) is added.
[ci:skip-build]: already built successfully in CI
2023-10-09 08:21:30 +02:00
Richard Acayan d3fe50c3d1 google-sargo: nonfree-firmware: depend on ath10k firmware (MR 4442)
The WiFi firmware seems to not be present on a fresh installation
anymore. Add it as a dependency so it gets installed automatically.
2023-10-02 12:13:44 +02:00
Richard Acayan c720400e47 google-sargo: add q6voiced config (MR 4412)
[ci:skip-build]: Already built successfully in CI
2023-09-30 14:44:33 +02:00
Richard Acayan 2470b6b18f google-sargo: allow flashing to vbmeta (MR 4412)
Flashing to vbmeta may be necessary for devices running Android 9
bootloaders.
2023-09-30 14:44:32 +02:00
Richard Acayan 9234b17dc9 testing/alsa-ucm-conf-qcom-sdm670: upgrade to 1.2.9_git20230920 (MR 4412) 2023-09-30 14:44:30 +02:00
Richard Acayan 83213f3ebc linux-postmarketos-qcom-sdm670: upgrade to 6.5.4 (MR 4412)
Now that the modem firmware is installed in the referenced location, the
firmware patch is not needed, so remove that as well.

Also backport a fix for the Pixel 3a XL so a kernel upgrade isn't needed
for that.
2023-09-30 14:44:29 +02:00
Richard Acayan 6bfd71e1f8 firmware-google-sargo: add modem firmware (MR 4412) 2023-09-30 14:44:28 +02:00
Richard Acayan fe7993e6c9 google-sargo: include ALSA UCM configuration (MR 4203)
[ci:skip-build]: already built successfully in CI
2023-07-28 13:56:20 +02:00
Richard Acayan 4896bf4e6e alsa-ucm-conf-qcom-sdm670: new aport (MR 4203)
The Pixel 3a uses the SDM845 SoC package but now needs UCM
configuration. Add a fork of it (unless the configuration can be added
to the SDM845 repository).
2023-07-28 13:56:11 +02:00
Richard Acayan 301baea0ae google-sargo: add adsp pd firmware (MR 4203)
The ADSP needs this firmware, otherwise audio bringup will fail. It
wasn't added with initial ADSP support, so add it now.

Also remove execute permissions from the installed firmware.
2023-07-28 13:56:11 +02:00
Richard Acayan 2b7b2ed090 linux-postmarketos-qcom-sdm670: upgrade to 6.4.4 (MR 4203) 2023-07-28 13:56:11 +02:00
Richard Acayan 6824414c1e testing/linux-postmarketos-qcom-sdm670: upgrade to 6.2.6 (MR 3954)
The V=1 flag can be dropped now that this is on 6.2. See #1990.

[ci:skip-build]: already built successfully in CI
2023-03-14 19:20:55 -04:00
Richard Acayan 4d2a25db53 testing/linux-postmarketos-qcom-sdm670: upgrade to 6.1.14 (MR 3917)
This is more of a version bump, compared to the past few releases. This
kernel should receive more of these types of releases, especially when
there is less hardware left to bring up.

[ci:skip-build] already built successfully in CI
2023-03-02 22:59:32 -08:00
Richard Acayan 5b1b4ad28b google-sargo: add adsp firmware (MR 3917)
This does not bring up sensors or audio yet, but will be important later
on.
2023-03-02 22:59:32 -08:00
Richard Acayan 9678ab7b38 google-sargo: enable GPU-accelerated UIs (MR 3898)
This port has been compatible with GPU-accelerated UIs like Phosh and
Plasma Mobile for quite a while now. Enable these UIs in the
`pmbootstrap init` menu.

See #1939.
2023-02-22 11:49:36 +01:00
Richard Acayan e3ffc66577 google-sargo: add modem support (MR 3695)
The modem needs more firmware. Some firmware is in the modem partition
and needs to be loaded.

[ci:skip-build]: Already built successfully in CI
2022-12-10 23:30:59 +01:00
Richard Acayan 89a7cbc4df device/testing/linux-postmarketos-qcom-sdm670: upgrade to 6.0.11 (MR 3695) 2022-12-10 23:30:54 +01:00