From 12f0b3ce80819c381fbccdd3834e9db44b640f4a Mon Sep 17 00:00:00 2001 From: Nikolay Date: Wed, 25 Apr 2018 14:40:16 +0500 Subject: [PATCH] Add initial device support for Xiaomi Redmi Note 4 (xiaomi-mido) (#1415) * Add initial device support for Xiaomi Redmi Note 4 (xiaomi-mido) * Update APKBUILD * Update APKBUILD * Wifi support for Xiaomi Redmi Note 4 * Update APKBUILD * Download firmware from different repo for Xiaomi Redmi Note 4 * Split up cat line --- device/device-xiaomi-mido/APKBUILD | 29 + device/device-xiaomi-mido/deviceinfo | 32 + .../01_fix_gcc6_errors.patch | 68 + device/linux-xiaomi-mido/02_fix_msm_dba.patch | 13 + ...fix_rndis_ipa_trace_header_not_found.patch | 22 + .../05_fix_mdp3_ctrl_off.patch | 13 + .../linux-xiaomi-mido/05_fix_u_f_header.patch | 58 + .../06_fix_usb_gadget_function.patch | 590 +++ device/linux-xiaomi-mido/APKBUILD | 102 + device/linux-xiaomi-mido/compiler-gcc6.h | 69 + .../config-xiaomi-mido.aarch64 | 4576 +++++++++++++++++ .../linux-xiaomi-mido/fix_recordmcount.patch | 61 + firmware/firmware-xiaomi-mido/APKBUILD | 33 + 13 files changed, 5666 insertions(+) create mode 100644 device/device-xiaomi-mido/APKBUILD create mode 100644 device/device-xiaomi-mido/deviceinfo create mode 100644 device/linux-xiaomi-mido/01_fix_gcc6_errors.patch create mode 100644 device/linux-xiaomi-mido/02_fix_msm_dba.patch create mode 100644 device/linux-xiaomi-mido/03_fix_rndis_ipa_trace_header_not_found.patch create mode 100644 device/linux-xiaomi-mido/05_fix_mdp3_ctrl_off.patch create mode 100644 device/linux-xiaomi-mido/05_fix_u_f_header.patch create mode 100644 device/linux-xiaomi-mido/06_fix_usb_gadget_function.patch create mode 100644 device/linux-xiaomi-mido/APKBUILD create mode 100644 device/linux-xiaomi-mido/compiler-gcc6.h create mode 100644 device/linux-xiaomi-mido/config-xiaomi-mido.aarch64 create mode 100644 device/linux-xiaomi-mido/fix_recordmcount.patch create mode 100644 firmware/firmware-xiaomi-mido/APKBUILD diff --git a/device/device-xiaomi-mido/APKBUILD b/device/device-xiaomi-mido/APKBUILD new file mode 100644 index 000000000..9078cf6f5 --- /dev/null +++ b/device/device-xiaomi-mido/APKBUILD @@ -0,0 +1,29 @@ +# Reference: +pkgname="device-xiaomi-mido" +pkgdesc="Xiaomi Redmi Note 4" +pkgver=0.1 +pkgrel=0 +url="https://postmarketos.org" +license="MIT" +arch="noarch" +options="!check" +depends="postmarketos-base linux-xiaomi-mido mkbootimg mesa-dri-swrast mdss-fb-init-hack" +makedepends="devicepkg-dev" +subpackages="$pkgname-nonfree-firmware:nonfree_firmware" +source="deviceinfo" + +build() { + devicepkg_build $startdir $pkgname +} + +package() { + devicepkg_package $startdir $pkgname +} + +nonfree_firmware() { + pkgdesc="Wifi firmware" + depends="firmware-xiaomi-mido" + mkdir "$subpkgdir" +} + +sha512sums="af088a3cfb71f52f7b095f4ea75de4c3141bf840502a7325500b7717fec0d0688ee2c82c78c858c3d6cde59a43f4c6873d85b53078d82faddbed8ce1484acf28 deviceinfo" diff --git a/device/device-xiaomi-mido/deviceinfo b/device/device-xiaomi-mido/deviceinfo new file mode 100644 index 000000000..3c725c42c --- /dev/null +++ b/device/device-xiaomi-mido/deviceinfo @@ -0,0 +1,32 @@ +# Reference: +# Please use double quotes only. You can source this file in shell scripts. + +deviceinfo_format_version="0" +deviceinfo_name="Xiaomi Redmi Note 4" +deviceinfo_manufacturer="Xiaomi" +deviceinfo_date="" +deviceinfo_dtb="" +deviceinfo_modules_initfs="" +deviceinfo_arch="aarch64" + +# Device related +deviceinfo_keyboard="false" +deviceinfo_external_storage="true" +deviceinfo_screen_width="1080" +deviceinfo_screen_height="1920" +deviceinfo_dev_touchscreen="/dev/input/event1" +deviceinfo_dev_touchscreen_calibration="" +deviceinfo_dev_keyboard="" + +# Bootloader related +deviceinfo_flash_method="fastboot" +deviceinfo_kernel_cmdline="androidboot.hardware=qcom msm_rtb.filter=0x237 ehci-hcd.park=3 lpm_levels.sleep_disabled=1 androidboot.bootdevice=7824900.sdhci earlycon=msm_hsl_uart,0x78af000 buildvariant=userdebug" +deviceinfo_generate_bootimg="true" +deviceinfo_bootimg_qcdt="false" +deviceinfo_flash_offset_base="0x80000000" +deviceinfo_flash_offset_kernel="0x00008000" +deviceinfo_flash_offset_ramdisk="0x01000000" +deviceinfo_flash_offset_second="0x00f00000" +deviceinfo_flash_offset_tags="0x00000100" +deviceinfo_flash_pagesize="2048" + diff --git a/device/linux-xiaomi-mido/01_fix_gcc6_errors.patch b/device/linux-xiaomi-mido/01_fix_gcc6_errors.patch new file mode 100644 index 000000000..770806fe2 --- /dev/null +++ b/device/linux-xiaomi-mido/01_fix_gcc6_errors.patch @@ -0,0 +1,68 @@ +From 44f841be2a223d672eaf9fa3029fd9249aeca583 Mon Sep 17 00:00:00 2001 +From: MOVZX +Date: Tue, 25 Apr 2017 17:04:40 +0300 +Subject: [PATCH] prima: Fix GCC6 Warnings + +Signed-off-by: MOVZX +--- + drivers/staging/prima/CORE/MAC/src/include/utilsApi.h | 2 +- + drivers/staging/prima/CORE/MAC/src/pe/sch/schBeaconGen.c | 2 +- + drivers/staging/prima/CORE/SME/src/csr/csrApiScan.c | 2 +- + drivers/staging/prima/CORE/VOSS/src/wlan_nv_template_builtin.c | 5 ++--- + 4 files changed, 5 insertions(+), 6 deletions(-) + +diff --git a/drivers/staging/prima/CORE/MAC/src/include/utilsApi.h b/drivers/staging/prima/CORE/MAC/src/include/utilsApi.h +index 3a175473378..798a05cd2b4 100644 +--- a/drivers/staging/prima/CORE/MAC/src/include/utilsApi.h ++++ b/drivers/staging/prima/CORE/MAC/src/include/utilsApi.h +@@ -705,7 +705,7 @@ halRoundS32(tANI_S32 p) + else + k = p; + +- return(k); ++ return(k); + } + + // New functions for endianess conversion +diff --git a/drivers/staging/prima/CORE/MAC/src/pe/sch/schBeaconGen.c b/drivers/staging/prima/CORE/MAC/src/pe/sch/schBeaconGen.c +index 0fc798995ae..6427a04e108 100644 +--- a/drivers/staging/prima/CORE/MAC/src/pe/sch/schBeaconGen.c ++++ b/drivers/staging/prima/CORE/MAC/src/pe/sch/schBeaconGen.c +@@ -60,7 +60,7 @@ + // Temporarily (maybe for all of Alpha-1), assuming TIM = 0 + // + +-const tANI_U8 P2pOui[] = {0x50, 0x6F, 0x9A, 0x9}; ++tANI_U8 P2pOui[] = {0x50, 0x6F, 0x9A, 0x9}; + + + tSirRetStatus schGetP2pIeOffset(tANI_U8 *pExtraIe, tANI_U32 extraIeLen, tANI_U16 *pP2pIeOffset) +diff --git a/drivers/staging/prima/CORE/SME/src/csr/csrApiScan.c b/drivers/staging/prima/CORE/SME/src/csr/csrApiScan.c +index 23ab858c355..b4f26def1d1 100644 +--- a/drivers/staging/prima/CORE/SME/src/csr/csrApiScan.c ++++ b/drivers/staging/prima/CORE/SME/src/csr/csrApiScan.c +@@ -5698,7 +5698,7 @@ static tANI_BOOLEAN csrScanProcessScanResults( tpAniSirGlobal pMac, tSmeCmd *pCo + if (eHAL_STATUS_SUCCESS != status) + smsLog(pMac, LOGE, + FL( "failed to update the supported channel list")); +- pMac->scan.defer_update_channel_list = false; ++ pMac->scan.defer_update_channel_list = false; + } + + #ifdef WLAN_AP_STA_CONCURRENCY +diff --git a/drivers/staging/prima/CORE/VOSS/src/wlan_nv_template_builtin.c b/drivers/staging/prima/CORE/VOSS/src/wlan_nv_template_builtin.c +index 14c6eadf524..e26b697f793 100644 +--- a/drivers/staging/prima/CORE/VOSS/src/wlan_nv_template_builtin.c ++++ b/drivers/staging/prima/CORE/VOSS/src/wlan_nv_template_builtin.c +@@ -587,9 +587,8 @@ _NV_TEMPLATE_TABLE NvTablesBuiltIn[/*TABLES_MAX*/][TABLE_ENTRIES_MAX] = { + ((char *)&(nvDefaults.tables.hwCalValues.calData.psSlpTimeOvrHdxLNA5G) - + (char *)&nvDefaults.tables.hwCalValues.calData),"psSlpTimeOvrHdxLNA5G"}, + {"ed",_ID_U8,SINGULAR,0,0,0, +- (((char *)&(nvDefaults.tables.hwCalValues.calData.psSlpTimeOvrHdxLNA5G) + +- sizeof(uint16)) - (char *)&nvDefaults.tables.hwCalValues.calData), +- "nv_TxBBFSel9MHz"}, ++ ((char *)&(nvDefaults.tables.hwCalValues.calData.psSlpTimeOvrHdxLNA5G) - ++ (char *)&nvDefaults.tables.hwCalValues.calData),"nv_TxBBFSel9MHz"}, + {"ee",_ID_U8,SINGULAR,0,0,0, + ((char *)&(nvDefaults.tables.hwCalValues.calData.hwParam2) - + (char *)&nvDefaults.tables.hwCalValues.calData),"hwParam2"}, diff --git a/device/linux-xiaomi-mido/02_fix_msm_dba.patch b/device/linux-xiaomi-mido/02_fix_msm_dba.patch new file mode 100644 index 000000000..2061842c0 --- /dev/null +++ b/device/linux-xiaomi-mido/02_fix_msm_dba.patch @@ -0,0 +1,13 @@ +diff --git a/drivers/video/msm/msm_dba/msm_dba.c b/drivers/video/msm/msm_dba/msm_dba.c +index cc6512a..eb073a7 100644 +--- a/drivers/video/msm/msm_dba/msm_dba.c ++++ b/drivers/video/msm/msm_dba/msm_dba.c +@@ -22,7 +22,7 @@ + #include + + #include