diff options
| author | Olof Johansson <olof@lixom.net> | 2018-05-25 16:47:42 -0400 |
|---|---|---|
| committer | Olof Johansson <olof@lixom.net> | 2018-05-25 16:47:42 -0400 |
| commit | 68fc6c839af7da9009bf3fa9da4468c67f3ee5de (patch) | |
| tree | 26cd441e85aa61578ab2f7ea5f17b90280d2d0f4 /include/linux/platform_data | |
| parent | ace2358238d592c5cd4b8e17a420e40a9f97329c (diff) | |
| parent | 0e8d1c4b7613399494720e315f99d21793cacb8c (diff) | |
Merge tag 'imx-soc-4.18' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into next/soc
i.MX SoC update for 4.18:
- A series from Bartosz to convert all i.MX plaform code using
at24_platform_data to use at24 eeprom generic device properties.
- Enable pinctrl driver support for i.MX6SLL SoC.
- Clean up i.MX platform code using spi_imx platform data on outdated
documentation and chip select array usage.
* tag 'imx-soc-4.18' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
ARM: imx: select imx6sll pinctrl when imx6sll enabled
ARM: imx: pcm037: use device properties for at24 eeprom
ARM: imx: pca100: use device properties for at24 eeprom
ARM: imx: pcm043: use device properties for at24 eeprom
ARM: imx: vpr200: drop at24_platform_data
ARM: imx: Update spi_imx platform data to reflect current state
Signed-off-by: Olof Johansson <olof@lixom.net>
Diffstat (limited to 'include/linux/platform_data')
| -rw-r--r-- | include/linux/platform_data/spi-imx.h | 29 |
1 files changed, 17 insertions, 12 deletions
diff --git a/include/linux/platform_data/spi-imx.h b/include/linux/platform_data/spi-imx.h index 6f012fefa1a2..328f670d10bd 100644 --- a/include/linux/platform_data/spi-imx.h +++ b/include/linux/platform_data/spi-imx.h | |||
| @@ -5,24 +5,29 @@ | |||
| 5 | 5 | ||
| 6 | /* | 6 | /* |
| 7 | * struct spi_imx_master - device.platform_data for SPI controller devices. | 7 | * struct spi_imx_master - device.platform_data for SPI controller devices. |
| 8 | * @chipselect: Array of chipselects for this master. Numbers >= 0 mean gpio | 8 | * @chipselect: Array of chipselects for this master or NULL. Numbers >= 0 |
| 9 | * pins, numbers < 0 mean internal CSPI chipselects according | 9 | * mean GPIO pins, -ENOENT means internal CSPI chipselect |
| 10 | * to MXC_SPI_CS(). Normally you want to use gpio based chip | 10 | * matching the position in the array. E.g., if chipselect[1] = |
| 11 | * selects as the CSPI module tries to be intelligent about | 11 | * -ENOENT then a SPI slave using chip select 1 will use the |
| 12 | * when to assert the chipselect: The CSPI module deasserts the | 12 | * native SS1 line of the CSPI. Omitting the array will use |
| 13 | * chipselect once it runs out of input data. The other problem | 13 | * all native chip selects. |
| 14 | * is that it is not possible to mix between high active and low | 14 | |
| 15 | * active chipselects on one single bus using the internal | 15 | * Normally you want to use gpio based chip selects as the CSPI |
| 16 | * chipselects. Unfortunately Freescale decided to put some | 16 | * module tries to be intelligent about when to assert the |
| 17 | * chipselect: The CSPI module deasserts the chipselect once it | ||
| 18 | * runs out of input data. The other problem is that it is not | ||
| 19 | * possible to mix between high active and low active chipselects | ||
| 20 | * on one single bus using the internal chipselects. | ||
| 21 | * Unfortunately, on some SoCs, Freescale decided to put some | ||
| 17 | * chipselects on dedicated pins which are not usable as gpios, | 22 | * chipselects on dedicated pins which are not usable as gpios, |
| 18 | * so we have to support the internal chipselects. | 23 | * so we have to support the internal chipselects. |
| 19 | * @num_chipselect: ARRAY_SIZE(chipselect) | 24 | * |
| 25 | * @num_chipselect: If @chipselect is specified, ARRAY_SIZE(chipselect), | ||
| 26 | * otherwise the number of native chip selects. | ||
| 20 | */ | 27 | */ |
| 21 | struct spi_imx_master { | 28 | struct spi_imx_master { |
| 22 | int *chipselect; | 29 | int *chipselect; |
| 23 | int num_chipselect; | 30 | int num_chipselect; |
| 24 | }; | 31 | }; |
| 25 | 32 | ||
| 26 | #define MXC_SPI_CS(no) ((no) - 32) | ||
| 27 | |||
| 28 | #endif /* __MACH_SPI_H_*/ | 33 | #endif /* __MACH_SPI_H_*/ |
