Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[ARM/RISC-V] Maybe check /sys/devices/soc0 #295

Open
ThomasKaiser opened this issue Sep 29, 2024 · 3 comments
Open

[ARM/RISC-V] Maybe check /sys/devices/soc0 #295

ThomasKaiser opened this issue Sep 29, 2024 · 3 comments

Comments

@ThomasKaiser
Copy link

Another sbc-bench try to differentiate SoCs / SoC revisions is parsing /sys/devices/soc0. But if doing so checking for /sys/devices/soc* might be an even better idea.

Most of the time this sysfs entry doesn't exist, sometimes it contains valuable hardware information, sometimes stuff we don't understand and sometimes rather confusing info (examples in this order):

Hmm... having checked sbc-bench's results collection right now with only SpacemiT K1/M1 providing relevant info via this sysfs node it's most probably not worth the efforts.

@ThomasKaiser
Copy link
Author

Well, on other devices /sys/devices/soc0 also seems to contain useful information: https://github.com/search?q=repo%3ADr-Noob%2Fcpufetch+%2Fsys%2Fdevices%2Fsoc0&type=issues

@ThomasKaiser
Copy link
Author

Texas Instruments SoCs running with their BSP kernel also seem to expose SoC info via /sys/devices/soc0. For example the BeagleY-AI board equipped with a TI AM67A SoC from the J722S family exposes this:

  • /sys/devices/soc0/family = J722S
  • /sys/devices/soc0/revision = SR1.0

@papamoose
Copy link

As of this posting it looks like SoC and Technology are not being filled in. I've provided more info below to help get that info added. Let me know if you need me to run anything else.

$ ./cpufetch_arm64_linux

                                          SoC:                 Unknown
   #####  ##   # #####  ## ####  ######   Technology:          Unknown
 ###    ####   ###      ####  ###   ###   Microarchitecture:   Neoverse N1
###       ##   ###      ###    ##    ###  Max Frequency:       2.200 GHz
 ###    ####   ###      ###    ##    ###  Cores:               64 cores
  ######  ##   ###      ###    ##    ###  Features:            NEON,SHA1,SHA2,AES,CRC32
                                          Peak Performance:    2.25 TFLOP/s

This is from an Ampere Altra Q64-22

$ cat /sys/devices/soc0/family 
jep106:0a16
$ cat /sys/devices/soc0/revision 
0x000000a1
$ cat /sys/devices/soc0/soc_id 
jep106:0a16:0001
$ sudo dmidecode --type processor|grep -v 'Serial Number'
# dmidecode 3.5
Getting SMBIOS data from sysfs.
SMBIOS 3.4.0 present.

Handle 0x006F, DMI type 4, 48 bytes
Processor Information
	Socket Designation: CPU1
	Type: Central Processor
	Family: ARMv8
	Manufacturer: Ampere(R)
	ID: 01 00 16 0A A1 00 00 00
	Signature: JEP-106 Bank 0x0a Manufacturer 0x16, SoC ID 0x0001, SoC Revision 0x000000a1
	Version: Ampere(R) Altra(R) Processor
	Voltage: 0.8 V
	External Clock: 1250 MHz
	Max Speed: 2200 MHz
	Current Speed: 2200 MHz
	Status: Populated, Enabled
	Upgrade: None
	L1 Cache Handle: Not Provided
	L2 Cache Handle: Not Provided
	L3 Cache Handle: Not Provided
	Asset Tag: 00000001
	Part Number: Q64-22
	Core Count: 64
	Core Enabled: 64
	Thread Count: 64
	Characteristics:
		64-bit capable
		Multi-Core
		Power/Performance Control
		128-bit Capable
		Arm64 SoC ID

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants