blob: 3a57bbdee59b5ad39d0b8b4fdf117e4af6690e15 [file] [log] [blame]
Sheetal Tigadoli2a96dc22019-12-18 12:01:01 +05301/*
2 * Copyright (c) 2015 - 2020, Broadcom
3 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 */
6
7#ifndef DMU_H
8#define DMU_H
9
10/* Clock field should be 2 bits only */
11#define CLKCONFIG_MASK 0x3
12
13/* argument */
14struct DmuBlockEnable {
15 uint32_t sotp:1;
16 uint32_t pka_rng:1;
17 uint32_t crypto:1;
18 uint32_t spl:1;
19 uint32_t cdru_vgm:1;
20 uint32_t apbs_s0_idm:1;
21 uint32_t smau_s0_idm:1;
22};
23
24/* prototype */
25uint32_t bcm_dmu_block_enable(struct DmuBlockEnable dbe);
26uint32_t bcm_dmu_block_disable(struct DmuBlockEnable dbe);
27uint32_t bcm_set_ihost_pll_freq(uint32_t cluster_num, int ihost_pll_freq_sel);
28uint32_t bcm_get_ihost_pll_freq(uint32_t cluster_num);
29
30#define PLL_FREQ_BYPASS 0x0
31#define PLL_FREQ_FULL 0x1
32#define PLL_FREQ_HALF 0x2
33#define PLL_FREQ_QRTR 0x3
34
35#endif