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 tar-
       get 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 in-
       terface	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 ) to-
       gether 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  vir-
       tual SMP	(target) port is not indicated in a DISCOVER response.

       For  notes on the SMP READ GPIO REGISTER	ENHANCED function see the sec-
       tion 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)
	      registers	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
	      registers	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
	      error 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
       document:  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
       version 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	 func-
       tion 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  war-
       ranty;  not  even  for MERCHANTABILITY or FITNESS FOR A PARTICULAR PUR-
       POSE.

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.0>

home | help