Jean-Baptiste Queru | 671476b | 2012-05-29 10:40:37 -0700 | [diff] [blame] | 1 | import init.grouper.usb.rc |
| 2 | |
| 3 | on 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 Kumbhar | 3161312 | 2012-05-22 17:05:21 -0700 | [diff] [blame] | 17 | on 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 Queru | 671476b | 2012-05-29 10:40:37 -0700 | [diff] [blame] | 23 | on fs |
| 24 | setprop ro.crypto.umount_sd false |
| 25 | mount_all /fstab.grouper |
| 26 | |
| 27 | on 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 | |
| 43 | on 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_wu | 9fcf061 | 2012-05-31 20:37:20 -0700 | [diff] [blame] | 80 | # 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 Queru | 671476b | 2012-05-29 10:40:37 -0700 | [diff] [blame] | 170 | |
| 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 Queru | 671476b | 2012-05-29 10:40:37 -0700 | [diff] [blame] | 175 | 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 Kumbhar | 2d07ab3 | 2012-05-31 12:12:15 -0700 | [diff] [blame] | 182 | # 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 Queru | 671476b | 2012-05-29 10:40:37 -0700 | [diff] [blame] | 194 | # 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_huang | 7d307be | 2012-06-05 18:27:02 +0800 | [diff] [blame^] | 202 | chown gps system /sys/class/gpio/gpio162/value |
Jean-Baptiste Queru | 671476b | 2012-05-29 10:40:37 -0700 | [diff] [blame] | 203 | chmod 0664 /sys/class/gpio/gpio162/value |
| 204 | mkdir /data/gps |
jean_huang | 7d307be | 2012-06-05 18:27:02 +0800 | [diff] [blame^] | 205 | chown gps system /data/gps |
Jean-Baptiste Queru | 671476b | 2012-05-29 10:40:37 -0700 | [diff] [blame] | 206 | chmod 770 /data/gps |
jean_huang | 7d307be | 2012-06-05 18:27:02 +0800 | [diff] [blame^] | 207 | chown gps system /dev/ttyHS1 |
Jean-Baptiste Queru | 671476b | 2012-05-29 10:40:37 -0700 | [diff] [blame] | 208 | 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 |
| 222 | service btmacreader /system/bin/btmacreader |
| 223 | class main |
| 224 | oneshot |
| 225 | |
| 226 | service 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 | |
| 237 | service 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 | |
| 249 | service dhcpcd_wlan0 /system/bin/dhcpcd -aABKL |
| 250 | class main |
| 251 | disabled |
| 252 | oneshot |
| 253 | |
| 254 | service dhcpcd_p2p /system/bin/dhcpcd -aABKL |
| 255 | class main |
| 256 | disabled |
| 257 | oneshot |
| 258 | |
| 259 | service dhcpcd_eth0 /system/bin/dhcpcd -ABKL -f/system/etc/dhcpcd/dhcpcd.conf |
| 260 | class main |
| 261 | disabled |
| 262 | oneshot |
| 263 | |
| 264 | service dhcpcd_bnep0 /system/bin/dhcpcd -ABKL |
| 265 | class main |
| 266 | disabled |
| 267 | oneshot |
| 268 | |
| 269 | service iprenew_wlan0 /system/bin/dhcpcd -n |
| 270 | class main |
| 271 | disabled |
| 272 | oneshot |
| 273 | |
| 274 | service iprenew_p2p /system/bin/dhcpcd -n |
| 275 | class main |
| 276 | disabled |
| 277 | oneshot |
| 278 | |
| 279 | service 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) |
| 294 | service 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 |
| 298 | service 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 |
| 305 | service 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 Queru | 671476b | 2012-05-29 10:40:37 -0700 | [diff] [blame] | 315 | user gps |
jean_huang | 7d307be | 2012-06-05 18:27:02 +0800 | [diff] [blame^] | 316 | group system |
Jean-Baptiste Queru | 671476b | 2012-05-29 10:40:37 -0700 | [diff] [blame] | 317 | class late_start |
| 318 | |
| 319 | # Recovery daemon: configure MSC partition |
| 320 | service 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 | |
| 327 | on property:sys.shutdown.requested=1recovery |
| 328 | start recoveryd |
| 329 | |
| 330 | # start tf_daemon service |
| 331 | service 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 |
| 337 | on property:init.svc.tf_daemon=restarting |
| 338 | mkdir /data/tf |
| 339 | |
| 340 | #Raydium touch setting |
| 341 | service rm_ts_service /system/bin/rm_ts_server |
| 342 | class main |
| 343 | |
| 344 | # create filesystems if necessary |
| 345 | service 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 | |
| 353 | service 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 | |