| What: /sys/class/extcon/.../ | |
| Date: February 2012 | |
| Contact: MyungJoo Ham <myungjoo.ham@samsung.com> | |
| Description: | |
| Provide a place in sysfs for the extcon objects. | |
| This allows accessing extcon specific variables. | |
| The name of extcon object denoted as ... is the name given | |
| with extcon_dev_register. | |
| One extcon device denotes a single external connector | |
| port. An external connector may have multiple cables | |
| attached simultaneously. Many of docks, cradles, and | |
| accessory cables have such capability. For example, | |
| the 30-pin port of Nuri board (/arch/arm/mach-exynos) | |
| may have both HDMI and Charger attached, or analog audio, | |
| video, and USB cables attached simultaneously. | |
| If there are cables mutually exclusive with each other, | |
| such binary relations may be expressed with extcon_dev's | |
| mutually_exclusive array. | |
| What: /sys/class/extcon/.../name | |
| Date: February 2012 | |
| Contact: MyungJoo Ham <myungjoo.ham@samsung.com> | |
| Description: | |
| The /sys/class/extcon/.../name shows the name of the extcon | |
| object. If the extcon object has an optional callback | |
| "show_name" defined, the callback will provide the name with | |
| this sysfs node. | |
| What: /sys/class/extcon/.../state | |
| Date: February 2012 | |
| Contact: MyungJoo Ham <myungjoo.ham@samsung.com> | |
| Description: | |
| The /sys/class/extcon/.../state shows and stores the cable | |
| attach/detach information of the corresponding extcon object. | |
| If the extcon object has an optional callback "show_state" | |
| defined, the showing function is overridden with the optional | |
| callback. | |
| If the default callback for showing function is used, the | |
| format is like this: | |
| # cat state | |
| USB_OTG=1 | |
| HDMI=0 | |
| TA=1 | |
| EAR_JACK=0 | |
| # | |
| In this example, the extcon device has USB_OTG and TA | |
| cables attached and HDMI and EAR_JACK cables detached. | |
| In order to update the state of an extcon device, enter a hex | |
| state number starting with 0x: | |
| # echo 0xHEX > state | |
| This updates the whole state of the extcon device. | |
| Inputs of all the methods are required to meet the | |
| mutually_exclusive conditions if they exist. | |
| It is recommended to use this "global" state interface if | |
| you need to set the value atomically. The later state | |
| interface associated with each cable cannot update | |
| multiple cable states of an extcon device simultaneously. | |
| What: /sys/class/extcon/.../cable.x/name | |
| Date: February 2012 | |
| Contact: MyungJoo Ham <myungjoo.ham@samsung.com> | |
| Description: | |
| The /sys/class/extcon/.../cable.x/name shows the name of cable | |
| "x" (integer between 0 and 31) of an extcon device. | |
| What: /sys/class/extcon/.../cable.x/state | |
| Date: February 2012 | |
| Contact: MyungJoo Ham <myungjoo.ham@samsung.com> | |
| Description: | |
| The /sys/class/extcon/.../cable.x/state shows and stores the | |
| state of cable "x" (integer between 0 and 31) of an extcon | |
| device. The state value is either 0 (detached) or 1 | |
| (attached). | |
| What: /sys/class/extcon/.../mutually_exclusive/... | |
| Date: December 2011 | |
| Contact: MyungJoo Ham <myungjoo.ham@samsung.com> | |
| Description: | |
| Shows the relations of mutually exclusiveness. For example, | |
| if the mutually_exclusive array of extcon device is | |
| {0x3, 0x5, 0xC, 0x0}, then the output is: | |
| # ls mutually_exclusive/ | |
| 0x3 | |
| 0x5 | |
| 0xc | |
| # | |
| Note that mutually_exclusive is a sub-directory of the extcon | |
| device and the file names under the mutually_exclusive | |
| directory show the mutually-exclusive sets, not the contents | |
| of the files. |