Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

clk: qcom: gcc-ipq6018: add qdss_at clock needed for wifi operation

Without it system hangs upon wifi firmware load. It should be enabled by
remoteproc/wifi driver. Bindings already exist for it, so add it based
on vendor code.

Signed-off-by: Mantas Pucka <mantas@8devices.com>
Link: https://lore.kernel.org/r/1706001970-26032-1-git-send-email-mantas@8devices.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>

authored by

Mantas Pucka and committed by
Bjorn Andersson
fd712118 6613476e

+17
+17
drivers/clk/qcom/gcc-ipq6018.c
··· 3522 3522 }, 3523 3523 }; 3524 3524 3525 + static struct clk_branch gcc_qdss_at_clk = { 3526 + .halt_reg = 0x29024, 3527 + .clkr = { 3528 + .enable_reg = 0x29024, 3529 + .enable_mask = BIT(0), 3530 + .hw.init = &(struct clk_init_data){ 3531 + .name = "gcc_qdss_at_clk", 3532 + .parent_hws = (const struct clk_hw *[]){ 3533 + &qdss_at_clk_src.clkr.hw }, 3534 + .num_parents = 1, 3535 + .flags = CLK_SET_RATE_PARENT, 3536 + .ops = &clk_branch2_ops, 3537 + }, 3538 + }, 3539 + }; 3540 + 3525 3541 static struct clk_branch gcc_qdss_dap_clk = { 3526 3542 .halt_reg = 0x29084, 3527 3543 .clkr = { ··· 4377 4361 [GCC_SYS_NOC_PCIE0_AXI_CLK] = &gcc_sys_noc_pcie0_axi_clk.clkr, 4378 4362 [GCC_PCIE0_PIPE_CLK] = &gcc_pcie0_pipe_clk.clkr, 4379 4363 [GCC_PRNG_AHB_CLK] = &gcc_prng_ahb_clk.clkr, 4364 + [GCC_QDSS_AT_CLK] = &gcc_qdss_at_clk.clkr, 4380 4365 [GCC_QDSS_DAP_CLK] = &gcc_qdss_dap_clk.clkr, 4381 4366 [GCC_QPIC_AHB_CLK] = &gcc_qpic_ahb_clk.clkr, 4382 4367 [GCC_QPIC_CLK] = &gcc_qpic_clk.clkr,