/* Find and map our resources */
res = platform_get_resource(pdev, IORESOURCE_MEM, 0); if (!res) goto exit_busy; if (!devm_request_mem_region(&pdev->dev, res->start,
resource_size(res), pdev->name)) goto exit_busy;
hw->base = devm_ioremap(&pdev->dev, res->start,
resource_size(res)); if (!hw->base) goto exit_busy;
/* * The SPI clock rate controlled via a configurable clock divider * which is applied to the reference clock. A 50 MHz reference is * most suitable for obtaining standard SPI clock rates, but some * designs may have a different reference clock, and the DT must * make the driver aware so that it can properly program the * requested rate. If the clock is omitted, 50 MHz is assumed.
*/
clock_freq = 50000000;
clk = devm_clk_get(&pdev->dev, "ref_clk"); if (!IS_ERR(clk)) { if (clk_prepare_enable(clk) == 0) {
clock_freq = clk_get_rate(clk);
clk_disable_unprepare(clk);
} else
dev_warn(&pdev->dev, "could not enable ref_clk\n");
}
hw->clock_freq = clock_freq;
/* Initialize all CS bits to high. */
hw->cs_reg = JCORE_SPI_CTRL_CS_BITS;
jcore_spi_baudrate(hw, 400000);
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.