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