drm/amdgpu: Add EEPROM I2C address support for ip discovery
1. Update EEPROM_I2C_MADDR_SMU_13_0_0 to EEPROM_I2C_MADDR_54H 2. Add EEPROM I2C address support for smu v13_0_0 and v13_0_10. Signed-off-by: Candice Li <candice.li@amd.com> Reviewed-by: Tao Zhou <tao.zhou1@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
bc22f8ec46
commit
c9bdc6c3cf
1 changed files with 18 additions and 2 deletions
|
@ -38,7 +38,7 @@
|
||||||
#define EEPROM_I2C_MADDR_ARCTURUS_D342 0x0
|
#define EEPROM_I2C_MADDR_ARCTURUS_D342 0x0
|
||||||
#define EEPROM_I2C_MADDR_SIENNA_CICHLID 0x0
|
#define EEPROM_I2C_MADDR_SIENNA_CICHLID 0x0
|
||||||
#define EEPROM_I2C_MADDR_ALDEBARAN 0x0
|
#define EEPROM_I2C_MADDR_ALDEBARAN 0x0
|
||||||
#define EEPROM_I2C_MADDR_SMU_13_0_0 (0x54UL << 16)
|
#define EEPROM_I2C_MADDR_54H (0x54UL << 16)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The 2 macros bellow represent the actual size in bytes that
|
* The 2 macros bellow represent the actual size in bytes that
|
||||||
|
@ -124,6 +124,19 @@ static bool __get_eeprom_i2c_addr_arct(struct amdgpu_device *adev,
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static bool __get_eeprom_i2c_addr_ip_discovery(struct amdgpu_device *adev,
|
||||||
|
struct amdgpu_ras_eeprom_control *control)
|
||||||
|
{
|
||||||
|
switch (adev->ip_versions[MP1_HWIP][0]) {
|
||||||
|
case IP_VERSION(13, 0, 0):
|
||||||
|
case IP_VERSION(13, 0, 10):
|
||||||
|
control->i2c_address = EEPROM_I2C_MADDR_54H;
|
||||||
|
return true;
|
||||||
|
default:
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static bool __get_eeprom_i2c_addr(struct amdgpu_device *adev,
|
static bool __get_eeprom_i2c_addr(struct amdgpu_device *adev,
|
||||||
struct amdgpu_ras_eeprom_control *control)
|
struct amdgpu_ras_eeprom_control *control)
|
||||||
{
|
{
|
||||||
|
@ -163,13 +176,16 @@ static bool __get_eeprom_i2c_addr(struct amdgpu_device *adev,
|
||||||
control->i2c_address = EEPROM_I2C_MADDR_ALDEBARAN;
|
control->i2c_address = EEPROM_I2C_MADDR_ALDEBARAN;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case CHIP_IP_DISCOVERY:
|
||||||
|
return __get_eeprom_i2c_addr_ip_discovery(adev, control);
|
||||||
|
|
||||||
default:
|
default:
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (adev->ip_versions[MP1_HWIP][0]) {
|
switch (adev->ip_versions[MP1_HWIP][0]) {
|
||||||
case IP_VERSION(13, 0, 0):
|
case IP_VERSION(13, 0, 0):
|
||||||
control->i2c_address = EEPROM_I2C_MADDR_SMU_13_0_0;
|
control->i2c_address = EEPROM_I2C_MADDR_54H;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
|
Loading…
Add table
Reference in a new issue