Exchanging data between CPU and FPGA through shared DDR
Patryk <[email protected]> Tue, 19 Aug 2025 12:52:28 +0200
| Newsgroups | org.kernelnewbies.kernelnewbies |
|---|---|
| Message-ID | <CA+DkFDbFbaUGROeuap-dHJzizaG7jbNZ+mPQ7AoJ7LsU72e14A@mail.gmail.com> |
--===============3899759757837796506== Content-Type: multipart/alternative; boundary="000000000000b178d3063cb5a791" --000000000000b178d3063cb5a791 Content-Type: text/plain; charset="UTF-8" Hi, I'm working on a SoC where both the CPU and an FPGA have access to the same DDR memory. I need to exchange data between them. One idea I have is to reserve a portion of DDR via the device tree (reserved-memory node), so that the kernel will not use it, and then use ioremap (or similar) to expose that region to user space so an application can communicate with the FPGA. Is this the right approach, or is there a more recommended mechanism in the kernel for CPU - FPGA data exchange using shared DDR? Best regards Patryk --000000000000b178d3063cb5a791 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr">Hi,<br>I'm working on a SoC where both the CPU and an = FPGA have access to the same DDR memory. I need to exchange data between th= em.<br>One idea I have is to reserve a portion of DDR via the device tree (= reserved-memory node), so that the kernel will not use it, and then use ior= emap (or similar) to expose that region to user space so an application can= communicate with the FPGA. <br><div>Is this the right approach, or is ther= e a more recommended mechanism in the kernel for CPU - FPGA data exchange u= sing shared DDR?</div><div><br></div><div>Best regards</div><div>Patryk</di= v><br></div> --000000000000b178d3063cb5a791-- --===============3899759757837796506== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Kernelnewbies mailing list [email protected] https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies --===============3899759757837796506==--