mirror of
https://git.codelinaro.org/clo/qsdk/oss/boot/u-boot-2016.git
synced 2026-03-02 23:44:15 +01:00
Merge "ipq40xx: Disable audio clock registers in u-boot"
This commit is contained in:
commit
e54ef4546f
3 changed files with 36 additions and 0 deletions
|
|
@ -65,6 +65,11 @@ void board_pci_deinit(void)
|
|||
{
|
||||
return 0;
|
||||
}
|
||||
__weak
|
||||
void disable_audio_clks(void)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
int board_init(void)
|
||||
{
|
||||
|
|
@ -181,6 +186,7 @@ int board_init(void)
|
|||
}
|
||||
|
||||
aquantia_phy_reset_init();
|
||||
disable_audio_clks();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -45,6 +45,15 @@ qca_mmc mmc_host;
|
|||
struct sdhci_host mmc_host;
|
||||
#endif
|
||||
|
||||
#define ADSS_AUDIO_RXM_CBCR_REG 0x0770012C
|
||||
#define ADSS_AUDIO_RXB_CBCR_REG 0x0770010C
|
||||
#define ADSS_AUDIO_TXB_CBCR_REG 0x0770014C
|
||||
#define ADSS_AUDIO_SPDIF_CBCR_REG 0x07700154
|
||||
#define ADSS_AUDIO_SPDIF_DIV2_CBCR_REG 0x0770015C
|
||||
#define ADSS_AUDIO_TXM_CBCR_REG 0x0770016C
|
||||
#define ADSS_AUDIO_PCM_CBCR_REG 0x077001AC
|
||||
#define ADSS_AUDIO_SPDIF_IN_FAST_CBCR_REG 0x077001EC
|
||||
|
||||
const char *rsvd_node = "/reserved-memory";
|
||||
const char *del_node[] = {"rsvd1",
|
||||
"rsvd2",
|
||||
|
|
@ -349,6 +358,25 @@ void board_pci_deinit(void)
|
|||
pcie_clock_disable(GCC_PCIE_AHB_CBCR);
|
||||
}
|
||||
|
||||
/*
|
||||
* The audio block is out of reset by default due to which the
|
||||
* audio clock blocks are also turned on. When audio TLMM is
|
||||
* enabled in kernel, the clocks will also be available at the
|
||||
* pins which causes pop noise during kernel bootup.
|
||||
* To avoid this, the clocks are turned off in u-boot.
|
||||
*/
|
||||
void disable_audio_clks(void)
|
||||
{
|
||||
writel(0, ADSS_AUDIO_RXM_CBCR_REG);
|
||||
writel(0, ADSS_AUDIO_RXB_CBCR_REG);
|
||||
writel(0, ADSS_AUDIO_TXB_CBCR_REG);
|
||||
writel(0, ADSS_AUDIO_SPDIF_CBCR_REG);
|
||||
writel(0, ADSS_AUDIO_SPDIF_DIV2_CBCR_REG);
|
||||
writel(0, ADSS_AUDIO_TXM_CBCR_REG);
|
||||
writel(0, ADSS_AUDIO_PCM_CBCR_REG);
|
||||
writel(0, ADSS_AUDIO_SPDIF_IN_FAST_CBCR_REG);
|
||||
}
|
||||
|
||||
void ipq_fdt_fixup_socinfo(void *blob)
|
||||
{
|
||||
return;
|
||||
|
|
|
|||
|
|
@ -81,6 +81,8 @@ __weak int ipq_get_tz_version(char *version_name, int buf_size)
|
|||
return 1;
|
||||
}
|
||||
|
||||
void disable_audio_clks(void);
|
||||
|
||||
/* Board specific parameters */
|
||||
typedef struct {
|
||||
unsigned int machid;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue