]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/blob - sound/soc/codecs/ak5558.h
Merge branch 'for-next' into for-linus
[mirror_ubuntu-hirsute-kernel.git] / sound / soc / codecs / ak5558.h
1 /* SPDX-License-Identifier: GPL-2.0
2 *
3 * Audio driver header for AK5558
4 *
5 * Copyright (C) 2016 Asahi Kasei Microdevices Corporation
6 * Copyright 2018 NXP
7 */
8
9 #ifndef _AK5558_H
10 #define _AK5558_H
11
12 #define AK5558_00_POWER_MANAGEMENT1 0x00
13 #define AK5558_01_POWER_MANAGEMENT2 0x01
14 #define AK5558_02_CONTROL1 0x02
15 #define AK5558_03_CONTROL2 0x03
16 #define AK5558_04_CONTROL3 0x04
17 #define AK5558_05_DSD 0x05
18
19 /* AK5558_02_CONTROL1 fields */
20 #define AK5558_DIF GENMASK(1, 1)
21 #define AK5558_DIF_MSB_MODE (0 << 1)
22 #define AK5558_DIF_I2S_MODE (1 << 1)
23
24 #define AK5558_BITS GENMASK(2, 2)
25 #define AK5558_DIF_24BIT_MODE (0 << 2)
26 #define AK5558_DIF_32BIT_MODE (1 << 2)
27
28 #define AK5558_CKS GENMASK(6, 3)
29 #define AK5558_CKS_128FS_192KHZ (0 << 3)
30 #define AK5558_CKS_192FS_192KHZ (1 << 3)
31 #define AK5558_CKS_256FS_48KHZ (2 << 3)
32 #define AK5558_CKS_256FS_96KHZ (3 << 3)
33 #define AK5558_CKS_384FS_96KHZ (4 << 3)
34 #define AK5558_CKS_384FS_48KHZ (5 << 3)
35 #define AK5558_CKS_512FS_48KHZ (6 << 3)
36 #define AK5558_CKS_768FS_48KHZ (7 << 3)
37 #define AK5558_CKS_64FS_384KHZ (8 << 3)
38 #define AK5558_CKS_32FS_768KHZ (9 << 3)
39 #define AK5558_CKS_96FS_384KHZ (10 << 3)
40 #define AK5558_CKS_48FS_768KHZ (11 << 3)
41 #define AK5558_CKS_64FS_768KHZ (12 << 3)
42 #define AK5558_CKS_1024FS_16KHZ (13 << 3)
43 #define AK5558_CKS_AUTO (15 << 3)
44
45 /* AK5558_03_CONTROL2 fields */
46 #define AK5558_MODE_BITS GENMASK(6, 5)
47 #define AK5558_MODE_NORMAL (0 << 5)
48 #define AK5558_MODE_TDM128 (1 << 5)
49 #define AK5558_MODE_TDM256 (2 << 5)
50 #define AK5558_MODE_TDM512 (3 << 5)
51
52 #endif