<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html lang="en" style='--code-editor-font: var(--default-mono-font, "GitLab Mono"), JetBrains Mono, Menlo, DejaVu Sans Mono, Liberation Mono, Consolas, Ubuntu Mono, Courier New, andale mono, lucida console, monospace;'>
<head>
<meta content="text/html; charset=US-ASCII" http-equiv="Content-Type">
<title>
GitLab
</title>

<style data-premailer="ignore" type="text/css">
a { color: #1068bf; }
</style>

<style>img {
max-width: 100%; height: auto;
}
body {
font-size: .875rem;
}
body {
-webkit-text-shadow: rgba(255,255,255,.01) 0 0 1px;
}
body {
font-family: "GitLab Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Noto Sans",Ubuntu,Cantarell,"Helvetica Neue",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; font-size: inherit;
}
</style>
</head>
<body style='font-size: inherit; -webkit-text-shadow: rgba(255,255,255,.01) 0 0 1px; font-family: "GitLab Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Noto Sans",Ubuntu,Cantarell,"Helvetica Neue",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";'>
<div class="content">

<p class="details" style="font-style: italic; color: #737278;">
<a href="https://gitlab.rtems.org/skdatar">Shaunak Datar</a> created an issue: <a href="https://gitlab.rtems.org/rtems/programs/gsoc/-/issues/81">#81</a>
</p>
<div class="md" style="position: relative; z-index: 1; color: #28272d; word-wrap: break-word;">
<h2 dir="auto" style="font-size: 1.5em; font-weight: 600; padding-bottom: .3em; border-bottom-width: 1px; border-bottom-color: #bfbfc3; border-bottom-style: solid; color: #28272d; margin: 0 0 16px;" align="initial">
<a href="#background" aria-hidden="true" class="anchor" id="user-content-background" style="margin-top: 0; float: left; margin-left: -20px; text-decoration: none; outline: none;"></a>Background</h2>

<p dir="auto" style="color: #28272d; margin: 0 0 16px;" align="initial">The Raspberry Pi 4B BSP is currently missing support for I2C, PWM, DMA and Mailbox functionalities, which are need for achieving parity with the ARM-based BSP for the Raspberry Pi 3 and to complete work on the sdhci driver which is pending from last year. This project aims to get the Raspberry Pi 4b BSP to be at par with the ARM based Raspberry Pi 3 BSP and add support needed to implement the sdhci driver.</p>
<h2 dir="auto" style="font-size: 1.5em; font-weight: 600; padding-bottom: .3em; border-bottom-width: 1px; border-bottom-color: #bfbfc3; border-bottom-style: solid; color: #28272d; margin: 24px 0 16px;" align="initial">
<a href="#approach" aria-hidden="true" class="anchor" id="user-content-approach" style="margin-top: 0; float: left; margin-left: -20px; text-decoration: none; outline: none;"></a>Approach</h2>
<ol dir="auto" style="text-align: initial; margin: 0; padding: 0;">
<li style="margin-top: 0; line-height: 1.6em; margin-left: 25px; padding-left: 3px;">
<p style="color: #28272d; margin: 0 0 16px;"><strong style="font-weight: 600; margin-top: 0;">I2C Support</strong>: The I2C interface is implemented for the ARM BSP but work on adding support for it in the aarch64 Raspberry Pi 4b BSP is not done yet. For this BSP testing the polling implementation and writing the interrupt driven I2C is pending. Refer the merge request with the polling implementation: <a href="https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/363" data-reference-type="merge_request" data-original="https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/363" data-link="false" data-link-reference="true" data-merge-request="871" data-project="26" data-project-path="rtems/rtos/rtems" data-iid="363" data-container="body" data-placement="top" title="Draft: Add the support for i2c driver in the aarch64/raspberrypi bsp" class="gfm gfm-merge_request">rtems/rtos/rtems!363</a>. You will have to write the RTEMS API to interface I2C devices on a Raspberry Pi 4b.</p>
</li>
<li style="line-height: 1.6em; margin-left: 25px; padding-left: 3px;">
<p style="color: #28272d; margin: 0 0 16px;"><strong style="font-weight: 600; margin-top: 0;">PWM Support</strong>: RTEMS supports PWM with other BSPs like the arm/beagle bsp. Implement the PWM functionality for the BSP refering to the beagle support <a href="https://gitlab.rtems.org/rtems/rtos/rtems/-/tree/main/bsps/arm/beagle/pwm?ref_type=heads">https://gitlab.rtems.org/rtems/rtos/rtems/-/tree/main/bsps/arm/beagle/pwm?ref_type=heads</a>. And reading the chapter 8 of the BCM2711 datasheet(<a href="https://datasheets.raspberrypi.com/bcm2711/bcm2711-peripherals.pdf" rel="nofollow noreferrer noopener" target="_blank">https://datasheets.raspberrypi.com/bcm2711/bcm2711-peripherals.pdf</a>).</p>
</li>
<li style="line-height: 1.6em; margin-left: 25px; padding-left: 3px;">
<p style="color: #28272d; margin: 0 0 16px;"><strong style="font-weight: 600; margin-top: 0;">DMA Support</strong>: The completion of SDHCI driver requires BSP to support DMA, FDT, and mailbox. Last year the FDT support was merged. DMA support is pending. To implement DMA support, refer to Chapter 4 in the BCM2711 datasheet which describes the DMA controllers offered by BCM2711. The implementation needs to support 16 DMA channels (4 DMA Lite, 4 DMA4, and 8 standard channels), Control Block based operations, and Legacy Master addressing for peripherals. This work will enable efficient data transfers and complete the SDHCI driver implementation.</p>
</li>
<li style="line-height: 1.6em; margin-left: 25px; padding-left: 3px;">
<p style="color: #28272d; margin: 0 0 16px;"><strong style="font-weight: 600; margin-top: 0;">Mailbox Support</strong>: Last year's project on the Raspberry Pi 4b BSP mentioned that the sdhci driver is pending and it requires fdt, dma and mailbox support to complete. FDT has already been implemented and hence we will work on adding the mailbox support to the Raspberry Pi 4b BSP. Port the existing mailbox support for Raspberry Pi 3. Update register definitions and implement read and write functionality for the Raspberry Pi 4b BSP. You can refer to the chapter 13 in the BCM2711 datasheet.</p>
</li>
</ol>
</div>

</div>
<div class="footer" style="margin-top: 10px;">
<p style="font-size: small; color: #737278;">

<br>
<a href="https://gitlab.rtems.org/rtems/programs/gsoc/-/issues/81">View it on GitLab</a>.
<br>
You're receiving this email because of your account on <a target="_blank" rel="noopener noreferrer" href="https://gitlab.rtems.org">gitlab.rtems.org</a>. <a href="https://gitlab.rtems.org/-/sent_notifications/bce69374a85d6e2f0e4871bfde494564/unsubscribe" target="_blank" rel="noopener noreferrer">Unsubscribe</a> from this thread · <a href="https://gitlab.rtems.org/-/profile/notifications" target="_blank" rel="noopener noreferrer" class="mng-notif-link">Manage all notifications</a> · <a href="https://gitlab.rtems.org/help" target="_blank" rel="noopener noreferrer" class="help-link">Help</a>
<script type="application/ld+json">{"@context":"http://schema.org","@type":"EmailMessage","action":{"@type":"ViewAction","name":"View Issue","url":"https://gitlab.rtems.org/rtems/programs/gsoc/-/issues/81"}}</script>


</p>
</div>
</body>
</html>