/* SPDX-License-Identifier: GPL-2.0 */
/*
 * Audio driver for AK4458
 *
 * Copyright (C) 2016 Asahi Kasei Microdevices Corporation
 * Copyright 2018 NXP
 */

#ifndef _AK4458_H
#define _AK4458_H

#include <linux/regmap.h>

/* Settings */

#define AK4458_00_CONTROL1			0x00
#define AK4458_01_CONTROL2			0x01
#define AK4458_02_CONTROL3			0x02
#define AK4458_03_LCHATT			0x03
#define AK4458_04_RCHATT			0x04
#define AK4458_05_CONTROL4			0x05
#define AK4458_06_DSD1				0x06
#define AK4458_07_CONTROL5			0x07
#define AK4458_08_SOUND_CONTROL			0x08
#define AK4458_09_DSD2				0x09
#define AK4458_0A_CONTROL6			0x0A
#define AK4458_0B_CONTROL7			0x0B
#define AK4458_0C_CONTROL8			0x0C
#define AK4458_0D_CONTROL9			0x0D
#define AK4458_0E_CONTROL10			0x0E
#define AK4458_0F_L2CHATT			0x0F
#define AK4458_10_R2CHATT			0x10
#define AK4458_11_L3CHATT			0x11
#define AK4458_12_R3CHATT			0x12
#define AK4458_13_L4CHATT			0x13
#define AK4458_14_R4CHATT			0x14

/* Bitfield Definitions */

/* AK4458_00_CONTROL1 (0x00) Fields
 * Addr Register Name  D7     D6    D5    D4    D3    D2    D1    D0
 * 00H  Control 1      ACKS   0     0     0     DIF2  DIF1  DIF0  RSTN
 */

/* Digital Filter (SD, SLOW, SSLOW) */
#define AK4458_SD_MASK		GENMASK(5, 5)
#define AK4458_SLOW_MASK	GENMASK(0, 0)
#define AK4458_SSLOW_MASK	GENMASK(0, 0)

/* DIF2	1 0
 *  x	1 0 MSB justified  Figure 3 (default)
 *  x	1 1 I2S Compliment  Figure 4
 */
#define AK4458_DIF_SHIFT	1
#define AK4458_DIF_MASK		GENMASK(3, 1)

#define AK4458_DIF_16BIT_LSB	(0 << 1)
#define AK4458_DIF_24BIT_I2S	(3 << 1)
#define AK4458_DIF_32BIT_LSB	(5 << 1)
#define AK4458_DIF_32BIT_MSB	(6 << 1)
#define AK4458_DIF_32BIT_I2S	(7 << 1)

/* AK4458_00_CONTROL1 (0x00) D0 bit */
#define AK4458_RSTN_MASK	GENMASK(0, 0)
#define AK4458_RSTN		(0x1 << 0)

/* AK4458_0A_CONTROL6 Mode bits */
#define AK4458_MODE_SHIFT	6
#define AK4458_MODE_MASK	GENMASK(7, 6)
#define AK4458_MODE_NORMAL	(0 << AK4458_MODE_SHIFT)
#define AK4458_MODE_TDM128	(1 << AK4458_MODE_SHIFT)
#define AK4458_MODE_TDM256	(2 << AK4458_MODE_SHIFT)
#define AK4458_MODE_TDM512	(3 << AK4458_MODE_SHIFT)

/* DAC Digital attenuator transition time setting
 * Table 19
 * Mode	ATS1	ATS2	ATT speed
 * 0	0	0	4080/fs
 * 1	0	1	2040/fs
 * 2	1	0	510/fs
 * 3	1	1	255/fs
 * */
#define AK4458_ATS_SHIFT	6
#define AK4458_ATS_MASK		GENMASK(7, 6)
#define AK4458_DCHAIN_MASK	(0x1 << 1)

#define AK4458_DSDSEL_MASK		(0x1 << 0)
#define AK4458_DP_MASK			(0x1 << 7)

#endif
