brintos

brintos / linux-shallow public Read only

0
0
Text · 2.0 KiB · a4c993d Raw
79 lines · c
1/* SPDX-License-Identifier: GPL-2.0-only */2/*3 * tegra210_sfc.h - Definitions for Tegra210 SFC driver4 *5 * Copyright (c) 2021-2023 NVIDIA CORPORATION.  All rights reserved.6 *7 */8 9#ifndef __TEGRA210_SFC_H__10#define __TEGRA210_SFC_H__11 12/*13 * SFC_RX registers are with respect to XBAR.14 * The data comes from XBAR to SFC.15 */16#define TEGRA210_SFC_RX_STATUS			0x0c17#define TEGRA210_SFC_RX_INT_STATUS		0x1018#define TEGRA210_SFC_RX_INT_MASK		0x1419#define TEGRA210_SFC_RX_INT_SET			0x1820#define TEGRA210_SFC_RX_INT_CLEAR		0x1c21#define TEGRA210_SFC_RX_CIF_CTRL		0x2022#define TEGRA210_SFC_RX_FREQ			0x2423 24/*25 * SFC_TX registers are with respect to XBAR.26 * The data goes out of SFC.27 */28#define TEGRA210_SFC_TX_STATUS			0x4c29#define TEGRA210_SFC_TX_INT_STATUS		0x5030#define TEGRA210_SFC_TX_INT_MASK		0x5431#define TEGRA210_SFC_TX_INT_SET			0x5832#define TEGRA210_SFC_TX_INT_CLEAR		0x5c33#define TEGRA210_SFC_TX_CIF_CTRL		0x6034#define TEGRA210_SFC_TX_FREQ			0x6435 36/* Register offsets from TEGRA210_SFC*_BASE */37#define TEGRA210_SFC_ENABLE			0x8038#define TEGRA210_SFC_SOFT_RESET			0x8439#define TEGRA210_SFC_CG				0x8840#define TEGRA210_SFC_STATUS			0x8c41#define TEGRA210_SFC_INT_STATUS			0x9042#define TEGRA210_SFC_COEF_RAM			0xbc43#define TEGRA210_SFC_CFG_RAM_CTRL		0xc044#define TEGRA210_SFC_CFG_RAM_DATA		0xc445 46/* Fields in TEGRA210_SFC_ENABLE */47#define TEGRA210_SFC_EN_SHIFT			048#define TEGRA210_SFC_EN				(1 << TEGRA210_SFC_EN_SHIFT)49 50#define TEGRA210_SFC_NUM_RATES 1351 52/* Fields in TEGRA210_SFC_COEF_RAM */53#define TEGRA210_SFC_COEF_RAM_EN		BIT(0)54 55#define TEGRA210_SFC_SOFT_RESET_EN              BIT(0)56 57/* Coefficients */58#define TEGRA210_SFC_COEF_RAM_DEPTH		6459#define TEGRA210_SFC_RAM_CTRL_RW_WRITE		(1 << 14)60#define TEGRA210_SFC_RAM_CTRL_ADDR_INIT_EN	(1 << 13)61#define TEGRA210_SFC_RAM_CTRL_SEQ_ACCESS_EN	(1 << 12)62 63 64enum tegra210_sfc_path {65	SFC_RX_PATH,66	SFC_TX_PATH,67	SFC_PATHS,68};69 70struct tegra210_sfc {71	unsigned int mono_to_stereo[SFC_PATHS];72	unsigned int stereo_to_mono[SFC_PATHS];73	unsigned int srate_out;74	unsigned int srate_in;75	struct regmap *regmap;76};77 78#endif79