diff --git a/device/testing/device-google-peach-pi/APKBUILD b/device/testing/device-google-peach-pi/APKBUILD new file mode 100644 index 0000000000000000000000000000000000000000..97adf16263e94ef368337d08640f3ad4efa5d72e --- /dev/null +++ b/device/testing/device-google-peach-pi/APKBUILD @@ -0,0 +1,116 @@ +# Reference: <https://postmarketos.org/devicepkg> +# Maintainer: Jenneron <jenneron@protonmail.com> +# Co-Maintainer: Iourine <iourine@iourine.msk.su> +pkgname=device-google-peach-pi +pkgdesc="Samsung Chromebook 2 (13.3 inch)" +pkgver=1 +pkgrel=0 +url="https://postmarketos.org" +license="MIT" +arch="armv7" +options="!check !archcheck" +depends=" + alsa-ucm-conf + mesa-dri-gallium + postmarketos-base + linux-postmarketos-exynos5 + u-boot-peach-pi +" +makedepends=" + devicepkg-dev + u-boot-tools +" +source=" + deviceinfo + i3wm/xorg.conf.d/90-tap-to-click.conf + modprobe.d/mali.conf + uboot-script.cmd + ucm/Peach-Pi-I2S-MA.conf + ucm/HiFi.conf + mpv/mpv.conf.wayland + mpv/mpv.conf.xorg + sway/tinydm/10-no-hardware-cursor.sh +" +subpackages=" + $pkgname-i3wm + $pkgname-mpv-wayland:mpv_wayland + $pkgname-mpv-xorg:mpv_xorg + $pkgname-nonfree-firmware:nonfree_firmware + $pkgname-sway +" + +build() { + devicepkg_build $startdir $pkgname + + mkimage \ + -A arm \ + -O linux \ + -T script \ + -C none \ + -a 0 \ + -e 0 \ + -n postmarketos \ + -d "$srcdir"/uboot-script.cmd \ + "$srcdir"/boot.scr +} + +package() { + devicepkg_package $startdir $pkgname + + # Block panfrost probe as it causes segfault in X11 + install -Dm644 "$srcdir"/mali.conf \ + "$pkgdir"/etc/modprobe.d/mali.conf + + # Alsa UCM configs + install -Dm644 "$srcdir"/Peach-Pi-I2S-MA.conf \ + "$pkgdir"/usr/share/alsa/ucm2/conf.d/Peach-Pi-I2S-MA/Peach-Pi-I2S-MA.conf + install -Dm644 "$srcdir"/HiFi.conf \ + "$pkgdir"/usr/share/alsa/ucm2/conf.d/Peach-Pi-I2S-MA/HiFi.conf + + # U-Boot script + install -Dm644 "$srcdir"/boot.scr \ + "$pkgdir"/boot/boot.scr +} + +i3wm() { + install_if="$pkgname=$pkgver-r$pkgrel postmarketos-ui-i3wm" + install -Dm644 "$srcdir"/90-tap-to-click.conf \ + "$subpkgdir"/etc/X11/xorg.conf.d/90-tap-to-click.conf +} + +mpv_wayland() { + # Looks like wayland libs are installed with some x11 UIs too, so match wlroots here + install_if="$pkgname=$pkgver-r$pkgrel mpv wlroots" + install -Dm644 "$srcdir"/mpv.conf.wayland \ + "$subpkgdir"/etc/mpv/mpv.conf +} + +mpv_xorg() { + install_if="$pkgname=$pkgver-r$pkgrel mpv xorg-server" + install -Dm644 "$srcdir"/mpv.conf.xorg \ + "$subpkgdir"/etc/mpv/mpv.conf +} + +nonfree_firmware() { + pkgdesc="WiFi/BT firmware" + depends="linux-firmware-mrvl" + mkdir "$subpkgdir" +} + +sway() { + install_if="$pkgname=$pkgver-r$pkgrel postmarketos-ui-sway" + install -Dm755 "$srcdir"/10-no-hardware-cursor.sh \ + "$subpkgdir"/etc/tinydm.d/env-wayland.d/10-no-hardware-cursor.sh +} + +sha512sums=" +b3384016cfa7359602b0674110c72f6759d350580cf30b111ac927f4df517bbafc4bdd77c9f338cf1aa7c567f8932302b2570cc207644fa2454a0d92d24edb20 deviceinfo +e53ca475830930ecfc1fd537702e850e2abcb66fbed521cb6c3a2918d762649254bd0244ec93a47b20dfc593ec3afc9bdebdec1759a7bc96dcbe4800f40893da 90-tap-to-click.conf +c5fdd5a39a41044343d937a1ad31cc6bb893f19a329beb4ce09249064cac066d643c84ffcbfcd794113c228c5a56e28c82812092751546b49ab31142dc8245b1 mali.conf +56737f856b252f6d657015ba6510c8e7fa71dc7e4897c10dabe6848ef263336789103a32f6d6189764c261af4e739f4444195c87e97075356f1dbd7f8a0de897 uboot-script.cmd +2ccec36a88003673471fcec7c0e408c24892e43701d88986c6a85a7882ac275565eb3abf566709306ddc16a62b4558ebceffbc289e7c95336ba28262719c6413 Peach-Pi-I2S-MA.conf +a95701b30c6b7535a60d0db932d018673a72346974cca86b9a1212fa8c66b1ad5fffaa0c6ac5fe5ead2c91a90375d5d24f74fd571300a21c53e4a2c16953c170 HiFi.conf +8f9dc3c7caeab6c5321dc2bf498f1a03a793f23cb776763316bc356b9d433d7a3337e61154069464dcda200bf390b99f3be8f657a40c6d2f6be3cbc6fb751080 mpv.conf.wayland +d6bc39df48ba0e985a796426039205335adf1c91b9c150b05a4239339fc78b1748b3a83c699de69e9a5829f29573a323f40788da58ed15b1951de1eab7e31c3d mpv.conf.xorg +78e566bf3a597b9b5f73f686feb93ae61d1bed350366428d74c7735f1f82ab390f47ba9deb9d21e8dfcee251dc6178956838ca1b34838bb0a7d740be0e2c8330 10-no-hardware-cursor.sh +" diff --git a/device/testing/device-google-peach-pi/deviceinfo b/device/testing/device-google-peach-pi/deviceinfo new file mode 100644 index 0000000000000000000000000000000000000000..a1961d1ede265e98febed14dc26b22fb377acc7c --- /dev/null +++ b/device/testing/device-google-peach-pi/deviceinfo @@ -0,0 +1,28 @@ +# 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 Chromebook 2 13.3\"" +deviceinfo_manufacturer="Samsung" +deviceinfo_codename="google-peach-pi" +deviceinfo_year="2014" +deviceinfo_dtb="exynos5800-peach-pi" +deviceinfo_modules_initfs="drm-dp-aux-bus panel-edp drm-kms-helper cros-ec-keyb sbs-battery tps65090-charger" +deviceinfo_arch="armv7" + +# Device related +deviceinfo_chassis="laptop" +deviceinfo_keyboard="true" +deviceinfo_external_storage="true" +deviceinfo_screen_width="1920" +deviceinfo_screen_height="1080" + +# DRM is available, so all UIs can work with software rendering +deviceinfo_gpu_accelerated="true" + +# Bootloader related +deviceinfo_flash_method="none" +deviceinfo_cgpt_kpart="/usr/share/u-boot/google-peach-pi/u-boot-dtb.img.kpart" +deviceinfo_cgpt_kpart_start="8192" +deviceinfo_cgpt_kpart_size="32768" diff --git a/device/testing/device-google-peach-pi/i3wm/xorg.conf.d/90-tap-to-click.conf b/device/testing/device-google-peach-pi/i3wm/xorg.conf.d/90-tap-to-click.conf new file mode 100644 index 0000000000000000000000000000000000000000..b068f5c5d3dd226358fd7285fe9dff6d1c0bd112 --- /dev/null +++ b/device/testing/device-google-peach-pi/i3wm/xorg.conf.d/90-tap-to-click.conf @@ -0,0 +1,6 @@ +Section "InputClass" + Identifier "touchpad" + MatchIsTouchpad "on" + Driver "libinput" + Option "Tapping" "on" +EndSection diff --git a/device/testing/device-google-peach-pi/modprobe.d/mali.conf b/device/testing/device-google-peach-pi/modprobe.d/mali.conf new file mode 100644 index 0000000000000000000000000000000000000000..c12c7fa012d4b95e5224e41c4252c19c379a0ded --- /dev/null +++ b/device/testing/device-google-peach-pi/modprobe.d/mali.conf @@ -0,0 +1 @@ +blacklist panfrost diff --git a/device/testing/device-google-peach-pi/mpv/mpv.conf.wayland b/device/testing/device-google-peach-pi/mpv/mpv.conf.wayland new file mode 100644 index 0000000000000000000000000000000000000000..554066f60d4735e32b774f2018326fa50aa2c86f --- /dev/null +++ b/device/testing/device-google-peach-pi/mpv/mpv.conf.wayland @@ -0,0 +1,3 @@ +vo=wlshm +profile=sw-fast +ytdl-format="bestvideo[height<=?720]+bestaudio/best" diff --git a/device/testing/device-google-peach-pi/mpv/mpv.conf.xorg b/device/testing/device-google-peach-pi/mpv/mpv.conf.xorg new file mode 100644 index 0000000000000000000000000000000000000000..3a7296eaee7c2af57ed72adc90f4406696186517 --- /dev/null +++ b/device/testing/device-google-peach-pi/mpv/mpv.conf.xorg @@ -0,0 +1,3 @@ +vo=x11 +profile=sw-fast +ytdl-format="bestvideo[height<=?720]+bestaudio/best" diff --git a/device/testing/device-google-peach-pi/sway/tinydm/10-no-hardware-cursor.sh b/device/testing/device-google-peach-pi/sway/tinydm/10-no-hardware-cursor.sh new file mode 100644 index 0000000000000000000000000000000000000000..4e5253eca3c65b0e2ac0e258fb6e82f942779d42 --- /dev/null +++ b/device/testing/device-google-peach-pi/sway/tinydm/10-no-hardware-cursor.sh @@ -0,0 +1,5 @@ +#!/bin/bash + +# A workaround for missing cursor issue + +export WLR_NO_HARDWARE_CURSORS=1 diff --git a/device/testing/device-google-peach-pi/uboot-script.cmd b/device/testing/device-google-peach-pi/uboot-script.cmd new file mode 100644 index 0000000000000000000000000000000000000000..ca62f296edfa21c0b3050c597b756ae799674eaf --- /dev/null +++ b/device/testing/device-google-peach-pi/uboot-script.cmd @@ -0,0 +1,27 @@ +if test ${devnum} -eq 2 ; then + echo "Booting from SD"; + setenv pmos_boot_dev 1; +else + echo "Booting from eMMC"; + setenv pmos_boot_dev 0; +fi; + +setenv bootargs console=null mem=3523M pmos_boot=/dev/mmcblk${pmos_boot_dev}p2 pmos_root=/dev/mmcblk${pmos_boot_dev}p3 + +echo Loading DTB +load mmc ${devnum}:2 ${fdt_addr_r} exynos5800-peach-pi.dtb + +echo Loading Initramfs +load mmc ${devnum}:2 ${ramdisk_addr_r} initramfs +setenv ramdisk_size ${filesize} + +echo Loading Kernel +load mmc ${devnum}:2 ${kernel_addr_r} vmlinuz + +echo Resizing FDT +fdt addr ${fdt_addr_r} +fdt resize + +echo Booting Kernel +bootz ${kernel_addr_r} ${ramdisk_addr_r}:${ramdisk_size} ${fdt_addr_r} + diff --git a/device/testing/device-google-peach-pi/ucm/HiFi.conf b/device/testing/device-google-peach-pi/ucm/HiFi.conf new file mode 100644 index 0000000000000000000000000000000000000000..58becbadffa86061bc54c8381aca35a5a7b49a9c --- /dev/null +++ b/device/testing/device-google-peach-pi/ucm/HiFi.conf @@ -0,0 +1,139 @@ +SectionVerb { + Value { + OutputDspName "speaker_eq" + } + + EnableSequence [ + cdev "hw:PeachPiI2SMAX98" + + cset "name='Left Speaker Mixer Left DAC Switch' on" + cset "name='Right Speaker Mixer Right DAC Switch' on" + + cset "name='Digital EQ 3 Band Switch' off" + cset "name='Digital EQ 5 Band Switch' off" + cset "name='Digital EQ 7 Band Switch' off" + cset "name='Biquad Switch' off" + cset "name='Filter Mode' Music" + cset "name='ADC Oversampling Rate' 0" + + cset "name='MIC2 Mux' IN34" + cset "name='DMIC Mux' DMIC" + cset "name='Left ADC Mixer MIC2 Switch' on" + cset "name='Right ADC Mixer MIC2 Switch' on" + + cset "name='ADCR Boost Volume' 4" + cset "name='ADCL Boost Volume' 4" + cset "name='ADCR Volume' 11" + cset "name='ADCL Volume' 11" + + cset "name='Speaker Left Mixer Volume' 2" + cset "name='Speaker Right Mixer Volume' 2" + cset "name='Record Path DC Blocking' on" + cset "name='Playback Path DC Blocking' on" + + cset "name='Speaker Left Switch' off" + cset "name='Speaker Right Switch' off" + + cset "name='Headphone Left Switch' off" + cset "name='Headphone Right Switch' off" + ] + + DisableSequence [ + ] +} + +SectionDevice."Speakers" { + Comment "Speakers" + + ConflictingDevice [ + "Headphones" + ] + + EnableSequence [ + cset "name='Speaker Left Switch' on" + cset "name='Speaker Right Switch' on" + ] + + DisableSequence [ + cset "name='Speaker Left Switch' off" + cset "name='Speaker Right Switch' off" + ] + + Value { + PlaybackPCM "hw:${CardId}" + PlaybackChannels 2 + PlaybackVolume "Speaker Volume" + } +} + +SectionDevice."Headphones" { + Comment "Headphones" + + ConflictingDevice [ + "Speakers" + ] + + EnableSequence [ + cset "name='Headphone Left Switch' on" + cset "name='Headphone Right Switch' on" + ] + + DisableSequence [ + cset "name='Headphone Left Switch' off" + cset "name='Headphone Right Switch' off" + ] + + Value { + JackControl "Headphone Jack" + PlaybackPCM "hw:${CardId}" + PlaybackChannels 2 + PlaybackVolume "Headphone Volume" + } +} + +SectionDevice."InternalMicrophone" { + Comment "Internal Microphone" + + ConflictingDevice [ + "HeadsetMicrophone" + ] + + EnableSequence [ + cset "name='DMIC Mux' DMIC" + ] + + DisableSequence [ + cset "name='DMIC Mux' ADC" + ] + + Value { + CapturePCM "hw:${CardId}" + CaptureChannels 2 + CaptureVolume "MIC2 Volume" + DefaultNodeGain "-500" + } +} + +SectionDevice."HeadsetMicrophone" { + Comment "Headset Microphone" + + ConflictingDevice [ + "InternalMicrophone" + ] + + EnableSequence [ + cset "name='DMIC Mux' ADC" + ] + + DisableSequence [ + cset "name='DMIC Mux' DMIC" + ] + + Value { + JackControl "Mic Jack" + CapturePCM "hw:${CardId}" + CaptureChannels 2 + CaptureVolume "MIC2 Volume" + DefaultNodeGain "-500" + } +} diff --git a/device/testing/device-google-peach-pi/ucm/Peach-Pi-I2S-MA.conf b/device/testing/device-google-peach-pi/ucm/Peach-Pi-I2S-MA.conf new file mode 100644 index 0000000000000000000000000000000000000000..919c94691f4a23825e02d46ddc786e72753e7207 --- /dev/null +++ b/device/testing/device-google-peach-pi/ucm/Peach-Pi-I2S-MA.conf @@ -0,0 +1,8 @@ +Syntax 2 + +Comment "Google Peach Pi internal card (Maxim 98091)" + +SectionUseCase."HiFi" { + File "HiFi.conf" + Comment "Default" +} diff --git a/device/testing/linux-postmarketos-exynos5/0028-ARM-dts-exynos-peach-pi-add-mmc-aliases.patch b/device/testing/linux-postmarketos-exynos5/0028-ARM-dts-exynos-peach-pi-add-mmc-aliases.patch new file mode 100644 index 0000000000000000000000000000000000000000..3be4ce9bec7c507a9c50ea436260ca4bc8ceb03b --- /dev/null +++ b/device/testing/linux-postmarketos-exynos5/0028-ARM-dts-exynos-peach-pi-add-mmc-aliases.patch @@ -0,0 +1,32 @@ +From 12f600476e2525f5d86aedfcb9b5535fb2c6e58a Mon Sep 17 00:00:00 2001 +From: Anton Bambura <jenneron@protonmail.com> +Date: Mon, 14 Mar 2022 21:44:47 +0200 +Subject: [PATCH 1/4] ARM: dts: exynos: peach-pi: add mmc aliases + +Add aliases for eMMC, SD card and WiFi, so nubmers will not be +changed anymore. + +Signed-off-by: Anton Bambura <jenneron@protonmail.com> +Tested-by: Valentine Iourine <iourine@iourine.msk.su> +--- + arch/arm/boot/dts/exynos5800-peach-pi.dts | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/arch/arm/boot/dts/exynos5800-peach-pi.dts b/arch/arm/boot/dts/exynos5800-peach-pi.dts +index 77013ee58..aa1d14af4 100644 +--- a/arch/arm/boot/dts/exynos5800-peach-pi.dts ++++ b/arch/arm/boot/dts/exynos5800-peach-pi.dts +@@ -29,6 +29,10 @@ / { + aliases { + /* Assign 20 so we don't get confused w/ builtin ones */ + i2c20 = &i2c_tunnel; ++ ++ mmc0 = &mmc_0; /* eMMC */ ++ mmc1 = &mmc_2; /* SD */ ++ mmc2 = &mmc_1; /* WiFi */ + }; + + backlight: backlight { +-- +2.25.1 + diff --git a/device/testing/linux-postmarketos-exynos5/0029-ARM-dts-exynos-peach-pi-use-num-interpolated-steps-f.patch b/device/testing/linux-postmarketos-exynos5/0029-ARM-dts-exynos-peach-pi-use-num-interpolated-steps-f.patch new file mode 100644 index 0000000000000000000000000000000000000000..859b8b8912a24bd2655dd8c6609a64ec25c935fe --- /dev/null +++ b/device/testing/linux-postmarketos-exynos5/0029-ARM-dts-exynos-peach-pi-use-num-interpolated-steps-f.patch @@ -0,0 +1,34 @@ +From b82eac19457a7910ac2e955b72e90b41dff6079a Mon Sep 17 00:00:00 2001 +From: Anton Bambura <jenneron@protonmail.com> +Date: Mon, 14 Mar 2022 21:46:55 +0200 +Subject: [PATCH 2/4] ARM: dts: exynos: peach-pi: use num-interpolated-steps + for backlight + +Use num-interpolated-steps in backlight node to get more +brightness levels. + +Signed-off-by: Anton Bambura <jenneron@protonmail.com> +Tested-by: Valentine Iourine <iourine@iourine.msk.su> +--- + arch/arm/boot/dts/exynos5800-peach-pi.dts | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/arch/arm/boot/dts/exynos5800-peach-pi.dts b/arch/arm/boot/dts/exynos5800-peach-pi.dts +index aa1d14af4..f8adbd9ad 100644 +--- a/arch/arm/boot/dts/exynos5800-peach-pi.dts ++++ b/arch/arm/boot/dts/exynos5800-peach-pi.dts +@@ -38,8 +38,9 @@ aliases { + backlight: backlight { + compatible = "pwm-backlight"; + pwms = <&pwm 0 1000000 0>; +- brightness-levels = <0 100 500 1000 1500 2000 2500 2800>; +- default-brightness-level = <7>; ++ brightness-levels = <1 255>; ++ num-interpolated-steps = <254>; ++ default-brightness-level = <254>; + enable-gpios = <&gpx2 2 GPIO_ACTIVE_HIGH>; + power-supply = <&tps65090_fet1>; + pinctrl-0 = <&pwm0_out>; +-- +2.25.1 + diff --git a/device/testing/linux-postmarketos-exynos5/0030-HACK-ARM-dts-exynos-peach-pi-disable-HDMI-audio.patch b/device/testing/linux-postmarketos-exynos5/0030-HACK-ARM-dts-exynos-peach-pi-disable-HDMI-audio.patch new file mode 100644 index 0000000000000000000000000000000000000000..f1675bd5bf44796629ede4a05406c7734d1f0554 --- /dev/null +++ b/device/testing/linux-postmarketos-exynos5/0030-HACK-ARM-dts-exynos-peach-pi-disable-HDMI-audio.patch @@ -0,0 +1,32 @@ +From 430c6d2499e7f2450c807ad197a3d6452b0188e6 Mon Sep 17 00:00:00 2001 +From: Anton Bambura <jenneron@protonmail.com> +Date: Mon, 14 Mar 2022 21:49:18 +0200 +Subject: [PATCH 3/4] HACK: ARM: dts: exynos: peach-pi: disable HDMI audio + +When enabling Internal Microphone, HDMI codec results in: +[ 730.054945] hdmi-audio-codec hdmi-audio-codec.14.auto: Only one simultaneous stream supported! +[ 730.054961] hdmi-audio-codec hdmi-audio-codec.14.auto: ASoC: error at snd_soc_dai_startup on i2s-hifi: -22 +[ 730.054978] Primary: soc_pcm_open() failed (-22) + +Signed-off-by: Anton Bambura <jenneron@protonmail.com> +Tested-by: Valentine Iourine <iourine@iourine.msk.su> +--- + arch/arm/boot/dts/exynos5800-peach-pi.dts | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/arch/arm/boot/dts/exynos5800-peach-pi.dts b/arch/arm/boot/dts/exynos5800-peach-pi.dts +index f8adbd9ad..e80e77a58 100644 +--- a/arch/arm/boot/dts/exynos5800-peach-pi.dts ++++ b/arch/arm/boot/dts/exynos5800-peach-pi.dts +@@ -99,7 +99,7 @@ cpu { + }; + + codec { +- sound-dai = <&max98091>, <&hdmi>; ++ sound-dai = <&max98091>; + }; + }; + +-- +2.25.1 + diff --git a/device/testing/linux-postmarketos-exynos5/0031-ARM-dts-exynos-peach-pi-add-jack-detection.patch b/device/testing/linux-postmarketos-exynos5/0031-ARM-dts-exynos-peach-pi-add-jack-detection.patch new file mode 100644 index 0000000000000000000000000000000000000000..dd348d568c3aa30c6d131497993cd61377bae79d --- /dev/null +++ b/device/testing/linux-postmarketos-exynos5/0031-ARM-dts-exynos-peach-pi-add-jack-detection.patch @@ -0,0 +1,53 @@ +From 3248217c4d80e4c851e60aca6176a2e6600dce45 Mon Sep 17 00:00:00 2001 +From: Anton Bambura <jenneron@protonmail.com> +Date: Mon, 14 Mar 2022 21:57:44 +0200 +Subject: [PATCH 4/4] ARM: dts: exynos: peach-pi: add jack detection + +Add GPIOs for headphones and microphone detection. + +Signed-off-by: Anton Bambura <jenneron@protonmail.com> +Tested-by: Valentine Iourine <iourine@iourine.msk.su> +--- + arch/arm/boot/dts/exynos5800-peach-pi.dts | 19 +++++++++++++++++++ + 1 file changed, 19 insertions(+) + +diff --git a/arch/arm/boot/dts/exynos5800-peach-pi.dts b/arch/arm/boot/dts/exynos5800-peach-pi.dts +index e80e77a58..bedfaeff0 100644 +--- a/arch/arm/boot/dts/exynos5800-peach-pi.dts ++++ b/arch/arm/boot/dts/exynos5800-peach-pi.dts +@@ -93,6 +93,11 @@ sound { + samsung,model = "Peach-Pi-I2S-MAX98091"; + samsung,i2s-controller = <&i2s0>; + samsung,audio-codec = <&max98091>; ++ samsung,hp-det-gpios = <&gpx2 1 GPIO_ACTIVE_HIGH>; ++ samsung,mic-det-gpios = <&gpx1 7 GPIO_ACTIVE_LOW>; ++ ++ pinctrl-names = "default"; ++ pinctrl-0 = <&hp_det_gpio &mic_det_gpio>; + + cpu { + sound-dai = <&i2s0 0>; +@@ -812,6 +817,20 @@ ec_irq: ec-irq { + samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>; + }; + ++ mic_det_gpio: mic-det-gpio { ++ samsung,pins = "gpx1-7"; ++ samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>; ++ samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; ++ samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>; ++ }; ++ ++ hp_det_gpio: hp-det-gpio { ++ samsung,pins = "gpx2-1"; ++ samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>; ++ samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; ++ samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>; ++ }; ++ + tps65090_irq: tps65090-irq { + samsung,pins = "gpx2-5"; + samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>; +-- +2.25.1 + diff --git a/device/testing/linux-postmarketos-exynos5/APKBUILD b/device/testing/linux-postmarketos-exynos5/APKBUILD index 56e6237205d68c3a6733f78bcb978fe8903e86e8..b843609e38acb164d6a162f352404ca9389016ef 100644 --- a/device/testing/linux-postmarketos-exynos5/APKBUILD +++ b/device/testing/linux-postmarketos-exynos5/APKBUILD @@ -4,7 +4,7 @@ pkgname=linux-postmarketos-exynos5 pkgver=5.16.1 -pkgrel=1 +pkgrel=2 pkgdesc="Mainline kernel fork for Samsung Exynos5 devices" arch="armv7" _carch="arm" @@ -65,6 +65,10 @@ source=" 0025-WIP-ASoC-samsung-snow-add-jack-detection-support.patch 0026-ARM-dts-exynos-snow-add-jack-detection.patch 0027-ARM-dts-exynos-peach-pit-add-jack-detection.patch + 0028-ARM-dts-exynos-peach-pi-add-mmc-aliases.patch + 0029-ARM-dts-exynos-peach-pi-use-num-interpolated-steps-f.patch + 0030-HACK-ARM-dts-exynos-peach-pi-disable-HDMI-audio.patch + 0031-ARM-dts-exynos-peach-pi-add-jack-detection.patch " builddir="$srcdir/linux-${_kernver//_/-}" @@ -123,4 +127,8 @@ b8d81a436984e8ac820a78c24d800485f845a58c6d3d291a89656b78c00ff4f123006adf0dc66c08 7e4de24b46abd9b54297592090e8e0f3559563ff48dfa764f937b63982ed338596b891e0a4a546fe8fae5e06992ac62f15b394b52a16d58280d341f0b7ddc5d8 0025-WIP-ASoC-samsung-snow-add-jack-detection-support.patch cd6eca38325363eb3dae5adb973624288dce5c6e4c90b14203090fdaec1aa0721384f9bfa7eb5051f5efdc988999ed0acfee23b1d11e5cd91d90a5c227ca5c71 0026-ARM-dts-exynos-snow-add-jack-detection.patch 8dc11bdb132846bbf59ddd5e2a6e02b3910db5b8cfc58dc4715121afd321427d087537d0640e6ecbd70c36bd4977756e17f0b14b83a480d48622e26a35132d0c 0027-ARM-dts-exynos-peach-pit-add-jack-detection.patch +a3a6cfec604951daab4017a222db9b873805ce94517a1e5a599a091b9d5832ec1948a113bbd655cac6b1a4280aaf13dc0901ccce770b38cc28775a5b886110d4 0028-ARM-dts-exynos-peach-pi-add-mmc-aliases.patch +1d29e33d5f3fc192822bb5bf43e8102963ed316c3846f6681e7698ccb85c65a6e8461bd246f61604d1f794c56171ee206b62ab0fea1b5e7c6dd0fbf49d6fb77a 0029-ARM-dts-exynos-peach-pi-use-num-interpolated-steps-f.patch +5e0bc7073adcd5b89e2475cb9387f994bea335eb89a255090890a8b85612085d317779b551044c6cfc5bf6779e624ce01e0d1074f2126a6bcff0570f6916a782 0030-HACK-ARM-dts-exynos-peach-pi-disable-HDMI-audio.patch +75223ced245df537b6a0356641956e3eec79fafc48ebad961d8188e23dc730d1ccf534442630804361d26560c7f58da950c38ce04292fe72fd5329c6a858a4bd 0031-ARM-dts-exynos-peach-pi-add-jack-detection.patch " diff --git a/temp/u-boot-peach-pi/APKBUILD b/temp/u-boot-peach-pi/APKBUILD new file mode 100644 index 0000000000000000000000000000000000000000..f09372dfc10e458320950580d050a7c40bb8e1c3 --- /dev/null +++ b/temp/u-boot-peach-pi/APKBUILD @@ -0,0 +1,52 @@ +# Maintainer: Jenneron <jenneron@protonmail.com> +# Co-Maintainer: Iourine <iourine@iourine.msk.su> +pkgname=u-boot-peach-pi +pkgver=2022.01 +pkgrel=0 +pkgdesc="u-boot for Google Peach Pi chromebook" +url="https://www.denx.de/wiki/U-Boot/" +arch="armv7" +license="GPL-2.0-or-later OFL-1.1 BSD-2-Clause BSD-3-Clause eCos-2.0 IBM-pibs + ISC LGPL-2.0-only LGPL-2.1-only X11" +options="!check" # no tests in upstream +makedepends="$depends_dev bc dtc python3-dev swig bison flex openssl-dev + py3-setuptools linux-headers u-boot-tools vboot-utils" +source=" + https://ftp.denx.de/pub/u-boot/u-boot-${pkgver//_/-}.tar.bz2 + cve-2017-5715.patch +" +builddir="$srcdir"/u-boot-${pkgver//_/-} + +prepare() { + default_prepare +} + +build() { + make peach-pi_defconfig + make + + mkimage -A arm -O linux -T kernel -C none -e 0x23E00000 -a 0x23E00000 -d u-boot-dtb.bin u-boot-dtb.img + + echo -e "\n" > dummy_config + echo -e "\n" > dummy_bootloader + + vbutil_kernel \ + --pack u-boot-dtb.img.kpart \ + --keyblock /usr/share/vboot/devkeys/kernel.keyblock \ + --signprivate /usr/share/vboot/devkeys/kernel_data_key.vbprivk \ + --version 1 \ + --arch arm \ + --config dummy_config \ + --bootloader dummy_bootloader \ + --vmlinuz u-boot-dtb.img +} + +package() { + install -D -m644 "$builddir"/u-boot-dtb.img.kpart \ + "$pkgdir"/usr/share/u-boot/google-peach-pi/u-boot-dtb.img.kpart +} + +sha512sums=" +d83c62bd8f0f51664d2aca329a3ce1379cfd1dfff439dccd6cfc2cb33cfef89a2b01855c97716f591b5550bfdf99e2f3aef7efa33f2e7834c820648f9eef3825 u-boot-2022.01.tar.bz2 +915a984250e28c7add109f23a33062b66efdb51cd1ba993f789322d6d341cdb30c6f8418cd920e5bb19301a7243699e35ce5662993f41ab2f2575a9fef988515 cve-2017-5715.patch +" diff --git a/temp/u-boot-peach-pi/cve-2017-5715.patch b/temp/u-boot-peach-pi/cve-2017-5715.patch new file mode 100644 index 0000000000000000000000000000000000000000..2dbebcbfec727d560cf6e35efba26a46783bcc78 --- /dev/null +++ b/temp/u-boot-peach-pi/cve-2017-5715.patch @@ -0,0 +1,11 @@ +From: jenneron <jenneron@protonmail.com> + +diff --git a/configs/peach-pi_defconfig b/configs/peach-pi_defconfig +index 4259f1416e..9e1d23a8ce 100644 +--- a/configs/peach-pi_defconfig ++++ b/configs/peach-pi_defconfig +@@ -83,3 +83,4 @@ CONFIG_VIDEO_BRIDGE_PARADE_PS862X=y + CONFIG_LCD=y + CONFIG_TPM=y + CONFIG_ERRNO_STR=y ++CONFIG_ARM_CORTEX_A15_CVE_2017_5715=y