Provide a rough battery capacity estimation for the bq27200 fuel gauge inside
Nokia N900. This is useful when the fuel gauge is out of calibration and a
learning cycle cannot take place due to broken USB/charging port on the device.
[ci:skip-build]: Already built successfully in CI
It seems like the driver name has changed *again* in 6.5.x kernels, so
let's just have both drivers in the initramfs to help with migrating
between newer/older kernels and any future flip/flopping of drivers.
This is a bit of a hack... it works because missing modules are not
fatal for mkinitfs. The reason why they aren't fatal is that whether or
not it's builtin is somewhat arbitrary... there's an open issue[1] for
mkinitfs to make this smarter, i.e. throw an error if the .ko doesn't
exist AND it's not builtin for the *installed* kernel.
When that's implemented then this patch would likely result in mkinitfs
failing on this device because one of those drivers may not be installed
or builtin. I don't have time to implement this in mkinitfs, so adding
this crude workaround of just including both seemed like a reasonable
thing to do since the 6.5 kernel will break fde on this device (this has
happened before).
[ci:skip-build]: already built successfully in CI
- add keyboard driver to initramfs (twl4030_keypad & matrix_keymap)
- order modules in alphabetical order
[ci:skip-build]: Already built successfully in CI
Fix shutdown regression introduced with 3e737241ba ("linux-postmarketos-omap:
N900: disable twl off idle features"). After that commit, shutdown never
completes.
[ci:skip-build]: Already built successfully in CI
Disable twl pmic off-idle configuration for Nokia N900. An ugly patch to do
this was lost during the migration from linux-nokia-n900 to the shared omap
kernel.
Fixes#2161
[ci:skip-build]: Already built successfully in CI
Switch to urxvt terminal in order to provide a scrollable terminal. Scrolling
is convoluted in st [1], especially when used on a mobile device.
Scrolling is a basic need, e.g. to page through `dmesg` output.
[1] https://git.suckless.org/st/file/FAQ.html#l21
Save a few CPU cycles by dropping conky. Additionally, the existing config has
not been working for a long time now, and no one missed it.
For completeness, it was no longer displaying on the desktop. Manually starting
it showed:
```
conky: X Error: type 0 Display b5e73620 XID 1302 serial 97 error_code 10 request_code 2 minor_code 0 other Display: b5e73620
```
There are instructions [1] to resolve/workaround it, but we clearly do not have
a pressing need for conky to begin with.
[1] https://github.com/brndnmtthws/conky/issues/1443#issuecomment-1557793718
[ci:skip-build]: already built successfully in CI
The OMAP 3430 in the Nokia N900 is a uniprocessor SoC, so disable SMP via
kernel command line. This appears to alleviate the ongoing kernel crashes
affecting the Nokia N900 in pmOS.
[ci:skip-build]: already built successfully in CI
Added CONFIG_GPIO_SYSFS, this is required for nokia-modem module
GPIO_SYSFS depends on EXPERT which in turn sets DEBUG*
[ci:skip-build]: already built successfully in CI
the 6.3 kernel for this device added edt-ft5x06, but it was dropped when
upgraded to 6.4, so this reverts back to the focaltech driver so that
the touchscreen will work again in the initramfs
[ci:skip-build] already built successfully in CI
I forgot to change this before merging. Commit remains the same, so
package itself shouldn't change. Thus:
[ci:skip-vercheck]
[ci:skip-build]: already built successfully in CI
Since linux 6.4.0 the SDM845 kernel uses compressed kernel modules, we
need to kmod version of modprobe to handle loading these, so depend on
it.
[ci:skip-build] already built
ODROID HC2 boards are out-of-use by the maintainer.
Move to testing and remove maintainer.
[ci:skip-build] already built successfully in CI
[ci:skip-vercheck]
* modem-related modules seem partly responsible for recent l3 firewall
timeouts and kernel crashes.
* rx51-battery can be used to get battery design capacity, but not required
for general running of the system blacklist other
* modules that can impact power consumption on the N900
Completely disabling the modules in kernel config is unnecessary, since they
are all useful for some users
[ci:skip-build]: already built successfully in CI
The N900 volume keys were configured to produce F7 and F8 in Maemo Fremantle.
Set them to normal volume keys to restore expected behavior
[ci:skip-build]: Already built successfully in CI
Move the elogind configuration and post-install call of "loginctl
reload" into an extra subpackage with install_if=elogind.
Fix for:
Executing device-pine64-pinebookpro-16-r0.post-install
* service nvme-powersave added to runlevel boot
* service sysfsconf added to runlevel default
lib/apk/exec/device-pine64-pinebookpro-16-r0.post-install: line 5: loginctl: not found
ERROR: device-pine64-pinebookpro-16-r0.post-install: script exited with error 127
Make the post-install scripts more robust while at it, by adding
"exit 0" at the end.
Update some alsa buffer params to solve sound quality issues
I got working values experimentally after trying
different buffer sizes and limits and watching to pw-top
to ensure there are no errors during playback from diffrent apps and
sinks.
Contributes to #1534
- make CONFIG_DRM_DISPLAY_CONNECTOR built-in. This resolves 'slow' tty
initialization that breaks pbsplash on N900
- use CONFIG_CMDLINE_FROM_BOOTLOADER instead of CONFIG_CMDLINE_FORCE, to allow
kernel to boot with u-boot provided parameters such as
PMOS_FORCE_PARTITION_RESIZE
- upgrade to 6.3.5
[ci:skip-build]: already built successfully in CI
- fix wifi signal quality display, since /proc/net/wireless is no longer
available in omap kernel
Suggested-by: DvaMishkiLapa <thesame.personal@gmail.com>
- add `polkit-elogind` so tools like `loginctl poweroff` and `nmtui` do not
require sudo under i3wm
[ci:skip-build]: already built successfully in CI
The call_audio_idle_suspend_workaround init service was moved to the
-pulseaudio subpackage, but the -modem subpackage still had a
.post-upgrade referring to it. This moves that to the (recently) new
-pulseaudio package
[ci:skip-build]: already built successfully in CI
Out of the box audio is really quiet and distorted on SDM845 devices when
using PipeWire. This can be worked around by forcing audio to 16 bits
(which PulseAudio uses by default and thus works). This seems to be a
kernel problem and should be fixed properly there but for now we can
apply this workaround to at least be able to switch to PipeWire anytime
soon. The actual workaround is applied by Wireplumber so the dependency
for the subpackage is set to that.
Upstream issue https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/3193
[ci:skip-build]: already built successfully in CI
The `firmware-pine64-pinebookpro` predates the firmware for this device
being available upstream. It is now packaged in two separate packages:
linux-firmware-brcm and linux-firmware-rockchip.
Install those two linux-firmware packages and drop the custom one. This
drop a custom firmware package and also ensure that firmware is kept up to
date with the rest of linux-firmware-*.
The resulting installation includes all the previously included firmware
files and I've confirmed that both sound and wifi work fine (dmesg
indicates bluetooth is available too).
Previously, this extra rule was needed to grant regular users
permissions for the embedded display's backlight. It no longer seems to
be necessary; the presence of this rule is currently a no-op.
Someone else on IRC has tested removing the rule and also confirms this
new behaviour. I suspect this was fixed upstream in eudev.
Make sure the GPU can register its thermal device to avoid this error:
[ 9.303081] adreno 3d00000.gpu: [drm:msm_devfreq_init] *ERROR* Couldn't register GPU cooling device
[ci:skip-build]: already built successfully in CI
The upcoming db845c doesn't have cellular modem capabilities, but still
has wifi. Avoid installing modem related configs and services by default
and only install it for devices that need it.
- Add msm8916-1mic configuration for devices without SecondaryMic
- Fix audio volume after upstream msm8916-wcd-digital changes
[ci:skip-build]: already built successfully in CI
harpia's WCNSS firmware has problems with WiFi channels on some device
variants, using osprey's firmware seems to help as a workaround.
Install that by default so WiFi has better chances of working properly
out of the box.
[ci:skip-build]: already built successfully in CI
And use gitlab.com/exynos4-mainline/linux as source so that we no
longer have to carry all the patches in pmaports.
[ci:skip-build]: Already built successfully in CI
As stated in the MRs that added the patch, the ea8061 and s6evr02
panel drivers are originally from work by Simon Shields (fourkbomb).
Let's base our patches on the original commits to preserve authorship,
and note which modifications have been done, and by who. This is a
step towards making these patches ready for submission to upstream.
[ci:skip-build]: Already built successfully in CI
The UART console makes the boot process a whole lot slower due to printk
being synchronous. These devices are well enough supported that we can
disable UART logging by default to improve the boot speed. This
constitutes a ~30 second speedup on the SHIFT6mq at 115200 baud.
linux-postmarketos-omap now supports the Nokia N900 and its OMAP3430 SoC, so
drop this device-specific fork
[ci:skip-build] already built successfully in CI
Remove maintainers who could not be reached to test v22.12. Add exkc as
maintainer for firmware-pine64-rockpro64 as discussed in review of this
patch.
[ci:skip-build]: already built successfully in CI
- upgrade to 6.2.1
- drop musb patch (not needed since linux mainline commit
ffbe2feac59b37c8dc536727552b4f375e1b9aec)
- enable LRU_GEN
[ci:skip-build]: Already built successfully in CI
Kernel configuration addition:
Enabled the newly added Lazy RCU scheduler.
RCU_LAZY can help battery-powered systems like the PinePhone Pro in a few ways:
1. Reduced CPU usage: Because RCU_LAZY allows readers to access shared data structures without acquiring locks or other synchronization primitives,
it reduces the amount of CPU time that is required to manage synchronization. This can be particularly beneficial in battery-powered systems,
where reducing CPU usage can extend battery life.
2. Reduced memory usage: RCU_LAZY delays the creation of multiple versions of the shared data structure until they are actually needed.
This reduces the amount of memory that is required to store these versions.
In battery-powered systems, where memory usage can be a critical resource, this can help to conserve power.
3. Reduced synchronization overhead: RCU_LAZY reduces the overhead of synchronization by delaying the creation of multiple versions of the shared data structure.
This can reduce the amount of time that is spent acquiring and releasing locks or other synchronization primitives,
which can help to conserve power in battery-powered systems.
[ci:skip-build]: already built successfully in CI
Add a driver for the Magnachip EA8061 panel found on some Samsung
Galaxy Note II devices. Split the device trees into two (one for devices
with the already supported S6EVR02 panel and one for the new EA8061
panel).
Note: I didn't write this driver myself. Just like the old S6EVR02
driver, it has been ported from https://github.com/fourkbomb/linux
to the latest mainline Linux version.
The google-dru package provides the linux-postmarketos-rockchip as a
kernel and supports linux-firmware-ath10k linux-firmware-rockchip
packages as additional non-free firmware.
Enable the ATH10K kernel module in the kernel config
config-postmarketos-rockchip.aarch64 to enable wifi on devices such as
the Acer Chrometab 10.
Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
[ci:skip-build]: already built successfully in CI
Add the missing kernel.release file to support packaging and fix builds
with:
`pmbootstrap build --envkernel linux-postmarketos-rockchip`
Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>