RTEMS | Add the support for i2c driver in the aarch64/raspberrypi bsp (!363)
Christian Mauderer (@c-mauderer)
gitlab at rtems.org
Wed Jun 25 09:06:21 UTC 2025
Christian Mauderer commented on a discussion on bsps/aarch64/raspberrypi/i2c/raspberrypi-i2c.c: https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/363#note_125269
> +typedef struct {
> + i2c_bus base;
> + uintptr_t input_clock;
> + rtems_id task_id;
> + uintptr_t base_address;
> + raspberrypi_bsc_masters device;
> + uintptr_t remaining_bytes;
> + uintptr_t remaining_transfers;
> + uint8_t *current_buffer;
> + uintptr_t current_buffer_size;
> + bool read_transfer;
> +} raspberrypi_i2c_bus;
> +
> +static void i2c_polling_read( raspberrypi_i2c_bus *bus )
> +{
> + while ( !( S_REG( bus ) & S_DONE ) && ( bus->remaining_bytes > 0 ) ) {
I think the RTEMS i2c framework should have locks already: https://gitlab.rtems.org/rtems/rtos/rtems/-/blob/main/cpukit/dev/i2c/i2c-bus.c?ref_type=heads#L92
The drivers are not intended to be used without the framework. So usually the drivers don't need any special locking. (Except if they use something global shared between instances.)
--
View it on GitLab: https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/363#note_125269
You're receiving this email because of your account on gitlab.rtems.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/bugs/attachments/20250625/98d62fad/attachment.htm>
More information about the bugs
mailing list