blob: 00ac94fc7cc924c9e87b6b10d5ec6f380654300f [file] [log] [blame]
Jean-Baptiste Queru671476b2012-05-29 10:40:37 -07001import init.grouper.usb.rc
2
3on early-init
4 mount debugfs debugfs /sys/kernel/debug
5
Jeff Sharkeyc79af0f2012-08-14 21:01:49 -07006on init
Jeff Sharkey7069ed92012-08-20 17:18:51 -07007 # See storage config details at http://source.android.com/tech/storage/
Jeff Sharkey81005252012-09-11 18:47:12 -07008 mkdir /mnt/shell/emulated 0700 shell shell
9 mkdir /storage/emulated 0000 root root
10 mkdir /storage/emulated_legacy 0000 root root
Jeff Sharkeyc79af0f2012-08-14 21:01:49 -070011
Jeff Sharkey81005252012-09-11 18:47:12 -070012 export EXTERNAL_STORAGE /storage/emulated_legacy
13 export ADB_EXTERNAL_STORAGE /mnt/shell/emulated/0
14
15 export EMULATED_STORAGE_SOURCE /mnt/shell/emulated
16 export EMULATED_STORAGE_TARGET /storage/emulated
Jeff Sharkeyb738c932012-08-20 11:31:25 -070017
Jeff Sharkey7069ed92012-08-20 17:18:51 -070018 # Support legacy paths
Jeff Sharkey81005252012-09-11 18:47:12 -070019 symlink /storage/emulated_legacy /sdcard
20 symlink /storage/emulated_legacy /mnt/sdcard
Jeff Sharkey8421ceb2012-09-13 02:26:34 -070021 symlink /storage/emulated_legacy /storage/sdcard0
Jean-Baptiste Queru671476b2012-05-29 10:40:37 -070022
Nitin Kumbhar31613122012-05-22 17:05:21 -070023on early-boot
24 write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor interactive
25 write /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor interactive
26 write /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor interactive
27 write /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor interactive
28
Jean-Baptiste Queru671476b2012-05-29 10:40:37 -070029on fs
30 setprop ro.crypto.umount_sd false
31 mount_all /fstab.grouper
32
33on post-fs-data
34 mkdir /data/misc/wifi 0770 wifi wifi
35 mkdir /data/misc/wifi/sockets 0770 wifi wifi
36 mkdir /data/misc/dhcp 0770 dhcp dhcp
37 chown dhcp dhcp /data/misc/dhcp
38
Jean-Baptiste Queru671476b2012-05-29 10:40:37 -070039 mkdir /data/media 0770 media_rw media_rw
Jean-Baptiste Queru671476b2012-05-29 10:40:37 -070040
41 # change back to bluetooth from system
42 chown bluetooth bluetooth /data/misc/bluetooth
43
44 # Set indication (checked by vold) that we have finished this action
45 setprop vold.post_fs_data_done 1
46
47on boot
48
49# bluetooth
50 # UART device
51 chmod 0660 /dev/ttyHS2
52 chown bluetooth bluetooth /dev/ttyHS2
53
54 # power up/down interface
55 chmod 0660 /sys/class/rfkill/rfkill0/state
56 chmod 0660 /sys/class/rfkill/rfkill0/type
57 chown bluetooth bluetooth /sys/class/rfkill/rfkill0/state
58 chown bluetooth bluetooth /sys/class/rfkill/rfkill0/type
59
60 # bluetooth MAC address programming
61 chown bluetooth bluetooth ro.bt.bdaddr_path
62 chown bluetooth bluetooth /system/etc/bluetooth
63 chown bluetooth bluetooth /data/misc/bluetooth
64 setprop ro.bt.bdaddr_path "/data/misc/bluetooth/bdaddr"
65
66# NFC
67 setprop ro.nfc.port "I2C"
68 chmod 0660 /dev/pn544
69 chown nfc nfc /dev/pn544
70
71# backlight
72 chown system system /sys/class/backlight/pwm-backlight/brightness
73
74# didim
75 chown system system /sys/class/graphics/fb0/device/smartdimmer/enable
76 chown system system /sys/class/graphics/fb0/device/smartdimmer/aggressiveness
77
78# power
79 chown system system /sys/kernel/tegra_cap/core_cap_level
80 chown system system /sys/kernel/tegra_cap/core_cap_state
81 chown system system /sys/module/cpu_tegra/parameters/cpu_user_cap
82
83# Sensor
joseph_wu9fcf0612012-05-31 20:37:20 -070084# iio
85 chown system system /dev/iio:device0
86 chown system system /sys/bus/iio/devices/trigger0/name
87 chown system system /sys/bus/iio/devices/iio:device0/accl_enable
88 chown system system /sys/bus/iio/devices/iio:device0/accl_matrix
89 chown system system /sys/bus/iio/devices/iio:device0/buffer/length
90 chown system system /sys/bus/iio/devices/iio:device0/buffer/enable
91 chown system system /sys/bus/iio/devices/iio:device0/compass_enable
92 chown system system /sys/bus/iio/devices/iio:device0/compass_matrix
93 chown system system /sys/bus/iio/devices/iio:device0/dmp_on
94 chown system system /sys/bus/iio/devices/iio:device0/dmp_int_on
95 chown system system /sys/bus/iio/devices/iio:device0/gyro_enable
96 chown system system /sys/bus/iio/devices/iio:device0/gyro_matrix
97 chown system system /sys/bus/iio/devices/iio:device0/in_accel_scale
98 chown system system /sys/bus/iio/devices/iio:device0/in_anglvel_scale
99 chown system system /sys/bus/iio/devices/iio:device0/in_magn_scale
100 chown system system /sys/bus/iio/devices/iio:device0/key
101 chown system system /sys/bus/iio/devices/iio:device0/power_state
102 chown system system /sys/bus/iio/devices/iio:device0/sampling_frequency
103 chown system system /sys/bus/iio/devices/iio:device0/scan_elements/in_accel_x_en
104 chown system system /sys/bus/iio/devices/iio:device0/scan_elements/in_accel_y_en
105 chown system system /sys/bus/iio/devices/iio:device0/scan_elements/in_accel_z_en
106 chown system system /sys/bus/iio/devices/iio:device0/scan_elements/in_anglvel_x_en
107 chown system system /sys/bus/iio/devices/iio:device0/scan_elements/in_anglvel_y_en
108 chown system system /sys/bus/iio/devices/iio:device0/scan_elements/in_anglvel_z_en
109 chown system system /sys/bus/iio/devices/iio:device0/scan_elements/in_magn_x_en
110 chown system system /sys/bus/iio/devices/iio:device0/scan_elements/in_magn_y_en
111 chown system system /sys/bus/iio/devices/iio:device0/scan_elements/in_magn_z_en
112 chown system system /sys/bus/iio/devices/iio:device0/scan_elements/in_timestamp_en
113 chown system system /sys/bus/iio/devices/iio:device0/temperature
114 chown system system /sys/bus/iio/devices/iio:device0/trigger/current_trigger
115 chown system system /dev/iio:device1
116 chown system system /sys/bus/iio/devices/trigger1/name
117 chown system system /sys/bus/iio/devices/iio:device1/buffer/length
118 chown system system /sys/bus/iio/devices/iio:device1/buffer/enable
119 chown system system /sys/bus/iio/devices/iio:device1/compass_enable
120 chown system system /sys/bus/iio/devices/iio:device1/compass_matrix
121 chown system system /sys/bus/iio/devices/iio:device1/in_magn_scale
122 chown system system /sys/bus/iio/devices/iio:device1/power_state
123 chown system system /sys/bus/iio/devices/iio:device1/sampling_frequency
124 chown system system /sys/bus/iio/devices/iio:device1/scan_elements/in_magn_x_en
125 chown system system /sys/bus/iio/devices/iio:device1/scan_elements/in_magn_y_en
126 chown system system /sys/bus/iio/devices/iio:device1/scan_elements/in_magn_z_en
127 chown system system /sys/bus/iio/devices/iio:device1/scan_elements/in_timestamp_en
128 chown system system /sys/bus/iio/devices/iio:device1/trigger/current_trigger
129
130 chmod 600 /dev/iio:device0
131 chmod 600 /sys/bus/iio/devices/trigger0/name
132 chmod 600 /sys/bus/iio/devices/iio:device0/accl_enable
133 chmod 600 /sys/bus/iio/devices/iio:device0/accl_matrix
134 chmod 600 /sys/bus/iio/devices/iio:device0/buffer/length
135 chmod 600 /sys/bus/iio/devices/iio:device0/buffer/enable
136 chmod 600 /sys/bus/iio/devices/iio:device0/compass_enable
137 chmod 600 /sys/bus/iio/devices/iio:device0/compass_matrix
138 chmod 600 /sys/bus/iio/devices/iio:device0/dmp_on
139 chmod 600 /sys/bus/iio/devices/iio:device0/dmp_int_on
140 chmod 600 /sys/bus/iio/devices/iio:device0/gyro_enable
141 chmod 600 /sys/bus/iio/devices/iio:device0/gyro_matrix
142 chmod 600 /sys/bus/iio/devices/iio:device0/in_accel_scale
143 chmod 600 /sys/bus/iio/devices/iio:device0/in_anglvel_scale
144 chmod 600 /sys/bus/iio/devices/iio:device0/in_magn_scale
145 chmod 600 /sys/bus/iio/devices/iio:device0/key
146 chmod 600 /sys/bus/iio/devices/iio:device0/power_state
147 chmod 600 /sys/bus/iio/devices/iio:device0/sampling_frequency
148 chmod 600 /sys/bus/iio/devices/iio:device0/scan_elements/in_accel_x_en
149 chmod 600 /sys/bus/iio/devices/iio:device0/scan_elements/in_accel_y_en
150 chmod 600 /sys/bus/iio/devices/iio:device0/scan_elements/in_accel_z_en
151 chmod 600 /sys/bus/iio/devices/iio:device0/scan_elements/in_anglvel_x_en
152 chmod 600 /sys/bus/iio/devices/iio:device0/scan_elements/in_anglvel_y_en
153 chmod 600 /sys/bus/iio/devices/iio:device0/scan_elements/in_anglvel_z_en
154 chmod 600 /sys/bus/iio/devices/iio:device0/scan_elements/in_magn_x_en
155 chmod 600 /sys/bus/iio/devices/iio:device0/scan_elements/in_magn_y_en
156 chmod 600 /sys/bus/iio/devices/iio:device0/scan_elements/in_magn_z_en
157 chmod 600 /sys/bus/iio/devices/iio:device0/scan_elements/in_timestamp_en
158 chmod 600 /sys/bus/iio/devices/iio:device0/temperature
159 chmod 600 /sys/bus/iio/devices/iio:device0/trigger/current_trigger
160 chmod 600 /dev/iio:device1
161 chmod 600 /sys/bus/iio/devices/trigger1/name
162 chmod 600 /sys/bus/iio/devices/iio:device1/buffer/length
163 chmod 600 /sys/bus/iio/devices/iio:device1/buffer/enable
164 chmod 600 /sys/bus/iio/devices/iio:device1/compass_enable
165 chmod 600 /sys/bus/iio/devices/iio:device1/compass_matrix
166 chmod 600 /sys/bus/iio/devices/iio:device1/in_magn_scale
167 chmod 600 /sys/bus/iio/devices/iio:device1/power_state
168 chmod 600 /sys/bus/iio/devices/iio:device1/sampling_frequency
169 chmod 600 /sys/bus/iio/devices/iio:device1/scan_elements/in_magn_x_en
170 chmod 600 /sys/bus/iio/devices/iio:device1/scan_elements/in_magn_y_en
171 chmod 600 /sys/bus/iio/devices/iio:device1/scan_elements/in_magn_z_en
172 chmod 600 /sys/bus/iio/devices/iio:device1/scan_elements/in_timestamp_en
173 chmod 600 /sys/bus/iio/devices/iio:device1/trigger/current_trigger
Jean-Baptiste Queru671476b2012-05-29 10:40:37 -0700174
175# Power management settings
176 write /sys/module/cpu_tegra3/parameters/no_lp 0
177 #write /sys/module/tegra3_emc/parameters/emc_enable 0
178 #write /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq 1000000
Jean-Baptiste Queru671476b2012-05-29 10:40:37 -0700179 write /sys/devices/system/cpu/cpufreq/interactive/boost_factor 2
180 write /sys/devices/system/cpu/cpufreq/interactive/input_boost 1
181 write /sys/devices/system/cpu/cpufreq/interactive/sustain_load 80
182 write /sys/module/cpu_tegra3/parameters/auto_hotplug 1
183 #write /sys/module/cpuidle_t3/parameters/lp2_0_in_idle 0
184 write /sys/module/cpuidle/parameters/lp2_in_idle 0
185
Nitin Kumbhar2d07ab32012-05-31 12:12:15 -0700186# Interactive governor settings
187 chown system system /sys/devices/system/cpu/cpufreq/interactive/boost_factor
188 chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/boost_factor
189 chown system system /sys/devices/system/cpu/cpufreq/interactive/go_maxspeed_load
190 chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/go_maxspeed_load
191 chown system system /sys/devices/system/cpu/cpufreq/interactive/io_is_busy
192 chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/io_is_busy
193 chown system system /sys/devices/system/cpu/cpufreq/interactive/max_boost
194 chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/max_boost
195 chown system system /sys/devices/system/cpu/cpufreq/interactive/sustain_load
196 chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/sustain_load
197
Jean-Baptiste Queru671476b2012-05-29 10:40:37 -0700198# Default Read Ahead value for sdcards
199 write /sys/block/mmcblk0/queue/read_ahead_kb 2048
200 write /sys/block/mmcblk1/queue/read_ahead_kb 2048
201
202# GPS init
203 write /sys/class/gpio/export 162
204 write /sys/class/gpio/gpio162/value 0
205 write /sys/class/gpio/gpio162/direction out
jean_huang7d307be2012-06-05 18:27:02 +0800206 chown gps system /sys/class/gpio/gpio162/value
Jean-Baptiste Queru671476b2012-05-29 10:40:37 -0700207 chmod 0664 /sys/class/gpio/gpio162/value
208 mkdir /data/gps
jean_huang7d307be2012-06-05 18:27:02 +0800209 chown gps system /data/gps
Jean-Baptiste Queru671476b2012-05-29 10:40:37 -0700210 chmod 770 /data/gps
jean_huang7d307be2012-06-05 18:27:02 +0800211 chown gps system /dev/ttyHS1
Jean-Baptiste Queru671476b2012-05-29 10:40:37 -0700212 chmod 0660 /dev/ttyHS1
213
214
215# Load WiFi driver
216
217# BB mapping symbolic name to the logging ttyACM port
218 symlink /dev/ttyACM2 /dev/log_modem
219
220# Touch
221 chown system system /dev/elan-iap
222 chown system system /proc/ektf_dbg
223 start touch_fw_update
224
225# Write BT BD_ADDR
226service btmacreader /system/bin/btmacreader
227 class main
228 oneshot
229
230service wpa_supplicant /system/bin/wpa_supplicant \
231 -iwlan0 -Dnl80211 -c/data/misc/wifi/wpa_supplicant.conf -e/data/misc/wifi/entropy.bin
232 # we will start as root and wpa_supplicant will switch to user wifi
233 # after setting up the capabilities required for WEXT
234 # user wifi
235 # group wifi inet keystore
236 class main
237 socket wpa_wlan0 dgram 660 wifi wifi
238 disabled
239 oneshot
240
241service p2p_supplicant /system/bin/wpa_supplicant \
242 -iwlan0 -Dnl80211 -iwlan0 -c/data/misc/wifi/wpa_supplicant.conf -N \
243 -ip2p0 -Dnl80211 -c /data/misc/wifi/p2p_supplicant.conf -e/data/misc/wifi/entropy.bin -puse_p2p_group_interface=1
244# we will start as root and wpa_supplicant will switch to user wifi
245# after setting up the capabilities required for WEXT
246# user wifi
247# group wifi inet keystore
248 class main
249 socket wpa_wlan0 dgram 660 wifi wifi
250 disabled
251 oneshot
252
Dmitry Shmidte9741a32012-09-20 12:57:42 -0700253service dhcpcd_wlan0 /system/bin/dhcpcd -aABDKL
Jean-Baptiste Queru671476b2012-05-29 10:40:37 -0700254 class main
255 disabled
256 oneshot
257
258service dhcpcd_p2p /system/bin/dhcpcd -aABKL
259 class main
260 disabled
261 oneshot
262
Dmitry Shmidte9741a32012-09-20 12:57:42 -0700263service dhcpcd_eth0 /system/bin/dhcpcd -ABDKL -f/system/etc/dhcpcd/dhcpcd.conf
Jean-Baptiste Queru671476b2012-05-29 10:40:37 -0700264 class main
265 disabled
266 oneshot
267
268service dhcpcd_bnep0 /system/bin/dhcpcd -ABKL
269 class main
270 disabled
271 oneshot
272
273service iprenew_wlan0 /system/bin/dhcpcd -n
274 class main
275 disabled
276 oneshot
277
278service iprenew_p2p /system/bin/dhcpcd -n
279 class main
280 disabled
281 oneshot
282
283service iprenew_eth0 /system/bin/dhcpcd -n
284 class main
285 disabled
286 oneshot
287
288#Sensor: load calibration files.
289 service sensors-config /system/bin/sensors-config
290 class main
291 user root
292 oneshot
293#Sensor load calibration files end
294
Jeff Sharkeyc79af0f2012-08-14 21:01:49 -0700295# virtual sdcard daemon running as media_rw (1023)
Jeff Sharkey81005252012-09-11 18:47:12 -0700296service sdcard /system/bin/sdcard /data/media /mnt/shell/emulated 1023 1023
Jean-Baptiste Queru671476b2012-05-29 10:40:37 -0700297 class late_start
298
299# bugreport is triggered by the VOLUME-DOWN and VOLUME-UP keys
300service bugreport /system/bin/bugmailer.sh -b /system/media/audio/ui/Dock.ogg -e /system/media/audio/ui/Undock.ogg
301 class main
302 disabled
303 oneshot
304 keycodes 115 114
305
306#BCM
307service hciattach /system/bin/brcm_patchram_plus --enable_hci --scopcm=0,2,0,0,0,0,0,0,0,0 \
308 --baudrate 3000000 --use_baudrate_for_download --patchram /etc/firmware/bcm4330.hcd --no2bytes --enable_lpm --tosleep=50000 /dev/ttyHS2
309 class main
310 user bluetooth
311 group bluetooth net_bt_admin
312 disabled
313
314# Start GPS daemon
315 on boot
316 service gps-daemon /system/bin/glgps -c /system/etc/gps/gpsconfig.xml
Jean-Baptiste Queru671476b2012-05-29 10:40:37 -0700317 user gps
jean_huang7d307be2012-06-05 18:27:02 +0800318 group system
Jean-Baptiste Queru671476b2012-05-29 10:40:37 -0700319 class late_start
320
321# Recovery daemon: configure MSC partition
322service recoveryd /system/bin/recoveryd /dev/block/platform/sdhci-tegra.3/by-name/MSC
323 disabled
324 class main
325 user root
326 group root
327 oneshot
328
329on property:sys.shutdown.requested=1recovery
330 start recoveryd
331
332# start tf_daemon service
333service tf_daemon /system/bin/tf_daemon -storageDir /data/tf -d
334 class main
335 user root
336 group shell
337
338# may restart due to /data/tf not existing yet
339on property:init.svc.tf_daemon=restarting
340 mkdir /data/tf
341
342#Raydium touch setting
343service rm_ts_service /system/bin/rm_ts_server
344 class main
345
346# create filesystems if necessary
347service setup_fs /system/bin/setup_fs \
348 /dev/block/platform/sdhci-tegra.3/by-name/UDA \
349 /dev/block/platform/sdhci-tegra.3/by-name/CAC
350 class core
351 user root
352 group root
353 oneshot
354
355service touch_fw_update /system/bin/sh -c "echo /system/etc/firmware/touch_fw.ekt > /sys/bus/i2c/drivers/elan-ktf3k/1-0010/update_fw"
356 class main
357 disabled
358 user root
359 group root
360 oneshot
361