summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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;