]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - drivers/spi/xilinx_spi.c
usb: am437x: Add support for am437x xhci USB host
[karo-tx-uboot.git] / drivers / spi / xilinx_spi.c
index 52a4134f18b956963d8aa65c6a814f57bb9b585e..5ac01846e44cfd9f9468c7d3d906463037ab20fa 100644 (file)
@@ -9,7 +9,7 @@
  * Copyright (c) 2010 Graeme Smecher <graeme.smecher@mail.mcgill.ca>
  * Copyright (c) 2012 Stephan Linz <linz@li-pro.net>
  *
- * Licensed under the GPL-2 or later.
+ * SPDX-License-Identifier:    GPL-2.0+
  *
  * [0]: http://www.xilinx.com/support/documentation
  *
@@ -85,20 +85,20 @@ struct spi_slave *spi_setup_slave(unsigned int bus, unsigned int cs,
                return NULL;
        }
 
-       xilspi = malloc(sizeof(*xilspi));
+       xilspi = spi_alloc_slave(struct xilinx_spi_slave, bus, cs);
        if (!xilspi) {
                printf("XILSPI error: %s: malloc of SPI structure failed\n",
                                __func__);
                return NULL;
        }
-       xilspi->slave.bus = bus;
-       xilspi->slave.cs = cs;
        xilspi->regs = (struct xilinx_spi_reg *)xilinx_spi_base_list[bus];
        xilspi->freq = max_hz;
        xilspi->mode = mode;
        debug("%s: bus:%i cs:%i base:%p mode:%x max_hz:%d\n", __func__,
                bus, cs, xilspi->regs, xilspi->mode, xilspi->freq);
 
+       writel(SPISSR_RESET_VALUE, &xilspi->regs->srr);
+
        return &xilspi->slave;
 }