* Add Gigabyte B550 AORUS Elite (v1/v2) models
* Add B550 Gaming X (v1 and v2) models as their layout is identical too
* Add B550 AORUS Pro v2
* Add B550M AORUS Elite
* Add the rest of Gigabyte B550 and B550M (Except the Vision D, Aorus Master, B550M Aorus Pro models)
* Add B550 UD AC Y1
System integrators such as iBuyPower and CyberPowerPC have sold systems with this OEM branded model, and thus would not be detected within this PR otherwise.
* Add B550M Pro, B550 Aorus Master, B550 Vision D models
* Add B550I AORUS PRO AX
* Rename EC_TEMP# to a more display friendly name
* Nct677X fix mutex acess with other devices an multiple instances
Fix the access with multiple devices.
Issue: #1243
Improper accessing the Nuvoton eSIO causes problems with other monitoring software
* Fix timeout behavior,
ensure the wait loop abort after a defined time
* Update timeout behavior and Code Formatting
* Update timeout behavior
* Add EC support for Z490 ROG MAXIMUS XII HERO (WI-FI)
* Update EmbeddedController.cs
Removed the broken line
* Update EmbeddedController.cs
Added the line back
* Update EmbeddedController.cs
Removed comment
* Update EmbeddedController.cs
Sorted by sensor address
* Add B450M DS3H and its variants
Note: From what I've seen some DS3H will report with a -CF suffix. Unsure if this applies to all B450 models or just a select few. Will be researching more
* Add the rest of B450M
* Add all Gigabyte B450 models
* Remove AVCC3
This is not a real source, especially since we already have the +3.3V rail
* Initial implementation of ASRock Z690 Extreme (voltages to be implemented later)
* Add voltages
* Update pull requests.yml
* This branch is not supposed to have this
* Add remaining voltages
* Fix incorrect voltage calculations and namings
* Use suggested names
VCCIN -> CPU Input Voltage
Unidentified names will use the generic names, and will be hidden by default.
* Add the other ASRock motherboards that are identical to the Z690 Extreme
* This was an accident
* Use more descriptive names
* Fix doubled Vcore value
* Remove bogus voltage sensors
* Separate Z690 Steel Legend
* Update SuperIOHardware.cs
---------
Co-authored-by: PhyxionNL <7643972+PhyxionNL@users.noreply.github.com>
* Add ASUS TUF X570-WiFi (as a test)
* Add proper fan controls + attempt at proper temp detection
* Update pull requests.yml
* Remove non detected/wrong values
* Remove the need of GitHub actions on my fork
* B150M-C D3
* Update Identification.cs
* B150M-C
I'm not sure about the sensors, I took the z170 as a basis.
* B150M-C
Sorry for the redundancy.
* Fix Model
* Fix SuperIOHardware.cs
* Fix Identification.cs
* Correction
* Correction
* Check before entering bugged 0x4E IT87
* Specify fan control registers for IT8792E
* Refactor chip ID reading using TryReadWord
* Introduce ECIO gigabyte EC control
* Add ECIO compatibility check
* Refactor to consider result of read/write
* Refactor styles and syntaxes
* Rename SMFI to Smfi
* Remove public modifier for consistency
* Update code style
* Increase timeout and remove sleep for ecio waits
* Remove extra WaitIBE
* Add MSR_PLATFORM_ENERGY_COUNTER (0x64D)
MSR_PLATFORM_ENERGY_COUNTER 0x64D is a platform energy counter register according to
p. 2-272, "Intel® 64 and IA-32 Architectures Software Developer’s Manual, Volume 4: Model-Specific Registers"
It's description is:
> Total energy consumed by all devices in the platform
> that receive power from integrated power delivery
> mechanism, included platform devices are processor
> cores, SOC, memory, add-on or peripheral devices that
> get powered directly from the platform power delivery
> means. The energy units are specified in the
> MSR_RAPL_POWER_UNIT.Enery_Status_Unit.
* Update IntelCpu.cs
---------
Co-authored-by: PhyxionNL <7643972+PhyxionNL@users.noreply.github.com>
ADL finds multiple logical gpus, this commit avoids multiple
unneeded initializations of AmdGpu class. The main control is moved to
AmdGpuGroup and the ADL_* calls are updated to ADL2_*, using the
context. Adapters using PMlog should be initialized only if sensors are
detected, adapters that pmlog is not enabled or doesn't work, should
fallback previous logic.
* Refactor ADL sensors update
- Check support for each sensor, on OD8 and new PMLog.
- Exclude cards before Vega10 from using PMLog
- Better validation for individual sensor support (for now asic-power/board-power)
- Validate pmlog struct using the lastUpdate, there are situations the
sensors values are corrupted, maybe because something blocking the pointer access to
the struct, but this needs to be verified.
* Update AmdGpu.cs
---------
Co-authored-by: PhyxionNL <7643972+PhyxionNL@users.noreply.github.com>
According to the specification v.3.3.0, Chapter 7.18, Table 74,
the Size row:
> If the size is 32 GB-1 MB or greater, the
> field value is 7FFFh and the actual size is stored in
> the Extended Size field.
Therefore the Extended Size should replace the value of Size if
the latter equals 0x7FFF. The Extended Size should not be added
to Size.
Also, since Extended Size is DWORD, Size should not be ushort.
* Add ADL pmlog support, fix metrics on newer gpus
Newer GPUs needs this to show performance metrics properly. Sample rate
is hard coded (1000ms).
* Clean up
---------
Co-authored-by: PhyxionNL <7643972+PhyxionNL@users.noreply.github.com>
* Add index to superIO identifier if required
* Simplify the index logic to 1 dictionary
* Unwanted B660M config delete.
* Simplify SuperIOHardware indexing