summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJean-Baptiste Queru <jbq@google.com>2012-08-17 12:47:35 -0700
committerandroid code review <noreply-gerritcodereview@google.com>2012-08-17 12:47:36 -0700
commita70157d18d9ffc457de1789d29e19f3ab8a5534f (patch)
treeffdd7af0decbb730ee4bb8743d552fd331a12b55
parenta77ca42815ec189c8903223af720aea63d68f566 (diff)
parent75e16560f7d6be38c56e701153f2e882807072f9 (diff)
downloadlt26-a70157d18d9ffc457de1789d29e19f3ab8a5534f.tar.gz
Merge "lt26: device configs"
-rw-r--r--config/fstab.lt268
-rw-r--r--config/init.lt26.rc426
-rw-r--r--config/init.lt26.usb.rc80
-rw-r--r--config/init.qcom.efs.sync.sh34
-rw-r--r--config/ueventd.lt26.rc144
-rw-r--r--config/vold.fstab2
-rw-r--r--device.mk50
-rw-r--r--prebuilt/hw_config.sh46
-rw-r--r--recovery.fstab7
9 files changed, 797 insertions, 0 deletions
diff --git a/config/fstab.lt26 b/config/fstab.lt26
new file mode 100644
index 0000000..680d38f
--- /dev/null
+++ b/config/fstab.lt26
@@ -0,0 +1,8 @@
+# Android fstab file.
+#<src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags>
+# The filesystem that contains the filesystem checker binary (typically /system) cannot
+# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK
+
+/dev/block/mmcblk0p12 /system ext4 ro wait
+/dev/block/mmcblk0p13 /cache ext4 noatime,nosuid,nodev,nomblk_io_submit,errors=panic wait,check
+/dev/block/mmcblk0p14 /data ext4 noatime,nosuid,nodev,nomblk_io_submit,errors=panic wait,check
diff --git a/config/init.lt26.rc b/config/init.lt26.rc
new file mode 100644
index 0000000..0477009
--- /dev/null
+++ b/config/init.lt26.rc
@@ -0,0 +1,426 @@
+import init.lt26.usb.rc
+
+on early-init
+ export EXTERNAL_STORAGE /storage/sdcard0
+ mkdir /storage 0050 system sdcard_r
+ mkdir /storage/sdcard0 0000 system system
+ mkdir /storage/sdcard1 0000 system system
+ # for backwards compatibility
+ symlink /storage/sdcard0 /sdcard
+ symlink /storage/sdcard0 /mnt/sdcard
+
+on fs
+ mount_all /fstab.lt26
+
+ setprop ro.crypto.state unsupported
+
+ setprop ro.emmc 1
+
+ # SEMC, TA Daemon
+ class_start trimarea
+ exec /system/bin/wait4tad
+
+on post-fs
+ mkdir /system/etc/firmware/misc 0771 system system
+ mkdir /data/tombstones 0755 system system
+ mkdir /data/mediaserver 0740 media media
+
+ # Change to socket location on libkeyctrl/suntory for /data encryption
+ mkdir /dev/socket/suntory 0755 system system
+
+ chmod 0664 /sys/devices/platform/msm_sdcc.1/polling
+ chmod 0664 /sys/devices/platform/msm_sdcc.3/polling
+ chmod 0664 /sys/devices/platform/msm_sdcc.4/polling
+
+ mkdir /data/radio 0770 radio radio
+
+ mkdir /data/idd 0755 idd idd
+ mount ext4 /dev/block/mmcblk0p10 /data/idd nosuid nodev noatime barrier=0
+ chown idd idd /data/idd
+ chmod 0755 /data/idd
+
+ # Camera
+ mkdir /data/camera 0771 root camera
+
+ #Create QMUX deamon socket area
+ mkdir /dev/socket/qmux_radio 0770 radio radio
+ chmod 2770 /dev/socket/qmux_radio
+ mkdir /dev/socket/qmux_audio 0770 media audio
+ chmod 2770 /dev/socket/qmux_audio
+ mkdir /dev/socket/qmux_bluetooth 0770 bluetooth bluetooth
+ chmod 2770 /dev/socket/qmux_bluetooth
+
+on early-boot
+ # set RLIMIT_MEMLOCK to 64MB
+ setrlimit 8 67108864 67108864
+
+ # Remove write permissions to video related nodes
+ chmod 0660 /sys/devices/virtual/graphics/fb1/video_mode
+ chmod 0440 /sys/devices/virtual/graphics/fb1/video_mode_str
+ chmod 0440 /sys/devices/virtual/graphics/fb1/connected
+ chmod 0440 /sys/devices/virtual/graphics/fb1/edid_modes
+ chmod 0440 /sys/devices/virtual/graphics/fb1/hdcp
+ chmod 0660 /sys/devices/virtual/graphics/fb1/hpd
+ chmod 0440 /sys/devices/virtual/graphics/fb1/3d_present
+ chmod 0440 /sys/devices/virtual/graphics/fb1/hdcp_present
+ chmod 0660 /sys/devices/virtual/graphics/fb1/format_3d
+ chmod 0660 /sys/devices/virtual/graphics/fb1/edid_3d_modes
+ chmod 0440 /sys/devices/virtual/graphics/fb1/underscan
+ chmod 0440 /sys/devices/virtual/graphics/fb1/dvi
+ chmod 0440 /sys/devices/virtual/graphics/fb1/pa
+ chmod 0660 /sys/devices/virtual/graphics/fb1/cec
+ chmod 0660 /sys/devices/virtual/graphics/fb1/cec_logical_addr
+ chmod 0660 /sys/devices/virtual/graphics/fb1/cec_wr_frame
+ chmod 0660 /sys/devices/virtual/graphics/fb1/product_description
+ chmod 0660 /sys/devices/virtual/graphics/fb1/vendor_name
+
+ # Change owner and group for system server and surface flinger
+ chown system graphics /sys/devices/virtual/graphics/fb1/video_mode
+ chown system graphics /sys/devices/virtual/graphics/fb1/video_mode_str
+ chown system graphics /sys/devices/virtual/graphics/fb1/connected
+ chown system graphics /sys/devices/virtual/graphics/fb1/edid_modes
+ chown system graphics /sys/devices/virtual/graphics/fb1/hdcp
+ chown system graphics /sys/devices/virtual/graphics/fb1/hpd
+ chown system graphics /sys/devices/virtual/graphics/fb1/3d_present
+ chown system graphics /sys/devices/virtual/graphics/fb1/hdcp_present
+ chown system graphics /sys/devices/virtual/graphics/fb1/format_3d
+ chown system graphics /sys/devices/virtual/graphics/fb1/edid_3d_modes
+ chown system graphics /sys/devices/virtual/graphics/fb1/underscan
+ chown system graphics /sys/devices/virtual/graphics/fb1/dvi
+ chown system graphics /sys/devices/virtual/graphics/fb1/pa
+ chown system graphics /sys/devices/virtual/graphics/fb1/cec
+ chown system graphics /sys/devices/virtual/graphics/fb1/cec_logical_addr
+ chown system graphics /sys/devices/virtual/graphics/fb1/cec_wr_frame
+ chown system graphics /sys/devices/virtual/graphics/fb1/product_description
+ chown system graphics /sys/devices/virtual/graphics/fb1/vendor_name
+
+ # Permissions for AKM897x sensor
+ chown system system /data/misc/akm_set.txt
+ chown system system /sys/class/compass/akm8972/interval
+ chown system system /sys/class/compass/akm8972/single
+ chown system system /sys/class/compass/akm8972/registers
+ chown system system /sys/class/compass/akm8975/interval
+ chown system system /sys/class/compass/akm8975/single
+ chown system system /sys/class/compass/akm8975/registers
+
+on boot
+# Optimized browser caching and connection handling
+ setprop net.http.idle_cache.size 40
+ setprop net.http.threads 10
+ setprop net.webkit.cache.size 12582912
+ setprop net.nw.cache.prioadvstep 86400000
+ setprop net.nw.cache.weightadvstep 3600000
+ setprop net.nw.cache.orderby weight
+ setprop net.http.idle_cache.shutdown true
+ setprop net.webkit.cache.mindeadsize 4194304
+ setprop net.webkit.cache.maxdeadsize 4194304
+
+ # USB Host support
+ mkdir /dev/bus 0711 system system
+ mkdir /dev/bus/usb 0711 system system
+
+ write /sys/class/android_usb/android0/iManufacturer $ro.product.manufacturer
+ write /sys/class/android_usb/android0/iProduct $ro.product.model
+
+ setprop ro.wifi.wps_enable true
+
+ write /proc/sys/kernel/sysrq 0
+ write /proc/sys/kernel/watchdog_thresh 5
+
+ exec /system/bin/cal_data_manager
+
+ # Enable Wifi EAP SIM
+ setprop ro.wifi.eap_sim_enabled true
+
+ chown system system /sys/module/sco/parameters/disable_esco
+
+ chmod 0660 /sys/devices/platform/msm_serial_hs.0/clock
+
+ #Set SUID bit for diag_mdlog
+ chmod 4755 /system/bin/diag_mdlog
+
+ # LM35xx/cameralight
+ chown system camera /sys/devices/i2c-3/3-0053/torch_enable
+ chown system camera /sys/devices/i2c-3/3-0053/torch_current
+ chown system camera /sys/devices/i2c-3/3-0053/privacy_enable
+ chown system camera /sys/devices/i2c-3/3-0053/privacy_current
+ chown system camera /sys/devices/i2c-3/3-0053/flash_enable
+ chown system camera /sys/devices/i2c-3/3-0053/flash_duration
+ chown system camera /sys/devices/i2c-3/3-0053/flash_synchronization
+ chown system camera /sys/devices/i2c-3/3-0053/flash_current
+ chown system camera /sys/devices/i2c-3/3-0053/status
+
+ # Owner for the proximity sensor
+ chown system system /sys/devices/i2c-3/3-0054/threshold
+ chown system system /sys/devices/i2c-3/3-0054/nburst
+
+ # Default tcp buffersizes for hsdpa
+ setprop net.tcp.buffersize.hsdpa 4094,87380,1220608,4096,16384,1220608
+ setprop net.tcp.buffersize.hspa 4094,87380,1220608,4096,16384,1220608
+
+ # bluetooth power up/down interface
+ chown bluetooth bluetooth /sys/class/rfkill/rfkill0/type
+ chown bluetooth bluetooth /sys/class/rfkill/rfkill0/state
+ chmod 0660 /sys/class/rfkill/rfkill0/state
+
+ # bluetooth address programming
+ setprop ro.bt.bdaddr_path /data/etc/bluetooth_bdaddr
+
+ # power-management
+ write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor ondemand
+
+ write /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor ondemand
+ write /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate 50000
+ write /sys/devices/system/cpu/cpufreq/ondemand/up_threshold 90
+ write /sys/devices/system/cpu/cpufreq/ondemand/io_is_busy 1
+ write /sys/devices/system/cpu/cpufreq/ondemand/sampling_down_factor 4
+ write /sys/devices/system/cpu/cpufreq/ondemand/down_differential 10
+ write /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq 384000
+ write /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq 384000
+
+ write /sys/module/rpm_resources/enable_low_power/L2_cache 1
+ write /sys/module/rpm_resources/enable_low_power/pxo 1
+ write /sys/module/rpm_resources/enable_low_power/vdd_dig 2
+ write /sys/module/rpm_resources/enable_low_power/vdd_mem 2
+ write /sys/module/rpm_resources/enable_low_power/rpm_cpu 1
+
+ write /sys/module/pm_8x60/modes/cpu0/power_collapse/suspend_enabled 1
+ write /sys/module/pm_8x60/modes/cpu1/power_collapse/suspend_enabled 1
+ write /sys/module/pm_8x60/modes/cpu0/standalone_power_collapse/suspend_enabled 1
+ write /sys/module/pm_8x60/modes/cpu1/standalone_power_collapse/suspend_enabled 1
+ write /sys/module/pm_8x60/modes/cpu0/power_collapse/idle_enabled 1
+ write /sys/module/pm_8x60/modes/cpu1/power_collapse/idle_enabled 1
+ write /sys/module/pm_8x60/modes/cpu0/standalone_power_collapse/idle_enabled 1
+ write /sys/module/pm_8x60/modes/cpu1/standalone_power_collapse/idle_enabled 1
+
+ chown root.system /sys/devices/system/cpu/mfreq
+ chmod 220 /sys/devices/system/cpu/mfreq
+ chown root.system /sys/devices/system/cpu/cpu1/online
+ chmod 664 /sys/devices/system/cpu/cpu1/online
+
+ # Create the directories and files expected by the lcatp service
+ # only found in eng builds.
+ # Preferably the ONLY_IN_VARIANT macro should be used but
+ # seems like the build system does not parse this file properly.
+ mkdir /data/misc/tsce 0770 system system
+ write /data/misc/tsce/userfile.txt 0
+ write /data/misc/tsce/userfile2.txt 0
+ write /data/misc/tsce/logfile.txt 0
+ chown system system /data/misc/tsce/userfile.txt
+ chown system system /data/misc/tsce/userfile2.txt
+ chown system system /data/misc/tsce/logfile.txt
+ chmod 0660 /data/misc/tsce/userfile.txt
+ chmod 0660 /data/misc/tsce/userfile2.txt
+ chmod 0660 /data/misc/tsce/logfile.txt
+
+ mount debugfs /sys/kernel/debug /sys/kernel/debug
+
+ insmod /system/lib/modules/bcmdhd.ko nvram_path=/system/etc/wifi/calibration iface_name=wlan0
+
+on init
+ write /sys/class/android_usb/android0/iSerial $ro.serialno
+ write /sys/class/android_usb/android0/f_rndis/manufacturer $ro.product.manufacturer
+ write /sys/class/android_usb/android0/f_rndis/vendorID 0fce
+ write /sys/class/android_usb/android0/f_rndis/wceis 1
+
+ # setup the global environment
+ export EXTERNAL_STORAGE_USB /mnt/usbdisk
+
+ # create mountpoint
+ mkdir /mnt/usbdisk 0000 system system
+
+ # Create symlink
+ symlink /mnt/usbdisk /usbdisk
+
+ # setup the global environment
+ export SECONDARY_STORAGE /mnt/usbdisk
+
+on post-fs-data
+ mkdir /data/media 0770 media_rw media_rw
+ chown media_rw media_rw /data/media
+ mkdir /data/misc/wifi 0770 wifi wifi
+ mkdir /data/misc/wifi/sockets 0770 wifi wifi
+ mkdir /data/misc/dhcp 0770 dhcp dhcp
+ chown dhcp dhcp /data/misc/dhcp
+
+ chown system system /sys/devices/platform/msm_hsusb/gadget/lun1/file
+ chmod 0660 /sys/devices/platform/msm_hsusb/gadget/lun1/file
+ write /sys/class/android_usb/f_mass_storage/inquiry_string "SONY Mass Storage 0100"
+ write /sys/class/android_usb/f_cdrom/cdrom_inquiry_string "SONY CD-ROM 0100"
+ write /sys/class/android_usb/f_mass_storage/serial_number $ro.serialno
+ write /sys/class/android_usb/f_mass_storage/eui64_id 000AD90000000000
+ write /sys/devices/platform/msm_hsusb/gadget/lun0/nofua 1
+ write /sys/devices/platform/msm_hsusb/gadget/lun1/nofua 1
+
+ setprop vold.post_fs_data_done 1
+
+# Start suntrold
+service suntrold /system/bin/suntrold
+ class main
+ user system
+ group system
+ oneshot
+
+service secchan /system/bin/secchand
+ class main
+ user system
+ group system
+
+service time_daemon /system/bin/time_daemon
+ class main
+ user root
+ group root
+ oneshot
+ disabled
+
+on property:persist.timed.enable=true
+ mkdir /data/time/ 0700 system system
+ start time_daemon
+
+service hciattach /system/bin/brcm_patchram_plus --enable_hci --enable_lpm \
+ --use_baudrate_for_download --tosleep 20000 --scopcm 0,4,0,0,0,0,0,0,3,0 \
+ --no2bytes --baudrate 3000000 --patchram /system/etc/firmware/BCM4330.hcd \
+ /dev/ttyHS0
+ class main
+ user bluetooth
+ group bluetooth net_bt_admin
+ disabled
+ oneshot
+
+service updatemiscta /system/bin/updatemiscta
+ class core
+ user root
+ disabled
+ oneshot
+
+service rmt_storage /system/bin/rmt_storage
+ class main
+ user root
+
+# SEMC, TA rmt service
+service ta_rmt_service /system/bin/ta_rmt_service
+ class main
+ user root
+
+# Copy calibration data from NV to kernel drivers
+service nvimport /system/bin/nvimport
+ class main
+ user root
+ oneshot
+
+service p2p_supplicant /system/bin/wpa_supplicant \
+ -iwlan0 -Dnl80211 -c/data/misc/wifi/wpa_supplicant.conf -N \
+ -ip2p0 -Dnl80211 -c/data/misc/wifi/p2p_supplicant.conf -e/data/misc/wifi/entropy.bin -puse_p2p_group_interface=1
+ # we will start as root and wpa_supplicant will switch to user wifi
+ # after setting up the capabilities required for WEXT
+ # user wifi
+ # group wifi inet keystore
+ class main
+ socket wpa_wlan0 dgram 660 wifi wifi
+ disabled
+ oneshot
+
+service wpa_supplicant /system/bin/wpa_supplicant \
+ -iwlan0 -Dnl80211 -c/data/misc/wifi/wpa_supplicant.conf -e/data/misc/wifi/entropy.bin
+ # we will start as root and wpa_supplicant will switch to user wifi
+ # after setting up the capabilities required for WEXT
+ # user wifi
+ # group wifi inet keystore
+ class main
+ socket wpa_wlan0 dgram 660 wifi wifi
+ disabled
+ oneshot
+
+service dhcpcd_wlan0 /system/bin/dhcpcd -aABKL
+ class main
+ disabled
+ oneshot
+
+service dhcpcd_p2p /system/bin/dhcpcd -aABKL
+ class main
+ disabled
+ oneshot
+
+service dhcpcd_bnep0 /system/bin/dhcpcd -ABKL
+ class main
+ disabled
+ oneshot
+
+service iprenew_wlan0 /system/bin/dhcpcd -n
+ class main
+ disabled
+ oneshot
+
+service iprenew_p2p /system/bin/dhcpcd -n
+ class main
+ disabled
+ oneshot
+
+service iprenew_bnep0 /system/bin/dhcpcd -n
+ class main
+ disabled
+ oneshot
+
+service qmuxd /system/bin/qmuxd
+ class late_start
+ user radio
+ group radio audio bluetooth gps
+
+service netmgrd /system/bin/netmgrd
+ class late_start
+
+# SEMC, TA Daemon
+service tad /system/bin/tad /dev/block/mmcblk0p1 0,16,256
+ class trimarea
+ user root
+ group root
+ socket tad stream 0660 system system
+
+service hw_config /system/bin/sh /system/etc/hw_config.sh
+ class main
+ user root
+ oneshot
+
+on property:ro.use_data_netmgrd=false
+ # netmgr not supported on specific target
+ stop netmgrd
+
+service mpdecision /system/bin/mpdecision --no_sleep --avg_comp
+ class main
+ user root
+ disabled
+
+service thermald /system/bin/thermald -c /system/etc/thermald-lt26.conf
+ class main
+ socket thermald stream 0666 root root
+ user root
+ disabled
+
+on property:init.svc.bootanim=stopped
+ start mpdecision
+ start thermald
+
+service nvcustomizer /system/bin/nvcustomizer
+ class late_start
+ user root
+ oneshot
+ disabled
+
+on property:ro.nvcust=1
+ start nvcustomizer
+
+on property:vold.decrypt=trigger_post_fs_data
+ mkdir /data/idd 0755 idd idd
+ mount ext4 /dev/block/mmcblk0p10 /data/idd nosuid nodev noatime barrier=0
+ chown idd idd /data/idd
+
+service hdmid /system/bin/hdmid
+ class late_start
+ socket hdmid stream 0660 root system graphics
+ disabled
+
+on property:ro.hdmi.enable=true
+ start hdmid
+
+on property:sys.radio.shutdown=true
+ exec /system/bin/sh /system/etc/init.qcom.efs.sync.sh
diff --git a/config/init.lt26.usb.rc b/config/init.lt26.usb.rc
new file mode 100644
index 0000000..45f5071
--- /dev/null
+++ b/config/init.lt26.usb.rc
@@ -0,0 +1,80 @@
+on init
+ write /sys/class/android_usb/android0/iSerial $ro.serialno
+ write /sys/class/android_usb/android0/f_rndis/manufacturer SEMC
+ write /sys/class/android_usb/android0/f_rndis/vendorID 0FCE
+ write /sys/class/android_usb/android0/f_rndis/wceis 1
+
+on boot
+ write /sys/class/android_usb/android0/iManufacturer ${ro.product.manufacturer}
+ write /sys/class/android_usb/android0/iProduct ${ro.product.model}
+
+on property:sys.usb.config=mass_storage
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor 0FCE
+ write /sys/class/android_usb/android0/idProduct E146
+ 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 0FCE
+ write /sys/class/android_usb/android0/idProduct 6146
+ 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 0FCE
+ write /sys/class/android_usb/android0/idProduct 0146
+ 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 0FCE
+ write /sys/class/android_usb/android0/idProduct 5146
+ 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 0FCE
+ write /sys/class/android_usb/android0/idProduct 7146
+ 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 0FCE
+ write /sys/class/android_usb/android0/idProduct 8146
+ 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=ptp
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor 0FCE
+ write /sys/class/android_usb/android0/idProduct 6846
+ 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 0FCE
+ write /sys/class/android_usb/android0/idProduct 6846
+ 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}
+
diff --git a/config/init.qcom.efs.sync.sh b/config/init.qcom.efs.sync.sh
new file mode 100644
index 0000000..394b57f
--- /dev/null
+++ b/config/init.qcom.efs.sync.sh
@@ -0,0 +1,34 @@
+#!/system/bin/sh
+# Copyright (c) 2012, Code Aurora Forum. All rights reserved.
+#
+# 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 Code Aurora Forum, Inc. 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.
+#
+#
+
+PATH=/system/bin:$PATH
+export PATH
+cat /sys/devices/platform/rs300000a7.65536/force_sync
+cat /sys/devices/platform/rs300100a7.65536/force_sync
diff --git a/config/ueventd.lt26.rc b/config/ueventd.lt26.rc
new file mode 100644
index 0000000..35b0a5f
--- /dev/null
+++ b/config/ueventd.lt26.rc
@@ -0,0 +1,144 @@
+/dev/msm_vpe_standalone 0777 system system
+/sys/devices/i2c-3/3-0040/leds/* delay_on 0644 system system
+/sys/devices/i2c-3/3-0040/leds/* delay_off 0644 system system
+
+### start from CAF/system/core/rootdir/ueventd.rc
+/dev/rtc0 0600 system system
+
+# the DIAG device node is world writable/readable.
+/dev/diag 0666 root root
+
+# the genlock client device node is world writable/readable.
+/dev/genlock 0666 root root
+
+# gpu driver for adreno200 is globally accessible
+/dev/kgsl-3d0 0666 root root
+/dev/kgsl-2d0 0666 root root
+/dev/kgsl-2d1 0666 root root
+
+/dev/ion 0664 system system
+
+/dev/rfkill 0660 wifi wifi
+
+# these should not be world writable
+/dev/ttyHS0 0600 bluetooth bluetooth
+/dev/sdio_tty_ciq_00 0660 system system
+/dev/msm_rotator 0664 system system
+/dev/pmem_audio 0660 system audio
+/dev/pmem_smipool* 0660 system camera
+/dev/pmem_swiqi 0660 system audio
+/dev/msm_camera/* 0660 system camera
+/dev/radio0 0644 fm_radio fm_radio
+/dev/i2c-2 0664 root system
+/dev/i2c-4 0664 root system
+/dev/msm_mvs 0660 system audio
+/dev/msm_voicememo 0660 system audio
+/dev/tzcom 0660 system audio
+/dev/qseecom 0660 system audio
+/dev/qce 0660 system audio
+/dev/msm_pcm_lp_dec 0660 system audio
+/dev/smd4 0660 system system
+/dev/smd7 0640 radio radio
+/dev/smdcntl0 0640 radio radio
+/dev/smdcntl1 0640 radio radio
+/dev/smdcntl2 0640 radio radio
+/dev/smdcntl3 0640 radio radio
+/dev/smdcntl4 0640 radio radio
+/dev/smdcntl5 0640 radio radio
+/dev/smdcntl6 0640 radio radio
+/dev/smdcntl7 0640 radio radio
+/dev/sdioctl0 0640 radio radio
+/dev/sdioctl1 0640 radio radio
+/dev/sdioctl2 0640 radio radio
+/dev/sdioctl3 0640 radio radio
+/dev/sdioctl4 0640 radio radio
+/dev/sdioctl4 0640 radio radio
+/dev/sdioctl5 0640 radio radio
+/dev/sdioctl6 0640 radio radio
+/dev/sdioctl7 0640 radio radio
+/dev/sdioctl8 0640 radio radio
+/dev/qemu_trace 0666 system system
+/dev/rmnet_ctrl 0640 radio radio
+/dev/hsicctl0 0640 radio radio
+/dev/hsicctl1 0640 radio radio
+/dev/hsicctl2 0640 radio radio
+/dev/hsicctl3 0640 radio radio
+/dev/gemini0 0660 system camera
+/dev/mdm 0660 system system
+/dev/ttyHSL1 0660 system system
+/dev/tty_sdio_00 0660 system system
+/dev/block/mmcblk0 0440 system system
+
+#permissions for video
+/dev/msm_vidc_reg 0660 system audio
+/dev/msm_vidc_dec 0660 system audio
+/dev/msm_vidc_dec_sec 0660 system audio
+/dev/msm_vidc_enc 0660 system audio
+#permissions for audio
+/dev/msm_audio_dev_ctrl 0660 system audio
+/dev/msm_amrnb 0660 system audio
+/dev/msm_amrwb 0660 system audio
+/dev/msm_aac 0660 system audio
+/dev/msm_multi_aac 0660 system audio
+/dev/msm_aac_in 0660 system audio
+/dev/msm_qcelp 0660 system audio
+/dev/msm_evrc 0660 system audio
+/dev/msm_fm 0660 system audio
+/dev/msm_acdb 0660 system audio
+/dev/msm_rtac 0660 system audio
+/dev/msm_wma 0660 system audio
+/dev/msm_wmapro 0660 system audio
+/dev/msm_qcelp_in 0660 system audio
+/dev/msm_evrc_in 0660 system audio
+/dev/msm_preproc_ctl 0660 system audio
+/dev/msm_a2dp_in 0640 system audio
+/dev/msm_amrnb_in 0640 system audio
+
+/dev/cpu_dma_latency 0660 system system
+
+/dev/rmnet_mux_ctrl 0640 radio radio
+
+#permissions for sensors
+/dev/msm_dsps 0660 system system
+### end from CAF
+
+/dev/oncrpc/* 0660 root system
+/dev/oncrpc/30000017:* 0660 radio radio
+/dev/oncrpc/30000000:* 0660 radio radio
+/dev/oncrpc/30000016:* 0660 radio radio
+/dev/oncrpc/3000003c:* 0660 radio radio
+/dev/oncrpc/30000019:* 0660 radio radio
+/dev/oncrpc/3000000e:* 0660 radio radio
+/dev/oncrpc/30000012:* 0660 radio radio
+/dev/oncrpc/30000003:* 0660 radio radio
+/dev/oncrpc/3000001b:* 0660 radio radio
+
+# NFC device permission
+/dev/pn544 0600 nfc nfc
+
+# USB device permission
+/sys/devices/platform/msm_hsusb_host.0/usb* uevent 0660 root usb
+
+# Gyroscope device permission
+/dev/mpu 0600 system system
+/dev/mpuirq 0600 system system
+/dev/timerirq 0600 system system
+
+# Accelerometer device permission
+/sys/devices/virtual/input/input* bma250_rate 0640 system system
+
+# Permissions for Liblights.
+/sys/class/leds/green/brightness 0600 system system
+/sys/class/leds/green/trigger 0600 system system
+/sys/class/leds/red/brightness 0600 system system
+/sys/class/leds/red/trigger 0600 system system
+/sys/class/leds/blue/brightness 0600 system system
+/sys/class/leds/blue/trigger 0600 system system
+/sys/class/leds/button-backlight/brightness 0600 system system
+/sys/class/leds/button-backlight/trigger 0600 system system
+/sys/class/leds/lcd-backlight/brightness 0600 system system
+/sys/class/leds/lcd-backlight/als/curve 0600 system system
+/sys/class/leds/lcd-backlight/als/enable 0600 system system
+/sys/class/leds/keyboard-backlight/brightness 0600 system system
+/sys/devices/i2c-3/3-0040/adc_als_value 0600 system system
+
diff --git a/config/vold.fstab b/config/vold.fstab
new file mode 100644
index 0000000..76c9c83
--- /dev/null
+++ b/config/vold.fstab
@@ -0,0 +1,2 @@
+dev_mount sdcard /storage/sdcard0 15 /devices/platform/msm_sdcc.1/mmc_host/mmc0
+dev_mount usbdisk /mnt/usbdisk auto /devices/platform/msm_hsusb_host.0
diff --git a/device.mk b/device.mk
index e3bd6a0..586cee3 100644
--- a/device.mk
+++ b/device.mk
@@ -25,3 +25,53 @@ PRODUCT_COPY_FILES += \
PRODUCT_PACKAGES := \
lights.lt26
+
+DEVICE_PACKAGE_OVERLAYS += device/sony/lt26/overlay
+
+# The gps config appropriate for this device
+$(call inherit-product, device/common/gps/gps_eu_supl.mk)
+
+# These are the hardware-specific features
+PRODUCT_COPY_FILES += \
+ frameworks/native/data/etc/android.hardware.telephony.gsm.xml:system/etc/permissions/android.hardware.telephony.gsm.xml
+
+# This device is xhdpi. However the platform doesn't
+# currently contain all of the bitmaps at xhdpi density so
+# we do this little trick to fall back to the hdpi version
+# if the xhdpi doesn't exist.
+PRODUCT_AAPT_CONFIG := normal hdpi xhdpi
+PRODUCT_AAPT_PREF_CONFIG := xhdpi
+
+
+# Configuration scripts
+PRODUCT_COPY_FILES += \
+ $(LOCAL_PATH)/recovery.fstab:root/recovery.fstab \
+ $(LOCAL_PATH)/config/fstab.lt26:root/fstab.lt26 \
+ $(LOCAL_PATH)/config/vold.fstab:system/etc/vold.fstab \
+ $(LOCAL_PATH)/prebuilt/hw_config.sh:system/etc/hw_config.sh
+
+# EGL config
+PRODUCT_COPY_FILES += \
+ device/sony/lt26/config/egl.cfg:system/lib/egl/egl.cfg
+
+# Common Qualcomm scripts
+PRODUCT_COPY_FILES += \
+ device/sony/lt26/config/init.qcom.efs.sync.sh:system/etc/init.qcom.efs.sync.sh
+
+# Custom init / uevent
+PRODUCT_COPY_FILES += \
+ device/sony/lt26/config/init.lt26.rc:root/init.lt26.rc \
+ device/sony/lt26/config/ueventd.lt26.rc:root/ueventd.lt26.rc
+
+# USB function switching
+PRODUCT_COPY_FILES += \
+ $(LOCAL_PATH)/config/init.lt26.usb.rc:root/init.lt26.usb.rc
+
+$(call inherit-product, frameworks/native/build/phone-xhdpi-1024-dalvik-heap.mk)
+
+$(call inherit-product-if-exists, vendor/sony/lt26/lt26-vendor.mk)
+
+# Wifi
+BOARD_WLAN_DEVICE_REV := bcm4330_b2
+WIFI_BAND := 802_11_ABG
+$(call inherit-product-if-exists, hardware/broadcom/wlan/bcmdhd/firmware/bcm4330/device-bcm.mk)
diff --git a/prebuilt/hw_config.sh b/prebuilt/hw_config.sh
new file mode 100644
index 0000000..9342c9a
--- /dev/null
+++ b/prebuilt/hw_config.sh
@@ -0,0 +1,46 @@
+# Audio jack configuration
+dev=/sys/devices/platform/msm_ssbi.0/pm8058-core/simple_remote_pf/simple_remote
+echo 0,201 > $dev/accessory_min_vals
+echo 200,1599 > $dev/accessory_max_vals
+echo 0,100,280,500 > $dev/button_min_vals
+echo 99,199,399,699 > $dev/button_max_vals
+echo 512 > $dev/btn_trig_period_freq # Button Period Freq(Hz)
+echo 16 > $dev/btn_trig_period_time # Button Period Time(Cycle)
+echo 512 > $dev/btn_trig_hyst_freq # Button Hysteresis Freq(Hz)
+echo 16 > $dev/btn_trig_hyst_time # Button Hysteresis Time(Cycle)
+echo 400 > $dev/btn_trig_level
+
+# Proximity sensor configuration
+dev=/sys/bus/i2c/devices/3-0054/
+val_cycle=1
+val_nburst=8
+val_freq=1
+val_threshold=4
+val_filter=2
+
+nv_param_loader 60240 prox_cal
+val_calibrated=$?
+case $val_calibrated in
+ 1)
+ nv_param_loader 60240 threshold
+ val_threshold=$?
+ nv_param_loader 60240 rfilter
+ val_filter=$?
+ ;;
+esac
+
+echo $val_cycle > $dev/cycle # Duration Cycle. Valid range is 0 - 3.
+echo $val_nburst > $dev/nburst # Number of pulses in burst. Valid range is 0 - 15.
+echo $val_freq > $dev/freq # Burst frequency. Valid range is 0 - 3.
+echo $val_threshold > $dev/threshold # sensor threshold. Valid range is 0 - 15 (0.12V - 0.87V)
+echo $val_filter > $dev/filter # RFilter. Valid range is 0 - 3.
+
+# LMU AS3676 Configuration
+dev=/sys/class/leds
+echo 1,51,255,39,20,6,84 > $dev/lcd-backlight/als/curve # ALS curve for group1
+echo 1,0,0,0 > $dev/lcd-backlight/als/params #[gain],[filter_up],[filter_down],[offset]
+echo 1 > $dev/lcd-backlight/als/enable #Sensor on/off. 1 = on, reg 90h
+echo 2000 > $dev/button-backlight/max_current
+
+# TI BQ275xx firmware loader
+bq275xx_fwloader
diff --git a/recovery.fstab b/recovery.fstab
new file mode 100644
index 0000000..8c042be
--- /dev/null
+++ b/recovery.fstab
@@ -0,0 +1,7 @@
+# mount point fstype device [device2] fstype2
+
+/boot emmc /dev/block/mmcblk0p3
+/system ext4 /dev/block/mmcblk0p12
+/cache ext4 /dev/block/mmcblk0p13
+/data ext4 /dev/block/mmcblk0p14
+/sdcard vfat /dev/block/mmcblk0p15 \ No newline at end of file