mirror of
https://github.com/AsahiLinux/u-boot
synced 2025-02-17 22:49:02 +00:00
km/spi: overwrite kirkwood_spi weak functions for KM Kirkwood boards
As the SPI NOR and NAND devices share the same hardware pins, the MPP configuration has to be changed when claiming/releasing the bus. The current configuration is saved when claiming and restored when releasing. Furthermore, a general-purpose output is used to switch the chip-select signal. This is now also implemented for the DM part of the kirkwood_spi driver. Signed-off-by: Pascal Linder <pascal.linder@edu.hefr.ch> Signed-off-by: Holger Brunck <holger.brunck@ch.abb.com> Signed-off-by: Stefan Roese <sr@denx.de>
This commit is contained in:
parent
f169653483
commit
53c3050d0d
1 changed files with 31 additions and 0 deletions
|
@ -322,6 +322,37 @@ void board_spi_release_bus(struct spi_slave *slave)
|
|||
kw_gpio_set_value(KM_FLASH_GPIO_PIN, 1);
|
||||
}
|
||||
|
||||
static const u32 spi_mpp_config[] = {
|
||||
MPP1_SPI_MOSI,
|
||||
MPP2_SPI_SCK,
|
||||
MPP3_SPI_MISO,
|
||||
0
|
||||
};
|
||||
|
||||
static u32 spi_mpp_backup[4];
|
||||
|
||||
int mvebu_board_spi_claim_bus(struct udevice *dev)
|
||||
{
|
||||
spi_mpp_backup[3] = 0;
|
||||
|
||||
/* set new spi mpp config and save current one */
|
||||
kirkwood_mpp_conf(spi_mpp_config, spi_mpp_backup);
|
||||
|
||||
kw_gpio_set_value(KM_FLASH_GPIO_PIN, 0);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int mvebu_board_spi_release_bus(struct udevice *dev)
|
||||
{
|
||||
/* restore saved mpp config */
|
||||
kirkwood_mpp_conf(spi_mpp_backup, NULL);
|
||||
|
||||
kw_gpio_set_value(KM_FLASH_GPIO_PIN, 1);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
#if (defined(CONFIG_KM_PIGGY4_88E6061))
|
||||
|
||||
#define PHY_LED_SEL_REG 0x18
|
||||
|
|
Loading…
Add table
Reference in a new issue