diff --git a/board/qca/arm/ipq9574/ipq9574.c b/board/qca/arm/ipq9574/ipq9574.c index d2b340e9f1..caa197f1fd 100644 --- a/board/qca/arm/ipq9574/ipq9574.c +++ b/board/qca/arm/ipq9574/ipq9574.c @@ -142,6 +142,14 @@ void qpic_set_clk_rate(unsigned int clk_rate, int blk_type, int req_clk_src_type } #endif +void qpic_emulation_set_clk(void) +{ + writel(QPIC_CBCR_VAL, GCC_QPIC_CBCR_ADDR); + writel(CLK_ENABLE, GCC_QPIC_AHB_CBCR_ADDR); + writel(CLK_ENABLE, GCC_QPIC_SLEEP_CBCR); + writel(CLK_ENABLE, GCC_QPIC_IO_MACRO_CBCR); +} + void board_nand_init(void) { #ifdef CONFIG_QPIC_SERIAL @@ -155,6 +163,9 @@ void board_nand_init(void) if (!fdtdec_get_is_enabled(gd->fdt_blob, node)) { printf("QPIC: disabled, skipping initialization\n"); } else { +#ifdef CONFIG_IPQ9574_RUMI + qpic_emulation_set_clk(); +#endif qpic_nand_init(NULL); } #endif