This is to emphasize the fact that this firmware package will work essentially
unmodified on the samsung-coreprimevelte and other Samsung PXA1908 phones as
well.
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.
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
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 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
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
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
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
File system modules are included by default in postmarketos-mkinitfs
and loaded dynamically when needed.
[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
Basic support for the Tolino Shine 3 ebook reader. It is the same board as
the Kobo Clara HD.
Waveform handling shares the same oddities as for the Kobo Clara HD
but the file epdc_E060SCM.fw from the IMX6SL BSP from NXP does also work.
The existing waveform from SD card is used.
Preferred way to install is to clone the internal SD, keeping the original
as a backup, install on that clone.
U-Boot is a more recent one than the factory u-boot, so devicetrees are nicely
supported. Kernel is the near mainline kernel also used by the Kobo Clara HD.
This commit adds a package for the sm6125-mainline kernel fork. As of
now it uses kernel version 5.18_rc4, pulled from torvalds/linux.
You can find the repository on https://gitlab.com/sm6125-mainline/linux
[ci:skip-build] Already built successfuly on CI in MR
A quirky device, the last Mi Ax phone in the line. - Powered by
Snapdragon 665 (SM6125, codenamed Trinket), 8 cores, 4 clocked a 2.0
GHz and 4 more clocked at 1.8 GHz. 4-6 GB of RAM, 64-128 GB of UFS
storage, 720p 6.09" AMOLED display, a 48 Mpx quad-bayer camera (plus two
more on the back and one on the front) and an under display fingerprint
sensor which may be impossible to ever implement... *sigh*
Mainline kernel as of now is pretty minimal (framebuffer display, USB
networking). No UFS support (yet!).
patches added are (not all, just some) fixes and feature enhancements
for msm8992 and msm8994 from qcom mainline maintainer tree [1] for v5.18
and v5.19.
Changes:
* update deviceinfo_dtb_mainline for device-huawei-angler and
device-lg-bullhead.
* add sdhc1 support for device-huawei-angler
[1] https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux.git
Signed-off-by: Petr Vorel <petr.vorel@gmail.com>
[ci:skip-build] Already built successfully in CI in MR
mesa-dri-swrast no longer exists and just installs,
mesa-dri-gallium. However, this might not always be the case, so
let's change it before it causes any issues.
[ci:ignore-count]
[ci:skip-build]
I'd say this is not appropriate to be in postmarketOS because
this is just a bog standard x86 computer, it has UEFI BIOS and
everything, and you can just boot a Linux distro on a USB
stick.
It also has a 64-bit UEFI unlike some other tablet, so there
should be no issue installing a Linux distro with a fairly
modern kernel these days.
So, let's just drop it and forget this port even existed.
The charging script does nothing other than annoy a few people,
so get rid of it.
While at it, let's remove hybris reference from the APKBUILD as
hybrisOS is dead.
Closes#1487
Signed-off-by: Dang Huynh <danct12@disroot.org>
Powerful beast with Snapdragon 855 - 8 cores up to 2.8 GHz,
6 Gb RAM and fast UFS storage.
Mainline port is bare minimum (UART, framebuffer display, physical
keys, USB network). No storage support yet (UFS refuses to work)
https://wiki.postmarketos.org/wiki/Xiaomi_Mi_9_(xiaomi-cepheus)
Device uses mainline kernel. What works:
- boots
- pstore log
- simple framebuffer
- storage including sdcard
* payload mock device tree:
Payload mock device tree is needed to mock device tree,
when we're overriding linux with u-boot in android boot image.
Stock bootloader needs this dtb appended to gzipped u-boot.
Bootscript is a simple hush shell script, dedicated to boot OS.
It may be customized to implement dual boot or to change kernel
command line.
To make panel driver upstreamable to mainline linux, we need to use
proper panel selection in secondary bootloader (still TODO), and
therefore lk2nd will be strictly required to boot mainline port.
Switch flashing method to fastboot, enable sparse rootfs generation,
and depend on lk2nd package.
Depends on: postmarketOS/pmbootstrap!2174, to provide full
integration of lk2nd in pmbootstrap.
So, full flashing procedure for samsung-klte will look like:
$ pmbootstrap init
$ pmbootstrap install
$ pmbootstrap flasher --method=heimdall-bootimg flash_lk2nd
$ pmbootstrap flasher flash_kernel --no-install
$ pmbootstrap flasher flash_rootfs
$ fastboot reboot
This removes u-boot from our image and allows booting via an
UEFI-compatible platform firmware instead. So to flash pmOS on the PPP
now we will require the user to flash Tow-Boot to the SPI. See the edge
post for more information.
Related: https://postmarketos.org/edge/2022/03/28/ppp-tow-boot/
Co-Authored-By: Oliver Smith <ollieparanoid@postmarketos.org>
Add option for mainline kernel iso downstream kernel. Note that a lot is
not working yet due to incomplete devicetree, so this is for development
purposes only.
Now that internal storage is supported, we actually need a 4096 sector
size, otherwise kpartx won't work on internal partitions.
[ci:skip-build] Already built successfuly on CI in MR
Fixes/works around issue where some applications using the GPU
would crash with DRM_IOCTL_MODE_CREATE_DUMB failed.
See https://gitlab.com/postmarketOS/pmaports/-/issues/1246
[ci:skip-build] Already built successfuly on CI in MR
Unfortunately, the oppo-a51f has been unmaintained for quite some time
now. The original author (harutora) has disappeared and no one else
seems to have this device. The device port has several open problems:
1. The device was never added properly to upstream lk2nd, because
of a special (OPPO-specific) boot image format. Users need to
compile and install some outdated version of lk2nd, which is no
longer (fully) compatible with newer kernel versions.
2. The authorship of the Linux changes are unclear: They were created
with a "no-reply" email address and without Signed-off-by line
that clarifies the licensing of the changes and permits upstreaming
the patches.
Since oppo-a51f is the last remaining device port in linux-postmarketos
-qcom-msm8916 with this problem, I decided to drop the patches from the
kernel, at least until harutora returns or can clarify the authorship
of the created patches.
The soc-qcom-sdm845-nonfree-firmware dependency is now moved from
firmware-shift-sdm845 package to the device package.
This will make the firmware package to only depend on firmware files.
The soc-qcom-sdm845-nonfree-firmware dependency is now moved from
firmware-shift-sdm845 package to the device package.
This will make the firmware package to only depend on firmware files.
Also, pmb:cross-native is added to the package options so CI testcases
doesn't fail.
I'm not deduplicating the UCM files between m3 and m0 as I may not
always be able to test changes to m3, and I'd rather have a an
outdated configuration for m3 than a broken one.
Apparently works significantly better on SHV-E210S and seems to
work about equally well on i9300. Besides, using upstream firmware
with a clear licence is nice. Also use different nvram file for m3.
In preparation to removal of linux-postmarketos repo, switch
source to different source mirror.
P.S: sourcehut can't serve bz2 archives, I had to switch to gz
P.P.S: I'm not sure I'll keep repo on sourcehut forever, but let's try
See also: https://gitlab.com/postmarketOS/postmarketos/-/issues/47
[ci:skip-vercheck]
[ci:skip-build] Already built fine on CI in MR
In preparation to removal of linux-postmarketos repo, switch
source to different source mirror.
I had to switch to gzip archive, because github doesn't serve bzip2.
I did a kconfig edit -> change nothing -> exit saving to regenerate config.
See also: postmarketos#47
[ci:skip-build] Already built fine on CI in MR
CONFIG_MSM_KGSL (Kernel Graphics Subsystem Layer) breaks the framebuffer
in mysterious ways even on this device. This MR disables KGSL to restore
framebuffer functionality.
Also temporarily switch to Linus Walleij's branch to enable charging.
Patches should be upstreamed to mainline by Linux 5.18.
emmc.patch: Linux no longer hangs without this
fix-boot-regression-skomer.patch: Upstreamed and included here
[ci:skip-build] Already built fine on CI in MR
https://wiki.postmarketos.org/wiki/Asus_Zenfone_Max_Pro_M1_(asus-x00td)
Initially ported by Alice Koul.
iAboothahir: set CONFIG_DEVPTS_MULTIPLE_INSTANCES and remove empty deviceinfo_*
Signed-off-by: Alice Koul <alice-koul@protonmail.com>
Signed-off-by: iAboothahir <aboothahirpkd@gmail.com>
[ci:skip-build] Already built once fine on CI in MR
This firmware is useful for other devices (m3, t0lte, p4note, ...), so
let's give it a more generic name and split up WiFi and Bluetooth into
separate packages as the WiFi firmware isn't useful for t0lte at the
moment. Also drop the downstream kernel firmware from here to simplify
the APKBUILD, and give it its own package in the following commit.