Lines Matching defs:sc
37 #define HREAD4(sc, reg) \
38 (regmap_read_4((sc)->sc_rm, (sc)->sc_offset + (reg)))
39 #define HWRITE4(sc, reg, val) \
40 regmap_write_4((sc)->sc_rm, (sc)->sc_offset + (reg), (val))
41 #define HSET4(sc, reg, bits) \
42 HWRITE4((sc), (reg), HREAD4((sc), (reg)) | (bits))
43 #define HCLR4(sc, reg, bits) \
44 HWRITE4((sc), (reg), HREAD4((sc), (reg)) & ~(bits))
80 struct mvgpio_softc *sc = (struct mvgpio_softc *)self;
83 sc->sc_rm = regmap_bynode(OF_parent(faa->fa_node));
84 if (sc->sc_rm == NULL) {
88 sc->sc_offset = OF_getpropint(faa->fa_node, "offset", 0);
90 sc->sc_gc.gc_node = faa->fa_node;
91 sc->sc_gc.gc_cookie = sc;
92 sc->sc_gc.gc_config_pin = mvgpio_config_pin;
93 sc->sc_gc.gc_get_pin = mvgpio_get_pin;
94 sc->sc_gc.gc_set_pin = mvgpio_set_pin;
95 gpio_controller_register(&sc->sc_gc);
103 struct mvgpio_softc *sc = cookie;
110 HCLR4(sc, GPIO_DOUTEN, (1 << pin));
112 HSET4(sc, GPIO_DOUTEN, (1 << pin));
118 struct mvgpio_softc *sc = cookie;
127 reg = HREAD4(sc, GPIO_DIN);
128 reg ^= HREAD4(sc, GPIO_DINACTLOW);
139 struct mvgpio_softc *sc = cookie;
149 HSET4(sc, GPIO_DOUT, (1 << pin));
151 HCLR4(sc, GPIO_DOUT, (1 << pin));