mirror of
https://github.com/torvalds/linux.git
synced 2024-11-11 14:42:24 +00:00
at32ap700x spi: enable pullups on MISO
This is a minor tweak to the at32ap700x pin configuration for the SPI input pin (MISO), enabling the on-chip weak pullup (typical 190K) to (a) ensure a fixed data value for missing or input-only slaves; (b) prevent power waste associated with inputs floating near VDDIO/2. Atmel's boards have no external pullup or pulldown on these pins, so it's unlikely other boards would address these issues with external pulldowns. Were there trouble, board-specific code could turn off the relevant pullup(s). Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Haavard Skinnemoen <haavard.skinnemoen@atmel.com>
This commit is contained in:
parent
7ef31e9c4e
commit
9c2baf785e
@ -1181,7 +1181,8 @@ at32_add_device_spi(unsigned int id, struct spi_board_info *b, unsigned int n)
|
||||
switch (id) {
|
||||
case 0:
|
||||
pdev = &atmel_spi0_device;
|
||||
select_peripheral(PA(0), PERIPH_A, 0); /* MISO */
|
||||
/* pullup MISO so a level is always defined */
|
||||
select_peripheral(PA(0), PERIPH_A, AT32_GPIOF_PULLUP);
|
||||
select_peripheral(PA(1), PERIPH_A, 0); /* MOSI */
|
||||
select_peripheral(PA(2), PERIPH_A, 0); /* SCK */
|
||||
at32_spi_setup_slaves(0, b, n, spi0_pins);
|
||||
@ -1189,7 +1190,8 @@ at32_add_device_spi(unsigned int id, struct spi_board_info *b, unsigned int n)
|
||||
|
||||
case 1:
|
||||
pdev = &atmel_spi1_device;
|
||||
select_peripheral(PB(0), PERIPH_B, 0); /* MISO */
|
||||
/* pullup MISO so a level is always defined */
|
||||
select_peripheral(PB(0), PERIPH_B, AT32_GPIOF_PULLUP);
|
||||
select_peripheral(PB(1), PERIPH_B, 0); /* MOSI */
|
||||
select_peripheral(PB(5), PERIPH_B, 0); /* SCK */
|
||||
at32_spi_setup_slaves(1, b, n, spi1_pins);
|
||||
|
Loading…
Reference in New Issue
Block a user