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