Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/include/sound/cs48l32.h
26282 views
1
/* SPDX-License-Identifier: GPL-2.0-only */
2
/*
3
* Register definitions for Cirrus Logic CS48L32
4
*
5
* Copyright (C) 2017-2018, 2020, 2022, 2025 Cirrus Logic, Inc. and
6
* Cirrus Logic International Semiconductor Ltd.
7
*/
8
9
#ifndef CS48L32_H
10
#define CS48L32_H
11
12
/* pll_id for snd_soc_component_set_pll() */
13
#define CS48L32_FLL1_REFCLK 1
14
15
/* source for snd_soc_component_set_pll() */
16
#define CS48L32_FLL_SRC_NONE -1
17
#define CS48L32_FLL_SRC_MCLK1 0
18
#define CS48L32_FLL_SRC_PDMCLK 5
19
#define CS48L32_FLL_SRC_ASP1_BCLK 8
20
#define CS48L32_FLL_SRC_ASP2_BCLK 9
21
#define CS48L32_FLL_SRC_ASP1_FSYNC 12
22
#define CS48L32_FLL_SRC_ASP2_FSYNC 13
23
24
/* clk_id for snd_soc_component_set_sysclk() and snd_soc_dai_set_sysclk() */
25
#define CS48L32_CLK_SYSCLK_1 1
26
#define CS48L32_CLK_SYSCLK_2 2
27
#define CS48L32_CLK_SYSCLK_3 3
28
#define CS48L32_CLK_SYSCLK_4 4
29
#define CS48L32_CLK_DSPCLK 7
30
#define CS48L32_CLK_PDM_FLLCLK 13
31
32
/* source for snd_soc_component_set_sysclk() */
33
#define CS48L32_CLK_SRC_MCLK1 0x0
34
#define CS48L32_CLK_SRC_FLL1 0x4
35
#define CS48L32_CLK_SRC_ASP1_BCLK 0x8
36
#define CS48L32_CLK_SRC_ASP2_BCLK 0x9
37
38
struct cs48l32 {
39
struct regmap *regmap;
40
struct device *dev;
41
struct gpio_desc *reset_gpio;
42
struct clk *mclk1;
43
struct regulator_bulk_data core_supplies[2];
44
struct regulator *vdd_d;
45
int irq;
46
};
47
#endif
48
49