blob: 65ae08b818d3f836809199341f130c8aff1f0811 [file] [log] [blame]
Kyle Swenson8d8f6542021-03-15 11:02:55 -06001/*
2 * Copyright 2015 Linaro Ltd.
3 * Copyright (C) 2014 ZTE Corporation.
4 *
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License version 2 as
7 * published by the Free Software Foundation.
8 */
9
10#ifndef __ZTE_CLK_H
11#define __ZTE_CLK_H
12#include <linux/clk-provider.h>
13#include <linux/spinlock.h>
14
15struct zx_pll_config {
16 unsigned long rate;
17 u32 cfg0;
18 u32 cfg1;
19};
20
21struct clk_zx_pll {
22 struct clk_hw hw;
23 void __iomem *reg_base;
24 const struct zx_pll_config *lookup_table; /* order by rate asc */
25 int count;
26 spinlock_t *lock;
27};
28
29struct clk *clk_register_zx_pll(const char *name, const char *parent_name,
30 unsigned long flags, void __iomem *reg_base,
31 const struct zx_pll_config *lookup_table, int count, spinlock_t *lock);
32
33struct clk_zx_audio {
34 struct clk_hw hw;
35 void __iomem *reg_base;
36};
37
38struct clk *clk_register_zx_audio(const char *name,
39 const char * const parent_name,
40 unsigned long flags, void __iomem *reg_base);
41#endif