summaryrefslogtreecommitdiff
path: root/firmware/target/mips/ingenic_jz47xx/system-target.h
diff options
context:
space:
mode:
authorSolomon Peachy <pizza@shaftnet.org>2018-06-28 06:24:26 -0400
committerMichael Giacomelli <giac2000@hotmail.com>2018-07-28 10:56:31 -0400
commit0662793ca0050e823cd1207cc4689a1cba5068bd (patch)
tree08cd2ec59c9044c96b697b5bf8d0640841d044e0 /firmware/target/mips/ingenic_jz47xx/system-target.h
parentb3e2bd619b1b7ea94ef29d32db48e80b347a1990 (diff)
downloadrockbox-0662793ca0050e823cd1207cc4689a1cba5068bd.tar.gz
rockbox-0662793ca0050e823cd1207cc4689a1cba5068bd.zip
Add cleaned-up xDuoo X3 support
Cleaned up, rebased, and forward-ported from the xvortex fork. (original credit to vsoftster@gmail.com) Change-Id: Ibcc023a0271ea81e901450a88317708c2683236d Signed-off-by: Solomon Peachy <pizza@shaftnet.org>
Diffstat (limited to 'firmware/target/mips/ingenic_jz47xx/system-target.h')
-rw-r--r--firmware/target/mips/ingenic_jz47xx/system-target.h14
1 files changed, 12 insertions, 2 deletions
diff --git a/firmware/target/mips/ingenic_jz47xx/system-target.h b/firmware/target/mips/ingenic_jz47xx/system-target.h
index 1c2e7d7173..9720d3a80c 100644
--- a/firmware/target/mips/ingenic_jz47xx/system-target.h
+++ b/firmware/target/mips/ingenic_jz47xx/system-target.h
@@ -25,7 +25,7 @@
25#include <inttypes.h> 25#include <inttypes.h>
26 26
27#include "config.h" 27#include "config.h"
28#include "jz4740.h" 28#include "cpu.h"
29#include "mipsregs.h" 29#include "mipsregs.h"
30 30
31#define CACHE_SIZE 16*1024 31#define CACHE_SIZE 16*1024
@@ -35,6 +35,8 @@
35/* no optimized byteswap functions implemented for mips, yet */ 35/* no optimized byteswap functions implemented for mips, yet */
36#define NEED_GENERIC_BYTESWAPS 36#define NEED_GENERIC_BYTESWAPS
37 37
38#define STORAGE_WANTS_ALIGN
39
38/* This one returns the old status */ 40/* This one returns the old status */
39static inline int set_interrupt_status(int status, int mask) 41static inline int set_interrupt_status(int status, int mask)
40{ 42{
@@ -86,10 +88,18 @@ void mdelay(unsigned int msec);
86void dma_enable(void); 88void dma_enable(void);
87void dma_disable(void); 89void dma_disable(void);
88 90
91#if CONFIG_CPU == JZ4732
89#define DMA_AIC_TX_CHANNEL 0 92#define DMA_AIC_TX_CHANNEL 0
90#define DMA_NAND_CHANNEL 1 93#define DMA_NAND_CHANNEL 1
91#define DMA_USB_CHANNEL 2 94#define DMA_USB_CHANNEL 2
92#define DMA_LCD_CHANNEL 3 95#define DMA_LCD_CHANNEL 3
96#elif CONFIG_CPU == JZ4760B
97#define DMA_AIC_TX_CHANNEL 0
98#define DMA_NAND_CHANNEL 1
99#define DMA_USB_CHANNEL 2
100#define DMA_SD_RX_CHANNEL 3
101#define DMA_SD_TX_CHANNEL 4
102#endif
93 103
94#define XDMA_CALLBACK(n) DMA ## n 104#define XDMA_CALLBACK(n) DMA ## n
95#define DMA_CALLBACK(n) XDMA_CALLBACK(n) 105#define DMA_CALLBACK(n) XDMA_CALLBACK(n)
@@ -103,7 +113,7 @@ void dma_disable(void);
103 */ 113 */
104static inline void core_sleep(void) 114static inline void core_sleep(void)
105{ 115{
106#if CONFIG_CPU == JZ4732 116#if CONFIG_CPU == JZ4732 || CONFIG_CPU == JZ4760B
107 __cpm_idle_mode(); 117 __cpm_idle_mode();
108#endif 118#endif
109 asm volatile(".set mips32r2 \n" 119 asm volatile(".set mips32r2 \n"