Compare commits

...
Author SHA1 Message Date
Caleb Connolly e91c9e08bf enable EFI on sdm845 phones
Enable support for generating systemd-boot configs on SDM845 devices
while continuing to support the Android boot image.

This additionally switches over the flash method to fastboot-bootpart,
so the pmOS boot and root partitions are exported seperately. The
expectation is that users STOP using the subpartitioning scheme and
flash the two partitions separately.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-07-24 14:26:33 +02:00
Henrik Grimler 24344344a0 device-samsung-manta: set getty (MR 5362)
With getty set to ttySAC2 we can get a shell when connecting to UART
pads on main board.
2024-07-19 20:22:19 +02:00
Arnav Singh a5e28010e5 main/pinephone-callaudiod: upgrade to 0.1.3 (MR 5360)
[ci:skip-build]: already built successfully in CI
2024-07-19 15:24:17 +02:00
adamthiede caab567a98 linux-postmarketos-mediatek-mt8173: upgrade to 6.10 (MR 5354) 2024-07-19 14:46:28 +02:00
Jianhua Lu f76176dc6f device-xiaomi-elish: use quiet instead of console=null (MR 5356)
[ci:skip-build]: already built successfully in CI
2024-07-19 08:58:17 +02:00
Jianhua Lu b7aeb6e023 device-xiaomi-elish: add bootmac to depends (MR 5356) 2024-07-19 08:58:17 +02:00
Jianhua Lu 72f91452ca alsa-ucm-conf-qcom-sm8250: drop (MR 5356) 2024-07-19 08:58:17 +02:00
Jianhua Lu 4f0fae476d linux-postmarketos-qcom-sm8250: upgrade to 6.10.0 (MR 5356) 2024-07-19 08:58:17 +02:00
postmarketOS CI 645774c8ca linux-next: upgrade to next-20240719 2024-07-19 04:31:46 +00:00
postmarketOS CI 877e59f95e linux-next: upgrade to next-20240718 2024-07-18 18:31:45 +00:00
Clayton Craft 501777e6e0 linux-valve-jupiter: upgrade to 6.10 (MR 5318)
- Enable XFS (requested by @ell1e)
- Disable CONFIG_RT_GROUP_SCHED (kconfigcheck-community requirement)

[ci:skip-build] already built successfully in CI
2024-07-18 09:30:23 -07:00
Anri Dellalandjane400 985741dd65 main/postmarketos-base-ui: rebuild to exclude font-twemoji from CLI (MR 5352)
Add postmarketos-base-ui-wayland
Move _pmb_recommends to x11 and wayland subpackages

[ci:skip-build] Was built before

Co-authored-by: jane400 <5940129-jane400@users.noreply.gitlab.com>
2024-07-17 11:44:31 -07:00
postmarketOS CI 34af7ca182 linux-next: upgrade to next-20240717 2024-07-17 18:31:45 +00:00
Arnav Singh dcff247a40 device-pine64-pinephone: switch to pinephone-callaudiod (MR 5349)
This new daemon implements the same D-Bus API as callaudiod
in aports community/callaudiod, but works with the new audio profiles
generated by PulseAudio v17 and PipeWire v1.2 for pine64-pinephone
that the aports package's daemon does not.

Installs that use pipewire-pulse for audio (eg SXMO) will automatically start
having working call audio with this update. Installs that use pulseaudio
have to wait for pulseaudio's crash on startup to be fixed first
( https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/68586 ).

Ref: #2968

[ci:skip-build] already built successfully in CI
2024-07-16 15:54:50 -07:00
Arnav Singh 030c5c1ec1 main/pinephone-callaudiod: new aport (MR 5349)
This provides a daemon that implements the same D-Bus API as callaudiod
in aports community/callaudiod, but works with the new audio profiles
generated by PulseAudio v17 and PipeWire v1.2 for pine64-pinephone
that the aports package's daemon does not.

This daemon is specific to the pine64-pinephone since it has
a hard-coded list of profiles and ALSA devices. If other devices also happen
to have UCM settings that trigger PulseAudio / PipeWire to generate
the combinatorial audio profiles that callaudiod cannot handle, and if
a callaudiod fix / alternative does not appear, then the maintainer (me) is
open to making this daemon more broadly useful for other devices, say by
having the hard-coded strings in device-specific config files.

Ref: #2968
2024-07-16 15:54:49 -07:00
postmarketOS CI ca0a4537f0 linux-next: upgrade to next-20240716 2024-07-16 18:31:46 +00:00
Raymond Hackley 5e8344dbfa samsung-rossa: drop subpackage phosh (MR 5348)
It's already well scaled in 1.25x on rossa devices.
Drop unnecessary phoc.ini

[ci:skip-build]: Already built successfully in CI.
2024-07-16 17:05:07 +02:00
postmarketOS CI 4a88990b1e linux-next: upgrade to next-20240715 2024-07-15 18:31:49 +00:00
Anton Bambura a988d089f8 linux-postmarketos-rockchip: upgrade to 6.6.34 (MR 5243)
Also a little clean up

[ci:skip-build]: already built successfully in CI
2024-07-14 20:32:37 +02:00
Gus Antoniassi b448fc61eb linux-postmarketos-qcom-msm8953: enable multiport and mark netfilter modules (MR 5345)
[ci:skip-build] Already build tested
2024-07-12 21:48:25 +03:00
postmarketOS CI 1282ad59b2 linux-next: upgrade to next-20240712 2024-07-12 18:31:47 +00: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
Clayton Craft e30db78d84 main/postmarketos-ui-phosh: don't depend on phosh-service (MR 5342)
The package name is wrong now (!5315), and the service stuff is
automatically installed by systemd-service

[ci:skip-build]: already built successfully in CI
2024-07-12 10:21:31 +02:00
Caleb Connolly c4c6a222c4 CI: use more gitlab.com runners (MR 5236)
We have access to the fancy runners since GitLab.com donate premium to
us. There's no downside to making the most of them while we can. We
don't depend on them, but they'll make our CI go zoom!

For the next few months until we migrate to self-hosted :D

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-07-11 23:05:55 -07:00
Clayton Craft cbe2f4f7f6 main/postmarketos-mkinitfs: upgrade to 2.5.1 (MR 5341)
Fixes:

        - ignore leading/trailing whitespace in files (MR 55)
        - fix spelling typo in manpage
        - add missing /usr/sbin symlinks for UsrMerge (MR 53)
[ci:skip-build]: already built successfully in CI
2024-07-11 15:00:04 -07:00
Stefan Hansson f5dd18d657 pine64-pinetab2: add co-maintainership (MR 5336)
I use the PineTab 2 for various tasks on a semi-regular basis, so I
would like to co-maintain it.

---

[ci:skip-vercheck]:
Since this doesn't affect the resulting package as Co-Maintainer is a
postmarketOS schema extension that abuild doesn't read, there is no need
to bump pkgrel for this.
[ci:skip-build]: already built successfully in CI
2024-07-11 21:16:16 +02:00
postmarketOS CI 88cd14232b linux-next: upgrade to next-20240711 2024-07-11 18:31:13 +00:00
Danct12 9624284a20 linux-pine64-pinetab2: upgrade to 6.9.8-danctnix2 (MR 5333)
[ci:skip-build]: already built successfully in CI
2024-07-11 16:05:56 +02:00
Clayton Craft 81dee0f57c device-valve-jupiter: fix emmc/nvme boot, partially fix debug shell (MR 5292)
- Added some modules to fix booting from emmc/nvme (fixes #2953)

- Partially fixes debug shell (#2955): the OSK still shows partially,
  but at least now there's some usable console/shell with an external
  usb keyboard.

[ci:skip-build] already built successfully in CI
2024-07-10 14:09:56 -07:00
Clayton Craft 45cdeafe38 oem-amd: install amdgpu stuff into the initramfs (MR 5292)
One day the initramfs and -extra will be combined anyways, and this lets
us use the AMD graphics stuff earlier in boot (better splash, etc)
2024-07-10 14:09:56 -07:00
postmarketOS CI a984ac80b6 linux-next: upgrade to next-20240710 2024-07-10 18:31:55 +00:00
jane400 aed9243c65 main/postmarketos-initramfs-minimal: backport fsck and mount sysroot rw (MR 5238) 2024-07-09 15:49:31 -07:00
jane400 59fd336bbc main/postmarketos-initramfs: run fsck and mount sysroot as rw (MR 5238)
This moves the responsibility to auto-repair filesystems to the
initramfs. (I think we don't do this at all right now).
We don't try to mount broken partitions at all, we tell the user
that the system is broken and fail_to_boot.

The flow is now:

1. mount the boot partition (read-only) for initramfs-extra
2. initramfs-extra is extracted (with the needed fsck executables)
3. fsck the root partition
4. mount root partition (read-write)
5. fsck the boot partition
6. mount the boot partition (read-write)

This helps with the systemd bringup, as we want to make use of
systemd-firstboot, which sets /etc and enabled services up. As
this service is responsible of setting up /etc, it is run before
/etc/fstab is read and before / is remounted read-write.
2024-07-09 15:49:26 -07:00
adamthiede d769cafbf0 device/linux-postmarketos-mediatek-mt8173: upgrade to 6.9.8 (MR 5320)
standard upgrade with `pmbootstrap kconfig migrate`

[ci:skip-build] already built successfully in CI
2024-07-09 12:55:28 -07:00
Sergey Lisov 29248d292c device-samsung-a6lte: set chassis to "handset" (MR 5330)
This device is a smartphone, so "handset" is the correct option here, and not "convertible".

[ci:skip-build] already built successfully in CI
2024-07-09 12:52:42 -07:00
postmarketOS CI b71651f421 linux-next: upgrade to next-20240709 2024-07-09 18:31:57 +00:00
Luca Weiss f4493be839 linux-postmarketos-qcom-sm6350: enable USB Type-C related options (MR 5321)
Since the v6.9 upgrade the kernel supports Type-C functionality for
Fairphone 4, but I forgot to enable the relevant kconfig options then.

Enable them now along with a bunch of options related to USB that come
in useful. Also prepare some options that will be used in the future
with DisplayPort over USB-C (e.g. SBU mux).

[ci:skip-build]: already built successfully in CI
2024-07-08 22:25:38 +02:00
Duje Mihanović 9c134939e0 samsung-coreprimevelte: drop firmware subpackage (MR 5324)
... and install the firmware package using _pmb_recommends instead.

Applied to both downstream and mainline ports.
[ci:skip-build]: already built successfully in CI
2024-07-07 17:39:39 +02:00
Alistair Francis f4249a0af3 linux-purism-librem5: sync kconfig (MR 5310)
With the latest kernel bump the config was updated based on the output
of:

    make ARCH="$_carch" CC="${CC:-gcc}" defconfig KBUILD_DEFCONFIG=librem5_defconfig

but there are other changes that pop up when running

    pmbootstrap kconfig edit linux-purism-librem5

This commit updates the config so that future config empty edits don't
generate any changes.

This is still pretty in sync with the Purism config, besides passing the
`kconfig check` and disablling SELinux as that causes boot failures.

Signed-off-by: Alistair Francis <alistair@alistair23.me>
[ci:skip-build]: already built successfully in CI
2024-07-07 16:33:36 +02:00
Dylan Van Assche 372ccb3cf2 temp/iio-sensor-proxy: upgrade SSC patches (MR 5215)
Include latest fixes for SSC support and require building against libssc 0.1.6 or higher.

[ci:skip-build]: already built successfully in CI
2024-07-07 16:20:02 +02:00
WeirdTreeThing bcc52c36bb linux-postmarketos-mediatek-mt81xx: upgrade to 6.10.0_rc4_git20240624 (MR 5325)
Updated to latest collabora cros kernel. Fixes audio on mt8192 devices
and fixes display issues on all devices using this kernel.

[ci:skip-build]: already built successfully in CI
2024-07-07 16:11:18 +02:00
WeirdTreeThing 19cee7b440 google-asurada: add linux-firmware-rtl_bt to firmware subpackage (MR 5326)
Fixes bluetooth not working

[ci:skip-build]: already built successfully in CI
2024-07-07 16:05:48 +02:00
Oliver Smith c8e2ad0b95 ci/kconfig.sh: use pmbootstrap v3 (MR 5301)
Use pmbootstrap v3 for kconfig check, which reads kconfigcheck.toml from
the current pmaports branch and uses it.
2024-07-07 15:38:18 +02:00
Oliver Smith 7829e6c985 kconfigcheck: new file (MR 5301)
Move the kernel config options from the pmbootstrap code to pmaports, so
it can be changed per branch, and it can be changed at the same time as
we actually make the changes to the kernel configs.
2024-07-07 15:38:18 +02:00
Oliver Smith e0453db08f CI: kconfig check: just run pmbootstrap (MR 5301)
Replace previous code that used internal pmbootstrap code with running
pmbootstrap directly. pmbootstrap doesn't really have a stable API yet,
so calling the internal code is always a bit fragile and now that we
have reworked a lot of its code, this is all broken.

The trade-off is that it is now slower and the output isn't as pretty,
but we can finally use kconfigcheck.toml from the pmaports branch. So it
is worth it!
2024-07-07 15:38:14 +02:00
neokitty 3963f4cc8a device-xiaomi-fire: depend on firmware-xiaomi-fire (MR 5323)
[ci:skip-build]: already built successfully in CI

[ci:skip-vercheck]
2024-07-06 13:05:19 +02:00
Nikita Travkin ae88cf9e60 linux-postmarketos-qcom-sc7180: Conform to UEFI kconfig check (MR 4900)
[ci:skip-build]: already built successfully in CI
2024-07-06 11:23:17 +02:00
Nikita Travkin 0b5614b34d device-acer-aspire1: Switch to systemd-boot (MR 4900) 2024-07-06 11:23:16 +02:00
Nikita Travkin 488d91bbe2 linux-postmarketos-qcom-sc7180: Enable EFI_ZBOOT (MR 4900) 2024-07-06 11:23:16 +02:00
Nikita Travkin 89a4c7f08f device-acer-aspire1: Enable DP in ucm config (MR 4900)
With the latest kernel update the EC is now enabled and DP alt mode can
be used. Enable the DP sound in UCM config.
2024-07-06 11:23:16 +02:00
Nikita Travkin ad28501092 linux-postmarketos-qcom-sc7180: upgrade to 6.6.28 (MR 4900) 2024-07-06 11:23:16 +02:00
Luca Weiss 240365f5a7 device-fairphone-fp5: add sensor support (MR 5313)
Add the required dependencies and config for both hexagonrpcd and
libssc so that sensors start working.

[ci:skip-build]: already built successfully in CI
2024-07-05 09:53:03 +02:00
Luca Weiss ba6d8a86ce firmware-fairphone-fp5: package files for hexagonfs (MR 5313)
Package the files to be served by hexagonrpcd.
2024-07-05 09:53:03 +02:00
Luca Weiss f1767d7dbd device-fairphone-fp4: add sensor support (MR 5290)
Add the required dependencies and config for both hexagonrpcd and
libssc so that sensors start working.

[ci:skip-build]: already built successfully in CI
2024-07-05 09:48:47 +02:00
Luca Weiss 86fa840915 device-fairphone-fp4: drop nonfree firmware subpackage (MR 5290)
The device already loads plenty of nonfree-firmware into the
co-processors during the bootloader stages, and also once booted in
Linux won't really be useful without everything.

Additionally I doubt anyone tests that case, so just require nonfree
firmware unconditionally to simplify maintenance.
2024-07-05 09:48:47 +02:00
Luca Weiss cdb5b2873e firmware-fairphone-fp4: package files for hexagonfs (MR 5290)
Package the files to be served by hexagonrpcd.
2024-07-05 09:48:47 +02:00
Luca Weiss 8ce73a79a1 linux-postmarketos-qcom-sm6350: upgrade to v6.9.7 (MR 5290)
Notably include a fix for fastrpc required for sensors.
2024-07-05 09:48:47 +02:00
Alistair Francis 933688fb85 device-purism-librem5: Run hciattach for Bluetooth (MR 5281)
This gets Bluetooth working for the Sparklan card.

btattach doesn't work on the Librem5 at the moment (see [1]) so even
though it's deprecated let's use hciattach to get things working.

1: https://source.puri.sm/Librem5/librem5-base/-/issues/76

Signed-off-by: Alistair Francis <alistair@alistair23.me>

[ci:skip-build] already built successfully in CI
2024-07-04 16:15:19 -07:00
Arnav Singh 3c9a7bcaa5 linux-postmarketos-allwinner: upgrade to 6.9.7_git20240630 (MR 5303) 2024-07-04 13:03:15 -07:00
Duje Mihanović 3f8e4730d1 firmware-samsung-pxa1908: do not install conf files on mainline (MR 5296)
Suggested-by: Karel Balej <balejk@matfyz.cz>
2024-07-04 23:56:13 +09:00
Duje Mihanović 86c0223e69 firmware-samsung-pxa1908: only enable service if downstream (MR 5296)
I made an oversight in pmaports!5295 which caused the post-install
script to try enabling the sd8x-wlan service even if the downstream
subpackage isn't installed. This causes errors when creating a new
mainline rootfs, so fix it by moving the install variable declaration to
the subpackage function.
2024-07-04 23:38:31 +09:00
postmarketOS CI 92527d8432 linux-next: upgrade to next-20240703 2024-07-03 18:31:45 +00:00
Stefan Hansson 8cc5cc801d CI: adapt autoupdate.sh to follow our commit style (MR 5314)
Our commit style (specified in COMMITSTYLE.md) states that "upgrade to"
should be used when increasing the version of a package.
2024-07-03 18:32:45 +02:00
Martijn Braam 33d35c0835 */: Drop maintainership (MR 5302)
Tweaked-by: Oliver Smith <ollieparanoid@postmarketos.org>
2024-07-03 17:20:51 +02:00
fossdd 53455c41ac main/postmarketos-ui-i3wm: take over maintainership (MR 5309) 2024-07-03 17:03:24 +02:00
postmarketOS CI 69c110a940 linux-next: update to next-20240702 2024-07-02 18:31:53 +00:00
Eisenbahnfan eacaaebaa3 device-samsung-n2awifi: add display support (MR 5305)
And use postmarketos-initramfs-minimal for a smaller boot
image that fits on the boot partition.

[ci:skip-build]: already built successfully in CI
2024-07-02 09:27:42 +02:00
postmarketOS CI 17af4685ba linux-next: update to next-20240701 2024-07-01 18:31:46 +00:00
Ferass El Hafidi 4269e40815 device-amlogic-tvbox: new aport (MR 5273)
Merge all TV box ports into one.

Signed-off-by: Ferass El Hafidi <funderscore@postmarketos.org>
[ci:skip-build]: already built successfully in CI
2024-07-01 17:19:07 +02:00
Stefan Hansson 9ada0b0d5e linux-pine64-pinetab2: upgrade to 6.9.6 (MR 5299)
[ci:skip-build]: already built successfully in CI
2024-07-01 17:13:27 +02:00
Stefan Hansson 8a3ec1faa9 linux-pine64-pinetab2: use $pkgver in $_tags (MR 5299)
This is usually how it's done so you only need to change the pkgver in
one place.
2024-07-01 17:13:27 +02:00
Caleb Connolly afb8bedc7f postmarketos-trailblazer: fix onboard-usb-dev module (MR 5260)
This got renamed from usb-hub to usb-dev in 6.9

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-07-01 17:05:55 +02:00
Ts0p0sT 833f98ef01 motorola-ghost: enable armv7 (was armhf) (MR 5300) 2024-07-01 12:01:58 +02:00
Luca Weiss a4153e809f */*: update Luca's email address (MR 5291)
[ci:ignore-count]
[ci:skip-build]
[ci:skip-vercheck]
2024-07-01 11:55:02 +02:00
Clayton Craft d6f7c933bb linux-valve-jupiter: upgrade to 6.10-rc5 (MR 5297)
Patches were rebased, sadly nothing was dropped :(

All kconfig changes are from simply running `kconfig migrate` and
accepting all defaults when prompted
[ci:skip-build]: already built successfully in CI
2024-06-29 15:42:43 -07:00
Duje Mihanović 395bbb99cc firmware-samsung-pxa1908: split downstream wifi-enablement to subpackage (MR 5295)
Resolves this harmless, but annoying error on mainline:

 * Enabling wlan driver ...
/lib/rc/sh/openrc-run.sh: line 14: can't create /sys/devices/platform/sd8x-rfkill/pwr_ctrl: nonexistent directory
 * ERROR: sd8x-wlan failed to start
[ci:skip-build]: already built successfully in CI
2024-06-29 18:25:18 +02:00
Duje Mihanović f49dc9b38f device-samsung-coreprimevelte-downstream: use minimal initramfs (MR 5295) 2024-06-29 18:24:51 +02:00
Duje Mihanović 8d2fd628cc linux-samsung-coreprimevelte: enable zstd for zram (MR 5295) 2024-06-29 18:24:51 +02:00
Duje Mihanović ae07d1e7d6 linux-samsung-coreprimevelte: upgrade to 6.10-rc5 (MR 5295)
This also increases the (necessarily) hardcoded initrd end by 16MiB in
the DTS, which is necessary to make the phone boot with the new
initramfs (and in general any initramfs which exceeds 2624KiB).
2024-06-29 18:24:51 +02:00
Federico Amedeo Izzo 0f2f183aa1 alsa-ucm-conf-qcom-sdm670: upgrade ucm configs to the latest commit (MR 5282) 2024-06-29 18:01:48 +02:00
sn0w 68b65efb40 device-amazon-biscuit: switch to minimal initramfs (MR 5294)
[ci:skip-build]: already built successfully in CI
2024-06-29 17:52:41 +02:00
postmarketOS CI 4bb0cb738f linux-next: update to next-20240628 2024-06-29 04:31:42 +00:00
189 changed files with 4105 additions and 3960 deletions

No files matched your search

+1 -1
View File
@@ -83,7 +83,7 @@ update_linux_next() {
# Commit
git add device/testing/linux-next/APKBUILD
git commit -S -m "linux-next: update to $latest"
git commit -S -m "linux-next: upgrade to $latest"
}
# For testing
+1
View File
@@ -6,6 +6,7 @@
if [ "$(id -u)" = 0 ]; then
set -x
export PMBOOTSTRAP_TAG=master
wget "https://gitlab.com/postmarketOS/ci-common/-/raw/master/install_pmbootstrap.sh"
sh ./install_pmbootstrap.sh
exec su "${TESTUSER:-pmos}" -c "sh -e $0"
+10 -31
View File
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
# Copyright 2023 Oliver Smith
# Copyright 2024 Oliver Smith
# SPDX-License-Identifier: GPL-3.0-or-later
import glob
@@ -10,42 +10,25 @@ import subprocess
# Same dir
import common
# pmbootstrap
import add_pmbootstrap_to_import_path # noqa
import pmb.parse
import pmb.helpers.logging
def check_kconfig(args, pkgnames):
def check_kconfig(pkgnames):
last_failed = None
for i in range(len(pkgnames)):
pkgname = pkgnames[i]
print(f" ({i+1}/{len(pkgnames)}) {pkgname}")
apkbuild_path = pmb.helpers.pmaports.find(args, pkgname)
apkbuild = pmb.parse._apkbuild.apkbuild(f"{apkbuild_path}/APKBUILD")
p = subprocess.run(["pmbootstrap", "kconfig", "check", pkgname],
check=False)
options = []
for opt in apkbuild["options"]:
if "pmb:kconfigcheck" in opt:
options += [opt]
if len(options):
options.sort()
print(f'options="{" ".join(options)}"')
if "!pmb:kconfigcheck" in apkbuild["options"]:
print("skipped (!pmb:kconfigcheck)")
continue
if not pmb.parse.kconfig.check(args, pkgname, details=True):
if p.returncode:
last_failed = pkgname
return last_failed
def show_error(last_failed):
print("")
print("---")
print("")
print("Please adjust your kernel config. This is required for getting your"
" patch merged.")
@@ -59,6 +42,8 @@ def show_error(last_failed):
print("Run this check again (on all kernels you modified):")
print(" pmbootstrap ci kconfig")
print("")
print("---")
print("")
if __name__ == "__main__":
@@ -70,13 +55,7 @@ if __name__ == "__main__":
print("No kernels changed in this branch")
exit(0)
# Initialize args (so we can use pmbootstrap's kconfig parsing)
sys.argv = ["pmbootstrap", "kconfig", "check"]
args = pmb.parse.arguments()
pmb.helpers.logging.init(args)
print("Running kconfig check on changed kernels...")
last_failed = check_kconfig(args, pkgnames)
last_failed = check_kconfig(pkgnames)
if last_failed:
show_error(last_failed)
+4
View File
@@ -124,6 +124,8 @@ mr-settings:
# build changed aports
.build:
stage: build
tags:
- saas-linux-large-amd64
rules:
- if: $CI_PIPELINE_SOURCE == "merge_request_event" || $CI_COMMIT_REF_PROTECTED == "false"
before_script:
@@ -149,6 +151,8 @@ build-x86:
build-aarch64:
extends: .build
tags:
- saas-linux-large-arm64
script:
- .ci/build-aarch64.sh
+1
View File
@@ -127,6 +127,7 @@ device/*/u-boot-pinephone/ @Arnavion @PsychoGame
device/*/wl1251-cal/ @Danct12
main/postmarketos*gnome*/ @pabloyoyoista @Newbyte
main/postmarketos-initramfs/ @calebccff @craftyguy
main/postmarketos-ui-i3wm/ @fossdd
main/postmarketos-ui-phosh/ @pabloyoyoista @Newbyte
main/postmarketos-ui-plasma-mobile/ @PureTryOut
main/shutdown-clear-rtc-wakealarm/ @Arnavion
@@ -4,14 +4,14 @@
pkgname=device-samsung-coreprimevelte-downstream
pkgdesc="Samsung Galaxy Core Prime VE LTE downstream"
pkgver=1
pkgrel=0
pkgrel=3
url="https://postmarketos.org"
license="MIT"
arch="aarch64"
options="!check !archcheck"
depends="mkbootimg linux-samsung-coreprimevelte-downstream postmarketos-base pxa-mkbootimg u-boot-tools"
depends="mkbootimg linux-samsung-coreprimevelte-downstream postmarketos-base postmarketos-initramfs-minimal pxa-mkbootimg u-boot-tools"
makedepends="devicepkg-dev"
subpackages="$pkgname-nonfree-firmware:nonfree_firmware"
_pmb_recommends="firmware-samsung-pxa1908-downstream"
source="deviceinfo 90-coreprimevelte.conf"
build() {
@@ -23,12 +23,6 @@ package() {
install -Dm444 $startdir/90-coreprimevelte.conf $pkgdir/etc/sysctl.d/90-coreprimevelte.conf
}
nonfree_firmware() {
pkgdesc="Wi-Fi firmware"
depends="firmware-samsung-pxa1908"
mkdir "$subpkgdir"
}
sha512sums="
741f46736c2742d4a6f118a924eee89954fb14e5b1dc00f372bda41b63ec975cf960909f915fcb31ad965f136a712905bc8626cd7e530f40e110885f7c861790 deviceinfo
4854cc57b86e1199dbc165110514e672dabf45044fe9f7ebbde5b2b24768fb5497273b5f38612cf2dfeffc9bf0648c725114b4fa01165bf7fb02f7d741ee5806 90-coreprimevelte.conf
@@ -0,0 +1,3 @@
# iio-sensor-proxy with libssc: accelerometer mount matrix
SUBSYSTEM=="misc", KERNEL=="fastrpc-*", ENV{ACCEL_MOUNT_MATRIX}+="-1, 0, 0; 0, -1, 0; 0, 0, -1"
+30 -27
View File
@@ -1,34 +1,52 @@
# Reference: <https://postmarketos.org/devicepkg>
# Maintainer: Luca Weiss <luca@z3ntu.xyz>
# Maintainer: Luca Weiss <luca@lucaweiss.eu>
pkgname=device-fairphone-fp4
pkgdesc="Fairphone 4"
pkgver=2
pkgrel=4
pkgver=3
pkgrel=0
url="https://postmarketos.org"
license="MIT"
arch="aarch64"
options="!check !archcheck"
depends="
bootmac
firmware-fairphone-fp4-adreno
firmware-fairphone-fp4-adsp
firmware-fairphone-fp4-bluetooth
firmware-fairphone-fp4-cdsp
firmware-fairphone-fp4-hexagonfs
firmware-fairphone-fp4-ipa
firmware-fairphone-fp4-modem
firmware-fairphone-fp4-wlan
firmware-qcom-adreno-a630
hexagonrpcd
hexagonrpcd-openrc
linux-firmware-ath10k
linux-postmarketos-qcom-sm6350
make-dynpart-mappings
mesa-vulkan-freedreno
mkbootimg
msm-modem
msm-modem-uim-selection
pd-mapper
pd-mapper-openrc
postmarketos-base
qbootctl
qbootctl-openrc
swclock-offset
tqftpserv
tqftpserv-openrc
"
makedepends="devicepkg-dev"
replaces="hexagonrpcd-openrc"
install="$pkgname.post-install $pkgname.post-upgrade"
source="
81-libssc-fairphone-fp4.rules
90-feedbackd-aw8695.rules
deviceinfo
hexagonrpcd.confd
modules-initfs
"
subpackages="
$pkgname-nonfree-firmware:nonfree_firmware
"
build() {
devicepkg_build $startdir $pkgname
@@ -37,33 +55,18 @@ build() {
package() {
devicepkg_package $startdir $pkgname
install -Dm644 "$srcdir"/81-libssc-fairphone-fp4.rules \
"$pkgdir"/usr/lib/udev/rules.d/81-libssc-fairphone-fp4.rules
install -Dm644 "$srcdir"/90-feedbackd-aw8695.rules \
"$pkgdir"/usr/lib/udev/rules.d/90-feedbackd-aw8695.rules
}
nonfree_firmware() {
pkgdesc="Firmware for Modem, WiFi, etc."
depends="
firmware-fairphone-fp4-adreno
firmware-fairphone-fp4-adsp
firmware-fairphone-fp4-bluetooth
firmware-fairphone-fp4-cdsp
firmware-fairphone-fp4-ipa
firmware-fairphone-fp4-modem
firmware-fairphone-fp4-wlan
firmware-qcom-adreno-a630
linux-firmware-ath10k
msm-modem
msm-modem-uim-selection
pd-mapper
tqftpserv
"
install="$subpkgname.post-install"
mkdir "$subpkgdir"
install -Dm644 "$srcdir"/hexagonrpcd.confd \
"$pkgdir"/etc/conf.d/hexagonrpcd-adsp-sensorspd
}
sha512sums="
2c16ba75e0077b2b1eaefa4c73b287475505a1aeb291ec29316d41cc094277320f9d2aaabfd91eb1dc0f488ab2d61a94faef16e7afe0f1e226779113761b9a37 81-libssc-fairphone-fp4.rules
2974ccc172bf1299daeb0bc746879b3a1db1fbc3a2b163a02a6554fed6ed9f733144bcf976cd2441c5664d496dcce3ae943f4314c653470dc07dda0de5ad632b 90-feedbackd-aw8695.rules
9549f105f865d230e7b67819c96b7e06a5ed4d5808f083099a408934ffbacdb412984b861f6756fa4fde94b51e6a268b8d2ce9fed6f13ee3e8041bb96492310a deviceinfo
6a3d620f2cc60308a62ff651ffb00a5ee1f092131cca9d33b6afd61c8a372a3fd7d46540162213593107e0943b33f3f0119d003d43dcd06dbde757390a6c1729 hexagonrpcd.confd
52bb7ed829caa4dcff9728bd6e3cdf118b3c7ee7dfe90df0d4e6422dd67bf3258ae2a4d2dc7599da4182fbd8eb47a0e1d20c58198dc17f2bf178b8f01a8887f7 modules-initfs
"
@@ -1,3 +0,0 @@
#!/bin/sh
rc-update add tqftpserv boot
rc-update add pd-mapper boot
@@ -1,2 +1,5 @@
#!/bin/sh
rc-update add hexagonrpcd-adsp-sensorspd default
rc-update add pd-mapper boot
rc-update add qbootctl default
rc-update add tqftpserv boot
@@ -0,0 +1,2 @@
# Fairphone 4 specific hexagonrpcd firmware directory
hexagonrpcd_fw_dir="/usr/share/qcom/sm7225/Fairphone/fairphone4"
@@ -3,7 +3,7 @@
pkgname=device-oneplus-enchilada
pkgdesc="OnePlus 6"
pkgver=14
pkgver=15
pkgrel=0
url="https://postmarketos.org"
license="MIT"
@@ -16,6 +16,7 @@ depends="
soc-qcom-sdm845
soc-qcom-sdm845-ucm
soc-qcom-sdm845-qbootctl
systemd-boot
"
makedepends="devicepkg-dev"
source="
@@ -66,7 +67,7 @@ pmtest() {
sha512sums="
e957b7b0ed219eaa56be6c6b976b60886f73970703fdebf045800154ee652affee4e19654b3ac4244b29bcf6760ad3db6cb87143dc9c4673e905800d751103d1 10-unl0kr.conf
83fc698ebeda6245abc2a653eeff97b3b996d06dd7731386a07d102937f9b005c7277e0dece05ff359d9ff109a1d9ed7791fc510b146354df179804aadb5642c deviceinfo
28dba3b6b65ba8528ecf411b5d6c2e7e915594c98089194c57a576db55a005bff97dcb79f80914e63cbfad28c10f54fe66430500c0ebe35de421819963b52605 deviceinfo
c8d3026e9f803ea823e35f83dab66fa8545e99af9655576476c194567113084d78200feab46f84983a2dad608ca55c0a4a66e36406c6d64023c0aec59307d146 hexagonrpcd.confd
ea8709aa214cffaefb1d486c0c47044537446faebff16efb3b015623f043f730b7121e401c676e43aa8868bd6c630fc8a2d7dbf5fb082490e9b5493e0405b66d modules-initfs
fe9871c325a38c0cadc9631870801ec15ab9f5b786ee854325b93eb3d23e7d8b1ac4f1075572ffcd225d8ec514dec09b986972ddff12a89260c0218af6de7887 q6voiced.conf
@@ -17,11 +17,16 @@ deviceinfo_screen_width="1080"
deviceinfo_screen_height="2280"
# Bootloader related
deviceinfo_flash_method="fastboot"
deviceinfo_flash_method="fastboot-bootpart"
# Where to flash boot.img, or in our case where to flash the pmOS boot partition.
# This is a bit confusing.
deviceinfo_flash_fastboot_partition_kernel="system"
deviceinfo_flash_fastboot_partition_system="userdata"
# FIXME: Console enabled to workaround a race condition with display initialisation
# See https://gitlab.freedesktop.org/drm/msm/-/issues/46
deviceinfo_kernel_cmdline="console=ttyMSM0,115200"
deviceinfo_generate_bootimg="true"
deviceinfo_generate_systemd_boot="true"
deviceinfo_bootimg_qcdt="false"
deviceinfo_bootimg_dtb_second="false"
deviceinfo_flash_offset_base="0x00000000"
@@ -3,7 +3,7 @@
pkgname=device-oneplus-fajita
pkgdesc="OnePlus 6T"
pkgver=14
pkgver=15
pkgrel=0
url="https://postmarketos.org"
license="MIT"
@@ -16,6 +16,7 @@ depends="
soc-qcom-sdm845
soc-qcom-sdm845-ucm
soc-qcom-sdm845-qbootctl
systemd-boot
"
makedepends="devicepkg-dev"
source="
@@ -66,7 +67,7 @@ pmtest() {
sha512sums="
e957b7b0ed219eaa56be6c6b976b60886f73970703fdebf045800154ee652affee4e19654b3ac4244b29bcf6760ad3db6cb87143dc9c4673e905800d751103d1 10-unl0kr.conf
07e3d79715befccd1e7393908c06f88ac8468d1ce6cb96138e3a04e6f8274889db169f5daf05b04b633bcc9e85d11ea5c2017b84bc0ae86a8fad80b05794d0d8 deviceinfo
cc008924ba65b7bd02f9acb2452ce0ce7df0edc2c741959ec49cd907b29cfe16c40f3f6a0dc6b2c581c28f5cfbba1f7f8290eb83e7bf704e95d542233d9ad261 deviceinfo
6b5308471fcbb938ac00d6e9a3f8e61073bda1d608f2edf1a2aba4b256dd3f76b1ccee0873dcaa8dc4a8db304d433360a56fe447d70f57ba068428b75ddea236 hexagonrpcd.confd
ea8709aa214cffaefb1d486c0c47044537446faebff16efb3b015623f043f730b7121e401c676e43aa8868bd6c630fc8a2d7dbf5fb082490e9b5493e0405b66d modules-initfs
fe9871c325a38c0cadc9631870801ec15ab9f5b786ee854325b93eb3d23e7d8b1ac4f1075572ffcd225d8ec514dec09b986972ddff12a89260c0218af6de7887 q6voiced.conf
@@ -17,11 +17,16 @@ deviceinfo_screen_width="1080"
deviceinfo_screen_height="2340"
# Bootloader related
deviceinfo_flash_method="fastboot"
deviceinfo_flash_method="fastboot-bootpart"
# Where to flash boot.img, or in our case where to flash the pmOS boot partition.
# This is a bit confusing.
deviceinfo_flash_fastboot_partition_kernel="system"
deviceinfo_flash_fastboot_partition_system="userdata"
# FIXME: Console enabled to workaround a race condition with display initialisation
# See https://gitlab.freedesktop.org/drm/msm/-/issues/46
deviceinfo_kernel_cmdline="console=ttyMSM0,115200"
deviceinfo_generate_bootimg="true"
deviceinfo_generate_systemd_boot="true"
deviceinfo_bootimg_qcdt="false"
deviceinfo_bootimg_dtb_second="false"
deviceinfo_flash_offset_base="0x00000000"
@@ -3,8 +3,8 @@
# Co-Maintainer: Alexandre Marquet <tb@a-marquet.fr>
pkgname=device-samsung-manta
pkgdesc="Google Nexus 10"
pkgver=7
pkgrel=2
pkgver=8
pkgrel=0
url="https://postmarketos.org"
license="MIT"
arch="armv7"
@@ -65,7 +65,7 @@ nonfree_firmware() {
}
sha512sums="
63db3dc101ffd25ea43a8d6f02005cb1a21d7e2b0872d9142c5f5db11a1baea4639df3eacb10177ed5748769796fb4560148e48094a2bce36d745668ab4cac2e deviceinfo
9a566c5be457834f0cfa5750ced12ed1c26019dd24c311f4c8b3bf8b6417658c2868a6b2b6d2eb73b75a67e3bb707d8ae8016f80342d2b467d1e44eff7303269 deviceinfo
e00c58936fa4340f8531538136ad028d002342a4399b68d26190b931831108007486257f9d8a48c3ed454696b45d176b1497d624c33ace21e61eba33ac7ce136 modules-initfs
37a18d36e1e08ddcc605de73214dc02a9e7737f6a66b2e4be301fca816bbf3c2ba6b5ead1f12c745fd0fa019e2a8e959e4fc20386ad94ca7277d4c7d7f9fb703 100-wlan-mac.rules
cfba48f87335ed8810004e02db165203149532ade7be206947f8195bbcc14d61bf3a898378566aca7295ba08784665f462442bf5e74d7f58b2cc62d996376317 wifi-macaddr.sh
@@ -7,6 +7,7 @@ deviceinfo_manufacturer="Samsung"
deviceinfo_codename="samsung-manta"
deviceinfo_year="2012"
deviceinfo_arch="armv7"
deviceinfo_getty="ttySAC2;115200"
# Device related
deviceinfo_chassis="tablet"
@@ -4,7 +4,7 @@
pkgname=device-shift-axolotl
pkgdesc="SHIFT6mq"
pkgver=15
pkgver=16
pkgrel=0
url="https://postmarketos.org"
license="MIT"
@@ -19,6 +19,7 @@ depends="
soc-qcom-sdm845-ucm
soc-qcom-sdm845-qbootctl
fwupd>=1.8.6
systemd-boot
"
makedepends="devicepkg-dev postmarketos-test"
source="
@@ -67,7 +68,7 @@ pmtest() {
}
sha512sums="
e3f8a8d556a3c3134791693f2003aa64465b6971f7e353f547d6f1cbe3a0a0225a225e40ee4dbed951c0fa67f5a4636fd15953f6a3fe23d4f098fa1d39baa8f5 deviceinfo
d2c636b8421cfac85cc607777dcd4ec1e6d4438f8050c7fd78e10d059243afb108fe28a21c9c2c4f67ee2eb08c93fdbfee1598fed6cfcb6c7565d00b9cb7a36c deviceinfo
5966325963a3a62c919b5f39f7bc56e1785f192f50c40a6cc644a2fea0c9b8dd083e287ef43c59c2b9cab5c88d65266b0cd9cf1f5110924950bd250be5385622 hexagonrpcd.confd
4dc84207c5ca84b33b74139c8b0c9ce5baa8bcb1068df9943c478c02abcf8daccb88e06af63f120a434a115e277008e899305bd5239d8669436cb269889040e9 modules-initfs
2a3cbdad5aa91181d24a4e56e63986af6accf887c64fa4d1b6ddad1926e29050243c4b1e2fd892d38ca7c16e24dff8545a16552e5749ae31b6d01bf428468e51 q6voiced.conf
@@ -19,11 +19,16 @@ deviceinfo_screen_width="1080"
deviceinfo_screen_height="2160"
# Bootloader related
deviceinfo_flash_method="fastboot"
deviceinfo_flash_method="fastboot-bootpart"
# Where to flash boot.img, or in our case where to flash the pmOS boot partition.
# This is a bit confusing.
deviceinfo_flash_fastboot_partition_kernel="super"
deviceinfo_flash_fastboot_partition_system="userdata"
# FIXME: Console enabled to workaround a race condition with display initialisation
# See https://gitlab.freedesktop.org/drm/msm/-/issues/46
deviceinfo_kernel_cmdline="console=ttyMSM0,115200"
deviceinfo_generate_bootimg="true"
deviceinfo_generate_systemd_boot="true"
deviceinfo_bootimg_qcdt="false"
deviceinfo_bootimg_dtb_second="false"
deviceinfo_flash_offset_base="0x00000000"
@@ -3,8 +3,8 @@
# Reference: <https://postmarketos.org/devicepkg>
pkgname=device-xiaomi-beryllium
pkgdesc="Xiaomi Poco F1"
pkgver=11
pkgrel=1
pkgver=12
pkgrel=0
url="https://postmarketos.org"
license="MIT"
arch="aarch64"
@@ -71,7 +71,7 @@ kernel_ebbg() {
}
sha512sums="
2cb2a7203bd4a758007c41e06f0c0319ff2bd51714798dba91828238615fe668c05ddfd96754afbf7a9bd7822c47608e012c2b891cb9e26b32f2558b9dc69978 deviceinfo
055a34dcdbfed0067c780ec9820ce751b60373bccf25d94592b80ab02569aa07d95ab64b4832261af8ef2ef2dd04b0546b582c7ac4af1be9b1908965a6efc2dd deviceinfo
52079045a0c1f48628d891bf8867f5c1802152fce8e2c4bd787630f1f5e4c9b386bfc373e464cb053688350ac678dbc3c407a76a31a1ae700ca67764d0d384f1 hexagonrpcd.confd
cab76675b9c48eb1ce0691b31667d17ee73ecf21439a7f7c9c2ba96344e3bf4ad713ebc685298d6e32ad589ba26f429cd6b0d200338b50d136ad1a29758e4214 modules-initfs.ebbg
175a7d859956a029b91a1105b93c4113b07ab5cfe932294dd369808059ed03471625f64ce90e5146a65c0bb26417470d8f7c02e48dfacf2d016ce5b2c28cee76 modules-initfs.tianma
@@ -22,7 +22,11 @@ deviceinfo_screen_height="2246"
deviceinfo_rootfs_image_sector_size="4096"
# Bootloader related
deviceinfo_flash_method="fastboot"
deviceinfo_flash_method="fastboot-bootpart"
# Where to flash boot.img, or in our case where to flash the pmOS boot partition.
# This is a bit confusing.
deviceinfo_flash_fastboot_partition_kernel="system"
deviceinfo_flash_fastboot_partition_system="userdata"
# FIXME: Console enabled to workaround a race condition with display initialisation
# See https://gitlab.freedesktop.org/drm/msm/-/issues/46
deviceinfo_kernel_cmdline="console=ttyMSM0,115200"
@@ -1,12 +1,13 @@
pkgname=firmware-fairphone-fp4
pkgver=20240313
pkgrel=0
pkgrel=1
pkgdesc="Firmware for Fairphone 4"
subpackages="
$pkgname-adreno
$pkgname-adsp
$pkgname-bluetooth
$pkgname-cdsp
$pkgname-hexagonfs
$pkgname-ipa
$pkgname-modem
$pkgname-venus
@@ -16,8 +17,8 @@ url="https://github.com/FairBlobs/FP4-firmware"
arch="aarch64"
license="proprietary"
makedepends="pil-squasher"
options="!check !strip !archcheck !tracedeps pmb:cross-native"
_commit="d95bd920afa9084cefe0f69be931a5421e544154"
options="!check !strip !archcheck !tracedeps textrels pmb:cross-native"
_commit="222756885ff5eb24ee89684ef8cfe860a45a54ec"
source="https://github.com/FairBlobs/FP4-firmware/archive/$_commit/FP4-firmware-$_commit.tar.gz"
builddir="$srcdir/FP4-firmware-$_commit"
@@ -68,10 +69,24 @@ cdsp() {
"$subpkgdir/lib/firmware/qcom/sm7225/fairphone4/"
}
hexagonfs() {
pkgdesc="Fairphone 4 hexagonfs files"
mkdir -p "$subpkgdir"/usr/share/qcom/sm7225/Fairphone/
cp -r "$builddir"/hexagonfs/ \
"$subpkgdir"/usr/share/qcom/sm7225/Fairphone/fairphone4
# Remove files that we don't need - for now
rm -r "$subpkgdir"/usr/share/qcom/sm7225/Fairphone/fairphone4/acdb/
rm -r "$subpkgdir"/usr/share/qcom/sm7225/Fairphone/fairphone4/dsp/
find "$subpkgdir/usr/share/qcom/sm7225/Fairphone/fairphone4/" \
-type f -exec chmod 0644 {} \;
}
ipa() {
pkgdesc="Fairphone 4 ipa firmware"
cd "$builddir"
install -Dm644 "$builddir"/lagoon_ipa_fws.mbn \
"$subpkgdir/lib/firmware/qcom/sm7225/fairphone4/ipa_fws.mbn"
}
@@ -105,5 +120,5 @@ wlan() {
}
sha512sums="
3839431922c6250fa76c563183387edbc1370f34d833d5d7c6c08f0d921c0498c93ff376af5d43fecf78d4ac6aff3b90e41345310181826b0a21507dbfba778c FP4-firmware-d95bd920afa9084cefe0f69be931a5421e544154.tar.gz
b6836a8770c089615698ec26d397530c75086457c309d7220265da1203f2b06c4021d5a872244ad1e5a4a19d0d8192c13ae2051538e24d1df5292480daa6309d FP4-firmware-222756885ff5eb24ee89684ef8cfe860a45a54ec.tar.gz
"
@@ -1,7 +1,6 @@
# Maintainer: Martijn Braam <martijn@brixit.nl>
pkgname=firmware-motorola-osprey
pkgver=4
pkgrel=0
pkgrel=1
pkgdesc="Firmware for Motorola Moto G 2015"
url="https://github.com/pmsourcedump/firmware-motorola-osprey"
subpackages="$pkgname-wcnss $pkgname-wcnss-nv:wcnss_nv $pkgname-venus"
@@ -1,7 +1,7 @@
# Maintainer: Adam Thiede <me@adamthiede.com>
# Co-Maintainer: Jenneron <jenneron@protonmail.com>
pkgname=linux-postmarketos-mediatek-mt8173
pkgver=6.9.6
pkgver=6.10
pkgrel=0
pkgdesc="Mainline kernel fork for Mediatek MT8173 devices"
arch="aarch64"
@@ -68,8 +68,8 @@ package() {
}
sha512sums="
58ff65fde9a1e22678dc70e9da900f479c5fae0bc87056f89e2919603e0f56016131f2d1c020ec889eb2a4cfd7ff22f1feadedc3cab76852ef19bed0ccf9ab8a linux-6.9.6.tar.xz
caabd801e8a0b4f8535085f2661c8363e8cded72bc87128b57245c4aab9f5dd17107ef8e3b982e96fc2ad6ce58b02ec252134d661c46246a8e107bf3d3cb88b3 config-postmarketos-mediatek-mt8173.aarch64
baa2487954044f991d2ae254d77d14a1f0185dd62c9f0fcaff69f586c9f906823017b8db1c4588f27b076dfa3ebb606929fec859f60ea419e7974330b9289cc2 linux-6.10.tar.xz
7eccf2f6509a00809c47ee2fe41e81b94521ee672d9479dd9f56a0dbed9000deb59737ee4c9f9865fbf569de79ad6b4f47f277db0d150ae65e4080c930567056 config-postmarketos-mediatek-mt8173.aarch64
4b499c1fbf53631cffd6fa7299643dc744e0e2187f71804664b02f05296162b42e3f76aa0d8c688cecb43a8bcd41ec92991c98287951292260237b828dcca710 fix-mmc1-speed.patch
c86f8dfc32165a32381d45a4c8b6811ebf43f01b5d8a48fbe227cf5084cfefe24b32264c1c150cb49115db4759a2d21ad48b37dcaac78367d226e9cc2a5ba849 fix-mmc-order.patch
caf48ac0f77661153ee94c7de4931baca135a69a97e93f01ad8f276b4a9944e077d7214c117450943cca07990c773661f79718cb0c2ff7c5789c93d37afb26de fix-spi-nor-max-frequency.patch
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
# Linux/arm64 6.9.6 Kernel Configuration
# Linux/arm64 6.10.0 Kernel Configuration
#
CONFIG_CC_VERSION_TEXT="gcc (Alpine 13.2.1_git20240309) 13.2.1 20240309"
CONFIG_CC_IS_GCC=y
@@ -117,7 +117,7 @@ CONFIG_TICK_CPU_ACCOUNTING=y
# CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set
CONFIG_IRQ_TIME_ACCOUNTING=y
CONFIG_HAVE_SCHED_AVG_IRQ=y
CONFIG_SCHED_THERMAL_PRESSURE=y
CONFIG_SCHED_HW_PRESSURE=y
CONFIG_BSD_PROCESS_ACCT=y
CONFIG_BSD_PROCESS_ACCT_V3=y
CONFIG_TASKSTATS=y
@@ -138,6 +138,7 @@ CONFIG_PREEMPT_RCU=y
# CONFIG_RCU_EXPERT is not set
CONFIG_TREE_SRCU=y
CONFIG_TASKS_RCU_GENERIC=y
CONFIG_NEED_TASKS_RCU=y
CONFIG_TASKS_RCU=y
CONFIG_TASKS_TRACE_RCU=y
CONFIG_RCU_STALL_COMMON=y
@@ -170,6 +171,7 @@ CONFIG_CC_NO_STRINGOP_OVERFLOW=y
CONFIG_ARCH_SUPPORTS_INT128=y
CONFIG_NUMA_BALANCING=y
CONFIG_NUMA_BALANCING_DEFAULT_ENABLED=y
CONFIG_SLAB_OBJ_EXT=y
CONFIG_CGROUPS=y
CONFIG_PAGE_COUNTER=y
# CONFIG_CGROUP_FAVOR_DYNMODS is not set
@@ -233,7 +235,6 @@ CONFIG_POSIX_TIMERS=y
CONFIG_PRINTK=y
CONFIG_BUG=y
CONFIG_ELF_CORE=y
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
CONFIG_FUTEX_PI=y
CONFIG_EPOLL=y
@@ -309,6 +310,7 @@ CONFIG_BUILTIN_RETURN_ADDRESS_STRIPS_PAC=y
# Platform selection
#
# CONFIG_ARCH_ACTIONS is not set
# CONFIG_ARCH_AIROHA is not set
# CONFIG_ARCH_SUNXI is not set
# CONFIG_ARCH_ALPINE is not set
# CONFIG_ARCH_APPLE is not set
@@ -390,6 +392,8 @@ CONFIG_ARM64_ERRATUM_2645198=y
CONFIG_ARM64_WORKAROUND_SPECULATIVE_UNPRIV_LOAD=y
CONFIG_ARM64_ERRATUM_2966298=y
CONFIG_ARM64_ERRATUM_3117295=y
# CONFIG_ARM64_ERRATUM_3194386 is not set
# CONFIG_ARM64_ERRATUM_3312417 is not set
CONFIG_CAVIUM_ERRATUM_22375=y
CONFIG_CAVIUM_ERRATUM_23144=y
CONFIG_CAVIUM_ERRATUM_23154=y
@@ -721,6 +725,7 @@ CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y
CONFIG_ARCH_WANT_PMD_MKWRITE=y
CONFIG_HAVE_MOD_ARCH_SPECIFIC=y
CONFIG_MODULES_USE_ELF_RELA=y
CONFIG_ARCH_WANTS_EXECMEM_LATE=y
CONFIG_HAVE_SOFTIRQ_ON_OWN_STACK=y
CONFIG_SOFTIRQ_ON_OWN_STACK=y
CONFIG_ARCH_HAS_ELF_RANDOMIZE=y
@@ -759,6 +764,7 @@ CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
CONFIG_ARCH_SUPPORTS_PAGE_TABLE_CHECK=y
CONFIG_ARCH_HAVE_TRACE_MMIO_ACCESS=y
CONFIG_ARCH_HAS_HW_PTE_YOUNG=y
CONFIG_ARCH_HAS_KERNEL_FPU_SUPPORT=y
#
# GCOV-based kernel profiling
@@ -775,7 +781,6 @@ CONFIG_FUNCTION_ALIGNMENT=4
# end of General architecture-dependent options
CONFIG_RT_MUTEXES=y
CONFIG_BASE_SMALL=0
CONFIG_MODULES=y
# CONFIG_MODULE_DEBUG is not set
# CONFIG_MODULE_FORCE_LOAD is not set
@@ -804,7 +809,6 @@ CONFIG_BLK_DEV_INTEGRITY_T10=y
CONFIG_BLK_DEV_WRITE_MOUNTED=y
# CONFIG_BLK_DEV_ZONED is not set
CONFIG_BLK_DEV_THROTTLING=y
# CONFIG_BLK_DEV_THROTTLING_LOW is not set
# CONFIG_BLK_WBT is not set
# CONFIG_BLK_CGROUP_IOLATENCY is not set
# CONFIG_BLK_CGROUP_IOCOST is not set
@@ -910,7 +914,7 @@ CONFIG_SPARSEMEM=y
CONFIG_SPARSEMEM_EXTREME=y
CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
CONFIG_SPARSEMEM_VMEMMAP=y
CONFIG_HAVE_FAST_GUP=y
CONFIG_HAVE_GUP_FAST=y
CONFIG_ARCH_KEEP_MEMBLOCK=y
CONFIG_MEMORY_ISOLATION=y
CONFIG_EXCLUSIVE_SYSTEM_RAM=y
@@ -944,6 +948,7 @@ CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS=y
# CONFIG_TRANSPARENT_HUGEPAGE_NEVER is not set
CONFIG_THP_SWAP=y
# CONFIG_READ_ONLY_THP_FOR_FS is not set
CONFIG_PGTABLE_HAS_HUGE_LEAVES=y
CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
CONFIG_USE_PERCPU_NUMA_NODE_ID=y
@@ -975,6 +980,7 @@ CONFIG_LRU_GEN_WALKS_MMU=y
CONFIG_ARCH_SUPPORTS_PER_VMA_LOCK=y
CONFIG_PER_VMA_LOCK=y
CONFIG_LOCK_MM_AND_FIND_VMA=y
CONFIG_EXECMEM=y
#
# Data Access Monitoring
@@ -1574,6 +1580,7 @@ CONFIG_BT_MTKSDIO=m
CONFIG_BT_MTKUART=m
# CONFIG_BT_VIRTIO is not set
# CONFIG_BT_NXPUART is not set
# CONFIG_BT_INTEL_PCIE is not set
# end of Bluetooth device drivers
# CONFIG_AF_RXRPC is not set
@@ -2435,6 +2442,7 @@ CONFIG_VXLAN=m
# CONFIG_GENEVE is not set
# CONFIG_BAREUDP is not set
# CONFIG_GTP is not set
# CONFIG_PFCP is not set
# CONFIG_AMT is not set
# CONFIG_MACSEC is not set
# CONFIG_NETCONSOLE is not set
@@ -2622,6 +2630,7 @@ CONFIG_FIXED_PHY=m
#
# MII PHY device drivers
#
# CONFIG_AIR_EN8811H_PHY is not set
# CONFIG_AMD_PHY is not set
# CONFIG_ADIN_PHY is not set
# CONFIG_ADIN1100_PHY is not set
@@ -3290,6 +3299,7 @@ CONFIG_HW_RANDOM_CN10K=y
CONFIG_DEVMEM=y
CONFIG_DEVPORT=y
CONFIG_TCG_TPM=y
# CONFIG_TCG_TPM2_HMAC is not set
CONFIG_HW_RANDOM_TPM=y
CONFIG_TCG_TIS_CORE=m
# CONFIG_TCG_TIS is not set
@@ -3434,7 +3444,6 @@ CONFIG_SPI_MTK_NOR=y
# CONFIG_SPI_OC_TINY is not set
# CONFIG_SPI_PCI1XXXX is not set
CONFIG_SPI_PL022=y
# CONFIG_SPI_PXA2XX is not set
# CONFIG_SPI_SC18IS602 is not set
# CONFIG_SPI_SIFIVE is not set
# CONFIG_SPI_SN_F_OSPI is not set
@@ -3506,6 +3515,7 @@ CONFIG_PINCTRL_MAX77620=y
# CONFIG_PINCTRL_MCP23S08 is not set
# CONFIG_PINCTRL_MICROCHIP_SGPIO is not set
# CONFIG_PINCTRL_OCELOT is not set
# CONFIG_PINCTRL_SCMI is not set
CONFIG_PINCTRL_SINGLE=y
# CONFIG_PINCTRL_STMFX is not set
# CONFIG_PINCTRL_SX150X is not set
@@ -4685,12 +4695,12 @@ CONFIG_DRM_KMS_HELPER=y
CONFIG_DRM_FBDEV_EMULATION=y
CONFIG_DRM_FBDEV_OVERALLOC=100
CONFIG_DRM_LOAD_EDID_FIRMWARE=y
CONFIG_DRM_DP_AUX_BUS=y
CONFIG_DRM_DISPLAY_HELPER=y
CONFIG_DRM_DISPLAY_DP_AUX_BUS=y
# CONFIG_DRM_DISPLAY_DP_AUX_CEC is not set
# CONFIG_DRM_DISPLAY_DP_AUX_CHARDEV is not set
CONFIG_DRM_DISPLAY_DP_HELPER=y
CONFIG_DRM_DISPLAY_HDCP_HELPER=y
CONFIG_DRM_DP_AUX_CHARDEV=y
# CONFIG_DRM_DP_CEC is not set
CONFIG_DRM_TTM=m
CONFIG_DRM_EXEC=y
CONFIG_DRM_GPUVM=y
@@ -4769,6 +4779,7 @@ CONFIG_DRM_PANEL_KINGDISPLAY_KD097D04=y
# CONFIG_DRM_PANEL_LEADTEK_LTK500HD1829 is not set
# CONFIG_DRM_PANEL_LG_LB035Q02 is not set
# CONFIG_DRM_PANEL_LG_LG4573 is not set
# CONFIG_DRM_PANEL_LG_SW43408 is not set
# CONFIG_DRM_PANEL_MAGNACHIP_D53E6EA8966 is not set
CONFIG_DRM_PANEL_MANTIX_MLAF057WE51=m
# CONFIG_DRM_PANEL_NEC_NL8048HL11 is not set
@@ -4790,11 +4801,13 @@ CONFIG_DRM_PANEL_MANTIX_MLAF057WE51=m
CONFIG_DRM_PANEL_RAYDIUM_RM67191=y
# CONFIG_DRM_PANEL_RAYDIUM_RM68200 is not set
# CONFIG_DRM_PANEL_RAYDIUM_RM692E5 is not set
# CONFIG_DRM_PANEL_RAYDIUM_RM69380 is not set
# CONFIG_DRM_PANEL_RONBO_RB070D30 is not set
# CONFIG_DRM_PANEL_SAMSUNG_S6E88A0_AMS452EF01 is not set
# CONFIG_DRM_PANEL_SAMSUNG_ATNA33XC20 is not set
# CONFIG_DRM_PANEL_SAMSUNG_DB7430 is not set
# CONFIG_DRM_PANEL_SAMSUNG_LD9040 is not set
# CONFIG_DRM_PANEL_SAMSUNG_S6E3FA7 is not set
# CONFIG_DRM_PANEL_SAMSUNG_S6D16D0 is not set
# CONFIG_DRM_PANEL_SAMSUNG_S6D27A1 is not set
# CONFIG_DRM_PANEL_SAMSUNG_S6D7AA0 is not set
@@ -4904,6 +4917,7 @@ CONFIG_DRM_PL111=m
# CONFIG_DRM_XEN_FRONTEND is not set
# CONFIG_DRM_LIMA is not set
CONFIG_DRM_PANFROST=y
# CONFIG_DRM_PANTHOR is not set
CONFIG_DRM_TIDSS=m
# CONFIG_DRM_GUD is not set
# CONFIG_DRM_SSD130X is not set
@@ -5282,7 +5296,6 @@ CONFIG_SND_SOC_GTM601=m
# CONFIG_SND_SOC_HDA is not set
# CONFIG_SND_SOC_ICS43432 is not set
# CONFIG_SND_SOC_IDT821034 is not set
# CONFIG_SND_SOC_INNO_RK3036 is not set
# CONFIG_SND_SOC_MAX98088 is not set
# CONFIG_SND_SOC_MAX98090 is not set
CONFIG_SND_SOC_MAX98357A=m
@@ -5313,8 +5326,8 @@ CONFIG_SND_SOC_PCM3168A_I2C=m
# CONFIG_SND_SOC_PCM5102A is not set
# CONFIG_SND_SOC_PCM512x_I2C is not set
# CONFIG_SND_SOC_PCM512x_SPI is not set
# CONFIG_SND_SOC_PCM6240 is not set
# CONFIG_SND_SOC_PEB2466 is not set
# CONFIG_SND_SOC_RK3328 is not set
CONFIG_SND_SOC_RL6231=m
CONFIG_SND_SOC_RT1015=m
CONFIG_SND_SOC_RT1015P=m
@@ -5576,6 +5589,7 @@ CONFIG_HID_UDRAW_PS3=m
CONFIG_HID_U2FZERO=m
CONFIG_HID_WACOM=m
CONFIG_HID_WIIMOTE=m
# CONFIG_HID_WINWING is not set
CONFIG_HID_XINMO=m
CONFIG_HID_ZEROPLUS=m
# CONFIG_ZEROPLUS_FF is not set
@@ -5850,7 +5864,7 @@ CONFIG_USB_HSIC_USB3503=y
# CONFIG_USB_HSIC_USB4604 is not set
# CONFIG_USB_LINK_LAYER_TEST is not set
# CONFIG_USB_CHAOSKEY is not set
# CONFIG_USB_ONBOARD_HUB is not set
# CONFIG_USB_ONBOARD_DEV is not set
#
# USB Physical Layer drivers
@@ -6125,7 +6139,6 @@ CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
CONFIG_LEDS_TRIGGER_PANIC=y
# CONFIG_LEDS_TRIGGER_NETDEV is not set
CONFIG_LEDS_TRIGGER_PATTERN=y
# CONFIG_LEDS_TRIGGER_AUDIO is not set
# CONFIG_LEDS_TRIGGER_TTY is not set
#
@@ -6189,6 +6202,7 @@ CONFIG_RTC_DRV_M41T80=m
# CONFIG_RTC_DRV_S35390A is not set
# CONFIG_RTC_DRV_FM3130 is not set
# CONFIG_RTC_DRV_RX8010 is not set
# CONFIG_RTC_DRV_RX8111 is not set
CONFIG_RTC_DRV_RX8581=m
# CONFIG_RTC_DRV_RX8025 is not set
# CONFIG_RTC_DRV_EM3027 is not set
@@ -6357,6 +6371,7 @@ CONFIG_VIRTIO_INPUT=m
CONFIG_VIRTIO_MMIO=y
CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y
CONFIG_VIRTIO_DMA_SHARED_BUFFER=m
# CONFIG_VIRTIO_DEBUG is not set
# CONFIG_VDPA is not set
CONFIG_VHOST_MENU=y
# CONFIG_VHOST_NET is not set
@@ -6395,7 +6410,6 @@ CONFIG_XEN_AUTO_XLATE=y
# CONFIG_GREYBUS is not set
# CONFIG_COMEDI is not set
CONFIG_STAGING=y
# CONFIG_PRISM2_USB is not set
# CONFIG_RTLLIB is not set
CONFIG_RTL8723BS=m
CONFIG_R8712U=m
@@ -6452,7 +6466,6 @@ CONFIG_VIDEO_MAX96712=m
# CONFIG_LTE_GDM724X is not set
# CONFIG_FB_TFT is not set
# CONFIG_KS7010 is not set
# CONFIG_PI433 is not set
# CONFIG_XIL_AXIS_FIFO is not set
# CONFIG_FIELDBUS_DEV is not set
# CONFIG_VME_BUS is not set
@@ -6476,6 +6489,8 @@ CONFIG_CROS_USBPD_LOGGER=m
CONFIG_CROS_USBPD_NOTIFY=y
# CONFIG_MELLANOX_PLATFORM is not set
CONFIG_SURFACE_PLATFORMS=y
CONFIG_ARM64_PLATFORM_DEVICES=y
# CONFIG_EC_ACER_ASPIRE1 is not set
CONFIG_HAVE_CLK=y
CONFIG_HAVE_CLK_PREPARE=y
CONFIG_COMMON_CLK=y
@@ -6668,6 +6683,7 @@ CONFIG_MTK_CPUX_TIMER=y
CONFIG_MAILBOX=y
CONFIG_ARM_MHU=y
# CONFIG_ARM_MHU_V2 is not set
# CONFIG_ARM_MHU_V3 is not set
CONFIG_PLATFORM_MHU=y
# CONFIG_PL320_MBOX is not set
# CONFIG_ALTERA_MBOX is not set
@@ -6942,6 +6958,7 @@ CONFIG_IIO_CONSUMERS_PER_TRIGGER=2
# CONFIG_AD7091R5 is not set
# CONFIG_AD7091R8 is not set
# CONFIG_AD7124 is not set
# CONFIG_AD7173 is not set
# CONFIG_AD7192 is not set
# CONFIG_AD7266 is not set
# CONFIG_AD7280 is not set
@@ -6958,6 +6975,7 @@ CONFIG_IIO_CONSUMERS_PER_TRIGGER=2
# CONFIG_AD7793 is not set
# CONFIG_AD7887 is not set
# CONFIG_AD7923 is not set
# CONFIG_AD7944 is not set
# CONFIG_AD7949 is not set
# CONFIG_AD799X is not set
# CONFIG_AD9467 is not set
@@ -7108,6 +7126,8 @@ CONFIG_IIO_ST_SENSORS_CORE=m
# CONFIG_AD5593R is not set
# CONFIG_AD5504 is not set
# CONFIG_AD5624R_SPI is not set
# CONFIG_AD9739A is not set
# CONFIG_ADI_AXI_DAC is not set
# CONFIG_LTC2688 is not set
# CONFIG_AD5686_SPI is not set
# CONFIG_AD5696_I2C is not set
@@ -7255,6 +7275,7 @@ CONFIG_IIO_ST_LSM6DSX_SPI=m
# CONFIG_AL3010 is not set
# CONFIG_AL3320A is not set
# CONFIG_APDS9300 is not set
# CONFIG_APDS9306 is not set
# CONFIG_APDS9960 is not set
# CONFIG_AS73211 is not set
# CONFIG_BH1750 is not set
@@ -7461,7 +7482,6 @@ CONFIG_MPL3115=m
# CONFIG_NTB is not set
CONFIG_PWM=y
CONFIG_PWM_SYSFS=y
# CONFIG_PWM_DEBUG is not set
# CONFIG_PWM_ATMEL_TCB is not set
# CONFIG_PWM_CLK is not set
@@ -7517,6 +7537,7 @@ CONFIG_PHY_CADENCE_SIERRA=m
# CONFIG_PHY_PXA_28NM_HSIC is not set
# CONFIG_PHY_PXA_28NM_USB2 is not set
# CONFIG_PHY_MTK_PCIE is not set
# CONFIG_PHY_MTK_XFI_TPHY is not set
CONFIG_PHY_MTK_TPHY=y
# CONFIG_PHY_MTK_UFS is not set
# CONFIG_PHY_MTK_XSPHY is not set
@@ -7597,6 +7618,7 @@ CONFIG_FPGA=y
# CONFIG_ALTERA_PR_IP_CORE is not set
# CONFIG_FPGA_MGR_ALTERA_PS_SPI is not set
CONFIG_FPGA_MGR_ALTERA_CVP=m
# CONFIG_FPGA_MGR_XILINX_SELECTMAP is not set
# CONFIG_FPGA_MGR_XILINX_SPI is not set
# CONFIG_FPGA_MGR_ICE40_SPI is not set
# CONFIG_FPGA_MGR_MACHXO2_SPI is not set
@@ -7712,7 +7734,7 @@ CONFIG_OVERLAY_FS_REDIRECT_ALWAYS_FOLLOW=y
#
# Caches
#
CONFIG_NETFS_SUPPORT=m
CONFIG_NETFS_SUPPORT=y
# CONFIG_NETFS_STATS is not set
# CONFIG_FSCACHE is not set
# end of Caches
@@ -7825,6 +7847,7 @@ CONFIG_NFS_V4_1_IMPLEMENTATION_ID_DOMAIN="kernel.org"
# CONFIG_NFS_V4_1_MIGRATION is not set
CONFIG_NFS_V4_SECURITY_LABEL=y
CONFIG_ROOT_NFS=y
# CONFIG_NFS_FSCACHE is not set
# CONFIG_NFS_USE_LEGACY_DNS is not set
CONFIG_NFS_USE_KERNEL_DNS=y
CONFIG_NFS_DISABLE_UDP_SUPPORT=y
@@ -8344,13 +8367,13 @@ CONFIG_NEED_DMA_MAP_STATE=y
CONFIG_ARCH_DMA_ADDR_T_64BIT=y
CONFIG_DMA_DECLARE_COHERENT=y
CONFIG_ARCH_HAS_SETUP_DMA_OPS=y
CONFIG_ARCH_HAS_TEARDOWN_DMA_OPS=y
CONFIG_ARCH_HAS_SYNC_DMA_FOR_DEVICE=y
CONFIG_ARCH_HAS_SYNC_DMA_FOR_CPU=y
CONFIG_ARCH_HAS_DMA_PREP_COHERENT=y
CONFIG_SWIOTLB=y
# CONFIG_SWIOTLB_DYNAMIC is not set
CONFIG_DMA_BOUNCE_UNALIGNED_KMALLOC=y
CONFIG_DMA_NEED_SYNC=y
# CONFIG_DMA_RESTRICTED_POOL is not set
CONFIG_DMA_NONCOHERENT_MMAP=y
CONFIG_DMA_COHERENT_POOL=y
@@ -8492,6 +8515,7 @@ CONFIG_ARCH_HAS_DEBUG_VIRTUAL=y
# CONFIG_DEBUG_VIRTUAL is not set
CONFIG_DEBUG_MEMORY_INIT=y
# CONFIG_DEBUG_PER_CPU_MAPS is not set
# CONFIG_MEM_ALLOC_PROFILING is not set
CONFIG_HAVE_ARCH_KASAN=y
CONFIG_HAVE_ARCH_KASAN_SW_TAGS=y
CONFIG_HAVE_ARCH_KASAN_HW_TAGS=y
@@ -8583,6 +8607,7 @@ CONFIG_RCU_TRACE=y
# CONFIG_DEBUG_WQ_FORCE_RR_CPU is not set
# CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set
# CONFIG_LATENCYTOP is not set
CONFIG_USER_STACKTRACE_SUPPORT=y
CONFIG_HAVE_FUNCTION_TRACER=y
CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
CONFIG_HAVE_FUNCTION_GRAPH_RETVAL=y
@@ -6,7 +6,7 @@
_flavor="postmarketos-qcom-msm8953"
pkgname=linux-$_flavor
pkgver=6.9.1
pkgrel=1
pkgrel=2
pkgdesc="Close to mainline linux kernel for Qualcomm Snapdragon MSM8953"
arch="aarch64"
_carch="arm64"
@@ -62,5 +62,5 @@ package() {
sha512sums="
dc82b8cbab26b591e77b350408fc2ace552f5c84a6f6a0bad87808d4d737e9467d9ace6adac929043682c77881476ff50ee7e5a1397a36b8f3695c531d2b426e linux-postmarketos-qcom-msm8953-v6.9.1-r1.tar.gz
787d5c7b7343c848071c1cd479f3c6db84067b28e85129e429fe42e22e4d2fbad3197d295b883aaed65c0bf7a9e8c1e25f54967060d0ca8ddd489b12e38ea220 config-postmarketos-qcom-msm8953.aarch64
7edf5d07cd470fafb42836f347af5b18c680080e71b8bef7ebb492d7bd4972a4beb0a81be96a6dcaf6461187f121947136b7441b8d6ce8674092e3ad6445eb0a config-postmarketos-qcom-msm8953.aarch64
"
@@ -1164,8 +1164,8 @@ CONFIG_NETFILTER_XT_MATCH_IPVS=m
# CONFIG_NETFILTER_XT_MATCH_LENGTH is not set
# CONFIG_NETFILTER_XT_MATCH_LIMIT is not set
# CONFIG_NETFILTER_XT_MATCH_MAC is not set
# CONFIG_NETFILTER_XT_MATCH_MARK is not set
# CONFIG_NETFILTER_XT_MATCH_MULTIPORT is not set
CONFIG_NETFILTER_XT_MATCH_MARK=m
CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
# CONFIG_NETFILTER_XT_MATCH_NFACCT is not set
# CONFIG_NETFILTER_XT_MATCH_OSF is not set
# CONFIG_NETFILTER_XT_MATCH_OWNER is not set
@@ -1,31 +0,0 @@
From 659a3b8a7ff330a1007bf2844253451b6fdbe9c3 Mon Sep 17 00:00:00 2001
From: Nikita Travkin <nikita@trvn.ru>
Date: Tue, 1 Aug 2023 12:23:37 +0500
Subject: [PATCH 1/5] drm/panel-edp: Add enable timings for N140HCA-EAC panel
Add timings for InnoLux N140HCA-EAC. This panel is found on some laptops
such as Acer Aspire 1.
Signed-off-by: Nikita Travkin <nikita@trvn.ru>
Reviewed-by: Douglas Anderson <dianders@chromium.org>
Signed-off-by: Douglas Anderson <dianders@chromium.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20230801-aspire1-cmn-panel-v1-1-c3d88e389805@trvn.ru
---
drivers/gpu/drm/panel/panel-edp.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/gpu/drm/panel/panel-edp.c b/drivers/gpu/drm/panel/panel-edp.c
index a163585a2a52..31ac50138c48 100644
--- a/drivers/gpu/drm/panel/panel-edp.c
+++ b/drivers/gpu/drm/panel/panel-edp.c
@@ -1887,6 +1887,7 @@ static const struct edp_panel_entry edp_panels[] = {
EDP_PANEL_ENTRY('C', 'M', 'N', 0x1152, &delay_200_500_e80_d50, "N116BCN-EA1"),
EDP_PANEL_ENTRY('C', 'M', 'N', 0x1154, &delay_200_500_e80_d50, "N116BCA-EA2"),
EDP_PANEL_ENTRY('C', 'M', 'N', 0x1247, &delay_200_500_e80_d50, "N120ACA-EA1"),
+ EDP_PANEL_ENTRY('C', 'M', 'N', 0x14d4, &delay_200_500_e80_d50, "N140HCA-EAC"),
EDP_PANEL_ENTRY('I', 'V', 'O', 0x057d, &delay_200_500_e200, "R140NWF5 RH"),
EDP_PANEL_ENTRY('I', 'V', 'O', 0x854b, &delay_200_500_p2e100, "R133NW4K-R0"),
--
2.41.0
@@ -1,7 +1,7 @@
From d3e05226627152fff5417c441407fa4a796b707b Mon Sep 17 00:00:00 2001
From 46ee4de1b5c5099e937ffa0dc044390e4455c3b3 Mon Sep 17 00:00:00 2001
From: Nikita Travkin <nikita@trvn.ru>
Date: Thu, 7 Sep 2023 15:02:35 +0500
Subject: [PATCH 08/17] remoteproc: qcom: pas: Add sc7180 adsp
Subject: [PATCH 1/8] remoteproc: qcom: pas: Add sc7180 adsp
sc7180 has a dedicated ADSP similar to the one found in sm8250.
Add it's compatible to the driver reusing the existing config so
@@ -16,10 +16,10 @@ Signed-off-by: Bjorn Andersson <andersson@kernel.org>
1 file changed, 1 insertion(+)
diff --git a/drivers/remoteproc/qcom_q6v5_pas.c b/drivers/remoteproc/qcom_q6v5_pas.c
index 6afd0941e552..92aa60d81845 100644
index b5447dd2dd35..55fafc68200e 100644
--- a/drivers/remoteproc/qcom_q6v5_pas.c
+++ b/drivers/remoteproc/qcom_q6v5_pas.c
@@ -956,6 +956,7 @@ static const struct of_device_id adsp_of_match[] = {
@@ -1161,6 +1161,7 @@ static const struct of_device_id adsp_of_match[] = {
{ .compatible = "qcom,qcs404-adsp-pas", .data = &adsp_resource_init },
{ .compatible = "qcom,qcs404-cdsp-pas", .data = &cdsp_resource_init },
{ .compatible = "qcom,qcs404-wcss-pas", .data = &wcss_resource_init },
@@ -28,5 +28,5 @@ index 6afd0941e552..92aa60d81845 100644
{ .compatible = "qcom,sc7280-mpss-pas", .data = &mpss_resource_init},
{ .compatible = "qcom,sc8180x-adsp-pas", .data = &sm8150_adsp_resource},
--
2.43.0
2.43.2
@@ -1,7 +1,7 @@
From 904af70e09880a072393d4871abe16f99cdde2eb Mon Sep 17 00:00:00 2001
From f997651c8dbcdbff191306117c4d4339d09e0924 Mon Sep 17 00:00:00 2001
From: Nikita Travkin <nikita@trvn.ru>
Date: Thu, 7 Sep 2023 15:02:36 +0500
Subject: [PATCH 09/17] arm64: dts: qcom: sc7180: Add tertiary mi2s pinctrl
Subject: [PATCH 2/8] arm64: dts: qcom: sc7180: Add tertiary mi2s pinctrl
Some devices use tertiary mi2s to connect external audio codec.
Add it near the other two i2s pinctrl definitions so the devices don't
@@ -17,12 +17,12 @@ Signed-off-by: Bjorn Andersson <andersson@kernel.org>
1 file changed, 5 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/sc7180.dtsi b/arch/arm64/boot/dts/qcom/sc7180.dtsi
index 64ae9f27ba80..6988140a5270 100644
index f7c528ecb224..db5d04181ac4 100644
--- a/arch/arm64/boot/dts/qcom/sc7180.dtsi
+++ b/arch/arm64/boot/dts/qcom/sc7180.dtsi
@@ -1957,6 +1957,11 @@ pinmux {
function = "lpass_ext";
};
@@ -2042,6 +2042,11 @@ pri_mi2s_mclk_active: pri-mi2s-mclk-active-state {
pins = "gpio57";
function = "lpass_ext";
};
+
+ ter_mi2s_active: ter-mi2s-active-state {
@@ -33,5 +33,5 @@ index 64ae9f27ba80..6988140a5270 100644
remoteproc_mpss: remoteproc@4080000 {
--
2.43.0
2.43.2
@@ -1,63 +0,0 @@
From c093d7dee08532d3171fab9308939308441944ea Mon Sep 17 00:00:00 2001
From: Nikita Travkin <nikita@trvn.ru>
Date: Sat, 8 Apr 2023 13:20:14 +0500
Subject: [PATCH 2/5] drm/bridge: ti-sn65dsi86: Implement wait_hpd_asserted
This bridge doesn't actually implement HPD due to it being way too slow
but instead expects the panel driver to wait enough to assume HPD is
asserted. However some panels (such as the generic 'edp-panel') expect
the bridge to deal with the delay and pass maximum delay to the aux
instead.
In order to support such panels, add a dummy implementation of wait
that would just sleep the maximum delay and assume no failure has
happened.
Signed-off-by: Nikita Travkin <nikita@trvn.ru>
Reviewed-by: Douglas Anderson <dianders@chromium.org>
Signed-off-by: Douglas Anderson <dianders@chromium.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20230408082014.235425-1-nikita@trvn.ru
---
drivers/gpu/drm/bridge/ti-sn65dsi86.c | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
diff --git a/drivers/gpu/drm/bridge/ti-sn65dsi86.c b/drivers/gpu/drm/bridge/ti-sn65dsi86.c
index b89f7f7ca188..60930d35ea50 100644
--- a/drivers/gpu/drm/bridge/ti-sn65dsi86.c
+++ b/drivers/gpu/drm/bridge/ti-sn65dsi86.c
@@ -631,6 +631,24 @@ static ssize_t ti_sn_aux_transfer(struct drm_dp_aux *aux,
return len;
}
+static int ti_sn_aux_wait_hpd_asserted(struct drm_dp_aux *aux, unsigned long wait_us)
+{
+ /*
+ * The HPD in this chip is a bit useless (See comment in
+ * ti_sn65dsi86_enable_comms) so if our driver is expected to wait
+ * for HPD, we just assume it's asserted after the wait_us delay.
+ *
+ * In case we are asked to wait forever (wait_us=0) take conservative
+ * 500ms delay.
+ */
+ if (wait_us == 0)
+ wait_us = 500000;
+
+ usleep_range(wait_us, wait_us + 1000);
+
+ return 0;
+}
+
static int ti_sn_aux_probe(struct auxiliary_device *adev,
const struct auxiliary_device_id *id)
{
@@ -640,6 +658,7 @@ static int ti_sn_aux_probe(struct auxiliary_device *adev,
pdata->aux.name = "ti-sn65dsi86-aux";
pdata->aux.dev = &adev->dev;
pdata->aux.transfer = ti_sn_aux_transfer;
+ pdata->aux.wait_hpd_asserted = ti_sn_aux_wait_hpd_asserted;
drm_dp_aux_init(&pdata->aux);
ret = devm_of_dp_aux_populate_ep_devices(&pdata->aux);
--
2.41.0
@@ -1,7 +1,7 @@
From 73db0fa78b569523c6a5fa8e68ddfbe83a07be6c Mon Sep 17 00:00:00 2001
From 419d22eeba6b335ba58d8dd9d064b871a37cb1fb Mon Sep 17 00:00:00 2001
From: Nikita Travkin <nikita@trvn.ru>
Date: Thu, 7 Sep 2023 15:02:37 +0500
Subject: [PATCH 10/17] arm64: dts: qcom: sc7180: Add ADSP
Subject: [PATCH 3/8] arm64: dts: qcom: sc7180: Add ADSP
sc7180 has an ADSP remoteproc that exclusively controls the audio
hardware on devices that use Qualcomm firmware.
@@ -18,10 +18,10 @@ Signed-off-by: Bjorn Andersson <andersson@kernel.org>
1 file changed, 122 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/sc7180.dtsi b/arch/arm64/boot/dts/qcom/sc7180.dtsi
index 6988140a5270..b9d6c95191ae 100644
index db5d04181ac4..3683419ee8f5 100644
--- a/arch/arm64/boot/dts/qcom/sc7180.dtsi
+++ b/arch/arm64/boot/dts/qcom/sc7180.dtsi
@@ -19,6 +19,8 @@
@@ -20,6 +20,8 @@
#include <dt-bindings/reset/qcom,sdm845-aoss.h>
#include <dt-bindings/reset/qcom,sdm845-pdc.h>
#include <dt-bindings/soc/qcom,rpmh-rsc.h>
@@ -30,7 +30,7 @@ index 6988140a5270..b9d6c95191ae 100644
#include <dt-bindings/thermal/thermal.h>
/ {
@@ -3635,6 +3637,126 @@ wifi: wifi@18800000 {
@@ -3781,6 +3783,126 @@ wifi: wifi@18800000 {
status = "disabled";
};
@@ -158,5 +158,5 @@ index 6988140a5270..b9d6c95191ae 100644
compatible = "qcom,sc7180-lpasscorecc";
reg = <0 0x62d00000 0 0x50000>,
--
2.43.0
2.43.2
@@ -1,76 +0,0 @@
From 9b72464591d389f422b5e4485aa8c97afd79356a Mon Sep 17 00:00:00 2001
From: Nikita Travkin <nikita@trvn.ru>
Date: Mon, 15 May 2023 14:37:41 +0500
Subject: [PATCH 3/5] arm64: dts: qcom: sc7180: Don't enable lpass clocks by
default
lpass clocks are usually blocked from HLOS by the firmware and
instead are managed by the ADSP. Mark them as reserved and explicitly
enable in the CrOS boards that have special, cooperative firmware.
The IDP board gets lpass clocks disabled as it doesn't make use of sound
anyway and might use Qualcomm firmware that blocks those clocks. [1]
[1] https://lore.kernel.org/all/ZBJhmDd3zK%2FAiwBD@google.com/
Signed-off-by: Nikita Travkin <nikita@trvn.ru>
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Reviewed-by: Douglas Anderson <dianders@chromium.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230515093744.289045-2-nikita@trvn.ru
---
arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi | 8 ++++++++
arch/arm64/boot/dts/qcom/sc7180.dtsi | 4 ++++
2 files changed, 12 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi b/arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi
index eae22e6e97c1..6508628fd5ba 100644
--- a/arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi
+++ b/arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi
@@ -777,6 +777,10 @@ alc5682: codec@1a {
};
};
+&lpasscc {
+ status = "okay";
+};
+
&lpass_cpu {
status = "okay";
@@ -802,6 +806,10 @@ hdmi@5 {
};
};
+&lpass_hm {
+ status = "okay";
+};
+
&mdp {
status = "okay";
};
diff --git a/arch/arm64/boot/dts/qcom/sc7180.dtsi b/arch/arm64/boot/dts/qcom/sc7180.dtsi
index 6f0ee4e13ef1..a7cd017b3ece 100644
--- a/arch/arm64/boot/dts/qcom/sc7180.dtsi
+++ b/arch/arm64/boot/dts/qcom/sc7180.dtsi
@@ -3576,6 +3576,8 @@ lpasscc: clock-controller@62d00000 {
power-domains = <&lpass_hm LPASS_CORE_HM_GDSCR>;
#clock-cells = <1>;
#power-domain-cells = <1>;
+
+ status = "reserved"; /* Controlled by ADSP */
};
lpass_cpu: lpass@62d87000 {
@@ -3621,6 +3623,8 @@ lpass_hm: clock-controller@63000000 {
clock-names = "iface", "bi_tcxo";
#clock-cells = <1>;
#power-domain-cells = <1>;
+
+ status = "reserved"; /* Controlled by ADSP */
};
};
--
2.41.0
@@ -1,7 +1,7 @@
From 98378d3ecfeb0741b313ff607a2c883ebee26da3 Mon Sep 17 00:00:00 2001
From 86b2a5a727c07a83acea7946a132dddc27549299 Mon Sep 17 00:00:00 2001
From: Nikita Travkin <nikita@trvn.ru>
Date: Thu, 19 Oct 2023 19:14:13 +0500
Subject: [PATCH 12/17] ASoC: qcom: sc7180: Add support for qdsp6 baked sound
Date: Fri, 20 Oct 2023 20:33:47 +0500
Subject: [PATCH 4/8] ASoC: qcom: sc7180: Add support for qdsp6 baked sound
Some sc7180 devices use audio adsp to play sound. The setup for this
adsp is similar to the dirrect lpass usage but requires the use of
@@ -19,31 +19,36 @@ trivially expandable to the other devices that will be added in the
future.
Signed-off-by: Nikita Travkin <nikita@trvn.ru>
Link: https://lore.kernel.org/r/20231020-sc7180-qdsp-sndcard-v1-2-157706b7d06f@trvn.ru
Signed-off-by: Mark Brown <broonie@kernel.org>
---
sound/soc/qcom/sc7180.c | 194 +++++++++++++++++++++++++++++++++++-----
1 file changed, 172 insertions(+), 22 deletions(-)
sound/soc/qcom/sc7180.c | 195 +++++++++++++++++++++++++++++++++++-----
1 file changed, 173 insertions(+), 22 deletions(-)
diff --git a/sound/soc/qcom/sc7180.c b/sound/soc/qcom/sc7180.c
index 57c5f35dfcc5..c4f58ecd3896 100644
index d1fd40e3f7a9..a198fcda2955 100644
--- a/sound/soc/qcom/sc7180.c
+++ b/sound/soc/qcom/sc7180.c
@@ -15,6 +15,7 @@
#include <sound/pcm.h>
#include <sound/soc.h>
#include <uapi/linux/input-event-codes.h>
+#include "qdsp6/q6afe.h"
@@ -5,6 +5,7 @@
// sc7180.c -- ALSA SoC Machine driver for SC7180
#include "../codecs/rt5682.h"
#include <dt-bindings/sound/sc7180-lpass.h>
+#include <dt-bindings/sound/qcom,q6afe.h>
#include <linux/gpio.h>
#include <linux/gpio/consumer.h>
#include <linux/module.h>
@@ -20,8 +21,10 @@
#include "../codecs/rt5682s.h"
@@ -22,6 +23,7 @@
#include "common.h"
#include "lpass.h"
+#include "qdsp6/q6afe.h"
#define DEFAULT_MCLK_RATE 19200000
+#define MI2S_BCLK_RATE 1536000
#define RT5682_PLL1_FREQ (48000 * 512)
#define DRIVER_NAME "SC7180"
@@ -134,12 +136,28 @@ static int sc7180_init(struct snd_soc_pcm_runtime *rtd)
@@ -134,12 +137,28 @@ static int sc7180_init(struct snd_soc_pcm_runtime *rtd)
return 0;
}
@@ -53,7 +58,7 @@ index 57c5f35dfcc5..c4f58ecd3896 100644
- struct snd_soc_pcm_runtime *rtd = substream->private_data;
- struct snd_soc_card *card = rtd->card;
- struct sc7180_snd_data *data = snd_soc_card_get_drvdata(card);
struct snd_soc_dai *cpu_dai = asoc_rtd_to_cpu(rtd, 0);
struct snd_soc_dai *cpu_dai = snd_soc_rtd_to_cpu(rtd, 0);
+
+ switch (cpu_dai->id) {
+ case PRIMARY_MI2S_RX:
@@ -73,10 +78,10 @@ index 57c5f35dfcc5..c4f58ecd3896 100644
+
+static int sc7180_startup_realtek_codec(struct snd_soc_pcm_runtime *rtd)
+{
struct snd_soc_dai *codec_dai = asoc_rtd_to_codec(rtd, 0);
struct snd_soc_dai *codec_dai = snd_soc_rtd_to_codec(rtd, 0);
int pll_id, pll_source, pll_in, pll_out, clk_id, ret;
@@ -155,8 +173,40 @@ static int sc7180_snd_startup(struct snd_pcm_substream *substream)
@@ -155,8 +174,40 @@ static int sc7180_snd_startup(struct snd_pcm_substream *substream)
clk_id = RT5682S_SCLK_S_PLL2;
pll_out = RT5682_PLL1_FREQ;
pll_in = DEFAULT_MCLK_RATE;
@@ -111,13 +116,13 @@ index 57c5f35dfcc5..c4f58ecd3896 100644
+ struct snd_soc_pcm_runtime *rtd = substream->private_data;
+ struct snd_soc_card *card = rtd->card;
+ struct sc7180_snd_data *data = snd_soc_card_get_drvdata(card);
+ struct snd_soc_dai *cpu_dai = asoc_rtd_to_cpu(rtd, 0);
+ struct snd_soc_dai *cpu_dai = snd_soc_rtd_to_cpu(rtd, 0);
+ int ret;
+
switch (cpu_dai->id) {
case MI2S_PRIMARY:
if (++data->pri_mi2s_clk_count == 1) {
@@ -166,30 +216,66 @@ static int sc7180_snd_startup(struct snd_pcm_substream *substream)
@@ -166,30 +217,66 @@ static int sc7180_snd_startup(struct snd_pcm_substream *substream)
SNDRV_PCM_STREAM_PLAYBACK);
}
@@ -153,8 +158,8 @@ index 57c5f35dfcc5..c4f58ecd3896 100644
+ struct snd_soc_pcm_runtime *rtd = substream->private_data;
+ struct snd_soc_card *card = rtd->card;
+ struct sc7180_snd_data *data = snd_soc_card_get_drvdata(card);
+ struct snd_soc_dai *cpu_dai = asoc_rtd_to_cpu(rtd, 0);
+ struct snd_soc_dai *codec_dai = asoc_rtd_to_codec(rtd, 0);
+ struct snd_soc_dai *cpu_dai = snd_soc_rtd_to_cpu(rtd, 0);
+ struct snd_soc_dai *codec_dai = snd_soc_rtd_to_codec(rtd, 0);
+ int ret;
+
+ switch (cpu_dai->id) {
@@ -186,8 +191,8 @@ index 57c5f35dfcc5..c4f58ecd3896 100644
- case MI2S_SECONDARY:
+ case TERTIARY_MI2S_RX:
+ snd_soc_dai_set_sysclk(cpu_dai,
+ Q6AFE_LPASS_CLK_ID_TER_MI2S_IBIT,
+ MI2S_BCLK_RATE,
+ Q6AFE_LPASS_CLK_ID_TER_MI2S_IBIT,
+ MI2S_BCLK_RATE,
+ SNDRV_PCM_STREAM_PLAYBACK);
+
+ snd_soc_dai_set_fmt(codec_dai,
@@ -201,7 +206,7 @@ index 57c5f35dfcc5..c4f58ecd3896 100644
break;
default:
dev_err(rtd->dev, "%s: invalid dai id 0x%x\n", __func__,
@@ -247,6 +333,42 @@ static void sc7180_snd_shutdown(struct snd_pcm_substream *substream)
@@ -247,6 +334,42 @@ static void sc7180_snd_shutdown(struct snd_pcm_substream *substream)
}
}
@@ -210,7 +215,7 @@ index 57c5f35dfcc5..c4f58ecd3896 100644
+ struct snd_soc_pcm_runtime *rtd = substream->private_data;
+ struct snd_soc_card *card = rtd->card;
+ struct sc7180_snd_data *data = snd_soc_card_get_drvdata(card);
+ struct snd_soc_dai *cpu_dai = asoc_rtd_to_cpu(rtd, 0);
+ struct snd_soc_dai *cpu_dai = snd_soc_rtd_to_cpu(rtd, 0);
+
+ switch (cpu_dai->id) {
+ case PRIMARY_MI2S_RX:
@@ -228,8 +233,8 @@ index 57c5f35dfcc5..c4f58ecd3896 100644
+ break;
+ case TERTIARY_MI2S_RX:
+ snd_soc_dai_set_sysclk(cpu_dai,
+ Q6AFE_LPASS_CLK_ID_TER_MI2S_IBIT,
+ 0,
+ Q6AFE_LPASS_CLK_ID_TER_MI2S_IBIT,
+ 0,
+ SNDRV_PCM_STREAM_PLAYBACK);
+ break;
+ case DISPLAY_PORT_RX:
@@ -243,8 +248,8 @@ index 57c5f35dfcc5..c4f58ecd3896 100644
+
static int sc7180_adau7002_init(struct snd_soc_pcm_runtime *rtd)
{
struct snd_soc_dai *cpu_dai = asoc_rtd_to_cpu(rtd, 0);
@@ -295,11 +417,30 @@ static int sc7180_adau7002_snd_startup(struct snd_pcm_substream *substream)
struct snd_soc_dai *cpu_dai = snd_soc_rtd_to_cpu(rtd, 0);
@@ -295,11 +418,30 @@ static int sc7180_adau7002_snd_startup(struct snd_pcm_substream *substream)
return 0;
}
@@ -275,7 +280,7 @@ index 57c5f35dfcc5..c4f58ecd3896 100644
static const struct snd_soc_ops sc7180_adau7002_ops = {
.startup = sc7180_adau7002_snd_startup,
};
@@ -355,7 +496,7 @@ static int sc7180_snd_platform_probe(struct platform_device *pdev)
@@ -355,7 +497,7 @@ static int sc7180_snd_platform_probe(struct platform_device *pdev)
struct snd_soc_dai_link *link;
int ret;
int i;
@@ -284,7 +289,7 @@ index 57c5f35dfcc5..c4f58ecd3896 100644
/* Allocate the private data */
data = devm_kzalloc(dev, sizeof(*data), GFP_KERNEL);
@@ -391,6 +532,8 @@ static int sc7180_snd_platform_probe(struct platform_device *pdev)
@@ -391,6 +533,8 @@ static int sc7180_snd_platform_probe(struct platform_device *pdev)
no_headphone = true;
card->dapm_widgets = sc7180_adau7002_snd_widgets;
card->num_dapm_widgets = ARRAY_SIZE(sc7180_adau7002_snd_widgets);
@@ -293,7 +298,7 @@ index 57c5f35dfcc5..c4f58ecd3896 100644
}
ret = qcom_snd_parse_of(card);
@@ -401,6 +544,12 @@ static int sc7180_snd_platform_probe(struct platform_device *pdev)
@@ -401,6 +545,12 @@ static int sc7180_snd_platform_probe(struct platform_device *pdev)
if (no_headphone) {
link->ops = &sc7180_adau7002_ops;
link->init = sc7180_adau7002_init;
@@ -306,7 +311,7 @@ index 57c5f35dfcc5..c4f58ecd3896 100644
} else {
link->ops = &sc7180_ops;
link->init = sc7180_init;
@@ -413,6 +562,7 @@ static int sc7180_snd_platform_probe(struct platform_device *pdev)
@@ -413,6 +563,7 @@ static int sc7180_snd_platform_probe(struct platform_device *pdev)
static const struct of_device_id sc7180_snd_device_id[] = {
{.compatible = "google,sc7180-trogdor"},
{.compatible = "google,sc7180-coachz"},
@@ -315,5 +320,5 @@ index 57c5f35dfcc5..c4f58ecd3896 100644
};
MODULE_DEVICE_TABLE(of, sc7180_snd_device_id);
--
2.43.0
2.43.2
@@ -1,66 +0,0 @@
From d03ea6cf66d36e55b0a57643c1f294b0e828a784 Mon Sep 17 00:00:00 2001
From: Nikita Travkin <nikita@trvn.ru>
Date: Mon, 15 May 2023 14:37:42 +0500
Subject: [PATCH 4/5] arm64: dts: qcom: sc7180: Drop redundant disable in mdp
mdss is useless without a display controller which makes explicitly
enabling mdp redundant. Have it enabled by default to drop the extra
node for all users.
Signed-off-by: Nikita Travkin <nikita@trvn.ru>
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Reviewed-by: Douglas Anderson <dianders@chromium.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230515093744.289045-3-nikita@trvn.ru
---
arch/arm64/boot/dts/qcom/sc7180-idp.dts | 4 ----
arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi | 4 ----
arch/arm64/boot/dts/qcom/sc7180.dtsi | 2 --
3 files changed, 10 deletions(-)
diff --git a/arch/arm64/boot/dts/qcom/sc7180-idp.dts b/arch/arm64/boot/dts/qcom/sc7180-idp.dts
index 9dee131b1e24..d3c4b5804a69 100644
--- a/arch/arm64/boot/dts/qcom/sc7180-idp.dts
+++ b/arch/arm64/boot/dts/qcom/sc7180-idp.dts
@@ -333,10 +333,6 @@ &dsi_phy {
vdds-supply = <&vreg_l4a_0p8>;
};
-&mdp {
- status = "okay";
-};
-
&mdss {
status = "okay";
};
diff --git a/arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi b/arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi
index 6508628fd5ba..f4db4ccf48e5 100644
--- a/arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi
+++ b/arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi
@@ -810,10 +810,6 @@ &lpass_hm {
status = "okay";
};
-&mdp {
- status = "okay";
-};
-
&mdss {
status = "okay";
};
diff --git a/arch/arm64/boot/dts/qcom/sc7180.dtsi b/arch/arm64/boot/dts/qcom/sc7180.dtsi
index a7cd017b3ece..3f02f1ce6f1e 100644
--- a/arch/arm64/boot/dts/qcom/sc7180.dtsi
+++ b/arch/arm64/boot/dts/qcom/sc7180.dtsi
@@ -2937,8 +2937,6 @@ mdp: display-controller@ae01000 {
interrupt-parent = <&mdss>;
interrupts = <0>;
- status = "disabled";
-
ports {
#address-cells = <1>;
#size-cells = <0>;
--
2.41.0
@@ -1,889 +0,0 @@
From f190c467210f639ca33f072f31dd4e2f1c2bcd8b Mon Sep 17 00:00:00 2001
From: Nikita Travkin <nikita@trvn.ru>
Date: Mon, 15 May 2023 14:37:44 +0500
Subject: [PATCH 5/5] arm64: dts: qcom: Add Acer Aspire 1
Acer Aspire 1 is a WoA laptop based on Snapdragon 7c gen1 platform.
The laptop design is similar to trogdor in the choice of primary
components but the specifics on usage of those differ slightly.
Add the devicetree for the laptop with support for most of the
hardware present.
Signed-off-by: Nikita Travkin <nikita@trvn.ru>
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230515093744.289045-5-nikita@trvn.ru
---
arch/arm64/boot/dts/qcom/Makefile | 1 +
.../boot/dts/qcom/sc7180-acer-aspire1.dts | 845 ++++++++++++++++++
2 files changed, 846 insertions(+)
create mode 100644 arch/arm64/boot/dts/qcom/sc7180-acer-aspire1.dts
diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
index d7669a7cee9f..cf482aaf7156 100644
--- a/arch/arm64/boot/dts/qcom/Makefile
+++ b/arch/arm64/boot/dts/qcom/Makefile
@@ -54,6 +54,7 @@ dtb-$(CONFIG_ARCH_QCOM) += qcs404-evb-4000.dtb
dtb-$(CONFIG_ARCH_QCOM) += qrb5165-rb5.dtb
dtb-$(CONFIG_ARCH_QCOM) += sa8155p-adp.dtb
dtb-$(CONFIG_ARCH_QCOM) += sa8295p-adp.dtb
+dtb-$(CONFIG_ARCH_QCOM) += sc7180-acer-aspire1.dtb
dtb-$(CONFIG_ARCH_QCOM) += sc7180-idp.dtb
dtb-$(CONFIG_ARCH_QCOM) += sc7180-trogdor-coachz-r1.dtb
dtb-$(CONFIG_ARCH_QCOM) += sc7180-trogdor-coachz-r1-lte.dtb
diff --git a/arch/arm64/boot/dts/qcom/sc7180-acer-aspire1.dts b/arch/arm64/boot/dts/qcom/sc7180-acer-aspire1.dts
new file mode 100644
index 000000000000..2a80f4090085
--- /dev/null
+++ b/arch/arm64/boot/dts/qcom/sc7180-acer-aspire1.dts
@@ -0,0 +1,845 @@
+// SPDX-License-Identifier: BSD-3-Clause
+
+/dts-v1/;
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
+
+#include "sc7180.dtsi"
+
+#include "pm6150.dtsi"
+#include "pm6150l.dtsi"
+
+/delete-node/ &tz_mem;
+/delete-node/ &ipa_fw_mem;
+
+/ {
+ model = "Acer Aspire 1";
+ compatible = "acer,aspire1", "qcom,sc7180";
+ chassis-type = "laptop";
+
+ aliases {
+ bluetooth0 = &bluetooth;
+ hsuart0 = &uart3;
+ serial0 = &uart8;
+ wifi0 = &wifi;
+ };
+
+ chosen {
+ stdout-path = "serial0:115200n8";
+ };
+
+ reserved-memory {
+ zap_mem: zap-shader@80840000 {
+ reg = <0x0 0x80840000 0 0x2000>;
+ no-map;
+ };
+
+ venus_mem: venus@85b00000 {
+ reg = <0x0 0x85b00000 0 0x500000>;
+ no-map;
+ };
+
+ mpss_mem: mpss@86000000 {
+ reg = <0x0 0x86000000 0x0 0x2000000>;
+ no-map;
+ };
+
+ adsp_mem: adsp@8e400000 {
+ reg = <0x0 0x8e400000 0x0 0x2800000>;
+ no-map;
+ };
+
+ wlan_mem: wlan@93900000 {
+ reg = <0x0 0x93900000 0x0 0x200000>;
+ no-map;
+ };
+ };
+
+ max98357a: audio-codec {
+ compatible = "maxim,max98357a";
+ sdmode-gpios = <&tlmm 23 GPIO_ACTIVE_HIGH>;
+
+ pinctrl-0 = <&amp_sd_mode_default>;
+ pinctrl-names = "default";
+
+ #sound-dai-cells = <0>;
+ };
+
+ backlight: backlight {
+ compatible = "pwm-backlight";
+ pwms = <&sn65dsi86_bridge 1000000>;
+ enable-gpios = <&tlmm 10 GPIO_ACTIVE_HIGH>;
+
+ pinctrl-0 = <&soc_bkoff_default>;
+ pinctrl-names = "default";
+ };
+
+ reg_brij_1p2: bridge-1p2-regulator {
+ compatible = "regulator-fixed";
+ regulator-name = "brij_1p2";
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <1200000>;
+
+ gpio = <&tlmm 19 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+
+ pinctrl-0 = <&reg_edp_1p2_en_default>;
+ pinctrl-names = "default";
+ };
+
+ reg_brij_1p8: bridge-regulator {
+ compatible = "regulator-fixed";
+ regulator-name = "brij_1p8";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+
+ vin-supply = <&vreg_l8c_1p8>;
+
+ gpio = <&tlmm 20 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+
+ pinctrl-0 = <&reg_edp_1p8_en_default>;
+ pinctrl-names = "default";
+ };
+
+ reg_codec_3p3: codec-regulator {
+ compatible = "regulator-fixed";
+ regulator-name = "codec_3p3";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+
+ gpio = <&tlmm 83 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+
+ pinctrl-0 = <&reg_audio_en_default>;
+ pinctrl-names = "default";
+ };
+
+ reg_lcm_3p3: panel-regulator {
+ compatible = "regulator-fixed";
+ regulator-name = "lcm_3p3";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+
+ gpio = <&tlmm 26 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+
+ pinctrl-0 = <&reg_lcm_en_default>;
+ pinctrl-names = "default";
+ };
+
+ reg_tp_3p3: touchpad-regulator {
+ compatible = "regulator-fixed";
+ regulator-name = "tp_3p3";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+
+ gpio = <&tlmm 25 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+
+ pinctrl-0 = <&reg_tp_en_default>;
+ pinctrl-names = "default";
+ };
+};
+
+&dsi0 {
+ vdda-supply = <&vreg_l3c_1p2>;
+ status = "okay";
+};
+
+&dsi0_out {
+ remote-endpoint = <&sn65dsi86_in>;
+ data-lanes = <0 1 2 3>;
+};
+
+&dsi_phy {
+ vdds-supply = <&vreg_l4a_0p8>;
+ status = "okay";
+};
+
+&i2c2 {
+ clock-frequency = <400000>;
+ status = "okay";
+
+ /* embedded-controller@76 */
+};
+
+&i2c4 {
+ clock-frequency = <400000>;
+ status = "okay";
+
+ /*
+ * NOTE: DSDT defines two possible touchpads, other one is
+ *
+ * reg = <0x15>;
+ * hid-descr-addr = <0x1>;
+ */
+
+ touchpad@2c {
+ compatible = "hid-over-i2c";
+ reg = <0x2c>;
+ hid-descr-addr = <0x20>;
+
+ vdd-supply = <&reg_tp_3p3>;
+
+ interrupts-extended = <&tlmm 94 IRQ_TYPE_LEVEL_LOW>;
+
+ pinctrl-0 = <&hid_touchpad_default>;
+ pinctrl-names = "default";
+
+ wakeup-source;
+ };
+
+ keyboard@3a {
+ compatible = "hid-over-i2c";
+ reg = <0x3a>;
+ hid-descr-addr = <0x1>;
+
+ interrupts-extended = <&tlmm 33 IRQ_TYPE_LEVEL_LOW>;
+
+ pinctrl-0 = <&hid_keyboard_default>;
+ pinctrl-names = "default";
+
+ wakeup-source;
+ };
+};
+
+&i2c9 {
+ clock-frequency = <400000>;
+ status = "okay";
+
+ alc5682: codec@1a {
+ compatible = "realtek,rt5682i";
+ reg = <0x1a>;
+
+ #sound-dai-cells = <1>;
+
+ interrupt-parent = <&tlmm>;
+ interrupts = <28 IRQ_TYPE_EDGE_BOTH>;
+
+ pinctrl-0 = <&codec_irq_default>;
+ pinctrl-names = "default";
+
+ AVDD-supply = <&vreg_l15a_1p8>;
+ MICVDD-supply = <&reg_codec_3p3>;
+ VBAT-supply = <&reg_codec_3p3>;
+
+ realtek,dmic1-data-pin = <1>;
+ realtek,dmic1-clk-pin = <1>;
+ realtek,jd-src = <1>;
+ };
+};
+
+&i2c10 {
+ clock-frequency = <400000>;
+ status = "okay";
+
+ sn65dsi86_bridge: bridge@2c {
+ compatible = "ti,sn65dsi86";
+ reg = <0x2c>;
+ gpio-controller;
+ #gpio-cells = <2>;
+ #pwm-cells = <1>;
+
+ interrupt-parent = <&tlmm>;
+ interrupts = <11 IRQ_TYPE_LEVEL_HIGH>;
+
+ enable-gpios = <&tlmm 51 GPIO_ACTIVE_HIGH>;
+ suspend-gpios = <&tlmm 22 GPIO_ACTIVE_LOW>;
+
+ pinctrl-0 = <&bridge_en_default>,
+ <&edp_bridge_irq_default>,
+ <&bridge_suspend_default>;
+ pinctrl-names = "default";
+
+ vpll-supply = <&reg_brij_1p8>;
+ vccio-supply = <&reg_brij_1p8>;
+ vcca-supply = <&reg_brij_1p2>;
+ vcc-supply = <&reg_brij_1p2>;
+
+ clocks = <&rpmhcc RPMH_LN_BB_CLK3>;
+ clock-names = "refclk";
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+
+ sn65dsi86_in: endpoint {
+ remote-endpoint = <&dsi0_out>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+
+ sn65dsi86_out: endpoint {
+ data-lanes = <0 1>;
+ remote-endpoint = <&panel_in_edp>;
+ };
+ };
+ };
+
+ aux-bus {
+ panel: panel {
+ compatible = "edp-panel";
+ power-supply = <&reg_lcm_3p3>;
+ backlight = <&backlight>;
+ hpd-absent-delay-ms = <200>;
+
+ port {
+ panel_in_edp: endpoint {
+ remote-endpoint = <&sn65dsi86_out>;
+ };
+ };
+ };
+ };
+ };
+};
+
+&gpu {
+ status = "okay";
+
+ zap-shader {
+ memory-region = <&zap_mem>;
+ firmware-name = "qcom/sc7180/acer/aspire1/qcdxkmsuc7180.mbn";
+ };
+};
+
+&mdss {
+ status = "okay";
+};
+
+&pm6150_adc {
+ thermistor@4e {
+ reg = <ADC5_AMUX_THM2_100K_PU>;
+ qcom,ratiometric;
+ qcom,hw-settle-time = <200>;
+ };
+
+ charger-thermistor@4f {
+ reg = <ADC5_AMUX_THM3_100K_PU>;
+ qcom,ratiometric;
+ qcom,hw-settle-time = <200>;
+ };
+};
+
+&pm6150_adc_tm {
+ status = "okay";
+
+ charger-thermistor@0 {
+ reg = <0>;
+ io-channels = <&pm6150_adc ADC5_AMUX_THM3_100K_PU>;
+ qcom,ratiometric;
+ qcom,hw-settle-time-us = <200>;
+ };
+
+ thermistor@1 {
+ reg = <1>;
+ io-channels = <&pm6150_adc ADC5_AMUX_THM2_100K_PU>;
+ qcom,ratiometric;
+ qcom,hw-settle-time-us = <200>;
+ };
+};
+
+&pm6150_pon {
+ status = "disabled";
+};
+
+&qupv3_id_0 {
+ status = "okay";
+};
+
+&qupv3_id_1 {
+ status = "okay";
+};
+
+&remoteproc_mpss {
+ firmware-name = "qcom/sc7180/acer/aspire1/qcmpss7180_nm.mbn";
+ status = "okay";
+};
+
+&sdhc_1 {
+ pinctrl-0 = <&sdc1_default>;
+ pinctrl-1 = <&sdc1_sleep>;
+ pinctrl-names = "default", "sleep";
+ vmmc-supply = <&vreg_l19a_2p9>;
+ vqmmc-supply = <&vreg_l12a_1p8>;
+
+ status = "okay";
+};
+
+&uart3 {
+ /delete-property/interrupts;
+ interrupts-extended = <&intc GIC_SPI 604 IRQ_TYPE_LEVEL_HIGH>,
+ <&tlmm 41 IRQ_TYPE_EDGE_FALLING>;
+
+ pinctrl-1 = <&qup_uart3_sleep>;
+ pinctrl-names = "default", "sleep";
+
+ status = "okay";
+
+ bluetooth: bluetooth {
+ compatible = "qcom,wcn3991-bt";
+ vddio-supply = <&vreg_l10a_1p8>;
+ vddxo-supply = <&vreg_l1c_1p8>;
+ vddrf-supply = <&vreg_l2c_1p3>;
+ vddch0-supply = <&vreg_l10c_3p3>;
+ max-speed = <3200000>;
+ };
+};
+
+&uart8 {
+ status = "okay";
+};
+
+&usb_1 {
+ status = "okay";
+};
+
+&usb_1_dwc3 {
+ dr_mode = "host";
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ usb_hub_2_x: hub@1 {
+ compatible = "usbbda,5411";
+ reg = <1>;
+ peer-hub = <&usb_hub_3_x>;
+ };
+
+ usb_hub_3_x: hub@2 {
+ compatible = "usbbda,411";
+ reg = <2>;
+ peer-hub = <&usb_hub_2_x>;
+ };
+};
+
+&usb_1_hsphy {
+ vdd-supply = <&vreg_l4a_0p8>;
+ vdda-pll-supply = <&vreg_l11a_1p8>;
+ vdda-phy-dpdm-supply = <&vreg_l17a_3p0>;
+ qcom,imp-res-offset-value = <8>;
+ qcom,preemphasis-level = <QUSB2_V2_PREEMPHASIS_15_PERCENT>;
+ qcom,preemphasis-width = <QUSB2_V2_PREEMPHASIS_WIDTH_HALF_BIT>;
+ qcom,bias-ctrl-value = <0x22>;
+ qcom,charge-ctrl-value = <3>;
+ qcom,hsdisc-trim-value = <0>;
+
+ status = "okay";
+};
+
+&usb_1_qmpphy {
+ vdda-phy-supply = <&vreg_l3c_1p2>;
+ vdda-pll-supply = <&vreg_l4a_0p8>;
+
+ status = "okay";
+};
+
+&venus {
+ firmware-name = "qcom/sc7180/acer/aspire1/qcvss7180.mbn";
+};
+
+&wifi {
+ vdd-0.8-cx-mx-supply = <&vreg_l9a_0p6>;
+ vdd-1.8-xo-supply = <&vreg_l1c_1p8>;
+ vdd-1.3-rfa-supply = <&vreg_l2c_1p3>;
+ vdd-3.3-ch0-supply = <&vreg_l10c_3p3>;
+ vdd-3.3-ch1-supply = <&vreg_l11c_3p3>;
+
+ status = "okay";
+};
+
+&apps_rsc {
+ regulators-0 {
+ compatible = "qcom,pm6150-rpmh-regulators";
+ qcom,pmic-id = "a";
+
+ vreg_s1a_1p1: smps1 {
+ regulator-min-microvolt = <1128000>;
+ regulator-max-microvolt = <1128000>;
+ };
+
+ vreg_l4a_0p8: ldo4 {
+ regulator-min-microvolt = <824000>;
+ regulator-max-microvolt = <928000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l9a_0p6: ldo9 {
+ regulator-min-microvolt = <488000>;
+ regulator-max-microvolt = <800000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l10a_1p8: ldo10 {
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ regulator-always-on;
+ regulator-boot-on;
+ };
+
+ vreg_l11a_1p8: ldo11 {
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l12a_1p8: ldo12 {
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l13a_1p8: ldo13 {
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l14a_1p8: ldo14 {
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l15a_1p8: ldo15 {
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l16a_2p7: ldo16 {
+ regulator-min-microvolt = <2496000>;
+ regulator-max-microvolt = <3304000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l17a_3p0: ldo17 {
+ regulator-min-microvolt = <2920000>;
+ regulator-max-microvolt = <3232000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l18a_2p8: ldo18 {
+ regulator-min-microvolt = <2496000>;
+ regulator-max-microvolt = <3304000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l19a_2p9: ldo19 {
+ regulator-min-microvolt = <2960000>;
+ regulator-max-microvolt = <2960000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+ };
+
+ regulators-1 {
+ compatible = "qcom,pm6150l-rpmh-regulators";
+ qcom,pmic-id = "c";
+
+ vreg_s8c_1p3: smps8 {
+ regulator-min-microvolt = <1120000>;
+ regulator-max-microvolt = <1408000>;
+ };
+
+ vreg_l1c_1p8: ldo1 {
+ regulator-min-microvolt = <1616000>;
+ regulator-max-microvolt = <1984000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l2c_1p3: ldo2 {
+ regulator-min-microvolt = <1168000>;
+ regulator-max-microvolt = <1304000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l3c_1p2: ldo3 {
+ regulator-min-microvolt = <1144000>;
+ regulator-max-microvolt = <1304000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l4c_1p8: ldo4 {
+ regulator-min-microvolt = <1648000>;
+ regulator-max-microvolt = <3304000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
+ };
+
+ vreg_l5c_1p8: ldo5 {
+ regulator-min-microvolt = <1648000>;
+ regulator-max-microvolt = <3304000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
+ };
+
+ vreg_l6c_2p9: ldo6 {
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <2950000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l7c_3p0: ldo7 {
+ regulator-min-microvolt = <3000000>;
+ regulator-max-microvolt = <3312000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
+ };
+
+ vreg_l8c_1p8: ldo8 {
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l9c_2p9: ldo9 {
+ regulator-min-microvolt = <2952000>;
+ regulator-max-microvolt = <2952000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l10c_3p3: ldo10 {
+ regulator-min-microvolt = <3000000>;
+ regulator-max-microvolt = <3400000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l11c_3p3: ldo11 {
+ regulator-min-microvolt = <3000000>;
+ regulator-max-microvolt = <3400000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_bob: bob {
+ regulator-min-microvolt = <3008000>;
+ regulator-max-microvolt = <3960000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
+ };
+ };
+};
+
+&qup_i2c2_default {
+ drive-strength = <2>;
+
+ /* Has external pullup */
+ bias-disable;
+};
+
+&qup_i2c4_default {
+ drive-strength = <2>;
+
+ /* Has external pullup */
+ bias-disable;
+};
+
+&qup_i2c9_default {
+ drive-strength = <2>;
+
+ /* Has external pullup */
+ bias-disable;
+};
+
+&qup_i2c10_default {
+ drive-strength = <2>;
+
+ /* Has external pullup */
+ bias-disable;
+};
+
+&tlmm {
+ /*
+ * The TZ seem to protect those because some boards can have
+ * fingerprint sensor connected to this range. Not connected
+ * on this board
+ */
+ gpio-reserved-ranges = <58 5>;
+
+ amp_sd_mode_default: amp-sd-mode-deault-state {
+ pins = "gpio23";
+ function = "gpio";
+ drive-strength = <16>;
+ bias-disable;
+ };
+
+ bridge_en_default: bridge-en-default-state {
+ pins = "gpio51";
+ function = "gpio";
+ drive-strength = <16>;
+ bias-disable;
+ };
+
+ bridge_suspend_default: bridge-suspend-default-state {
+ pins = "gpio22";
+ function = "gpio";
+ drive-strength = <16>;
+ bias-pull-up;
+ };
+
+ codec_irq_default: codec-irq-deault-state {
+ pins = "gpio28";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-disable;
+ };
+
+ edp_bridge_irq_default: edp-bridge-irq-default-state {
+ pins = "gpio11";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-pull-down;
+ };
+
+ hid_keyboard_default: hid-keyboard-default-state {
+ pins = "gpio33";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-disable;
+ };
+
+ hid_touchpad_default: hid-touchpad-default-state {
+ pins = "gpio94";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-disable;
+ };
+
+ qup_uart3_sleep: qup-uart3-sleep-state {
+ cts-pins {
+ /*
+ * Configure a pull-down on CTS to match the pull of
+ * the Bluetooth module.
+ */
+ pins = "gpio38";
+ function = "gpio";
+ bias-pull-down;
+ };
+
+ rts-pins {
+ /*
+ * Configure pull-down on RTS. As RTS is active low
+ * signal, pull it low to indicate the BT SoC that it
+ * can wakeup the system anytime from suspend state by
+ * pulling RX low (by sending wakeup bytes).
+ */
+ pins = "gpio39";
+ function = "gpio";
+ bias-pull-down;
+ };
+
+ tx-pins {
+ /*
+ * Configure pull-up on TX when it isn't actively driven
+ * to prevent BT SoC from receiving garbage during sleep.
+ */
+ pins = "gpio40";
+ function = "gpio";
+ bias-pull-up;
+ };
+
+ rx-pins {
+ /*
+ * Configure a pull-up on RX. This is needed to avoid
+ * garbage data when the TX pin of the Bluetooth module
+ * is floating which may cause spurious wakeups.
+ */
+ pins = "gpio41";
+ function = "gpio";
+ bias-pull-up;
+ };
+ };
+
+ reg_edp_1p2_en_default: reg-edp-1p2-en-deault-state {
+ pins = "gpio19";
+ function = "gpio";
+ drive-strength = <16>;
+ bias-disable;
+ };
+
+ reg_edp_1p8_en_default: reg-edp-1p8-en-deault-state {
+ pins = "gpio20";
+ function = "gpio";
+ drive-strength = <16>;
+ bias-disable;
+ };
+
+ reg_lcm_en_default: reg-lcm-en-deault-state {
+ pins = "gpio26";
+ function = "gpio";
+ drive-strength = <16>;
+ bias-disable;
+ };
+
+ reg_audio_en_default: reg-audio-en-deault-state {
+ pins = "gpio83";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-disable;
+ };
+
+ reg_tp_en_default: reg-tp-en-deault-state {
+ pins = "gpio25";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-disable;
+ };
+
+ soc_bkoff_default: soc-bkoff-deault-state {
+ pins = "gpio10";
+ function = "gpio";
+ drive-strength = <16>;
+ bias-disable;
+ };
+
+ sdc1_default: sdc1-default-state {
+ clk-pins {
+ pins = "sdc1_clk";
+ drive-strength = <16>;
+ bias-disable;
+ };
+
+ cmd-pins {
+ pins = "sdc1_cmd";
+ drive-strength = <16>;
+ bias-pull-up;
+ };
+
+ data-pins {
+ pins = "sdc1_data";
+ drive-strength = <16>;
+ bias-pull-up;
+ };
+
+ rclk-pins {
+ pins = "sdc1_rclk";
+ bias-pull-down;
+ };
+ };
+
+ sdc1_sleep: sdc1-sleep-state {
+ clk-pins {
+ pins = "sdc1_clk";
+ drive-strength = <2>;
+ bias-disable;
+ };
+
+ cmd-pins {
+ pins = "sdc1_cmd";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+
+ data-pins {
+ pins = "sdc1_data";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+
+ rclk-pins {
+ pins = "sdc1_rclk";
+ bias-pull-down;
+ };
+ };
+};
--
2.41.0
@@ -1,7 +1,7 @@
From 389f71369f7a62199ff0af56ef9a23c1c86570e1 Mon Sep 17 00:00:00 2001
From 18dfe3c57801796fb6ca2a17f63893e48298eaa4 Mon Sep 17 00:00:00 2001
From: David Wronek <davidwronek@gmail.com>
Date: Thu, 24 Aug 2023 11:15:05 +0200
Subject: [PATCH 13/17] arm64: dts: qcom: pm6150: Add resin and rtc nodes
Subject: [PATCH 5/8] arm64: dts: qcom: pm6150: Add resin and rtc nodes
Add support for the RTC which is the same as on other PMICs and add the
resin child node to the PM6150 PON device, both disabled by default.
@@ -16,10 +16,10 @@ Signed-off-by: Bjorn Andersson <andersson@kernel.org>
1 file changed, 16 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/pm6150.dtsi b/arch/arm64/boot/dts/qcom/pm6150.dtsi
index 8a4972e6a24c..d1dccfdfb3cd 100644
index 7d4d1f2767ed..ddbaf7280b03 100644
--- a/arch/arm64/boot/dts/qcom/pm6150.dtsi
+++ b/arch/arm64/boot/dts/qcom/pm6150.dtsi
@@ -51,6 +51,14 @@ pm6150_pwrkey: pwrkey {
@@ -53,6 +53,14 @@ pm6150_pwrkey: pwrkey {
bias-pull-up;
linux,code = <KEY_POWER>;
};
@@ -34,7 +34,7 @@ index 8a4972e6a24c..d1dccfdfb3cd 100644
};
pm6150_temp: temp-alarm@2400 {
@@ -86,6 +94,14 @@ pm6150_adc_tm: adc-tm@3500 {
@@ -88,6 +96,14 @@ pm6150_adc_tm: adc-tm@3500 {
status = "disabled";
};
@@ -46,9 +46,9 @@ index 8a4972e6a24c..d1dccfdfb3cd 100644
+ status = "disabled";
+ };
+
pm6150_gpio: gpios@c000 {
pm6150_gpios: gpio@c000 {
compatible = "qcom,pm6150-gpio", "qcom,spmi-gpio";
reg = <0xc000>;
--
2.43.0
2.43.2
@@ -1,7 +1,7 @@
From f6bbe959dd47e534f2a006561be68cfb1bbf27c4 Mon Sep 17 00:00:00 2001
From 2384f0140ed50ef2ee57fd575e69dc91fe13652b Mon Sep 17 00:00:00 2001
From: Nikita Travkin <nikita@trvn.ru>
Date: Tue, 5 Dec 2023 16:48:10 +0500
Subject: [PATCH 14/17] arm64: dts: qcom: acer-aspire1: Enable RTC
Subject: [PATCH 6/8] arm64: dts: qcom: acer-aspire1: Enable RTC
pm6150 has a read-only RTC that can be used to keep the time with some
extra userspace tools. Enable it.
@@ -15,10 +15,10 @@ Signed-off-by: Bjorn Andersson <andersson@kernel.org>
1 file changed, 4 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/sc7180-acer-aspire1.dts b/arch/arm64/boot/dts/qcom/sc7180-acer-aspire1.dts
index 2a80f4090085..ab8ec7958584 100644
index 3342cb048038..00b442696618 100644
--- a/arch/arm64/boot/dts/qcom/sc7180-acer-aspire1.dts
+++ b/arch/arm64/boot/dts/qcom/sc7180-acer-aspire1.dts
@@ -349,6 +349,10 @@ &pm6150_pon {
@@ -364,6 +364,10 @@ &pm6150_pon {
status = "disabled";
};
@@ -30,5 +30,5 @@ index 2a80f4090085..ab8ec7958584 100644
status = "okay";
};
--
2.43.0
2.43.2
@@ -1,36 +0,0 @@
From 720541f67f730e31c7b19b21b6c7eb92bfd9b6c2 Mon Sep 17 00:00:00 2001
From: Konrad Dybcio <konrad.dybcio@linaro.org>
Date: Fri, 16 Jun 2023 01:36:58 +0200
Subject: [PATCH 06/17] media: venus: core: Set up secure memory ranges for
SC7180
Not all SC7180 devices ship with ChromeOS firmware. WoA devices use
Android-like TZ, which uses PAS for image authentication. That requires
the predefined virtual address ranges to be passed via scm calls.
Define them to enable Venus on non-CrOS SC7180 devices.
Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Signed-off-by: Stanimir Varbanov <stanimir.k.varbanov@gmail.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
---
drivers/media/platform/qcom/venus/core.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/drivers/media/platform/qcom/venus/core.c b/drivers/media/platform/qcom/venus/core.c
index 990a1519f968..1d9e416e5322 100644
--- a/drivers/media/platform/qcom/venus/core.c
+++ b/drivers/media/platform/qcom/venus/core.c
@@ -762,6 +762,10 @@ static const struct venus_resources sc7180_res = {
.vmem_size = 0,
.vmem_addr = 0,
.dma_mask = 0xe0000000 - 1,
+ .cp_start = 0,
+ .cp_size = 0x70800000,
+ .cp_nonpixel_start = 0x1000000,
+ .cp_nonpixel_size = 0x24800000,
.fwname = "qcom/venus-5.4/venus.mdt",
};
--
2.43.0
@@ -1,7 +1,7 @@
From d081eaf8adc96ae9ba68ffe3f69f3057ead4bc63 Mon Sep 17 00:00:00 2001
From bf688cd32b158a962bbce6103b3f43dda5d80a5a Mon Sep 17 00:00:00 2001
From: Nikita Travkin <nikita@trvn.ru>
Date: Tue, 5 Dec 2023 16:48:12 +0500
Subject: [PATCH 16/17] arm64: dts: qcom: acer-aspire1: Add sound
Subject: [PATCH 7/8] arm64: dts: qcom: acer-aspire1: Add sound
This laptop has two i2s speakers; an i2s audio codec for the headset
jack; two DMIC microphones in the lid and the displayport audio channel.
@@ -23,7 +23,7 @@ Signed-off-by: Bjorn Andersson <andersson@kernel.org>
1 file changed, 153 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/sc7180-acer-aspire1.dts b/arch/arm64/boot/dts/qcom/sc7180-acer-aspire1.dts
index 7bde69f39c8a..58f694d8e762 100644
index 00b442696618..5afcb8212f49 100644
--- a/arch/arm64/boot/dts/qcom/sc7180-acer-aspire1.dts
+++ b/arch/arm64/boot/dts/qcom/sc7180-acer-aspire1.dts
@@ -3,6 +3,7 @@
@@ -148,7 +148,7 @@ index 7bde69f39c8a..58f694d8e762 100644
reg_tp_3p3: touchpad-regulator {
compatible = "regulator-fixed";
regulator-name = "tp_3p3";
@@ -366,6 +474,45 @@ &pm6150_rtc {
@@ -368,6 +476,45 @@ &pm6150_rtc {
status = "okay";
};
@@ -194,7 +194,7 @@ index 7bde69f39c8a..58f694d8e762 100644
&qupv3_id_0 {
status = "okay";
};
@@ -374,6 +521,12 @@ &qupv3_id_1 {
@@ -376,6 +523,12 @@ &qupv3_id_1 {
status = "okay";
};
@@ -208,5 +208,5 @@ index 7bde69f39c8a..58f694d8e762 100644
firmware-name = "qcom/sc7180/acer/aspire1/qcmpss7180_nm.mbn";
status = "okay";
--
2.43.0
2.43.2
@@ -1,387 +0,0 @@
From 0fed0e8058be5fdf261092e6b42f0f8ef3c37040 Mon Sep 17 00:00:00 2001
From: Nikita Travkin <nikita@trvn.ru>
Date: Tue, 8 Aug 2023 15:10:13 +0500
Subject: [PATCH 07/17] arm64: dts: qcom: sc7180: Split up TF-A related PSCI
configuration
When initially submitted, the sc7180 support only targeted CROS devices
that make use of alternative TF-A firmware and not the official Qualcomm
firmware. The PSCI implementations in those firmwares differ however so
devices that use qcom firmware, like WoA laptops such as aspire1 need
different setup.
This commit adjusts the SoC dtsi to the OSI mode PSCI setup, common to
the Qualcomm firmware and introduces new sc7180-firmware-tfa.dtsi that
overrides the PSCI setup for the PC mode and uses TF-A specific
psci-suspend-param. This dtsi is added to all boards that appear to use
TF-A.
Link: https://lore.kernel.org/r/20230808-sc7180-tfa-fw-v1-1-666d5d8467e5@trvn.ru
Signed-off-by: Nikita Travkin <nikita@trvn.ru>
---
.../boot/dts/qcom/sc7180-firmware-tfa.dtsi | 107 +++++++++++++++
arch/arm64/boot/dts/qcom/sc7180-idp.dts | 1 +
arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi | 1 +
arch/arm64/boot/dts/qcom/sc7180.dtsi | 127 +++++++++++++-----
4 files changed, 206 insertions(+), 30 deletions(-)
create mode 100644 arch/arm64/boot/dts/qcom/sc7180-firmware-tfa.dtsi
diff --git a/arch/arm64/boot/dts/qcom/sc7180-firmware-tfa.dtsi b/arch/arm64/boot/dts/qcom/sc7180-firmware-tfa.dtsi
new file mode 100644
index 000000000000..ee35a454dbf6
--- /dev/null
+++ b/arch/arm64/boot/dts/qcom/sc7180-firmware-tfa.dtsi
@@ -0,0 +1,107 @@
+// SPDX-License-Identifier: BSD-3-Clause
+
+/*
+ * Devices that use SC7180 with TrustedFirmware-A
+ * need PSCI PC mode instead of the OSI mode provided
+ * by Qualcomm firmware.
+ */
+
+&CPU0 {
+ /delete-property/ power-domains;
+ /delete-property/ power-domain-names;
+
+ cpu-idle-states = <&LITTLE_CPU_SLEEP_0
+ &LITTLE_CPU_SLEEP_1
+ &CLUSTER_SLEEP_0>;
+};
+
+&CPU1 {
+ /delete-property/ power-domains;
+ /delete-property/ power-domain-names;
+
+ cpu-idle-states = <&LITTLE_CPU_SLEEP_0
+ &LITTLE_CPU_SLEEP_1
+ &CLUSTER_SLEEP_0>;
+};
+
+&CPU2 {
+ /delete-property/ power-domains;
+ /delete-property/ power-domain-names;
+
+ cpu-idle-states = <&LITTLE_CPU_SLEEP_0
+ &LITTLE_CPU_SLEEP_1
+ &CLUSTER_SLEEP_0>;
+};
+
+&CPU3 {
+ /delete-property/ power-domains;
+ /delete-property/ power-domain-names;
+
+ cpu-idle-states = <&LITTLE_CPU_SLEEP_0
+ &LITTLE_CPU_SLEEP_1
+ &CLUSTER_SLEEP_0>;
+};
+
+&CPU4 {
+ /delete-property/ power-domains;
+ /delete-property/ power-domain-names;
+
+ cpu-idle-states = <&LITTLE_CPU_SLEEP_0
+ &LITTLE_CPU_SLEEP_1
+ &CLUSTER_SLEEP_0>;
+};
+
+&CPU5 {
+ /delete-property/ power-domains;
+ /delete-property/ power-domain-names;
+
+ cpu-idle-states = <&LITTLE_CPU_SLEEP_0
+ &LITTLE_CPU_SLEEP_1
+ &CLUSTER_SLEEP_0>;
+};
+
+&CPU6 {
+ /delete-property/ power-domains;
+ /delete-property/ power-domain-names;
+
+ cpu-idle-states = <&BIG_CPU_SLEEP_0
+ &BIG_CPU_SLEEP_1
+ &CLUSTER_SLEEP_0>;
+};
+
+&CPU7 {
+ /delete-property/ power-domains;
+ /delete-property/ power-domain-names;
+
+ cpu-idle-states = <&BIG_CPU_SLEEP_0
+ &BIG_CPU_SLEEP_1
+ &CLUSTER_SLEEP_0>;
+};
+
+/delete-node/ &domain_idle_states;
+
+&idle_states {
+ CLUSTER_SLEEP_0: cluster-sleep-0 {
+ compatible = "arm,idle-state";
+ idle-state-name = "cluster-power-down";
+ arm,psci-suspend-param = <0x40003444>;
+ entry-latency-us = <3263>;
+ exit-latency-us = <6562>;
+ min-residency-us = <9926>;
+ local-timer-stop;
+ };
+};
+
+/delete-node/ &CPU_PD0;
+/delete-node/ &CPU_PD1;
+/delete-node/ &CPU_PD2;
+/delete-node/ &CPU_PD3;
+/delete-node/ &CPU_PD4;
+/delete-node/ &CPU_PD5;
+/delete-node/ &CPU_PD6;
+/delete-node/ &CPU_PD7;
+/delete-node/ &CLUSTER_PD;
+
+&apps_rsc {
+ /delete-property/ power-domains;
+};
diff --git a/arch/arm64/boot/dts/qcom/sc7180-idp.dts b/arch/arm64/boot/dts/qcom/sc7180-idp.dts
index d3c4b5804a69..c224fc93f1ee 100644
--- a/arch/arm64/boot/dts/qcom/sc7180-idp.dts
+++ b/arch/arm64/boot/dts/qcom/sc7180-idp.dts
@@ -11,6 +11,7 @@
#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
#include "sc7180.dtsi"
+#include "sc7180-firmware-tfa.dtsi"
#include "pm6150.dtsi"
#include "pm6150l.dtsi"
diff --git a/arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi b/arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi
index f4db4ccf48e5..38d327fa1394 100644
--- a/arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi
+++ b/arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi
@@ -13,6 +13,7 @@
#include <dt-bindings/sound/sc7180-lpass.h>
#include "sc7180.dtsi"
+#include "sc7180-firmware-tfa.dtsi"
/* PMICs depend on spmi_bus label and so must come after sc7180.dtsi */
#include "pm6150.dtsi"
#include "pm6150l.dtsi"
diff --git a/arch/arm64/boot/dts/qcom/sc7180.dtsi b/arch/arm64/boot/dts/qcom/sc7180.dtsi
index 19f39a5b3b56..64ae9f27ba80 100644
--- a/arch/arm64/boot/dts/qcom/sc7180.dtsi
+++ b/arch/arm64/boot/dts/qcom/sc7180.dtsi
@@ -133,9 +133,8 @@ CPU0: cpu@0 {
compatible = "qcom,kryo468";
reg = <0x0 0x0>;
enable-method = "psci";
- cpu-idle-states = <&LITTLE_CPU_SLEEP_0
- &LITTLE_CPU_SLEEP_1
- &CLUSTER_SLEEP_0>;
+ power-domains = <&CPU_PD0>;
+ power-domain-names = "psci";
capacity-dmips-mhz = <415>;
dynamic-power-coefficient = <137>;
operating-points-v2 = <&cpu0_opp_table>;
@@ -158,9 +157,8 @@ CPU1: cpu@100 {
compatible = "qcom,kryo468";
reg = <0x0 0x100>;
enable-method = "psci";
- cpu-idle-states = <&LITTLE_CPU_SLEEP_0
- &LITTLE_CPU_SLEEP_1
- &CLUSTER_SLEEP_0>;
+ power-domains = <&CPU_PD1>;
+ power-domain-names = "psci";
capacity-dmips-mhz = <415>;
dynamic-power-coefficient = <137>;
next-level-cache = <&L2_100>;
@@ -180,9 +178,8 @@ CPU2: cpu@200 {
compatible = "qcom,kryo468";
reg = <0x0 0x200>;
enable-method = "psci";
- cpu-idle-states = <&LITTLE_CPU_SLEEP_0
- &LITTLE_CPU_SLEEP_1
- &CLUSTER_SLEEP_0>;
+ power-domains = <&CPU_PD2>;
+ power-domain-names = "psci";
capacity-dmips-mhz = <415>;
dynamic-power-coefficient = <137>;
next-level-cache = <&L2_200>;
@@ -202,9 +199,8 @@ CPU3: cpu@300 {
compatible = "qcom,kryo468";
reg = <0x0 0x300>;
enable-method = "psci";
- cpu-idle-states = <&LITTLE_CPU_SLEEP_0
- &LITTLE_CPU_SLEEP_1
- &CLUSTER_SLEEP_0>;
+ power-domains = <&CPU_PD3>;
+ power-domain-names = "psci";
capacity-dmips-mhz = <415>;
dynamic-power-coefficient = <137>;
next-level-cache = <&L2_300>;
@@ -224,9 +220,8 @@ CPU4: cpu@400 {
compatible = "qcom,kryo468";
reg = <0x0 0x400>;
enable-method = "psci";
- cpu-idle-states = <&LITTLE_CPU_SLEEP_0
- &LITTLE_CPU_SLEEP_1
- &CLUSTER_SLEEP_0>;
+ power-domains = <&CPU_PD4>;
+ power-domain-names = "psci";
capacity-dmips-mhz = <415>;
dynamic-power-coefficient = <137>;
next-level-cache = <&L2_400>;
@@ -246,9 +241,8 @@ CPU5: cpu@500 {
compatible = "qcom,kryo468";
reg = <0x0 0x500>;
enable-method = "psci";
- cpu-idle-states = <&LITTLE_CPU_SLEEP_0
- &LITTLE_CPU_SLEEP_1
- &CLUSTER_SLEEP_0>;
+ power-domains = <&CPU_PD5>;
+ power-domain-names = "psci";
capacity-dmips-mhz = <415>;
dynamic-power-coefficient = <137>;
next-level-cache = <&L2_500>;
@@ -268,9 +262,8 @@ CPU6: cpu@600 {
compatible = "qcom,kryo468";
reg = <0x0 0x600>;
enable-method = "psci";
- cpu-idle-states = <&BIG_CPU_SLEEP_0
- &BIG_CPU_SLEEP_1
- &CLUSTER_SLEEP_0>;
+ power-domains = <&CPU_PD6>;
+ power-domain-names = "psci";
capacity-dmips-mhz = <1024>;
dynamic-power-coefficient = <480>;
next-level-cache = <&L2_600>;
@@ -290,9 +283,8 @@ CPU7: cpu@700 {
compatible = "qcom,kryo468";
reg = <0x0 0x700>;
enable-method = "psci";
- cpu-idle-states = <&BIG_CPU_SLEEP_0
- &BIG_CPU_SLEEP_1
- &CLUSTER_SLEEP_0>;
+ power-domains = <&CPU_PD7>;
+ power-domain-names = "psci";
capacity-dmips-mhz = <1024>;
dynamic-power-coefficient = <480>;
next-level-cache = <&L2_700>;
@@ -343,7 +335,7 @@ core7 {
};
};
- idle-states {
+ idle_states: idle-states {
entry-method = "psci";
LITTLE_CPU_SLEEP_0: cpu-sleep-0-0 {
@@ -385,15 +377,34 @@ BIG_CPU_SLEEP_1: cpu-sleep-1-1 {
min-residency-us = <5555>;
local-timer-stop;
};
+ };
- CLUSTER_SLEEP_0: cluster-sleep-0 {
- compatible = "arm,idle-state";
+ domain_idle_states: domain-idle-states {
+ CLUSTER_SLEEP_PC: cluster-sleep-0 {
+ compatible = "domain-idle-state";
+ idle-state-name = "cluster-l3-power-collapse";
+ arm,psci-suspend-param = <0x41000044>;
+ entry-latency-us = <2752>;
+ exit-latency-us = <3048>;
+ min-residency-us = <6118>;
+ };
+
+ CLUSTER_SLEEP_CX_RET: cluster-sleep-1 {
+ compatible = "domain-idle-state";
+ idle-state-name = "cluster-cx-retention";
+ arm,psci-suspend-param = <0x41001244>;
+ entry-latency-us = <3638>;
+ exit-latency-us = <4562>;
+ min-residency-us = <8467>;
+ };
+
+ CLUSTER_AOSS_SLEEP: cluster-sleep-2 {
+ compatible = "domain-idle-state";
idle-state-name = "cluster-power-down";
- arm,psci-suspend-param = <0x40003444>;
+ arm,psci-suspend-param = <0x4100b244>;
entry-latency-us = <3263>;
exit-latency-us = <6562>;
- min-residency-us = <9926>;
- local-timer-stop;
+ min-residency-us = <9826>;
};
};
};
@@ -643,6 +654,61 @@ ipa_smp2p_in: ipa-modem-to-ap {
psci {
compatible = "arm,psci-1.0";
method = "smc";
+
+ CPU_PD0: cpu0 {
+ #power-domain-cells = <0>;
+ power-domains = <&CLUSTER_PD>;
+ domain-idle-states = <&LITTLE_CPU_SLEEP_0 &LITTLE_CPU_SLEEP_1>;
+ };
+
+ CPU_PD1: cpu1 {
+ #power-domain-cells = <0>;
+ power-domains = <&CLUSTER_PD>;
+ domain-idle-states = <&LITTLE_CPU_SLEEP_0 &LITTLE_CPU_SLEEP_1>;
+ };
+
+ CPU_PD2: cpu2 {
+ #power-domain-cells = <0>;
+ power-domains = <&CLUSTER_PD>;
+ domain-idle-states = <&LITTLE_CPU_SLEEP_0 &LITTLE_CPU_SLEEP_1>;
+ };
+
+ CPU_PD3: cpu3 {
+ #power-domain-cells = <0>;
+ power-domains = <&CLUSTER_PD>;
+ domain-idle-states = <&LITTLE_CPU_SLEEP_0 &LITTLE_CPU_SLEEP_1>;
+ };
+
+ CPU_PD4: cpu4 {
+ #power-domain-cells = <0>;
+ power-domains = <&CLUSTER_PD>;
+ domain-idle-states = <&LITTLE_CPU_SLEEP_0 &LITTLE_CPU_SLEEP_1>;
+ };
+
+ CPU_PD5: cpu5 {
+ #power-domain-cells = <0>;
+ power-domains = <&CLUSTER_PD>;
+ domain-idle-states = <&LITTLE_CPU_SLEEP_0 &LITTLE_CPU_SLEEP_1>;
+ };
+
+ CPU_PD6: cpu6 {
+ #power-domain-cells = <0>;
+ power-domains = <&CLUSTER_PD>;
+ domain-idle-states = <&BIG_CPU_SLEEP_0 &BIG_CPU_SLEEP_1>;
+ };
+
+ CPU_PD7: cpu7 {
+ #power-domain-cells = <0>;
+ power-domains = <&CLUSTER_PD>;
+ domain-idle-states = <&BIG_CPU_SLEEP_0 &BIG_CPU_SLEEP_1>;
+ };
+
+ CLUSTER_PD: cpu-cluster0 {
+ #power-domain-cells = <0>;
+ domain-idle-states = <&CLUSTER_SLEEP_PC
+ &CLUSTER_SLEEP_CX_RET
+ &CLUSTER_AOSS_SLEEP>;
+ };
};
soc: soc@0 {
@@ -3452,6 +3518,7 @@ apps_rsc: rsc@18200000 {
<SLEEP_TCS 3>,
<WAKE_TCS 3>,
<CONTROL_TCS 1>;
+ power-domains = <&CLUSTER_PD>;
rpmhcc: clock-controller {
compatible = "qcom,sc7180-rpmh-clk";
--
2.43.0
@@ -0,0 +1,116 @@
From 5da7f1f071d5d0db4978e946263ab783657d0d57 Mon Sep 17 00:00:00 2001
From: Nikita Travkin <nikita@trvn.ru>
Date: Sat, 2 Mar 2024 14:37:30 +0500
Subject: [PATCH 08/11] platform: Add ARM64 platform directory
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Some ARM64 based laptops and computers require vendor/board specific
drivers for their embedded controllers. Even though usually the most
important functionality of those devices is implemented inside ACPI,
unfortunately Linux doesn't currently have great support for ACPI on
platforms like Qualcomm Snapdragon that are used in most ARM64 laptops
today. Instead Linux relies on Device Tree for Qualcomm based devices
and it's significantly easier to reimplement the EC functionality in
a dedicated driver than to make use of ACPI code.
This commit introduces a new platform/arm64 subdirectory to give a
place to such drivers for EC-like devices.
A new MAINTAINERS entry is added for this directory. Patches to files in
this directory will be taken up by the platform-drivers-x86 team (i.e.
Hans de Goede and Ilpo Järvinen) with additional review from Bryan
O'Donoghue to represent ARM64 maintainers.
Signed-off-by: Nikita Travkin <nikita@trvn.ru>
---
MAINTAINERS | 10 ++++++++++
drivers/platform/Kconfig | 2 ++
drivers/platform/Makefile | 1 +
drivers/platform/arm64/Kconfig | 19 +++++++++++++++++++
drivers/platform/arm64/Makefile | 6 ++++++
5 files changed, 38 insertions(+)
create mode 100644 drivers/platform/arm64/Kconfig
create mode 100644 drivers/platform/arm64/Makefile
diff --git a/MAINTAINERS b/MAINTAINERS
index 40312bb550f0..396be95d4f9a 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -3007,6 +3007,16 @@ F: drivers/mmc/host/sdhci-of-arasan.c
N: zynq
N: xilinx
+ARM64 PLATFORM DRIVERS
+M: Hans de Goede <hdegoede@redhat.com>
+M: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
+R: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
+L: platform-driver-x86@vger.kernel.org
+S: Maintained
+Q: https://patchwork.kernel.org/project/platform-driver-x86/list/
+T: git git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86.git
+F: drivers/platform/arm64/
+
ARM64 PORT (AARCH64 ARCHITECTURE)
M: Catalin Marinas <catalin.marinas@arm.com>
M: Will Deacon <will@kernel.org>
diff --git a/drivers/platform/Kconfig b/drivers/platform/Kconfig
index 868b20361769..81a298517df2 100644
--- a/drivers/platform/Kconfig
+++ b/drivers/platform/Kconfig
@@ -14,3 +14,5 @@ source "drivers/platform/olpc/Kconfig"
source "drivers/platform/surface/Kconfig"
source "drivers/platform/x86/Kconfig"
+
+source "drivers/platform/arm64/Kconfig"
diff --git a/drivers/platform/Makefile b/drivers/platform/Makefile
index 41640172975a..fbbe4f77aa5d 100644
--- a/drivers/platform/Makefile
+++ b/drivers/platform/Makefile
@@ -11,3 +11,4 @@ obj-$(CONFIG_OLPC_EC) += olpc/
obj-$(CONFIG_GOLDFISH) += goldfish/
obj-$(CONFIG_CHROME_PLATFORMS) += chrome/
obj-$(CONFIG_SURFACE_PLATFORMS) += surface/
+obj-$(CONFIG_ARM64) += arm64/
diff --git a/drivers/platform/arm64/Kconfig b/drivers/platform/arm64/Kconfig
new file mode 100644
index 000000000000..644b83ede093
--- /dev/null
+++ b/drivers/platform/arm64/Kconfig
@@ -0,0 +1,19 @@
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# EC-like Drivers for aarch64 based devices.
+#
+
+menuconfig ARM64_PLATFORM_DEVICES
+ bool "ARM64 Platform-Specific Device Drivers"
+ depends on ARM64 || COMPILE_TEST
+ default y
+ help
+ Say Y here to get to see options for platform-specific device drivers
+ for arm64 based devices, primarily EC-like device drivers.
+ This option alone does not add any kernel code.
+
+ If you say N, all options in this submenu will be skipped and disabled.
+
+if ARM64_PLATFORM_DEVICES
+
+endif # ARM64_PLATFORM_DEVICES
diff --git a/drivers/platform/arm64/Makefile b/drivers/platform/arm64/Makefile
new file mode 100644
index 000000000000..f91cdc7155e2
--- /dev/null
+++ b/drivers/platform/arm64/Makefile
@@ -0,0 +1,6 @@
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# Makefile for linux/drivers/platform/arm64
+#
+# This dir should only include drivers for EC-like devices.
+#
--
2.44.0
@@ -0,0 +1,652 @@
From 309a0174fb1000b308271bd0009d1cfba263f939 Mon Sep 17 00:00:00 2001
From: Nikita Travkin <nikita@trvn.ru>
Date: Sat, 9 Jul 2022 00:39:42 +0500
Subject: [PATCH 09/11] platform: arm64: Add Acer Aspire 1 embedded controller
driver
Acer Aspire 1 is a Snapdragon 7c based laptop. It uses an embedded
controller to perform a set of various functions, such as:
- Battery and charger monitoring;
- Keyboard layout control (i.e. fn_lock settings);
- USB Type-C DP alt mode HPD notifications;
- Laptop lid status.
Unfortunately, while all this functionality is implemented in ACPI, it's
currently not possible to use ACPI to boot Linux on such Qualcomm
devices. To allow Linux to still support the features provided by EC,
this driver reimplments the relevant ACPI parts. This allows us to boot
the laptop with Device Tree and retain all the features.
Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Signed-off-by: Nikita Travkin <nikita@trvn.ru>
---
MAINTAINERS | 6 +
drivers/platform/arm64/Kconfig | 16 +
drivers/platform/arm64/Makefile | 2 +
drivers/platform/arm64/acer-aspire1-ec.c | 561 +++++++++++++++++++++++
4 files changed, 585 insertions(+)
create mode 100644 drivers/platform/arm64/acer-aspire1-ec.c
diff --git a/MAINTAINERS b/MAINTAINERS
index 396be95d4f9a..bc5620bfbb32 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -261,6 +261,12 @@ L: linux-acenic@sunsite.dk
S: Maintained
F: drivers/net/ethernet/alteon/acenic*
+ACER ASPIRE 1 EMBEDDED CONTROLLER DRIVER
+M: Nikita Travkin <nikita@trvn.ru>
+S: Maintained
+F: Documentation/devicetree/bindings/platform/acer,aspire1-ec.yaml
+F: drivers/platform/arm64/acer-aspire1-ec.c
+
ACER ASPIRE ONE TEMPERATURE AND FAN DRIVER
M: Peter Kaestle <peter@piie.net>
L: platform-driver-x86@vger.kernel.org
diff --git a/drivers/platform/arm64/Kconfig b/drivers/platform/arm64/Kconfig
index 644b83ede093..07d47879a9e3 100644
--- a/drivers/platform/arm64/Kconfig
+++ b/drivers/platform/arm64/Kconfig
@@ -16,4 +16,20 @@ menuconfig ARM64_PLATFORM_DEVICES
if ARM64_PLATFORM_DEVICES
+config EC_ACER_ASPIRE1
+ tristate "Acer Aspire 1 Emedded Controller driver"
+ depends on I2C
+ depends on DRM
+ depends on POWER_SUPPLY
+ depends on INPUT
+ help
+ Say Y here to enable the EC driver for the (Snapdragon-based)
+ Acer Aspire 1 laptop. The EC handles battery and charging
+ monitoring as well as some misc functions like the lid sensor
+ and USB Type-C DP HPD events.
+
+ This driver provides battery and AC status support for the mentioned
+ laptop where this information is not properly exposed via the
+ standard ACPI devices.
+
endif # ARM64_PLATFORM_DEVICES
diff --git a/drivers/platform/arm64/Makefile b/drivers/platform/arm64/Makefile
index f91cdc7155e2..4fcc9855579b 100644
--- a/drivers/platform/arm64/Makefile
+++ b/drivers/platform/arm64/Makefile
@@ -4,3 +4,5 @@
#
# This dir should only include drivers for EC-like devices.
#
+
+obj-$(CONFIG_EC_ACER_ASPIRE1) += acer-aspire1-ec.o
diff --git a/drivers/platform/arm64/acer-aspire1-ec.c b/drivers/platform/arm64/acer-aspire1-ec.c
new file mode 100644
index 000000000000..75a7c2821771
--- /dev/null
+++ b/drivers/platform/arm64/acer-aspire1-ec.c
@@ -0,0 +1,561 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/* Copyright (c) 2024, Nikita Travkin <nikita@trvn.ru> */
+
+#include <asm-generic/unaligned.h>
+#include <drm/drm_bridge.h>
+#include <linux/bits.h>
+#include <linux/delay.h>
+#include <linux/i2c.h>
+#include <linux/input.h>
+#include <linux/module.h>
+#include <linux/platform_device.h>
+#include <linux/power_supply.h>
+#include <linux/usb/typec_mux.h>
+
+#define MILLI_TO_MICRO 1000
+
+#define ASPIRE_EC_EVENT 0x05
+
+#define ASPIRE_EC_EVENT_WATCHDOG 0x20
+#define ASPIRE_EC_EVENT_KBD_BKL_ON 0x57
+#define ASPIRE_EC_EVENT_KBD_BKL_OFF 0x58
+#define ASPIRE_EC_EVENT_LID_CLOSE 0x9b
+#define ASPIRE_EC_EVENT_LID_OPEN 0x9c
+#define ASPIRE_EC_EVENT_BKL_UNBLANKED 0x9d
+#define ASPIRE_EC_EVENT_BKL_BLANKED 0x9e
+#define ASPIRE_EC_EVENT_FG_INF_CHG 0x85
+#define ASPIRE_EC_EVENT_FG_STA_CHG 0xc6
+#define ASPIRE_EC_EVENT_HPD_DIS 0xa3
+#define ASPIRE_EC_EVENT_HPD_CON 0xa4
+
+#define ASPIRE_EC_FG_DYNAMIC 0x07
+#define ASPIRE_EC_FG_STATIC 0x08
+
+#define ASPIRE_EC_FG_FLAG_PRESENT BIT(0)
+#define ASPIRE_EC_FG_FLAG_FULL BIT(1)
+#define ASPIRE_EC_FG_FLAG_DISCHARGING BIT(2)
+#define ASPIRE_EC_FG_FLAG_CHARGING BIT(3)
+
+#define ASPIRE_EC_RAM_READ 0x20
+#define ASPIRE_EC_RAM_WRITE 0x21
+
+#define ASPIRE_EC_RAM_WATCHDOG 0x19
+#define ASPIRE_EC_WATCHDOG_BIT BIT(6)
+
+#define ASPIRE_EC_RAM_KBD_MODE 0x43
+
+#define ASPIRE_EC_RAM_KBD_FN_EN BIT(0)
+#define ASPIRE_EC_RAM_KBD_MEDIA_ON_TOP BIT(5)
+#define ASPIRE_EC_RAM_KBD_ALWAYS_SET BIT(6)
+#define ASPIRE_EC_RAM_KBD_NUM_LAYER_EN BIT(7)
+
+#define ASPIRE_EC_RAM_KBD_MODE_2 0x60
+
+#define ASPIRE_EC_RAM_KBD_MEDIA_NOTIFY BIT(3)
+
+#define ASPIRE_EC_RAM_HPD_STATUS 0xf4
+#define ASPIRE_EC_HPD_CONNECTED 0x03
+
+#define ASPIRE_EC_RAM_LID_STATUS 0x4c
+#define ASPIRE_EC_LID_OPEN BIT(6)
+
+#define ASPIRE_EC_RAM_ADP 0x40
+#define ASPIRE_EC_AC_STATUS BIT(0)
+
+struct aspire_ec {
+ struct i2c_client *client;
+ struct power_supply *bat_psy;
+ struct power_supply *adp_psy;
+ struct input_dev *idev;
+
+ bool bridge_configured;
+ struct drm_bridge bridge;
+ struct work_struct work;
+};
+
+static int aspire_ec_ram_read(struct i2c_client *client, u8 off, u8 *data, u8 data_len)
+{
+ i2c_smbus_write_byte_data(client, ASPIRE_EC_RAM_READ, off);
+ i2c_smbus_read_i2c_block_data(client, ASPIRE_EC_RAM_READ, data_len, data);
+ return 0;
+}
+
+static int aspire_ec_ram_write(struct i2c_client *client, u8 off, u8 data)
+{
+ u8 tmp[2] = {off, data};
+
+ i2c_smbus_write_i2c_block_data(client, ASPIRE_EC_RAM_WRITE, sizeof(tmp), tmp);
+ return 0;
+}
+
+static irqreturn_t aspire_ec_irq_handler(int irq, void *data)
+{
+ struct aspire_ec *ec = data;
+ int id;
+ u8 tmp;
+
+ /*
+ * The original ACPI firmware actually has a small sleep in the handler.
+ *
+ * It seems like in most cases it's not needed but when the device
+ * just exits suspend, our i2c driver has a brief time where data
+ * transfer is not possible yet. So this delay allows us to suppress
+ * quite a bunch of spurious error messages in dmesg. Thus it's kept.
+ */
+ usleep_range(15000, 30000);
+
+ id = i2c_smbus_read_byte_data(ec->client, ASPIRE_EC_EVENT);
+ if (id < 0) {
+ dev_err(&ec->client->dev, "Failed to read event id: %pe\n", ERR_PTR(id));
+ return IRQ_HANDLED;
+ }
+
+ switch (id) {
+ case 0x0: /* No event */
+ break;
+
+ case ASPIRE_EC_EVENT_WATCHDOG:
+ /*
+ * Here acpi responds to the event and clears some bit.
+ * Notify (\_SB.I2C3.BAT1, 0x81) // Information Change
+ * Notify (\_SB.I2C3.ADP1, 0x80) // Status Change
+ */
+ aspire_ec_ram_read(ec->client, ASPIRE_EC_RAM_WATCHDOG, &tmp, sizeof(tmp));
+ tmp &= ~ASPIRE_EC_WATCHDOG_BIT;
+ aspire_ec_ram_write(ec->client, ASPIRE_EC_RAM_WATCHDOG, tmp);
+ break;
+
+ case ASPIRE_EC_EVENT_LID_CLOSE:
+ /* Notify (\_SB.LID0, 0x80) // Status Change */
+ input_report_switch(ec->idev, SW_LID, 1);
+ input_sync(ec->idev);
+ break;
+
+ case ASPIRE_EC_EVENT_LID_OPEN:
+ /* Notify (\_SB.LID0, 0x80) // Status Change */
+ input_report_switch(ec->idev, SW_LID, 0);
+ input_sync(ec->idev);
+ break;
+
+ case ASPIRE_EC_EVENT_FG_INF_CHG:
+ /* Notify (\_SB.I2C3.BAT1, 0x81) // Information Change */
+ fallthrough;
+ case ASPIRE_EC_EVENT_FG_STA_CHG:
+ /* Notify (\_SB.I2C3.BAT1, 0x80) // Status Change */
+ power_supply_changed(ec->bat_psy);
+ power_supply_changed(ec->adp_psy);
+ break;
+
+ case ASPIRE_EC_EVENT_HPD_DIS:
+ if (ec->bridge_configured)
+ drm_bridge_hpd_notify(&ec->bridge, connector_status_disconnected);
+ break;
+
+ case ASPIRE_EC_EVENT_HPD_CON:
+ if (ec->bridge_configured)
+ drm_bridge_hpd_notify(&ec->bridge, connector_status_connected);
+ break;
+
+ case ASPIRE_EC_EVENT_BKL_BLANKED:
+ case ASPIRE_EC_EVENT_BKL_UNBLANKED:
+ /* Display backlight blanked on FN+F6. No action needed. */
+ break;
+
+ case ASPIRE_EC_EVENT_KBD_BKL_ON:
+ case ASPIRE_EC_EVENT_KBD_BKL_OFF:
+ /*
+ * There is a keyboard backlight connector on Aspire 1 that is
+ * controlled by FN+F8. There is no kb backlight on the device though.
+ * Seems like this is used on other devices like Acer Spin 7.
+ * No action needed.
+ */
+ break;
+
+ default:
+ dev_warn(&ec->client->dev, "Unknown event id=0x%x\n", id);
+ }
+
+ return IRQ_HANDLED;
+}
+
+/*
+ * Power supply.
+ */
+
+struct aspire_ec_bat_psy_static_data {
+ u8 unk1;
+ u8 flags;
+ __le16 unk2;
+ __le16 voltage_design;
+ __le16 capacity_full;
+ __le16 unk3;
+ __le16 serial;
+ u8 model_id;
+ u8 vendor_id;
+} __packed;
+
+static const char * const aspire_ec_bat_psy_battery_model[] = {
+ "AP18C4K",
+ "AP18C8K",
+ "AP19B8K",
+ "AP16M4J",
+ "AP16M5J",
+};
+
+static const char * const aspire_ec_bat_psy_battery_vendor[] = {
+ "SANYO",
+ "SONY",
+ "PANASONIC",
+ "SAMSUNG",
+ "SIMPLO",
+ "MOTOROLA",
+ "CELXPERT",
+ "LGC",
+ "GETAC",
+ "MURATA",
+};
+
+struct aspire_ec_bat_psy_dynamic_data {
+ u8 unk1;
+ u8 flags;
+ u8 unk2;
+ __le16 capacity_now;
+ __le16 voltage_now;
+ __le16 current_now;
+ __le16 unk3;
+ __le16 unk4;
+} __packed;
+
+static int aspire_ec_bat_psy_get_property(struct power_supply *psy,
+ enum power_supply_property psp,
+ union power_supply_propval *val)
+{
+ struct aspire_ec *ec = power_supply_get_drvdata(psy);
+ struct aspire_ec_bat_psy_static_data sdat;
+ struct aspire_ec_bat_psy_dynamic_data ddat;
+ int str_index = 0;
+
+ i2c_smbus_read_i2c_block_data(ec->client, ASPIRE_EC_FG_STATIC, sizeof(sdat), (u8 *)&sdat);
+ i2c_smbus_read_i2c_block_data(ec->client, ASPIRE_EC_FG_DYNAMIC, sizeof(ddat), (u8 *)&ddat);
+
+ switch (psp) {
+ case POWER_SUPPLY_PROP_STATUS:
+ val->intval = POWER_SUPPLY_STATUS_UNKNOWN;
+ if (ddat.flags & ASPIRE_EC_FG_FLAG_CHARGING)
+ val->intval = POWER_SUPPLY_STATUS_CHARGING;
+ else if (ddat.flags & ASPIRE_EC_FG_FLAG_DISCHARGING)
+ val->intval = POWER_SUPPLY_STATUS_DISCHARGING;
+ else if (ddat.flags & ASPIRE_EC_FG_FLAG_FULL)
+ val->intval = POWER_SUPPLY_STATUS_FULL;
+ break;
+
+ case POWER_SUPPLY_PROP_VOLTAGE_NOW:
+ val->intval = get_unaligned_le16(&ddat.voltage_now) * MILLI_TO_MICRO;
+ break;
+
+ case POWER_SUPPLY_PROP_VOLTAGE_MAX_DESIGN:
+ val->intval = le16_to_cpu(sdat.voltage_design) * MILLI_TO_MICRO;
+ break;
+
+ case POWER_SUPPLY_PROP_CHARGE_NOW:
+ val->intval = get_unaligned_le16(&ddat.capacity_now) * MILLI_TO_MICRO;
+ break;
+
+ case POWER_SUPPLY_PROP_CHARGE_FULL:
+ val->intval = le16_to_cpu(sdat.capacity_full) * MILLI_TO_MICRO;
+ break;
+
+ case POWER_SUPPLY_PROP_CAPACITY:
+ val->intval = get_unaligned_le16(&ddat.capacity_now) * 100;
+ val->intval /= le16_to_cpu(sdat.capacity_full);
+ break;
+
+ case POWER_SUPPLY_PROP_CURRENT_NOW:
+ val->intval = (s16)get_unaligned_le16(&ddat.current_now) * MILLI_TO_MICRO;
+ break;
+
+ case POWER_SUPPLY_PROP_PRESENT:
+ val->intval = !!(ddat.flags & ASPIRE_EC_FG_FLAG_PRESENT);
+ break;
+
+ case POWER_SUPPLY_PROP_SCOPE:
+ val->intval = POWER_SUPPLY_SCOPE_SYSTEM;
+ break;
+
+ case POWER_SUPPLY_PROP_MODEL_NAME:
+ str_index = sdat.model_id - 1;
+
+ if (str_index >= 0 && str_index < ARRAY_SIZE(aspire_ec_bat_psy_battery_model))
+ val->strval = aspire_ec_bat_psy_battery_model[str_index];
+ else
+ val->strval = "Unknown";
+ break;
+
+ case POWER_SUPPLY_PROP_MANUFACTURER:
+ str_index = sdat.vendor_id - 3; /* ACPI uses 3 as an offset here. */
+
+ if (str_index >= 0 && str_index < ARRAY_SIZE(aspire_ec_bat_psy_battery_vendor))
+ val->strval = aspire_ec_bat_psy_battery_vendor[str_index];
+ else
+ val->strval = "Unknown";
+ break;
+
+ default:
+ return -EINVAL;
+ }
+
+ return 0;
+}
+
+static enum power_supply_property aspire_ec_bat_psy_props[] = {
+ POWER_SUPPLY_PROP_STATUS,
+ POWER_SUPPLY_PROP_VOLTAGE_NOW,
+ POWER_SUPPLY_PROP_VOLTAGE_MAX_DESIGN,
+ POWER_SUPPLY_PROP_CHARGE_NOW,
+ POWER_SUPPLY_PROP_CHARGE_FULL,
+ POWER_SUPPLY_PROP_CAPACITY,
+ POWER_SUPPLY_PROP_CURRENT_NOW,
+ POWER_SUPPLY_PROP_PRESENT,
+ POWER_SUPPLY_PROP_SCOPE,
+ POWER_SUPPLY_PROP_MODEL_NAME,
+ POWER_SUPPLY_PROP_MANUFACTURER,
+};
+
+static const struct power_supply_desc aspire_ec_bat_psy_desc = {
+ .name = "aspire-ec-bat",
+ .type = POWER_SUPPLY_TYPE_BATTERY,
+ .get_property = aspire_ec_bat_psy_get_property,
+ .properties = aspire_ec_bat_psy_props,
+ .num_properties = ARRAY_SIZE(aspire_ec_bat_psy_props),
+};
+
+static int aspire_ec_adp_psy_get_property(struct power_supply *psy,
+ enum power_supply_property psp,
+ union power_supply_propval *val)
+{
+ struct aspire_ec *ec = power_supply_get_drvdata(psy);
+ u8 tmp;
+
+ switch (psp) {
+ case POWER_SUPPLY_PROP_ONLINE:
+ aspire_ec_ram_read(ec->client, ASPIRE_EC_RAM_ADP, &tmp, sizeof(tmp));
+ val->intval = !!(tmp & ASPIRE_EC_AC_STATUS);
+ break;
+
+ default:
+ return -EINVAL;
+ }
+
+ return 0;
+}
+
+static enum power_supply_property aspire_ec_adp_psy_props[] = {
+ POWER_SUPPLY_PROP_ONLINE,
+};
+
+static const struct power_supply_desc aspire_ec_adp_psy_desc = {
+ .name = "aspire-ec-adp",
+ .type = POWER_SUPPLY_TYPE_MAINS,
+ .get_property = aspire_ec_adp_psy_get_property,
+ .properties = aspire_ec_adp_psy_props,
+ .num_properties = ARRAY_SIZE(aspire_ec_adp_psy_props),
+};
+
+/*
+ * USB-C DP Alt mode HPD.
+ */
+
+static int aspire_ec_bridge_attach(struct drm_bridge *bridge, enum drm_bridge_attach_flags flags)
+{
+ return flags & DRM_BRIDGE_ATTACH_NO_CONNECTOR ? 0 : -EINVAL;
+}
+
+static void aspire_ec_bridge_update_hpd_work(struct work_struct *work)
+{
+ struct aspire_ec *ec = container_of(work, struct aspire_ec, work);
+ u8 tmp;
+
+ aspire_ec_ram_read(ec->client, ASPIRE_EC_RAM_HPD_STATUS, &tmp, sizeof(tmp));
+ if (tmp == ASPIRE_EC_HPD_CONNECTED)
+ drm_bridge_hpd_notify(&ec->bridge, connector_status_connected);
+ else
+ drm_bridge_hpd_notify(&ec->bridge, connector_status_disconnected);
+}
+
+static void aspire_ec_bridge_hpd_enable(struct drm_bridge *bridge)
+{
+ struct aspire_ec *ec = container_of(bridge, struct aspire_ec, bridge);
+
+ schedule_work(&ec->work);
+}
+
+static const struct drm_bridge_funcs aspire_ec_bridge_funcs = {
+ .hpd_enable = aspire_ec_bridge_hpd_enable,
+ .attach = aspire_ec_bridge_attach,
+};
+
+/*
+ * Sysfs attributes.
+ */
+
+static ssize_t fn_lock_show(struct device *dev, struct device_attribute *attr, char *buf)
+{
+ struct aspire_ec *ec = i2c_get_clientdata(to_i2c_client(dev));
+ u8 tmp;
+
+ aspire_ec_ram_read(ec->client, ASPIRE_EC_RAM_KBD_MODE, &tmp, sizeof(tmp));
+
+ return sysfs_emit(buf, "%u\n", !(tmp & ASPIRE_EC_RAM_KBD_MEDIA_ON_TOP));
+}
+
+static ssize_t fn_lock_store(struct device *dev, struct device_attribute *attr,
+ const char *buf, size_t count)
+{
+ struct aspire_ec *ec = i2c_get_clientdata(to_i2c_client(dev));
+ u8 tmp;
+
+ bool state;
+ int ret;
+
+ ret = kstrtobool(buf, &state);
+ if (ret)
+ return ret;
+
+ aspire_ec_ram_read(ec->client, ASPIRE_EC_RAM_KBD_MODE, &tmp, sizeof(tmp));
+
+ if (state)
+ tmp &= ~ASPIRE_EC_RAM_KBD_MEDIA_ON_TOP;
+ else
+ tmp |= ASPIRE_EC_RAM_KBD_MEDIA_ON_TOP;
+
+ aspire_ec_ram_write(ec->client, ASPIRE_EC_RAM_KBD_MODE, tmp);
+
+ return count;
+}
+
+static DEVICE_ATTR_RW(fn_lock);
+
+static struct attribute *aspire_ec_attrs[] = {
+ &dev_attr_fn_lock.attr,
+ NULL
+};
+ATTRIBUTE_GROUPS(aspire_ec);
+
+static int aspire_ec_probe(struct i2c_client *client)
+{
+ struct power_supply_config psy_cfg = {0};
+ struct device *dev = &client->dev;
+ struct fwnode_handle *fwnode;
+ struct aspire_ec *ec;
+ int ret;
+ u8 tmp;
+
+ ec = devm_kzalloc(dev, sizeof(*ec), GFP_KERNEL);
+ if (!ec)
+ return -ENOMEM;
+
+ ec->client = client;
+ i2c_set_clientdata(client, ec);
+
+ /* Battery status reports */
+ psy_cfg.drv_data = ec;
+ ec->bat_psy = devm_power_supply_register(dev, &aspire_ec_bat_psy_desc, &psy_cfg);
+ if (IS_ERR(ec->bat_psy))
+ return dev_err_probe(dev, PTR_ERR(ec->bat_psy),
+ "Failed to register battery power supply\n");
+
+ ec->adp_psy = devm_power_supply_register(dev, &aspire_ec_adp_psy_desc, &psy_cfg);
+ if (IS_ERR(ec->adp_psy))
+ return dev_err_probe(dev, PTR_ERR(ec->adp_psy),
+ "Failed to register AC power supply\n");
+
+ /* Lid switch */
+ ec->idev = devm_input_allocate_device(dev);
+ if (!ec->idev)
+ return -ENOMEM;
+
+ ec->idev->name = "aspire-ec";
+ ec->idev->phys = "aspire-ec/input0";
+ input_set_capability(ec->idev, EV_SW, SW_LID);
+
+ ret = input_register_device(ec->idev);
+ if (ret)
+ return dev_err_probe(dev, ret, "Input device register failed\n");
+
+ /* Enable the keyboard fn keys */
+ tmp = ASPIRE_EC_RAM_KBD_FN_EN | ASPIRE_EC_RAM_KBD_ALWAYS_SET;
+ tmp |= ASPIRE_EC_RAM_KBD_MEDIA_ON_TOP;
+ aspire_ec_ram_write(client, ASPIRE_EC_RAM_KBD_MODE, tmp);
+
+ aspire_ec_ram_read(client, ASPIRE_EC_RAM_KBD_MODE_2, &tmp, sizeof(tmp));
+ tmp |= ASPIRE_EC_RAM_KBD_MEDIA_NOTIFY;
+ aspire_ec_ram_write(client, ASPIRE_EC_RAM_KBD_MODE_2, tmp);
+
+ /* External Type-C display attach reports */
+ fwnode = device_get_named_child_node(dev, "connector");
+ if (fwnode) {
+ INIT_WORK(&ec->work, aspire_ec_bridge_update_hpd_work);
+ ec->bridge.funcs = &aspire_ec_bridge_funcs;
+ ec->bridge.of_node = to_of_node(fwnode);
+ ec->bridge.ops = DRM_BRIDGE_OP_HPD;
+ ec->bridge.type = DRM_MODE_CONNECTOR_USB;
+
+ ret = devm_drm_bridge_add(dev, &ec->bridge);
+ if (ret) {
+ fwnode_handle_put(fwnode);
+ return dev_err_probe(dev, ret, "Failed to register drm bridge\n");
+ }
+
+ ec->bridge_configured = true;
+ }
+
+ ret = devm_request_threaded_irq(dev, client->irq, NULL,
+ aspire_ec_irq_handler, IRQF_ONESHOT,
+ dev_name(dev), ec);
+ if (ret)
+ return dev_err_probe(dev, ret, "Failed to request irq\n");
+
+ return 0;
+}
+
+static int aspire_ec_resume(struct device *dev)
+{
+ struct aspire_ec *ec = i2c_get_clientdata(to_i2c_client(dev));
+ u8 tmp;
+
+ aspire_ec_ram_read(ec->client, ASPIRE_EC_RAM_LID_STATUS, &tmp, sizeof(tmp));
+ input_report_switch(ec->idev, SW_LID, !!(tmp & ASPIRE_EC_LID_OPEN));
+ input_sync(ec->idev);
+
+ return 0;
+}
+
+static const struct i2c_device_id aspire_ec_id[] = {
+ { "aspire1-ec", },
+ { }
+};
+MODULE_DEVICE_TABLE(i2c, aspire_ec_id);
+
+static const struct of_device_id aspire_ec_of_match[] = {
+ { .compatible = "acer,aspire1-ec", },
+ { }
+};
+MODULE_DEVICE_TABLE(of, aspire_ec_of_match);
+
+static DEFINE_SIMPLE_DEV_PM_OPS(aspire_ec_pm_ops, NULL, aspire_ec_resume);
+
+static struct i2c_driver aspire_ec_driver = {
+ .driver = {
+ .name = "aspire-ec",
+ .of_match_table = aspire_ec_of_match,
+ .pm = pm_sleep_ptr(&aspire_ec_pm_ops),
+ .dev_groups = aspire_ec_groups,
+ },
+ .probe = aspire_ec_probe,
+ .id_table = aspire_ec_id,
+};
+module_i2c_driver(aspire_ec_driver);
+
+MODULE_DESCRIPTION("Acer Aspire 1 embedded controller");
+MODULE_AUTHOR("Nikita Travkin <nikita@trvn.ru>");
+MODULE_LICENSE("GPL");
--
2.44.0
@@ -0,0 +1,94 @@
From 2379590f43baff3f0e80326f25df21cc98e8ae11 Mon Sep 17 00:00:00 2001
From: Nikita Travkin <nikita@trvn.ru>
Date: Sat, 9 Jul 2022 00:40:27 +0500
Subject: [PATCH 10/11] arm64: dts: qcom: acer-aspire1: Add embedded controller
The laptop contains an embedded controller that provides a set of
features:
- Battery and charger monitoring
- USB Type-C DP alt mode HPD monitoring
- Lid status detection
- Small amount of keyboard configuration*
[*] The keyboard is handled by the same EC but it has a dedicated i2c
bus and is already enabled. This port only provides fn key behavior
configuration.
Add the EC to the device tree and describe the relationship between the
EC-managed type-c port and the SoC DisplayPort.
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Signed-off-by: Nikita Travkin <nikita@trvn.ru>
---
.../boot/dts/qcom/sc7180-acer-aspire1.dts | 40 ++++++++++++++++++-
1 file changed, 39 insertions(+), 1 deletion(-)
diff --git a/arch/arm64/boot/dts/qcom/sc7180-acer-aspire1.dts b/arch/arm64/boot/dts/qcom/sc7180-acer-aspire1.dts
index 5afcb8212f49..3f0d3e33894a 100644
--- a/arch/arm64/boot/dts/qcom/sc7180-acer-aspire1.dts
+++ b/arch/arm64/boot/dts/qcom/sc7180-acer-aspire1.dts
@@ -255,7 +255,25 @@ &i2c2 {
clock-frequency = <400000>;
status = "okay";
- /* embedded-controller@76 */
+ embedded-controller@76 {
+ compatible = "acer,aspire1-ec";
+ reg = <0x76>;
+
+ interrupts-extended = <&tlmm 30 IRQ_TYPE_LEVEL_LOW>;
+
+ pinctrl-0 = <&ec_int_default>;
+ pinctrl-names = "default";
+
+ connector {
+ compatible = "usb-c-connector";
+
+ port {
+ ec_dp_in: endpoint {
+ remote-endpoint = <&mdss_dp_out>;
+ };
+ };
+ };
+ };
};
&i2c4 {
@@ -419,6 +437,19 @@ &mdss {
status = "okay";
};
+&mdss_dp {
+ data-lanes = <0 1>;
+
+ vdda-1p2-supply = <&vreg_l3c_1p2>;
+ vdda-0p9-supply = <&vreg_l4a_0p8>;
+
+ status = "okay";
+};
+
+&mdss_dp_out {
+ remote-endpoint = <&ec_dp_in>;
+};
+
&mdss_dsi0 {
vdda-supply = <&vreg_l3c_1p2>;
status = "okay";
@@ -857,6 +888,13 @@ codec_irq_default: codec-irq-deault-state {
bias-disable;
};
+ ec_int_default: ec-int-default-state {
+ pins = "gpio30";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-disable;
+ };
+
edp_bridge_irq_default: edp-bridge-irq-default-state {
pins = "gpio11";
function = "gpio";
--
2.44.0
@@ -1,103 +0,0 @@
From 8b12f09d1ba7f704e1ff0435d891556aae675b22 Mon Sep 17 00:00:00 2001
From: Alper Nebi Yasak <alpernebiyasak@gmail.com>
Date: Wed, 2 Aug 2023 20:57:30 +0300
Subject: [PATCH 11/17] ASoC: qcom: sc7180: Map missing jack kcontrols
This driver does not properly map jack pins to kcontrols that PulseAudio
and PipeWire need to handle jack detection events. The RT5682 and
RT5682s codecs used here can detect Headphone and Headset Mic
connections. Expose each to userspace as a kcontrol.
Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
Link: https://lore.kernel.org/r/20230802175737.263412-21-alpernebiyasak@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org>
---
sound/soc/qcom/sc7180.c | 40 +++++++++++++++++++++++++++++++++-------
1 file changed, 33 insertions(+), 7 deletions(-)
diff --git a/sound/soc/qcom/sc7180.c b/sound/soc/qcom/sc7180.c
index f5f7c64b23a2..57c5f35dfcc5 100644
--- a/sound/soc/qcom/sc7180.c
+++ b/sound/soc/qcom/sc7180.c
@@ -42,6 +42,17 @@ static void sc7180_jack_free(struct snd_jack *jack)
snd_soc_component_set_jack(component, NULL, NULL);
}
+static struct snd_soc_jack_pin sc7180_jack_pins[] = {
+ {
+ .pin = "Headphone Jack",
+ .mask = SND_JACK_HEADPHONE,
+ },
+ {
+ .pin = "Headset Mic",
+ .mask = SND_JACK_MICROPHONE,
+ },
+};
+
static int sc7180_headset_init(struct snd_soc_pcm_runtime *rtd)
{
struct snd_soc_card *card = rtd->card;
@@ -51,13 +62,14 @@ static int sc7180_headset_init(struct snd_soc_pcm_runtime *rtd)
struct snd_jack *jack;
int rval;
- rval = snd_soc_card_jack_new(
- card, "Headset Jack",
- SND_JACK_HEADSET |
- SND_JACK_HEADPHONE |
- SND_JACK_BTN_0 | SND_JACK_BTN_1 |
- SND_JACK_BTN_2 | SND_JACK_BTN_3,
- &pdata->hs_jack);
+ rval = snd_soc_card_jack_new_pins(card, "Headset Jack",
+ SND_JACK_HEADSET |
+ SND_JACK_HEADPHONE |
+ SND_JACK_BTN_0 | SND_JACK_BTN_1 |
+ SND_JACK_BTN_2 | SND_JACK_BTN_3,
+ &pdata->hs_jack,
+ sc7180_jack_pins,
+ ARRAY_SIZE(sc7180_jack_pins));
if (rval < 0) {
dev_err(card->dev, "Unable to add Headset Jack\n");
@@ -297,6 +309,11 @@ static const struct snd_soc_dapm_widget sc7180_snd_widgets[] = {
SND_SOC_DAPM_MIC("Headset Mic", NULL),
};
+static const struct snd_kcontrol_new sc7180_snd_controls[] = {
+ SOC_DAPM_PIN_SWITCH("Headphone Jack"),
+ SOC_DAPM_PIN_SWITCH("Headset Mic"),
+};
+
static const struct snd_soc_dapm_widget sc7180_adau7002_snd_widgets[] = {
SND_SOC_DAPM_MIC("DMIC", NULL),
};
@@ -320,6 +337,11 @@ static const struct snd_soc_dapm_widget sc7180_snd_dual_mic_widgets[] = {
SND_SOC_DAPM_MUX("Dmic Mux", SND_SOC_NOPM, 0, 0, &sc7180_dmic_mux_control),
};
+static const struct snd_kcontrol_new sc7180_snd_dual_mic_controls[] = {
+ SOC_DAPM_PIN_SWITCH("Headphone Jack"),
+ SOC_DAPM_PIN_SWITCH("Headset Mic"),
+};
+
static const struct snd_soc_dapm_route sc7180_snd_dual_mic_audio_route[] = {
{"Dmic Mux", "Front Mic", "DMIC"},
{"Dmic Mux", "Rear Mic", "DMIC"},
@@ -348,10 +370,14 @@ static int sc7180_snd_platform_probe(struct platform_device *pdev)
card->dev = dev;
card->dapm_widgets = sc7180_snd_widgets;
card->num_dapm_widgets = ARRAY_SIZE(sc7180_snd_widgets);
+ card->controls = sc7180_snd_controls;
+ card->num_controls = ARRAY_SIZE(sc7180_snd_controls);
if (of_property_read_bool(dev->of_node, "dmic-gpios")) {
card->dapm_widgets = sc7180_snd_dual_mic_widgets,
card->num_dapm_widgets = ARRAY_SIZE(sc7180_snd_dual_mic_widgets),
+ card->controls = sc7180_snd_dual_mic_controls,
+ card->num_controls = ARRAY_SIZE(sc7180_snd_dual_mic_controls),
card->dapm_routes = sc7180_snd_dual_mic_audio_route,
card->num_dapm_routes = ARRAY_SIZE(sc7180_snd_dual_mic_audio_route),
data->dmic_sel = devm_gpiod_get(&pdev->dev, "dmic", GPIOD_OUT_LOW);
--
2.43.0
@@ -0,0 +1,78 @@
From c3fccf1615be6548b50274851557f579b6320b5b Mon Sep 17 00:00:00 2001
From: Nikita Travkin <nikita@trvn.ru>
Date: Mon, 11 Mar 2024 14:53:04 +0500
Subject: [PATCH] HACK: clk: Delay disabling unused clocks by 10s
There is a forever-lasting problem with qcom clocks that causes display
subsystem crash due to "disp_cc_mdss_mdp_clk status stuck at 'off'" if
the clocks were cleaned up before msm claimed this one.
Delay disabling unused clocks by 10 seconds to work around this.
Signed-off-by: Nikita Travkin <nikita@trvn.ru>
---
drivers/clk/clk.c | 24 ++++++++++++++++--------
1 file changed, 16 insertions(+), 8 deletions(-)
diff --git a/drivers/clk/clk.c b/drivers/clk/clk.c
index 50228cb0c559..f0647ecca9ac 100644
--- a/drivers/clk/clk.c
+++ b/drivers/clk/clk.c
@@ -1347,7 +1347,7 @@ static void clk_core_disable_unprepare(struct clk_core *core)
clk_core_unprepare_lock(core);
}
-static void __init clk_unprepare_unused_subtree(struct clk_core *core)
+static void clk_unprepare_unused_subtree(struct clk_core *core)
{
struct clk_core *child;
@@ -1377,7 +1377,7 @@ static void __init clk_unprepare_unused_subtree(struct clk_core *core)
clk_pm_runtime_put(core);
}
-static void __init clk_disable_unused_subtree(struct clk_core *core)
+static void clk_disable_unused_subtree(struct clk_core *core)
{
struct clk_core *child;
unsigned long flags;
@@ -1431,15 +1431,10 @@ static int __init clk_ignore_unused_setup(char *__unused)
}
__setup("clk_ignore_unused", clk_ignore_unused_setup);
-static int __init clk_disable_unused(void)
+static void clk_disable_unused_work_function(struct work_struct *work)
{
struct clk_core *core;
- if (clk_ignore_unused) {
- pr_warn("clk: Not disabling unused clocks\n");
- return 0;
- }
-
pr_info("clk: Disabling unused clocks\n");
clk_prepare_lock();
@@ -1457,6 +1452,19 @@ static int __init clk_disable_unused(void)
clk_unprepare_unused_subtree(core);
clk_prepare_unlock();
+}
+static DECLARE_DELAYED_WORK(clk_disable_unused_work,
+ clk_disable_unused_work_function);
+
+static int __init clk_disable_unused(void)
+{
+ if (clk_ignore_unused) {
+ pr_warn("clk: Not disabling unused clocks\n");
+ return 0;
+ }
+
+ schedule_delayed_work(&clk_disable_unused_work,
+ msecs_to_jiffies(10000));
return 0;
}
--
2.44.0
@@ -1,60 +0,0 @@
From 28eac7fe663108b43c15d25566b03e8ccb71466c Mon Sep 17 00:00:00 2001
From: Nikita Travkin <nikita@trvn.ru>
Date: Tue, 5 Dec 2023 16:48:11 +0500
Subject: [PATCH 15/17] arm64: dts: qcom: acer-aspire1: Correct audio codec
definition
When initially added, a mistake was made in the definition of the codec.
Despite the fact that the DMIC line is connected on the side of the
codec chip, and relevant passive components, including 0-ohm resistors
connecting the dmics, are present, the dmic line is still cut in
another place on the board, which was overlooked.
Correct this by replacing the dmic configuration with a comment
describing this hardware detail.
While at it, also add missing regulators definitions. This is not a
functional change as all the relevant regulators were already added via
the other rail supplies.
Fixes: 4a9f8f8f2ada ("arm64: dts: qcom: Add Acer Aspire 1")
Signed-off-by: Nikita Travkin <nikita@trvn.ru>
Link: https://lore.kernel.org/r/20231205-aspire1-sound-v2-2-443b7ac0a06f@trvn.ru
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
---
.../arm64/boot/dts/qcom/sc7180-acer-aspire1.dts | 17 +++++++++++++++--
1 file changed, 15 insertions(+), 2 deletions(-)
diff --git a/arch/arm64/boot/dts/qcom/sc7180-acer-aspire1.dts b/arch/arm64/boot/dts/qcom/sc7180-acer-aspire1.dts
index ab8ec7958584..7bde69f39c8a 100644
--- a/arch/arm64/boot/dts/qcom/sc7180-acer-aspire1.dts
+++ b/arch/arm64/boot/dts/qcom/sc7180-acer-aspire1.dts
@@ -224,9 +224,22 @@ alc5682: codec@1a {
AVDD-supply = <&vreg_l15a_1p8>;
MICVDD-supply = <&reg_codec_3p3>;
VBAT-supply = <&reg_codec_3p3>;
+ DBVDD-supply = <&vreg_l15a_1p8>;
+ LDO1-IN-supply = <&vreg_l15a_1p8>;
+
+ /*
+ * NOTE: The board has a path from this codec to the
+ * DMIC microphones in the lid, however some of the option
+ * resistors are absent and the microphones are connected
+ * to the SoC instead.
+ *
+ * If the resistors were to be changed by the user to
+ * connect the codec, the following could be used:
+ *
+ * realtek,dmic1-data-pin = <1>;
+ * realtek,dmic1-clk-pin = <1>;
+ */
- realtek,dmic1-data-pin = <1>;
- realtek,dmic1-clk-pin = <1>;
realtek,jd-src = <1>;
};
};
--
2.43.0
@@ -1,34 +0,0 @@
From a69329189d779cadf5687ae294a6b62a714f7360 Mon Sep 17 00:00:00 2001
From: Nikita Travkin <nikita@trvn.ru>
Date: Wed, 20 Dec 2023 12:30:04 +0500
Subject: [PATCH 17/17] HACK: arm64: dts: qcom: acer-aspire1: Enable
DisplayPort block
Signed-off-by: Nikita Travkin <nikita@trvn.ru>
---
arch/arm64/boot/dts/qcom/sc7180-acer-aspire1.dts | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/sc7180-acer-aspire1.dts b/arch/arm64/boot/dts/qcom/sc7180-acer-aspire1.dts
index 58f694d8e762..bca950645a97 100644
--- a/arch/arm64/boot/dts/qcom/sc7180-acer-aspire1.dts
+++ b/arch/arm64/boot/dts/qcom/sc7180-acer-aspire1.dts
@@ -434,6 +434,15 @@ &mdss {
status = "okay";
};
+&mdss_dp {
+ data-lanes = <0 1>;
+
+ vdda-1p2-supply = <&vreg_l3c_1p2>;
+ vdda-0p9-supply = <&vreg_l4a_0p8>;
+
+ status = "okay";
+};
+
&pm6150_adc {
thermistor@4e {
reg = <ADC5_AMUX_THM2_100K_PU>;
--
2.43.0
@@ -1,7 +1,7 @@
# Maintainer: Jenneron <jenneron@protonmail.com>
pkgname=linux-postmarketos-qcom-sc7180
pkgver=6.1.39
pkgrel=7
pkgver=6.6.28
pkgrel=2
pkgdesc="Mainline kernel fork for Qualcomm Snapdragon 7c devices"
arch="aarch64"
_carch="arm64"
@@ -11,6 +11,7 @@ license="GPL-2.0-only"
options="!strip !check !tracedeps
pmb:cross-native
pmb:kconfigcheck-community
pmb:kconfigcheck-uefi
"
makedepends="
bash
@@ -34,23 +35,17 @@ case $pkgver in
esac
source="
https://cdn.kernel.org/pub/linux/kernel/v${_kernver%%.*}.x/linux-${pkgver//_/-}.tar.xz
0001-drm-panel-edp-Add-enable-timings-for-N140HCA-EAC-pan.patch
0002-drm-bridge-ti-sn65dsi86-Implement-wait_hpd_asserted.patch
0003-arm64-dts-qcom-sc7180-Don-t-enable-lpass-clocks-by-d.patch
0004-arm64-dts-qcom-sc7180-Drop-redundant-disable-in-mdp.patch
0005-arm64-dts-qcom-Add-Acer-Aspire-1.patch
0006-media-venus-core-Set-up-secure-memory-ranges-for-SC7.patch
0007-arm64-dts-qcom-sc7180-Split-up-TF-A-related-PSCI-con.patch
0008-remoteproc-qcom-pas-Add-sc7180-adsp.patch
0009-arm64-dts-qcom-sc7180-Add-tertiary-mi2s-pinctrl.patch
0010-arm64-dts-qcom-sc7180-Add-ADSP.patch
0011-ASoC-qcom-sc7180-Map-missing-jack-kcontrols.patch
0012-ASoC-qcom-sc7180-Add-support-for-qdsp6-baked-sound.patch
0013-arm64-dts-qcom-pm6150-Add-resin-and-rtc-nodes.patch
0014-arm64-dts-qcom-acer-aspire1-Enable-RTC.patch
0015-arm64-dts-qcom-acer-aspire1-Correct-audio-codec-defi.patch
0016-arm64-dts-qcom-acer-aspire1-Add-sound.patch
0017-HACK-arm64-dts-qcom-acer-aspire1-Enable-DisplayPort-.patch
0001-remoteproc-qcom-pas-Add-sc7180-adsp.patch
0002-arm64-dts-qcom-sc7180-Add-tertiary-mi2s-pinctrl.patch
0003-arm64-dts-qcom-sc7180-Add-ADSP.patch
0004-ASoC-qcom-sc7180-Add-support-for-qdsp6-baked-sound.patch
0005-arm64-dts-qcom-pm6150-Add-resin-and-rtc-nodes.patch
0006-arm64-dts-qcom-acer-aspire1-Enable-RTC.patch
0007-arm64-dts-qcom-acer-aspire1-Add-sound.patch
0008-platform-Add-ARM64-platform-directory.patch
0009-platform-arm64-Add-Acer-Aspire-1-embedded-controller.patch
0010-arm64-dts-qcom-acer-aspire1-Add-embedded-controller.patch
0011-HACK-clk-Delay-disabling-unused-clocks-by-10s.patch
$_config
"
builddir="$srcdir/linux-${_kernver//_/-}"
@@ -67,8 +62,21 @@ build() {
}
package() {
mkdir -p "$pkgdir"/boot
make zinstall modules_install dtbs_install \
if [ -e "$builddir/arch/$_carch/boot/vmlinuz.efi" ]; then
# ZBOOT EFI decompressor for EFI booting
install -Dm644 "$builddir/arch/$_carch/boot/vmlinuz.efi" \
"$pkgdir/boot/linux.efi"
# Old GZIP'd kernel image for boot.img/crOS compatibility
install -Dm644 "$builddir/arch/$_carch/boot/vmlinuz" \
"$pkgdir/boot/vmlinuz"
else
echo "WARNING: CONFIG_ZBOOT not enabled!"
install -Dm644 "$builddir/arch/$_carch/boot/Image.gz" \
"$pkgdir/boot/vmlinuz"
fi
make modules_install dtbs_install \
ARCH="$_carch" \
INSTALL_PATH="$pkgdir"/boot \
INSTALL_MOD_PATH="$pkgdir" \
@@ -81,23 +89,17 @@ package() {
}
sha512sums="
20d468ae89b57dda82d7c7b814c3d8b1b510e1623775b09a8a0b0a8a0431461e0a1d2df2bfa01f3102932c8eef91405546898b50ec3e6f30015098bb39722b41 linux-6.1.39.tar.xz
eee1c168ef24ecff55d01358f806f6aa31bb470d4ce547b812bda64bf78f916834e210d83aaf45955c44577981de5b12c196bff5f7236c7959e7f3df2985d035 0001-drm-panel-edp-Add-enable-timings-for-N140HCA-EAC-pan.patch
f1c85f9e7b2dbebba54eca7080589ee35be501854510fd54f1fb3db07b8cfb62276cb9359a40096ac0a98bd01bc587de89dbf227aad6b371f64b78b5c806e583 0002-drm-bridge-ti-sn65dsi86-Implement-wait_hpd_asserted.patch
03b638baea7703227c398ba37824eeb17a96138aced4cc1e0769a265eb38788ac1fd150166a0af9e22f1364d053f20219b2b269310d01c32c4089682939021bf 0003-arm64-dts-qcom-sc7180-Don-t-enable-lpass-clocks-by-d.patch
82761a3c53167dfb02091fb5305dca67b52872db3ecb14a42d782ba1346f046160d47a379fd88f0e3cb7ee91aa35a2eebe89304edb618df3895e2d469c9c8863 0004-arm64-dts-qcom-sc7180-Drop-redundant-disable-in-mdp.patch
639784302e28afc562fc6d9673b12fbce49f11b5e2400ed5c460d5e157e7196092f33e1c67a1ee6bf8ad5b4dbb81f2f0263439662a1b68ea49c9201f63afe153 0005-arm64-dts-qcom-Add-Acer-Aspire-1.patch
b09b67143e1adc26cb24954a31f3633aaf9624354ba27e69af685503a6621c6c7bad0b5b9c08535548e3e2885ccba7798542b97c4d217ab970ee504ba250595d 0006-media-venus-core-Set-up-secure-memory-ranges-for-SC7.patch
04d746c6b5595097eec2a4bf37df06266a29080bedf7708bd54eb7b98a0b9a6d5581aef45070799b7d10ba94cd11d0ceb09486547e24bf2a597964e9e5566bc1 0007-arm64-dts-qcom-sc7180-Split-up-TF-A-related-PSCI-con.patch
3f9c5b34f6869a9332ca8f260b385d0d7a5c4453d3fe682d864f53d44dceee9bd6bb370e75a60ce61c87b4224347f8cc8647c9d03f2bc2293d8e53ef327e2cc5 0008-remoteproc-qcom-pas-Add-sc7180-adsp.patch
fe389611f991ba9de9e4662b2ed35a6790bbc18bb99fdc12eb281e5a4d5559ada3952a4024145007e9b8fbd3ed5fb862f56ad27f0ff36874decf24090d995f57 0009-arm64-dts-qcom-sc7180-Add-tertiary-mi2s-pinctrl.patch
5fa7a4914ecd6e4ea47dce438cc1100f2747b082c71477859745147df801aede57ef6f1c54680a2c6ca85b61b791faa77210bd216bbe849681b2c558b6c6f152 0010-arm64-dts-qcom-sc7180-Add-ADSP.patch
57c6f29b445ecd92f5fb1d5ca0a2783bccc1fbd3b1e51016db84370b75214fd70c832207f7c59cc00814db686d0ce03f33013138378c25aa18b8646148a296ac 0011-ASoC-qcom-sc7180-Map-missing-jack-kcontrols.patch
08f1e646e1a387f1c5d01c954c87bdebd6fb13aa555eb3430331ffcfae0d6b61697ea4d35fb33b01bda801c92e9308f3a73ddf5b83a3074c009b2cce468f4d42 0012-ASoC-qcom-sc7180-Add-support-for-qdsp6-baked-sound.patch
5e7dabdca52cf329b9a7fe77e6781cce07febda84592a93ea435b94e2707b6a8f3ae63a144070f5e203de4cd2608428cf9ec0c59fc2284bdd5b25bc995064264 0013-arm64-dts-qcom-pm6150-Add-resin-and-rtc-nodes.patch
5c9d7bd7a97b704f512ea398c183778e7aba04d513f14c55dc70ba7a3677613805241f48409ec3af08f62d96c23bd197e0ead0a42c877ad91f7bc32c00b1b606 0014-arm64-dts-qcom-acer-aspire1-Enable-RTC.patch
19441571468c89576da2087bfcfb8eaca253c67b41bd201ba123dafa33e5e6f424c9719b8fddf61cfce4d27f1b138718f200931eafc5edab5cb4da5b225ba410 0015-arm64-dts-qcom-acer-aspire1-Correct-audio-codec-defi.patch
d6ecbd07481bf9852d330f1fbe004e0f70a45251956a37b730e4cbb3b7e3c03b34c9979749ab8857d39171382e87159cc54125fad7a0a02a33d4b502892fce9a 0016-arm64-dts-qcom-acer-aspire1-Add-sound.patch
43cc38c2074a474a4386ab070bcc7b966527a607bc0adb345ce6d13f79b7714e46747ed2624831ae6ed48cf3b4ef387e4cc84247c3b7d13e69a7d1e64f7efe6f 0017-HACK-arm64-dts-qcom-acer-aspire1-Enable-DisplayPort-.patch
7c3ba7a612c58472d75d30658c143065c1e508484b83ff1594001243ca066881c5d9b50210174637261831cab5c770320fcf6d8cd03a5e9fd0fdc7cdefd8abff config-postmarketos-qcom-sc7180.aarch64
fdf6def06de85656f8aa010edfb8b2f7f71cdeef9a70b5b35511833fbcf0e4fbfafb6224acfdf475975bc4bc8f05d0291745af5a6ae752a70cbd09ae2d3d17a8 linux-6.6.28.tar.xz
ac68e3e441c90ebc88d75cabcbb54d836256876932689f74a4d492a19c5aab9e207930ff14ba24f2298af44f662616ef34c9b8147a7ebada2db9c11eab55f3f2 0001-remoteproc-qcom-pas-Add-sc7180-adsp.patch
8f8aad35c408b2c29a8ddd2bc71c8542bef73e9b386c010257004e67bccf82fc1ffe9ca8df0b12d6930a776fdb288a365ddceb7d4bbc7031777bef6fdf3534a1 0002-arm64-dts-qcom-sc7180-Add-tertiary-mi2s-pinctrl.patch
a4d8bbf39575e61d228b3b66fa692b207c1ee011e6030fdd097936a1ad28b1d5b01816d989adcb809d05f107aaf9024ccd077e6daa9c65aa2ff23907ee1f0566 0003-arm64-dts-qcom-sc7180-Add-ADSP.patch
30130ae6e49bc0386fd7b34e69961e208806673b2bf2b7bb9abe428766013116baa924536346bceee60db886565c7e2f9c48c8ba2e691381aae544df730b780a 0004-ASoC-qcom-sc7180-Add-support-for-qdsp6-baked-sound.patch
80479f5b598628f48302aa4c224f173cbe02ebb6a9e14a555b9bf06163a40442cdc8e77c7a6e14684a21df0e61627cfa3345cef385d6d3e11c1d412cc924d85a 0005-arm64-dts-qcom-pm6150-Add-resin-and-rtc-nodes.patch
6628e979e9ba579ff3f259f8d2917318342f4cc855a06ac70dc2a81bf3c9e3a6729b1ebee28591db1374afc7a0aabbbf2f2e8b915c735f070528f6ddfd905631 0006-arm64-dts-qcom-acer-aspire1-Enable-RTC.patch
9200a97d795d97e42e89af9cb47fc750ef2784d883327b6e8ca0ad77634c8af20b531f8917c3584c369fd2f36142cea73f51d416e78a99e80c48ae99165bdf18 0007-arm64-dts-qcom-acer-aspire1-Add-sound.patch
1cc7105a6b4aa112f8203416a11cda56a39dfa957679021f7bf38f9503eab51c99cb53aed391cb7cb6ec853b705f0d5032ea5932f8c342152aca916681b507d3 0008-platform-Add-ARM64-platform-directory.patch
08c6cace24a207f4a64a85b17e97646f62a8590b502cd5b6945489d0aeded352e21f0e1b0ec541ae2e61ec7fd4f6bc1e5bf1d5d32f2c6616eb41d39d66f0bab5 0009-platform-arm64-Add-Acer-Aspire-1-embedded-controller.patch
69cfb699990ea7994089016b29cc248cb03483ad3f7620cbba63a779b2ed8928e6fde68484d29b6b8dfd1a8a6fa8d84c441f30180c7a257520ced442dab33876 0010-arm64-dts-qcom-acer-aspire1-Add-embedded-controller.patch
c5edcd74f898b08bc663766668632d351aea40426b3563d53a4b8c6856dd82627f4794d60450e41171c990ebb3649056b36ef432c14c8783168e8060a2e3b094 0011-HACK-clk-Delay-disabling-unused-clocks-by-10s.patch
6fbad2e61ecf940f4c7bae930f794b90fa7d0016dffb20a929cd0220987f5f59a4b0c55fe2c7bc575ad2bf253ba949168748a825965aedff295f84d2d817ac79 config-postmarketos-qcom-sc7180.aarch64
"
File diff suppressed because it is too large. Load diff
@@ -1,9 +1,9 @@
# Maintainer: Luca Weiss <luca@z3ntu.xyz>
# Maintainer: Luca Weiss <luca@lucaweiss.eu>
_flavor="postmarketos-qcom-sm6350"
pkgname=linux-$_flavor
pkgver=6.9.0
pkgrel=0
pkgver=6.9.7
pkgrel=1
pkgdesc="Mainline Kernel fork for SM6350/SM7225 devices"
arch="aarch64"
_carch="arm64"
@@ -54,6 +54,6 @@ package() {
}
sha512sums="
f7c4ce6385ee1f57551cd370ed48d89d138b442daf4934f10273fa86ac25f4ee743be606254c139c19fd5b74cc6739de89e49ff7568ad310c483cad2042adecc linux-v6.9.0-sm6350.tar.gz
0e3e1ff83a8064a8371c45b36be66a4773a70955df702f948e0426d596c805de585a972ba206f483a956bf40eafe3d409181b9eecd76a3170216186bb57a8cff config-postmarketos-qcom-sm6350.aarch64
2d432d2e9cf681c55a8406d1c9122ebdde8fdd0dee12815b785bfc9446527bec25a812b297e88d893685fa32b45afd752ae13ae2c28bf6e53f9699e4f7021dae linux-v6.9.7-sm6350.tar.gz
0025fefe24d80100a4507e12703cb340790985cb4bbdd8f84b32e1852b1df5a9bddd08745eaebcb848779d5205a23e6809b24fe420b8994c1e51e0f9801ae95a config-postmarketos-qcom-sm6350.aarch64
"
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
# Linux/arm64 6.9.0 Kernel Configuration
# Linux/arm64 6.9.7 Kernel Configuration
#
CONFIG_CC_VERSION_TEXT="aarch64-alpine-linux-musl-gcc (Alpine 13.2.1_git20240309) 13.2.1 20240309"
CONFIG_CC_IS_GCC=y
@@ -1839,6 +1839,7 @@ CONFIG_DM_THIN_PROVISIONING=m
# CONFIG_DM_VDO is not set
# CONFIG_TARGET_CORE is not set
CONFIG_NETDEVICES=y
CONFIG_MII=m
CONFIG_NET_CORE=y
# CONFIG_BONDING is not set
CONFIG_DUMMY=m
@@ -2049,7 +2050,7 @@ CONFIG_USB_NET_DRIVERS=y
# CONFIG_USB_KAWETH is not set
# CONFIG_USB_PEGASUS is not set
# CONFIG_USB_RTL8150 is not set
# CONFIG_USB_RTL8152 is not set
CONFIG_USB_RTL8152=m
# CONFIG_USB_LAN78XX is not set
# CONFIG_USB_USBNET is not set
# CONFIG_USB_HSO is not set
@@ -3121,7 +3122,7 @@ CONFIG_REGULATOR_FIXED_VOLTAGE=y
CONFIG_REGULATOR_QCOM_PM8008=y
CONFIG_REGULATOR_QCOM_RPMH=y
# CONFIG_REGULATOR_QCOM_SPMI is not set
# CONFIG_REGULATOR_QCOM_USB_VBUS is not set
CONFIG_REGULATOR_QCOM_USB_VBUS=y
# CONFIG_REGULATOR_RAA215300 is not set
# CONFIG_REGULATOR_RASPBERRYPI_TOUCHSCREEN_ATTINY is not set
# CONFIG_REGULATOR_RT4801 is not set
@@ -3298,6 +3299,7 @@ CONFIG_DRM_PANEL_HIMAX_HX83112A=m
CONFIG_DRM_BRIDGE=y
CONFIG_DRM_PANEL_BRIDGE=y
CONFIG_DRM_AUX_BRIDGE=y
CONFIG_DRM_AUX_HPD_BRIDGE=y
#
# Display Interface Bridges
@@ -3476,7 +3478,7 @@ CONFIG_SND_USB_AUDIO=m
CONFIG_HID_SUPPORT=y
CONFIG_HID=y
# CONFIG_HID_BATTERY_STRENGTH is not set
# CONFIG_HIDRAW is not set
CONFIG_HIDRAW=y
CONFIG_UHID=m
CONFIG_HID_GENERIC=y
@@ -3500,6 +3502,7 @@ CONFIG_HID_APPLE=y
# CONFIG_HID_MACALLY is not set
# CONFIG_HID_PRODIKEYS is not set
# CONFIG_HID_CMEDIA is not set
# CONFIG_HID_CP2112 is not set
# CONFIG_HID_CREATIVE_SB0540 is not set
# CONFIG_HID_CYPRESS is not set
# CONFIG_HID_DRAGONRISE is not set
@@ -3509,6 +3512,7 @@ CONFIG_HID_APPLE=y
# CONFIG_HID_ELO is not set
# CONFIG_HID_EVISION is not set
# CONFIG_HID_EZKEY is not set
# CONFIG_HID_FT260 is not set
# CONFIG_HID_GEMBIRD is not set
# CONFIG_HID_GFRM is not set
# CONFIG_HID_GLORIOUS is not set
@@ -3534,6 +3538,7 @@ CONFIG_HID_APPLE=y
# CONFIG_HID_LENOVO is not set
# CONFIG_HID_LETSKETCH is not set
CONFIG_HID_LOGITECH=y
# CONFIG_HID_LOGITECH_DJ is not set
# CONFIG_HID_LOGITECH_HIDPP is not set
# CONFIG_LOGITECH_FF is not set
# CONFIG_LOGIRUMBLEPAD2_FF is not set
@@ -3602,7 +3607,7 @@ CONFIG_HID_LOGITECH=y
#
CONFIG_USB_HID=y
# CONFIG_HID_PID is not set
# CONFIG_USB_HIDDEV is not set
CONFIG_USB_HIDDEV=y
# end of USB HID support
CONFIG_I2C_HID=y
@@ -3617,7 +3622,7 @@ CONFIG_USB_ULPI_BUS=y
# CONFIG_USB_CONN_GPIO is not set
CONFIG_USB_ARCH_HAS_HCD=y
CONFIG_USB=y
# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
#
# Miscellaneous USB options
@@ -3828,7 +3833,38 @@ CONFIG_USB_CONFIGFS_F_FS=y
# CONFIG_USB_RAW_GADGET is not set
# end of USB Gadget precomposed configurations
# CONFIG_TYPEC is not set
CONFIG_TYPEC=y
CONFIG_TYPEC_TCPM=y
# CONFIG_TYPEC_TCPCI is not set
# CONFIG_TYPEC_FUSB302 is not set
CONFIG_TYPEC_QCOM_PMIC=y
# CONFIG_TYPEC_UCSI is not set
# CONFIG_TYPEC_TPS6598X is not set
# CONFIG_TYPEC_ANX7411 is not set
# CONFIG_TYPEC_RT1719 is not set
# CONFIG_TYPEC_HD3SS3220 is not set
# CONFIG_TYPEC_STUSB160X is not set
# CONFIG_TYPEC_WUSB3801 is not set
#
# USB Type-C Multiplexer/DeMultiplexer Switch support
#
# CONFIG_TYPEC_MUX_FSA4480 is not set
CONFIG_TYPEC_MUX_GPIO_SBU=y
# CONFIG_TYPEC_MUX_PI3USB30532 is not set
# CONFIG_TYPEC_MUX_IT5205 is not set
# CONFIG_TYPEC_MUX_NB7VPQ904M is not set
# CONFIG_TYPEC_MUX_PTN36502 is not set
# CONFIG_TYPEC_MUX_WCD939X_USBSS is not set
# end of USB Type-C Multiplexer/DeMultiplexer Switch support
#
# USB Type-C Alternate Mode drivers
#
CONFIG_TYPEC_DP_ALTMODE=y
# CONFIG_TYPEC_NVIDIA_ALTMODE is not set
# end of USB Type-C Alternate Mode drivers
CONFIG_USB_ROLE_SWITCH=y
CONFIG_MMC=y
CONFIG_PWRSEQ_EMMC=y
@@ -4408,6 +4444,7 @@ CONFIG_QCOM_GENI_SE=y
CONFIG_QCOM_LLCC=y
CONFIG_QCOM_MDT_LOADER=m
# CONFIG_QCOM_OCMEM is not set
# CONFIG_QCOM_PMIC_GLINK is not set
CONFIG_QCOM_QMI_HELPERS=y
# CONFIG_QCOM_RAMP_CTRL is not set
CONFIG_QCOM_RMTFS_MEM=y
@@ -4495,6 +4532,7 @@ CONFIG_EXTCON=y
# CONFIG_EXTCON_RT8973A is not set
# CONFIG_EXTCON_SM5502 is not set
# CONFIG_EXTCON_USB_GPIO is not set
# CONFIG_EXTCON_USBC_TUSB320 is not set
# CONFIG_MEMORY is not set
CONFIG_IIO=y
# CONFIG_IIO_BUFFER is not set
@@ -5377,6 +5415,7 @@ CONFIG_CRYPTO_ALGAPI=y
CONFIG_CRYPTO_ALGAPI2=y
CONFIG_CRYPTO_AEAD=y
CONFIG_CRYPTO_AEAD2=y
CONFIG_CRYPTO_SIG=y
CONFIG_CRYPTO_SIG2=y
CONFIG_CRYPTO_SKCIPHER=y
CONFIG_CRYPTO_SKCIPHER2=y
@@ -1,17 +1,7 @@
# Maintainer: Quade Curry <qc8086@qc8086.com>
# This is seperate from linux-edge so we can control the release cycle better.
# If this kernel is updated and fails to boot it's quite hard to recover the
# rk3399 devices due to the boot order. This kernel also has a kconfig that has
# more modules built-in that are required for successfully booting on these
# devices.
# It's important that CONFIG_ROCKCHIP_CDN_DP is _disabled_ because it causes
# boot failure
pkgname=linux-postmarketos-rockchip
pkgver=6.2
pkgrel=14
pkgver=6.6.34
pkgrel=0
pkgdesc="Mainline kernel for rockchip devices"
arch="aarch64"
_carch="arm64"
@@ -28,7 +18,7 @@ makedepends="
devicepkg-dev
findutils
flex
installkernel
postmarketos-installkernel
openssl-dev
perl
rsync
@@ -81,6 +71,6 @@ package() {
}
sha512sums="
a01bee0b968b95183934fe3504516be7ef5811944a061f5aed05ecebaa27b5eb64e33232fd0a8dd622b3c8743bfe462ef7e464d381734d111a0ad6a6d9f66ddd linux-6.2.tar.xz
d937ee7e88a6a549398f8ba002590d07386f86bbce67df20325eafd1a0df9e927e8cc6e6a940c021586acb63b3e7c21ea0cbee79820b6059076f7ef3e5f72e41 config-postmarketos-rockchip.aarch64
eaa792be65c4cdfd37b84d4dadd22086c8507c1f78d538255cff03595e1caee0f88b521c398b6bc9ab3632010133cff5c7b14200413d54cf0a38bea79c2fd29f linux-6.6.34.tar.xz
64117d03325b7059ff032dca3d5990cefb3ce1c0f74590e6deba37f53b757cd8e10b273c53b6b7d54e55385b4d891c3e7d2d0ff9976520e81157a323243d0242 config-postmarketos-rockchip.aarch64
"
File diff suppressed because it is too large. Load diff
+3 -3
View File
@@ -2,7 +2,7 @@
pkgname=oem-amd
pkgdesc="AMD device support"
pkgver=2
pkgrel=2
pkgrel=3
url="https://postmarketos.org"
license="MIT"
arch="x86_64"
@@ -24,9 +24,9 @@ source="
package() {
mkdir -p "$pkgdir"
install -Dm644 00-oem-amd.modules \
-t "$pkgdir"/usr/share/mkinitfs/modules-extra
-t "$pkgdir"/usr/share/mkinitfs/modules
install -Dm644 00-amdgpu-firmware.files \
-t "$pkgdir"/usr/share/mkinitfs/files-extra
-t "$pkgdir"/usr/share/mkinitfs/files
}
libva() {
+2 -1
View File
@@ -3,7 +3,7 @@
# Co-Maintainer: Jan Jasper de Kroon <jajadekroon@gmail.com>
pkgname=device-pine64-pinephone
pkgver=3
pkgrel=1
pkgrel=2
pkgdesc="PINE64 PinePhone"
url="https://postmarketos.org"
license="MIT"
@@ -31,6 +31,7 @@ depends="
iw
linux-postmarketos-allwinner>=5.14
mesa-egl
pinephone-callaudiod
postmarketos-base
u-boot-pinephone>=2021.01_git20201228-r2
u-boot-tools
+4 -3
View File
@@ -3,8 +3,8 @@
# Co-Maintainer: Newbyte <newbyte@postmarketos.org>
# Contributor: Clayton Craft <clayton@craftyguy.net>
pkgname=device-purism-librem5
pkgver=3
pkgrel=1
pkgver=4
pkgrel=0
_confver=64
_purismrel=1
# <librem5-base ver>.<purism release>
@@ -17,6 +17,7 @@ options="!check !archcheck"
depends="
alsa-ucm-conf
bluez
bluez-deprecated
bm818-tools
gnss-share
i2c-tools
@@ -206,7 +207,7 @@ a0740e405781ec6ef765fdc9f5700c95adbb241c45c97b9384ba68cdece662cb216ca5918640042f
1cbc65cf2cb8fad4b0332d012a0256a266205b9b64371f5c0dae09dbb7f1e45b254e8c43993b896097e9d7035a72d547d9bce1ab2133addc56a5abdb80b44616 xorg.conf
fad386071fc45f9880a94cc8004fabd5d98b3e6a12606c98d8e72e0208f22ab54f03b921f5967a959782507e2bff67d2fa92e46d8cd242011a3afcdbda529279 70-librem5-xwayland-accel.sh
b45749fcddfd65a302b502bcabfa5828d1b63e45d844fd50e44009a756b919db20fe9526102947c0f0dfcdffe4a037e5050fe1b24fb915933ce0837f49759378 0001-udev-cameras-use-correct-path-for-modprobe-on-Alpine.patch
d9ebb7acddce8005909505b245140913ea3096a3ab8658ecbe2bf905953ba51aed4188b1d006d4d5bfd10c5e0ebca0150fec67d8c6d156d105021e9e4598b878 l5-brcm-bt-enable.initd
177ec87ec1f110d7c4253a20375c6771c6cfac41057b02bd673caea5399a799a59c5e087037fccf7a104447e6890499a2194aa34bab14df203fa95168ced75d7 l5-brcm-bt-enable.initd
f4b314d553655f7975445ac0a33099923e20dabb082c07e2cf6a78e4118c143d777dd4ad2c09cbc388600bdefe8deb3073fbd15b238772ddf09c66ac46415590 l5-lockdown-support.initd
c723764d507ccd4b04aa5ce79b1d1ebc131873cdc37a943cb0f92b8a08a3c69eb9e0d31fcd4589fd8c40a9676bae9897e4f12ec2ebe4db8214ac85669ef35a53 l5-ship-mode.initd
e089b0c4320c8cb5a6bd1e85f12b6afb24d035958f2bdc7a8ed2cee5b0f379e6fdfad876d8d22c03c9cb0576b4aa7c20c3e9986ba8147500add6d93b44e5f266 modemmanager.conf
@@ -1,5 +1,5 @@
#!/sbin/openrc-run
name="Purism Librem 5 Sparklan brcm bluetooth enabler"
supervisor=supervise-daemon
command="/usr/bin/btattach"
command_args="-B /dev/ttymxc3 -P bcm"
command="/usr/bin/hciattach"
command_args="-s 115200 /dev/ttymxc3 bcm43xx 1500000"
+1 -1
View File
@@ -1,6 +1,6 @@
# Reference: <https://postmarketos.org/devicepkg>
# Maintainer: Minecrell <minecrell@minecrell.net>
# Co-Maintainer: Luca Weiss <luca@z3ntu.xyz>
# Co-Maintainer: Luca Weiss <luca@lucaweiss.eu>
pkgname=device-qemu-riscv64
pkgver=2
pkgrel=2
+1 -2
View File
@@ -1,7 +1,6 @@
# Maintainer: Martijn Braam <martijn@brixit.nl>
pkgname=firmware-pine64-ov5640
pkgver=0_git20201028
pkgrel=1
pkgrel=2
_commit="61beaa4eb1ad87ad067cfbe123fbcd0a0cf01246"
pkgdesc="Firmware for the ov5640 autofocus"
url="https://github.com/pmsourcedump/ov5640"
@@ -1,8 +1,7 @@
# Maintainer: Martijn Braam <martijn@brixit.nl>
# Co-Maintainer: Bart Ribbers <bribbers@disroot.org>
# Maintainer: Bart Ribbers <bribbers@disroot.org>
pkgname=firmware-pine64-rtl8723bt
pkgver=0_git20200705
pkgrel=1
pkgrel=2
_commit="8840b1052b4ee426f348cb35e4994c5cafc5fbbd"
pkgdesc="Firmware for rtl8723bs and rtl8723cs"
url="https://github.com/anarsoul/rtl8723bt-firmware/"
@@ -3,9 +3,9 @@
_flavor=postmarketos-allwinner
_config="config-$_flavor.$CARCH"
pkgname=linux-$_flavor
pkgver=6.9.0_git20240514
pkgver=6.9.7_git20240630
pkgrel=0
_tag="orange-pi-6.9-20240514-1047"
_tag="orange-pi-6.9-20240630-2043"
pkgdesc="Kernel fork with Pine64 patches (megi's tree, slightly patched)"
arch="aarch64 armv7"
url="https://megous.com/git/linux/"
@@ -81,9 +81,9 @@ package() {
}
sha512sums="
f820b6757172a0c829488689d9c68a0575aba853b3d190776dac7e21aad3251ed3c392dd48fa3a6596f9ef0ece932104fd957b630386fdbd6ed6f77f90d3a745 linux-postmarketos-allwinner-orange-pi-6.9-20240514-1047.tar.gz
71b21bb873d304f9f11cb3744301fc4d14c9120d31f44cbf327db4760fb2824d0629077ba9e1f654a516b40fddb9b9e6f2e559636833c9e7e844480a3e5062d7 config-postmarketos-allwinner.aarch64
978ff33539f0f3cc27e0b1b33377def5445986de3abbfeb3325e341d68f063212bc92edbf7bcafc21ed5b55cc7c0c5e68d1f2a3fa3bb39eae889ddb5c89e4dde config-postmarketos-allwinner.armv7
51523e96919d817a14a3b2e9f149e7f0f2b33edac1f5a9c6b72cc31fa69c4d66632404d5851253ad83fa60eb4f56278c50bcd8ba1aca0133ca1796bfdde677e0 linux-postmarketos-allwinner-orange-pi-6.9-20240630-2043.tar.gz
ed33e7d190d8acee5f8a66ba203dfa04831a14af939d76538f26d0802c47a3145ff44edc9d4a3aa15adbb39ffddbb5edf453c1c69ede9b4ea7cc48d982bf0b6b config-postmarketos-allwinner.aarch64
930dab0c58b3885fe6a808b17b470f6a9e26f475e28453c05ec323637ef808465778a2da8487f9db734a2e8bd6d40d6b9e434df12bad61fcf85821ef7391dd5f config-postmarketos-allwinner.armv7
a1fe1a21c34062eb92b6a4a9d2ef330d0e745859af283ccf05fc899ec263f9d452c1399c29620a0e4c748eca4b0c13645668b2fc0dc72f5703426d472f1294be 0001-dts-add-dontbeevil-pinephone-devkit.patch
0ef26b34fa834c119ebff6daa27b1dd3fac27448d6a40c0b2022a00c239dad0ef3e2b3ab3f9eec5460f921c9c6ea21db360adc175a7e658d5c34c5d0aacc498f 0002-dts-add-pinetab-dev-old-display-panel.patch
d37d929100a9de9431cc3cef6b714b61b5af9633e35a2880fcc8b60279fdc9ab65198fa70d01e070a9f263818d994b9b851973bb079ddea1ca66d2b7964f365d 0003-dts-pinetab-add-missing-ohci1.patch
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
# Linux/arm64 6.9.0 Kernel Configuration
# Linux/arm64 6.9.7 Kernel Configuration
#
CONFIG_CC_VERSION_TEXT="aarch64-alpine-linux-musl-gcc (Alpine 13.2.1_git20240309) 13.2.1 20240309"
CONFIG_CC_IS_GCC=y
@@ -6184,6 +6184,7 @@ CONFIG_CRYPTO_ALGAPI=y
CONFIG_CRYPTO_ALGAPI2=y
CONFIG_CRYPTO_AEAD=y
CONFIG_CRYPTO_AEAD2=y
CONFIG_CRYPTO_SIG=y
CONFIG_CRYPTO_SIG2=y
CONFIG_CRYPTO_SKCIPHER=y
CONFIG_CRYPTO_SKCIPHER2=y
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
# Linux/arm 6.9.0 Kernel Configuration
# Linux/arm 6.9.7 Kernel Configuration
#
CONFIG_CC_VERSION_TEXT="armv7-alpine-linux-musleabihf-gcc (Alpine 13.2.1_git20240309) 13.2.1 20240309"
CONFIG_CC_IS_GCC=y
@@ -5976,6 +5976,7 @@ CONFIG_CRYPTO_ALGAPI=y
CONFIG_CRYPTO_ALGAPI2=y
CONFIG_CRYPTO_AEAD=y
CONFIG_CRYPTO_AEAD2=y
CONFIG_CRYPTO_SIG=y
CONFIG_CRYPTO_SIG2=y
CONFIG_CRYPTO_SKCIPHER=y
CONFIG_CRYPTO_SKCIPHER2=y
+8 -2
View File
@@ -4,7 +4,7 @@
# Contributor: Clayton Craft <clayton@craftyguy.net>
pkgname=linux-purism-librem5
pkgver=6.6.32
pkgrel=0
pkgrel=1
# NOTE: Don't forget to rebase the config! See prepare() for instructions.
_purismrel=2
# <kernel ver>.<purism kernel release>
@@ -63,6 +63,12 @@ prepare() {
# make ARCH="$_carch" CC="${CC:-gcc}" \
# defconfig KBUILD_DEFCONFIG=librem5_defconfig
# exit 1
#
# After that run the following
# cp <chroot_native/home/pmos/build/src/linux-pureos-6.6.32pureos2/.config> \
# device/main/linux-purism-librem5/config-purism-librem5.aarch64
# pmbootstrap kconfig edit linux-purism-librem5
# pmbootstrap kconfig check linux-purism-librem5
}
build() {
@@ -84,5 +90,5 @@ package() {
sha512sums="
42242ccc182fe8ca73207e4c5ce824ba9f9b194e068fb49a280777e3dbd7326a446a098aecc7ebbf28cf4cb3d9c3f62837d9f718623652dfa50e7cc1bc807773 linux-purism-librem5-6.6.32pureos2.tar.gz
603356f7cd756c0e93f1cbeca38bda7c34db27c13abb5db30786e51967bf94fa19ed6e3925d13c5ebb06d43db5c5fa75fba847d81c0f213a48cf72373eff1622 config-purism-librem5.aarch64
a6890ef18909fb74e6cfa1d2c74f8de874cb87f920a4328747f63d8ccf5d66966edea9d4a189aae8d84f4f7a9ecccf2a0fcef2c6bc0dba21062b9e9b46155971 config-purism-librem5.aarch64
"
@@ -220,7 +220,7 @@ CONFIG_LD_ORPHAN_WARN_LEVEL="warn"
CONFIG_SYSCTL=y
CONFIG_HAVE_UID16=y
CONFIG_SYSCTL_EXCEPTION_TRACE=y
# CONFIG_EXPERT is not set
CONFIG_EXPERT=y
CONFIG_UID16=y
CONFIG_MULTIUSER=y
# CONFIG_SGETMASK_SYSCALL is not set
@@ -518,9 +518,7 @@ CONFIG_STACKPROTECTOR_PER_TASK=y
# Boot options
#
CONFIG_CMDLINE=""
CONFIG_EFI_STUB=y
CONFIG_EFI=y
CONFIG_DMI=y
# CONFIG_EFI is not set
# end of Boot options
#
@@ -925,6 +923,7 @@ CONFIG_GENERIC_EARLY_IOREMAP=y
CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
CONFIG_ARCH_HAS_CURRENT_STACK_POINTER=y
CONFIG_ARCH_HAS_PTE_DEVMAP=y
CONFIG_ARCH_HAS_ZONE_DMA_SET=y
CONFIG_ZONE_DMA=y
CONFIG_ZONE_DMA32=y
CONFIG_ARCH_USES_HIGH_VMA_FLAGS=y
@@ -3153,7 +3152,8 @@ CONFIG_GPIOLIB=y
CONFIG_GPIOLIB_FASTPATH_LIMIT=512
CONFIG_OF_GPIO=y
CONFIG_GPIOLIB_IRQCHIP=y
# CONFIG_DEBUG_GPIO is not set
CONFIG_DEBUG_GPIO=y
# CONFIG_GPIO_SYSFS is not set
CONFIG_GPIO_CDEV=y
CONFIG_GPIO_CDEV_V1=y
CONFIG_GPIO_GENERIC=y
@@ -4756,7 +4756,10 @@ CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
# CONFIG_FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER is not set
# end of Console display driver support
# CONFIG_LOGO is not set
CONFIG_LOGO=y
# CONFIG_LOGO_LINUX_MONO is not set
# CONFIG_LOGO_LINUX_VGA16 is not set
CONFIG_LOGO_LINUX_CLUT224=y
# end of Graphics support
# CONFIG_DRM_ACCEL is not set
@@ -5964,10 +5967,8 @@ CONFIG_SYNC_FILE=y
# CONFIG_DMABUF_MOVE_NOTIFY is not set
# CONFIG_DMABUF_DEBUG is not set
# CONFIG_DMABUF_SELFTESTS is not set
CONFIG_DMABUF_HEAPS=y
# CONFIG_DMABUF_HEAPS is not set
# CONFIG_DMABUF_SYSFS_STATS is not set
# CONFIG_DMABUF_HEAPS_SYSTEM is not set
CONFIG_DMABUF_HEAPS_CMA=y
# end of DMABUF options
# CONFIG_UIO is not set
@@ -6091,7 +6092,10 @@ CONFIG_ARM_SMMU_V3=y
#
# Remoteproc drivers
#
# CONFIG_REMOTEPROC is not set
CONFIG_REMOTEPROC=y
CONFIG_REMOTEPROC_CDEV=y
CONFIG_IMX_REMOTEPROC=m
# CONFIG_IMX_DSP_REMOTEPROC is not set
# end of Remoteproc drivers
#
@@ -6945,7 +6949,10 @@ CONFIG_EXT4_FS_SECURITY=y
CONFIG_JBD2=y
# CONFIG_JBD2_DEBUG is not set
CONFIG_FS_MBCACHE=y
# CONFIG_REISERFS_FS is not set
CONFIG_REISERFS_FS=m
# CONFIG_REISERFS_CHECK is not set
# CONFIG_REISERFS_PROC_INFO is not set
# CONFIG_REISERFS_FS_XATTR is not set
# CONFIG_JFS_FS is not set
CONFIG_XFS_FS=m
CONFIG_XFS_SUPPORT_V4=y
@@ -6957,11 +6964,12 @@ CONFIG_XFS_DRAIN_INTENTS=y
CONFIG_XFS_ONLINE_SCRUB=y
CONFIG_XFS_ONLINE_SCRUB_STATS=y
# CONFIG_XFS_ONLINE_REPAIR is not set
CONFIG_XFS_DEBUG=y
CONFIG_XFS_ASSERT_FATAL=y
# CONFIG_XFS_WARN is not set
# CONFIG_XFS_DEBUG is not set
# CONFIG_GFS2_FS is not set
CONFIG_OCFS2_FS=m
CONFIG_OCFS2_FS_O2CB=m
CONFIG_OCFS2_FS_USERSPACE_CLUSTER=m
CONFIG_OCFS2_FS_STATS=y
CONFIG_OCFS2_DEBUG_MASKLOG=y
# CONFIG_OCFS2_DEBUG_FS is not set
@@ -7003,7 +7011,7 @@ CONFIG_QUOTA_TREE=m
# CONFIG_QFMT_V1 is not set
CONFIG_QFMT_V2=m
CONFIG_QUOTACTL=y
CONFIG_AUTOFS_FS=y
CONFIG_AUTOFS_FS=m
CONFIG_FUSE_FS=m
CONFIG_CUSE=m
CONFIG_VIRTIO_FS=m
@@ -7076,16 +7084,27 @@ CONFIG_CONFIGFS_FS=y
# end of Pseudo filesystems
CONFIG_MISC_FILESYSTEMS=y
# CONFIG_ORANGEFS_FS is not set
# CONFIG_ADFS_FS is not set
# CONFIG_AFFS_FS is not set
# CONFIG_ECRYPT_FS is not set
# CONFIG_HFS_FS is not set
# CONFIG_HFSPLUS_FS is not set
# CONFIG_BEFS_FS is not set
# CONFIG_BFS_FS is not set
# CONFIG_EFS_FS is not set
# CONFIG_JFFS2_FS is not set
CONFIG_ORANGEFS_FS=m
CONFIG_ADFS_FS=m
# CONFIG_ADFS_FS_RW is not set
CONFIG_AFFS_FS=m
CONFIG_ECRYPT_FS=y
CONFIG_ECRYPT_FS_MESSAGING=y
CONFIG_HFS_FS=m
CONFIG_HFSPLUS_FS=m
CONFIG_BEFS_FS=m
# CONFIG_BEFS_DEBUG is not set
CONFIG_BFS_FS=m
CONFIG_EFS_FS=m
CONFIG_JFFS2_FS=m
CONFIG_JFFS2_FS_DEBUG=0
CONFIG_JFFS2_FS_WRITEBUFFER=y
# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
# CONFIG_JFFS2_SUMMARY is not set
# CONFIG_JFFS2_FS_XATTR is not set
# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
CONFIG_JFFS2_ZLIB=y
CONFIG_JFFS2_RTIME=y
# CONFIG_CRAMFS is not set
CONFIG_SQUASHFS=y
CONFIG_SQUASHFS_FILE_CACHE=y
@@ -1,6 +1,6 @@
# Maintainer: Richard Acayan <mailingradian@gmail.com>
pkgname=alsa-ucm-conf-qcom-sdm670
pkgver=1.2.9_git20230920
pkgver=1.2.9_git20240625
pkgrel=0
pkgdesc="ALSA UCM configuration for SDM670 devices"
url="https://gitlab.com/sdm670-mainline/alsa-ucm-conf"
@@ -8,7 +8,7 @@ arch="aarch64"
license="BSD-3-Clause"
provides="alsa-ucm-conf"
provider_priority=1
_commit="936bf67b619f0b76933ef2433a5d136c7d78e5aa"
_commit="ae7dee03e655fcb1aa68bb327397cd838cf99bb1"
source="https://gitlab.com/sdm670-mainline/alsa-ucm-conf/-/archive/$_commit/alsa-ucm-conf-$_commit.tar.gz"
options="!check"
@@ -19,5 +19,5 @@ package() {
}
sha512sums="
b191d92e03fdc4db3398656bf28a7a5983d3405976d0f6455d8b2f31549735f8e08325c7a5bd059b1026309ac7cc72975d94ce52e396acb152de87d6731fafd0 alsa-ucm-conf-936bf67b619f0b76933ef2433a5d136c7d78e5aa.tar.gz
3643f485839c42903e530dd041e17280b04be4b1e970cb6c42f9ecaeacd10fbf09b4e51fcd77368f57aff4130e52f15b532731f50e03db06465aabfddbe7dd19 alsa-ucm-conf-ae7dee03e655fcb1aa68bb327397cd838cf99bb1.tar.gz
"
@@ -1,43 +0,0 @@
# Maintainer: Jianhua Lu <lujianhua000@gmail.com>
pkgname=alsa-ucm-conf-qcom-sm8250
pkgver=1.0
pkgrel=1
pkgdesc="ALSA Use Case Manager configuration for phones and tablets based on Qualcomm's SM8250 SoC"
subpackages="
alsa-ucm-conf-xiaomi-elish:xiaomi_elish
"
url="https://alsa-project.org"
arch="aarch64"
license="BSD-3-Clause"
source="
alsa-ucm-conf/elish.conf
alsa-ucm-conf/elish_HiFi.conf
"
options="!check" # no tests
package() {
# parent package is empty
mkdir -p "$pkgdir"
}
xiaomi_elish() {
pkgdesc="ALSA Use Case Manager configuration for Xiaomi Mi Pad 5 Pro"
depends="alsa-ucm-conf"
replaces="alsa-ucm-conf"
mkdir -p "$subpkgdir/usr/share/alsa/ucm2/conf.d/sm8250"
install -Dm644 "$srcdir/elish.conf" \
"$subpkgdir/usr/share/alsa/ucm2/Xiaomi/elish/elish.conf"
install -Dm644 "$srcdir/elish_HiFi.conf" \
"$subpkgdir/usr/share/alsa/ucm2/Xiaomi/elish/HiFi.conf"
ln -s ../../Xiaomi/elish/elish.conf \
"$subpkgdir/usr/share/alsa/ucm2/conf.d/sm8250/Xiaomi Mi Pad 5 Pro.conf"
}
sha512sums="
7b5def03dc5da28c7449719f0619f9d9ddbd988235b8591304ae4fea0989189d65ca1bc0d43664115f595137ba7896359b1b5f48fd6e350cac5d41ef9b1df869 elish.conf
ed9a509f70715fd6c6614ee5fddbdb0ed2aa69f4a2983af9dbec26bdeb18fe93e3d1a65e03c618550c61da1416c79eb9440fb1bcd4961f85059b27904c4395cc elish_HiFi.conf
"
+7 -36
View File
@@ -2,19 +2,19 @@
# Maintainer: Nikita Travkin <nikita@trvn.ru>
pkgname=device-acer-aspire1
pkgdesc="Acer Aspire 1"
pkgver=2
pkgrel=1
pkgver=4
pkgrel=0
url="https://postmarketos.org"
license="MIT"
arch="aarch64"
# pmb:strict: avoid grub-related install error during build with pmbootstrap
options="!check !archcheck pmb:strict"
options="!check !archcheck"
depends="
linux-postmarketos-qcom-sc7180
postmarketos-base
soc-qcom-sc7180
systemd-boot
"
makedepends="devicepkg-dev grub grub-efi"
makedepends="devicepkg-dev"
subpackages="
$pkgname-nonfree-firmware:nonfree_firmware
$pkgname-ucm
@@ -31,39 +31,10 @@ source="
build() {
devicepkg_build $startdir $pkgname
grub-mkimage \
--prefix="/grub" \
--output="bootaa64.efi" \
--format="arm64-efi" \
--compression="xz" \
\
all_video \
cat \
configfile \
disk \
echo \
efi_gop \
fat \
gzio \
help \
iso9660 \
linux \
ls \
normal \
part_gpt \
part_msdos \
search \
search_label \
test \
true
}
package() {
devicepkg_package $startdir $pkgname
install -Dm644 "$srcdir"/bootaa64.efi \
-t "$pkgdir"/boot/EFI/Boot
}
ucm() {
@@ -97,11 +68,11 @@ nonfree_firmware() {
}
sha512sums="
d1464b00c217c39fc7cfa446de802886114c2bc54b9c6b93fea4d3a139f5e51b605c879541b457dbfe0e3bca226dae216d5ecbd5ede4263533406042ae9615c6 deviceinfo
9f0aafaea32377cc8a9ed05c82dacf237f3149f325d34cc7784565596cca0ca2f0858dbe37573872c96b3264dbd9e8ceeb3a7af614aa0fccf501880d4ea38083 deviceinfo
99b3c6fee1e4088ad0246170b6884c5f342893efa4d4846c4e9fa47fbf58f2dc655b8379f465e7d690621630804634533392254fc4305fea6d292a9d5eb4795a modules-initfs
0626518d52fb56b80115e333030abe409fb5ca13aa7c13387e3f41e7d34c3b7c7da3ff06dd7062b79b5472f93119100bffa98f32f05f530623ccca7282777302 sc7180.conf
ee33efa68a091f47ecaf51fc05f43fb7d5c62ec3eeaacb917dc1438edc4636eaba52c336645bf8a555b68b366a7dc40baf55895595ac7ac66cdeaa7ede86a72f init.conf
aa02be162bf7d17396c19f457a73b887b23ac3aaa43543532c2f94d45d5ecfe600a4ae52d6dc43ccfd33ca3fa817533187fb895623b68e3f65150a6db0adc418 HiFi.conf
a39d5c3d0e80a008b69b736cfe0a121b45d1db72a1026b4ff7dbe9442fe7094e5599188bb6846382be6147bad4f5cc53bbd58d988c0d463f776cc57227cfb0a2 Acer-Aspire-1.conf
e9b3e1f2c3ad8dcbafd3420aa203da0b0d45098d2a20abaae0cdca77e64f9f51bd329f11a4777f66fe777ad1ea4c41b7749b4fb9bb6beb63a55a5af58f8c76c4 Acer-Aspire-1.conf
08c6b1bd8685bb47cfebe3f3cc38f2cb6f04c95498dc1fe2b4dbff08a563cf51b5933c20a6d3cae021af80afe61aa32ce7550687eec71a89bd1ae8791ae4c5fb DP.conf
"
@@ -19,6 +19,6 @@ deviceinfo_screen_height="1080"
# Bootloader related
deviceinfo_flash_method="none"
deviceinfo_kernel_cmdline="efi=novamap,noruntime deferred_probe_timeout=30 console=null"
deviceinfo_generate_grub_config="true"
deviceinfo_generate_systemd_boot="true"
deviceinfo_boot_filesystem="fat32"
deviceinfo_partition_type="gpt"
@@ -10,20 +10,20 @@ SectionUseCase."HiFi" {
# and PA refuses the profile right after.
# The condition guards the profile to at least supress
# those errors.
#If."DP present" {
# Condition {
# Type String
# String1 "${sys:/class/drm/card0-USB-1/status}"
# String2 "connected"
# }
#
# True {
# SectionUseCase."HDMI" {
# File "/Qualcomm/sc7180/Acer-Aspire-1/DP.conf"
# Comment "DisplayPort output."
# }
# }
#}
If."DP present" {
Condition {
Type String
String1 "${sys:/class/drm/card0-USB-1/status}"
String2 "connected"
}
True {
SectionUseCase."HDMI" {
File "/Qualcomm/sc7180/Acer-Aspire-1/DP.conf"
Comment "DisplayPort output."
}
}
}
Include.card-init.File "/lib/card-init.conf"
Include.ctl-remap.File "/lib/ctl-remap.conf"
@@ -2,7 +2,7 @@
pkgname=device-amazon-biscuit
pkgdesc="Amazon Echo Dot (2nd gen)"
pkgver=1
pkgrel=1
pkgrel=2
url="https://postmarketos.org"
license="MIT"
arch="armv7"
@@ -12,6 +12,7 @@ depends="
mtk-mkimage
mkbootimg
postmarketos-base
postmarketos-initramfs-minimal
"
makedepends="devicepkg-dev"
source="
@@ -0,0 +1,63 @@
# Reference: <https://postmarketos.org/devicepkg>
# Maintainer: Ferass El Hafidi <funderscore@postmarketos.org>
pkgname=device-amlogic-tvbox
pkgdesc="Amlogic TV box"
pkgver=1
pkgrel=0
url="https://postmarketos.org"
license="MIT"
arch="aarch64"
options="!check !archcheck"
depends="
postmarketos-base
soc-amlogic-s905
"
makedepends="devicepkg-dev"
source="
deviceinfo
modules-initfs
"
subpackages="
$pkgname-kernel-p201:kernel_p201
$pkgname-kernel-p212:kernel_p212
$pkgname-kernel-videostrong-kii-pro:kernel_videostrong_kii_pro
$pkgname-kernel-xiaomi-once:kernel_xiaomi_once
"
build() {
devicepkg_build $startdir $pkgname
}
package() {
devicepkg_package $startdir $pkgname
}
kernel_p201() {
pkgdesc="Kernel for Amlogic P201-based TV box (S905)"
depends="linux-postmarketos-amlogic u-boot-amlogic-s905-tv"
devicepkg_subpackage_kernel $startdir $pkgname $subpkgname
}
kernel_p212() {
pkgdesc="Kernel for Amlogic P212-based TV box (S905X)"
depends="linux-postmarketos-amlogic u-boot-amlogic-s905x-tv"
devicepkg_subpackage_kernel $startdir $pkgname $subpkgname
}
kernel_videostrong_kii_pro() {
pkgdesc="Kernel for Videostrong KII Pro (S905)"
depends="linux-postmarketos-amlogic u-boot-amlogic-s905-tv"
_pmb_recommends="firmware-videostrong-kii-pro"
devicepkg_subpackage_kernel $startdir $pkgname $subpkgname
}
kernel_xiaomi_once() {
pkgdesc="Kernel for Xiaomi Mi Box 3 (S905X)"
depends="linux-postmarketos-amlogic u-boot-amlogic-s905x-tv"
devicepkg_subpackage_kernel $startdir $pkgname $subpkgname
}
sha512sums="
f676256f02dba6e0dcdf3ef763cb96e4a0e6b44ba5cddfb0e675a808d5dd37267abb9086d9fa401d7cb39cf99f7fe63866baacb0d9959b7357cc8824236e3789 deviceinfo
52948c2884a6f6384e12b7a598f70878526d0d3293c214425170145231144ec7de805c038641741a4a5d75b50e554f6a3fa3769784a674217ed032f9b6a233c8 modules-initfs
"
@@ -1,26 +1,26 @@
# Maintainer: Ferass El Hafidi
# Reference: <https://postmarketos.org/deviceinfo>
# Please use double quotes only. You can source this file in shell
# scripts.
deviceinfo_format_version="0"
deviceinfo_name="VideoStrong KII Pro"
deviceinfo_manufacturer="VideoStrong"
deviceinfo_codename="videostrong-kii-pro"
deviceinfo_year="2016"
deviceinfo_dtb="amlogic/meson-gxbb-kii-pro"
deviceinfo_name="Amlogic TV box"
deviceinfo_manufacturer="Amlogic"
deviceinfo_codename="amlogic-tvbox"
deviceinfo_year="2015"
deviceinfo_dtb_p201="amlogic/meson-gxbb-p201"
deviceinfo_dtb_p212="amlogic/meson-gxl-p212"
deviceinfo_dtb_videostrong_kii_pro="amlogic/meson-gxbb-kii-pro"
deviceinfo_dtb_xiaomi_once="amlogic/meson-gxl-s905x-xiaomi-once"
deviceinfo_arch="aarch64"
# Device related
deviceinfo_chassis="desktop"
deviceinfo_keyboard="false"
deviceinfo_external_storage="true"
deviceinfo_screen_width="800"
deviceinfo_screen_height="600"
deviceinfo_gpu_accelerated="true"
# Bootloader related
deviceinfo_flash_method="none"
deviceinfo_boot_filesystem="fat32"
deviceinfo_generate_extlinux_config="true"
deviceinfo_kernel_cmdline="console=null"
deviceinfo_kernel_cmdline="console=ttyAML0,115200n8"
@@ -0,0 +1,3 @@
# iio-sensor-proxy with libssc: accelerometer mount matrix
SUBSYSTEM=="misc", KERNEL=="fastrpc-*", ENV{ACCEL_MOUNT_MATRIX}+="-1, 0, 0; 0, -1, 0; 0, 0, -1"
+17 -3
View File
@@ -1,9 +1,9 @@
# Reference: <https://postmarketos.org/devicepkg>
# Maintainer: Luca Weiss <luca@z3ntu.xyz>
# Maintainer: Luca Weiss <luca@lucaweiss.eu>
pkgname=device-fairphone-fp5
pkgdesc="Fairphone 5"
pkgver=3
pkgrel=3
pkgver=4
pkgrel=0
url="https://postmarketos.org"
license="MIT"
arch="aarch64"
@@ -13,11 +13,14 @@ depends="
firmware-fairphone-fp5-adsp
firmware-fairphone-fp5-bluetooth
firmware-fairphone-fp5-cdsp
firmware-fairphone-fp5-hexagonfs
firmware-fairphone-fp5-ipa
firmware-fairphone-fp5-modem
firmware-fairphone-fp5-venus
firmware-fairphone-fp5-wpss
firmware-qcom-adreno-a660
hexagonrpcd
hexagonrpcd-openrc
linux-postmarketos-qcom-sc7280
make-dynpart-mappings
mkbootimg
@@ -26,8 +29,12 @@ depends="
soc-qcom-sc7280-qbootctl
"
makedepends="devicepkg-dev"
replaces="hexagonrpcd-openrc"
install="$pkgname.post-install $pkgname.post-upgrade"
source="
81-libssc-fairphone-fp5.rules
deviceinfo
hexagonrpcd.confd
modules-initfs
ucm/HiFi.conf
ucm/fp5.conf
@@ -39,6 +46,11 @@ build() {
package() {
devicepkg_package $startdir $pkgname
install -Dm644 "$srcdir"/81-libssc-fairphone-fp5.rules \
"$pkgdir"/usr/lib/udev/rules.d/81-libssc-fairphone-fp5.rules
install -Dm644 "$srcdir"/hexagonrpcd.confd \
"$pkgdir"/etc/conf.d/hexagonrpcd-adsp-sensorspd
# ALSA Use Case Manager configuration
install -Dm644 -t "$pkgdir"/usr/share/alsa/ucm2/Fairphone/fp5 \
"$srcdir"/HiFi.conf \
@@ -49,7 +61,9 @@ package() {
}
sha512sums="
2c16ba75e0077b2b1eaefa4c73b287475505a1aeb291ec29316d41cc094277320f9d2aaabfd91eb1dc0f488ab2d61a94faef16e7afe0f1e226779113761b9a37 81-libssc-fairphone-fp5.rules
3062dc927b0521512782b34b0a12739aa455794bc49c25d423cf584b6f264f2cef8629bcc70b194d0e58712a21f64aa2c3b61336a904fe9173991f42b9c94f89 deviceinfo
206c7b2616b61c1f7630933d036875985e78cfc23e6a175795b328d251684abeceb06373da4ae211f6f7dd7e45fb3b3238bb8a4b5698906be626d8d918adf5b3 hexagonrpcd.confd
165ae7e1dbb5fb709e2f7b457dafa5df5b755c1199ea0f011b7e519ab49bc676ddeff92a3152629125e66d3dbbe5a70384364191000a1fdf860977e2ed43de54 modules-initfs
f39b6e5de6d9bfefc841e887b92bb5a92d02d1de46fd376ca83871b7a9cf0da5297d7201457b2bb12c302887bb0a9d328604ff910ebda8022ac71ad120b11a3c HiFi.conf
fb510ca806fb76174576218f5cb4d799e05757b3e351eec32b1406bcf22540cf27888f30e3737f016d43e3c38dea8d7418c194e12c9879df9c756d4d80ceae99 fp5.conf
@@ -0,0 +1,2 @@
#!/bin/sh
rc-update add hexagonrpcd-adsp-sensorspd default
@@ -0,0 +1 @@
device-fairphone-fp5.post-install
@@ -0,0 +1,2 @@
# Fairphone 5 specific hexagonrpcd firmware directory
hexagonrpcd_fw_dir="/usr/share/qcom/qcm6490/Fairphone/fairphone5"
@@ -3,7 +3,7 @@
pkgname=device-google-asurada
pkgdesc="Google Asurada Chromebooks"
pkgver=2
pkgrel=0
pkgrel=1
url="https://postmarketos.org"
license="MIT"
arch="aarch64"
@@ -30,7 +30,7 @@ package() {
nonfree_firmware() {
pkgdesc="WiFi/BT firmware"
depends="linux-firmware-mediatek linux-firmware-rtw88"
depends="linux-firmware-mediatek linux-firmware-rtw88 linux-firmware-rtl_bt"
mkdir "$subpkgdir"
}
@@ -0,0 +1,5 @@
# Invert the acceleration so it is directed downwards, at rest on a planet.
# This is for compatibility with iio-sensor-proxy.
#
# https://gitlab.freedesktop.org/hadess/iio-sensor-proxy/-/issues/375
SUBSYSTEM=="misc", KERNEL=="fastrpc-adsp", ENV{ACCEL_MOUNT_MATRIX}="-1, 0, 0; 0, -1, 0; 0, 0, -1"
+19 -1
View File
@@ -2,7 +2,7 @@
# Maintainer: Richard Acayan <mailingradian@gmail.com>
pkgname=device-google-sargo
pkgdesc="Google Pixel 3a"
pkgver=2
pkgver=3
pkgrel=0
url="https://postmarketos.org"
license="MIT"
@@ -20,8 +20,10 @@ depends="
makedepends="devicepkg-dev"
source="
10-unl0kr-msm.conf
81-libssc-google-sargo.rules
90-feedbackd-drv2624.rules
deviceinfo
hexagonrpcd-adsp-sensorspd.confd
modules-initfs
q6voiced.conf
"
@@ -42,24 +44,40 @@ package() {
nonfree_firmware() {
pkgdesc="Proprietary firmware blobs for the Google Pixel 3a"
replaces="hexagonrpcd-openrc"
depends="
firmware-google-sargo
hexagonrpcd
linux-firmware-ath10k
linux-firmware-qca
linux-firmware-qcom
soc-qcom-sdm845-modem
soc-qcom-sdm845-nonfree-firmware
"
install="
device-google-sargo-nonfree-firmware.post-install
device-google-sargo-nonfree-firmware.post-upgrade
"
# The q6voiced configuration can only be used if the ADSP is brought up
# via non-free firmware.
install -Dm644 "$srcdir"/q6voiced.conf "$subpkgdir"/etc/conf.d/q6voiced
# Sensors depend on ADSP firmware and the sensors registry served over FastRPC.
install -Dm644 "$srcdir"/hexagonrpcd-adsp-sensorspd.confd \
"$subpkgdir"/etc/conf.d/hexagonrpcd-adsp-sensorspd
# Sensors depend on ADSP firmware and the sensors registry served over FastRPC.
install -Dm644 "$srcdir"/81-libssc-google-sargo.rules \
"$subpkgdir"/usr/lib/udev/rules.d/81-libssc-google-sargo.rules
}
sha512sums="
f700af3145b79d1ef9edfb22982899b25cabfb212f9620dcbd3a2e6f44b5ad591e0a66056c6fcd66c3fde89a2b5f551e8a8fe2e65cf0e2a48adec57c027d7825 10-unl0kr-msm.conf
7fae1bae706d4117aade2462dac9aaba0d70215f5280bac89c3810df1eb94883ffdce5f81ff9f0dc39d27d6e56ca5476456866cfbd5b6e3f3e6e9048b758c51f 81-libssc-google-sargo.rules
016d398155f2344417f5e5649a361719ba6e53e593c501b5df39114cdd284302b9bf8686a39817aee0c08fec95b3ab613c181d6cc9596299aaf7fd05dbe0c3dd 90-feedbackd-drv2624.rules
8af19da4e4a4a59c49263722065229fae849c3273af313300b7ea1b8fe008c6e55cfd060b91909306dd600134e2494f740adda245707dbcff84b1ab2f37dbde7 deviceinfo
b6208c254b6e44ac4f6d748a38cc6b05da0db2c90235ada2011b138b82ccc3372687df2f5ad97e885e9eea135216a3c52266a08a7f4eb323e62e799f6f82ec7b hexagonrpcd-adsp-sensorspd.confd
9e2bd634e8f0104827991c5ce7b2346187310a6362f47a67d16e2bd93a910e8ec49f6b98608908febb7cecde14687af094bd95b8b3c1f8122d3710333ecf417e modules-initfs
7f599f086dba97ac39ce98798969bc8e9c26dd3b062bb8f95852182df52814b70d49b701e27b43abeb3639b16ba053e416c14cf75e0bf4a9f2fe7c01fb0ac41c q6voiced.conf
"
@@ -0,0 +1,3 @@
#!/bin/sh
rc-update add hexagonrpcd-adsp-sensorspd
@@ -0,0 +1 @@
device-google-sargo-nonfree-firmware.post-install
@@ -0,0 +1,2 @@
# HexagonFS root directory for served files.
hexagonrpcd_fw_dir="/usr/share/qcom/sdm670/Google/sargo"
@@ -1,11 +1,11 @@
# Reference: <https://postmarketos.org/devicepkg>
pkgname=device-motorola-ghost
pkgdesc="Moto X (2013)"
pkgver=1
pkgver=2
pkgrel=0
url="https://postmarketos.org"
license="MIT"
arch="armhf"
arch="armv7"
options="!check !archcheck"
depends="postmarketos-base linux-motorola-ghost mkbootimg msm-fb-refresher"
makedepends="devicepkg-dev"
@@ -19,5 +19,5 @@ package() {
}
sha512sums="
cbec9e0d0c8e3c321d92b75892d41fe7f86af1d0c43faa816f0148a70d7c3a6c2c079d6c68f25b0a3d810e5dc19a03946b4a446688be28017be2adc98095d106 deviceinfo
4e2f996fb95c9b82a90b0ec2da171dd2efcffe272212e9c0cc6b2829279202a86a16b140fb06495e557fedc521801d51119570f8cf0e4823236587a62c33af8f deviceinfo
"
@@ -6,7 +6,7 @@ deviceinfo_name="Motorola Moto X (2013)"
deviceinfo_manufacturer="Motorola"
deviceinfo_codename="motorola-ghost"
deviceinfo_year="2013"
deviceinfo_arch="armhf"
deviceinfo_arch="armv7"
# Device related
deviceinfo_chassis="handset"
@@ -1,10 +1,9 @@
# Reference: <https://postmarketos.org/devicepkg>
# Maintainer: Martijn Braam <martijn@brixit.nl>
# Co-Maintainer: Dylan Van Assche <me@dylanvanassche.be>
# Maintainer: Dylan Van Assche <me@dylanvanassche.be>
pkgname=device-pine64-pinetab
pkgdesc="PINE64 PineTab"
pkgver=1
pkgrel=1
pkgrel=2
url="https://postmarketos.org"
license="MIT"
arch="aarch64"
@@ -1,5 +1,6 @@
# Reference: <https://postmarketos.org/devicepkg>
# Maintainer: Danct12 <danct12@disroot.org>
# Co-Maintainer: Stefan Hansson <newbyte@postmarketos.org>
pkgname=device-pine64-pinetab2
pkgdesc="Pine64 PineTab 2"
pkgver=1
@@ -2,7 +2,7 @@
# Reference: <https://postmarketos.org/devicepkg>
pkgname=device-postmarketos-trailblazer
pkgdesc="postmarketOS Trailblazer generic ARM64"
pkgver=3
pkgver=4
pkgrel=0
url="https://postmarketos.org"
license="MIT"
@@ -38,5 +38,5 @@ package() {
sha512sums="
1f353c9ccca43a43bf04b115f87d07ff472b19ca41ac2289d69f2453c708b12f4d5421599c752ed4ed75455ea341dd3f3c6766117282786933e878a109777fef deviceinfo
058940af169d695966a605fdbfdca57303feecfb809f654091172e78c4dbe6eb082de99c325703e146a64f514ec35f3580da15a3077e2bca016d22abcdd2951b modules-initfs
71fa3c8b3e7b001be910a64650213854b31db667286f59566bcd27db496f37ad43905d8526d8e061057d04d7e21a36da185eac845a4d7826969ecdf0cabc3f85 modules-initfs
"
@@ -19,7 +19,7 @@ libcomposite
lmh
msm
nvmem_qfprom
onboard_usb_hub
onboard-usb-dev
panel-samsung-s6d7aa0
panel-samsung-sofef00
panel-visionox-rm69299
+3 -3
View File
@@ -1,7 +1,7 @@
# Reference: <https://postmarketos.org/devicepkg>
pkgname=device-samsung-a6lte
pkgdesc="Samsung Galaxy A6 2018"
pkgver=3
pkgver=4
pkgrel=0
url="https://postmarketos.org"
license="MIT"
@@ -100,14 +100,14 @@ downstream_quirks() {
sha512sums="
e787dd30a667fd886a46bb0b670bd2771a8fc78fddc39bb86405fdda6024bc1211b82f89664b7cfc622adf2968b9cd09b0eb3d2ed607148bf3549dd783e6f752 device-samsung-a6lte.post-install
9c0f939c97582d9c03fb62386527569b7f08dd6c8350c8ac6cf9f70d6d5da61d5fc95997b413c4fdb671379ab35caedb631b9af33c7a1e8f3388b3fb56d9b435 device-samsung-a6lte-downstream-quirks.post-install
bfe2b5455084554d9dc8d30ec5ff72564cfe9574618d0ccc6d544f336d2869bd18a8617ddb3d58732eef8470a9831e3b58436cd3bc9fcb4b465ab6e0f2c7a129 deviceinfo
95b46ef54f2b92edefcdc3742a1d36b7c52066daeeb5002f25b4de144d52e3cda8e3981c8b44d608dcfaf6ec5a89066d1e53e9c1eccbaf03c262b6c162efe532 deviceinfo
3e5bb764529010d2b6b1f2759a7799f665d140aebcee2dd63433e68cd4282e09b5d3b34fb7c21e737595b406501e7f02ece4592651c60e4c2b9419de4aedb438 etc-conf.d-samsungipcd
5e23fd88baa4694ef48ec9590f948e11101be1e472c626f88011a182534a16520eb00c95a10ea77a773123892036188e2e0783540f3b8f8fe158da5e06568e02 etc-init.d-hciattach-ttySAC0
203b832a7080d5f1351c5e024e444f9fe509f6e0fd4b376a60c7d73359b7e356863a4f15caf9b2e4e733dc44d2971722083e7c69ca94a012eb004b4b8ded9d09 etc-init.d-udev-settle
7caddfe4659c969a33adcc27a760bc78d4f70ca4b7a4a5ec28a6411c12f3e6dd6d427b59f75976a737a5fe0f09806f8b6d65798f6358bd1e1954ad2a28fbfdc8 etc-init.d-wlan0-up
861270c6bc0b2a3e6cd389c21c8c895e62de8cf8bec6fcf23c178f8cbaae855d62b0ee98692671ab4f518d84cb43dd0b2fe46f5a609f65af6a6c06e0fdbb6d0c etc-lightdm-lightdm.conf
5c3a692f22a29fca792c114c6d94ff1bf0d6921f068f207a2894a8f99c73dcc319e7c803ed7adfe64eb3e60088f37e2a2730118b2ed57aa01b35415664085567 etc-NetworkManager-conf.d-wlan0-preserve-mac.conf
ef24527b13e48a9153643f3713167d3d08486e7de8b4c94d7c446ff380396115890573d8cd4aa5448766d9e779e189833a83e7921081679bd348c3f8a59410af etc-NetworkManager-conf.d-swlan0-unmanaged.conf
5c3a692f22a29fca792c114c6d94ff1bf0d6921f068f207a2894a8f99c73dcc319e7c803ed7adfe64eb3e60088f37e2a2730118b2ed57aa01b35415664085567 etc-NetworkManager-conf.d-wlan0-preserve-mac.conf
abe1c4a2f59fe862cebef75c54b8806bd86ce06aeb15d8c0699ab1338c9d575cb72a4d5b099f94272b1d9c9c3f4960af209a9e058ea9e57733b7d905dad0d33f usr-libexec-samsungipcd-voicecall.sh
2169590d10d6123575d43e8ff7dc0d2ba824f8266d9fa75a5b59a4cc5753e47e327368b777082930d6b7a7aed6f57fa6ac2c5a2e816e1e12cd1032a8bb1822b5 usr-share-alsa-ucm2-conf.d-Universal7870-I-HiFi.conf
dc528deb556906adfb89b02b6faa04a8b21358706bb60e2fa51c8a3c909b680fcc02fa425b0cb5d6273595f27dfc9b640e1a8d455657fd6b47652af9e8ec295a usr-share-alsa-ucm2-conf.d-Universal7870-I-Universal7870-I.conf
@@ -10,7 +10,7 @@ deviceinfo_year="2018"
deviceinfo_arch="aarch64"
# Device related
deviceinfo_chassis="convertible"
deviceinfo_chassis="handset"
deviceinfo_keyboard="false"
deviceinfo_external_storage="true"
deviceinfo_screen_width="720"
@@ -2,14 +2,14 @@
pkgname=device-samsung-coreprimevelte
pkgdesc="Samsung Galaxy Core Prime VE LTE"
pkgver=1
pkgrel=0
pkgrel=1
url="https://postmarketos.org"
license="MIT"
arch="aarch64"
options="!check !archcheck"
depends="linux-samsung-coreprimevelte postmarketos-base mkbootimg u-boot-tools pxa-mkbootimg"
makedepends="devicepkg-dev"
subpackages="$pkgname-nonfree-firmware:nonfree_firmware"
_pmb_recommends="firmware-samsung-pxa1908"
source="deviceinfo"
build() {
@@ -20,12 +20,6 @@ package() {
devicepkg_package $startdir $pkgname
}
nonfree_firmware() {
pkgdesc="Wi-Fi firmware"
depends="firmware-samsung-pxa1908"
mkdir "$subpkgdir"
}
sha512sums="
e9ed10e30e09b31f9f4cb148f3d0d2cef252f6c6a40161828d5bc7c8150772746d09e79c4d94614f2e2ce192f135e224cc0a9c61f1bdbd6cde2bc026018744af deviceinfo
"
+3 -14
View File
@@ -1,8 +1,8 @@
# Reference: <https://postmarketos.org/devicepkg>
pkgname=device-samsung-cprime
pkgdesc="Samsung Galaxy Core Prime"
pkgver=2
pkgrel=1
pkgver=3
pkgrel=0
url="https://postmarketos.org"
license="MIT"
arch="aarch64"
@@ -18,12 +18,8 @@ makedepends="devicepkg-dev"
source="
deviceinfo
modules-initfs
phoc.ini
"
subpackages="
$pkgname-nonfree-firmware:nonfree_firmware
$pkgname-phosh
"
subpackages="$pkgname-nonfree-firmware:nonfree_firmware"
_pmb_select="soc-qcom-msm8916-rproc"
build() {
@@ -40,14 +36,7 @@ nonfree_firmware() {
mkdir "$subpkgdir"
}
phosh() {
install_if="$pkgname postmarketos-ui-phosh"
install -Dm644 "$srcdir"/phoc.ini \
"$subpkgdir"/etc/phosh/phoc.ini
}
sha512sums="
81d2f6f4fb769563b176630d38a126a45570e6237e089ae67a5d65d719eef6489fae8fc624dda18e35a6d97de122620efa1508b9378a53f7f47182ca181971b1 deviceinfo
9ead03b9e3edb69b238b25e5eecd477c99f03223237a549d124903dfb56a8be02df25ea43c8c308998d2250f9e586c8fef594007f43bc426dfb2d074a6270bba modules-initfs
9793dfd1ea066fbadeca874401a0c7c9b735b98054ccfbafa0b8d99e47ef78e28c971c544905ae556da50b55037e6970ab79be2e0a28672d9acb6f9d7d77093b phoc.ini
"
@@ -1,2 +0,0 @@
[output:DSI-1]
scale = 1.25
@@ -2,16 +2,19 @@
pkgname=device-samsung-n2awifi
pkgdesc="Samsung Galaxy Tab PRO 10.1 (WiFi)"
pkgver=0
pkgrel=0
pkgrel=1
url="https://postmarketos.org"
license="MIT"
arch="armv7"
options="!check !archcheck"
depends="
linux-samsung-n2awifi
postmarketos-initramfs-minimal
mkbootimg
postmarketos-base
postmarketos-base-downstream
postmarketos-base-downstream-disable-udev-v4l
msm-fb-refresher
"
_pmb_recommends="firmware-samsung-n2awifi"
makedepends="devicepkg-dev"
@@ -2,7 +2,7 @@
pkgname=device-samsung-xcover3lte
pkgdesc="Samsung Galaxy Xcover 3"
pkgver=1
pkgrel=0
pkgrel=1
url="https://postmarketos.org"
license="MIT"
arch="aarch64"
@@ -31,7 +31,7 @@ package() {
nonfree_firmware() {
pkgdesc="Non-free firmware for the Samsung Galaxy Xcover 3"
depends="firmware-samsung-pxa1908"
depends="firmware-samsung-pxa1908-downstream"
mkdir "$subpkgdir"
}
+3 -3
View File
@@ -1,7 +1,7 @@
# Maintainer: Clayton Craft <clayton@craftyguy.net>
pkgname=device-valve-jupiter
pkgdesc="Valve Steam Deck"
pkgver=2
pkgver=3
pkgrel=0
url="https://postmarketos.org"
license="MIT"
@@ -42,6 +42,6 @@ gnome_mobile() {
sha512sums="
f2b0e3bf013b87e13828f95d3db7327c7afee33a0703d764ea5b96f0f791a01af2f2685ab5b17db1729fe68e78fd0e39f3a9b2f53530aa493897066d87b43248 00-scaling-factor.gschema.override
4c1d05d76139b1c9c1e0cd5c99a9770963a33ccf248c0402fccf051694493af1b1da9761ca7d9f83c35e82a69d77e518bbdb5934ae1a6013d726d97eec0d57a3 deviceinfo
69873bebeff960f7ec00f2004cee97f7edd9a9df25e78b3b90e1a01592fec03c75d3a77be291e45a1902c57fd6e23bdff327935ace5c282e8f7c7dfa22798c3f modules-initfs
929d276aaff5df3e94e95494237670f5b3d634fbcd80cd7b68704fe0e3830071be016497a2e1e4ce0221d83b7182d1caf6ed1796e872893a23529ecd0f88779b deviceinfo
07005dfb4be471a3988d34cb7cc40113e4b6ef6f518fc1f586d816673d5bb7a9c7c5878db77e635fdc460a2c6ceb120a5e8f9a06c20730d0aefc65e5a3165659 modules-initfs
"
Loaded 100 of 189 files, more files were not shown because too many files have changed in this diff. Show more