Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
SMP_READ_GPIO(8)		    SMP_UTILS			SMP_READ_GPIO(8)

NAME
     smp_read_gpio - invoke READ GPIO REGISTER (ENHANCED) SMP function

SYNOPSIS
     smp_read_gpio   [--count=CO]  [--enhanced]  [--help]  [--hex]  [--index=IN]
     [--interface=PARAMS]  [--raw]   [--sa=SAS_ADDR]   [--type=TY]   [--verbose]
     [--version] SMP_DEVICE[,N]

DESCRIPTION
     Sends  a  SAS  Serial  Management Protocol (SMP) READ GPIO REGISTER or READ
     GPIO REGISTER ENHANCED function request to an SMP target. The SMP target is
     identified by the SMP_DEVICE and the SAS_ADDR. Depending on the  interface,
     the  SAS_ADDR  may  be  deduced from the SMP_DEVICE. The mpt interface uses
     SMP_DEVICE to identify a HBA (an SMP initiator) and needs the additional ,N
     to differentiate between HBAs if there are multiple present.

     This function is defined in SFF-8485 ( see www.sffcommittee.com )	together
     with  its	corresponding  WRITE  GPIO REGISTER SMP function.  The other SMP
     functions are defined in SAS documents at www.t10.org .  SFF-8485 defines a
     curious device called a "virtual SMP port" that lives in a host bus adapter
     (HBA) and allows SMP to manipulate the sideband signals  on  wide	internal
     cables. To stop other initiators in a multi-initiator domain from accessing
     those sideband signals, the virtual SMP (target) port is not indicated in a
     DISCOVER response.

     For  notes  on the SMP READ GPIO REGISTER ENHANCED function see the section
     on the ENHANCED FUNCTION below.

OPTIONS
     Mandatory arguments to long options are  mandatory  for  short  options  as
     well.

     -c, --count=CO
	    where  CO is the register count. This is the number of (4 byte) reg-
	    isters to request. The default value is 1.

     -E, --enhanced
	    sends a READ GPIO REGISTER ENHANCED function request (default:  send
	    a READ GPIO REGISTER function request).

     -h, --help
	    output the usage message then exit.

     -H, --hex
	    output the response (less the CRC field) in hexadecimal.

     -i, --index=IN
	    where  IN  is  the register index. This value is origin zero and its
	    default value is 0. If the request succeeds, then --count=CO  regis-
	    ters  starting  from  --index=IN of the given --type=TY should be in
	    the response.

     -I, --interface=PARAMS
	    interface specific parameters. In this case  "interface"  refers  to
	    the  path through the operating system to the SMP initiator. See the
	    smp_utils man page for more information.

     -r, --raw
	    send the response (less the CRC field) to stdout in binary. All  er-
	    ror messages are sent to stderr.

     -s, --sa=SAS_ADDR
	    specifies  the  SAS address of the SMP target device. Typically this
	    is an expander. This option may not be needed if the SMP_DEVICE  has
	    the  target's  SAS address within it. The SAS_ADDR is in decimal but
	    most SAS addresses are shown in hexadecimal. To  give  a  number  in
	    hexadecimal either prefix it with '0x' or put a trailing 'h' on it.

     -t, --type=TY
	    where  TY  is  the register type. The default value is 0 (GPIO_CFG).
	    If the request succeeds, then  --count=CO  registers  starting  from
	    --index=IN of the given --type=TY should be in the response.

     -v, --verbose
	    increase the verbosity of the output. Can be used multiple times

     -V, --version
	    print the version string and then exit.

ENHANCED FUNCTION
     In the technical review of SAS-2 prior to standardization in this t10 docu-
     ment:  08-212r8.pdf (page 871 or 552) there is a comment that the READ GPIO
     REGISTER and WRITE GPIO REGISTER function headers (i.e. first 4  bytes)  do
     not comply with all the other SMP functions in SAS-2.

     There is a suggestion that enhanced variants be introduced in the next ver-
     sion  of  the SFF-8485 document. If that ever happened then it has not been
     made public. In SAS-2.1 both the READ and	WRITE  GPIO  REGISTER  functions
     have been made obsolete and the corresponding ENHANCED function numbers are
     "restricted" for SFF-8485.

     If  the  --enhanced  option  is  given then the ENHANCED function number is
     sent; the register type, index and count fields  (1   byte  each)	are  in-
     creased  by  two  byte positions leaving enough space for a compliant SAS-2
     SMP header to be built.

EXAMPLES
     See "Examples" section in http://sg.danny.cz/sg/smp_utils.html

CONFORMING TO
     The SMP READ GPIO REGISTER (ENHANCED) function is defined in SFF-8485  (see
     www.sffcommittee.com  ) together with its corresponding WRITE GPIO REGISTER
     (ENHANCED) SMP function.

AUTHORS
     Written by Douglas Gilbert.

REPORTING BUGS
     Report bugs to <dgilbert at interlog dot com>.

COPYRIGHT
     Copyright (C) 2006-2011 Douglas Gilbert
     This software is distributed under a FreeBSD license. There is NO warranty;
     not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

SEE ALSO
     smp_utils, smp_write_gpio(smp_utils)

smp_utils-0.97			   August 2011			SMP_READ_GPIO(8)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=smp_read_gpio&sektion=8&manpath=FreeBSD+Ports+15.1.quarterly>

home | help