18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */
28c2ecf20Sopenharmony_ci/*
38c2ecf20Sopenharmony_ci * Maxim Integrated MAX2175 RF to Bits tuner driver
48c2ecf20Sopenharmony_ci *
58c2ecf20Sopenharmony_ci * This driver & most of the hard coded values are based on the reference
68c2ecf20Sopenharmony_ci * application delivered by Maxim for this device.
78c2ecf20Sopenharmony_ci *
88c2ecf20Sopenharmony_ci * Copyright (C) 2016 Maxim Integrated Products
98c2ecf20Sopenharmony_ci * Copyright (C) 2017 Renesas Electronics Corporation
108c2ecf20Sopenharmony_ci */
118c2ecf20Sopenharmony_ci
128c2ecf20Sopenharmony_ci#ifndef __MAX2175_H__
138c2ecf20Sopenharmony_ci#define __MAX2175_H__
148c2ecf20Sopenharmony_ci
158c2ecf20Sopenharmony_ci#define MAX2175_EU_XTAL_FREQ	36864000	/* In Hz */
168c2ecf20Sopenharmony_ci#define MAX2175_NA_XTAL_FREQ	40186125	/* In Hz */
178c2ecf20Sopenharmony_ci
188c2ecf20Sopenharmony_cienum max2175_region {
198c2ecf20Sopenharmony_ci	MAX2175_REGION_EU = 0,	/* Europe */
208c2ecf20Sopenharmony_ci	MAX2175_REGION_NA,	/* North America */
218c2ecf20Sopenharmony_ci};
228c2ecf20Sopenharmony_ci
238c2ecf20Sopenharmony_cienum max2175_band {
248c2ecf20Sopenharmony_ci	MAX2175_BAND_AM = 0,
258c2ecf20Sopenharmony_ci	MAX2175_BAND_FM,
268c2ecf20Sopenharmony_ci	MAX2175_BAND_VHF,
278c2ecf20Sopenharmony_ci	MAX2175_BAND_L,
288c2ecf20Sopenharmony_ci};
298c2ecf20Sopenharmony_ci
308c2ecf20Sopenharmony_cienum max2175_eu_mode {
318c2ecf20Sopenharmony_ci	/* EU modes */
328c2ecf20Sopenharmony_ci	MAX2175_EU_FM_1_2 = 0,
338c2ecf20Sopenharmony_ci	MAX2175_DAB_1_2,
348c2ecf20Sopenharmony_ci
358c2ecf20Sopenharmony_ci	/*
368c2ecf20Sopenharmony_ci	 * Other possible modes to add in future
378c2ecf20Sopenharmony_ci	 * MAX2175_DAB_1_0,
388c2ecf20Sopenharmony_ci	 * MAX2175_DAB_1_3,
398c2ecf20Sopenharmony_ci	 * MAX2175_EU_FM_2_2,
408c2ecf20Sopenharmony_ci	 * MAX2175_EU_FMHD_4_0,
418c2ecf20Sopenharmony_ci	 * MAX2175_EU_AM_1_0,
428c2ecf20Sopenharmony_ci	 * MAX2175_EU_AM_2_2,
438c2ecf20Sopenharmony_ci	 */
448c2ecf20Sopenharmony_ci};
458c2ecf20Sopenharmony_ci
468c2ecf20Sopenharmony_cienum max2175_na_mode {
478c2ecf20Sopenharmony_ci	/* NA modes */
488c2ecf20Sopenharmony_ci	MAX2175_NA_FM_1_0 = 0,
498c2ecf20Sopenharmony_ci	MAX2175_NA_FM_2_0,
508c2ecf20Sopenharmony_ci
518c2ecf20Sopenharmony_ci	/*
528c2ecf20Sopenharmony_ci	 * Other possible modes to add in future
538c2ecf20Sopenharmony_ci	 * MAX2175_NA_FMHD_1_0,
548c2ecf20Sopenharmony_ci	 * MAX2175_NA_FMHD_1_2,
558c2ecf20Sopenharmony_ci	 * MAX2175_NA_AM_1_0,
568c2ecf20Sopenharmony_ci	 * MAX2175_NA_AM_1_2,
578c2ecf20Sopenharmony_ci	 */
588c2ecf20Sopenharmony_ci};
598c2ecf20Sopenharmony_ci
608c2ecf20Sopenharmony_ci/* Supported I2S modes */
618c2ecf20Sopenharmony_cienum {
628c2ecf20Sopenharmony_ci	MAX2175_I2S_MODE0 = 0,
638c2ecf20Sopenharmony_ci	MAX2175_I2S_MODE1,
648c2ecf20Sopenharmony_ci	MAX2175_I2S_MODE2,
658c2ecf20Sopenharmony_ci	MAX2175_I2S_MODE3,
668c2ecf20Sopenharmony_ci	MAX2175_I2S_MODE4,
678c2ecf20Sopenharmony_ci};
688c2ecf20Sopenharmony_ci
698c2ecf20Sopenharmony_ci/* Coefficient table groups */
708c2ecf20Sopenharmony_cienum {
718c2ecf20Sopenharmony_ci	MAX2175_CH_MSEL = 0,
728c2ecf20Sopenharmony_ci	MAX2175_EQ_MSEL,
738c2ecf20Sopenharmony_ci	MAX2175_AA_MSEL,
748c2ecf20Sopenharmony_ci};
758c2ecf20Sopenharmony_ci
768c2ecf20Sopenharmony_ci/* HSLS LO injection polarity */
778c2ecf20Sopenharmony_cienum {
788c2ecf20Sopenharmony_ci	MAX2175_LO_BELOW_DESIRED = 0,
798c2ecf20Sopenharmony_ci	MAX2175_LO_ABOVE_DESIRED,
808c2ecf20Sopenharmony_ci};
818c2ecf20Sopenharmony_ci
828c2ecf20Sopenharmony_ci/* Channel FSM modes */
838c2ecf20Sopenharmony_cienum max2175_csm_mode {
848c2ecf20Sopenharmony_ci	MAX2175_LOAD_TO_BUFFER = 0,
858c2ecf20Sopenharmony_ci	MAX2175_PRESET_TUNE,
868c2ecf20Sopenharmony_ci	MAX2175_SEARCH,
878c2ecf20Sopenharmony_ci	MAX2175_AF_UPDATE,
888c2ecf20Sopenharmony_ci	MAX2175_JUMP_FAST_TUNE,
898c2ecf20Sopenharmony_ci	MAX2175_CHECK,
908c2ecf20Sopenharmony_ci	MAX2175_LOAD_AND_SWAP,
918c2ecf20Sopenharmony_ci	MAX2175_END,
928c2ecf20Sopenharmony_ci	MAX2175_BUFFER_PLUS_PRESET_TUNE,
938c2ecf20Sopenharmony_ci	MAX2175_BUFFER_PLUS_SEARCH,
948c2ecf20Sopenharmony_ci	MAX2175_BUFFER_PLUS_AF_UPDATE,
958c2ecf20Sopenharmony_ci	MAX2175_BUFFER_PLUS_JUMP_FAST_TUNE,
968c2ecf20Sopenharmony_ci	MAX2175_BUFFER_PLUS_CHECK,
978c2ecf20Sopenharmony_ci	MAX2175_BUFFER_PLUS_LOAD_AND_SWAP,
988c2ecf20Sopenharmony_ci	MAX2175_NO_ACTION
998c2ecf20Sopenharmony_ci};
1008c2ecf20Sopenharmony_ci
1018c2ecf20Sopenharmony_ci#endif /* __MAX2175_H__ */
102