From 2cec38abd983777c4a27f97ffad90234f1569934 Mon Sep 17 00:00:00 2001 From: dd3boh Date: Tue, 31 Oct 2017 16:00:54 +0100 Subject: msm8996-common: Commonize the device tree Signed-off-by: dd3boh --- init/Android.mk | 4 +- init/init_msm8996.cpp | 107 ++++++++++++++++++++++++++++++++++++++++++++++++++ init/init_z2_plus.cpp | 107 -------------------------------------------------- 3 files changed, 109 insertions(+), 109 deletions(-) create mode 100644 init/init_msm8996.cpp delete mode 100644 init/init_z2_plus.cpp (limited to 'init') diff --git a/init/Android.mk b/init/Android.mk index 04ff837..987a868 100644 --- a/init/Android.mk +++ b/init/Android.mk @@ -21,8 +21,8 @@ include $(CLEAR_VARS) LOCAL_MODULE_TAGS := optional LOCAL_C_INCLUDES := system/core/init LOCAL_CFLAGS := -Wall -DANDROID_TARGET=\"$(TARGET_BOARD_PLATFORM)\" -LOCAL_SRC_FILES := init_z2_plus.cpp -LOCAL_MODULE := libinit_z2_plus +LOCAL_SRC_FILES := init_msm8996.cpp +LOCAL_MODULE := libinit_msm8996 LOCAL_STATIC_LIBRARIES := \ libbase diff --git a/init/init_msm8996.cpp b/init/init_msm8996.cpp new file mode 100644 index 0000000..04f02a7 --- /dev/null +++ b/init/init_msm8996.cpp @@ -0,0 +1,107 @@ +/* + Copyright (C) 2013-2016, The CyanogenMod Project + Copyright (C) 2017, The LineageOS Project + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of The Linux Foundation nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED + WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT + ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS + BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN + IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include +#include +#include +#include +#include +#include "property_service.h" +#include "vendor_init.h" + +using android::base::GetProperty; +using android::base::SetProperty; + +std::string heapminfree; +std::string heapmaxfree; + +static void init_alarm_boot_properties() +{ + int boot_reason; + FILE *fp; + + fp = fopen("/proc/sys/kernel/boot_reason", "r"); + fscanf(fp, "%d", &boot_reason); + fclose(fp); + + /* + * Setup ro.alarm_boot value to true when it is RTC triggered boot up + * For existing PMIC chips, the following mapping applies + * for the value of boot_reason: + * + * 0 -> unknown + * 1 -> hard reset + * 2 -> sudden momentary power loss (SMPL) + * 3 -> real time clock (RTC) + * 4 -> DC charger inserted + * 5 -> USB charger inserted + * 6 -> PON1 pin toggled (for secondary PMICs) + * 7 -> CBLPWR_N pin toggled (for external power supply) + * 8 -> KPDPWR_N pin toggled (power key pressed) + */ + SetProperty("ro.alarm_boot", boot_reason == 3 ? "true" : "false"); +} + +void check_ram() +{ + struct sysinfo sys; + + sysinfo(&sys); + + if (sys.totalram > 3072ull * 1024 * 1024) { + // from - phone-xxxhdpi-4096-dalvik-heap.mk + heapminfree = "4m"; + heapmaxfree = "16m"; + } else { + // from - phone-xxhdpi-3072-dalvik-heap.mk + heapminfree = "512k"; + heapmaxfree = "8m"; + } +} + +void vendor_load_properties() { + std::string platform; + + platform = GetProperty("ro.board.platform", ""); + if (platform != ANDROID_TARGET) + return; + + check_ram(); + + SetProperty("dalvik.vm.heapstartsize", "8m"); + SetProperty("dalvik.vm.heapgrowthlimit", "256m"); + SetProperty("dalvik.vm.heapsize", "512m"); + SetProperty("dalvik.vm.heaptargetutilization", "0.75"); + SetProperty("dalvik.vm.heapminfree", heapminfree); + SetProperty("dalvik.vm.heapmaxfree", heapmaxfree); + + init_alarm_boot_properties(); +} + diff --git a/init/init_z2_plus.cpp b/init/init_z2_plus.cpp deleted file mode 100644 index 04f02a7..0000000 --- a/init/init_z2_plus.cpp +++ /dev/null @@ -1,107 +0,0 @@ -/* - Copyright (C) 2013-2016, The CyanogenMod Project - Copyright (C) 2017, The LineageOS Project - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are - met: - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of The Linux Foundation nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED - WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT - ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS - BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR - BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, - WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE - OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN - IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#include -#include -#include -#include -#include -#include "property_service.h" -#include "vendor_init.h" - -using android::base::GetProperty; -using android::base::SetProperty; - -std::string heapminfree; -std::string heapmaxfree; - -static void init_alarm_boot_properties() -{ - int boot_reason; - FILE *fp; - - fp = fopen("/proc/sys/kernel/boot_reason", "r"); - fscanf(fp, "%d", &boot_reason); - fclose(fp); - - /* - * Setup ro.alarm_boot value to true when it is RTC triggered boot up - * For existing PMIC chips, the following mapping applies - * for the value of boot_reason: - * - * 0 -> unknown - * 1 -> hard reset - * 2 -> sudden momentary power loss (SMPL) - * 3 -> real time clock (RTC) - * 4 -> DC charger inserted - * 5 -> USB charger inserted - * 6 -> PON1 pin toggled (for secondary PMICs) - * 7 -> CBLPWR_N pin toggled (for external power supply) - * 8 -> KPDPWR_N pin toggled (power key pressed) - */ - SetProperty("ro.alarm_boot", boot_reason == 3 ? "true" : "false"); -} - -void check_ram() -{ - struct sysinfo sys; - - sysinfo(&sys); - - if (sys.totalram > 3072ull * 1024 * 1024) { - // from - phone-xxxhdpi-4096-dalvik-heap.mk - heapminfree = "4m"; - heapmaxfree = "16m"; - } else { - // from - phone-xxhdpi-3072-dalvik-heap.mk - heapminfree = "512k"; - heapmaxfree = "8m"; - } -} - -void vendor_load_properties() { - std::string platform; - - platform = GetProperty("ro.board.platform", ""); - if (platform != ANDROID_TARGET) - return; - - check_ram(); - - SetProperty("dalvik.vm.heapstartsize", "8m"); - SetProperty("dalvik.vm.heapgrowthlimit", "256m"); - SetProperty("dalvik.vm.heapsize", "512m"); - SetProperty("dalvik.vm.heaptargetutilization", "0.75"); - SetProperty("dalvik.vm.heapminfree", heapminfree); - SetProperty("dalvik.vm.heapmaxfree", heapmaxfree); - - init_alarm_boot_properties(); -} - -- cgit v1.2.3