Move all I/DRAM addresses into a memory map

Many addresses were moved around to pack the memory usage!
This commit is contained in:
CTCaer
2019-12-08 02:23:03 +02:00
parent 0290892b23
commit f256bd5909
31 changed files with 152 additions and 91 deletions

View File

@@ -262,25 +262,21 @@ void display_color_screen(u32 color)
u32 *display_init_framebuffer()
{
// Sanitize framebuffer area.
//memset((u32 *)FB_ADDRESS, 0, 0x3C0000);
// This configures the framebuffer @ FB_ADDRESS with a resolution of 1280x720 (line stride 720).
// This configures the framebuffer @ NYX_FB_ADDRESS with a resolution of 1280x720 (line stride 720).
exec_cfg((u32 *)DISPLAY_A_BASE, cfg_display_framebuffer, 32);
usleep(35000);
return (u32 *)FB_ADDRESS;
return (u32 *)NYX_FB_ADDRESS;
}
u32 *display_init_framebuffer2()
{
// Sanitize framebuffer area.
memset((u32 *)FB_ADDRESS, 0, 0x3C0000);
// This configures the framebuffer @ FB_ADDRESS with a resolution of 1280x720 (line stride 720).
// This configures the framebuffer @ NYX_FB_ADDRESS with a resolution of 1280x720 (line stride 720).
exec_cfg((u32 *)DISPLAY_A_BASE, cfg_display_framebuffer2, 32);
usleep(35000);
return (u32 *)FB_ADDRESS;
return (u32 *)NYX_FB_ADDRESS;
}

View File

@@ -18,10 +18,9 @@
#ifndef _DI_H_
#define _DI_H_
#include "../../../common/memory_map.h"
#include "../utils/types.h"
#define FB_ADDRESS 0xF0800000
/*! Display registers. */
#define _DIREG(reg) ((reg) * 4)

View File

@@ -548,7 +548,7 @@ static const cfg_op_t cfg_display_framebuffer[32] = {
{DC_WIN_LINE_STRIDE, UV_LINE_STRIDE(720 * 2) | LINE_STRIDE(720 * 4)}, //768*2x768*4 (= 0x600 x 0xC00) bytes, see TRM for alignment requirements.
{DC_WIN_BUFFER_CONTROL, 0},
{DC_WINBUF_SURFACE_KIND, 0}, //Regular surface.
{DC_WINBUF_START_ADDR, FB_ADDRESS}, //Framebuffer address.
{DC_WINBUF_START_ADDR, NYX_FB_ADDRESS}, // Framebuffer address.
{DC_WINBUF_ADDR_H_OFFSET, 0}, //Linear: 0x383FFC, Block: 0x3813FC
{DC_WINBUF_ADDR_V_OFFSET, 1279}, //Linear: 1279, Block: 0
{DC_WIN_WIN_OPTIONS, 0},
@@ -583,7 +583,7 @@ static const cfg_op_t cfg_display_framebuffer2[32] = {
{DC_WIN_LINE_STRIDE, UV_LINE_STRIDE(1280 * 2) | LINE_STRIDE(1280 * 4)}, //768*2x768*4 (= 0x600 x 0xC00) bytes, see TRM for alignment requirements.
{DC_WIN_BUFFER_CONTROL, 0},
{DC_WINBUF_SURFACE_KIND, BLOCK_HEIGHT(4) | BLOCK}, //Regular surface.
{DC_WINBUF_START_ADDR, FB_ADDRESS}, //Framebuffer address.
{DC_WINBUF_START_ADDR, NYX_FB_ADDRESS}, // Framebuffer address.
{DC_WINBUF_ADDR_H_OFFSET, 0x3813FC}, //Linear: 0x383FFC, Block: 0x3813FC
{DC_WINBUF_ADDR_V_OFFSET, 0}, //Linear: 1279, Block: 0
{DC_WIN_WIN_OPTIONS, 0},

View File

@@ -1,6 +1,8 @@
#ifndef _LOGOS_GUI_H_
#define _LOGOS_GUI_H_
#include "../../../common/memory_map.h"
#include "../libs/lv_conf.h"
#include "../libs/lvgl/lv_draw/lv_draw_img.h"
#include "../utils/types.h"