• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1import init.grouper.usb.rc
2
3on early-init
4    mount debugfs debugfs /sys/kernel/debug
5
6on init
7    # See storage config details at http://source.android.com/tech/storage/
8    mkdir /mnt/shell/emulated 0700 shell shell
9    mkdir /storage/emulated 0555 root root
10
11    export EXTERNAL_STORAGE /storage/emulated/legacy
12    export EMULATED_STORAGE_SOURCE /mnt/shell/emulated
13    export EMULATED_STORAGE_TARGET /storage/emulated
14
15    # Support legacy paths
16    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
20
21on 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
27on fs
28    setprop ro.crypto.umount_sd false
29    mount_all /fstab.grouper
30
31on post-fs-data
32    mkdir /data/media 0770 media_rw media_rw
33
34    # change back to bluetooth from system
35    chown bluetooth net_bt_stack /data/misc/bluetooth
36
37    # sensors-config
38    mkdir /data/sensors 751
39    # /data/sensors was owned by system/system earlier.
40    # Force it to root/root if it already exists.
41    chown root root /data/sensors
42    mkdir /data/lightsensor 751
43    # /data/lightsensor was owned by system/system earlier.
44    # Force it to root/root if it already exists.
45    chown root root /data/lightsensor
46    mkdir /data/calibration
47    mkdir /data/amit
48
49    # Set indication (checked by vold) that we have finished this action
50    setprop vold.post_fs_data_done 1
51
52on boot
53
54# bluetooth
55    # UART device
56    chmod 0660 /dev/ttyHS2
57    chown bluetooth net_bt_stack /dev/ttyHS2
58
59    # power up/down interface
60    chmod 0660 /sys/class/rfkill/rfkill0/state
61    chmod 0660 /sys/class/rfkill/rfkill0/type
62    chown bluetooth net_bt_stack /sys/class/rfkill/rfkill0/state
63    chown bluetooth net_bt_stack /sys/class/rfkill/rfkill0/type
64
65    # bluetooth MAC address programming
66    chown bluetooth net_bt_stack ro.bt.bdaddr_path
67    chown bluetooth net_bt_stack /system/etc/bluetooth
68    chown bluetooth net_bt_stack /data/misc/bluetooth
69    setprop ro.bt.bdaddr_path "/data/misc/bluetooth/bdaddr"
70
71    # bluetooth LPM
72    chmod 0220 /proc/bluetooth/sleep/lpm
73    chmod 0220 /proc/bluetooth/sleep/btwrite
74    chown bluetooth net_bt_stack /proc/bluetooth/sleep/lpm
75    chown bluetooth net_bt_stack /proc/bluetooth/sleep/btwrite
76
77# NFC
78    setprop ro.nfc.port "I2C"
79    chmod 0660 /dev/pn544
80    chown nfc nfc /dev/pn544
81
82# backlight
83    chown system system /sys/class/backlight/pwm-backlight/brightness
84
85# didim
86    chown system system /sys/class/graphics/fb0/device/smartdimmer/enable
87    chown system system /sys/class/graphics/fb0/device/smartdimmer/aggressiveness
88
89# power
90    chown system system /sys/kernel/tegra_cap/core_cap_level
91    chown system system /sys/kernel/tegra_cap/core_cap_state
92    chown system system /sys/module/cpu_tegra/parameters/cpu_user_cap
93
94# Sensor
95# iio
96    chown system system /dev/iio:device0
97    chown system system /sys/bus/iio/devices/trigger0/name
98    chown system system /sys/bus/iio/devices/iio:device0/accl_enable
99    chown system system /sys/bus/iio/devices/iio:device0/accl_matrix
100    chown system system /sys/bus/iio/devices/iio:device0/buffer/length
101    chown system system /sys/bus/iio/devices/iio:device0/buffer/enable
102    chown system system /sys/bus/iio/devices/iio:device0/compass_enable
103    chown system system /sys/bus/iio/devices/iio:device0/compass_matrix
104    chown system system /sys/bus/iio/devices/iio:device0/dmp_on
105    chown system system /sys/bus/iio/devices/iio:device0/dmp_int_on
106    chown system system /sys/bus/iio/devices/iio:device0/gyro_enable
107    chown system system /sys/bus/iio/devices/iio:device0/gyro_matrix
108    chown system system /sys/bus/iio/devices/iio:device0/in_accel_scale
109    chown system system /sys/bus/iio/devices/iio:device0/in_anglvel_scale
110    chown system system /sys/bus/iio/devices/iio:device0/in_magn_scale
111    chown system system /sys/bus/iio/devices/iio:device0/key
112    chown system system /sys/bus/iio/devices/iio:device0/power_state
113    chown system system /sys/bus/iio/devices/iio:device0/sampling_frequency
114    chown system system /sys/bus/iio/devices/iio:device0/scan_elements/in_accel_x_en
115    chown system system /sys/bus/iio/devices/iio:device0/scan_elements/in_accel_y_en
116    chown system system /sys/bus/iio/devices/iio:device0/scan_elements/in_accel_z_en
117    chown system system /sys/bus/iio/devices/iio:device0/scan_elements/in_anglvel_x_en
118    chown system system /sys/bus/iio/devices/iio:device0/scan_elements/in_anglvel_y_en
119    chown system system /sys/bus/iio/devices/iio:device0/scan_elements/in_anglvel_z_en
120    chown system system /sys/bus/iio/devices/iio:device0/scan_elements/in_magn_x_en
121    chown system system /sys/bus/iio/devices/iio:device0/scan_elements/in_magn_y_en
122    chown system system /sys/bus/iio/devices/iio:device0/scan_elements/in_magn_z_en
123    chown system system /sys/bus/iio/devices/iio:device0/scan_elements/in_timestamp_en
124    chown system system /sys/bus/iio/devices/iio:device0/temperature
125    chown system system /sys/bus/iio/devices/iio:device0/trigger/current_trigger
126
127    # new in MA 5.1.5
128    chown system system /sys/bus/iio/devices/iio:device0/secondary_name
129    chown system system /sys/bus/iio/devices/iio:device0/dmp_firmware
130    chown system system /sys/bus/iio/devices/iio:device0/firmware_loaded
131    chown system system /sys/bus/iio/devices/iio:device0/dmp_event_int_on
132    chown system system /sys/bus/iio/devices/iio:device0/dmp_output_rate
133    chown system system /sys/bus/iio/devices/iio:device0/in_accel_x_offset
134    chown system system /sys/bus/iio/devices/iio:device0/in_accel_y_offset
135    chown system system /sys/bus/iio/devices/iio:device0/in_accel_z_offset
136    chown system system /sys/bus/iio/devices/iio:device0/gyro_fsr
137    ## LPQ
138    chown system system /sys/bus/iio/devices/iio:device0/quaternion_on
139    chown system system /sys/bus/iio/devices/iio:device0/scan_elements/in_quaternion_z_en
140    chown system system /sys/bus/iio/devices/iio:device0/scan_elements/in_quaternion_y_en
141    chown system system /sys/bus/iio/devices/iio:device0/scan_elements/in_quaternion_x_en
142    chown system system /sys/bus/iio/devices/iio:device0/scan_elements/in_quaternion_r_en
143    ## Screen orientation
144    chown system system /sys/bus/iio/devices/iio:device0/event_display_orientation
145    chown system system /sys/bus/iio/devices/iio:device0/display_orientation_on
146    ## SMD
147    chown system system /sys/bus/iio/devices/iio:device0/event_smd
148    chown system system /sys/bus/iio/devices/iio:device0/smd_enable
149    chown system system /sys/bus/iio/devices/iio:device0/smd_threshold
150    chown system system /sys/bus/iio/devices/iio:device0/smd_delay_threshold
151    chown system system /sys/bus/iio/devices/iio:device0/smd_delay_threshold2
152    ## AMI compass sensor
153    chown system system /dev/iio:device1
154    chown system system /sys/bus/iio/devices/trigger1/name
155    chown system system /sys/bus/iio/devices/iio:device1/buffer/length
156    chown system system /sys/bus/iio/devices/iio:device1/buffer/enable
157    chown system system /sys/bus/iio/devices/iio:device1/compass_enable
158    chown system system /sys/bus/iio/devices/iio:device1/compass_matrix
159    chown system system /sys/bus/iio/devices/iio:device1/in_magn_scale
160    chown system system /sys/bus/iio/devices/iio:device1/power_state
161    chown system system /sys/bus/iio/devices/iio:device1/sampling_frequency
162    chown system system /sys/bus/iio/devices/iio:device1/scan_elements/in_magn_x_en
163    chown system system /sys/bus/iio/devices/iio:device1/scan_elements/in_magn_y_en
164    chown system system /sys/bus/iio/devices/iio:device1/scan_elements/in_magn_z_en
165    chown system system /sys/bus/iio/devices/iio:device1/scan_elements/in_timestamp_en
166    chown system system /sys/bus/iio/devices/iio:device1/trigger/current_trigger
167
168    chmod 600 /dev/iio:device0
169    chmod 600 /sys/bus/iio/devices/trigger0/name
170    chmod 600 /sys/bus/iio/devices/iio:device0/accl_enable
171    chmod 600 /sys/bus/iio/devices/iio:device0/accl_matrix
172    chmod 600 /sys/bus/iio/devices/iio:device0/buffer/length
173    chmod 600 /sys/bus/iio/devices/iio:device0/buffer/enable
174    chmod 600 /sys/bus/iio/devices/iio:device0/compass_enable
175    chmod 600 /sys/bus/iio/devices/iio:device0/compass_matrix
176    chmod 600 /sys/bus/iio/devices/iio:device0/dmp_on
177    chmod 600 /sys/bus/iio/devices/iio:device0/dmp_int_on
178    chmod 600 /sys/bus/iio/devices/iio:device0/gyro_enable
179    chmod 600 /sys/bus/iio/devices/iio:device0/gyro_matrix
180    chmod 600 /sys/bus/iio/devices/iio:device0/in_accel_scale
181    chmod 600 /sys/bus/iio/devices/iio:device0/in_anglvel_scale
182    chmod 600 /sys/bus/iio/devices/iio:device0/in_magn_scale
183    chmod 600 /sys/bus/iio/devices/iio:device0/key
184    chmod 600 /sys/bus/iio/devices/iio:device0/power_state
185    chmod 600 /sys/bus/iio/devices/iio:device0/sampling_frequency
186    chmod 600 /sys/bus/iio/devices/iio:device0/scan_elements/in_accel_x_en
187    chmod 600 /sys/bus/iio/devices/iio:device0/scan_elements/in_accel_y_en
188    chmod 600 /sys/bus/iio/devices/iio:device0/scan_elements/in_accel_z_en
189    chmod 600 /sys/bus/iio/devices/iio:device0/scan_elements/in_anglvel_x_en
190    chmod 600 /sys/bus/iio/devices/iio:device0/scan_elements/in_anglvel_y_en
191    chmod 600 /sys/bus/iio/devices/iio:device0/scan_elements/in_anglvel_z_en
192    chmod 600 /sys/bus/iio/devices/iio:device0/scan_elements/in_magn_x_en
193    chmod 600 /sys/bus/iio/devices/iio:device0/scan_elements/in_magn_y_en
194    chmod 600 /sys/bus/iio/devices/iio:device0/scan_elements/in_magn_z_en
195    chmod 600 /sys/bus/iio/devices/iio:device0/scan_elements/in_timestamp_en
196    chmod 600 /sys/bus/iio/devices/iio:device0/temperature
197    chmod 600 /sys/bus/iio/devices/iio:device0/trigger/current_trigger
198    # new in MA 5.1.5
199    chmod 600 /sys/bus/iio/devices/iio:device0/secondary_name
200    chmod 600 /sys/bus/iio/devices/iio:device0/dmp_firmware
201    chmod 600 /sys/bus/iio/devices/iio:device0/firmware_loaded
202    chmod 600 /sys/bus/iio/devices/iio:device0/dmp_event_int_on
203    chmod 600 /sys/bus/iio/devices/iio:device0/dmp_output_rate
204    chmod 600 /sys/bus/iio/devices/iio:device0/in_accel_x_offset
205    chmod 600 /sys/bus/iio/devices/iio:device0/in_accel_y_offset
206    chmod 600 /sys/bus/iio/devices/iio:device0/in_accel_z_offset
207    chmod 600 /sys/bus/iio/devices/iio:device0/gyro_fsr
208    ## LPQ
209    chmod 600 /sys/bus/iio/devices/iio:device0/quaternion_on
210    chmod 600 /sys/bus/iio/devices/iio:device0/scan_elements/in_quaternion_z_en
211    chmod 600 /sys/bus/iio/devices/iio:device0/scan_elements/in_quaternion_y_en
212    chmod 600 /sys/bus/iio/devices/iio:device0/scan_elements/in_quaternion_x_en
213    chmod 600 /sys/bus/iio/devices/iio:device0/scan_elements/in_quaternion_r_en
214    ## Screen orientation
215    chmod 600 /sys/bus/iio/devices/iio:device0/event_display_orientation
216    chmod 600 /sys/bus/iio/devices/iio:device0/display_orientation_on
217    ## SMD
218    chmod 600 /sys/bus/iio/devices/iio:device0/event_smd
219    chmod 600 /sys/bus/iio/devices/iio:device0/smd_enable
220    chmod 600 /sys/bus/iio/devices/iio:device0/smd_threshold
221    chmod 600 /sys/bus/iio/devices/iio:device0/smd_delay_threshold
222    chmod 600 /sys/bus/iio/devices/iio:device0/smd_delay_threshold2
223    ## AMI compass sensor
224    chmod 600 /dev/iio:device1
225    chmod 600 /sys/bus/iio/devices/trigger1/name
226    chmod 600 /sys/bus/iio/devices/iio:device1/buffer/length
227    chmod 600 /sys/bus/iio/devices/iio:device1/buffer/enable
228    chmod 600 /sys/bus/iio/devices/iio:device1/compass_enable
229    chmod 600 /sys/bus/iio/devices/iio:device1/compass_matrix
230    chmod 600 /sys/bus/iio/devices/iio:device1/in_magn_scale
231    chmod 600 /sys/bus/iio/devices/iio:device1/power_state
232    chmod 600 /sys/bus/iio/devices/iio:device1/sampling_frequency
233    chmod 600 /sys/bus/iio/devices/iio:device1/scan_elements/in_magn_x_en
234    chmod 600 /sys/bus/iio/devices/iio:device1/scan_elements/in_magn_y_en
235    chmod 600 /sys/bus/iio/devices/iio:device1/scan_elements/in_magn_z_en
236    chmod 600 /sys/bus/iio/devices/iio:device1/scan_elements/in_timestamp_en
237    chmod 600 /sys/bus/iio/devices/iio:device1/trigger/current_trigger
238
239# Power management settings
240    write /sys/module/cpu_tegra3/parameters/no_lp 0
241    #write /sys/module/tegra3_emc/parameters/emc_enable 0
242    #write /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq 1000000
243    write /sys/devices/system/cpu/cpufreq/interactive/boost_factor 2
244    write /sys/devices/system/cpu/cpufreq/interactive/input_boost 1
245    write /sys/devices/system/cpu/cpufreq/interactive/sustain_load 80
246    write /sys/module/cpu_tegra3/parameters/auto_hotplug 1
247    #write /sys/module/cpuidle_t3/parameters/lp2_0_in_idle 0
248    write /sys/module/cpuidle/parameters/lp2_in_idle 0
249
250# Interactive governor settings
251    chown system system /sys/devices/system/cpu/cpufreq/interactive/boost_factor
252    chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/boost_factor
253    chown system system /sys/devices/system/cpu/cpufreq/interactive/go_maxspeed_load
254    chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/go_maxspeed_load
255    chown system system /sys/devices/system/cpu/cpufreq/interactive/io_is_busy
256    chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/io_is_busy
257    chown system system /sys/devices/system/cpu/cpufreq/interactive/max_boost
258    chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/max_boost
259    chown system system /sys/devices/system/cpu/cpufreq/interactive/sustain_load
260    chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/sustain_load
261    chown system system /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
262    chmod 0660 /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
263    chown system system /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
264    chmod 0660 /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
265    chown system system /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq
266    chmod 0660 /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq
267    chown system system /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq
268    chmod 0660 /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq
269    chown system system /sys/devices/system/cpu/cpu2/cpufreq/scaling_min_freq
270    chmod 0660 /sys/devices/system/cpu/cpu2/cpufreq/scaling_min_freq
271    chown system system /sys/devices/system/cpu/cpu2/cpufreq/scaling_max_freq
272    chmod 0660 /sys/devices/system/cpu/cpu2/cpufreq/scaling_max_freq
273    chown system system /sys/devices/system/cpu/cpu3/cpufreq/scaling_min_freq
274    chmod 0660 /sys/devices/system/cpu/cpu3/cpufreq/scaling_min_freq
275    chown system system /sys/devices/system/cpu/cpu3/cpufreq/scaling_max_freq
276    chmod 0660 /sys/devices/system/cpu/cpu3/cpufreq/scaling_max_freq
277
278# Default Read Ahead value for sdcards
279    write /sys/block/mmcblk0/queue/read_ahead_kb 2048
280    write /sys/block/mmcblk1/queue/read_ahead_kb 2048
281
282# GPS init
283    write /sys/class/gpio/export 162
284    write /sys/class/gpio/gpio162/value 0
285    write /sys/class/gpio/gpio162/direction out
286    chown gps system /sys/class/gpio/gpio162/value
287    chmod 0664 /sys/class/gpio/gpio162/value
288    mkdir /data/gps
289    chown gps system /data/gps
290    chmod 770 /data/gps
291    chown gps system /dev/ttyHS1
292    chmod 0660 /dev/ttyHS1
293
294
295# Load WiFi driver
296
297# BB mapping symbolic name to the logging ttyACM port
298    symlink /dev/ttyACM2 /dev/log_modem
299
300# Touch
301    chown system system /dev/elan-iap
302    chown system system /proc/ektf_dbg
303    start touch_fw_update
304
305service wpa_supplicant /system/bin/wpa_supplicant \
306    -iwlan0 -Dnl80211 -c/data/misc/wifi/wpa_supplicant.conf \
307    -I/system/etc/wifi/wpa_supplicant_overlay.conf \
308    -e/data/misc/wifi/entropy.bin -g@android:wpa_wlan0
309    #   we will start as root and wpa_supplicant will switch to user wifi
310    #   after setting up the capabilities required for WEXT
311    #   user wifi
312    #   group wifi inet keystore
313    class main
314    socket wpa_wlan0 dgram 660 wifi wifi
315    disabled
316    oneshot
317
318service p2p_supplicant /system/bin/wpa_supplicant \
319    -iwlan0 -Dnl80211 -iwlan0 -c/data/misc/wifi/wpa_supplicant.conf \
320    -I/system/etc/wifi/wpa_supplicant_overlay.conf -N \
321    -ip2p0 -Dnl80211 -c /data/misc/wifi/p2p_supplicant.conf \
322    -I/system/etc/wifi/p2p_supplicant_overlay.conf \
323    -puse_p2p_group_interface=1 -e/data/misc/wifi/entropy.bin \
324    -g@android:wpa_wlan0
325#   we will start as root and wpa_supplicant will switch to user wifi
326#   after setting up the capabilities required for WEXT
327#   user wifi
328#   group wifi inet keystore
329    class main
330    socket wpa_wlan0 dgram 660 wifi wifi
331    disabled
332    oneshot
333
334service dhcpcd_wlan0 /system/bin/dhcpcd -aABDKL
335    class main
336    disabled
337    oneshot
338
339service dhcpcd_p2p /system/bin/dhcpcd -aABKL
340    class main
341    disabled
342    oneshot
343
344service dhcpcd_eth0 /system/bin/dhcpcd -ABDKL -f/system/etc/dhcpcd/dhcpcd.conf
345    class main
346    disabled
347    oneshot
348
349service dhcpcd_bt-pan /system/bin/dhcpcd -ABKL
350    class main
351    disabled
352    oneshot
353
354service iprenew_wlan0 /system/bin/dhcpcd -n
355    class main
356    disabled
357    oneshot
358
359service iprenew_p2p /system/bin/dhcpcd -n
360    class main
361    disabled
362    oneshot
363
364service iprenew_eth0 /system/bin/dhcpcd -n
365    class main
366    disabled
367    oneshot
368
369service iprenew_bt-pan /system/bin/dhcpcd -n
370    class main
371    disabled
372    oneshot
373
374#Sensor: load calibration files.
375    service sensors-config /system/bin/sensors-config
376    class main
377    user root
378    oneshot
379#Sensor load calibration files end
380
381# virtual sdcard daemon running as media_rw (1023)
382service sdcard /system/bin/sdcard -u 1023 -g 1023 -l /data/media /mnt/shell/emulated
383    class late_start
384
385# bugreport is triggered by the VOLUME-DOWN and VOLUME-UP keys
386service bugreport /system/bin/dumpstate -d -p -B \
387        -o /data/data/com.android.shell/files/bugreports/bugreport
388    class main
389    disabled
390    oneshot
391    keycodes 115 114
392
393# Start GPS daemon
394  on boot
395  service gps-daemon /system/bin/glgps -c /system/etc/gps/gpsconfig.xml
396  user gps
397  group system
398  class late_start
399
400# Recovery daemon: configure MSC partition
401service recoveryd /system/bin/recoveryd /dev/block/platform/sdhci-tegra.3/by-name/MSC
402    disabled
403    class main
404    user root
405    group root
406    oneshot
407
408on property:sys.shutdown.requested=1recovery
409    start recoveryd
410
411# start tf_daemon service
412service tf_daemon /system/bin/tf_daemon -storageDir /data/tf -d
413    class main
414    user root
415    group shell
416
417# may restart due to /data/tf not existing yet
418on property:init.svc.tf_daemon=restarting
419    mkdir /data/tf
420
421# create filesystems if necessary
422service setup_fs /system/bin/setup_fs \
423        /dev/block/platform/sdhci-tegra.3/by-name/UDA \
424        /dev/block/platform/sdhci-tegra.3/by-name/CAC
425    class core
426    user root
427    group root
428    oneshot
429
430service touch_fw_update /system/bin/sh -c "echo /system/etc/firmware/touch_fw.ekt > /sys/bus/i2c/drivers/elan-ktf3k/1-0010/update_fw"
431    class main
432    disabled
433    user root
434    group root
435    oneshot
436
437