Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  mt2701-afe-common.h   Sprache: C

 
/* SPDX-License-Identifier: GPL-2.0 */
/*
 * mt2701-afe-common.h  --  Mediatek 2701 audio driver definitions
 *
 * Copyright (c) 2016 MediaTek Inc.
 * Author: Garlic Tseng <garlic.tseng@mediatek.com>
 */


#ifndef _MT_2701_AFE_COMMON_H_
#define _MT_2701_AFE_COMMON_H_

#include <sound/soc.h>
#include <linux/clk.h>
#include <linux/regmap.h>
#include "mt2701-reg.h"
#include "../common/mtk-base-afe.h"

#define MT2701_PLL_DOMAIN_0_RATE 98304000
#define MT2701_PLL_DOMAIN_1_RATE 90316800

enum {
 MT2701_MEMIF_DL1,
 MT2701_MEMIF_DL2,
 MT2701_MEMIF_DL3,
 MT2701_MEMIF_DL4,
 MT2701_MEMIF_DL5,
 MT2701_MEMIF_DL_SINGLE_NUM,
 MT2701_MEMIF_DLM = MT2701_MEMIF_DL_SINGLE_NUM,
 MT2701_MEMIF_UL1,
 MT2701_MEMIF_UL2,
 MT2701_MEMIF_UL3,
 MT2701_MEMIF_UL4,
 MT2701_MEMIF_UL5,
 MT2701_MEMIF_DLBT,
 MT2701_MEMIF_ULBT,
 MT2701_MEMIF_NUM,
 MT2701_IO_I2S = MT2701_MEMIF_NUM,
 MT2701_IO_2ND_I2S,
 MT2701_IO_3RD_I2S,
 MT2701_IO_4TH_I2S,
 MT2701_IO_5TH_I2S,
 MT2701_IO_6TH_I2S,
 MT2701_IO_MRG,
};

enum {
 MT2701_IRQ_ASYS_IRQ1,
 MT2701_IRQ_ASYS_IRQ2,
 MT2701_IRQ_ASYS_IRQ3,
 MT2701_IRQ_ASYS_END,
};

enum audio_base_clock {
 MT2701_INFRA_SYS_AUDIO,
 MT2701_TOP_AUD_MCLK_SRC0,
 MT2701_TOP_AUD_MCLK_SRC1,
 MT2701_TOP_AUD_A1SYS,
 MT2701_TOP_AUD_A2SYS,
 MT2701_AUDSYS_AFE,
 MT2701_AUDSYS_AFE_CONN,
 MT2701_AUDSYS_A1SYS,
 MT2701_AUDSYS_A2SYS,
 MT2701_BASE_CLK_NUM,
};

struct mt2701_i2s_data {
 int i2s_ctrl_reg;
 int i2s_asrc_fs_shift;
 int i2s_asrc_fs_mask;
};

struct mt2701_i2s_path {
 int mclk_rate;
 int on[MTK_STREAM_NUM];
 int occupied[MTK_STREAM_NUM];
 const struct mt2701_i2s_data *i2s_data[MTK_STREAM_NUM];
 struct clk *hop_ck[MTK_STREAM_NUM];
 struct clk *sel_ck;
 struct clk *div_ck;
 struct clk *mclk_ck;
 struct clk *asrco_ck;
};

struct mt2701_soc_variants {
 bool has_one_heart_mode;
 int i2s_num;
};

struct mt2701_afe_private {
 struct mt2701_i2s_path *i2s_path;
 struct clk *base_ck[MT2701_BASE_CLK_NUM];
 struct clk *mrgif_ck;
 bool mrg_enable[MTK_STREAM_NUM];

 const struct mt2701_soc_variants *soc;
};

#endif

Messung V0.5
C=97 H=96 G=96

¤ Dauer der Verarbeitung: 0.1 Sekunden  (vorverarbeitet)  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge