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/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
37    mkdir /data/media 0770 media_rw media_rw
38
39    # change back to bluetooth from system
40    chown bluetooth net_bt_stack /data/misc/bluetooth
41
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
50    chown bluetooth net_bt_stack /dev/ttyHS2
51
52    # power up/down interface
53    chmod 0660 /sys/class/rfkill/rfkill0/state
54    chmod 0660 /sys/class/rfkill/rfkill0/type
55    chown bluetooth net_bt_stack /sys/class/rfkill/rfkill0/state
56    chown bluetooth net_bt_stack /sys/class/rfkill/rfkill0/type
57
58    # bluetooth MAC address programming
59    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
62    setprop ro.bt.bdaddr_path "/data/misc/bluetooth/bdaddr"
63
64    # bluetooth LPM
65    chmod 0220 /proc/bluetooth/sleep/lpm
66    chmod 0220 /proc/bluetooth/sleep/btwrite
67    chown bluetooth net_bt_stack /proc/bluetooth/sleep/lpm
68    chown bluetooth net_bt_stack /proc/bluetooth/sleep/btwrite
69
70# 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
88# 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
178
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
183    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
190# 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
202# 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
210    chown gps system /sys/class/gpio/gpio162/value
211    chmod 0664 /sys/class/gpio/gpio162/value
212    mkdir /data/gps
213    chown gps system /data/gps
214    chmod 770 /data/gps
215    chown gps system /dev/ttyHS1
216    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
257service dhcpcd_wlan0 /system/bin/dhcpcd -aABDKL
258    class main
259    disabled
260    oneshot
261
262service dhcpcd_p2p /system/bin/dhcpcd -aABKL
263    class main
264    disabled
265    oneshot
266
267service dhcpcd_eth0 /system/bin/dhcpcd -ABDKL -f/system/etc/dhcpcd/dhcpcd.conf
268    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
299# virtual sdcard daemon running as media_rw (1023)
300service sdcard /system/bin/sdcard /data/media /mnt/shell/emulated 1023 1023
301    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
310# Start GPS daemon
311  on boot
312  service gps-daemon /system/bin/glgps -c /system/etc/gps/gpsconfig.xml
313  user gps
314  group system
315  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
358