CRpi
A library for rpi with intefaces to: gpio, pwm, dma
pwm_internal.h
Go to the documentation of this file.
1 #ifndef PWM_INTERNAL_H
2 #define PWM_INTERNAL_H
3 
12 #define PWM_BASE_ADDR_PHYS (peripheralsBaseAddressPhys+0x20c000)
14 #define PWM_AREA_LEN 0x28
16 
17 
19 #define PWM_REG_CTL_OFF 0x0
20 #define PWM_REG_CTL_ADDR_PHYS (PWM_REG_CTL_OFF + PWM_BASE_ADDR_PHYS)
22 
24 #define PWM_REG_STA_OFF 0x4
25 #define PWM_REG_STA_ADDR_PHYS (PWM_REG_STA_OFF + PWM_BASE_ADDR_PHYS
27 
29 #define PWM_REG_DMAC_OFF 0x8
30 #define PWM_REG_DMAC_ADDR_PHYS (PWM_REG_DMAC_OFF + PWM_BASE_ADDR_PHYS)
32 
34 #define PWM_REG_RNG1_OFF 0x10
35 #define PWM_REG_RNG1_ADDR_PHYS (PWM_REG_RNG1_OFF + PWM_BASE_ADDR_PHYS)
37 
39 #define PWM_REG_DAT1_OFF 0x14
40 #define PWM_REG_DAT1_ADDR_PHYS (PWM_REG_DAT1_OFF + PWM_BASE_ADDR_PHYS)
42 
44 #define PWM_REG_FIF1_OFF 0x18
45 #define PWM_REG_FIF1_ADDR_PHYS (PWM_REG_FIF1_OFF + PWM_BASE_ADDR_PHYS)
47 
49 #define PWM_REG_RNG2_OFF 0x20
50 #define PWM_REG_RNG2_ADDR_PHYS (PWM_REG_RNG2_OFF + PWM_BASE_ADDR_PHYS)
52 
54 #define PWM_REG_DAT2_OFF 0x24
55 #define PWM_REG_DAT2_ADDR_PHYS (PWM_REG_DAT2_OFF + PWM_BASE_ADDR_PHYS)
57 
58 
59 
60 //::::REG_CTL : Control::::::::::::::::::::::::::::::::::::
61 //----Channel 1----
63 #define CTL_PWEN1_MASK 0x1
64 #define CTL_MODE1_MASK (1<<1)
66 #define CTL_RPTL1_MASK (1<<2)
68 #define CTL_SBIT1_MASK (1<<3)
70 #define CTL_POLA1_MASK (1<<4)
72 #define CTL_USEF1_MASK (1<<5)
74 #define CTL_CLRF_MASK (1<<6)
76 #define CTL_MSEN1_MASK (1<<7)
78 //----Channel 2----
80 #define CTL_PWEN2_MASK (1<<8)
81 #define CTL_MODE2_MASK (1<<9)
83 #define CTL_RPTL2_MASK (1<<10)
85 #define CTL_SBIT2_MASK (1<<11)
87 #define CTL_POLA2_MASK (1<<12)
89 #define CTL_USEF2_MASK (1<<13)
91 #define CTL_MSEN2_MASK (1<<15)
93 
94 //::::REG_STA : Status::::::::::::::::::::::::::::::::::::::
96 #define STA_FULL1_MASK 0x1
97 #define STA_EMPT1_MASK (1<<1)
99 #define STA_WERR1_MASK (1<<2)
101 #define STA_RERR1_MASK (1<<3)
103 #define STA_GAPO1_MASK (1<<4)
105 #define STA_GAPO2_MASK (1<<5)
107 #define STA_GAPO3_MASK (1<<6)
109 #define STA_GAPO4_MASK (1<<7)
111 #define STA_BERR_MASK (1<<8)
113 #define STA_STA1_MASK (1<<9)
115 #define STA_STA2_MASK (1<<10)
117 #define STA_STA3_MASK (1<<11)
119 #define STA_STA4_MASK (1<<12)
121 
122 
123 //::::REG_DMAC : DMA Configuration::::::::::::::::::::::::::
125 #define DMAC_DREQ_MASK (0xFF)
126 #define DMAC_PANIC_MASK (0xFF<<8)
128 #define DMAC_ENAB_MASK (0x1<<31)
130 
131 
132 //::::REG_RNG1 : Channel 1 Range::::::::::::::::::::::::::::
134 #define RNG1_PWM_RNG1_MASK 0xFFFFFFFF
135 
136 //::::REG_DAT1 : Channel 1 Data:::::::::::::::::::::::::::::
143 #define PWM_DAT1_MASK 0xFFFFFFFF
144 
145 
146 //::::REG_FIF1 : Fifo input:::::::::::::::::::::::::::::::::
148 #define FIF1_PWM_FIFO_MASK 0xFFFFFFFF
149 
150 
151 //::::REG_RNG2 : Channel 2 Range::::::::::::::::::::::::::::
153 #define RNG1_PWM_RNG2_MASK 0xFFFFFFFF
154 
155 //::::REG_DAT2 : Channel 2 Data:::::::::::::::::::::::::::::
162 #define PWM_DAT2_MASK 0xFFFFFFFF
163 
164 
165 #endif // PWM_INTERNAL_H