soc/amd/picasso: Add acp_i2s_use_external_48mhz_osc flag
If we have use external clock source for I2S, we don't need to enable internal one. Add acp_i2s_use_external_48mhz_osc flag for the project which uses external clock source. BUG=b:174121847 BRANCH=zork TEST= build passed Signed-off-by: Eric Lai <ericr_lai@compal.corp-partner.google.com> Change-Id: Ica68ee2da5a05231eb6db0218bd0f19907507273 Reviewed-on: https://review.coreboot.org/c/coreboot/+/48637 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Felix Held <felix-coreboot@felixheld.de>
This commit is contained in:
parent
07462ef3d6
commit
dd32e653cf
@ -219,6 +219,8 @@ struct soc_amd_picasso_config {
|
||||
|
||||
/* The array index is the general purpose PCIe clock output number. */
|
||||
enum gpp_clk_req_setting gpp_clk_config[GPP_CLK_OUTPUT_COUNT];
|
||||
/* If using an external 48MHz OSC for codec, will disable internal X48M_OSC */
|
||||
bool acp_i2s_use_external_48mhz_osc;
|
||||
};
|
||||
|
||||
#endif /* __PICASSO_CHIP_H__ */
|
||||
|
@ -89,9 +89,15 @@ const struct irq_idx_name *sb_get_apic_reg_association(size_t *size)
|
||||
void sb_clk_output_48Mhz(void)
|
||||
{
|
||||
u32 ctrl;
|
||||
const struct soc_amd_picasso_config *cfg;
|
||||
cfg = config_of_soc();
|
||||
|
||||
ctrl = misc_read32(MISC_CLK_CNTL1);
|
||||
ctrl |= BP_X48M0_OUTPUT_EN;
|
||||
/* If used external clock source for I2S, disable the internal clock output */
|
||||
if (cfg->acp_i2s_use_external_48mhz_osc && cfg->acp_pin_cfg == I2S_PINS_I2S_TDM)
|
||||
ctrl &= ~BP_X48M0_OUTPUT_EN;
|
||||
else
|
||||
ctrl |= BP_X48M0_OUTPUT_EN;
|
||||
misc_write32(MISC_CLK_CNTL1, ctrl);
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user