I am trying to run lvgl demos included in sdk on NT35510 display. So far I managed to add missing referenced not quite updated with most recent SDK but I also needed to add definitions for BL808 DMA support
in file drivers\lhal\include\bflb_dma.h I added following:
(line 166)
#elif defined(BL808) || defined(BL606P)
/* @defgroup DMA_PERIPHERAL_REGBASE dma peripheral data register address definition*
-
- @{*
-
/
#define DMA_ADDR_UART0_TDR (0x2000A000 + 0x88)
#define DMA_ADDR_UART0_RDR (0x2000A000 + 0x8C)
#define DMA_ADDR_UART1_TDR (0x2000A100 + 0x88)
#define DMA_ADDR_UART1_RDR (0x2000A100 + 0x8C)
#define DMA_ADDR_UART2_TDR (0x2000AA00 + 0x88)
#define DMA_ADDR_UART2_RDR (0x2000AA00 + 0x8C)
#define DMA_ADDR_UART3_TDR (0x30002000 + 0x88)
#define DMA_ADDR_UART3_RDR (0x30002000 + 0x8C)
#define DMA_ADDR_I2C0_TDR (0x2000A300 + 0x88)
#define DMA_ADDR_I2C0_RDR (0x2000A300 + 0x8C)
#define DMA_ADDR_I2C1_TDR (0x2000A900 + 0x88)
#define DMA_ADDR_I2C1_RDR (0x2000A900 + 0x8C)
#define DMA_ADDR_I2C2_TDR (0x30003000 + 0x88)
#define DMA_ADDR_I2C2_RDR (0x30003000 + 0x8C)
#define DMA_ADDR_I2C3_TDR (0x30004000 + 0x88)
#define DMA_ADDR_I2C3_RDR (0x30004000 + 0x8C)
#define DMA_ADDR_SPI0_TDR (0x2000A200 + 0x88)
#define DMA_ADDR_SPI0_RDR (0x2000A200 + 0x8C)
#define DMA_ADDR_SPI1_TDR (0x30008000 + 0x88)
#define DMA_ADDR_SPI1_RDR (0x30008000 + 0x8C)
#define DMA_ADDR_I2S_TDR (0x2000AB00 + 0x88)
#define DMA_ADDR_I2S_RDR (0x2000AB00 + 0x8C)
#define DMA_ADDR_ADC_RDR (0x20002000 + 0x04)
#define DMA_ADDR_DAC_TDR (0x20002000 + 0x48)
#define DMA_ADDR_DBI_TDR (0x3001b000 + 0x88) // added
#define DMA_ADDR_IR_TDR (0x2000A600 + 0x88)
#define DMA_ADDR_WO_TDR (0x20000000 + 0xB04)
/** -
- @}*
- /
/* @defgroup DMA_PERIPHERAL_REQUEST dma peripheral request definition*
-
- @{*
-
/
#define DMA_REQUEST_NONE 0x00000000
#define DMA_REQUEST_UART0_RX 0x00000000
#define DMA_REQUEST_UART0_TX 0x00000001
#define DMA_REQUEST_UART1_RX 0x00000002
#define DMA_REQUEST_UART1_TX 0x00000003
#define DMA_REQUEST_UART2_RX 0x00000004
#define DMA_REQUEST_UART2_TX 0x00000005
#define DMA_REQUEST_I2C0_RX 0x00000006
#define DMA_REQUEST_I2C0_TX 0x00000007
#define DMA_REQUEST_IR_TX 0x00000008
#define DMA_REQUEST_WO 0x00000009
#define DMA_REQUEST_SPI0_RX 0x0000000A
#define DMA_REQUEST_SPI0_TX 0x0000000B
#define DMA_REQUEST_DBI_TX 0x00000016 // added
#define DMA_REQUEST_AUDIO_RX 0x0000000C
#define DMA_REQUEST_AUDIO_TX 0x0000000D
#define DMA_REQUEST_I2C1_RX 0x0000000E
#define DMA_REQUEST_I2C1_TX 0x0000000F
#define DMA_REQUEST_I2S_RX 0x00000010
#define DMA_REQUEST_I2S_TX 0x00000011
#define DMA_REQUEST_ADC 0x00000016
#define DMA_REQUEST_DAC 0x00000017
/ Only support dma2 /
#define DMA_REQUEST_UART3_RX 0x00000000
#define DMA_REQUEST_UART3_TX 0x00000001
#define DMA_REQUEST_SPI1_RX 0x00000002
#define DMA_REQUEST_SPI1_TX 0x00000003
#define DMA_REQUEST_I2C2_RX 0x00000006
#define DMA_REQUEST_I2C2_TX 0x00000007
#define DMA_REQUEST_I2C3_RX 0x00000008
#define DMA_REQUEST_I2C3_TX 0x00000009
/**
-
- @}*
- /
in examples\lvgl\lcd_conf_user.h :
#define LCD_DBI_NT35510
redefined pins for M1s
#elif(LCD_DBI_WORK_MODE == 3)
#define LCD_DBI_TYPEB_PIN_WR 19//GPIO_PIN_4
#define LCD_DBI_TYPEB_PIN_CS 12//GPIO_PIN_5
#define LCD_DBI_TYPEB_PIN_RD 25//GPIO_PIN_6
#define LCD_DBI_TYPEB_PIN_DC 13//GPIO_PIN_7
#define LCD_DBI_TYPEB_PIN_DAT0 28//GPIO_PIN_8
#define LCD_DBI_TYPEB_PIN_DAT1 33//GPIO_PIN_9
#define LCD_DBI_TYPEB_PIN_DAT2 14//GPIO_PIN_10
#define LCD_DBI_TYPEB_PIN_DAT3 15//GPIO_PIN_11
#define LCD_DBI_TYPEB_PIN_DAT4 32//GPIO_PIN_12
#define LCD_DBI_TYPEB_PIN_DAT5 31//GPIO_PIN_13
#define LCD_DBI_TYPEB_PIN_DAT6 30//GPIO_PIN_14
#define LCD_DBI_TYPEB_PIN_DAT7 29//GPIO_PIN_15
nothing happens after flashing…
other displays like ILI9341 (SPI) work fine
Please help with that issue
Thanks