ASRock Rack X570D4U mainboard: I2C busses
This page describes the I2C busses and connected on-board devices on the ASRock X570D4U mainboard.
I2C bus 1
This bus is used for controlling on-board devices that are used when the host is on.
Device | Address | Available when host is off | Description |
---|---|---|---|
PCA9557 IO expander | 0x1C | No | Controls the FAN fault LEDs |
Unknown device | 0x1D | No | Unknown |
Nuvoton NCT6796D-R SuperIO | 0x2D | No | Host temperature monitoring interface |
Nuvoton W83773G | 0x4C | Yes | Mainboard temperature sensor |
PCA9557 IO expander
Pin | Direction | Function |
---|---|---|
0 | Output | Fault LED for FAN 4 |
1 | Output | Fault LED for FAN 5 |
2 | Output | Fault LED for FAN 1 |
3 | Output | Unknown / not connected |
4 | Output | Fault LED for FAN 2 |
5 | Output | Fault LED for FAN 3 |
6 | Output | Fault LED for FAN 6 |
7 | Output | Unknown / not connected |
Nuvoton NCT6796D-R SuperIO
This chip can read the CPU and chipset temperatures. It should be possible to use the newly added nct6775-i2c driver to use this device.
Alternatively the temperatures can be read using this shell script:
#!/bin/bash
i2cset -y 1 0x2d 0x4e 0x04
while :
do
TSI0INT=$((16#$(i2cget -y 1 0x2d 0x09 | cut -f2 -dx)))
TSI0FRC=$(($((16#$(i2cget -y 1 0x2d 0x0a | cut -f2 -dx)))>>5))
TSI1INT=$((16#$(i2cget -y 1 0x2d 0x0b | cut -f2 -dx)))
TSI1FRC=$(($((16#$(i2cget -y 1 0x2d 0x0c | cut -f2 -dx)))>>5))
echo "TSI0_TEMP: $TSI0INT.$TSI0FRC °C / TSI1_TEMP: $TSI1INT.$TSI1FRC °C"
sleep 0.5
done
Nuvoton W83773G
Temperature input 2 appears to be the mainboard temperature sensor.
cat /sys/class/hwmon/hwmon0/temp2_input
I2C bus 2
This bus is used for connecting to exernal power supplies with SMBus monitoring support.
Device | Address | Available when host is off | Description |
---|---|---|---|
PSU SMBus header (PSU_SMB1) | — | — | MOLEX 70543-0003 connector, pinout is in manual |
I2C bus 3
This bus has an unknown purpose.
Device | Address | Available when host is off | Description |
---|---|---|---|
Unknown device | 0x13 | Yes | Unknown |
Unknown device | 0x14 | No | Unknown |
Unknown device | 0x15 | No | Unknown |
I2C bus 4
This bus is used to connect to expansion cards inserted into the PCI-Express slots of the mainboard.
Device | Address | Available when host is off | Description |
---|---|---|---|
NXP PCA9545A I2C bus switch | 0x70 | Yes | Bus multiplexer for switching between PCIe slots |
NXP PCA9545A I2C bus switch
Bus | Port |
---|---|
1 | ??? |
2 | ??? |
3 | ??? |
4 | ??? |
I2C bus 5
This bus is used for connecting to exernal power supplies with SMBus monitoring support.
Device | Address | Available when host is off | Description |
---|---|---|---|
BMC SMbus header (BMC_SMB_1) | — | — | MOLEX 353620550 connector, pinout is in manual |
I2C bus 7
This bus is used for connecting to the FRU EEPROM and the RAM DIMMs.
Device | Address | Available when host is off | Description |
---|---|---|---|
RAM DIMM A1 temperature sensor | 0x1A | No | |
RAM DIMM A2 temperature sensor | ???? | No | Not tested yet |
RAM DIMM B1 temperature sensor | 0x1B | No | |
RAM DIMM B2 temperature sensor | ???? | No | Not tested yet |
Unknown device | 0x30 | No | Unknown |
Unknown device | 0x35 | No | Unknown |
Unknown device | 0x36 | No | Unknown |
RAM DIMM A1 SPD EEPROM | 0x52 | No | |
RAM DIMM A2 SPD EEPROM | ???? | No | Not tested yet |
RAM DIMM B1 SPD EEPROM | 0x53 | No | |
RAM DIMM B2 SPD EEPROM | ???? | No | Not tested yet |
FRU EEPROM | 0x57 | No |
Unknown
Not tested yet.
Device | Address | Available when host is off | Description |
---|---|---|---|
IPMI SMbus header (IPMB_1) | — | — | MOLEX 22035045 connector, pinout is in manual |