ASR_BASE

Change-Id: Icf3719cc0afe3eeb3edc7fa80a2eb5199ca9dda1
diff --git a/target/linux/mmp/base-files/sbin/prod_usb_init b/target/linux/mmp/base-files/sbin/prod_usb_init
new file mode 100755
index 0000000..a89e184
--- /dev/null
+++ b/target/linux/mmp/base-files/sbin/prod_usb_init
@@ -0,0 +1,84 @@
+#!/bin/sh
+# usb_init script
+
+#wait for telephony ready
+#sleep 5
+#Enable USB configurations
+echo 0 > /sys/class/android_usb/android0/enable
+echo 2ecc > /sys/class/android_usb/android0/idVendor
+echo 3012 > /sys/class/android_usb/android0/idProduct
+echo 0100 > /sys/class/android_usb/android0/bcdDevice
+echo Asrmicro > /sys/class/android_usb/android0/iManufacturer
+
+atdl_mode=`cat /proc/cmdline | grep "LDTA="`
+if [ -n "$atdl_mode" ]; then
+	echo "!!!ATDL mode" > /dev/kmsg
+	#wait for atcmd ready
+	loop_atcmdsrv=0
+	while [ $loop_atcmdsrv -le 20 ]
+	do
+		if [ -e /tmp/atcmdsrv_ok ]; then
+			break
+		else
+			loop_atcmdsrv=$((loop_atcmdsrv+1))
+			sleep 1
+		fi
+	done
+
+	serial_atcmd AT*MRD_SN=R > /tmp/usb_mrd_sn1
+	sed -n '/MRD_SN/p' /tmp/usb_mrd_sn1 > /tmp/usb_mrd_sn2
+	MRD_SNUM=`awk -F ',' '{print $3}' /tmp/usb_mrd_sn2`
+	if [ -n "$MRD_SNUM" ]; then
+		echo "USB_MRD_SN: $MRD_SNUM" > /dev/kmsg
+		echo $MRD_SNUM > /sys/class/android_usb/android0/iSerial
+	else
+		echo 123456789ABCD > /sys/class/android_usb/android0/iSerial
+	fi
+else
+	echo 123456789ABCD > /sys/class/android_usb/android0/iSerial
+fi
+
+# iProduct will displayed on Windows
+echo Asrmicro > /sys/class/android_usb/android0/iProduct
+# store function in node functions if os detect is not compiled, 
+# otherwise the functions are stored in win7/win8/apple
+echo rndis,acm,marvell_diag,marvell_debug,adb > /sys/class/android_usb/android0/functions
+echo rndis,acm,marvell_diag,marvell_debug,adb > /sys/class/android_usb/android0/win7
+echo rndis,acm,marvell_diag,marvell_debug,adb > /sys/class/android_usb/android0/win8
+
+#PIPE mode use rndis, router mode use ncm
+pipemode=`cat /proc/cmdline | grep "PIPE=1"`
+if [ -n $pipemode ]; then
+	echo rndis,acm,marvell_diag,marvell_debug > /sys/class/android_usb/android0/olinux
+else
+	echo ncm,acm,marvell_diag,marvell_debug > /sys/class/android_usb/android0/olinux
+fi
+
+echo ncm > /sys/class/android_usb/android0/apple
+
+#below items are for enumeraton stage2
+echo rndis,acm,marvell_diag,marvell_debug > /sys/class/android_usb/android0/win7_s2
+echo rndis,acm,marvell_diag,marvell_debug > /sys/class/android_usb/android0/win8_s2
+echo rndis,acm,marvell_diag,marvell_debug > /sys/class/android_usb/android0/olinux_s2
+echo ncm > /sys/class/android_usb/android0/apple_s2
+echo win7 > /sys/class/android_usb/android0/os
+echo 239 > /sys/class/android_usb/android0/bDeviceClass
+echo Asrmicro > /sys/class/android_usb/android0/f_rndis/manufacturer
+echo 0bb4 > /sys/class/android_usb/android0/f_rndis/vendorID
+echo 1 > /sys/class/android_usb/android0/f_rndis/wceis
+echo 1 > /sys/class/android_usb/android0/f_acm/instances 
+echo 1 > /sys/class/android_usb/android0/enable
+
+#start mbim early to connect with PC, otherwise AT com port will
+#be blocked for tens of seconds
+[ -e /sys/class/android_usb/android0/win8 ] && {
+	mbim_enabled=`cat /sys/class/android_usb/android0/win8 | grep mbim`
+	if [ -n "$mbim_enabled" ]; then
+		/bin/mbim &
+	fi
+}
+
+if cat /proc/cmdline | grep "CPLOG=1" > /dev/null
+then
+	/bin/sulog &
+fi