Update UDMA configuration in line with pulp-open

This commit is contained in:
Michael Rogenmoser 2021-09-21 16:51:02 +02:00
parent 609df214b7
commit b45d16cdd2
3 changed files with 14 additions and 12 deletions

View file

@ -138,21 +138,21 @@
#define ARCHI_UDMA_NB_SPIM 1
#define ARCHI_UDMA_NB_UART 1
#define ARCHI_UDMA_NB_SDIO 1
#define ARCHI_UDMA_NB_I2C 1
#define ARCHI_UDMA_NB_I2C 2
#define ARCHI_UDMA_NB_I2S 1
#define ARCHI_UDMA_NB_CAM 1
#define ARCHI_UDMA_NB_TRACER 1
#define ARCHI_UDMA_NB_FILTER 1
#define ARCHI_UDMA_UART_ID(id) 0
#define ARCHI_UDMA_SPIM_ID(id) 1
#define ARCHI_UDMA_I2C_ID(id) (2 + (id))
#define ARCHI_UDMA_SDIO_ID(id) (4 + (id))
#define ARCHI_UDMA_I2S_ID(id) 5
#define ARCHI_UDMA_CAM_ID(id) 6
#define ARCHI_UDMA_FILTER_ID(id) (7 + (id))
#define ARCHI_UDMA_TRACER_ID(id) 8
#define ARCHI_UDMA_TGEN_ID(id) 9
#define ARCHI_UDMA_UART_ID(id) (0 + (id))
#define ARCHI_UDMA_SPIM_ID(id) (ARCHI_UDMA_NB_UART + (id))
#define ARCHI_UDMA_I2C_ID(id) (ARCHI_UDMA_SPIM_ID(ARCHI_UDMA_NB_SPIM) + (id))
#define ARCHI_UDMA_SDIO_ID(id) (ARCHI_UDMA_I2C_ID(ARCHI_UDMA_NB_I2C) + (id))
#define ARCHI_UDMA_I2S_ID(id) (ARCHI_UDMA_SDIO_ID(ARCHI_UDMA_NB_SDIO) + (id))
#define ARCHI_UDMA_CAM_ID(id) (ARCHI_UDMA_I2S_ID(ARCHI_UDMA_NB_I2S) + (id))
#define ARCHI_UDMA_FILTER_ID(id) (ARCHI_UDMA_CAM_ID(ARCHI_UDMA_NB_CAM) + (id))
#define ARCHI_UDMA_TRACER_ID(id) (ARCHI_UDMA_FILTER_ID(ARCHI_UDMA_NB_FILTER) + (id))
#define ARCHI_UDMA_TGEN_ID(id) (ARCHI_UDMA_TRACER_ID(ARCHI_UDMA_NB_TRACER) + (id))
#define ARCHI_NB_PERIPH 10

View file

@ -23,6 +23,7 @@
#define I2C_CMD_STOP (0x2 << I2C_CMD_OFFSET)
#define I2C_CMD_RD_ACK (0x4 << I2C_CMD_OFFSET)
#define I2C_CMD_RD_NACK (0x6 << I2C_CMD_OFFSET)
#define I2C_CMD_WRB (0x7 << I2C_CMD_OFFSET)
#define I2C_CMD_WR (0x8 << I2C_CMD_OFFSET)
#define I2C_CMD_WAIT (0xA << I2C_CMD_OFFSET)
#define I2C_CMD_RPT (0xC << I2C_CMD_OFFSET)

View file

@ -22,8 +22,9 @@
#define UDMA_I2C_OFFSET(id) UDMA_PERIPH_OFFSET(ARCHI_UDMA_I2C_ID(id))
#define UDMA_I2C_DATA_ADDR(id) (ARCHI_UDMA_ADDR + UDMA_I2C_OFFSET(id) + UDMA_CHANNEL_RX_OFFSET)
#define UDMA_I2C_CMD_ADDR(id) (ARCHI_UDMA_ADDR + UDMA_I2C_OFFSET(id) + UDMA_CHANNEL_TX_OFFSET)
#define UDMA_I2C_CUSTOM_ADDR(id) (ARCHI_UDMA_ADDR + UDMA_I2C_OFFSET(id) + UDMA_CHANNEL_CUSTOM_OFFSET)
#define UDMA_I2C_TX_ADDR(id) (ARCHI_UDMA_ADDR + UDMA_I2C_OFFSET(id) + UDMA_CHANNEL_TX_OFFSET)
#define UDMA_I2C_CMD_ADDR(id) (ARCHI_UDMA_ADDR + UDMA_I2C_OFFSET(id) + UDMA_CHANNEL_CUSTOM_OFFSET)
#define UDMA_I2C_CUSTOM_ADDR(id) (ARCHI_UDMA_ADDR + UDMA_I2C_OFFSET(id) + 0x30) // This is probably not correct but works for now. @adimauro-iis please check
#define ARCHI_SOC_EVENT_I2C_DATA(id) (ARCHI_SOC_EVENT_PERIPH_FIRST_EVT(ARCHI_UDMA_I2C_ID(id)) + 0)
#define ARCHI_SOC_EVENT_I2C_CMD(id) (ARCHI_SOC_EVENT_PERIPH_FIRST_EVT(ARCHI_UDMA_I2C_ID(id)) + 1)