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

FreeBSD Manual Pages

  
 
  

home | help
SD-MUX-CTRL(1)		      SD MUX User Manual		SD-MUX-CTRL(1)

NAME
       sd-mux-ctrl - control software for sd-mux devices

SYNOPSIS
       sd-mux-ctrl  [-liuortdspcmvexn?]	 [-l|--list] [-i|--info] [-u|--status]
       [-o|--show-serial]  [-r|--set-serial=STRING]   [-t|--init]   [-d|--dut]
       [-s|--ts]      [-p|--pins=INT]	  [-c|--tick]	  [-y|--dyper1=STRING]
       [-z|--dyper2=STRING]	[-m|--tick-time=INT]	  [-v|--device-id=INT]
       [-e|--device-serial=STRING]     [-x|--vendor=INT]    [-a|--product=INT]
       [-k|--device-type=STRING] [-n|--invert] [-?|--help] [--usage]

DESCRIPTION
       sd-mux-ctrl is a	tool for controlling  multiple	sd-mux	devices.  This
       tool along with the device supports the following actions:
	 1. connect SD card to DUT (Device Under Test) or to TS	(Test Server)
	 2. connect one	USB port to DUT	or TS
	 3. power off/on connected DUT
	 4.  reset connected DUT by power disconnecting	and reconnecting after
	 specified timeout

       After manufacturing, each new sd-mux device has VENDOR ID set to	0x0403
       which is	the ID of FTDI company of whose	chip (FT245RL) the  device  is
       based.  Before first real use, the device should	be given a unique ser-
       ial  number.   To do that --set-serial command must be executed.	--set-
       serial command writes additional	information and	one of them is	VENDOR
       ID.   Since  then  the device may be used without using --vendor	option
       which is	necessary until	the correct VENDOR ID is set.

OPTIONS
       -m, --tick-time
	 Set period (in	milliseconds) for --tick command.

       -v, --device-id
	 Point at device which is to be	used with selected  command.  Argument
	 for  this  option  is an integer number which is the ID of wanted de-
	 vice. It may be found in the result of	--list command.	  This	method
	 is  not  recommended for common usage as the ID may change after dis-
	 connecting and	reconnecting devices.  This method may be  helpful  in
	 particular situations when serial number is not a reliable way	of de-
	 vice addressing.

       -e, --device-serial
	 Point	at  device which is to be used with selected command. Argument
	 for this option is a string which is the serial number	of wanted  de-
	 vice.	It  may	be found in the	result of --list command.  This	is the
	 recommended way of addressing devices.

       -x, --vendor
	 Set VENDOR ID of devices which	are to be used by sd-mux-ctrl. Default
	 value is 0x04e8 which is assigned to SAMSUNG Electronics Company. De-
	 fault PRODUCT ID is equal to 0x6001 - the default FTDI	value.

       -a, --product
	 Set PRODUCT ID	of devices which are to	be used	 by  sd-mux-ctrl.  De-
	 fault value is	0x6001.

       -k, --device-type
	 Set  device  type  of sd-mux. It can be either	"sd-mux" or "sd-wire".
	 This setting is used to distinguish one type of SD-MUX	from  another.
	 "sd-mux"  is  a type of standard, full-sized SD-MUX board, while "sd-
	 wire" is a type of miniaturized version of SD-MUX with	 functionality
	 reduced to SD card multiplexing only.

       -n, --invert
	 Invert	bits given in argument of --pins command. Useful for debugging
	 purposes.

       -h, --help
	 Print short help and exit.

       --usage
	 Print list of command and options and exit.

COMMANDS
   -l, --list
	 Print	list  of  all  connected sd-mux	devices	and exit. It takes op-
	 tional	--vendor --product arguments that allow	to  use	 other	VENDOR
	 and  PRODUCT  IDs  then  the  default	ones.	The  default  value is
	 0x04e8:6001 which belongs to SAMSUNG Electronics Company.  VENDOR and
	 PRODUCT IDs are used to discover all connected	sd-mux	devices.  This
	 is  very  important  in post production (sd-mux device) phase,	before
	 first use.

   -i, --info
	 Print detailed	information about selected  device  (--device-serial).
	 Sample	output of this command:

	  VID:	   0x04e8
	  PID:	   0x6001
	  Release: 0x0600
	  Bus Powered:	90 mA
	  Manufacturer:	SRPOL
	  Product:	sd-mux
	  Serial:	odroid_u3_1
	  Checksum	: ea57
	  Internal EEPROM
	  PNP: 1
	  Channel A has	Mode UART VCP
	  C0 Function: TXLED
	  C1 Function: RXLED
	  C2 Function: TXDEN
	  C3 Function: PWREN
	  C4 Function: SLEEP

	 Shape	of  this output	depends	on libftdi library so may change along
	 with library changes.

   -u, --status
	 Print current state of	selected device. Example command with output:

	 $ sd-mux-ctrl --status	--device-serial	odroid_u3_1
	 USB connected to: DUT
	 SD connected to: DUT
	 $

	 Or:

	 $ sd-mux-ctrl --status	--device-serial	odroid_u3_1
	 Device	not initialized!
	 $

	 when the device is not	initialized after connecting to	a host.

   -o, --show-serial
	 Print serial number of	selected device.  Use  --device-id  to	select
	 wanted	 device.  This command outputs only serial number, without end
	 of line.  This	command	is useful actually only	for  scripts.  Example
	 command with output:

	 [sd-mux-ctrl-0.0.1]$ sudo sd-mux-ctrl --device-id=0 --show-serial
	 minnow_max_1[sd-mux-ctrl-0.0.1]$

   -r, --set-serial
	 Set serial number of selected device. Use --device-id or --device-se-
	 rial to select	wanted device.	Following example changes device's se-
	 rial number from AL018T40 to odroid_u3_1 :

	 [rpm]$	sudo sd-mux-ctrl --device-serial=AL018T40 --vendor=0x403 --set-serial=odroid_u3_1

	 --set-serial  command	does actually a	little bit more	than setting a
	 serial	number.	 It also writes	new values of VENDOR ID,  Product  and
	 Manufacturer.	 VENDOR	ID (VID) is set	to 0x04e8 (SAMSUNG Electronics
	 Company), Product is set to sd-mux and	Manufacturer is	set  to	 SRPOL
	 which is a short name of Samsung R&D Poland.

   -t, --init
	 Set  connected	device into well defined state.	After powering up, sd-
	 mux device is in random state.	 SD card and USB may be	connected  ei-
	 ther  to  DUT	or TS. SD card and USB are not tied together so	one of
	 them may be connected to DUT and the other one	may  be	 connected  to
	 TS.  All combinations are possible.  The most important thing here is
	 power steering. As we use bistable, two-coil relay we	have  to  make
	 sure  that  in	 stable	 state both coils are disconnected from	power.
	 Unfortunately after connecting	sd-mux to USB  host,  state  of	 power
	 control  lines	 is  unknown  so we have to set	them into correct one.
	 Init command powers off DUT and connects USB and SD card to TS. Exam-
	 ple:

	 [rpm]$	sudo sd-mux-ctrl --device-serial=odroid_u3_1 --init

   -d, --dut
	 Connect USB port and SD card to a DUT (Device Under Test)  and	 power
	 it  on.   After  executing this command the DUT should	start and load
	 image from SD card mounted in the sd-mux device.

	 Note that some	devices	won't (re)start	after execution	of  this  com-
	 mand. This is caused by SD multiplexer	chip.  When SD is connected to
	 TS  then  it is actually connected to USB SD card reader.  The	reader
	 powers	up SD card and some part of the	voltage	is transmitted to  the
	 DUT  through  SD  mux	chip.  To force	restart	one must invoke	--tick
	 command after --dut is	executed.  Odroid U3 is	an example  of	device
	 with such behavior.

	 $ sudo	sd-mux-ctrl --device-serial=odroid_u3_1	--dut
	 $ sudo	sd-mux-ctrl --device-serial=odroid_u3_1	--tick

   -s, --ts
	 Connect USB port and SD card to a TS (Test Server) and	powers off the
	 DUT  (Device  Under  Test).   After executing this command SD card is
	 connected to SD card reader at	the TS side.

	 $ sudo	sd-mux-ctrl --device-serial=odroid_u3_1	--ts

   -p, --pins
	 Set FTDI chip (FT245RL) pins to given state. --pins takes 8 bit  word
	 as an argument	and optional --invert argument inverts all bits	in the
	 given	word.	This  value,  after  optional inverting, is written to
	 FT245RL D0-D7 pins.

	 $ sudo	sd-mux-ctrl --device-serial=odroid_u3_1	--pins=0x69 --invert

   -c, --tick
	 Disconnect power from the Device Under	Test and reconnect again after
	 1000 ms.  If --tick-time is used, then	1000ms is replaced with	number
	 of milliseconds given in --tick-time argument.

	 $ sudo	sd-mux-ctrl --device-serial=odroid_u3_1	--tick --tick-time=2000

   -y, --dyper1
	 Disconnect or connect terminals of dynamic jumper. Argument "on" con-
	 nects and "off" disconnects the terminals.

	 $ sudo	sd-mux-ctrl --device-serial=odroid_u3_1	--dyper1 on

   -z, --dyper2
	 Disconnect or connect terminals of dynamic jumper. Argument "on" con-
	 nects and "off" disconnects the terminals.

	 $ sudo	sd-mux-ctrl --device-serial=odroid_u3_1	--dyper2 on

AUTHOR
       Adam Malinowski <a.malinowsk2@partner.samsung.com>.

REPORTING BUGS
       Please,	report	bugs  to  Adam	Malinowski  <a.malinowsk2@partner.sam-
       sung.com>.

Tizen				  March	2018			SD-MUX-CTRL(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=sd-mux-ctrl&sektion=1&manpath=FreeBSD+Ports+14.3.quarterly>

home | help