Регистры Allwinner H616

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

Контроллер ШИМ ( Руководство )

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

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


Регистров: 23

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


  • 1) PIER | 0x0000

    typedef union  pier
    {
      struct
      {
       unsigned unused0 : 1;
       unsigned pcie1 : 1;
       unsigned pcie2 : 1;
       unsigned pcie3 : 1;
       unsigned pcie4 : 1;
       unsigned unused1 : 27;
      } b;
       unsigned long w;
    } PIER
       

  • 2) PISR | 0x0004

    typedef union  pisr
    {
      struct
      {
       unsigned unused0 : 1;
       unsigned pis1 : 1;
       unsigned pis2 : 1;
       unsigned pis3 : 1;
       unsigned pis4 : 1;
       unsigned unused1 : 27;
      } b;
       unsigned long w;
    } PISR
       

  • 3) CIER | 0x0010

    typedef union  cier
    {
      struct
      {
       unsigned unused0 : 2;
       unsigned crie1 : 1;
       unsigned cfie1 : 1;
       unsigned crie2 : 1;
       unsigned cfie2 : 1;
       unsigned crie3 : 1;
       unsigned cfie3 : 1;
       unsigned crie4 : 1;
       unsigned cfie4 : 1;
       unsigned unused1 : 22;
      } b;
       unsigned long w;
    } CIER
       

  • 4) CISR | 0x0014

    typedef union  cisr
    {
      struct
      {
       unsigned unused0 : 2;
       unsigned cris1 : 1;
       unsigned cfis1 : 1;
       unsigned cris2 : 1;
       unsigned cfis2 : 1;
       unsigned cris3 : 1;
       unsigned cfis3 : 1;
       unsigned cris4 : 1;
       unsigned cfis4 : 1;
       unsigned unused1 : 22;
      } b;
       unsigned long w;
    } CISR
       

  • 5) PCCR01 | 0x0020

    typedef union  pccr01
    {
      struct
      {
       unsigned pwm01_clk_div_m : 4;
       unsigned pwm01_clk_gating : 1;
       unsigned unused0 : 1;
       unsigned pwm01_clk_src_bypass_to_pwm1 : 1;
       unsigned pwm01_clk_src : 2;
       unsigned unused1 : 23;
      } b;
       unsigned long w;
    } PCCR01
       

  • 6) PCCR23 | 0x0024

    typedef union  pccr23
    {
      struct
      {
       unsigned pwm23_clk_div_m : 4;
       unsigned pwm23_clk_gating : 1;
       unsigned pwm23_clk_src_bypass_to_pwm2 : 1;
       unsigned pwm23_clk_src_bypass_to_pwm3 : 1;
       unsigned pwm23_clk_src_sel : 2;
       unsigned unused0 : 23;
      } b;
       unsigned long w;
    } PCCR23
       

  • 7) PCCR45 | 0x0028

    typedef union  pccr45
    {
      struct
      {
       unsigned pwm45_clk_div_m : 4;
       unsigned pwm45_clk_gating : 1;
       unsigned pwm45_clk_src_bypass_to_pwm4 : 1;
       unsigned unused0 : 1;
       unsigned pwm45_clk_src_sel : 2;
       unsigned unused1 : 23;
      } b;
       unsigned long w;
    } PCCR45
       

  • 8) PDZCR01 | 0x0030

    typedef union  pdzcr01
    {
      struct
      {
       unsigned pwm01_dz_en : 1;
       unsigned unused0 : 7;
       unsigned pdzintv01 : 8;
       unsigned unused1 : 16;
      } b;
       unsigned long w;
    } PDZCR01
       

  • 9) PDZCR23 | 0x0034

    typedef union  pdzcr23
    {
      struct
      {
       unsigned pwm23_dz_en : 1;
       unsigned unused0 : 7;
       unsigned pwm23_dz_intv : 8;
       unsigned unused1 : 16;
      } b;
       unsigned long w;
    } PDZCR23
       

  • 10) PDZCR45 | 0x0038

    typedef union  pdzcr45
    {
      struct
      {
       unsigned pwm45_dz_en : 1;
       unsigned unused0 : 7;
       unsigned pwm45_dz_intv : 8;
       unsigned unused1 : 16;
      } b;
       unsigned long w;
    } PDZCR45
       

  • 11) PER | 0x0040

    typedef union  per
    {
      struct
      {
       unsigned unused0 : 1;
       unsigned pwm1_en : 1;
       unsigned pwm2_en : 1;
       unsigned pwm3_en : 1;
       unsigned pwm4_en : 1;
       unsigned unused1 : 27;
      } b;
       unsigned long w;
    } PER
       

  • 12) CER | 0x0044

    typedef union  cer
    {
      struct
      {
       unsigned unused0 : 1;
       unsigned cap1_en : 1;
       unsigned cap2_en : 1;
       unsigned cap3_en : 1;
       unsigned cap4_en : 1;
       unsigned unused1 : 27;
      } b;
       unsigned long w;
    } CER
       

  • 13) PCR | 0x0060+0x0000+N*0x0020(N=1~4)

    typedef union  pcr
    {
      struct
      {
       unsigned pwm_prescal_k : 8;
       unsigned pwm_act_sta : 1;
       unsigned pwm_mode : 1;
       unsigned pwm_pul_start : 1;
       unsigned pwm_period_rdy : 1;
       unsigned unused0 : 20;
      } b;
       unsigned long w;
    } PCR
       

  • 14) PPR | 0x0060+0x0004+N*0x0020(N=1~4)

    typedef union  ppr
    {
      struct
      {
       unsigned pwm_act_cycle : 16;
       unsigned pwm_entire_cycle : 16;
      } b;
       unsigned long w;
    } PPR
       

  • 15) PCNTR | 0x0060+0x0008+N*0x0020(N=1~4)

    typedef union  pcntr
    {
      struct
      {
       unsigned pwm_counter_status : 16;
       unsigned unused0 : 16;
      } b;
       unsigned long w;
    } PCNTR
       

  • 16) CCR | 0x0060+0x000C+N*0x0020(N=1~4)

    typedef union  ccr
    {
      struct
      {
       unsigned capinv : 1;
       unsigned cflf : 1;
       unsigned crlf : 1;
       unsigned unused0 : 29;
      } b;
       unsigned long w;
    } CCR
       

  • 17) CRLR | 0x0060+0x0010+N*0x0020(N=1~4)

    typedef union  crlr
    {
      struct
      {
       unsigned capture_rise_lock : 16;
       unsigned unused0 : 16;
      } b;
       unsigned long w;
    } CRLR
       

  • 18) CFLR | 0x0060+0x0014+N*0x0020(N=1~4)

    typedef union  cflr
    {
      struct
      {
       unsigned capture_fall_lock : 16;
       unsigned unused0 : 16;
      } b;
       unsigned long w;
    } CFLR
       

  • 19) TSC_INT_STATUS | TSC+0x30

    typedef union  tsc_int_status
    {
      struct
      {
       unsigned tsf0_interrupt_global_status : 1;
       unsigned unused0 : 15;
       unsigned tsg_interrupt_global_status : 1;
       unsigned unused1 : 15;
      } b;
       unsigned long w;
    } TSC_INT_STATUS
       

  • 20) TSG_CSR | TSG+0x00

    typedef union  tsg_csr
    {
      struct
      {
       unsigned tsg_start_bit : 1;
       unsigned tsg_stop_bit : 1;
       unsigned tsg_pause_bit : 1;
       unsigned unused0 : 5;
       unsigned tsg_sync_byte_chk_en : 1;
       unsigned tsgl_buf_mode : 1;
       unsigned unused1 : 14;
       unsigned tsg_sts : 2;
       unsigned unused2 : 6;
      } b;
       unsigned long w;
    } TSG_CSR
       

  • 21) TSG_IESR | TSG+0x08

    typedef union  tsg_iesr
    {
      struct
      {
       unsigned tsg_err_sync_byte_sts : 1;
       unsigned tsg_hf_sts : 1;
       unsigned tsg_ff_sts : 1;
       unsigned tsg_end_sts : 1;
       unsigned unused0 : 12;
       unsigned tsg_errsyncbyteie : 1;
       unsigned tsghfie : 1;
       unsigned tsgffie : 1;
       unsigned tsg_end_ie : 1;
       unsigned unused1 : 12;
      } b;
       unsigned long w;
    } TSG_IESR
       

  • 22) TSF_CSR | TSF+0x00

    typedef union  tsf_csr
    {
      struct
      {
       unsigned tsf_global_soft_reset : 1;
       unsigned unused0 : 1;
       unsigned tsf_enable : 1;
       unsigned unused1 : 5;
       unsigned channel_change_pid_request : 1;
       unsigned unused2 : 23;
      } b;
       unsigned long w;
    } TSF_CSR
       

  • 23) TSF_IESR | TSF+0x08

    typedef union  tsf_iesr
    {
      struct
      {
       unsigned tsfcdis : 1;
       unsigned tsfcois : 1;
       unsigned tsfppdis : 1;
       unsigned tsffois : 1;
       unsigned unused0 : 12;
       unsigned tsfcdie : 1;
       unsigned tsfcoie : 1;
       unsigned tsfppdie : 1;
       unsigned tsffoie : 1;
       unsigned unused1 : 12;
      } b;
       unsigned long w;
    } TSF_IESR
       


  • Allwinner H616 Manual