Other Parts Discussed in Thread: SYSBIOS,
Tool/software: TI-RTOS
Hello,
I boot Linux on the A15 core, the IPU and the DSP both run SYSBIOS. All cores communicate using IPC MessageQueues, CMEM is used as shared memory.
Now I'd like to use the IPU for some I2C accesses (UART, GPIOs also planned).
On the IPU I resolved the following issues:
- the interface clock is not activated. I do it manually: *((uint32_t*)0x6a0097b0)=2; This is probably not the recommended way and might better be done using some lines in the xdc config files. I modified the Linux device tree so linux does not use the I2C instance.
-> How should I active the interface clock in SYSBIOS?
- The bitbanding area on the M4 uses the same locations as the peripherals on the L3. The IOMMU remaps 0x6800.0000 to 0x48000.000, so the I2C device appears at 0x6806.0000 (phys 0x4806.0000). Sysbios still looks for it at 0x4806.0000. This is my workaround:
I2C_HwAttrs i2c_attributes;
I2C_socGetInitCfg(DI2C_BUS, &i2c_attributes);
i2c_attributes.baseAddr=0x68060000;
I2C_socSetInitCfg(DI2C_BUS, &i2c_attributes);
And this although I've set the socType for OSAL and CSL to "am572x".
-> How do I tell SYSBIOS the correct address for the peripherals used?
Next step would be to used HW interrupts for the IPU.
-> Is there an example how to use them if the A15 is running Linux?
Using the VPDMA on the DSP would also be a benefit, but I fear the mystical xdctools configs.
I tested some examples for different use cases but getting the xs config files right for a mixed use case is not easy. Is there a way to get a xs/xdctools specialist to look at my config files for DSP and IPU?
Best regards,
Lo2