Регистры Allwinner H616

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

Синхронный последовательный интерфейс ( Руководство )

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

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

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


Регистров: 19

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


  • 1) SPI_GCR | 0x0004

    typedef union  spi_gcr
    {
      struct
      {
       unsigned ena_contr : 1;
       unsigned mode : 1;
       unsigned unused0 : 5;
       unsigned tp_en : 1;
       unsigned unused1 : 23;
       unsigned srst : 1;
      } b;
       unsigned long w;
    } SPI_GCR
       

  • 2) SPI_TCR | 0x0008

    typedef union  spi_tcr
    {
      struct
      {
       unsigned cpha : 1;
       unsigned cpol : 1;
       unsigned spol : 1;
       unsigned ssctl : 1;
       unsigned ss_sel : 2;
       unsigned ss_owner : 1;
       unsigned ss_level : 1;
       unsigned dhb : 1;
       unsigned ddb : 1;
       unsigned rpsm : 1;
       unsigned sdc : 1;
       unsigned fbs : 1;
       unsigned sdm : 1;
       unsigned sddm : 1;
       unsigned unused0 : 16;
       unsigned xch : 1;
      } b;
       unsigned long w;
    } SPI_TCR
       

  • 3) SPI_IER | 0x0010

    typedef union  spi_ier
    {
      struct
      {
       unsigned rf_rdy_int_en : 1;
       unsigned rx_emp_int_en : 1;
       unsigned rf_ful_int_en : 1;
       unsigned unused0 : 1;
       unsigned tx_erq_int_en : 1;
       unsigned tx_emp_int_en : 1;
       unsigned tf_ful_int_en : 1;
       unsigned unused1 : 1;
       unsigned rf_ovf_int_en : 1;
       unsigned rf_udr_int_en : 1;
       unsigned tf_ovf_int_en : 1;
       unsigned tf_udr_int_en : 1;
       unsigned tc_int_en : 1;
       unsigned ss_int_en : 1;
       unsigned unused2 : 18;
      } b;
       unsigned long w;
    } SPI_IER
       

  • 4) SPI_ISR | 0x0014

    typedef union  spi_isr
    {
      struct
      {
       unsigned rx_rdy : 1;
       unsigned rx_emp : 1;
       unsigned rx_full : 1;
       unsigned unused0 : 1;
       unsigned tx_ready : 1;
       unsigned tx_emp : 1;
       unsigned tx_full : 1;
       unsigned unused1 : 1;
       unsigned rx_ovf : 1;
       unsigned rx_udf : 1;
       unsigned tf_ovf : 1;
       unsigned tf_udf : 1;
       unsigned transfer_completed : 1;
       unsigned ssi : 1;
       unsigned unused2 : 18;
      } b;
       unsigned long w;
    } SPI_ISR
       

  • 5) SPI_FCR | 0x0018

    typedef union  spi_fcr
    {
      struct
      {
       unsigned rx_trig_level : 8;
       unsigned rf_drq_en : 1;
       unsigned unused0 : 5;
       unsigned rf_test : 1;
       unsigned rf_rst : 1;
       unsigned tx_trig_level : 8;
       unsigned tf_drq_en : 1;
       unsigned unused1 : 5;
       unsigned tf_test_enb : 1;
       unsigned tx_fifo_rst : 1;
      } b;
       unsigned long w;
    } SPI_FCR
       

  • 6) SPI_FSR | 0x001C

    typedef union  spi_fsr
    {
      struct
      {
       unsigned rf_cnt : 8;
       unsigned unused0 : 4;
       unsigned rb_cnt : 3;
       unsigned rb_wr : 1;
       unsigned tf_cnt : 8;
       unsigned unused1 : 4;
       unsigned tb_cnt : 3;
       unsigned tb_wr : 1;
      } b;
       unsigned long w;
    } SPI_FSR
       

  • 7) SPI_WCR | 0x0020

    typedef union  spi_wcr
    {
      struct
      {
       unsigned wcc : 16;
       unsigned swc : 4;
       unsigned unused0 : 12;
      } b;
       unsigned long w;
    } SPI_WCR
       

  • 8) SPI_CCR | 0x0024

    typedef union  spi_ccr
    {
      struct
      {
       unsigned cdr2_n : 8;
       unsigned cdr1_m : 4;
       unsigned drs : 1;
       unsigned unused0 : 19;
      } b;
       unsigned long w;
    } SPI_CCR
       

  • 9) SPI_SAMP_DL | 0x0028

    typedef union  spi_samp_dl
    {
      struct
      {
       unsigned unused0 : 32;
      } b;
       unsigned long w;
    } SPI_SAMP_DL
       

  • 10) SPI_MBC | 0x0030

    typedef union  spi_mbc
    {
      struct
      {
       unsigned mbc : 24;
       unsigned unused0 : 8;
      } b;
       unsigned long w;
    } SPI_MBC
       

  • 11) SPI_MTC | 0x0034

    typedef union  spi_mtc
    {
      struct
      {
       unsigned mwtc : 24;
       unsigned unused0 : 8;
      } b;
       unsigned long w;
    } SPI_MTC
       

  • 12) SPI_BCC | 0x0038

    typedef union  spi_bcc
    {
      struct
      {
       unsigned stc : 24;
       unsigned dbc : 4;
       unsigned drm : 1;
       unsigned quad_en : 1;
       unsigned unused0 : 2;
      } b;
       unsigned long w;
    } SPI_BCC
       

  • 13) SPI_BATCR | 0x0040

    typedef union  spi_batcr
    {
      struct
      {
       unsigned wm_sel : 2;
       unsigned ss_sel : 2;
       unsigned unused0 : 1;
       unsigned spol : 1;
       unsigned ss_owner : 1;
       unsigned ss_level : 1;
       unsigned len_frame_tx : 6;
       unsigned unused1 : 2;
       unsigned len_frame_rx : 6;
       unsigned unused2 : 2;
       unsigned tbc_int_en : 1;
       unsigned tbc : 1;
       unsigned unused3 : 4;
       unsigned msms : 1;
       unsigned tce : 1;
      } b;
       unsigned long w;
    } SPI_BATCR
       

  • 14) SPI_BA_CCR | 0x0044

    typedef union  spi_ba_ccr
    {
      struct
      {
       unsigned cdr_n : 8;
       unsigned unused0 : 24;
      } b;
       unsigned long w;
    } SPI_BA_CCR
       

  • 15) SPI_TBR | 0x0048

    typedef union  spi_tbr
    {
      struct
      {
       unsigned vtb : 32;
      } b;
       unsigned long w;
    } SPI_TBR
       

  • 16) SPI_RBR | 0x004C

    typedef union  spi_rbr
    {
      struct
      {
       unsigned vrb : 32;
      } b;
       unsigned long w;
    } SPI_RBR
       

  • 17) SPI_NDMA_MODE_CTL | 0x0088

    typedef union  spi_ndma_mode_ctl
    {
      struct
      {
       unsigned delay_cycles : 5;
       unsigned active_fall : 1;
       unsigned dma_active : 2;
       unsigned unused0 : 24;
      } b;
       unsigned long w;
    } SPI_NDMA_MODE_CTL
       

  • 18) SPI_TXD | 0x0200

    typedef union  spi_txd
    {
      struct
      {
       unsigned tdata : 32;
      } b;
       unsigned long w;
    } SPI_TXD
       

  • 19) SPI_RXD | 0x0300

    typedef union  spi_rxd
    {
      struct
      {
       unsigned rdata : 32;
      } b;
       unsigned long w;
    } SPI_RXD
       


  • Allwinner H616 Manual