summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam Protsenko <semen.protsenko@linaro.org>2018-01-12 17:02:01 -0600
committerPraneeth Bajjuri <praneeth@ti.com>2018-01-12 17:02:32 -0600
commit626cf2cc64beca480fe6238f613f6d9d7b9bd781 (patch)
tree1f1131910842427f0e09614e36c8e71573ef5169
parenta07158ca417cca2b7d02d8a779e0748d213aa502 (diff)
downloadam57xevm-d-oreo-r6-core-k49-release.tar.gz
am57xevm: Sync USB init script with Hikeyd-oreo-r6-core-released-oreo-r6-core-k49-release
Sync USB init script with Hikey init.common.usb.rc. This patch fixes ADB (when using Android-O with kernel v4.9). Next changes are made: - Add sys.usb.ffs.mtp.ready=1 related changes from Hikey file ("Switch to FunctionFS userspace interface" patch) - Read UDC from /sys/class/udc/ at runtime (remove setting sys.usb.controller property manually, it's already done at runtime) - Remove "on adbd=stopped" trigger: it's already done in system/core/rootdir/init.usb.configfs.rc file Note that there is no need to revert this kernel patch anymore: usb: gadget: f_fs: Fix wrong check on reserved1 of OS_DESC_EXT_COMPAT That was a very old bug related to USB os_desc and fixed in AOSP since then. USB Gadgets are working fine on Android-O with v4.9 kernel now. Change-Id: Ic726e6989633661a8af75b24234caae299c4839e Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org> Signed-off-by: Praneeth Bajjuri <praneeth@ti.com>
-rw-r--r--init.am57xevmboard.usb.rc55
1 files changed, 25 insertions, 30 deletions
diff --git a/init.am57xevmboard.usb.rc b/init.am57xevmboard.usb.rc
index 501f2ab..7e1e068 100644
--- a/init.am57xevmboard.usb.rc
+++ b/init.am57xevmboard.usb.rc
@@ -1,56 +1,51 @@
on boot
mount configfs none /config
mkdir /config/usb_gadget/g1 0770 shell shell
- write /config/usb_gadget/g1/idVendor 0x0451
- write /config/usb_gadget/g1/idProduct 0xD101
mkdir /config/usb_gadget/g1/strings/0x409 0770 shell shell
+ write /config/usb_gadget/g1/bcdUSB 0x0200
+ write /config/usb_gadget/g1/idVendor 0x0451
+ write /config/usb_gadget/g1/bcdDevice 0x0223
+ write /config/usb_gadget/g1/strings/0x409/serialnumber ${ro.serialno}
write /config/usb_gadget/g1/strings/0x409/manufacturer ${ro.product.manufacturer}
write /config/usb_gadget/g1/strings/0x409/product ${ro.product.model}
- write /config/usb_gadget/g1/strings/0x409/serialnumber ${ro.serialno}
+ mkdir /config/usb_gadget/g1/functions/ffs.adb
+ mkdir /config/usb_gadget/g1/functions/ffs.mtp
mkdir /config/usb_gadget/g1/configs/b.1 0770 shell shell
mkdir /config/usb_gadget/g1/configs/b.1/strings/0x409 0770 shell shell
- write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "Conf 1"
+ write /config/usb_gadget/g1/os_desc/b_vendor_code 0x1
+ write /config/usb_gadget/g1/os_desc/qw_sign "MSFT100"
write /config/usb_gadget/g1/configs/b.1/MaxPower 120
-
- # Create adb+ffs gadget function
- mkdir /config/usb_gadget/g1/functions/ffs.adb 0770 shell shell
- mkdir /dev/usb-ffs 0770 shell shell
+ mkdir /dev/usb-ffs 0775 shell shell
mkdir /dev/usb-ffs/adb 0770 shell shell
mount functionfs adb /dev/usb-ffs/adb uid=2000,gid=2000
-
- # Create MTP and PTP functions
- mkdir /config/usb_gadget/g1/functions/mtp.gs0 0770 shell shell
- mkdir /config/usb_gadget/g1/functions/ptp.gs1 0770 shell shell
-
- setprop sys.usb.controller 488d0000.usb
+ mkdir /dev/usb-ffs/mtp 0770 mtp mtp
+ mount functionfs mtp /dev/usb-ffs/mtp rmode=0770,fmode=0660,uid=1024,gid=1024,no_disconnect=1
+ setprop sys.usb.mtp.device_type 3
setprop sys.usb.configfs 1
+ symlink /config/usb_gadget/g1/configs/b.1 /config/usb_gadget/g1/os_desc/b.1
on property:sys.usb.config=none && property:sys.usb.configfs=1
write /config/usb_gadget/g1/os_desc/use 0
- setprop sys.usb.ffs.ready 0
-on property:init.svc.adbd=stopped
- setprop sys.usb.ffs.ready 0
-
-on property:sys.usb.config=mtp && property:sys.usb.configfs=1
- write /config/usb_gadget/g1/functions/mtp.gs0/os_desc/interface.MTP/compatible_id "MTP"
- write /config/usb_gadget/g1/os_desc/use 1
+on property:sys.usb.ffs.mtp.ready=1 && property:sys.usb.config=mtp && property:sys.usb.configfs=1
write /config/usb_gadget/g1/idProduct 0xD108
+ write /config/usb_gadget/g1/os_desc/use 1
+ symlink /config/usb_gadget/g1/functions/ffs.mtp /config/usb_gadget/g1/configs/b.1/f1
-on property:sys.usb.config=mtp,adb && property:sys.usb.configfs=1
- write /config/usb_gadget/g1/functions/mtp.gs0/os_desc/interface.MTP/compatible_id "MTP"
-# write /config/usb_gadget/g1/os_desc/use 1
+on property:sys.usb.ffs.ready=1 && property:sys.usb.ffs.mtp.ready=1 && property:sys.usb.config=mtp,adb && property:sys.usb.configfs=1
write /config/usb_gadget/g1/idProduct 0xD109
-
-on property:sys.usb.config=ptp && property:sys.usb.configfs=1
- write /config/usb_gadget/g1/functions/ptp.gs1/os_desc/interface.MTP/compatible_id "PTP"
write /config/usb_gadget/g1/os_desc/use 1
- write /config/usb_gadget/g1/idProduct 0xD10D
+ symlink /config/usb_gadget/g1/functions/ffs.mtp /config/usb_gadget/g1/configs/b.1/f1
-on property:sys.usb.config=ptp,adb && property:sys.usb.configfs=1
- write /config/usb_gadget/g1/functions/ptp.gs1/os_desc/interface.MTP/compatible_id "PTP"
+on property:sys.usb.ffs.mtp.ready=1 && property:sys.usb.config=ptp && property:sys.usb.configfs=1
+ write /config/usb_gadget/g1/idProduct 0xD10D
write /config/usb_gadget/g1/os_desc/use 1
+ symlink /config/usb_gadget/g1/functions/ffs.mtp /config/usb_gadget/g1/configs/b.1/f1
+
+on property:sys.usb.ffs.ready=1 && property:sys.usb.ffs.mtp.ready=1 && property:sys.usb.config=ptp,adb && property:sys.usb.configfs=1
write /config/usb_gadget/g1/idProduct 0xD10E
+ write /config/usb_gadget/g1/os_desc/use 1
+ symlink /config/usb_gadget/g1/functions/ffs.mtp /config/usb_gadget/g1/configs/b.1/f1
on property:sys.usb.config=adb && property:sys.usb.configfs=1
write /config/usb_gadget/g1/idProduct 0xD101