Регистры Allwinner H616

Сокращения  |  Дерево шин  |  Карта памяти

Аудио-концентратор ( Руководство )

Имя модуля: AHUB , базовый адрес: 0x05097000

Руководство п. 8.1.6


Регистров: 53

Имя регистра | Смещение


  • 1) AHUB_RST | 0x0008

    typedef union  ahub_rst
    {
      struct
      {
       unsigned unused0 : 14;
       unsigned dam1_rst : 1;
       unsigned dam0_rst : 1;
       unsigned unused1 : 4;
       unsigned i2s3_rst : 1;
       unsigned i2s2_rst : 1;
       unsigned i2s1_rst : 1;
       unsigned i2s0_rst : 1;
       unsigned unused2 : 1;
       unsigned apbif_rxdif2_rst : 1;
       unsigned apbif_rxdif1_rst : 1;
       unsigned apbif_rxdif0_rst : 1;
       unsigned unused3 : 1;
       unsigned apbif_txdif2_rst : 1;
       unsigned apbif_txdif1_rst : 1;
       unsigned apbif_txdif0_rst : 1;
      } b;
       unsigned long w;
    } AHUB_RST
       

  • 2) AHUB_GAT | 0x000C

    typedef union  ahub_gat
    {
      struct
      {
       unsigned unused0 : 14;
       unsigned dam1_gat : 1;
       unsigned dam0_gat : 1;
       unsigned unused1 : 4;
       unsigned i2s3_gat : 1;
       unsigned i2s2_gat : 1;
       unsigned i2s1_gat : 1;
       unsigned i2s0_gat : 1;
       unsigned unused2 : 1;
       unsigned apbif_rxdif2_gat : 1;
       unsigned apbif_rxdif1_gat : 1;
       unsigned apbif_rxdif0_gat : 1;
       unsigned unused3 : 1;
       unsigned apbif_txdif2_gat : 1;
       unsigned apbif_txdif1_gat : 1;
       unsigned apbif_txdif0_gat : 1;
      } b;
       unsigned long w;
    } AHUB_GAT
       

  • 3) APBIF_TXn_CTRL | 0x0010+n*0x0030(n=0~2)

    typedef union  apbif_txn_ctrl
    {
      struct
      {
       unsigned unused0 : 4;
       unsigned txn_start : 1;
       unsigned unused1 : 3;
       unsigned ... : 4;
       unsigned unused2 : 4;
       unsigned txn_ws : 3;
       unsigned unused3 : 13;
      } b;
       unsigned long w;
    } APBIF_TXn_CTRL
       

  • 4) APBIF_TXnIRQ_CTRL | 0x0014+n*0x0030(n=0~2)

    typedef union  apbif_txnirq_ctrl
    {
      struct
      {
       unsigned txnei_en : 1;
       unsigned txnoi_en : 1;
       unsigned unused0 : 1;
       unsigned txn_drq : 1;
       unsigned unused1 : 28;
      } b;
       unsigned long w;
    } APBIF_TXnIRQ_CTRL
       

  • 5) APBIF_TXnIRQ_STS | 0x0018+n*0x0030(n=0~2)

    typedef union  apbif_txnirq_sts
    {
      struct
      {
       unsigned txne_int : 1;
       unsigned txno_int : 1;
       unsigned unused0 : 30;
      } b;
       unsigned long w;
    } APBIF_TXnIRQ_STS
       

  • 6) APBIF_TXnFIFO_CTRL | 0x0020+n*0x0030(n=0~2)

    typedef union  apbif_txnfifo_ctrl
    {
      struct
      {
       unsigned txnim : 1;
       unsigned unused0 : 3;
       unsigned xntl : 6;
       unsigned unused1 : 2;
       unsigned ftxn : 1;
       unsigned unused2 : 19;
      } b;
       unsigned long w;
    } APBIF_TXnFIFO_CTRL
       

  • 7) APBIF_TXnFIFO_STS | 0x0024+n*0x0030(n=0~2)

    typedef union  apbif_txnfifo_sts
    {
      struct
      {
       unsigned txne_cnt : 7;
       unsigned unused0 : 1;
       unsigned txne : 1;
       unsigned unused1 : 23;
      } b;
       unsigned long w;
    } APBIF_TXnFIFO_STS
       

  • 8) APBIF_TXnFIFO | 0x0030+n*0x0030(n=0~2)

    typedef union  apbif_txnfifo
    {
      struct
      {
       unsigned xn_data : 32;
      } b;
       unsigned long w;
    } APBIF_TXnFIFO
       

  • 9) APBIF_TXnFIFO_CNT | 0x0034+n*0x0030(n=0~2)

    typedef union  apbif_txnfifo_cnt
    {
      struct
      {
       unsigned txn_cnt : 32;
      } b;
       unsigned long w;
    } APBIF_TXnFIFO_CNT
       

  • 10) APBIF_RXn_CTRL | 0x0100+n*0x0030(n=0~2)

    typedef union  apbif_rxn_ctrl
    {
      struct
      {
       unsigned unused0 : 4;
       unsigned rxn_start : 1;
       unsigned unused1 : 3;
       unsigned rxn_chan_num : 4;
       unsigned unused2 : 4;
       unsigned rxn_ws : 3;
       unsigned unused3 : 13;
      } b;
       unsigned long w;
    } APBIF_RXn_CTRL
       

  • 11) APBIF_RXnIRQ_CTRL | 0x0104+n*0x0030(n=0~2)

    typedef union  apbif_rxnirq_ctrl
    {
      struct
      {
       unsigned rxnai_en : 1;
       unsigned unused0 : 1;
       unsigned rxnui_en : 1;
       unsigned rxn_drq : 1;
       unsigned unused1 : 28;
      } b;
       unsigned long w;
    } APBIF_RXnIRQ_CTRL
       

  • 12) APBIF_RXnIRQ_STS | 0x0108+n*0x0030(n=0~2)

    typedef union  apbif_rxnirq_sts
    {
      struct
      {
       unsigned rxna_int : 1;
       unsigned unused0 : 1;
       unsigned rxnu_int : 1;
       unsigned unused1 : 29;
      } b;
       unsigned long w;
    } APBIF_RXnIRQ_STS
       

  • 13) APBIF_RXnFIFO_CTRL | 0x0110+n*0x0030(n=0~2)

    typedef union  apbif_rxnfifo_ctrl
    {
      struct
      {
       unsigned rxnom : 2;
       unsigned unused0 : 2;
       unsigned rxntl : 7;
       unsigned unused1 : 1;
       unsigned frxn : 1;
       unsigned unused2 : 19;
      } b;
       unsigned long w;
    } APBIF_RXnFIFO_CTRL
       

  • 14) APBIF_RXnFIFO_STS | 0x0114+n*0x0030(n=0~2)

    typedef union  apbif_rxnfifo_sts
    {
      struct
      {
       unsigned rxna_cnt : 8;
       unsigned rxna : 1;
       unsigned unused0 : 23;
      } b;
       unsigned long w;
    } APBIF_RXnFIFO_STS
       

  • 15) APBIF_RXn_CONT | 0x0118+n*0x0030(n=0~2)

    typedef union  apbif_rxn_cont
    {
      struct
      {
       unsigned unused0 : 12;
       unsigned rxn_contact_rxdif : 20;
      } b;
       unsigned long w;
    } APBIF_RXn_CONT
       

  • 16) APBIF_RXnFIFO | 0x0120+n*0x0030(n=0~2)

    typedef union  apbif_rxnfifo
    {
      struct
      {
       unsigned rxn_data : 32;
      } b;
       unsigned long w;
    } APBIF_RXnFIFO
       

  • 17) APBIF_RXnFIFO_CNT | 0x0124+n*0x0030(n=0~2)

    typedef union  apbif_rxnfifo_cnt
    {
      struct
      {
       unsigned rxn_cnt : 32;
      } b;
       unsigned long w;
    } APBIF_RXnFIFO_CNT
       

  • 18) I2Sn_CTRL | 0x0200+n*0x0100(n=0~3)

    typedef union  i2sn_ctrl
    {
      struct
      {
       unsigned gen : 1;
       unsigned rxen : 1;
       unsigned txen : 1;
       unsigned loopback : 1;
       unsigned mode_sel : 2;
       unsigned out_mute : 1;
       unsigned unused0 : 1;
       unsigned sdo0_en : 1;
       unsigned sdo1_en : 1;
       unsigned sdo2_en : 1;
       unsigned sdo3_en : 1;
       unsigned sdi0_en : 1;
       unsigned sdi1_en : 1;
       unsigned sdi2_en : 1;
       unsigned sdi3_en : 1;
       unsigned unused1 : 2;
       unsigned bclk_lrck_direction : 1;
       unsigned unused2 : 1;
       unsigned loopback0 : 1;
       unsigned loopback1 : 1;
       unsigned loopback2 : 1;
       unsigned loopback3 : 1;
       unsigned unused3 : 8;
      } b;
       unsigned long w;
    } I2Sn_CTRL
       

  • 19) I2Sn_FMT0 | 0x0204+n*0x0100(n=0~3)

    typedef union  i2sn_fmt0
    {
      struct
      {
       unsigned sw_ : 3;
       unsigned edge_transfer : 1;
       unsigned sr_ : 3;
       unsigned bclk_polarity : 1;
       unsigned lrck_period : 10;
       unsigned unused0 : 1;
       unsigned lrck_polarity : 1;
       unsigned unused1 : 10;
       unsigned lrck_width : 1;
       unsigned unused2 : 1;
      } b;
       unsigned long w;
    } I2Sn_FMT0
       

  • 20) I2Sn_FMT1 | 0x0208+n*0x0100(n=0~3)

    typedef union  i2sn_fmt1
    {
      struct
      {
       unsigned tx_pdm : 2;
       unsigned rx_pdm : 2;
       unsigned sext : 2;
       unsigned tx_mls : 1;
       unsigned rx_mls : 1;
       unsigned unused0 : 24;
      } b;
       unsigned long w;
    } I2Sn_FMT1
       

  • 21) I2Sn_CLKD | 0x020C+n*0x0100(n=0~3)

    typedef union  i2sn_clkd
    {
      struct
      {
       unsigned mclkdiv : 4;
       unsigned bclkdiv : 4;
       unsigned mclko_en : 1;
       unsigned unused0 : 23;
      } b;
       unsigned long w;
    } I2Sn_CLKD
       

  • 22) I2Sn_RXDIF_CONT | 0x0220+n*0x0100(n=0~3)

    typedef union  i2sn_rxdif_cont
    {
      struct
      {
       unsigned unused0 : 12;
       unsigned rxn_contact_rxdif : 20;
      } b;
       unsigned long w;
    } I2Sn_RXDIF_CONT
       

  • 23) I2Sn_CHCFG | 0x0224+n*0x0100(n=0~3)

    typedef union  i2sn_chcfg
    {
      struct
      {
       unsigned tx_chan_num : 4;
       unsigned rx_chan_num : 4;
       unsigned tx_state : 1;
       unsigned tx_slot_hiz : 1;
       unsigned unused0 : 22;
      } b;
       unsigned long w;
    } I2Sn_CHCFG
       

  • 24) I2Sn_IRQ_CTRL | 0x0228+n*0x0100(n = 0~3)

    typedef union  i2sn_irq_ctrl
    {
      struct
      {
       unsigned txnui_en : 1;
       unsigned rxnoi_en : 1;
       unsigned unused0 : 30;
      } b;
       unsigned long w;
    } I2Sn_IRQ_CTRL
       

  • 25) I2Sn_IRQ_STS | 0x022C+n*0x0100(n = 0~3)

    typedef union  i2sn_irq_sts
    {
      struct
      {
       unsigned txnu_int : 1;
       unsigned rxno_int : 1;
       unsigned unused0 : 30;
      } b;
       unsigned long w;
    } I2Sn_IRQ_STS
       

  • 26) I2Sn_SDOUTm_SLOTCTR | 0x0230+n*0x0100+m*0x0010 (n=0~3)(m=0~3)

    typedef union  i2sn_sdoutm_slotctr
    {
      struct
      {
       unsigned sdoutm_slot_en : 16;
       unsigned sdoutm_slot_num : 4;
       unsigned sdoutm_offset : 2;
       unsigned unused0 : 10;
      } b;
       unsigned long w;
    } I2Sn_SDOUTm_SLOTCTR
       

  • 27) I2Sn_SDOUTmCHMAP0 | 0x0234+n*0x0100+m*0x0010 (n=0~3)(m=0~3)

    typedef union  i2sn_sdoutmchmap0
    {
      struct
      {
       unsigned sdoutm_slot0_map : 4;
       unsigned sdoutm_slot1_map : 4;
       unsigned sdoutm_slot2_map : 4;
       unsigned sdoutm_slot3_map : 4;
       unsigned sdoutm_slot4_map : 4;
       unsigned sdoutm_slot5_map : 4;
       unsigned sdoutm_slot6_map : 4;
       unsigned sdoutm_slot7_map : 4;
      } b;
       unsigned long w;
    } I2Sn_SDOUTmCHMAP0
       

  • 28) I2Sn_SDOUTmCHMAP1 | 0x0238+n*0x0100+m*0x0010 (n=0~3)(m=0~3)

    typedef union  i2sn_sdoutmchmap1
    {
      struct
      {
       unsigned sdoutm_slot8_map : 4;
       unsigned sdoutm_slot9_map : 4;
       unsigned sdoutm_slot10_map : 4;
       unsigned sdoutm_slot11_map : 4;
       unsigned sdoutm_slot12_map : 4;
       unsigned sdoutm_slot13_map : 4;
       unsigned sdoutm_slot14_map : 4;
       unsigned sdoutm_slot15_map : 4;
      } b;
       unsigned long w;
    } I2Sn_SDOUTmCHMAP1
       

  • 29) I2Sn_SDIN_SLOTCTR | 0x0270+n*0x0100(n=0~3)

    typedef union  i2sn_sdin_slotctr
    {
      struct
      {
       unsigned unused0 : 16;
       unsigned sdin_slot_num : 4;
       unsigned sdin_offset : 2;
       unsigned unused1 : 10;
      } b;
       unsigned long w;
    } I2Sn_SDIN_SLOTCTR
       

  • 30) I2Sn_SDINCHMAP0 | 0x0274+n*0x0100(n=0~3)

    typedef union  i2sn_sdinchmap0
    {
      struct
      {
       unsigned rxfifo_sample0_map : 4;
       unsigned rxfifo_sample0_select : 2;
       unsigned unused0 : 2;
       unsigned rxfifo_sample1_map : 4;
       unsigned rxfifo_sample1_select : 2;
       unsigned unused1 : 2;
       unsigned rxfifo_sample2_map : 4;
       unsigned rxfifo_sample2_select : 2;
       unsigned unused2 : 2;
       unsigned rxfifo_sample3_map : 4;
       unsigned rxfifo_sample3_select : 2;
       unsigned unused3 : 2;
      } b;
       unsigned long w;
    } I2Sn_SDINCHMAP0
       

  • 31) I2Sn_SDINCHMAP1 | 0x0278+n*0x0100(n=0~3)

    typedef union  i2sn_sdinchmap1
    {
      struct
      {
       unsigned rxfifo_sample4_map : 4;
       unsigned rxfifo_sample4_select : 2;
       unsigned unused0 : 2;
       unsigned rxfifo_sample5_map : 4;
       unsigned rxfifo_sample5_select : 2;
       unsigned unused1 : 2;
       unsigned rxfifo_sample6_map : 4;
       unsigned rxfifo_sample6_select : 2;
       unsigned unused2 : 2;
       unsigned rxfifo_sample7_map : 4;
       unsigned rxfifo_sample7_select : 2;
       unsigned unused3 : 2;
      } b;
       unsigned long w;
    } I2Sn_SDINCHMAP1
       

  • 32) I2Sn_SDINCHMAP2 | 0x0274+n*0x0100(n=0~3)

    typedef union  i2sn_sdinchmap2
    {
      struct
      {
       unsigned rxfifo_sample8_map : 4;
       unsigned rxfifo_sample8_select : 2;
       unsigned unused0 : 2;
       unsigned rxfifo_sample9_map : 4;
       unsigned rxfifo_sample9_select : 2;
       unsigned unused1 : 2;
       unsigned rxfifo_sample10_map : 4;
       unsigned rxfifo_sample10_select : 2;
       unsigned unused2 : 2;
       unsigned rxfifo_sample11_map : 4;
       unsigned rxfifo_sample11_select : 2;
       unsigned unused3 : 2;
      } b;
       unsigned long w;
    } I2Sn_SDINCHMAP2
       

  • 33) I2Sn_SDINCHMAP3 | 0x0278+n*0x0100(n=0~3)

    typedef union  i2sn_sdinchmap3
    {
      struct
      {
       unsigned rxfifo_sample12_map : 4;
       unsigned rxfifo_sample12_select : 2;
       unsigned unused0 : 2;
       unsigned rxfifo_sample13_map : 4;
       unsigned rxfifo_sample13_select : 2;
       unsigned unused1 : 2;
       unsigned rxfifo_sample14_map : 4;
       unsigned rxfifo_sample14_select : 2;
       unsigned unused2 : 2;
       unsigned rxfifo_sample15_map : 4;
       unsigned rxfifo_sample15_select : 2;
       unsigned unused3 : 2;
      } b;
       unsigned long w;
    } I2Sn_SDINCHMAP3
       

  • 34) DAMn_CTRL | 0x0A00+n*0x0080(n=0,1)

    typedef union  damn_ctrl
    {
      struct
      {
       unsigned txen : 1;
       unsigned unused0 : 3;
       unsigned rx0en : 1;
       unsigned rx1en : 1;
       unsigned rx2en : 1;
       unsigned unused1 : 1;
       unsigned tx_channel_num : 4;
       unsigned unused2 : 4;
       unsigned rx0_num : 4;
       unsigned rx1_num : 4;
       unsigned rx2_num : 4;
       unsigned unused3 : 4;
      } b;
       unsigned long w;
    } DAMn_CTRL
       

  • 35) DAMn_RX0_SRC | 0x0A10+n*0x0080(n=0,1)

    typedef union  damn_rx0_src
    {
      struct
      {
       unsigned unused0 : 12;
       unsigned rxn_contact_rxdif : 20;
      } b;
       unsigned long w;
    } DAMn_RX0_SRC
       

  • 36) DAMn_RX1_SRC | 0x0A14+n*0x0080(n=0,1)

    typedef union  damn_rx1_src
    {
      struct
      {
       unsigned unused0 : 12;
       unsigned rxn_contact_rxdif : 20;
      } b;
       unsigned long w;
    } DAMn_RX1_SRC
       

  • 37) DAMn_RX2_SRC | 0x0A18+n*0x0080(n=0,1)

    typedef union  damn_rx2_src
    {
      struct
      {
       unsigned unused0 : 12;
       unsigned rxn_contact_rxdif : 20;
      } b;
       unsigned long w;
    } DAMn_RX2_SRC
       

  • 38) DAMn_MIX_CTRL0 | 0x0A30+n*0x0080(n=0,1)

    typedef union  damn_mix_ctrl0
    {
      struct
      {
       unsigned txch0_mix_rxch0 : 4;
       unsigned txch0_mix_rxch1 : 4;
       unsigned txch0_mix_rxch2 : 4;
       unsigned unused0 : 4;
       unsigned txch1_mix_rxch0 : 4;
       unsigned txch1_mix_rxch1 : 4;
       unsigned txch1_mix_rxch2 : 4;
       unsigned unused1 : 4;
      } b;
       unsigned long w;
    } DAMn_MIX_CTRL0
       

  • 39) DAMn_MIX_CTRL1 | 0x0A34+n*0x0080(n=0,1)

    typedef union  damn_mix_ctrl1
    {
      struct
      {
       unsigned txch2_mix_rxch0 : 4;
       unsigned txch2_mix_rxch1 : 4;
       unsigned txch2_mix_rxch2 : 4;
       unsigned unused0 : 4;
       unsigned txch3_mix_rxch0 : 4;
       unsigned txch3_mix_rxch1 : 4;
       unsigned txch3_mix_rxch2 : 4;
       unsigned unused1 : 4;
      } b;
       unsigned long w;
    } DAMn_MIX_CTRL1
       

  • 40) DAMn_MIX_CTRL2 | 0x0A38+n*0x0080(n=0,1)

    typedef union  damn_mix_ctrl2
    {
      struct
      {
       unsigned txch4_mix_rxch0 : 4;
       unsigned txch4_mix_rxch1 : 4;
       unsigned txch4_mix_rxch2 : 4;
       unsigned unused0 : 4;
       unsigned txch5_mix_rxch0 : 4;
       unsigned txch5_mix_rxch1 : 4;
       unsigned txch5_mix_rxch2 : 4;
       unsigned unused1 : 4;
      } b;
       unsigned long w;
    } DAMn_MIX_CTRL2
       

  • 41) DAMn_MIX_CTRL3 | 0x0A3C+n*0x0080(n=0,1)

    typedef union  damn_mix_ctrl3
    {
      struct
      {
       unsigned txch6_mix_rxch0 : 4;
       unsigned txch6_mix_rxch1 : 4;
       unsigned txch6_mix_rxch2 : 4;
       unsigned unused0 : 4;
       unsigned txch7_mix_rxch0 : 4;
       unsigned txch7_mix_rxch1 : 4;
       unsigned txch7_mix_rxch2 : 4;
       unsigned unused1 : 4;
      } b;
       unsigned long w;
    } DAMn_MIX_CTRL3
       

  • 42) DAMn_MIX_CTRL4 | 0x0A40+n*0x0080(n=0,1)

    typedef union  damn_mix_ctrl4
    {
      struct
      {
       unsigned txch8_mix_rxch0 : 4;
       unsigned txch8_mix_rxch1 : 4;
       unsigned txch8_mix_rxch2 : 4;
       unsigned unused0 : 4;
       unsigned txch9_mix_rxch0 : 4;
       unsigned txch9_mix_rxch1 : 4;
       unsigned txch9_mix_rxch2 : 4;
       unsigned unused1 : 4;
      } b;
       unsigned long w;
    } DAMn_MIX_CTRL4
       

  • 43) DAMn_MIX_CTRL5 | 0x0A44+n*0x0080(n=0,1)

    typedef union  damn_mix_ctrl5
    {
      struct
      {
       unsigned txcha_mix_rxch0 : 4;
       unsigned txcha_mix_rxch1 : 4;
       unsigned txcha_mix_rxch2 : 4;
       unsigned unused0 : 4;
       unsigned txchb_mix_rxch0 : 4;
       unsigned txchb_mix_rxch1 : 4;
       unsigned txchb_mix_rxch2 : 4;
       unsigned unused1 : 4;
      } b;
       unsigned long w;
    } DAMn_MIX_CTRL5
       

  • 44) DAMn_MIX_CTRL6 | 0x0A48+n*0x0080(n=0,1)

    typedef union  damn_mix_ctrl6
    {
      struct
      {
       unsigned txchc_mix_rxch0 : 4;
       unsigned txchc_mix_rxch1 : 4;
       unsigned txchc_mix_rxch2 : 4;
       unsigned unused0 : 4;
       unsigned txchd_mix_rxch0 : 4;
       unsigned txchd_mix_rxch1 : 4;
       unsigned txchd_mix_rxch2 : 4;
       unsigned unused1 : 4;
      } b;
       unsigned long w;
    } DAMn_MIX_CTRL6
       

  • 45) DAMn_MIX_CTRL7 | 0x0A4C+n*0x0080(n=0,1)

    typedef union  damn_mix_ctrl7
    {
      struct
      {
       unsigned txche_mix_rxch0 : 4;
       unsigned txche_mix_rxch1 : 4;
       unsigned txche_mix_rxch2 : 4;
       unsigned unused0 : 4;
       unsigned txchf_mix_rxch0 : 4;
       unsigned txchf_mix_rxch1 : 4;
       unsigned txchf_mix_rxch2 : 4;
       unsigned unused1 : 4;
      } b;
       unsigned long w;
    } DAMn_MIX_CTRL7
       

  • 46) DAM_VOL_CTRL0 | 0x0A50+n*0x0080(n=0,1)

    typedef union  dam_vol_ctrl0
    {
      struct
      {
       unsigned txch0_gain_rxch0 : 4;
       unsigned txch0_gain_rxch1 : 4;
       unsigned txch0_gain_rxch2 : 4;
       unsigned unused0 : 4;
       unsigned txch1_gain_rxch0 : 4;
       unsigned txch1_gain_rxch1 : 4;
       unsigned txch1_gain_rxch2 : 4;
       unsigned unused1 : 4;
      } b;
       unsigned long w;
    } DAM_VOL_CTRL0
       

  • 47) DAM_VOL_CTRL1 | 0x0A54+n*0x0080(n=0,1)

    typedef union  dam_vol_ctrl1
    {
      struct
      {
       unsigned txch2_gain_rxch0 : 4;
       unsigned txch2_gain_rxch1 : 4;
       unsigned txch2_gain_rxch2 : 4;
       unsigned unused0 : 4;
       unsigned txch3_gain_rxch0 : 4;
       unsigned txch3_gain_rxch1 : 4;
       unsigned txch3_gain_rxch2 : 4;
       unsigned unused1 : 4;
      } b;
       unsigned long w;
    } DAM_VOL_CTRL1
       

  • 48) DAM_VOL_CTRL2 | 0x0A58+n*0x0080(n=0,1)

    typedef union  dam_vol_ctrl2
    {
      struct
      {
       unsigned txch4_gain_rxch0 : 4;
       unsigned txch4_gain_rxch1 : 4;
       unsigned txch4_gain_rxch2 : 4;
       unsigned unused0 : 4;
       unsigned txch5_gain_rxch0 : 4;
       unsigned txch5_gain_rxch1 : 4;
       unsigned txch5_gain_rxch2 : 4;
       unsigned unused1 : 4;
      } b;
       unsigned long w;
    } DAM_VOL_CTRL2
       

  • 49) DAM_VOL_CTRL3 | 0x0A5C+n*0x0080(n=0,1)

    typedef union  dam_vol_ctrl3
    {
      struct
      {
       unsigned txch6_gain_rxch0 : 4;
       unsigned txch6_gain_rxch1 : 4;
       unsigned txch6_gain_rxch2 : 4;
       unsigned unused0 : 4;
       unsigned txch7_gain_rxch0 : 4;
       unsigned txch7_gain_rxch1 : 4;
       unsigned txch7_gain_rxch2 : 4;
       unsigned unused1 : 4;
      } b;
       unsigned long w;
    } DAM_VOL_CTRL3
       

  • 50) DAM_VOL_CTRL4 | 0x0A60+n*0x0080(n=0,1)

    typedef union  dam_vol_ctrl4
    {
      struct
      {
       unsigned txch8_gain_rxch0 : 4;
       unsigned txch8_gain_rxch1 : 4;
       unsigned txch8_gain_rxch2 : 4;
       unsigned unused0 : 4;
       unsigned txch9_gain_rxch0 : 4;
       unsigned txch9_gain_rxch1 : 4;
       unsigned txch9_gain_rxch2 : 4;
       unsigned unused1 : 4;
      } b;
       unsigned long w;
    } DAM_VOL_CTRL4
       

  • 51) DAM_VOL_CTRL5 | 0x0A64+n*0x0080(n=0,1)

    typedef union  dam_vol_ctrl5
    {
      struct
      {
       unsigned txcha_gain_rxch0 : 4;
       unsigned txcha_gain_rxch1 : 4;
       unsigned txcha_gain_rxch2 : 4;
       unsigned unused0 : 4;
       unsigned txchb_gain_rxch0 : 4;
       unsigned txchb_gain_rxch1 : 4;
       unsigned txchb_gain_rxch2 : 4;
       unsigned unused1 : 4;
      } b;
       unsigned long w;
    } DAM_VOL_CTRL5
       

  • 52) DAM_VOL_CTRL6 | 0x0A68+n*0x0080(n=0,1)

    typedef union  dam_vol_ctrl6
    {
      struct
      {
       unsigned txchc_gain_rxch0 : 4;
       unsigned txchc_gain_rxch1 : 4;
       unsigned txchc_gain_rxch2 : 4;
       unsigned unused0 : 4;
       unsigned txchd_gain_rxch0 : 4;
       unsigned txchd_gain_rxch1 : 4;
       unsigned txchd_gain_rxch2 : 4;
       unsigned unused1 : 4;
      } b;
       unsigned long w;
    } DAM_VOL_CTRL6
       

  • 53) DAM_VOL_CTRL7 | 0x0A6C+n*0x0080(n=0,1)

    typedef union  dam_vol_ctrl7
    {
      struct
      {
       unsigned txche_gain_rxch0 : 4;
       unsigned txche_gain_rxch1 : 4;
       unsigned txche_gain_rxch2 : 4;
       unsigned unused0 : 4;
       unsigned txchf_gain_rxch0 : 4;
       unsigned txchf_gain_rxch1 : 4;
       unsigned txchf_gain_rxch2 : 4;
       unsigned unused1 : 4;
      } b;
       unsigned long w;
    } DAM_VOL_CTRL7
       


  • Allwinner H616 Manual