Skip to content
Snippets Groups Projects
Unverified Commit a7efb145 authored by BogdanTheGeek's avatar BogdanTheGeek Committed by Bart Ribbers
Browse files

motorola-condor: new device (MR 1887)

Added support for Motorola Moto E 2014 codename: condor
It is booting, has usb, battery, flashing needs special fastboot command for the boot partition
parent 3a82b531
No related branches found
No related tags found
No related merge requests found
Pipeline #200054 passed
Showing
with 3649 additions and 0 deletions
# use 'weston-calibrator' to calibrate the touchscreen!
SUBSYSTEM=="input", ATTRS{name}=="touch_dev", \
ENV{ID_INPUT}="1", ENV{ID_INPUT_TOUCHSCREEN}="1" \
ENV{LIBINPUT_CALIBRATION_MATRIX}="-1 0 1 0 -1 1"
# Reference: <https://postmarketos.org/devicepkg>
pkgname=device-motorola-condor
pkgdesc="Motorola Moto E (1st gen)"
pkgver=0.1
pkgrel=0
url="https://postmarketos.org"
license="MIT"
arch="armv7"
options="!check !archcheck"
depends="postmarketos-base linux-motorola-condor mkbootimg mesa-dri-gallium msm-fb-refresher"
makedepends="devicepkg-dev"
source="deviceinfo initfs-hook.sh 90-android-touch-dev.rules"
build() {
devicepkg_build $startdir $pkgname
}
package() {
devicepkg_package $startdir $pkgname
install -D -m644 "$srcdir"/90-android-touch-dev.rules \
"$pkgdir"/etc/udev/rules.d/90-android-touch-dev.rules
}
sha512sums="9c9790789f412804325d84dc9d3fefc1fe54125d043f8708c57ab217a7408789a39fa89db83e4b52eed58ac7478789f7a16bf47f43610157c9980601981e0412 deviceinfo
a009171a9f95ad15f28b22549f8618711b42fabbad473e416b905c60131265a02ab7eb33c4e57f2201b859152a603c77c3c9bec955ab3998cd385858f076c8ec initfs-hook.sh
568d407c3e96b45d740af8617f0e389d36a7091dceccae8f77288fdc45fb7a5ed418c28f31d7fe5a51d92337a40b2dd741b1b18ad02e3fbae91f9a2035d62c95 90-android-touch-dev.rules"
# Reference: <https://postmarketos.org/deviceinfo>
# Please use double quotes only. You can source this file in shell
# scripts.
deviceinfo_format_version="0"
deviceinfo_name="Motorola Moto E (1st gen)"
deviceinfo_manufacturer="Motorola"
deviceinfo_codename="motorola-condor"
deviceinfo_year="2014"
deviceinfo_dtb=""
deviceinfo_modules_initfs=""
deviceinfo_arch="armv7"
# Device related
deviceinfo_chassis="handset"
deviceinfo_keyboard="false"
deviceinfo_external_storage="true"
deviceinfo_screen_width="540"
deviceinfo_screen_height="960"
# Bootloader related
deviceinfo_flash_method="fastboot"
deviceinfo_kernel_cmdline="console=ttyHSL0,115200,n8 androidboot.console=ttyHSL0 androidboot.hardware=qcom user_debug=31 msm_rtb.filter=0x37 utags.blkdev=/dev/block/platform/msm_sdcc.1/by-name/utags movablecore=160M vmalloc=400M"
deviceinfo_generate_bootimg="true"
deviceinfo_bootimg_qcdt="true"
deviceinfo_bootimg_mtk_mkimage="false"
deviceinfo_bootimg_dtb_second="false"
deviceinfo_flash_offset_base="0x00000000"
deviceinfo_flash_offset_kernel="0x00008000"
deviceinfo_flash_offset_ramdisk="0x01000000"
deviceinfo_flash_offset_second="0x00f00000"
deviceinfo_flash_offset_tags="0x00000100"
deviceinfo_flash_pagesize="2048"
#!/bin/sh
echo 1 > /sys/class/i2c-dev/i2c-1/device/1-0020/drv_irq
echo 1 > /sys/class/i2c-dev/i2c-1/device/1-0020/reset
# Reference: <https://postmarketos.org/vendorkernel>
# Kernel config based on: arch/arm/configs/cm_condor_defconfig
pkgname=linux-motorola-condor
pkgver=3.4.112
pkgrel=0
pkgdesc="Motorola Moto E (1st gen) kernel fork"
arch="armv7"
_carch="arm"
_flavor="motorola-condor"
url="https://kernel.org"
license="GPL-2.0-only"
options="!strip !check !tracedeps pmb:cross-native"
makedepends="bash bc bison devicepkg-dev flex openssl-dev perl dtbtool coreutils xz"
# Source
_repository="android_kernel_motorola_msm8610"
_commit="1f33ddf2acf97544fc509bb2546aec7907c56bc1"
_config="config-$_flavor.$arch"
source="
$pkgname-$_commit.tar.gz::https://github.com/LineageOS/$_repository/archive/$_commit.tar.gz
$_config
gcc7-give-up-on-ilog2-const-optimizations.patch
gcc8-fix-put-user.patch
gcc10-extern_YYLOC_global_declaration.patch
fix_slow_boot_emmc_timeout.patch
fix_bad_kernel_backport.patch
fix_redish_display.patch
"
builddir="$srcdir/$_repository-$_commit"
_outdir="out"
prepare() {
default_prepare
. downstreamkernel_prepare
}
build() {
unset LDFLAGS
make O="$_outdir" ARCH="$_carch" CC="${CC:-gcc}" \
KBUILD_BUILD_VERSION="$((pkgrel + 1 ))-postmarketOS" CONFIG_NO_ERROR_ON_MISMATCH=y
# Master DTB (deviceinfo_bootimg_qcdt)
dtbTool -p scripts/dtc/ -o "$_outdir/arch/$_carch/boot"/dt.img \
"$_outdir/arch/$_carch/boot/"
}
package() {
downstreamkernel_package "$builddir" "$pkgdir" "$_carch" "$_flavor" "$_outdir"
install -Dm644 "$_outdir/arch/$_carch/boot"/dt.img \
"$pkgdir"/boot/dt.img
}
sha512sums="375de04e128a0f03189f793851bc4df0e80d8cc35644df2145b484f5f44a679848e53a1eeb26259cbea66d23d850f6037f65693f206c93c96ddac7bd9f9e533a linux-motorola-condor-1f33ddf2acf97544fc509bb2546aec7907c56bc1.tar.gz
4b221f706a8387ccd4bbe75ea66423be6ad52f5973a0b12a2c1d704db09242c28809cba4df4544f5087972189eed9db8ba9cb4183c89284dca9f2ef6a18ab038 config-motorola-condor.armv7
77eba606a71eafb36c32e9c5fe5e77f5e4746caac292440d9fb720763d766074a964db1c12bc76fe583c5d1a5c864219c59941f5e53adad182dbc70bf2bc14a7 gcc7-give-up-on-ilog2-const-optimizations.patch
197d40a214ada87fcb2dfc0ae4911704b9a93354b75179cd6b4aadbb627a37ec262cf516921c84a8b1806809b70a7b440cdc8310a4a55fca5d2c0baa988e3967 gcc8-fix-put-user.patch
2b48f1bf0e3f70703d2cdafc47d5e615cc7c56c70bec56b2e3297d3fa4a7a1321d649a8679614553dde8fe52ff1051dae38d5990e3744c9ca986d92187dcdbeb gcc10-extern_YYLOC_global_declaration.patch
e4d2a3ee6807659fe2bbbbdea4f9b4934b04ed1714ccdfea14dead5c8bc46cd9ebb93a98e2ff350382b0aa09bc4a6a00884f2b920082fdd6ab3a758a20b8e224 fix_slow_boot_emmc_timeout.patch
4bcd16d8d828a82b96a8c62b42adcb4f717ca83d6724b6dea6850103a61c9d74f52b5caf0f1c4a26a7f3e2e991f33e13e3d532ef319a95cac6f187b3f0dbcda1 fix_bad_kernel_backport.patch
be4e8d353dcf265aab7e31090e9514ca5f2303b8a2fa8f641654e3bff2a178af336b87e267c3fcc1aaa6c8204962d00c35fccabe56c02fc8d49bcb2620ba83fb fix_redish_display.patch"
This diff is collapsed.
diff --git a/fs/stat.c b/fs/stat.c
index 88b36c7..17b7a1b 100644
--- a/fs/stat.c
+++ b/fs/stat.c
@@ -58,7 +58,7 @@
int vfs_fstat(unsigned int fd, struct kstat *stat)
{
int fput_needed;
- struct file *f = fget_light(fd, &fput_needed);
+ struct file *f = fget_raw_light(fd, &fput_needed);
int error = -EBADF;
if (f) {
diff --git a/drivers/video/msm/mdss/mdss_fb.c b/drivers/video/msm/mdss/mdss_fb.c
index 53112ca6..69673017 100644
--- a/drivers/video/msm/mdss/mdss_fb.c
+++ b/drivers/video/msm/mdss/mdss_fb.c
@@ -569,7 +569,7 @@ static int mdss_fb_probe(struct platform_device *pdev)
mfd->bl_level = 0;
mfd->bl_scale = 1024;
mfd->bl_min_lvl = 30;
- mfd->fb_imgType = MDP_RGBA_8888;
+ mfd->fb_imgType = MDP_ARGB_8888;
mfd->pdev = pdev;
if (pdata->next)
diff --git a/drivers/mmc/card/block.c b/drivers/mmc/card/block.c
index 452782b..4b79592 100644
--- a/drivers/mmc/card/block.c
+++ b/drivers/mmc/card/block.c
@@ -1025,6 +1025,19 @@ static inline void mmc_blk_reset_success(struct mmc_blk_data *md, int type)
md->reset_done &= ~type;
}
+int mmc_access_rpmb(struct mmc_queue *mq)
+{
+ struct mmc_blk_data *md = mq->data;
+ /*
+ * If this is a RPMB partition access, return ture
+ */
+ if (md && md->part_type == EXT_CSD_PART_CONFIG_ACC_RPMB)
+ return true;
+
+ return false;
+}
+EXPORT_SYMBOL_GPL(mmc_access_rpmb);
+
static int mmc_blk_issue_discard_rq(struct mmc_queue *mq, struct request *req)
{
struct mmc_blk_data *md = mq->data;
diff --git a/drivers/mmc/card/queue.c b/drivers/mmc/card/queue.c
index 3e049c1..6ceede0 100644
--- a/drivers/mmc/card/queue.c
+++ b/drivers/mmc/card/queue.c
@@ -38,7 +38,7 @@ static int mmc_prep_request(struct request_queue *q, struct request *req)
return BLKPREP_KILL;
}
- if (mq && mmc_card_removed(mq->card))
+ if (mq && (mmc_card_removed(mq->card) || mmc_access_rpmb(mq)))
return BLKPREP_KILL;
req->cmd_flags |= REQ_DONTPREP;
diff --git a/drivers/mmc/card/queue.h b/drivers/mmc/card/queue.h
index 5752d50..99e6521 100644
--- a/drivers/mmc/card/queue.h
+++ b/drivers/mmc/card/queue.h
@@ -73,4 +73,6 @@ extern void mmc_queue_bounce_post(struct mmc_queue_req *);
extern int mmc_packed_init(struct mmc_queue *, struct mmc_card *);
extern void mmc_packed_clean(struct mmc_queue *);
+extern int mmc_access_rpmb(struct mmc_queue *);
+
#endif
../../.shared-patches/linux/gcc10-extern_YYLOC_global_declaration.patch
\ No newline at end of file
../../.shared-patches/linux/gcc7-give-up-on-ilog2-const-optimizations.patch
\ No newline at end of file
../../.shared-patches/linux/gcc8-fix-put-user.patch
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment