What:		/sys/bus/greybus/devices/greybusN
Date:		October 2015
KernelVersion:	4.XX
Contact:	Greg Kroah-Hartman <greg@kroah.com>
Description:
		The "root" greybus device for the Greybus device tree, or bus,
		where N is a dynamically assigned 1-based id.

What:		/sys/bus/greybus/devices/greybusN/bus_id
Date:		April 2016
KernelVersion:	4.XX
Contact:	Greg Kroah-Hartman <greg@kroah.com>
Description:
		The ID of the "root" greybus device, or bus.

What:		/sys/bus/greybus/devices/N-M
Date:		March 2016
KernelVersion:	4.XX
Contact:	Greg Kroah-Hartman <greg@kroah.com>
Description:
		A Module M on the bus N, where M is the 1-byte interface
		ID of the module's primary interface.

What:		/sys/bus/greybus/devices/N-M/eject
Date:		March 2016
KernelVersion:	4.XX
Contact:	Greg Kroah-Hartman <greg@kroah.com>
Description:
		Writing a non-zero argument to this attibute disables the
		module's interfaces before physically ejecting it.

What:		/sys/bus/greybus/devices/N-M/module_id
Date:		March 2016
KernelVersion:	4.XX
Contact:	Greg Kroah-Hartman <greg@kroah.com>
Description:
		The ID of a Greybus module, corresponding to the ID of its
		primary interface.

What:		/sys/bus/greybus/devices/N-M/num_interfaces
Date:		March 2016
KernelVersion:	4.XX
Contact:	Greg Kroah-Hartman <greg@kroah.com>
Description:
		The number of interfaces of a module.

What:		/sys/bus/greybus/devices/N-M.I
Date:		October 2015
KernelVersion:	4.XX
Contact:	Greg Kroah-Hartman <greg@kroah.com>
Description:
		An Interface I on the bus N and module N-M, where I is the
		1-byte interface ID.

What:		/sys/bus/greybus/devices/N-M.I/current_now
Date:		March 2016
KernelVersion:	4.XX
Contact:	Greg Kroah-Hartman <greg@kroah.com>
Description:
		Current measurement of the interface in microamps (uA)

What:		/sys/bus/greybus/devices/N-M.I/ddbl1_manufacturer_id
Date:		October 2015
KernelVersion:	4.XX
Contact:	Greg Kroah-Hartman <greg@kroah.com>
Description:
		Unipro Device Descriptor Block Level 1 manufacturer ID for the
		greybus Interface.

What:		/sys/bus/greybus/devices/N-M.I/ddbl1_product_id
Date:		October 2015
KernelVersion:	4.XX
Contact:	Greg Kroah-Hartman <greg@kroah.com>
Description:
		Unipro Device Descriptor Block Level 1 product ID for the
		greybus Interface.

What:		/sys/bus/greybus/devices/N-M.I/interface_id
Date:		October 2015
KernelVersion:	4.XX
Contact:	Greg Kroah-Hartman <greg@kroah.com>
Description:
		The ID of a Greybus interface.

What:		/sys/bus/greybus/devices/N-M.I/interface_type
Date:		June 2016
KernelVersion:	4.XX
Contact:	Greg Kroah-Hartman <greg@kroah.com>
Description:
		The type of a Greybus interface; "dummy", "unipro", "greybus",
		or "unknown".

What:		/sys/bus/greybus/devices/N-M.I/power_now
Date:		March 2016
KernelVersion:	4.XX
Contact:	Greg Kroah-Hartman <greg@kroah.com>
Description:
		Power measurement of the interface in microwatts (uW)

What:		/sys/bus/greybus/devices/N-M.I/power_state
Date:		March 2016
KernelVersion:	4.XX
Contact:	Greg Kroah-Hartman <greg@kroah.com>
Description:
		This file reflects the power state of a Greybus interface. If
		the value read from it is "on", then power is currently
		supplied to the interface. Otherwise it will read "off" and
		power is currently not supplied to the interface.

		If the value read is "off", then writing "on" (or '1', 'y',
		'Y') to this file will enable power to the interface and an
		attempt to boot and possibly enumerate it will be made. Note
		that on errors, the interface will again be powered down.

		If the value read is "on", then writing "off" (or '0', 'n',
		'N') to this file will power down the interface.

What:		/sys/bus/greybus/devices/N-M.I/product_id
Date:		October 2015
KernelVersion:	4.XX
Contact:	Greg Kroah-Hartman <greg@kroah.com>
Description:
		Product ID of a Greybus interface.

What:		/sys/bus/greybus/devices/N-M.I/serial_number
Date:		October 2015
KernelVersion:	4.XX
Contact:	Greg Kroah-Hartman <greg@kroah.com>
Description:
		Serial Number of the Greybus interface, represented by a 64 bit
		hexadecimal number.

What:		/sys/bus/greybus/devices/N-M.I/vendor_id
Date:		October 2015
KernelVersion:	4.XX
Contact:	Greg Kroah-Hartman <greg@kroah.com>
Description:
		Vendor ID of a Greybus interface.

What:		/sys/bus/greybus/devices/N-M.I/voltage_now
Date:		March 2016
KernelVersion:	4.XX
Contact:	Greg Kroah-Hartman <greg@kroah.com>
Description:
		Voltage measurement of the interface in microvolts (uV)

What:		/sys/bus/greybus/devices/N-M.I.ctrl
Date:		October 2015
KernelVersion:	4.XX
Contact:	Greg Kroah-Hartman <greg@kroah.com>
Description:
		Abstract control device for interface I that represents the
		current mode of an enumerated Greybus interface.

What:		/sys/bus/greybus/devices/N-M.I.ctrl/product_string
Date:		October 2015
KernelVersion:	4.XX
Contact:	Greg Kroah-Hartman <greg@kroah.com>
Description:
		Product ID string of a Greybus interface.

What:		/sys/bus/greybus/devices/N-M.I.ctrl/vendor_string
Date:		October 2015
KernelVersion:	4.XX
Contact:	Greg Kroah-Hartman <greg@kroah.com>
Description:
		Vendor ID string of a Greybus interface.

What:		/sys/bus/greybus/devices/N-M.I.B
Date:		October 2015
KernelVersion:	4.XX
Contact:	Greg Kroah-Hartman <greg@kroah.com>
Description:
		A bundle B on the Interface I, B is replaced by a 1-byte
		number representing the bundle.

What:		/sys/bus/greybus/devices/N-M.I.B/bundle_class
Date:		October 2015
KernelVersion:	4.XX
Contact:	Greg Kroah-Hartman <greg@kroah.com>
Description:
		The greybus class of the bundle B.

What:		/sys/bus/greybus/devices/N-M.I.B/bundle_id
Date:		October 2015
KernelVersion:	4.XX
Contact:	Greg Kroah-Hartman <greg@kroah.com>
Description:
		The interface-unique id of the bundle B.

What:		/sys/bus/greybus/devices/N-M.I.B/gpbX
Date:		April 2016
KernelVersion:	4.XX
Contact:	Greg Kroah-Hartman <greg@kroah.com>
Description:
		The General Purpose Bridged PHY device of the bundle B,
		where X is a dynamically assigned 0-based id.

What:		/sys/bus/greybus/devices/N-M.I.B/state
Date:		October 2015
KernelVersion:	4.XX
Contact:	Greg Kroah-Hartman <greg@kroah.com>
Description:
		A bundle has a state that is managed by the userspace
		Endo process.  This file allows that Endo to signal
		other Android HALs that the state of the bundle has
		changed to a specific value.  When written to, any
		process watching the file will be woken up, and the new
		value can be read. It's a "poor-man's IPC", yes, but
		simplifies the Android userspace code immensely.

What:		/sys/bus/greybus/devices/N-svc
Date:		October 2015
KernelVersion:	4.XX
Contact:	Greg Kroah-Hartman <greg@kroah.com>
Description:
		The singleton SVC device of bus N.

What:		/sys/bus/greybus/devices/N-svc/ap_intf_id
Date:		October 2015
KernelVersion:	4.XX
Contact:	Greg Kroah-Hartman <greg@kroah.com>
Description:
		The AP interface ID, a 1-byte non-zero integer which
		defines the position of the AP module on the frame.
		The interface positions are defined in the GMP
		Module Developer Kit.

What:		/sys/bus/greybus/devices/N-svc/endo_id
Date:		October 2015
KernelVersion:	4.XX
Contact:	Greg Kroah-Hartman <greg@kroah.com>
Description:
		The Endo ID, which is a 2-byte hexadecimal value
		defined by the Endo layout scheme, documented in
		the GMP Module Developer Kit.

What:		/sys/bus/greybus/devices/N-svc/intf_eject
Date:		October 2015
KernelVersion:	4.XX
Contact:	Greg Kroah-Hartman <greg@kroah.com>
Description:
		Write the number of the interface that you wish to
		forcibly eject from the system.

What:		/sys/bus/greybus/devices/N-svc/version
Date:		October 2015
KernelVersion:	4.XX
Contact:	Greg Kroah-Hartman <greg@kroah.com>
Description:
		The version number of the firmware in the SVC device.

What:		/sys/bus/greybus/devices/N-svc/watchdog
Date:		October 2016
KernelVersion:	4.XX
Contact:	Greg Kroah-Hartman <greg@kroah.com>
Description:
		If the SVC watchdog is enabled or not.  Writing 0 to this
		file will disable the watchdog, writing 1 will enable it.

What:		/sys/bus/greybus/devices/N-svc/watchdog_action
Date:		July 2016
KernelVersion:	4.XX
Contact:	Greg Kroah-Hartman <greg@kroah.com>
Description:
		This attribute indicates the action to be performed upon SVC
		watchdog bite.

		The action can be one of the "reset" or "panic". Writing either
		one of the "reset" or "panic" will change the behavior of SVC
		watchdog bite. Default value is "reset".

		"reset" means the UniPro subsystem is to be reset.

		"panic" means SVC watchdog bite will cause kernel to panic.