mirror of
https://github.com/torvalds/linux.git
synced 2024-12-26 12:52:30 +00:00
821b67fa46
SMCCC v1.2 adds a new optional function SMCCC_ARCH_SOC_ID to obtain a SiP defined SoC identification value. Add support for the same. Also using the SoC bus infrastructure, let us expose the platform specific SoC atrributes under sysfs. There are various ways in which it can be represented in shortened form for efficiency and ease of parsing for userspace. The chosen form is described in the ABI document. Link: https://lore.kernel.org/r/20200625095939.50861-1-sudeep.holla@arm.com Cc: Etienne Carriere <etienne.carriere@st.com> Reviewed-by: Steven Price <steven.price@arm.com> Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
96 lines
3.6 KiB
Plaintext
96 lines
3.6 KiB
Plaintext
What: /sys/devices/socX
|
||
Date: January 2012
|
||
contact: Lee Jones <lee.jones@linaro.org>
|
||
Description:
|
||
The /sys/devices/ directory contains a sub-directory for each
|
||
System-on-Chip (SoC) device on a running platform. Information
|
||
regarding each SoC can be obtained by reading sysfs files. This
|
||
functionality is only available if implemented by the platform.
|
||
|
||
The directory created for each SoC will also house information
|
||
about devices which are commonly contained in /sys/devices/platform.
|
||
It has been agreed that if an SoC device exists, its supported
|
||
devices would be better suited to appear as children of that SoC.
|
||
|
||
What: /sys/devices/socX/machine
|
||
Date: January 2012
|
||
contact: Lee Jones <lee.jones@linaro.org>
|
||
Description:
|
||
Read-only attribute common to all SoCs. Contains the SoC machine
|
||
name (e.g. Ux500).
|
||
|
||
What: /sys/devices/socX/family
|
||
Date: January 2012
|
||
contact: Lee Jones <lee.jones@linaro.org>
|
||
Description:
|
||
Read-only attribute common to all SoCs. Contains SoC family name
|
||
(e.g. DB8500).
|
||
|
||
On many of ARM based silicon with SMCCC v1.2+ compliant firmware
|
||
this will contain the JEDEC JEP106 manufacturer’s identification
|
||
code. The format is "jep106:XXYY" where XX is identity code and
|
||
YY is continuation code.
|
||
|
||
This manufacturer’s identification code is defined by one
|
||
or more eight (8) bit fields, each consisting of seven (7)
|
||
data bits plus one (1) odd parity bit. It is a single field,
|
||
limiting the possible number of vendors to 126. To expand
|
||
the maximum number of identification codes, a continuation
|
||
scheme has been defined.
|
||
|
||
The specified mechanism is that an identity code of 0x7F
|
||
represents the "continuation code" and implies the presence
|
||
of an additional identity code field, and this mechanism
|
||
may be extended to multiple continuation codes followed
|
||
by the manufacturer's identity code.
|
||
|
||
For example, ARM has identity code 0x7F 0x7F 0x7F 0x7F 0x3B,
|
||
which is code 0x3B on the fifth 'page'. This is shortened
|
||
as JEP106 identity code of 0x3B and a continuation code of
|
||
0x4 to represent the four continuation codes preceding the
|
||
identity code.
|
||
|
||
What: /sys/devices/socX/serial_number
|
||
Date: January 2019
|
||
contact: Bjorn Andersson <bjorn.andersson@linaro.org>
|
||
Description:
|
||
Read-only attribute supported by most SoCs. Contains the SoC's
|
||
serial number, if available.
|
||
|
||
What: /sys/devices/socX/soc_id
|
||
Date: January 2012
|
||
contact: Lee Jones <lee.jones@linaro.org>
|
||
Description:
|
||
Read-only attribute supported by most SoCs. In the case of
|
||
ST-Ericsson's chips this contains the SoC serial number.
|
||
|
||
On many of ARM based silicon with SMCCC v1.2+ compliant firmware
|
||
this will contain the SOC ID appended to the family attribute
|
||
to ensure there is no conflict in this namespace across various
|
||
vendors. The format is "jep106:XXYY:ZZZZ" where XX is identity
|
||
code, YY is continuation code and ZZZZ is the SOC ID.
|
||
|
||
What: /sys/devices/socX/revision
|
||
Date: January 2012
|
||
contact: Lee Jones <lee.jones@linaro.org>
|
||
Description:
|
||
Read-only attribute supported by most SoCs. Contains the SoC's
|
||
manufacturing revision number.
|
||
|
||
What: /sys/devices/socX/process
|
||
Date: January 2012
|
||
contact: Lee Jones <lee.jones@linaro.org>
|
||
Description:
|
||
Read-only attribute supported ST-Ericsson's silicon. Contains the
|
||
the process by which the silicon chip was manufactured.
|
||
|
||
What: /sys/bus/soc
|
||
Date: January 2012
|
||
contact: Lee Jones <lee.jones@linaro.org>
|
||
Description:
|
||
The /sys/bus/soc/ directory contains the usual sub-folders
|
||
expected under most buses. /sys/bus/soc/devices is of particular
|
||
interest, as it contains a symlink for each SoC device found on
|
||
the system. Each symlink points back into the aforementioned
|
||
/sys/devices/socX devices.
|