diff options
author | Simon Glass <sjg@chromium.org> | 2013-12-03 16:43:24 -0700 |
---|---|---|
committer | Simon Glass <sjg@chromium.org> | 2013-12-09 12:22:12 -0700 |
commit | 0efc02499f9131bd7e1689ebb8d626ef12387de4 (patch) | |
tree | d6b4296f983ebe381432d7db3b12e4368ec0efe9 /include/spi.h | |
parent | 7b3efc66996b6686ad393b706c323990afa31930 (diff) | |
download | u-boot-0efc02499f9131bd7e1689ebb8d626ef12387de4.tar.gz |
spi_flash: Add spi_flash_probe_fdt() to locate SPI by FDT node
This allows us to put the SPI flash chip inside the SPI interface node,
with U-Boot finding the correct bus and chip select automatically.
Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'include/spi.h')
-rw-r--r-- | include/spi.h | 23 |
1 files changed, 17 insertions, 6 deletions
diff --git a/include/spi.h b/include/spi.h index e2563c99f2..aba792244a 100644 --- a/include/spi.h +++ b/include/spi.h @@ -259,13 +259,24 @@ static inline int spi_w8r8(struct spi_slave *slave, unsigned char byte) * spi_free_slave() to free it later. * * @param blob: Device tree blob - * @param node: SPI peripheral node to use - * @param cs: Chip select to use - * @param max_hz: Maximum SCK rate in Hz (0 for default) - * @param mode: Clock polarity, clock phase and other parameters + * @param slave_node: Slave node to use + * @param spi_node: SPI peripheral node to use * @return pointer to new spi_slave structure */ -struct spi_slave *spi_setup_slave_fdt(const void *blob, int node, - unsigned int cs, unsigned int max_hz, unsigned int mode); +struct spi_slave *spi_setup_slave_fdt(const void *blob, int slave_node, + int spi_node); + +/** + * spi_base_setup_slave_fdt() - helper function to set up a SPI slace + * + * This decodes SPI properties from the slave node to determine the + * chip select and SPI parameters. + * + * @blob: Device tree blob + * @busnum: Bus number to use + * @node: Device tree node for the SPI bus + */ +struct spi_slave *spi_base_setup_slave_fdt(const void *blob, int busnum, + int node); #endif /* _SPI_H_ */ |