nobby-230: new device (!865)
This commit is contained in:
parent
9aec04820c
commit
b97c340c36
13 changed files with 4244 additions and 0 deletions
34
device/device-nobby-230/APKBUILD
Normal file
34
device/device-nobby-230/APKBUILD
Normal file
|
@ -0,0 +1,34 @@
|
|||
# Reference: <https://postmarketos.org/devicepkg>
|
||||
# Maintainer: Anri Dellal <anridellal@gmail.com>
|
||||
# Contributor: Anri Dellal <anridellal@gmail.com>
|
||||
pkgname="device-nobby-230"
|
||||
pkgdesc="Nobby 230"
|
||||
pkgver=0.1
|
||||
pkgrel=0
|
||||
url="https://postmarketos.org"
|
||||
license="MIT"
|
||||
arch="armv7"
|
||||
options="!check !archcheck"
|
||||
depends="msm-fb-refresher postmarketos-base linux-nobby-230 mkbootimg mesa-dri-swrast"
|
||||
makedepends="devicepkg-dev"
|
||||
source="
|
||||
deviceinfo
|
||||
asound.conf
|
||||
initfs-hook.sh
|
||||
"
|
||||
|
||||
build() {
|
||||
devicepkg_build $startdir $pkgname
|
||||
}
|
||||
|
||||
package() {
|
||||
devicepkg_package $startdir $pkgname
|
||||
|
||||
install -D -m644 "$srcdir"/asound.conf \
|
||||
"$pkgdir"/etc/asound.conf
|
||||
}
|
||||
|
||||
|
||||
sha512sums="a3e58864621ad657438b629c65cfc62ca8092d9f30a51ba8dcfb80ede6d50db64cfd22ff8492ddd172180ffd6e32304d4a2ec96a2050b54abd929430a16011d3 deviceinfo
|
||||
369df19f9bf7546236b81a33c00b6384e88e979c4711fead3749f8e60f4cd99f37b31baf1f00d05a821cb71ca2f440648e13083653f1a4ec0c178c7c1c415a58 asound.conf
|
||||
b2838f65401d506a8c64a022a12887e67c410f3e21279e1c6ec2b88c3b51a0ce4f31b9de6883c3ff786cbb000a7fe8a39342fe313a6425bd6f281e521c143492 initfs-hook.sh"
|
9
device/device-nobby-230/asound.conf
Normal file
9
device/device-nobby-230/asound.conf
Normal file
|
@ -0,0 +1,9 @@
|
|||
pcm.!default {
|
||||
type hw
|
||||
card sprdphone
|
||||
}
|
||||
|
||||
ctl.!default {
|
||||
type hw
|
||||
card sprdphone
|
||||
}
|
33
device/device-nobby-230/deviceinfo
Normal file
33
device/device-nobby-230/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="Nobby 230"
|
||||
deviceinfo_manufacturer="Nobby"
|
||||
deviceinfo_codename="nobby-230"
|
||||
deviceinfo_date=""
|
||||
deviceinfo_dtb=""
|
||||
deviceinfo_modules_initfs=""
|
||||
deviceinfo_arch="armv7"
|
||||
|
||||
# Device related
|
||||
deviceinfo_keyboard="true"
|
||||
deviceinfo_external_storage="true"
|
||||
deviceinfo_screen_width="240"
|
||||
deviceinfo_screen_height="320"
|
||||
deviceinfo_dev_touchscreen=""
|
||||
deviceinfo_dev_touchscreen_calibration=""
|
||||
deviceinfo_dev_keyboard=""
|
||||
|
||||
# Bootloader related
|
||||
deviceinfo_flash_method="fastboot"
|
||||
deviceinfo_kernel_cmdline="console=ttyS1,115200n8"
|
||||
deviceinfo_generate_bootimg="true"
|
||||
deviceinfo_bootimg_qcdt="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"
|
||||
|
7
device/device-nobby-230/initfs-hook.sh
Normal file
7
device/device-nobby-230/initfs-hook.sh
Normal file
|
@ -0,0 +1,7 @@
|
|||
#!/bin/sh
|
||||
|
||||
# set framebuffer resolution
|
||||
echo 1 > /sys/class/graphics/fb0/state
|
||||
echo 240,640 > /sys/class/graphics/fb0/virtual_size
|
||||
echo 0,320 > /sys/class/graphics/fb0/pan
|
||||
|
13
device/linux-nobby-230/01-fix-X11.patch
Normal file
13
device/linux-nobby-230/01-fix-X11.patch
Normal file
|
@ -0,0 +1,13 @@
|
|||
diff --git a/drivers/video/sprdfb/sprdfb_main.c b/drivers/video/sprdfb/sprdfb_main.c
|
||||
index cdb8c0c..e5fff6b 100644
|
||||
--- a/drivers/video/sprdfb/sprdfb_main.c
|
||||
+++ b/drivers/video/sprdfb/sprdfb_main.c
|
||||
@@ -330,7 +330,7 @@ static int sprdfb_check_var(struct fb_var_screeninfo *var, struct fb_info *fb)
|
||||
if ((var->xres != fb->var.xres) ||
|
||||
(var->yres != fb->var.yres) ||
|
||||
(var->xres_virtual != fb->var.xres_virtual) ||
|
||||
- (var->yres_virtual != fb->var.yres_virtual) ||
|
||||
+ (fb->var.yres_virtual % var->yres_virtual != 0) ||
|
||||
(var->xoffset != fb->var.xoffset) ||
|
||||
#ifndef BIT_PER_PIXEL_SURPPORT
|
||||
(var->bits_per_pixel != fb->var.bits_per_pixel) ||
|
14
device/linux-nobby-230/02-arm-eabi-not-found.patch
Normal file
14
device/linux-nobby-230/02-arm-eabi-not-found.patch
Normal file
|
@ -0,0 +1,14 @@
|
|||
diff --git a/Makefile b/Makefile
|
||||
index c9c47f7..c320f5b 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -192,8 +192,7 @@ SUBARCH := $(shell uname -m | sed -e s/i.86/x86/ -e s/x86_64/x86/ \
|
||||
# "make" in the configured kernel build directory always uses that.
|
||||
# Default value for CROSS_COMPILE is not to prefix executables
|
||||
# Note: Some architectures assign CROSS_COMPILE in their arch/*/Makefile
|
||||
-ARCH =arm
|
||||
-CROSS_COMPILE =arm-eabi-
|
||||
+CROSS_COMPILE ?= $(CONFIG_CROSS_COMPILE:"%":%)
|
||||
|
||||
# Architecture as present in compile.h
|
||||
UTS_MACHINE := $(ARCH)
|
511
device/linux-nobby-230/03-add-ili9340-support.patch
Normal file
511
device/linux-nobby-230/03-add-ili9340-support.patch
Normal file
|
@ -0,0 +1,511 @@
|
|||
diff --git a/drivers/video/sprdfb/Kconfig b/drivers/video/sprdfb/Kconfig
|
||||
index def1f31..b06c6cf 100644
|
||||
--- a/drivers/video/sprdfb/Kconfig
|
||||
+++ b/drivers/video/sprdfb/Kconfig
|
||||
@@ -182,6 +182,11 @@ config FB_LCD_ILI9341
|
||||
depends on FB_SC8825 || FB_SCX35 || FB_SCX15
|
||||
default n
|
||||
|
||||
+config FB_LCD_ILI9340
|
||||
+ boolean "support ILI9340 mcu panel"
|
||||
+ depends on FB_SC8825 || FB_SCX35 || FB_SCX15
|
||||
+ default n
|
||||
+
|
||||
config FB_LCD_ILI9806E_RGB_SPI
|
||||
boolean "support ILI9806E panel rgb spi"
|
||||
depends on FB_SC8825 || FB_SCX35 || FB_SCX15
|
||||
diff --git a/drivers/video/sprdfb/lcd/Makefile b/drivers/video/sprdfb/lcd/Makefile
|
||||
index ac5d5c4..ada4ee0 100644
|
||||
--- a/drivers/video/sprdfb/lcd/Makefile
|
||||
+++ b/drivers/video/sprdfb/lcd/Makefile
|
||||
@@ -14,6 +14,7 @@ obj-$(CONFIG_FB_LCD_ILI9486) += lcd_ili9486.o
|
||||
obj-$(CONFIG_FB_LCD_ILI9486_RGB_SPI) += lcd_ili9486_rgb_spi.o
|
||||
obj-$(CONFIG_FB_LCD_NT51017_MIPI_LVDS) += lcd_nt51017_mipi_lvds.o
|
||||
obj-$(CONFIG_FB_LCD_HX8369B_MIPI) += lcd_hx8369b_mipi.o
|
||||
+obj-$(CONFIG_FB_LCD_ILI9340) += lcd_ili9340.o
|
||||
obj-$(CONFIG_FB_LCD_ILI9341) += lcd_ili9341.o
|
||||
obj-$(CONFIG_FB_LCD_ST7789V_MCU) += lcd_st7789v_mcu.o
|
||||
obj-$(CONFIG_FB_LCD_NT35502_MIPI) += lcd_nt35502_mipi.o
|
||||
obj-$(CONFIG_FB_LCD_NT35502_MIPI) += lcd_nt35502_mipi.o
|
||||
diff --git a/drivers/video/sprdfb/lcd/lcd_ili9340.c b/drivers/video/sprdfb/lcd/lcd_ili9340.c
|
||||
new file mode 100644
|
||||
index 0000000..47a63ec
|
||||
--- /dev/null
|
||||
+++ b/drivers/video/sprdfb/lcd/lcd_ili9340.c
|
||||
@@ -0,0 +1,476 @@
|
||||
+/* drivers/video/sc8810/lcd_ili9340.c
|
||||
+ *
|
||||
+ * Support for ili9340 LCD device
|
||||
+ *
|
||||
+ * Copyright (C) 2010 Spreadtrum
|
||||
+ *
|
||||
+ * This software is licensed under the terms of the GNU General Public
|
||||
+ * License version 2, as published by the Free Software Foundation, and
|
||||
+ * may be copied, distributed, and modified under those terms.
|
||||
+ *
|
||||
+ * This program is distributed in the hope that it will be useful,
|
||||
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
+ * GNU General Public License for more details.
|
||||
+ */
|
||||
+
|
||||
+#include <linux/kernel.h>
|
||||
+#include <linux/delay.h>
|
||||
+#include "../sprdfb_panel.h"
|
||||
+
|
||||
+static int32_t ili9340_init(struct panel_spec *self)
|
||||
+{
|
||||
+ send_data_t send_cmd = self->info.mcu->ops->send_cmd;
|
||||
+ send_data_t send_data = self->info.mcu->ops->send_data;
|
||||
+
|
||||
+ pr_debug("ili9340_init\n");
|
||||
+
|
||||
+ //NEW
|
||||
+ send_cmd(0xEF);
|
||||
+ send_data(0x03);
|
||||
+ send_data(0x80);
|
||||
+ send_data(0x02);
|
||||
+
|
||||
+ //Power Setting
|
||||
+ send_cmd(0xCF);
|
||||
+ send_data(0x00);//NOP
|
||||
+ send_data(0xC1);
|
||||
+// send_data(0xE1);//Neg. gamma correction
|
||||
+ send_data(0x30);//Partial area
|
||||
+
|
||||
+ send_cmd(0xED);//
|
||||
+ send_data(0x64);//
|
||||
+ send_data(0x03);
|
||||
+ send_data(0x12);
|
||||
+ send_data(0x81);
|
||||
+
|
||||
+ //NEW
|
||||
+ send_cmd(0xE8);
|
||||
+ send_data(0x85);
|
||||
+ send_data(0x00);
|
||||
+ send_data(0x78);
|
||||
+
|
||||
+ send_cmd(0xCB);
|
||||
+ send_data(0x39);
|
||||
+ send_data(0x2C);
|
||||
+ send_data(0x00);
|
||||
+ send_data(0x34);
|
||||
+ send_data(0x02);
|
||||
+
|
||||
+ send_cmd(0xF7);
|
||||
+ send_data(0x20);
|
||||
+
|
||||
+ send_cmd(0xEA);
|
||||
+ send_data(0x00);
|
||||
+ send_data(0x00);
|
||||
+
|
||||
+ //NEW
|
||||
+ send_cmd(0xC0);
|
||||
+ send_data(0x23);
|
||||
+
|
||||
+ //NEW
|
||||
+ send_cmd(0xC1);
|
||||
+ send_data(0x10);
|
||||
+
|
||||
+ send_cmd(0xC5);
|
||||
+ send_data(0x3e);
|
||||
+ send_data(0x28);
|
||||
+ //send_data(0x4C);
|
||||
+ //send_data(0x2B);
|
||||
+
|
||||
+ send_cmd(0xC7);
|
||||
+ send_data(0x86);
|
||||
+
|
||||
+ send_cmd(0x3A);
|
||||
+ send_data(0x55);
|
||||
+
|
||||
+ send_cmd(0xB1);
|
||||
+ send_data(0x00);
|
||||
+ send_data(0x18);
|
||||
+
|
||||
+ send_cmd(0xB6);
|
||||
+ send_data(0x08);
|
||||
+ send_data(0x82);
|
||||
+ send_data(0x27);
|
||||
+
|
||||
+ send_cmd(0x36);
|
||||
+ send_data(0x08);
|
||||
+
|
||||
+ send_cmd(0xF2);
|
||||
+ send_data(0x00);
|
||||
+
|
||||
+ send_cmd(0x26);
|
||||
+ send_data(0x01);
|
||||
+ //send_data(0x00);
|
||||
+
|
||||
+ /*send_cmd(0xC0);
|
||||
+ send_data(0x22);
|
||||
+
|
||||
+ send_cmd(0xC1);
|
||||
+ send_data(0x11);
|
||||
+
|
||||
+ //Initializing Sequence
|
||||
+ send_cmd(0x35);
|
||||
+ send_data(0x00);
|
||||
+
|
||||
+ send_cmd(0x3A);
|
||||
+ send_data(0x05);
|
||||
+
|
||||
+ send_cmd(0xF2);
|
||||
+ send_data(0x02);
|
||||
+
|
||||
+ send_cmd(0xB6);
|
||||
+ send_data(0x01);
|
||||
+ send_data(0xC2);
|
||||
+
|
||||
+ send_cmd(0xF6);
|
||||
+ send_data(0x01);
|
||||
+ send_data(0x10);
|
||||
+ send_data(0x00);
|
||||
+
|
||||
+ send_cmd(0xB1);
|
||||
+ send_data(0x00);
|
||||
+ send_data(0x1A);
|
||||
+
|
||||
+ send_cmd(0xB5);
|
||||
+ send_data(0x02);
|
||||
+ send_data(0x02);
|
||||
+ send_data(0x0A);
|
||||
+ send_data(0x14);
|
||||
+
|
||||
+ send_cmd(0xE8);
|
||||
+ send_data(0x85);
|
||||
+ send_data(0x01);
|
||||
+ send_data(0x78);
|
||||
+*/
|
||||
+
|
||||
+ //Gamma Setting
|
||||
+ send_cmd(0xE0);
|
||||
+ send_data(0x0F);
|
||||
+ send_data(0x31);
|
||||
+ //send_data(0x2F);
|
||||
+ send_data(0x2B);
|
||||
+ //send_data(0x0D);
|
||||
+ send_data(0x0C);
|
||||
+ //send_data(0x10);
|
||||
+ send_data(0x0E);
|
||||
+ send_data(0x08);
|
||||
+ send_data(0x4E);
|
||||
+ send_data(0xF1);
|
||||
+ send_data(0x37);
|
||||
+ send_data(0x07);
|
||||
+ send_data(0x10);
|
||||
+ send_data(0x03);
|
||||
+ send_data(0x0E);
|
||||
+ send_data(0x09);
|
||||
+ send_data(0x00);
|
||||
+
|
||||
+ send_cmd(0xE1);
|
||||
+ send_data(0x00);
|
||||
+ send_data(0x0E);
|
||||
+ send_data(0x14);
|
||||
+ send_data(0x03);
|
||||
+ send_data(0x11);
|
||||
+ send_data(0x07);
|
||||
+ send_data(0x31);
|
||||
+ send_data(0xC1);
|
||||
+ send_data(0x48);
|
||||
+ send_data(0x08);
|
||||
+ send_data(0x0F);
|
||||
+ send_data(0x0C);
|
||||
+ send_data(0x31);
|
||||
+ send_data(0x36);
|
||||
+ send_data(0x0F);
|
||||
+
|
||||
+/*
|
||||
+ send_cmd(0xE2);
|
||||
+ send_data(0x00);
|
||||
+ send_data(0x00);
|
||||
+ send_data(0x00);
|
||||
+ send_data(0x00);
|
||||
+ send_data(0x00);
|
||||
+ send_data(0x00);
|
||||
+ send_data(0x00);
|
||||
+ send_data(0x00);
|
||||
+ send_data(0x00);
|
||||
+ send_data(0x00);
|
||||
+ send_data(0x00);
|
||||
+ send_data(0x00);
|
||||
+ send_data(0x00);
|
||||
+ send_data(0x00);
|
||||
+ send_data(0x00);
|
||||
+ send_data(0x00);
|
||||
+
|
||||
+ send_cmd(0xE3);
|
||||
+ send_data(0x00);
|
||||
+ send_data(0x00);
|
||||
+ send_data(0x00);
|
||||
+ send_data(0x00);
|
||||
+ send_data(0x33);
|
||||
+ send_data(0x33);
|
||||
+ send_data(0x33);
|
||||
+ send_data(0x33);
|
||||
+ send_data(0x33);
|
||||
+ send_data(0x33);
|
||||
+ send_data(0x22);
|
||||
+ send_data(0x22);
|
||||
+ send_data(0x22);
|
||||
+ send_data(0x33);
|
||||
+ send_data(0x33);
|
||||
+ send_data(0x33);
|
||||
+ send_data(0x33);
|
||||
+ send_data(0x33);
|
||||
+ send_data(0x33);
|
||||
+ send_data(0x33);
|
||||
+ send_data(0x33);
|
||||
+ send_data(0x33);
|
||||
+ send_data(0x33);
|
||||
+ send_data(0x33);
|
||||
+ send_data(0x33);
|
||||
+ send_data(0x33);
|
||||
+ send_data(0x33);
|
||||
+ send_data(0x33);
|
||||
+ send_data(0x33);
|
||||
+ send_data(0x33);
|
||||
+ send_data(0x33);
|
||||
+ send_data(0x33);
|
||||
+ send_data(0x33);
|
||||
+ send_data(0x33);
|
||||
+ send_data(0x33);
|
||||
+ send_data(0x33);
|
||||
+ send_data(0x33);
|
||||
+ send_data(0x33);
|
||||
+ send_data(0x33);
|
||||
+ send_data(0x33);
|
||||
+ send_data(0x33);
|
||||
+ send_data(0x33);
|
||||
+ send_data(0x33);
|
||||
+ send_data(0x33);
|
||||
+ send_data(0x33);
|
||||
+ send_data(0x33);
|
||||
+ send_data(0x33);
|
||||
+ send_data(0x33);
|
||||
+ send_data(0x33);
|
||||
+ send_data(0x33);
|
||||
+ send_data(0x03);
|
||||
+ send_data(0x03);
|
||||
+ send_data(0x03);
|
||||
+ send_data(0x03);
|
||||
+ send_data(0x03);
|
||||
+ send_data(0x03);
|
||||
+ send_data(0x03);
|
||||
+ send_data(0x03);
|
||||
+ send_data(0x03);
|
||||
+ send_data(0x03);
|
||||
+ send_data(0x03);
|
||||
+ send_data(0x02);
|
||||
+ send_data(0x01);
|
||||
+ send_data(0x00);
|
||||
+*/
|
||||
+#if 1
|
||||
+ //Display on
|
||||
+ send_cmd(0x11); // (SLPOUT)
|
||||
+ mdelay(12); // 100ms
|
||||
+ send_cmd(0x29); // (DISPON)
|
||||
+ mdelay(10); // 100ms
|
||||
+ pr_debug("ili9340_init: end\n");
|
||||
+
|
||||
+ return 0;
|
||||
+#else
|
||||
+ if (1) { // for test the lcd
|
||||
+ int i;
|
||||
+ send_cmd(0x2C); //Write data
|
||||
+ for (i = 0; i < 240*320/3; i++)
|
||||
+ send_data(0xff);
|
||||
+ for (i = 0; i < 240*320/3; i++)
|
||||
+ send_data(0xff00);
|
||||
+ for (i = 0; i < 24*320/3; i++)
|
||||
+ send_data(0xff0000);
|
||||
+ }
|
||||
+ send_cmd(0x11); //Display On
|
||||
+ mdelay(10); //120ms
|
||||
+ send_cmd(0x29); //Write data
|
||||
+ mdelay(10); //120ms
|
||||
+#endif
|
||||
+ pr_debug("ili9340_init: end\n");
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+static int32_t ili9340_set_window(struct panel_spec *self,
|
||||
+ uint16_t left, uint16_t top, uint16_t right, uint16_t bottom)
|
||||
+{
|
||||
+ send_data_t send_cmd = self->info.mcu->ops->send_cmd;
|
||||
+ send_data_t send_data = self->info.mcu->ops->send_data;
|
||||
+
|
||||
+ pr_debug("ili9340_set_window\n");
|
||||
+
|
||||
+ send_cmd(0x2A); // col
|
||||
+ send_data((left >> 8));
|
||||
+ send_data((left & 0xFF));
|
||||
+ send_data((right >> 8));
|
||||
+ send_data((right & 0xFF));
|
||||
+
|
||||
+ send_cmd(0x2B); // row
|
||||
+ send_data((top >> 8));
|
||||
+ send_data((top & 0xFF));
|
||||
+ send_data((bottom >> 8));
|
||||
+ send_data((bottom & 0xFF));
|
||||
+
|
||||
+ send_cmd(0x2C);
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+
|
||||
+static int32_t ili9340_invalidate(struct panel_spec *self)
|
||||
+{
|
||||
+ pr_debug("ili9340_invalidate\n");
|
||||
+
|
||||
+ return self->ops->panel_set_window(self, 0, 0,
|
||||
+ self->width-1, self->height-1);
|
||||
+}
|
||||
+
|
||||
+static int32_t ili9340_invalidate_rect(struct panel_spec *self,
|
||||
+ uint16_t left, uint16_t top,
|
||||
+ uint16_t right, uint16_t bottom)
|
||||
+{
|
||||
+
|
||||
+ pr_debug("ili9340_invalidate_rect : (%d, %d, %d, %d)\n",left, top, right, bottom);
|
||||
+
|
||||
+ return self->ops->panel_set_window(self, left, top,
|
||||
+ right, bottom);
|
||||
+}
|
||||
+
|
||||
+static int32_t ili9340_set_direction(struct panel_spec *self, uint16_t direction)
|
||||
+{
|
||||
+
|
||||
+ pr_debug("ili9340_set_direction\n");
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+static int32_t ili9340_enter_sleep(struct panel_spec *self, uint8_t is_sleep)
|
||||
+{
|
||||
+ //send_data_t send_cmd = self->info.mcu->ops->send_cmd;
|
||||
+
|
||||
+ if(is_sleep) {
|
||||
+ //send_cmd(0x10);
|
||||
+ mdelay(120);
|
||||
+ }
|
||||
+ else {
|
||||
+ //send_cmd(0x11);
|
||||
+ mdelay(120);
|
||||
+ }
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+static uint32_t ili9340_read_id(struct panel_spec *self)
|
||||
+{
|
||||
+ int32_t read_value = 0;
|
||||
+#if 0
|
||||
+ send_data_t send_cmd = self->info.mcu->ops->send_cmd;
|
||||
+ read_data_t read_data = self->info.mcu->ops->read_data;
|
||||
+
|
||||
+ send_cmd(0x04);
|
||||
+
|
||||
+ read_data();
|
||||
+ read_value += read_data()<< 16;
|
||||
+ read_value += read_data()<< 8;
|
||||
+ read_value += read_data();
|
||||
+#endif
|
||||
+ pr_debug("ili9340_read_id=%x\n",read_value);
|
||||
+
|
||||
+ read_value = 0x9340;
|
||||
+
|
||||
+ return read_value;
|
||||
+}
|
||||
+
|
||||
+static int32_t ili9340_change_epf(struct panel_spec *self, bool is_default)
|
||||
+{
|
||||
+ send_data_t send_cmd = self->info.mcu->ops->send_cmd;
|
||||
+ send_data_t send_data = self->info.mcu->ops->send_data;
|
||||
+
|
||||
+ return 0;
|
||||
+
|
||||
+ if(is_default){
|
||||
+ send_cmd(0xF6);
|
||||
+ send_data(0x01);
|
||||
+ send_data(0x30);
|
||||
+ send_data(0x00);
|
||||
+ }else{
|
||||
+ send_cmd(0xF6);
|
||||
+ send_data(0x01);
|
||||
+ send_data(0x10);
|
||||
+ send_data(0x00);
|
||||
+ }
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+static struct panel_operations lcd_ili9340_operations = {
|
||||
+ .panel_init = ili9340_init,
|
||||
+ .panel_set_window = ili9340_set_window,
|
||||
+ .panel_invalidate = ili9340_invalidate,
|
||||
+ //.lcd_invalidate_rect = ili9340_invalidate_rect,
|
||||
+ .panel_set_direction = ili9340_set_direction,
|
||||
+ .panel_enter_sleep = ili9340_enter_sleep,
|
||||
+ .panel_readid = ili9340_read_id,
|
||||
+ .panel_change_epf = ili9340_change_epf,
|
||||
+};
|
||||
+
|
||||
+static struct timing_mcu lcd_ili9340_timing[] = {
|
||||
+ [MCU_LCD_REGISTER_TIMING] = {
|
||||
+ .rcss = 25,
|
||||
+ .rlpw = 45,
|
||||
+ .rhpw = 90,
|
||||
+ .wcss = 30,
|
||||
+ .wlpw = 20,
|
||||
+ .whpw = 20,
|
||||
+ },
|
||||
+ [MCU_LCD_GRAM_TIMING] = {
|
||||
+ .rcss = 25,
|
||||
+ .rlpw = 45,
|
||||
+ .rhpw = 90,
|
||||
+ .wcss = 30,
|
||||
+ .wlpw = 20,
|
||||
+ .whpw = 20,
|
||||
+ }
|
||||
+};
|
||||
+
|
||||
+static struct info_mcu lcd_ili9340_info = {
|
||||
+ .bus_mode = LCD_BUS_8080,
|
||||
+ .bus_width = 16,
|
||||
+ .bpp = 16, /*RGB88*/
|
||||
+ .timing = &lcd_ili9340_timing,
|
||||
+ .ops = NULL,
|
||||
+};
|
||||
+
|
||||
+struct panel_spec lcd_panel_ili9340 = {
|
||||
+ .width = 240,
|
||||
+ .height = 320,
|
||||
+ .fps = 60,
|
||||
+ .type = LCD_MODE_MCU,
|
||||
+ .direction = LCD_DIRECT_NORMAL,
|
||||
+ .info = {
|
||||
+ .mcu = &lcd_ili9340_info
|
||||
+ },
|
||||
+ .ops = &lcd_ili9340_operations,
|
||||
+};
|
||||
+
|
||||
+struct panel_cfg lcd_ili9340 = {
|
||||
+ /* this panel may on both CS0/1 */
|
||||
+ .dev_id = SPRDFB_MAINLCD_ID,
|
||||
+ .lcd_id = 0x9340,
|
||||
+ .lcd_name = "lcd_ili9340",
|
||||
+ .panel = &lcd_panel_ili9340,
|
||||
+};
|
||||
+
|
||||
+static int __init lcd_ili9340_init(void)
|
||||
+{
|
||||
+ printk(KERN_INFO "sprdfb_111: [%s]: 0x%x!\n", __FUNCTION__,lcd_ili9340.lcd_id);
|
||||
+
|
||||
+ return sprdfb_panel_register(&lcd_ili9340);
|
||||
+}
|
||||
+
|
||||
+subsys_initcall(lcd_ili9340_init);
|
||||
+
|
255
device/linux-nobby-230/04-add-keypad-support.patch
Normal file
255
device/linux-nobby-230/04-add-keypad-support.patch
Normal file
|
@ -0,0 +1,255 @@
|
|||
diff --git a/arch/arm/mach-sc/board-sp7715ga.c b/arch/arm/mach-sc/board-sp7715ga.c
|
||||
index d80e056..cc9db11 100755
|
||||
--- a/arch/arm/mach-sc/board-sp7715ga.c
|
||||
+++ b/arch/arm/mach-sc/board-sp7715ga.c
|
||||
@@ -26,8 +26,10 @@
|
||||
#include <asm/localtimer.h>
|
||||
|
||||
#include <linux/i2c.h>
|
||||
-//#include <linux/i2c/ft53x6_ts.h>
|
||||
+#if(defined(CONFIG_TOUCHSCREEN))
|
||||
+#include <linux/i2c/ft53x6_ts.h>
|
||||
#include <linux/i2c/focaltech.h>
|
||||
+#endif
|
||||
#if(defined(CONFIG_INPUT_LIS3DH_I2C)||defined(CONFIG_INPUT_LIS3DH_I2C_MODULE))
|
||||
#include <linux/i2c/lis3dh.h>
|
||||
#endif
|
||||
@@ -67,6 +69,11 @@
|
||||
#include <mach/regulator.h>
|
||||
#include <mach/i2s.h>
|
||||
|
||||
+#if defined(CONFIG_KEYBOARD_GPIO)
|
||||
+#include <linux/gpio_keys.h>
|
||||
+#include <linux/interrupt.h>
|
||||
+#endif
|
||||
+
|
||||
extern void __init sci_reserve(void);
|
||||
extern void __init sci_map_io(void);
|
||||
extern void __init sci_init_irq(void);
|
||||
@@ -78,15 +85,35 @@ extern int __init sprd_ramconsole_init(void);
|
||||
#endif
|
||||
|
||||
/*keypad define */
|
||||
-#define CUSTOM_KEYPAD_ROWS (SCI_ROW0 | SCI_ROW1)
|
||||
-#define CUSTOM_KEYPAD_COLS (SCI_COL0 | SCI_COL1)
|
||||
-#define ROWS (2)
|
||||
-#define COLS (2)
|
||||
+#define CUSTOM_KEYPAD_ROWS (SCI_ROW0 | SCI_ROW1 | SCI_ROW2 )
|
||||
+#define CUSTOM_KEYPAD_COLS (SCI_COL0 | SCI_COL1 | SCI_COL2 )
|
||||
+#define ROWS (3)
|
||||
+#define COLS (3)
|
||||
+
|
||||
+#if defined(CONFIG_KEYBOARD_GPIO)
|
||||
+#define GPIO_1_KEY 101
|
||||
+#define GPIO_2_KEY 108
|
||||
+#define GPIO_4_KEY 107
|
||||
+#define GPIO_6_KEY 109
|
||||
+#define GPIO_NUMERIC_STAR_KEY 100
|
||||
+#define GPIO_UP_KEY 99
|
||||
+#define GPIO_9_KEY 102
|
||||
+#define GPIO_7_KEY 103
|
||||
+#define GPIO_8_KEY 106
|
||||
+#define GPIO_LEFT_KEY 105
|
||||
+#define GPIO_RIGHT_KEY 110
|
||||
+#define GPIO_SELECT_KEY 104
|
||||
+#endif
|
||||
|
||||
static const unsigned int board_keymap[] = {
|
||||
- KEY(0, 0, KEY_VOLUMEDOWN),
|
||||
- KEY(1, 0, KEY_VOLUMEUP),
|
||||
- KEY(0, 1, KEY_CAMERA),
|
||||
+ KEY(0, 0, KEY_5),
|
||||
+ KEY(1, 0, KEY_BACK),
|
||||
+ KEY(2, 0, KEY_DOWN),
|
||||
+ KEY(0, 1, KEY_SEND),
|
||||
+ KEY(1, 1, KEY_0),
|
||||
+ KEY(0, 2, KEY_3),
|
||||
+ KEY(1, 2, KEY_MENU),
|
||||
+ KEY(2, 2, KEY_NUMERIC_POUND),
|
||||
};
|
||||
|
||||
static const struct matrix_keymap_data customize_keymap = {
|
||||
@@ -108,6 +135,9 @@ static struct sci_keypad_platform_data sci_keypad_data = {
|
||||
static struct platform_device rfkill_device;
|
||||
static struct platform_device brcm_bluesleep_device;
|
||||
static struct platform_device kb_backlight_device;
|
||||
+#if defined(CONFIG_KEYBOARD_GPIO)
|
||||
+static struct platform_device gpio_button_device;
|
||||
+#endif
|
||||
|
||||
static struct platform_device *devices[] __initdata = {
|
||||
&sprd_serial_device0,
|
||||
@@ -200,6 +230,9 @@ static struct platform_device *devices[] __initdata = {
|
||||
#ifdef CONFIG_RF_SHARK
|
||||
&trout_fm_device,
|
||||
#endif
|
||||
+#if defined(CONFIG_KEYBOARD_GPIO)
|
||||
+ &gpio_button_device,
|
||||
+#endif
|
||||
&sprd_headset_device,
|
||||
&sprd_saudio_voip_device,
|
||||
};
|
||||
@@ -272,6 +305,121 @@ static struct platform_device rfkill_device = {
|
||||
};
|
||||
#endif
|
||||
|
||||
+#if defined(CONFIG_KEYBOARD_GPIO)
|
||||
+static struct gpio_keys_button gpio_buttons[] = {
|
||||
+ {
|
||||
+ .gpio = GPIO_1_KEY,
|
||||
+ .ds_irqflags = IRQF_TRIGGER_LOW,
|
||||
+ .code = KEY_1,
|
||||
+ .desc = "Key 1",
|
||||
+ .active_low = 1,
|
||||
+ .debounce_interval = 2,
|
||||
+ },
|
||||
+ {
|
||||
+ .gpio = GPIO_2_KEY,
|
||||
+ .ds_irqflags = IRQF_TRIGGER_LOW,
|
||||
+ .code = KEY_2,
|
||||
+ .desc = "Key 2",
|
||||
+ .active_low = 1,
|
||||
+ .debounce_interval = 2,
|
||||
+ },
|
||||
+ {
|
||||
+ .gpio = GPIO_4_KEY,
|
||||
+ .ds_irqflags = IRQF_TRIGGER_LOW,
|
||||
+ .code = KEY_4,
|
||||
+ .desc = "Key 4",
|
||||
+ .active_low = 1,
|
||||
+ .debounce_interval = 2,
|
||||
+ },
|
||||
+ {
|
||||
+ .gpio = GPIO_6_KEY,
|
||||
+ .ds_irqflags = IRQF_TRIGGER_LOW,
|
||||
+ .code = KEY_6,
|
||||
+ .desc = "Key 6",
|
||||
+ .active_low = 1,
|
||||
+ .debounce_interval = 2,
|
||||
+ },
|
||||
+ {
|
||||
+ .gpio = GPIO_7_KEY,
|
||||
+ .ds_irqflags = IRQF_TRIGGER_LOW,
|
||||
+ .code = KEY_7,
|
||||
+ .desc = "Key 7",
|
||||
+ .active_low = 1,
|
||||
+ .debounce_interval = 2,
|
||||
+ },
|
||||
+ {
|
||||
+ .gpio = GPIO_8_KEY,
|
||||
+ .ds_irqflags = IRQF_TRIGGER_LOW,
|
||||
+ .code = KEY_8,
|
||||
+ .desc = "Key 8",
|
||||
+ .active_low = 1,
|
||||
+ .debounce_interval = 2,
|
||||
+ },
|
||||
+ {
|
||||
+ .gpio = GPIO_9_KEY,
|
||||
+ .ds_irqflags = IRQF_TRIGGER_LOW,
|
||||
+ .code = KEY_9,
|
||||
+ .desc = "Key 9",
|
||||
+ .active_low = 1,
|
||||
+ .debounce_interval = 2,
|
||||
+ },
|
||||
+ {
|
||||
+ .gpio = GPIO_UP_KEY,
|
||||
+ .ds_irqflags = IRQF_TRIGGER_LOW,
|
||||
+ .code = KEY_UP,
|
||||
+ .desc = "Up key",
|
||||
+ .active_low = 1,
|
||||
+ .debounce_interval = 2,
|
||||
+ },
|
||||
+ {
|
||||
+ .gpio = GPIO_LEFT_KEY,
|
||||
+ .ds_irqflags = IRQF_TRIGGER_LOW,
|
||||
+ .code = KEY_LEFT,
|
||||
+ .desc = "Left key",
|
||||
+ .active_low = 1,
|
||||
+ .debounce_interval = 2,
|
||||
+ },
|
||||
+ {
|
||||
+ .gpio = GPIO_RIGHT_KEY,
|
||||
+ .ds_irqflags = IRQF_TRIGGER_LOW,
|
||||
+ .code = KEY_RIGHT,
|
||||
+ .desc = "Right key",
|
||||
+ .active_low = 1,
|
||||
+ .debounce_interval = 2,
|
||||
+ },
|
||||
+ {
|
||||
+ .gpio = GPIO_SELECT_KEY,
|
||||
+ .ds_irqflags = IRQF_TRIGGER_LOW,
|
||||
+ .code = KEY_SELECT,
|
||||
+ .desc = "Select key",
|
||||
+ .active_low = 1,
|
||||
+ .debounce_interval = 2,
|
||||
+ },
|
||||
+ {
|
||||
+ .gpio = GPIO_NUMERIC_STAR_KEY,
|
||||
+ .ds_irqflags = IRQF_TRIGGER_LOW,
|
||||
+ .code = KEY_NUMERIC_STAR,
|
||||
+ .desc = "Star key",
|
||||
+ .active_low = 1,
|
||||
+ .debounce_interval = 2,
|
||||
+ },
|
||||
+};
|
||||
+
|
||||
+static struct gpio_keys_platform_data gpio_button_data = {
|
||||
+ .buttons = gpio_buttons,
|
||||
+ .nbuttons = ARRAY_SIZE(gpio_buttons),
|
||||
+};
|
||||
+
|
||||
+static struct platform_device gpio_button_device = {
|
||||
+ .name = "gpio-keys",
|
||||
+ .id = -1,
|
||||
+ .num_resources = 0,
|
||||
+ .dev = {
|
||||
+ .platform_data = &gpio_button_data,
|
||||
+ }
|
||||
+};
|
||||
+#endif
|
||||
+
|
||||
/* keypad backlight */
|
||||
static struct platform_device kb_backlight_device = {
|
||||
.name = "keyboard-backlight",
|
||||
@@ -324,7 +472,7 @@ static struct serial_data plat_data2 = {
|
||||
.clk = 26000000,
|
||||
};
|
||||
|
||||
-static struct ft5x0x_ts_platform_data ft5x0x_ts_info = {
|
||||
+/*static struct ft5x0x_ts_platform_data ft5x0x_ts_info = {
|
||||
.irq_gpio_number = GPIO_TOUCH_IRQ,
|
||||
.reset_gpio_number = GPIO_TOUCH_RESET,
|
||||
.vdd_name = "vdd28",
|
||||
@@ -341,7 +489,7 @@ static struct ft5x0x_ts_platform_data ft5x0x_ts_info = {
|
||||
.TP_MAX_X = 540,
|
||||
.TP_MAX_Y = 960,
|
||||
#endif
|
||||
-};
|
||||
+};*/
|
||||
|
||||
#if(defined(CONFIG_INPUT_LTR558_I2C)||defined(CONFIG_INPUT_LTR558_I2C_MODULE))
|
||||
static struct ltr558_pls_platform_data ltr558_pls_info = {
|
||||
@@ -411,10 +411,12 @@ static struct i2c_board_info i2c0_boardinfo[] = {
|
||||
};
|
||||
|
||||
static struct i2c_board_info i2c1_boardinfo[] = {
|
||||
+#if(defined(CONFIG_TOUCHSCREEN))
|
||||
{
|
||||
I2C_BOARD_INFO(FOCALTECH_TS_NAME, FOCALTECH_TS_ADDR),
|
||||
.platform_data = &ft5x0x_ts_info,
|
||||
},
|
||||
+#endif
|
||||
};
|
||||
|
||||
static struct i2c_board_info i2c2_boardinfo[] = {
|
||||
@@ -461,8 +611,8 @@ static struct i2c_board_info i2c2_boardinfo[] = {
|
||||
static int sc8810_add_i2c_devices(void)
|
||||
{
|
||||
i2c_register_board_info(0, i2c0_boardinfo, ARRAY_SIZE(i2c0_boardinfo));
|
||||
- i2c_register_board_info(1, i2c1_boardinfo, ARRAY_SIZE(i2c1_boardinfo));
|
||||
- i2c_register_board_info(2, i2c2_boardinfo, ARRAY_SIZE(i2c2_boardinfo));
|
||||
+ //i2c_register_board_info(1, i2c1_boardinfo, ARRAY_SIZE(i2c1_boardinfo));
|
||||
+ //i2c_register_board_info(2, i2c2_boardinfo, ARRAY_SIZE(i2c2_boardinfo));
|
||||
return 0;
|
||||
}
|
||||
|
13
device/linux-nobby-230/05-add-xt-dscp-mask-define.patch
Normal file
13
device/linux-nobby-230/05-add-xt-dscp-mask-define.patch
Normal file
|
@ -0,0 +1,13 @@
|
|||
diff --git a/xt_dscp.h b/xt_dscp.h
|
||||
index 648e0b3..210a23a 100644
|
||||
--- a/include/uapi/linux/netfilter/xt_dscp.h
|
||||
+++ b/include/uapi/linux/netfilter/xt_dscp.h
|
||||
@@ -13,6 +13,8 @@
|
||||
#include <linux/netfilter/xt_dscp.h>
|
||||
#include <linux/types.h>
|
||||
|
||||
+#define XT_DSCP_MASK 0xfc
|
||||
+
|
||||
/* target info */
|
||||
struct xt_DSCP_info {
|
||||
__u8 dscp;
|
13
device/linux-nobby-230/06-set-BGR565-color-mode.patch
Normal file
13
device/linux-nobby-230/06-set-BGR565-color-mode.patch
Normal file
|
@ -0,0 +1,13 @@
|
|||
diff --git a/drivers/video/sprdfb/sprdfb_main.c b/drivers/video/sprdfb/sprdfb_main.c
|
||||
index cdb8c0c..6538bab 100644
|
||||
--- a/drivers/video/sprdfb/sprdfb_main.c
|
||||
+++ b/drivers/video/sprdfb/sprdfb_main.c
|
||||
@@ -38,7 +38,7 @@ enum{
|
||||
SPRD_IN_DATA_TYPE_LIMIT
|
||||
};
|
||||
|
||||
-#define SPRDFB_IN_DATA_TYPE SPRD_IN_DATA_TYPE_ABGR888
|
||||
+#define SPRDFB_IN_DATA_TYPE SPRD_IN_DATA_TYPE_BGR565
|
||||
|
||||
#ifdef CONFIG_FB_TRIPLE_FRAMEBUFFER
|
||||
#define FRAMEBUFFER_NR (3)
|
81
device/linux-nobby-230/APKBUILD
Normal file
81
device/linux-nobby-230/APKBUILD
Normal file
|
@ -0,0 +1,81 @@
|
|||
# Reference: <https://postmarketos.org/vendorkernel>
|
||||
# Maintainer: Anri Dellal <anridellal@gmail.com>
|
||||
# Contributor: Anri Dellal <anridellal@gmail.com>
|
||||
# Kernel config based on: arch/arm/configs/sp7715ga-native_defconfig
|
||||
|
||||
pkgname="linux-nobby-230"
|
||||
pkgver=3.10.17
|
||||
pkgrel=0
|
||||
pkgdesc="Nobby 230 kernel fork"
|
||||
arch="armv7"
|
||||
_carch="arm"
|
||||
_flavor="nobby-230"
|
||||
url="https://kernel.org"
|
||||
license="GPL-2.0-only"
|
||||
options="!strip !check !tracedeps"
|
||||
makedepends="gcc4 perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev devicepkg-dev"
|
||||
|
||||
# Compiler: GCC4. Doesn't boot with newer versions of GCC
|
||||
if [ "${CC:0:5}" != "gcc4-" ]; then
|
||||
CC="gcc4-$CC"
|
||||
HOSTCC="gcc4-gcc"
|
||||
CROSS_COMPILE="gcc4-$CROSS_COMPILE"
|
||||
fi
|
||||
|
||||
# Source
|
||||
_repository="android_kernel_scx15_sp7715ga_FS001"
|
||||
_commit="161c7229a4873ead08fc0118d93967b66e38d645"
|
||||
_config="config-$_flavor.$arch"
|
||||
source="
|
||||
$pkgname-$_commit.tar.gz::https://github.com/Qiangong2/$_repository/archive/$_commit.tar.gz
|
||||
$_config
|
||||
kernel-use-the-gnu89-standard-explicitly.patch
|
||||
01-fix-X11.patch
|
||||
02-arm-eabi-not-found.patch
|
||||
03-add-ili9340-support.patch
|
||||
04-add-keypad-support.patch
|
||||
05-add-xt-dscp-mask-define.patch
|
||||
06-set-BGR565-color-mode.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="0bee0e9c67c155957ed90f6f3707ec9663fd541c1c73e93c747b71423b37d64486c1c758b5e889280210b69d377c0bb203346f8d290252d5a4989788749b6e89 linux-nobby-230-161c7229a4873ead08fc0118d93967b66e38d645.tar.gz
|
||||
d24744af22416041aad23e67af3b37223e8a3ea8c6e2966431c8519886c2c0520f7c80939fdbe87225172f33f53e31a6501caac7c847c34b72f54b3c801cce1c config-nobby-230.armv7
|
||||
ad0182a483791fc88e058838bc331b2f04a75ba291e763767babdb815efadfc3b4fda97e69e2e3f00a426cabea088e35297a92bd287592597d1e309be68ee92c kernel-use-the-gnu89-standard-explicitly.patch
|
||||
fd3d5578120f43a09013feebe3ea75cff71de1078a92a20d27083f15279106f4c95f7889d432eabc689954d9db4bff09a429374b8d2891f23f08d64e66affd86 01-fix-X11.patch
|
||||
1cc15cf60c31f9cf4d82c74c3578fd8be55506278e5106634973784179509e47a7741e42241a7aa8622c0ce4192a331cf860b11537998ba4f8af4da13718229e 02-arm-eabi-not-found.patch
|
||||
720babeda78dfda03e99771bcdbaea35a9dc5fbe4ad6d6464802fda66829cb4b74a275d0f209e7f093c98a3b5ab654edeebfbdc499398ca8b21046534f7acd0b 03-add-ili9340-support.patch
|
||||
3b05155fdde4eca90c3c3be672f4e6eb2d888110eceb6ca88b593f835be36bcab91206dced76bc0a3ca71346ce50b4adec10a9f47a00a69b1d6e11ac268a51a9 04-add-keypad-support.patch
|
||||
8eb858cb1389bc5a9b39be96d8bb76d5ba6d58859eab32a496103d0d70218e994956fdd45e73e58a56881348b07503cdb177ee8836b797772af9d2743d58ed03 05-add-xt-dscp-mask-define.patch
|
||||
b0b59a222ab44d1c4e90fed0506d38282e8a2dfbed4bde9c0c5e381ae40177d916abec984a2b66fbca9d96c3afe4e3fa0e0922a300e91cb8ac1020cb15a9f88b 06-set-BGR565-color-mode.patch"
|
3260
device/linux-nobby-230/config-nobby-230.armv7
Normal file
3260
device/linux-nobby-230/config-nobby-230.armv7
Normal file
File diff suppressed because it is too large
Load diff
|
@ -0,0 +1 @@
|
|||
../../.shared-patches/linux/kernel-use-the-gnu89-standard-explicitly.patch
|
Loading…
Reference in a new issue