1 /* 2 * ASIX AX88172/AX88772/AX88178 USB 2.0 Ethernet Driver. 3 * Copyright (c) 2008, 2011 S.Zharski <imker@gmx.li> 4 * Distributed under the terms of the MIT license. 5 * 6 * Heavily based on code of the 7 * Driver for USB Ethernet Control Model devices 8 * Copyright (C) 2008 Michael Lotz <mmlr@mlotz.ch> 9 * Distributed under the terms of the MIT license. 10 * 11 */ 12 #ifndef _USB_AX88772_DEVICE_H_ 13 #define _USB_AX88772_DEVICE_H_ 14 15 16 #include "ASIXDevice.h" 17 18 19 class AX88772Device : public ASIXDevice { 20 public: 21 AX88772Device(usb_device device, DeviceInfo& info); 22 protected: 23 status_t InitDevice(); 24 virtual status_t SetupDevice(bool deviceReplugged); 25 virtual status_t StartDevice(); 26 virtual status_t OnNotify(uint32 actualLength); 27 virtual status_t GetLinkState(ether_link_state *state); 28 virtual status_t ReadMACAddress(ether_address_t *address); 29 30 status_t _WakeupPHY(); 31 status_t _SetupAX88772(); 32 status_t _SetupAX88772A(); 33 status_t _SetupAX88772B(); 34 }; 35 36 #endif // _USB_AX88772_DEVICE_H_ 37