/* SPDX-License-Identifier: GPL-2.0 */
/*
* Lochnagar2 register definitions
*
* Copyright (c) 2017-2018 Cirrus Logic, Inc. and
* Cirrus Logic International Semiconductor Ltd.
*
* Author: Charles Keepax <ckeepax@opensource.cirrus.com>
*/
#ifndef LOCHNAGAR2_REGISTERS_H
#define LOCHNAGAR2_REGISTERS_H
/* Register Addresses */
#define LOCHNAGAR2_CDC_AIF1_CTRL 0 x000D
#define LOCHNAGAR2_CDC_AIF2_CTRL 0 x000E
#define LOCHNAGAR2_CDC_AIF3_CTRL 0 x000F
#define LOCHNAGAR2_DSP_AIF1_CTRL 0 x0010
#define LOCHNAGAR2_DSP_AIF2_CTRL 0 x0011
#define LOCHNAGAR2_PSIA1_CTRL 0 x0012
#define LOCHNAGAR2_PSIA2_CTRL 0 x0013
#define LOCHNAGAR2_GF_AIF3_CTRL 0 x0014
#define LOCHNAGAR2_GF_AIF4_CTRL 0 x0015
#define LOCHNAGAR2_GF_AIF1_CTRL 0 x0016
#define LOCHNAGAR2_GF_AIF2_CTRL 0 x0017
#define LOCHNAGAR2_SPDIF_AIF_CTRL 0 x0018
#define LOCHNAGAR2_USB_AIF1_CTRL 0 x0019
#define LOCHNAGAR2_USB_AIF2_CTRL 0 x001A
#define LOCHNAGAR2_ADAT_AIF_CTRL 0 x001B
#define LOCHNAGAR2_CDC_MCLK1_CTRL 0 x001E
#define LOCHNAGAR2_CDC_MCLK2_CTRL 0 x001F
#define LOCHNAGAR2_DSP_CLKIN_CTRL 0 x0020
#define LOCHNAGAR2_PSIA1_MCLK_CTRL 0 x0021
#define LOCHNAGAR2_PSIA2_MCLK_CTRL 0 x0022
#define LOCHNAGAR2_SPDIF_MCLK_CTRL 0 x0023
#define LOCHNAGAR2_GF_CLKOUT1_CTRL 0 x0024
#define LOCHNAGAR2_GF_CLKOUT2_CTRL 0 x0025
#define LOCHNAGAR2_ADAT_MCLK_CTRL 0 x0026
#define LOCHNAGAR2_SOUNDCARD_MCLK_CTRL 0 x0027
#define LOCHNAGAR2_GPIO_FPGA_GPIO1 0 x0031
#define LOCHNAGAR2_GPIO_FPGA_GPIO2 0 x0032
#define LOCHNAGAR2_GPIO_FPGA_GPIO3 0 x0033
#define LOCHNAGAR2_GPIO_FPGA_GPIO4 0 x0034
#define LOCHNAGAR2_GPIO_FPGA_GPIO5 0 x0035
#define LOCHNAGAR2_GPIO_FPGA_GPIO6 0 x0036
#define LOCHNAGAR2_GPIO_CDC_GPIO1 0 x0037
#define LOCHNAGAR2_GPIO_CDC_GPIO2 0 x0038
#define LOCHNAGAR2_GPIO_CDC_GPIO3 0 x0039
#define LOCHNAGAR2_GPIO_CDC_GPIO4 0 x003A
#define LOCHNAGAR2_GPIO_CDC_GPIO5 0 x003B
#define LOCHNAGAR2_GPIO_CDC_GPIO6 0 x003C
#define LOCHNAGAR2_GPIO_CDC_GPIO7 0 x003D
#define LOCHNAGAR2_GPIO_CDC_GPIO8 0 x003E
#define LOCHNAGAR2_GPIO_DSP_GPIO1 0 x003F
#define LOCHNAGAR2_GPIO_DSP_GPIO2 0 x0040
#define LOCHNAGAR2_GPIO_DSP_GPIO3 0 x0041
#define LOCHNAGAR2_GPIO_DSP_GPIO4 0 x0042
#define LOCHNAGAR2_GPIO_DSP_GPIO5 0 x0043
#define LOCHNAGAR2_GPIO_DSP_GPIO6 0 x0044
#define LOCHNAGAR2_GPIO_GF_GPIO2 0 x0045
#define LOCHNAGAR2_GPIO_GF_GPIO3 0 x0046
#define LOCHNAGAR2_GPIO_GF_GPIO7 0 x0047
#define LOCHNAGAR2_GPIO_CDC_AIF1_BCLK 0 x0048
#define LOCHNAGAR2_GPIO_CDC_AIF1_RXDAT 0 x0049
#define LOCHNAGAR2_GPIO_CDC_AIF1_LRCLK 0 x004A
#define LOCHNAGAR2_GPIO_CDC_AIF1_TXDAT 0 x004B
#define LOCHNAGAR2_GPIO_CDC_AIF2_BCLK 0 x004C
#define LOCHNAGAR2_GPIO_CDC_AIF2_RXDAT 0 x004D
#define LOCHNAGAR2_GPIO_CDC_AIF2_LRCLK 0 x004E
#define LOCHNAGAR2_GPIO_CDC_AIF2_TXDAT 0 x004F
#define LOCHNAGAR2_GPIO_CDC_AIF3_BCLK 0 x0050
#define LOCHNAGAR2_GPIO_CDC_AIF3_RXDAT 0 x0051
#define LOCHNAGAR2_GPIO_CDC_AIF3_LRCLK 0 x0052
#define LOCHNAGAR2_GPIO_CDC_AIF3_TXDAT 0 x0053
#define LOCHNAGAR2_GPIO_DSP_AIF1_BCLK 0 x0054
#define LOCHNAGAR2_GPIO_DSP_AIF1_RXDAT 0 x0055
#define LOCHNAGAR2_GPIO_DSP_AIF1_LRCLK 0 x0056
#define LOCHNAGAR2_GPIO_DSP_AIF1_TXDAT 0 x0057
#define LOCHNAGAR2_GPIO_DSP_AIF2_BCLK 0 x0058
#define LOCHNAGAR2_GPIO_DSP_AIF2_RXDAT 0 x0059
#define LOCHNAGAR2_GPIO_DSP_AIF2_LRCLK 0 x005A
#define LOCHNAGAR2_GPIO_DSP_AIF2_TXDAT 0 x005B
#define LOCHNAGAR2_GPIO_PSIA1_BCLK 0 x005C
#define LOCHNAGAR2_GPIO_PSIA1_RXDAT 0 x005D
#define LOCHNAGAR2_GPIO_PSIA1_LRCLK 0 x005E
#define LOCHNAGAR2_GPIO_PSIA1_TXDAT 0 x005F
#define LOCHNAGAR2_GPIO_PSIA2_BCLK 0 x0060
#define LOCHNAGAR2_GPIO_PSIA2_RXDAT 0 x0061
#define LOCHNAGAR2_GPIO_PSIA2_LRCLK 0 x0062
#define LOCHNAGAR2_GPIO_PSIA2_TXDAT 0 x0063
#define LOCHNAGAR2_GPIO_GF_AIF3_BCLK 0 x0064
#define LOCHNAGAR2_GPIO_GF_AIF3_RXDAT 0 x0065
#define LOCHNAGAR2_GPIO_GF_AIF3_LRCLK 0 x0066
#define LOCHNAGAR2_GPIO_GF_AIF3_TXDAT 0 x0067
#define LOCHNAGAR2_GPIO_GF_AIF4_BCLK 0 x0068
#define LOCHNAGAR2_GPIO_GF_AIF4_RXDAT 0 x0069
#define LOCHNAGAR2_GPIO_GF_AIF4_LRCLK 0 x006A
#define LOCHNAGAR2_GPIO_GF_AIF4_TXDAT 0 x006B
#define LOCHNAGAR2_GPIO_GF_AIF1_BCLK 0 x006C
#define LOCHNAGAR2_GPIO_GF_AIF1_RXDAT 0 x006D
#define LOCHNAGAR2_GPIO_GF_AIF1_LRCLK 0 x006E
#define LOCHNAGAR2_GPIO_GF_AIF1_TXDAT 0 x006F
#define LOCHNAGAR2_GPIO_GF_AIF2_BCLK 0 x0070
#define LOCHNAGAR2_GPIO_GF_AIF2_RXDAT 0 x0071
#define LOCHNAGAR2_GPIO_GF_AIF2_LRCLK 0 x0072
#define LOCHNAGAR2_GPIO_GF_AIF2_TXDAT 0 x0073
#define LOCHNAGAR2_GPIO_DSP_UART1_RX 0 x0074
#define LOCHNAGAR2_GPIO_DSP_UART1_TX 0 x0075
#define LOCHNAGAR2_GPIO_DSP_UART2_RX 0 x0076
#define LOCHNAGAR2_GPIO_DSP_UART2_TX 0 x0077
#define LOCHNAGAR2_GPIO_GF_UART2_RX 0 x0078
#define LOCHNAGAR2_GPIO_GF_UART2_TX 0 x0079
#define LOCHNAGAR2_GPIO_USB_UART_RX 0 x007A
#define LOCHNAGAR2_GPIO_CDC_PDMCLK1 0 x007C
#define LOCHNAGAR2_GPIO_CDC_PDMDAT1 0 x007D
#define LOCHNAGAR2_GPIO_CDC_PDMCLK2 0 x007E
#define LOCHNAGAR2_GPIO_CDC_PDMDAT2 0 x007F
#define LOCHNAGAR2_GPIO_CDC_DMICCLK1 0 x0080
#define LOCHNAGAR2_GPIO_CDC_DMICDAT1 0 x0081
#define LOCHNAGAR2_GPIO_CDC_DMICCLK2 0 x0082
#define LOCHNAGAR2_GPIO_CDC_DMICDAT2 0 x0083
#define LOCHNAGAR2_GPIO_CDC_DMICCLK3 0 x0084
#define LOCHNAGAR2_GPIO_CDC_DMICDAT3 0 x0085
#define LOCHNAGAR2_GPIO_CDC_DMICCLK4 0 x0086
#define LOCHNAGAR2_GPIO_CDC_DMICDAT4 0 x0087
#define LOCHNAGAR2_GPIO_DSP_DMICCLK1 0 x0088
#define LOCHNAGAR2_GPIO_DSP_DMICDAT1 0 x0089
#define LOCHNAGAR2_GPIO_DSP_DMICCLK2 0 x008A
#define LOCHNAGAR2_GPIO_DSP_DMICDAT2 0 x008B
#define LOCHNAGAR2_GPIO_I2C2_SCL 0 x008C
#define LOCHNAGAR2_GPIO_I2C2_SDA 0 x008D
#define LOCHNAGAR2_GPIO_I2C3_SCL 0 x008E
#define LOCHNAGAR2_GPIO_I2C3_SDA 0 x008F
#define LOCHNAGAR2_GPIO_I2C4_SCL 0 x0090
#define LOCHNAGAR2_GPIO_I2C4_SDA 0 x0091
#define LOCHNAGAR2_GPIO_DSP_STANDBY 0 x0092
#define LOCHNAGAR2_GPIO_CDC_MCLK1 0 x0093
#define LOCHNAGAR2_GPIO_CDC_MCLK2 0 x0094
#define LOCHNAGAR2_GPIO_DSP_CLKIN 0 x0095
#define LOCHNAGAR2_GPIO_PSIA1_MCLK 0 x0096
#define LOCHNAGAR2_GPIO_PSIA2_MCLK 0 x0097
#define LOCHNAGAR2_GPIO_GF_GPIO1 0 x0098
#define LOCHNAGAR2_GPIO_GF_GPIO5 0 x0099
#define LOCHNAGAR2_GPIO_DSP_GPIO20 0 x009A
#define LOCHNAGAR2_GPIO_CHANNEL1 0 x00B9
#define LOCHNAGAR2_GPIO_CHANNEL2 0 x00BA
#define LOCHNAGAR2_GPIO_CHANNEL3 0 x00BB
#define LOCHNAGAR2_GPIO_CHANNEL4 0 x00BC
#define LOCHNAGAR2_GPIO_CHANNEL5 0 x00BD
#define LOCHNAGAR2_GPIO_CHANNEL6 0 x00BE
#define LOCHNAGAR2_GPIO_CHANNEL7 0 x00BF
#define LOCHNAGAR2_GPIO_CHANNEL8 0 x00C0
#define LOCHNAGAR2_GPIO_CHANNEL9 0 x00C1
#define LOCHNAGAR2_GPIO_CHANNEL10 0 x00C2
#define LOCHNAGAR2_GPIO_CHANNEL11 0 x00C3
#define LOCHNAGAR2_GPIO_CHANNEL12 0 x00C4
#define LOCHNAGAR2_GPIO_CHANNEL13 0 x00C5
#define LOCHNAGAR2_GPIO_CHANNEL14 0 x00C6
#define LOCHNAGAR2_GPIO_CHANNEL15 0 x00C7
#define LOCHNAGAR2_GPIO_CHANNEL16 0 x00C8
#define LOCHNAGAR2_MINICARD_RESETS 0 x00DF
#define LOCHNAGAR2_ANALOGUE_PATH_CTRL1 0 x00E3
#define LOCHNAGAR2_ANALOGUE_PATH_CTRL2 0 x00E4
#define LOCHNAGAR2_COMMS_CTRL4 0 x00F0
#define LOCHNAGAR2_SPDIF_CTRL 0 x00FE
#define LOCHNAGAR2_IMON_CTRL1 0 x0108
#define LOCHNAGAR2_IMON_CTRL2 0 x0109
#define LOCHNAGAR2_IMON_CTRL3 0 x010A
#define LOCHNAGAR2_IMON_CTRL4 0 x010B
#define LOCHNAGAR2_IMON_DATA1 0 x010C
#define LOCHNAGAR2_IMON_DATA2 0 x010D
#define LOCHNAGAR2_POWER_CTRL 0 x0116
#define LOCHNAGAR2_MICVDD_CTRL1 0 x0119
#define LOCHNAGAR2_MICVDD_CTRL2 0 x011B
#define LOCHNAGAR2_VDDCORE_CDC_CTRL1 0 x011E
#define LOCHNAGAR2_VDDCORE_CDC_CTRL2 0 x0120
#define LOCHNAGAR2_SOUNDCARD_AIF_CTRL 0 x0180
/* (0x000D-0x001B, 0x0180) CDC_AIF1_CTRL - SOUNCARD_AIF_CTRL */
#define LOCHNAGAR2_AIF_ENA_MASK 0 x8000
#define LOCHNAGAR2_AIF_ENA_SHIFT 15
#define LOCHNAGAR2_AIF_LRCLK_DIR_MASK 0 x4000
#define LOCHNAGAR2_AIF_LRCLK_DIR_SHIFT 14
#define LOCHNAGAR2_AIF_BCLK_DIR_MASK 0 x2000
#define LOCHNAGAR2_AIF_BCLK_DIR_SHIFT 13
#define LOCHNAGAR2_AIF_SRC_MASK 0 x00FF
#define LOCHNAGAR2_AIF_SRC_SHIFT 0
/* (0x001E - 0x0027) CDC_MCLK1_CTRL - SOUNDCARD_MCLK_CTRL */
#define LOCHNAGAR2_CLK_ENA_MASK 0 x8000
#define LOCHNAGAR2_CLK_ENA_SHIFT 15
#define LOCHNAGAR2_CLK_SRC_MASK 0 x00FF
#define LOCHNAGAR2_CLK_SRC_SHIFT 0
/* (0x0031 - 0x009A) GPIO_FPGA_GPIO1 - GPIO_DSP_GPIO20 */
#define LOCHNAGAR2_GPIO_SRC_MASK 0 x00FF
#define LOCHNAGAR2_GPIO_SRC_SHIFT 0
/* (0x00B9 - 0x00C8) GPIO_CHANNEL1 - GPIO_CHANNEL16 */
#define LOCHNAGAR2_GPIO_CHANNEL_STS_MASK 0 x8000
#define LOCHNAGAR2_GPIO_CHANNEL_STS_SHIFT 15
#define LOCHNAGAR2_GPIO_CHANNEL_SRC_MASK 0 x00FF
#define LOCHNAGAR2_GPIO_CHANNEL_SRC_SHIFT 0
/* (0x00DF) MINICARD_RESETS */
#define LOCHNAGAR2_DSP_RESET_MASK 0 x0002
#define LOCHNAGAR2_DSP_RESET_SHIFT 1
#define LOCHNAGAR2_CDC_RESET_MASK 0 x0001
#define LOCHNAGAR2_CDC_RESET_SHIFT 0
/* (0x00E3) ANALOGUE_PATH_CTRL1 */
#define LOCHNAGAR2_ANALOGUE_PATH_UPDATE_MASK 0 x8000
#define LOCHNAGAR2_ANALOGUE_PATH_UPDATE_SHIFT 15
#define LOCHNAGAR2_ANALOGUE_PATH_UPDATE_STS_MASK 0 x4000
#define LOCHNAGAR2_ANALOGUE_PATH_UPDATE_STS_SHIFT 14
/* (0x00E4) ANALOGUE_PATH_CTRL2 */
#define LOCHNAGAR2_P2_INPUT_BIAS_ENA_MASK 0 x0080
#define LOCHNAGAR2_P2_INPUT_BIAS_ENA_SHIFT 7
#define LOCHNAGAR2_P1_INPUT_BIAS_ENA_MASK 0 x0040
#define LOCHNAGAR2_P1_INPUT_BIAS_ENA_SHIFT 6
#define LOCHNAGAR2_P2_MICBIAS_SRC_MASK 0 x0038
#define LOCHNAGAR2_P2_MICBIAS_SRC_SHIFT 3
#define LOCHNAGAR2_P1_MICBIAS_SRC_MASK 0 x0007
#define LOCHNAGAR2_P1_MICBIAS_SRC_SHIFT 0
/* (0x00F0) COMMS_CTRL4 */
#define LOCHNAGAR2_CDC_CIF1MODE_MASK 0 x0001
#define LOCHNAGAR2_CDC_CIF1MODE_SHIFT 0
/* (0x00FE) SPDIF_CTRL */
#define LOCHNAGAR2_SPDIF_HWMODE_MASK 0 x0008
#define LOCHNAGAR2_SPDIF_HWMODE_SHIFT 3
#define LOCHNAGAR2_SPDIF_RESET_MASK 0 x0001
#define LOCHNAGAR2_SPDIF_RESET_SHIFT 0
/* (0x0108) IMON_CTRL1 */
#define LOCHNAGAR2_IMON_ENA_MASK 0 x8000
#define LOCHNAGAR2_IMON_ENA_SHIFT 15
#define LOCHNAGAR2_IMON_MEASURED_CHANNELS_MASK 0 x03FC
#define LOCHNAGAR2_IMON_MEASURED_CHANNELS_SHIFT 2
#define LOCHNAGAR2_IMON_MODE_SEL_MASK 0 x0003
#define LOCHNAGAR2_IMON_MODE_SEL_SHIFT 0
/* (0x0109) IMON_CTRL2 */
#define LOCHNAGAR2_IMON_FSR_MASK 0 x03FF
#define LOCHNAGAR2_IMON_FSR_SHIFT 0
/* (0x010A) IMON_CTRL3 */
#define LOCHNAGAR2_IMON_DONE_MASK 0 x0004
#define LOCHNAGAR2_IMON_DONE_SHIFT 2
#define LOCHNAGAR2_IMON_CONFIGURE_MASK 0 x0002
#define LOCHNAGAR2_IMON_CONFIGURE_SHIFT 1
#define LOCHNAGAR2_IMON_MEASURE_MASK 0 x0001
#define LOCHNAGAR2_IMON_MEASURE_SHIFT 0
/* (0x010B) IMON_CTRL4 */
#define LOCHNAGAR2_IMON_DATA_REQ_MASK 0 x0080
#define LOCHNAGAR2_IMON_DATA_REQ_SHIFT 7
#define LOCHNAGAR2_IMON_CH_SEL_MASK 0 x0070
#define LOCHNAGAR2_IMON_CH_SEL_SHIFT 4
#define LOCHNAGAR2_IMON_DATA_RDY_MASK 0 x0008
#define LOCHNAGAR2_IMON_DATA_RDY_SHIFT 3
#define LOCHNAGAR2_IMON_CH_SRC_MASK 0 x0007
#define LOCHNAGAR2_IMON_CH_SRC_SHIFT 0
/* (0x010C, 0x010D) IMON_DATA1, IMON_DATA2 */
#define LOCHNAGAR2_IMON_DATA_MASK 0 xFFFF
#define LOCHNAGAR2_IMON_DATA_SHIFT 0
/* (0x0116) POWER_CTRL */
#define LOCHNAGAR2_PWR_ENA_MASK 0 x0001
#define LOCHNAGAR2_PWR_ENA_SHIFT 0
/* (0x0119) MICVDD_CTRL1 */
#define LOCHNAGAR2_MICVDD_REG_ENA_MASK 0 x8000
#define LOCHNAGAR2_MICVDD_REG_ENA_SHIFT 15
/* (0x011B) MICVDD_CTRL2 */
#define LOCHNAGAR2_MICVDD_VSEL_MASK 0 x001F
#define LOCHNAGAR2_MICVDD_VSEL_SHIFT 0
/* (0x011E) VDDCORE_CDC_CTRL1 */
#define LOCHNAGAR2_VDDCORE_CDC_REG_ENA_MASK 0 x8000
#define LOCHNAGAR2_VDDCORE_CDC_REG_ENA_SHIFT 15
/* (0x0120) VDDCORE_CDC_CTRL2 */
#define LOCHNAGAR2_VDDCORE_CDC_VSEL_MASK 0 x007F
#define LOCHNAGAR2_VDDCORE_CDC_VSEL_SHIFT 0
#endif
Messung V0.5 in Prozent C=75 H=100 G=88
¤ Dauer der Verarbeitung: 0.12 Sekunden
(vorverarbeitet am 2026-06-07)
¤
*© Formatika GbR, Deutschland