mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-12-27 05:23:34 +00:00
623b638607
Add a new implementation of soft_spi that uses device tree to specify the GPIOs. This will replace soft_spi_legacy for boards which use driver model. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Jagannadha Sutradharudu Teki <jagannadh.teki@gmail.com>
34 lines
1.1 KiB
Text
34 lines
1.1 KiB
Text
Soft SPI
|
|
|
|
The soft SPI bus implementation allows the use of GPIO pins to simulate a
|
|
SPI bus. No SPI host is required for this to work. The down-side is that the
|
|
performance will typically be much lower than a real SPI bus.
|
|
|
|
The soft SPI node requires the following properties:
|
|
|
|
compatible: "u-boot,soft-spi"
|
|
soft_spi_cs: GPIO number to use for SPI chip select (output)
|
|
soft_spi_sclk: GPIO number to use for SPI clock (output)
|
|
soft_spi_mosi: GPIO number to use for SPI MOSI line (output)
|
|
soft_spi_miso GPIO number to use for SPI MISO line (input)
|
|
spi-delay-us: Number of microseconds of delay between each CS transition
|
|
|
|
The GPIOs should be specified as required by the GPIO controller referenced.
|
|
The first cell holds the phandle of the controller and the second cell
|
|
typically holds the GPIO number.
|
|
|
|
|
|
Example:
|
|
|
|
soft-spi {
|
|
compatible = "u-boot,soft-spi";
|
|
cs-gpio = <&gpio 235 0>; /* Y43 */
|
|
sclk-gpio = <&gpio 225 0>; /* Y31 */
|
|
mosi-gpio = <&gpio 227 0>; /* Y33 */
|
|
miso-gpio = <&gpio 224 0>; /* Y30 */
|
|
spi-delay-us = <1>;
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
cs@0 {
|
|
};
|
|
};
|