blob: 15467cc21c2619e3a1cf43f1653a61fd09c7cc34 [file] [log] [blame]
Mike Lockwood4f5d5172012-04-04 11:26:59 -07001# Copyright (C) 2012 The Android Open Source Project
2#
3# USB configuration common for all android devices
4#
5
6on post-fs-data
7 chown system system /sys/class/android_usb/android0/f_mass_storage/lun/file
8 chmod 0660 /sys/class/android_usb/android0/f_mass_storage/lun/file
9 chown system system /sys/class/android_usb/android0/f_rndis/ethaddr
10 chmod 0660 /sys/class/android_usb/android0/f_rndis/ethaddr
11
12# Used to disable USB when switching states
13on property:sys.usb.config=none
14 stop adbd
15 write /sys/class/android_usb/android0/enable 0
16 write /sys/class/android_usb/android0/bDeviceClass 0
17 setprop sys.usb.state ${sys.usb.config}
18
19# adb only USB configuration
20# This should only be used during device bringup
21# and as a fallback if the USB manager fails to set a standard configuration
22on property:sys.usb.config=adb
23 write /sys/class/android_usb/android0/enable 0
24 write /sys/class/android_usb/android0/idVendor 18d1
25 write /sys/class/android_usb/android0/idProduct D002
26 write /sys/class/android_usb/android0/functions ${sys.usb.config}
27 write /sys/class/android_usb/android0/enable 1
28 start adbd
29 setprop sys.usb.state ${sys.usb.config}
30
31# USB accessory configuration
32on property:sys.usb.config=accessory
33 write /sys/class/android_usb/android0/enable 0
34 write /sys/class/android_usb/android0/idVendor 18d1
35 write /sys/class/android_usb/android0/idProduct 2d00
36 write /sys/class/android_usb/android0/functions ${sys.usb.config}
37 write /sys/class/android_usb/android0/enable 1
38 setprop sys.usb.state ${sys.usb.config}
39
40# USB accessory configuration, with adb
41on property:sys.usb.config=accessory,adb
42 write /sys/class/android_usb/android0/enable 0
43 write /sys/class/android_usb/android0/idVendor 18d1
44 write /sys/class/android_usb/android0/idProduct 2d01
45 write /sys/class/android_usb/android0/functions ${sys.usb.config}
46 write /sys/class/android_usb/android0/enable 1
47 start adbd
48 setprop sys.usb.state ${sys.usb.config}
49
50# audio accessory configuration
51on property:sys.usb.config=audio_source
52 write /sys/class/android_usb/android0/enable 0
53 write /sys/class/android_usb/android0/idVendor 18d1
54 write /sys/class/android_usb/android0/idProduct 2d02
55 write /sys/class/android_usb/android0/functions ${sys.usb.config}
56 write /sys/class/android_usb/android0/enable 1
57 setprop sys.usb.state ${sys.usb.config}
58
59# audio accessory configuration, with adb
60on property:sys.usb.config=audio_source,adb
61 write /sys/class/android_usb/android0/enable 0
62 write /sys/class/android_usb/android0/idVendor 18d1
63 write /sys/class/android_usb/android0/idProduct 2d03
64 write /sys/class/android_usb/android0/functions ${sys.usb.config}
65 write /sys/class/android_usb/android0/enable 1
66 start adbd
67 setprop sys.usb.state ${sys.usb.config}
68
69# USB and audio accessory configuration
70on property:sys.usb.config=accessory,audio_source
71 write /sys/class/android_usb/android0/enable 0
72 write /sys/class/android_usb/android0/idVendor 18d1
73 write /sys/class/android_usb/android0/idProduct 2d04
74 write /sys/class/android_usb/android0/functions ${sys.usb.config}
75 write /sys/class/android_usb/android0/enable 1
76 setprop sys.usb.state ${sys.usb.config}
77
78# USB and audio accessory configuration, with adb
79on property:sys.usb.config=accessory,audio_source,adb
80 write /sys/class/android_usb/android0/enable 0
81 write /sys/class/android_usb/android0/idVendor 18d1
82 write /sys/class/android_usb/android0/idProduct 2d05
83 write /sys/class/android_usb/android0/functions ${sys.usb.config}
84 write /sys/class/android_usb/android0/enable 1
85 start adbd
86 setprop sys.usb.state ${sys.usb.config}
87
88# Used to set USB configuration at boot and to switch the configuration
89# when changing the default configuration
90on property:persist.sys.usb.config=*
Mike Lockwood4f5d5172012-04-04 11:26:59 -070091 setprop sys.usb.config ${persist.sys.usb.config}