Adding Ruiyu Ni

--

Thanks and Regards,

Shivamurthy Shastri,

M: +919742508553, IRC: shivamurthy,
*Linaro.org* |Open Source Software for ARM SOCs


On 18 February 2016 at 16:50, Shivamurthy Shastri <
[email protected]> wrote:

> Hi All,
>
> Please let me know your opinion about this patch.
>
> --
>
> Thanks and Regards,
>
> Shivamurthy Shastri,
>
> M: +919742508553, IRC: shiva_murthy,
> *Linaro.org* |Open Source Software for ARM SOCs
>
>
> ---------- Forwarded message ----------
> From: Shivamurthy Shastri <[email protected]>
> Date: 10 February 2016 at 19:40
> Subject: [edk2] [PATCH] Ax88772b: support for multiple dongles and chips
> To: [email protected]
> Cc: [email protected], Shivamurthy Shastri <
> [email protected]>
>
>
> Driver code is modified to support multiple ethernet dongles, which uses
> similar ASIX chips. Also, it can be used for multiple ASIX chips with
> similar register map.
>
> Enabled support for Apple Ethernet Adapter
>
> Contributed-under: TianoCore Contribution Agreement 1.0
> Signed-off-by: Shivamurthy Shastri <[email protected]>
> ---
>  .../Bus/Usb/UsbNetworking/Ax88772b/Ax88772.h       | 13 ++++++++-
>  .../Bus/Usb/UsbNetworking/Ax88772b/DriverBinding.c | 33
> +++++++++++++---------
>  2 files changed, 32 insertions(+), 14 deletions(-)
>
> diff --git a/OptionRomPkg/Bus/Usb/UsbNetworking/Ax88772b/Ax88772.h
> b/OptionRomPkg/Bus/Usb/UsbNetworking/Ax88772b/Ax88772.h
> index ab75ec2..816f2b2 100644
> --- a/OptionRomPkg/Bus/Usb/UsbNetworking/Ax88772b/Ax88772.h
> +++ b/OptionRomPkg/Bus/Usb/UsbNetworking/Ax88772b/Ax88772.h
> @@ -297,12 +297,23 @@
>  #define AN_10_HDX                       0x0020  ///<  1 = 10BASE-T support
>  #define AN_CSMA_CD                      0x0001  ///<  1 = IEEE 802.3
> CSMA/CD support
>
> -
> +/* asix_flags defines */
> +#define FLAG_NONE                       0
> +#define FLAG_TYPE_AX88172       (1U << 0)
> +#define FLAG_TYPE_AX88772       (1U << 1)
> +#define FLAG_TYPE_AX88772B      (1U << 2)
> +#define FLAG_EEPROM_MAC         (1U << 3) /* initial mac address in
> eeprom */
>
>
>  
> //------------------------------------------------------------------------------
>  //  Data Types
>
>  
> //------------------------------------------------------------------------------
>
> +struct ASIX_DONGLE {
> +       UINT16  VendorId;
> +       UINT16  ProductId;
> +       INT32   Flags;
> +};
> +
>  /**
>    Ethernet header layout
>
> diff --git a/OptionRomPkg/Bus/Usb/UsbNetworking/Ax88772b/DriverBinding.c
> b/OptionRomPkg/Bus/Usb/UsbNetworking/Ax88772b/DriverBinding.c
> index 3b73040..6a10cbf 100644
> --- a/OptionRomPkg/Bus/Usb/UsbNetworking/Ax88772b/DriverBinding.c
> +++ b/OptionRomPkg/Bus/Usb/UsbNetworking/Ax88772b/DriverBinding.c
> @@ -14,6 +14,13 @@
>
>  #include "Ax88772.h"
>
> +struct ASIX_DONGLE ASIX_DONGLES[] = {
> +        { 0x05AC, 0x1402, FLAG_TYPE_AX88772 }, /* Apple USB Ethernet
> Adapter */
> +        /* ASIX 88772B */
> +        { 0x0B95, 0x772B, FLAG_TYPE_AX88772B | FLAG_EEPROM_MAC },
> +        { 0x0000, 0x0000, FLAG_NONE }   /* END - Do not remove */
> +};
> +
>  /**
>    Verify the controller type
>
> @@ -36,6 +43,8 @@ DriverSupported (
>    EFI_USB_DEVICE_DESCRIPTOR Device;
>    EFI_USB_IO_PROTOCOL * pUsbIo;
>    EFI_STATUS Status;
> +  UINT32 i;
> +
>    //
>    //  Connect to the USB stack
>    //
> @@ -60,19 +69,17 @@ DriverSupported (
>      else {
>        //
>        //  Validate the adapter
> -      //
> -      if ( VENDOR_ID == Device.IdVendor ) {
> -
> -        if (PRODUCT_ID == Device.IdProduct) {
> -            DEBUG ((EFI_D_INFO, "Found the AX88772B\r\n"));
> -        }
> -                   else  {
> -                            Status = EFI_UNSUPPORTED;
> -                   }
> -      }
> -           else {
> -                     Status = EFI_UNSUPPORTED;
> -       }
> +      //
> +      for (i = 0; ASIX_DONGLES[i].VendorId != 0; i++) {
> +           if (ASIX_DONGLES[i].VendorId == Device.IdVendor &&
> +               ASIX_DONGLES[i].ProductId == Device.IdProduct) {
> +                     DEBUG ((EFI_D_INFO, "Found the AX88772B\r\n"));
> +                     break;
> +           }
> +       }
> +
> +       if (ASIX_DONGLES[i].VendorId == 0)
> +               Status = EFI_UNSUPPORTED;
>      }
>
>      //
> --
> 1.9.1
>
>
>
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to