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