|
XenevaOS
|
#include <Board/RPI3bp/rpi3bp.h>#include <Hal/AA64/rpi3.h>#include <Mm/pmmngr.h>#include <aucon.h>#include <string.h>#include <Hal/AA64/aa64lowlevel.h>
Classes | |
| struct | vc4_fb_t |
Macros | |
| #define | MAILBOX_BASE (RPI_MMIO_BASE + 0x00b880) |
| #define | DSI0_BASE (RPI_MMIO_BASE + 0x209000) |
| #define | DSI1_BASE (RPI_MMIO_BASE + 0x700000) |
| #define | GPIO_BASE (RPI_MMIO_BASE + 0x200000) |
| #define | SPI0_BASE (RPI_MMIO_BASE + 0x204000) |
| #define | MAILBOX_READ (MAILBOX_BASE + 0x00) |
| #define | MAILBOX_STATUS (MAILBOX_BASE + 0x18) |
| #define | MAILBOX_WRITE (MAILBOX_BASE + 0x20) |
| #define | MAILBOX_FULL 0x80000000 |
| #define | MAILBOX_EMPTY 0x40000000 |
| #define | MAILBOX_CH_PROP 8 |
| #define | DSI_CTRL 0x00 |
| #define | DSI_STAT 0x04 |
| #define | DSI_HSTX_TO_CNT 0x08 |
| #define | DSI_LPRX_TO_CNT 0x0C |
| #define | DSI_TA_TO_CNT 0x10 |
| #define | DSI_PR_TO_CNT 0x14 |
| #define | DSI_DISP0_CTRL 0x18 |
| #define | DSI_DISP1_CTRL 0x1C |
| #define | DSI_INT_STAT 0x20 |
| #define | DSI_INT_EN 0x24 |
| #define | DSI_PHYC 0x28 |
| #define | DSI_HS_CLT0 0x2C |
| #define | DSI_HS_CLT1 0x30 |
| #define | DSI_HS_CLT2 0x34 |
| #define | DSI_HS_DLT3 0x38 |
| #define | DSI_HS_DLT4 0x3C |
| #define | DSI_HS_DLT5 0x40 |
| #define | DSI_HS_DLT6 0x44 |
| #define | DSI_HS_DLT7 0x48 |
| #define | GPFSEL0 (GPIO_BASE + 0x00) |
| #define | GPFSEL1 (GPIO_BASE + 0x04) |
| #define | GPFSEL2 (GPIO_BASE + 0x08) |
| #define | GPSET0 (GPIO_BASE + 0x1C) |
| #define | GPCLR0 (GPIO_BASE + 0x28) |
| #define | GPIO_DC 25 |
| #define | GPIO_RST 24 |
| #define | GPIO_LED 23 |
| #define | SPI0_CS (SPI0_BASE + 0x00) |
| #define | SPI0_FIFO (SPI0_BASE + 0x04) |
| #define | SPI0_CLK (SPI0_BASE + 0x08) |
| #define | SPI_CS_TXD (1ULL<<18) |
| #define | SPI_CS_RXD (1ULL<<17) |
| #define | SPI_CS_DONE (1ULL<<16) |
| #define | SPI_CS_TA (1ULL<<7) |
| #define | SPI_CS_CLEAR_RX (1ULL<<5) |
| #define | SPI_CS_CLEAR_TX (1ULL<<4) |
| #define | SPI_CS_CS (3ULL<<0) |
| #define | SPI_CS_CS0 (0ULL<<0) |
| #define | SPI_CS_CS1 (1ULL<<0) |
| #define | SPI_CS_CS2 (2ULL<<0) |
| #define | TAG_GET_BOARD_REV 0x00010002 |
| #define | TAG_ALLOCATE_BUFFER 0x00040001 |
| #define | TAG_RELEASE_BUFFER 0x00048001 |
| #define | TAG_BLANK_SCREEN 0x00040002 |
| #define | TAG_SET_PHYS_WH 0x00048003 |
| #define | TAG_SET_VIRT_WH 0x00048004 |
| #define | TAG_SET_DEPTH 0x00048005 |
| #define | TAG_SET_PIXEL_ORDER 0x00048006 |
| #define | TAG_GET_PITCH 0x00040008 |
| #define | TAG_SET_VIRT_OFFSET 0x00048009 |
| #define | TAG_SET_BACKLIGHT 0x0004800F |
| #define | TAG_GET_TOUCHBUF 0x0004000F |
| #define | TAG_SET_TOUCHBUF 0x0004801F |
| #define | TAG_GET_DISPLAY_ID 0x00040013 |
| #define | TAG_SET_DSI_TIMING 00x00048014 |
| #define | TAG_LAST 0x00000000 |
| #define | DCS_SOFT_RESET 0x01 |
| #define | DCS_GET_DISPLAY_ID 0x04 |
| #define | DCS_ENTER_SLEEP 0x10 |
| #define | DCS_EXIT_SLEEP 0x11 |
| #define | DCS_SET_DISPLAY_OFF 0x28 |
| #define | DCS_SET_DISPLAY_ON 0x29 |
| #define | DCS_SET_COLUMN_ADDR 0x2A |
| #define | DCS_SET_PAGE_ADDR 0x2B |
| #define | DCS_WRITE_MEMORY_START 0x2C |
| #define | DCS_SET_TEAR_OFF 0x34 |
| #define | DCS_SET_TEAR_ON 0x35 |
| #define | DCS_SET_PIXEL_FORMAT 0x3A |
| #define | DCS_SET_BRIGHTNESS 0x51 |
| #define | DSI_DT_DCS_SHORT_WRITE_0 0x05 |
| #define | DSI_DT_DCS_SHORT_WRITE_1 0x15 |
| #define | DSI_DT_DCS_LONG_WRITE 0x39 |
| #define | DSI_DT_DCS_READ 0x06 |
| #define | DSI_DT_SET_MAX_RET_PKT 0x37 |
| #define | LBTFT_WIDTH 320 |
| #define | LBTFT_HEIGHT 480 |
| #define | MIPI_DSI_V_SYNC_START 0x01 |
| #define | MIPI_DSI_V_SYNC_END 0x11 |
| #define | MIPI_DSI_H_SYNC_START 0x21 |
| #define | MIPI_DSI_H_SYNC_END 0x31 |
| #define | MIPI_DSI_COMPRESSION_MODE 0x07 |
| #define | MIPI_DSI_END_OF_TRANSMISSION 0x08 |
| #define | MIPI_DSI_COLOR_MODE_OFF 0x02 |
| #define | MIPI_DSI_COLOR_MODE_ON 0x12 |
| #define | MIPI_DSI_SHUTDOWN_PERIPHERAL 0x22 |
| #define | MIPI_DSI_TURN_ON_PERIPHERAL 0x32 |
| #define | MIPI_DCS_ENTER_SLEEP_MODE 0x10 |
| #define | MIPI_DCS_EXIT_SLEEP_MODE 0x11 |
| #define | MIPI_DCS_SET_PIXEL_FORMAT 0x3A |
Enumerations | |
| enum | display_type_t { DISPLAY_TYPE_HDMI = 0 , DISPLAY_TYPE_DSI = 1 } |
Variables | |
| uint32_t * | mailBOX |
| #define DCS_ENTER_SLEEP 0x10 |
| #define DCS_EXIT_SLEEP 0x11 |
| #define DCS_GET_DISPLAY_ID 0x04 |
| #define DCS_SET_BRIGHTNESS 0x51 |
| #define DCS_SET_COLUMN_ADDR 0x2A |
| #define DCS_SET_DISPLAY_OFF 0x28 |
| #define DCS_SET_DISPLAY_ON 0x29 |
| #define DCS_SET_PAGE_ADDR 0x2B |
| #define DCS_SET_PIXEL_FORMAT 0x3A |
| #define DCS_SET_TEAR_OFF 0x34 |
| #define DCS_SET_TEAR_ON 0x35 |
| #define DCS_SOFT_RESET 0x01 |
| #define DCS_WRITE_MEMORY_START 0x2C |
| #define DSI0_BASE (RPI_MMIO_BASE + 0x209000) |
| #define DSI1_BASE (RPI_MMIO_BASE + 0x700000) |
| #define DSI_CTRL 0x00 |
| #define DSI_DISP0_CTRL 0x18 |
| #define DSI_DISP1_CTRL 0x1C |
| #define DSI_DT_DCS_LONG_WRITE 0x39 |
| #define DSI_DT_DCS_READ 0x06 |
| #define DSI_DT_DCS_SHORT_WRITE_0 0x05 |
| #define DSI_DT_DCS_SHORT_WRITE_1 0x15 |
| #define DSI_DT_SET_MAX_RET_PKT 0x37 |
| #define DSI_HS_CLT0 0x2C |
| #define DSI_HS_CLT1 0x30 |
| #define DSI_HS_CLT2 0x34 |
| #define DSI_HS_DLT3 0x38 |
| #define DSI_HS_DLT4 0x3C |
| #define DSI_HS_DLT5 0x40 |
| #define DSI_HS_DLT6 0x44 |
| #define DSI_HS_DLT7 0x48 |
| #define DSI_HSTX_TO_CNT 0x08 |
| #define DSI_INT_EN 0x24 |
| #define DSI_INT_STAT 0x20 |
| #define DSI_LPRX_TO_CNT 0x0C |
| #define DSI_PHYC 0x28 |
| #define DSI_PR_TO_CNT 0x14 |
| #define DSI_STAT 0x04 |
| #define DSI_TA_TO_CNT 0x10 |
| #define GPCLR0 (GPIO_BASE + 0x28) |
| #define GPFSEL0 (GPIO_BASE + 0x00) |
| #define GPFSEL1 (GPIO_BASE + 0x04) |
| #define GPFSEL2 (GPIO_BASE + 0x08) |
| #define GPIO_BASE (RPI_MMIO_BASE + 0x200000) |
| #define GPIO_DC 25 |
| #define GPIO_LED 23 |
| #define GPIO_RST 24 |
| #define GPSET0 (GPIO_BASE + 0x1C) |
| #define LBTFT_HEIGHT 480 |
| #define LBTFT_WIDTH 320 |
| #define MAILBOX_BASE (RPI_MMIO_BASE + 0x00b880) |
BSD 2-Clause License
Copyright (c) 2022-2025, Manas Kamal Choudhury All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
| #define MAILBOX_CH_PROP 8 |
| #define MAILBOX_EMPTY 0x40000000 |
| #define MAILBOX_FULL 0x80000000 |
| #define MAILBOX_READ (MAILBOX_BASE + 0x00) |
| #define MAILBOX_STATUS (MAILBOX_BASE + 0x18) |
| #define MAILBOX_WRITE (MAILBOX_BASE + 0x20) |
| #define MIPI_DCS_ENTER_SLEEP_MODE 0x10 |
| #define MIPI_DCS_EXIT_SLEEP_MODE 0x11 |
| #define MIPI_DCS_SET_PIXEL_FORMAT 0x3A |
| #define MIPI_DSI_COLOR_MODE_OFF 0x02 |
| #define MIPI_DSI_COLOR_MODE_ON 0x12 |
| #define MIPI_DSI_COMPRESSION_MODE 0x07 |
| #define MIPI_DSI_END_OF_TRANSMISSION 0x08 |
| #define MIPI_DSI_H_SYNC_END 0x31 |
| #define MIPI_DSI_H_SYNC_START 0x21 |
| #define MIPI_DSI_SHUTDOWN_PERIPHERAL 0x22 |
| #define MIPI_DSI_TURN_ON_PERIPHERAL 0x32 |
| #define MIPI_DSI_V_SYNC_END 0x11 |
| #define MIPI_DSI_V_SYNC_START 0x01 |
| #define SPI0_BASE (RPI_MMIO_BASE + 0x204000) |
| #define SPI0_CLK (SPI0_BASE + 0x08) |
| #define SPI0_CS (SPI0_BASE + 0x00) |
| #define SPI0_FIFO (SPI0_BASE + 0x04) |
| #define SPI_CS_CLEAR_RX (1ULL<<5) |
| #define SPI_CS_CLEAR_TX (1ULL<<4) |
| #define SPI_CS_CS (3ULL<<0) |
| #define SPI_CS_CS0 (0ULL<<0) |
| #define SPI_CS_CS1 (1ULL<<0) |
| #define SPI_CS_CS2 (2ULL<<0) |
| #define SPI_CS_DONE (1ULL<<16) |
| #define SPI_CS_RXD (1ULL<<17) |
| #define SPI_CS_TA (1ULL<<7) |
| #define SPI_CS_TXD (1ULL<<18) |
| #define TAG_ALLOCATE_BUFFER 0x00040001 |
| #define TAG_BLANK_SCREEN 0x00040002 |
| #define TAG_GET_BOARD_REV 0x00010002 |
| #define TAG_GET_DISPLAY_ID 0x00040013 |
| #define TAG_GET_PITCH 0x00040008 |
| #define TAG_GET_TOUCHBUF 0x0004000F |
| #define TAG_LAST 0x00000000 |
| #define TAG_RELEASE_BUFFER 0x00048001 |
| #define TAG_SET_BACKLIGHT 0x0004800F |
| #define TAG_SET_DEPTH 0x00048005 |
| #define TAG_SET_DSI_TIMING 00x00048014 |
| #define TAG_SET_PHYS_WH 0x00048003 |
| #define TAG_SET_PIXEL_ORDER 0x00048006 |
| #define TAG_SET_TOUCHBUF 0x0004801F |
| #define TAG_SET_VIRT_OFFSET 0x00048009 |
| #define TAG_SET_VIRT_WH 0x00048004 |
| enum display_type_t |
| void AuVC4DSIInit | ( | ) |
| void DSISetBacklight | ( | uint8_t | brightness | ) |
| void GPIOClear | ( | uint8_t | pin | ) |
| void GPIOSet | ( | uint8_t | pin | ) |
| void ILI9341Init | ( | ) |
| void ILI9486Init | ( | ) |
| void LCDClear | ( | uint16_t | color | ) |
| void LCDInit | ( | ) |
| void LCDWriteCommand | ( | uint8_t | cmd | ) |
| void LCDWriteData | ( | uint8_t | data | ) |
| void LCDWriteU16 | ( | uint16_t | data | ) |
| void LCDWriteU32 | ( | uint32_t | data | ) |
| void SPIInit | ( | ) |
| void SPITransfer | ( | uint8_t | data | ) |
| void VC4ClearScreen | ( | uint32_t | color | ) |
| bool vc4InitDisplay | ( | uint32_t | width, |
| uint32_t | height, | ||
| uint32_t | depth, | ||
| display_type_t | display_type | ||
| ) |
| uint32_t* mailBOX |