Lines Matching defs:sc
48 #define HREAD4(sc, reg) \
49 (bus_space_read_4((sc)->sc_iot, (sc)->sc_ioh, (reg)))
50 #define HWRITE4(sc, reg, val) \
51 bus_space_write_4((sc)->sc_iot, (sc)->sc_ioh, (reg), (val))
52 #define HSET4(sc, reg, bits) \
53 HWRITE4((sc), (reg), HREAD4((sc), (reg)) | (bits))
54 #define HCLR4(sc, reg, bits) \
55 HWRITE4((sc), (reg), HREAD4((sc), (reg)) & ~(bits))
89 struct mvrng_softc *sc = (struct mvrng_softc *)self;
97 sc->sc_iot = faa->fa_iot;
98 if (bus_space_map(sc->sc_iot, faa->fa_reg[0].addr,
99 faa->fa_reg[0].size, 0, &sc->sc_ioh)) {
107 HWRITE4(sc, RNG_CONFIG, 0x5 << RNG_CONFIG_MIN_CYCLES_SHIFT |
109 HWRITE4(sc, RNG_FRODETUNE, 0);
110 HWRITE4(sc, RNG_FROENABLE, RNG_FROENABLE_MASK);
111 HSET4(sc, RNG_CONTROL, RNG_CONTROL_TRNG_EN);
113 timeout_set(&sc->sc_to, mvrng_rnd, sc);
114 mvrng_rnd(sc);
120 struct mvrng_softc *sc = arg;
123 status = HREAD4(sc, RNG_STATUS);
126 HWRITE4(sc, RNG_ALARMMASK, 0);
127 HWRITE4(sc, RNG_ALARMSTOP, 0);
130 detune = ~HREAD4(sc, RNG_FROENABLE) & RNG_FROENABLE_MASK;
131 HSET4(sc, RNG_FRODETUNE, detune);
134 HWRITE4(sc, RNG_FROENABLE, RNG_FROENABLE_MASK);
135 HWRITE4(sc, RNG_STATUS, RNG_STATUS_SHUTDOWN);
138 enqueue_randomness(HREAD4(sc, RNG_OUTPUT0));
139 enqueue_randomness(HREAD4(sc, RNG_OUTPUT1));
140 enqueue_randomness(HREAD4(sc, RNG_OUTPUT2));
141 enqueue_randomness(HREAD4(sc, RNG_OUTPUT3));
142 HWRITE4(sc, RNG_STATUS, RNG_STATUS_READY);
145 timeout_add_sec(&sc->sc_to, 1);