linux/sound/soc/tegra/tegra186_asrc.h

/* SPDX-License-Identifier: GPL-2.0-only */
/*
 * tegra186_asrc.h - Definitions for Tegra186 ASRC driver
 *
 * Copyright (c) 2022, NVIDIA CORPORATION. All rights reserved.
 *
 */

#ifndef __TEGRA186_ASRC_H__
#define __TEGRA186_ASRC_H__

/* ASRC stream related offset */
#define TEGRA186_ASRC_CFG
#define TEGRA186_ASRC_RATIO_INT_PART
#define TEGRA186_ASRC_RATIO_FRAC_PART
#define TEGRA186_ASRC_RATIO_LOCK_STATUS
#define TEGRA186_ASRC_MUTE_UNMUTE_DURATION
#define TEGRA186_ASRC_TX_THRESHOLD
#define TEGRA186_ASRC_RX_THRESHOLD
#define TEGRA186_ASRC_RATIO_COMP
#define TEGRA186_ASRC_RX_STATUS
#define TEGRA186_ASRC_RX_CIF_CTRL
#define TEGRA186_ASRC_TX_STATUS
#define TEGRA186_ASRC_TX_CIF_CTRL
#define TEGRA186_ASRC_ENABLE
#define TEGRA186_ASRC_SOFT_RESET
#define TEGRA186_ASRC_STATUS
#define TEGRA186_ASRC_STATEBUF_ADDR
#define TEGRA186_ASRC_STATEBUF_CFG
#define TEGRA186_ASRC_INSAMPLEBUF_ADDR
#define TEGRA186_ASRC_INSAMPLEBUF_CFG
#define TEGRA186_ASRC_OUTSAMPLEBUF_ADDR
#define TEGRA186_ASRC_OUTSAMPLEBUF_CFG

/* ASRC Global registers offset */
#define TEGRA186_ASRC_GLOBAL_ENB
#define TEGRA186_ASRC_GLOBAL_SOFT_RESET
#define TEGRA186_ASRC_GLOBAL_CG
#define TEGRA186_ASRC_GLOBAL_CFG
#define TEGRA186_ASRC_GLOBAL_SCRATCH_ADDR
#define TEGRA186_ASRC_GLOBAL_SCRATCH_CFG
#define TEGRA186_ASRC_RATIO_UPD_RX_CIF_CTRL
#define TEGRA186_ASRC_RATIO_UPD_RX_STATUS
#define TEGRA186_ASRC_GLOBAL_STATUS
#define TEGRA186_ASRC_GLOBAL_STREAM_ENABLE_STATUS
#define TEGRA186_ASRC_GLOBAL_INT_STATUS
#define TEGRA186_ASRC_GLOBAL_INT_MASK
#define TEGRA186_ASRC_GLOBAL_INT_SET
#define TEGRA186_ASRC_GLOBAL_INT_CLEAR
#define TEGRA186_ASRC_GLOBAL_TRANSFER_ERROR_LOG
#define TEGRA186_ASRC_GLOBAL_APR_CTRL
#define TEGRA186_ASRC_GLOBAL_APR_CTRL_ACCESS_CTRL
#define TEGRA186_ASRC_GLOBAL_DISARM_APR
#define TEGRA186_ASRC_GLOBAL_DISARM_APR_ACCESS_CTRL
#define TEGRA186_ASRC_GLOBAL_RATIO_WR_ACCESS
#define TEGRA186_ASRC_GLOBAL_RATIO_WR_ACCESS_CTRL
#define TEGRA186_ASRC_CYA

#define TEGRA186_ASRC_STREAM_DEFAULT_HW_COMP_BIAS_VALUE
#define TEGRA186_ASRC_STREAM_DEFAULT_INPUT_HW_COMP_THRESH_CFG
#define TEGRA186_ASRC_STREAM_DEFAULT_OUTPUT_HW_COMP_THRESH_CFG

#define TEGRA186_ASRC_GLOBAL_CFG_FRAC_28BIT_PRECISION
#define TEGRA186_ASRC_GLOBAL_CFG_FRAC_32BIT_PRECISION

#define TEGRA186_ASRC_STREAM_ENABLE_HW_RATIO_COMP_SHIFT
#define TEGRA186_ASRC_STREAM_ENABLE_HW_RATIO_COMP_MASK
#define TEGRA186_ASRC_STREAM_ENABLE_HW_RATIO_COMP_ENABLE
#define TEGRA186_ASRC_STREAM_ENABLE_HW_RATIO_COMP_DISABLE

#define TEGRA186_ASRC_STREAM_RATIO_TYPE_SHIFT
#define TEGRA186_ASRC_STREAM_RATIO_TYPE_MASK

#define TEGRA186_ASRC_STREAM_EN_SHIFT
#define TEGRA186_ASRC_STREAM_EN
#define TEGRA186_ASRC_GLOBAL_EN_SHIFT
#define TEGRA186_ASRC_GLOBAL_EN

#define TEGRA186_ASRC_STREAM_STATEBUF_CFG_SIZE_SHIFT
#define TEGRA186_ASRC_STREAM_STATEBUF_CFG_SIZE_MASK
#define TEGRA186_ASRC_STREAM_INSAMPLEBUF_CFG_SIZE_SHIFT
#define TEGRA186_ASRC_STREAM_INSAMPLEBUF_CFG_SIZE_MASK
#define TEGRA186_ASRC_STREAM_OUTSAMPLEBUF_CFG_SIZE_SHIFT
#define TEGRA186_ASRC_STREAM_OUTSAMPLEBUF_CFG_SIZE_MASK

#define TEGRA186_ASRC_STREAM_RATIO_INT_PART_MASK
#define TEGRA186_ASRC_STREAM_RATIO_FRAC_PART_MASK

#define TEGRA186_ASRC_STREAM_STRIDE
#define TEGRA186_ASRC_STREAM_MAX
#define TEGRA186_ASRC_STREAM_LIMIT

#define TEGRA186_ASRC_RATIO_SOURCE_ARAD
#define TEGRA186_ASRC_RATIO_SOURCE_SW

#define TEGRA186_ASRC_ARAM_START_ADDR

struct tegra186_asrc_lane {};

struct tegra186_asrc {};

#endif