|
1 |
| -/* SPDX-License-Identifier: GPL-2.0-only */ |
2 |
| -/* |
3 |
| - * tegra_cif.h - TEGRA Audio CIF Programming |
| 1 | +/* SPDX-License-Identifier: GPL-2.0-only |
| 2 | + * SPDX-FileCopyrightText: Copyright (c) 2020-2025 NVIDIA CORPORATION. All rights reserved. |
4 | 3 | *
|
5 |
| - * Copyright (c) 2020 NVIDIA CORPORATION. All rights reserved. |
| 4 | + * tegra_cif.h - TEGRA Audio CIF Programming |
6 | 5 | *
|
7 | 6 | */
|
8 | 7 |
|
|
22 | 21 | #define TEGRA_ACIF_CTRL_TRUNCATE_SHIFT 1
|
23 | 22 | #define TEGRA_ACIF_CTRL_MONO_CONV_SHIFT 0
|
24 | 23 |
|
| 24 | +#define TEGRA264_ACIF_CTRL_AUDIO_BITS_SHIFT 11 |
| 25 | +#define TEGRA264_ACIF_CTRL_CLIENT_CH_SHIFT 14 |
| 26 | +#define TEGRA264_ACIF_CTRL_AUDIO_CH_SHIFT 19 |
| 27 | + |
25 | 28 | /* AUDIO/CLIENT_BITS values */
|
26 | 29 | #define TEGRA_ACIF_BITS_8 1
|
27 | 30 | #define TEGRA_ACIF_BITS_16 3
|
@@ -62,4 +65,23 @@ static inline void tegra_set_cif(struct regmap *regmap, unsigned int reg,
|
62 | 65 | regmap_update_bits(regmap, reg, TEGRA_ACIF_UPDATE_MASK, value);
|
63 | 66 | }
|
64 | 67 |
|
| 68 | +static inline void tegra264_set_cif(struct regmap *regmap, unsigned int reg, |
| 69 | + struct tegra_cif_conf *conf) |
| 70 | +{ |
| 71 | + unsigned int value; |
| 72 | + |
| 73 | + value = (conf->threshold << TEGRA_ACIF_CTRL_FIFO_TH_SHIFT) | |
| 74 | + ((conf->audio_ch - 1) << TEGRA264_ACIF_CTRL_AUDIO_CH_SHIFT) | |
| 75 | + ((conf->client_ch - 1) << TEGRA264_ACIF_CTRL_CLIENT_CH_SHIFT) | |
| 76 | + (conf->audio_bits << TEGRA264_ACIF_CTRL_AUDIO_BITS_SHIFT) | |
| 77 | + (conf->client_bits << TEGRA_ACIF_CTRL_CLIENT_BITS_SHIFT) | |
| 78 | + (conf->expand << TEGRA_ACIF_CTRL_EXPAND_SHIFT) | |
| 79 | + (conf->stereo_conv << TEGRA_ACIF_CTRL_STEREO_CONV_SHIFT) | |
| 80 | + (conf->replicate << TEGRA_ACIF_CTRL_REPLICATE_SHIFT) | |
| 81 | + (conf->truncate << TEGRA_ACIF_CTRL_TRUNCATE_SHIFT) | |
| 82 | + (conf->mono_conv << TEGRA_ACIF_CTRL_MONO_CONV_SHIFT); |
| 83 | + |
| 84 | + regmap_update_bits(regmap, reg, TEGRA_ACIF_UPDATE_MASK, value); |
| 85 | +} |
| 86 | + |
65 | 87 | #endif
|
0 commit comments