18c2ecf20Sopenharmony_ciWhat: /sys/devices/socX 28c2ecf20Sopenharmony_ciDate: January 2012 38c2ecf20Sopenharmony_cicontact: Lee Jones <lee.jones@linaro.org> 48c2ecf20Sopenharmony_ciDescription: 58c2ecf20Sopenharmony_ci The /sys/devices/ directory contains a sub-directory for each 68c2ecf20Sopenharmony_ci System-on-Chip (SoC) device on a running platform. Information 78c2ecf20Sopenharmony_ci regarding each SoC can be obtained by reading sysfs files. This 88c2ecf20Sopenharmony_ci functionality is only available if implemented by the platform. 98c2ecf20Sopenharmony_ci 108c2ecf20Sopenharmony_ci The directory created for each SoC will also house information 118c2ecf20Sopenharmony_ci about devices which are commonly contained in /sys/devices/platform. 128c2ecf20Sopenharmony_ci It has been agreed that if an SoC device exists, its supported 138c2ecf20Sopenharmony_ci devices would be better suited to appear as children of that SoC. 148c2ecf20Sopenharmony_ci 158c2ecf20Sopenharmony_ciWhat: /sys/devices/socX/machine 168c2ecf20Sopenharmony_ciDate: January 2012 178c2ecf20Sopenharmony_cicontact: Lee Jones <lee.jones@linaro.org> 188c2ecf20Sopenharmony_ciDescription: 198c2ecf20Sopenharmony_ci Read-only attribute common to all SoCs. Contains the SoC machine 208c2ecf20Sopenharmony_ci name (e.g. Ux500). 218c2ecf20Sopenharmony_ci 228c2ecf20Sopenharmony_ciWhat: /sys/devices/socX/family 238c2ecf20Sopenharmony_ciDate: January 2012 248c2ecf20Sopenharmony_cicontact: Lee Jones <lee.jones@linaro.org> 258c2ecf20Sopenharmony_ciDescription: 268c2ecf20Sopenharmony_ci Read-only attribute common to all SoCs. Contains SoC family name 278c2ecf20Sopenharmony_ci (e.g. DB8500). 288c2ecf20Sopenharmony_ci 298c2ecf20Sopenharmony_ci On many of ARM based silicon with SMCCC v1.2+ compliant firmware 308c2ecf20Sopenharmony_ci this will contain the JEDEC JEP106 manufacturer’s identification 318c2ecf20Sopenharmony_ci code. The format is "jep106:XXYY" where XX is identity code and 328c2ecf20Sopenharmony_ci YY is continuation code. 338c2ecf20Sopenharmony_ci 348c2ecf20Sopenharmony_ci This manufacturer’s identification code is defined by one 358c2ecf20Sopenharmony_ci or more eight (8) bit fields, each consisting of seven (7) 368c2ecf20Sopenharmony_ci data bits plus one (1) odd parity bit. It is a single field, 378c2ecf20Sopenharmony_ci limiting the possible number of vendors to 126. To expand 388c2ecf20Sopenharmony_ci the maximum number of identification codes, a continuation 398c2ecf20Sopenharmony_ci scheme has been defined. 408c2ecf20Sopenharmony_ci 418c2ecf20Sopenharmony_ci The specified mechanism is that an identity code of 0x7F 428c2ecf20Sopenharmony_ci represents the "continuation code" and implies the presence 438c2ecf20Sopenharmony_ci of an additional identity code field, and this mechanism 448c2ecf20Sopenharmony_ci may be extended to multiple continuation codes followed 458c2ecf20Sopenharmony_ci by the manufacturer's identity code. 468c2ecf20Sopenharmony_ci 478c2ecf20Sopenharmony_ci For example, ARM has identity code 0x7F 0x7F 0x7F 0x7F 0x3B, 488c2ecf20Sopenharmony_ci which is code 0x3B on the fifth 'page'. This is shortened 498c2ecf20Sopenharmony_ci as JEP106 identity code of 0x3B and a continuation code of 508c2ecf20Sopenharmony_ci 0x4 to represent the four continuation codes preceding the 518c2ecf20Sopenharmony_ci identity code. 528c2ecf20Sopenharmony_ci 538c2ecf20Sopenharmony_ciWhat: /sys/devices/socX/serial_number 548c2ecf20Sopenharmony_ciDate: January 2019 558c2ecf20Sopenharmony_cicontact: Bjorn Andersson <bjorn.andersson@linaro.org> 568c2ecf20Sopenharmony_ciDescription: 578c2ecf20Sopenharmony_ci Read-only attribute supported by most SoCs. Contains the SoC's 588c2ecf20Sopenharmony_ci serial number, if available. 598c2ecf20Sopenharmony_ci 608c2ecf20Sopenharmony_ciWhat: /sys/devices/socX/soc_id 618c2ecf20Sopenharmony_ciDate: January 2012 628c2ecf20Sopenharmony_cicontact: Lee Jones <lee.jones@linaro.org> 638c2ecf20Sopenharmony_ciDescription: 648c2ecf20Sopenharmony_ci Read-only attribute supported by most SoCs. In the case of 658c2ecf20Sopenharmony_ci ST-Ericsson's chips this contains the SoC serial number. 668c2ecf20Sopenharmony_ci 678c2ecf20Sopenharmony_ci On many of ARM based silicon with SMCCC v1.2+ compliant firmware 688c2ecf20Sopenharmony_ci this will contain the SOC ID appended to the family attribute 698c2ecf20Sopenharmony_ci to ensure there is no conflict in this namespace across various 708c2ecf20Sopenharmony_ci vendors. The format is "jep106:XXYY:ZZZZ" where XX is identity 718c2ecf20Sopenharmony_ci code, YY is continuation code and ZZZZ is the SOC ID. 728c2ecf20Sopenharmony_ci 738c2ecf20Sopenharmony_ciWhat: /sys/devices/socX/revision 748c2ecf20Sopenharmony_ciDate: January 2012 758c2ecf20Sopenharmony_cicontact: Lee Jones <lee.jones@linaro.org> 768c2ecf20Sopenharmony_ciDescription: 778c2ecf20Sopenharmony_ci Read-only attribute supported by most SoCs. Contains the SoC's 788c2ecf20Sopenharmony_ci manufacturing revision number. 798c2ecf20Sopenharmony_ci 808c2ecf20Sopenharmony_ciWhat: /sys/devices/socX/process 818c2ecf20Sopenharmony_ciDate: January 2012 828c2ecf20Sopenharmony_cicontact: Lee Jones <lee.jones@linaro.org> 838c2ecf20Sopenharmony_ciDescription: 848c2ecf20Sopenharmony_ci Read-only attribute supported ST-Ericsson's silicon. Contains the 858c2ecf20Sopenharmony_ci the process by which the silicon chip was manufactured. 868c2ecf20Sopenharmony_ci 878c2ecf20Sopenharmony_ciWhat: /sys/bus/soc 888c2ecf20Sopenharmony_ciDate: January 2012 898c2ecf20Sopenharmony_cicontact: Lee Jones <lee.jones@linaro.org> 908c2ecf20Sopenharmony_ciDescription: 918c2ecf20Sopenharmony_ci The /sys/bus/soc/ directory contains the usual sub-folders 928c2ecf20Sopenharmony_ci expected under most buses. /sys/bus/soc/devices is of particular 938c2ecf20Sopenharmony_ci interest, as it contains a symlink for each SoC device found on 948c2ecf20Sopenharmony_ci the system. Each symlink points back into the aforementioned 958c2ecf20Sopenharmony_ci /sys/devices/socX devices. 96