1 // 2 // Copyright (c) 2010-2018 Antmicro 3 // Copyright (c) 2011-2015 Realtime Embedded 4 // 5 // This file is licensed under the MIT License. 6 // Full license text is available in 'licenses/MIT.txt'. 7 // 8 using System; 9 using Antmicro.Renode.UserInterface; 10 11 namespace Antmicro.Renode.Peripherals.USBDeprecated 12 { 13 [Icon("usb")] 14 public interface IUSBPeripheral : IPeripheral 15 { ClearFeature(USBPacket packet, USBSetupPacket setupPacket)16 void ClearFeature(USBPacket packet, USBSetupPacket setupPacket); 17 GetConfiguration()18 byte[] GetConfiguration(); 19 SetAddress(uint address)20 void SetAddress(uint address); 21 GetInterface(USBPacket packet, USBSetupPacket setupPacket)22 byte[] GetInterface(USBPacket packet, USBSetupPacket setupPacket); 23 GetStatus(USBPacket packet, USBSetupPacket setupPacket)24 byte[] GetStatus(USBPacket packet, USBSetupPacket setupPacket); 25 SetConfiguration(USBPacket packet, USBSetupPacket setupPacket)26 void SetConfiguration(USBPacket packet, USBSetupPacket setupPacket); 27 SetDescriptor(USBPacket packet, USBSetupPacket setupPacket)28 void SetDescriptor(USBPacket packet, USBSetupPacket setupPacket); 29 SetFeature(USBPacket packet, USBSetupPacket setupPacket)30 void SetFeature(USBPacket packet, USBSetupPacket setupPacket); 31 SetInterface(USBPacket packet, USBSetupPacket setupPacket)32 void SetInterface(USBPacket packet, USBSetupPacket setupPacket); 33 ProcessVendorGet(USBPacket packet, USBSetupPacket setupPacket)34 byte[] ProcessVendorGet(USBPacket packet, USBSetupPacket setupPacket); 35 ProcessVendorSet(USBPacket packet, USBSetupPacket setupPacket)36 void ProcessVendorSet(USBPacket packet, USBSetupPacket setupPacket); 37 ProcessClassGet(USBPacket packet, USBSetupPacket setupPacket)38 byte[] ProcessClassGet(USBPacket packet, USBSetupPacket setupPacket); 39 ProcessClassSet(USBPacket packet, USBSetupPacket setupPacket)40 void ProcessClassSet(USBPacket packet, USBSetupPacket setupPacket); 41 SetDataToggle(byte endpointNumber)42 void SetDataToggle(byte endpointNumber); 43 CleanDataToggle(byte endpointNumber)44 void CleanDataToggle(byte endpointNumber); 45 GetDataToggle(byte endpointNumber)46 bool GetDataToggle(byte endpointNumber); 47 ToggleDataToggle(byte endpointNumber)48 void ToggleDataToggle(byte endpointNumber); 49 GetAddress()50 uint GetAddress(); 51 GetSpeed()52 USBDeviceSpeed GetSpeed(); 53 WriteInterrupt(USBPacket packet)54 byte[] WriteInterrupt(USBPacket packet); 55 GetDataBulk(USBPacket packet)56 byte[] GetDataBulk(USBPacket packet); 57 GetDataControl(USBPacket packet)58 byte[] GetDataControl(USBPacket packet); 59 GetTransferStatus()60 byte GetTransferStatus(); 61 GetDescriptor(USBPacket packet, USBSetupPacket setupPacket)62 byte[] GetDescriptor(USBPacket packet, USBSetupPacket setupPacket); 63 WriteDataBulk(USBPacket packet)64 void WriteDataBulk(USBPacket packet); 65 WriteDataControl(USBPacket packet)66 void WriteDataControl(USBPacket packet); 67 68 event Action <uint> SendInterrupt ; 69 70 event Action <uint> SendPacket ; 71 } 72 } 73