soc/amd/picasso: Use read-modify-write for ACP_I2S_PIN_CONFIG
This change uses read-modify-write to update ACP_I2S_PIN_CONFIG instead of a write operation since the other bits in the register are reserved. Change-Id: Ic64e1907858ec293c5f759e627d19c00d748a30e Signed-off-by: Furquan Shaikh <furquan@google.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/43503 Reviewed-by: Aaron Durbin <adurbin@chromium.org> Reviewed-by: Raul Rangel <rrangel@chromium.org> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
parent
a469736cca
commit
28980fdf85
|
@ -41,7 +41,7 @@ static void init(struct device *dev)
|
||||||
}
|
}
|
||||||
|
|
||||||
bar = (uintptr_t)res->base;
|
bar = (uintptr_t)res->base;
|
||||||
write32((void *)(bar + ACP_I2S_PIN_CONFIG), cfg->acp_pin_cfg);
|
acp_update32(bar, ACP_I2S_PIN_CONFIG, PIN_CONFIG_MASK, cfg->acp_pin_cfg);
|
||||||
|
|
||||||
/* Enable ACP_PME_EN and ACP_I2S_WAKE_EN for I2S_WAKE event */
|
/* Enable ACP_PME_EN and ACP_I2S_WAKE_EN for I2S_WAKE event */
|
||||||
acp_update32(bar, ACP_I2S_WAKE_EN, WAKE_EN_MASK, !!cfg->acp_i2s_wake_enable);
|
acp_update32(bar, ACP_I2S_WAKE_EN, WAKE_EN_MASK, !!cfg->acp_i2s_wake_enable);
|
||||||
|
|
|
@ -5,6 +5,7 @@
|
||||||
|
|
||||||
/* Bus A D0F5 - Audio Processor */
|
/* Bus A D0F5 - Audio Processor */
|
||||||
#define ACP_I2S_PIN_CONFIG 0x1400 /* HDA, Soundwire, I2S */
|
#define ACP_I2S_PIN_CONFIG 0x1400 /* HDA, Soundwire, I2S */
|
||||||
|
#define PIN_CONFIG_MASK (7 << 0)
|
||||||
#define ACP_I2S_WAKE_EN 0x1414
|
#define ACP_I2S_WAKE_EN 0x1414
|
||||||
#define WAKE_EN_MASK (1 << 0)
|
#define WAKE_EN_MASK (1 << 0)
|
||||||
#define ACP_PME_EN 0x1418
|
#define ACP_PME_EN 0x1418
|
||||||
|
|
Loading…
Reference in New Issue