├── rootdir ├── etc │ ├── init.device.rc │ └── fstab.h815 └── Android.mk ├── lineage.dependencies ├── system.prop ├── lineage.mk ├── proprietary-files.txt ├── README.md ├── extract-files.sh ├── setup-makefiles.sh ├── BoardConfig.mk ├── full_h815.mk ├── Android.mk ├── device.mk ├── overlay └── frameworks │ └── base │ └── core │ └── res │ └── res │ └── values │ └── config.xml ├── configs └── gps.conf └── audio └── audio_platform_info.xml /rootdir/etc/init.device.rc: -------------------------------------------------------------------------------- 1 | on early-fs 2 | mount_all fstab.h815 3 | -------------------------------------------------------------------------------- /lineage.dependencies: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "repository": "android_device_lge_g4-common", 4 | "target_path": "device/lge/g4-common" 5 | } 6 | ] 7 | -------------------------------------------------------------------------------- /system.prop: -------------------------------------------------------------------------------- 1 | # Radio 2 | persist.radio.do_not_init_csvt=1 3 | rild.libargs=-d /dev/smd0 4 | ril.subscription.types=NV,RUIM 5 | ro.telephony.call_ring.multiple=0 6 | ro.telephony.default_network=9 7 | telephony.lteOnCdmaDevice=0 8 | telephony.lteOnGsmDevice=1 9 | -------------------------------------------------------------------------------- /lineage.mk: -------------------------------------------------------------------------------- 1 | $(call inherit-product, device/lge/h815/full_h815.mk) 2 | 3 | # Inherit some common Lineage stuff. 4 | $(call inherit-product, vendor/lineage/config/common_full_phone.mk) 5 | 6 | PRODUCT_NAME := lineage_h815 7 | 8 | PRODUCT_BUILD_PROP_OVERRIDES += \ 9 | PRODUCT_DEVICE="g4" \ 10 | PRODUCT_NAME="g4_global_com" \ 11 | PRIVATE_BUILD_DESC="p1_global_com-user 6.0 MRA58K 152940055675e release-keys" 12 | 13 | BUILD_FINGERPRINT := "lge/p1_global_com/p1:6.0/MRA58K/152940055675e:user/release-keys" 14 | -------------------------------------------------------------------------------- /rootdir/Android.mk: -------------------------------------------------------------------------------- 1 | LOCAL_PATH:= $(call my-dir) 2 | include $(CLEAR_VARS) 3 | 4 | # Device init scripts 5 | 6 | include $(CLEAR_VARS) 7 | LOCAL_MODULE := fstab.h815 8 | LOCAL_MODULE_TAGS := optional eng 9 | LOCAL_MODULE_CLASS := ETC 10 | LOCAL_SRC_FILES := etc/fstab.h815 11 | LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT) 12 | include $(BUILD_PREBUILT) 13 | 14 | include $(CLEAR_VARS) 15 | LOCAL_MODULE := init.device.rc 16 | LOCAL_MODULE_TAGS := optional eng 17 | LOCAL_MODULE_CLASS := ETC 18 | LOCAL_SRC_FILES := etc/init.device.rc 19 | LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT) 20 | include $(BUILD_PREBUILT) 21 | -------------------------------------------------------------------------------- /proprietary-files.txt: -------------------------------------------------------------------------------- 1 | etc/acdbdata/General_cal.acdb 2 | etc/acdbdata/Hdmi_cal.acdb 3 | etc/acdbdata/Speaker_cal.acdb 4 | etc/acdbdata/Bluetooth_cal.acdb 5 | etc/acdbdata/workspaceFile.qwsp 6 | etc/acdbdata/Global_cal.acdb 7 | etc/acdbdata/Handset_cal.acdb 8 | etc/acdbdata/Headset_cal.acdb 9 | etc/firmware/venus.b03 10 | etc/firmware/venus.b01 11 | etc/firmware/fw_bcmdhd.bin 12 | etc/firmware/venus.b00 13 | etc/firmware/venus.mbn 14 | etc/firmware/fw_bcmdhd_apsta.bin 15 | etc/firmware/venus.b04 16 | etc/firmware/venus.mdt 17 | etc/firmware/fw_bcmdhd_mfg.bin 18 | etc/firmware/venus.b02 19 | vendor/lib/libacdbloader.so 20 | vendor/lib64/libacdbloader.so 21 | -------------------------------------------------------------------------------- /rootdir/etc/fstab.h815: -------------------------------------------------------------------------------- 1 | # Android fstab file. 2 | # The filesystem that contains the filesystem checker binary (typically /system) cannot 3 | # specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK 4 | 5 | #TODO: Add 'check' as fs_mgr_flags with data partition. 6 | # Currently we dont have e2fsck compiled. So fs check would failed. 7 | 8 | # 9 | /dev/block/bootdevice/by-name/cust /cust ext4 ro,nosuid,nodev,barrier=1,noauto_da_alloc defaults,notrim 10 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | Copyright 2015 - The CyanogenMod Project 2 | 3 | Device configuration for LG G4 (International). 4 | ===================================== 5 | 6 | Basic | Spec Sheet 7 | -------:|:------------------------- 8 | CPU | Dual-core 2.0 GHz ARM® Cortex™ A57 and quad-core 1.5 GHz ARM® Cortex™ A53 9 | CHIPSET | Qualcomm MSM8992 Snapdragon 808 10 | GPU | Adreno 418 11 | Memory | 3GB 12 | Shipped Android Version | 5.1 13 | Storage | 32GB 14 | MicroSD | Up to 128GB 15 | Battery | 3000 mAh 16 | Dimensions | 148.9 x 76.1 x 6.3 - 9.8 mm 17 | Display | 2560 x 1440 pixels, 5.5" HD-IPS LCD 18 | Rear Camera | 16 MP hybrid infared autofocus, dual-LED flash 19 | Front Camera | 8 MP 20 | Release Date | April 2015 21 | 22 | ![LG G4](http://cdn2.gsmarena.com/vv/pics/lg/lg-g4-1.jpg "LG G4") 23 | -------------------------------------------------------------------------------- /extract-files.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # Copyright (C) 2016 The CyanogenMod Project 4 | # 5 | # Licensed under the Apache License, Version 2.0 (the "License"); 6 | # you may not use this file except in compliance with the License. 7 | # You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | # 17 | 18 | set -e 19 | 20 | export DEVICE=h815 21 | export VENDOR=lge 22 | 23 | # Use common extractor 24 | ../g4-common/extract-files.sh $@ 25 | -------------------------------------------------------------------------------- /setup-makefiles.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # Copyright (C) 2016 The CyanogenMod Project 4 | # 5 | # Licensed under the Apache License, Version 2.0 (the "License"); 6 | # you may not use this file except in compliance with the License. 7 | # You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | # 17 | 18 | set -e 19 | 20 | # Required! 21 | export DEVICE=h815 22 | export VENDOR=lge 23 | 24 | # Call the common extractor 25 | ../g4-common/setup-makefiles.sh $@ 26 | -------------------------------------------------------------------------------- /BoardConfig.mk: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (C) 2015 The CyanogenMod Project 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | # inherit from common g4 18 | -include device/lge/g4-common/BoardConfigCommon.mk 19 | 20 | # Partitions 21 | BOARD_SYSTEMIMAGE_PARTITION_SIZE := 4341104640 22 | BOARD_USERDATAIMAGE_PARTITION_SIZE := 24897388544 23 | 24 | TARGET_OTA_ASSERT_DEVICE := g4,p1,h815 25 | 26 | # Kernel 27 | TARGET_KERNEL_CONFIG := lineageos_h815_defconfig 28 | 29 | # inherit from the proprietary version 30 | -include vendor/lge/h815/BoardConfigVendor.mk 31 | -------------------------------------------------------------------------------- /full_h815.mk: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 2015 The CyanogenMod Project 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | # Inherit from those products. Most specific first. 18 | $(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit.mk) 19 | $(call inherit-product, $(SRC_TARGET_DIR)/product/full_base_telephony.mk) 20 | 21 | # Inherit from h815 device 22 | $(call inherit-product, device/lge/h815/device.mk) 23 | 24 | # Set those variables here to overwrite the inherited values. 25 | PRODUCT_DEVICE := h815 26 | PRODUCT_NAME := full_h815 27 | PRODUCT_BRAND := lge 28 | PRODUCT_MODEL := LG-H815 29 | PRODUCT_MANUFACTURER := LGE 30 | -------------------------------------------------------------------------------- /Android.mk: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 2015 The CyanogenMod Project 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | # This contains the module build definitions for the hardware-specific 18 | # components for this device. 19 | # 20 | # As much as possible, those components should be built unconditionally, 21 | # with device-specific names to avoid collisions, to avoid device-specific 22 | # bitrot and build breakages. Building a component unconditionally does 23 | # *not* include it on all devices, so it is safe even with hardware-specific 24 | # components. 25 | 26 | LOCAL_PATH := $(call my-dir) 27 | 28 | ifneq ($(filter h815,$(TARGET_DEVICE)),) 29 | include $(call all-makefiles-under,$(LOCAL_PATH)) 30 | endif 31 | -------------------------------------------------------------------------------- /device.mk: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (C) 2015 The CyanogenMod Project 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | $(call inherit-product, $(SRC_TARGET_DIR)/product/languages_full.mk) 18 | 19 | # Get non-open-source specific aspects 20 | $(call inherit-product-if-exists, vendor/lge/h815/h815-vendor.mk) 21 | 22 | # Overlays 23 | DEVICE_PACKAGE_OVERLAYS += $(LOCAL_PATH)/overlay 24 | 25 | # Init configuration 26 | PRODUCT_PACKAGES += \ 27 | fstab.h815 \ 28 | init.device.rc \ 29 | 30 | # Audio 31 | PRODUCT_COPY_FILES += \ 32 | $(LOCAL_PATH)/audio/audio_platform_info.xml:system/etc/audio_platform_info.xml 33 | 34 | # Gps 35 | PRODUCT_COPY_FILES += \ 36 | $(LOCAL_PATH)/configs/gps.conf:system/etc/gps.conf 37 | 38 | # common g4 39 | $(call inherit-product, device/lge/g4-common/g4.mk) 40 | -------------------------------------------------------------------------------- /overlay/frameworks/base/core/res/res/values/config.xml: -------------------------------------------------------------------------------- 1 | 2 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | "default" 29 | "dun" 30 | "mms" 31 | "supl" 32 | 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /configs/gps.conf: -------------------------------------------------------------------------------- 1 | #Uncommenting these urls would only enable 2 | #the power up auto injection and force injection(test case). 3 | XTRA_SERVER_1=http://xtrapath1.izatcloud.net/xtra3grc.bin 4 | XTRA_SERVER_2=http://xtrapath2.izatcloud.net/xtra3grc.bin 5 | XTRA_SERVER_3=http://xtrapath3.izatcloud.net/xtra3grc.bin 6 | 7 | #Version check for XTRA 8 | #DISABLE = 0 9 | #AUTO = 1 10 | #XTRA2 = 2 11 | #XTRA3 = 3 12 | XTRA_VERSION_CHECK=0 13 | 14 | # Error Estimate 15 | # _SET = 1 16 | # _CLEAR = 0 17 | ERR_ESTIMATE=0 18 | 19 | # Test 20 | #NTP_SERVER=time.gpsonextra.net 21 | # Asia 22 | #NTP_SERVER=asia.pool.ntp.org 23 | # Europe 24 | NTP_SERVER=europe.pool.ntp.org 25 | # North America 26 | #NTP_SERVER=north-america.pool.ntp.org 27 | 28 | # DEBUG LEVELS: 0 - none, 1 - Error, 2 - Warning, 3 - Info 29 | # 4 - Debug, 5 - Verbose 30 | # If DEBUG_LEVEL is commented, Android's logging levels will be used 31 | DEBUG_LEVEL = 2 32 | 33 | # Intermediate position report, 1=enable, 0=disable 34 | INTERMEDIATE_POS=0 35 | 36 | # Below bit mask configures how GPS functionalities 37 | # should be locked when user turns off GPS on Settings 38 | # Set bit 0x1 if MO GPS functionalities are to be locked 39 | # Set bit 0x2 if NI GPS functionalities are to be locked 40 | # default - non is locked for backward compatibility 41 | #GPS_LOCK_MASK = 0 42 | 43 | # SUPL version 2.0 44 | SUPL_VER=0x20000 45 | 46 | # Emergency SUPL, 1=enable, 0=disable 47 | SUPL_ES=1 48 | 49 | # GPS Capabilities bit mask 50 | # SCHEDULING = 0x01 51 | # MSB = 0x02 52 | # MSA = 0x04 53 | # ON_DEMAND_TIME = 0x10 54 | # GEOFENCE = 0x20 55 | # default = ON_DEMAND_TIME | MSA | MSB | SCHEDULING | GEOFENCE 56 | CAPABILITIES=0x37 57 | 58 | # Accuracy threshold for intermediate positions 59 | # less accurate positions are ignored, 0 for passing all positions 60 | #ACCURACY_THRES=5000 61 | 62 | ################################ 63 | ##### AGPS server settings ##### 64 | ################################ 65 | 66 | # FOR SUPL SUPPORT, set the following 67 | # SUPL_HOST=supl.host.com or IP 68 | # SUPL_PORT=1234 69 | SUPL_HOST=supl.google.com 70 | SUPL_PORT=7276 71 | 72 | # Bitmask of slots that are available 73 | # for write/install to, where 1s indicate writable, 74 | # and the default value is 0 where no slots 75 | # are writable. For example, AGPS_CERT_WRITABLE_MASK 76 | # of b1000001010 makes 3 slots available 77 | # for installation (slots 2, 4, and 10) 78 | # and the remaining 7 slots unwritable. 79 | #AGPS_CERT_WRITABLE_MASK=0 80 | 81 | #################################### 82 | # LTE Positioning Profile Settings 83 | #################################### 84 | # 0: Enable RRLP on LTE(Default) 85 | # 1: Enable LPP_User_Plane on LTE 86 | # 2: Enable LPP_Control_Plane 87 | # 3: Enable both LPP_User_Plane and LPP_Control_Plane 88 | LPP_PROFILE = 0 89 | 90 | ################################ 91 | # EXTRA SETTINGS 92 | ################################ 93 | # NMEA provider (1=Modem Processor, 0=Application Processor) 94 | NMEA_PROVIDER=0 95 | 96 | ################################################## 97 | # Select Positioning Protocol on A-GLONASS system 98 | ################################################## 99 | # 0x1: RRC CPlane 100 | # 0x2: RRLP UPlane 101 | # 0x4: LLP Uplane 102 | A_GLONASS_POS_PROTOCOL_SELECT = 0 103 | -------------------------------------------------------------------------------- /audio/audio_platform_info.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | --------------------------------------------------------------------------------