diff --git a/device/rockchip/common/rootdir/init.rk30board.usb.rc b/device/rockchip/common/rootdir/init.rk30board.usb.rc
index 241edb32933..b037f535a71 100644
--- a/device/rockchip/common/rootdir/init.rk30board.usb.rc
+++ b/device/rockchip/common/rootdir/init.rk30board.usb.rc
@@ -4,7 +4,7 @@ on boot
     mkdir /dev/usb-ffs/mtp 0770 mtp mtp
     mkdir /dev/usb-ffs/ptp 0770 mtp mtp
     mount configfs none /config
-    mkdir /config/usb_gadget/g1 0770 shell shell
+    mkdir /config/usb_gadget/g1 0770 media camera
     write /config/usb_gadget/g1/idVendor 0x2207
     write /config/usb_gadget/g1/bcdDevice 0x0310
     write /config/usb_gadget/g1/bcdUSB 0x0200
@@ -19,65 +19,121 @@ on boot
     mkdir /config/usb_gadget/g1/functions/ffs.ptp
     mkdir /config/usb_gadget/g1/functions/rndis.gs4
     write /config/usb_gadget/g1/functions/rndis.gs4/wceis 1
-    mkdir /config/usb_gadget/g1/functions/ncm.gs7
     mkdir /config/usb_gadget/g1/functions/midi.gs5
     mkdir /config/usb_gadget/g1/functions/uvc.gs6
+    write /config/usb_gadget/g1/functions/uvc.gs6/streaming_maxpacket 3072
     mkdir /config/usb_gadget/g1/functions/uvc.gs6/control/header/h
     symlink /config/usb_gadget/g1/functions/uvc.gs6/control/header/h \
     /config/usb_gadget/g1/functions/uvc.gs6/control/class/fs/h
     symlink /config/usb_gadget/g1/functions/uvc.gs6/control/header/h \
     /config/usb_gadget/g1/functions/uvc.gs6/control/class/ss/h
     mkdir /config/usb_gadget/g1/functions/uvc.gs6/streaming/uncompressed/u
-    mkdir /config/usb_gadget/g1/functions/uvc.gs6/streaming/uncompressed/u/360p
-    write /config/usb_gadget/g1/functions/uvc.gs6/streaming/uncompressed/u/360p/dwFrameInterval \
-"666666
+    mkdir /config/usb_gadget/g1/functions/uvc.gs6/streaming/mjpeg/m
+    mkdir /config/usb_gadget/g1/functions/uvc.gs6/streaming/framebased/f
+    #Format:YUYV  Resolution:640x480 Frame:30/15/10/5
+    mkdir /config/usb_gadget/g1/functions/uvc.gs6/streaming/uncompressed/u/480p
+    write /config/usb_gadget/g1/functions/uvc.gs6/streaming/uncompressed/u/480p/wWidth 640
+    write /config/usb_gadget/g1/functions/uvc.gs6/streaming/uncompressed/u/480p/wHeight 480
+    write /config/usb_gadget/g1/functions/uvc.gs6/streaming/uncompressed/u/480p/dwDefaultFrameInterval 333333
+    write /config/usb_gadget/g1/functions/uvc.gs6/streaming/uncompressed/u/480p/dwFrameInterval \
+"333333
+666666
 1000000
 2000000"
+
+    #Format:YUYV  Resolution:1280x720 Frame:30/15/10/5
     mkdir /config/usb_gadget/g1/functions/uvc.gs6/streaming/uncompressed/u/720p
     write /config/usb_gadget/g1/functions/uvc.gs6/streaming/uncompressed/u/720p/wWidth 1280
     write /config/usb_gadget/g1/functions/uvc.gs6/streaming/uncompressed/u/720p/wHeight 720
     write /config/usb_gadget/g1/functions/uvc.gs6/streaming/uncompressed/u/720p/dwDefaultFrameInterval 1000000
-    write /config/usb_gadget/g1/functions/uvc.gs6/streaming/uncompressed/u/720p/dwMinBitRate 73728000
-    write /config/usb_gadget/g1/functions/uvc.gs6/streaming/uncompressed/u/720p/dwMaxBitRate 147456000
-    write /config/usb_gadget/g1/functions/uvc.gs6/streaming/uncompressed/u/720p/dwMaxVideoFrameBufferSize 1843200
     write /config/usb_gadget/g1/functions/uvc.gs6/streaming/uncompressed/u/720p/dwFrameInterval \
-"1000000
+"333333
+666666
+1000000
 2000000"
-    mkdir /config/usb_gadget/g1/functions/uvc.gs6/streaming/uncompressed/u/960p
-    write /config/usb_gadget/g1/functions/uvc.gs6/streaming/uncompressed/u/960p/wWidth 1280
-    write /config/usb_gadget/g1/functions/uvc.gs6/streaming/uncompressed/u/960p/wHeight 960
-    write /config/usb_gadget/g1/functions/uvc.gs6/streaming/uncompressed/u/960p/dwDefaultFrameInterval 1000000
-    write /config/usb_gadget/g1/functions/uvc.gs6/streaming/uncompressed/u/960p/dwMinBitRate 98304000
-    write /config/usb_gadget/g1/functions/uvc.gs6/streaming/uncompressed/u/960p/dwMaxBitRate 196608000
-    write /config/usb_gadget/g1/functions/uvc.gs6/streaming/uncompressed/u/960p/dwMaxVideoFrameBufferSize 2457600
-    write /config/usb_gadget/g1/functions/uvc.gs6/streaming/uncompressed/u/960p/dwFrameInterval \
-"1000000
+    #Format:YUYV  Resolution:1920x1080 Frame:30/15/10/5
+    mkdir /config/usb_gadget/g1/functions/uvc.gs6/streaming/uncompressed/u/1080p
+    write /config/usb_gadget/g1/functions/uvc.gs6/streaming/uncompressed/u/1080p/wWidth 1920
+    write /config/usb_gadget/g1/functions/uvc.gs6/streaming/uncompressed/u/1080p/wHeight 1080
+    write /config/usb_gadget/g1/functions/uvc.gs6/streaming/uncompressed/u/1080p/dwDefaultFrameInterval 1000000
+    write /config/usb_gadget/g1/functions/uvc.gs6/streaming/uncompressed/u/1080p/dwFrameInterval \
+"333333
+666666
+1000000
 2000000"
-    mkdir /config/usb_gadget/g1/functions/uvc.gs6/streaming/mjpeg/m
+    #Format:MJPEG  Resolution:640x480 Frame:30/15/10/5
+    mkdir /config/usb_gadget/g1/functions/uvc.gs6/streaming/mjpeg/m/480p
+    write /config/usb_gadget/g1/functions/uvc.gs6/streaming/mjpeg/m/480p/wWidth 640
+    write /config/usb_gadget/g1/functions/uvc.gs6/streaming/mjpeg/m/480p/wHeight 480
+    write /config/usb_gadget/g1/functions/uvc.gs6/streaming/mjpeg/m/480p/dwDefaultFrameInterval 333333
+    write /config/usb_gadget/g1/functions/uvc.gs6/streaming/mjpeg/m/480p/dwFrameInterval \
+"333333
+666666
+1000000
+2000000"
+
+    #Format:MJPEG  Resolution:1280x720 Frame:30/15/10/5
     mkdir /config/usb_gadget/g1/functions/uvc.gs6/streaming/mjpeg/m/720p
     write /config/usb_gadget/g1/functions/uvc.gs6/streaming/mjpeg/m/720p/wWidth 1280
     write /config/usb_gadget/g1/functions/uvc.gs6/streaming/mjpeg/m/720p/wHeight 720
-    write /config/usb_gadget/g1/functions/uvc.gs6/streaming/mjpeg/m/720p/dwDefaultFrameInterval 1000000
-    write /config/usb_gadget/g1/functions/uvc.gs6/streaming/mjpeg/m/720p/dwMinBitRate 73728000
-    write /config/usb_gadget/g1/functions/uvc.gs6/streaming/mjpeg/m/720p/dwMaxBitRate 147456000
-    write /config/usb_gadget/g1/functions/uvc.gs6/streaming/mjpeg/m/720p/dwMaxVideoFrameBufferSize 1843200
+    write /config/usb_gadget/g1/functions/uvc.gs6/streaming/mjpeg/m/720p/dwDefaultFrameInterval 333333
     write /config/usb_gadget/g1/functions/uvc.gs6/streaming/mjpeg/m/720p/dwFrameInterval \
-"1000000
+"333333
+666666
+1000000
+2000000"
+
+    #Format:MJPEG  Resolution:1920x1080 Frame:30/15/10/5
+    mkdir /config/usb_gadget/g1/functions/uvc.gs6/streaming/mjpeg/m/1080p
+    write /config/usb_gadget/g1/functions/uvc.gs6/streaming/mjpeg/m/1080p/wWidth 1920
+    write /config/usb_gadget/g1/functions/uvc.gs6/streaming/mjpeg/m/1080p/wHeight 1080
+    write /config/usb_gadget/g1/functions/uvc.gs6/streaming/mjpeg/m/1080p/dwDefaultFrameInterval 333333
+    write /config/usb_gadget/g1/functions/uvc.gs6/streaming/mjpeg/m/1080p/dwFrameInterval \
+"333333
+666666
+1000000
 2000000"
-    mkdir /config/usb_gadget/g1/functions/uvc.gs6/streaming/mjpeg/m/960p
-    write /config/usb_gadget/g1/functions/uvc.gs6/streaming/mjpeg/m/960p/wWidth 1280
-    write /config/usb_gadget/g1/functions/uvc.gs6/streaming/mjpeg/m/960p/wHeight 960
-    write /config/usb_gadget/g1/functions/uvc.gs6/streaming/mjpeg/m/960p/dwMinBitRate 98304000
-    write /config/usb_gadget/g1/functions/uvc.gs6/streaming/mjpeg/m/960p/dwMaxBitRate 196608000
-    write /config/usb_gadget/g1/functions/uvc.gs6/streaming/mjpeg/m/960p/dwMaxVideoFrameBufferSize 2457600
-    write /config/usb_gadget/g1/functions/uvc.gs6/streaming/mjpeg/m/960p/dwFrameInterval \
-"1000000
+
+    #Format:H.264  Resolution:1280x720 Frame:30/15/10/5
+    mkdir /config/usb_gadget/g1/functions/uvc.gs6/streaming/framebased/f/720p
+    write /config/usb_gadget/g1/functions/uvc.gs6/streaming/framebased/f/720p/wWidth 1280
+    write /config/usb_gadget/g1/functions/uvc.gs6/streaming/framebased/f/720p/wHeight 720
+    write /config/usb_gadget/g1/functions/uvc.gs6/streaming/framebased/f/720p/dwDefaultFrameInterval 333333
+    write /config/usb_gadget/g1/functions/uvc.gs6/streaming/framebased/f/720p/dwFrameInterval \
+"333333
+666666
+1000000
+2000000"
+
+    #Format:H.264  Resolution:1920x1080 Frame:30/15/10/5
+    mkdir /config/usb_gadget/g1/functions/uvc.gs6/streaming/framebased/f/1080p
+    write /config/usb_gadget/g1/functions/uvc.gs6/streaming/framebased/f/1080p/wWidth 1920
+    write /config/usb_gadget/g1/functions/uvc.gs6/streaming/framebased/f/1080p/wHeight 1080
+    write /config/usb_gadget/g1/functions/uvc.gs6/streaming/framebased/f/1080p/dwDefaultFrameInterval 333333
+    write /config/usb_gadget/g1/functions/uvc.gs6/streaming/framebased/f/1080p/dwFrameInterval \
+"333333
+666666
+1000000
+2000000"
+
+    #Format:H.264  Resolution:3840x2160 Frame:30/15/10/5
+    mkdir /config/usb_gadget/g1/functions/uvc.gs6/streaming/framebased/f/2160p
+    write /config/usb_gadget/g1/functions/uvc.gs6/streaming/framebased/f/2160p/wWidth 3840
+    write /config/usb_gadget/g1/functions/uvc.gs6/streaming/framebased/f/2160p/wHeight 2160
+    write /config/usb_gadget/g1/functions/uvc.gs6/streaming/framebased/f/2160p/dwDefaultFrameInterval 333333
+    write /config/usb_gadget/g1/functions/uvc.gs6/streaming/framebased/f/2160p/dwFrameInterval \
+"333333
+666666
+1000000
 2000000"
+
     mkdir /config/usb_gadget/g1/functions/uvc.gs6/streaming/header/h
     symlink /config/usb_gadget/g1/functions/uvc.gs6/streaming/uncompressed/u \
     /config/usb_gadget/g1/functions/uvc.gs6/streaming/header/h/u
     symlink /config/usb_gadget/g1/functions/uvc.gs6/streaming/mjpeg/m \
     /config/usb_gadget/g1/functions/uvc.gs6/streaming/header/h/m
+    symlink /config/usb_gadget/g1/functions/uvc.gs6/streaming/framebased/f \
+    /config/usb_gadget/g1/functions/uvc.gs6/streaming/header/h/f
     symlink /config/usb_gadget/g1/functions/uvc.gs6/streaming/header/h \
     /config/usb_gadget/g1/functions/uvc.gs6/streaming/class/fs/h
     symlink /config/usb_gadget/g1/functions/uvc.gs6/streaming/header/h \
@@ -153,10 +209,3 @@ on property:sys.usb.config=accessory && property:sys.usb.configfs=1
 on property:sys.usb.config=accessory,adb && property:sys.usb.configfs=1
     write /config/usb_gadget/g1/idVendor 0x18d1
     write /config/usb_gadget/g1/idProduct 0x2d01
-
-on property:sys.usb.config=ncm && property:sys.usb.configfs=1
-    write /config/usb_gadget/g1/idProduct 0x000A
-
-on property:sys.usb.config=ncm,adb && property:sys.usb.configfs=1
-    write /config/usb_gadget/g1/os_desc/use 1
-    write /config/usb_gadget/g1/idProduct 0x001A