summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Kocialkowski <contact@paulk.fr>2013-05-02 19:00:07 +0200
committerPaul Kocialkowski <contact@paulk.fr>2013-05-02 19:00:07 +0200
commit8456bda73d7ce443e08c4f08715bd38a39eec641 (patch)
tree5bd0946e0e322355b77da989718581c7b380c92e
parent12f4da3dc7284309694abecbc3dea4245168136b (diff)
downloaddevice_goldelico_gta04-8456bda73d7ce443e08c4f08715bd38a39eec641.zip
device_goldelico_gta04-8456bda73d7ce443e08c4f08715bd38a39eec641.tar.gz
device_goldelico_gta04-8456bda73d7ce443e08c4f08715bd38a39eec641.tar.bz2
Initial commit for Replicant 4.0
Signed-off-by: Paul Kocialkowski <contact@paulk.fr>
-rw-r--r--Android.mk10
-rwxr-xr-xBoardConfig.mk57
-rw-r--r--audio-ril-interface/Android.mk27
-rw-r--r--audio-ril-interface/audio-ril-interface.cpp159
-rw-r--r--bootimg.mk35
-rw-r--r--cm.mk18
-rw-r--r--configs/tinyalsa-audio.xml83
-rw-r--r--full_gta04.mk5
-rw-r--r--gta04.mk52
-rw-r--r--init-sdcard.rc442
-rw-r--r--init.gta04.rc24
-rwxr-xr-xinit.gta04.usb.rc77
-rw-r--r--overlay/frameworks/base/core/res/res/values/config.xml14
-rw-r--r--overlay/frameworks/base/core/res/res/xml/storage_list.xml41
-rwxr-xr-xreplicant_gta04_install.sh137
-rw-r--r--system.prop2
-rw-r--r--tinyalsa-audio.xml72
-rw-r--r--tsc2007.idc3
-rw-r--r--ueventd.gta04.rc20
-rw-r--r--vold.fstab16
20 files changed, 379 insertions, 915 deletions
diff --git a/Android.mk b/Android.mk
index 77b6228..223a5e5 100644
--- a/Android.mk
+++ b/Android.mk
@@ -16,18 +16,8 @@ LOCAL_PATH := $(call my-dir)
ifeq ($(TARGET_DEVICE),gta04)
-ifeq ($(BOARD_SDCARD_INIT),true)
-file := $(TARGET_ROOT_OUT)/init.rc
-$(file) : $(LOCAL_PATH)/init-sdcard.rc | $(ACP)
- $(transform-prebuilt-to-target)
-ALL_PREBUILT += $(file)
-$(INSTALLED_RAMDISK_TARGET): $(file)
-endif
-
ifneq ($(TARGET_SIMULATOR),true)
include $(call all-makefiles-under,$(LOCAL_PATH))
endif
endif
-
-
diff --git a/BoardConfig.mk b/BoardConfig.mk
index 125146a..9fac56a 100755
--- a/BoardConfig.mk
+++ b/BoardConfig.mk
@@ -1,4 +1,4 @@
-# Copyright (C) 2012 Paul Kocialkowski <contact@paulk.fr>
+# Copyright (C) 2012-2013 Paul Kocialkowski <contact@paulk.fr>
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -12,51 +12,42 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-# BoardConfig.mk
-#
-# Product-specific compile-time definitions.
-#
-
-# CPU specs
+# CPU
TARGET_CPU_ABI := armeabi-v7a
TARGET_CPU_ABI2 := armeabi
TARGET_ARCH_VARIANT := armv7-a-neon
+TARGET_GLOBAL_CFLAGS += -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp
+TARGET_GLOBAL_CPPFLAGS += -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp
ARCH_ARM_HAVE_TLS_REGISTER := true
-TARGET_GLOBAL_CFLAGS += -mtune=cortex-a8
-TARGET_GLOBAL_CPPFLAGS += -mtune=cortex-a8
-# Images specs
+# Platform
+TARGET_BOARD_PLATFORM := omap3
+TARGET_BOOTLOADER_BOARD_NAME := gta04
+
+# Images
+TARGET_NO_RADIOIMAGE := true
TARGET_NO_BOOTLOADER := false
TARGET_NO_KERNEL := false
-TARGET_NO_RADIOIMAGE := true
BOARD_USES_UBOOT := true
BOARD_CUSTOM_BOOTIMG_MK := device/goldelico/gta04/bootimg.mk
-# Board specs
-COMMON_GLOBAL_CFLAGS += -DTARGET_OMAP3
-TARGET_OMAP3 := true
-TARGET_BOARD_PLATFORM := omap3
-TARGET_BOOTLOADER_BOARD_NAME := gta04
-OMAP_ENHANCEMENT := true
+# Bootloaders
+TARGET_BOOTLOADER_SOURCE := bootable/bootloader/goldelico/gta04/u-boot/
+TARGET_BOOTLOADER_CONFIG := omap3_gta04_config
+TARGET_XLOADER_SOURCE := bootable/bootloader/goldelico/gta04/x-loader/
+TARGET_XLOADER_CONFIG := omap3530gta04_config
-ifdef OMAP_ENHANCEMENT
-COMMON_GLOBAL_CFLAGS += -DOMAP_ENHANCEMENT
-endif
+# Kernel
+TARGET_KERNEL_CONFIG := gta04_defconfig
+TARGET_KERNEL_SOURCE := kernel/goldelico/gta04
# Hardware
BOARD_HAVE_FM_RADIO := false
+BOARD_HAVE_BLUETOOTH := false
BOARD_USES_GENERIC_AUDIO := false
-BOARD_USES_ALSA_AUDIO := true
-BOARD_USES_TINYALSA_LIBAUDIO := true
-TARGET_PROVIDES_LIBAUDIO := true
USE_CAMERA_STUB := true
-BOARD_NO_32BPP := true
-BOARD_NO_PAGE_FLIPPING := true
-
-# Init
-# set BOARD_SDCARD_INIT to true if booting from sdcard
-BOARD_SDCARD_INIT ?= false
-ifeq ($(BOARD_SDCARD_INIT),true)
-TARGET_PROVIDES_INIT := true
-TARGET_PROVIDES_INIT_RC := true
-endif
+
+BOARD_HAS_NO_SELECT_BUTTON := true
+
+# Audio
+BOARD_USE_TINYALSA_AUDIO := true
diff --git a/audio-ril-interface/Android.mk b/audio-ril-interface/Android.mk
deleted file mode 100644
index 2b77bf5..0000000
--- a/audio-ril-interface/Android.mk
+++ /dev/null
@@ -1,27 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-
-ifeq ($(TARGET_DEVICE),gta04)
-
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := libaudio-ril-interface
-LOCAL_MODULE_TAGS := optional
-
-LOCAL_SRC_FILES := audio-ril-interface.cpp
-
-LOCAL_SHARED_LIBRARIES := \
- liblog \
- libcutils \
- libtinyalsa
-
-LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)
-LOCAL_C_INCLUDES := $(LOCAL_PATH)
-LOCAL_C_INCLUDES += \
- external/tinyalsa/include \
- hardware/tinyalsa-audio/include/
-
-LOCAL_PRELINK_MODULE := false
-
-include $(BUILD_SHARED_LIBRARY)
-
-endif
diff --git a/audio-ril-interface/audio-ril-interface.cpp b/audio-ril-interface/audio-ril-interface.cpp
deleted file mode 100644
index dba1832..0000000
--- a/audio-ril-interface/audio-ril-interface.cpp
+++ /dev/null
@@ -1,159 +0,0 @@
-/**
- * Audio RIL Interface for GTA04
- *
- * Copyright (C) 2012 Paul Kocialkowski <contact@paulk.fr>
- *
- * Audio RIL Interface is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * Audio RIL Interface 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.
- *
- * You should have received a copy of the GNU General Public License
- * along with Audio RIL Interface. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-
-#define LOG_TAG "AudioRILInterface"
-#include <cutils/log.h>
-#include <media/AudioSystem.h>
-#include <tinyalsa/asoundlib.h>
-
-#include <audio_ril_interface.h>
-
-#define DEVICE "Goldelico GTA04"
-
-/*
- * Structures
- */
-
-struct gta04_pdata {
- struct pcm *voice_pcm;
- int mode;
-};
-
-/*
- * Functions
- */
-
-void *gta04_pdata_create(void)
-{
- struct gta04_pdata *pdata = NULL;
-
- pdata = (struct gta04_pdata *) calloc(1, sizeof(struct gta04_pdata));
- return (void *) pdata;
-}
-
-void gta04_pdata_destroy(void *pdata)
-{
- if(pdata != NULL)
- free(pdata);
-}
-
-int gta04_mode(void *pdata, int mode)
-{
- struct pcm_config config;
- struct gta04_pdata *gta04_pdata = NULL;
- void *buffer = NULL;
- int size = 0;
-
- if(pdata == NULL)
- return -1;
-
- gta04_pdata = (struct gta04_pdata *) pdata;
-
- if(mode == android::AudioSystem::MODE_IN_CALL && gta04_pdata->mode != android::AudioSystem::MODE_IN_CALL) {
- LOGD("Starting call, activating voice!");
-
- /*
- * It seems that on GTA04 A4, microphone voice routing to
- * the modem only works when a capture channel is active.
- * Note that Android will close any existing capture channel.
- */
- memset(&config, 0, sizeof(config));
-
- config.channels = 2;
- config.rate = 44100;
- config.period_size = 1056;
- config.period_count = 2;
- config.format = PCM_FORMAT_S16_LE;
-
- gta04_pdata->voice_pcm = pcm_open(0, 0, PCM_IN, &config);
- if(!gta04_pdata->voice_pcm || !pcm_is_ready(gta04_pdata->voice_pcm)) {
- LOGE("Failed to open capture channel!");
- }
-
- size = pcm_get_buffer_size(gta04_pdata->voice_pcm);
- buffer = malloc(size);
-
- LOGD("Reading one sample");
-
- pcm_read(gta04_pdata->voice_pcm, buffer, size);
-
- free(buffer);
- } else if(mode != android::AudioSystem::MODE_IN_CALL && gta04_pdata->mode == android::AudioSystem::MODE_IN_CALL) {
- LOGD("Ending call, deactivating voice!");
-
- if(gta04_pdata->voice_pcm != NULL)
- pcm_close(gta04_pdata->voice_pcm);
-
- gta04_pdata->voice_pcm = NULL;
- }
-
- gta04_pdata->mode = mode;
-
- return 0;
-}
-
-int gta04_mic_mute(void *pdata, int mute)
-{
- return 0;
-}
-
-int gta04_voice_volume(void *pdata, float volume)
-{
- return 0;
-}
-
-int gta04_routing(void *pdata, int route)
-{
- return 0;
-}
-
-/*
- * Interface
- */
-
-extern "C" {
-
-struct audio_ril_interface gta04_interface = {
- NULL,
- gta04_mode,
- gta04_mic_mute,
- gta04_voice_volume,
- gta04_routing
-};
-
-struct audio_ril_interface *audio_ril_interface_open(void)
-{
- LOGE("%s (%s)", __func__, DEVICE);
-
- gta04_interface.pdata = gta04_pdata_create();
-
- return &gta04_interface;
-}
-
-void audio_ril_interface_close(struct audio_ril_interface *interface_p)
-{
- LOGE("%s (%s)", __func__, DEVICE);
-
- gta04_pdata_destroy(interface_p->pdata);
-}
-
-}
diff --git a/bootimg.mk b/bootimg.mk
index 39aad31..23b5b89 100644
--- a/bootimg.mk
+++ b/bootimg.mk
@@ -1,24 +1,27 @@
LOCAL_PATH := $(call my-dir)
-INSTALLED_BOOTIMAGE_TARGET := $(PRODUCT_OUT)/boot.img
-INSTALLED_RECOVERYIMAGE_TARGET := $(PRODUCT_OUT)/recovery.img
-INSTALLED_BOOTLOADERIMAGE_TARGET := $(PRODUCT_OUT)/bootloader.img
-INSTALLED_BOOTSCR_TARGET := $(PRODUCT_OUT)/boot.scr
-GTA04_BOOTSCR_SOURCE := device/goldelico/gta04/u-boot/boot-scr/replicant-boot.txt
+INSTALLED_XLOADER_MODULE := $(PRODUCT_OUT)/xloader
-.NOTPARALLEL: $(INSTALLED_BOOTIMAGE_TARGET)
-.NOTPARALLEL: $(INSTALLED_RECOVERYIMAGE_TARGET)
+INSTALLED_BOOTLOADERIMAGE_TARGET := $(PRODUCT_OUT)/u-boot.bin
+INSTALLED_XLOADERIMAGE_TARGET := $(PRODUCT_OUT)/MLO
+INSTALLED_BOOTLOADER_SCRIPT_TARGET := $(PRODUCT_OUT)/boot.scr
+INSTALLED_BOOTLOADER_SPLASH_TARGET := $(PRODUCT_OUT)/splash.rgb16z
$(INSTALLED_BOOTIMAGE_TARGET): $(INSTALLED_RAMDISK_TARGET) $(INSTALLED_KERNEL_TARGET)
$(call pretty,"Boot image: $@")
- $(ACP) $(PRODUCT_OUT)/kernel $@
+ $(ACP) $(INSTALLED_KERNEL_TARGET) $@
+ @echo -e ${CL_INS}"Made boot image: $@"${CL_RST}
-$(INSTALLED_RECOVERYIMAGE_TARGET): $(recovery_ramdisk) $(recovery_kernel) $(PRODUCT_OUT)/utilities/busybox $(PRODUCT_OUT)/utilities/mke2fs
- $(call pretty,"Recovery image: $@")
- $(ACP) $(PRODUCT_OUT)/kernel-recovery $@
-
-$(INSTALLED_BOOTLOADERIMAGE_TARGET): $(INSTALLED_BOOTLOADER_TARGET) $(MKIMAGE)
- $(hide) $(ACP) -fp $(INSTALLED_BOOTLOADER_TARGET) $@
- $(MKIMAGE) -A arm -T script -C none -n "boot.scr" -d $(GTA04_BOOTSCR_SOURCE) $(INSTALLED_BOOTSCR_TARGET)
+$(INSTALLED_BOOTLOADERIMAGE_TARGET): $(INSTALLED_XLOADER_MODULE) $(INSTALLED_BOOTLOADER_MODULE) $(MKIMAGE)
+ $(call pretty,"X-Loader image: $(INSTALLED_XLOADER_MODULE)")
+ $(ACP) $(INSTALLED_XLOADER_MODULE) $(INSTALLED_XLOADERIMAGE_TARGET)
+ @echo -e ${CL_INS}"Made X-Loader image: $(INSTALLED_XLOADERIMAGE_TARGET)"${CL_RST}
+ $(call pretty,"Bootloader splash: $(INSTALLED_BOOTLOADER_SPLASH_TARGET)")
+ $(ACP) $(BOOTLOADER_SRC)/../boot-scr/splash.rgb16z $(INSTALLED_BOOTLOADER_SPLASH_TARGET)
+ @echo -e ${CL_INS}"Made bootloader splash: $(INSTALLED_BOOTLOADER_SPLASH_TARGET)"${CL_RST}
+ $(call pretty,"Bootloader script: $(INSTALLED_BOOTLOADER_SCRIPT_TARGET)")
+ $(MKIMAGE) -A arm -T script -C none -n "boot.scr" -d $(BOOTLOADER_SRC)/../boot-scr/boot.txt $(INSTALLED_BOOTLOADER_SCRIPT_TARGET)
+ @echo -e ${CL_INS}"Made bootloader script: $(INSTALLED_BOOTLOADER_SCRIPT_TARGET)"${CL_RST}
$(call pretty,"Bootloader image: $@")
- $(call pretty,"Boot-scr: $(INSTALLED_BOOTSCR_TARGET)")
+ $(ACP) $(INSTALLED_BOOTLOADER_MODULE) $@
+ @echo -e ${CL_INS}"Made bootloader image: $@"${CL_RST}
diff --git a/cm.mk b/cm.mk
new file mode 100644
index 0000000..5819f9f
--- /dev/null
+++ b/cm.mk
@@ -0,0 +1,18 @@
+# Inherit some common CM stuff.
+$(call inherit-product, vendor/replicant/config/gsm.mk)
+
+PRODUCT_RELEASE_NAME := GTA04
+# Inherit some common CM stuff.
+$(call inherit-product, vendor/replicant/config/common_full_phone.mk)
+
+# Inherit device configuration
+$(call inherit-product, device/goldelico/gta04/full_gta04.mk)
+
+# Inherit Software GL configuration.
+$(call inherit-product, vendor/replicant/config/software_gl.mk)
+
+PRODUCT_NAME := replicant_gta04
+PRODUCT_DEVICE := gta04
+PRODUCT_BRAND := Goldelico
+PRODUCT_MODEL := GTA04
+PRODUCT_MANUFACTURER := goldelico
diff --git a/configs/tinyalsa-audio.xml b/configs/tinyalsa-audio.xml
new file mode 100644
index 0000000..7283e00
--- /dev/null
+++ b/configs/tinyalsa-audio.xml
@@ -0,0 +1,83 @@
+<tinyalsa-audio device="GTA04">
+ <output card="0" device="0"
+ rate="44100" channels="2" format="PCM_16"
+ period_size="1024" period_count="4">
+
+ <device type="default">
+ <path type="enable">
+ <ctrl name="DAC1 Digital Fine Playback Volume" value="60" />
+ <ctrl name="DAC2 Digital Fine Playback Volume" value="60" />
+ <ctrl name="DAC1 Digital Coarse Playback Volume" value="0" />
+ <ctrl name="DAC2 Digital Coarse Playback Volume" value="0" />
+
+ <ctrl name="DAC1 Analog Playback Volume" value="16" />
+ <ctrl name="DAC2 Analog Playback Volume" value="16" />
+
+ <ctrl name="TX1 Digital Capture Volume" value="12" />
+ <ctrl name="TX2 Digital Capture Volume" value="12" />
+
+ <ctrl name="Analog Capture Volume" value="5" />
+ </path>
+ </device>
+ <device type="earpiece">
+ <path type="enable">
+ <ctrl name="Earpiece Mixer AudioL2" value="on" />
+ <ctrl name="Earpiece Playback Volume" value="3" />
+ </path>
+ <path type="disable">
+ <ctrl name="Earpiece Mixer AudioL2" value="off" />
+ <ctrl name="Earpiece Playback Volume" value="0" />
+ </path>
+ </device>
+ <device type="speaker">
+ <path type="enable">
+ <ctrl name="HandsfreeL Mux" value="AudioL2" />
+ <ctrl name="HandsfreeR Mux" value="AudioR2" />
+ <ctrl name="HandsfreeL Switch" value="on" />
+ <ctrl name="HandsfreeR Switch" value="on" />
+ </path>
+ <path type="disable">
+ <ctrl name="HandsfreeL Switch" value="off" />
+ <ctrl name="HandsfreeR Switch" value="off" />
+ </path>
+ </device>
+ </output>
+
+ <input card="0" device="0"
+ rate="44100" channels="2" format="PCM_16"
+ period_size="1024" period_count="4">
+
+ <device type="builtin-mic">
+ <path type="enable">
+ <ctrl name="Analog Left Main Mic Capture Switch" value="on" />
+ </path>
+ <path type="disable">
+ <ctrl name="Analog Left Main Mic Capture Switch" value="off" />
+ </path>
+ </device>
+ </input>
+
+ <modem card="0" device="0">
+ <device type="earpiece">
+ <path type="enable">
+ <ctrl name="Voice route" value="Voice to twl4030" />
+ <ctrl name="Earpiece Mixer Voice" value="on" />
+ <ctrl name="Earpiece Playback Volume" value="3" />
+ <ctrl name="DAC Voice Digital Downlink Volume" value="40" />
+ <ctrl name="DAC Voice Analog Downlink Switch" value="on" />
+
+ <ctrl name="Analog Left Main Mic Capture Switch" attr="mic" value="on" />
+ <ctrl name="DAC Voice Analog Downlink Volume" attr="voice-volume" value="0-15" />
+ </path>
+ <path type="disable">
+ <ctrl name="Voice route" value="Voice to SoC" />
+ <ctrl name="Earpiece Mixer Voice" value="off" />
+ <ctrl name="Earpiece Playback Volume" value="0" />
+ <ctrl name="DAC Voice Digital Downlink Volume" value="0" />
+ <ctrl name="DAC Voice Analog Downlink Switch" value="off" />
+
+ <ctrl name="Analog Left Main Mic Capture Switch" attr="mic" value="off" />
+ </path>
+ </device>
+ </modem>
+</tinyalsa-audio>
diff --git a/full_gta04.mk b/full_gta04.mk
index a3edef1..7ae3a5a 100644
--- a/full_gta04.mk
+++ b/full_gta04.mk
@@ -1,4 +1,4 @@
-# Copyright (C) 2012 Paul Kocialkowski <contact@paulk.fr>
+# Copyright (C) 2012-2013 Paul Kocialkowski <contact@paulk.fr>
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -13,10 +13,9 @@
# limitations under the License.
$(call inherit-product, $(SRC_TARGET_DIR)/product/languages_full.mk)
-$(call inherit-product, device/goldelico/gta04/gta04.mk)
$(call inherit-product, $(SRC_TARGET_DIR)/product/full.mk)
+$(call inherit-product, device/goldelico/gta04/gta04.mk)
-# GTA04 uses high-density artwork where available
PRODUCT_LOCALES += hdpi
PRODUCT_NAME := full_gta04
diff --git a/gta04.mk b/gta04.mk
index 440923d..507f496 100644
--- a/gta04.mk
+++ b/gta04.mk
@@ -12,33 +12,45 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-# Hardware
-PRODUCT_COPY_FILES := \
+# Overlay
+DEVICE_PACKAGE_OVERLAYS := device/goldelico/gta04/overlay
+
+# Install script
+PRODUCT_COPY_FILES += \
+ device/goldelico/gta04/replicant_gta04_install.sh:replicant_gta04_install.sh
+
+# Ramdisk
+PRODUCT_COPY_FILES += \
device/goldelico/gta04/init.gta04.rc:root/init.gta04.rc \
- device/goldelico/gta04/vold.fstab:system/etc/vold.fstab \
- device/goldelico/gta04/ueventd.gta04.rc:root/ueventd.gta04.rc \
+ device/goldelico/gta04/init.gta04.usb.rc:root/init.gta04.usb.rc \
+ device/goldelico/gta04/ueventd.gta04.rc:root/ueventd.gta04.rc
+
+# USB
+PRODUCT_PROPERTY_OVERRIDES += \
+ persist.sys.usb.config=mass_storage,adb
+
+# Input
+PRODUCT_COPY_FILES += \
+ device/goldelico/gta04/tsc2007.idc:system/usr/idc/tsc2007.idc \
device/goldelico/gta04/twl4030_pwrbutton.kl:system/usr/keylayout/twl4030_pwrbutton.kl \
device/goldelico/gta04/gpio-keys.kl:system/usr/keylayout/gpio-keys.kl
-PRODUCT_PACKAGES += \
- lights.gta04 \
+# Graphics
+PRODUCT_LOCALES := hdpi
-# Install script
PRODUCT_COPY_FILES += \
- device/goldelico/gta04/replicant_gta04_install.sh:replicant_gta04_install.sh
+ device/goldelico/gta04/initlogo.rle:root/initlogo.rle
# Audio
PRODUCT_PACKAGES += \
- libaudio \
- libaudiopolicy \
- libaudio-ril-interface
+ audio.primary.omap3
PRODUCT_COPY_FILES += \
- device/goldelico/gta04/tinyalsa-audio.xml:system/etc/tinyalsa-audio.xml
+ device/goldelico/gta04/configs/tinyalsa-audio.xml:system/etc/tinyalsa-audio.xml
-# RIL
+# Lights
PRODUCT_PACKAGES += \
- libhayes-ril
+ lights.gta04 \
# APNS
PRODUCT_COPY_FILES += \
@@ -46,17 +58,11 @@ PRODUCT_COPY_FILES += \
# Dalvik
PRODUCT_PROPERTY_OVERRIDES += \
- dalvik.vm.heapsize=32m \
+ dalvik.vm.lockprof.threshold=500 \
+ dalvik.vm.dexopt-data-only=1 \
dalvik.vm.checkjni=false \
ro.kernel.android.checkjni=0
PRODUCT_TAGS += dalvik.gc.type-precise
-# Graphics
-PRODUCT_LOCALES := hdpi
-
-PRODUCT_COPY_FILES += \
- device/goldelico/gta04/initlogo.rle:root/initlogo.rle
-
-# Overlay
-DEVICE_PACKAGE_OVERLAYS := device/goldelico/gta04/overlay
+include frameworks/base/build/phone-hdpi-512-dalvik-heap.mk
diff --git a/init-sdcard.rc b/init-sdcard.rc
deleted file mode 100644
index c223e7f..0000000
--- a/init-sdcard.rc
+++ /dev/null
@@ -1,442 +0,0 @@
-on early-init
- start ueventd
-
-on init
-
-sysclktz 0
-
-loglevel 3
-
-# setup the global environment
- export PATH /sbin:/vendor/bin:/system/sbin:/system/bin:/system/xbin
- export LD_LIBRARY_PATH /vendor/lib:/system/lib
- export ANDROID_BOOTLOGO 1
- export ANDROID_CACHE /cache
- export ANDROID_ROOT /system
- export ANDROID_ASSETS /system/app
- export ANDROID_DATA /data
- export DOWNLOAD_CACHE /cache/download
- export EXTERNAL_STORAGE /mnt/sdcard
- export ASEC_MOUNTPOINT /mnt/asec
- export LOOP_MOUNTPOINT /mnt/obb
- export SD_EXT_DIRECTORY /sd-ext
- export BOOTCLASSPATH /system/framework/core.jar:/system/framework/bouncycastle.jar:/system/framework/ext.jar:/system/framework/framework.jar:/system/framework/android.policy.jar:/system/framework/services.jar:/system/framework/core-junit.jar
-
-# Backward compatibility
- symlink /system/etc /etc
- symlink /sys/kernel/debug /d
-
-# Right now vendor lives on the same filesystem as system,
-# but someday that may change.
- symlink /system/vendor /vendor
-
-# create mountpoints
- mkdir /mnt 0775 root system
- mkdir /mnt/sdcard 0000 system system
-
-# Create cgroup mount point for cpu accounting
- mkdir /acct
- mount cgroup none /acct cpuacct
- mkdir /acct/uid
-
-# Backwards Compat - XXX: Going away in G*
- symlink /mnt/sdcard /sdcard
-
- mkdir /system
- mkdir /data 0771 system system
- mkdir /cache 0771 system cache
- mkdir /config 0500 root root
-
- # Directory for putting things only root should see.
- mkdir /mnt/secure 0700 root root
-
- # Directory for staging bindmounts
- mkdir /mnt/secure/staging 0700 root root
-
- # Directory-target for where the secure container
- # imagefile directory will be bind-mounted
- mkdir /mnt/secure/asec 0700 root root
-
- # Secure container public mount points.
- mkdir /mnt/asec 0700 root system
- mount tmpfs tmpfs /mnt/asec mode=0755,gid=1000
-
- # Filesystem image public mount points.
- mkdir /mnt/obb 0700 root system
- mount tmpfs tmpfs /mnt/obb mode=0755,gid=1000
-
- mkdir /sd-ext 0771 system system
-
- write /proc/sys/kernel/panic_on_oops 1
- write /proc/sys/kernel/hung_task_timeout_secs 0
- write /proc/cpu/alignment 4
- write /proc/sys/kernel/sched_latency_ns 10000000
- write /proc/sys/kernel/sched_wakeup_granularity_ns 2000000
- write /proc/sys/kernel/sched_compat_yield 1
- write /proc/sys/kernel/sched_child_runs_first 0
-
-# Create cgroup mount points for process groups
- mkdir /dev/cpuctl
- mount cgroup none /dev/cpuctl cpu
- chown system system /dev/cpuctl
- chown system system /dev/cpuctl/tasks
- chmod 0777 /dev/cpuctl/tasks
- write /dev/cpuctl/cpu.shares 1024
-
- mkdir /dev/cpuctl/fg_boost
- chown system system /dev/cpuctl/fg_boost/tasks
- chmod 0777 /dev/cpuctl/fg_boost/tasks
- write /dev/cpuctl/fg_boost/cpu.shares 1024
-
- mkdir /dev/cpuctl/bg_non_interactive
- chown system system /dev/cpuctl/bg_non_interactive/tasks
- chmod 0777 /dev/cpuctl/bg_non_interactive/tasks
- # 5.0 %
- write /dev/cpuctl/bg_non_interactive/cpu.shares 52
-
-on fs
-# mount mtd partitions
- # Mount /system rw first to give the filesystem a chance to save a checkpoint
- mount ext2 /dev/block/mmcblk0p1 /system wait
- mount ext2 /dev/block/mmcblk0p1 /system ro wait remount
- mount ext2 /dev/block/mmcblk0p2 /data nosuid wait
- mount ext2 /dev/block/mmcblk0p3 /cache nosuid wait
-
-on post-fs
- # once everything is setup, no need to modify /
- mount rootfs rootfs / ro remount
-
- # We chown/chmod /data again so because mount is run as root + defaults
- chown system system /data
- chmod 0771 /data
-
- # Mount compressed filesystems
- mount squashfs loop@/system/lib/modules/modules.sqf /system/lib/modules ro
- mount squashfs loop@/system/xbin/xbin.sqf /system/xbin ro
-
- # Create dump dir and collect dumps.
- # Do this before we mount cache so eventually we can use cache for
- # storing dumps on platforms which do not have a dedicated dump partition.
-
- mkdir /data/dontpanic
- chown root log /data/dontpanic
- chmod 0750 /data/dontpanic
-
- # Collect apanic data, free resources and re-arm trigger
- copy /proc/apanic_console /data/dontpanic/apanic_console
- chown root log /data/dontpanic/apanic_console
- chmod 0640 /data/dontpanic/apanic_console
-
- copy /proc/apanic_threads /data/dontpanic/apanic_threads
- chown root log /data/dontpanic/apanic_threads
- chmod 0640 /data/dontpanic/apanic_threads
-
- write /proc/apanic_console 1
-
- # Same reason as /data above
- chown system cache /cache
- chmod 0771 /cache
-
- # This may have been created by the recovery system with odd permissions
- chown system cache /cache/recovery
- chmod 0770 /cache/recovery
-
- #change permissions on vmallocinfo so we can grab it from bugreports
- chown root log /proc/vmallocinfo
- chmod 0440 /proc/vmallocinfo
-
- #change permissions on kmsg & sysrq-trigger so bugreports can grab kthread stacks
- chown root system /proc/kmsg
- chmod 0440 /proc/kmsg
- chown root system /proc/sysrq-trigger
- chmod 0220 /proc/sysrq-trigger
-
-# create basic filesystem structure
- mkdir /data/misc 01771 system misc
- mkdir /data/misc/bluetoothd 0770 bluetooth bluetooth
- mkdir /data/misc/bluetooth 0770 system system
- mkdir /data/misc/keystore 0700 keystore keystore
- mkdir /data/misc/vpn 0770 system system
- mkdir /data/misc/systemkeys 0700 system system
- mkdir /data/misc/vpn/profiles 0770 system system
- # give system access to wpa_supplicant.conf for backup and restore
- mkdir /data/misc/wifi 0770 wifi wifi
- chmod 0770 /data/misc/wifi
- chmod 0660 /data/misc/wifi/wpa_supplicant.conf
- mkdir /data/local 0771 shell shell
- mkdir /data/local/tmp 0771 shell shell
- mkdir /data/local/download 0771 system cache
- mkdir /data/data 0771 system system
- mkdir /data/app-private 0771 system system
- mkdir /data/app 0771 system system
- mkdir /data/property 0700 root root
-
- mkdir /cache/download 0771 system cache
-
- # create dalvik-cache and double-check the perms
- mkdir /data/dalvik-cache 0771 system system
- chown system system /data/dalvik-cache
- chmod 0771 /data/dalvik-cache
-
- mkdir /cache/dalvik-cache 0771 system system
- chown system system /cache/dalvik-cache
- chmod 0771 /cache/dalvik-cache
-
- # create the lost+found directories, so as to enforce our permissions
- mkdir /data/lost+found 0770
- mkdir /cache/lost+found 0770
-
- # double check the perms, in case lost+found already exists, and set owner
- chown root root /data/lost+found
- chmod 0770 /data/lost+found
- chown root root /cache/lost+found
- chmod 0770 /cache/lost+found
-
- # allow net_raw to have access to /dev/socket directory
- chown root net_raw /dev/socket
- chmod 0775 /dev/socket
-
- # allow system to modify cpufreq control files
- chown root system /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
- chmod 0664 /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
- chown root system /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
- chmod 0664 /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
- chown root system /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
- chmod 0664 /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
-
-on boot
-# basic network init
- ifup lo
- hostname localhost
- domainname localdomain
-
-# set RLIMIT_NICE to allow priorities from 19 to -20
- setrlimit 13 40 40
-
-# Define the oom_adj values for the classes of processes that can be
-# killed by the kernel. These are used in ActivityManagerService.
- setprop ro.FOREGROUND_APP_ADJ 0
- setprop ro.VISIBLE_APP_ADJ 1
- setprop ro.PERCEPTIBLE_APP_ADJ 2
- setprop ro.HEAVY_WEIGHT_APP_ADJ 3
- setprop ro.SECONDARY_SERVER_ADJ 4
- setprop ro.BACKUP_APP_ADJ 5
- setprop ro.HOME_APP_ADJ 6
- setprop ro.HIDDEN_APP_MIN_ADJ 7
- setprop ro.EMPTY_APP_ADJ 15
-
-# Define the memory thresholds at which the above process classes will
-# be killed. These numbers are in pages (4k).
- setprop ro.FOREGROUND_APP_MEM 2048
- setprop ro.VISIBLE_APP_MEM 3072
- setprop ro.PERCEPTIBLE_APP_MEM 4096
- setprop ro.HEAVY_WEIGHT_APP_MEM 4096
- setprop ro.SECONDARY_SERVER_MEM 6144
- setprop ro.BACKUP_APP_MEM 6144
- setprop ro.HOME_APP_MEM 6144
- setprop ro.HIDDEN_APP_MEM 7168
- setprop ro.EMPTY_APP_MEM 8192
-
-# Write value must be consistent with the above properties.
-# Note that the driver only supports 6 slots, so we have combined some of
-# the classes into the same memory level; the associated processes of higher
-# classes will still be killed first.
- write /sys/module/lowmemorykiller/parameters/adj 0,1,2,4,7,15
-
- write /proc/sys/vm/overcommit_memory 1
- write /proc/sys/vm/min_free_order_shift 4
- write /sys/module/lowmemorykiller/parameters/minfree 2048,3072,4096,6144,7168,8192
-
- # Set init its forked children's oom_adj.
- write /proc/1/oom_adj -16
-
- # Tweak background writeout
- write /proc/sys/vm/dirty_expire_centisecs 200
- write /proc/sys/vm/dirty_background_ratio 5
-
- # Permissions for System Server and daemons.
- chown radio system /sys/android_power/state
- chown radio system /sys/android_power/request_state
- chown radio system /sys/android_power/acquire_full_wake_lock
- chown radio system /sys/android_power/acquire_partial_wake_lock
- chown radio system /sys/android_power/release_wake_lock
- chown radio system /sys/power/state
- chown radio system /sys/power/wake_lock
- chown radio system /sys/power/wake_unlock
- chmod 0660 /sys/power/state
- chmod 0660 /sys/power/wake_lock
- chmod 0660 /sys/power/wake_unlock
- chown system system /sys/class/timed_output/vibrator/enable
- chown system system /sys/class/leds/keyboard-backlight/brightness
- chown system system /sys/class/leds/lcd-backlight/brightness
- chown system system /sys/class/leds/button-backlight/brightness
- chown system system /sys/class/leds/jogball-backlight/brightness
- chown system system /sys/class/leds/red/brightness
- chown system system /sys/class/leds/green/brightness
- chown system system /sys/class/leds/blue/brightness
- chown system system /sys/class/leds/red/device/grpfreq
- chown system system /sys/class/leds/red/device/grppwm
- chown system system /sys/class/leds/red/device/blink
- chown system system /sys/class/leds/red/brightness
- chown system system /sys/class/leds/green/brightness
- chown system system /sys/class/leds/blue/brightness
- chown system system /sys/class/leds/red/device/grpfreq
- chown system system /sys/class/leds/red/device/grppwm
- chown system system /sys/class/leds/red/device/blink
- chown system system /sys/class/timed_output/vibrator/enable
- chown system system /sys/module/sco/parameters/disable_esco
- chown system system /sys/kernel/ipv4/tcp_wmem_min
- chown system system /sys/kernel/ipv4/tcp_wmem_def
- chown system system /sys/kernel/ipv4/tcp_wmem_max
- chown system system /sys/kernel/ipv4/tcp_rmem_min
- chown system system /sys/kernel/ipv4/tcp_rmem_def
- chown system system /sys/kernel/ipv4/tcp_rmem_max
- chown root radio /proc/cmdline
-
-# Define TCP buffer sizes for various networks
-# ReadMin, ReadInitial, ReadMax, WriteMin, WriteInitial, WriteMax,
- setprop net.tcp.buffersize.default 4096,87380,110208,4096,16384,110208
- setprop net.tcp.buffersize.wifi 4095,87380,110208,4096,16384,110208
- setprop net.tcp.buffersize.umts 4094,87380,110208,4096,16384,110208
- setprop net.tcp.buffersize.edge 4093,26280,35040,4096,16384,35040
- setprop net.tcp.buffersize.gprs 4092,8760,11680,4096,8760,11680
-
-# Include extra init file
- import /system/etc/init.local.rc
-
-# Run sysinit
- exec /system/bin/sysinit
-
- class_start default
-
-## Daemon processes to be run by init.
-##
-service ueventd /sbin/ueventd
- critical
-
-service console /system/bin/sh
- console
- disabled
- user root
- group root
-
-on property:ro.secure=0
- start console
-
-# adbd is controlled by the persist.service.adb.enable system property
-service adbd /sbin/adbd
- disabled
-
-# adbd on at boot in emulator
-on property:ro.kernel.qemu=1
- start adbd
-
-on property:persist.service.adb.enable=1
- start adbd
-
-on property:persist.service.adb.enable=0
- stop adbd
-
-service servicemanager /system/bin/servicemanager
- user system
- critical
- onrestart restart zygote
- onrestart restart media
-
-service vold /system/bin/vold
- socket vold stream 0660 root mount
- ioprio be 2
-
-service netd /system/bin/netd
- socket netd stream 0660 root system
- socket dnsproxyd stream 0660 root inet
-
-service debuggerd /system/bin/debuggerd
-
-service ril-daemon /system/bin/rild
- socket rild stream 660 root radio
- socket rild-debug stream 660 radio system
- user root
- group radio cache inet misc audio sdcard_rw net_admin net_raw
-
-service zygote /system/bin/app_process -Xzygote /system/bin --zygote --start-system-server
- socket zygote stream 666
- onrestart write /sys/android_power/request_state wake
- onrestart write /sys/power/state on
- onrestart restart media
- onrestart restart netd
-
-service media /system/bin/mediaserver
- user media
- group system audio camera graphics inet net_bt net_bt_admin net_raw
- ioprio rt 4
-
-service bootanim /system/bin/bootanimation
- user graphics
- group graphics
- disabled
- oneshot
-
-service dbus /system/bin/dbus-daemon --system --nofork
- socket dbus stream 660 bluetooth bluetooth
- user bluetooth
- group bluetooth net_bt_admin
-
-service bluetoothd /system/bin/bluetoothd -n
- socket bluetooth stream 660 bluetooth bluetooth
- socket dbus_bluetooth stream 660 bluetooth bluetooth
- # init.rc does not yet support applying capabilities, so run as root and
- # let bluetoothd drop uid to bluetooth with the right linux capabilities
- group bluetooth net_bt_admin misc
- disabled
-
-service hfag /system/bin/sdptool add --channel=10 HFAG
- user bluetooth
- group bluetooth net_bt_admin
- disabled
- oneshot
-
-service hsag /system/bin/sdptool add --channel=11 HSAG
- user bluetooth
- group bluetooth net_bt_admin
- disabled
- oneshot
-
-service opush /system/bin/sdptool add --channel=12 OPUSH
- user bluetooth
- group bluetooth net_bt_admin
- disabled
- oneshot
-
-service pbap /system/bin/sdptool add --channel=19 PBAP
- user bluetooth
- group bluetooth net_bt_admin
- disabled
- oneshot
-
-service installd /system/bin/installd
- socket installd stream 600 system system
-
-service racoon /system/bin/racoon
- socket racoon stream 600 system system
- # racoon will setuid to vpn after getting necessary resources.
- group net_admin
- disabled
- oneshot
-
-service mtpd /system/bin/mtpd
- socket mtpd stream 600 system system
- user vpn
- group vpn net_admin net_raw
- disabled
- oneshot
-
-service keystore /system/bin/keystore /data/misc/keystore
- user keystore
- group keystore
- socket keystore stream 666
-
-service dumpstate /system/bin/dumpstate -s
- socket dumpstate stream 0660 shell log
- disabled
- oneshot
diff --git a/init.gta04.rc b/init.gta04.rc
index e6ff9a7..47c382d 100644
--- a/init.gta04.rc
+++ b/init.gta04.rc
@@ -1,6 +1,13 @@
-on boot
- write /sys/class/usb_composite/usb_mass_storage/enable 1
+import init.gta04.usb.rc
+
+on early-init
+ export EXTERNAL_STORAGE /mnt/sdcard
+ mkdir /mnt/sdcard 0000 system system
+ # for backwards compatibility
+ symlink /mnt/sdcard /sdcard
+
+on boot
# Modem GPIO
chown radio radio /sys/class/gpio/gpio186/value
chmod 660 /sys/class/gpio/gpio186/value
@@ -16,3 +23,16 @@ on boot
chown system system /sys/class/leds/gta04:red:aux/max_brightness
chown system system /sys/class/leds/gta04:green:aux/brightness
chown system system /sys/class/leds/gta04:green:aux/max_brightness
+
+on fs
+ mount ext4 /dev/block/mmcblk0p2 /system wait
+ mount ext4 /dev/block/mmcblk0p2 /system ro wait remount
+ mount ext4 /dev/block/mmcblk0p3 /cache nosuid wait
+ mount ext4 /dev/block/mmcblk0p4 /data nosuid wait
+
+on post-fs-data
+ mkdir /data/media 0775 media_rw media_rw
+ chown media_rw media_rw /data/media
+
+service sdcard /system/bin/sdcard /data/media 1023 1023
+ class late_start
diff --git a/init.gta04.usb.rc b/init.gta04.usb.rc
new file mode 100755
index 0000000..f417a6c
--- /dev/null
+++ b/init.gta04.usb.rc
@@ -0,0 +1,77 @@
+on property:sys.usb.config=mass_storage
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor 18d1
+ write /sys/class/android_usb/android0/idProduct 0001
+ write /sys/class/android_usb/android0/functions $sys.usb.config
+ write /sys/class/android_usb/android0/enable 1
+ setprop sys.usb.state $sys.usb.config
+
+on property:sys.usb.config=mass_storage,adb
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor 18d1
+ write /sys/class/android_usb/android0/idProduct 0003
+ write /sys/class/android_usb/android0/functions $sys.usb.config
+ write /sys/class/android_usb/android0/enable 1
+ start adbd
+ setprop sys.usb.state $sys.usb.config
+
+on property:sys.usb.config=mtp
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor 18d1
+ write /sys/class/android_usb/android0/idProduct 0006
+ write /sys/class/android_usb/android0/functions $sys.usb.config
+ write /sys/class/android_usb/android0/enable 1
+ setprop sys.usb.state $sys.usb.config
+
+on property:sys.usb.config=mtp,adb
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor 18d1
+ write /sys/class/android_usb/android0/idProduct 0007
+ write /sys/class/android_usb/android0/functions $sys.usb.config
+ write /sys/class/android_usb/android0/enable 1
+ start adbd
+ setprop sys.usb.state $sys.usb.config
+
+on property:sys.usb.config=ptp
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor 18d1
+ write /sys/class/android_usb/android0/idProduct 0008
+ write /sys/class/android_usb/android0/functions $sys.usb.config
+ write /sys/class/android_usb/android0/enable 1
+ setprop sys.usb.state $sys.usb.config
+
+on property:sys.usb.config=ptp,adb
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor 18d1
+ write /sys/class/android_usb/android0/idProduct 0009
+ write /sys/class/android_usb/android0/functions $sys.usb.config
+ write /sys/class/android_usb/android0/enable 1
+ start adbd
+ setprop sys.usb.state $sys.usb.config
+
+on property:sys.usb.config=rndis
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor 18d1
+ write /sys/class/android_usb/android0/idProduct 000a
+ write /sys/class/android_usb/android0/functions $sys.usb.config
+ write /sys/class/android_usb/android0/bDeviceClass 224
+ write /sys/class/android_usb/android0/enable 1
+ setprop sys.usb.state $sys.usb.config
+
+on property:sys.usb.config=rndis,adb
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor 18d1
+ write /sys/class/android_usb/android0/idProduct 000b
+ write /sys/class/android_usb/android0/functions $sys.usb.config
+ write /sys/class/android_usb/android0/bDeviceClass 224
+ write /sys/class/android_usb/android0/enable 1
+ start adbd
+ setprop sys.usb.state $sys.usb.config
+
+on property:sys.usb.config=rndis,dm
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor 18d1
+ write /sys/class/android_usb/android0/idProduct 000c
+ write /sys/class/android_usb/android0/functions $sys.usb.config
+ write /sys/class/android_usb/android0/enable 1
+ setprop sys.usb.state $sys.usb.config
diff --git a/overlay/frameworks/base/core/res/res/values/config.xml b/overlay/frameworks/base/core/res/res/values/config.xml
index c610e11..b42bacf 100644
--- a/overlay/frameworks/base/core/res/res/values/config.xml
+++ b/overlay/frameworks/base/core/res/res/values/config.xml
@@ -18,14 +18,10 @@
-->
<resources>
- <bool name="cm_default_has_soft_buttons">true</bool>
- <bool name="cm_default_soft_buttons_left">true</bool>
+ <!-- If this is true, the screen will come on when you unplug usb/power/whatever. -->
+ <bool name="config_unplugTurnsOnScreen">true</bool>
- <bool name="cm_default_show_soft_home">true</bool>
- <bool name="cm_default_show_soft_menu">true</bool>
- <bool name="cm_default_show_soft_back">false</bool>
- <bool name="cm_default_show_soft_search">false</bool>
- <bool name="cm_default_show_soft_quick_na">false</bool>
-
- <bool name="cm_default_home_on_longpress_back">true</bool>
+ <!-- Whether a software navigation bar should be shown. NOTE: in the future this may be
+ autodetected from the Configuration. -->
+ <bool name="config_showNavigationBar">true</bool>
</resources>
diff --git a/overlay/frameworks/base/core/res/res/xml/storage_list.xml b/overlay/frameworks/base/core/res/res/xml/storage_list.xml
new file mode 100644
index 0000000..ba086a1
--- /dev/null
+++ b/overlay/frameworks/base/core/res/res/xml/storage_list.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+**
+** Copyright 2011, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License")
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<!-- The <device> element should contain one or more <storage> elements.
+ Exactly one of these should have the attribute primary="true".
+ This storage will be the primary external storage and should have mountPoint="/mnt/sdcard".
+ Each storage should have both a mountPoint and storageDescription attribute.
+ The following attributes are optional:
+
+ primary: (boolean) this storage is the primary external storage
+ removable: (boolean) this is removable storage (for example, a real SD card)
+ emulated: (boolean) the storage is emulated via the FUSE sdcard daemon
+ mtpReserve: (integer) number of megabytes of storage MTP should reserve for free storage
+ (used for emulated storage that is shared with system's data partition)
+
+ A storage should not have both emulated and removable set to true
+-->
+
+<StorageList xmlns:android="http://schemas.android.com/apk/res/android">
+ <storage android:mountPoint="/mnt/sdcard"
+ android:storageDescription="@string/storage_internal"
+ android:primary="true"
+ android:removable="false"
+ android:allowMassStorage="true" />
+</StorageList>
diff --git a/replicant_gta04_install.sh b/replicant_gta04_install.sh
index 8bd0ae3..dcca69c 100755
--- a/replicant_gta04_install.sh
+++ b/replicant_gta04_install.sh
@@ -1,8 +1,8 @@
#!/bin/sh
-# Replicant GTA04 Install script
+# Replicant GTA04 installer
#
-# Copyright (C) 2012 Paul Kocialkowski, GPLv2
+# Copyright (C) 2012-2013 Paul Kocialkowski, GPLv2
#
# Based on mkcard.sh v0.5
# Copyright (C) 2009 Graeme Gregory <dp@xora.org.uk>, GPLv2
@@ -27,7 +27,6 @@ export LC_ALL=C
# Global vars
#
-TYPE=""
DRIVE=""
DRIVE_NAME=""
DRIVE_SIZE=""
@@ -49,18 +48,13 @@ display_banner() {
}
display_help() {
- echo "Usage: $0 [TYPE] [DRIVE]"
+ echo "Usage: $0 [FILES_BASE] [DRIVE]"
echo ""
echo "Arguments:"
- echo "- The [TYPE] argument can either be:"
- echo " * \"install\" to create an install sdcard"
- echo " * \"system\" to create a system sdcard"
+ echo "- The [FILES_BASE] argument is the path to the files"
+ echo " The following files must be in that directory:"
+ echo " MLO, u-boot.bin, splash.rgb16z, boot.scr, boot.img, system.tar.bz2"
echo "- The [DRIVE] argument is the sdcard drive node and can be omitted"
- echo ""
- echo "Notes:"
- echo "The following files must be present in the directory where you run the script:"
- echo "* bootloader.img boot.scr boot.img (install)"
- echo "* system.tar.bz2 (system)"
}
# Drive
@@ -204,11 +198,16 @@ drive_eject() {
eject "$DRIVE"
}
-# Install
+drive_partitions_set() {
+ boot_size=$( echo "(50 * 1024 * 1024) / ($DRIVE_SIZE/$DRIVE_CYLINDERS)" | bc )
+ system_size=$( echo "(250 * 1024 * 1024) / ($DRIVE_SIZE/$DRIVE_CYLINDERS)" | bc )
+ cache_size=$( echo "(100 * 1024 * 1024) / ($DRIVE_SIZE/$DRIVE_CYLINDERS)" | bc )
-install_partitions_set() {
{
- echo ",,0c"
+ echo ",$boot_size,c,*"
+ echo ",$system_size,83,-"
+ echo ",$cache_size,83,-"
+ echo ",,83,-"
} | sfdisk -D -H 255 -S 63 -C "$DRIVE_CYLINDERS" "$DRIVE"
if [ $? != 0 ]
then
@@ -218,79 +217,46 @@ install_partitions_set() {
sleep 1
- mkfs.vfat -F 32 -n "install" "${DRIVE}1"
+ if [ -e "${DRIVE}p1" ]
+ then
+ DRIVE_PART="${DRIVE}p"
+ else
+ DRIVE_PART="${DRIVE}"
+ fi
+
+ mkfs.vfat -F 32 -n "boot" "${DRIVE_PART}1"
+ mkfs.ext2 -L "system" "${DRIVE_PART}2"
+ mkfs.ext2 -L "cache" "${DRIVE_PART}3"
+ mkfs.ext2 -L "data" "${DRIVE_PART}4"
sleep 1
}
-install_write() {
- echo "Writing install files"
-
- mkdir -p "$MOUNT_BASE/install"
- mount "${DRIVE}1" "$MOUNT_BASE/install"
-
- cp "bootloader.img" "$MOUNT_BASE/install"
- if [ $? != 0 ]
- then
- exit 1
- fi
+drive_write() {
+ echo "Writing boot files"
- cp "boot.scr" "$MOUNT_BASE/install"
- if [ $? != 0 ]
- then
- exit 1
- fi
+ mkdir -p "$MOUNT_BASE/boot"
+ mount "${DRIVE_PART}1" "$MOUNT_BASE/boot"
- cp "boot.img" "$MOUNT_BASE/install"
- if [ $? != 0 ]
- then
- exit 1
- fi
+ cp $FILES_BASE/MLO "$MOUNT_BASE/boot/"
+ cp $FILES_BASE/u-boot.bin "$MOUNT_BASE/boot/"
+ cp $FILES_BASE/splash.rgb16z "$MOUNT_BASE/boot"
+ cp $FILES_BASE/boot.scr "$MOUNT_BASE/boot"
+ cp $FILES_BASE/boot.img "$MOUNT_BASE/boot"
dir=$( pwd )
- echo "Syncing files"
- cd "$MOUNT_BASE/install"
+ echo "Syncing boot files"
+ cd "$MOUNT_BASE/boot"
sync
cd "$dir"
- umount "$MOUNT_BASE/install"
- rmdir "$MOUNT_BASE/install"
-}
-
-# System
+ umount "$MOUNT_BASE/boot"
+ rmdir "$MOUNT_BASE/boot"
-system_partitions_set() {
- system_size=$( echo "(250 * 1024 * 1024) / ($DRIVE_SIZE/$DRIVE_CYLINDERS)" | bc )
- data_size=$( echo "(250 * 1024 * 1024) / ($DRIVE_SIZE/$DRIVE_CYLINDERS)" | bc )
- cache_size=$( echo "(100 * 1024 * 1024) / ($DRIVE_SIZE/$DRIVE_CYLINDERS)" | bc )
-
- {
- echo ",$system_size,83"
- echo ",$data_size,83"
- echo ",$cache_size,83"
- echo ",,0c"
- } | sfdisk -D -H 255 -S 63 -C "$DRIVE_CYLINDERS" "$DRIVE"
- if [ $? != 0 ]
- then
- drive_rescue
- exit 1
- fi
-
- sleep 1
-
- mkfs.ext2 -L "system" "${DRIVE}1"
- mkfs.ext2 -L "data" "${DRIVE}2"
- mkfs.ext2 -L "cache" "${DRIVE}3"
- mkfs.vfat -F 32 -n "storage" "${DRIVE}4"
-
- sleep 1
-}
-
-system_write() {
echo "Writing system files"
mkdir -p "$MOUNT_BASE/system"
- mount "${DRIVE}1" "$MOUNT_BASE/system"
+ mount "${DRIVE_PART}2" "$MOUNT_BASE/system"
tar -p -xf "system.tar.bz2" -C "$MOUNT_BASE/system/" --strip-components=1 "system/"
if [ $? != 0 ]
@@ -302,7 +268,7 @@ system_write() {
fi
dir=$( pwd )
- echo "Syncing files"
+ echo "Syncing system files"
cd "$MOUNT_BASE/system"
sync
cd "$dir"
@@ -318,7 +284,7 @@ display_end() {
# Script start
-if [ $# -eq 0 ]
+if [ $# -eq 0 ] || [ $# -gt 2 ] || [ "$1" = "--help" ] || [ "$1" = "help" ]
then
display_help
exit 1
@@ -326,23 +292,17 @@ fi
if [ $# -eq 1 ]
then
- TYPE=$1
+ FILES_BASE=$1
fi
if [ $# -eq 2 ]
then
- TYPE=$1
+ FILES_BASE=$1
DRIVE=$2
fi
display_banner
-if [ "$TYPE" != "install" ] && [ "$TYPE" != "system" ]
-then
- display_help
- exit 1
-fi
-
if [ "$DRIVE" = "" ]
then
drive_select
@@ -354,15 +314,8 @@ drive_umount
drive_empty
drive_infos_get
-# Install/System
-if [ "$TYPE" = "install" ]
-then
- install_partitions_set
- install_write
-else
- system_partitions_set
- system_write
-fi
+drive_partitions_set
+drive_write
# Finishing
display_end
diff --git a/system.prop b/system.prop
index ebbb195..b86295f 100644
--- a/system.prop
+++ b/system.prop
@@ -2,5 +2,5 @@
# system.prop for GTA04
#
-ro.sf.lcd_density=210
+ro.sf.lcd_density=200
rild.libpath=/system/lib/libhayes-ril.so
diff --git a/tinyalsa-audio.xml b/tinyalsa-audio.xml
deleted file mode 100644
index 7a0bf22..0000000
--- a/tinyalsa-audio.xml
+++ /dev/null
@@ -1,72 +0,0 @@
-<tinyalsa-audio device="GTA04">
- <device type="init">
- <path name="enable">
- <ctl name="DAC1 Digital Fine Playback Volume" value="60" />
- <ctl name="DAC2 Digital Fine Playback Volume" value="60" />
- <ctl name="DAC1 Digital Coarse Playback Volume" value="0" />
- <ctl name="DAC2 Digital Coarse Playback Volume" value="0" />
-
- <ctl name="DAC1 Analog Playback Volume" value="16" />
- <ctl name="DAC2 Analog Playback Volume" value="16" />
-
- <ctl name="TX1 Digital Capture Volume" value="12" />
- <ctl name="TX2 Digital Capture Volume" value="12" />
-
- <ctl name="Analog Capture Volume" value="5" />
- <ctl name="Voice route" value="Voice to SoC" />
- </path>
- </device>
- <device type="output" name="earpiece" mode="normal">
- <path name="enable">
- <ctl name="Earpiece Mixer AudioL2" value="on" />
- <ctl name="Earpiece Playback Volume" value="3" />
- </path>
- <path name="disable">
- <ctl name="Earpiece Mixer AudioL2" value="off" />
- <ctl name="Earpiece Playback Volume" value="0" />
- </path>
- </device>
- <device type="output" name="earpiece" mode="in-call">
- <path name="enable">
- <ctl name="Voice route" value="Voice to twl4030" />
- <ctl name="Earpiece Mixer Voice" value="on" />
- <ctl name="Earpiece Playback Volume" value="3" />
- <ctl name="DAC Voice Digital Downlink Volume" value="40" />
- <ctl name="DAC Voice Analog Downlink Switch" value="on" />
-
- <ctl name="Analog Left Main Mic Capture Switch" attr="mic" value="on" />
- <ctl name="DAC Voice Analog Downlink Volume" attr="voice-volume" value="0-15" />
- </path>
- <path name="disable">
- <ctl name="Voice route" value="Voice to SoC" />
- <ctl name="Earpiece Mixer Voice" value="off" />
- <ctl name="Earpiece Playback Volume" value="0" />
- <ctl name="DAC Voice Digital Downlink Volume" value="0" />
- <ctl name="DAC Voice Analog Downlink Switch" value="off" />
-
- <ctl name="Analog Left Main Mic Capture Switch" attr="mic" value="off" />
- </path>
- </device>
- <device type="output" name="speaker" mode="normal">
- <path name="enable">
- <ctl name="HandsfreeL Mux" value="AudioL2" />
- <ctl name="HandsfreeR Mux" value="AudioR2" />
- <ctl name="HandsfreeL Switch" value="on" />
- <ctl name="HandsfreeR Switch" value="on" />
- </path>
- <path name="disable">
- <ctl name="HandsfreeL Switch" value="off" />
- <ctl name="HandsfreeR Switch" value="off" />
- </path>
- </device>
-
- <device type="input" name="builtin-mic">
- <path name="enable">
- <ctl name="Analog Left Main Mic Capture Switch" value="on" />
- </path>
- <path name="disable">
- <ctl name="Analog Left Main Mic Capture Switch" value="off" />
- </path>
- </device>
-</tinyalsa-audio>
-
diff --git a/tsc2007.idc b/tsc2007.idc
new file mode 100644
index 0000000..6c1df26
--- /dev/null
+++ b/tsc2007.idc
@@ -0,0 +1,3 @@
+touch.deviceType = touchScreen
+touch.orientationAware = 1
+touch.pressure.calibration = amplitude
diff --git a/ueventd.gta04.rc b/ueventd.gta04.rc
index fb46edc..7be3ef3 100644
--- a/ueventd.gta04.rc
+++ b/ueventd.gta04.rc
@@ -1,12 +1,12 @@
# Modem
-/dev/ttyHS0 0660 radio radio
-/dev/ttyHS1 0660 radio radio
-/dev/ttyHS2 0660 radio radio
-/dev/ttyHS3 0660 radio radio
-/dev/ttyHS4 0660 radio radio
-/dev/ttyHS5 0660 radio radio
-/dev/ttyHS6 0660 radio radio
-/dev/ttyHS7 0660 radio radio
-/dev/ttyHS8 0660 radio radio
-/dev/ttyHS9 0660 radio radio
+/dev/ttyHS0 0660 radio radio
+/dev/ttyHS1 0660 radio radio
+/dev/ttyHS2 0660 radio radio
+/dev/ttyHS3 0660 radio radio
+/dev/ttyHS4 0660 radio radio
+/dev/ttyHS5 0660 radio radio
+/dev/ttyHS6 0660 radio radio
+/dev/ttyHS7 0660 radio radio
+/dev/ttyHS8 0660 radio radio
+/dev/ttyHS9 0660 radio radio
diff --git a/vold.fstab b/vold.fstab
deleted file mode 100644
index fd8c121..0000000
--- a/vold.fstab
+++ /dev/null
@@ -1,16 +0,0 @@
-## Vold 2.0 GTA04 fstab
-## - Paul Kocialkowski (contact@paulk.fr)
-##
-
-#######################
-## Regular device mount
-##
-## Format: dev_mount <label> <mount_point> <part> <sysfs_path1...>
-## label - Label for the volume
-## mount_point - Where the volume will be mounted
-## part - Partition # (1 based), or 'auto' for first usable partition.
-## <sysfs_path> - List of sysfs paths to source devices
-######################
-
-dev_mount sdcard /mnt/sdcard 4 /devices/platform/omap/omap_hsmmc.0/mmc_host/mmc0
-