Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0+ */
0002 /************************************************************************
0003  *
0004  *  io_edgeport.h   Edgeport Linux Interface definitions
0005  *
0006  *  Copyright (C) 2000 Inside Out Networks, Inc.
0007  *
0008  ************************************************************************/
0009 
0010 #if !defined(_IO_EDGEPORT_H_)
0011 #define _IO_EDGEPORT_H_
0012 
0013 #define MAX_RS232_PORTS     8   /* Max # of RS-232 ports per device */
0014 
0015 /* typedefs that the insideout headers need */
0016 #ifndef LOW8
0017     #define LOW8(a)     ((unsigned char)(a & 0xff))
0018 #endif
0019 #ifndef HIGH8
0020     #define HIGH8(a)    ((unsigned char)((a & 0xff00) >> 8))
0021 #endif
0022 
0023 #include "io_usbvend.h"
0024 
0025 /*
0026  *  Product information read from the Edgeport
0027  */
0028 struct edgeport_product_info {
0029     __u16   ProductId;          /* Product Identifier */
0030     __u8    NumPorts;           /* Number of ports on edgeport */
0031     __u8    ProdInfoVer;            /* What version of structure is this? */
0032 
0033     __u32   IsServer        :1;     /* Set if Server */
0034     __u32   IsRS232         :1;     /* Set if RS-232 ports exist */
0035     __u32   IsRS422         :1;     /* Set if RS-422 ports exist */
0036     __u32   IsRS485         :1;     /* Set if RS-485 ports exist */
0037     __u32   IsReserved      :28;        /* Reserved for later expansion */
0038 
0039     __u8    RomSize;            /* Size of ROM/E2PROM in K */
0040     __u8    RamSize;            /* Size of external RAM in K */
0041     __u8    CpuRev;             /* CPU revision level (chg only if s/w visible) */
0042     __u8    BoardRev;           /* PCB revision level (chg only if s/w visible) */
0043 
0044     __u8    BootMajorVersion;       /* Boot Firmware version: xx. */
0045     __u8    BootMinorVersion;       /*            yy. */
0046     __le16  BootBuildNumber;        /*            zzzz (LE format) */
0047 
0048     __u8    FirmwareMajorVersion;       /* Operational Firmware version:xx. */
0049     __u8    FirmwareMinorVersion;       /*              yy. */
0050     __le16  FirmwareBuildNumber;        /*              zzzz (LE format) */
0051 
0052     __u8    ManufactureDescDate[3];     /* MM/DD/YY when descriptor template was compiled */
0053     __u8    HardwareType;
0054 
0055     __u8    iDownloadFile;          /* What to download to EPiC device */
0056     __u8    EpicVer;            /* What version of EPiC spec this device supports */
0057 
0058     struct edge_compatibility_bits Epic;
0059 };
0060 
0061 #endif