1329 lines
36 KiB
C
Executable File
1329 lines
36 KiB
C
Executable File
/*
|
|
* Copyright (c) Hunan Goke,Chengdu Goke,Shandong Goke. 2021. All rights reserved.
|
|
*/
|
|
|
|
#ifndef __AIAO_REG_H__
|
|
#define __AIAO_REG_H__
|
|
|
|
|
|
#include <asm/io.h>
|
|
//******************************************************************************
|
|
|
|
|
|
#define BUFFER_ADDR_ALIGN 128
|
|
#define BUFFER_ADDR_SIZE_BASE 128
|
|
|
|
/******************************************************************************/
|
|
/* AIO REG DEFINE */
|
|
/******************************************************************************/
|
|
|
|
#define AIAO_MAX_REG_SIZE (64*1024)
|
|
#define AIAO_REG_BASE (0x100e0000)
|
|
//#define MISC_REG_BASE (0x12030000)//(0x20120000)
|
|
|
|
#define AIAO_INT_ENA_REG (0x0)
|
|
#define AIAO_INT_STATUS_REG (0x4)
|
|
#define AIAO_INT_RAW_REG (0x8)
|
|
|
|
#define AIAO_I2S00_REG_CFG0 (0x0100)
|
|
#define AIAO_I2S00_REG_CFG1 (0x0104)
|
|
#define AIAO_I2S08_REG_CFG0 (0x0140)
|
|
#define AIAO_I2S08_REG_CFG1 (0x0144)
|
|
#define AIAO_I2S09_REG_CFG0 (0x0148)
|
|
#define AIAO_I2S09_REG_CFG1 (0x014c)
|
|
|
|
#define AIP_I2S_REG_CFG0(n) (0x0100+8*n)
|
|
#define AIP_I2S_REG_CFG1(n) (0x0104+8*n)
|
|
#define AOP_I2S_REG_CFG0(n) (0x0140+8*n)
|
|
#define AOP_I2S_REG_CFG1(n) (0x0144+8*n)
|
|
|
|
#define AIP_SWITCH_RX_BCLK (0x0028)
|
|
#define AOP_SWITCH_TX_BCLK (0x002c)
|
|
#define AIO_SOFT_RESET_STATUS (0x0030)
|
|
|
|
/* n = 0*/
|
|
#define AIP_INF_ATTRI_REG(n) (0x1000+0x100*n)
|
|
#define AIP_CTRL_REG(n) (0x1004+0x100*n)
|
|
#define AIP_BUFF_SADDR_REG(n) (0x1080+0x100*n)
|
|
#define AIP_BUFF_SIZE_REG(n) (0x1084+0x100*n)
|
|
#define AIP_BUFF_WPTR_REG(n) (0x1088+0x100*n)
|
|
#define AIP_BUFF_RPTR_REG(n) (0x108c+0x100*n)
|
|
#define AIP_BUFF_ALFULL_TH_REG(n) (0x1090+0x100*n)
|
|
#define AIP_TRANS_SIZE_REG(n) (0x1094+0x100*n)
|
|
#define AIP_WPTR_TMP_REG(n) (0x1098+0x100*n)
|
|
|
|
#define AIP_INT_ENA_REG(n) (0x10A0+0x100*n)
|
|
#define AIP_INT_RAW_REG(n) (0x10A4+0x100*n)
|
|
#define AIP_INT_STATUS_REG(n) (0x10A8+0x100*n)
|
|
#define AIP_INT_CLR_REG(n) (0x10AC+0x100*n)
|
|
|
|
#define AOP_INF_ATTRI_REG(m) (0x2000+0x100*m)
|
|
#define AOP_CTRL_REG(m) (0x2004+0x100*m)
|
|
|
|
#define AOP_BUFF_SADDR_REG(m) (0x2080+0x100*m)
|
|
#define AOP_BUFF_SIZE_REG(m) (0x2084+0x100*m)
|
|
#define AOP_BUFF_WPTR_REG(m) (0x2088+0x100*m)
|
|
#define AOP_BUFF_RPTR_REG(m) (0x208C+0x100*m)
|
|
#define AOP_BUFF_ALEMPTY_TH_REG(m)(0x2090+0x100*m)
|
|
#define AOP_TRANS_SIZE_REG(m) (0x2094+0x100*m)
|
|
#define AOP_RPTR_TMP_REG(m) (0x2098+0x100*m)
|
|
|
|
|
|
#define AOP_INT_ENA_REG(m) (0x20A0+0x100*m)
|
|
#define AOP_INT_RAW_REG(m) (0x20A4+0x100*m)
|
|
#define AOP_INT_STATUS_REG(m) (0x20A8+0x100*m)
|
|
#define AOP_INT_CLR_REG(m) (0x20AC+0x100*m)
|
|
|
|
#define AIO_BUS_WRITE_REQUEST 0xFF00
|
|
#define AIO_BUS_READ_REQUEST 0xFF04
|
|
#define AIO_BUS_READ_DATA 0xFF08
|
|
#define AIO_BUS_WRITE_DATA 0xFF0C
|
|
#define AIO_BUS_BVALID 0xFF10
|
|
|
|
/******************************************************************************/
|
|
/* AIO register bit field define */
|
|
/******************************************************************************/
|
|
|
|
|
|
|
|
|
|
/************************************************************************/
|
|
#define AIAO_SPDIF_SUPPORT
|
|
#define AIAO_TX_DSP_SUPPORT
|
|
|
|
/***************************** Macro Definition ******************************/
|
|
|
|
// Define the union U_AIAO_SYS_CRG
|
|
typedef union
|
|
{
|
|
// Define the struct bits
|
|
struct
|
|
{
|
|
unsigned int aiao_cken : 1; // [0]
|
|
unsigned int Reserved_0 : 3; // [3..1]
|
|
unsigned int aiao_srst_req : 1; // [4]
|
|
unsigned int Reserved_1 : 3; // [7..5]
|
|
unsigned int aiao_clk_sel : 1; // [8]
|
|
unsigned int Reserved_2 : 3; // [11..9]
|
|
unsigned int aiaoclk_skipcfg : 5; // [16..12]
|
|
unsigned int aiaoclk_loaden : 1; // [17]
|
|
unsigned int Reserved_3 : 14;// [31..18]
|
|
} bits;
|
|
|
|
// Define an unsigned member
|
|
unsigned int u32;
|
|
} U_S40_AIAO_SYS_CRG;
|
|
|
|
// Define the union U_AIAO_INT_ENA
|
|
typedef union
|
|
{
|
|
// Define the struct bits
|
|
struct
|
|
{
|
|
unsigned int rx_ch0_int_ena : 1; // [0]
|
|
unsigned int rx_ch1_int_ena : 1; // [1]
|
|
unsigned int rx_ch2_int_ena : 1; // [2]
|
|
unsigned int rx_ch3_int_ena : 1; // [3]
|
|
unsigned int rx_ch4_int_ena : 1; // [4]
|
|
unsigned int rx_ch5_int_ena : 1; // [5]
|
|
unsigned int rx_ch6_int_ena : 1; // [6]
|
|
unsigned int rx_ch7_int_ena : 1; // [7]
|
|
unsigned int Reserved_1 : 8; // [15..8]
|
|
unsigned int tx_ch0_int_ena : 1; // [16]
|
|
unsigned int tx_ch1_int_ena : 1; // [17]
|
|
unsigned int tx_ch2_int_ena : 1; // [18]
|
|
unsigned int tx_ch3_int_ena : 1; // [19]
|
|
unsigned int tx_ch4_int_ena : 1; // [20]
|
|
unsigned int tx_ch5_int_ena : 1; // [21]
|
|
unsigned int tx_ch6_int_ena : 1; // [22]
|
|
unsigned int tx_ch7_int_ena : 1; // [23]
|
|
unsigned int spdiftx_ch0_int_ena : 1; // [24]
|
|
unsigned int spdiftx_ch1_int_ena : 1; // [25]
|
|
unsigned int spdiftx_ch2_int_ena : 1; // [26]
|
|
unsigned int spdiftx_ch3_int_ena : 1; // [27]
|
|
unsigned int Reserved_0 : 4; // [31..28]
|
|
} bits;
|
|
|
|
// Define an unsigned member
|
|
unsigned int u32;
|
|
} U_AIAO_INT_ENA;
|
|
|
|
// Define the union U_AIAO_INT_STATUS
|
|
typedef union
|
|
{
|
|
// Define the struct bits
|
|
struct
|
|
{
|
|
unsigned int rx_ch0_int_status : 1; // [0]
|
|
unsigned int rx_ch1_int_status : 1; // [1]
|
|
unsigned int rx_ch2_int_status : 1; // [2]
|
|
unsigned int rx_ch3_int_status : 1; // [3]
|
|
unsigned int rx_ch4_int_status : 1; // [4]
|
|
unsigned int rx_ch5_int_status : 1; // [5]
|
|
unsigned int rx_ch6_int_status : 1; // [6]
|
|
unsigned int rx_ch7_int_status : 1; // [7]
|
|
unsigned int Reserved_1 : 8; // [15..8]
|
|
unsigned int tx_ch0_int_status : 1; // [16]
|
|
unsigned int tx_ch1_int_status : 1; // [17]
|
|
unsigned int tx_ch2_int_status : 1; // [18]
|
|
unsigned int tx_ch3_int_status : 1; // [19]
|
|
unsigned int tx_ch4_int_status : 1; // [20]
|
|
unsigned int tx_ch5_int_status : 1; // [21]
|
|
unsigned int tx_ch6_int_status : 1; // [22]
|
|
unsigned int tx_ch7_int_status : 1; // [23]
|
|
unsigned int spdiftx_ch0_int_status : 1; // [24]
|
|
unsigned int spdiftx_ch1_int_status : 1; // [25]
|
|
unsigned int spdiftx_ch2_int_status : 1; // [26]
|
|
unsigned int spdiftx_ch3_int_status : 1; // [27]
|
|
unsigned int Reserved_0 : 4; // [31..28]
|
|
} bits;
|
|
|
|
// Define an unsigned member
|
|
unsigned int u32;
|
|
} U_AIAO_INT_STATUS;
|
|
|
|
// Define the union U_AIAO_INT_RAW
|
|
typedef union
|
|
{
|
|
// Define the struct bits
|
|
struct
|
|
{
|
|
unsigned int rx_ch0_int_raw : 1; // [0]
|
|
unsigned int rx_ch1_int_raw : 1; // [1]
|
|
unsigned int rx_ch2_int_raw : 1; // [2]
|
|
unsigned int rx_ch3_int_raw : 1; // [3]
|
|
unsigned int rx_ch4_int_raw : 1; // [4]
|
|
unsigned int rx_ch5_int_raw : 1; // [5]
|
|
unsigned int rx_ch6_int_raw : 1; // [6]
|
|
unsigned int rx_ch7_int_raw : 1; // [7]
|
|
unsigned int Reserved_1 : 8; // [15..8]
|
|
unsigned int tx_ch0_int_raw : 1; // [16]
|
|
unsigned int tx_ch1_int_raw : 1; // [17]
|
|
unsigned int tx_ch2_int_raw : 1; // [18]
|
|
unsigned int tx_ch3_int_raw : 1; // [19]
|
|
unsigned int tx_ch4_int_raw : 1; // [20]
|
|
unsigned int tx_ch5_int_raw : 1; // [21]
|
|
unsigned int tx_ch6_int_raw : 1; // [22]
|
|
unsigned int tx_ch7_int_raw : 1; // [23]
|
|
unsigned int spdiftx_ch0_int_raw : 1; // [24]
|
|
unsigned int spdiftx_ch1_int_raw : 1; // [25]
|
|
unsigned int spdiftx_ch2_int_raw : 1; // [26]
|
|
unsigned int spdiftx_ch3_int_raw : 1; // [27]
|
|
unsigned int Reserved_0 : 4; // [31..28]
|
|
} bits;
|
|
|
|
// Define an unsigned member
|
|
unsigned int u32;
|
|
} U_AIAO_INT_RAW;
|
|
|
|
// Define the union U_HW_CAPABILITY
|
|
typedef union
|
|
{
|
|
// Define the struct bits
|
|
struct
|
|
{
|
|
unsigned int rx_ch0_cap : 1; // [0]
|
|
unsigned int rx_ch1_cap : 1; // [1]
|
|
unsigned int rx_ch2_cap : 1; // [2]
|
|
unsigned int rx_ch3_cap : 1; // [3]
|
|
unsigned int rx_ch4_cap : 1; // [4]
|
|
unsigned int rx_ch5_cap : 1; // [5]
|
|
unsigned int rx_ch6_cap : 1; // [6]
|
|
unsigned int rx_ch7_cap : 1; // [7]
|
|
unsigned int Reserved_1 : 8; // [15..8]
|
|
unsigned int tx_ch0_cap : 1; // [16]
|
|
unsigned int tx_ch1_cap : 1; // [17]
|
|
unsigned int tx_ch2_cap : 1; // [18]
|
|
unsigned int tx_ch3_cap : 1; // [19]
|
|
unsigned int tx_ch4_cap : 1; // [20]
|
|
unsigned int tx_ch5_cap : 1; // [21]
|
|
unsigned int tx_ch6_cap : 1; // [22]
|
|
unsigned int tx_ch7_cap : 1; // [23]
|
|
unsigned int spdiftx_ch0_cap : 1; // [24]
|
|
unsigned int spdiftx_ch1_cap : 1; // [25]
|
|
unsigned int spdiftx_ch2_cap : 1; // [26]
|
|
unsigned int spdiftx_ch3_cap : 1; // [27]
|
|
unsigned int Reserved_0 : 4; // [31..28]
|
|
} bits;
|
|
|
|
// Define an unsigned member
|
|
unsigned int u32;
|
|
} U_HW_CAPABILITY;
|
|
|
|
// Define the union U_SPDIF_TX_MUX
|
|
typedef union
|
|
{
|
|
// Define the struct bits
|
|
struct
|
|
{
|
|
unsigned int spdif_tx_0_port_sel : 3; // [2..0]
|
|
unsigned int spdif_tx_0_port_en : 1; // [3]
|
|
unsigned int Reserved_3 : 4; // [7..4]
|
|
unsigned int spdif_tx_1_port_sel : 3; // [10..8]
|
|
unsigned int spdif_tx_1_port_en : 1; // [11]
|
|
unsigned int Reserved_2 : 4; // [15..12]
|
|
unsigned int spdif_tx_2_port_sel : 3; // [18..16]
|
|
unsigned int spdif_tx_2_port_en : 1; // [19]
|
|
unsigned int Reserved_1 : 4; // [23..20]
|
|
unsigned int spdif_tx_3_port_sel : 3; // [26..24]
|
|
unsigned int spdif_tx_3_port_en : 1; // [27]
|
|
unsigned int Reserved_0 : 4; // [31..28]
|
|
} bits;
|
|
|
|
// Define an unsigned member
|
|
unsigned int u32;
|
|
} U_SPDIF_TX_MUX;
|
|
|
|
// Define the union U_I2S_CRG_CFG0
|
|
typedef union
|
|
{
|
|
// Define the struct bits
|
|
struct
|
|
{
|
|
unsigned int aiao_mclk_div : 27; // [26..0]
|
|
unsigned int Reserved_0 : 5; // [31..27]
|
|
} bits;
|
|
|
|
// Define an unsigned member
|
|
unsigned int u32;
|
|
} U_I2S_CRG_CFG0;
|
|
|
|
// Define the union U_I2S_CRG_CFG1
|
|
typedef union
|
|
{
|
|
// Define the struct bits
|
|
struct
|
|
{
|
|
unsigned int aiao_bclk_div : 4; // [3..0]
|
|
unsigned int aiao_fsclk_div : 3; // [6..4]
|
|
unsigned int Reserved_1 : 1; // [7]
|
|
unsigned int aiao_cken : 1; // [8]
|
|
unsigned int aiao_srst_req : 1; // [9]
|
|
unsigned int aiao_bclk_oen : 1; // [10]
|
|
unsigned int aiao_bclk_sel : 1; // [11]
|
|
unsigned int aiao_bclkin_pctrl : 1; // [12]
|
|
unsigned int aiao_bclkout_pctrl : 1; // [13]
|
|
unsigned int aiao_bclk_en : 1; // [14]
|
|
unsigned int aiao_ws_en : 1; // [15]
|
|
unsigned int Reserved_0 : 16; // [31..16]
|
|
} bits;
|
|
|
|
// Define an unsigned member
|
|
unsigned int u32;
|
|
} U_I2S_CRG_CFG1;
|
|
|
|
|
|
// Define the union U_SPDIF_CRG_CFG0
|
|
typedef union
|
|
{
|
|
// Define the struct bits
|
|
struct
|
|
{
|
|
unsigned int aiao_mclk_div_spdif : 27; // [26..0]
|
|
unsigned int Reserved_0 : 5; // [31..27]
|
|
} bits;
|
|
|
|
// Define an unsigned member
|
|
unsigned int u32;
|
|
} U_SPDIF_CRG_CFG0;
|
|
|
|
// Define the union U_SPDIF_CRG_CFG1_03
|
|
typedef union
|
|
{
|
|
// Define the struct bits
|
|
struct
|
|
{
|
|
unsigned int aiao_bclk_div_spdif : 4; // [3..0]
|
|
unsigned int aiao_fsclk_div_spdif : 3; // [6..4]
|
|
unsigned int Reserved_1 : 1; // [7]
|
|
unsigned int aiao_cken_spdif : 1; // [8]
|
|
unsigned int aiao_srst_req_spdif : 1; // [9]
|
|
unsigned int Reserved_0 : 22; // [31..10]
|
|
} bits;
|
|
|
|
// Define an unsigned member
|
|
unsigned int u32;
|
|
} U_SPDIF_CRG_CFG1;
|
|
|
|
// Define the union U_AIAO_RXSWITCH_CFG
|
|
typedef union
|
|
{
|
|
// Define the struct bits
|
|
struct
|
|
{
|
|
unsigned int inner_bclk_ws_sel_rx_00 : 4; // [3..0]
|
|
unsigned int inner_bclk_ws_sel_rx_01 : 4; // [7..4]
|
|
unsigned int inner_bclk_ws_sel_rx_02 : 4; // [11..8]
|
|
unsigned int inner_bclk_ws_sel_rx_03 : 4; // [15..12]
|
|
unsigned int inner_bclk_ws_sel_rx_04 : 4; // [19..16]
|
|
unsigned int inner_bclk_ws_sel_rx_05 : 4; // [23..20]
|
|
unsigned int inner_bclk_ws_sel_rx_06 : 4; // [27..24]
|
|
unsigned int inner_bclk_ws_sel_rx_07 : 4; // [31..28]
|
|
} bits;
|
|
|
|
// Define an unsigned member
|
|
unsigned int u32;
|
|
} U_AIAO_SWITCH_RX_BCLK;
|
|
|
|
// Define the union U_AIAO_TXSWITCH_CFG
|
|
typedef union
|
|
{
|
|
// Define the struct bits
|
|
struct
|
|
{
|
|
unsigned int inner_bclk_ws_sel_tx_00 : 4; // [3..0]
|
|
unsigned int inner_bclk_ws_sel_tx_01 : 4; // [7..4]
|
|
unsigned int inner_bclk_ws_sel_tx_02 : 4; // [11..8]
|
|
unsigned int inner_bclk_ws_sel_tx_03 : 4; // [15..12]
|
|
unsigned int inner_bclk_ws_sel_tx_04 : 4; // [19..16]
|
|
unsigned int inner_bclk_ws_sel_tx_05 : 4; // [23..20]
|
|
unsigned int inner_bclk_ws_sel_tx_06 : 4; // [27..24]
|
|
unsigned int inner_bclk_ws_sel_tx_07 : 4; // [31..28]
|
|
} bits;
|
|
|
|
// Define an unsigned member
|
|
unsigned int u32;
|
|
} U_AIAO_SWITCH_TX_BCLK;
|
|
|
|
// Define the union U_RX_IF_ATTRI
|
|
typedef union
|
|
{
|
|
// Define the struct bits
|
|
struct
|
|
{
|
|
unsigned int rx_mode : 2; // [1..0]
|
|
unsigned int rx_i2s_precision : 2; // [3..2]
|
|
unsigned int rx_ch_num : 2; // [5..4]
|
|
unsigned int Reserved_1 : 1; // [6]
|
|
unsigned int rx_multislot_en : 1; // [7]
|
|
unsigned int rx_sd_offset : 8; // [15..8]
|
|
unsigned int rx_trackmode : 3; // [18..16]
|
|
unsigned int Reserved_0 : 1; // [19]
|
|
unsigned int rx_sd_source_sel : 4; // [23..20]
|
|
unsigned int rx_sd0_sel : 2; // [25..24]
|
|
unsigned int rx_sd1_sel : 2; // [27..26]
|
|
unsigned int rx_sd2_sel : 2; // [29..28]
|
|
unsigned int rx_sd3_sel : 2; // [31..30]
|
|
} bits;
|
|
|
|
// Define an unsigned member
|
|
unsigned int u32;
|
|
} U_RX_IF_ATTRI;
|
|
|
|
// Define the union U_RX_DSP_CTRL
|
|
typedef union
|
|
{
|
|
// Define the struct bits
|
|
struct
|
|
{
|
|
unsigned int mute_en : 1; // [0]
|
|
unsigned int mute_fade_en : 1; // [1]
|
|
unsigned int pause_en : 1; // [2]
|
|
unsigned int pause_fade_en : 1; // [3]
|
|
unsigned int Reserved_3 : 4; // [7..4]
|
|
unsigned int volume : 7; // [14..8]
|
|
unsigned int Reserved_2 : 1; // [15]
|
|
unsigned int fade_in_rate : 4; // [19..16]
|
|
unsigned int fade_out_rate : 4; // [23..20]
|
|
unsigned int Reserved_1 : 3; // [26..24]
|
|
unsigned int bypass_en : 1; // [27]
|
|
unsigned int rx_enable : 1; // [28]
|
|
unsigned int rx_disable_done : 1; // [29]
|
|
unsigned int Reserved_0 : 2; // [31..30]
|
|
} bits;
|
|
|
|
// Define an unsigned member
|
|
unsigned int u32;
|
|
} U_RX_DSP_CTRL;
|
|
|
|
// Define the union U_RX_WS_CNT
|
|
typedef union
|
|
{
|
|
// Define the struct bits
|
|
struct
|
|
{
|
|
unsigned int ws_count : 24; // [23..0]
|
|
unsigned int Reserved_0 : 8; // [31..24]
|
|
} bits;
|
|
|
|
// Define an unsigned member
|
|
unsigned int u32;
|
|
} U_RX_WS_CNT;
|
|
|
|
// Define the union U_RX_BCLK_CNT
|
|
typedef union
|
|
{
|
|
// Define the struct bits
|
|
struct
|
|
{
|
|
unsigned int bclk_count : 24; // [23..0]
|
|
unsigned int Reserved_0 : 8; // [31..24]
|
|
} bits;
|
|
|
|
// Define an unsigned member
|
|
unsigned int u32;
|
|
} U_RX_BCLK_CNT;
|
|
|
|
// Define the union U_RX_BUFF_SIZE
|
|
typedef union
|
|
{
|
|
// Define the struct bits
|
|
struct
|
|
{
|
|
unsigned int rx_buff_size : 24; // [23..0]
|
|
unsigned int Reserved_0 : 8; // [31..24]
|
|
} bits;
|
|
|
|
// Define an unsigned member
|
|
unsigned int u32;
|
|
} U_RX_BUFF_SIZE;
|
|
|
|
// Define the union U_RX_BUFF_WPTR
|
|
typedef union
|
|
{
|
|
// Define the struct bits
|
|
struct
|
|
{
|
|
unsigned int rx_buff_wptr : 24; // [23..0]
|
|
unsigned int Reserved_0 : 8; // [31..24]
|
|
} bits;
|
|
|
|
// Define an unsigned member
|
|
unsigned int u32;
|
|
} U_RX_BUFF_WPTR;
|
|
|
|
// Define the union U_RX_BUFF_RPTR
|
|
typedef union
|
|
{
|
|
// Define the struct bits
|
|
struct
|
|
{
|
|
unsigned int rx_buff_rptr : 24; // [23..0]
|
|
unsigned int Reserved_0 : 8; // [31..24]
|
|
} bits;
|
|
|
|
// Define an unsigned member
|
|
unsigned int u32;
|
|
} U_RX_BUFF_RPTR;
|
|
|
|
// Define the union U_RX_BUFF_ALFULL_TH
|
|
typedef union
|
|
{
|
|
// Define the struct bits
|
|
struct
|
|
{
|
|
unsigned int rx_buff_alfull_th : 24; // [23..0]
|
|
unsigned int Reserved_0 : 8; // [31..24]
|
|
} bits;
|
|
|
|
// Define an unsigned member
|
|
unsigned int u32;
|
|
} U_RX_BUFF_ALFULL_TH;
|
|
|
|
// Define the union U_RX_TRANS_SIZE
|
|
typedef union
|
|
{
|
|
// Define the struct bits
|
|
struct
|
|
{
|
|
unsigned int rx_trans_size : 24; // [23..0]
|
|
unsigned int Reserved_0 : 8; // [31..24]
|
|
} bits;
|
|
|
|
// Define an unsigned member
|
|
unsigned int u32;
|
|
} U_RX_TRANS_SIZE;
|
|
|
|
// Define the union U_RX_WPTR_TMP
|
|
typedef union
|
|
{
|
|
// Define the struct bits
|
|
struct
|
|
{
|
|
unsigned int rx_wptr_tmp : 24; // [23..0]
|
|
unsigned int Reserved_0 : 8; // [31..24]
|
|
} bits;
|
|
|
|
// Define an unsigned member
|
|
unsigned int u32;
|
|
} U_RX_WPTR_TMP;
|
|
|
|
// Define the union U_RX_INT_ENA
|
|
typedef union
|
|
{
|
|
// Define the struct bits
|
|
struct
|
|
{
|
|
unsigned int rx_trans_int_ena : 1; // [0]
|
|
unsigned int rx_full_int_ena : 1; // [1]
|
|
unsigned int rx_alfull_int_ena : 1; // [2]
|
|
unsigned int rx_bfifo_full_int_ena : 1; // [3]
|
|
unsigned int rx_ififo_full_int_ena : 1; // [4]
|
|
unsigned int rx_stop_int_ena : 1; // [5]
|
|
unsigned int Reserved_0 : 26; // [31..6]
|
|
} bits;
|
|
|
|
// Define an unsigned member
|
|
unsigned int u32;
|
|
} U_RX_INT_ENA;
|
|
|
|
// Define the union U_RX_INT_RAW
|
|
typedef union
|
|
{
|
|
// Define the struct bits
|
|
struct
|
|
{
|
|
unsigned int rx_trans_int_raw : 1; // [0]
|
|
unsigned int rx_full_int_raw : 1; // [1]
|
|
unsigned int rx_alfull_int_raw : 1; // [2]
|
|
unsigned int rx_bfifo_full_int_raw : 1; // [3]
|
|
unsigned int rx_ififo_full_int_raw : 1; // [4]
|
|
unsigned int rx_stop_int_raw : 1; // [5]
|
|
unsigned int Reserved_0 : 26; // [31..6]
|
|
} bits;
|
|
|
|
// Define an unsigned member
|
|
unsigned int u32;
|
|
} U_RX_INT_RAW;
|
|
|
|
// Define the union U_RX_INT_STATUS
|
|
typedef union
|
|
{
|
|
// Define the struct bits
|
|
struct
|
|
{
|
|
unsigned int rx_trans_int_status : 1; // [0]
|
|
unsigned int rx_full_int_status : 1; // [1]
|
|
unsigned int rx_alfull_int_status : 1; // [2]
|
|
unsigned int rx_bfifo_full_int_status : 1; // [3]
|
|
unsigned int rx_ififo_full_int_status : 1; // [4]
|
|
unsigned int rx_stop_int_status : 1; // [5]
|
|
unsigned int Reserved_0 : 26; // [31..6]
|
|
} bits;
|
|
|
|
// Define an unsigned member
|
|
unsigned int u32;
|
|
} U_RX_INT_STATUS;
|
|
|
|
// Define the union U_RX_INT_CLR
|
|
typedef union
|
|
{
|
|
// Define the struct bits
|
|
struct
|
|
{
|
|
unsigned int rx_trans_int_clear : 1; // [0]
|
|
unsigned int rx_full_int_clear : 1; // [1]
|
|
unsigned int rx_alfull_int_clear : 1; // [2]
|
|
unsigned int rx_bfifo_full_int_clear : 1; // [3]
|
|
unsigned int rx_ififo_full_int_clear : 1; // [4]
|
|
unsigned int rx_stop_int_clear : 1; // [5]
|
|
unsigned int Reserved_0 : 26; // [31..6]
|
|
} bits;
|
|
|
|
// Define an unsigned member
|
|
unsigned int u32;
|
|
} U_RX_INT_CLR;
|
|
|
|
// Define the union U_TX_IF_ATTRI
|
|
typedef union
|
|
{
|
|
// Define the struct bits
|
|
struct
|
|
{
|
|
unsigned int tx_mode : 2; // [1..0]
|
|
unsigned int tx_i2s_precision : 2; // [3..2]
|
|
unsigned int tx_ch_num : 2; // [5..4]
|
|
unsigned int tx_underflow_ctrl : 1; // [6]
|
|
unsigned int Reserved_1 : 1; // [7]
|
|
unsigned int tx_sd_offset : 8; // [15..8]
|
|
unsigned int tx_trackmode : 3; // [18..16]
|
|
unsigned int Reserved_0 : 1; // [19]
|
|
unsigned int tx_sd_source_sel : 4; // [23..20]
|
|
unsigned int tx_sd0_sel : 2; // [25..24]
|
|
unsigned int tx_sd1_sel : 2; // [27..26]
|
|
unsigned int tx_sd2_sel : 2; // [29..28]
|
|
unsigned int tx_sd3_sel : 2; // [31..30]
|
|
} bits;
|
|
|
|
// Define an unsigned member
|
|
unsigned int u32;
|
|
} U_TX_IF_ATTRI;
|
|
|
|
// Define the union U_TX_DSP_CTRL
|
|
typedef union
|
|
{
|
|
// Define the struct bits
|
|
struct
|
|
{
|
|
unsigned int mute_en : 1 ; // [0]
|
|
unsigned int mute_fade_en : 1 ; // [1]
|
|
unsigned int Reserved_3 : 6 ; // [7..2]
|
|
unsigned int volume : 7 ; // [14..8]
|
|
unsigned int Reserved_2 : 1 ; // [15]
|
|
unsigned int fade_in_rate : 4 ; // [19..16]
|
|
unsigned int fade_out_rate : 4 ; // [23..20]
|
|
unsigned int Reserved_1 : 3 ; // [26..24]
|
|
unsigned int bypass_en : 1 ; // [27]
|
|
unsigned int tx_enable : 1 ; // [28]
|
|
unsigned int tx_disable_done : 1 ; // [29]
|
|
unsigned int Reserved_0 : 2 ; // [31..30]
|
|
} bits;
|
|
|
|
// Define an unsigned member
|
|
unsigned int u32;
|
|
} U_TX_DSP_CTRL;
|
|
|
|
// Define the union U_TX_DSP_STATUS
|
|
typedef union
|
|
{
|
|
// Define the struct bits
|
|
struct
|
|
{
|
|
unsigned int mute_fade_vol : 7 ; // [6..0]
|
|
unsigned int Reserved_0 : 25 ; // [31..7]
|
|
} bits;
|
|
|
|
// Define an unsigned member
|
|
unsigned int u32;
|
|
} U_TX_DSP_STATUS;
|
|
|
|
// Define the union U_TX_WS_CNT
|
|
typedef union
|
|
{
|
|
// Define the struct bits
|
|
struct
|
|
{
|
|
unsigned int ws_count : 24; // [23..0]
|
|
unsigned int Reserved_0 : 8; // [31..24]
|
|
} bits;
|
|
|
|
// Define an unsigned member
|
|
unsigned int u32;
|
|
} U_TX_WS_CNT;
|
|
|
|
// Define the union U_TX_BCLK_CNT
|
|
typedef union
|
|
{
|
|
// Define the struct bits
|
|
struct
|
|
{
|
|
unsigned int bclk_count : 24; // [23..0]
|
|
unsigned int Reserved_0 : 8; // [31..24]
|
|
} bits;
|
|
|
|
// Define an unsigned member
|
|
unsigned int u32;
|
|
} U_TX_BCLK_CNT;
|
|
|
|
// Define the union U_TX_BUFF_SIZE
|
|
typedef union
|
|
{
|
|
// Define the struct bits
|
|
struct
|
|
{
|
|
unsigned int tx_buff_size : 24; // [23..0]
|
|
unsigned int Reserved_0 : 8; // [31..24]
|
|
} bits;
|
|
|
|
// Define an unsigned member
|
|
unsigned int u32;
|
|
} U_TX_BUFF_SIZE;
|
|
|
|
// Define the union U_TX_BUFF_WPTR
|
|
typedef union
|
|
{
|
|
// Define the struct bits
|
|
struct
|
|
{
|
|
unsigned int tx_buff_wptr : 24; // [23..0]
|
|
unsigned int Reserved_0 : 8; // [31..24]
|
|
} bits;
|
|
|
|
// Define an unsigned member
|
|
unsigned int u32;
|
|
} U_TX_BUFF_WPTR;
|
|
|
|
// Define the union U_TX_BUFF_RPTR
|
|
typedef union
|
|
{
|
|
// Define the struct bits
|
|
struct
|
|
{
|
|
unsigned int tx_buff_rptr : 24; // [23..0]
|
|
unsigned int Reserved_0 : 8; // [31..24]
|
|
} bits;
|
|
|
|
// Define an unsigned member
|
|
unsigned int u32;
|
|
} U_TX_BUFF_RPTR;
|
|
|
|
// Define the union U_TX_BUFF_ALEMPTY_TH
|
|
typedef union
|
|
{
|
|
// Define the struct bits
|
|
struct
|
|
{
|
|
unsigned int tx_buff_alempty_th : 24; // [23..0]
|
|
unsigned int Reserved_0 : 8; // [31..24]
|
|
} bits;
|
|
|
|
// Define an unsigned member
|
|
unsigned int u32;
|
|
} U_TX_BUFF_ALEMPTY_TH;
|
|
|
|
// Define the union U_TX_TRANS_SIZE
|
|
typedef union
|
|
{
|
|
// Define the struct bits
|
|
struct
|
|
{
|
|
unsigned int tx_trans_size : 24; // [23..0]
|
|
unsigned int Reserved_0 : 8; // [31..24]
|
|
} bits;
|
|
|
|
// Define an unsigned member
|
|
unsigned int u32;
|
|
} U_TX_TRANS_SIZE;
|
|
|
|
// Define the union U_TX_RPTR_TMP
|
|
typedef union
|
|
{
|
|
// Define the struct bits
|
|
struct
|
|
{
|
|
unsigned int tx_rptr_tmp : 24; // [23..0]
|
|
unsigned int Reserved_0 : 8; // [31..24]
|
|
} bits;
|
|
|
|
// Define an unsigned member
|
|
unsigned int u32;
|
|
} U_TX_RPTR_TMP;
|
|
|
|
// Define the union U_TX_INT_ENA
|
|
typedef union
|
|
{
|
|
// Define the struct bits
|
|
struct
|
|
{
|
|
unsigned int tx_trans_int_ena : 1 ; // [0]
|
|
unsigned int tx_empty_int_ena : 1 ; // [1]
|
|
unsigned int tx_alempty_int_ena : 1 ; // [2]
|
|
unsigned int tx_bfifo_empty_int_ena : 1 ; // [3]
|
|
unsigned int tx_ififo_empty_int_ena : 1 ; // [4]
|
|
unsigned int tx_stop_int_ena : 1 ; // [5]
|
|
unsigned int tx_mfade_int_ena : 1 ; // [6]
|
|
unsigned int tx_dat_break_int_ena : 1 ; // [7]
|
|
unsigned int Reserved_0 : 24 ; // [31..8]
|
|
} bits;
|
|
|
|
// Define an unsigned member
|
|
unsigned int u32;
|
|
} U_TX_INT_ENA;
|
|
|
|
// Define the union U_TX_INT_RAW
|
|
typedef union
|
|
{
|
|
// Define the struct bits
|
|
struct
|
|
{
|
|
unsigned int tx_trans_int_raw : 1 ; // [0]
|
|
unsigned int tx_empty_int_raw : 1 ; // [1]
|
|
unsigned int tx_alempty_int_raw : 1 ; // [2]
|
|
unsigned int tx_bfifo_empty_int_raw : 1 ; // [3]
|
|
unsigned int tx_ififo_empty_int_raw : 1 ; // [4]
|
|
unsigned int tx_stop_int_raw : 1 ; // [5]
|
|
unsigned int tx_mfade_int_raw : 1 ; // [6]
|
|
unsigned int tx_dat_break_int_raw : 1 ; // [7]
|
|
unsigned int Reserved_0 : 24 ; // [31..8]
|
|
} bits;
|
|
|
|
// Define an unsigned member
|
|
unsigned int u32;
|
|
} U_TX_INT_RAW;
|
|
|
|
// Define the union U_TX_INT_STATUS
|
|
typedef union
|
|
{
|
|
// Define the struct bits
|
|
struct
|
|
{
|
|
unsigned int tx_trans_int_status : 1 ; // [0]
|
|
unsigned int tx_empty_int_status : 1 ; // [1]
|
|
unsigned int tx_alempty_int_status : 1 ; // [2]
|
|
unsigned int tx_bfifo_empty_int_status : 1 ; // [3]
|
|
unsigned int tx_ififo_empty_int_status : 1 ; // [4]
|
|
unsigned int tx_stop_int_status : 1 ; // [5]
|
|
unsigned int tx_mfade_int_status : 1 ; // [6]
|
|
unsigned int tx_dat_break_int_status : 1 ; // [7]
|
|
unsigned int Reserved_0 : 24 ; // [31..8]
|
|
} bits;
|
|
|
|
// Define an unsigned member
|
|
unsigned int u32;
|
|
} U_TX_INT_STATUS;
|
|
|
|
// Define the union U_TX_INT_CLR
|
|
typedef union
|
|
{
|
|
// Define the struct bits
|
|
struct
|
|
{
|
|
unsigned int tx_trans_int_clear : 1 ; // [0]
|
|
unsigned int tx_empty_int_clear : 1 ; // [1]
|
|
unsigned int tx_alempty_int_clear : 1 ; // [2]
|
|
unsigned int tx_bfifo_empty_int_clear : 1 ; // [3]
|
|
unsigned int tx_ififo_empty_int_clear : 1 ; // [4]
|
|
unsigned int tx_stop_int_clear : 1 ; // [5]
|
|
unsigned int tx_mfade_int_clear : 1 ; // [6]
|
|
unsigned int tx_dat_break_int_clear : 1 ; // [7]
|
|
unsigned int Reserved_0 : 24 ; // [31..8]
|
|
} bits;
|
|
|
|
// Define an unsigned member
|
|
unsigned int u32;
|
|
} U_TX_INT_CLR;
|
|
|
|
// Define the union U_SPDIFTX_IF_ATTRI
|
|
typedef union
|
|
{
|
|
// Define the struct bits
|
|
struct
|
|
{
|
|
unsigned int Reserved_2 : 2 ; // [1..0]
|
|
unsigned int tx_i2s_precision : 2 ; // [3..2]
|
|
unsigned int tx_ch_num : 2 ; // [5..4]
|
|
unsigned int Reserved_1 : 10 ; // [15..6]
|
|
unsigned int tx_trackmode : 3 ; // [18..16]
|
|
unsigned int Reserved_0 : 13 ; // [31..19]
|
|
} bits;
|
|
|
|
// Define an unsigned member
|
|
unsigned int u32;
|
|
} U_SPDIFTX_IF_ATTRI;
|
|
|
|
// Define the union U_SPDIFTX_DSP_CTRL
|
|
typedef union
|
|
{
|
|
// Define the struct bits
|
|
struct
|
|
{
|
|
unsigned int mute_en : 1 ; // [0]
|
|
unsigned int mute_fade_en : 1 ; // [1]
|
|
unsigned int Reserved_3 : 6 ; // [7..2]
|
|
unsigned int volume : 7 ; // [14..8]
|
|
unsigned int Reserved_2 : 1 ; // [15]
|
|
unsigned int fade_in_rate : 4 ; // [19..16]
|
|
unsigned int fade_out_rate : 4 ; // [23..20]
|
|
unsigned int Reserved_1 : 3 ; // [26..24]
|
|
unsigned int bypass_en : 1 ; // [27]
|
|
unsigned int tx_enable : 1 ; // [28]
|
|
unsigned int tx_disable_done : 1 ; // [29]
|
|
unsigned int Reserved_0 : 2 ; // [31..30]
|
|
} bits;
|
|
|
|
// Define an unsigned member
|
|
unsigned int u32;
|
|
} U_SPDIFTX_DSP_CTRL;
|
|
|
|
// Define the union U_SPDIFTX_DSP_STATUS
|
|
typedef union
|
|
{
|
|
// Define the struct bits
|
|
struct
|
|
{
|
|
unsigned int mute_fade_vol : 7 ; // [6..0]
|
|
unsigned int Reserved_0 : 25 ; // [31..7]
|
|
} bits;
|
|
|
|
// Define an unsigned member
|
|
unsigned int u32;
|
|
} U_SPDIFTX_DSP_STATUS;
|
|
|
|
// Define the union U_SPDIFTX_WS_CNT
|
|
typedef union
|
|
{
|
|
// Define the struct bits
|
|
struct
|
|
{
|
|
unsigned int ws_count : 24; // [23..0]
|
|
unsigned int Reserved_0 : 8; // [31..24]
|
|
} bits;
|
|
|
|
// Define an unsigned member
|
|
unsigned int u32;
|
|
} U_SPDIFTX_WS_CNT;
|
|
|
|
// Define the union U_SPDIFTX_BCLK_CNT
|
|
typedef union
|
|
{
|
|
// Define the struct bits
|
|
struct
|
|
{
|
|
unsigned int bclk_count : 24; // [23..0]
|
|
unsigned int Reserved_0 : 8; // [31..24]
|
|
} bits;
|
|
|
|
// Define an unsigned member
|
|
unsigned int u32;
|
|
} U_SPDIFTX_BCLK_CNT;
|
|
|
|
// Define the union U_SPDIFTX_BUFF_SIZE
|
|
typedef union
|
|
{
|
|
// Define the struct bits
|
|
struct
|
|
{
|
|
unsigned int tx_buff_size : 24; // [23..0]
|
|
unsigned int Reserved_0 : 8; // [31..24]
|
|
} bits;
|
|
|
|
// Define an unsigned member
|
|
unsigned int u32;
|
|
} U_SPDIFTX_BUFF_SIZE;
|
|
|
|
// Define the union U_SPDIFTX_BUFF_WPTR
|
|
typedef union
|
|
{
|
|
// Define the struct bits
|
|
struct
|
|
{
|
|
unsigned int tx_buff_wptr : 24; // [23..0]
|
|
unsigned int Reserved_0 : 8; // [31..24]
|
|
} bits;
|
|
|
|
// Define an unsigned member
|
|
unsigned int u32;
|
|
} U_SPDIFTX_BUFF_WPTR;
|
|
|
|
// Define the union U_SPDIFTX_BUFF_RPTR
|
|
typedef union
|
|
{
|
|
// Define the struct bits
|
|
struct
|
|
{
|
|
unsigned int tx_buff_rptr : 24; // [23..0]
|
|
unsigned int Reserved_0 : 8; // [31..24]
|
|
} bits;
|
|
|
|
// Define an unsigned member
|
|
unsigned int u32;
|
|
} U_SPDIFTX_BUFF_RPTR;
|
|
|
|
// Define the union U_SPDIFTX_BUFF_ALEMPTY_TH
|
|
typedef union
|
|
{
|
|
// Define the struct bits
|
|
struct
|
|
{
|
|
unsigned int tx_buff_alempty_th : 24; // [23..0]
|
|
unsigned int Reserved_0 : 8; // [31..24]
|
|
} bits;
|
|
|
|
// Define an unsigned member
|
|
unsigned int u32;
|
|
} U_SPDIFTX_BUFF_ALEMPTY_TH;
|
|
|
|
// Define the union U_SPDIFTX_TRANS_SIZE
|
|
typedef union
|
|
{
|
|
// Define the struct bits
|
|
struct
|
|
{
|
|
unsigned int tx_trans_size : 24; // [23..0]
|
|
unsigned int Reserved_0 : 8; // [31..24]
|
|
} bits;
|
|
|
|
// Define an unsigned member
|
|
unsigned int u32;
|
|
} U_SPDIFTX_TRANS_SIZE;
|
|
|
|
// Define the union U_SPDIFTX_RPTR_TMP
|
|
typedef union
|
|
{
|
|
// Define the struct bits
|
|
struct
|
|
{
|
|
unsigned int tx_rptr_tmp : 24; // [23..0]
|
|
unsigned int Reserved_0 : 8; // [31..24]
|
|
} bits;
|
|
|
|
// Define an unsigned member
|
|
unsigned int u32;
|
|
} U_SPDIFTX_RPTR_TMP;
|
|
|
|
// Define the union U_SPDIFTX_INT_ENA
|
|
typedef union
|
|
{
|
|
// Define the struct bits
|
|
struct
|
|
{
|
|
unsigned int tx_trans_int_ena : 1 ; // [0]
|
|
unsigned int tx_empty_int_ena : 1 ; // [1]
|
|
unsigned int tx_alempty_int_ena : 1 ; // [2]
|
|
unsigned int tx_bfifo_empty_int_ena : 1 ; // [3]
|
|
unsigned int tx_ififo_empty_int_ena : 1 ; // [4]
|
|
unsigned int tx_stop_int_ena : 1 ; // [5]
|
|
unsigned int tx_mfade_int_ena : 1 ; // [6]
|
|
unsigned int tx_dat_break_int_ena : 1 ; // [7]
|
|
unsigned int Reserved_0 : 24 ; // [31..8]
|
|
} bits;
|
|
|
|
// Define an unsigned member
|
|
unsigned int u32;
|
|
} U_SPDIFTX_INT_ENA;
|
|
|
|
// Define the union U_SPDIFTX_INT_RAW
|
|
typedef union
|
|
{
|
|
// Define the struct bits
|
|
struct
|
|
{
|
|
unsigned int tx_trans_int_raw : 1 ; // [0]
|
|
unsigned int tx_empty_int_raw : 1 ; // [1]
|
|
unsigned int tx_alempty_int_raw : 1 ; // [2]
|
|
unsigned int tx_bfifo_empty_int_raw : 1 ; // [3]
|
|
unsigned int tx_ififo_empty_int_raw : 1 ; // [4]
|
|
unsigned int tx_stop_int_raw : 1 ; // [5]
|
|
unsigned int tx_mfade_int_raw : 1 ; // [6]
|
|
unsigned int tx_dat_break_int_raw : 1 ; // [7]
|
|
unsigned int Reserved_0 : 24 ; // [31..8]
|
|
} bits;
|
|
|
|
// Define an unsigned member
|
|
unsigned int u32;
|
|
} U_SPDIFTX_INT_RAW;
|
|
|
|
// Define the union U_SPDIFTX_INT_STATUS
|
|
typedef union
|
|
{
|
|
// Define the struct bits
|
|
struct
|
|
{
|
|
unsigned int tx_trans_int_status : 1 ; // [0]
|
|
unsigned int tx_empty_int_status : 1 ; // [1]
|
|
unsigned int tx_alempty_int_status : 1 ; // [2]
|
|
unsigned int tx_bfifo_empty_int_status : 1 ; // [3]
|
|
unsigned int tx_ififo_empty_int_status : 1 ; // [4]
|
|
unsigned int tx_stop_int_status : 1 ; // [5]
|
|
unsigned int tx_mfade_int_status : 1 ; // [6]
|
|
unsigned int tx_dat_break_int_status : 1 ; // [7]
|
|
unsigned int Reserved_0 : 24 ; // [31..8]
|
|
} bits;
|
|
|
|
// Define an unsigned member
|
|
unsigned int u32;
|
|
} U_SPDIFTX_INT_STATUS;
|
|
|
|
// Define the union U_SPDIFTX_INT_CLR
|
|
typedef union
|
|
{
|
|
// Define the struct bits
|
|
struct
|
|
{
|
|
unsigned int tx_trans_int_clear : 1 ; // [0]
|
|
unsigned int tx_empty_int_clear : 1 ; // [1]
|
|
unsigned int tx_alempty_int_clear : 1 ; // [2]
|
|
unsigned int tx_bfifo_empty_int_clear : 1 ; // [3]
|
|
unsigned int tx_ififo_empty_int_clear : 1 ; // [4]
|
|
unsigned int tx_stop_int_clear : 1 ; // [5]
|
|
unsigned int tx_mfade_int_clear : 1 ; // [6]
|
|
unsigned int tx_dat_break_int_clear : 1 ; // [7]
|
|
unsigned int Reserved_0 : 24 ; // [31..8]
|
|
} bits;
|
|
|
|
// Define an unsigned member
|
|
unsigned int u32;
|
|
} U_SPDIFTX_INT_CLR;
|
|
|
|
// Define the union U_SPDIF_CTRL
|
|
typedef union
|
|
{
|
|
// Define the struct bits
|
|
struct
|
|
{
|
|
unsigned int spdif_en : 1; // [0]
|
|
unsigned int Reserved_0 : 31; // [31..1]
|
|
} bits;
|
|
|
|
// Define an unsigned member
|
|
unsigned int u32;
|
|
} U_SPDIF_CTRL;
|
|
|
|
// Define the union U_SPDIF_CONFIG
|
|
typedef union
|
|
{
|
|
// Define the struct bits
|
|
struct
|
|
{
|
|
unsigned int txdata_en : 1; // [0]
|
|
unsigned int mode : 2; // [2..1]
|
|
unsigned int Reserved_0 : 29; // [31..3]
|
|
} bits;
|
|
|
|
// Define an unsigned member
|
|
unsigned int u32;
|
|
} U_SPDIF_CONFIG;
|
|
|
|
// Define the union U_SPDIF_INTRUPT
|
|
typedef union
|
|
{
|
|
// Define the struct bits
|
|
struct
|
|
{
|
|
unsigned int lfifo_empty_intr : 1; // [0]
|
|
unsigned int rfifo_empty_intr : 1; // [1]
|
|
unsigned int lfifo_single_intr : 1; // [2]
|
|
unsigned int rfifo_single_intr : 1; // [3]
|
|
unsigned int Reserved_0 : 28; // [31..4]
|
|
} bits;
|
|
|
|
// Define an unsigned member
|
|
unsigned int u32;
|
|
} U_SPDIF_INTRUPT;
|
|
|
|
// Define the union U_SPDIF_INTR_MASK
|
|
typedef union
|
|
{
|
|
// Define the struct bits
|
|
struct
|
|
{
|
|
unsigned int lfifo_empty_mask : 1; // [0]
|
|
unsigned int rfifo_empty__mask : 1; // [1]
|
|
unsigned int lfifo_single__mask : 1; // [2]
|
|
unsigned int rfifo_single__mask : 1; // [3]
|
|
unsigned int Reserved_0 : 28; // [31..4]
|
|
} bits;
|
|
|
|
// Define an unsigned member
|
|
unsigned int u32;
|
|
} U_SPDIF_INTR_MASK;
|
|
|
|
// Define the union U_SPDIF_INTR_STATE
|
|
typedef union
|
|
{
|
|
// Define the struct bits
|
|
struct
|
|
{
|
|
unsigned int lfifo_empty_state : 1; // [0]
|
|
unsigned int rfifo_empty_state : 1; // [1]
|
|
unsigned int lfifo_single_state : 1; // [2]
|
|
unsigned int rfifo_single_state : 1; // [3]
|
|
unsigned int Reserved_0 : 28; // [31..4]
|
|
} bits;
|
|
|
|
// Define an unsigned member
|
|
unsigned int u32;
|
|
} U_SPDIF_INTR_STATE;
|
|
|
|
// Define the union U_SPDIF_CH_STATUS1
|
|
typedef union
|
|
{
|
|
// Define the struct bits
|
|
struct
|
|
{
|
|
unsigned int l_use_a : 1; // [0]
|
|
unsigned int l_use_b : 1; // [1]
|
|
unsigned int l_use_c : 1; // [2]
|
|
unsigned int l_use_d : 3; // [5..3]
|
|
unsigned int l_use_mode : 2; // [7..6]
|
|
unsigned int r_use_a : 1; // [8]
|
|
unsigned int r_use_b : 1; // [9]
|
|
unsigned int r_use_c : 1; // [10]
|
|
unsigned int r_use_d : 3; // [13..11]
|
|
unsigned int r_use_mode : 2; // [15..14]
|
|
unsigned int Reserved_0 : 16; // [31..16]
|
|
} bits;
|
|
|
|
// Define an unsigned member
|
|
unsigned int u32;
|
|
} U_SPDIF_CH_STATUS1;
|
|
|
|
// Define the union U_SPDIF_CH_STATUS2
|
|
typedef union
|
|
{
|
|
// Define the struct bits
|
|
struct
|
|
{
|
|
unsigned int l_category_code : 8; // [7..0]
|
|
unsigned int r_category_code : 8; // [15..8]
|
|
unsigned int Reserved_0 : 16; // [31..16]
|
|
} bits;
|
|
|
|
// Define an unsigned member
|
|
unsigned int u32;
|
|
} U_SPDIF_CH_STATUS2;
|
|
|
|
// Define the union U_SPDIF_CH_STATUS3
|
|
typedef union
|
|
{
|
|
// Define the struct bits
|
|
struct
|
|
{
|
|
unsigned int l_src_nb : 4; // [3..0]
|
|
unsigned int l_ch_nb : 4; // [7..4]
|
|
unsigned int r_src_nb : 4; // [11..8]
|
|
unsigned int r_ch_nb : 4; // [15..12]
|
|
unsigned int Reserved_0 : 16; // [31..16]
|
|
} bits;
|
|
|
|
// Define an unsigned member
|
|
unsigned int u32;
|
|
} U_SPDIF_CH_STATUS3;
|
|
|
|
// Define the union U_SPDIF_CH_STATUS4
|
|
typedef union
|
|
{
|
|
// Define the struct bits
|
|
struct
|
|
{
|
|
unsigned int l_freq : 4; // [3..0]
|
|
unsigned int l_clk_accuracy : 2; // [5..4]
|
|
unsigned int Reserved_1 : 2; // [7..6]
|
|
unsigned int r_freq : 4; // [11..8]
|
|
unsigned int r_clk_accuracy : 2; // [13..12]
|
|
unsigned int Reserved_0 : 18; // [31..14]
|
|
} bits;
|
|
|
|
// Define an unsigned member
|
|
unsigned int u32;
|
|
} U_SPDIF_CH_STATUS4;
|
|
|
|
// Define the union U_SPDIF_CH_STATUS5
|
|
typedef union
|
|
{
|
|
// Define the struct bits
|
|
struct
|
|
{
|
|
unsigned int l_bit_max : 1; // [0]
|
|
unsigned int l_bit_width : 3; // [3..1]
|
|
unsigned int l_org_freq : 4; // [7..4]
|
|
unsigned int r_bit_max : 1; // [8]
|
|
unsigned int r_bit_width : 3; // [11..9]
|
|
unsigned int r_org_freq : 4; // [15..12]
|
|
unsigned int Reserved_0 : 16; // [31..16]
|
|
} bits;
|
|
|
|
// Define an unsigned member
|
|
unsigned int u32;
|
|
} U_SPDIF_CH_STATUS5;
|
|
|
|
// Define the union U_AIO_CRG35
|
|
typedef union
|
|
{
|
|
// Define the struct bits
|
|
struct
|
|
{
|
|
unsigned int aio_hrst_req : 1; // [0]
|
|
unsigned int aio_hcken : 1; // [1]
|
|
unsigned int aio_cksel : 2; // [3..2]
|
|
unsigned int Reserved : 28; // [31..4]
|
|
} bits;
|
|
|
|
// Define an unsigned member
|
|
unsigned int u32;
|
|
} U_AIO_CRG35;
|
|
|
|
|
|
#endif // __AIAO_REG_H__
|
|
|