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