summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorleozwang <leozwang@google.com>2016-01-13 13:55:29 -0800
committerLeo Wang <leozwang@google.com>2016-01-14 18:49:59 +0000
commitb226cac02fee67f09a7eb5b847710c6207675e0f (patch)
treedc398c245068ce767e65c07bca40daa08dc25bea
parent3e87f313818ba4502cf14e6b3a88b9e58e1bc3b0 (diff)
downloadkylin-b226cac02fee67f09a7eb5b847710c6207675e0f.tar.gz
Initial enable ADB.
Bug: 26041478 Changes in userspace. I fixed serial number in this CL, will file a bug and ask Rockchip to solve it properly. Change-Id: I977504ff86a34171b6053f150d79e3017878f156
-rw-r--r--init.rk3036.rc31
-rw-r--r--sepolicy/init.te2
-rw-r--r--sepolicy/kernel.te4
-rw-r--r--sepolicy/shell.te2
4 files changed, 38 insertions, 1 deletions
diff --git a/init.rk3036.rc b/init.rk3036.rc
index acd83ab..6762ded 100644
--- a/init.rk3036.rc
+++ b/init.rk3036.rc
@@ -16,7 +16,36 @@
on fs
mount_all /fstab.${ro.hardware}
+
+ mount configfs none /sys/kernel/config
+ mkdir /sys/kernel/config/usb_gadget/g1
+ mkdir /sys/kernel/config/usb_gadget/g1/functions/ffs.adb
+
mkdir /dev/usb-ffs 0770 shell shell
mkdir /dev/usb-ffs/adb 0770 shell shell
mount functionfs adb /dev/usb-ffs/adb uid=2000,gid=2000
- write /sys/class/android_usb/android0/f_ffs/aliases adb
+
+ write /sys/kernel/config/usb_gadget/g1/idVendor 0x2207
+ write /sys/kernel/config/usb_gadget/g1/idProduct 0x0006
+ mkdir /sys/kernel/config/usb_gadget/g1/strings/0x409
+ write /sys/kernel/config/usb_gadget/g1/strings/0x409/serialnumber "0123456789"
+ write /sys/kernel/config/usb_gadget/g1/strings/0x409/manufacturer "ROCKCHIP"
+ write /sys/kernel/config/usb_gadget/g1/strings/0x409/product "ADB Gadget"
+
+ mkdir /sys/kernel/config/usb_gadget/g1/configs/c.1
+ mkdir /sys/kernel/config/usb_gadget/g1/configs/c.1/strings/0x409
+ write /sys/kernel/config/usb_gadget/g1/configs/c.1/strings/0x409/configuration "Conf 1"
+ symlink /sys/kernel/config/usb_gadget/g1/functions/ffs.adb /sys/kernel/config/usb_gadget/g1/configs/c.1/ffs.adb
+ start adbd
+
+on property:sys.usb.config=adb
+ write /sys/kernel/config/usb_gadget/g1/UDC "10180000.usb"
+ write /sys/class/udc/10180000.usb/soft_connect "disconnect"
+ write /sys/class/udc/10180000.usb/soft_connect "connect"
+ setprop sys.usb.state ${sys.usb.config}
+
+on property:usb_speed.switch=high
+ write /sys/kernel/debug/10180000.usb/config "0"
+
+on property:usb_speed.switch=full
+ write /sys/kernel/debug/10180000.usb/config "1"
diff --git a/sepolicy/init.te b/sepolicy/init.te
new file mode 100644
index 0000000..76aecb0
--- /dev/null
+++ b/sepolicy/init.te
@@ -0,0 +1,2 @@
+#============= init ==============
+allow init sysfs:dir write;
diff --git a/sepolicy/kernel.te b/sepolicy/kernel.te
new file mode 100644
index 0000000..3e391fd
--- /dev/null
+++ b/sepolicy/kernel.te
@@ -0,0 +1,4 @@
+#============= kernel ==============
+allow kernel device:blk_file { create setattr };
+allow kernel device:dir { write add_name };
+allow kernel self:capability mknod;
diff --git a/sepolicy/shell.te b/sepolicy/shell.te
new file mode 100644
index 0000000..cda03ec
--- /dev/null
+++ b/sepolicy/shell.te
@@ -0,0 +1,2 @@
+#============= unlabeled ==============
+allow unlabeled self:filesystem associate;