]> git.sur5r.net Git - u-boot/blobdiff - drivers/spi/ti_qspi.c
Merge branch 'master' of git://git.denx.de/u-boot-video
[u-boot] / drivers / spi / ti_qspi.c
index b5c974ce3839b9af2f9043e993dd4b0b4087c713..9a372ad31dae1f30d3508271b4eb67a1ecd93036 100644 (file)
@@ -45,7 +45,7 @@ DECLARE_GLOBAL_DATA_PTR;
 #define QSPI_XFER_DONE                  QSPI_WC
 #define MM_SWITCH                       0x01
 #define MEM_CS(cs)                      ((cs + 1) << 8)
-#define MEM_CS_UNSELECT                 0xfffff0ff
+#define MEM_CS_UNSELECT                 0xfffff8ff
 #define MMAP_START_ADDR_DRA            0x5c000000
 #define MMAP_START_ADDR_AM43x          0x30000000
 #define CORE_CTRL_IO                    0x4a002558
@@ -277,7 +277,7 @@ static int __ti_qspi_xfer(struct ti_qspi_priv *priv, unsigned int bitlen,
 }
 
 /* TODO: control from sf layer to here through dm-spi */
-#ifdef CONFIG_TI_EDMA3
+#if defined(CONFIG_TI_EDMA3) && !defined(CONFIG_DMA)
 void spi_flash_copy_mmap(void *data, void *offset, size_t len)
 {
        unsigned int                    addr = (unsigned int) (data);
@@ -534,11 +534,15 @@ static int ti_qspi_ofdata_to_platdata(struct udevice *bus)
        const void *blob = gd->fdt_blob;
        int node = bus->of_offset;
        fdt_addr_t addr;
+       void *mmap;
 
-       priv->base = (struct ti_qspi_regs *)dev_get_addr(bus);
-       priv->memory_map = (void *)dev_get_addr_index(bus, 1);
+       priv->base = map_physmem(dev_get_addr(bus), sizeof(struct ti_qspi_regs),
+                                MAP_NOCACHE);
+       priv->memory_map = map_physmem(dev_get_addr_index(bus, 1), 0,
+                                      MAP_NOCACHE);
        addr = dev_get_addr_index(bus, 2);
-       priv->ctrl_mod_mmap = (addr == FDT_ADDR_T_NONE) ? NULL : (void *)addr;
+       mmap = map_physmem(dev_get_addr_index(bus, 2), 0, MAP_NOCACHE);
+       priv->ctrl_mod_mmap = (addr == FDT_ADDR_T_NONE) ? NULL : mmap;
 
        priv->max_hz = fdtdec_get_int(blob, node, "spi-max-frequency", -1);
        if (priv->max_hz < 0) {