support usb gadget rndis
authoryangkai <yangkai@ubuntu-fs>
Wed, 29 Jun 2011 09:30:12 +0000 (17:30 +0800)
committeryangkai <yangkai@ubuntu-fs>
Wed, 29 Jun 2011 09:30:12 +0000 (17:30 +0800)
arch/arm/mach-rk29/board-rk29sdk.c
arch/arm/mach-rk29/devices.c
arch/arm/mach-rk29/devices.h
drivers/usb/dwc_otg/dwc_otg_pcd.c

index dda402b17a9a340ed611f07c36885ecd3f1c4a38..5cb5c67cfd2afa601ac27ed66f234f3165d39c11 100755 (executable)
@@ -1430,6 +1430,9 @@ static struct platform_device *devices[] __initdata = {
        &android_usb_device,
        &usb_mass_storage_device,
 #endif
+#ifdef CONFIG_USB_ANDROID_RNDIS
+    &rk29_device_rndis,
+#endif
 #ifdef CONFIG_RK29_IPP
        &rk29_device_ipp,
 #endif
index 365faf78660e7bc0352f1b36fbd210193761cce7..5e6788919120b76b297be9677dcc59c8ac34fce0 100755 (executable)
@@ -713,6 +713,23 @@ struct platform_device usb_mass_storage_device = {
        },
 };
 #endif
+
+
+static struct usb_ether_platform_data rndis_pdata = {
+       /* ethaddr is filled by board_serialno_setup */
+       .ethaddr    = {0xf0, 0xde, 0xf1, 0x42, 0xe8, 0x10},
+       .vendorID       = 0x22b8,// moto xt701 //0x2207,
+       .vendorDescr    = "RockChip",
+};
+
+struct platform_device rk29_device_rndis = {
+       .name   = "rndis",
+       .id     = -1,
+       .dev    = {
+               .platform_data = &rndis_pdata,
+       },
+};
+
 #ifdef CONFIG_USB11_HOST
 static struct resource usb11_host_resource[] = {
     {
index 2a27e72a2b4aa9a0f652a780d375c482ad89f2ea..8cf367dbd4ab72bab0e004a2147c6d2bfa92fdc6 100755 (executable)
@@ -72,6 +72,7 @@ extern struct platform_device rk29_device_usb11_host;
 extern struct platform_device android_usb_device;
 extern struct usb_mass_storage_platform_data mass_storage_pdata;
 extern struct platform_device usb_mass_storage_device;
+extern struct platform_device rk29_device_rndis;
 extern struct platform_device rk29_device_vmac;
 extern struct rk29_vmac_platform_data rk29_vmac_pdata;
 extern struct platform_device rk29_device_ipp;
index bc301ec51ad11a7fddac1df58e4e54aad8a5677f..8eb9face90966b2bad5704308c33651a277abda0 100755 (executable)
@@ -1826,6 +1826,7 @@ int dwc_otg_pcd_init(struct device *dev)
        
        pcd->gadget.dev.parent = dev;
        pcd->gadget.dev.release = dwc_otg_pcd_gadget_release;
+       pcd->gadget.dev.init_name= "gadget";
        pcd->gadget.ops = &dwc_otg_pcd_ops;
        
        pcd->gadget.is_dualspeed = 0;