blob: 57a726232912e46ae61adfc545ace17d25023558 [file] [log] [blame]
MyungJoo Hamde55d872012-04-20 14:16:22 +09001What: /sys/class/extcon/.../
MyungJoo Ham806d9dd2012-04-20 14:16:25 +09002Date: February 2012
MyungJoo Hamde55d872012-04-20 14:16:22 +09003Contact: MyungJoo Ham <myungjoo.ham@samsung.com>
4Description:
5 Provide a place in sysfs for the extcon objects.
6 This allows accessing extcon specific variables.
7 The name of extcon object denoted as ... is the name given
8 with extcon_dev_register.
9
MyungJoo Ham806d9dd2012-04-20 14:16:25 +090010 One extcon device denotes a single external connector
11 port. An external connector may have multiple cables
12 attached simultaneously. Many of docks, cradles, and
13 accessory cables have such capability. For example,
14 the 30-pin port of Nuri board (/arch/arm/mach-exynos)
15 may have both HDMI and Charger attached, or analog audio,
Peter Meerwaldf28d5a02012-08-23 09:11:43 +090016 video, and USB cables attached simultaneously.
MyungJoo Ham806d9dd2012-04-20 14:16:25 +090017
MyungJoo Hambde68e62012-04-20 14:16:26 +090018 If there are cables mutually exclusive with each other,
19 such binary relations may be expressed with extcon_dev's
20 mutually_exclusive array.
21
MyungJoo Hamde55d872012-04-20 14:16:22 +090022What: /sys/class/extcon/.../name
MyungJoo Ham806d9dd2012-04-20 14:16:25 +090023Date: February 2012
MyungJoo Hamde55d872012-04-20 14:16:22 +090024Contact: MyungJoo Ham <myungjoo.ham@samsung.com>
25Description:
26 The /sys/class/extcon/.../name shows the name of the extcon
27 object. If the extcon object has an optional callback
28 "show_name" defined, the callback will provide the name with
29 this sysfs node.
30
31What: /sys/class/extcon/.../state
MyungJoo Ham806d9dd2012-04-20 14:16:25 +090032Date: February 2012
MyungJoo Hamde55d872012-04-20 14:16:22 +090033Contact: MyungJoo Ham <myungjoo.ham@samsung.com>
34Description:
MyungJoo Ham806d9dd2012-04-20 14:16:25 +090035 The /sys/class/extcon/.../state shows and stores the cable
36 attach/detach information of the corresponding extcon object.
37 If the extcon object has an optional callback "show_state"
Peter Meerwaldf28d5a02012-08-23 09:11:43 +090038 defined, the showing function is overridden with the optional
MyungJoo Ham806d9dd2012-04-20 14:16:25 +090039 callback.
40
41 If the default callback for showing function is used, the
42 format is like this:
43 # cat state
44 USB_OTG=1
45 HDMI=0
46 TA=1
47 EAR_JACK=0
48 #
Peter Meerwaldf28d5a02012-08-23 09:11:43 +090049 In this example, the extcon device has USB_OTG and TA
MyungJoo Ham806d9dd2012-04-20 14:16:25 +090050 cables attached and HDMI and EAR_JACK cables detached.
51
52 In order to update the state of an extcon device, enter a hex
Peter Meerwaldf28d5a02012-08-23 09:11:43 +090053 state number starting with 0x:
54 # echo 0xHEX > state
MyungJoo Ham806d9dd2012-04-20 14:16:25 +090055
Peter Meerwaldf28d5a02012-08-23 09:11:43 +090056 This updates the whole state of the extcon device.
MyungJoo Ham806d9dd2012-04-20 14:16:25 +090057 Inputs of all the methods are required to meet the
Peter Meerwaldf28d5a02012-08-23 09:11:43 +090058 mutually_exclusive conditions if they exist.
MyungJoo Ham806d9dd2012-04-20 14:16:25 +090059
60 It is recommended to use this "global" state interface if
Peter Meerwaldf28d5a02012-08-23 09:11:43 +090061 you need to set the value atomically. The later state
MyungJoo Ham806d9dd2012-04-20 14:16:25 +090062 interface associated with each cable cannot update
63 multiple cable states of an extcon device simultaneously.
64
65What: /sys/class/extcon/.../cable.x/name
66Date: February 2012
67Contact: MyungJoo Ham <myungjoo.ham@samsung.com>
68Description:
69 The /sys/class/extcon/.../cable.x/name shows the name of cable
70 "x" (integer between 0 and 31) of an extcon device.
71
72What: /sys/class/extcon/.../cable.x/state
73Date: February 2012
74Contact: MyungJoo Ham <myungjoo.ham@samsung.com>
75Description:
Peter Meerwaldf28d5a02012-08-23 09:11:43 +090076 The /sys/class/extcon/.../cable.x/state shows and stores the
MyungJoo Ham806d9dd2012-04-20 14:16:25 +090077 state of cable "x" (integer between 0 and 31) of an extcon
78 device. The state value is either 0 (detached) or 1
79 (attached).
MyungJoo Hambde68e62012-04-20 14:16:26 +090080
81What: /sys/class/extcon/.../mutually_exclusive/...
82Date: December 2011
83Contact: MyungJoo Ham <myungjoo.ham@samsung.com>
84Description:
85 Shows the relations of mutually exclusiveness. For example,
Peter Meerwaldf28d5a02012-08-23 09:11:43 +090086 if the mutually_exclusive array of extcon device is
87 {0x3, 0x5, 0xC, 0x0}, then the output is:
MyungJoo Hambde68e62012-04-20 14:16:26 +090088 # ls mutually_exclusive/
89 0x3
90 0x5
91 0xc
92 #
93
94 Note that mutually_exclusive is a sub-directory of the extcon
95 device and the file names under the mutually_exclusive
96 directory show the mutually-exclusive sets, not the contents
97 of the files.