xref: /linux/Documentation/ABI/testing/sysfs-auxdisplay-linedisp (revision 94e244d9ccab578f83a218ec58376d025014fcce)
1What:		/sys/.../message
2Date:		October 2021
3KernelVersion:	5.16
4Description:
5		Controls the text message displayed on character line displays.
6
7		Reading returns the current message with a trailing newline.
8		Writing updates the displayed message. Messages longer than the
9		display width will automatically scroll. Trailing newlines in
10		input are automatically trimmed.
11
12		Writing an empty string clears the display.
13
14		Example:
15		  echo "Hello World" > message
16		  cat message			# Returns "Hello World\n"
17
18What:		/sys/.../num_chars
19Date:		November 2025
20KernelVersion:	6.18
21Contact:	Jean-François Lessard <jefflessard3@gmail.com>
22Description:
23		Read-only attribute showing the character width capacity of
24		the line display device. Messages longer than this will scroll.
25
26		Example:
27		  cat num_chars		# Returns "16\n" for 16-char display
28
29What:		/sys/.../scroll_step_ms
30Date:		October 2021
31KernelVersion:	5.16
32Description:
33		Controls the scrolling speed for messages longer than the display
34		width, specified in milliseconds per scroll step.
35
36		Setting to 0 disables scrolling. Default is 500ms.
37
38		Example:
39		  echo "250" > scroll_step_ms	# 4Hz scrolling
40		  cat scroll_step_ms		# Returns "250\n"
41
42What:		/sys/.../map_seg7
43Date:		January 2024
44KernelVersion:	6.9
45Description:
46		Read/write binary blob representing the ASCII-to-7-segment
47		display conversion table used by the linedisp driver, as defined
48		by struct seg7_conversion_map in <linux/map_to_7segment.h>.
49
50		Only visible on displays with 7-segment capability.
51
52		This attribute is not human-readable. Writes must match the
53		struct size exactly, else -EINVAL is returned; reads return the
54		entire mapping as a binary blob.
55
56		This interface and its implementation match existing conventions
57		used in segment-mapped display drivers since 2005.
58
59		ABI note: This style of binary sysfs attribute *is an exception*
60		to current "one value per file, text only" sysfs rules, for
61		historical compatibility and driver uniformity. New drivers are
62		discouraged from introducing additional binary sysfs ABIs.
63
64		Reference interface guidance:
65		- include/uapi/linux/map_to_7segment.h
66
67What:		/sys/.../map_seg14
68Date:		January 2024
69KernelVersion:	6.9
70Description:
71		Read/write binary blob representing the ASCII-to-14-segment
72		display conversion table used by the linedisp driver, as defined
73		by struct seg14_conversion_map in <linux/map_to_14segment.h>.
74
75		Only visible on displays with 14-segment capability.
76
77		This attribute is not human-readable. Writes must match the
78		struct size exactly, else -EINVAL is returned; reads return the
79		entire mapping as a binary blob.
80
81		This interface and its implementation match existing conventions
82		used by segment-mapped display drivers since 2005.
83
84		ABI note: This style of binary sysfs attribute *is an exception*
85		to current "one value per file, text only" sysfs rules, for
86		historical compatibility and driver uniformity. New drivers are
87		discouraged from introducing additional binary sysfs ABIs.
88
89		Reference interface guidance:
90		- include/uapi/linux/map_to_14segment.h
91