// Copyright 2019 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#pragma once

namespace msm8x53 {

// Branch Clock Register Offsets.
constexpr uint32_t kApc0VoltageDroopDetectorGpll0Cbcr = 0x78004;
constexpr uint32_t kApc1VoltageDroopDetectorGpll0Cbcr = 0x79004;
constexpr uint32_t kBimcGfxCbcr = 0x59034;
constexpr uint32_t kBimcGpuCbcr = 0x59030;
constexpr uint32_t kBlsp1Qup1I2cAppsCbcr = 0x2008;
constexpr uint32_t kBlsp1Qup1SpiAppsCbcr = 0x2004;
constexpr uint32_t kBlsp1Qup2I2cAppsCbcr = 0x3010;
constexpr uint32_t kBlsp1Qup2SpiAppsCbcr = 0x300c;
constexpr uint32_t kBlsp1Qup3I2cAppsCbcr = 0x4020;
constexpr uint32_t kBlsp1Qup3SpiAppsCbcr = 0x401c;
constexpr uint32_t kBlsp1Qup4I2cAppsCbcr = 0x5020;
constexpr uint32_t kBlsp1Qup4SpiAppsCbcr = 0x501c;
constexpr uint32_t kBlsp1Uart1AppsCbcr = 0x203c;
constexpr uint32_t kBlsp1Uart2AppsCbcr = 0x302c;
constexpr uint32_t kBlsp2Qup1I2cAppsCbcr = 0xc008;
constexpr uint32_t kBlsp2Qup1SpiAppsCbcr = 0xc004;
constexpr uint32_t kBlsp2Qup2I2cAppsCbcr = 0xd010;
constexpr uint32_t kBlsp2Qup2SpiAppsCbcr = 0xd00c;
constexpr uint32_t kBlsp2Qup3I2cAppsCbcr = 0xf020;
constexpr uint32_t kBlsp2Qup3SpiAppsCbcr = 0xf01c;
constexpr uint32_t kBlsp2Qup4I2cAppsCbcr = 0x18020;
constexpr uint32_t kBlsp2Qup4SpiAppsCbcr = 0x1801c;
constexpr uint32_t kBlsp2Uart1AppsCbcr = 0xc03c;
constexpr uint32_t kBlsp2Uart2AppsCbcr = 0xd02c;
constexpr uint32_t kCamssAhbCbcr = 0x56004;
constexpr uint32_t kCamssCciAhbCbcr = 0x5101c;
constexpr uint32_t kCamssCciCbcr = 0x51018;
constexpr uint32_t kCamssCppAhbCbcr = 0x58040;
constexpr uint32_t kCamssCppAxiCbcr = 0x58064;
constexpr uint32_t kCamssCppCbcr = 0x5803c;
constexpr uint32_t kCamssCsi0AhbCbcr = 0x4e040;
constexpr uint32_t kCamssCsi0Cbcr = 0x4e03c;
constexpr uint32_t kCamssCsi0Csiphy3pCbcr = 0x58090;
constexpr uint32_t kCamssCsi0phyCbcr = 0x4e048;
constexpr uint32_t kCamssCsi0phytimerCbcr = 0x4e01c;
constexpr uint32_t kCamssCsi0pixCbcr = 0x4e058;
constexpr uint32_t kCamssCsi0rdiCbcr = 0x4e050;
constexpr uint32_t kCamssCsi1AhbCbcr = 0x4f040;
constexpr uint32_t kCamssCsi1Cbcr = 0x4f03c;
constexpr uint32_t kCamssCsi1Csiphy3pCbcr = 0x580a0;
constexpr uint32_t kCamssCsi1phyCbcr = 0x4f048;
constexpr uint32_t kCamssCsi1phytimerCbcr = 0x4f01c;
constexpr uint32_t kCamssCsi1pixCbcr = 0x4f058;
constexpr uint32_t kCamssCsi1rdiCbcr = 0x4f050;
constexpr uint32_t kCamssCsi2AhbCbcr = 0x3c040;
constexpr uint32_t kCamssCsi2Cbcr = 0x3c03c;
constexpr uint32_t kCamssCsi2Csiphy3pCbcr = 0x580b0;
constexpr uint32_t kCamssCsi2phyCbcr = 0x3c048;
constexpr uint32_t kCamssCsi2phytimerCbcr = 0x4f068;
constexpr uint32_t kCamssCsi2pixCbcr = 0x3c058;
constexpr uint32_t kCamssCsi2rdiCbcr = 0x3c050;
constexpr uint32_t kCamssCsiVfe0Cbcr = 0x58050;
constexpr uint32_t kCamssCsiVfe1Cbcr = 0x58074;
constexpr uint32_t kCamssGp0Cbcr = 0x54018;
constexpr uint32_t kCamssGp1Cbcr = 0x55018;
constexpr uint32_t kCamssIspifAhbCbcr = 0x50004;
constexpr uint32_t kCamssJpeg0Cbcr = 0x57020;
constexpr uint32_t kCamssJpegAhbCbcr = 0x57024;
constexpr uint32_t kCamssJpegAxiCbcr = 0x57028;
constexpr uint32_t kCamssMclk0Cbcr = 0x52018;
constexpr uint32_t kCamssMclk1Cbcr = 0x53018;
constexpr uint32_t kCamssMclk2Cbcr = 0x5c018;
constexpr uint32_t kCamssMclk3Cbcr = 0x5e018;
constexpr uint32_t kCamssMicroAhbCbcr = 0x5600c;
constexpr uint32_t kCamssTopAhbCbcr = 0x5a014;
constexpr uint32_t kCamssVfe0Cbcr = 0x58038;
constexpr uint32_t kCamssVfe1AhbCbcr = 0x58060;
constexpr uint32_t kCamssVfe1AxiCbcr = 0x58068;
constexpr uint32_t kCamssVfe1Cbcr = 0x5805c;
constexpr uint32_t kCamssVfeAhbCbcr = 0x58044;
constexpr uint32_t kCamssVfeAxiCbcr = 0x58048;
constexpr uint32_t kDccCbcr = 0x77004;
constexpr uint32_t kGp1Cbcr = 0x8000;
constexpr uint32_t kGp2Cbcr = 0x9000;
constexpr uint32_t kGp3Cbcr = 0xa000;
constexpr uint32_t kMdssAhbCbcr = 0x4d07c;
constexpr uint32_t kMdssAxiCbcr = 0x4d080;
constexpr uint32_t kMdssByte0Cbcr = 0x4d094;
constexpr uint32_t kMdssByte1Cbcr = 0x4d0a0;
constexpr uint32_t kMdssEsc0Cbcr = 0x4d098;
constexpr uint32_t kMdssEsc1Cbcr = 0x4d09c;
constexpr uint32_t kMdssMdpCbcr = 0x4d088;
constexpr uint32_t kMdssPclk0Cbcr = 0x4d084;
constexpr uint32_t kMdssPclk1Cbcr = 0x4d0a4;
constexpr uint32_t kMdssVsyncCbcr = 0x4d090;
constexpr uint32_t kMssCfgAhbCbcr = 0x49000;
constexpr uint32_t kMssQ6BimcAxiCbcr = 0x49004;
constexpr uint32_t kOxiliAhbCbcr = 0x59028;
constexpr uint32_t kOxiliAonCbcr = 0x59044;
constexpr uint32_t kOxiliGfx3dCbcr = 0x59020;
constexpr uint32_t kOxiliTimerCbcr = 0x59040;
constexpr uint32_t kPcnocUsb3AxiCbcr = 0x3f038;
constexpr uint32_t kPdm2Cbcr = 0x4400c;
constexpr uint32_t kPdmAhbCbcr = 0x44004;
constexpr uint32_t kRbcprGfxCbcr = 0x3a004;
constexpr uint32_t kSdcc1AhbCbcr = 0x4201c;
constexpr uint32_t kSdcc1AppsCbcr = 0x42018;
constexpr uint32_t kSdcc1IceCoreCbcr = 0x5d014;
constexpr uint32_t kSdcc2AhbCbcr = 0x4301c;
constexpr uint32_t kSdcc2AppsCbcr = 0x43018;
constexpr uint32_t kUsb30MasterCbcr = 0x3f000;
constexpr uint32_t kUsb30MockUtmiCbcr = 0x3f00;
constexpr uint32_t kUsb30SleepCbcr = 0x3f004;
constexpr uint32_t kUsb3AuxCbcr = 0x3f044;
constexpr uint32_t kUsbPhyCfgAhbCbcr = 0x3f080;
constexpr uint32_t kVenus0AhbCbcr = 0x4c020;
constexpr uint32_t kVenus0AxiCbcr = 0x4c024;
constexpr uint32_t kVenus0Core0Vcodec0Cbcr = 0x4c02c;
constexpr uint32_t kVenus0Vcodec0Cbcr = 0x4c01c;

// Voter Clock Register Offsets.
// CBCR Regs.
constexpr uint32_t kVfe1TbuCbcr = 0x12090;
constexpr uint32_t kBootRomAhbCbcr = 0x1300c;
constexpr uint32_t kBlsp2AhbCbcr = 0xb008;
constexpr uint32_t kSmmuCfgCbcr = 0x12038;
constexpr uint32_t kMdpTbuCbcr = 0x1201c;
constexpr uint32_t kApssAhbCbcr = 0x4601c;
constexpr uint32_t kCryptoAxiCbcr = 0x16020;
constexpr uint32_t kBlsp1AhbCbcr = 0x1008;
constexpr uint32_t kQdssDapCbcr = 0x29084;
constexpr uint32_t kCppTbuCbcr = 0x12040;
constexpr uint32_t kCryptoCbcr = 0x1601c;
constexpr uint32_t kVfeTbuCbcr = 0x1203c;
constexpr uint32_t kJpegTbuCbcr = 0x12034;
constexpr uint32_t kVenusTbuCbcr = 0x12014;
constexpr uint32_t kCryptoAhbCbcr = 0x16024;
constexpr uint32_t kPrngAhbCbcr = 0x13004;
constexpr uint32_t kApssAxiCbcr = 0x46020;
constexpr uint32_t kApssTcuAsyncCbcr = 0x12018;
// Vote Regs.
constexpr uint32_t kApcsClockBranchEnaVote = 0x45004;
constexpr uint32_t kApcsSmmuClockBranchEnaVote = 0x4500C;

// RCG Command Registers
constexpr uint32_t kCamssTopAhbCmdRcgr = 0x5A000;
constexpr uint32_t kCsi0CmdRcgr = 0x4E020;
constexpr uint32_t kApssAhbCmdRcgr = 0x46000;
constexpr uint32_t kCsi1CmdRcgr = 0x4F020;
constexpr uint32_t kCsi2CmdRcgr = 0x3C020;
constexpr uint32_t kVfe0CmdRcgr = 0x58000;
constexpr uint32_t kGfx3dCmdRcgr = 0x59000;
constexpr uint32_t kVcodec0CmdRcgr = 0x4C000;
constexpr uint32_t kCppCmdRcgr = 0x58018;
constexpr uint32_t kJpeg0CmdRcgr = 0x57000;
constexpr uint32_t kMdpCmdRcgr = 0x4D014;
constexpr uint32_t kPclk0CmdRcgr = 0x4D000;
constexpr uint32_t kPclk1CmdRcgr = 0x4D0B8;
constexpr uint32_t kUsb30MasterCmdRcgr = 0x3F00C;
constexpr uint32_t kVfe1CmdRcgr = 0x58054;
constexpr uint32_t kApc0VoltageDroopDetectorCmdRcgr = 0x78008;
constexpr uint32_t kApc1VoltageDroopDetectorCmdRcgr = 0x79008;
constexpr uint32_t kBlsp1Qup1I2cAppsCmdRcgr = 0x0200C;
constexpr uint32_t kBlsp1Qup1SpiAppsCmdRcgr = 0x02024;
constexpr uint32_t kBlsp1Qup2I2cAppsCmdRcgr = 0x03000;
constexpr uint32_t kBlsp1Qup2SpiAppsCmdRcgr = 0x03014;
constexpr uint32_t kBlsp1Qup3I2cAppsCmdRcgr = 0x04000;
constexpr uint32_t kBlsp1Qup3SpiAppsCmdRcgr = 0x04024;
constexpr uint32_t kBlsp1Qup4I2cAppsCmdRcgr = 0x05000;
constexpr uint32_t kBlsp1Qup4SpiAppsCmdRcgr = 0x05024;
constexpr uint32_t kBlsp1Uart1AppsCmdRcgr = 0x02044;
constexpr uint32_t kBlsp1Uart2AppsCmdRcgr = 0x03034;
constexpr uint32_t kBlsp2Qup1I2cAppsCmdRcgr = 0x0C00C;
constexpr uint32_t kBlsp2Qup1SpiAppsCmdRcgr = 0x0C024;
constexpr uint32_t kBlsp2Qup2I2cAppsCmdRcgr = 0x0D000;
constexpr uint32_t kBlsp2Qup2SpiAppsCmdRcgr = 0x0D014;
constexpr uint32_t kBlsp2Qup3I2cAppsCmdRcgr = 0x0F000;
constexpr uint32_t kBlsp2Qup3SpiAppsCmdRcgr = 0x0F024;
constexpr uint32_t kBlsp2Qup4I2cAppsCmdRcgr = 0x18000;
constexpr uint32_t kBlsp2Qup4SpiAppsCmdRcgr = 0x18024;
constexpr uint32_t kBlsp2Uart1AppsCmdRcgr = 0x0C044;
constexpr uint32_t kBlsp2Uart2AppsCmdRcgr = 0x0D034;
constexpr uint32_t kCciCmdRcgr = 0x51000;
constexpr uint32_t kCsi0pCmdRcgr = 0x58084;
constexpr uint32_t kCsi1pCmdRcgr = 0x58094;
constexpr uint32_t kCsi2pCmdRcgr = 0x580A4;
constexpr uint32_t kCamssGp0CmdRcgr = 0x54000;
constexpr uint32_t kCamssGp1CmdRcgr = 0x55000;
constexpr uint32_t kMclk0CmdRcgr = 0x52000;
constexpr uint32_t kMclk1CmdRcgr = 0x53000;
constexpr uint32_t kMclk2CmdRcgr = 0x5C000;
constexpr uint32_t kMclk3CmdRcgr = 0x5E000;
constexpr uint32_t kCsi0phytimerCmdRcgr = 0x4E000;
constexpr uint32_t kCsi1phytimerCmdRcgr = 0x4F000;
constexpr uint32_t kCsi2phytimerCmdRcgr = 0x4F05C;
constexpr uint32_t kCryptoCmdRcgr = 0x16004;
constexpr uint32_t kGp1CmdRcgr = 0x08004;
constexpr uint32_t kGp2CmdRcgr = 0x09004;
constexpr uint32_t kGp3CmdRcgr = 0x0A004;
constexpr uint32_t kByte0CmdRcgr = 0x4D044;
constexpr uint32_t kByte1CmdRcgr = 0x4D0B0;
constexpr uint32_t kEsc0CmdRcgr = 0x4D05C;
constexpr uint32_t kEsc1CmdRcgr = 0x4D0A8;
constexpr uint32_t kVsyncCmdRcgr = 0x4D02C;
constexpr uint32_t kPdm2CmdRcgr = 0x44010;
constexpr uint32_t kRbcprGfxCmdRcgr = 0x3A00C;
constexpr uint32_t kSdcc1AppsCmdRcgr = 0x42004;
constexpr uint32_t kSdcc1IceCoreCmdRcgr = 0x5D000;
constexpr uint32_t kSdcc2AppsCmdRcgr = 0x43004;
constexpr uint32_t kUsb30MockUtmiCmdRcgr = 0x3F020;
constexpr uint32_t kUsb3AuxCmdRcgr = 0x3F05C;

// Mux Constants
constexpr uint32_t kXoSrcVal = 0;
constexpr uint32_t kXoASrcVal = 0;
constexpr uint32_t kXoPipeSrcVal = 1;
constexpr uint32_t kGpll0SrcVal = 1;
constexpr uint32_t kGpll0MainSrcVal = 2;
constexpr uint32_t kGpll0MainMockSrcVal = 3;
constexpr uint32_t kGpll0MainDiv2Usb3SrcVal = 2;
constexpr uint32_t kGpll0MainDiv2SrcVal = 4;
constexpr uint32_t kGpll0MainDiv2CciSrcVal = 3;
constexpr uint32_t kGpll0MainDiv2MmSrcVal = 5;
constexpr uint32_t kGpll0MainDiv2AxiSrcVal = 6;
constexpr uint32_t kGpll2SrcVal = 4;
constexpr uint32_t kGpll2OutMainSrcVal = 5;
constexpr uint32_t kGpll2VcodecSrcVal = 3;
constexpr uint32_t kGpll3SrcVal = 2;
constexpr uint32_t kGpll4SrcVal = 2;
constexpr uint32_t kGpll4AuxSrcVal = 2;
constexpr uint32_t kGpll4OutAuxSrcVal = 4;
constexpr uint32_t kGpll6MainSrcVal = 1;
constexpr uint32_t kGpll6SrcVal = 2;
constexpr uint32_t kGpll6MainGfxSrcVal = 3;
constexpr uint32_t kGpll6MainDiv2MockSrcVal = 2;
constexpr uint32_t kGpll6MainDiv2SrcVal = 5;
constexpr uint32_t kGpll6MainDiv2GfxSrcVal = 6;
constexpr uint32_t kGpll6AuxSrcVal = 2;
constexpr uint32_t kGpll6OutAuxSrcVal = 3;
constexpr uint32_t kUsb3PipeSrcVal = 0;
constexpr uint32_t kDsi0PhypllMmSrcVal = 1;
constexpr uint32_t kDsi1PhypllMmSrcVal = 3;
constexpr uint32_t kDsi0PhypllClkMmSrcVal = 3;
constexpr uint32_t kDsi1PhypllClkMmSrcVal = 1;

} // namespace msm8x53

namespace clk {

typedef struct msm_clk_gate {
    uint32_t reg;
    uint32_t bit;
    uint32_t delay_us;
} msm_clk_gate_t;

struct msm_clk_branch {
    uint32_t reg;
};

struct msm_clk_voter {
    uint32_t cbcr_reg;
    uint32_t vote_reg;
    uint32_t bit;
};

enum class RcgDividerType {
    HalfInteger,
    Mnd
};

class RcgFrequencyTable {
    static constexpr uint32_t kPredivMask = 0x1f;
    static constexpr uint32_t kSrcMask = 0x7;
    static constexpr uint32_t kSrcShift = 8;

public:
    constexpr RcgFrequencyTable(uint64_t rate, uint32_t m, uint32_t n, uint32_t d2, uint32_t parent)
        : rate_(rate), m_(m), n_(n == 0 ? 0 : ~(n - m)), d_(~n), predev_parent_(((d2 - 1) & kPredivMask) | ((parent & kSrcMask) << kSrcShift)) {}

    uint64_t rate() const { return rate_; }
    uint32_t m() const { return m_; }
    uint32_t n() const { return n_; }
    uint32_t d() const { return d_; }
    uint32_t predev_parent() const { return predev_parent_; }

private:
    const uint64_t rate_;
    const uint32_t m_;
    const uint32_t n_;
    const uint32_t d_;
    const uint32_t predev_parent_;
};

class MsmClkRcg {
public:
    constexpr MsmClkRcg(uint32_t reg, RcgDividerType type, const RcgFrequencyTable* table,
                        size_t frequency_table_count, bool unsupported = false)
        : cmd_rcgr_reg_(reg), type_(type), frequency_table_(table),
          frequency_table_count_(frequency_table_count), unsupported_(unsupported) {}

    static constexpr uint32_t kCmdOffset = 0x0;
    uint32_t CmdReg() const { return cmd_rcgr_reg_ + kCmdOffset; }

    static constexpr uint32_t kCfgOffset = 0x4;
    uint32_t CfgReg() const { return cmd_rcgr_reg_ + kCfgOffset; }

    static constexpr uint32_t kMOffset = 0x8;
    uint32_t MReg() const { return cmd_rcgr_reg_ + kMOffset; }

    static constexpr uint32_t kNOffset = 0xC;
    uint32_t NReg() const { return cmd_rcgr_reg_ + kNOffset; }

    static constexpr uint32_t KDOffset = 0x10;
    uint32_t DReg() const { return cmd_rcgr_reg_ + KDOffset; }

    RcgDividerType Type() const { return type_; }
    const RcgFrequencyTable* Table() const { return frequency_table_; }
    size_t TableCount() const { return frequency_table_count_; }
    bool Unsupported() const { return unsupported_; }

private:
    const uint32_t cmd_rcgr_reg_;
    const RcgDividerType type_;
    const RcgFrequencyTable* frequency_table_;
    const size_t frequency_table_count_;
    const bool unsupported_;
};

namespace {

class RcgClkCmd : public hwreg::RegisterBase<RcgClkCmd, uint32_t> {
public:
    DEF_BIT(0, cfg_update);
    DEF_BIT(1, root_enable);
    DEF_BIT(31, root_status);

    static auto Read(uint32_t offset) {
        return hwreg::RegisterAddr<RcgClkCmd>(offset);
    }
};

constexpr msm_clk_gate_t kMsmClkGates[] = {
    [msm8x53::MsmClkIndex(msm8x53::kQUsbRefClk)] = {.reg = 0x41030, .bit = 0, .delay_us = 0},
    [msm8x53::MsmClkIndex(msm8x53::kUsbSSRefClk)] = {.reg = 0x5e07c, .bit = 0, .delay_us = 0},
    [msm8x53::MsmClkIndex(msm8x53::kUsb3PipeClk)] = {.reg = 0x5e040, .bit = 0, .delay_us = 50},
};

constexpr uint32_t kBranchEnable = (0x1u << 0);
constexpr struct msm_clk_branch kMsmClkBranches[] = {
    [msm8x53::MsmClkIndex(msm8x53::kApc0DroopDetectorGpll0Clk)] = {
        .reg = msm8x53::kApc0VoltageDroopDetectorGpll0Cbcr},
    [msm8x53::MsmClkIndex(msm8x53::kApc1DroopDetectorGpll0Clk)] = {.reg = msm8x53::kApc1VoltageDroopDetectorGpll0Cbcr},
    [msm8x53::MsmClkIndex(msm8x53::kBlsp1Qup1I2cAppsClk)] = {.reg = msm8x53::kBlsp1Qup1I2cAppsCbcr},
    [msm8x53::MsmClkIndex(msm8x53::kBlsp1Qup1SpiAppsClk)] = {.reg = msm8x53::kBlsp1Qup1SpiAppsCbcr},
    [msm8x53::MsmClkIndex(msm8x53::kBlsp1Qup2I2cAppsClk)] = {.reg = msm8x53::kBlsp1Qup2I2cAppsCbcr},
    [msm8x53::MsmClkIndex(msm8x53::kBlsp1Qup2SpiAppsClk)] = {.reg = msm8x53::kBlsp1Qup2SpiAppsCbcr},
    [msm8x53::MsmClkIndex(msm8x53::kBlsp1Qup3I2cAppsClk)] = {.reg = msm8x53::kBlsp1Qup3I2cAppsCbcr},
    [msm8x53::MsmClkIndex(msm8x53::kBlsp1Qup3SpiAppsClk)] = {.reg = msm8x53::kBlsp1Qup3SpiAppsCbcr},
    [msm8x53::MsmClkIndex(msm8x53::kBlsp1Qup4I2cAppsClk)] = {.reg = msm8x53::kBlsp1Qup4I2cAppsCbcr},
    [msm8x53::MsmClkIndex(msm8x53::kBlsp1Qup4SpiAppsClk)] = {.reg = msm8x53::kBlsp1Qup4SpiAppsCbcr},
    [msm8x53::MsmClkIndex(msm8x53::kBlsp1Uart1AppsClk)] = {.reg = msm8x53::kBlsp1Uart1AppsCbcr},
    [msm8x53::MsmClkIndex(msm8x53::kBlsp1Uart2AppsClk)] = {.reg = msm8x53::kBlsp1Uart2AppsCbcr},
    [msm8x53::MsmClkIndex(msm8x53::kBlsp2Qup1I2cAppsClk)] = {.reg = msm8x53::kBlsp2Qup1I2cAppsCbcr},
    [msm8x53::MsmClkIndex(msm8x53::kBlsp2Qup1SpiAppsClk)] = {.reg = msm8x53::kBlsp2Qup1SpiAppsCbcr},
    [msm8x53::MsmClkIndex(msm8x53::kBlsp2Qup2I2cAppsClk)] = {.reg = msm8x53::kBlsp2Qup2I2cAppsCbcr},
    [msm8x53::MsmClkIndex(msm8x53::kBlsp2Qup2SpiAppsClk)] = {.reg = msm8x53::kBlsp2Qup2SpiAppsCbcr},
    [msm8x53::MsmClkIndex(msm8x53::kBlsp2Qup3I2cAppsClk)] = {.reg = msm8x53::kBlsp2Qup3I2cAppsCbcr},
    [msm8x53::MsmClkIndex(msm8x53::kBlsp2Qup3SpiAppsClk)] = {.reg = msm8x53::kBlsp2Qup3SpiAppsCbcr},
    [msm8x53::MsmClkIndex(msm8x53::kBlsp2Qup4I2cAppsClk)] = {.reg = msm8x53::kBlsp2Qup4I2cAppsCbcr},
    [msm8x53::MsmClkIndex(msm8x53::kBlsp2Qup4SpiAppsClk)] = {.reg = msm8x53::kBlsp2Qup4SpiAppsCbcr},
    [msm8x53::MsmClkIndex(msm8x53::kBlsp2Uart1AppsClk)] = {.reg = msm8x53::kBlsp2Uart1AppsCbcr},
    [msm8x53::MsmClkIndex(msm8x53::kBlsp2Uart2AppsClk)] = {.reg = msm8x53::kBlsp2Uart2AppsCbcr},
    [msm8x53::MsmClkIndex(msm8x53::kBimcGpuClk)] = {.reg = msm8x53::kBimcGpuCbcr},
    [msm8x53::MsmClkIndex(msm8x53::kCamssCciAhbClk)] = {.reg = msm8x53::kCamssCciAhbCbcr},
    [msm8x53::MsmClkIndex(msm8x53::kCamssCciClk)] = {.reg = msm8x53::kCamssCciCbcr},
    [msm8x53::MsmClkIndex(msm8x53::kCamssCppAhbClk)] = {.reg = msm8x53::kCamssCppAhbCbcr},
    [msm8x53::MsmClkIndex(msm8x53::kCamssCppAxiClk)] = {.reg = msm8x53::kCamssCppAxiCbcr},
    [msm8x53::MsmClkIndex(msm8x53::kCamssCppClk)] = {.reg = msm8x53::kCamssCppCbcr},
    [msm8x53::MsmClkIndex(msm8x53::kCamssCsi0AhbClk)] = {.reg = msm8x53::kCamssCsi0AhbCbcr},
    [msm8x53::MsmClkIndex(msm8x53::kCamssCsi0Clk)] = {.reg = msm8x53::kCamssCsi0Cbcr},
    [msm8x53::MsmClkIndex(msm8x53::kCamssCsi0Csiphy3pClk)] = {.reg = msm8x53::kCamssCsi0Csiphy3pCbcr},
    [msm8x53::MsmClkIndex(msm8x53::kCamssCsi0phyClk)] = {.reg = msm8x53::kCamssCsi0phyCbcr},
    [msm8x53::MsmClkIndex(msm8x53::kCamssCsi0pixClk)] = {.reg = msm8x53::kCamssCsi0pixCbcr},
    [msm8x53::MsmClkIndex(msm8x53::kCamssCsi0rdiClk)] = {.reg = msm8x53::kCamssCsi0rdiCbcr},
    [msm8x53::MsmClkIndex(msm8x53::kCamssCsi1AhbClk)] = {.reg = msm8x53::kCamssCsi1AhbCbcr},
    [msm8x53::MsmClkIndex(msm8x53::kCamssCsi1Clk)] = {.reg = msm8x53::kCamssCsi1Cbcr},
    [msm8x53::MsmClkIndex(msm8x53::kCamssCsi1Csiphy3pClk)] = {.reg = msm8x53::kCamssCsi1Csiphy3pCbcr},
    [msm8x53::MsmClkIndex(msm8x53::kCamssCsi1phyClk)] = {.reg = msm8x53::kCamssCsi1phyCbcr},
    [msm8x53::MsmClkIndex(msm8x53::kCamssCsi1pixClk)] = {.reg = msm8x53::kCamssCsi1pixCbcr},
    [msm8x53::MsmClkIndex(msm8x53::kCamssCsi1rdiClk)] = {.reg = msm8x53::kCamssCsi1rdiCbcr},
    [msm8x53::MsmClkIndex(msm8x53::kCamssCsi2AhbClk)] = {.reg = msm8x53::kCamssCsi2AhbCbcr},
    [msm8x53::MsmClkIndex(msm8x53::kCamssCsi2Clk)] = {.reg = msm8x53::kCamssCsi2Cbcr},
    [msm8x53::MsmClkIndex(msm8x53::kCamssCsi2Csiphy3pClk)] = {.reg = msm8x53::kCamssCsi2Csiphy3pCbcr},
    [msm8x53::MsmClkIndex(msm8x53::kCamssCsi2phyClk)] = {.reg = msm8x53::kCamssCsi2phyCbcr},
    [msm8x53::MsmClkIndex(msm8x53::kCamssCsi2pixClk)] = {.reg = msm8x53::kCamssCsi2pixCbcr},
    [msm8x53::MsmClkIndex(msm8x53::kCamssCsi2rdiClk)] = {.reg = msm8x53::kCamssCsi2rdiCbcr},
    [msm8x53::MsmClkIndex(msm8x53::kCamssCsiVfe0Clk)] = {.reg = msm8x53::kCamssCsiVfe0Cbcr},
    [msm8x53::MsmClkIndex(msm8x53::kCamssCsiVfe1Clk)] = {.reg = msm8x53::kCamssCsiVfe1Cbcr},
    [msm8x53::MsmClkIndex(msm8x53::kCamssGp0Clk)] = {.reg = msm8x53::kCamssGp0Cbcr},
    [msm8x53::MsmClkIndex(msm8x53::kCamssGp1Clk)] = {.reg = msm8x53::kCamssGp1Cbcr},
    [msm8x53::MsmClkIndex(msm8x53::kCamssIspifAhbClk)] = {.reg = msm8x53::kCamssIspifAhbCbcr},
    [msm8x53::MsmClkIndex(msm8x53::kCamssJpeg0Clk)] = {.reg = msm8x53::kCamssJpeg0Cbcr},
    [msm8x53::MsmClkIndex(msm8x53::kCamssJpegAhbClk)] = {.reg = msm8x53::kCamssJpegAhbCbcr},
    [msm8x53::MsmClkIndex(msm8x53::kCamssJpegAxiClk)] = {.reg = msm8x53::kCamssJpegAxiCbcr},
    [msm8x53::MsmClkIndex(msm8x53::kCamssMclk0Clk)] = {.reg = msm8x53::kCamssMclk0Cbcr},
    [msm8x53::MsmClkIndex(msm8x53::kCamssMclk1Clk)] = {.reg = msm8x53::kCamssMclk1Cbcr},
    [msm8x53::MsmClkIndex(msm8x53::kCamssMclk2Clk)] = {.reg = msm8x53::kCamssMclk2Cbcr},
    [msm8x53::MsmClkIndex(msm8x53::kCamssMclk3Clk)] = {.reg = msm8x53::kCamssMclk3Cbcr},
    [msm8x53::MsmClkIndex(msm8x53::kCamssMicroAhbClk)] = {.reg = msm8x53::kCamssMicroAhbCbcr},
    [msm8x53::MsmClkIndex(msm8x53::kCamssCsi0phytimerClk)] = {.reg = msm8x53::kCamssCsi0phytimerCbcr},
    [msm8x53::MsmClkIndex(msm8x53::kCamssCsi1phytimerClk)] = {.reg = msm8x53::kCamssCsi1phytimerCbcr},
    [msm8x53::MsmClkIndex(msm8x53::kCamssCsi2phytimerClk)] = {.reg = msm8x53::kCamssCsi2phytimerCbcr},
    [msm8x53::MsmClkIndex(msm8x53::kCamssAhbClk)] = {.reg = msm8x53::kCamssAhbCbcr},
    [msm8x53::MsmClkIndex(msm8x53::kCamssTopAhbClk)] = {.reg = msm8x53::kCamssTopAhbCbcr},
    [msm8x53::MsmClkIndex(msm8x53::kCamssVfe0Clk)] = {.reg = msm8x53::kCamssVfe0Cbcr},
    [msm8x53::MsmClkIndex(msm8x53::kCamssVfeAhbClk)] = {.reg = msm8x53::kCamssVfeAhbCbcr},
    [msm8x53::MsmClkIndex(msm8x53::kCamssVfeAxiClk)] = {.reg = msm8x53::kCamssVfeAxiCbcr},
    [msm8x53::MsmClkIndex(msm8x53::kCamssVfe1AhbClk)] = {.reg = msm8x53::kCamssVfe1AhbCbcr},
    [msm8x53::MsmClkIndex(msm8x53::kCamssVfe1AxiClk)] = {.reg = msm8x53::kCamssVfe1AxiCbcr},
    [msm8x53::MsmClkIndex(msm8x53::kCamssVfe1Clk)] = {.reg = msm8x53::kCamssVfe1Cbcr},
    [msm8x53::MsmClkIndex(msm8x53::kDccClk)] = {.reg = msm8x53::kDccCbcr},
    [msm8x53::MsmClkIndex(msm8x53::kGp1Clk)] = {.reg = msm8x53::kGp1Cbcr},
    [msm8x53::MsmClkIndex(msm8x53::kGp2Clk)] = {.reg = msm8x53::kGp2Cbcr},
    [msm8x53::MsmClkIndex(msm8x53::kGp3Clk)] = {.reg = msm8x53::kGp3Cbcr},
    [msm8x53::MsmClkIndex(msm8x53::kMdssAhbClk)] = {.reg = msm8x53::kMdssAhbCbcr},
    [msm8x53::MsmClkIndex(msm8x53::kMdssAxiClk)] = {.reg = msm8x53::kMdssAxiCbcr},
    [msm8x53::MsmClkIndex(msm8x53::kMdssByte0Clk)] = {.reg = msm8x53::kMdssByte0Cbcr},
    [msm8x53::MsmClkIndex(msm8x53::kMdssByte1Clk)] = {.reg = msm8x53::kMdssByte1Cbcr},
    [msm8x53::MsmClkIndex(msm8x53::kMdssEsc0Clk)] = {.reg = msm8x53::kMdssEsc0Cbcr},
    [msm8x53::MsmClkIndex(msm8x53::kMdssEsc1Clk)] = {.reg = msm8x53::kMdssEsc1Cbcr},
    [msm8x53::MsmClkIndex(msm8x53::kMdssMdpClk)] = {.reg = msm8x53::kMdssMdpCbcr},
    [msm8x53::MsmClkIndex(msm8x53::kMdssPclk0Clk)] = {.reg = msm8x53::kMdssPclk0Cbcr},
    [msm8x53::MsmClkIndex(msm8x53::kMdssPclk1Clk)] = {.reg = msm8x53::kMdssPclk1Cbcr},
    [msm8x53::MsmClkIndex(msm8x53::kMdssVsyncClk)] = {.reg = msm8x53::kMdssVsyncCbcr},
    [msm8x53::MsmClkIndex(msm8x53::kMssCfgAhbClk)] = {.reg = msm8x53::kMssCfgAhbCbcr},
    [msm8x53::MsmClkIndex(msm8x53::kMssQ6BimcAxiClk)] = {.reg = msm8x53::kMssQ6BimcAxiCbcr},
    [msm8x53::MsmClkIndex(msm8x53::kBimcGfxClk)] = {.reg = msm8x53::kBimcGfxCbcr},
    [msm8x53::MsmClkIndex(msm8x53::kOxiliAhbClk)] = {.reg = msm8x53::kOxiliAhbCbcr},
    [msm8x53::MsmClkIndex(msm8x53::kOxiliAonClk)] = {.reg = msm8x53::kOxiliAonCbcr},
    [msm8x53::MsmClkIndex(msm8x53::kOxiliGfx3dClk)] = {.reg = msm8x53::kOxiliGfx3dCbcr},
    [msm8x53::MsmClkIndex(msm8x53::kOxiliTimerClk)] = {.reg = msm8x53::kOxiliTimerCbcr},
    [msm8x53::MsmClkIndex(msm8x53::kPcnocUsb3AxiClk)] = {.reg = msm8x53::kPcnocUsb3AxiCbcr},
    [msm8x53::MsmClkIndex(msm8x53::kPdm2Clk)] = {.reg = msm8x53::kPdm2Cbcr},
    [msm8x53::MsmClkIndex(msm8x53::kPdmAhbClk)] = {.reg = msm8x53::kPdmAhbCbcr},
    [msm8x53::MsmClkIndex(msm8x53::kRbcprGfxClk)] = {.reg = msm8x53::kRbcprGfxCbcr},
    [msm8x53::MsmClkIndex(msm8x53::kSdcc1AhbClk)] = {.reg = msm8x53::kSdcc1AhbCbcr},
    [msm8x53::MsmClkIndex(msm8x53::kSdcc1AppsClk)] = {.reg = msm8x53::kSdcc1AppsCbcr},
    [msm8x53::MsmClkIndex(msm8x53::kSdcc1IceCoreClk)] = {.reg = msm8x53::kSdcc1IceCoreCbcr},
    [msm8x53::MsmClkIndex(msm8x53::kSdcc2AhbClk)] = {.reg = msm8x53::kSdcc2AhbCbcr},
    [msm8x53::MsmClkIndex(msm8x53::kSdcc2AppsClk)] = {.reg = msm8x53::kSdcc2AppsCbcr},
    [msm8x53::MsmClkIndex(msm8x53::kUsb30MasterClk)] = {.reg = msm8x53::kUsb30MasterCbcr},
    [msm8x53::MsmClkIndex(msm8x53::kUsb30MockUtmiClk)] = {.reg = msm8x53::kUsb30MockUtmiCbcr},
    [msm8x53::MsmClkIndex(msm8x53::kUsb30SleepClk)] = {.reg = msm8x53::kUsb30SleepCbcr},
    [msm8x53::MsmClkIndex(msm8x53::kUsb3AuxClk)] = {.reg = msm8x53::kUsb3AuxCbcr},
    [msm8x53::MsmClkIndex(msm8x53::kUsbPhyCfgAhbClk)] = {.reg = msm8x53::kUsbPhyCfgAhbCbcr},
    [msm8x53::MsmClkIndex(msm8x53::kVenus0AhbClk)] = {.reg = msm8x53::kVenus0AhbCbcr},
    [msm8x53::MsmClkIndex(msm8x53::kVenus0AxiClk)] = {.reg = msm8x53::kVenus0AxiCbcr},
    [msm8x53::MsmClkIndex(msm8x53::kVenus0Core0Vcodec0Clk)] = {.reg = msm8x53::kVenus0Core0Vcodec0Cbcr},
    [msm8x53::MsmClkIndex(msm8x53::kVenus0Vcodec0Clk)] = {.reg = msm8x53::kVenus0Vcodec0Cbcr},
};

constexpr RcgFrequencyTable kFtblCamssTopAhbClkSrc[] = {
    RcgFrequencyTable(40000000, 0, 0, 20, msm8x53::kGpll0MainDiv2SrcVal),
    RcgFrequencyTable(80000000, 0, 0, 20, msm8x53::kGpll0SrcVal),
};

constexpr RcgFrequencyTable kFtblCsi0ClkSrc[] = {
    RcgFrequencyTable(100000000, 0, 0, 8, msm8x53::kGpll0MainDiv2MmSrcVal),
    RcgFrequencyTable(200000000, 0, 0, 8, msm8x53::kGpll0SrcVal),
    RcgFrequencyTable(310000000, 0, 0, 6, msm8x53::kGpll2SrcVal),
    RcgFrequencyTable(400000000, 0, 0, 4, msm8x53::kGpll0SrcVal),
    RcgFrequencyTable(465000000, 0, 0, 4, msm8x53::kGpll2SrcVal),
};

constexpr RcgFrequencyTable kFtblApssAhbClkSrc[] = {
    RcgFrequencyTable(19200000, 0, 0, 2, msm8x53::kXoASrcVal),
    RcgFrequencyTable(25000000, 0, 0, 32, msm8x53::kGpll0MainDiv2SrcVal),
    RcgFrequencyTable(50000000, 0, 0, 32, msm8x53::kGpll0SrcVal),
    RcgFrequencyTable(100000000, 0, 0, 16, msm8x53::kGpll0SrcVal),
    RcgFrequencyTable(133330000, 0, 0, 12, msm8x53::kGpll0SrcVal),
};

constexpr RcgFrequencyTable kFtblCsi1ClkSrc[] = {
    RcgFrequencyTable(100000000, 0, 0, 8, msm8x53::kGpll0MainDiv2SrcVal),
    RcgFrequencyTable(200000000, 0, 0, 8, msm8x53::kGpll0SrcVal),
    RcgFrequencyTable(310000000, 0, 0, 6, msm8x53::kGpll2OutMainSrcVal),
    RcgFrequencyTable(400000000, 0, 0, 4, msm8x53::kGpll0SrcVal),
    RcgFrequencyTable(465000000, 0, 0, 4, msm8x53::kGpll2OutMainSrcVal),
};

constexpr RcgFrequencyTable kFtblCsi2ClkSrc[] = {
    RcgFrequencyTable(100000000, 0, 0, 8, msm8x53::kGpll0MainDiv2SrcVal),
    RcgFrequencyTable(200000000, 0, 0, 8, msm8x53::kGpll0SrcVal),
    RcgFrequencyTable(310000000, 0, 0, 6, msm8x53::kGpll2OutMainSrcVal),
    RcgFrequencyTable(400000000, 0, 0, 4, msm8x53::kGpll0SrcVal),
    RcgFrequencyTable(465000000, 0, 0, 4, msm8x53::kGpll2OutMainSrcVal),
};

constexpr RcgFrequencyTable kFtblVfe0ClkSrc[] = {
    RcgFrequencyTable(50000000, 0, 0, 16, msm8x53::kGpll0MainDiv2MmSrcVal),
    RcgFrequencyTable(100000000, 0, 0, 8, msm8x53::kGpll0MainDiv2MmSrcVal),
    RcgFrequencyTable(133330000, 0, 0, 12, msm8x53::kGpll0SrcVal),
    RcgFrequencyTable(160000000, 0, 0, 10, msm8x53::kGpll0SrcVal),
    RcgFrequencyTable(200000000, 0, 0, 8, msm8x53::kGpll0SrcVal),
    RcgFrequencyTable(266670000, 0, 0, 6, msm8x53::kGpll0SrcVal),
    RcgFrequencyTable(310000000, 0, 0, 6, msm8x53::kGpll2SrcVal),
    RcgFrequencyTable(400000000, 0, 0, 4, msm8x53::kGpll0SrcVal),
    RcgFrequencyTable(465000000, 0, 0, 4, msm8x53::kGpll2SrcVal),
};

constexpr RcgFrequencyTable kFtblGfx3dClkSrc[] = {};

__UNUSED constexpr RcgFrequencyTable kFtblGfx3dClkSrcSdm450[] = {};

__UNUSED constexpr RcgFrequencyTable kFtblGfx3dClkSrcSdm632[] = {};

constexpr RcgFrequencyTable kFtblVcodec0ClkSrc[] = {
    RcgFrequencyTable(114290000, 0, 0, 7, msm8x53::kGpll0MainDiv2SrcVal),
    RcgFrequencyTable(228570000, 0, 0, 7, msm8x53::kGpll0SrcVal),
    RcgFrequencyTable(310000000, 0, 0, 6, msm8x53::kGpll2VcodecSrcVal),
    RcgFrequencyTable(360000000, 0, 0, 6, msm8x53::kGpll6SrcVal),
    RcgFrequencyTable(400000000, 0, 0, 4, msm8x53::kGpll0SrcVal),
    RcgFrequencyTable(465000000, 0, 0, 4, msm8x53::kGpll2VcodecSrcVal),
};

__UNUSED constexpr RcgFrequencyTable kFtblVcodec0ClkSrc540MHz[] = {
    RcgFrequencyTable(114290000, 0, 0, 7, msm8x53::kGpll0MainDiv2SrcVal),
    RcgFrequencyTable(228570000, 0, 0, 7, msm8x53::kGpll0SrcVal),
    RcgFrequencyTable(310000000, 0, 0, 6, msm8x53::kGpll2VcodecSrcVal),
    RcgFrequencyTable(360000000, 0, 0, 6, msm8x53::kGpll6SrcVal),
    RcgFrequencyTable(400000000, 0, 0, 4, msm8x53::kGpll0SrcVal),
    RcgFrequencyTable(465000000, 0, 0, 4, msm8x53::kGpll2VcodecSrcVal),
    RcgFrequencyTable(540000000, 0, 0, 4, msm8x53::kGpll6SrcVal),
};

constexpr RcgFrequencyTable kFtblCppClkSrc[] = {
    RcgFrequencyTable(100000000, 0, 0, 8, msm8x53::kGpll0MainDiv2MmSrcVal),
    RcgFrequencyTable(200000000, 0, 0, 8, msm8x53::kGpll0SrcVal),
    RcgFrequencyTable(266670000, 0, 0, 6, msm8x53::kGpll0SrcVal),
    RcgFrequencyTable(320000000, 0, 0, 5, msm8x53::kGpll0SrcVal),
    RcgFrequencyTable(400000000, 0, 0, 4, msm8x53::kGpll0SrcVal),
    RcgFrequencyTable(465000000, 0, 0, 4, msm8x53::kGpll2SrcVal),
};

constexpr RcgFrequencyTable kFtblJpeg0ClkSrc[] = {
    RcgFrequencyTable(66670000, 0, 0, 12, msm8x53::kGpll0MainDiv2SrcVal),
    RcgFrequencyTable(133330000, 0, 0, 12, msm8x53::kGpll0SrcVal),
    RcgFrequencyTable(200000000, 0, 0, 8, msm8x53::kGpll0SrcVal),
    RcgFrequencyTable(266670000, 0, 0, 6, msm8x53::kGpll0SrcVal),
    RcgFrequencyTable(310000000, 0, 0, 6, msm8x53::kGpll2OutMainSrcVal),
    RcgFrequencyTable(320000000, 0, 0, 5, msm8x53::kGpll0SrcVal),
};

constexpr RcgFrequencyTable kFtblMdpClkSrc[] = {
    RcgFrequencyTable(50000000, 0, 0, 16, msm8x53::kGpll0MainDiv2SrcVal),
    RcgFrequencyTable(80000000, 0, 0, 10, msm8x53::kGpll0MainDiv2SrcVal),
    RcgFrequencyTable(160000000, 0, 0, 5, msm8x53::kGpll0MainDiv2SrcVal),
    RcgFrequencyTable(200000000, 0, 0, 8, msm8x53::kGpll0SrcVal),
    RcgFrequencyTable(266670000, 0, 0, 6, msm8x53::kGpll0SrcVal),
    RcgFrequencyTable(320000000, 0, 0, 5, msm8x53::kGpll0SrcVal),
    RcgFrequencyTable(400000000, 0, 0, 4, msm8x53::kGpll0SrcVal),
};

constexpr RcgFrequencyTable kFtblPclk0ClkSrc[] = {};

constexpr RcgFrequencyTable kFtblPclk1ClkSrc[] = {};

constexpr RcgFrequencyTable kFtblUsb30MasterClkSrc[] = {
    RcgFrequencyTable(80000000, 0, 0, 10, msm8x53::kGpll0MainDiv2Usb3SrcVal),
    RcgFrequencyTable(100000000, 0, 0, 16, msm8x53::kGpll0SrcVal),
    RcgFrequencyTable(133330000, 0, 0, 12, msm8x53::kGpll0SrcVal),
};

constexpr RcgFrequencyTable kFtblVfe1ClkSrc[] = {
    RcgFrequencyTable(50000000, 0, 0, 16, msm8x53::kGpll0MainDiv2MmSrcVal),
    RcgFrequencyTable(100000000, 0, 0, 8, msm8x53::kGpll0MainDiv2MmSrcVal),
    RcgFrequencyTable(133330000, 0, 0, 12, msm8x53::kGpll0SrcVal),
    RcgFrequencyTable(160000000, 0, 0, 10, msm8x53::kGpll0SrcVal),
    RcgFrequencyTable(200000000, 0, 0, 8, msm8x53::kGpll0SrcVal),
    RcgFrequencyTable(266670000, 0, 0, 6, msm8x53::kGpll0SrcVal),
    RcgFrequencyTable(310000000, 0, 0, 6, msm8x53::kGpll2SrcVal),
    RcgFrequencyTable(400000000, 0, 0, 4, msm8x53::kGpll0SrcVal),
    RcgFrequencyTable(465000000, 0, 0, 4, msm8x53::kGpll2SrcVal),
};

constexpr RcgFrequencyTable kFtblApc0DroopDetectorClkSrc[] = {
    RcgFrequencyTable(19200000, 0, 0, 2, msm8x53::kXoSrcVal),
    RcgFrequencyTable(400000000, 0, 0, 4, msm8x53::kGpll0SrcVal),
    RcgFrequencyTable(576000000, 0, 0, 4, msm8x53::kGpll4SrcVal),
};

constexpr RcgFrequencyTable kFtblApc1DroopDetectorClkSrc[] = {
    RcgFrequencyTable(19200000, 0, 0, 2, msm8x53::kXoSrcVal),
    RcgFrequencyTable(400000000, 0, 0, 4, msm8x53::kGpll0SrcVal),
    RcgFrequencyTable(576000000, 0, 0, 4, msm8x53::kGpll4SrcVal),
};

constexpr RcgFrequencyTable kFtblBlspI2cAppsClkSrc[] = {
    RcgFrequencyTable(19200000, 0, 0, 2, msm8x53::kXoSrcVal),
    RcgFrequencyTable(25000000, 0, 0, 32, msm8x53::kGpll0MainDiv2SrcVal),
    RcgFrequencyTable(50000000, 0, 0, 32, msm8x53::kGpll0SrcVal),
};

constexpr RcgFrequencyTable kFtblBlspSpiAppsClkSrc[] = {
    RcgFrequencyTable(960000, 1, 2, 20, msm8x53::kXoSrcVal),
    RcgFrequencyTable(4800000, 0, 0, 8, msm8x53::kXoSrcVal),
    RcgFrequencyTable(9600000, 0, 0, 4, msm8x53::kXoSrcVal),
    RcgFrequencyTable(12500000, 1, 2, 32, msm8x53::kGpll0MainDiv2SrcVal),
    RcgFrequencyTable(16000000, 1, 5, 20, msm8x53::kGpll0SrcVal),
    RcgFrequencyTable(19200000, 0, 0, 2, msm8x53::kXoSrcVal),
    RcgFrequencyTable(25000000, 1, 2, 32, msm8x53::kGpll0SrcVal),
    RcgFrequencyTable(50000000, 0, 0, 32, msm8x53::kGpll0SrcVal),
};

constexpr RcgFrequencyTable kFtblBlspUartAppsClkSrc[] = {
    RcgFrequencyTable(3686400, 144, 15625, 2, msm8x53::kGpll0MainDiv2SrcVal),
    RcgFrequencyTable(7372800, 288, 15625, 2, msm8x53::kGpll0MainDiv2SrcVal),
    RcgFrequencyTable(14745600, 576, 15625, 2, msm8x53::kGpll0MainDiv2SrcVal),
    RcgFrequencyTable(16000000, 1, 5, 10, msm8x53::kGpll0MainDiv2SrcVal),
    RcgFrequencyTable(19200000, 0, 0, 2, msm8x53::kXoSrcVal),
    RcgFrequencyTable(24000000, 3, 100, 2, msm8x53::kGpll0SrcVal),
    RcgFrequencyTable(25000000, 1, 2, 32, msm8x53::kGpll0SrcVal),
    RcgFrequencyTable(32000000, 1, 25, 2, msm8x53::kGpll0SrcVal),
    RcgFrequencyTable(40000000, 1, 20, 2, msm8x53::kGpll0SrcVal),
    RcgFrequencyTable(46400000, 29, 500, 2, msm8x53::kGpll0SrcVal),
    RcgFrequencyTable(48000000, 3, 50, 2, msm8x53::kGpll0SrcVal),
    RcgFrequencyTable(51200000, 8, 125, 2, msm8x53::kGpll0SrcVal),
    RcgFrequencyTable(56000000, 7, 100, 2, msm8x53::kGpll0SrcVal),
    RcgFrequencyTable(58982400, 1152, 15625, 2, msm8x53::kGpll0SrcVal),
    RcgFrequencyTable(60000000, 3, 40, 2, msm8x53::kGpll0SrcVal),
    RcgFrequencyTable(64000000, 2, 25, 2, msm8x53::kGpll0SrcVal),
};

constexpr RcgFrequencyTable kFtblCciClkSrc[] = {
    RcgFrequencyTable(19200000, 0, 0, 2, msm8x53::kXoSrcVal),
    RcgFrequencyTable(37500000, 3, 32, 2, msm8x53::kGpll0MainDiv2CciSrcVal),
};

constexpr RcgFrequencyTable kFtblCsi0pClkSrc[] = {
    RcgFrequencyTable(66670000, 0, 0, 12, msm8x53::kGpll0MainDiv2MmSrcVal),
    RcgFrequencyTable(133330000, 0, 0, 12, msm8x53::kGpll0SrcVal),
    RcgFrequencyTable(200000000, 0, 0, 8, msm8x53::kGpll0SrcVal),
    RcgFrequencyTable(266670000, 0, 0, 6, msm8x53::kGpll0SrcVal),
    RcgFrequencyTable(310000000, 0, 0, 6, msm8x53::kGpll2SrcVal),
};

constexpr RcgFrequencyTable kFtblCsi1pClkSrc[] = {
    RcgFrequencyTable(66670000, 0, 0, 12, msm8x53::kGpll0MainDiv2MmSrcVal),
    RcgFrequencyTable(133330000, 0, 0, 12, msm8x53::kGpll0SrcVal),
    RcgFrequencyTable(200000000, 0, 0, 8, msm8x53::kGpll0SrcVal),
    RcgFrequencyTable(266670000, 0, 0, 6, msm8x53::kGpll0SrcVal),
    RcgFrequencyTable(310000000, 0, 0, 6, msm8x53::kGpll2SrcVal),
};

constexpr RcgFrequencyTable kFtblCsi2pClkSrc[] = {
    RcgFrequencyTable(66670000, 0, 0, 12, msm8x53::kGpll0MainDiv2MmSrcVal),
    RcgFrequencyTable(133330000, 0, 0, 12, msm8x53::kGpll0SrcVal),
    RcgFrequencyTable(200000000, 0, 0, 8, msm8x53::kGpll0SrcVal),
    RcgFrequencyTable(266670000, 0, 0, 6, msm8x53::kGpll0SrcVal),
    RcgFrequencyTable(310000000, 0, 0, 6, msm8x53::kGpll2SrcVal),
};

constexpr RcgFrequencyTable kFtblCamssGp0ClkSrc[] = {
    RcgFrequencyTable(50000000, 0, 0, 16, msm8x53::kGpll0MainDiv2SrcVal),
    RcgFrequencyTable(100000000, 0, 0, 16, msm8x53::kGpll0SrcVal),
    RcgFrequencyTable(200000000, 0, 0, 8, msm8x53::kGpll0SrcVal),
    RcgFrequencyTable(266670000, 0, 0, 6, msm8x53::kGpll0SrcVal),
};

constexpr RcgFrequencyTable kFtblCamssGp1ClkSrc[] = {
    RcgFrequencyTable(50000000, 0, 0, 16, msm8x53::kGpll0MainDiv2SrcVal),
    RcgFrequencyTable(100000000, 0, 0, 16, msm8x53::kGpll0SrcVal),
    RcgFrequencyTable(200000000, 0, 0, 8, msm8x53::kGpll0SrcVal),
    RcgFrequencyTable(266670000, 0, 0, 6, msm8x53::kGpll0SrcVal),
};

constexpr RcgFrequencyTable kFtblMclk0ClkSrc[] = {
    RcgFrequencyTable(24000000, 2, 45, 2, msm8x53::kGpll6MainDiv2SrcVal),
    RcgFrequencyTable(33330000, 0, 0, 24, msm8x53::kGpll0MainDiv2SrcVal),
    RcgFrequencyTable(36610000, 2, 59, 2, msm8x53::kGpll6SrcVal),
    RcgFrequencyTable(66667000, 0, 0, 24, msm8x53::kGpll0SrcVal),
};

constexpr RcgFrequencyTable kFtblMclk1ClkSrc[] = {
    RcgFrequencyTable(24000000, 2, 45, 2, msm8x53::kGpll6MainDiv2SrcVal),
    RcgFrequencyTable(33330000, 0, 0, 24, msm8x53::kGpll0MainDiv2SrcVal),
    RcgFrequencyTable(36610000, 2, 59, 2, msm8x53::kGpll6SrcVal),
    RcgFrequencyTable(66667000, 0, 0, 24, msm8x53::kGpll0SrcVal),
};

constexpr RcgFrequencyTable kFtblMclk2ClkSrc[] = {
    RcgFrequencyTable(24000000, 2, 45, 2, msm8x53::kGpll6MainDiv2SrcVal),
    RcgFrequencyTable(33330000, 0, 0, 24, msm8x53::kGpll0MainDiv2SrcVal),
    RcgFrequencyTable(36610000, 2, 59, 2, msm8x53::kGpll6SrcVal),
    RcgFrequencyTable(66667000, 0, 0, 24, msm8x53::kGpll0SrcVal),
};

constexpr RcgFrequencyTable kFtblMclk3ClkSrc[] = {
    RcgFrequencyTable(24000000, 2, 45, 2, msm8x53::kGpll6MainDiv2SrcVal),
    RcgFrequencyTable(33330000, 0, 0, 24, msm8x53::kGpll0MainDiv2SrcVal),
    RcgFrequencyTable(36610000, 2, 59, 2, msm8x53::kGpll6SrcVal),
    RcgFrequencyTable(66667000, 0, 0, 24, msm8x53::kGpll0SrcVal),
};

constexpr RcgFrequencyTable kFtblCsi0phytimerClkSrc[] = {
    RcgFrequencyTable(100000000, 0, 0, 8, msm8x53::kGpll0MainDiv2SrcVal),
    RcgFrequencyTable(200000000, 0, 0, 8, msm8x53::kGpll0SrcVal),
    RcgFrequencyTable(266670000, 0, 0, 6, msm8x53::kGpll0SrcVal),
};

constexpr RcgFrequencyTable kFtblCsi1phytimerClkSrc[] = {
    RcgFrequencyTable(100000000, 0, 0, 8, msm8x53::kGpll0MainDiv2SrcVal),
    RcgFrequencyTable(200000000, 0, 0, 8, msm8x53::kGpll0SrcVal),
    RcgFrequencyTable(266670000, 0, 0, 6, msm8x53::kGpll0SrcVal),
};

constexpr RcgFrequencyTable kFtblCsi2phytimerClkSrc[] = {
    RcgFrequencyTable(100000000, 0, 0, 8, msm8x53::kGpll0MainDiv2SrcVal),
    RcgFrequencyTable(200000000, 0, 0, 8, msm8x53::kGpll0SrcVal),
    RcgFrequencyTable(266670000, 0, 0, 6, msm8x53::kGpll0SrcVal),
};

constexpr RcgFrequencyTable kFtblCryptoClkSrc[] = {
    RcgFrequencyTable(40000000, 0, 0, 20, msm8x53::kGpll0MainDiv2SrcVal),
    RcgFrequencyTable(80000000, 0, 0, 20, msm8x53::kGpll0SrcVal),
    RcgFrequencyTable(100000000, 0, 0, 16, msm8x53::kGpll0SrcVal),
    RcgFrequencyTable(160000000, 0, 0, 10, msm8x53::kGpll0SrcVal),
};

constexpr RcgFrequencyTable kFtblGp1ClkSrc[] = {
    RcgFrequencyTable(19200000, 0, 0, 2, msm8x53::kXoSrcVal),
};

constexpr RcgFrequencyTable kFtblGp2ClkSrc[] = {
    RcgFrequencyTable(19200000, 0, 0, 2, msm8x53::kXoSrcVal),
};

constexpr RcgFrequencyTable kFtblGp3ClkSrc[] = {
    RcgFrequencyTable(19200000, 0, 0, 2, msm8x53::kXoSrcVal),
};

constexpr RcgFrequencyTable kFtblByte0ClkSrc[] = {};

constexpr RcgFrequencyTable kFtblByte1ClkSrc[] = {};

constexpr RcgFrequencyTable kFtblEsc0ClkSrc[] = {
    RcgFrequencyTable(19200000, 0, 0, 2, msm8x53::kXoSrcVal),
};

constexpr RcgFrequencyTable kFtblEsc1ClkSrc[] = {
    RcgFrequencyTable(19200000, 0, 0, 2, msm8x53::kXoSrcVal),
};

constexpr RcgFrequencyTable kFtblVsyncClkSrc[] = {
    RcgFrequencyTable(19200000, 0, 0, 2, msm8x53::kXoSrcVal),
};

constexpr RcgFrequencyTable kFtblPdm2ClkSrc[] = {
    RcgFrequencyTable(32000000, 0, 0, 25, msm8x53::kGpll0MainDiv2SrcVal),
    RcgFrequencyTable(64000000, 0, 0, 25, msm8x53::kGpll0SrcVal),
};

constexpr RcgFrequencyTable kFtblRbcprGfxClkSrc[] = {
    RcgFrequencyTable(19200000, 0, 0, 2, msm8x53::kXoSrcVal),
    RcgFrequencyTable(50000000, 0, 0, 32, msm8x53::kGpll0SrcVal),
};

constexpr RcgFrequencyTable kFtblSdcc1AppsClkSrc[] = {
    RcgFrequencyTable(144000, 3, 25, 32, msm8x53::kXoSrcVal),
    RcgFrequencyTable(400000, 1, 4, 24, msm8x53::kXoSrcVal),
    RcgFrequencyTable(20000000, 1, 4, 10, msm8x53::kGpll0MainDiv2SrcVal),
    RcgFrequencyTable(25000000, 0, 0, 32, msm8x53::kGpll0MainDiv2SrcVal),
    RcgFrequencyTable(50000000, 0, 0, 32, msm8x53::kGpll0SrcVal),
    RcgFrequencyTable(100000000, 0, 0, 16, msm8x53::kGpll0SrcVal),
    RcgFrequencyTable(177770000, 0, 0, 9, msm8x53::kGpll0SrcVal),
    RcgFrequencyTable(192000000, 0, 0, 12, msm8x53::kGpll4SrcVal),
    RcgFrequencyTable(384000000, 0, 0, 6, msm8x53::kGpll4SrcVal),
};

constexpr RcgFrequencyTable kFtblSdcc1IceCoreClkSrc[] = {
    RcgFrequencyTable(80000000, 0, 0, 10, msm8x53::kGpll0MainDiv2SrcVal),
    RcgFrequencyTable(160000000, 0, 0, 10, msm8x53::kGpll0SrcVal),
    RcgFrequencyTable(270000000, 0, 0, 8, msm8x53::kGpll6SrcVal),
};

constexpr RcgFrequencyTable kFtblSdcc2AppsClkSrc[] = {
    RcgFrequencyTable(144000, 3, 25, 32, msm8x53::kXoSrcVal),
    RcgFrequencyTable(400000, 1, 4, 24, msm8x53::kXoSrcVal),
    RcgFrequencyTable(20000000, 1, 4, 10, msm8x53::kGpll0MainDiv2SrcVal),
    RcgFrequencyTable(25000000, 0, 0, 32, msm8x53::kGpll0MainDiv2SrcVal),
    RcgFrequencyTable(50000000, 0, 0, 32, msm8x53::kGpll0SrcVal),
    RcgFrequencyTable(100000000, 0, 0, 16, msm8x53::kGpll0SrcVal),
    RcgFrequencyTable(177770000, 0, 0, 9, msm8x53::kGpll0SrcVal),
    RcgFrequencyTable(192000000, 0, 0, 12, msm8x53::kGpll4AuxSrcVal),
    RcgFrequencyTable(200000000, 0, 0, 8, msm8x53::kGpll0SrcVal),
};

constexpr RcgFrequencyTable kFtblUsb30MockUtmiClkSrc[] = {
    RcgFrequencyTable(19200000, 0, 0, 2, msm8x53::kXoSrcVal),
    RcgFrequencyTable(60000000, 1, 1, 18, msm8x53::kGpll6MainDiv2MockSrcVal),
};

constexpr RcgFrequencyTable kFtblUsb3AuxClkSrc[] = {
    RcgFrequencyTable(19200000, 0, 0, 2, msm8x53::kXoSrcVal),
};

constexpr MsmClkRcg kMsmClkRcgs[] = {
    [msm8x53::MsmClkIndex(msm8x53::kCamssTopAhbClkSrc)] = MsmClkRcg(msm8x53::kCamssTopAhbCmdRcgr, RcgDividerType::Mnd, kFtblCamssTopAhbClkSrc, countof(kFtblCamssTopAhbClkSrc)),
    [msm8x53::MsmClkIndex(msm8x53::kCsi0ClkSrc)] = MsmClkRcg(msm8x53::kCsi0CmdRcgr, RcgDividerType::HalfInteger, kFtblCsi0ClkSrc, countof(kFtblCsi0ClkSrc)),
    [msm8x53::MsmClkIndex(msm8x53::kApssAhbClkSrc)] = MsmClkRcg(msm8x53::kApssAhbCmdRcgr, RcgDividerType::HalfInteger, kFtblApssAhbClkSrc, countof(kFtblApssAhbClkSrc)),
    [msm8x53::MsmClkIndex(msm8x53::kCsi1ClkSrc)] = MsmClkRcg(msm8x53::kCsi1CmdRcgr, RcgDividerType::HalfInteger, kFtblCsi1ClkSrc, countof(kFtblCsi1ClkSrc)),
    [msm8x53::MsmClkIndex(msm8x53::kCsi2ClkSrc)] = MsmClkRcg(msm8x53::kCsi2CmdRcgr, RcgDividerType::HalfInteger, kFtblCsi2ClkSrc, countof(kFtblCsi2ClkSrc)),
    [msm8x53::MsmClkIndex(msm8x53::kVfe0ClkSrc)] = MsmClkRcg(msm8x53::kVfe0CmdRcgr, RcgDividerType::HalfInteger, kFtblVfe0ClkSrc, countof(kFtblVfe0ClkSrc)),
    [msm8x53::MsmClkIndex(msm8x53::kGfx3dClkSrc)] = MsmClkRcg(msm8x53::kGfx3dCmdRcgr, RcgDividerType::HalfInteger, kFtblGfx3dClkSrc, countof(kFtblGfx3dClkSrc), true),
    [msm8x53::MsmClkIndex(msm8x53::kVcodec0ClkSrc)] = MsmClkRcg(msm8x53::kVcodec0CmdRcgr, RcgDividerType::Mnd, kFtblVcodec0ClkSrc, countof(kFtblVcodec0ClkSrc)),
    [msm8x53::MsmClkIndex(msm8x53::kCppClkSrc)] = MsmClkRcg(msm8x53::kCppCmdRcgr, RcgDividerType::HalfInteger, kFtblCppClkSrc, countof(kFtblCppClkSrc)),
    [msm8x53::MsmClkIndex(msm8x53::kJpeg0ClkSrc)] = MsmClkRcg(msm8x53::kJpeg0CmdRcgr, RcgDividerType::HalfInteger, kFtblJpeg0ClkSrc, countof(kFtblJpeg0ClkSrc)),
    [msm8x53::MsmClkIndex(msm8x53::kMdpClkSrc)] = MsmClkRcg(msm8x53::kMdpCmdRcgr, RcgDividerType::HalfInteger, kFtblMdpClkSrc, countof(kFtblMdpClkSrc)),
    [msm8x53::MsmClkIndex(msm8x53::kPclk0ClkSrc)] = MsmClkRcg(msm8x53::kPclk0CmdRcgr, RcgDividerType::Mnd, kFtblPclk0ClkSrc, countof(kFtblPclk0ClkSrc)),
    [msm8x53::MsmClkIndex(msm8x53::kPclk1ClkSrc)] = MsmClkRcg(msm8x53::kPclk1CmdRcgr, RcgDividerType::Mnd, kFtblPclk1ClkSrc, countof(kFtblPclk1ClkSrc)),
    [msm8x53::MsmClkIndex(msm8x53::kUsb30MasterClkSrc)] = MsmClkRcg(msm8x53::kUsb30MasterCmdRcgr, RcgDividerType::Mnd, kFtblUsb30MasterClkSrc, countof(kFtblUsb30MasterClkSrc)),
    [msm8x53::MsmClkIndex(msm8x53::kVfe1ClkSrc)] = MsmClkRcg(msm8x53::kVfe1CmdRcgr, RcgDividerType::HalfInteger, kFtblVfe1ClkSrc, countof(kFtblVfe1ClkSrc)),
    [msm8x53::MsmClkIndex(msm8x53::kApc0DroopDetectorClkSrc)] = MsmClkRcg(msm8x53::kApc0VoltageDroopDetectorCmdRcgr, RcgDividerType::HalfInteger, kFtblApc0DroopDetectorClkSrc, countof(kFtblApc0DroopDetectorClkSrc)),
    [msm8x53::MsmClkIndex(msm8x53::kApc1DroopDetectorClkSrc)] = MsmClkRcg(msm8x53::kApc1VoltageDroopDetectorCmdRcgr, RcgDividerType::HalfInteger, kFtblApc1DroopDetectorClkSrc, countof(kFtblApc1DroopDetectorClkSrc)),
    [msm8x53::MsmClkIndex(msm8x53::kBlsp1Qup1I2cAppsClkSrc)] = MsmClkRcg(msm8x53::kBlsp1Qup1I2cAppsCmdRcgr, RcgDividerType::HalfInteger, kFtblBlspI2cAppsClkSrc, countof(kFtblBlspI2cAppsClkSrc)),
    [msm8x53::MsmClkIndex(msm8x53::kBlsp1Qup1SpiAppsClkSrc)] = MsmClkRcg(msm8x53::kBlsp1Qup1SpiAppsCmdRcgr, RcgDividerType::Mnd, kFtblBlspSpiAppsClkSrc, countof(kFtblBlspSpiAppsClkSrc)),
    [msm8x53::MsmClkIndex(msm8x53::kBlsp1Qup2I2cAppsClkSrc)] = MsmClkRcg(msm8x53::kBlsp1Qup2I2cAppsCmdRcgr, RcgDividerType::HalfInteger, kFtblBlspI2cAppsClkSrc, countof(kFtblBlspI2cAppsClkSrc)),
    [msm8x53::MsmClkIndex(msm8x53::kBlsp1Qup2SpiAppsClkSrc)] = MsmClkRcg(msm8x53::kBlsp1Qup2SpiAppsCmdRcgr, RcgDividerType::Mnd, kFtblBlspSpiAppsClkSrc, countof(kFtblBlspSpiAppsClkSrc)),
    [msm8x53::MsmClkIndex(msm8x53::kBlsp1Qup3I2cAppsClkSrc)] = MsmClkRcg(msm8x53::kBlsp1Qup3I2cAppsCmdRcgr, RcgDividerType::HalfInteger, kFtblBlspI2cAppsClkSrc, countof(kFtblBlspI2cAppsClkSrc)),
    [msm8x53::MsmClkIndex(msm8x53::kBlsp1Qup3SpiAppsClkSrc)] = MsmClkRcg(msm8x53::kBlsp1Qup3SpiAppsCmdRcgr, RcgDividerType::Mnd, kFtblBlspSpiAppsClkSrc, countof(kFtblBlspSpiAppsClkSrc)),
    [msm8x53::MsmClkIndex(msm8x53::kBlsp1Qup4I2cAppsClkSrc)] = MsmClkRcg(msm8x53::kBlsp1Qup4I2cAppsCmdRcgr, RcgDividerType::HalfInteger, kFtblBlspI2cAppsClkSrc, countof(kFtblBlspI2cAppsClkSrc)),
    [msm8x53::MsmClkIndex(msm8x53::kBlsp1Qup4SpiAppsClkSrc)] = MsmClkRcg(msm8x53::kBlsp1Qup4SpiAppsCmdRcgr, RcgDividerType::Mnd, kFtblBlspSpiAppsClkSrc, countof(kFtblBlspSpiAppsClkSrc)),
    [msm8x53::MsmClkIndex(msm8x53::kBlsp1Uart1AppsClkSrc)] = MsmClkRcg(msm8x53::kBlsp1Uart1AppsCmdRcgr, RcgDividerType::Mnd, kFtblBlspUartAppsClkSrc, countof(kFtblBlspUartAppsClkSrc)),
    [msm8x53::MsmClkIndex(msm8x53::kBlsp1Uart2AppsClkSrc)] = MsmClkRcg(msm8x53::kBlsp1Uart2AppsCmdRcgr, RcgDividerType::Mnd, kFtblBlspUartAppsClkSrc, countof(kFtblBlspUartAppsClkSrc)),
    [msm8x53::MsmClkIndex(msm8x53::kBlsp2Qup1I2cAppsClkSrc)] = MsmClkRcg(msm8x53::kBlsp2Qup1I2cAppsCmdRcgr, RcgDividerType::HalfInteger, kFtblBlspI2cAppsClkSrc, countof(kFtblBlspI2cAppsClkSrc)),
    [msm8x53::MsmClkIndex(msm8x53::kBlsp2Qup1SpiAppsClkSrc)] = MsmClkRcg(msm8x53::kBlsp2Qup1SpiAppsCmdRcgr, RcgDividerType::Mnd, kFtblBlspSpiAppsClkSrc, countof(kFtblBlspSpiAppsClkSrc)),
    [msm8x53::MsmClkIndex(msm8x53::kBlsp2Qup2I2cAppsClkSrc)] = MsmClkRcg(msm8x53::kBlsp2Qup2I2cAppsCmdRcgr, RcgDividerType::HalfInteger, kFtblBlspI2cAppsClkSrc, countof(kFtblBlspI2cAppsClkSrc)),
    [msm8x53::MsmClkIndex(msm8x53::kBlsp2Qup2SpiAppsClkSrc)] = MsmClkRcg(msm8x53::kBlsp2Qup2SpiAppsCmdRcgr, RcgDividerType::Mnd, kFtblBlspSpiAppsClkSrc, countof(kFtblBlspSpiAppsClkSrc)),
    [msm8x53::MsmClkIndex(msm8x53::kBlsp2Qup3I2cAppsClkSrc)] = MsmClkRcg(msm8x53::kBlsp2Qup3I2cAppsCmdRcgr, RcgDividerType::HalfInteger, kFtblBlspI2cAppsClkSrc, countof(kFtblBlspI2cAppsClkSrc)),
    [msm8x53::MsmClkIndex(msm8x53::kBlsp2Qup3SpiAppsClkSrc)] = MsmClkRcg(msm8x53::kBlsp2Qup3SpiAppsCmdRcgr, RcgDividerType::Mnd, kFtblBlspSpiAppsClkSrc, countof(kFtblBlspSpiAppsClkSrc)),
    [msm8x53::MsmClkIndex(msm8x53::kBlsp2Qup4I2cAppsClkSrc)] = MsmClkRcg(msm8x53::kBlsp2Qup4I2cAppsCmdRcgr, RcgDividerType::HalfInteger, kFtblBlspI2cAppsClkSrc, countof(kFtblBlspI2cAppsClkSrc)),
    [msm8x53::MsmClkIndex(msm8x53::kBlsp2Qup4SpiAppsClkSrc)] = MsmClkRcg(msm8x53::kBlsp2Qup4SpiAppsCmdRcgr, RcgDividerType::Mnd, kFtblBlspSpiAppsClkSrc, countof(kFtblBlspSpiAppsClkSrc)),
    [msm8x53::MsmClkIndex(msm8x53::kBlsp2Uart1AppsClkSrc)] = MsmClkRcg(msm8x53::kBlsp2Uart1AppsCmdRcgr, RcgDividerType::Mnd, kFtblBlspUartAppsClkSrc, countof(kFtblBlspUartAppsClkSrc)),
    [msm8x53::MsmClkIndex(msm8x53::kBlsp2Uart2AppsClkSrc)] = MsmClkRcg(msm8x53::kBlsp2Uart2AppsCmdRcgr, RcgDividerType::Mnd, kFtblBlspUartAppsClkSrc, countof(kFtblBlspUartAppsClkSrc)),
    [msm8x53::MsmClkIndex(msm8x53::kCciClkSrc)] = MsmClkRcg(msm8x53::kCciCmdRcgr, RcgDividerType::Mnd, kFtblCciClkSrc, countof(kFtblCciClkSrc)),
    [msm8x53::MsmClkIndex(msm8x53::kCsi0pClkSrc)] = MsmClkRcg(msm8x53::kCsi0pCmdRcgr, RcgDividerType::HalfInteger, kFtblCsi0pClkSrc, countof(kFtblCsi0pClkSrc)),
    [msm8x53::MsmClkIndex(msm8x53::kCsi1pClkSrc)] = MsmClkRcg(msm8x53::kCsi1pCmdRcgr, RcgDividerType::HalfInteger, kFtblCsi1pClkSrc, countof(kFtblCsi1pClkSrc)),
    [msm8x53::MsmClkIndex(msm8x53::kCsi2pClkSrc)] = MsmClkRcg(msm8x53::kCsi2pCmdRcgr, RcgDividerType::HalfInteger, kFtblCsi2pClkSrc, countof(kFtblCsi2pClkSrc)),
    [msm8x53::MsmClkIndex(msm8x53::kCamssGp0ClkSrc)] = MsmClkRcg(msm8x53::kCamssGp0CmdRcgr, RcgDividerType::Mnd, kFtblCamssGp0ClkSrc, countof(kFtblCamssGp0ClkSrc)),
    [msm8x53::MsmClkIndex(msm8x53::kCamssGp1ClkSrc)] = MsmClkRcg(msm8x53::kCamssGp1CmdRcgr, RcgDividerType::Mnd, kFtblCamssGp1ClkSrc, countof(kFtblCamssGp1ClkSrc)),
    [msm8x53::MsmClkIndex(msm8x53::kMclk0ClkSrc)] = MsmClkRcg(msm8x53::kMclk0CmdRcgr, RcgDividerType::Mnd, kFtblMclk0ClkSrc, countof(kFtblMclk0ClkSrc)),
    [msm8x53::MsmClkIndex(msm8x53::kMclk1ClkSrc)] = MsmClkRcg(msm8x53::kMclk1CmdRcgr, RcgDividerType::Mnd, kFtblMclk1ClkSrc, countof(kFtblMclk1ClkSrc)),
    [msm8x53::MsmClkIndex(msm8x53::kMclk2ClkSrc)] = MsmClkRcg(msm8x53::kMclk2CmdRcgr, RcgDividerType::Mnd, kFtblMclk2ClkSrc, countof(kFtblMclk2ClkSrc)),
    [msm8x53::MsmClkIndex(msm8x53::kMclk3ClkSrc)] = MsmClkRcg(msm8x53::kMclk3CmdRcgr, RcgDividerType::Mnd, kFtblMclk3ClkSrc, countof(kFtblMclk3ClkSrc)),
    [msm8x53::MsmClkIndex(msm8x53::kCsi0phytimerClkSrc)] = MsmClkRcg(msm8x53::kCsi0phytimerCmdRcgr, RcgDividerType::HalfInteger, kFtblCsi0phytimerClkSrc, countof(kFtblCsi0phytimerClkSrc)),
    [msm8x53::MsmClkIndex(msm8x53::kCsi1phytimerClkSrc)] = MsmClkRcg(msm8x53::kCsi1phytimerCmdRcgr, RcgDividerType::HalfInteger, kFtblCsi1phytimerClkSrc, countof(kFtblCsi1phytimerClkSrc)),
    [msm8x53::MsmClkIndex(msm8x53::kCsi2phytimerClkSrc)] = MsmClkRcg(msm8x53::kCsi2phytimerCmdRcgr, RcgDividerType::HalfInteger, kFtblCsi2phytimerClkSrc, countof(kFtblCsi2phytimerClkSrc)),
    [msm8x53::MsmClkIndex(msm8x53::kCryptoClkSrc)] = MsmClkRcg(msm8x53::kCryptoCmdRcgr, RcgDividerType::HalfInteger, kFtblCryptoClkSrc, countof(kFtblCryptoClkSrc)),
    [msm8x53::MsmClkIndex(msm8x53::kGp1ClkSrc)] = MsmClkRcg(msm8x53::kGp1CmdRcgr, RcgDividerType::Mnd, kFtblGp1ClkSrc, countof(kFtblGp1ClkSrc)),
    [msm8x53::MsmClkIndex(msm8x53::kGp2ClkSrc)] = MsmClkRcg(msm8x53::kGp2CmdRcgr, RcgDividerType::Mnd, kFtblGp2ClkSrc, countof(kFtblGp2ClkSrc)),
    [msm8x53::MsmClkIndex(msm8x53::kGp3ClkSrc)] = MsmClkRcg(msm8x53::kGp3CmdRcgr, RcgDividerType::Mnd, kFtblGp3ClkSrc, countof(kFtblGp3ClkSrc)),
    [msm8x53::MsmClkIndex(msm8x53::kByte0ClkSrc)] = MsmClkRcg(msm8x53::kByte0CmdRcgr, RcgDividerType::HalfInteger, kFtblByte0ClkSrc, countof(kFtblByte0ClkSrc)),
    [msm8x53::MsmClkIndex(msm8x53::kByte1ClkSrc)] = MsmClkRcg(msm8x53::kByte1CmdRcgr, RcgDividerType::HalfInteger, kFtblByte1ClkSrc, countof(kFtblByte1ClkSrc)),
    [msm8x53::MsmClkIndex(msm8x53::kEsc0ClkSrc)] = MsmClkRcg(msm8x53::kEsc0CmdRcgr, RcgDividerType::HalfInteger, kFtblEsc0ClkSrc, countof(kFtblEsc0ClkSrc)),
    [msm8x53::MsmClkIndex(msm8x53::kEsc1ClkSrc)] = MsmClkRcg(msm8x53::kEsc1CmdRcgr, RcgDividerType::HalfInteger, kFtblEsc1ClkSrc, countof(kFtblEsc1ClkSrc)),
    [msm8x53::MsmClkIndex(msm8x53::kVsyncClkSrc)] = MsmClkRcg(msm8x53::kVsyncCmdRcgr, RcgDividerType::HalfInteger, kFtblVsyncClkSrc, countof(kFtblVsyncClkSrc)),
    [msm8x53::MsmClkIndex(msm8x53::kPdm2ClkSrc)] = MsmClkRcg(msm8x53::kPdm2CmdRcgr, RcgDividerType::HalfInteger, kFtblPdm2ClkSrc, countof(kFtblPdm2ClkSrc)),
    [msm8x53::MsmClkIndex(msm8x53::kRbcprGfxClkSrc)] = MsmClkRcg(msm8x53::kRbcprGfxCmdRcgr, RcgDividerType::HalfInteger, kFtblRbcprGfxClkSrc, countof(kFtblRbcprGfxClkSrc)),
    [msm8x53::MsmClkIndex(msm8x53::kSdcc1AppsClkSrc)] = MsmClkRcg(msm8x53::kSdcc1AppsCmdRcgr, RcgDividerType::Mnd, kFtblSdcc1AppsClkSrc, countof(kFtblSdcc1AppsClkSrc)),
    [msm8x53::MsmClkIndex(msm8x53::kSdcc1IceCoreClkSrc)] = MsmClkRcg(msm8x53::kSdcc1IceCoreCmdRcgr, RcgDividerType::Mnd, kFtblSdcc1IceCoreClkSrc, countof(kFtblSdcc1IceCoreClkSrc)),
    [msm8x53::MsmClkIndex(msm8x53::kSdcc2AppsClkSrc)] = MsmClkRcg(msm8x53::kSdcc2AppsCmdRcgr, RcgDividerType::Mnd, kFtblSdcc2AppsClkSrc, countof(kFtblSdcc2AppsClkSrc)),
    [msm8x53::MsmClkIndex(msm8x53::kUsb30MockUtmiClkSrc)] = MsmClkRcg(msm8x53::kUsb30MockUtmiCmdRcgr, RcgDividerType::Mnd, kFtblUsb30MockUtmiClkSrc, countof(kFtblUsb30MockUtmiClkSrc)),
    [msm8x53::MsmClkIndex(msm8x53::kUsb3AuxClkSrc)] = MsmClkRcg(msm8x53::kUsb3AuxCmdRcgr, RcgDividerType::Mnd, kFtblUsb3AuxClkSrc, countof(kFtblUsb3AuxClkSrc)),
};

static_assert(msm8x53::kRcgClkCount == countof(kMsmClkRcgs),
              "kRcgClkCount must match count of RCG clocks");

constexpr struct msm_clk_voter kMsmClkVoters[] = {
    [msm8x53::MsmClkIndex(msm8x53::kApssAhbClk)] = {
        .cbcr_reg = msm8x53::kApssAhbCbcr,
        .vote_reg = msm8x53::kApcsClockBranchEnaVote,
        .bit = (1 << 14)},
    [msm8x53::MsmClkIndex(msm8x53::kApssAxiClk)] = {.cbcr_reg = msm8x53::kApssAxiCbcr, .vote_reg = msm8x53::kApcsClockBranchEnaVote, .bit = (1 << 13)},
    [msm8x53::MsmClkIndex(msm8x53::kBlsp1AhbClk)] = {.cbcr_reg = msm8x53::kBlsp1AhbCbcr, .vote_reg = msm8x53::kApcsClockBranchEnaVote, .bit = (1 << 10)},
    [msm8x53::MsmClkIndex(msm8x53::kBlsp2AhbClk)] = {.cbcr_reg = msm8x53::kBlsp2AhbCbcr, .vote_reg = msm8x53::kApcsClockBranchEnaVote, .bit = (1 << 20)},
    [msm8x53::MsmClkIndex(msm8x53::kBootRomAhbClk)] = {.cbcr_reg = msm8x53::kBootRomAhbCbcr, .vote_reg = msm8x53::kApcsClockBranchEnaVote, .bit = (1 << 7)},
    [msm8x53::MsmClkIndex(msm8x53::kCryptoAhbClk)] = {.cbcr_reg = msm8x53::kCryptoAhbCbcr, .vote_reg = msm8x53::kApcsClockBranchEnaVote, .bit = (1 << 0)},
    [msm8x53::MsmClkIndex(msm8x53::kCryptoAxiClk)] = {.cbcr_reg = msm8x53::kCryptoAxiCbcr, .vote_reg = msm8x53::kApcsClockBranchEnaVote, .bit = (1 << 1)},
    [msm8x53::MsmClkIndex(msm8x53::kCryptoClk)] = {.cbcr_reg = msm8x53::kCryptoCbcr, .vote_reg = msm8x53::kApcsClockBranchEnaVote, .bit = (1 << 2)},
    [msm8x53::MsmClkIndex(msm8x53::kQdssDapClk)] = {.cbcr_reg = msm8x53::kQdssDapCbcr, .vote_reg = msm8x53::kApcsClockBranchEnaVote, .bit = (1 << 11)},
    [msm8x53::MsmClkIndex(msm8x53::kPrngAhbClk)] = {.cbcr_reg = msm8x53::kPrngAhbCbcr, .vote_reg = msm8x53::kApcsClockBranchEnaVote, .bit = (1 << 8)},
    [msm8x53::MsmClkIndex(msm8x53::kApssTcuAsyncClk)] = {.cbcr_reg = msm8x53::kApssTcuAsyncCbcr, .vote_reg = msm8x53::kApcsSmmuClockBranchEnaVote, .bit = (1 << 1)},
    [msm8x53::MsmClkIndex(msm8x53::kCppTbuClk)] = {.cbcr_reg = msm8x53::kCppTbuCbcr, .vote_reg = msm8x53::kApcsSmmuClockBranchEnaVote, .bit = (1 << 14)},
    [msm8x53::MsmClkIndex(msm8x53::kJpegTbuClk)] = {.cbcr_reg = msm8x53::kJpegTbuCbcr, .vote_reg = msm8x53::kApcsSmmuClockBranchEnaVote, .bit = (1 << 10)},
    [msm8x53::MsmClkIndex(msm8x53::kMdpTbuClk)] = {.cbcr_reg = msm8x53::kMdpTbuCbcr, .vote_reg = msm8x53::kApcsSmmuClockBranchEnaVote, .bit = (1 << 4)},
    [msm8x53::MsmClkIndex(msm8x53::kSmmuCfgClk)] = {.cbcr_reg = msm8x53::kSmmuCfgCbcr, .vote_reg = msm8x53::kApcsSmmuClockBranchEnaVote, .bit = (1 << 12)},
    [msm8x53::MsmClkIndex(msm8x53::kVenusTbuClk)] = {.cbcr_reg = msm8x53::kVenusTbuCbcr, .vote_reg = msm8x53::kApcsSmmuClockBranchEnaVote, .bit = (1 << 5)},
    [msm8x53::MsmClkIndex(msm8x53::kVfe1TbuClk)] = {.cbcr_reg = msm8x53::kVfe1TbuCbcr, .vote_reg = msm8x53::kApcsSmmuClockBranchEnaVote, .bit = (1 << 17)},
    [msm8x53::MsmClkIndex(msm8x53::kVfeTbuClk)] = {.cbcr_reg = msm8x53::kVfeTbuCbcr, .vote_reg = msm8x53::kApcsSmmuClockBranchEnaVote, .bit = (1 << 9)},
};

}  // namespace

}  // namespace clk
