@@ -85,97 +85,118 @@ impl MmioUartSifive {
8585 self . reg ( ) . rx . read ( )
8686 }
8787
88+ /// Read Tx Status
8889 #[ inline]
8990 pub fn read_tx ( & self ) -> u32 {
9091 self . reg ( ) . tx . read ( )
9192 }
9293
94+ /// Write Tx FIFO
9395 #[ inline]
9496 pub fn write_tx ( & self , value : u32 ) {
9597 unsafe { self . reg ( ) . tx . write ( value) }
9698 }
9799
100+ /// Read RxCtrl
98101 #[ inline]
99102 pub fn read_rxctrl ( & self ) -> u32 {
100103 self . reg ( ) . rxctrl . read ( )
101104 }
102105
106+ /// Write RxCtrl
103107 #[ inline]
104108 pub fn write_rxctrl ( & self , value : u32 ) {
105109 unsafe { self . reg ( ) . rxctrl . write ( value) }
106110 }
107111
112+ /// Read TxCtrl
108113 #[ inline]
109114 pub fn read_txctrl ( & self ) -> u32 {
110115 self . reg ( ) . txctrl . read ( )
111116 }
112117
118+ /// Write TxCtrl
113119 #[ inline]
114120 pub fn write_txctrl ( & self , value : u32 ) {
115121 unsafe { self . reg ( ) . txctrl . write ( value) }
116122 }
117123
124+ /// Read ip register
118125 #[ inline]
119126 pub fn read_ip ( & self ) -> InterruptRegister {
120127 InterruptRegister :: from_bits_truncate ( self . reg ( ) . ip . read ( ) )
121128 }
122129
130+ /// Read ie register
123131 #[ inline]
124132 pub fn read_ie ( & self ) -> InterruptRegister {
125133 InterruptRegister :: from_bits_truncate ( self . reg ( ) . ie . read ( ) )
126134 }
127135
136+ /// Write ie register
128137 #[ inline]
129138 pub fn write_ie ( & self , value : u32 ) {
130139 unsafe { self . reg ( ) . ie . write ( value) }
131140 }
132141
142+ /// Read div register
133143 #[ inline]
134144 pub fn read_div ( & self ) -> u32 {
135145 self . reg ( ) . div . read ( )
136146 }
137147
148+ /// Write div register
138149 #[ inline]
139150 pub fn write_div ( & self , value : u32 ) {
140151 unsafe { self . reg ( ) . div . write ( value) }
141152 }
142153
154+ /// Check if tx FIFO is full
143155 pub fn is_tx_fifo_full ( & self ) -> bool {
144156 TxData :: from_bits_truncate ( self . read_tx ( ) ) . contains ( TxData :: FULL )
145157 }
146158
159+ /// Check if read interrupt has been enable
147160 pub fn is_read_interrupt_enabled ( & self ) -> bool {
148161 self . read_ie ( ) . contains ( InterruptRegister :: RXWM )
149162 }
150163
164+ /// Check if write interrupt has been enable
151165 pub fn is_write_interrupt_enabled ( & self ) -> bool {
152166 self . read_ie ( ) . contains ( InterruptRegister :: TXWM )
153167 }
154168
169+ /// Enable write
155170 pub fn enable_write ( & self ) {
156171 self . write_txctrl ( self . read_txctrl ( ) | TxControl :: ENABLE . bits ( ) )
157172 }
158173
174+ /// Enable read
159175 pub fn enable_read ( & self ) {
160176 self . write_rxctrl ( self . read_rxctrl ( ) | RxControl :: ENABLE . bits ( ) )
161177 }
162178
179+ /// Disable write
163180 pub fn disable_write ( & self ) {
164181 self . write_txctrl ( self . read_txctrl ( ) & !TxControl :: ENABLE . bits ( ) )
165182 }
166183
184+ /// Disable read
167185 pub fn disable_read ( & self ) {
168186 self . write_rxctrl ( self . read_rxctrl ( ) & !RxControl :: ENABLE . bits ( ) )
169187 }
170188
189+ /// Disable all interrupt
171190 pub fn disable_interrupt ( & self ) {
172191 self . write_ie ( 0 )
173192 }
174193
194+ /// Enable read interrupt (and keep other bit in ie register)
175195 pub fn enable_read_interrupt ( & self ) {
176196 self . write_ie ( ( self . read_ie ( ) | InterruptRegister :: RXWM ) . bits ( ) as u32 )
177197 }
178198
199+ /// Enable write interrupt (and keep other bit in ie register)
179200 pub fn enable_write_interrupt ( & self ) {
180201 self . write_ie ( ( self . read_ie ( ) | InterruptRegister :: TXWM ) . bits ( ) as u32 )
181202 }
0 commit comments