| 179 | } |
| 180 | |
| 181 | static int |
| 182 | ti_adc_setup(struct ti_adc_softc *sc) |
| 183 | { |
| 184 | int ain, i; |
| 185 | uint32_t enabled; |
| 186 | |
| 187 | TI_ADC_LOCK_ASSERT(sc); |
| 188 | |
| 189 | /* Check for enabled inputs. */ |
| 190 | enabled = sc->sc_tsc_enabled; |
| 191 | for (i = 0; i < sc->sc_adc_nchannels; i++) { |
| 192 | ain = sc->sc_adc_channels[i]; |
| 193 | if (ti_adc_inputs[ain].enable) |
| 194 | enabled |= (1U << (ain + 1)); |
| 195 | } |
| 196 | |
| 197 | /* Set the ADC global status. */ |
| 198 | if (enabled != 0) { |
| 199 | ti_adc_enable(sc); |
| 200 | /* Update the enabled steps. */ |
| 201 | if (enabled != ADC_READ4(sc, ADC_STEPENABLE)) |
| 202 | ADC_WRITE4(sc, ADC_STEPENABLE, enabled); |
| 203 | } else |
| 204 | ti_adc_disable(sc); |
| 205 | |
| 206 | return (0); |
| 207 | } |
| 208 | |
| 209 | static void |
| 210 | ti_adc_input_setup(struct ti_adc_softc *sc, int32_t ain) |
no test coverage detected