Add Wiko Lenny3 device (#939)

This commit is contained in:
drebrez 2017-11-26 11:16:50 +01:00 committed by Oliver Smith
parent 2eeee445b9
commit 47f8f5fa53
8 changed files with 4641 additions and 0 deletions

View file

@ -0,0 +1,17 @@
pkgname="device-wiko-lenny3"
pkgdesc="Lenny 3"
pkgver=0.1
pkgrel=0
url="https://postmarketos.org"
license="MIT"
arch="noarch"
options="!check"
depends="linux-wiko-lenny3 mkbootimg"
source="deviceinfo"
package() {
install -Dm644 "$srcdir"/deviceinfo \
"$pkgdir"/etc/deviceinfo
}
sha512sums="caf71c039f3d1244a0c2305fba718bf629d9a3402d08c55929184b8ead49b9ce16c01dd1efc8ff4e62cb6c1ea9b39f4f212546e022c4b48ab620a9a083cc68ef deviceinfo"

View file

@ -0,0 +1,31 @@
# Reference: <https://postmarketos.org/deviceinfo>
# Please use double quotes only. You can source this file in shell scripts.
deviceinfo_format_version="0"
deviceinfo_name="Wiko Lenny 3"
deviceinfo_manufacturer="Wiko"
deviceinfo_date=""
deviceinfo_dtb=""
deviceinfo_modules_initfs=""
deviceinfo_external_disk_install="true"
deviceinfo_arch="armhf"
# Device related
deviceinfo_keyboard="false"
deviceinfo_external_disk="true"
deviceinfo_screen_width="720"
deviceinfo_screen_height="1280"
deviceinfo_dev_touchscreen="/dev/input/event5"
# Bootloader related
deviceinfo_flash_methods="sp-flash-tool"
deviceinfo_kernel_cmdline="bootopt=64S3,32S1,32S1"
deviceinfo_generate_bootimg="true"
deviceinfo_bootimg_qcdt="false"
deviceinfo_flash_offset_base="0x80000000"
deviceinfo_flash_offset_kernel="0x00008000"
deviceinfo_flash_offset_ramdisk="0x04000000"
deviceinfo_flash_offset_second="0x00f00000"
deviceinfo_flash_offset_tags="0x0e000000"
deviceinfo_flash_pagesize="2048"

View file

@ -0,0 +1,37 @@
diff --git a/Makefile b/Makefile
index 1ad63f5..af7a7c0 100644
--- a/Makefile
+++ b/Makefile
@@ -1494,13 +1494,13 @@ image_name:
@echo $(KBUILD_IMAGE)
# Clear a bunch of variables before executing the submake
-tools/: FORCE
- $(Q)mkdir -p $(objtree)/tools
- $(Q)$(MAKE) LDFLAGS= MAKEFLAGS="$(filter --j% -j,$(MAKEFLAGS))" O=$(objtree) subdir=tools -C $(src)/tools/
+#tools/: FORCE
+# $(Q)mkdir -p $(objtree)/tools
+# $(Q)$(MAKE) LDFLAGS= MAKEFLAGS="$(filter --j% -j,$(MAKEFLAGS))" O=$(objtree) subdir=tools -C $(src)/tools/
-tools/%: FORCE
- $(Q)mkdir -p $(objtree)/tools
- $(Q)$(MAKE) LDFLAGS= MAKEFLAGS="$(filter --j% -j,$(MAKEFLAGS))" O=$(objtree) subdir=tools -C $(src)/tools/ $*
+#tools/%: FORCE
+# $(Q)mkdir -p $(objtree)/tools
+# $(Q)$(MAKE) LDFLAGS= MAKEFLAGS="$(filter --j% -j,$(MAKEFLAGS))" O=$(objtree) subdir=tools -C $(src)/tools/ $*
# Single targets
# ---------------------------------------------------------------------------
diff --git a/arch/arm/Makefile b/arch/arm/Makefile
index 2fe43be..845dcd1 100644
--- a/arch/arm/Makefile
+++ b/arch/arm/Makefile
@@ -300,7 +300,7 @@ MTK_PROJECT := $(CONFIG_ARCH_MTK_PROJECT:"%"=%)
export MTK_PLATFORM MTK_PROJECT MTK_TARGET_PROJECT
KBUILD_CPPFLAGS += -I$(srctree)/drivers/misc/mediatek/include/mt-plat/$(MTK_PLATFORM)/include
KBUILD_CPPFLAGS += -I$(srctree)/arch/arm/mach-mediatek/include/
--include $(srctree)/scripts/drvgen/drvgen.mk
+#-include $(srctree)/scripts/drvgen/drvgen.mk
archprepare: $(DRVGEN_FILE_LIST)
dtbs: $(DRVGEN_FILE_LIST)

View file

@ -0,0 +1,306 @@
diff --git a/arch/arm/boot/dts/cust.dtsi b/arch/arm/boot/dts/cust.dtsi
new file mode 100644
index 0000000..1a55b21
--- /dev/null
+++ b/arch/arm/boot/dts/cust.dtsi
@@ -0,0 +1,300 @@
+/*
+ * Generated by MTK SP Drv_CodeGen Version 03.13.6 for MT6580. Copyright MediaTek Inc. (C) 2013.
+ * Sat Nov 25 16:49:33 2017
+ * Do Not Modify the File.
+ */
+
+#include <dt-bindings/interrupt-controller/irq.h>
+#include <dt-bindings/interrupt-controller/arm-gic.h>
+
+/*************************
+ * EINT DTSI File
+*************************/
+
+&accdet {
+ interrupt-parent = <&eintc>;
+ interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
+ debounce = <0 256000>;
+ status = "okay";
+};
+&mhall {
+ interrupt-parent = <&eintc>;
+ interrupts = <18 IRQ_TYPE_LEVEL_LOW>;
+ debounce = <18 16000>;
+ status = "okay";
+};
+&touch {
+ interrupt-parent = <&eintc>;
+ interrupts = <5 IRQ_TYPE_EDGE_FALLING>;
+ debounce = <5 0>;
+ status = "okay";
+};
+&als {
+ interrupt-parent = <&eintc>;
+ interrupts = <6 IRQ_TYPE_LEVEL_LOW>;
+ debounce = <6 0>;
+ status = "okay";
+};
+&dsi_te {
+ interrupt-parent = <&eintc>;
+ interrupts = <68 IRQ_TYPE_EDGE_RISING>;
+ debounce = <68 0>;
+ status = "okay";
+};
+
+
+/********************
+ * GPIO USAGE MAPPING DTSI File
+****************/
+
+&gpio_usage_mapping {
+ GPIO_FDD_BAND_SUPPORT_DETECT_1ST_PIN = <21>;
+ GPIO_SIM1_SCLK = <22>;
+ GPIO_SIM1_SIO = <23>;
+ GPIO_SIM2_SIO = <24>;
+ GPIO_SIM2_SCLK = <25>;
+ GPIO_FDD_BAND_SUPPORT_DETECT_2ND_PIN = <84>;
+};
+
+
+&eintc {
+};
+
+
+/*************************
+ * PMIC DTSI File
+*************************/
+
+&mt_pmic_vmc_ldo_reg {
+ regulator-name = "vmc";
+ regulator-default-on = <0>; /* 0:skip, 1: off, 2:on */
+ status = "okay";
+};
+&mt_pmic_vmch_ldo_reg {
+ regulator-name = "vmch";
+ regulator-default-on = <0>; /* 0:skip, 1: off, 2:on */
+ status = "okay";
+};
+&mt_pmic_vemc_3v3_ldo_reg {
+ regulator-name = "vemc3v3";
+ regulator-default-on = <0>; /* 0:skip, 1: off, 2:on */
+ status = "okay";
+};
+&mt_pmic_vgp1_ldo_reg {
+ regulator-name = "vgp1";
+ regulator-default-on = <0>; /* 0:skip, 1: off, 2:on */
+ status = "okay";
+};
+&mt_pmic_vgp2_ldo_reg {
+ regulator-name = "vgp2";
+ regulator-default-on = <0>; /* 0:skip, 1: off, 2:on */
+ status = "okay";
+};
+&mt_pmic_vgp3_ldo_reg {
+ regulator-name = "vgp3";
+ regulator-default-on = <0>; /* 0:skip, 1: off, 2:on */
+ status = "okay";
+};
+&mt_pmic_vcn_1v8_ldo_reg {
+ regulator-name = "vcn1v8";
+ regulator-default-on = <0>; /* 0:skip, 1: off, 2:on */
+ status = "okay";
+};
+&mt_pmic_vsim1_ldo_reg {
+ regulator-name = "vsim1";
+ regulator-default-on = <0>; /* 0:skip, 1: off, 2:on */
+ status = "okay";
+};
+&mt_pmic_vsim2_ldo_reg {
+ regulator-name = "vsim2";
+ regulator-default-on = <0>; /* 0:skip, 1: off, 2:on */
+ status = "okay";
+};
+&mt_pmic_vcamaf_ldo_reg {
+ regulator-name = "vcamaf";
+ regulator-default-on = <0>; /* 0:skip, 1: off, 2:on */
+ status = "okay";
+};
+&mt_pmic_vibr_ldo_reg {
+ regulator-name = "vibr";
+ regulator-default-on = <0>; /* 0:skip, 1: off, 2:on */
+ status = "okay";
+};
+&mt_pmic_vm_ldo_reg {
+ regulator-name = "vm";
+ regulator-default-on = <0>; /* 0:skip, 1: off, 2:on */
+ status = "okay";
+};
+&mt_pmic_vrf18_ldo_reg {
+ regulator-name = "vrf18";
+ regulator-default-on = <0>; /* 0:skip, 1: off, 2:on */
+ status = "okay";
+};
+&mt_pmic_vcamd_ldo_reg {
+ regulator-name = "vcamd";
+ regulator-default-on = <0>; /* 0:skip, 1: off, 2:on */
+ status = "okay";
+};
+&mt_pmic_vcanio_ldo_reg {
+ regulator-name = "vcanio";
+ regulator-default-on = <0>; /* 0:skip, 1: off, 2:on */
+ status = "okay";
+};
+&mt_pmic_vcama_ldo_reg {
+ regulator-name = "vcama";
+ regulator-default-on = <0>; /* 0:skip, 1: off, 2:on */
+ status = "okay";
+};
+&mt_pmic_vcn33_ldo_reg {
+ regulator-name = "vcn33";
+ regulator-default-on = <0>; /* 0:skip, 1: off, 2:on */
+ status = "okay";
+};
+&mt_pmic_vcn28_ldo_reg {
+ regulator-name = "vcn28";
+ regulator-default-on = <0>; /* 0:skip, 1: off, 2:on */
+ status = "okay";
+};
+
+&kd_camera_hw1 {
+ vcamd-supply = <&mt_pmic_vgp3_ldo_reg>;
+
+ vcamaf-supply = <&mt_pmic_vcamaf_ldo_reg>;
+
+ vcamd_main2-supply = <&mt_pmic_vcamd_ldo_reg>;
+ vcamd_sub-supply = <&mt_pmic_vcamd_ldo_reg>;
+
+ vcamio-supply = <&mt_pmic_vcanio_ldo_reg>;
+ vcamio_main2-supply = <&mt_pmic_vcanio_ldo_reg>;
+ vcamio_sub-supply = <&mt_pmic_vcanio_ldo_reg>;
+
+ vcama-supply = <&mt_pmic_vcama_ldo_reg>;
+ vcama_main2-supply = <&mt_pmic_vcama_ldo_reg>;
+ vcama_sub-supply = <&mt_pmic_vcama_ldo_reg>;
+
+ status = "okay";
+};
+
+&touch {
+ vtouch-supply = <&mt_pmic_vgp1_ldo_reg>;
+ status = "okay";
+};
+
+
+/********************************************
+ *ADC DTSI File
+********************************************/
+
+&auxadc {
+ adc_channel@ {
+ compatible = "mediatek,adc_channel";
+ mediatek,temperature0 = <0>;
+ mediatek,temperature1 = <1>;
+ mediatek,lcm_voltage = <12>;
+ status = "okay";
+ };
+};
+
+
+/**********************************************
+ *CLK_BUF DTSI File
+********************************************/
+
+&rf_clock_buffer_ctrl {
+ mediatek,clkbuf-quantity = <4>;
+ mediatek,clkbuf-config = <2 2 1 1>;
+ status = "okay";
+};
+
+
+/**********************************************
+ *Keypad DTSI File
+********************************************/
+
+&keypad{
+ mediatek,kpd-key-debounce = <1024>;
+ mediatek,kpd-sw-pwrkey = <116>;
+ mediatek,kpd-hw-pwrkey = <8>;
+ mediatek,kpd-use-extend-type = <0>;
+ /*HW Keycode [0~71] -> Linux Keycode*/
+ mediatek,kpd-hw-map-num = <72>;
+ mediatek,kpd-hw-init-map = <115 114 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 >;
+ mediatek,kpd-pwrkey-eint-gpio = <0>;
+ mediatek,kpd-pwkey-gpio-din = <0>;
+ mediatek,kpd-hw-dl-key0 = <0>;
+ mediatek,kpd-hw-dl-key1 = <1>;
+ mediatek,kpd-hw-dl-key2 = <8>;
+ mediatek,kpd-hw-recovery-key = <0>;
+ mediatek,kpd-hw-factory-key = <1>;
+ status = "okay";
+};
+
+
+/*************************
+ * I2C DTSI File
+*************************/
+
+&i2c0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ camera_main@36 {
+ compatible = "mediatek,camera_main";
+ reg = <0x36>;
+ status = "okay";
+ };
+ camera_main_af@0c {
+ compatible = "mediatek,camera_main_af";
+ reg = <0x0c>;
+ status = "okay";
+ };
+ camera_sub@21 {
+ compatible = "mediatek,camera_sub";
+ reg = <0x21>;
+ status = "okay";
+ };
+};
+
+&i2c1 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ cap_touch@39 {
+ compatible = "mediatek,cap_touch";
+ reg = <0x39>;
+ status = "okay";
+ };
+ ext_buck@60 {
+ compatible = "mediatek,ext_buck";
+ reg = <0x60>;
+ status = "okay";
+ };
+};
+
+&i2c2 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ strobe_main@63 {
+ compatible = "mediatek,strobe_main";
+ reg = <0x63>;
+ status = "okay";
+ };
+ msensor@0c {
+ compatible = "mediatek,msensor";
+ reg = <0x0c>;
+ status = "okay";
+ };
+ gsensor@4c {
+ compatible = "mediatek,gsensor";
+ reg = <0x4c>;
+ status = "okay";
+ };
+ alsps@23 {
+ compatible = "mediatek,alsps";
+ reg = <0x23>;
+ status = "okay";
+ };
+};
+
+
+

View file

@ -0,0 +1,467 @@
diff --git a/drivers/misc/mediatek/base/power/mt6580/mt_pm_init.c b/drivers/misc/mediatek/base/power/mt6580/mt_pm_init.c
index fa94f49..44cc1ce 100644
--- a/drivers/misc/mediatek/base/power/mt6580/mt_pm_init.c
+++ b/drivers/misc/mediatek/base/power/mt6580/mt_pm_init.c
@@ -12,10 +12,10 @@
#include <mach/irqs.h>
#include <mach/mt_clkmgr.h>
#include <mach/mt_clkbuf_ctl.h>
-#include <mt_cpufreq.h>
-#include <mt_gpufreq.h>
+#include "mt_cpufreq.h"
+#include "mt_gpufreq.h"
#include <mt-plat/sync_write.h>
-#include <mt_spm.h>
+#include "mt_spm.h"
#include "mt_sleep.h"
#include "mt_cpuidle.h"
diff --git a/drivers/misc/mediatek/btcvsd/inc/mt6580/AudDrv_BTCVSD.h b/drivers/misc/mediatek/btcvsd/inc/mt6580/AudDrv_BTCVSD.h
index d45756e..60a56f3 100644
--- a/drivers/misc/mediatek/btcvsd/inc/mt6580/AudDrv_BTCVSD.h
+++ b/drivers/misc/mediatek/btcvsd/inc/mt6580/AudDrv_BTCVSD.h
@@ -2,7 +2,7 @@
#define AUDDRV_BTCVSD_H
#include <linux/types.h>
-#include "AudioBTCVSDDef.h"
+#include "../../AudioBTCVSDDef.h"
#undef DEBUG_AUDDRV
#ifdef DEBUG_AUDDRV
diff --git a/drivers/misc/mediatek/cmdq/v2/cmdq_def.h b/drivers/misc/mediatek/cmdq/v2/cmdq_def.h
index 9c93482..c9695ff 100644
--- a/drivers/misc/mediatek/cmdq/v2/cmdq_def.h
+++ b/drivers/misc/mediatek/cmdq/v2/cmdq_def.h
@@ -9,7 +9,7 @@
#ifdef CMDQ_COMMON_ENG_SUPPORT
#include "cmdq_engine_common.h"
#else
-#include "cmdq_engine.h"
+#include "mt6580/cmdq_engine.h"
#endif
#define CMDQ_SPECIAL_SUBSYS_ADDR (99)
diff --git a/drivers/misc/mediatek/gpio/mt6580/6580_gpio.h b/drivers/misc/mediatek/gpio/mt6580/6580_gpio.h
index 5616652..70f57a1 100644
--- a/drivers/misc/mediatek/gpio/mt6580/6580_gpio.h
+++ b/drivers/misc/mediatek/gpio/mt6580/6580_gpio.h
@@ -1,7 +1,7 @@
#ifndef _6580_GPIO_H
#define _6580_GPIO_H
-#include <mt_gpio_base.h>
+#include "mt_gpio_base.h"
#include <linux/slab.h>
#include <linux/device.h>
diff --git a/drivers/misc/mediatek/gpio/mt6580/mt_gpio_affix.c b/drivers/misc/mediatek/gpio/mt6580/mt_gpio_affix.c
index 2172877..df110eb 100644
--- a/drivers/misc/mediatek/gpio/mt6580/mt_gpio_affix.c
+++ b/drivers/misc/mediatek/gpio/mt6580/mt_gpio_affix.c
@@ -5,7 +5,7 @@
#include <linux/device.h>
/* #include <mach/mt_gpio.h> */
#include <mt-plat/mt_gpio_core.h>
-#include <6580_gpio.h>
+#include "6580_gpio.h"
void mt_gpio_pin_decrypt(unsigned long *cipher)
diff --git a/drivers/misc/mediatek/gpio/mt6580/mt_gpio_base.c b/drivers/misc/mediatek/gpio/mt6580/mt_gpio_base.c
index bfcb1f2..2071012 100644
--- a/drivers/misc/mediatek/gpio/mt6580/mt_gpio_base.c
+++ b/drivers/misc/mediatek/gpio/mt6580/mt_gpio_base.c
@@ -9,14 +9,14 @@
******************************************************************************/
-#include <6580_gpio.h>
+#include "6580_gpio.h"
#include <linux/types.h>
#include "mt-plat/sync_write.h"
#include <mt-plat/mt_gpio.h>
#include <mt-plat/mt_gpio_core.h>
-#include <mt_gpio_base.h>
+#include "mt_gpio_base.h"
/* autogen */
-#include <gpio_cfg.h>
+#include "gpio_cfg.h"
#ifdef CONFIG_OF
#include <linux/of_address.h>
#endif
diff --git a/drivers/misc/mediatek/gpio/mt6580/mt_gpio_base_linux.c b/drivers/misc/mediatek/gpio/mt6580/mt_gpio_base_linux.c
index 3ebe637..149e03a 100644
--- a/drivers/misc/mediatek/gpio/mt6580/mt_gpio_base_linux.c
+++ b/drivers/misc/mediatek/gpio/mt6580/mt_gpio_base_linux.c
@@ -6,7 +6,7 @@
#include <linux/platform_device.h>
#include <linux/seq_file.h>
-#include <mt_gpio_base.h>
+#include "mt_gpio_base.h"
#include <mt-plat/mt_gpio_core.h>
/*#include <mach/eint.h>*/
#include <linux/interrupt.h>
diff --git a/drivers/misc/mediatek/gpio/mt6580/mt_gpio_debug.c b/drivers/misc/mediatek/gpio/mt6580/mt_gpio_debug.c
index 61cb3b3..74c811d 100644
--- a/drivers/misc/mediatek/gpio/mt6580/mt_gpio_debug.c
+++ b/drivers/misc/mediatek/gpio/mt6580/mt_gpio_debug.c
@@ -9,7 +9,7 @@
******************************************************************************/
#include <linux/slab.h>
-#include <6580_gpio.h>
+#include "6580_gpio.h"
#include <mt-plat/mt_gpio.h>
#include <mt-plat/mt_gpio_core.h>
diff --git a/drivers/misc/mediatek/gpio/mt6580/mt_gpio_ext.c b/drivers/misc/mediatek/gpio/mt6580/mt_gpio_ext.c
index a35c91a..99245e1 100644
--- a/drivers/misc/mediatek/gpio/mt6580/mt_gpio_ext.c
+++ b/drivers/misc/mediatek/gpio/mt6580/mt_gpio_ext.c
@@ -10,7 +10,7 @@
#include <mt-plat/mt_gpio.h>
#include <mt-plat/mt_gpio_core.h>
-#include <mt_gpio_ext.h>
+#include "mt_gpio_ext.h"
/* #define MAX_GPIO_REG_BITS 16 */
/* #define MAX_GPIO_MODE_PER_REG 5 */
diff --git a/drivers/misc/mediatek/i2c/mt6580/i2c.c b/drivers/misc/mediatek/i2c/mt6580/i2c.c
index 8d33223..d5b77d7 100644
--- a/drivers/misc/mediatek/i2c/mt6580/i2c.c
+++ b/drivers/misc/mediatek/i2c/mt6580/i2c.c
@@ -28,7 +28,7 @@
/* #include <mach/dma.h> */
/* #include <mach/mt_reg_base.h> */
/* #include "mach/memory.h" */
-#include <mt_i2c.h>
+#include "mt_i2c.h"
#include <mt-plat/mt_gpio.h>
#include <mt-plat/sync_write.h>
diff --git a/drivers/misc/mediatek/i2c/mt6580/i2c_common.c b/drivers/misc/mediatek/i2c/mt6580/i2c_common.c
index a63c5d8..f8477a8 100644
--- a/drivers/misc/mediatek/i2c/mt6580/i2c_common.c
+++ b/drivers/misc/mediatek/i2c/mt6580/i2c_common.c
@@ -8,7 +8,7 @@
#include <linux/err.h>
/* #include <mach/mt_pm_ldo.h> */
#include <asm/memory.h>
-#include <mt_i2c.h>
+#include "mt_i2c.h"
static char data_buffer[256 * 4];
diff --git a/drivers/misc/mediatek/include/mt-plat/mt6580/include/mach/mt_thermal.h b/drivers/misc/mediatek/include/mt-plat/mt6580/include/mach/mt_thermal.h
index 26d6e64..b64af3d 100644
--- a/drivers/misc/mediatek/include/mt-plat/mt6580/include/mach/mt_thermal.h
+++ b/drivers/misc/mediatek/include/mt-plat/mt6580/include/mach/mt_thermal.h
@@ -12,7 +12,7 @@
#include "mt-plat/sync_write.h"
#include "mtk_thermal_typedefs.h"
-#include "mt_gpufreq.h"
+#include "../../../../../../../../drivers/misc/mediatek/base/power/mt6580/mt_gpufreq.h"
/* #include "mach/mt6575_auxadc_hw.h" */
#if !defined(CONFIG_MTK_LEGACY)
diff --git a/drivers/misc/mediatek/include/mt-plat/sd_misc.h b/drivers/misc/mediatek/include/mt-plat/sd_misc.h
index 7e6768c..81581dc 100644
--- a/drivers/misc/mediatek/include/mt-plat/sd_misc.h
+++ b/drivers/misc/mediatek/include/mt-plat/sd_misc.h
@@ -10,7 +10,7 @@
#include <linux/mmc/sd.h>
#endif
-#include <mt_sd.h>
+#include "../../../../mmc/host/mediatek/mt6580/mt_sd.h"
#ifndef FPGA_PLATFORM
extern void msdc_set_driving(struct msdc_host *host, struct msdc_hw *hw, bool sd_18);
diff --git a/drivers/misc/mediatek/m4u/2.0/m4u_pgtable.h b/drivers/misc/mediatek/m4u/2.0/m4u_pgtable.h
index 48f896a..1948a02 100644
--- a/drivers/misc/mediatek/m4u/2.0/m4u_pgtable.h
+++ b/drivers/misc/mediatek/m4u/2.0/m4u_pgtable.h
@@ -1,7 +1,7 @@
#ifndef __M4U_PGTABLE_H__
#define __M4U_PGTABLE_H__
-#include "m4u_reg.h"
+#include "../mt6580/m4u_reg.h"
/* ================================================================= */
/* 2 level pagetable: pgd -> pte */
diff --git a/drivers/misc/mediatek/m4u/2.0/m4u_v2.h b/drivers/misc/mediatek/m4u/2.0/m4u_v2.h
index 6063d8c..c5b2895 100644
--- a/drivers/misc/mediatek/m4u/2.0/m4u_v2.h
+++ b/drivers/misc/mediatek/m4u/2.0/m4u_v2.h
@@ -2,7 +2,7 @@
#define __M4U_V2_H__
#include <linux/ioctl.h>
#include <linux/fs.h>
-#include "m4u_port.h"
+#include "../mt6580/m4u_port.h"
#include <linux/scatterlist.h>
typedef int M4U_PORT_ID;
diff --git a/drivers/misc/mediatek/power/mt6580/pmic.c b/drivers/misc/mediatek/power/mt6580/pmic.c
index 0018c5b..620814b 100644
--- a/drivers/misc/mediatek/power/mt6580/pmic.c
+++ b/drivers/misc/mediatek/power/mt6580/pmic.c
@@ -92,8 +92,8 @@
#endif
/* #include <mach/upmu_common.h> */
#include <mt-plat/upmu_common.h>
-#include <pmic.h>
-#include <pmic_dvt.h>
+#include "pmic.h"
+#include "pmic_dvt.h"
/*
* PMIC extern variable
diff --git a/drivers/misc/mediatek/uart/include/mtk_uart.h b/drivers/misc/mediatek/uart/include/mtk_uart.h
index d971cb0..65b86bd 100644
--- a/drivers/misc/mediatek/uart/include/mtk_uart.h
+++ b/drivers/misc/mediatek/uart/include/mtk_uart.h
@@ -5,7 +5,7 @@
#include <mach/mt_reg_base.h>
#endif
#include <mt-plat/sync_write.h>
-#include "platform_uart.h"
+#include "../mt6580/platform_uart.h"
/*---------------------------------------------------------------------------*/
#if defined(ENABLE_VFIFO_DEBUG)
diff --git a/drivers/misc/mediatek/uart/include/mtk_uart_intf.h b/drivers/misc/mediatek/uart/include/mtk_uart_intf.h
index aff13c8..8d97dfa 100644
--- a/drivers/misc/mediatek/uart/include/mtk_uart_intf.h
+++ b/drivers/misc/mediatek/uart/include/mtk_uart_intf.h
@@ -1,7 +1,7 @@
#ifndef __MTK_UART_INTF_H__
#define __MTK_UART_INTF_H__
-#include "platform_uart.h"
+#include "../mt6580/platform_uart.h"
#include <linux/platform_device.h>
/*---------------------------------------------------------------------------*/
/* fiq debugger */
diff --git a/drivers/misc/mediatek/video/common/mtkfb_fence.h b/drivers/misc/mediatek/video/common/mtkfb_fence.h
index d8bae15..0c783ae 100644
--- a/drivers/misc/mediatek/video/common/mtkfb_fence.h
+++ b/drivers/misc/mediatek/video/common/mtkfb_fence.h
@@ -4,8 +4,8 @@
#include <linux/mutex.h>
#include <linux/list.h>
#include "disp_session.h"
-#include "disp_drv_platform.h"
-#include "display_recorder.h"
+#include "../mt6580/videox/disp_drv_platform.h"
+#include "../mt6580/dispsys/display_recorder.h"
#ifdef __cplusplus
extern "C" {
diff --git a/drivers/misc/mediatek/video/common/rdma10/ddp_rdma.h b/drivers/misc/mediatek/video/common/rdma10/ddp_rdma.h
index 4f4b3ac..fa72567 100644
--- a/drivers/misc/mediatek/video/common/rdma10/ddp_rdma.h
+++ b/drivers/misc/mediatek/video/common/rdma10/ddp_rdma.h
@@ -4,8 +4,8 @@
#include <mt-plat/sync_write.h>
#include <linux/types.h>
/* #include <mach/mt_reg_base.h> */
-#include "ddp_info.h"
-#include "ddp_hal.h"
+#include "../../mt6580/dispsys/ddp_info.h"
+#include "../../mt6580/dispsys/ddp_hal.h"
extern unsigned long long rdma_start_time[];
extern unsigned long long rdma_end_time[];
diff --git a/drivers/misc/mediatek/video/common/wdma10/ddp_wdma.h b/drivers/misc/mediatek/video/common/wdma10/ddp_wdma.h
index 78e8517..1649f10 100644
--- a/drivers/misc/mediatek/video/common/wdma10/ddp_wdma.h
+++ b/drivers/misc/mediatek/video/common/wdma10/ddp_wdma.h
@@ -1,8 +1,8 @@
#ifndef _DDP_WDMA_H_
#define _DDP_WDMA_H_
-#include "ddp_hal.h"
-#include "ddp_info.h"
+#include "../../mt6580/dispsys/ddp_hal.h"
+#include "../../mt6580/dispsys/ddp_info.h"
/* start module */
int wdma_start(DISP_MODULE_ENUM module, void *handle);
diff --git a/drivers/misc/mediatek/video/mt6580/dispsys/ddp_dsi.h b/drivers/misc/mediatek/video/mt6580/dispsys/ddp_dsi.h
index c47e64f..b311776 100644
--- a/drivers/misc/mediatek/video/mt6580/dispsys/ddp_dsi.h
+++ b/drivers/misc/mediatek/video/mt6580/dispsys/ddp_dsi.h
@@ -5,7 +5,7 @@
#include "lcm_drv.h"
#include "ddp_hal.h"
#include "ddp_info.h"
-#include "fbconfig_kdebug_x.h"
+#include "../videox/fbconfig_kdebug_x.h"
#include "ddp_manager.h"
#ifdef __cplusplus
diff --git a/drivers/misc/mediatek/video/mt6580/dispsys/ddp_log.h b/drivers/misc/mediatek/video/mt6580/dispsys/ddp_log.h
index b7c226d..6cf5093 100644
--- a/drivers/misc/mediatek/video/mt6580/dispsys/ddp_log.h
+++ b/drivers/misc/mediatek/video/mt6580/dispsys/ddp_log.h
@@ -6,7 +6,7 @@
#include "display_recorder.h"
#include "ddp_debug.h"
-#include "debug.h"
+#include "../videox/debug.h"
#ifndef LOG_TAG
#define LOG_TAG
#endif
diff --git a/drivers/misc/mediatek/video/mt6580/dispsys/ddp_pwm_mux.c b/drivers/misc/mediatek/video/mt6580/dispsys/ddp_pwm_mux.c
index 23923ea..4362b4d 100644
--- a/drivers/misc/mediatek/video/mt6580/dispsys/ddp_pwm_mux.c
+++ b/drivers/misc/mediatek/video/mt6580/dispsys/ddp_pwm_mux.c
@@ -3,7 +3,7 @@
#include <linux/delay.h>
#include <linux/sched.h>
#include <ddp_pwm_mux.h>
-#include <ddp_reg.h>
+#include "ddp_reg.h"
#include <mach/mt_clkmgr.h>
#define PWM_MSG(fmt, arg...) pr_debug("[PWM] " fmt "\n", ##arg)
diff --git a/drivers/misc/mediatek/video/mt6580/videox/disp_drv_log.h b/drivers/misc/mediatek/video/mt6580/videox/disp_drv_log.h
index d64351f..bb464b9 100644
--- a/drivers/misc/mediatek/video/mt6580/videox/disp_drv_log.h
+++ b/drivers/misc/mediatek/video/mt6580/videox/disp_drv_log.h
@@ -1,7 +1,7 @@
#ifndef __DISP_DRV_LOG_H__
#define __DISP_DRV_LOG_H__
-#include "display_recorder.h"
-#include "ddp_debug.h"
+#include "../dispsys/display_recorder.h"
+#include "../dispsys/ddp_debug.h"
#include "debug.h"
extern unsigned int dprec_error_log_len;
diff --git a/drivers/misc/mediatek/video/mt6580/videox/disp_drv_platform.h b/drivers/misc/mediatek/video/mt6580/videox/disp_drv_platform.h
index ba468d8..2bf806f 100644
--- a/drivers/misc/mediatek/video/mt6580/videox/disp_drv_platform.h
+++ b/drivers/misc/mediatek/video/mt6580/videox/disp_drv_platform.h
@@ -11,9 +11,9 @@
/* #include <mach/mt_irq.h> */
/* #include <mach/boot.h> */
/* #include <board-custom.h> */
-#include "ddp_hal.h"
-#include "ddp_drv.h"
-#include "ddp_path.h"
+#include "../dispsys/ddp_hal.h"
+#include "../dispsys/ddp_drv.h"
+#include "../dispsys/ddp_path.h"
#include <mt-plat/sync_write.h>
diff --git a/drivers/misc/mediatek/video/mt6580/videox/primary_display.h b/drivers/misc/mediatek/video/mt6580/videox/primary_display.h
index 788d960..3152813 100644
--- a/drivers/misc/mediatek/video/mt6580/videox/primary_display.h
+++ b/drivers/misc/mediatek/video/mt6580/videox/primary_display.h
@@ -1,8 +1,8 @@
#ifndef _PRIMARY_DISPLAY_H_
#define _PRIMARY_DISPLAY_H_
-#include "ddp_hal.h"
-#include "ddp_manager.h"
+#include "../dispsys/ddp_hal.h"
+#include "../dispsys/ddp_manager.h"
#include <linux/types.h>
#include "disp_session.h"
diff --git a/drivers/pinctrl/mediatek/pinctrl-mtk-mt6580.h b/drivers/pinctrl/mediatek/pinctrl-mtk-mt6580.h
index d4b96bc..c025194 100644
--- a/drivers/pinctrl/mediatek/pinctrl-mtk-mt6580.h
+++ b/drivers/pinctrl/mediatek/pinctrl-mtk-mt6580.h
@@ -12,7 +12,7 @@
#define __PINCTRL_MTK_MT6580_H
#include <linux/pinctrl/pinctrl.h>
-#include <pinctrl-mtk-common.h>
+#include "pinctrl-mtk-common.h"
static const struct mtk_desc_pin mtk_pins_mt6580[] = {
MTK_PIN(
diff --git a/drivers/spi/mediatek/mt6580/spi-dev.c b/drivers/spi/mediatek/mt6580/spi-dev.c
index 90bfad9..3d0d0d9 100644
--- a/drivers/spi/mediatek/mt6580/spi-dev.c
+++ b/drivers/spi/mediatek/mt6580/spi-dev.c
@@ -7,8 +7,8 @@
#include <linux/dma-mapping.h>
#include <linux/sched.h>
#include <linux/kthread.h>
-#include <mt_spi.h>
-#include <mt_spi_hal.h>
+#include "mt_spi.h"
+#include "mt_spi_hal.h"
#define SPIDEV_LOG(fmt, args...) pr_err("[SPI-UT]: [%s]:[%d]" fmt, __func__, __LINE__, ##args)
#define SPIDEV_MSG(fmt, args...) pr_info(fmt, ##args)
diff --git a/drivers/spi/mediatek/mt6580/spi.c b/drivers/spi/mediatek/mt6580/spi.c
index aee730b..2697fd9 100644
--- a/drivers/spi/mediatek/mt6580/spi.c
+++ b/drivers/spi/mediatek/mt6580/spi.c
@@ -26,8 +26,8 @@
#include <mach/mt_clkmgr.h>
#endif
#include <mach/irqs.h>
-#include <mt_spi.h>
-#include <mt_spi_hal.h>
+#include "mt_spi.h"
+#include "mt_spi_hal.h"
#if (defined(CONFIG_MTK_FPGA))
#define CONFIG_MT_SPI_FPGA_ENABLE
diff --git a/drivers/watchdog/mediatek/wdt/mt6580/mtk_wdt.c b/drivers/watchdog/mediatek/wdt/mt6580/mtk_wdt.c
index e8d765b..1613dc5 100644
--- a/drivers/watchdog/mediatek/wdt/mt6580/mtk_wdt.c
+++ b/drivers/watchdog/mediatek/wdt/mt6580/mtk_wdt.c
@@ -11,7 +11,7 @@
#include <asm/uaccess.h>
#include <linux/types.h>
-#include <mt_wdt.h>
+#include "mt_wdt.h"
#include <linux/delay.h>
#include <linux/device.h>
diff --git a/kernel/power/tuxonice_ui.c b/kernel/power/tuxonice_ui.c
index fc3ac65..cdcc531 100644
--- a/kernel/power/tuxonice_ui.c
+++ b/kernel/power/tuxonice_ui.c
@@ -124,7 +124,7 @@ void toi_early_boot_message(int message_detail, int default_answer, char *warnin
say("BIG FAT WARNING!! %s", local_printf_buf);
switch (message_detail) {
case 0:
- say("If you continue booting, note that any image WILL NOT BE REMOVED")
+ say("If you continue booting, note that any image WILL NOT BE REMOVED");
/* TuxOnIce is unable to do so because the appropriate modules aren't loaded.
* You should manually remove the image to avoid any possibility of corrupting
* your filesystem(s) later.
diff --git a/kernel/power/tuxonice_userui.c b/kernel/power/tuxonice_userui.c
index 77e0a37..faf1919 100644
--- a/kernel/power/tuxonice_userui.c
+++ b/kernel/power/tuxonice_userui.c
@@ -315,10 +315,10 @@ static void userui_prepare_status(int clearbar, const char *fmt, ...)
if (clearbar)
toi_update_status(0, 1, NULL);
- if (ui_helper_data.pid == -1)
+ //if (ui_helper_data.pid == -1)
pr_err("%s\n", lastheader);
- else
- toi_message(0, TOI_STATUS, 1, lastheader, NULL);
+ //else
+ // toi_message(0, TOI_STATUS, 1, lastheader, NULL);
}
/**

View file

@ -0,0 +1,85 @@
# Kernel config based on: arch/arm/configs/v3702_defconfig
pkgname="linux-wiko-lenny3"
pkgver=3.18.19
pkgrel=0
pkgdesc="Wiko Lenny 3 Kernel"
arch="armhf"
_carch="arm"
_flavor="wiko-lenny3"
url="https://wikomobile.com"
license="GPL2"
options="!strip !check !tracedeps"
makedepends="perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev"
HOSTCC="${CC:-gcc}"
HOSTCC="${HOSTCC#${CROSS_COMPILE}}"
# Source
_download_url="http://www.wikogeek.com/index.php?tel="
_download_id="65b9eea6e1cc6bb9f0cd2a47751a186f"
_config="config-${_flavor}.${arch}"
source="
$pkgname-$_download_id.zip::${_download_url}${_download_id}
$_config
compiler-gcc6.h
00_disable_drvgen.patch
01_add_generated_cust_dtsi.patch
02_fix_various_include_directives.patch
"
builddir="$srcdir/LENNY3_OpenSource/kernel-3.18"
prepare() {
default_prepare
# gcc6 support
cp -v "$srcdir/compiler-gcc6.h" "$builddir/include/linux/"
# Remove -Werror from all makefiles
find . -type f -name Makefile -print0 | \
xargs -0 sed -i 's/-Werror-/-W/g'
find . -type f -name Makefile -print0 | \
xargs -0 sed -i 's/-Werror//g'
# Prepare kernel config ('yes ""' for kernels lacking olddefconfig)
cp "$srcdir"/$_config "$builddir"/.config
yes "" | make ARCH="$_carch" HOSTCC="$HOSTCC" oldconfig
}
menuconfig() {
cd "$builddir"
make ARCH="$_carch" menuconfig
cp .config "$startdir"/$_config
}
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="83c56f0c8569b7ca3cd29ebb5769ebcc1bb457c9eefeacfa1ad3620436693fc7cbaeda93c7a2157ab92f463b0b1431a3f3a79e14a783000199dea1cc5b2d3e77 linux-wiko-lenny3-65b9eea6e1cc6bb9f0cd2a47751a186f.zip
a1fea5c1e3cc7341b9426e1475d694aaf98f3083396a456eb90185bca43ee98b986771327fe621823d6935be19ca5aafcec932de662850843de55e6e235c6481 config-wiko-lenny3.armhf
d80980e9474c82ba0ef1a6903b434d8bd1b092c40367ba543e72d2c119301c8b2d05265740e4104ca1ac5d15f6c4aa49e8776cb44264a9a28dc551e0d1850dcc compiler-gcc6.h
8a04940e6f5424df67a3cc4c75dd19be1c9b560859e9db0ae67b766d52982a46156b601698afb80f90b9b99f63ef74e1f6147902b43ec97c25d2b75ba2f8d2b3 00_disable_drvgen.patch
adda36d779a79b2f840361a7df91028fdb86dd9aa7d2b431b8bd1fc674175d6c5bd098f7a6765cc4e3f7b3428ff7d35d9f5bac31cb7602ea270a6affe843a2e9 01_add_generated_cust_dtsi.patch
42a7ef954d517f945bdbca16d92aff63b6b07260d666119dc96c33db577231f907c7968d9466bf163c397a37f4fb23a6886047b1eb821aa14687d43442c8e615 02_fix_various_include_directives.patch"

View file

@ -0,0 +1,69 @@
// SOURCE:
// https://github.com/NextThingCo/CHIP-u-boot/issues/10#issuecomment-287515505
#ifndef __LINUX_COMPILER_H
#error "Please don't include <linux/compiler-gcc6.h> directly, include <linux/compiler.h> instead."
#endif
#define __used __attribute__((__used__))
#define __must_check __attribute__((warn_unused_result))
#define __compiler_offsetof(a, b) __builtin_offsetof(a, b)
/* Mark functions as cold. gcc will assume any path leading to a call
to them will be unlikely. This means a lot of manual unlikely()s
are unnecessary now for any paths leading to the usual suspects
like BUG(), printk(), panic() etc. [but let's keep them for now for
older compilers]
Early snapshots of gcc 4.3 don't support this and we can't detect this
in the preprocessor, but we can live with this because they're unreleased.
Maketime probing would be overkill here.
gcc also has a __attribute__((__hot__)) to move hot functions into
a special section, but I don't see any sense in this right now in
the kernel context */
#define __cold __attribute__((__cold__))
#define __UNIQUE_ID(prefix) __PASTE(__PASTE(__UNIQUE_ID_, prefix), __COUNTER__)
#ifndef __CHECKER__
# define __compiletime_warning(message) __attribute__((warning(message)))
# define __compiletime_error(message) __attribute__((error(message)))
#endif /* __CHECKER__ */
/*
* Mark a position in code as unreachable. This can be used to
* suppress control flow warnings after asm blocks that transfer
* control elsewhere.
*
* Early snapshots of gcc 4.5 don't support this and we can't detect
* this in the preprocessor, but we can live with this because they're
* unreleased. Really, we need to have autoconf for the kernel.
*/
#define unreachable() __builtin_unreachable()
/* Mark a function definition as prohibited from being cloned. */
#define __noclone __attribute__((__noclone__))
/*
* Tell the optimizer that something else uses this function or variable.
*/
#define __visible __attribute__((externally_visible))
/*
* GCC 'asm goto' miscompiles certain code sequences:
*
* http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58670
*
* Work it around via a compiler barrier quirk suggested by Jakub Jelinek.
*
* (asm goto is automatically volatile - the naming reflects this.)
*/
#define asm_volatile_goto(x...) do { asm goto(x); asm (""); } while (0)
#ifdef CONFIG_ARCH_USE_BUILTIN_BSWAP
#define __HAVE_BUILTIN_BSWAP32__
#define __HAVE_BUILTIN_BSWAP64__
#define __HAVE_BUILTIN_BSWAP16__
#endif /* CONFIG_ARCH_USE_BUILTIN_BSWAP */

File diff suppressed because it is too large Load diff