Merge pull request #627 from gsomlo/gls-dma-addr-64
authorenjoy-digital <florent@enjoy-digital.fr>
Mon, 10 Aug 2020 19:44:02 +0000 (21:44 +0200)
committerGitHub <noreply@github.com>
Mon, 10 Aug 2020 19:44:02 +0000 (21:44 +0200)
RFC: cores/dma, liblitesdcard/sdcard: use 64 bits for dma base address

litex/soc/cores/dma.py
litex/soc/software/liblitesdcard/sdcard.c

index b116c867cd5fa6af6ef9d9d6601f8efd9ef2c7c3..211664df05b84287d5e4f5689a7a16d3d9c67067 100644 (file)
@@ -72,7 +72,7 @@ class WishboneDMAReader(Module, AutoCSR):
             self.add_csr()
 
     def add_csr(self):
-        self._base   = CSRStorage(32)
+        self._base   = CSRStorage(64)
         self._length = CSRStorage(32)
         self._enable = CSRStorage()
         self._done   = CSRStatus()
@@ -158,7 +158,7 @@ class WishboneDMAWriter(Module, AutoCSR):
         self._sink = self.sink
         self.sink  = stream.Endpoint([("data", self.bus.data_width)])
 
-        self._base   = CSRStorage(32)
+        self._base   = CSRStorage(64)
         self._length = CSRStorage(32)
         self._enable = CSRStorage()
         self._done   = CSRStatus()
index 9c2a56228268711babde945f637f36a9fae8eba4..fc9e3ff0ad8af95aa9e62c5897d078650845f8a8 100644 (file)
@@ -561,7 +561,7 @@ void sdcard_read(uint32_t sector, uint32_t count, uint8_t* buf)
 {
        /* Initialize DMA Writer */
        sdblock2mem_dma_enable_write(0);
-       sdblock2mem_dma_base_write((uint32_t) buf);
+       sdblock2mem_dma_base_write((uint64_t) buf);
        sdblock2mem_dma_length_write(512*count);
        sdblock2mem_dma_enable_write(1);
 
@@ -594,7 +594,7 @@ void sdcard_write(uint32_t sector, uint32_t count, uint8_t* buf)
        while (count--) {
                /* Initialize DMA Reader */
                sdmem2block_dma_enable_write(0);
-               sdmem2block_dma_base_write((uint32_t) buf);
+               sdmem2block_dma_base_write((uint64_t) buf);
                sdmem2block_dma_length_write(512);
                sdmem2block_dma_enable_write(1);