Skip to content

Commit 2dbe874

Browse files
authored
docs(uart_sifive): add missing docs (#24)
1 parent 2a118b3 commit 2dbe874

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed

uart_sifive/src/uart.rs

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)