RTEMS | Add the support for i2c driver in the aarch64/raspberrypi bsp (!363)
Gedare Bloom (@gedare)
gitlab at rtems.org
Tue Jun 24 20:08:44 UTC 2025
Gedare Bloom commented on a discussion on bsps/aarch64/raspberrypi/i2c/raspberrypi-i2c.c: https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/363#note_125175
> +
> + bus->input_clock = clock_rate;
> +
> + return 0;
> +}
> +
> +static int rpi_i2c_setup_transfer( raspberrypi_i2c_bus *bus )
> +{
> + int rv;
> + while ( bus->remaining_transfers > 0 ) {
> + bus->remaining_bytes = bus->remaining_transfers > 1 ?
> + BCM2711_I2C_DLEN_MASK :
> + ( bus->current_buffer_size & BCM2711_I2C_DLEN_MASK
> + );
> + BCM2835_REG( bus->base_address + BCM2711_I2C_DLEN ) = bus->remaining_bytes;
> + S_REG( bus ) = S_ERR | S_CLKT | S_DONE;
I don't understand how this works, because it means the check of `S_REG(bus) & S_DONE` is true at the start of either `i2c_polling_read` or `i2c_polling_write`. How do you test this case?
--
View it on GitLab: https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/363#note_125175
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/20250624/f1902580/attachment.htm>
More information about the bugs
mailing list