pru: BeagleBone Firmware upgrade to Debian 11.7 Bullseye (#6577)

* Porting BeagleBone to Kernel 5.10

* Fixing issue with installation for BeagleBone.

This fix resolve 2 issue:
1. Conflict with AVR packages.
2. "klipper_pru" script is executed before PRU cores are ready

* Adding additional steps to BeagleBone install guide.

* Updating BeagleBone documentation, adding different use cases, adding buses configurations SPI, I2C, CAN, UART

Signed-off-by: Oleg Gavavka <work@datalink.net.ua>
This commit is contained in:
Oleg Gavavka 2024-04-27 18:01:57 +03:00 committed by GitHub
parent 0b329c5d28
commit b1eec53ff4
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
23 changed files with 565 additions and 2601 deletions

View file

@ -41,10 +41,10 @@
*/
#include <pru_virtqueue.h>
#ifndef __GNUC__
volatile register uint32_t __R31;
#else
#ifdef __GNUC__
#include <pru/io.h>
#else
volatile register uint32_t __R31;
#endif
/* bit 5 is the valid strobe to generate system events with __R31 */
@ -131,19 +131,12 @@ int16_t pru_virtqueue_kick(
struct pru_virtqueue *vq
)
{
unsigned int r31;
/* If requested, do not kick the ARM host */
if (vq->vring.avail->flags & VRING_AVAIL_F_NO_INTERRUPT)
return PRU_VIRTQUEUE_NO_KICK;
/* Generate a system event to kick the ARM */
r31 = (INT_ENABLE | (vq->to_arm_event - INT_OFFSET));
#ifdef __GNUC__
write_r31(r31);
#else
__R31 = r31;
#endif
__R31 = (INT_ENABLE | (vq->to_arm_event - INT_OFFSET));
return PRU_VIRTQUEUE_SUCCESS;
}