Lines Matching full:lochnagar
3 * Lochnagar pin and GPIO control
26 #include <linux/mfd/lochnagar.h>
30 #include <dt-bindings/pinctrl/lochnagar.h>
54 static const struct lochnagar_pin lochnagar##REV##_##ID##_pin = { \
55 .name = NAME, .type = LN_PTYPE_GPIO, .reg = LOCHNAGAR##REV##_##REG, \
56 .shift = LOCHNAGAR##REV##_##SHIFT##_SHIFT, .invert = INVERT, \
60 static const struct lochnagar_pin lochnagar##REV##_##ID##_pin = \
93 #define LN_PIN(REV, ID) [LOCHNAGAR##REV##_PIN_##ID] = { \
94 .number = LOCHNAGAR##REV##_PIN_##ID, \
95 .name = lochnagar##REV##_##ID##_pin.name, \
96 .drv_data = (void *)&lochnagar##REV##_##ID##_pin, \
365 LOCHNAGAR##REV##_PIN_##ID##_BCLK, \
366 LOCHNAGAR##REV##_PIN_##ID##_LRCLK, \
367 LOCHNAGAR##REV##_PIN_##ID##_TXDAT, \
368 LOCHNAGAR##REV##_PIN_##ID##_RXDAT,
444 LN_FUNC(lochnagar##REV##_##ID##_pin.name, PIN, OP)
450 LN_FUNC(lochnagar##REV##_##ID##_aif.name, AIF, OP)
609 .name = lochnagar##REV##_##ID##_pin.name, \
611 .pins = &lochnagar##REV##_pins[LOCHNAGAR##REV##_PIN_##ID].number, \
613 .priv = &lochnagar##REV##_pins[LOCHNAGAR##REV##_PIN_##ID], \
617 .name = lochnagar##REV##_##ID##_aif.name, \
619 .pins = lochnagar##REV##_##ID##_aif.pins, \
620 .npins = ARRAY_SIZE(lochnagar##REV##_##ID##_aif.pins), \
621 .priv = &lochnagar##REV##_##ID##_aif, \
711 struct lochnagar *lochnagar; member
798 struct regmap *regmap = priv->lochnagar->regmap; in lochnagar2_get_gpio_chan()
840 switch (priv->lochnagar->type) { in lochnagar_pin_set_mux()
857 ret = regmap_write(priv->lochnagar->regmap, pin->reg, op); in lochnagar_pin_set_mux()
869 struct regmap *regmap = priv->lochnagar->regmap; in lochnagar_aif_set_mux()
940 struct lochnagar *lochnagar = priv->lochnagar; in lochnagar_gpio_request() local
946 if (lochnagar->type == LOCHNAGAR1 || pin->type != LN_PTYPE_MUX) in lochnagar_gpio_request()
991 struct regmap *regmap = priv->lochnagar->regmap; in lochnagar_aif_set_master()
1053 .name = "lochnagar-pinctrl",
1065 struct lochnagar *lochnagar = priv->lochnagar; in lochnagar_gpio_set() local
1084 ret = regmap_update_bits(lochnagar->regmap, pin->reg, in lochnagar_gpio_set()
1139 struct lochnagar *lochnagar = dev_get_drvdata(pdev->dev.parent); in lochnagar_pin_probe() local
1151 priv->lochnagar = lochnagar; in lochnagar_pin_probe()
1168 switch (lochnagar->type) { in lochnagar_pin_probe()
1190 dev_err(dev, "Unknown Lochnagar type: %d\n", lochnagar->type); in lochnagar_pin_probe()
1218 { .compatible = "cirrus,lochnagar-pinctrl" },
1225 .name = "lochnagar-pinctrl",
1234 MODULE_DESCRIPTION("Pinctrl driver for Cirrus Logic Lochnagar Board");