rendered paste bodyIndex: firmware/export/as3525.h
===================================================================
--- firmware/export/as3525.h (revision 20283)
+++ firmware/export/as3525.h (working copy)
@@ -28,8 +28,8 @@
/* AS352X device base addresses */
+#define TTB_BASE_ADDR (0x50000 - 0x4000)
-
/*
------------------------------------------------------------------------
* AS352X Registers
Index: firmware/SOURCES
===================================================================
--- firmware/SOURCES (revision 20283)
+++ firmware/SOURCES (working copy)
@@ -1094,6 +1094,7 @@
#ifdef SANSA_CLIP
#ifndef SIMULATOR
+target/arm/mmu-arm.S
target/arm/as3525/sansa-clip/lcd-ssd1303.c
target/arm/as3525/sansa-clip/lcd-as-clip.S
target/arm/as3525/sansa-clip/button-clip.c
Index: firmware/target/arm/as3525/system-as3525.c
===================================================================
--- firmware/target/arm/as3525/system-as3525.c (revision 20283)
+++ firmware/target/arm/as3525/system-as3525.c (working copy)
@@ -28,6 +28,8 @@
#include "clock-target.h"
#include "fmradio_i2c.h"
+#include "mmu-arm.h"
+
#define default_interrupt(name) \
extern __attribute__((weak,alias("UIRQ"))) void name (void)
@@ -236,6 +238,10 @@
CGU_PERI |= ((CLK_DIV(AS3525_PLLA_FREQ, AS3525_PCLK_FREQ) - 1) << 2)
| 1; /* clk_in = PLLA */
+ ttb_init();
+ map_section(0, 0, 0x1000, CACHE_NONE);
+ enable_mmu();
+
asm volatile(
"mov r0, #0 \n"
"mcr p15, 0, r0, c7, c7 \n" /* invalidate icache & dcache */
Index: firmware/target/arm/as3525/app.lds
===================================================================
--- firmware/target/arm/as3525/app.lds (revision 20283)
+++ firmware/target/arm/as3525/app.lds (working copy)
@@ -48,7 +48,7 @@
MEMORY
{
#ifdef LOWMEM
- IRAM : ORIGIN = IRAMORIG, LENGTH = (IRAMSIZE - CODEC_SIZE)
+ IRAM : ORIGIN = IRAMORIG, LENGTH = (IRAMSIZE - CODEC_SIZE - 0x4000)
CODEC_IRAM : ORIGIN = CODECORIG, LENGTH = CODEC_SIZE
#else
IRAM : ORIGIN = IRAMORIG, LENGTH = IRAMSIZE