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