xref: /linux/Documentation/ABI/testing/sysfs-devices-soc (revision cbdb1f163af2bb90d01be1f0263df1d8d5c9d9d3)
1What:		/sys/devices/socX
2Date:		January 2012
3contact:	Lee Jones <lee@kernel.org>
4Description:
5		The /sys/devices/ directory contains a sub-directory for each
6		System-on-Chip (SoC) device on a running platform. Information
7		regarding each SoC can be obtained by reading sysfs files. This
8		functionality is only available if implemented by the platform.
9
10		The directory created for each SoC will also house information
11		about devices which are commonly contained in /sys/devices/platform.
12		It has been agreed that if an SoC device exists, its supported
13		devices would be better suited to appear as children of that SoC.
14
15What:		/sys/devices/socX/machine
16Date:		January 2012
17contact:	Lee Jones <lee@kernel.org>
18Description:
19		Read-only attribute common to all SoCs. Contains the SoC machine
20		name (e.g. Ux500).
21
22What:		/sys/devices/socX/family
23Date:		January 2012
24contact:	Lee Jones <lee@kernel.org>
25Description:
26		Read-only attribute common to all SoCs. Contains SoC family name
27		(e.g. DB8500).
28
29		On many of ARM based silicon with SMCCC v1.2+ compliant firmware
30		this will contain the JEDEC JEP106 manufacturer’s identification
31		code. The format is "jep106:XXYY" where XX is identity code and
32		YY is continuation code.
33
34		This manufacturer’s identification code is defined by one
35		or more eight (8) bit fields, each consisting of seven (7)
36		data bits plus one (1) odd parity bit. It is a single field,
37		limiting the possible number of vendors to 126. To expand
38		the maximum number of identification codes, a continuation
39		scheme has been defined.
40
41		The specified mechanism is that an identity code of 0x7F
42		represents the "continuation code" and implies the presence
43		of an additional identity code field, and this mechanism
44		may be extended to multiple continuation codes followed
45		by the manufacturer's identity code.
46
47		For example, ARM has identity code 0x7F 0x7F 0x7F 0x7F 0x3B,
48		which is code 0x3B on the fifth 'page'. This is shortened
49		as JEP106 identity code of 0x3B and a continuation code of
50		0x4 to represent the four continuation codes preceding the
51		identity code.
52
53What:		/sys/devices/socX/serial_number
54Date:		January 2019
55contact:	Bjorn Andersson <bjorn.andersson@linaro.org>
56Description:
57		Read-only attribute supported by most SoCs. Contains the SoC's
58		serial number, if available.
59
60What:		/sys/devices/socX/soc_id
61Date:		January 2012
62contact:	Lee Jones <lee@kernel.org>
63Description:
64		Read-only attribute supported by most SoCs. In the case of
65		ST-Ericsson's chips this contains the SoC serial number.
66
67		On many of ARM based silicon with SMCCC v1.2+ compliant firmware
68		this will contain the SOC ID appended to the family attribute
69		to ensure there is no conflict in this namespace across various
70		vendors. The format is "jep106:XXYY:ZZZZ" where XX is identity
71		code, YY is continuation code and ZZZZ is the SOC ID.
72
73What:		/sys/devices/socX/revision
74Date:		January 2012
75contact:	Lee Jones <lee@kernel.org>
76Description:
77		Read-only attribute supported by most SoCs. Contains the SoC's
78		manufacturing revision number.
79
80What:		/sys/devices/socX/process
81Date:		January 2012
82contact:	Lee Jones <lee@kernel.org>
83Description:
84		Read-only attribute supported ST-Ericsson's silicon. Contains the
85		the process by which the silicon chip was manufactured.
86
87What:		/sys/bus/soc
88Date:		January 2012
89contact:	Lee Jones <lee@kernel.org>
90Description:
91		The /sys/bus/soc/ directory contains the usual sub-folders
92		expected under most buses. /sys/bus/soc/devices is of particular
93		interest, as it contains a symlink for each SoC device found on
94		the system. Each symlink points back into the aforementioned
95		/sys/devices/socX devices.
96