aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTony SIM <chinyeow.sim.xt@renesas.com>2010-04-01 11:06:30 +0900
committerTony SIM <chinyeow.sim.xt@renesas.com>2010-04-07 18:09:26 +0900
commit190d4ce45578be9a1f21f816568c4a7c4794dcaa (patch)
tree2904a2a014d0579639f493a402a865f03385ea06
parentfb8d1630434fb654d5fc589cf8ed450c5a23eda4 (diff)
downloadms7724-master.tar.gz
MS7724 android-2.1_r1HEADandroid-2.1_r1master
-rw-r--r--AndroidBoard.mk9
-rw-r--r--BoardConfig.mk11
-rw-r--r--asound.conf406
-rw-r--r--init.r0p7724.rc3
-rwxr-xr-xinit.r0p7724.sh4
-rw-r--r--init.rc65
6 files changed, 481 insertions, 17 deletions
diff --git a/AndroidBoard.mk b/AndroidBoard.mk
index 162d8ad..9b21e79 100644
--- a/AndroidBoard.mk
+++ b/AndroidBoard.mk
@@ -42,5 +42,10 @@ $(file) : $(LOCAL_PATH)/sh_keysc.kl | $(ACP)
####################################################################
### Copy necessary files to target root filesystem
-PRODUCT_COPY_FILES = \
- vendor/renesas/ms7724/vold.conf:system/etc/vold.conf
+PRODUCT_COPY_FILES += \
+ vendor/renesas/ms7724/vold.conf:system/etc/vold.conf \
+ vendor/renesas/ms7724/asound.conf:system/etc/asound.conf
+
+
+# Pick up some sounds
+include frameworks/base/data/sounds/OriginalAudio.mk
diff --git a/BoardConfig.mk b/BoardConfig.mk
index 0dbc608..fcb711a 100644
--- a/BoardConfig.mk
+++ b/BoardConfig.mk
@@ -9,10 +9,11 @@ DISABLE_DEXPREOPT := true
TARGET_NO_BOOTLOADER := true
TARGET_NO_KERNEL := true
TARGET_NO_RADIOIMAGE := true
-TARGET_CPU_ABI := sh
+TARGET_CPU_ABI := sh4abi
TARGET_PROVIDES_INIT_RC := true
-USE_CAMERA_STUB := true
+TARGET_BOOTLOADER_BOARD_NAME := ms7724
+USE_CAMERA_STUB := false
HAVE_HTC_AUDIO_DRIVER := false
-BOARD_USES_GENERIC_AUDIO := true
-BOARD_USES_ALSA_AUDIO := false
-BUILD_WITH_ALSA_UTILS := false
+BOARD_USES_GENERIC_AUDIO := false
+BOARD_USES_ALSA_AUDIO := true
+BUILD_WITH_ALSA_UTILS := true
diff --git a/asound.conf b/asound.conf
new file mode 100644
index 0000000..ad96a93
--- /dev/null
+++ b/asound.conf
@@ -0,0 +1,406 @@
+# #
+# # Mixer devices
+# #
+ctl.AndroidPlayback {
+ type hw
+ card 0 # Can replace with drivers name from /proc/asound/cards
+}
+ctl.AndroidCapture {
+ type hw
+ card 0
+}
+
+# #
+# # Playback devices
+# #
+pcm.AndroidPlayback {
+ type hooks
+ slave.pcm {
+ type hw
+ card 0
+ device 0
+ }
+ hooks.0 {
+ type ctl_elems
+ hook_args [
+ { name 'DAC Gain' value [ 39 39 ] }
+ { name 'HeadPhone Playback Volume' value [ 45 45 ] }
+ { name 'Mic Capture Volume' value [ 0 0 ] }
+ { name 'In PGA Gain' value [ 0 0 ] }
+ { name 'Mic Bias' value true }
+ { name 'Mic Bias Voltage' value '1.5' }
+ { name 'In Mixer Right MIC_R Switch' value false }
+ { name 'In Mixer Left MIC_L Switch' value false }
+ { name 'Out Mixer Right DAC_R Switch' value true }
+ { name 'Out Mixer Left DAC_L Switch' value true }
+ { name 'MicR Enable Switch' value false }
+ { name 'MicL Enable Switch' value false }
+ { name 'HPR Enable Switch' value true }
+ { name 'HPL Enable Switch' value true }
+ ]
+ }
+}
+
+pcm.AndroidPlayback_Earpiece {
+ type hooks
+ slave.pcm {
+ type hw
+ card 0
+ device 0
+ }
+ hooks.0 {
+ type ctl_elems
+ hook_args [
+ { name 'DAC Gain' value [ 39 39 ] }
+ { name 'HeadPhone Playback Volume' value [ 45 45 ] }
+ { name 'Mic Capture Volume' value [ 0 0 ] }
+ { name 'In PGA Gain' value [ 0 0 ] }
+ { name 'Mic Bias' value true }
+ { name 'Mic Bias Voltage' value '1.5' }
+ { name 'In Mixer Right MIC_R Switch' value false }
+ { name 'In Mixer Left MIC_L Switch' value false }
+ { name 'Out Mixer Right DAC_R Switch' value true }
+ { name 'Out Mixer Left DAC_L Switch' value true }
+ { name 'MicR Enable Switch' value false }
+ { name 'MicL Enable Switch' value false }
+ { name 'HPR Enable Switch' value true }
+ { name 'HPL Enable Switch' value true }
+ ]
+ }
+}
+
+pcm.AndroidPlayback_Earpiece_normal {
+ type hooks
+ slave.pcm {
+ type hw
+ card 0
+ device 0
+ }
+ hooks.0 {
+ type ctl_elems
+ hook_args [
+ { name 'DAC Gain' value [ 39 39 ] }
+ { name 'HeadPhone Playback Volume' value [ 45 45 ] }
+ { name 'Mic Capture Volume' value [ 0 0 ] }
+ { name 'In PGA Gain' value [ 0 0 ] }
+ { name 'Mic Bias' value true }
+ { name 'Mic Bias Voltage' value '1.5' }
+ { name 'In Mixer Right MIC_R Switch' value false }
+ { name 'In Mixer Left MIC_L Switch' value false }
+ { name 'Out Mixer Right DAC_R Switch' value true }
+ { name 'Out Mixer Left DAC_L Switch' value true }
+ { name 'MicR Enable Switch' value false }
+ { name 'MicL Enable Switch' value false }
+ { name 'HPR Enable Switch' value true }
+ { name 'HPL Enable Switch' value true }
+ ]
+ }
+}
+
+pcm.AndroidPlayback_Earpiece_ringtone {
+ type hooks
+ slave.pcm {
+ type hw
+ card 0
+ device 0
+ }
+ hooks.0 {
+ type ctl_elems
+ hook_args [
+ { name 'DAC Gain' value [ 39 39 ] }
+ { name 'HeadPhone Playback Volume' value [ 45 45 ] }
+ { name 'Mic Capture Volume' value [ 0 0 ] }
+ { name 'In PGA Gain' value [ 0 0 ] }
+ { name 'Mic Bias' value true }
+ { name 'Mic Bias Voltage' value '1.5' }
+ { name 'In Mixer Right MIC_R Switch' value false }
+ { name 'In Mixer Left MIC_L Switch' value false }
+ { name 'Out Mixer Right DAC_R Switch' value true }
+ { name 'Out Mixer Left DAC_L Switch' value true }
+ { name 'MicR Enable Switch' value false }
+ { name 'MicL Enable Switch' value false }
+ { name 'HPR Enable Switch' value true }
+ { name 'HPL Enable Switch' value true }
+ ]
+ }
+}
+
+pcm.AndroidPlayback_Earpiece_incall {
+ type hooks
+ slave.pcm {
+ type hw
+ card 0
+ device 0
+ }
+ hooks.0 {
+ type ctl_elems
+ hook_args [
+ { name 'DAC Gain' value [ 39 39 ] }
+ { name 'HeadPhone Playback Volume' value [ 45 45 ] }
+ { name 'Mic Capture Volume' value [ 0 0 ] }
+ { name 'In PGA Gain' value [ 0 0 ] }
+ { name 'Mic Bias' value true }
+ { name 'Mic Bias Voltage' value '1.5' }
+ { name 'In Mixer Right MIC_R Switch' value false }
+ { name 'In Mixer Left MIC_L Switch' value false }
+ { name 'Out Mixer Right DAC_R Switch' value true }
+ { name 'Out Mixer Left DAC_L Switch' value true }
+ { name 'MicR Enable Switch' value false }
+ { name 'MicL Enable Switch' value false }
+ { name 'HPR Enable Switch' value true }
+ { name 'HPL Enable Switch' value true }
+ ]
+ }
+}
+
+pcm.AndroidPlayback_Speaker {
+ type hooks
+ slave.pcm {
+ type hw
+ card 0
+ device 0
+ }
+ hooks.0 {
+ type ctl_elems
+ hook_args [
+ { name 'DAC Gain' value [ 39 39 ] }
+ { name 'HeadPhone Playback Volume' value [ 45 45 ] }
+ { name 'Mic Capture Volume' value [ 0 0 ] }
+ { name 'In PGA Gain' value [ 0 0 ] }
+ { name 'Mic Bias' value true }
+ { name 'Mic Bias Voltage' value '1.5' }
+ { name 'In Mixer Right MIC_R Switch' value false }
+ { name 'In Mixer Left MIC_L Switch' value false }
+ { name 'Out Mixer Right DAC_R Switch' value true }
+ { name 'Out Mixer Left DAC_L Switch' value true }
+ { name 'MicR Enable Switch' value false }
+ { name 'MicL Enable Switch' value false }
+ { name 'HPR Enable Switch' value true }
+ { name 'HPL Enable Switch' value true }
+ ]
+ }
+}
+
+pcm.AndroidPlayback_Speaker_normal {
+ type hooks
+ slave.pcm {
+ type hw
+ card 0
+ device 0
+ }
+ hooks.0 {
+ type ctl_elems
+ hook_args [
+ { name 'DAC Gain' value [ 39 39 ] }
+ { name 'HeadPhone Playback Volume' value [ 45 45 ] }
+ { name 'Mic Capture Volume' value [ 0 0 ] }
+ { name 'In PGA Gain' value [ 0 0 ] }
+ { name 'Mic Bias' value true }
+ { name 'Mic Bias Voltage' value '1.5' }
+ { name 'In Mixer Right MIC_R Switch' value false }
+ { name 'In Mixer Left MIC_L Switch' value false }
+ { name 'Out Mixer Right DAC_R Switch' value true }
+ { name 'Out Mixer Left DAC_L Switch' value true }
+ { name 'MicR Enable Switch' value false }
+ { name 'MicL Enable Switch' value false }
+ { name 'HPR Enable Switch' value true }
+ { name 'HPL Enable Switch' value true }
+ ]
+ }
+}
+
+pcm.AndroidPlayback_Speaker_ringtone {
+ type hooks
+ slave.pcm {
+ type hw
+ card 0
+ device 0
+ }
+ hooks.0 {
+ type ctl_elems
+ hook_args [
+ { name 'DAC Gain' value [ 39 39 ] }
+ { name 'HeadPhone Playback Volume' value [ 45 45 ] }
+ { name 'Mic Capture Volume' value [ 0 0 ] }
+ { name 'In PGA Gain' value [ 0 0 ] }
+ { name 'Mic Bias' value true }
+ { name 'Mic Bias Voltage' value '1.5' }
+ { name 'In Mixer Right MIC_R Switch' value false }
+ { name 'In Mixer Left MIC_L Switch' value false }
+ { name 'Out Mixer Right DAC_R Switch' value true }
+ { name 'Out Mixer Left DAC_L Switch' value true }
+ { name 'MicR Enable Switch' value false }
+ { name 'MicL Enable Switch' value false }
+ { name 'HPR Enable Switch' value true }
+ { name 'HPL Enable Switch' value true }
+ ]
+ }
+}
+
+pcm.AndroidPlayback_Speaker_incall {
+ type hooks
+ slave.pcm {
+ type hw
+ card 0
+ device 0
+ }
+ hooks.0 {
+ type ctl_elems
+ hook_args [
+ { name 'DAC Gain' value [ 39 39 ] }
+ { name 'HeadPhone Playback Volume' value [ 45 45 ] }
+ { name 'Mic Capture Volume' value [ 0 0 ] }
+ { name 'In PGA Gain' value [ 0 0 ] }
+ { name 'Mic Bias' value true }
+ { name 'Mic Bias Voltage' value '1.5' }
+ { name 'In Mixer Right MIC_R Switch' value false }
+ { name 'In Mixer Left MIC_L Switch' value false }
+ { name 'Out Mixer Right DAC_R Switch' value true }
+ { name 'Out Mixer Left DAC_L Switch' value true }
+ { name 'MicR Enable Switch' value false }
+ { name 'MicL Enable Switch' value false }
+ { name 'HPR Enable Switch' value true }
+ { name 'HPL Enable Switch' value true }
+ ]
+ }
+}
+
+pcm.AndroidPlayback_Bluetooth {
+ type hooks
+ slave.pcm {
+ type hw
+ card 0
+ device 0
+ }
+ hooks.0 {
+ type ctl_elems
+ hook_args [
+ { name 'DAC Gain' value [ 39 39 ] }
+ { name 'HeadPhone Playback Volume' value [ 45 45 ] }
+ { name 'Mic Capture Volume' value [ 0 0 ] }
+ { name 'In PGA Gain' value [ 0 0 ] }
+ { name 'Mic Bias' value true }
+ { name 'Mic Bias Voltage' value '1.5' }
+ { name 'In Mixer Right MIC_R Switch' value false }
+ { name 'In Mixer Left MIC_L Switch' value false }
+ { name 'Out Mixer Right DAC_R Switch' value true }
+ { name 'Out Mixer Left DAC_L Switch' value true }
+ { name 'MicR Enable Switch' value false }
+ { name 'MicL Enable Switch' value false }
+ { name 'HPR Enable Switch' value true }
+ { name 'HPL Enable Switch' value true }
+ ]
+ }
+}
+
+pcm.AndroidPlayback_Headset {
+ type hooks
+ slave.pcm {
+ type hw
+ card 0
+ device 0
+ }
+ hooks.0 {
+ type ctl_elems
+ hook_args [
+ { name 'DAC Gain' value [ 39 39 ] }
+ { name 'HeadPhone Playback Volume' value [ 45 45 ] }
+ { name 'Mic Capture Volume' value [ 0 0 ] }
+ { name 'In PGA Gain' value [ 0 0 ] }
+ { name 'Mic Bias' value true }
+ { name 'Mic Bias Voltage' value '1.5' }
+ { name 'In Mixer Right MIC_R Switch' value false }
+ { name 'In Mixer Left MIC_L Switch' value false }
+ { name 'Out Mixer Right DAC_R Switch' value true }
+ { name 'Out Mixer Left DAC_L Switch' value true }
+ { name 'MicR Enable Switch' value false }
+ { name 'MicL Enable Switch' value false }
+ { name 'HPR Enable Switch' value true }
+ { name 'HPL Enable Switch' value true }
+ ]
+ }
+}
+
+pcm.AndroidPlayback_Bluetooth-A2DP {
+ type hooks
+ slave.pcm {
+ type hw
+ card 0
+ device 0
+ }
+ hooks.0 {
+ type ctl_elems
+ hook_args [
+ { name 'DAC Gain' value [ 39 39 ] }
+ { name 'HeadPhone Playback Volume' value [ 45 45 ] }
+ { name 'Mic Capture Volume' value [ 0 0 ] }
+ { name 'In PGA Gain' value [ 0 0 ] }
+ { name 'Mic Bias' value true }
+ { name 'Mic Bias Voltage' value '1.5' }
+ { name 'In Mixer Right MIC_R Switch' value false }
+ { name 'In Mixer Left MIC_L Switch' value false }
+ { name 'Out Mixer Right DAC_R Switch' value true }
+ { name 'Out Mixer Left DAC_L Switch' value true }
+ { name 'MicR Enable Switch' value false }
+ { name 'MicL Enable Switch' value false }
+ { name 'HPR Enable Switch' value true }
+ { name 'HPL Enable Switch' value true }
+ ]
+ }
+}
+
+pcm.AndroidPlayback_FM {
+ type hooks
+ slave.pcm {
+ type hw
+ card 0
+ device 0
+ }
+ hooks.0 {
+ type ctl_elems
+ hook_args [
+ { name 'DAC Gain' value [ 39 39 ] }
+ { name 'HeadPhone Playback Volume' value [ 45 45 ] }
+ { name 'Mic Capture Volume' value [ 0 0 ] }
+ { name 'In PGA Gain' value [ 0 0 ] }
+ { name 'Mic Bias' value true }
+ { name 'Mic Bias Voltage' value '1.5' }
+ { name 'In Mixer Right MIC_R Switch' value false }
+ { name 'In Mixer Left MIC_L Switch' value false }
+ { name 'Out Mixer Right DAC_R Switch' value true }
+ { name 'Out Mixer Left DAC_L Switch' value true }
+ { name 'MicR Enable Switch' value false }
+ { name 'MicL Enable Switch' value false }
+ { name 'HPR Enable Switch' value true }
+ { name 'HPL Enable Switch' value true }
+ ]
+ }
+}
+
+pcm.AndroidCapture {
+ type hooks
+ slave.pcm {
+ type hw
+ card 0
+ device 0
+ }
+ hooks.0 {
+ type ctl_elems
+ hook_args [
+ { name 'DAC Gain' value [ 39 39 ] }
+ { name 'HeadPhone Playback Volume' value [ 45 45 ] }
+ { name 'Mic Capture Volume' value [ 0 0 ] }
+ { name 'In PGA Gain' value [ 0 0 ] }
+ { name 'Mic Bias' value true }
+ { name 'Mic Bias Voltage' value '1.5' }
+ { name 'In Mixer Right MIC_R Switch' value false }
+ { name 'In Mixer Left MIC_L Switch' value false }
+ { name 'Out Mixer Right DAC_R Switch' value true }
+ { name 'Out Mixer Left DAC_L Switch' value true }
+ { name 'MicR Enable Switch' value false }
+ { name 'MicL Enable Switch' value false }
+ { name 'HPR Enable Switch' value true }
+ { name 'HPL Enable Switch' value true }
+ ]
+ }
+}
diff --git a/init.r0p7724.rc b/init.r0p7724.rc
index a0df321..4f7208c 100644
--- a/init.r0p7724.rc
+++ b/init.r0p7724.rc
@@ -1,8 +1,5 @@
on boot
setprop ro.radio.use-ppp no
- setprop ro.product.board ms7724
- setprop ro.build.product generic
- setprop ro.product.device generic
# fake some battery state
setprop status.battery.state Slow
diff --git a/init.r0p7724.sh b/init.r0p7724.sh
index 1b0437e..061c00f 100755
--- a/init.r0p7724.sh
+++ b/init.r0p7724.sh
@@ -6,10 +6,6 @@ case $? in
255) netcfg eth0 dhcp ;;
esac
-# remove previous browser session
-rm -r /data/data/com.android.browser/cache
-rm -r /data/data/com.android.browser/databases
-
# disable boot animation for a faster boot sequence when needed
boot_anim=`getprop ro.kernel.android.bootanim`
case "$boot_anim" in
diff --git a/init.rc b/init.rc
index 8a4ff36..4674a1d 100644
--- a/init.rc
+++ b/init.rc
@@ -17,12 +17,14 @@ loglevel 3
# Backward compatibility
symlink /system/etc /etc
+ symlink /sys/kernel/debug /d
# create mountpoints and mount tmpfs on sqlite_stmt_journals
mkdir /sdcard 0000 system system
mkdir /system
mkdir /data 0771 system system
mkdir /cache 0770 system cache
+ mkdir /config 0500 root root
mkdir /sqlite_stmt_journals 01777 root root
mount tmpfs tmpfs /sqlite_stmt_journals size=4m
@@ -32,6 +34,7 @@ loglevel 3
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
@@ -56,6 +59,25 @@ loglevel 3
chown system system /data
chmod 0771 /data
+ # 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 0770 /cache
@@ -64,16 +86,22 @@ loglevel 3
chown system system /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
+
# create basic filesystem structure
mkdir /data/misc 01771 system misc
- mkdir /data/misc/keystore 0770 keystore keystore
+ mkdir /data/misc/keystore 0700 keystore keystore
mkdir /data/local 0771 shell shell
mkdir /data/local/tmp 0771 shell shell
mkdir /data/data 0771 system system
mkdir /data/app-private 0771 system system
- mkdir /data/app 0771 system system
+ chown system system /data/app
+ chmod 0771 /data/app
mkdir /data/property 0700 root root
+
# create dalvik-cache and double-check the perms
mkdir /data/dalvik-cache 0771 system system
chown system system /data/dalvik-cache
@@ -132,6 +160,10 @@ on boot
# 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
@@ -171,6 +203,14 @@ on boot
chown system system /sys/kernel/ipv4/tcp_rmem_max
chown root radio /proc/cmdline
+# ALSA mixer property setting
+ setprop alsa.mixer.playback.master HeadPhone
+ setprop alsa.mixer.capture.master Mic
+ setprop alsa.mixer.playback.earpiece HeadPhone
+ setprop alsa.mixer.capture.earpiece Mic
+ setprop alsa.mixer.playback.headset HeadPhone
+ setprop alsa.mixer.playback.speaker HeadPhone
+
# Define TCP buffer sizes for various networks
# ReadMin, ReadInitial, ReadMax, WriteMin, WriteInitial, WriteMax,
setprop net.tcp.buffersize.default 4096,87380,110208,4096,16384,110208
@@ -186,6 +226,20 @@ on boot
service console /system/bin/sh
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
@@ -203,6 +257,7 @@ service zygote /system/bin/app_process -Xzygote /system/bin --zygote --start-sys
socket zygote stream 666
onrestart write /sys/android_power/request_state wake
onrestart write /sys/power/state on
+ onrestart restart media
service media /system/bin/mediaserver
user media
@@ -217,8 +272,12 @@ service bootanim /system/bin/bootanimation
service installd /system/bin/installd
socket installd stream 600 system system
-service keystore /system/bin/keystore
+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