162306a36Sopenharmony_ciWhat: /sys/devices/socX 262306a36Sopenharmony_ciDate: January 2012 362306a36Sopenharmony_cicontact: Lee Jones <lee@kernel.org> 462306a36Sopenharmony_ciDescription: 562306a36Sopenharmony_ci The /sys/devices/ directory contains a sub-directory for each 662306a36Sopenharmony_ci System-on-Chip (SoC) device on a running platform. Information 762306a36Sopenharmony_ci regarding each SoC can be obtained by reading sysfs files. This 862306a36Sopenharmony_ci functionality is only available if implemented by the platform. 962306a36Sopenharmony_ci 1062306a36Sopenharmony_ci The directory created for each SoC will also house information 1162306a36Sopenharmony_ci about devices which are commonly contained in /sys/devices/platform. 1262306a36Sopenharmony_ci It has been agreed that if an SoC device exists, its supported 1362306a36Sopenharmony_ci devices would be better suited to appear as children of that SoC. 1462306a36Sopenharmony_ci 1562306a36Sopenharmony_ciWhat: /sys/devices/socX/machine 1662306a36Sopenharmony_ciDate: January 2012 1762306a36Sopenharmony_cicontact: Lee Jones <lee@kernel.org> 1862306a36Sopenharmony_ciDescription: 1962306a36Sopenharmony_ci Read-only attribute common to all SoCs. Contains the SoC machine 2062306a36Sopenharmony_ci name (e.g. Ux500). 2162306a36Sopenharmony_ci 2262306a36Sopenharmony_ciWhat: /sys/devices/socX/family 2362306a36Sopenharmony_ciDate: January 2012 2462306a36Sopenharmony_cicontact: Lee Jones <lee@kernel.org> 2562306a36Sopenharmony_ciDescription: 2662306a36Sopenharmony_ci Read-only attribute common to all SoCs. Contains SoC family name 2762306a36Sopenharmony_ci (e.g. DB8500). 2862306a36Sopenharmony_ci 2962306a36Sopenharmony_ci On many of ARM based silicon with SMCCC v1.2+ compliant firmware 3062306a36Sopenharmony_ci this will contain the JEDEC JEP106 manufacturer’s identification 3162306a36Sopenharmony_ci code. The format is "jep106:XXYY" where XX is identity code and 3262306a36Sopenharmony_ci YY is continuation code. 3362306a36Sopenharmony_ci 3462306a36Sopenharmony_ci This manufacturer’s identification code is defined by one 3562306a36Sopenharmony_ci or more eight (8) bit fields, each consisting of seven (7) 3662306a36Sopenharmony_ci data bits plus one (1) odd parity bit. It is a single field, 3762306a36Sopenharmony_ci limiting the possible number of vendors to 126. To expand 3862306a36Sopenharmony_ci the maximum number of identification codes, a continuation 3962306a36Sopenharmony_ci scheme has been defined. 4062306a36Sopenharmony_ci 4162306a36Sopenharmony_ci The specified mechanism is that an identity code of 0x7F 4262306a36Sopenharmony_ci represents the "continuation code" and implies the presence 4362306a36Sopenharmony_ci of an additional identity code field, and this mechanism 4462306a36Sopenharmony_ci may be extended to multiple continuation codes followed 4562306a36Sopenharmony_ci by the manufacturer's identity code. 4662306a36Sopenharmony_ci 4762306a36Sopenharmony_ci For example, ARM has identity code 0x7F 0x7F 0x7F 0x7F 0x3B, 4862306a36Sopenharmony_ci which is code 0x3B on the fifth 'page'. This is shortened 4962306a36Sopenharmony_ci as JEP106 identity code of 0x3B and a continuation code of 5062306a36Sopenharmony_ci 0x4 to represent the four continuation codes preceding the 5162306a36Sopenharmony_ci identity code. 5262306a36Sopenharmony_ci 5362306a36Sopenharmony_ciWhat: /sys/devices/socX/serial_number 5462306a36Sopenharmony_ciDate: January 2019 5562306a36Sopenharmony_cicontact: Bjorn Andersson <bjorn.andersson@linaro.org> 5662306a36Sopenharmony_ciDescription: 5762306a36Sopenharmony_ci Read-only attribute supported by most SoCs. Contains the SoC's 5862306a36Sopenharmony_ci serial number, if available. 5962306a36Sopenharmony_ci 6062306a36Sopenharmony_ciWhat: /sys/devices/socX/soc_id 6162306a36Sopenharmony_ciDate: January 2012 6262306a36Sopenharmony_cicontact: Lee Jones <lee@kernel.org> 6362306a36Sopenharmony_ciDescription: 6462306a36Sopenharmony_ci Read-only attribute supported by most SoCs. In the case of 6562306a36Sopenharmony_ci ST-Ericsson's chips this contains the SoC serial number. 6662306a36Sopenharmony_ci 6762306a36Sopenharmony_ci On many of ARM based silicon with SMCCC v1.2+ compliant firmware 6862306a36Sopenharmony_ci this will contain the SOC ID appended to the family attribute 6962306a36Sopenharmony_ci to ensure there is no conflict in this namespace across various 7062306a36Sopenharmony_ci vendors. The format is "jep106:XXYY:ZZZZ" where XX is identity 7162306a36Sopenharmony_ci code, YY is continuation code and ZZZZ is the SOC ID. 7262306a36Sopenharmony_ci 7362306a36Sopenharmony_ciWhat: /sys/devices/socX/revision 7462306a36Sopenharmony_ciDate: January 2012 7562306a36Sopenharmony_cicontact: Lee Jones <lee@kernel.org> 7662306a36Sopenharmony_ciDescription: 7762306a36Sopenharmony_ci Read-only attribute supported by most SoCs. Contains the SoC's 7862306a36Sopenharmony_ci manufacturing revision number. 7962306a36Sopenharmony_ci 8062306a36Sopenharmony_ciWhat: /sys/devices/socX/process 8162306a36Sopenharmony_ciDate: January 2012 8262306a36Sopenharmony_cicontact: Lee Jones <lee@kernel.org> 8362306a36Sopenharmony_ciDescription: 8462306a36Sopenharmony_ci Read-only attribute supported ST-Ericsson's silicon. Contains the 8562306a36Sopenharmony_ci the process by which the silicon chip was manufactured. 8662306a36Sopenharmony_ci 8762306a36Sopenharmony_ciWhat: /sys/bus/soc 8862306a36Sopenharmony_ciDate: January 2012 8962306a36Sopenharmony_cicontact: Lee Jones <lee@kernel.org> 9062306a36Sopenharmony_ciDescription: 9162306a36Sopenharmony_ci The /sys/bus/soc/ directory contains the usual sub-folders 9262306a36Sopenharmony_ci expected under most buses. /sys/bus/soc/devices is of particular 9362306a36Sopenharmony_ci interest, as it contains a symlink for each SoC device found on 9462306a36Sopenharmony_ci the system. Each symlink points back into the aforementioned 9562306a36Sopenharmony_ci /sys/devices/socX devices. 96