18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */ 28c2ecf20Sopenharmony_ci#ifndef __ATMEL_CLASSD_H_ 38c2ecf20Sopenharmony_ci#define __ATMEL_CLASSD_H_ 48c2ecf20Sopenharmony_ci 58c2ecf20Sopenharmony_ci#define CLASSD_CR 0x00000000 68c2ecf20Sopenharmony_ci#define CLASSD_CR_RESET 0x1 78c2ecf20Sopenharmony_ci 88c2ecf20Sopenharmony_ci#define CLASSD_MR 0x00000004 98c2ecf20Sopenharmony_ci 108c2ecf20Sopenharmony_ci#define CLASSD_MR_LEN_DIS 0x0 118c2ecf20Sopenharmony_ci#define CLASSD_MR_LEN_EN 0x1 128c2ecf20Sopenharmony_ci#define CLASSD_MR_LEN_MASK (0x1 << 0) 138c2ecf20Sopenharmony_ci#define CLASSD_MR_LEN_SHIFT (0) 148c2ecf20Sopenharmony_ci 158c2ecf20Sopenharmony_ci#define CLASSD_MR_LMUTE_DIS 0x0 168c2ecf20Sopenharmony_ci#define CLASSD_MR_LMUTE_EN 0x1 178c2ecf20Sopenharmony_ci#define CLASSD_MR_LMUTE_SHIFT (0x1) 188c2ecf20Sopenharmony_ci#define CLASSD_MR_LMUTE_MASK (0x1 << 1) 198c2ecf20Sopenharmony_ci 208c2ecf20Sopenharmony_ci#define CLASSD_MR_REN_DIS 0x0 218c2ecf20Sopenharmony_ci#define CLASSD_MR_REN_EN 0x1 228c2ecf20Sopenharmony_ci#define CLASSD_MR_REN_MASK (0x1 << 4) 238c2ecf20Sopenharmony_ci#define CLASSD_MR_REN_SHIFT (4) 248c2ecf20Sopenharmony_ci 258c2ecf20Sopenharmony_ci#define CLASSD_MR_RMUTE_DIS 0x0 268c2ecf20Sopenharmony_ci#define CLASSD_MR_RMUTE_EN 0x1 278c2ecf20Sopenharmony_ci#define CLASSD_MR_RMUTE_SHIFT (0x5) 288c2ecf20Sopenharmony_ci#define CLASSD_MR_RMUTE_MASK (0x1 << 5) 298c2ecf20Sopenharmony_ci 308c2ecf20Sopenharmony_ci#define CLASSD_MR_PWMTYP_SINGLE 0x0 318c2ecf20Sopenharmony_ci#define CLASSD_MR_PWMTYP_DIFF 0x1 328c2ecf20Sopenharmony_ci#define CLASSD_MR_PWMTYP_MASK (0x1 << 8) 338c2ecf20Sopenharmony_ci#define CLASSD_MR_PWMTYP_SHIFT (8) 348c2ecf20Sopenharmony_ci 358c2ecf20Sopenharmony_ci#define CLASSD_MR_NON_OVERLAP_DIS 0x0 368c2ecf20Sopenharmony_ci#define CLASSD_MR_NON_OVERLAP_EN 0x1 378c2ecf20Sopenharmony_ci#define CLASSD_MR_NON_OVERLAP_MASK (0x1 << 16) 388c2ecf20Sopenharmony_ci#define CLASSD_MR_NON_OVERLAP_SHIFT (16) 398c2ecf20Sopenharmony_ci 408c2ecf20Sopenharmony_ci#define CLASSD_MR_NOVR_VAL_5NS 0x0 418c2ecf20Sopenharmony_ci#define CLASSD_MR_NOVR_VAL_10NS 0x1 428c2ecf20Sopenharmony_ci#define CLASSD_MR_NOVR_VAL_15NS 0x2 438c2ecf20Sopenharmony_ci#define CLASSD_MR_NOVR_VAL_20NS 0x3 448c2ecf20Sopenharmony_ci#define CLASSD_MR_NOVR_VAL_MASK (0x3 << 20) 458c2ecf20Sopenharmony_ci#define CLASSD_MR_NOVR_VAL_SHIFT (20) 468c2ecf20Sopenharmony_ci 478c2ecf20Sopenharmony_ci#define CLASSD_INTPMR 0x00000008 488c2ecf20Sopenharmony_ci 498c2ecf20Sopenharmony_ci#define CLASSD_INTPMR_ATTL_MASK (0x3f << 0) 508c2ecf20Sopenharmony_ci#define CLASSD_INTPMR_ATTL_SHIFT (0) 518c2ecf20Sopenharmony_ci#define CLASSD_INTPMR_ATTR_MASK (0x3f << 8) 528c2ecf20Sopenharmony_ci#define CLASSD_INTPMR_ATTR_SHIFT (8) 538c2ecf20Sopenharmony_ci 548c2ecf20Sopenharmony_ci#define CLASSD_INTPMR_DSP_CLK_FREQ_12M288 0x0 558c2ecf20Sopenharmony_ci#define CLASSD_INTPMR_DSP_CLK_FREQ_11M2896 0x1 568c2ecf20Sopenharmony_ci#define CLASSD_INTPMR_DSP_CLK_FREQ_MASK (0x1 << 16) 578c2ecf20Sopenharmony_ci#define CLASSD_INTPMR_DSP_CLK_FREQ_SHIFT (16) 588c2ecf20Sopenharmony_ci 598c2ecf20Sopenharmony_ci#define CLASSD_INTPMR_DEEMP_DIS 0x0 608c2ecf20Sopenharmony_ci#define CLASSD_INTPMR_DEEMP_EN 0x1 618c2ecf20Sopenharmony_ci#define CLASSD_INTPMR_DEEMP_MASK (0x1 << 18) 628c2ecf20Sopenharmony_ci#define CLASSD_INTPMR_DEEMP_SHIFT (18) 638c2ecf20Sopenharmony_ci 648c2ecf20Sopenharmony_ci#define CLASSD_INTPMR_SWAP_LEFT_ON_LSB 0x0 658c2ecf20Sopenharmony_ci#define CLASSD_INTPMR_SWAP_RIGHT_ON_LSB 0x1 668c2ecf20Sopenharmony_ci#define CLASSD_INTPMR_SWAP_MASK (0x1 << 19) 678c2ecf20Sopenharmony_ci#define CLASSD_INTPMR_SWAP_SHIFT (19) 688c2ecf20Sopenharmony_ci 698c2ecf20Sopenharmony_ci#define CLASSD_INTPMR_FRAME_8K 0x0 708c2ecf20Sopenharmony_ci#define CLASSD_INTPMR_FRAME_16K 0x1 718c2ecf20Sopenharmony_ci#define CLASSD_INTPMR_FRAME_32K 0x2 728c2ecf20Sopenharmony_ci#define CLASSD_INTPMR_FRAME_48K 0x3 738c2ecf20Sopenharmony_ci#define CLASSD_INTPMR_FRAME_96K 0x4 748c2ecf20Sopenharmony_ci#define CLASSD_INTPMR_FRAME_22K 0x5 758c2ecf20Sopenharmony_ci#define CLASSD_INTPMR_FRAME_44K 0x6 768c2ecf20Sopenharmony_ci#define CLASSD_INTPMR_FRAME_88K 0x7 778c2ecf20Sopenharmony_ci#define CLASSD_INTPMR_FRAME_MASK (0x7 << 20) 788c2ecf20Sopenharmony_ci#define CLASSD_INTPMR_FRAME_SHIFT (20) 798c2ecf20Sopenharmony_ci 808c2ecf20Sopenharmony_ci#define CLASSD_INTPMR_EQCFG_FLAT 0x0 818c2ecf20Sopenharmony_ci#define CLASSD_INTPMR_EQCFG_B_BOOST_12 0x1 828c2ecf20Sopenharmony_ci#define CLASSD_INTPMR_EQCFG_B_BOOST_6 0x2 838c2ecf20Sopenharmony_ci#define CLASSD_INTPMR_EQCFG_B_CUT_12 0x3 848c2ecf20Sopenharmony_ci#define CLASSD_INTPMR_EQCFG_B_CUT_6 0x4 858c2ecf20Sopenharmony_ci#define CLASSD_INTPMR_EQCFG_M_BOOST_3 0x5 868c2ecf20Sopenharmony_ci#define CLASSD_INTPMR_EQCFG_M_BOOST_8 0x6 878c2ecf20Sopenharmony_ci#define CLASSD_INTPMR_EQCFG_M_CUT_3 0x7 888c2ecf20Sopenharmony_ci#define CLASSD_INTPMR_EQCFG_M_CUT_8 0x8 898c2ecf20Sopenharmony_ci#define CLASSD_INTPMR_EQCFG_T_BOOST_12 0x9 908c2ecf20Sopenharmony_ci#define CLASSD_INTPMR_EQCFG_T_BOOST_6 0xa 918c2ecf20Sopenharmony_ci#define CLASSD_INTPMR_EQCFG_T_CUT_12 0xb 928c2ecf20Sopenharmony_ci#define CLASSD_INTPMR_EQCFG_T_CUT_6 0xc 938c2ecf20Sopenharmony_ci#define CLASSD_INTPMR_EQCFG_SHIFT (24) 948c2ecf20Sopenharmony_ci 958c2ecf20Sopenharmony_ci#define CLASSD_INTPMR_MONO_DIS 0x0 968c2ecf20Sopenharmony_ci#define CLASSD_INTPMR_MONO_EN 0x1 978c2ecf20Sopenharmony_ci#define CLASSD_INTPMR_MONO_MASK (0x1 << 28) 988c2ecf20Sopenharmony_ci#define CLASSD_INTPMR_MONO_SHIFT (28) 998c2ecf20Sopenharmony_ci 1008c2ecf20Sopenharmony_ci#define CLASSD_INTPMR_MONO_MODE_MIX 0x0 1018c2ecf20Sopenharmony_ci#define CLASSD_INTPMR_MONO_MODE_SAT 0x1 1028c2ecf20Sopenharmony_ci#define CLASSD_INTPMR_MONO_MODE_LEFT 0x2 1038c2ecf20Sopenharmony_ci#define CLASSD_INTPMR_MONO_MODE_RIGHT 0x3 1048c2ecf20Sopenharmony_ci#define CLASSD_INTPMR_MONO_MODE_MASK (0x3 << 29) 1058c2ecf20Sopenharmony_ci#define CLASSD_INTPMR_MONO_MODE_SHIFT (29) 1068c2ecf20Sopenharmony_ci 1078c2ecf20Sopenharmony_ci#define CLASSD_INTSR 0x0000000c 1088c2ecf20Sopenharmony_ci 1098c2ecf20Sopenharmony_ci#define CLASSD_THR 0x00000010 1108c2ecf20Sopenharmony_ci 1118c2ecf20Sopenharmony_ci#define CLASSD_IER 0x00000014 1128c2ecf20Sopenharmony_ci 1138c2ecf20Sopenharmony_ci#define CLASSD_IDR 0x00000018 1148c2ecf20Sopenharmony_ci 1158c2ecf20Sopenharmony_ci#define CLASSD_IMR 0x0000001c 1168c2ecf20Sopenharmony_ci 1178c2ecf20Sopenharmony_ci#define CLASSD_ISR 0x00000020 1188c2ecf20Sopenharmony_ci 1198c2ecf20Sopenharmony_ci#define CLASSD_WPMR 0x000000e4 1208c2ecf20Sopenharmony_ci 1218c2ecf20Sopenharmony_ci#endif 122