NOTE: Should be likely backported without the kernel config changes
since Alpine 3.15 still has the older gcc version.
[ci:skip-build] Already built successfully on CI
- Update to Linux 5.15
- Upstreamed many more patches
- Major rework of CPU core boot: This is now partially handled in lk2nd
since mainline Linux does not want to support anything except PSCI on arm64.
- Major rework of "-modem" DTB variants. Now all device trees only contain
the full modem configuration. lk2nd can patch the DTB at runtime to get
the alternative "no-modem" variant where audio bypasses the modem entirely.
- Rename some Samsung device trees to drop variant suffixes (e.g. *lte/*wifi)
- Lots of other cleanup everywhere
- Probably many other things I forgot :)
Device changes:
- samsung-gtelwifiue: new device tree
- eMMC, SD card, USB, Buttons
- Display (no brightness control yet)
- Touchscreen
- gt58: touch keys and some touch fixes
- Note: Multi-touch seems broken at the moment :<
- samsung-a2015/samsung-serranove:
- Battery: Report voltage as uV
- Touch keys: Allow changing function from userspace
Kernel config changes:
- Enable required options for AppArmor and IWD
[ci:ignore-count]
[ci:skip-build]: already built successfully in CI
- Update to Linux 5.14
- Enable new RPMSG WWAN CTRL driver that is now used to communicate
with the modem through the new WWAN subsystem in Linux
- Minor fixes for ARM32
- Enable some additional options in kernel config (F2FS, UHID, LED triggers)
- Add TravMurav as second maintainer
- Rebase on v5.14-rc7
- Upstreamed more patches
- Enable Jack detection kctls for msm8916 devices
- Probably many other things I forgot :)
Device changes:
- gt5 family:
- Added fuel-gauge support
- Added sensors (Accelerometer, Light)
- gt510 - wifi variant reworked to use multiple common layers
- gt510lte - Added support for LTE variant
- gt58 - New device
- gt58lte - Support for LTE variant
- Feature parity with gt510
- wingtech-wt88047 (Xioami Redmi 2):
- Add additional boe-nt35521s panel driver
- longcheer-l8150: Fix Jack detection
- Update to Linux 5.13
- Upstreamed many more patches
- Various cleanup to BAM-DMUX driver to prepare for upstreaming
- Enable support for virtualization/KVM via https://github.com/msm8916-mainline/qhypstub
- Probably many other things I forgot :)
- Add tons of kernel config options for containers and nftables
- Add WireGuard to kernel config
Device changes:
- huawei-g7: Initial support for Huawei Ascend G7
- USB
- Storage (eMMC, SD card)
- Display
- Touchscreen, Buttons, Vibrator
- Notification LED
- WiFi/Bluetooth
- Accelerometer, Magnetometer, Proximity
- Audio
- NFC
- lg-c50: Initial support for LG Leon LTE
- USB
- Storage (eMMC, SD card)
- Buttons
- WiFi/Bluetooth
- Vibrator
- Display
- longcheer-l8150 (wileyfox-crackling): Fix proximity sensor
- motorola-surnia: Add audio and modem
- samsung-j5nlte: Add buttons
- samsung-j5xlte: Initial support for Samsung Galaxy J5 (2016)
- USB
- Storage (eMMC, SD card)
- Buttons
- samsung-serranovelte: Add USB-OTG detection
[ci:skip-build] already built successfully in CI
- Update to Linux 5.11.7
- Upstreamed more patches
- Switch BAM DMUX (mobile data) driver to Raw-IP mode.
This makes it work with the upstream version of ModemManager,
reduces overhead a bit and is overall cleaner.
- Add QMI "memshare" driver which is needed for GPS to work on most
MSM8916 devices.
- GPS has been tested successfully on:
- alcatel-idol347
- lg-m216
- longcheer-l8150 (wileyfox-crackling)
- longcheer-l8910 (bq-paella)
- motorola-harpia
- motorola-osprey
- samsung-a2015 (a3(u)lte, a5(u)lte)
- samsung-serranovelte
- wingtech-wt88047 (xiaomi-wt88047)
- Needs more testing/investigation on:
- asus-z00l
- asus-z010d
- wingtech-wt865x8
- Add SMB1360 battery/charger/OTG driver for longcheer-l8190
and wingtech-wt88047.
- Rework TFA9895 speaker amplifier driver for potential upstreaming,
make it work for TFA9897, add channel selection and a lot of cleanup.
- Add INSTALL_MOD_STRIP=1 to maybe reduce the size of modules a bit.
- Other things I forgot :)
Device changes:
- alcatel-alto5-vdf: Initial support for Vodafone Smart prime 6
- USB
- Storage (eMMC, SD card)
- Buttons
- WiFi, Bluetooth
- alcatel-idol347: Initial support for Alcatel Idol 3 (4.7")
- USB
- Storage (eMMC, SD card)
- Display, Brightness
- Touchscreen, Buttons, Vibrator
- WiFi, Bluetooth
- Accelerometer, Magnetometer, Gyroscope, Proximity
- Audio (no headphones yet)
- Modem (voice call audio needs some more minor changes)
- asus-z00l
- SD card
- IMU (Accelerometer + Gyroscope), Magnetometer
- lg-m216
- Battery/charging
- longcheer-l8150 (wileyfox-crackling)
- Tweak battery values slightly for 25°C instead of 0°C
- longcheer-l8910 (bq-paella)
- Battery/charging
- USB OTG
- motorola-harpia
- Add panel driver for "boe" panel
- samsung-gt510wifi/matissevewifi:
- Fix touchscreen
- wingtech-wt88047 (xiaomi-wt88047)
- Battery/charging
- USB OTG
[ci:skip-build]: already built successfully in CI
- Update to Linux 5.11-rc4
- Upstreamed more patches
- Fix audio regression without modem introduced by some refactoring
from Qualcomm upstream
Devices:
- samsung-a2015 (a3/a5): Fix speaker on some devices
- motorola-osprey: Add modem
- Update to Linux 5.9-rc7
- Add "BAM DMUX" driver as network interface to the modem
for mobile data
- Major rewrite/cleanup of all MSM8916 device trees
- Lots of cleanup everywhere
- I hope I did not forget something :)
Devices:
- bq-paella: Add vibrator
- samsung-j5nlte: Add display
- samsung-a2015 (a3u/a5u): Fix USB-OTG detection
- "Initial" support for Xiaomi Redmi 2 (wingtech-wt88047)
- USB
- Storage (eMMC, SD card)
- Display, brightness control
- Touchscreen, buttons
- IMU (accelerometer+gyroscope)
- Notification LED
- Sound
- WiFi, Bluetooth
- Modem
- Initial support for Motorola Moto E 2015 (motorola-surnia)
- USB
- Storage (eMMC, SD card)
- Display, brightness control
- Touchscreen, buttons
- WiFi, Bluetooth
- Battery status
- Initial support for Samsung Galaxy Grand Prime
- USB
- Storage (eMMC, SD card)
- Initial support for Oppo Mirror 5s (oppo-a51f)
- USB
- Storage (eMMC, SD card)
- WiFi, Bluetooth
Seems like "pmbootstrap kconfig edit" causes unrelated kernel config
changes for some reason (probably because pmbootstrap does not install
a cross compiler for it). For now let's just edit the config manually
with the new options so everything else stays as-is.
We are in the midst of the Linux 5.8 merge window so there is no new
-rc version to rebase on. -rc1 next week is also not the perfect choice
for a release (first rc is usually still a bit unstable).
On the other hand the changes that landed the last few days are quite
nice and ready to go, so I decided to rebase on a stable kernel release
(5.7.1). Not sure if I'm ever going to do this again :)
Changes:
- Update to Linux 5.7.1
- bq-paella: Add sound and modem
- Enable some new kernel options for DB410c
- Update to Linux 5.7-rc2
- Initial support for BQ Aquaris X5 (bq-paella/picmt)
- Add speaker for samsung-gt510wifi/matissevewifi
- Add flash LED for wileyfox-crackling
- Update to Linux 5.6-rc5
- Basic audio support on samsung-gt510wifi (speaker is WIP)
- Initial support for samsung-matissevewifi
- Enable some kernel config options for elogind/Anbox/fbkeyboard
- Update to Linux 5.6-rc2
- Major improvements for Motorola Moto G4 Play (motorola-harpia)
- Display
- Touchscreen
- Accelerometer
- Audio
- Modem
- Vibrator
- Fix headphones/headset detection for wileyfox-crackling
- Add mount-matrix for samsung-a3ulte/a5ulte to fix
orientation detection with iio-sensor-proxy
- A lot of cleanup everywhere
- APKBUILD: Clean up makedepends (a lot of them are unneeded)
wileyfox-crackling was the only user of QCDT. Now that it is also
using appended DTBs, there is no need to generate the QCDT image anymore.
Another advantage of this is that mainline can then be only booted using lk2nd
(as intended), since booting it from the stock bootloader has weird side effects
(e.g. no WiFi/BT MAC address set).
- Update to Linux 5.5-rc4
- Fix freeze/crash when accessing reserved memory on Samsung devices
- This happened e.g. when doing large eMMC writes
because the disk cache filled all available RAM.
- Fix SD card detection on samsung-serranovelte
- Disable UHS-1 modes since they appear to be broken in hardware
[ci:skip-build]: already built successfully in CI
Unfortunately, early firmware versions on MSM8916 (used together with
Android 4.4) are not capable of booting aarch64 kernels. MSM8916 was
Qualcomm's first 64-bit capable CPU, and back when it was introduced
Android did not even support aarch64 yet. So the aarch64 capable
hardware was usually used together with armv7 binaries.
To make things worse, this firmware is also signed (usually per-device),
making it (currently) impossible to update it without help from the manufacturer.
This means that we are currently unable to run mainline on devices
that never received an update to Android 5.0
(e.g. the Samsung Galaxy S4 Mini Value Edition).
One way to circumvent this limitation is to build mainline for armv7.
This works surprisingly well with some additional fixes.
Devices with this firmware limitation are still unable to use aarch64
binaries, but at least we can run mainline on them!
- Rebase on Linux 5.5-rc3
- Add display, touchscreen and GPIO keys for samsung-gt510wifi
- Add vibrator for wileyfox-crackling
- Zinitix touchscreen improvements (used in samsung-a3ulte)
- Upstreamed several patches