Skip to content

Instantly share code, notes, and snippets.

AX45MP core in Renesas RZ/Five (R9A07G043)
mvendorid : 0x31e (Andes)
marchid : 0x8000000000008a45
mimpid : 0x500
SiFive U74 cores in JH7110
mvendorid : 0x489 (SiFive)
marchid : 0x8000000000000007
mimpid : 0x4210427
Recent Rockchip BSP kernels include something like this in dmesg output: rockchip-cpuinfo cpuinfo: SoC : 35880000
35280000 --> Hlink H28K
35281000 --> Hlink H28K
35661000 --> Quartz64, RK3566 EVB2 LP4X V10 Board, Firefly RK3566-ROC-PC
35662000 --> EmbedFire LubanCat-Zero, RK3566 BOX DEMO V10 ANDROID Board, Radxa Zero 3, Rock 3C, Radxa CM3,
Orange Pi 3B, Orange Pi CM4
35681000 --> only early RK3568 devices showed this silicon revision (e.g. Firefly RK3568-ROC-PC/AIO-3568J,
Radxa E25)
35682000 --> AIO-3568J HDMI, CPdevice Spring2 Plus Board, Firefly RK3568-ROC-PC HDMI, Forlinx OK3568-C Board,
Allwinner SoCs feature something called a SID (Security ID) which should be available with
mainline kernel as /sys/bus/nvmem/devices/sunxi-sid0/nvmem. From the first bytes the SoC
model might be detectable once the SIDs are known. Unfortunately information in linux-sunxi
wiki is/was a bit sparse and outdated: https://linux-sunxi.org/SID_Register_Guide
The following list is based on linux-sunxi wiki contents and complemented with own checks
(crawling through sbc-bench submissions and conducting tests on own devices).
SoCs are sorted by chip ID, starting with 'old scheme':
A10 (1623) 162367* --> 1623*
https://github.com/CoreELEC/bl301/blob/1b435f3e20160d50fc01c3ef616f1dbd9ff26be8/arch/arm/include/asm/cpu_id.h#L21-L42
https://www.kernel.org/doc/Documentation/devicetree/bindings/arm/amlogic.txt
Amlogic chip ids: https://github.com/CoreELEC/linux-amlogic/blob/ab1ab097d1a7b01d644d09625c9e4c7e31e35fb4/arch/arm64/kernel/cpuinfo.c#L135-L158
More cpuinfo: http://tessy.org/wiki/index.php?Arm#ae54e1d6 (archived at https://archive.md/nf6kL)
https://github.com/pytorch/cpuinfo/tree/master/src/arm/linux/
With ARMv7 SoCs (or ARMv8 SoCs booting a 32-bit kernel) dmesg output starts with a line identifying core type and stepping of cpu0:
CPU: ARMv7 Processor [410fc051] revision 1 (ARMv7), cr=10c5387d <- Cortex-A5 / r0p1 / Amlogic S805
CPU: ARMv7 Processor [410fc073] revision 3 (ARMv7), cr=10c5387d <- Cortex-A7 / r0p3 / Exynos 5422
CPU: ARMv7 Processor [410fc072] revision 2 (ARMv7), cr=10c5387d <- Cortex-A7 / r0p2 / MediaTek MT6589/TMK6588
@ThomasKaiser
ThomasKaiser / gist:24a88bec8e6749bbc723cd6f6e78a3ab
Created October 31, 2021 22:27
'ioreg -l' output on MacBookPro18,1
This file has been truncated, but you can view the full file.
+-o Root <class IORegistryEntry, id 0x100000100, retain 34>
| {
| "IOKitBuildVersion" = "Darwin Kernel Version 21.1.0: Wed Oct 13 17:33:01 PDT 2021; root:xnu-8019.41.5~1/RELEASE_ARM64_T6000"
| "OS Build Version" = "21A559"
| "OSKernelCPUSubtype" = 18446744072635809794
| "OSKernelCPUType" = 16777228
| "OSPrelinkKextCount" = 5
| "IORegistryPlanes" = {"IOPort"="IOPort","IOPower"="IOPower","IOService"="IOService","IOAccessory"="IOAccessory","IOUSB"="IOUSB","CoreCapture"="CoreCapture","IO80211Plane"="IO80211Plane","IODeviceTree"="IODeviceTree"}
| "IOConsoleLocked" = No
| "IOConsoleUsers" = ({"kCGSSessionOnConsoleKey"=Yes,"kCGSSessionLoginwindowSafeLogin"=No,"kSCSecuritySessionID"=100013,"kCGSessionLongUserNameKey"="Thomas Kaiser","kCGSSessionUserIDKey"=505,"kCGSSessionSystemSafeBoot"=No,"kCGSessionLoginDoneKey"=Yes,"kCGSSessionUserNameKey"="tk","kCGSSessionGroupIDKey"=20,"kCGSSessionIDKey"=257,"kCGSSessionAuditIDKey"=100013})
mmc_cid=035344534c3038478049e841e30106dd
mmc_csd=400e00325b5900003b377f800a4040af
mmc_date=06/2016
mmc_dsr=0x404
mmc_erase_size=512
mmc_fwrev=0x0
mmc_hwrev=0x8
mmc_manfid=0x000003
mmc_name=SL08G
mmc_ocr=0x00200000
APM X-Gene / r0p0: APM 883208-X1
APM X-Gene / r3p2: APM Emag 8180
Apple Icestorm / r1p1: Apple M1
Apple Firestorm / r1p1: Apple M1
Apple Icestorm / r2p0: Apple M1 Pro
Apple Firestorm / r2p0: Apple M1 Pro
Apple Blizzard / r1p0: Apple M2
Apple Avalanche / r1p0: Apple M2
ARM11 MPCore / r0p5: PLX NAS7820
ARM1176 / r0p7: Broadcom BCM2835
3V7_WL_SW_A current(0)=0.00390372A
3V3_SYS_A current(1)=0.05562801A
1V8_SYS_A current(2)=0.16493220A
DDR_VDD2_A current(3)=0.02049453A
DDR_VDDQ_A current(4)=0.00000000A
1V1_SYS_A current(5)=0.18152300A
0V8_SYS_A current(6)=0.32693650A
VDD_CORE_A current(7)=0.71440000A
3V3_DAC_A current(17)=0.48840000A
3V3_ADC_A current(18)=0.42735000A
Alder Lake:
i9: 6-8 P-cores, 8-16 E-cores, 4.8-5.5 GHz, 24-30 MB "Smart Cache"
i7: 2-8 P-cores, 4-8 E-cores, 4.6-5.0 GHz, 12-25 MB "Smart Cache"
i5: 4-6 P-cores, 4-8 E-cores, 4.2-4.9 GHz, 12-20 MB "Smart Cache"
i3: 2-4 P-cores, 0-8 E-cores, 4.0-4.3 GHz, 10-12 MB "Smart Cache"
Pentium Gold 850*, Celeron 730*: 1 P-core, 4 E-cores, 8 MB "Smart Cache"
Raptor Lake:
i9: 6-8 P-cores, 8-16 E-cores, 5.0-5.8 GHz, 24-36 MB "Smart Cache"
i7: 2-8 P-cores, 4-12 E-cores, 4.8-5.4 GHz, 12-30 MB "Smart Cache"
@ThomasKaiser
ThomasKaiser / rk3588-increase-opp-microvolt.dts
Created September 28, 2022 14:07
rk3588-increase-opp-microvolt.dts
/dts-v1/;
/plugin/;
/ {
fragment@0 {
target = <&cluster1_opp_table>;
__overlay__ {
opp-408000000 {
opp-microvolt = <675000 675000 1100000>,
<675000 675000 1100000>;
};