linux/include/linux/mfd/wl1273-core.h

/* SPDX-License-Identifier: GPL-2.0-only */
/*
 * include/linux/mfd/wl1273-core.h
 *
 * Some definitions for the wl1273 radio receiver/transmitter chip.
 *
 * Copyright (C) 2010 Nokia Corporation
 * Author: Matti J. Aaltonen <[email protected]>
 */

#ifndef WL1273_CORE_H
#define WL1273_CORE_H

#include <linux/i2c.h>
#include <linux/mfd/core.h>

#define WL1273_FM_DRIVER_NAME
#define RX71_FM_I2C_ADDR

#define WL1273_STEREO_GET
#define WL1273_RSSI_LVL_GET
#define WL1273_IF_COUNT_GET
#define WL1273_FLAG_GET
#define WL1273_RDS_SYNC_GET
#define WL1273_RDS_DATA_GET
#define WL1273_FREQ_SET
#define WL1273_AF_FREQ_SET
#define WL1273_MOST_MODE_SET
#define WL1273_MOST_BLEND_SET
#define WL1273_DEMPH_MODE_SET
#define WL1273_SEARCH_LVL_SET
#define WL1273_BAND_SET
#define WL1273_MUTE_STATUS_SET
#define WL1273_RDS_PAUSE_LVL_SET
#define WL1273_RDS_PAUSE_DUR_SET
#define WL1273_RDS_MEM_SET
#define WL1273_RDS_BLK_B_SET
#define WL1273_RDS_MSK_B_SET
#define WL1273_RDS_PI_MASK_SET
#define WL1273_RDS_PI_SET
#define WL1273_RDS_SYSTEM_SET
#define WL1273_INT_MASK_SET
#define WL1273_SEARCH_DIR_SET
#define WL1273_VOLUME_SET
#define WL1273_AUDIO_ENABLE
#define WL1273_PCM_MODE_SET
#define WL1273_I2S_MODE_CONFIG_SET
#define WL1273_POWER_SET
#define WL1273_INTX_CONFIG_SET
#define WL1273_PULL_EN_SET
#define WL1273_HILO_SET
#define WL1273_SWITCH2FREF
#define WL1273_FREQ_DRIFT_REPORT

#define WL1273_PCE_GET
#define WL1273_FIRM_VER_GET
#define WL1273_ASIC_VER_GET
#define WL1273_ASIC_ID_GET
#define WL1273_MAN_ID_GET
#define WL1273_TUNER_MODE_SET
#define WL1273_STOP_SEARCH
#define WL1273_RDS_CNTRL_SET

#define WL1273_WRITE_HARDWARE_REG
#define WL1273_CODE_DOWNLOAD
#define WL1273_RESET

#define WL1273_FM_POWER_MODE
#define WL1273_FM_INTERRUPT

/* Transmitter API */

#define WL1273_CHANL_SET
#define WL1273_SCAN_SPACING_SET
#define WL1273_REF_SET
#define WL1273_POWER_ENB_SET
#define WL1273_POWER_ATT_SET
#define WL1273_POWER_LEV_SET
#define WL1273_AUDIO_DEV_SET
#define WL1273_PILOT_DEV_SET
#define WL1273_RDS_DEV_SET
#define WL1273_PUPD_SET
#define WL1273_AUDIO_IO_SET
#define WL1273_PREMPH_SET
#define WL1273_MONO_SET
#define WL1273_MUTE
#define WL1273_MPX_LMT_ENABLE
#define WL1273_PI_SET
#define WL1273_ECC_SET
#define WL1273_PTY
#define WL1273_AF
#define WL1273_DISPLAY_MODE
#define WL1273_RDS_REP_SET
#define WL1273_RDS_CONFIG_DATA_SET
#define WL1273_RDS_DATA_SET
#define WL1273_RDS_DATA_ENB
#define WL1273_TA_SET
#define WL1273_TP_SET
#define WL1273_DI_SET
#define WL1273_MS_SET
#define WL1273_PS_SCROLL_SPEED
#define WL1273_TX_AUDIO_LEVEL_TEST
#define WL1273_TX_AUDIO_LEVEL_TEST_THRESHOLD
#define WL1273_TX_AUDIO_INPUT_LEVEL_RANGE_SET
#define WL1273_RX_ANTENNA_SELECT
#define WL1273_I2C_DEV_ADDR_SET
#define WL1273_REF_ERR_CALIB_PARAM_SET
#define WL1273_REF_ERR_CALIB_PERIODICITY_SET
#define WL1273_SOC_INT_TRIGGER
#define WL1273_SOC_AUDIO_PATH_SET
#define WL1273_SOC_PCMI_OVERRIDE
#define WL1273_SOC_I2S_OVERRIDE
#define WL1273_RSSI_BLOCK_SCAN_FREQ_SET
#define WL1273_RSSI_BLOCK_SCAN_START
#define WL1273_RSSI_BLOCK_SCAN_DATA_GET
#define WL1273_READ_FMANT_TUNE_VALUE

#define WL1273_RDS_OFF
#define WL1273_RDS_ON
#define WL1273_RDS_RESET

#define WL1273_AUDIO_DIGITAL
#define WL1273_AUDIO_ANALOG

#define WL1273_MODE_RX
#define WL1273_MODE_TX
#define WL1273_MODE_OFF
#define WL1273_MODE_SUSPENDED

#define WL1273_RADIO_CHILD
#define WL1273_CODEC_CHILD

#define WL1273_RX_MONO
#define WL1273_RX_STEREO
#define WL1273_TX_MONO
#define WL1273_TX_STEREO

#define WL1273_MAX_VOLUME
#define WL1273_DEFAULT_VOLUME

/* I2S protocol, left channel first, data width 16 bits */
#define WL1273_PCM_DEF_MODE

/* Rx */
#define WL1273_AUDIO_ENABLE_I2S
#define WL1273_AUDIO_ENABLE_ANALOG

/* Tx */
#define WL1273_AUDIO_IO_SET_ANALOG
#define WL1273_AUDIO_IO_SET_I2S

#define WL1273_PUPD_SET_OFF
#define WL1273_PUPD_SET_ON
#define WL1273_PUPD_SET_RETENTION

/* I2S mode */
#define WL1273_IS2_WIDTH_32
#define WL1273_IS2_WIDTH_40
#define WL1273_IS2_WIDTH_22_23
#define WL1273_IS2_WIDTH_23_22
#define WL1273_IS2_WIDTH_48
#define WL1273_IS2_WIDTH_50
#define WL1273_IS2_WIDTH_60
#define WL1273_IS2_WIDTH_64
#define WL1273_IS2_WIDTH_80
#define WL1273_IS2_WIDTH_96
#define WL1273_IS2_WIDTH_128
#define WL1273_IS2_WIDTH

#define WL1273_IS2_FORMAT_STD
#define WL1273_IS2_FORMAT_LEFT
#define WL1273_IS2_FORMAT_RIGHT
#define WL1273_IS2_FORMAT_USER

#define WL1273_IS2_MASTER
#define WL1273_IS2_SLAVEW

#define WL1273_IS2_TRI_AFTER_SENDING
#define WL1273_IS2_TRI_ALWAYS_ACTIVE

#define WL1273_IS2_SDOWS_RR
#define WL1273_IS2_SDOWS_RF
#define WL1273_IS2_SDOWS_FR
#define WL1273_IS2_SDOWS_FF

#define WL1273_IS2_TRI_OPT
#define WL1273_IS2_TRI_ALWAYS

#define WL1273_IS2_RATE_48K
#define WL1273_IS2_RATE_44_1K
#define WL1273_IS2_RATE_32K
#define WL1273_IS2_RATE_22_05K
#define WL1273_IS2_RATE_16K
#define WL1273_IS2_RATE_12K
#define WL1273_IS2_RATE_11_025
#define WL1273_IS2_RATE_8K
#define WL1273_IS2_RATE

#define WL1273_I2S_DEF_MODE

#define SCHAR_MIN
#define SCHAR_MAX

#define WL1273_FR_EVENT
#define WL1273_BL_EVENT
#define WL1273_RDS_EVENT
#define WL1273_BBLK_EVENT
#define WL1273_LSYNC_EVENT
#define WL1273_LEV_EVENT
#define WL1273_IFFR_EVENT
#define WL1273_PI_EVENT
#define WL1273_PD_EVENT
#define WL1273_STIC_EVENT
#define WL1273_MAL_EVENT
#define WL1273_POW_ENB_EVENT
#define WL1273_SCAN_OVER_EVENT
#define WL1273_ERROR_EVENT

#define TUNER_MODE_STOP_SEARCH
#define TUNER_MODE_PRESET
#define TUNER_MODE_AUTO_SEEK
#define TUNER_MODE_AF
#define TUNER_MODE_AUTO_SEEK_PI
#define TUNER_MODE_AUTO_SEEK_BULK

#define RDS_BLOCK_SIZE

struct wl1273_fm_platform_data {};

#define WL1273_FM_CORE_CELLS

#define WL1273_BAND_OTHER
#define WL1273_BAND_JAPAN

#define WL1273_BAND_JAPAN_LOW
#define WL1273_BAND_JAPAN_HIGH
#define WL1273_BAND_OTHER_LOW
#define WL1273_BAND_OTHER_HIGH

#define WL1273_BAND_TX_LOW
#define WL1273_BAND_TX_HIGH

struct wl1273_core {};

#endif	/* ifndef WL1273_CORE_H */