samsung-a6lte: new device (Samsung Galaxy A6 2018) (MR 3393)
[ci:skip-build] Already built successfuly on CI in MR
This commit is contained in:
parent
f9769f26fd
commit
4867a3f4e3
15 changed files with 5632 additions and 0 deletions
67
device/testing/device-samsung-a6lte/APKBUILD
Normal file
67
device/testing/device-samsung-a6lte/APKBUILD
Normal file
|
@ -0,0 +1,67 @@
|
||||||
|
# Reference: <https://postmarketos.org/devicepkg>
|
||||||
|
pkgname=device-samsung-a6lte
|
||||||
|
pkgdesc="Samsung Galaxy A6 2018"
|
||||||
|
pkgver=0.1
|
||||||
|
pkgrel=0
|
||||||
|
url="https://postmarketos.org"
|
||||||
|
license="MIT"
|
||||||
|
arch="aarch64"
|
||||||
|
options="!check !archcheck"
|
||||||
|
depends="
|
||||||
|
alsa-utils
|
||||||
|
linux-samsung-a6lte
|
||||||
|
mesa-dri-gallium
|
||||||
|
mkbootimg
|
||||||
|
msm-fb-refresher
|
||||||
|
pipewire
|
||||||
|
pipewire-pulse
|
||||||
|
postmarketos-base
|
||||||
|
"
|
||||||
|
replaces="
|
||||||
|
lightdm
|
||||||
|
pipewire-media-session
|
||||||
|
udev-init-scripts-openrc
|
||||||
|
"
|
||||||
|
makedepends="devicepkg-dev"
|
||||||
|
source="
|
||||||
|
deviceinfo
|
||||||
|
etc-init.d-udev-settle
|
||||||
|
etc-lightdm-lightdm.conf
|
||||||
|
etc-NetworkManager-conf.d-swlan0-unmanaged.conf
|
||||||
|
usr-share-alsa-ucm2-conf.d-Universal7870-I-HiFi.conf
|
||||||
|
usr-share-alsa-ucm2-conf.d-Universal7870-I-Universal7870-I.conf
|
||||||
|
usr-share-pipewire-media-session.d-alsa-monitor.conf
|
||||||
|
"
|
||||||
|
subpackages="$pkgname-nonfree-firmware:nonfree_firmware"
|
||||||
|
|
||||||
|
# pulseaudio does not seem to work on this device. Will use pipewire-pulse instead.
|
||||||
|
|
||||||
|
build() {
|
||||||
|
devicepkg_build $startdir $pkgname
|
||||||
|
}
|
||||||
|
|
||||||
|
package() {
|
||||||
|
devicepkg_package $startdir $pkgname
|
||||||
|
install -Dm755 etc-init.d-udev-settle "$pkgdir"/etc/init.d/udev-settle
|
||||||
|
install -Dm644 etc-lightdm-lightdm.conf "$pkgdir"/etc/lightdm/lightdm.conf
|
||||||
|
install -Dm644 etc-NetworkManager-conf.d-swlan0-unmanaged.conf "$pkgdir"/etc/NetworkManager/conf.d/swlan0-unmanaged.conf
|
||||||
|
install -Dm644 usr-share-alsa-ucm2-conf.d-Universal7870-I-HiFi.conf "$pkgdir"/usr/share/alsa/ucm2/conf.d/Universal7870-I/HiFi.conf
|
||||||
|
install -Dm644 usr-share-alsa-ucm2-conf.d-Universal7870-I-Universal7870-I.conf "$pkgdir"/usr/share/alsa/ucm2/conf.d/Universal7870-I/Universal7870-I.conf
|
||||||
|
install -Dm644 usr-share-pipewire-media-session.d-alsa-monitor.conf "$pkgdir"/usr/share/pipewire/media-session.d/alsa-monitor.conf
|
||||||
|
}
|
||||||
|
|
||||||
|
nonfree_firmware() {
|
||||||
|
pkgdesc="Wifi firmware"
|
||||||
|
depends="firmware-samsung-a6lte"
|
||||||
|
mkdir "$subpkgdir"
|
||||||
|
}
|
||||||
|
|
||||||
|
sha512sums="
|
||||||
|
63be7d1b44093c2d892a92ad788a9a6a9d510c9ca0aac1f249213458402c546560827aaaa23c88497efee4675b15bf47481e551e5de043abaf5ae65e3de9c10a deviceinfo
|
||||||
|
203b832a7080d5f1351c5e024e444f9fe509f6e0fd4b376a60c7d73359b7e356863a4f15caf9b2e4e733dc44d2971722083e7c69ca94a012eb004b4b8ded9d09 etc-init.d-udev-settle
|
||||||
|
861270c6bc0b2a3e6cd389c21c8c895e62de8cf8bec6fcf23c178f8cbaae855d62b0ee98692671ab4f518d84cb43dd0b2fe46f5a609f65af6a6c06e0fdbb6d0c etc-lightdm-lightdm.conf
|
||||||
|
ef24527b13e48a9153643f3713167d3d08486e7de8b4c94d7c446ff380396115890573d8cd4aa5448766d9e779e189833a83e7921081679bd348c3f8a59410af etc-NetworkManager-conf.d-swlan0-unmanaged.conf
|
||||||
|
80ea4968be09dec3deac4d6c5c58b7848f6ea297f2fe2e09f58dec5ba78c0a39060a7d86410a52414f615a0fef9ae9506e12d492d700eb168793433ea7691155 usr-share-alsa-ucm2-conf.d-Universal7870-I-HiFi.conf
|
||||||
|
fe527672d5e52a1b074e7e3613a6321f987270ececfdfaf49d1fde9fcd4f4dc93f37374c80ee3d539e4079a5c6e07ffddc648a1544bccbe4810e1bc30d0c2112 usr-share-alsa-ucm2-conf.d-Universal7870-I-Universal7870-I.conf
|
||||||
|
5e87452f4cd70bbbcfb3e69bae73f2690ba328e7ccde55c47482e8fb1583d807de5bd3d328b1fe6a8733b4de78b2ed0c6ae8cdb60f6bf51ed4362c2174671b3e usr-share-pipewire-media-session.d-alsa-monitor.conf
|
||||||
|
"
|
33
device/testing/device-samsung-a6lte/deviceinfo
Normal file
33
device/testing/device-samsung-a6lte/deviceinfo
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
# Reference: <https://postmarketos.org/deviceinfo>
|
||||||
|
# Please use double quotes only. You can source this file in shell
|
||||||
|
# scripts.
|
||||||
|
|
||||||
|
deviceinfo_format_version="0"
|
||||||
|
deviceinfo_name="Samsung Galaxy A6 2018"
|
||||||
|
deviceinfo_manufacturer="Samsung"
|
||||||
|
deviceinfo_codename="samsung-a6lte"
|
||||||
|
deviceinfo_year="2018"
|
||||||
|
deviceinfo_arch="aarch64"
|
||||||
|
|
||||||
|
# Device related
|
||||||
|
deviceinfo_chassis="convertible"
|
||||||
|
deviceinfo_keyboard="false"
|
||||||
|
deviceinfo_external_storage="true"
|
||||||
|
deviceinfo_screen_width="720"
|
||||||
|
deviceinfo_screen_height="1480"
|
||||||
|
|
||||||
|
# Bootloader related
|
||||||
|
deviceinfo_flash_method="heimdall-bootimg"
|
||||||
|
deviceinfo_kernel_cmdline="androidboot.selinux=permissive androidboot.selinux=permissive"
|
||||||
|
deviceinfo_generate_bootimg="true"
|
||||||
|
deviceinfo_bootimg_qcdt="true"
|
||||||
|
deviceinfo_bootimg_mtk_mkimage="false"
|
||||||
|
deviceinfo_bootimg_dtb_second="false"
|
||||||
|
deviceinfo_flash_pagesize="2048"
|
||||||
|
deviceinfo_flash_offset_base="0x10000000"
|
||||||
|
deviceinfo_flash_offset_kernel="0x00008000"
|
||||||
|
deviceinfo_flash_offset_ramdisk="0x01000000"
|
||||||
|
deviceinfo_flash_offset_second="0x00f00000"
|
||||||
|
deviceinfo_flash_offset_tags="0x00000100"
|
||||||
|
deviceinfo_flash_heimdall_partition_kernel="BOOT"
|
||||||
|
deviceinfo_flash_heimdall_partition_system="SYSTEM"
|
|
@ -0,0 +1,5 @@
|
||||||
|
[main]
|
||||||
|
plugins=keyfile
|
||||||
|
|
||||||
|
[keyfile]
|
||||||
|
unmanaged-devices=interface-name:swlan0;interface-name:p2p0
|
17
device/testing/device-samsung-a6lte/etc-init.d-udev-settle
Normal file
17
device/testing/device-samsung-a6lte/etc-init.d-udev-settle
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
#!/sbin/openrc-run
|
||||||
|
# Copyright 2014 Gentoo Foundation
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
depend() {
|
||||||
|
need udev
|
||||||
|
after udev-trigger
|
||||||
|
provide dev-settle
|
||||||
|
keyword -containers
|
||||||
|
}
|
||||||
|
|
||||||
|
# udev-settle takes 3 minutes to start (and fails anyway, after which the device boots). Nuking it.
|
||||||
|
|
||||||
|
start() {
|
||||||
|
ebegin "Not waiting for uevents to be processed"
|
||||||
|
eend $?
|
||||||
|
}
|
164
device/testing/device-samsung-a6lte/etc-lightdm-lightdm.conf
Normal file
164
device/testing/device-samsung-a6lte/etc-lightdm-lightdm.conf
Normal file
|
@ -0,0 +1,164 @@
|
||||||
|
#
|
||||||
|
# General configuration
|
||||||
|
#
|
||||||
|
# start-default-seat = True to always start one seat if none are defined in the configuration
|
||||||
|
# greeter-user = User to run greeter as
|
||||||
|
# minimum-display-number = Minimum display number to use for X servers
|
||||||
|
# minimum-vt = First VT to run displays on
|
||||||
|
# lock-memory = True to prevent memory from being paged to disk
|
||||||
|
# user-authority-in-system-dir = True if session authority should be in the system location
|
||||||
|
# guest-account-script = Script to be run to setup guest account
|
||||||
|
# logind-check-graphical = True to on start seats that are marked as graphical by logind
|
||||||
|
# log-directory = Directory to log information to
|
||||||
|
# run-directory = Directory to put running state in
|
||||||
|
# cache-directory = Directory to cache to
|
||||||
|
# sessions-directory = Directory to find sessions
|
||||||
|
# remote-sessions-directory = Directory to find remote sessions
|
||||||
|
# greeters-directory = Directory to find greeters
|
||||||
|
# backup-logs = True to move add a .old suffix to old log files when opening new ones
|
||||||
|
# dbus-service = True if LightDM provides a D-Bus service to control it
|
||||||
|
#
|
||||||
|
[LightDM]
|
||||||
|
#start-default-seat=true
|
||||||
|
#greeter-user=lightdm
|
||||||
|
#minimum-display-number=0
|
||||||
|
#minimum-vt=7
|
||||||
|
#lock-memory=true
|
||||||
|
#user-authority-in-system-dir=false
|
||||||
|
#guest-account-script=guest-account
|
||||||
|
# Next line: elogind reports that the session CanGraphical=no. Let lightdm ignore that bogus status.
|
||||||
|
logind-check-graphical=false
|
||||||
|
#log-directory=/var/log/lightdm
|
||||||
|
#run-directory=/var/run/lightdm
|
||||||
|
#cache-directory=/var/cache/lightdm
|
||||||
|
#sessions-directory=/usr/share/lightdm/sessions:/usr/share/xsessions:/usr/share/wayland-sessions
|
||||||
|
#remote-sessions-directory=/usr/share/lightdm/remote-sessions
|
||||||
|
#greeters-directory=$XDG_DATA_DIRS/lightdm/greeters:$XDG_DATA_DIRS/xgreeters
|
||||||
|
#backup-logs=true
|
||||||
|
#dbus-service=true
|
||||||
|
|
||||||
|
#
|
||||||
|
# Seat configuration
|
||||||
|
#
|
||||||
|
# Seat configuration is matched against the seat name glob in the section, for example:
|
||||||
|
# [Seat:*] matches all seats and is applied first.
|
||||||
|
# [Seat:seat0] matches the seat named "seat0".
|
||||||
|
# [Seat:seat-thin-client*] matches all seats that have names that start with "seat-thin-client".
|
||||||
|
#
|
||||||
|
# type = Seat type (local, xremote)
|
||||||
|
# pam-service = PAM service to use for login
|
||||||
|
# pam-autologin-service = PAM service to use for autologin
|
||||||
|
# pam-greeter-service = PAM service to use for greeters
|
||||||
|
# xserver-command = X server command to run (can also contain arguments e.g. X -special-option)
|
||||||
|
# xmir-command = Xmir server command to run (can also contain arguments e.g. Xmir -special-option)
|
||||||
|
# xserver-config = Config file to pass to X server
|
||||||
|
# xserver-layout = Layout to pass to X server
|
||||||
|
# xserver-allow-tcp = True if TCP/IP connections are allowed to this X server
|
||||||
|
# xserver-share = True if the X server is shared for both greeter and session
|
||||||
|
# xserver-hostname = Hostname of X server (only for type=xremote)
|
||||||
|
# xserver-display-number = Display number of X server (only for type=xremote)
|
||||||
|
# xdmcp-manager = XDMCP manager to connect to (implies xserver-allow-tcp=true)
|
||||||
|
# xdmcp-port = XDMCP UDP/IP port to communicate on
|
||||||
|
# xdmcp-key = Authentication key to use for XDM-AUTHENTICATION-1 (stored in keys.conf)
|
||||||
|
# greeter-session = Session to load for greeter
|
||||||
|
# greeter-hide-users = True to hide the user list
|
||||||
|
# greeter-allow-guest = True if the greeter should show a guest login option
|
||||||
|
# greeter-show-manual-login = True if the greeter should offer a manual login option
|
||||||
|
# greeter-show-remote-login = True if the greeter should offer a remote login option
|
||||||
|
# user-session = Session to load for users
|
||||||
|
# allow-user-switching = True if allowed to switch users
|
||||||
|
# allow-guest = True if guest login is allowed
|
||||||
|
# guest-session = Session to load for guests (overrides user-session)
|
||||||
|
# session-wrapper = Wrapper script to run session with
|
||||||
|
# greeter-wrapper = Wrapper script to run greeter with
|
||||||
|
# guest-wrapper = Wrapper script to run guest sessions with
|
||||||
|
# display-setup-script = Script to run when starting a greeter session (runs as root)
|
||||||
|
# display-stopped-script = Script to run after stopping the display server (runs as root)
|
||||||
|
# greeter-setup-script = Script to run when starting a greeter (runs as root)
|
||||||
|
# session-setup-script = Script to run when starting a user session (runs as root)
|
||||||
|
# session-cleanup-script = Script to run when quitting a user session (runs as root)
|
||||||
|
# autologin-guest = True to log in as guest by default
|
||||||
|
# autologin-user = User to log in with by default (overrides autologin-guest)
|
||||||
|
# autologin-user-timeout = Number of seconds to wait before loading default user
|
||||||
|
# autologin-session = Session to load for automatic login (overrides user-session)
|
||||||
|
# autologin-in-background = True if autologin session should not be immediately activated
|
||||||
|
# exit-on-failure = True if the daemon should exit if this seat fails
|
||||||
|
#
|
||||||
|
[Seat:*]
|
||||||
|
#type=local
|
||||||
|
#pam-service=lightdm
|
||||||
|
#pam-autologin-service=lightdm-autologin
|
||||||
|
#pam-greeter-service=lightdm-greeter
|
||||||
|
#xserver-command=X
|
||||||
|
#xmir-command=Xmir
|
||||||
|
#xserver-config=
|
||||||
|
#xserver-layout=
|
||||||
|
#xserver-allow-tcp=false
|
||||||
|
#xserver-share=true
|
||||||
|
#xserver-hostname=
|
||||||
|
#xserver-display-number=
|
||||||
|
#xdmcp-manager=
|
||||||
|
#xdmcp-port=177
|
||||||
|
#xdmcp-key=
|
||||||
|
#greeter-session=example-gtk-gnome
|
||||||
|
#greeter-hide-users=false
|
||||||
|
#greeter-allow-guest=true
|
||||||
|
#greeter-show-manual-login=false
|
||||||
|
#greeter-show-remote-login=true
|
||||||
|
#user-session=default
|
||||||
|
#allow-user-switching=true
|
||||||
|
#allow-guest=false
|
||||||
|
#guest-session=
|
||||||
|
#session-wrapper=lightdm-session
|
||||||
|
#greeter-wrapper=
|
||||||
|
#guest-wrapper=
|
||||||
|
#display-setup-script=
|
||||||
|
#display-stopped-script=
|
||||||
|
#greeter-setup-script=
|
||||||
|
#session-setup-script=
|
||||||
|
#session-cleanup-script=
|
||||||
|
#autologin-guest=false
|
||||||
|
#autologin-user=
|
||||||
|
#autologin-user-timeout=0
|
||||||
|
#autologin-in-background=false
|
||||||
|
#autologin-session=
|
||||||
|
#exit-on-failure=false
|
||||||
|
|
||||||
|
#
|
||||||
|
# XDMCP Server configuration
|
||||||
|
#
|
||||||
|
# enabled = True if XDMCP connections should be allowed
|
||||||
|
# port = UDP/IP port to listen for connections on
|
||||||
|
# listen-address = Host/address to listen for XDMCP connections (use all addresses if not present)
|
||||||
|
# key = Authentication key to use for XDM-AUTHENTICATION-1 or blank to not use authentication (stored in keys.conf)
|
||||||
|
# hostname = Hostname to report to XDMCP clients (defaults to system hostname if unset)
|
||||||
|
#
|
||||||
|
# The authentication key is a 56 bit DES key specified in hex as 0xnnnnnnnnnnnnnn. Alternatively
|
||||||
|
# it can be a word and the first 7 characters are used as the key.
|
||||||
|
#
|
||||||
|
[XDMCPServer]
|
||||||
|
#enabled=false
|
||||||
|
#port=177
|
||||||
|
#listen-address=
|
||||||
|
#key=
|
||||||
|
#hostname=
|
||||||
|
|
||||||
|
#
|
||||||
|
# VNC Server configuration
|
||||||
|
#
|
||||||
|
# enabled = True if VNC connections should be allowed
|
||||||
|
# command = Command to run Xvnc server with
|
||||||
|
# port = TCP/IP port to listen for connections on
|
||||||
|
# listen-address = Host/address to listen for VNC connections (use all addresses if not present)
|
||||||
|
# width = Width of display to use
|
||||||
|
# height = Height of display to use
|
||||||
|
# depth = Color depth of display to use
|
||||||
|
#
|
||||||
|
[VNCServer]
|
||||||
|
#enabled=false
|
||||||
|
#command=Xvnc
|
||||||
|
#port=5900
|
||||||
|
#listen-address=
|
||||||
|
#width=1024
|
||||||
|
#height=768
|
||||||
|
#depth=8
|
|
@ -0,0 +1,30 @@
|
||||||
|
SectionVerb {
|
||||||
|
EnableSequence [
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
SectionDevice."Headphones" {
|
||||||
|
EnableSequence [
|
||||||
|
]
|
||||||
|
|
||||||
|
DisableSequence [
|
||||||
|
]
|
||||||
|
|
||||||
|
Value {
|
||||||
|
PlaybackPriority 100
|
||||||
|
PlaybackPCM "hw:${CardId}"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
SectionDevice."Mic" {
|
||||||
|
EnableSequence [
|
||||||
|
]
|
||||||
|
|
||||||
|
DisableSequence [
|
||||||
|
]
|
||||||
|
|
||||||
|
Value {
|
||||||
|
CapturePriority 100
|
||||||
|
CapturePCM "hw:${CardId}"
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,37 @@
|
||||||
|
Syntax 2
|
||||||
|
|
||||||
|
SectionUseCase."HiFi" {
|
||||||
|
File "HiFi.conf"
|
||||||
|
}
|
||||||
|
|
||||||
|
SectionDefaults [
|
||||||
|
cset "name='AudioMixer Mixer En' 1"
|
||||||
|
cset "name='AudioMixer CH1 Mixer En' 1"
|
||||||
|
cset "name='AudioMixer CH2 Mixer En' 0"
|
||||||
|
cset "name='AudioMixer CH3 Mixer En' 0"
|
||||||
|
cset "name='AudioMixer CH4 Mixer En' 0"
|
||||||
|
cset "name='MonoMix Mode' 0"
|
||||||
|
cset "name='Chargepump Mode' 0"
|
||||||
|
cset "name='DNC ZCD Enable' 1"
|
||||||
|
cset "name='DNC ZCD Timeout' 1"
|
||||||
|
cset "name='DNC Max Gain' 12"
|
||||||
|
cset "name='HP HP On' 0"
|
||||||
|
cset "name='EP EP On' 0"
|
||||||
|
cset "name='AMP Enable Switch' 1"
|
||||||
|
cset "name='AudioMixer MIX1_LVL' 0"
|
||||||
|
cset "name='AudioMixer CH1 DOUT Select' 1"
|
||||||
|
cset "name='ADCL Mixer MIC1L Switch' 1"
|
||||||
|
cset "name='ADCL Mixer MIC2L Switch' 0"
|
||||||
|
cset "name='ADCL Mixer MIC3L Switch' 0"
|
||||||
|
cset "name='ADCL Mixer LINELL Switch' 0"
|
||||||
|
cset "name='ADCL Mixer LINERL Switch' 0"
|
||||||
|
cset "name='ADCR Mixer MIC1R Switch' 1"
|
||||||
|
cset "name='ADCR Mixer MIC2R Switch' 0"
|
||||||
|
cset "name='ADCR Mixer MIC3R Switch' 0"
|
||||||
|
cset "name='ADCR Mixer LINELR Switch' 0"
|
||||||
|
cset "name='ADCR Mixer LINERR Switch' 0"
|
||||||
|
cset "name='MIC1 MIC1 On' 1"
|
||||||
|
cset "name='MIC2 MIC2 On' 0"
|
||||||
|
cset "name='MIC3 MIC3 On' 0"
|
||||||
|
cset "name='LINEIN LINEIN On' 0"
|
||||||
|
]
|
|
@ -0,0 +1,126 @@
|
||||||
|
# ALSA monitor config file for PipeWire version 0.4.1 #
|
||||||
|
#
|
||||||
|
# Copy and edit this file in /etc/pipewire/media-session.d/
|
||||||
|
# for system-wide changes or in
|
||||||
|
# ~/.config/pipewire/media-session.d/ for local changes.
|
||||||
|
|
||||||
|
properties = {
|
||||||
|
# Create a JACK device. This is not enabled by default because
|
||||||
|
# it requires that the PipeWire JACK replacement libraries are
|
||||||
|
# not used by the session manager, in order to be able to
|
||||||
|
# connect to the real JACK server.
|
||||||
|
#alsa.jack-device = false
|
||||||
|
|
||||||
|
# Reserve devices.
|
||||||
|
#alsa.reserve = true
|
||||||
|
}
|
||||||
|
|
||||||
|
rules = [
|
||||||
|
# An array of matches/actions to evaluate.
|
||||||
|
{
|
||||||
|
# Rules for matching a device or node. Each dictionary in this array
|
||||||
|
# specifies the property to match as key and a string or regex match
|
||||||
|
# as value. A successful match requires all dictionary keys (i.e.
|
||||||
|
# properties) to match.
|
||||||
|
#
|
||||||
|
# Actions are are executed for the object if at least one successful
|
||||||
|
# match exists.
|
||||||
|
#
|
||||||
|
# Regular expressions are prefixed with the ~ (tilde) character,
|
||||||
|
# otherwise a standard string comparison is used.
|
||||||
|
# The special value "null" matches against empty properties.
|
||||||
|
matches = [
|
||||||
|
{
|
||||||
|
# This matches all cards. These are regular expressions
|
||||||
|
# so "." matches one character and ".*" matches many.
|
||||||
|
device.name = "~alsa_card.*"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
actions = {
|
||||||
|
# Actions can update properties on the matched object.
|
||||||
|
update-props = {
|
||||||
|
# Use ALSA-Card-Profile devices. They use UCM or
|
||||||
|
# the profile configuration to configure the device
|
||||||
|
# and mixer settings.
|
||||||
|
api.alsa.use-acp = true
|
||||||
|
|
||||||
|
# Use UCM instead of profile when available. Can be
|
||||||
|
# disabled to skip trying to use the UCM profile.
|
||||||
|
#api.alsa.use-ucm = true
|
||||||
|
|
||||||
|
# Don't use the hardware mixer for volume control. It
|
||||||
|
# will only use software volume. The mixer is still used
|
||||||
|
# to mute unused paths based on the selected port.
|
||||||
|
api.alsa.soft-mixer = true
|
||||||
|
|
||||||
|
# Ignore decibel settings of the driver. Can be used to
|
||||||
|
# work around buggy drivers that report wrong values.
|
||||||
|
#api.alsa.ignore-dB = false
|
||||||
|
|
||||||
|
# The profile set to use for the device. Usually this is
|
||||||
|
# "default.conf" but can be changed with a udev rule
|
||||||
|
# or here.
|
||||||
|
#device.profile-set = "profileset-name.conf"
|
||||||
|
|
||||||
|
# The default active profile. Is by default set to "Off".
|
||||||
|
#device.profile = "default profile name"
|
||||||
|
|
||||||
|
# Automatically select the best profile. This is the
|
||||||
|
# highest priority available profile. This is disabled
|
||||||
|
# here and instead implemented in the session manager
|
||||||
|
# where it can save and load previous preferences.
|
||||||
|
api.acp.auto-profile = false
|
||||||
|
|
||||||
|
# Automatically switch to the highest priority available
|
||||||
|
# port. This is disabled here and implemented in the
|
||||||
|
# session manager instead.
|
||||||
|
api.acp.auto-port = false
|
||||||
|
|
||||||
|
# Other properties can be set here.
|
||||||
|
#device.nick = "My Device"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
matches = [
|
||||||
|
{
|
||||||
|
# Matches all sources. These are regular expressions
|
||||||
|
# so "." matches one character and ".*" matches many.
|
||||||
|
node.name = "~alsa_input.*"
|
||||||
|
}
|
||||||
|
{
|
||||||
|
# Matches all sinks.
|
||||||
|
node.name = "~alsa_output.*"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
actions = {
|
||||||
|
update-props = {
|
||||||
|
#node.nick = "My Node"
|
||||||
|
#node.nick = null
|
||||||
|
#priority.driver = 100
|
||||||
|
#priority.session = 100
|
||||||
|
node.pause-on-idle = false
|
||||||
|
#resample.quality = 4
|
||||||
|
#channelmix.normalize = false
|
||||||
|
#channelmix.mix-lfe = false
|
||||||
|
#audio.channels = 2
|
||||||
|
#audio.format = "S16LE"
|
||||||
|
#audio.rate = 44100
|
||||||
|
#audio.position = "FL,FR"
|
||||||
|
#session.suspend-timeout-seconds = 5 # 0 disables suspend
|
||||||
|
#monitor.channel-volumes = false
|
||||||
|
|
||||||
|
#latency.internal.rate = 0 # internal latency in samples
|
||||||
|
#latency.internal.ns = 0 # internal latency in nanoseconds
|
||||||
|
|
||||||
|
#api.alsa.period-size = 1024
|
||||||
|
api.alsa.headroom = 1024
|
||||||
|
#api.alsa.start-delay = 0
|
||||||
|
#api.alsa.disable-mmap = false
|
||||||
|
#api.alsa.disable-batch = false
|
||||||
|
#api.alsa.use-chmap = false
|
||||||
|
#iec958.codecs = [ PCM DTS AC3 MPEG MPEG2-AAC EAC3 TrueHD DTS-HD ]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
46
device/testing/firmware-samsung-a6lte/APKBUILD
Normal file
46
device/testing/firmware-samsung-a6lte/APKBUILD
Normal file
|
@ -0,0 +1,46 @@
|
||||||
|
pkgname=firmware-samsung-a6lte
|
||||||
|
pkgver=1
|
||||||
|
pkgrel=0
|
||||||
|
pkgdesc="Firmware files for Samsung Galaxy A6 (2018)"
|
||||||
|
url="https://github.com/fw-dumps/samsung_a6lte_dump"
|
||||||
|
arch="aarch64"
|
||||||
|
license="proprietary"
|
||||||
|
options="!strip !check !archcheck !spdx !tracedeps pmb:cross-native"
|
||||||
|
|
||||||
|
# Source
|
||||||
|
_commit="2ea1f7e1dfbe56d6ca085c9eb4061aca8909172c"
|
||||||
|
builddir="$srcdir/samsung_a6lte_dump-$_commit"
|
||||||
|
_raw_wifi_path="$url/raw/$_commit/vendor/etc/wifi"
|
||||||
|
_install_wifi_path="/lib/firmware/postmarketos/wifi/"
|
||||||
|
source="
|
||||||
|
bcmdhd_apsta.bin_c5::$_raw_wifi_path/bcmdhd_apsta.bin_c5
|
||||||
|
bcmdhd_apsta.bin_c5_blob::$_raw_wifi_path/bcmdhd_apsta.bin_c5_blob
|
||||||
|
bcmdhd_clm.blob::$_raw_wifi_path/bcmdhd_clm.blob
|
||||||
|
bcmdhd_mfg.bin_c5::$_raw_wifi_path/bcmdhd_mfg.bin_c5
|
||||||
|
bcmdhd_mfg.bin_c5_blob::$_raw_wifi_path/bcmdhd_mfg.bin_c5_blob
|
||||||
|
bcmdhd_sta.bin_c5::$_raw_wifi_path/bcmdhd_sta.bin_c5
|
||||||
|
bcmdhd_sta.bin_c5_blob::$_raw_wifi_path/bcmdhd_sta.bin_c5_blob
|
||||||
|
nvram.txt_c5::$_raw_wifi_path/nvram.txt_c5
|
||||||
|
"
|
||||||
|
|
||||||
|
package() {
|
||||||
|
install -Dm644 "$srcdir/bcmdhd_apsta.bin_c5" "$pkgdir$_install_wifi_path/bcmdhd_apsta.bin_c5"
|
||||||
|
install -Dm644 "$srcdir/bcmdhd_apsta.bin_c5_blob" "$pkgdir$_install_wifi_path/bcmdhd_apsta.bin_c5_blob"
|
||||||
|
install -Dm644 "$srcdir/bcmdhd_clm.blob" "$pkgdir$_install_wifi_path/bcmdhd_clm.blob"
|
||||||
|
install -Dm644 "$srcdir/bcmdhd_mfg.bin_c5" "$pkgdir$_install_wifi_path/bcmdhd_mfg.bin_c5"
|
||||||
|
install -Dm644 "$srcdir/bcmdhd_mfg.bin_c5_blob" "$pkgdir$_install_wifi_path/bcmdhd_mfg.bin_c5_blob"
|
||||||
|
install -Dm644 "$srcdir/bcmdhd_sta.bin_c5" "$pkgdir$_install_wifi_path/bcmdhd_sta.bin_c5"
|
||||||
|
install -Dm644 "$srcdir/bcmdhd_sta.bin_c5_blob" "$pkgdir$_install_wifi_path/bcmdhd_sta.bin_c5_blob"
|
||||||
|
install -Dm644 "$srcdir/nvram.txt_c5" "$pkgdir$_install_wifi_path/nvram.txt_c5"
|
||||||
|
}
|
||||||
|
|
||||||
|
sha512sums="
|
||||||
|
d808620a966fa657add0a3b0e687227fd4dbcd848bfbeb20a918c91408eda2977cfb74627253b943dc566372c7f96f84c9b2a76c3113ef1c6dd04ccf9a9124db bcmdhd_apsta.bin_c5
|
||||||
|
b19ddead63bffc82881b0df136df5ee05a561a3e2518f7626e9b8f954cd6e6a460e30a34a9248783d64af67b36e77b3938274efdc415de3fec17ed93683dff85 bcmdhd_apsta.bin_c5_blob
|
||||||
|
3bdde18b343c5af11b3074faf3462d6ff26486be9c3d6a6dc752293b97e26999ff4432831ad32d2d4359c07a4de24356cd33d3d68371926e9b7e66a6b4ea7fed bcmdhd_clm.blob
|
||||||
|
defd3545ed144c0e85a61778ad897a9777b9a8b585c5414b32fb7e1d56a8e69a858800074ab446de5066c96f859ed2e9c0c10e94aefb3472eec162f8f3bfb48a bcmdhd_mfg.bin_c5
|
||||||
|
e2735f953607ecf2c56f8b577134dcbca27fcc8e5dc9dfb898d58889cd05422f59f86d8e277229ddc2569404cd72f69f13d22163448bfba77e49d8b186789d3b bcmdhd_mfg.bin_c5_blob
|
||||||
|
85b2b960723963f1876ca6723dba87b145b3621c201f1a356ee53cb0dfb9413b9fa69455126b86d87444cbba6dd9ac470e782c2a7b678b2525f512996df451b2 bcmdhd_sta.bin_c5
|
||||||
|
15bd915443dab9efffd7c8a5f76101601765e83fd2945f43de56b0fb50bda1676d912a1d93bae531d7073379cf2f13289fb5d9f741694c4a0a2370f62a2a384b bcmdhd_sta.bin_c5_blob
|
||||||
|
b9e1e695cb01497400c0f0c3ccd0e7815a10258775bd89edda3ce89926cb1f9e4172b068553bce7120766ff673e265a9cbe54f94cca0f72496a04a216f4c9a0f nvram.txt_c5
|
||||||
|
"
|
79
device/testing/linux-samsung-a6lte/APKBUILD
Normal file
79
device/testing/linux-samsung-a6lte/APKBUILD
Normal file
|
@ -0,0 +1,79 @@
|
||||||
|
# Reference: <https://postmarketos.org/vendorkernel>
|
||||||
|
# Kernel config based on the stock Android one
|
||||||
|
|
||||||
|
pkgname=linux-samsung-a6lte
|
||||||
|
pkgver=3.18.140
|
||||||
|
pkgrel=0
|
||||||
|
pkgdesc="Samsung Galaxy A6 2018 kernel fork"
|
||||||
|
arch="aarch64"
|
||||||
|
_carch="arm64"
|
||||||
|
_flavor="samsung-a6lte"
|
||||||
|
url="https://kernel.org"
|
||||||
|
license="GPL-2.0-only"
|
||||||
|
options="!strip !check !tracedeps pmb:cross-native"
|
||||||
|
makedepends="
|
||||||
|
bash
|
||||||
|
bc
|
||||||
|
bison
|
||||||
|
devicepkg-dev
|
||||||
|
dtbtool-exynos
|
||||||
|
flex
|
||||||
|
gcc4
|
||||||
|
openssl-dev
|
||||||
|
perl
|
||||||
|
"
|
||||||
|
|
||||||
|
if [ "${CC:0:5}" != "gcc4-" ]; then
|
||||||
|
CC="gcc4-$CC"
|
||||||
|
HOSTCC="gcc4-gcc"
|
||||||
|
CROSS_COMPILE="gcc4-$CROSS_COMPILE"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Source
|
||||||
|
_repository="a6lte-kernel-source"
|
||||||
|
_commit="981969320c1cdc214cf8a1a357fab642f401a5d1"
|
||||||
|
_config="config-$_flavor.$arch"
|
||||||
|
source="
|
||||||
|
$pkgname-$_commit.tar.gz::https://github.com/sleirsgoevy/$_repository/archive/$_commit.tar.gz
|
||||||
|
$_config
|
||||||
|
gcc10-extern_YYLOC_global_declaration.patch
|
||||||
|
zram-zs-create-pool-null.patch
|
||||||
|
decon-fb-colors.patch
|
||||||
|
firmware-paths-fix.patch
|
||||||
|
"
|
||||||
|
builddir="$srcdir/$_repository-$_commit"
|
||||||
|
_outdir="."
|
||||||
|
|
||||||
|
prepare() {
|
||||||
|
export ANDROID_MAJOR_VERSION=q
|
||||||
|
default_prepare
|
||||||
|
. downstreamkernel_prepare
|
||||||
|
}
|
||||||
|
|
||||||
|
build() {
|
||||||
|
unset LDFLAGS
|
||||||
|
export ANDROID_MAJOR_VERSION=q
|
||||||
|
make ARCH="$_carch" CC="${CC:-gcc}" \
|
||||||
|
KBUILD_BUILD_VERSION="$((pkgrel + 1 ))-postmarketOS"
|
||||||
|
|
||||||
|
# Master DTB (deviceinfo_bootimg_qcdt)
|
||||||
|
dtbTool-exynos -o "$_outdir/arch/$_carch/boot"/dt.img \
|
||||||
|
$(find "$_outdir/arch/$_carch/boot/dts/" -name *a6lte*.dtb)
|
||||||
|
}
|
||||||
|
|
||||||
|
package() {
|
||||||
|
export ANDROID_MAJOR_VERSION=q
|
||||||
|
downstreamkernel_package "$builddir" "$pkgdir" "$_carch" \
|
||||||
|
"$_flavor" "$_outdir"
|
||||||
|
install -Dm644 "$_outdir/arch/$_carch/boot"/dt.img \
|
||||||
|
"$pkgdir"/boot/dt.img
|
||||||
|
}
|
||||||
|
|
||||||
|
sha512sums="
|
||||||
|
c2cc5190c480de4ac2d376827c5c56a542c6644d3dbeb47956d0b90c5570b246872ecedbf5655ac5564c9f61190d23567a4c496bb4235c46f6bd7a6d8addcc68 linux-samsung-a6lte-981969320c1cdc214cf8a1a357fab642f401a5d1.tar.gz
|
||||||
|
eca0d202cf04a7a03b6ff5e59ee29c83723fc14aabf63186143b28f1117628130f941aacc29f24d0b7c0cd9893c9a306605bedfe69588ff2e3864a2d410702ae config-samsung-a6lte.aarch64
|
||||||
|
2b48f1bf0e3f70703d2cdafc47d5e615cc7c56c70bec56b2e3297d3fa4a7a1321d649a8679614553dde8fe52ff1051dae38d5990e3744c9ca986d92187dcdbeb gcc10-extern_YYLOC_global_declaration.patch
|
||||||
|
3f65a690e48f913fcb980718fae4dc03c29a6dc86eecb1e2af644488ad415de326a61d840399fb69915cbc5d56d5586f2df2287b3e7323a2927ae73a3b1b1373 zram-zs-create-pool-null.patch
|
||||||
|
5bd204239a5daff9f990757178398707ae5ec64f823ed9ec72a8d50ebe6d5f0a3cc9743e0d775094da4b3a7566f1ccceb56f39f3b0234d08ca05e537d86271ec decon-fb-colors.patch
|
||||||
|
e1409844c46869ffe6ac9e028c3f38868120b6fd38dcf52ca7c1fdb98e90d2717d72ed52f7f41d3b4a18862a5b7210b6921c5c635d91cbb2a5772b55d5f1b4fb firmware-paths-fix.patch
|
||||||
|
"
|
4935
device/testing/linux-samsung-a6lte/config-samsung-a6lte.aarch64
Normal file
4935
device/testing/linux-samsung-a6lte/config-samsung-a6lte.aarch64
Normal file
File diff suppressed because it is too large
Load diff
13
device/testing/linux-samsung-a6lte/decon-fb-colors.patch
Normal file
13
device/testing/linux-samsung-a6lte/decon-fb-colors.patch
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
diff --git a/drivers/video/fbdev/exynos/decon_7870/decon-int_drv.c b/drivers/video/fbdev/exynos/decon_7870/decon-int_drv.c
|
||||||
|
index 15e7e22b..29f1dc49 100644
|
||||||
|
--- a/drivers/video/fbdev/exynos/decon_7870/decon-int_drv.c
|
||||||
|
+++ b/drivers/video/fbdev/exynos/decon_7870/decon-int_drv.c
|
||||||
|
@@ -335,7 +335,7 @@ static u32 wincon(u32 bits_per_pixel, u32 transp_length)
|
||||||
|
case 32:
|
||||||
|
if (transp_length > 0) {
|
||||||
|
data |= WINCON_BLD_PIX;
|
||||||
|
- data |= WINCON_BPPMODE_ABGR8888;
|
||||||
|
+ data |= WINCON_BPPMODE_ARGB8888;
|
||||||
|
} else {
|
||||||
|
data |= WINCON_BPPMODE_XRGB8888;
|
||||||
|
}
|
66
device/testing/linux-samsung-a6lte/firmware-paths-fix.patch
Normal file
66
device/testing/linux-samsung-a6lte/firmware-paths-fix.patch
Normal file
|
@ -0,0 +1,66 @@
|
||||||
|
diff --git a/drivers/net/wireless/bcmdhd_100_10/dhd.h b/drivers/net/wireless/bcmdhd_100_10/dhd.h
|
||||||
|
index df9f668a..cca9d769 100644
|
||||||
|
--- a/drivers/net/wireless/bcmdhd_100_10/dhd.h
|
||||||
|
+++ b/drivers/net/wireless/bcmdhd_100_10/dhd.h
|
||||||
|
@@ -376,7 +376,7 @@ enum dhd_op_flags {
|
||||||
|
#if defined(CUSTOMER_HW4) && defined(PLATFORM_SLP)
|
||||||
|
#define CONFIG_BCMDHD_CLM_PATH "/lib/firmware/bcmdhd_clm.blob"
|
||||||
|
#else
|
||||||
|
-#define CONFIG_BCMDHD_CLM_PATH "/etc/wifi/bcmdhd_clm.blob"
|
||||||
|
+#define CONFIG_BCMDHD_CLM_PATH "/lib/firmware/postmarketos/wifi/bcmdhd_clm.blob"
|
||||||
|
#endif /* CUSTOMER_HW4 && PLATFORM_SLP */
|
||||||
|
#endif /* CONFIG_BCMDHD_CLM_PATH */
|
||||||
|
#define WL_CCODE_NULL_COUNTRY "#n"
|
||||||
|
@@ -2362,7 +2362,7 @@ extern uint dhd_pktgen_len;
|
||||||
|
extern char fw_path2[MOD_PARAM_PATHLEN];
|
||||||
|
#endif // endif
|
||||||
|
|
||||||
|
-#if defined(ANDROID_PLATFORM_VERSION)
|
||||||
|
+#if 0 //defined(ANDROID_PLATFORM_VERSION)
|
||||||
|
#if (ANDROID_PLATFORM_VERSION < 7)
|
||||||
|
#define DHD_LEGACY_FILE_PATH
|
||||||
|
#define VENDOR_PATH "/system"
|
||||||
|
diff --git a/drivers/net/wireless/bcmdhd_100_15/dhd.h b/drivers/net/wireless/bcmdhd_100_15/dhd.h
|
||||||
|
index 6914a76c..e2af0596 100644
|
||||||
|
--- a/drivers/net/wireless/bcmdhd_100_15/dhd.h
|
||||||
|
+++ b/drivers/net/wireless/bcmdhd_100_15/dhd.h
|
||||||
|
@@ -401,7 +401,7 @@ enum dhd_op_flags {
|
||||||
|
#if defined(CUSTOMER_HW4) && defined(PLATFORM_SLP)
|
||||||
|
#define CONFIG_BCMDHD_CLM_PATH "/lib/firmware/bcmdhd_clm.blob"
|
||||||
|
#else
|
||||||
|
-#define CONFIG_BCMDHD_CLM_PATH "/etc/wifi/bcmdhd_clm.blob"
|
||||||
|
+#define CONFIG_BCMDHD_CLM_PATH "/lib/firmware/postmarketos/wifi/bcmdhd_clm.blob"
|
||||||
|
#endif /* CUSTOMER_HW4 && PLATFORM_SLP */
|
||||||
|
#endif /* CONFIG_BCMDHD_CLM_PATH */
|
||||||
|
#define WL_CCODE_NULL_COUNTRY "#n"
|
||||||
|
@@ -2559,7 +2559,7 @@ extern uint dhd_pktgen_len;
|
||||||
|
extern char fw_path2[MOD_PARAM_PATHLEN];
|
||||||
|
#endif // endif
|
||||||
|
|
||||||
|
-#if defined(ANDROID_PLATFORM_VERSION)
|
||||||
|
+#if 0 //defined(ANDROID_PLATFORM_VERSION)
|
||||||
|
#if (ANDROID_PLATFORM_VERSION < 7)
|
||||||
|
#define DHD_LEGACY_FILE_PATH
|
||||||
|
#define VENDOR_PATH "/system"
|
||||||
|
diff --git a/drivers/net/wireless/bcmdhd_1_77/dhd.h b/drivers/net/wireless/bcmdhd_1_77/dhd.h
|
||||||
|
index c3259173..bb634b0d 100755
|
||||||
|
--- a/drivers/net/wireless/bcmdhd_1_77/dhd.h
|
||||||
|
+++ b/drivers/net/wireless/bcmdhd_1_77/dhd.h
|
||||||
|
@@ -303,7 +303,7 @@ enum dhd_op_flags {
|
||||||
|
#if defined(CUSTOMER_HW4) && defined(PLATFORM_SLP)
|
||||||
|
#define CONFIG_BCMDHD_CLM_PATH "/lib/firmware/bcmdhd_clm.blob"
|
||||||
|
#else
|
||||||
|
-#define CONFIG_BCMDHD_CLM_PATH "/etc/wifi/bcmdhd_clm.blob"
|
||||||
|
+#define CONFIG_BCMDHD_CLM_PATH "/lib/firmware/postmarketos/wifi/bcmdhd_clm.blob"
|
||||||
|
#endif /* CUSTOMER_HW4 && PLATFORM_SLP */
|
||||||
|
#endif /* CONFIG_BCMDHD_CLM_PATH */
|
||||||
|
#define WL_CCODE_NULL_COUNTRY "#n"
|
||||||
|
@@ -2140,7 +2140,7 @@ extern uint dhd_pktgen_len;
|
||||||
|
extern char fw_path2[MOD_PARAM_PATHLEN];
|
||||||
|
#endif
|
||||||
|
|
||||||
|
-#if defined(ANDROID_PLATFORM_VERSION)
|
||||||
|
+#if 0 //defined(ANDROID_PLATFORM_VERSION)
|
||||||
|
#if (ANDROID_PLATFORM_VERSION < 7)
|
||||||
|
#define DHD_LEGACY_FILE_PATH
|
||||||
|
#define VENDOR_PATH "/system"
|
|
@ -0,0 +1 @@
|
||||||
|
../../.shared-patches/linux/gcc10-extern_YYLOC_global_declaration.patch
|
|
@ -0,0 +1,13 @@
|
||||||
|
diff --git a/drivers/block/zram/zram_drv.c b/drivers/block/zram/zram_drv.c
|
||||||
|
index 60d73ab2..595be443 100644
|
||||||
|
--- a/drivers/block/zram/zram_drv.c
|
||||||
|
+++ b/drivers/block/zram/zram_drv.c
|
||||||
|
@@ -380,7 +380,7 @@ static struct zram_meta *zram_meta_alloc(int device_id, u64 disksize)
|
||||||
|
}
|
||||||
|
|
||||||
|
snprintf(pool_name, sizeof(pool_name), "zram%d", device_id);
|
||||||
|
- meta->mem_pool = zs_create_pool(pool_name, GFP_NOIO | __GFP_HIGHMEM);
|
||||||
|
+ meta->mem_pool = zs_create_pool(pool_name, GFP_NOIO | __GFP_HIGHMEM, NULL);
|
||||||
|
if (!meta->mem_pool) {
|
||||||
|
pr_err("Error creating memory pool\n");
|
||||||
|
goto out_error;
|
Loading…
Reference in a new issue