The device fulfils the requirements for community category, and I plan
to maintain and develop this device further going forward. Move it!
[ci:skip-vercheck]: linux pkg was moved
[ci:skip-build]: already built successfully in CI
Having mesa-dri-gallium installed causes Xorg to crash. See #1658.
Furthermore, display works without at least with near-mainline kernel,
tested with osk-sdl and xfce4.
So if specific applications depend on it, it should be added as a
dependency there.
This reverts MR 3306
This is just a hotfix, Xorg/mesa should be tamed to not crash here
but analyzing that costs time.
There is no need to duplicate things over and over again.
Also load the waveform in initramfs before loading display
modules. That is early enough to have a working display in
initramfs.
SDM845 devices running mainline lack a valid MAC address, and
fallback to a random one on each boot. This makes DHCP IPs vary
on each boot and breaks Bluetooth BNEP mode since the kernel enforces
that a valid MAC address is used when Bluetooth BNEP mode is activated.
Add a udev rule to trigger a script when the WLAN or Bluetooth interface
appear to set the MAC address by reading it from the persist partition
for the WLAN MAC address and increment it for generating a Bluetooth MAC
address. This approach seems to be common on some downstream devices
such as the Oneplus 6.
[ci:skip-build]: already built successfully in CI
GPI_DMA now works so we can use GENI I2C and remove bitbang i2c-gpio.
PM8008 driver from mailing list is imported and configured. CCI (camera
i2c bus) is configured plus CAMCC dependency. And some smaller changes.
We are just building upstream Linux with minor patches and no longer
using the linked GitHub repo, so let's fix this to avoid confusion.
[ci:skip-build]: already built successfully in CI
Follow removal of linux-edge4virt in Alpine:
1a838bdeb6
Fix for upstream compat failure:
Increase 'device-qemu-amd64' pkgrel (0 -> 1), missing depend(s): linux-edge4virt
[ci:skip-build]: already built successfully in CI
IP5XXX is needed to be able to read PinePhone battery levels. Extra
configs were automatically added by pmbootstrap.
Signed-off-by: Jean Lucas <jean@4ray.co>
Squash of
- linux-postmarketos-qcom-sdm845: enable LED_TRIGGER_PATTERN as builtin
- linux-postmarketos-qcom-sdm845: switch BT_RFCOMM to module
- linux-postmarketos-qcom-sdm845: switch BT_BNEP to module
LED_TRIGGER_PATTERN is necessary for feedbackd to function correctly.
However, it doesn't get enabled by default when build as module,
build as built-in to avoid this problem so the notification LED
blinks correctly. This works around the problem that LED_TRIGGER_PATTERN
is not probed automatically when the Qualcomm LPG driver is used for SDM845 devices. See https://gitlab.com/sdm845-mainline/linux/-/merge_requests/34
CONFIG_BT_RFCOMM should always be build as a module otherwise it may never
be initialized at boot. Without this module, BlueZ will not enable
profiles depending on RFCOMM such as HFP. RFCOMM support as builtin may
work if the Bluetooth driver is builtin (which is not the case here), but I haven't verified that. See https://gitlab.com/sdm845-mainline/linux/-/merge_requests/38
CONFIG_BT_BNEP should always be build as a module otherwise it may never
be initialized at boot. Without this module, BlueZ will not start up its
networking plugin to provide Bluetooth PAN support. BNEP support as
builtin may work if the Bluetooth driver is builtin (which is not the case here), but I haven't verified that. See https://gitlab.com/sdm845-mainline/linux/-/merge_requests/38
[ci:skip-build]
The downstream kernel has barely any functionality without libhybris
(which is not coming back to pmOS) so move everything related to the
OnePlus 5/5T downstream ports to downstream since a working mainline
port is much more feature rich.
Set the necessary flag in deviceinfo so a user can use a logical
partition that was flashed using fastbootd.
$ fastboot create-logical-partition postmarketOS 1000000000
$ pmbootstrap flasher flash_rootfs --partition postmarketOS
[ci:skip-build]: already built successfully in CI
The AF8133J magnetometer is being used since the PinePhone Beta edition
in place of the earlier ST LIS3MDL magnetometer.
[ci:skip-build] Already built successfuly on CI in MR
The touchscreen currently is on i2c-gpio due to issues with the hardware
i2c. Include the module in initfs so the touch driver probes and is
usable in osk-sdl.
[ci:skip-build]: already built successfully in CI
Enable:
* CONFIG_UINPUT required by fbkeyboard
* CONFIG_PSTORE_PMSG required to enable dmesg/console ramoops
Co-Authored-By: Oliver Smith <ollieparanoid@postmarketos.org>
[ci:skip-build]: already built successfully in CI
UPower defaults to HybridSleep mode when battery is critical.
Since we allow suspending the device in regular use, this approach
won't help in a critical battery case scenario. When the battery
level is critical, shutdown the device instead.
Moreover, adjust the default levels for battery low, critical, critical
action since they are too high for SDM845 devices.
vc4 and freedreno have been provided by mesa-dri-gallium for a long
time.
mesa-dri-intel subpackage has been deprecated for a while (previously
dependend on dri-classic and dri-gallium)
mesa-dri-classic drivers is removed because mesa upstream has removed
those old drivers from the tree. They've been replaced (for not-ancient
hardware) by gallium.
See also https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/31848
Let /usr/share/alsa/ucm2/conf.d/simple-card/*.conf be a symlink,
as it is expected since alsa-lib 1.2.7.
Related: d6adde0e32
[ci:skip-build]: already built successfully in CI
These options are required by `iwd`. Make use of the `kconfigcheck-iwd`
APKBUILD option to ensure the required config options remain selected.
[ci:skip-build] already built successfully in CI
This enables support for the oneplus3's QCA6174 WiFi chipset. The
`board-2.bin` file (overwriting the file with the same name from the
`linux-firmware-ath10k` package) is created from `bdwlan30.bin`, which
is extracted from the baseband modem firmware disk image,
`NON-HLOS.bin`. This board file has not yet been upstreamed.
Because I don't have access to the serial port yet, I begin with the
vendor kernel.
* Make display work by setting to 16bpp
[ci:skip-build]: already built successfully in CI
Let /usr/share/alsa/ucm2/conf.d/simple-card/*.conf be a symlink,
as it is expected since alsa-lib 1.2.7.
Related: d6adde0e32
[ci:skip-build] already built successfully in CI
ALSA UCM configs are now upstreamed which causes
a conflict with the device package as both are now
providing the same files. Drop our configs in the device package.
The kernel is based on Samsung's downstream kernel for the device. Some
configuration changes are required to make the kernel to work:
* Tizen kernel uses SLP USB gadget, changed to Android USB gadget.
* sprdfb patches and modification on the devicetree files are required
to use the framebuffer.
* Other required pmOS kernel settings were enabled.
* Tizen does not use initramfs, use RAMDISK partition to store initramfs
of pmOS (like heimdall-isorec configuration). As far as I know, no
alternative OS exists for this device so this is the very first usage.
* Flash the root file system to USER, as ROOTFS is < 1 GB in size and
USER is about 2.7 GB.
samsung-kiran: Update device and firmware packages
* Changed kernel configuration for firmware path to follow postmarketOS.
* Post install script to mount CSA partition
CSA partition [1] contains non-volatile data for Tizen devices. As
Samsung Z1 uses this partition to store Wi-Fi and Bluetooth information,
mount this partition to use within postmarketOS.
[1] https://docs.tizen.org/platform/porting/kernel/
linux-samsung-kiran: Use lzop to decompress initramfs
This synchronizes behavior with other heimdall-isorec devices.
[ci:skip-build] Already built successfuly on CI in MR
Add udev rule to make feedbackd handle haptics.
With mesa where A619 is supported (which isn't packaged in pmaports
anyways but it's just one small patch that should go upstream in the
near future) Vulkan works absolutely fine, so install the driver for it.
[ci:skip-build] Already built successfuly on CI in MR
Add flash method fastboot so we can actually flash it with pmbootstrap,
remove outdated 90-android-touch-dev.rules and improve the formatting
throughout the APKBUILD.
[ci:skip-build] already built successfully in CI
Don't try to append the dtb if using the downstream kernel.
Fix for:
ERROR: File not found: /usr/share/dtb/qcom-apq8064-asus-nexus7-flo.dtb
Fixes: MR 2239 ("main/linux-postmarketos-qcom-apq8064: new aport")
[ci:skip-build] already built successfully in CI
This previously caused msm_pm_boot_init to incorrectly get handled as
__init function when it needs to be an __devinit function as it is
called by msm_pm_boot_probe, which is an __devinit function.
[ci:skip-build]: already built successfully in CI
The option `deviceinfo_flash_sparse_samsung_format` seems to work
fine on the xcover4lte.
Setting `deviceinfo_flash_sparse_samsung_format` to `1` (and
`deviceinfo_flash_sparse="true"`) causes heimdall to no longer hang
while the rootfs is being flashed.
[ci:skip-build]: already built successfully in CI
Merge and move Spreadtrum patches from these kernels to shared-patches:
* linux-finepower-f1
* linux-samsung-{gtel3g,gtelwifi,j1mini3g,j3xnlte}
* linux-zte-p731a20
[ci:skip-build]: already built successfully in CI
For the Biktorgj firmware the control/power file should be set to on
instead of auto. By matching on the serial number this only applies to
modems with the community firmware installed.
For a merge list, please see the merge commits:
- 5.18.1 - (3d98cf52b5)
- 5.18.2 - (99cf0d285f)
- 5.18.3 - (b425b70a63)
-----
This also changes the following Kconfig options:
- CONFIG_SCSI_UFS_BSG -> y
Change-Id: I4406f381b48a894ea0bff3006fb3fa62683e61a0
Signed-off-by: Alexander Martinz <amartinz@shiftphones.com>
[ci:skip-build]: already built successfully in CI
This also re-enables the auto flashing for u-boot on the L5, but keeps
it disabled on the devkit for now until this u-boot supports the devkit
again.
[ci:skip-build] already built successfully in CI
Run "pmbootstrap kconfig migrate asus-me176c" to update the kernel
config for the new Linux version. Otherwise there is an interactive
prompt that times out on BPO (although it succeeds on GitLab CI for
some strange reason).
Add subpackages that automatically cause installation of the Vulkan
and libva driver if packages using them get installed. This reduces
the size of a minimal rootfs but still ensures those are present if
needed.
[ci:skip-build]: already built successfully in CI
The new linux-edge / 5.18 kernel will likely not make it in time for
the v22.06 release so let's upgrade the good old 5.4 kernel to the
latest stable release at least.
File system modules are included by default in postmarketos-mkinitfs
and loaded dynamically when needed.
[ci:skip-build]: already built successfully in CI
- Update to Linux 5.18
- Fix Bluetooth startup problem
- Upstreamed not so many patches this time
- Even more things I forgot than usual...
pmOS kernel config:
- Enable BNEP, RFCOMM for extra BT features
Device changes:
- samsung-j3ltetw/j5/j5x:
- Now covered by a common device tree include
- Add proper display driver (no brightness control yet)
- Hall sensor (except j3ltetw)
- Touchscreen (only j3ltetw and j5x, j5 is still WIP)
- Sound/Modem for all of them
New devices:
- samsung-grandmax (Samsung Galaxy Grand Max)
- eMMC, SD card, USB, Buttons, WiFi/BT, Vibrator
- Display
- Touchscreen
- Sensors (Accelerometer)
- Sound/Modem
- Battery status
[ci:skip-build]: already built successfully in CI
Drop the weston config, as it was for fbdev which has not been supported
in weston anymore for a while.
Remove Martijn as Co-Maintainer, as both previous maintainers of the
Nokia N900 stopped maintaining it when the device was briefly dropped
from community.
Co-Authored-By: Oliver Smith <ollieparanoid@postamrketos.org>
[ci:skip-build]: already built successfully in CI
Drop 0002-ARM-dts-n900-remove-rx51-battery.patch, because this wasn't
needed for postmarketOS in the first place. The patch was created for
Maemo Leste as upower quirk initially and they don't carry it anymore
either.
Drop other patches, as they have been upstreamed.
Co-Authored-By: Oliver Smith <ollieparanoid@postmarketos.org>
Dropped the usb-c patches, because it looks like usb-c charging works
now out of the box on 5.18, and that was the primary reason for me to
include those patches here originally.
[ci:skip-build] already built successfully in CI
Patches to work around modem instabilities are now in purism's fork, so
they were dropped.
I ran 'kconfig migrate' on the config, which is why there are a lot of
chnages there.
[ci:skip-build] already built successfully in CI
While the newer "Linux board support package" has newer versions for
the "modem" and "venus" firmware, the "wcnss" firmware is actually
older than the one in the previous 1034.2.1 release. To avoid
downgrading it, it is still packaged from the old release in a separate
APKBUILD. (It is probably also better tested than the new release...)
[ci:skip-vercheck]: non-zero pkgrel is intended to match old package
[ci:skip-build] already built successfully in CI
GPU has been supported for a while in the mainline-ish kernel, so let
pmbootstrap show UIs like Phosh.
And msm-modem-uim-selection will setup the modem well enough so at least
the primary SIM should work out of the box.
[ci:skip-build] already built successfully in CI
Note from merger (Newbyte):
While this device is aarch64, switching to aarch64 comes with issues
and would need more work than a vendor kernel like this is worth.
Use armv7 for now and hopefully mainline it in the future and switch
to aarch64 then.
[ci:skip-build] Already built successfuly on CI in MR