xiaomi-latte: new device (Xiaomi Mi Pad 2)
The kernel version has been updated to mainline 6.16.0 and successfully compiled and tested. Due to the device's specific requirements, it enforces the use of Secure Boot. Disabling Secure Boot will reset it back to enabled after several reboots or DNX Fastboot sessions. I had to resort to using shim and a self-signed certificate. https://wiki.postmarketos.org/wiki/Xiaomi_Pad_2_(xiaomi-latte) Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7286>
This commit is contained in:
parent
19de3b02bf
commit
416017bd34
14 changed files with 4033 additions and 0 deletions
94
device/testing/device-xiaomi-latte/APKBUILD
Normal file
94
device/testing/device-xiaomi-latte/APKBUILD
Normal file
|
|
@ -0,0 +1,94 @@
|
|||
# Reference: <https://postmarketos.org/devicepkg>
|
||||
# bootx64.efi is shimx64.efi from fedora
|
||||
|
||||
pkgname=device-xiaomi-latte
|
||||
pkgdesc="XiaoMi Pad2"
|
||||
pkgver=1
|
||||
pkgrel=0
|
||||
url="https://github.com/Qs315490/linux_latte"
|
||||
license="MIT"
|
||||
arch="x86_64"
|
||||
options="!check !archcheck"
|
||||
depends="
|
||||
linux-xiaomi-latte
|
||||
linux-firmware-brcm
|
||||
oem-intel
|
||||
postmarketos-base
|
||||
zstd
|
||||
btrfs-progs
|
||||
irqbalance
|
||||
udisks2
|
||||
"
|
||||
makedepends="devicepkg-dev rpm2cpio"
|
||||
|
||||
_fedora_packages_url="https://dl.fedoraproject.org/pub/fedora/linux/releases/43/Everything/x86_64/os/Packages"
|
||||
source="
|
||||
deviceinfo
|
||||
modules-initfs
|
||||
alsa-ucm-conf/cht-bsw-rt5659.conf
|
||||
alsa-ucm-conf/HiFi.conf
|
||||
keyboard.hwdb
|
||||
BCM4356A2.hcd::https://github.com/Qs315490/linux_latte/raw/refs/heads/main/fix_file/BCM4356A2.hcd
|
||||
MOK.cer
|
||||
shim-x64.x86_64.rpm::$_fedora_packages_url/s/shim-x64-15.8-3.x86_64.rpm
|
||||
grub2-efi-x64.x86_64.rpm::$_fedora_packages_url/g/grub2-efi-x64-2.12-40.fc43.x86_64.rpm
|
||||
grub.cfg
|
||||
"
|
||||
|
||||
unpack() {
|
||||
rpm2cpio "$SRCDEST/shim-x64.x86_64.rpm" | cpio -id
|
||||
rpm2cpio "$SRCDEST/grub2-efi-x64.x86_64.rpm" | cpio -id
|
||||
}
|
||||
|
||||
build() {
|
||||
devicepkg_build $startdir $pkgname
|
||||
}
|
||||
|
||||
package() {
|
||||
devicepkg_package $startdir $pkgname
|
||||
|
||||
# If you change the all 'm' setting to 'y' in the kconfig, you need to uncomment this line.
|
||||
# echo "/lib/firmware" >> "$pkgdir/usr/share/mkinitfs/files/00-$pkgname-modules.files"
|
||||
|
||||
# Firmware for Xiaomi Mi Pad 2
|
||||
install -Dm755 "$SRCDEST/BCM4356A2.hcd" \
|
||||
"$pkgdir/lib/firmware/brcm/BCM4356A2.hcd"
|
||||
|
||||
# ALSA Use Case Manager configuration for Xiaomi Mi Pad 2
|
||||
install -Dm755 "alsa-ucm-conf/cht-bsw-rt5659.conf" \
|
||||
"$pkgdir/usr/share/alsa/ucm2/Intel/cht-bsw-rt5659/cht-bsw-rt5659.conf"
|
||||
install -Dm755 "alsa-ucm-conf/HiFi.conf" \
|
||||
"$pkgdir/usr/share/alsa/ucm2/Intel/cht-bsw-rt5659/HiFi.conf"
|
||||
install -dm755 "$pkgdir/usr/share/alsa/ucm2/conf.d/cht-bsw-rt5659"
|
||||
ln -sf ../../Intel/cht-bsw-rt5659/cht-bsw-rt5659.conf \
|
||||
"$pkgdir/usr/share/alsa/ucm2/conf.d/cht-bsw-rt5659/cht-bsw-rt5659.conf"
|
||||
|
||||
# on Screen Touch Keyboard configuration for Xiaomi Mi Pad 2
|
||||
install -Dm755 "keyboard.hwdb" \
|
||||
"$pkgdir/usr/lib/udev/hwdb.d/61-keyboard.hwdb"
|
||||
|
||||
# Shim Secure Boot loader
|
||||
install -Dm755 "boot/efi/EFI/fedora/shimx64.efi" "$pkgdir/boot/efi/boot/bootx64.efi"
|
||||
install -Dm755 "boot/efi/EFI/fedora/mmx64.efi" "$pkgdir/boot/efi/boot/mmx64.efi"
|
||||
|
||||
# GRUB Secure Boot loader
|
||||
install -Dm755 "boot/efi/EFI/fedora/grubx64.efi" "$pkgdir/boot/efi/boot/grubx64.efi"
|
||||
install -Dm755 "grub.cfg" "$pkgdir/boot/efi/boot/grub.cfg"
|
||||
|
||||
|
||||
# Secure Boot certificate
|
||||
install -Dm755 "MOK.cer" "$pkgdir/boot/MOK.cer"
|
||||
}
|
||||
|
||||
sha512sums="
|
||||
1e4b27713503a4e9425a43d5efc414fdf802c55d8ce1b444e89adacb91de092b6a33b6aab7915d8728f9431499a2768263c4a920e6a35500a282d41123bcfa39 deviceinfo
|
||||
b6079f37aa1beea10f522f8bf94ad6040a0253393fb40b9ee09bb2a76b7f3eea9a424f3ec9f60206edeff8f24a38b0f0159b371c4cc28b7db738f475c4488576 modules-initfs
|
||||
e8bf62d308049427a438e411f499cf554016170f91225ef7a5b7b02ab3b296fd3f603187b0a9e0cbed89ba80081a754a52e5af1333fa1d28ed296c513569b7ac cht-bsw-rt5659.conf
|
||||
265b86a9f0fc377d1bf800be59a96704f8263b7b614df12d7f26fc8b9105c35060ac661d059a1348cbc2b0788ca8131c14aad3ab5038c0d7253d0daf7e0d75a2 HiFi.conf
|
||||
9d0e4e17090739a11b9ddd336455343567d49665a5222b3fcfe4b8b73da7233ff13a5ca8aded44fc38345c0c8c4938dcd6b96528165fe8d47b30036dedf0ce7c keyboard.hwdb
|
||||
fa34874f938d7532d80ee3395d93f1c957260c08f77671074266e3c3c3ca7190b8200668af96b0861ed5b961522d5088921cd3d4af236d287945a7527f75f916 BCM4356A2.hcd
|
||||
5fdeb5fc0c7fdc61d1a948abc69168966c2c7893a18f54e7583a564555b4a8a360fc24999580d9498ba55d7db63493468c3f4f4690a0f40a7105bb408da6d305 MOK.cer
|
||||
fa1b522380c81254fd4f356e411ad6b29b82307fc3d9da94f79fc12197a01c542f0646d90540427af786bb97a1baee74afd7c7d85245ad7b66a143571c9456f3 shim-x64.x86_64.rpm
|
||||
f6de8a85db78db54065442356ffff07a4898c0d4397e24415f6fba2f937375a271d3134b8acb5f6295abdde3ec90c32e10d0552abcca6687240513303a06bdc8 grub2-efi-x64.x86_64.rpm
|
||||
1d0c3bdf590ec870d026237697c7094098c526cf26eb465786e36490d591e0e05a62c3869fe8a14beec0511c57f0dad4fcde6cbcaa385a3461a0e7cadd26e097 grub.cfg
|
||||
"
|
||||
BIN
device/testing/device-xiaomi-latte/MOK.cer
Normal file
BIN
device/testing/device-xiaomi-latte/MOK.cer
Normal file
Binary file not shown.
93
device/testing/device-xiaomi-latte/alsa-ucm-conf/HiFi.conf
Normal file
93
device/testing/device-xiaomi-latte/alsa-ucm-conf/HiFi.conf
Normal file
|
|
@ -0,0 +1,93 @@
|
|||
SectionVerb {
|
||||
If.Controls {
|
||||
Condition {
|
||||
Type ControlExists
|
||||
Control "name='media0_in Gain 0 Switch'"
|
||||
}
|
||||
Before.EnableSequence "0"
|
||||
True {
|
||||
Include.pe.File "/platforms/bytcr/PlatformEnableSeq.conf"
|
||||
Include.pd.File "/platforms/bytcr/PlatformDisableSeq.conf"
|
||||
}
|
||||
}
|
||||
|
||||
EnableSequence [
|
||||
cset "name='codec_out0 Gain 0 Volume' 72%"
|
||||
cset "name='IF2 ADC Mux' DAC_REF"
|
||||
cset "name='IF3 ADC Mux' IF_ADC1"
|
||||
# 音量50%
|
||||
# cset "name='DAC1 Playback Volume' 50%"
|
||||
# 设置右扬声器使用右声道
|
||||
cset "name='Amp Input1' Right"
|
||||
|
||||
# Enable Boost
|
||||
cset "name='STO1 ADC Capture Switch' on"
|
||||
cset "name='IN3 Boost Volume' 45"
|
||||
cset "name='IN4 Boost Volume' 45"
|
||||
|
||||
# Set ADC Source
|
||||
cset "name='Stereo1 ADC Source' 'ADC1'"
|
||||
cset "name='Stereo1 ADC1 Source' 'ADC'"
|
||||
|
||||
# Set recording mixer output to ADC
|
||||
cset "name='Stereo1 ADC MIXL ADC1 Switch' on"
|
||||
cset "name='Stereo1 ADC MIXR ADC1 Switch' on"
|
||||
cset "name='DAC1 MIXL Stereo ADC Switch' off"
|
||||
cset "name='DAC1 MIXR Stereo ADC Switch' off"
|
||||
cset "name='media_loop2_out mix 0 codec_in0 Switch' on"
|
||||
cset "name='pcm1_out mix 0 media_loop2_in Switch' on"
|
||||
|
||||
# Set ADC Volume
|
||||
cset "name='IN Capture Volume' 23"
|
||||
cset "name='STO1 ADC Capture Volume' 70"
|
||||
]
|
||||
|
||||
DisableSequence []
|
||||
Value {}
|
||||
}
|
||||
|
||||
SectionDevice."Speaker" {
|
||||
Comment "Stereo Speakers"
|
||||
|
||||
ConflictingDevice []
|
||||
|
||||
Value {
|
||||
PlaybackPCM "hw:${CardId}"
|
||||
# The speaker ampl. path on the 5659 has no speaker vol control
|
||||
# Use the digital DAC1 master control as MixerElem
|
||||
PlaybackMixerElem "DAC1"
|
||||
}
|
||||
|
||||
EnableSequence [
|
||||
cset "name='DAC1 Playback Switch' on"
|
||||
]
|
||||
DisableSequence [
|
||||
cset "name='DAC1 Playback Switch' off"
|
||||
]
|
||||
}
|
||||
|
||||
SectionDevice."IntMic" {
|
||||
Comment "Microphone"
|
||||
|
||||
ConflictingDevice []
|
||||
|
||||
EnableSequence [
|
||||
# Enable Int Mic
|
||||
cset "name='Int Mic Switch' on"
|
||||
cset "name='RECMIX1L BST3 Switch' on"
|
||||
cset "name='RECMIX1R BST4 Switch' on"
|
||||
]
|
||||
|
||||
DisableSequence [
|
||||
cset "name='Int Mic Switch' off"
|
||||
cset "name='RECMIX1L BST3 Switch' off"
|
||||
cset "name='RECMIX1R BST4 Switch' off"
|
||||
]
|
||||
|
||||
Value {
|
||||
CapturePCM "hw:${CardId}"
|
||||
# CaptureMixerElem "Int Mic"
|
||||
CaptureVolume "IN Capture Volume"
|
||||
CaptureSwitch "Int Mic Switch"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
Syntax 3
|
||||
|
||||
SectionUseCase."HiFi" {
|
||||
File "/Intel/cht-bsw-rt5659/HiFi.conf"
|
||||
Comment "Default"
|
||||
}
|
||||
28
device/testing/device-xiaomi-latte/deviceinfo
Normal file
28
device/testing/device-xiaomi-latte/deviceinfo
Normal file
|
|
@ -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="XiaoMi Pad2"
|
||||
deviceinfo_manufacturer="XiaoMi"
|
||||
deviceinfo_codename="xiaomi-latte"
|
||||
deviceinfo_year="2015"
|
||||
deviceinfo_arch="x86_64"
|
||||
|
||||
# Device related
|
||||
deviceinfo_chassis="tablet"
|
||||
deviceinfo_external_storage="false"
|
||||
deviceinfo_drm="true"
|
||||
|
||||
# Bootloader related
|
||||
deviceinfo_initfs_compression="zstd:default"
|
||||
deviceinfo_generate_grub_config="true"
|
||||
|
||||
# filesystem
|
||||
deviceinfo_boot_filesystem="fat32"
|
||||
# deviceinfo_swap_size_recommended="2048"
|
||||
|
||||
# USB
|
||||
deviceinfo_usb_idVendor="0x18d1"
|
||||
deviceinfo_usb_idProduct="0x2d00"
|
||||
deviceinfo_usb_serialnumber="0"
|
||||
2
device/testing/device-xiaomi-latte/grub.cfg
Normal file
2
device/testing/device-xiaomi-latte/grub.cfg
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
set prefix=($root)'/grub'
|
||||
configfile $prefix/grub.cfg
|
||||
14
device/testing/device-xiaomi-latte/keyboard.hwdb
Normal file
14
device/testing/device-xiaomi-latte/keyboard.hwdb
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
###########################################################
|
||||
# Xiaomi
|
||||
###########################################################
|
||||
|
||||
# Fix mapping of menu / home / back capacitive buttons on bottom bezel
|
||||
# Menu: LeftMeta + S -> menu (ignore LeftMeta, map S to menu)
|
||||
# Home: LeftCtrl + Esc -> LeftMeta (ignore LeftCtrl, map Esc to LeftMeta)
|
||||
# Back: Backspace -> back (map backspace to back)
|
||||
evdev:name:FTSC1000:00 2808:509C Keyboard:dmi:*:svnXiaomiInc:pnMipad2:*
|
||||
KEYBOARD_KEY_700e0=reserved # LeftCtrl -> ignore
|
||||
KEYBOARD_KEY_700e3=reserved # LeftMeta -> ignore
|
||||
KEYBOARD_KEY_70016=menu # S -> menu
|
||||
KEYBOARD_KEY_70029=leftmeta # Esc -> LeftMeta (Windows key / Win8 tablets home)
|
||||
KEYBOARD_KEY_7002a=back # Backspace -> back
|
||||
21
device/testing/device-xiaomi-latte/modules-initfs
Normal file
21
device/testing/device-xiaomi-latte/modules-initfs
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
# emmc module
|
||||
sdhci-acpi
|
||||
mmc_block
|
||||
|
||||
# USB
|
||||
xhci_pci
|
||||
xhci_hub
|
||||
usbkbd
|
||||
|
||||
# Torch Screen
|
||||
i2c-hid-acpi
|
||||
hid-multitouch
|
||||
|
||||
# filesystem drivers
|
||||
btrfs
|
||||
|
||||
# Debug shell Usage
|
||||
dwc3
|
||||
dwc3_pci
|
||||
|
||||
snd_soc_rt5659
|
||||
72
device/testing/linux-xiaomi-latte/APKBUILD
Normal file
72
device/testing/linux-xiaomi-latte/APKBUILD
Normal file
|
|
@ -0,0 +1,72 @@
|
|||
# Reference: <https://postmarketos.org/vendorkernel>
|
||||
# Kernel config based on: https://github.com/Qs315490/linux_latte/blob/main/arch/x86/configs/xiaomipad2_defconfig
|
||||
|
||||
pkgname=linux-xiaomi-latte
|
||||
pkgver=6.16.0
|
||||
pkgrel=0
|
||||
pkgdesc="Upstream Kernel For XiaoMi Pad2"
|
||||
arch="x86_64"
|
||||
_carch="x86_64"
|
||||
_flavor="xiaomi-latte"
|
||||
url="https://github.com/torvalds/linux"
|
||||
license="GPL-2.0-only"
|
||||
options="!strip !check !tracedeps pmb:cross-native pmb:kconfigcheck-uefi"
|
||||
makedepends="
|
||||
bash
|
||||
bc
|
||||
bison
|
||||
devicepkg-dev
|
||||
flex
|
||||
openssl-dev
|
||||
perl
|
||||
gcompat
|
||||
linux-headers
|
||||
elfutils-dev
|
||||
gawk
|
||||
sbsigntool
|
||||
"
|
||||
|
||||
# Source
|
||||
_config=xiaomipad2_defconfig
|
||||
_commit="038d61fd642278bab63ee8ef722c50d10ab01e8f"
|
||||
source="
|
||||
$pkgname-$_commit.tar.gz::https://github.com/torvalds/linux/archive/$_commit.tar.gz
|
||||
$_config
|
||||
latte-audio-fix.patch
|
||||
latte-i915-fix.patch
|
||||
MOK.crt
|
||||
MOK.key
|
||||
"
|
||||
builddir="$srcdir/linux-$_commit"
|
||||
_outdir="out"
|
||||
|
||||
prepare() {
|
||||
default_prepare
|
||||
rm -rf ${builddir}/include/config
|
||||
REPLACE_GCCH=0 . downstreamkernel_prepare
|
||||
}
|
||||
|
||||
build() {
|
||||
unset LDFLAGS
|
||||
make O="$_outdir" ARCH="$_carch" CC="${CC:-gcc}" LOCALVERSION= \
|
||||
KBUILD_BUILD_VERSION="$((pkgrel + 1 ))-postmarketOS"
|
||||
}
|
||||
|
||||
package() {
|
||||
downstreamkernel_package "$builddir" "$pkgdir" "$_carch" "$_flavor" "$_outdir"
|
||||
|
||||
# package kernel modules
|
||||
make O="$_outdir" ARCH="$_carch" INSTALL_MOD_STRIP=1 INSTALL_MOD_PATH="$pkgdir" modules_install
|
||||
|
||||
# self sign kernel for Secure Boot
|
||||
sbsign --key ${startdir}/MOK.key --cert ${startdir}/MOK.crt --output $pkgdir/boot/vmlinuz $pkgdir/boot/vmlinuz
|
||||
}
|
||||
|
||||
sha512sums="
|
||||
9cfd1b774fce4237966f32c1880e087490885b8464cefb468c777b6ff022e9ec22a0ec0c051940fff86813c5f535e7c8e291f8998fd5ae8eaebcd546729b1ee6 linux-xiaomi-latte-038d61fd642278bab63ee8ef722c50d10ab01e8f.tar.gz
|
||||
407913bf970ee0b2e8c53d94224765e3603f987859c67926987d6d39cb70b0cfd6d0ed0f07af1f91a7dcd1ed6baf804b6b4c067b9e15ac7b58e859b479db4b72 xiaomipad2_defconfig
|
||||
7e3eeb8d54e2bf13bd9b126259daf2dd38cf698c3e66401a953d2ff235a87cfab33ea3f45575ec21cec3987f8cc0fd07f2aabc0c419753e215a851e219502025 latte-audio-fix.patch
|
||||
7a311bb9ff309349fb5dc11a8a9b18f6595abb28108da60a67cd95dd9c713f150f29068c001400f47010fab1809f092ef2cc4393bab98a64592334ca8650519a latte-i915-fix.patch
|
||||
fedc27118b43badbcd47f44ac127ff9f02ce4e53ba04350c5bd893d6f6f6ff687c73f8cc7b15e8c71bc0def1ec63247ab675e95b339402edbaa744a3d8acf39d MOK.crt
|
||||
1b5d43a851e7dc4085e34368b145752d4f8d00671db097f09b85a0152e1427486e7887f9a7fd876b9f97ca4f22dcd584c496f2d8bd9a7d2e64cc1fecad8ce0f0 MOK.key
|
||||
"
|
||||
30
device/testing/linux-xiaomi-latte/MOK.crt
Normal file
30
device/testing/linux-xiaomi-latte/MOK.crt
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIIFHzCCAwegAwIBAgIUbBpddeRKJVk1Bi3NVQjrR3c80+IwDQYJKoZIhvcNAQEL
|
||||
BQAwHzEdMBsGA1UEAwwUbXkgTWFjaGluZSBPd25lciBLZXkwHhcNMjUwMjA2MDQ0
|
||||
NzA4WhcNMzUwMjA0MDQ0NzA4WjAfMR0wGwYDVQQDDBRteSBNYWNoaW5lIE93bmVy
|
||||
IEtleTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAImHcg5tn/z+knqX
|
||||
dEkib14K/0eeDcjnaW4LEmn1/JQvQvfHOYNXmWpb6Gq5ouK15CJKVnESpdH00ag3
|
||||
j9Ctc3lWCl4uwRjyB3LRUeLvq801BjGS3pKsSFHEZiNXnF7Ry5Srxc9FZOveKC4y
|
||||
u1ZEkFrbFl16WWeDgFZbFqKkxIPGH5lufZneaesgZK+jw+IOEqpJGilEU6QGo0r+
|
||||
Qjk0sVm5NnU5wN+8uGAThOxN5RKwrOwi4yagdYyua0XujUHS9CFyA7MmFL1cF9z8
|
||||
UCe+2aHBvvhD0YI5ES75EOYJQOZjbpLoSEa0zWQceF1Bbet7XpytMGMnwCe/+FgQ
|
||||
vcfkdpy42jk74KYb12iX6NzNJkPsCjYLYDFB6FH/QKD8314PYnYcd6nvMqM9mOQq
|
||||
Z0HbTPOYLykZzC8Y5nMIA46YCUxBCyI4Q3JqMfuaiPlPp9GpcOntVRuFP8yPnAoG
|
||||
e7xcowo18AEtTOZIjrpjF/QobBX4I7Cdp0ExPa+3T5aqfeqsZaVBzdGYVkWXZpf/
|
||||
VEWMmNfwC2fd1amdsf8hZLjaZSdkaQFSUbXdxsH8r2nqJo5Y9lCIt6jghWxCEdqJ
|
||||
DmtjxEJ78jmVn3pSbNTwQr4fZvZruJTipmy2eNIHxR0L2xfg9hRbzLXdegdvwFwL
|
||||
bo3LT6Lull8vxCqntmPumZmFRi6RAgMBAAGjUzBRMB0GA1UdDgQWBBTbyyTkMjE8
|
||||
ugvjrCuHjHGYiXWyzjAfBgNVHSMEGDAWgBTbyyTkMjE8ugvjrCuHjHGYiXWyzjAP
|
||||
BgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4ICAQAPTMrgcOFprhoOkB52
|
||||
Yv4AqP5VaotsRFEiEBwmLXO720owHTVvTYvBuCaGTXg+zlpN8lnCyKvX7MNYa72B
|
||||
CdnM3fHN8NAyw0gtXPb+5jerDyf7bPUMPW9iQ9Y8xoiKi6YOrEWZWUPtbofeKoO9
|
||||
tC1uAiVa/HGDlXFpvuAsmzGZc2cv2nXkjFERyXNAUvN8KNgV4lmLr3RLlU75wYDp
|
||||
NYlLE5XTiSzHF/BtM1xyIF44WxDOyVFxSdq/X6UxcetMTqe7vmHf3X0XOpNtSLYm
|
||||
rfjuvpBud1h7IbevU1vLYWphYh0SQ//nIVb8abG/zWRAp2VNzjW34CBVZA+Oo8GT
|
||||
88p9XeCVbph/gQpilL0orEy3ZfCpPuL860mLwHCuyie4wLBshWUZrj9Xhr7FBaRq
|
||||
x9XXoG58gl6IamAwy7CFPCqtRyEBqczAY2aWMJxGJXfiNbJn9LhO/l3hi6S5Zor3
|
||||
Ie2kIOVtoQ/I0iAf/SWotgs9FT3MmmXs5JqErXx2SiRTIqP2r6W+oC6AX9ng4Z3j
|
||||
+truzUIIq3FNnUQymjf84DYGb7QWGLSyf4516juEqcv0qr33U2wLxAXrXZ3tkBbg
|
||||
gOLh9egMpLO3C1m5ly6vRH4XK1gjs9GPeH7JIw78DuJUKN/tJksw9OaEMZcE09xp
|
||||
4VoF3RjK1M6035/ZgNOsrUC6kw==
|
||||
-----END CERTIFICATE-----
|
||||
52
device/testing/linux-xiaomi-latte/MOK.key
Normal file
52
device/testing/linux-xiaomi-latte/MOK.key
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
-----BEGIN PRIVATE KEY-----
|
||||
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
|
||||
Rux2EhPI9A1Eqva+5t3PQnbfHK9EgA==
|
||||
-----END PRIVATE KEY-----
|
||||
1092
device/testing/linux-xiaomi-latte/latte-audio-fix.patch
Normal file
1092
device/testing/linux-xiaomi-latte/latte-audio-fix.patch
Normal file
File diff suppressed because it is too large
Load diff
121
device/testing/linux-xiaomi-latte/latte-i915-fix.patch
Normal file
121
device/testing/linux-xiaomi-latte/latte-i915-fix.patch
Normal file
|
|
@ -0,0 +1,121 @@
|
|||
diff --color -u a/drivers/gpu/drm/i915/display/intel_display_driver.c b/drivers/gpu/drm/i915/display/intel_display_driver.c
|
||||
--- a/drivers/gpu/drm/i915/display/intel_display_driver.c 2025-04-27 15:25:09.834101149 +0800
|
||||
+++ b/drivers/gpu/drm/i915/display/intel_display_driver.c 2025-04-27 15:33:23.685520296 +0800
|
||||
@@ -226,6 +226,8 @@
|
||||
if (ret)
|
||||
goto cleanup_bios;
|
||||
|
||||
+ intel_init_quirks(display);
|
||||
+
|
||||
/* FIXME: completely on the wrong abstraction layer */
|
||||
ret = intel_power_domains_init(display);
|
||||
if (ret < 0)
|
||||
@@ -267,8 +269,6 @@
|
||||
if (ret)
|
||||
goto cleanup_vga_client_pw_domain_dmc;
|
||||
|
||||
- intel_init_quirks(display);
|
||||
-
|
||||
intel_fbc_init(display);
|
||||
|
||||
return 0;
|
||||
diff --color -u a/drivers/gpu/drm/i915/display/intel_display_power.c b/drivers/gpu/drm/i915/display/intel_display_power.c
|
||||
--- a/drivers/gpu/drm/i915/display/intel_display_power.c 2025-04-27 15:25:09.834101149 +0800
|
||||
+++ b/drivers/gpu/drm/i915/display/intel_display_power.c 2025-04-27 15:31:38.759355555 +0800
|
||||
@@ -23,6 +23,7 @@
|
||||
#include "intel_pcode.h"
|
||||
#include "intel_pmdemand.h"
|
||||
#include "intel_pps_regs.h"
|
||||
+#include "intel_quirks.h"
|
||||
#include "intel_snps_phy.h"
|
||||
#include "skl_watermark.h"
|
||||
#include "skl_watermark_regs.h"
|
||||
@@ -492,8 +493,14 @@ __intel_display_power_get_domain(struct intel_display *display,
|
||||
if (intel_display_power_grab_async_put_ref(display, domain))
|
||||
return;
|
||||
|
||||
- for_each_power_domain_well(display, power_well, domain)
|
||||
+ for_each_power_domain_well(display, power_well, domain) {
|
||||
+ if (domain == POWER_DOMAIN_INIT &&
|
||||
+ intel_has_quirk(display, QUIRK_NO_VLV_DISP_PW_DPIO_CMN_BC_INIT) &&
|
||||
+ i915_power_well_instance(power_well)->id == VLV_DISP_PW_DPIO_CMN_BC)
|
||||
+ continue;
|
||||
+
|
||||
intel_power_well_get(display, power_well);
|
||||
+ }
|
||||
|
||||
power_domains->domain_use_count[domain]++;
|
||||
}
|
||||
@@ -589,7 +596,13 @@ __intel_display_power_put_domain(struct intel_display *display,
|
||||
power_domains->domain_use_count[domain]--;
|
||||
|
||||
- for_each_power_domain_well_reverse(display, power_well, domain)
|
||||
+ for_each_power_domain_well_reverse(display, power_well, domain) {
|
||||
+ if (domain == POWER_DOMAIN_INIT &&
|
||||
+ intel_has_quirk(display, QUIRK_NO_VLV_DISP_PW_DPIO_CMN_BC_INIT) &&
|
||||
+ i915_power_well_instance(power_well)->id == VLV_DISP_PW_DPIO_CMN_BC)
|
||||
+ continue;
|
||||
+
|
||||
intel_power_well_put(display, power_well);
|
||||
+ }
|
||||
}
|
||||
|
||||
static void __intel_display_power_put(struct intel_display *display,
|
||||
diff --color -u a/drivers/gpu/drm/i915/display/intel_display_power_well.c b/drivers/gpu/drm/i915/display/intel_display_power_well.c
|
||||
--- a/drivers/gpu/drm/i915/display/intel_display_power_well.c 2025-04-27 15:25:09.834101149 +0800
|
||||
+++ b/drivers/gpu/drm/i915/display/intel_display_power_well.c 2025-04-27 15:25:50.880302395 +0800
|
||||
@@ -66,7 +66,7 @@
|
||||
struct i915_power_well *power_well);
|
||||
};
|
||||
|
||||
-static const struct i915_power_well_instance *
|
||||
+const struct i915_power_well_instance *
|
||||
i915_power_well_instance(const struct i915_power_well *power_well)
|
||||
{
|
||||
return &power_well->desc->instances->list[power_well->instance_idx];
|
||||
diff --color -u a/drivers/gpu/drm/i915/display/intel_display_power_well.h b/drivers/gpu/drm/i915/display/intel_display_power_well.h
|
||||
--- a/drivers/gpu/drm/i915/display/intel_display_power_well.h 2025-04-27 15:25:09.834101149 +0800
|
||||
+++ b/drivers/gpu/drm/i915/display/intel_display_power_well.h 2025-04-27 15:26:38.682005203 +0800
|
||||
@@ -129,6 +129,7 @@
|
||||
struct i915_power_well *lookup_power_well(struct intel_display *display,
|
||||
enum i915_power_well_id id);
|
||||
|
||||
+const struct i915_power_well_instance *i915_power_well_instance(const struct i915_power_well *power_well);
|
||||
void intel_power_well_enable(struct intel_display *display,
|
||||
struct i915_power_well *power_well);
|
||||
void intel_power_well_disable(struct intel_display *display,
|
||||
diff --color -u a/drivers/gpu/drm/i915/display/intel_quirks.c b/drivers/gpu/drm/i915/display/intel_quirks.c
|
||||
--- a/drivers/gpu/drm/i915/display/intel_quirks.c 2025-04-27 15:25:09.834558483 +0800
|
||||
+++ b/drivers/gpu/drm/i915/display/intel_quirks.c 2025-04-27 15:35:01.128380326 +0800
|
||||
@@ -78,6 +78,12 @@
|
||||
drm_info(display->drm, "Applying Fast Wake sync pulse count quirk\n");
|
||||
}
|
||||
|
||||
+static void quirk_no_vlv_disp_pw_dpio_cmn_bc_init(struct intel_display *display)
|
||||
+{
|
||||
+ intel_set_quirk(display, QUIRK_NO_VLV_DISP_PW_DPIO_CMN_BC_INIT);
|
||||
+ drm_info(display->drm, "Applying no dpio-common-bc powerwell init quirk\n");
|
||||
+}
|
||||
+
|
||||
struct intel_quirk {
|
||||
int device;
|
||||
int subsystem_vendor;
|
||||
@@ -253,5 +259,7 @@
|
||||
/* HP Notebook - 14-r206nv */
|
||||
{ 0x0f31, 0x103c, 0x220f, quirk_invert_brightness },
|
||||
+ /* Xiaomi Mi Pad 2 */
|
||||
+ { 0x22b0, 0x1d72, 0x1502, quirk_no_vlv_disp_pw_dpio_cmn_bc_init },
|
||||
};
|
||||
|
||||
static const struct intel_dpcd_quirk intel_dpcd_quirks[] = {
|
||||
diff --color -u a/drivers/gpu/drm/i915/display/intel_quirks.h b/drivers/gpu/drm/i915/display/intel_quirks.h
|
||||
--- a/drivers/gpu/drm/i915/display/intel_quirks.h 2025-04-27 15:25:09.834558483 +0800
|
||||
+++ b/drivers/gpu/drm/i915/display/intel_quirks.h 2025-04-27 15:33:54.634332191 +0800
|
||||
@@ -20,6 +20,7 @@
|
||||
QUIRK_INVERT_BRIGHTNESS,
|
||||
QUIRK_LVDS_SSC_DISABLE,
|
||||
QUIRK_NO_PPS_BACKLIGHT_POWER_HOOK,
|
||||
QUIRK_FW_SYNC_LEN,
|
||||
+ QUIRK_NO_VLV_DISP_PW_DPIO_CMN_BC_INIT,
|
||||
};
|
||||
|
||||
2408
device/testing/linux-xiaomi-latte/xiaomipad2_defconfig
Normal file
2408
device/testing/linux-xiaomi-latte/xiaomipad2_defconfig
Normal file
File diff suppressed because it is too large
Load diff
Loading…
Add table
Add a link
Reference in a new issue