GSoC.


GSoC Conclusion : GSoC'21 officially kicked off on the 7th of June. The ideation, programming, mentorship, and consequently GSoC come to an end today, on the 16th of August. This blog aims to be a brief report on all that has happened since.

The Raspberry Pi BSP

Before :

Current State :

Startup Issues :

The BSP not booting up had more than one aspect to it, that we later realised.

The configurations in the config.txt file, the fix for which we’ve added to Docs.

The correct firmware version, which has been updated in the Docs as well.

The issues with the ARMv6 Board specific Startup code, the patch for which has been applied here.

The yaml files for FDT support missing, which were causing problems with the waf build. The patch for which has been applied here.

GPIO :

We tested the GPIO using some LEDs and switches. The GPIO on the BSP works fine. We had a tentative patch for the GPIO code to add some small functionalities, but we have decided against applying that patch, more details about the same can be found in the GPIO blogs. The polled and interrupt driven tests that we used can be found in the gpio_cmd and gpio_irq_cmd files here

I2C :

We tested I2C on the BSP using a BMP280 Temperature sensor. The I2C works fine. The drivers and the application that we wrote can be found in the drivers/BMP280 and bmp280_cmd files here

SPI :

We tested SPI on the BSP using a BMP280 Temperature sensor. The SPI works fine too. The drivers and the application that we wrote can be found in the drivers/BMP280-SPI and bmp280_spi_cmd files here

SMP :

The SMP not working can be attributed to changes to the firmware from the bcm/rpi that the users are not aware about. A simple one line patch to the SMP code got the SMP working again. The patch can be found here

Further Work :

The Raspberry Pi BSPs are now in a pretty good shape. Further, work is to to be done on adding support for the Pi 4 as well as Adding Libbsd support for the BSP.