/* * Resetting dout isn't necessary protocol wise, but it makes the * signals more pretty because the dout level is deterministic between * cycles. Note that this only affects dout between the master and the * first siox device. dout for the later devices depend on the output of * the previous siox device.
*/
gpiod_set_value_cansleep(ddata->dout, 0);
ddata->din = devm_gpiod_get(dev, "din", GPIOD_IN); if (IS_ERR(ddata->din)) return dev_err_probe(dev, PTR_ERR(ddata->din), "Failed to get din GPIO\n");
ddata->dout = devm_gpiod_get(dev, "dout", GPIOD_OUT_LOW); if (IS_ERR(ddata->dout)) return dev_err_probe(dev, PTR_ERR(ddata->dout), "Failed to get dout GPIO\n");
ddata->dclk = devm_gpiod_get(dev, "dclk", GPIOD_OUT_LOW); if (IS_ERR(ddata->dclk)) return dev_err_probe(dev, PTR_ERR(ddata->dclk), "Failed to get dclk GPIO\n");
ddata->dld = devm_gpiod_get(dev, "dld", GPIOD_OUT_LOW); if (IS_ERR(ddata->dld)) return dev_err_probe(dev, PTR_ERR(ddata->dld), "Failed to get dld GPIO\n");
smaster->pushpull = siox_gpio_pushpull; /* XXX: determine automatically like spi does */
smaster->busno = 0;
ret = devm_siox_master_register(dev, smaster); if (ret) return dev_err_probe(dev, ret, "Failed to register siox master\n");
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.