Adds samsung-matissevewifi support using msm8916-mainline/linux kernel.
- Device can boot.
- USB network is working.
- Can connect to device using SSH.
This adds basic functionality for the Moto One Hyper.
The device boots with rootfs on sd, booted by 'pmbootstrap flasher boot'.
USB net works, and i can ssh in. There is no framebuffer device, but
weston works with the drm backend instead of fbdev. Touchscreen support
is not implemented yet, but i will update this with support when i get
the chance. Most other functionality either does not seem to work yet or
has not been tested (wifi, audio, modem, etc).
v2:
- Also switch firmware/firmware-asus-flo
- fix linting warnings
device/linux-asus-flo/APKBUILD: IC:[AL6]:device/linux-asus-flo/APKBUILD:36:prefix custom variable with _: HOSTCC="${CC:-gcc}"
IC:[AL6]:device/linux-asus-flo/APKBUILD:37:prefix custom variable with _: HOSTCC="${HOSTCC#${CROSS_COMPILE}}"
IC:[AL6]:device/linux-asus-flo/APKBUILD:39:prefix custom variable with _: ksrcdir="$srcdir/linux-$pkgver"
MC:[AL5]:device/linux-asus-flo/APKBUILD:10:variable set to empty string: depends=""
MC:[AL5]:device/linux-asus-flo/APKBUILD:13:variable set to empty string: install=
MC:[AL5]:device/linux-asus-flo/APKBUILD:30:variable set to empty string: subpackages=""
MC:[AL31]:device/linux-asus-flo/APKBUILD:36:variables must not have capital letters
MC:[AL31]:device/linux-asus-flo/APKBUILD:37:variables must not have capital letters
MP:[AL32]:device/linux-asus-flo/APKBUILD:3:unnecesary usage of braces: ${_flavor}
MP:[AL32]:device/linux-asus-flo/APKBUILD:4:unnecesary usage of braces: ${_flavor}
MP:[AL32]:device/linux-asus-flo/APKBUILD:32:unnecesary usage of braces: ${pkgver}
firmware/firmware-asus-flo/APKBUILD: MC:[AL28]:firmware/firmware-asus-flo/APKBUILD:12:literal integers must not be quoted
MP:[AL32]:firmware/firmware-asus-flo/APKBUILD:15:unnecesary usage of braces: ${_url_aosp}
MP:[AL32]:firmware/firmware-asus-flo/APKBUILD:15:unnecesary usage of braces: ${_version_broadcom}
MP:[AL32]:firmware/firmware-asus-flo/APKBUILD:16:unnecesary usage of braces: ${_url_aosp}
MP:[AL32]:firmware/firmware-asus-flo/APKBUILD:16:unnecesary usage of braces: ${_version_qcom}
MP:[AL32]:firmware/firmware-asus-flo/APKBUILD:22:unnecesary usage of braces: ${_commit_other}
MP:[AL32]:firmware/firmware-asus-flo/APKBUILD:24:unnecesary usage of braces: ${_commit_other}
MP:[AL32]:firmware/firmware-asus-flo/APKBUILD:24:unnecesary usage of braces: ${_url_other}
Signed-off-by: David Heidelberg <david@ixit.cz>
- use mesa-git (until we have functional mesa-grate-git)
Works:
- USB
- WiFi (tested with IWD) + Bluetooth
- Touchscreen
- Phosh rotation (rootston.ini)
- IIO Light sensor
- NFC
Not works:
- 3D
- GPS
- GSM (tilapia)
- Camera
Signed-off-by: David Heidelberg <david@ixit.cz>
[ci:skip-build]: already built successfully in CI
Support for the downstream kernel has been removed entirely. This is
because the downstream kernel only has support for the armhf
architecture, whereas linux-postmarketos-qcom-msm8916 is only built
for aarch64. Since pmbootstrap has no way to handle having two
kernels on differing architectures, the decision was made to remove
the downstream kernel and only support mainline.
I'm not sure how this package even worked before... The install location
on the second loop was invalid as the "$fw" variable would result to
nothing. This would normally cause all files in that loop to be named
the same...
samsung-serranovelte runs Linux mainline (linux-postmarketos-qcom-msm8916)
with support for:
- Display
- Touchscreen
- Sound
- GPIO keys
- NFC
- Vibrator
- IMU (Accelerometer + Gyroscope)
- Battery
The primary limitation of samsung-serranovelte is that it can only run
ARMv7 (32-bit) binaries, even though its hardware (MSM8916) is 64-bit
capable. This is because it was never updated with 64-bit compatible
firmware (usually introduced together with the Android 5.0 update).
[ci:skip-vercheck]: only added new architectures
MSM8916 has a single "modem" firmware for the audio DSP and modem.
In some early tests, the remote processor boots successfully at least
and the modem shows up in ofono. (Have not done further tests yet...)
However, audio stops working as soon as it is loaded
(because the audio DSP assumes control over the audio hardware).
For now let's just package it for all MSM8916 mainline devices
so it can be installed more easily. It is not used or installed
by default but it can be manually installed for testing.
Remove all firmware-support dependencies from the firmware package and
add them to -downstream-firmware and -mainline-firmware packages which
have an install_if on the downstream or mainline kernel subpackage.
[ci:skip-build]: already built successfully in CI
device/device-asus-me176c:
- Install me176c-factory to apply correct MAC addresses for
WiFi and BT
- Use FAT32 for boot partition. This allows flashing the boot
partition directly as ESP (EFI System Partition).
- Overall cleanup
device/linux-asus-me176c:
- Update kernel fork to 4.19.80
- Cleanup APKBUILD
- Stop building patched ACPI DSDT table directly into kernel
firmware/firmware-asus-me176c:
- Package WiFi firmware
firmware/firmware-asus-me176c-acpi:
- New package for the patched ACPI DSDT table
-> Separate from firmware-asus-me176c because it is always required,
(not optional)
[ci:skip-build]: runs into timeout
The modem boots up properly without causing any problems, so let's
install the firmware and support packages by default.
Also install adsp-audio now by default to boot up the adsp for audio and
other services provided by the processor.
[ci:skip-build]: already built successfully in CI