Skip to content

Commit

Permalink
Adds motorola-addison device.
Browse files Browse the repository at this point in the history
  • Loading branch information
samueldr committed Nov 17, 2018
1 parent 9edf553 commit 5624723
Show file tree
Hide file tree
Showing 7 changed files with 5,546 additions and 0 deletions.
42 changes: 42 additions & 0 deletions devices/motorola-addison/default.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
{ config, lib, pkgs, ... }:

{
mobile.device.name = "motorola-addison";
mobile.device.info = {
format_version = "0";
name = "Motorola Moto Z Play";
manufacturer = "Motorola";
date = "";
dtb = "";
modules_initfs = "";
arch = "aarch64";
keyboard = false;
external_storage = true;
screen_width = "1080";
screen_height = "1920";
dev_touchscreen = "";
dev_touchscreen_calibration = "";
dev_keyboard = "";
flash_method = "fastboot";
kernel_cmdline = "console=ttyHSL0,115200,n8 androidboot.console=ttyHSL0 androidboot.hardware=qcom user_debug=30 msm_rtb.filter=0x237 ehci-hcd.park=3 androidboot.bootdevice=7824900.sdhci lpm_levels.sleep_disabled=1 vmalloc=350M buildvariant=userdebug";
generate_bootimg = true;
bootimg_qcdt = true;
flash_offset_base = "0x80000000";
flash_offset_kernel = "0x00008000";
flash_offset_ramdisk = "0x01000000";
flash_offset_second = "0x00f00000";
flash_offset_tags = "0x00000100";
flash_pagesize = "2048";
# TODO : make kernel part of options.
kernel = pkgs.callPackage ./kernel { kernelPatches = pkgs.defaultKernelPatches; };
};
mobile.hardware = {
soc = "qualcomm-msm8953";
ram = 1024 * 3;
screen = {
width = 1080; height = 1920;
};
};

mobile.system.type = "android-bootimg";
}
38 changes: 38 additions & 0 deletions devices/motorola-addison/kernel/04_fix_camera_msm_isp.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
From a1cb5824f577a4c1dcc52ded3451c36a0adf80bf Mon Sep 17 00:00:00 2001
From: Nato66613 <normandija1945@gmail.com>
Date: Sat, 3 Mar 2018 15:18:06 +0200
Subject: [PATCH] camera_v2: fix standalone compilaton

---
drivers/media/platform/msm/camera_v2/sensor/msm_sensor.h | 4 ++--
include/trace/events/msm_cam.h | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/media/platform/msm/camera_v2/sensor/msm_sensor.h b/drivers/media/platform/msm/camera_v2/sensor/msm_sensor.h
index 5eedd7926943..02f3e84cf146 100644
--- a/drivers/media/platform/msm/camera_v2/sensor/msm_sensor.h
+++ b/drivers/media/platform/msm/camera_v2/sensor/msm_sensor.h
@@ -31,8 +31,8 @@
#include <media/msm_cam_sensor.h>
#include <media/v4l2-subdev.h>
#include <media/v4l2-ioctl.h>
-#include "msm_camera_i2c.h"
-#include "msm_camera_dt_util.h"
+#include "../io/msm_camera_i2c.h"
+#include "../io/msm_camera_dt_util.h"
#include "msm_sd.h"

#define DEFINE_MSM_MUTEX(mutexname) \
diff --git a/include/trace/events/msm_cam.h b/include/trace/events/msm_cam.h
index 9a5dd158b4b8..fa5de094e210 100644
--- a/include/trace/events/msm_cam.h
+++ b/include/trace/events/msm_cam.h
@@ -16,7 +16,7 @@
#if !defined(_TRACE_MSM_VFE_H) || defined(TRACE_HEADER_MULTI_READ)
#define _TRACE_MSM_VFE_H

-#include "msm_isp.h"
+#include <uapi/media/msm_isp.h>
#include <linux/types.h>
#include <linux/tracepoint.h>

102 changes: 102 additions & 0 deletions devices/motorola-addison/kernel/05_misc_msm_fixes.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
From c0421b8c12d27564abe4e64dac8fbd6326ad3b9b Mon Sep 17 00:00:00 2001
From: thp1997 <tirthpatel49@gmail.com>
Date: Sun, 21 May 2017 09:50:43 +0000
Subject: [PATCH] Fix Kernel Compilation Issues

---
drivers/net/ethernet/msm/rndis_ipa_trace.h | 2 +-
drivers/platform/msm/ipa/ipa_v2/ipa_trace.h | 2 +-
drivers/usb/gadget/function/f_gsi.c | 2 +-
drivers/usb/gadget/function/f_midi.c | 2 +-
drivers/usb/gadget/function/f_mtp.c | 2 +-
drivers/usb/gadget/function/f_rndis.c | 2 +-
drivers/video/msm/msm_dba/msm_dba.c | 2 +-
7 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/drivers/net/ethernet/msm/rndis_ipa_trace.h b/drivers/net/ethernet/msm/rndis_ipa_trace.h
index c0fc573799f2..bd9ab5b31a4a 100644
--- a/drivers/net/ethernet/msm/rndis_ipa_trace.h
+++ b/drivers/net/ethernet/msm/rndis_ipa_trace.h
@@ -77,5 +77,5 @@ TRACE_EVENT(

/* This part must be outside protection */
#undef TRACE_INCLUDE_PATH
-#define TRACE_INCLUDE_PATH .
+#define TRACE_INCLUDE_PATH ../../drivers/net/ethernet/msm
#include <trace/define_trace.h>
diff --git a/drivers/platform/msm/ipa/ipa_v2/ipa_trace.h b/drivers/platform/msm/ipa/ipa_v2/ipa_trace.h
index d70abdfa0469..a7629952a17f 100644
--- a/drivers/platform/msm/ipa/ipa_v2/ipa_trace.h
+++ b/drivers/platform/msm/ipa/ipa_v2/ipa_trace.h
@@ -131,5 +131,5 @@ TRACE_EVENT(

/* This part must be outside protection */
#undef TRACE_INCLUDE_PATH
-#define TRACE_INCLUDE_PATH .
+#define TRACE_INCLUDE_PATH ../../drivers/platform/msm/ipa/ipa_v2
#include <trace/define_trace.h>
diff --git a/drivers/usb/gadget/function/f_gsi.c b/drivers/usb/gadget/function/f_gsi.c
index d1b1190d19a1..9901e0df9c39 100644
--- a/drivers/usb/gadget/function/f_gsi.c
+++ b/drivers/usb/gadget/function/f_gsi.c
@@ -19,7 +19,7 @@
#include <linux/timer.h>
#include "f_gsi.h"
#include "rndis.h"
-#include "debug.h"
+#include "../debug.h"

static unsigned int gsi_in_aggr_size;
module_param(gsi_in_aggr_size, uint, S_IRUGO | S_IWUSR);
diff --git a/drivers/usb/gadget/function/f_midi.c b/drivers/usb/gadget/function/f_midi.c
index 7e094bbbf134..ecc1b8658ccd 100644
--- a/drivers/usb/gadget/function/f_midi.c
+++ b/drivers/usb/gadget/function/f_midi.c
@@ -32,7 +32,7 @@
#include <linux/usb/audio.h>
#include <linux/usb/midi.h>

-#include "u_f.h"
+#include "../u_f.h"

MODULE_AUTHOR("Ben Williamson");
MODULE_LICENSE("GPL v2");
diff --git a/drivers/usb/gadget/function/f_mtp.c b/drivers/usb/gadget/function/f_mtp.c
index 0677e493ca66..88251dccd52d 100644
--- a/drivers/usb/gadget/function/f_mtp.c
+++ b/drivers/usb/gadget/function/f_mtp.c
@@ -40,7 +40,7 @@
#include <linux/configfs.h>
#include <linux/usb/composite.h>

-#include "configfs.h"
+#include "../configfs.h"

#define MTP_RX_BUFFER_INIT_SIZE 1048576
#define MTP_BULK_BUFFER_SIZE 16384
diff --git a/drivers/usb/gadget/function/f_rndis.c b/drivers/usb/gadget/function/f_rndis.c
index 545ecd304f36..3a7965535a70 100644
--- a/drivers/usb/gadget/function/f_rndis.c
+++ b/drivers/usb/gadget/function/f_rndis.c
@@ -27,7 +27,7 @@
#include "u_ether_configfs.h"
#include "u_rndis.h"
#include "rndis.h"
-#include "configfs.h"
+#include "../configfs.h"

/*
* This function is an RNDIS Ethernet port -- a Microsoft protocol that's
diff --git a/drivers/video/msm/msm_dba/msm_dba.c b/drivers/video/msm/msm_dba/msm_dba.c
index cc6512a4af9b..eb073a75fecf 100644
--- a/drivers/video/msm/msm_dba/msm_dba.c
+++ b/drivers/video/msm/msm_dba/msm_dba.c
@@ -22,7 +22,7 @@
#include <linux/err.h>

#include <video/msm_dba.h>
-#include <msm_dba_internal.h>
+#include "msm_dba_internal.h"

static DEFINE_MUTEX(register_mutex);

40 changes: 40 additions & 0 deletions devices/motorola-addison/kernel/99_framebuffer.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
diff --git a/drivers/video/msm/mdss/mdss_fb.c b/drivers/video/msm/mdss/mdss_fb.c
index 075ee8a3880..b4531f66a06 100644
--- a/drivers/video/msm/mdss/mdss_fb.c
+++ b/drivers/video/msm/mdss/mdss_fb.c
@@ -868,7 +868,8 @@ static int mdss_fb_probe(struct platform_device *pdev)
mfd->bl_scale = 1024;
mfd->bl_min_lvl = 30;
mfd->ad_bl_level = 0;
- mfd->fb_imgType = MDP_RGBA_8888;
+ // Default framebuffer format.
+ mfd->fb_imgType = MDP_BGRA_8888;
mfd->calib_mode_bl = 0;

if (mfd->panel.type == MIPI_VIDEO_PANEL ||
@@ -2143,6 +2144,25 @@ static int mdss_fb_register(struct msm_fb_data_type *mfd)
bpp = 4;
break;

+ case MDP_BGRA_8888:
+ fix->type = FB_TYPE_PACKED_PIXELS;
+ fix->xpanstep = 1;
+ fix->ypanstep = 1;
+ var->vmode = FB_VMODE_NONINTERLACED;
+ var->blue.offset = 0;
+ var->green.offset = 8;
+ var->red.offset = 16;
+ var->blue.length = 8;
+ var->green.length = 8;
+ var->red.length = 8;
+ var->blue.msb_right = 0;
+ var->green.msb_right = 0;
+ var->red.msb_right = 0;
+ var->transp.offset = 24;
+ var->transp.length = 8;
+ bpp = 4;
+ break;
+
case MDP_YCRYCB_H2V1:
fix->type = FB_TYPE_INTERLEAVED_PLANES;
fix->xpanstep = 2;
69 changes: 69 additions & 0 deletions devices/motorola-addison/kernel/compiler-gcc6.h
Original file line number Diff line number Diff line change
@@ -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 */

0 comments on commit 5624723

Please sign in to comment.