diff --git a/fel-spiflash.c b/fel-spiflash.c index 4359e21..2cc4f47 100644 --- a/fel-spiflash.c +++ b/fel-spiflash.c @@ -144,8 +144,11 @@ static bool spi0_init(feldev_handle *dev) { uint32_t reg_val; soc_info_t *soc_info = dev->soc_info; - if (!soc_info) + if (!soc_info) { + printf("Unable to fetch device information. " + "Possibly unknown device.\n"); return false; + } /* Setup SPI0 pins muxing */ switch (soc_info->soc_id) { @@ -157,6 +160,12 @@ static bool spi0_init(feldev_handle *dev) gpio_set_cfgpin(dev, PC, 2, SUNXI_GPC_SPI0); gpio_set_cfgpin(dev, PC, 3, SUNXI_GPC_SPI0); break; + case 0x1651: /* Allwinner A20 */ + gpio_set_cfgpin(dev, PC, 0, SUNXI_GPC_SPI0); + gpio_set_cfgpin(dev, PC, 1, SUNXI_GPC_SPI0); + gpio_set_cfgpin(dev, PC, 2, SUNXI_GPC_SPI0); + gpio_set_cfgpin(dev, PC, 23, SUNXI_GPC_SPI0); + break; case 0x1689: /* Allwinner A64 */ gpio_set_cfgpin(dev, PC, 0, SUN50I_GPC_SPI0); gpio_set_cfgpin(dev, PC, 1, SUN50I_GPC_SPI0); @@ -164,6 +173,8 @@ static bool spi0_init(feldev_handle *dev) gpio_set_cfgpin(dev, PC, 3, SUN50I_GPC_SPI0); break; default: /* Unknown/Unsupported SoC */ + printf("SPI support not implemented yet for %x (%s)!\n", + soc_info->soc_id, soc_info->name); return false; }