<div dir="ltr"><div>Hey Alan, Sorry for the late reply. <br></div><div>So here's my plan. I initially thought of editing the raspberrypi.h and making it compatible for every RPi bsp. But I think I'll just be working on Aarch64 only. So I'll define everything related to bcm2711, not bcm283x. And After I complete with RPi4 bsp, we can work on how to merge both the headers. <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div>Following up with some additional thoughts:</div></blockquote><div>I have already forked rtems github repo on my profile. <a href="https://github.com/0xNoor/rtems">https://github.com/0xNoor/rtems</a> .Here's the link. I've added 2 additional branches named as noor-dev and noor-master. noor-master server as the backup branch just in case i break anything in my noor-dev branch. I keep on updating the branches with RTEMS:master branch.</div><div><br></div><div>So every time I have a question, I just need to point to the part of the repo? I think that would be ok to do. So do I need to do this for getting a review too? <br></div><div>And Thanks for rt-thread link. It solves my issue for mailbox and others too :)<br></div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, 22 Jul 2022 at 18:24, Alan Cudmore <<a href="mailto:alan.cudmore@gmail.com">alan.cudmore@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div style="overflow-wrap: break-word;" lang="EN-US"><div class="gmail-m_-5390530937805190384WordSection1"><p class="MsoNormal">Hi Noor,</p><p class="MsoNormal">Following up with some additional thoughts:</p><ul style="margin-top:0in" type="disc"><li class="gmail-m_-5390530937805190384MsoListParagraph" style="margin-left:0in">My approach for development for this BSP would be to focus on getting it working on a GitHub fork of the RTEMS repo. It could be messy while you are getting it working, but that is the fun part, in my opinion. If you need help or advice, you could send a message pointing us to parts of your repository.</li><li class="gmail-m_-5390530937805190384MsoListParagraph" style="margin-left:0in">Once you have it working, we can figure out the best way to integrate it. Again, in my opinion, once you have something working, moving code around and reformatting is the easy part!</li><li class="gmail-m_-5390530937805190384MsoListParagraph" style="margin-left:0in">Finally, you can submit the patches of the working BSP.</li></ul><p class="MsoNormal">Does this sound like a reasonable to everyone? It may not make sense for the community to review patches that may end up changing as the BSP is developed.</p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">I am taking a similar approach.. I have been slowly working on a BSP for the Kendryte K210 RISC-V processor. I have it working now, but soon I need to get input for the best way to integrate it with the existing RISC-V BSPs.</p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">Thanks for working on this!</p><p class="MsoNormal">Alan</p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal"><u></u> <u></u></p><div style="border-color:rgb(225,225,225) currentcolor currentcolor;border-style:solid none none;border-width:1pt medium medium;padding:3pt 0in 0in"><p class="MsoNormal" style="border:medium none;padding:0in"><b>From: </b><a href="mailto:alan.cudmore@gmail.com" target="_blank">Alan Cudmore</a><br><b>Sent: </b>Thursday, July 21, 2022 10:59 PM<br><b>To: </b><a href="mailto:joel@rtems.org" target="_blank">joel@rtems.org</a><br><b>Cc: </b><a href="mailto:nooraman5718@gmail.com" target="_blank">Noor Aman</a>; <a href="mailto:devel@rtems.org" target="_blank">rtems-devel@rtems.org</a>; <a href="mailto:heshamelmatary@gmail.com" target="_blank">Hesham Moustafa</a>; <a href="mailto:WKMoore@gmail.com" target="_blank">William Moore</a><br><b>Subject: </b>Re: [PATCH] Arm/raspberrypi.h: Added relevant headers for the bcm2711</p></div><p class="MsoNormal"><u></u> <u></u></p><div><p class="MsoNormal">Joel, I don't think we need to commit the file now.</p><div><p class="MsoNormal">Some suggestions:</p><div><p class="MsoNormal">- Let's not put RPI2 or RPI3 defines or ifdefs in the file if it's only going to be for the Aarch64 RPI4 BSP</p></div><div><p class="MsoNormal">- If it will be only used for the RPI4, it might be confusing to have the BCM2836 defines rather than using BCM2711</p></div><div><p class="MsoNormal">- If we really can share most of the defines between the RPI2 and RPI4 bsps, is there any way we can have a common include in the bsps/shared directory? Something like bcm_soc.h that has common defines for all raspberry Pi models? That would require changes to the Raspberry Pi 1 and 2 BSPs but it would avoid duplication of code.</p></div><div><p class="MsoNormal">I also wonder if we can end up taking advantage of shared drivers such as the pl011 serial driver.</p></div><div><div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">Another source of info that may be helpful is the RT-Thread RTOS. They have RPI 2, 3, and 4 BSPs. The RPI4 has 32 and 64 bit versions. In addition the RTOS is Apache 2.0 licensed, so that may be easier to re-use (Please correct me if I'm wrong on the license usage!)</p></div><div><p class="MsoNormal"><a href="https://github.com/RT-Thread/rt-thread/tree/master/bsp/raspberry-pi/raspi4-64" target="_blank">https://github.com/RT-Thread/rt-thread/tree/master/bsp/raspberry-pi/raspi4-64</a></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">Thanks,</p></div><div><p class="MsoNormal">Alan</p></div></div></div></div></div><p class="MsoNormal"><u></u> <u></u></p><div><div><p class="MsoNormal">On Thu, Jul 21, 2022 at 2:01 PM Joel Sherrill <<a href="mailto:joel@rtems.org" target="_blank">joel@rtems.org</a>> wrote:</p></div><blockquote style="border-color:currentcolor currentcolor currentcolor rgb(204,204,204);border-style:none none none solid;border-width:medium medium medium 1pt;padding:0in 0in 0in 6pt;margin-left:4.8pt;margin-right:0in"><div><div><p class="MsoNormal"><u></u> <u></u></p></div><p class="MsoNormal"><u></u> <u></u></p><div><div><p class="MsoNormal">On Thu, Jul 21, 2022 at 12:32 PM Noor Aman <<a href="mailto:nooraman5718@gmail.com" target="_blank">nooraman5718@gmail.com</a>> wrote:</p></div><blockquote style="border-color:currentcolor currentcolor currentcolor rgb(204,204,204);border-style:none none none solid;border-width:medium medium medium 1pt;padding:0in 0in 0in 6pt;margin-left:4.8pt;margin-right:0in"><div><p class="MsoNormal">I dont think this would be visible to any other application until or unless user explicitly include this header 'raspberrypi.h' in their application. And as of now, this header is only placed in bsps/arm/raspberrypi/includes.</p></div></blockquote><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">Sorry. My mistake. I was thinking it was in bsp.h. :(</p></div><div><p class="MsoNormal"> </p></div><blockquote style="border-color:currentcolor currentcolor currentcolor rgb(204,204,204);border-style:none none none solid;border-width:medium medium medium 1pt;padding:0in 0in 0in 6pt;margin-left:4.8pt;margin-right:0in"><div><div><p class="MsoNormal">For my project I'm thinking of using this header with my project with bcm2711 addresses included. For my project, this header will go under bsps/aarch64/raspberrypi/includes. So I don't think this will create any problem for other BSPs. </p></div></div></blockquote><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">This will be ok. A file has to explicitly include it.</p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">If you think it is ready to commit, I'm happy to do it if Alan or someone else also acks.</p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">--joel </p></div><blockquote style="border-color:currentcolor currentcolor currentcolor rgb(204,204,204);border-style:none none none solid;border-width:medium medium medium 1pt;padding:0in 0in 0in 6pt;margin-left:4.8pt;margin-right:0in"><p class="MsoNormal"><u></u> <u></u></p><div><div><p class="MsoNormal">On Thu, Jul 21, 2022, 10:16 PM Joel Sherrill <<a href="mailto:joel@rtems.org" target="_blank">joel@rtems.org</a>> wrote:</p></div><blockquote style="border-color:currentcolor currentcolor currentcolor rgb(204,204,204);border-style:none none none solid;border-width:medium medium medium 1pt;padding:0in 0in 0in 6pt;margin-left:4.8pt;margin-right:0in"><div><p class="MsoNormal">This looks generally ok but is all this visible to any application that includes bsp.h? </p><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">It might all need to be moved into a separate header to avoid contaminating everyone's namespace.</p></div></div><p class="MsoNormal"><u></u> <u></u></p><div><div><p class="MsoNormal">On Thu, Jul 21, 2022, 10:56 AM Noor Aman <<a href="mailto:nooraman5718@gmail.com" target="_blank">nooraman5718@gmail.com</a>> wrote:</p></div><blockquote style="border-color:currentcolor currentcolor currentcolor rgb(204,204,204);border-style:none none none solid;border-width:medium medium medium 1pt;padding:0in 0in 0in 6pt;margin-left:4.8pt;margin-right:0in"><div><div><p class="MsoNormal">A brief gist of what i found compatible with the older code</p></div><div><p class="MsoNormal">---COMPATIBLE HEADER---</p></div><div><p class="MsoNormal">- BCM2835 timer</p></div><div><p class="MsoNormal">- GPIO</p></div><div><p class="MsoNormal">- AUX</p></div><div><p class="MsoNormal">- GPU timer</p></div><div><p class="MsoNormal">---DIDNT CHECK---</p></div><div><p class="MsoNormal">- SPI</p></div><div><p class="MsoNormal">- I2C</p></div><div><p class="MsoNormal">---MINOR CHNAGE---</p></div><div><p class="MsoNormal">- IRQ</p></div><div><p class="MsoNormal">- FIQ</p></div><div><p class="MsoNormal">---NOT SURE ABOUT---</p></div><div><p class="MsoNormal">- Watchdog</p></div><div><p class="MsoNormal">- Power management</p></div><div><p class="MsoNormal">- Mailbox register</p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">I didnt get any info about power management or watchdog or mailboxes. (It isnt in the BCM2835 Documention too I think??)</p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">And to answer your question Alan about if the Aarch64 would require a DTB or not which you asked me quite earlier. I can say now, you dont, because every address is defined here already so no need for the DTB.</p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">diff --git a/bsps/aarch64/raspberrypi/include/bsp/raspberrypi.h b/bsps/aarch64/raspberrypi/include/bsp/raspberrypi.h</p></div><p class="MsoNormal">index eeb48c42f1..a4ed2a01d1 100644<br>--- a/bsps/aarch64/raspberrypi/include/bsp/raspberrypi.h<br>+++ b/bsps/aarch64/raspberrypi/include/bsp/raspberrypi.h<br>@@ -52,15 +52,23 @@<br>  * @{<br>  */<br> <br>-#if (BSP_IS_RPI2 == 1)<br>-  #define RPI_PERIPHERAL_BASE    0x3F000000<br>+#if (RPI_BSP == RPI2)<br>+  #define RPI_PERIPHERAL_BASE    0X3F000000<br>   #define BASE_OFFSET            0X3F000000<br>+<br>+#elif (RPI_BSP == RPI4)<br>+  #define RPI_PERIPHERAL_BASE 0xFE000000<br>+  #define BASE_OFFSET 0xFE000000<br>+  #define RPI_PERIPHERAL_SIZE    0x01800000<br>+<br> #else<br>   #define RPI_PERIPHERAL_BASE    0x20000000<br>   #define BASE_OFFSET            0X5E000000<br>+  <br> #endif<br> <br>-#define RPI_PERIPHERAL_SIZE      0x01000000<br>+#ifndef RPI_PERIPHERAL_SIZE<br>+#define RPI_PERIPHERAL_SIZE     0x01000000<br> <br> /**<br>  * @name Bus to Physical address translation<br>@@ -543,6 +551,188 @@<br> #define BCM2836_IRQ_SOURCE_PMU            0x00000200<br> #define BCM2836_IRQ_SOURCE_LOCAL_TIMER    0x00000800<br> <br>+<br>+<br>+/**<br>+ * @name Raspberry Pi 4 ARM_LOCAL registers<br>+ *<br>+ * @{<br>+ */<br>+<br>+#define BCM2711_LOCAL_REGS_BASE   0x4C0000000<br>+<br>+#define BCM2711_LOCAL_ARM_CONTROL     (BCM2711_LOCAL_REGS_BASE + 0x00)<br>+#define BCM2711_LOCAL_CORE_IRQ_CONTROL (BCM2711_LOCAL_REGS_BASE + 0x0c)<br>+#define BCM2711_LOCAL_PMU_CONTROL_SET (BCM2711_LOCAL_REGS_BASE + 0x10)<br>+#define BCM2711_LOCAL_PMU_CONTROL_CLR (BCM2711_LOCAL_REGS_BASE + 0x14)<br>+#define BCM2711_LOCAL_PERI_IRQ_ROUTE0 (BCM2711_LOCAL_REGS_BASE + 0x24)<br>+#define BCM2711_LOCAL_AXI_QUIET_TIME (BCM2711_LOCAL_REGS_BASE + 0x30)<br>+#define BCM2711_LOCAL_LOCAL_TIMER_CONTROL (BCM2711_LOCAL_REGS_BASE + 0x34)<br>+#define BCM2711_LOCAL_LOCAL_TIMER_IRQ       (BCM2711_LOCAL_REGS_BASE + 0x38)<br>+<br>+#define BCM2711_LOCAL_TIMER_CNTRL0       (BCM2711_LOCAL_REGS_BASE + 0x40)<br>+#define BCM2711_LOCAL_TIMER_CNTRL1 (BCM2711_LOCAL_REGS_BASE + 0x44)<br>+#define BCM2711_LOCAL_TIMER_CNTRL2 (BCM2711_LOCAL_REGS_BASE + 0x48)<br>+#define BCM2711_LOCAL_TIMER_CNTRL3 (BCM2711_LOCAL_REGS_BASE + 0x4c)<br>+<br>+#define BCM2711_LOCAL_MAILBOX_CNTRL0 (BCM2711_LOCAL_REGS_BASE + 0x50)<br>+#define BCM2711_LOCAL_MAILBOX_CNTRL1 (BCM2711_LOCAL_REGS_BASE + 0x54)<br>+#define BCM2711_LOCAL_MAILBOX_CNTRL2 (BCM2711_LOCAL_REGS_BASE + 0x58)<br>+#define BCM2711_LOCAL_MAILBOX_CNTRL3 (BCM2711_LOCAL_REGS_BASE + 0x5c)<br>+<br>+#define BCM2711_LOCAL_IRQ_SOURCE0 (BCM2711_LOCAL_REGS_BASE + 0x60)<br>+#define BCM2711_LOCAL_IRQ_SOURCE1 (BCM2711_LOCAL_REGS_BASE + 0x64)<br>+#define BCM2711_LOCAL_IRQ_SOURCE2 (BCM2711_LOCAL_REGS_BASE + 0x68)<br>+#define BCM2711_LOCAL_IRQ_SOURCE3 (BCM2711_LOCAL_REGS_BASE + 0x6c)<br>+<br>+#define BCM2711_LOCAL_FIQ_SOURCE0 (BCM2711_LOCAL_REGS_BASE + 0x70)<br>+#define BCM2711_LOCAL_FIQ_SOURCE1 (BCM2711_LOCAL_REGS_BASE + 0x74)<br>+#define BCM2711_LOCAL_FIQ_SOURCE2 (BCM2711_LOCAL_REGS_BASE + 0x78)<br>+#define BCM2711_LOCAL_FIQ_SOURCE3 (BCM2711_LOCAL_REGS_BASE + 0x7c)<br>+<br>+<br>+/**<br>+ * @name Raspberry Pi 4 ARM_C FIQ and IRQ registers<br>+ *<br>+ * @{<br>+ */<br>+<br>+#define BCM2711_ARMC_REGS_BASE (RPI_PERIPHERAL_BASE + 0xB200)<br>+<br>+#define BCM2711_ARMC_IRQ0_PENDING0 (BCM2711_ARMC_REGS_BASE + 0x00) <br>+#define BCM2711_ARMC_IRQ0_PENDING1 (BCM2711_ARMC_REGS_BASE + 0x04) <br>+#define BCM2711_ARMC_IRQ0_PENDING2 (BCM2711_ARMC_REGS_BASE + 0x08) <br>+#define BCM2711_ARMC_IRQ0_SET_EN_0   (BCM2711_ARMC_REGS_BASE + 0x10) <br>+#define BCM2711_ARMC_IRQ0_SET_EN_1   (BCM2711_ARMC_REGS_BASE + 0x14) <br>+#define BCM2711_ARMC_IRQ0_SET_EN_2   (BCM2711_ARMC_REGS_BASE + 0x18) <br>+#define BCM2711_ARMC_IRQ0_CLR_EN_0 (BCM2711_ARMC_REGS_BASE + 0x20) <br>+#define BCM2711_ARMC_IRQ0_CLR_EN_1 (BCM2711_ARMC_REGS_BASE + 0x24) <br>+#define BCM2711_ARMC_IRQ0_CLR_EN_2 (BCM2711_ARMC_REGS_BASE + 0x28) <br>+<br>+#define BCM2711_ARMC_IRQ_STATUS0 (BCM2711_ARMC_REGS_BASE + 0x30) <br>+#define BCM2711_ARMC_IRQ_STATUS1 (BCM2711_ARMC_REGS_BASE + 0x34) <br>+#define BCM2711_ARMC_IRQ_STATUS2 (BCM2711_ARMC_REGS_BASE + 0x38)<br>+<br>+#define BCM2711_ARMC_IRQ1_PENDING0 (BCM2711_ARMC_REGS_BASE + 0x40) <br>+#define BCM2711_ARMC_IRQ1_PENDING1 (BCM2711_ARMC_REGS_BASE + 0x44) <br>+#define BCM2711_ARMC_IRQ1_PENDING2 (BCM2711_ARMC_REGS_BASE + 0x48) <br>+#define BCM2711_ARMC_IRQ1_SET_EN_0 (BCM2711_ARMC_REGS_BASE + 0x50) <br>+#define BCM2711_ARMC_IRQ1_SET_EN_1 (BCM2711_ARMC_REGS_BASE + 0x54) <br>+#define BCM2711_ARMC_IRQ1_SET_EN_2 (BCM2711_ARMC_REGS_BASE + 0x58) <br>+#define BCM2711_ARMC_IRQ1_CLR_EN_0 (BCM2711_ARMC_REGS_BASE + 0x60) <br>+#define BCM2711_ARMC_IRQ1_CLR_EN_1 (BCM2711_ARMC_REGS_BASE + 0x64) <br>+#define BCM2711_ARMC_IRQ1_CLR_EN_2 (BCM2711_ARMC_REGS_BASE + 0x68) <br>+<br>+#define BCM2711_ARMC_IRQ2_PENDING0 (BCM2711_ARMC_REGS_BASE + 0x80) <br>+#define BCM2711_ARMC_IRQ2_PENDING1 (BCM2711_ARMC_REGS_BASE + 0x84) <br>+#define BCM2711_ARMC_IRQ2_PENDING2 (BCM2711_ARMC_REGS_BASE + 0x88) <br>+#define BCM2711_ARMC_IRQ2_SET_EN_0 (BCM2711_ARMC_REGS_BASE + 0x90) <br>+#define BCM2711_ARMC_IRQ2_SET_EN_1 (BCM2711_ARMC_REGS_BASE + 0x94) <br>+#define BCM2711_ARMC_IRQ2_SET_EN_2 (BCM2711_ARMC_REGS_BASE + 0x98) <br>+#define BCM2711_ARMC_IRQ2_CLR_EN_0 (BCM2711_ARMC_REGS_BASE + 0xA0) <br>+#define BCM2711_ARMC_IRQ2_CLR_EN_1 (BCM2711_ARMC_REGS_BASE + 0xA4) <br>+#define BCM2711_ARMC_IRQ2_CLR_EN_2 (BCM2711_ARMC_REGS_BASE + 0xA8) <br>+<br>+#define BCM2711_ARMC_IRQ3_PENDING0 (BCM2711_ARMC_REGS_BASE + 0xC0) <br>+#define BCM2711_ARMC_IRQ3_PENDING1 (BCM2711_ARMC_REGS_BASE + 0xC4) <br>+#define BCM2711_ARMC_IRQ3_PENDING2 (BCM2711_ARMC_REGS_BASE + 0xC8) <br>+#define BCM2711_ARMC_IRQ3_SET_EN_0 (BCM2711_ARMC_REGS_BASE + 0xD0) <br>+#define BCM2711_ARMC_IRQ3_SET_EN_1 (BCM2711_ARMC_REGS_BASE + 0xD4) <br>+#define BCM2711_ARMC_IRQ3_SET_EN_2 (BCM2711_ARMC_REGS_BASE + 0xD8) <br>+#define BCM2711_ARMC_IRQ3_CLR_EN_0 (BCM2711_ARMC_REGS_BASE + 0xE0) <br>+#define BCM2711_ARMC_IRQ3_CLR_EN_1 (BCM2711_ARMC_REGS_BASE + 0xE4) <br>+#define BCM2711_ARMC_IRQ3_CLR_EN_2 (BCM2711_ARMC_REGS_BASE + 0xE8)<br>+<br>+<br>+<br>+#define BCM2711_ARMC_FIQ0_PENDING0 (BCM2711_ARMC_REGS_BASE + 0x100) <br>+#define BCM2711_ARMC_FIQ0_PENDING1 (BCM2711_ARMC_REGS_BASE + 0x104) <br>+#define BCM2711_ARMC_FIQ0_PENDING2 (BCM2711_ARMC_REGS_BASE + 0x108) <br>+#define BCM2711_ARMC_FIQ0_SET_EN_0   (BCM2711_ARMC_REGS_BASE + 0x110) <br>+#define BCM2711_ARMC_FIQ0_SET_EN_1   (BCM2711_ARMC_REGS_BASE + 0x114) <br>+#define BCM2711_ARMC_FIQ0_SET_EN_2   (BCM2711_ARMC_REGS_BASE + 0x118) <br>+#define BCM2711_ARMC_FIQ0_CLR_EN_0 (BCM2711_ARMC_REGS_BASE + 0x120) <br>+#define BCM2711_ARMC_FIQ0_CLR_EN_1 (BCM2711_ARMC_REGS_BASE + 0x124) <br>+#define BCM2711_ARMC_FIQ0_CLR_EN_2 (BCM2711_ARMC_REGS_BASE + 0x128)<br>+<br>+#define BCM2711_ARMC_FIQ1_PENDING0 (BCM2711_ARMC_REGS_BASE + 0x140) <br>+#define BCM2711_ARMC_FIQ1_PENDING1 (BCM2711_ARMC_REGS_BASE + 0x144) <br>+#define BCM2711_ARMC_FIQ1_PENDING2 (BCM2711_ARMC_REGS_BASE + 0x148) <br>+#define BCM2711_ARMC_FIQ1_SET_EN_0   (BCM2711_ARMC_REGS_BASE + 0x150) <br>+#define BCM2711_ARMC_FIQ1_SET_EN_1   (BCM2711_ARMC_REGS_BASE + 0x154) <br>+#define BCM2711_ARMC_FIQ1_SET_EN_2   (BCM2711_ARMC_REGS_BASE + 0x158) <br>+#define BCM2711_ARMC_FIQ1_CLR_EN_0 (BCM2711_ARMC_REGS_BASE + 0x160) <br>+#define BCM2711_ARMC_FIQ1_CLR_EN_1 (BCM2711_ARMC_REGS_BASE + 0x164) <br>+#define BCM2711_ARMC_FIQ1_CLR_EN_2 (BCM2711_ARMC_REGS_BASE + 0x168)<br>+<br>+#define BCM2711_ARMC_FIQ2_PENDING0 (BCM2711_ARMC_REGS_BASE + 0x180) <br>+#define BCM2711_ARMC_FIQ2_PENDING1 (BCM2711_ARMC_REGS_BASE + 0x184) <br>+#define BCM2711_ARMC_FIQ2_PENDING2 (BCM2711_ARMC_REGS_BASE + 0x188) <br>+#define BCM2711_ARMC_FIQ2_SET_EN_0   (BCM2711_ARMC_REGS_BASE + 0x190) <br>+#define BCM2711_ARMC_FIQ2_SET_EN_1   (BCM2711_ARMC_REGS_BASE + 0x194) <br>+#define BCM2711_ARMC_FIQ2_SET_EN_2   (BCM2711_ARMC_REGS_BASE + 0x198) <br>+#define BCM2711_ARMC_FIQ2_CLR_EN_0 (BCM2711_ARMC_REGS_BASE + 0x1A0) <br>+#define BCM2711_ARMC_FIQ2_CLR_EN_1 (BCM2711_ARMC_REGS_BASE + 0x1A4) <br>+#define BCM2711_ARMC_FIQ2_CLR_EN_2 (BCM2711_ARMC_REGS_BASE + 0x1A8)<br>+<br>+#define BCM2711_ARMC_FIQ3_PENDING0 (BCM2711_ARMC_REGS_BASE + 0x1C0) <br>+#define BCM2711_ARMC_FIQ3_PENDING1 (BCM2711_ARMC_REGS_BASE + 0x1C4) <br>+#define BCM2711_ARMC_FIQ3_PENDING2 (BCM2711_ARMC_REGS_BASE + 0x1C8) <br>+#define BCM2711_ARMC_FIQ3_SET_EN_0   (BCM2711_ARMC_REGS_BASE + 0x1D0) <br>+#define BCM2711_ARMC_FIQ3_SET_EN_1   (BCM2711_ARMC_REGS_BASE + 0x1D4) <br>+#define BCM2711_ARMC_FIQ3_SET_EN_2   (BCM2711_ARMC_REGS_BASE + 0x1D8) <br>+#define BCM2711_ARMC_FIQ3_CLR_EN_0 (BCM2711_ARMC_REGS_BASE + 0x1E0) <br>+#define BCM2711_ARMC_FIQ3_CLR_EN_1 (BCM2711_ARMC_REGS_BASE + 0x1E4) <br>+#define BCM2711_ARMC_FIQ3_CLR_EN_2 (BCM2711_ARMC_REGS_BASE + 0x1E8)<br>+<br>+#define BCM2711_ARMC_SWIRQ_SET   (BCM2711_ARMC_REGS_BASE + 0x1F0) <br>+#define BCM2711_ARMC_SWIRQ_CLEAR   (BCM2711_ARMC_REGS_BASE + 0x1F4) <br>+ <br>+<br>+/**<br>+ * @name Raspberry Pi 4 Mailbox registers<br>+ *<br>+ * @{<br>+ */<br>+<br>+<br>+<br>+#define BCM2711_MAILBOX_00_WRITE_SET_BASE   0x4C000080<br>+#define BCM2711_MAILBOX_01_WRITE_SET_BASE   0x4C000084<br>+#define BCM2711_MAILBOX_02_WRITE_SET_BASE   0x4C000088<br>+#define BCM2711_MAILBOX_03_WRITE_SET_BASE   0x4C00008C<br>+#define BCM2711_MAILBOX_04_WRITE_SET_BASE   0x4C000090<br>+#define BCM2711_MAILBOX_05_WRITE_SET_BASE   0x4C000094<br>+#define BCM2711_MAILBOX_06_WRITE_SET_BASE   0x4C000098<br>+#define BCM2711_MAILBOX_07_WRITE_SET_BASE   0x4C00009C<br>+#define BCM2711_MAILBOX_08_WRITE_SET_BASE   0x4C0000A0<br>+#define BCM2711_MAILBOX_09_WRITE_SET_BASE   0x4C0000A4<br>+#define BCM2711_MAILBOX_10_WRITE_SET_BASE   0x4C0000A8<br>+#define BCM2711_MAILBOX_11_WRITE_SET_BASE   0x4C0000AC<br>+#define BCM2711_MAILBOX_12_WRITE_SET_BASE   0x4C0000B0<br>+#define BCM2711_MAILBOX_13_WRITE_SET_BASE   0x4C0000B4<br>+#define BCM2711_MAILBOX_14_WRITE_SET_BASE   0x4C0000B8<br>+#define BCM2711_MAILBOX_15_WRITE_SET_BASE   0x4C0000BC<br>+<br>+#define BCM2711_MAILBOX_00_READ_CLEAR_BASE   0x4C0000C0<br>+#define BCM2711_MAILBOX_01_READ_CLEAR_BASE   0x4C0000C4<br>+#define BCM2711_MAILBOX_02_READ_CLEAR_BASE   0x4C0000C8<br>+#define BCM2711_MAILBOX_03_READ_CLEAR_BASE   0x4C0000CC<br>+#define BCM2711_MAILBOX_04_READ_CLEAR_BASE   0x4C0000D0<br>+#define BCM2711_MAILBOX_05_READ_CLEAR_BASE   0x4C0000D4<br>+#define BCM2711_MAILBOX_06_READ_CLEAR_BASE   0x4C0000D8<br>+#define BCM2711_MAILBOX_07_READ_CLEAR_BASE   0x4C0000DC<br>+#define BCM2711_MAILBOX_08_READ_CLEAR_BASE   0x4C0000E0<br>+#define BCM2711_MAILBOX_09_READ_CLEAR_BASE   0x4C0000E4<br>+#define BCM2711_MAILBOX_10_READ_CLEAR_BASE   0x4C0000E8<br>+#define BCM2711_MAILBOX_11_READ_CLEAR_BASE   0x4C0000EC<br>+#define BCM2711_MAILBOX_12_READ_CLEAR_BASE   0x4C0000F0<br>+#define BCM2711_MAILBOX_13_READ_CLEAR_BASE   0x4C0000F4<br>+#define BCM2711_MAILBOX_14_READ_CLEAR_BASE   0x4C0000F8<br>+#define BCM2711_MAILBOX_15_READ_CLEAR_BASE   0x4C0000FC<br>+<br>+<br>+<br> /** @} */<br> <br> #endif /* LIBBSP_ARM_RASPBERRYPI_RASPBERRYPI_H */</p></div></blockquote></div></blockquote></div></blockquote></div></div></blockquote></div><p class="MsoNormal" style="margin-left:19.2pt">_______________________________________________<br>devel mailing list<br><a href="mailto:devel@rtems.org" target="_blank">devel@rtems.org</a><br><a href="http://lists.rtems.org/mailman/listinfo/devel" target="_blank">http://lists.rtems.org/mailman/listinfo/devel</a></p><p class="MsoNormal"><u></u> <u></u></p></div></div>
</blockquote></div>