aboutsummaryrefslogtreecommitdiff
path: root/rootdir/etc/init.common.rc
blob: a7e7dbddeb2fafa3309a43f0fceb1a86df0eb474 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
import /init.watchdog.rc
import /init.firmware.rc
import /init.power.mofd_v1.rc
import /init.zram.rc

on early-init
    # set permission for charger-mode
    chmod 0750 /charger
    chown system system /dev/dri/card0
    chmod 0666 /dev/dri/card0
    symlink /dev/dri/card0 /dev/card0
    # Enable native bridge for target executables
    mount binfmt_misc binfmt_misc /proc/sys/fs/binfmt_misc
    #  Mount debugfs for systrace settings
    mount debugfs none /sys/kernel/debug mode=0755

on init
    mkdir /mnt/shell 0700 shell shell

    # set usb serial number
    write /sys/class/android_usb/android0/iSerial ${ro.serialno}

    symlink /sdcard /storage/sdcard0

on boot
    # IMG Graphics specific setup. See also "service pvrsrvctl"
    # The permissions below should be tighter.
#    chown system system /dev/card0
    chown system system /sys/class/backlight/psb-bl/brightness
    chown system system /sys/class/backlight/psb-bl/max_brightness
    chown system system /sys/class/backlight/psb-bl/actual_brightness
 #   chmod 0666 /dev/card0
    chmod 0664 /sys/class/backlight/psb-bl/brightness
    chmod 0664 /sys/class/backlight/psb-bl/max_brightness
    chmod 0664 /sys/class/backlight/psb-bl/actual_brightness

    #Change mmc queue nr_requests from 128 to 32 to reduce write latencies
    write /sys/block/mmcblk0/queue/nr_requests 32


# Change TCP Net-Core buffers sizes to improve cellular data throughput
     write /proc/sys/net/core/rmem_default 1048576
     write /proc/sys/net/core/rmem_max 2097152
     write /proc/sys/net/core/wmem_max 1048576

    #Set freezing timeout value as 2000ms
    write /sys/power/pm_freeze_timeout 2000

    #enable kernel compaction
    write /proc/sys/vm/compact_memory 1

on fs
    mkdir /factory 0775 system system
    mkdir /config 0775 system system
    mkdir /media 0775 media media
    mount_all /fstab.mofd_v1
    chown root system /factory
    chmod 0770 /factory
    mkdir /config/wifi
    chown system wifi /config/wifi
    chmod 0770 /config/wifi
    mkdir /config/em
    chown system system /config/em
    chmod 0770 /config/em
    chown system system /sys/class/usb_otg/otg0/a_bus_drop
    restorecon_recursive /factory
    restorecon_recursive /logs

on post-fs
# create virtual SD card at /mnt/sdcard, based on the /data/media directory
# daemon will drop to user/group system/media_rw after initializing
# underlying files in /data/media will be created with user and group media_rw (1023)

# Performance tweaks for interactive governor
    chown system system /sys/devices/system/cpu/cpufreq/interactive/timer_rate
    chown system system /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load
    chown system system /sys/devices/system/cpu/cpufreq/interactive/boostpulse
    chown system system /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq
    chown system system /sys/devices/system/cpu/cpufreq/interactive/touchboostpulse
    chown system system /sys/devices/system/cpu/cpufreq/interactive/touchboostpulse_duration
    chown system system /sys/devices/system/cpu/cpufreq/interactive/touchboost_freq
    chmod 0220 /sys/devices/system/cpu/cpufreq/interactive/touchboostpulse
    chmod 0220 /sys/devices/system/cpu/cpufreq/interactive/boostpulse

on post-fs-data
    mkdir /data/system/ 0770 system system
    write /proc/sys/kernel/ctrl-alt-del 0

    mkdir /mnt/asec/media 0770 media media

    # Disable data roaming option enabled by default
    setprop ro.com.android.dataroaming false

    # Set indication (checked by vold) that we have finished this action
    setprop vold.post_fs_data_done 1

    # Set this property to force the camera shutter sound to play on speaker
    # We implement this property in buildinfo.sh. So comment this.
    # setprop ro.camera.sound.forced 1

    # set this to switch to CPU renderscipt
    setprop debug.rs.default-CPU-driver 1

    # Set this property to avoid fm rx to be muted
    setprop ro.fmrx.sound.forced 1

    # Set this property to enable Thermal service
    setprop persist.service.thermal 1
    # Properties for Thermal Service
    setprop persist.thermal.debug.xml 0
    setprop ro.thermal.ituxversion 3.0
    setprop persist.thermal.shutdown.msg 1
    setprop persist.thermal.shutdown.vibra 1
    setprop persist.thermal.shutdown.tone 1
    setprop persist.thermal.display.msg 1
    setprop persist.thermal.display.vibra 1

    # Set this property for the use of unlock
    setprop ro.build.servaddr 1

    chown system system /sys/class/drm/card0/gt_max_freq_mhz

    # Collect panic data systematically
    copy /proc/emmc_ipanic_header /data/dontpanic/emmc_ipanic_header
    chown root log /data/dontpanic/emmc_ipanic_header
    chmod 0640 /data/dontpanic/emmc_ipanic_header

    copy /proc/emmc_ipanic_console /data/dontpanic/emmc_ipanic_console
    chown root log /data/dontpanic/emmc_ipanic_console
    chmod 0640 /data/dontpanic/emmc_ipanic_console

    copy /proc/emmc_ipanic_threads /data/dontpanic/emmc_ipanic_threads
    chown root log /data/dontpanic/emmc_ipanic_threads
    chmod 0640 /data/dontpanic/emmc_ipanic_threads

    copy /proc/emmc_ipanic_gbuffer /data/dontpanic/emmc_ipanic_gbuffer
    chown root log /data/dontpanic/emmc_ipanic_gbuffer
    chmod 0640 /data/dontpanic/emmc_ipanic_gbuffer

#Permissions for Sensors
    chown system system /dev/psensor
    chmod 0660 /dev/psensor

    chown system system /dev/lightsensor
    chmod 0660 /dev/lightsensor

    chown system system /sys/class/optical_sensors/proximity/ps_adc
    chmod 0664 /sys/class/optical_sensors/proximity/ps_adc
	
    chown system system /sys/class/optical_sensors/lightsensor/ls_adc
    chmod 0664 /sys/class/optical_sensors/lightsensor/ls_adc

#Sensors for factory sensor calibration
    chown system system    /system/bin/psensor_k
    chown system system    /system/bin/lightsensor
    chown system system    /system/bin/invn_hw_test

    chmod 0660 /system/bin/psensor_k
    chmod 0660 /system/bin/lightsensor
    chmod 0774 /system/bin/invn_hw_test

    symlink /system/bin/psensor_k   /data/data/psensor_k
    chown system system /data/data/psensor_k
    chmod 0660 /data/data/psensor_k

    symlink /system/bin/lightsensor    /data/data/lightsensor
    chown system system /data/data/lightsensor
    chmod 0660 /data/data/lightsensor

    symlink /system/bin/invn_hw_test    /data/data/invn_hw_test
    chown system system /data/data/invn_hw_test
    chmod 0774 /data/data/invn_hw_test

# Sensor
# iio
## Invensense IIO settings
    # folders
    chown system system /sys/bus/iio/devices/iio:device2/
    chmod 775           /sys/bus/iio/devices/iio:device2/
    chown system system /sys/bus/iio/devices/iio:device2/buffer
    chmod 774           /sys/bus/iio/devices/iio:device2/buffer
    chown system system /sys/bus/iio/devices/iio:device2/scan_elements
    chmod 774           /sys/bus/iio/devices/iio:device2/scan_elements
    chown system system /sys/bus/iio/devices/iio:device2/trigger
    chmod 774           /sys/bus/iio/devices/iio:device2/trigger
    chown system system /sys/bus/iio/devices/iio:device2/power
    chmod 774           /sys/bus/iio/devices/iio:device2/power

    chown system.system /sys/bus/iio/devices/iio:device2/*
    chmod 774           /sys/bus/iio/devices/iio:device2/*
    chown system.system /sys/bus/iio/devices/iio:device2/buffer/*
    chmod 774           /sys/bus/iio/devices/iio:device2/buffer/*
    chown system.system /sys/bus/iio/devices/iio:device2/scan_elements/*
    chmod 774           /sys/bus/iio/devices/iio:device2/scan_elements/*
    chown system.system /sys/bus/iio/devices/iio:device2/trigger/*
    chmod 774           /sys/bus/iio/devices/iio:device2/trigger/*
    chown system.system /sys/bus/iio/devices/iio:device2/power/*
    chmod 774           /sys/bus/iio/devices/iio:device2/power/*

    # files
    chown system system /dev/iio:device2
    chmod 774           /dev/iio:device2
    chown system system /sys/bus/iio/devices/iio:device2/uevent
    chmod 774           /sys/bus/iio/devices/iio:device2/uevent
    chown system system /sys/bus/iio/devices/iio:device2/dev
    chmod 774           /sys/bus/iio/devices/iio:device2/dev
    chown system system /sys/bus/iio/devices/iio:device2/buffer/length
    chmod 774           /sys/bus/iio/devices/iio:device2/buffer/length
    chown system system /sys/bus/iio/devices/iio:device2/buffer/enable
    chmod 774           /sys/bus/iio/devices/iio:device2/buffer/enable
    chown system system /sys/bus/iio/devices/iio:device2/scan_elements/in_timestamp_en
    chmod 774           /sys/bus/iio/devices/iio:device2/scan_elements/in_timestamp_en
    chown system system /sys/bus/iio/devices/iio:device2/scan_elements/in_timestamp_type
    chmod 774           /sys/bus/iio/devices/iio:device2/scan_elements/in_timestamp_type
    chown system system /sys/bus/iio/devices/iio:device2/scan_elements/in_timestamp_index
    chmod 774           /sys/bus/iio/devices/iio:device2/scan_elements/in_timestamp_index
    chown system system /sys/bus/iio/devices/iio:device2/sampling_frequency_available
    chmod 774           /sys/bus/iio/devices/iio:device2/sampling_frequency_available
    chown system system /sys/bus/iio/devices/iio:device2/reg_dump
    chmod 774           /sys/bus/iio/devices/iio:device2/reg_dump
    chown system system /sys/bus/iio/devices/iio:device2/temperature
    chmod 774           /sys/bus/iio/devices/iio:device2/temperature
    chown system system /sys/bus/iio/devices/iio:device2/master_enable
    chmod 774           /sys/bus/iio/devices/iio:device2/master_enable
    chown system system /sys/bus/iio/devices/iio:device2/in_anglvel_scale
    chmod 774           /sys/bus/iio/devices/iio:device2/in_anglvel_scale
    chown system system /sys/bus/iio/devices/iio:device2/in_anglvel_x_calibbias
    chmod 774           /sys/bus/iio/devices/iio:device2/in_anglvel_x_calibbias
    chown system system /sys/bus/iio/devices/iio:device2/in_anglvel_y_calibbias
    chmod 774           /sys/bus/iio/devices/iio:device2/in_anglvel_y_calibbias
    chown system system /sys/bus/iio/devices/iio:device2/in_anglvel_z_calibbias
    chmod 774           /sys/bus/iio/devices/iio:device2/in_anglvel_z_calibbias
    chown system system /sys/bus/iio/devices/iio:device2/in_anglvel_x_offset
    chmod 774           /sys/bus/iio/devices/iio:device2/in_anglvel_x_offset
    chown system system /sys/bus/iio/devices/iio:device2/in_anglvel_y_offset
    chmod 774           /sys/bus/iio/devices/iio:device2/in_anglvel_y_offset
    chown system system /sys/bus/iio/devices/iio:device2/in_anglvel_z_offset
    chmod 774           /sys/bus/iio/devices/iio:device2/in_anglvel_z_offset
    chown system system /sys/bus/iio/devices/iio:device2/in_anglvel_self_test_scale
    chmod 774           /sys/bus/iio/devices/iio:device2/in_anglvel_self_test_scale
    chown system system /sys/bus/iio/devices/iio:device2/self_test_samples
    chmod 774           /sys/bus/iio/devices/iio:device2/self_test_samples
    chown system system /sys/bus/iio/devices/iio:device2/self_test_threshold
    chmod 774           /sys/bus/iio/devices/iio:device2/self_test_threshold
    chown system system /sys/bus/iio/devices/iio:device2/gyro_enable
    chmod 774           /sys/bus/iio/devices/iio:device2/gyro_enable
    chown system system /sys/bus/iio/devices/iio:device2/gyro_fifo_enable
    chmod 774           /sys/bus/iio/devices/iio:device2/gyro_fifo_enable
    chown system system /sys/bus/iio/devices/iio:device2/gyro_rate
    chmod 774           /sys/bus/iio/devices/iio:device2/gyro_rate
    chown system system /sys/bus/iio/devices/iio:device2/power_state
    chmod 774           /sys/bus/iio/devices/iio:device2/power_state
    chown system system /sys/bus/iio/devices/iio:device2/sampling_frequency
    chmod 774           /sys/bus/iio/devices/iio:device2/sampling_frequency
    chown system system /sys/bus/iio/devices/iio:device2/self_test
    chmod 774           /sys/bus/iio/devices/iio:device2/self_test
    chown system system /sys/bus/iio/devices/iio:device2/gyro_matrix
    chmod 774           /sys/bus/iio/devices/iio:device2/gyro_matrix
    chown system system /sys/bus/iio/devices/iio:device2/secondary_name
    chmod 774           /sys/bus/iio/devices/iio:device2/secondary_name
    chown system system /sys/bus/iio/devices/iio:device2/event_accel_motion
    chmod 774           /sys/bus/iio/devices/iio:device2/event_accel_motion
    chown system system /sys/bus/iio/devices/iio:device2/event_smd
    chmod 774           /sys/bus/iio/devices/iio:device2/event_smd
    chown system system /sys/bus/iio/devices/iio:device2/event_pedometer
    chmod 774           /sys/bus/iio/devices/iio:device2/event_pedometer
    chown system system /sys/bus/iio/devices/iio:device2/flush_batch
    chmod 774           /sys/bus/iio/devices/iio:device2/flush_batch
    chown system system /sys/bus/iio/devices/iio:device2/in_accel_scale
    chmod 774           /sys/bus/iio/devices/iio:device2/in_accel_scale
    chown system system /sys/bus/iio/devices/iio:device2/in_accel_x_calibbias
    chmod 774           /sys/bus/iio/devices/iio:device2/in_accel_x_calibbias
    chown system system /sys/bus/iio/devices/iio:device2/in_accel_y_calibbias
    chmod 774           /sys/bus/iio/devices/iio:device2/in_accel_y_calibbias
    chown system system /sys/bus/iio/devices/iio:device2/in_accel_z_calibbias
    chmod 774           /sys/bus/iio/devices/iio:device2/in_accel_z_calibbias
    chown system system /sys/bus/iio/devices/iio:device2/in_accel_self_test_scale
    chmod 774           /sys/bus/iio/devices/iio:device2/in_accel_self_test_scale
    chown system system /sys/bus/iio/devices/iio:device2/in_accel_x_offset
    chmod 774           /sys/bus/iio/devices/iio:device2/in_accel_x_offset
    chown system system /sys/bus/iio/devices/iio:device2/in_accel_y_offset
    chmod 774           /sys/bus/iio/devices/iio:device2/in_accel_y_offset
    chown system system /sys/bus/iio/devices/iio:device2/in_accel_z_offset
    chmod 774           /sys/bus/iio/devices/iio:device2/in_accel_z_offset
    chown system system /sys/bus/iio/devices/iio:device2/in_accel_x_dmp_bias
    chmod 774           /sys/bus/iio/devices/iio:device2/in_accel_x_dmp_bias
    chown system system /sys/bus/iio/devices/iio:device2/in_accel_y_dmp_bias
    chmod 774           /sys/bus/iio/devices/iio:device2/in_accel_y_dmp_bias
    chown system system /sys/bus/iio/devices/iio:device2/in_accel_z_dmp_bias
    chmod 774           /sys/bus/iio/devices/iio:device2/in_accel_z_dmp_bias
    chown system system /sys/bus/iio/devices/iio:device2/in_anglvel_x_dmp_bias
    chmod 774           /sys/bus/iio/devices/iio:device2/in_anglvel_x_dmp_bias
    chown system system /sys/bus/iio/devices/iio:device2/in_anglvel_y_dmp_bias
    chmod 774           /sys/bus/iio/devices/iio:device2/in_anglvel_y_dmp_bias
    chown system system /sys/bus/iio/devices/iio:device2/in_anglvel_z_dmp_bias
    chmod 774           /sys/bus/iio/devices/iio:device2/in_anglvel_z_dmp_bias
    chown system system /sys/bus/iio/devices/iio:device2/pedometer_int_on
    chmod 774           /sys/bus/iio/devices/iio:device2/pedometer_int_on
    chown system system /sys/bus/iio/devices/iio:device2/pedometer_on
    chmod 774           /sys/bus/iio/devices/iio:device2/pedometer_on
    chown system system /sys/bus/iio/devices/iio:device2/pedometer_steps
    chmod 774           /sys/bus/iio/devices/iio:device2/pedometer_steps
    chown system system /sys/bus/iio/devices/iio:device2/pedometer_time
    chmod 774           /sys/bus/iio/devices/iio:device2/pedometer_time
    chown system system /sys/bus/iio/devices/iio:device2/pedometer_counter
    chmod 774           /sys/bus/iio/devices/iio:device2/pedometer_counter
    chown system system /sys/bus/iio/devices/iio:device2/pedometer_step_thresh
    chmod 774           /sys/bus/iio/devices/iio:device2/pedometer_step_thresh
    chown system system /sys/bus/iio/devices/iio:device2/pedometer_int_thresh
    chmod 774           /sys/bus/iio/devices/iio:device2/pedometer_int_thresh
    chown system system /sys/bus/iio/devices/iio:device2/smd_enable
    chmod 774           /sys/bus/iio/devices/iio:device2/smd_enable
    chown system system /sys/bus/iio/devices/iio:device2/smd_threshold
    chmod 774           /sys/bus/iio/devices/iio:device2/smd_threshold
    chown system system /sys/bus/iio/devices/iio:device2/smd_delay_threshold
    chmod 774           /sys/bus/iio/devices/iio:device2/smd_delay_threshold
    chown system system /sys/bus/iio/devices/iio:device2/smd_delay_threshold2
    chmod 774           /sys/bus/iio/devices/iio:device2/smd_delay_threshold2
    chown system system /sys/bus/iio/devices/iio:device2/dmp_on
    chmod 774           /sys/bus/iio/devices/iio:device2/dmp_on
    chown system system /sys/bus/iio/devices/iio:device2/dmp_int_on
    chmod 774           /sys/bus/iio/devices/iio:device2/dmp_int_on
    chown system system /sys/bus/iio/devices/iio:device2/dmp_event_int_on
    chmod 774           /sys/bus/iio/devices/iio:device2/dmp_event_int_on
    chown system system /sys/bus/iio/devices/iio:device2/step_indicator_on
    chmod 774           /sys/bus/iio/devices/iio:device2/step_indicator_on
    chown system system /sys/bus/iio/devices/iio:device2/batchmode_timeout
    chmod 774           /sys/bus/iio/devices/iio:device2/batchmode_timeout
    chown system system /sys/bus/iio/devices/iio:device2/batchmode_wake_fifo_full_on
    chmod 774           /sys/bus/iio/devices/iio:device2/batchmode_wake_fifo_full_on
    chown system system /sys/bus/iio/devices/iio:device2/six_axes_q_on
    chmod 774           /sys/bus/iio/devices/iio:device2/six_axes_q_on
    chown system system /sys/bus/iio/devices/iio:device2/six_axes_q_rate
    chmod 774           /sys/bus/iio/devices/iio:device2/six_axes_q_rate
    chown system system /sys/bus/iio/devices/iio:device2/three_axes_q_on
    chmod 774           /sys/bus/iio/devices/iio:device2/three_axes_q_on
    chown system system /sys/bus/iio/devices/iio:device2/three_axes_q_rate
    chmod 774           /sys/bus/iio/devices/iio:device2/three_axes_q_rate
    chown system system /sys/bus/iio/devices/iio:device2/ped_q_on
    chmod 774           /sys/bus/iio/devices/iio:device2/ped_q_on
    chown system system /sys/bus/iio/devices/iio:device2/ped_q_rate
    chmod 774           /sys/bus/iio/devices/iio:device2/ped_q_rate
    chown system system /sys/bus/iio/devices/iio:device2/step_detector_on
    chmod 774           /sys/bus/iio/devices/iio:device2/step_detector_on
    chown system system /sys/bus/iio/devices/iio:device2/accel_enable
    chmod 774           /sys/bus/iio/devices/iio:device2/accel_enable
    chown system system /sys/bus/iio/devices/iio:device2/accel_fifo_enable
    chmod 774           /sys/bus/iio/devices/iio:device2/accel_fifo_enable
    chown system system /sys/bus/iio/devices/iio:device2/accel_rate
    chmod 774           /sys/bus/iio/devices/iio:device2/accel_rate
    chown system system /sys/bus/iio/devices/iio:device2/firmware_loaded
    chmod 774           /sys/bus/iio/devices/iio:device2/firmware_loaded
    chown system system /sys/bus/iio/devices/iio:device2/accel_matrix
    chmod 774           /sys/bus/iio/devices/iio:device2/accel_matrix
    chown system system /sys/bus/iio/devices/iio:device2/motion_lpa_on
    chmod 774           /sys/bus/iio/devices/iio:device2/motion_lpa_on
    chown system system /sys/bus/iio/devices/iio:device2/motion_lpa_freq
    chmod 774           /sys/bus/iio/devices/iio:device2/motion_lpa_freq
    chown system system /sys/bus/iio/devices/iio:device2/motion_lpa_threshold
    chmod 774           /sys/bus/iio/devices/iio:device2/motion_lpa_threshold
    chown system system /sys/bus/iio/devices/iio:device2/in_magn_scale
    chmod 774           /sys/bus/iio/devices/iio:device2/in_magn_scale
    chown system system /sys/bus/iio/devices/iio:device2/compass_enable
    chmod 774           /sys/bus/iio/devices/iio:device2/compass_enable
    chown system system /sys/bus/iio/devices/iio:device2/compass_rate
    chmod 774           /sys/bus/iio/devices/iio:device2/compass_rate
    chown system system /sys/bus/iio/devices/iio:device2/compass_matrix
    chmod 774           /sys/bus/iio/devices/iio:device2/compass_matrix
    chown system system /sys/bus/iio/devices/iio:device2/name
    chmod 774           /sys/bus/iio/devices/iio:device2/name
    chown system system /sys/bus/iio/devices/iio:device2/trigger/current_trigger
    chmod 774           /sys/bus/iio/devices/iio:device2/trigger/current_trigger
    chown system system /sys/bus/iio/devices/iio:device2/power/runtime_status
    chmod 774           /sys/bus/iio/devices/iio:device2/power/runtime_status
    chown system system /sys/bus/iio/devices/iio:device2/power/control
    chmod 774           /sys/bus/iio/devices/iio:device2/power/control
    chown system system /sys/bus/iio/devices/iio:device2/power/runtime_suspended_time
    chmod 774           /sys/bus/iio/devices/iio:device2/power/runtime_suspended_time
    chown system system /sys/bus/iio/devices/iio:device2/power/runtime_active_time
    chmod 774           /sys/bus/iio/devices/iio:device2/power/runtime_active_time
    chown system system /sys/bus/iio/devices/iio:device2/power/autosuspend_delay_ms
    chmod 774           /sys/bus/iio/devices/iio:device2/power/autosuspend_delay_ms
    chown system system /sys/bus/iio/devices/iio:device2/dmp_firmware
    chmod 774           /sys/bus/iio/devices/iio:device2/dmp_firmware
    chown system system /sys/bus/iio/devices/iio:device2/six_axes_q_value
    chmod 774           /sys/bus/iio/devices/iio:device2/six_axes_q_value
    chown system system /sys/bus/iio/devices/iio:device2/rawdata_accel
    chmod 774           /sys/bus/iio/devices/iio:device2/rawdata_accel
    chown system system /sys/bus/iio/devices/iio:device2/rawdata_gyro
    chmod 774           /sys/bus/iio/devices/iio:device2/rawdata_gyro

#------------------------------------------

    chown system system /sys/bus/iio/devices/iio:device1/
    chmod 774           /sys/bus/iio/devices/iio:device1/
    chown system system /sys/bus/iio/devices/iio:device1/buffer
    chmod 774           /sys/bus/iio/devices/iio:device1/buffer
    chown system system /sys/bus/iio/devices/iio:device1/scan_elements
    chmod 774           /sys/bus/iio/devices/iio:device1/scan_elements
    chown system system /sys/bus/iio/devices/iio:device1/trigger
    chmod 774           /sys/bus/iio/devices/iio:device1/trigger
    chown system system /sys/bus/iio/devices/iio:device1/power
    chmod 774           /sys/bus/iio/devices/iio:device1/power

    chown system.system /sys/bus/iio/devices/iio:device1/*
    chmod 774           /sys/bus/iio/devices/iio:device1/*
    chown system.system /sys/bus/iio/devices/iio:device1/buffer/*
    chmod 774           /sys/bus/iio/devices/iio:device1/buffer/*
    chown system.system /sys/bus/iio/devices/iio:device1/scan_elements/*
    chmod 774           /sys/bus/iio/devices/iio:device1/scan_elements/*
    chown system.system /sys/bus/iio/devices/iio:device1/trigger/*
    chmod 774           /sys/bus/iio/devices/iio:device1/trigger/*
    chown system.system /sys/bus/iio/devices/iio:device1/power/*
    chmod 774           /sys/bus/iio/devices/iio:device1/power/*


    chown system system /sys/bus/iio/devices/iio:device1/compass_matrix
    chmod 774           /sys/bus/iio/devices/iio:device1/compass_matrix

    chown system system /sys/bus/iio/devices/iio:device1/dev
    chmod 774           /sys/bus/iio/devices/iio:device1/dev

    chown system system /sys/bus/iio/devices/iio:device1/in_magn_scale
    chmod 774           /sys/bus/iio/devices/iio:device1/in_magn_scale

    chown system system /sys/bus/iio/devices/iio:device1/name
    chmod 774           /sys/bus/iio/devices/iio:device1/name

    chown system system /sys/bus/iio/devices/iio:device1/sampling_frequency
    chmod 774           /sys/bus/iio/devices/iio:device1/sampling_frequency

    chown system system /sys/bus/iio/devices/iio:device1/uevent
    chmod 774           /sys/bus/iio/devices/iio:device1/uevent

    chown system system /sys/bus/iio/devices/iio:device1/value
    chmod 774           /sys/bus/iio/devices/iio:device1/value

    chown system system /sys/bus/iio/devices/iio:device1/buffer/length
    chmod 774           /sys/bus/iio/devices/iio:device1/buffer/length
    chown system system /sys/bus/iio/devices/iio:device1/buffer/enable
    chmod 774           /sys/bus/iio/devices/iio:device1/buffer/enable

    chown system system /sys/bus/iio/devices/iio:device1/scan_elements/in_timestamp_en
    chmod 774           /sys/bus/iio/devices/iio:device1/scan_elements/in_timestamp_en
    chown system system /sys/bus/iio/devices/iio:device1/scan_elements/in_timestamp_type
    chmod 774           /sys/bus/iio/devices/iio:device1/scan_elements/in_timestamp_type
    chown system system /sys/bus/iio/devices/iio:device1/scan_elements/in_timestamp_index
    chmod 774           /sys/bus/iio/devices/iio:device1/scan_elements/in_timestamp_index

    chown system system /sys/bus/iio/devices/iio:device1/scan_elements/in_magn_x_en
    chmod 774           /sys/bus/iio/devices/iio:device1/scan_elements/in_magn_x_en
    chown system system /sys/bus/iio/devices/iio:device1/scan_elements/in_magn_x_type
    chmod 774           /sys/bus/iio/devices/iio:device1/scan_elements/in_magn_x_type
    chown system system /sys/bus/iio/devices/iio:device1/scan_elements/in_magn_x_index
    chmod 774           /sys/bus/iio/devices/iio:device1/scan_elements/in_magn_x_index

    chown system system /sys/bus/iio/devices/iio:device1/scan_elements/in_magn_y_en
    chmod 774           /sys/bus/iio/devices/iio:device1/scan_elements/in_magn_y_en
    chown system system /sys/bus/iio/devices/iio:device1/scan_elements/in_magn_y_type
    chmod 774           /sys/bus/iio/devices/iio:device1/scan_elements/in_magn_y_type
    chown system system /sys/bus/iio/devices/iio:device1/scan_elements/in_magn_y_index
    chmod 774           /sys/bus/iio/devices/iio:device1/scan_elements/in_magn_y_index

    chown system system /sys/bus/iio/devices/iio:device1/scan_elements/in_magn_z_en
    chmod 774           /sys/bus/iio/devices/iio:device1/scan_elements/in_magn_z_en
    chown system system /sys/bus/iio/devices/iio:device1/scan_elements/in_magn_z_type
    chmod 774           /sys/bus/iio/devices/iio:device1/scan_elements/in_magn_z_type
    chown system system /sys/bus/iio/devices/iio:device1/scan_elements/in_magn_z_index
    chmod 774           /sys/bus/iio/devices/iio:device1/scan_elements/in_magn_z_index

    chown system system /sys/bus/iio/devices/iio:device1/trigger/current_trigger
    chmod 774           /sys/bus/iio/devices/iio:device1/trigger/current_trigger

    chown system system /sys/bus/iio/devices/iio:device1/power/runtime_status
    chmod 774           /sys/bus/iio/devices/iio:device1/power/runtime_status
    chown system system /sys/bus/iio/devices/iio:device1/power/control
    chmod 774           /sys/bus/iio/devices/iio:device1/power/control
    chown system system /sys/bus/iio/devices/iio:device1/power/runtime_suspended_time
    chmod 774           /sys/bus/iio/devices/iio:device1/power/runtime_suspended_time
    chown system system /sys/bus/iio/devices/iio:device1/power/runtime_active_time
    chmod 774           /sys/bus/iio/devices/iio:device1/power/runtime_active_time
    chown system system /sys/bus/iio/devices/iio:device1/power/autosuspend_delay_ms
    chmod 774           /sys/bus/iio/devices/iio:device1/power/autosuspend_delay_ms

    chown system system /dev/iio:device1
    chmod 774           /dev/iio:device1

    #support emmc_total_size
    symlink /sys/devices/pci0000:00/0000:00:01.0/emmc_total_size /data/data/emmc_total_size

on property:sys.boot_completed=1
    start bcu_cpufreqrel

on charger

    setprop thermal.lite.crash 0

    chown system system /dev/dri/card0
    chmod 0666 /dev/dri/card0
    symlink /dev/dri/card0 /dev/card0

    # IMG Graphics specific setup. See also "service pvrsrvctl"
    # The permissions below should be tighter.
    chown system system /dev/card0

    start pvrsrvctl
    # reduce backlight
    write /sys/class/backlight/psb-bl/brightness 50
    #default setting to enable charging in COS
    setprop sys.usb.config charging

    start thermald

    trigger firmware_mounts_complete

service thermald /system/bin/thermald
    class core
    oneshot
    disabled
    user root

service bcu_cpufreqrel /system/bin/bcu_cpufreqrel
    group system
    oneshot
    disabled

service pvrsrvctl /system/vendor/bin/pvrsrvctl --no-module --start
    class core
    oneshot
    user root
    group graphics readproc

service charger_app /charger
    class charger
    user root
    seclabel u:r:healthd:s0

# Enable native bridge for target executables
on property:ro.enable.native.bridge.exec=1
    copy /system/etc/binfmt_misc/arm_exe /proc/sys/fs/binfmt_misc/register
    copy /system/etc/binfmt_misc/arm_dyn /proc/sys/fs/binfmt_misc/register

on property:ro.enable.native.bridge.exec64=1
    copy /system/etc/binfmt_misc/arm64_exe /proc/sys/fs/binfmt_misc/register
    copy /system/etc/binfmt_misc/arm64_dyn /proc/sys/fs/binfmt_misc/register

# This property trigger has added to imitiate the previous behavior of "adb root".
# The adb gadget driver used to reset the USB bus when the adbd daemon exited,
# and the host side adb relied on this behavior to force it to reconnect with the
# new adbd instance after init relaunches it. So now we force the USB bus to reset
# here when adbd sets the service.adb.root property to 1.  We also restart adbd here
# rather than waiting for init to notice its death and restarting it so the timing
# of USB resetting and adb restarting more closely matches the previous behavior.
on property:service.adb.root=1
    write /sys/class/android_usb/android0/enable 0
    restart adbd
    write /sys/class/android_usb/android0/enable 1

on property:sys.property_forcedshutdown=1
    write /sys/module/intel_mid_osip/parameters/force_shutdown_occured 1

on property:sys.shutdown.requested=0
    write /sys/devices/virtual/misc/watchdog/shutdown_ongoing 1

on property:sys.shutdown.requested=1
    write /sys/devices/virtual/misc/watchdog/reboot_ongoing 1

on property:sys.shutdown.requested=1recovery
    write /sys/devices/virtual/misc/watchdog/reboot_ongoing 1

on property:sys.shutdown.requested=1bootloader
    write /sys/devices/virtual/misc/watchdog/reboot_ongoing 1