Greg Kroah-Hartman | b244131 | 2017-11-01 15:07:57 +0100 | [diff] [blame] | 1 | /* SPDX-License-Identifier: GPL-2.0 */ |
David Brownell | d29389d | 2009-01-06 14:41:41 -0800 | [diff] [blame] | 2 | #ifndef __LINUX_SPI_GPIO_H |
| 3 | #define __LINUX_SPI_GPIO_H |
| 4 | |
| 5 | /* |
| 6 | * For each bitbanged SPI bus, set up a platform_device node with: |
| 7 | * - name "spi_gpio" |
| 8 | * - id the same as the SPI bus number it implements |
| 9 | * - dev.platform data pointing to a struct spi_gpio_platform_data |
| 10 | * |
Linus Walleij | 9b00bc7 | 2018-02-12 13:45:30 +0100 | [diff] [blame] | 11 | * Use spi_board_info with these busses in the usual way. |
Marek Szyprowski | 3c8e1a8 | 2010-06-30 14:27:37 -0600 | [diff] [blame] | 12 | * |
David Brownell | d29389d | 2009-01-06 14:41:41 -0800 | [diff] [blame] | 13 | * If the bitbanged bus is later switched to a "native" controller, |
| 14 | * that platform_device and controller_data should be removed. |
| 15 | */ |
| 16 | |
David Brownell | d29389d | 2009-01-06 14:41:41 -0800 | [diff] [blame] | 17 | /** |
| 18 | * struct spi_gpio_platform_data - parameter for bitbanged SPI master |
David Brownell | d29389d | 2009-01-06 14:41:41 -0800 | [diff] [blame] | 19 | * @num_chipselect: how many slaves to allow |
David Brownell | d29389d | 2009-01-06 14:41:41 -0800 | [diff] [blame] | 20 | */ |
| 21 | struct spi_gpio_platform_data { |
David Brownell | d29389d | 2009-01-06 14:41:41 -0800 | [diff] [blame] | 22 | u16 num_chipselect; |
| 23 | }; |
| 24 | |
| 25 | #endif /* __LINUX_SPI_GPIO_H */ |