samsung-a3y17lte: new device (Samsung A3 2017) (MR 1784)
This commit is contained in:
parent
2f4a2ea087
commit
bb2a0d945e
14 changed files with 5133 additions and 0 deletions
22
device/testing/device-samsung-a3y17lte/APKBUILD
Normal file
22
device/testing/device-samsung-a3y17lte/APKBUILD
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
# Reference: <https://postmarketos.org/devicepkg>
|
||||||
|
pkgname=device-samsung-a3y17lte
|
||||||
|
pkgdesc="Samsung Galaxy A3 (2017)"
|
||||||
|
pkgver=0.1
|
||||||
|
pkgrel=0
|
||||||
|
url="https://postmarketos.org"
|
||||||
|
license="MIT"
|
||||||
|
arch="aarch64"
|
||||||
|
options="!check !archcheck"
|
||||||
|
depends="postmarketos-base linux-samsung-a3y17lte mkbootimg mesa-dri-gallium msm-fb-refresher"
|
||||||
|
makedepends="devicepkg-dev"
|
||||||
|
source="deviceinfo"
|
||||||
|
|
||||||
|
build() {
|
||||||
|
devicepkg_build $startdir $pkgname
|
||||||
|
}
|
||||||
|
|
||||||
|
package() {
|
||||||
|
devicepkg_package $startdir $pkgname
|
||||||
|
}
|
||||||
|
|
||||||
|
sha512sums="7501ab9e70310006133a3038ec47ac5c8a2bbcca088cd6f5d3e2b933c9a2c5f00916cf0fc3e624332cd226b3416df907281be3603c5bf9d543bf24f8fe25edcd deviceinfo"
|
35
device/testing/device-samsung-a3y17lte/deviceinfo
Normal file
35
device/testing/device-samsung-a3y17lte/deviceinfo
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
# Reference: <https://postmarketos.org/deviceinfo>
|
||||||
|
# Please use double quotes only. You can source this file in shell
|
||||||
|
# scripts.
|
||||||
|
|
||||||
|
deviceinfo_format_version="0"
|
||||||
|
deviceinfo_name="Samsung Galaxy A3 (2017)"
|
||||||
|
deviceinfo_manufacturer="Samsung"
|
||||||
|
deviceinfo_codename="samsung-a3y17lte"
|
||||||
|
deviceinfo_year="2017"
|
||||||
|
deviceinfo_dtb=""
|
||||||
|
deviceinfo_modules_initfs=""
|
||||||
|
deviceinfo_arch="aarch64"
|
||||||
|
|
||||||
|
# Device related
|
||||||
|
deviceinfo_chassis="handset"
|
||||||
|
deviceinfo_keyboard="false"
|
||||||
|
deviceinfo_external_storage="true"
|
||||||
|
deviceinfo_screen_width="720"
|
||||||
|
deviceinfo_screen_height="1280"
|
||||||
|
|
||||||
|
# Bootloader related
|
||||||
|
deviceinfo_flash_method="heimdall-bootimg"
|
||||||
|
deviceinfo_kernel_cmdline="androidboot.wificountrycode=00 buildvariant=userdebug"
|
||||||
|
deviceinfo_generate_bootimg="true"
|
||||||
|
deviceinfo_bootimg_qcdt="true"
|
||||||
|
deviceinfo_bootimg_mtk_mkimage="false"
|
||||||
|
deviceinfo_bootimg_dtb_second="false"
|
||||||
|
deviceinfo_flash_offset_base="0x10000000"
|
||||||
|
deviceinfo_flash_offset_kernel="0x00008000"
|
||||||
|
deviceinfo_flash_offset_ramdisk="0x01000000"
|
||||||
|
deviceinfo_flash_offset_second="0x00f00000"
|
||||||
|
deviceinfo_flash_offset_tags="0x00000100"
|
||||||
|
deviceinfo_flash_pagesize="2048"
|
||||||
|
deviceinfo_flash_heimdall_partition_kernel=""
|
||||||
|
deviceinfo_flash_heimdall_partition_system=""
|
|
@ -0,0 +1,10 @@
|
||||||
|
diff --git a/fs/sdcardfs/Kconfig b/fs/sdcardfs/Kconfig
|
||||||
|
index a849480..f52b9e4 100755
|
||||||
|
--- a/fs/sdcardfs/Kconfig
|
||||||
|
+++ b/fs/sdcardfs/Kconfig
|
||||||
|
@@ -2,4 +2,4 @@
|
||||||
|
# Android Sdcardfs configuation
|
||||||
|
#
|
||||||
|
|
||||||
|
-source "fs/sdcardfs/$ANDROID_MAJOR_VERSION/Kconfig"
|
||||||
|
+source "fs/sdcardfs/o/Kconfig"
|
|
@ -0,0 +1,13 @@
|
||||||
|
diff --git a/init/_vmm.S b/init/_vmm.S
|
||||||
|
index b2ef92fa..1a1d898f 100755
|
||||||
|
--- a/init/_vmm.S
|
||||||
|
+++ b/init/_vmm.S
|
||||||
|
@@ -19,7 +19,7 @@
|
||||||
|
|
||||||
|
#include <linux/vmm.h>
|
||||||
|
|
||||||
|
-#define vmm_ELF_PATH "init/vmm.elf"
|
||||||
|
+#define vmm_ELF_PATH "../init/vmm.elf"
|
||||||
|
|
||||||
|
#define SMC_64BIT_RET_MAGIC 0xC2000401
|
||||||
|
|
172
device/testing/linux-samsung-a3y17lte/03-disable-knox.patch
Normal file
172
device/testing/linux-samsung-a3y17lte/03-disable-knox.patch
Normal file
|
@ -0,0 +1,172 @@
|
||||||
|
diff --git a/net/ipv4/af_inet.c b/net/ipv4/af_inet.c
|
||||||
|
index fe388b09..b4adfb80 100755
|
||||||
|
--- a/net/ipv4/af_inet.c
|
||||||
|
+++ b/net/ipv4/af_inet.c
|
||||||
|
@@ -408,157 +408,6 @@ out_rcu_unlock:
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
|
|
||||||
|
-/* START_OF_KNOX_NPA */
|
||||||
|
-/** The function is used to check if the ncm feature is enabled or not; if enabled then collect the socket meta-data information; **/
|
||||||
|
-static void knox_collect_metadata(struct socket *sock) {
|
||||||
|
- if(check_ncm_flag()) {
|
||||||
|
- struct knox_socket_metadata* ksm = kzalloc(sizeof(struct knox_socket_metadata),GFP_KERNEL);
|
||||||
|
-
|
||||||
|
- struct sock *sk = sock->sk;
|
||||||
|
- struct inet_sock *inet = inet_sk(sk);
|
||||||
|
-
|
||||||
|
- struct pid *pid_struct;
|
||||||
|
- struct task_struct *task;
|
||||||
|
-
|
||||||
|
- struct pid *parent_pid_struct;
|
||||||
|
- struct task_struct *parent_task;
|
||||||
|
-
|
||||||
|
- struct timespec close_timespec;
|
||||||
|
-
|
||||||
|
- struct ipv6_pinfo *np;
|
||||||
|
-
|
||||||
|
- char full_process_name[128] = {0};
|
||||||
|
- int returnValue;
|
||||||
|
-
|
||||||
|
- if(ksm == NULL) return;
|
||||||
|
-
|
||||||
|
- if(!(sk->sk_family == AF_INET) && !(sk->sk_family == AF_INET6)) {
|
||||||
|
- printk("NPA feature will not record the invalid address type \n");
|
||||||
|
- kfree(ksm);
|
||||||
|
- return;
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
- #if IS_ENABLED(CONFIG_IPV6)
|
||||||
|
- if (sk->sk_family == AF_INET6) {
|
||||||
|
- np= inet6_sk(sk);
|
||||||
|
- if(np == NULL) {
|
||||||
|
- kfree(ksm);
|
||||||
|
- return;
|
||||||
|
- }
|
||||||
|
- switch(sk->sk_protocol) {
|
||||||
|
- case IPPROTO_TCP:
|
||||||
|
- if (!ipv6_addr_v4mapped(&np->saddr)) {
|
||||||
|
- kfree(ksm);
|
||||||
|
- return;
|
||||||
|
- }
|
||||||
|
- break;
|
||||||
|
- case IPPROTO_UDP:
|
||||||
|
- case IPPROTO_SCTP:
|
||||||
|
- default:
|
||||||
|
- if((sk->sk_udp_daddr != 0) && (sk->sk_udp_saddr != 0)) {
|
||||||
|
- break;
|
||||||
|
- }
|
||||||
|
- if (!ipv6_addr_v4mapped(&np->saddr)) {
|
||||||
|
- kfree(ksm);
|
||||||
|
- return;
|
||||||
|
- }
|
||||||
|
- break;
|
||||||
|
- }
|
||||||
|
- }
|
||||||
|
- #endif
|
||||||
|
-
|
||||||
|
- pid_struct = find_get_pid(current->tgid);
|
||||||
|
- task = pid_task(pid_struct,PIDTYPE_PID);
|
||||||
|
- if(task != NULL) {
|
||||||
|
- returnValue = get_cmdline(task, full_process_name, sizeof(full_process_name)-1);
|
||||||
|
- if(returnValue > 0) {
|
||||||
|
- memcpy(ksm->process_name,full_process_name, sizeof(ksm->process_name));
|
||||||
|
- } else {
|
||||||
|
- memcpy(ksm->process_name,task->comm, sizeof(task->comm));
|
||||||
|
- }
|
||||||
|
- if(task->parent != NULL) {
|
||||||
|
- parent_pid_struct = find_get_pid(task->parent->tgid);
|
||||||
|
- parent_task = pid_task(parent_pid_struct,PIDTYPE_PID);
|
||||||
|
- if(parent_task != NULL) {
|
||||||
|
- memcpy(ksm->parent_process_name,parent_task->comm,sizeof(ksm->parent_process_name));
|
||||||
|
- ksm->knox_puid = parent_task->cred->uid.val;
|
||||||
|
- }
|
||||||
|
- }
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
- if(sk->sk_protocol == IPPROTO_TCP) {
|
||||||
|
- sprintf(ksm->srcaddr,"%pI4",(void *)&inet->inet_saddr);
|
||||||
|
- ksm->srcport = ntohs(inet->inet_sport);
|
||||||
|
-
|
||||||
|
- sprintf(ksm->dstaddr,"%pI4",(void *)&inet->inet_daddr);
|
||||||
|
- ksm->dstport = ntohs(inet->inet_dport);
|
||||||
|
- }
|
||||||
|
- else if(sk->sk_protocol == IPPROTO_UDP) {
|
||||||
|
- if((sk->sk_udp_daddr == 0) && (sk->sk_udp_saddr == 0)) {
|
||||||
|
- sprintf(ksm->srcaddr,"%pI4",(void *)&inet->inet_saddr);
|
||||||
|
- ksm->srcport = ntohs(inet->inet_sport);
|
||||||
|
-
|
||||||
|
- sprintf(ksm->dstaddr,"%pI4",(void *)&inet->inet_daddr);
|
||||||
|
- ksm->dstport = ntohs(inet->inet_dport);
|
||||||
|
- } else {
|
||||||
|
- sprintf(ksm->srcaddr,"%pI4",(void *)&sk->sk_udp_saddr);
|
||||||
|
- ksm->srcport = ntohs(sk->sk_udp_sport);
|
||||||
|
-
|
||||||
|
- sprintf(ksm->dstaddr,"%pI4",(void *)&sk->sk_udp_daddr);
|
||||||
|
- ksm->dstport = ntohs(sk->sk_udp_dport);
|
||||||
|
- }
|
||||||
|
- }
|
||||||
|
- else if(sk->sk_protocol == IPPROTO_SCTP) {
|
||||||
|
- // To record packets which does not leave the device;
|
||||||
|
- if((sk->sk_udp_daddr == 0) && (sk->sk_udp_saddr == 0)) {
|
||||||
|
- sprintf(ksm->srcaddr,"%pI4",(void *)&inet->inet_saddr);
|
||||||
|
- ksm->srcport = ntohs(inet->inet_sport);
|
||||||
|
-
|
||||||
|
- sprintf(ksm->dstaddr,"%pI4",(void *)&inet->inet_daddr);
|
||||||
|
- ksm->dstport = ntohs(inet->inet_dport);
|
||||||
|
- } else {
|
||||||
|
- sprintf(ksm->srcaddr,"%pI4",(void *)&sk->sk_udp_saddr);
|
||||||
|
- ksm->srcport = ntohs(sk->sk_udp_sport);
|
||||||
|
-
|
||||||
|
- sprintf(ksm->dstaddr,"%pI4",(void *)&sk->sk_udp_daddr);
|
||||||
|
- ksm->dstport = ntohs(sk->sk_udp_dport);
|
||||||
|
- }
|
||||||
|
- }
|
||||||
|
- else {
|
||||||
|
- // Packets belonging to protocols which has no port numbers like icmp,igmp,esp,ah,...
|
||||||
|
- if((sk->sk_udp_daddr == 0) && (sk->sk_udp_saddr == 0)) {
|
||||||
|
- sprintf(ksm->srcaddr,"%pI4",(void *)&inet->inet_saddr);
|
||||||
|
- sprintf(ksm->dstaddr,"%pI4",(void *)&inet->inet_daddr);
|
||||||
|
- } else {
|
||||||
|
- sprintf(ksm->srcaddr,"%pI4",(void *)&sk->sk_udp_saddr);
|
||||||
|
- sprintf(ksm->dstaddr,"%pI4",(void *)&sk->sk_udp_daddr);
|
||||||
|
- }
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
- // Do not record packets which does not have valid ip addresses associated;
|
||||||
|
- if((strcmp(ksm->srcaddr,"0.0.0.0") == 0) && (strcmp(ksm->dstaddr,"0.0.0.0") == 0)) {
|
||||||
|
- kfree(ksm);
|
||||||
|
- return;
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
- ksm->knox_sent = sock->knox_sent;
|
||||||
|
- ksm->knox_recv = sock->knox_recv;
|
||||||
|
- ksm->knox_uid = current->cred->uid.val;
|
||||||
|
- ksm->knox_pid = current->tgid;
|
||||||
|
- ksm->trans_proto = sk->sk_protocol;
|
||||||
|
-
|
||||||
|
- memcpy(ksm->domain_name,sk->domain_name,sizeof(ksm->domain_name)-1);
|
||||||
|
-
|
||||||
|
- ksm->open_time = sock->open_time;
|
||||||
|
-
|
||||||
|
- close_timespec = current_kernel_time();
|
||||||
|
- ksm->close_time = close_timespec.tv_sec;
|
||||||
|
-
|
||||||
|
- insert_data_kfifo_kthread(ksm);
|
||||||
|
- }
|
||||||
|
-}
|
||||||
|
-/* END_OF_KNOX_NPA */
|
||||||
|
-
|
||||||
|
/*
|
||||||
|
* The peer socket should always be NULL (or else). When we call this
|
||||||
|
* function we are destroying the object and from then on nobody
|
||||||
|
@@ -590,9 +439,6 @@ int inet_release(struct socket *sock)
|
||||||
|
if (sock_flag(sk, SOCK_LINGER) &&
|
||||||
|
!(current->flags & PF_EXITING))
|
||||||
|
timeout = sk->sk_lingertime;
|
||||||
|
- /* START_OF_KNOX_NPA */
|
||||||
|
- knox_collect_metadata(sock);
|
||||||
|
- /* END_OF_KNOX_NPA */
|
||||||
|
sock->sk = NULL;
|
||||||
|
sk->sk_prot->close(sk, timeout);
|
||||||
|
}
|
|
@ -0,0 +1,46 @@
|
||||||
|
diff --git a/firmware/Makefile b/firmware/Makefile
|
||||||
|
index ea35f1ea..2cf87e7a 100755
|
||||||
|
--- a/firmware/Makefile
|
||||||
|
+++ b/firmware/Makefile
|
||||||
|
@@ -147,22 +147,6 @@ fw-shipped-$(CONFIG_TOUCHSCREEN_MELFAS_MMS438) += tsp_melfas/mms438_j7x.fw tsp_m
|
||||||
|
|
||||||
|
fw-shipped-$(CONFIG_TOUCHSCREEN_ATMEL_MXT1664) += tsp_atmel/mxt1664t_matisse.fw
|
||||||
|
|
||||||
|
-TSPFIRMWARE_DIRECTORY = firmware/tsp_stm
|
||||||
|
-ifeq ($(shell test -d $(TSPFIRMWARE_DIRECTORY) && echo yes),yes)
|
||||||
|
-fw-shipped-$(CONFIG_TOUCHSCREEN_FTS7) += tsp_stm/matisse.fw tsp_stm/stm_gtaxl.fw tsp_stm/fts1a096_gtaxl_rev03.fw \
|
||||||
|
- tsp_stm/fts1a096_gtaxl_note.fw
|
||||||
|
-fw-shipped-$(CONFIG_TOUCHSCREEN_FTS) += tsp_stm/fts8cd56_gtactive2.fw
|
||||||
|
-fw-shipped-$(CONFIG_TOUCHSCREEN_FTS1BA90A) += tsp_stm/fts1ba90a_gtadv2.fw
|
||||||
|
-else
|
||||||
|
-$(warning '$(TSPFIRMWARE_DIRECTORY)' directory dose not exist)
|
||||||
|
-endif
|
||||||
|
-TSPFIRMWARE_DIRECTORY = firmware/tsp_zinitix
|
||||||
|
-ifeq ($(shell test -d $(TSPFIRMWARE_DIRECTORY) && echo yes),yes)
|
||||||
|
-fw-shipped-$(CONFIG_TOUCHSCREEN_ZINITIX_ZT75XX) += tsp_zinitix/zt7548_degas2.fw tsp_zinitix/zt7538_o7.fw
|
||||||
|
-fw-shipped-$(CONFIG_TOUCHSCREEN_ZINITIX_ZT75XX_TCLM) += tsp_zinitix/zt7548_a6lte.fw tsp_zinitix/zt7548_j6.fw
|
||||||
|
-else
|
||||||
|
-$(warning '$(TSPFIRMWARE_DIRECTORY)' directory dose not exist)
|
||||||
|
-endif
|
||||||
|
fw-shipped-$(CONFIG_TOUCHSCREEN_ZINITIX_BT541C) += tsp_zinitix/bt541c_GPPIris.fw
|
||||||
|
|
||||||
|
fw-shipped-$(CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_DSX2) += tsp_synaptics/td4300_on7xelte.fw
|
||||||
|
@@ -182,8 +166,8 @@ fw-shipped-$(CONFIG_KEYBOARD_TC300K) += coreriver/tc350k_j7x.fw coreriver/tc305k
|
||||||
|
coreriver/tc305k_j7top_kor.fw coreriver/tc305k_j7top_gsm.fw
|
||||||
|
fw-shipped-$(CONFIG_KEYBOARD_MELFAS_MHS204) += melfas_tk/mhs204g_on7xlte.fw
|
||||||
|
fw-shipped-$(CONFIG_KEYBOARD_MELFAS_MHS2041) += melfas_tk/mhs204_j5y17.fw melfas_tk/mhs2041_j5y17.fw melfas_tk/mhs2041_j7y17.fw
|
||||||
|
-fw-shipped-$(CONFIG_KEYBOARD_MELFAS_MHS2041B) += melfas_tk/mhs2041_j5y17.fw melfas_tk/mhs2041B_j5y17.fw melfas_tk/mhs2041B_j5y17_new.fw \
|
||||||
|
- melfas_tk/mhs2041_j7y17.fw melfas_tk/mhs2041B_j7y17.fw melfas_tk/mhs2041B_j7y17_new.fw \
|
||||||
|
+fw-shipped-$(CONFIG_KEYBOARD_MELFAS_MHS2041B) += melfas_tk/mhs2041B_j5y17.fw melfas_tk/mhs2041B_j5y17_new.fw \
|
||||||
|
+ melfas_tk/mhs2041B_j7y17.fw melfas_tk/mhs2041B_j7y17_new.fw \
|
||||||
|
melfas_tk/mhs2041B_j7y17_ltn.fw melfas_tk/mhs2041B_j7y17_open.fw melfas_tk/melfas_mip4_tk.fw
|
||||||
|
|
||||||
|
fw-shipped-$(CONFIG_KEYBOARD_ABOV_TOUCH_FT1804) += abov/abov_a7_max.fw
|
||||||
|
@@ -201,7 +185,6 @@ fw-shipped-$(CONFIG_SENSORS_SSP_2017A3) += ssp_stmf410_a2017.fw
|
||||||
|
fw-shipped-$(CONFIG_SENSORS_SSP_A3XPREMIUM) += ssp_stmf410_a3p.fw
|
||||||
|
fw-shipped-$(CONFIG_SENSORS_SSP_A3Y17PREMIUM) += ssp_stmf410_a2017_p.fw
|
||||||
|
fw-shipped-$(CONFIG_SENSORS_SSP_STM32) += ssp_crashed.fw
|
||||||
|
-fw-shipped-$(CONFIG_SENSORS_SSP_STM_V2) += ssp_crashed.fw
|
||||||
|
|
||||||
|
# FPGA for IRIS
|
||||||
|
fw-shipped-$(CONFIG_LEDS_IRIS_FPGA_ICE40XX) += ice40xx/ice40_fpga_iris_V01.fw
|
19
device/testing/linux-samsung-a3y17lte/05-add-dts-make.patch
Normal file
19
device/testing/linux-samsung-a3y17lte/05-add-dts-make.patch
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
diff --git a/arch/arm64/boot/dts/Makefile b/arch/arm64/boot/dts/Makefile
|
||||||
|
index 96e7219d..30cfb3de 100755
|
||||||
|
--- a/arch/arm64/boot/dts/Makefile
|
||||||
|
+++ b/arch/arm64/boot/dts/Makefile
|
||||||
|
@@ -3,7 +3,13 @@ dtb-$(CONFIG_ARCH_VEXPRESS) += rtsm_ve-aemv8a.dtb foundation-v8.dtb
|
||||||
|
dtb-$(CONFIG_ARCH_XGENE) += apm-mustang.dtb
|
||||||
|
dtb-$(CONFIG_SOC_EXYNOS8890) += exynos8890-espresso8890.dtb exynos8890-espresso8890_rev01.dtb exynos8890-universal8890.dtb exynos8890-smdk8890.dtb
|
||||||
|
dtb-$(CONFIG_SOC_EXYNOS8890) += exynos8890-evt1-smdk8890.dtb
|
||||||
|
-dtb-$(CONFIG_SOC_EXYNOS7870) += exynos7870-smdk7870.dtb exynos7870-universal7870.dtb exynos7870-universal7870_rev01.dtb
|
||||||
|
+#dtb-$(CONFIG_SOC_EXYNOS7870) += exynos7870-smdk7870.dtb exynos7870-universal7870.dtb exynos7870-universal7870_rev01.dtb
|
||||||
|
+
|
||||||
|
+dtb-$(CONFIG_SOC_EXYNOS7870) += \
|
||||||
|
+ exynos7870-a3y17lte_eur_open_00.dtb \
|
||||||
|
+ exynos7870-a3y17lte_eur_open_01.dtb \
|
||||||
|
+ exynos7870-a3y17lte_eur_open_02.dtb \
|
||||||
|
+ exynos7870-a3y17lte_eur_open_03.dtb
|
||||||
|
|
||||||
|
targets += dtbs
|
||||||
|
|
|
@ -0,0 +1,18 @@
|
||||||
|
diff --git a/drivers/video/fbdev/exynos/decon_7870/decon-int_drv.c b/drivers/video/fbdev/exynos/decon_7870/decon-int_drv.c
|
||||||
|
index c5465e93..4f6feb6b 100755
|
||||||
|
--- a/drivers/video/fbdev/exynos/decon_7870/decon-int_drv.c
|
||||||
|
+++ b/drivers/video/fbdev/exynos/decon_7870/decon-int_drv.c
|
||||||
|
@@ -463,11 +463,11 @@ int decon_check_var(struct fb_var_screeninfo *var, struct fb_info *info)
|
||||||
|
case 24:
|
||||||
|
/* our 24bpp is unpacked, so 32bpp */
|
||||||
|
var->bits_per_pixel = 32;
|
||||||
|
- var->red.offset = 16;
|
||||||
|
+ var->red.offset = 0;
|
||||||
|
var->red.length = 8;
|
||||||
|
var->green.offset = 8;
|
||||||
|
var->green.length = 8;
|
||||||
|
- var->blue.offset = 0;
|
||||||
|
+ var->blue.offset = 16;
|
||||||
|
var->blue.length = 8;
|
||||||
|
break;
|
||||||
|
|
|
@ -0,0 +1,24 @@
|
||||||
|
diff --git a/drivers/usb/gadget/function/u_ether.c b/drivers/usb/gadget/function/u_ether.c
|
||||||
|
index 2502ce1d..c6028edc 100755
|
||||||
|
--- a/drivers/usb/gadget/function/u_ether.c
|
||||||
|
+++ b/drivers/usb/gadget/function/u_ether.c
|
||||||
|
@@ -1262,18 +1262,13 @@ struct eth_dev *gether_setup_name(struct usb_gadget *g, u8 ethaddr[ETH_ALEN],
|
||||||
|
if (get_ether_addr(dev_addr, net->dev_addr))
|
||||||
|
dev_warn(&g->dev,
|
||||||
|
"using random %s ethernet address\n", "self");
|
||||||
|
-#ifdef CONFIG_USB_ANDROID_SAMSUNG_COMPOSITE
|
||||||
|
- memcpy(dev->host_mac, ethaddr, ETH_ALEN);
|
||||||
|
- printk(KERN_DEBUG "usb: set unique host mac\n");
|
||||||
|
-
|
||||||
|
-#else
|
||||||
|
if (get_ether_addr(host_addr, dev->host_mac))
|
||||||
|
dev_warn(&g->dev,
|
||||||
|
"using random %s ethernet address\n", "host");
|
||||||
|
|
||||||
|
if (ethaddr)
|
||||||
|
memcpy(ethaddr, dev->host_mac, ETH_ALEN);
|
||||||
|
-#endif
|
||||||
|
+
|
||||||
|
net->netdev_ops = ð_netdev_ops;
|
||||||
|
|
||||||
|
net->ethtool_ops = &ops;
|
69
device/testing/linux-samsung-a3y17lte/APKBUILD
Normal file
69
device/testing/linux-samsung-a3y17lte/APKBUILD
Normal file
|
@ -0,0 +1,69 @@
|
||||||
|
# Reference: <https://postmarketos.org/vendorkernel>
|
||||||
|
# Kernel config based on: arch/arm64/configs/a3y17ltexc_00_defconfig
|
||||||
|
|
||||||
|
pkgname=linux-samsung-a3y17lte
|
||||||
|
pkgver=3.18.14
|
||||||
|
pkgrel=0
|
||||||
|
pkgdesc="Samsung Galaxy A3 (2017) kernel fork"
|
||||||
|
arch="aarch64"
|
||||||
|
_carch="arm64"
|
||||||
|
_flavor="samsung-a3y17lte"
|
||||||
|
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-exynos"
|
||||||
|
|
||||||
|
# Source
|
||||||
|
_repository="SM-A320FL-kernel"
|
||||||
|
_commit="5414dbfa9f5e114366ff0cc2ffeb9725f3c6b8c3"
|
||||||
|
_config="config-$_flavor.$arch"
|
||||||
|
source="
|
||||||
|
$pkgname-$_commit.tar.gz::https://github.com/mimi89999/$_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
|
||||||
|
01-fix-recursive-Kconfig.patch
|
||||||
|
02-fix-vmm-blob-include.patch
|
||||||
|
03-disable-knox.patch
|
||||||
|
04-fix-firmware-make.patch
|
||||||
|
05-add-dts-make.patch
|
||||||
|
06-fix-video-argb-setting.patch
|
||||||
|
07-fix-usb-gadget-random-mac.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"
|
||||||
|
|
||||||
|
# Master DTB (deviceinfo_bootimg_qcdt)
|
||||||
|
dtbTool-exynos -o "$_outdir/arch/$_carch/boot"/dt.img \
|
||||||
|
$(find "$_outdir/arch/$_carch/boot/dts/" -name *a3y17lte*.dtb)
|
||||||
|
}
|
||||||
|
|
||||||
|
package() {
|
||||||
|
downstreamkernel_package "$builddir" "$pkgdir" "$_carch" "$_flavor" "$_outdir"
|
||||||
|
install -Dm644 "$_outdir/arch/$_carch/boot"/dt.img \
|
||||||
|
"$pkgdir"/boot/dt.img
|
||||||
|
}
|
||||||
|
|
||||||
|
sha512sums="71cb4a24bc1aaeaeafd5e00159e560f487eb851a099f652fcb2e9709e6aea4f2e1b95830be13c865c2fab1fad54c9ba209d72068806cef64713e1e12e3d9fb70 linux-samsung-a3y17lte-5414dbfa9f5e114366ff0cc2ffeb9725f3c6b8c3.tar.gz
|
||||||
|
28b08b6c30be6cb62249370033bcdf5649c14344be2689c5a5250f59d9ad53bb0d25d1750322e2d994c701c2f408406c21824c3d3ab217937e77ca4489fe7046 config-samsung-a3y17lte.aarch64
|
||||||
|
77eba606a71eafb36c32e9c5fe5e77f5e4746caac292440d9fb720763d766074a964db1c12bc76fe583c5d1a5c864219c59941f5e53adad182dbc70bf2bc14a7 gcc7-give-up-on-ilog2-const-optimizations.patch
|
||||||
|
197d40a214ada87fcb2dfc0ae4911704b9a93354b75179cd6b4aadbb627a37ec262cf516921c84a8b1806809b70a7b440cdc8310a4a55fca5d2c0baa988e3967 gcc8-fix-put-user.patch
|
||||||
|
2b48f1bf0e3f70703d2cdafc47d5e615cc7c56c70bec56b2e3297d3fa4a7a1321d649a8679614553dde8fe52ff1051dae38d5990e3744c9ca986d92187dcdbeb gcc10-extern_YYLOC_global_declaration.patch
|
||||||
|
07dac7460696ee67d192ec03a39a6b70991b848c878fb71975cac54be9dddd26c68f8cc6b92db150b06e916c11c1cff4f6f213686ab1cda1318f56db081d9ba1 01-fix-recursive-Kconfig.patch
|
||||||
|
23bf8ef0ad38b38ffa9ddfdee76a32c43b021169c6db6f5b733fd6434169f7c7bb27cdb1232be89475f34f9053211d943e13f5fba565c928256b92b18d636130 02-fix-vmm-blob-include.patch
|
||||||
|
8f3939d3f0f91f7b21e12b63e0c650ea6d147f988e927ff7785fbfffa4578ea0a59acbb76f74a680d887cfb89b29a1caa2e62df93062b6bcfba291282b621f82 03-disable-knox.patch
|
||||||
|
66af05562023bebc8334db8236655960e306aa4e2ce216129a077a762bcf951b8c2c286e1c3f45c6478296769e3b6a70f88256e909a9c48f2539bfc056ecf312 04-fix-firmware-make.patch
|
||||||
|
436f028e28760c2c93c63333ecd78d4d03291264cb2e108f66d75d5f2e44df9b0cba90ecfd762df3aab7ff131eddc13ba033332a6384680bff85424cfe95c4c2 05-add-dts-make.patch
|
||||||
|
9e532d0051756831e12948a5584f331528be58bcddbfab1e1df0217760d035f81b1ac7361b8e81190d4901761572680965b4dd8ef30492c5f94fc330089ce0b3 06-fix-video-argb-setting.patch
|
||||||
|
0d56ba508408dc31961ad688f7fd960b0008851fd5729088658095417781b99962740e0c64d162a26f8389e4b4dc88e291252e7935e896fc70bf73c23150caea 07-fix-usb-gadget-random-mac.patch"
|
File diff suppressed because it is too large
Load diff
|
@ -0,0 +1 @@
|
||||||
|
../../.shared-patches/linux/gcc10-extern_YYLOC_global_declaration.patch
|
|
@ -0,0 +1 @@
|
||||||
|
../../.shared-patches/linux/gcc7-give-up-on-ilog2-const-optimizations.patch
|
1
device/testing/linux-samsung-a3y17lte/gcc8-fix-put-user.patch
Symbolic link
1
device/testing/linux-samsung-a3y17lte/gcc8-fix-put-user.patch
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
../../.shared-patches/linux/gcc8-fix-put-user.patch
|
Loading…
Reference in a new issue