htc-protou: new device (HTC Desire X) (!588)
Changes in the kernel defconfig: - disable ANDROID_PARANOID_NETWORK (removes network restrictions) - enable CONFIG_USB_G_ANDROID and CONFIG_DIAG_CHAR (for USB networking) - enable DEVTMPFS (needed for udev -> touch support in weston) - enable FB_MSM_DEFAULT_DEPTH_RGB565 (for 16-bit support to avoid red screen) - enable SYSVIPC (so busybox' syslogd can log to a ringbuffer in the kernel) - enable VT (for virtual terminal over USB) [ci:skip-build]: already built successfully in CI
This commit is contained in:
parent
e988f5fba0
commit
28f0e5d4e1
13 changed files with 3544 additions and 0 deletions
38
device/device-htc-protou/APKBUILD
Normal file
38
device/device-htc-protou/APKBUILD
Normal file
|
@ -0,0 +1,38 @@
|
|||
# Reference: <https://postmarketos.org/devicepkg>
|
||||
pkgname="device-htc-protou"
|
||||
pkgdesc="HTC Desire X"
|
||||
pkgver=0.1
|
||||
pkgrel=0
|
||||
url="https://postmarketos.org"
|
||||
license="MIT"
|
||||
arch="armv7"
|
||||
options="!check !archcheck"
|
||||
depends="postmarketos-base linux-htc-protou mkbootimg mesa-dri-swrast msm-fb-refresher"
|
||||
makedepends="devicepkg-dev"
|
||||
subpackages="$pkgname-nonfree-firmware:nonfree_firmware"
|
||||
source="deviceinfo initfs-hook.sh pointercal"
|
||||
|
||||
build() {
|
||||
devicepkg_build $startdir $pkgname
|
||||
}
|
||||
|
||||
package() {
|
||||
devicepkg_package $startdir $pkgname
|
||||
|
||||
install -Dm644 "$srcdir/pointercal" \
|
||||
"$pkgdir/etc/pointercal"
|
||||
|
||||
# Disable v4l (video4linux), because without the camera firmware
|
||||
# blobs this makes udev hang with the kernel this device uses (#1033)
|
||||
ln -s /dev/null "$pkgdir"/etc/udev/rules.d/60-persistent-v4l.rules
|
||||
}
|
||||
|
||||
nonfree_firmware() {
|
||||
pkgdesc="Wifi firmware"
|
||||
depends="firmware-aosp-broadcom-wlan"
|
||||
mkdir "$subpkgdir"
|
||||
}
|
||||
|
||||
sha512sums="5184b8d7581c96cd0a58bafa3671de6d2fc0873d83ba258e2c1701033c07cff87974575d1087f01dcc304c563ed21d3b16db4d28ca2c0821be9cf2db8d8e4358 deviceinfo
|
||||
b49562b112ac966896d152ba30548f5b863cc94359fb02a8b75ec43a2c1229a852a218d50201628c0cbee3b88b68136163716e78dcc4ec71401ff9dc8340e016 initfs-hook.sh
|
||||
e76d0a2e1a9b611e811f6c0c90201f019ef435132ea4e7119e6179ffc99ba72c5fb6c3bdd1041ff06186d75a163bf3443d0c073c7fe1b55c10b58af53ada163a pointercal"
|
33
device/device-htc-protou/deviceinfo
Normal file
33
device/device-htc-protou/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="HTC Desire X"
|
||||
deviceinfo_manufacturer="HTC"
|
||||
deviceinfo_codename="htc-protou"
|
||||
deviceinfo_date=""
|
||||
deviceinfo_dtb=""
|
||||
deviceinfo_modules_initfs=""
|
||||
deviceinfo_arch="armv7"
|
||||
|
||||
# Device related
|
||||
deviceinfo_keyboard="false"
|
||||
deviceinfo_external_storage="true"
|
||||
deviceinfo_screen_width="480"
|
||||
deviceinfo_screen_height="800"
|
||||
deviceinfo_dev_touchscreen="/dev/input/event1"
|
||||
deviceinfo_dev_touchscreen_calibration=""
|
||||
deviceinfo_dev_keyboard=""
|
||||
|
||||
# Bootloader related
|
||||
deviceinfo_flash_method="fastboot"
|
||||
deviceinfo_kernel_cmdline="no_console_suspend=1 console=null"
|
||||
deviceinfo_generate_bootimg="true"
|
||||
deviceinfo_bootimg_qcdt="false"
|
||||
deviceinfo_flash_offset_base="0x03200000"
|
||||
deviceinfo_flash_offset_kernel="0x00008000"
|
||||
deviceinfo_flash_offset_ramdisk="0x01000000"
|
||||
deviceinfo_flash_offset_second="0x00f00000"
|
||||
deviceinfo_flash_offset_tags="0x00000100"
|
||||
deviceinfo_flash_pagesize="2048"
|
||||
|
4
device/device-htc-protou/initfs-hook.sh
Normal file
4
device/device-htc-protou/initfs-hook.sh
Normal file
|
@ -0,0 +1,4 @@
|
|||
#!/bin/sh
|
||||
|
||||
# set USB properties
|
||||
echo 4 > /sys/devices/platform/android_usb/usb_function_switch
|
1
device/device-htc-protou/pointercal
Normal file
1
device/device-htc-protou/pointercal
Normal file
|
@ -0,0 +1 @@
|
|||
30406 -627 1591390 557 54978 -308128 65536 480 800
|
79
device/linux-htc-protou/APKBUILD
Normal file
79
device/linux-htc-protou/APKBUILD
Normal file
|
@ -0,0 +1,79 @@
|
|||
# Reference: <https://postmarketos.org/vendorkernel>
|
||||
# Kernel config based on: arch/arm/configs/atis112_defconfig
|
||||
|
||||
pkgname="linux-htc-protou"
|
||||
pkgver=3.4.8
|
||||
pkgrel=0
|
||||
pkgdesc="HTC Desire X kernel fork"
|
||||
arch="armv7"
|
||||
_carch="arm"
|
||||
_flavor="htc-protou"
|
||||
url="https://github.com/ProtouProject/android_kernel_htc_protou"
|
||||
license="GPL-2.0-only"
|
||||
options="!strip !check !tracedeps"
|
||||
makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev devicepkg-dev gcc6"
|
||||
|
||||
# Compiler: GCC 6 (doesn't boot when compiled with newer versions)
|
||||
if [ "${CC:0:5}" != "gcc6-" ]; then
|
||||
CC="gcc6-$CC"
|
||||
HOSTCC="gcc6-gcc"
|
||||
CROSS_COMPILE="gcc6-$CROSS_COMPILE"
|
||||
fi
|
||||
|
||||
# Source
|
||||
_repository="android_kernel_htc_protou"
|
||||
_commit="0e395015315c8950e85b70271b973a7d3c1a3ac5"
|
||||
_config="config-${_flavor}.${arch}"
|
||||
source="
|
||||
$pkgname-$_commit.tar.gz::https://github.com/ProtouProject/${_repository}/archive/${_commit}.tar.gz
|
||||
$_config
|
||||
gcc8-fix-put-user.patch
|
||||
kernel-use-the-gnu89-standard-explicitly.patch
|
||||
fix-boot-gcc5.patch
|
||||
fix_otg_errors.patch
|
||||
fix_perl.patch
|
||||
no-hardcoded-CROSS_COMPILE.patch
|
||||
no-hardcoded-nvram-path.patch
|
||||
"
|
||||
builddir="$srcdir/${_repository}-${_commit}"
|
||||
|
||||
prepare() {
|
||||
default_prepare
|
||||
downstreamkernel_prepare "$srcdir" "$builddir" "$_config" "$_carch" "$HOSTCC"
|
||||
}
|
||||
|
||||
build() {
|
||||
unset LDFLAGS
|
||||
make ARCH="$_carch" CC="${CC:-gcc}" \
|
||||
KBUILD_BUILD_VERSION="$((pkgrel + 1 ))-postmarketOS"
|
||||
}
|
||||
|
||||
package() {
|
||||
# kernel.release
|
||||
install -D "$builddir/include/config/kernel.release" \
|
||||
"$pkgdir/usr/share/kernel/$_flavor/kernel.release"
|
||||
|
||||
# zImage (find the right one)
|
||||
cd "$builddir/arch/$_carch/boot"
|
||||
_target="$pkgdir/boot/vmlinuz-$_flavor"
|
||||
for _zimg in zImage-dtb Image.gz-dtb *zImage Image; do
|
||||
[ -e "$_zimg" ] || continue
|
||||
msg "zImage found: $_zimg"
|
||||
install -Dm644 "$_zimg" "$_target"
|
||||
break
|
||||
done
|
||||
if ! [ -e "$_target" ]; then
|
||||
error "Could not find zImage in $PWD!"
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
sha512sums="f779774222ce1f89a9d658fa789be5112fa3f8c8fe7220eead28a6b353b001f49bd45bacfb3ca2fa3663c8ad8495ca4e83a153dd45362016294f8f00f28a4214 linux-htc-protou-0e395015315c8950e85b70271b973a7d3c1a3ac5.tar.gz
|
||||
31c998fa96512af3e588c287c777f9e4e9b2386e8fbaee73013bfe7a8599c02c989ce1f9609a9f8d342dc268438bb8508e776c8906a43b763be5b89e3e8961e3 config-htc-protou.armv7
|
||||
197d40a214ada87fcb2dfc0ae4911704b9a93354b75179cd6b4aadbb627a37ec262cf516921c84a8b1806809b70a7b440cdc8310a4a55fca5d2c0baa988e3967 gcc8-fix-put-user.patch
|
||||
ad0182a483791fc88e058838bc331b2f04a75ba291e763767babdb815efadfc3b4fda97e69e2e3f00a426cabea088e35297a92bd287592597d1e309be68ee92c kernel-use-the-gnu89-standard-explicitly.patch
|
||||
5ea8c150174224791466ae66e13f44b567c447382e348612e2b0f58d85d499a348a6b24cd5bd1f979631e9610cbe490a5dbe213275d13d4376964268ab3d88ea fix-boot-gcc5.patch
|
||||
1e357bb5026a1d01e8a7a65bea32d9f81811f93fbc0071a23b603a630b93e619cd811d7539c85d6d2c4e330295d4ae6e01cf799f9aa675cf2be603e6e7fdfa75 fix_otg_errors.patch
|
||||
584543558b32dc4fe6d1156a466b8c6acf869cbe64cd59cbbc9d54b716d195ea2807f2c337b4a22a0bbd9b350b07f27de0fd4c750b599afb337ff953dd920bd9 fix_perl.patch
|
||||
555033f2ef3e23d84a552e92a6307bf292f91146ee4d8a03b2485f9b5028c2aa3f7ced6ef268acaca7d12649f4bfa7f8fccca39394097f63a5ff2134b912e9e2 no-hardcoded-CROSS_COMPILE.patch
|
||||
63b842453979cf13e402ee32f9f21d675e181ca04b1bd3ce6e3c8624943737aa2cf135979157b383e2f7a6a3c67623ce0388a5362e2f44c005066ae633c1829c no-hardcoded-nvram-path.patch"
|
3310
device/linux-htc-protou/config-htc-protou.armv7
Normal file
3310
device/linux-htc-protou/config-htc-protou.armv7
Normal file
File diff suppressed because it is too large
Load diff
25
device/linux-htc-protou/fix-boot-gcc5.patch
Normal file
25
device/linux-htc-protou/fix-boot-gcc5.patch
Normal file
|
@ -0,0 +1,25 @@
|
|||
diff --git a/include/linux/unaligned/le_byteshift.h b/include/linux/unaligned/le_byteshift.h
|
||||
index be376fb79..ab14cb194 100644
|
||||
--- a/include/linux/unaligned/le_byteshift.h
|
||||
+++ b/include/linux/unaligned/le_byteshift.h
|
||||
@@ -5,17 +5,17 @@
|
||||
|
||||
static inline u16 __get_unaligned_le16(const u8 *p)
|
||||
{
|
||||
- return p[0] | p[1] << 8;
|
||||
+ return p[0] + (p[1] << 8);
|
||||
}
|
||||
|
||||
static inline u32 __get_unaligned_le32(const u8 *p)
|
||||
{
|
||||
- return p[0] | p[1] << 8 | p[2] << 16 | p[3] << 24;
|
||||
+ return p[0] + (p[1] << 8) + (p[2] << 16) + (p[3] << 24);
|
||||
}
|
||||
|
||||
static inline u64 __get_unaligned_le64(const u8 *p)
|
||||
{
|
||||
- return (u64)__get_unaligned_le32(p + 4) << 32 |
|
||||
+ return ((u64)__get_unaligned_le32(p + 4) << 32) +
|
||||
__get_unaligned_le32(p);
|
||||
}
|
||||
|
14
device/linux-htc-protou/fix_otg_errors.patch
Normal file
14
device/linux-htc-protou/fix_otg_errors.patch
Normal file
|
@ -0,0 +1,14 @@
|
|||
diff --git a/drivers/usb/otg/msm72k_otg.c b/drivers/usb/otg/msm72k_otg.c
|
||||
--- a/drivers/usb/otg/msm72k_otg.c
|
||||
+++ b/drivers/usb/otg/msm72k_otg.c
|
||||
@@ -2029,10 +2029,6 @@ static void msm_otg_sm_work(struct work_struct *w)
|
||||
queue_work(dev->wq, &dev->notifier_work);
|
||||
}
|
||||
|
||||
- if (check_htc_mode_status() != NOT_ON_AUTOBOT) {
|
||||
- htc_mode_enable(0);
|
||||
- android_switch_default();
|
||||
- }
|
||||
dev->ac_detect_count = 0;
|
||||
del_timer(&dev->ac_detect_timer);
|
||||
|
12
device/linux-htc-protou/fix_perl.patch
Normal file
12
device/linux-htc-protou/fix_perl.patch
Normal file
|
@ -0,0 +1,12 @@
|
|||
diff -Naur a/kernel/timeconst.pl b/kernel/timeconst.pl
|
||||
--- a/kernel/timeconst.pl 2013-11-29 03:09:36.000000000 +0100
|
||||
+++ b/kernel/timeconst.pl 2019-05-26 00:21:42.701338888 +0200
|
||||
@@ -370,7 +370,7 @@
|
||||
}
|
||||
|
||||
@val = @{$canned_values{$hz}};
|
||||
- if (!defined(@val)) {
|
||||
+ if (!@val) {
|
||||
@val = compute_values($hz);
|
||||
}
|
||||
output($hz, @val);
|
1
device/linux-htc-protou/gcc8-fix-put-user.patch
Symbolic link
1
device/linux-htc-protou/gcc8-fix-put-user.patch
Symbolic link
|
@ -0,0 +1 @@
|
|||
../../.shared-patches/linux/gcc8-fix-put-user.patch
|
|
@ -0,0 +1 @@
|
|||
../../.shared-patches/linux/kernel-use-the-gnu89-standard-explicitly.patch
|
12
device/linux-htc-protou/no-hardcoded-CROSS_COMPILE.patch
Normal file
12
device/linux-htc-protou/no-hardcoded-CROSS_COMPILE.patch
Normal file
|
@ -0,0 +1,12 @@
|
|||
diff -Naur a/Makefile b/Makefile
|
||||
--- a/Makefile 2013-11-29 03:09:36.000000000 +0100
|
||||
+++ b/Makefile 2019-05-25 23:21:31.810636014 +0200
|
||||
@@ -194,8 +194,6 @@
|
||||
export KBUILD_BUILDHOST := $(SUBARCH)
|
||||
ARCH ?= $(SUBARCH)
|
||||
CROSS_COMPILE ?= $(CONFIG_CROSS_COMPILE:"%"=%)
|
||||
-ARCH := arm
|
||||
-CROSS_COMPILE := arm-eabi-
|
||||
|
||||
# Architecture as present in compile.h
|
||||
UTS_MACHINE := $(ARCH)
|
14
device/linux-htc-protou/no-hardcoded-nvram-path.patch
Normal file
14
device/linux-htc-protou/no-hardcoded-nvram-path.patch
Normal file
|
@ -0,0 +1,14 @@
|
|||
Avoid hardcoded NVRAM path so that the kernel configuration parameter
|
||||
CONFIG_BCMDHD_NVRAM_PATH is used.
|
||||
|
||||
diff --git a/drivers/net/wireless/bcmdhd_4330/dhd_linux.c b/drivers/net/wireless/bcmdhd_4330/dhd_linux.c
|
||||
--- a/drivers/net/wireless/bcmdhd_4330/dhd_linux.c
|
||||
+++ b/drivers/net/wireless/bcmdhd_4330/dhd_linux.c
|
||||
@@ -3623,7 +3623,6 @@ dhd_bus_start(dhd_pub_t *dhdp)
|
||||
dhd_os_sdlock(dhdp);
|
||||
#endif
|
||||
|
||||
- sprintf(nv_path, "/etc/calibration");
|
||||
printf("%s: fw_path=%s, nv_path=%s\n", __FUNCTION__, fw_path, nv_path);
|
||||
|
||||
|
Loading…
Reference in a new issue