0001 What: /sys/devices/socX
0002 Date: January 2012
0003 contact: Lee Jones <lee@kernel.org>
0004 Description:
0005 The /sys/devices/ directory contains a sub-directory for each
0006 System-on-Chip (SoC) device on a running platform. Information
0007 regarding each SoC can be obtained by reading sysfs files. This
0008 functionality is only available if implemented by the platform.
0009
0010 The directory created for each SoC will also house information
0011 about devices which are commonly contained in /sys/devices/platform.
0012 It has been agreed that if an SoC device exists, its supported
0013 devices would be better suited to appear as children of that SoC.
0014
0015 What: /sys/devices/socX/machine
0016 Date: January 2012
0017 contact: Lee Jones <lee@kernel.org>
0018 Description:
0019 Read-only attribute common to all SoCs. Contains the SoC machine
0020 name (e.g. Ux500).
0021
0022 What: /sys/devices/socX/family
0023 Date: January 2012
0024 contact: Lee Jones <lee@kernel.org>
0025 Description:
0026 Read-only attribute common to all SoCs. Contains SoC family name
0027 (e.g. DB8500).
0028
0029 On many of ARM based silicon with SMCCC v1.2+ compliant firmware
0030 this will contain the JEDEC JEP106 manufacturer’s identification
0031 code. The format is "jep106:XXYY" where XX is identity code and
0032 YY is continuation code.
0033
0034 This manufacturer’s identification code is defined by one
0035 or more eight (8) bit fields, each consisting of seven (7)
0036 data bits plus one (1) odd parity bit. It is a single field,
0037 limiting the possible number of vendors to 126. To expand
0038 the maximum number of identification codes, a continuation
0039 scheme has been defined.
0040
0041 The specified mechanism is that an identity code of 0x7F
0042 represents the "continuation code" and implies the presence
0043 of an additional identity code field, and this mechanism
0044 may be extended to multiple continuation codes followed
0045 by the manufacturer's identity code.
0046
0047 For example, ARM has identity code 0x7F 0x7F 0x7F 0x7F 0x3B,
0048 which is code 0x3B on the fifth 'page'. This is shortened
0049 as JEP106 identity code of 0x3B and a continuation code of
0050 0x4 to represent the four continuation codes preceding the
0051 identity code.
0052
0053 What: /sys/devices/socX/serial_number
0054 Date: January 2019
0055 contact: Bjorn Andersson <bjorn.andersson@linaro.org>
0056 Description:
0057 Read-only attribute supported by most SoCs. Contains the SoC's
0058 serial number, if available.
0059
0060 What: /sys/devices/socX/soc_id
0061 Date: January 2012
0062 contact: Lee Jones <lee@kernel.org>
0063 Description:
0064 Read-only attribute supported by most SoCs. In the case of
0065 ST-Ericsson's chips this contains the SoC serial number.
0066
0067 On many of ARM based silicon with SMCCC v1.2+ compliant firmware
0068 this will contain the SOC ID appended to the family attribute
0069 to ensure there is no conflict in this namespace across various
0070 vendors. The format is "jep106:XXYY:ZZZZ" where XX is identity
0071 code, YY is continuation code and ZZZZ is the SOC ID.
0072
0073 What: /sys/devices/socX/revision
0074 Date: January 2012
0075 contact: Lee Jones <lee@kernel.org>
0076 Description:
0077 Read-only attribute supported by most SoCs. Contains the SoC's
0078 manufacturing revision number.
0079
0080 What: /sys/devices/socX/process
0081 Date: January 2012
0082 contact: Lee Jones <lee@kernel.org>
0083 Description:
0084 Read-only attribute supported ST-Ericsson's silicon. Contains the
0085 the process by which the silicon chip was manufactured.
0086
0087 What: /sys/bus/soc
0088 Date: January 2012
0089 contact: Lee Jones <lee@kernel.org>
0090 Description:
0091 The /sys/bus/soc/ directory contains the usual sub-folders
0092 expected under most buses. /sys/bus/soc/devices is of particular
0093 interest, as it contains a symlink for each SoC device found on
0094 the system. Each symlink points back into the aforementioned
0095 /sys/devices/socX devices.