diff options
-rw-r--r-- | firmware/target/arm/tms320dm320/dsp/arm.c | 16 | ||||
-rw-r--r-- | firmware/target/arm/tms320dm320/dsp/arm.h | 4 | ||||
-rw-r--r-- | firmware/target/arm/tms320dm320/dsp/dsp-image.h | 266 | ||||
-rw-r--r-- | firmware/target/arm/tms320dm320/dsp/registers.h | 2 | ||||
-rw-r--r-- | firmware/target/arm/tms320dm320/mrobe-500/lcd-mr500.c | 12 | ||||
-rw-r--r-- | firmware/target/arm/tms320dm320/sansa-connect/pcm-sansaconnect.c | 3 |
6 files changed, 163 insertions, 140 deletions
diff --git a/firmware/target/arm/tms320dm320/dsp/arm.c b/firmware/target/arm/tms320dm320/dsp/arm.c index 08fbaa9c12..2469a44eb1 100644 --- a/firmware/target/arm/tms320dm320/dsp/arm.c +++ b/firmware/target/arm/tms320dm320/dsp/arm.c | |||
@@ -95,3 +95,19 @@ void debugf(const char *fmt, ...) { | |||
95 | acked = 2; | 95 | acked = 2; |
96 | } | 96 | } |
97 | #endif | 97 | #endif |
98 | |||
99 | void int_arm(void) | ||
100 | { | ||
101 | /* | ||
102 | * ImageBuffer clock enable in ARM's MOD1 is ORed with clock enable | ||
103 | * bit in CP_CLKC | ||
104 | */ | ||
105 | |||
106 | /* Enable Image Buffer clock */ | ||
107 | CP_CLKC |= 1 << 0; | ||
108 | /* Send interrupt to ARM */ | ||
109 | CP_INTC = 1 << 3; | ||
110 | /* Disable Image Buffer clock */ | ||
111 | CP_CLKC &= ~(1 << 0); | ||
112 | } | ||
113 | |||
diff --git a/firmware/target/arm/tms320dm320/dsp/arm.h b/firmware/target/arm/tms320dm320/dsp/arm.h index ff4a9a1c51..e9217f3499 100644 --- a/firmware/target/arm/tms320dm320/dsp/arm.h +++ b/firmware/target/arm/tms320dm320/dsp/arm.h | |||
@@ -28,8 +28,6 @@ extern volatile struct ipc_message status; | |||
28 | 28 | ||
29 | void debugf(const char *fmt, ...); | 29 | void debugf(const char *fmt, ...); |
30 | 30 | ||
31 | inline void int_arm(void) { | 31 | void int_arm(void); |
32 | CP_INTC = 1 << 3; | ||
33 | } | ||
34 | 32 | ||
35 | #endif | 33 | #endif |
diff --git a/firmware/target/arm/tms320dm320/dsp/dsp-image.h b/firmware/target/arm/tms320dm320/dsp/dsp-image.h index 3d72e73858..f49704bd7b 100644 --- a/firmware/target/arm/tms320dm320/dsp/dsp-image.h +++ b/firmware/target/arm/tms320dm320/dsp/dsp-image.h | |||
@@ -20,105 +20,110 @@ | |||
20 | * | 20 | * |
21 | */ | 21 | */ |
22 | static const unsigned short _section_text[] = { | 22 | static const unsigned short _section_text[] = { |
23 | 0xe808, 0x75f8, 0x0008, 0x0280, 0xfc00, 0x4a11, 0x60f8, 0x05a4, | 23 | 0xf495, 0x74f8, 0x0008, 0x0281, 0xf040, 0x0001, 0x75f8, 0x0008, |
24 | 0x0001, 0xfa30, 0x0092, 0xf495, 0xeefe, 0x60f8, 0x05a4, 0x0002, | 24 | 0x0281, 0xe808, 0x75f8, 0x0008, 0x0280, 0x74f8, 0x0008, 0x0281, |
25 | 0xf820, 0x00a7, 0x7711, 0x0054, 0x6881, 0xfffe, 0xf074, 0x02e2, | 25 | 0xf030, 0xfffe, 0x75f8, 0x0008, 0x0281, 0xfc00, 0x4a11, 0x60f8, |
26 | 0xe800, 0x75f8, 0x0008, 0x8006, 0x76f8, 0x05a1, 0x0000, 0x76f8, | 26 | 0x05cb, 0x0001, 0xfa30, 0x00a3, 0xf495, 0xeefe, 0x60f8, 0x05cb, |
27 | 0x05a0, 0x0000, 0x76f8, 0x05a2, 0x0000, 0xf073, 0x0114, 0x10f8, | 27 | 0x0002, 0xf820, 0x00b8, 0x7711, 0x0054, 0x6881, 0xfffe, 0xf074, |
28 | 0x05a1, 0x08f8, 0x059f, 0xf844, 0x00b8, 0x76f8, 0x05a1, 0x0000, | 28 | 0x0309, 0xe800, 0x75f8, 0x0008, 0x8006, 0x76f8, 0x05c8, 0x0000, |
29 | 0x76f8, 0x054b, 0x0002, 0x76f8, 0x05a5, 0x0001, 0xf074, 0x0080, | 29 | 0x76f8, 0x05c7, 0x0000, 0x76f8, 0x05c9, 0x0000, 0xf073, 0x0125, |
30 | 0x10f8, 0x05a5, 0xf844, 0x0114, 0x10f8, 0x059f, 0x00f8, 0x05a0, | 30 | 0x10f8, 0x05c8, 0x08f8, 0x05c6, 0xf844, 0x00c9, 0x76f8, 0x05c8, |
31 | 0x08f8, 0x05a1, 0x8811, 0xf495, 0x7710, 0x1000, 0xf6a9, 0xf820, | 31 | 0x0000, 0x76f8, 0x0572, 0x0002, 0x76f8, 0x05cc, 0x0001, 0xf074, |
32 | 0x00cf, 0xf020, 0x1000, 0xf273, 0x00d3, 0x08f8, 0x05a0, 0x10f8, | 32 | 0x0080, 0x10f8, 0x05cc, 0xf844, 0x0125, 0x10f8, 0x05c6, 0x00f8, |
33 | 0x059f, 0x08f8, 0x05a1, 0x80f8, 0x05a2, 0xf6b8, 0x10f8, 0x05a3, | 33 | 0x05c7, 0x08f8, 0x05c8, 0x8811, 0xf495, 0x7710, 0x1000, 0xf6a9, |
34 | 0xf000, 0x8000, 0x6ff8, 0x05a0, 0x0c1f, 0x75f8, 0x0008, 0x8002, | 34 | 0xf820, 0x00e0, 0xf020, 0x1000, 0xf273, 0x00e4, 0x08f8, 0x05c7, |
35 | 0xe800, 0x75f8, 0x0008, 0x8003, 0x10f8, 0x059d, 0xf1ef, 0xf3e1, | 35 | 0x10f8, 0x05c6, 0x08f8, 0x05c8, 0x80f8, 0x05c9, 0xf6b8, 0x10f8, |
36 | 0x10f8, 0x059e, 0xf2a0, 0x00f8, 0x05a1, 0x4e00, 0xf020, 0xffff, | 36 | 0x05ca, 0xf000, 0x8000, 0x6ff8, 0x05c7, 0x0c1f, 0x75f8, 0x0008, |
37 | 0x5700, 0xf280, 0x75f8, 0x0008, 0x8000, 0x5600, 0xf0f0, 0x75f8, | 37 | 0x8002, 0xe800, 0x75f8, 0x0008, 0x8003, 0x10f8, 0x05c4, 0xf1ef, |
38 | 0x0008, 0x8001, 0xe800, 0x75f8, 0x05a2, 0x8004, 0x75f8, 0x0008, | 38 | 0xf3e1, 0x10f8, 0x05c5, 0xf2a0, 0x00f8, 0x05c8, 0x4e00, 0xf020, |
39 | 0x8005, 0xe801, 0x74f8, 0x054d, 0x8006, 0x74f8, 0x054e, 0x8001, | 39 | 0xffff, 0x5700, 0xf280, 0x75f8, 0x0008, 0x8000, 0x5600, 0xf0f0, |
40 | 0x74f8, 0x054f, 0x8000, 0x74f8, 0x0550, 0x8003, 0x74f8, 0x0551, | 40 | 0x75f8, 0x0008, 0x8001, 0xe800, 0x75f8, 0x05c9, 0x8004, 0x75f8, |
41 | 0x8002, 0x75f8, 0x0008, 0x8006, 0xee02, 0x8a11, 0xfc00, 0xf495, | 41 | 0x0008, 0x8005, 0xe801, 0x74f8, 0x0574, 0x8006, 0x74f8, 0x0575, |
42 | 0x4a08, 0x4a09, 0x4a0a, 0x4a0b, 0x4a0c, 0x4a0d, 0x4a10, 0x4a11, | 42 | 0x8001, 0x74f8, 0x0576, 0x8000, 0x74f8, 0x0577, 0x8003, 0x74f8, |
43 | 0x4a12, 0x4a13, 0x4a14, 0x4a15, 0x4a16, 0x4a17, 0x4a17, 0x4a19, | 43 | 0x0578, 0x8002, 0x75f8, 0x0008, 0x8006, 0xee02, 0x8a11, 0xfc00, |
44 | 0x4a0e, 0x4a06, 0x4a07, 0x4a1a, 0x4a1d, 0x4a1b, 0x4a1c, 0x68f8, | ||
45 | 0x0007, 0x7d3f, 0x69f8, 0x0007, 0x4000, 0x68f8, 0x001d, 0xfffc, | ||
46 | 0x4818, 0x68f8, 0x0018, 0xfffe, 0x7711, 0x0001, 0x4a08, 0xeeff, | ||
47 | 0xf020, 0x0800, 0x7681, 0x0040, 0x7711, 0x0055, 0x7681, 0x0000, | ||
48 | 0x7711, 0x0057, 0x1881, 0x8000, 0xf020, 0x0800, 0x1c00, 0x80f8, | ||
49 | 0x05a3, 0x76f8, 0x05a0, 0x0000, 0xf074, 0x0085, 0xee01, 0x8a18, | ||
50 | 0xf495, 0x8a1c, 0x8a1b, 0x8a1d, 0x8a1a, 0x8a07, 0x8a06, 0x8a0e, | ||
51 | 0x8a19, 0x8a17, 0x8a17, 0x8a16, 0x8a15, 0x8a14, 0x8a13, 0x8a12, | ||
52 | 0x8a11, 0x8a10, 0x8a0d, 0x8a0c, 0x8a0b, 0x8a0a, 0x8a09, 0x8a08, | ||
53 | 0xf4eb, 0xf495, 0x4a08, 0x4a09, 0x4a0a, 0x4a0b, 0x4a0c, 0x4a0d, | ||
54 | 0x4a10, 0x4a11, 0x4a12, 0x4a13, 0x4a14, 0x4a15, 0x4a16, 0x4a17, | ||
55 | 0x4a17, 0x4a19, 0x4a0e, 0x4a06, 0x4a07, 0x4a1a, 0x4a1d, 0x4a1b, | ||
56 | 0x4a1c, 0x68f8, 0x0007, 0x7d3f, 0x69f8, 0x0007, 0x4000, 0x68f8, | ||
57 | 0x001d, 0xfffc, 0x4818, 0x68f8, 0x0018, 0xfffe, 0x7711, 0x0001, | ||
58 | 0x4a08, 0x7681, 0x0800, 0x10f8, 0x05a2, 0x00f8, 0x05a0, 0x80f8, | ||
59 | 0x05a0, 0x10f8, 0x05a2, 0x00f8, 0x05a1, 0x80f8, 0x05a1, 0x7211, | ||
60 | 0x05a0, 0x7710, 0x1000, 0xf5a9, 0xfa20, 0x01b2, 0xf495, 0xeeff, | ||
61 | 0xf074, 0x0085, 0xee01, 0x8a18, 0xf495, 0x8a1c, 0x8a1b, 0x8a1d, | ||
62 | 0x8a1a, 0x8a07, 0x8a06, 0x8a0e, 0x8a19, 0x8a17, 0x8a17, 0x8a16, | ||
63 | 0x8a15, 0x8a14, 0x8a13, 0x8a12, 0x8a11, 0x8a10, 0x8a0d, 0x8a0c, | ||
64 | 0x8a0b, 0x8a0a, 0x8a09, 0x8a08, 0xf4eb, 0x4a11, 0x7711, 0x0054, | ||
65 | 0x7681, 0x0000, 0x7711, 0x0055, 0x7681, 0x0003, 0x7711, 0x0057, | ||
66 | 0x7681, 0x2800, 0x7711, 0x0055, 0x7681, 0x0004, 0x7711, 0x0057, | ||
67 | 0x7681, 0x7141, 0x7711, 0x0055, 0x7681, 0x0000, 0x7711, 0x0057, | ||
68 | 0x7681, 0x8000, 0x7711, 0x0055, 0x7681, 0x0001, 0x7711, 0x0057, | ||
69 | 0x7681, 0x0022, 0x7711, 0x0055, 0x7681, 0x0002, 0x7711, 0x0057, | ||
70 | 0x7681, 0x1000, 0x7711, 0x0054, 0x7681, 0x0080, 0x8a11, 0xfc00, | ||
71 | 0xf495, 0x4a08, 0x4a09, 0x4a0a, 0x4a0b, 0x4a0c, 0x4a0d, 0x4a10, | 44 | 0xf495, 0x4a08, 0x4a09, 0x4a0a, 0x4a0b, 0x4a0c, 0x4a0d, 0x4a10, |
72 | 0x4a11, 0x4a12, 0x4a13, 0x4a14, 0x4a15, 0x4a16, 0x4a17, 0x4a17, | 45 | 0x4a11, 0x4a12, 0x4a13, 0x4a14, 0x4a15, 0x4a16, 0x4a17, 0x4a17, |
73 | 0x4a19, 0x4a0e, 0x4a06, 0x4a07, 0x4a1a, 0x4a1d, 0x4a1b, 0x4a1c, | 46 | 0x4a19, 0x4a0e, 0x4a06, 0x4a07, 0x4a1a, 0x4a1d, 0x4a1b, 0x4a1c, |
74 | 0x68f8, 0x0007, 0x7d3f, 0x69f8, 0x0007, 0x4000, 0x68f8, 0x001d, | 47 | 0x68f8, 0x0007, 0x7d3f, 0x69f8, 0x0007, 0x4000, 0x68f8, 0x001d, |
75 | 0xfffc, 0x4818, 0x68f8, 0x0018, 0xfffe, 0x7711, 0x0001, 0x4a08, | 48 | 0xfffc, 0x4818, 0x68f8, 0x0018, 0xfffe, 0x7711, 0x0001, 0x4a08, |
76 | 0x7681, 0x0001, 0x6bf8, 0x059c, 0x0001, 0x76f8, 0x05a5, 0x0000, | 49 | 0xeeff, 0xf020, 0x0800, 0x7681, 0x0040, 0x7711, 0x0055, 0x7681, |
77 | 0x10f8, 0x05a4, 0xfa44, 0x0245, 0xf495, 0xeeff, 0x7712, 0x0054, | 50 | 0x0000, 0x7711, 0x0057, 0x1881, 0x8000, 0xf020, 0x0800, 0x1c00, |
78 | 0x960f, 0xf830, 0x0245, 0xf074, 0x0085, 0x7711, 0x0054, 0x6981, | 51 | 0x80f8, 0x05ca, 0x76f8, 0x05c7, 0x0000, 0xf074, 0x0096, 0xee01, |
79 | 0x0001, 0xf074, 0x02d7, 0xf073, 0x0247, 0xf074, 0x0085, 0xee01, | ||
80 | 0x8a18, 0xf495, 0x8a1c, 0x8a1b, 0x8a1d, 0x8a1a, 0x8a07, 0x8a06, | 52 | 0x8a18, 0xf495, 0x8a1c, 0x8a1b, 0x8a1d, 0x8a1a, 0x8a07, 0x8a06, |
81 | 0x8a0e, 0x8a19, 0x8a17, 0x8a17, 0x8a16, 0x8a15, 0x8a14, 0x8a13, | 53 | 0x8a0e, 0x8a19, 0x8a17, 0x8a17, 0x8a16, 0x8a15, 0x8a14, 0x8a13, |
82 | 0x8a12, 0x8a11, 0x8a10, 0x8a0d, 0x8a0c, 0x8a0b, 0x8a0a, 0x8a09, | 54 | 0x8a12, 0x8a11, 0x8a10, 0x8a0d, 0x8a0c, 0x8a0b, 0x8a0a, 0x8a09, |
83 | 0x8a08, 0xf4eb, 0xf7be, 0xf6b9, 0xf4a0, 0xf6b7, 0xf6b5, 0xf6b6, | 55 | 0x8a08, 0xf4eb, 0xf495, 0x4a08, 0x4a09, 0x4a0a, 0x4a0b, 0x4a0c, |
84 | 0xf7b8, 0x7718, 0x034b, 0x6bf8, 0x0018, 0x01ff, 0x68f8, 0x0018, | 56 | 0x4a0d, 0x4a10, 0x4a11, 0x4a12, 0x4a13, 0x4a14, 0x4a15, 0x4a16, |
85 | 0xfffe, 0xf020, 0x05aa, 0xf100, 0x0001, 0xf84d, 0x028e, 0xf6b8, | 57 | 0x4a17, 0x4a17, 0x4a19, 0x4a0e, 0x4a06, 0x4a07, 0x4a1a, 0x4a1d, |
86 | 0xf495, 0xf020, 0x05aa, 0xf073, 0x0288, 0x7ef8, 0x0012, 0xf000, | 58 | 0x4a1b, 0x4a1c, 0x68f8, 0x0007, 0x7d3f, 0x69f8, 0x0007, 0x4000, |
87 | 0x0001, 0x47f8, 0x0011, 0x7e92, 0x00f8, 0x0011, 0xf000, 0x0001, | 59 | 0x68f8, 0x001d, 0xfffc, 0x4818, 0x68f8, 0x0018, 0xfffe, 0x7711, |
88 | 0x7ef8, 0x0011, 0xf000, 0x0001, 0x6c89, 0x027d, 0xf7b8, 0xeefc, | 60 | 0x0001, 0x4a08, 0x7681, 0x0800, 0x10f8, 0x05c9, 0x00f8, 0x05c7, |
89 | 0xf020, 0xffff, 0xf100, 0x0001, 0xf84d, 0x02a6, 0xf6b8, 0xf495, | 61 | 0x80f8, 0x05c7, 0x10f8, 0x05c9, 0x00f8, 0x05c8, 0x80f8, 0x05c8, |
90 | 0xf020, 0xffff, 0xf273, 0x02a0, 0x4e02, 0xf495, 0xf5e3, 0x5602, | 62 | 0x7211, 0x05c7, 0x7710, 0x1000, 0xf5a9, 0xfa20, 0x01c3, 0xf495, |
91 | 0x7e00, 0x1100, 0xfa4c, 0x029e, 0x6b03, 0x0001, 0xf6b8, 0xee04, | 63 | 0xeeff, 0xf074, 0x0096, 0xee01, 0x8a18, 0xf495, 0x8a1c, 0x8a1b, |
92 | 0xf074, 0x02ed, 0xf074, 0x0310, 0x4a11, 0x7711, 0x0038, 0x7681, | 64 | 0x8a1d, 0x8a1a, 0x8a07, 0x8a06, 0x8a0e, 0x8a19, 0x8a17, 0x8a17, |
93 | 0x0000, 0x7711, 0x0039, 0x7681, 0x0000, 0x7711, 0x0038, 0x7681, | 65 | 0x8a16, 0x8a15, 0x8a14, 0x8a13, 0x8a12, 0x8a11, 0x8a10, 0x8a0d, |
94 | 0x0001, 0x7711, 0x0039, 0x7681, 0x0030, 0x7711, 0x0038, 0x7681, | 66 | 0x8a0c, 0x8a0b, 0x8a0a, 0x8a09, 0x8a08, 0xf4eb, 0x4a11, 0x7711, |
95 | 0x000e, 0x7711, 0x0039, 0x7681, 0x0002, 0x7711, 0x0038, 0x7681, | 67 | 0x0054, 0x7681, 0x0000, 0x7711, 0x0055, 0x7681, 0x0003, 0x7711, |
96 | 0x0004, 0x7711, 0x0039, 0x7681, 0x00a0, 0x7711, 0x0038, 0x7681, | 68 | 0x0057, 0x7681, 0x2800, 0x7711, 0x0055, 0x7681, 0x0004, 0x7711, |
97 | 0x0005, 0x7711, 0x0039, 0x7681, 0x0000, 0x8a11, 0xfc00, 0x4a11, | 69 | 0x0057, 0x7681, 0x7141, 0x7711, 0x0055, 0x7681, 0x0000, 0x7711, |
98 | 0x7711, 0x0038, 0x7681, 0x0001, 0x7711, 0x0039, 0x6981, 0x0001, | 70 | 0x0057, 0x7681, 0x8000, 0x7711, 0x0055, 0x7681, 0x0001, 0x7711, |
99 | 0x8a11, 0xfc00, 0x4a11, 0x7711, 0x0038, 0x7681, 0x0001, 0x7711, | 71 | 0x0057, 0x7681, 0x0022, 0x7711, 0x0055, 0x7681, 0x0002, 0x7711, |
100 | 0x0039, 0x6881, 0xfffe, 0x8a11, 0xfc00, 0xf6b8, 0xf495, 0xf162, | 72 | 0x0057, 0x7681, 0x1000, 0x7711, 0x0054, 0x7681, 0x0080, 0x8a11, |
101 | 0xffff, 0xf340, 0xffff, 0xf640, 0xf0e0, 0xf010, 0xffff, 0xf061, | 73 | 0xfc00, 0xf495, 0x4a08, 0x4a09, 0x4a0a, 0x4a0b, 0x4a0c, 0x4a0d, |
102 | 0xffff, 0xfa44, 0x0301, 0x4a11, 0xeefe, 0xf273, 0x0307, 0xe800, | 74 | 0x4a10, 0x4a11, 0x4a12, 0x4a13, 0x4a14, 0x4a15, 0x4a16, 0x4a17, |
103 | 0xe900, 0x8911, 0xf495, 0x4911, 0x1081, 0xf300, 0x0001, 0x8100, | 75 | 0x4a17, 0x4a19, 0x4a0e, 0x4a06, 0x4a07, 0x4a1a, 0x4a1d, 0x4a1b, |
104 | 0xf074, 0x032c, 0xee02, 0x8a11, 0xfc00, 0xf495, 0xf073, 0x030e, | 76 | 0x4a1c, 0x68f8, 0x0007, 0x7d3f, 0x69f8, 0x0007, 0x4000, 0x68f8, |
105 | 0x4a11, 0x8811, 0x10f8, 0x05a6, 0xf4e3, 0x10f8, 0x05a9, 0xf845, | 77 | 0x001d, 0xfffc, 0x4818, 0x68f8, 0x0018, 0xfffe, 0x7711, 0x0001, |
106 | 0x031e, 0x11f8, 0x05a9, 0xf7e3, 0xf495, 0x4811, 0x10f8, 0x05a8, | 78 | 0x4a08, 0x7681, 0x0001, 0x6bf8, 0x05c3, 0x0001, 0x76f8, 0x05cc, |
107 | 0xf845, 0x0325, 0x10f8, 0x05a8, 0xf4e3, 0x10f8, 0x05a7, 0xf4e3, | 79 | 0x0000, 0x10f8, 0x05cb, 0xfa44, 0x0256, 0xf495, 0xeeff, 0x7712, |
108 | 0xf074, 0x030d, 0x8a11, 0xfc00, 0x4a11, 0x7711, 0x0026, 0x7712, | 80 | 0x0054, 0x960f, 0xf830, 0x0256, 0xf074, 0x0096, 0x7711, 0x0054, |
109 | 0x0001, 0x7713, 0x0001, 0x7681, 0x0010, 0x7711, 0x0000, 0x7681, | 81 | 0x6981, 0x0001, 0xf074, 0x02fe, 0xf073, 0x0258, 0xf074, 0x0096, |
110 | 0xffff, 0xe501, 0xf495, 0xf6bb, 0xf074, 0x02ac, 0xf074, 0x01cd, | 82 | 0xee01, 0x8a18, 0xf495, 0x8a1c, 0x8a1b, 0x8a1d, 0x8a1a, 0x8a07, |
111 | 0xf4e1, 0xf495, 0xf073, 0x0340, 0x80f8, 0x05a7, 0xfc00, 0x80f8, | 83 | 0x8a06, 0x8a0e, 0x8a19, 0x8a17, 0x8a17, 0x8a16, 0x8a15, 0x8a14, |
112 | 0x05a6, 0xfc00, 0xfc00, | 84 | 0x8a13, 0x8a12, 0x8a11, 0x8a10, 0x8a0d, 0x8a0c, 0x8a0b, 0x8a0a, |
85 | 0x8a09, 0x8a08, 0xf4eb, 0xf495, 0x74f8, 0x0008, 0x0281, 0xf040, | ||
86 | 0x0001, 0x75f8, 0x0008, 0x0281, 0xe808, 0x75f8, 0x0008, 0x0280, | ||
87 | 0x74f8, 0x0008, 0x0281, 0xf030, 0xfffe, 0x75f8, 0x0008, 0x0281, | ||
88 | 0xfc00, 0xf7be, 0xf6b9, 0xf4a0, 0xf6b7, 0xf6b5, 0xf6b6, 0xf7b8, | ||
89 | 0x7718, 0x0372, 0x6bf8, 0x0018, 0x01ff, 0x68f8, 0x0018, 0xfffe, | ||
90 | 0xf020, 0x05d1, 0xf100, 0x0001, 0xf84d, 0x02b5, 0xf6b8, 0xf495, | ||
91 | 0xf020, 0x05d1, 0xf073, 0x02af, 0x7ef8, 0x0012, 0xf000, 0x0001, | ||
92 | 0x47f8, 0x0011, 0x7e92, 0x00f8, 0x0011, 0xf000, 0x0001, 0x7ef8, | ||
93 | 0x0011, 0xf000, 0x0001, 0x6c89, 0x02a4, 0xf7b8, 0xeefc, 0xf020, | ||
94 | 0xffff, 0xf100, 0x0001, 0xf84d, 0x02cd, 0xf6b8, 0xf495, 0xf020, | ||
95 | 0xffff, 0xf273, 0x02c7, 0x4e02, 0xf495, 0xf5e3, 0x5602, 0x7e00, | ||
96 | 0x1100, 0xfa4c, 0x02c5, 0x6b03, 0x0001, 0xf6b8, 0xee04, 0xf074, | ||
97 | 0x0314, 0xf074, 0x0337, 0x4a11, 0x7711, 0x0038, 0x7681, 0x0000, | ||
98 | 0x7711, 0x0039, 0x7681, 0x0000, 0x7711, 0x0038, 0x7681, 0x0001, | ||
99 | 0x7711, 0x0039, 0x7681, 0x0030, 0x7711, 0x0038, 0x7681, 0x000e, | ||
100 | 0x7711, 0x0039, 0x7681, 0x0002, 0x7711, 0x0038, 0x7681, 0x0004, | ||
101 | 0x7711, 0x0039, 0x7681, 0x00a0, 0x7711, 0x0038, 0x7681, 0x0005, | ||
102 | 0x7711, 0x0039, 0x7681, 0x0000, 0x8a11, 0xfc00, 0x4a11, 0x7711, | ||
103 | 0x0038, 0x7681, 0x0001, 0x7711, 0x0039, 0x6981, 0x0001, 0x8a11, | ||
104 | 0xfc00, 0x4a11, 0x7711, 0x0038, 0x7681, 0x0001, 0x7711, 0x0039, | ||
105 | 0x6881, 0xfffe, 0x8a11, 0xfc00, 0xf6b8, 0xf495, 0xf162, 0xffff, | ||
106 | 0xf340, 0xffff, 0xf640, 0xf0e0, 0xf010, 0xffff, 0xf061, 0xffff, | ||
107 | 0xfa44, 0x0328, 0x4a11, 0xeefe, 0xf273, 0x032e, 0xe800, 0xe900, | ||
108 | 0x8911, 0xf495, 0x4911, 0x1081, 0xf300, 0x0001, 0x8100, 0xf074, | ||
109 | 0x0353, 0xee02, 0x8a11, 0xfc00, 0xf495, 0xf073, 0x0335, 0x4a11, | ||
110 | 0x8811, 0x10f8, 0x05cd, 0xf4e3, 0x10f8, 0x05d0, 0xf845, 0x0345, | ||
111 | 0x11f8, 0x05d0, 0xf7e3, 0xf495, 0x4811, 0x10f8, 0x05cf, 0xf845, | ||
112 | 0x034c, 0x10f8, 0x05cf, 0xf4e3, 0x10f8, 0x05ce, 0xf4e3, 0xf074, | ||
113 | 0x0334, 0x8a11, 0xfc00, 0x4a11, 0x7711, 0x0026, 0x7712, 0x0001, | ||
114 | 0x7713, 0x0001, 0x7681, 0x0010, 0x7711, 0x0000, 0x7681, 0xffff, | ||
115 | 0xe501, 0xf495, 0xf6bb, 0xf074, 0x02d3, 0xf074, 0x01de, 0xf4e1, | ||
116 | 0xf495, 0xf073, 0x0367, 0x80f8, 0x05ce, 0xfc00, 0x80f8, 0x05cd, | ||
117 | 0xfc00, 0xfc00, | ||
113 | }; | 118 | }; |
114 | 119 | ||
115 | static const unsigned short _section_cinit[] = { | 120 | static const unsigned short _section_cinit[] = { |
116 | 0x0001, 0x05a6, 0x034a, 0x0001, 0x05a7, 0x034a, 0x0001, 0x05a8, | 121 | 0x0001, 0x05cd, 0x0371, 0x0001, 0x05ce, 0x0371, 0x0001, 0x05cf, |
117 | 0x0000, 0x0001, 0x05a9, 0x0000, 0x0000, | 122 | 0x0000, 0x0001, 0x05d0, 0x0000, 0x0000, |
118 | }; | 123 | }; |
119 | 124 | ||
120 | static const unsigned short _section_vectors[] = { | 125 | static const unsigned short _section_vectors[] = { |
121 | 0xf273, 0x0262, 0xf495, 0xf495, 0xf4eb, 0xf495, 0xf495, 0xf495, | 126 | 0xf273, 0x0289, 0xf495, 0xf495, 0xf4eb, 0xf495, 0xf495, 0xf495, |
122 | 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, | 127 | 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, |
123 | 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, | 128 | 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, |
124 | 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, | 129 | 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, |
@@ -126,72 +131,73 @@ static const unsigned short _section_vectors[] = { | |||
126 | 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, | 131 | 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, |
127 | 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, | 132 | 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, |
128 | 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, | 133 | 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, |
129 | 0xf273, 0x0200, 0xf495, 0xf495, 0xf4eb, 0xf495, 0xf495, 0xf495, | 134 | 0xf273, 0x0211, 0xf495, 0xf495, 0xf4eb, 0xf495, 0xf495, 0xf495, |
130 | 0xf4eb, 0xf495, 0xf495, 0xf495, 0xf4eb, 0xf495, 0xf495, 0xf495, | 135 | 0xf4eb, 0xf495, 0xf495, 0xf495, 0xf4eb, 0xf495, 0xf495, 0xf495, |
131 | 0xf4eb, 0xf495, 0xf495, 0xf495, 0xf4eb, 0xf495, 0xf495, 0xf495, | 136 | 0xf4eb, 0xf495, 0xf495, 0xf495, 0xf4eb, 0xf495, 0xf495, 0xf495, |
132 | 0xf273, 0x0117, 0xf495, 0xf495, 0xf4eb, 0xf495, 0xf495, 0xf495, | 137 | 0xf273, 0x0128, 0xf495, 0xf495, 0xf4eb, 0xf495, 0xf495, 0xf495, |
133 | 0xf4eb, 0xf495, 0xf495, 0xf495, 0xf4eb, 0xf495, 0xf495, 0xf495, | 138 | 0xf4eb, 0xf495, 0xf495, 0xf495, 0xf4eb, 0xf495, 0xf495, 0xf495, |
134 | 0xf4eb, 0xf495, 0xf495, 0xf495, 0xf4eb, 0xf495, 0xf495, 0xf495, | 139 | 0xf4eb, 0xf495, 0xf495, 0xf495, 0xf4eb, 0xf495, 0xf495, 0xf495, |
135 | 0xf4eb, 0xf495, 0xf495, 0xf495, 0xf4eb, 0xf495, 0xf495, 0xf495, | 140 | 0xf4eb, 0xf495, 0xf495, 0xf495, 0xf4eb, 0xf495, 0xf495, 0xf495, |
136 | 0xf273, 0x0171, 0xf495, 0xf495, 0xf4eb, 0xf495, 0xf495, 0xf495, | 141 | 0xf273, 0x0182, 0xf495, 0xf495, 0xf4eb, 0xf495, 0xf495, 0xf495, |
137 | 142 | ||
138 | }; | 143 | }; |
139 | 144 | ||
140 | /* Program Mapping */ | 145 | /* Program Mapping */ |
141 | static const struct dsp_section dsp_image[] = { | 146 | static const struct dsp_section dsp_image[] = { |
142 | 147 | ||
143 | {_section_text, 0x0080, 0x02cb}, | 148 | {_section_text, 0x0080, 0x02f2}, |
144 | {_section_cinit, 0x05aa, 0x000d}, | 149 | {_section_cinit, 0x05d1, 0x000d}, |
145 | {NULL /* .bss */, 0x054b, 0x005f}, | 150 | {NULL /* .bss */, 0x0572, 0x005f}, |
146 | {NULL /* .stack */, 0x034b, 0x0200}, | 151 | {NULL /* .stack */, 0x0372, 0x0200}, |
147 | {_section_vectors, 0x7f80, 0x0080}, | 152 | {_section_vectors, 0x7f80, 0x0080}, |
148 | {NULL /* .dma */, 0x8000, 0x1000}, | 153 | {NULL /* .dma */, 0x8000, 0x1000}, |
149 | {NULL, 0, 0} | 154 | {NULL, 0, 0} |
150 | }; | 155 | }; |
151 | 156 | ||
152 | /* Symbol table, usable with the DSP_() macro (see dsp-target.h). */ | 157 | /* Symbol table, usable with the DSP_() macro (see dsp-target.h). */ |
153 | #define cinit 0x05aa | 158 | #define cinit 0x05d1 |
154 | #define ___cinit__ 0x05aa | 159 | #define ___cinit__ 0x05d1 |
155 | #define ___text__ 0x0080 | 160 | #define ___text__ 0x0080 |
156 | #define etext 0x034b | 161 | #define etext 0x0372 |
157 | #define ___etext__ 0x034b | 162 | #define ___etext__ 0x0372 |
158 | #define ___data__ 0x0080 | 163 | #define ___data__ 0x0080 |
159 | #define edata 0x0080 | 164 | #define edata 0x0080 |
160 | #define ___edata__ 0x0080 | 165 | #define ___edata__ 0x0080 |
161 | #define ___bss__ 0x054b | 166 | #define ___bss__ 0x0572 |
162 | #define end 0x05aa | 167 | #define end 0x05d1 |
163 | #define ___end__ 0x05aa | 168 | #define ___end__ 0x05d1 |
164 | #define _int0_count 0x059c | 169 | #define _int0_count 0x05c3 |
165 | #define _status 0x054b | 170 | #define _status 0x0572 |
166 | #define _handle_int0 0x0200 | 171 | #define _handle_int0 0x0211 |
167 | #define _main 0x032c | 172 | #define _int_arm 0x0273 |
168 | #define _handle_dmac 0x0171 | 173 | #define _main 0x0353 |
169 | #define _waiting 0x05a5 | 174 | #define _handle_dmac 0x0182 |
170 | #define _sdem_addrh 0x059d | 175 | #define _waiting 0x05cc |
171 | #define _sdem_addrl 0x059e | 176 | #define _sdem_addrh 0x05c4 |
172 | #define _dma0_stopped 0x05a4 | 177 | #define _sdem_addrl 0x05c5 |
173 | #define _dma0_unlocked 0x05a3 | 178 | #define _dma0_stopped 0x05cb |
174 | #define _sdem_dsp_size 0x059f | 179 | #define _dma0_unlocked 0x05ca |
175 | #define _handle_dma0 0x0117 | 180 | #define _sdem_dsp_size 0x05c6 |
176 | #define _dsp_level 0x05a0 | 181 | #define _handle_dma0 0x0128 |
177 | #define _dma_init 0x01cd | 182 | #define _dsp_level 0x05c7 |
178 | #define _sdem_level 0x05a1 | 183 | #define _dma_init 0x01de |
179 | #define _rebuffer 0x0085 | 184 | #define _sdem_level 0x05c8 |
180 | #define _last_size 0x05a2 | 185 | #define _rebuffer 0x0096 |
181 | #define _audiohw_start 0x02d7 | 186 | #define _last_size 0x05c9 |
182 | #define _audiohw_init 0x02ac | 187 | #define _audiohw_start 0x02fe |
183 | #define _audiohw_stop 0x02e2 | 188 | #define _audiohw_init 0x02d3 |
184 | #define _c_int00 0x0262 | 189 | #define _audiohw_stop 0x0309 |
185 | #define __dtors_ptr 0x05a9 | 190 | #define _c_int00 0x0289 |
186 | #define _abort 0x030d | 191 | #define __dtors_ptr 0x05d0 |
187 | #define _exit 0x0310 | 192 | #define _abort 0x0334 |
188 | #define __cleanup_ptr 0x05a8 | 193 | #define _exit 0x0337 |
189 | #define __lock 0x05a6 | 194 | #define __cleanup_ptr 0x05cf |
190 | #define __register_unlock 0x0344 | 195 | #define __lock 0x05cd |
191 | #define __nop 0x034a | 196 | #define __register_unlock 0x036b |
192 | #define __register_lock 0x0347 | 197 | #define __nop 0x0371 |
193 | #define __unlock 0x05a7 | 198 | #define __register_lock 0x036e |
194 | #define __args_main 0x02ed | 199 | #define __unlock 0x05ce |
200 | #define __args_main 0x0314 | ||
195 | 201 | ||
196 | #endif | 202 | #endif |
197 | 203 | ||
diff --git a/firmware/target/arm/tms320dm320/dsp/registers.h b/firmware/target/arm/tms320dm320/dsp/registers.h index edfdeaea88..aeaa7e8616 100644 --- a/firmware/target/arm/tms320dm320/dsp/registers.h +++ b/firmware/target/arm/tms320dm320/dsp/registers.h | |||
@@ -75,6 +75,8 @@ | |||
75 | /* DM320 */ | 75 | /* DM320 */ |
76 | ioport unsigned short port280; | 76 | ioport unsigned short port280; |
77 | #define CP_INTC port280 | 77 | #define CP_INTC port280 |
78 | ioport unsigned short port281; | ||
79 | #define CP_CLKC port281 | ||
78 | ioport unsigned short port8000; | 80 | ioport unsigned short port8000; |
79 | #define SDEM_ADDRL port8000 | 81 | #define SDEM_ADDRL port8000 |
80 | ioport unsigned short port8001; | 82 | ioport unsigned short port8001; |
diff --git a/firmware/target/arm/tms320dm320/mrobe-500/lcd-mr500.c b/firmware/target/arm/tms320dm320/mrobe-500/lcd-mr500.c index 898013982b..38631401f9 100644 --- a/firmware/target/arm/tms320dm320/mrobe-500/lcd-mr500.c +++ b/firmware/target/arm/tms320dm320/mrobe-500/lcd-mr500.c | |||
@@ -324,9 +324,8 @@ static void dma_start_transfer16( char *src, int src_x, int src_y, int stride, | |||
324 | src -= CONFIG_SDRAM_START; | 324 | src -= CONFIG_SDRAM_START; |
325 | dst -= CONFIG_SDRAM_START; | 325 | dst -= CONFIG_SDRAM_START; |
326 | 326 | ||
327 | /* Enable Clocks */ | 327 | /* Enable Image Buffer clock */ |
328 | bitset16(&IO_CLK_MOD1, CLK_MOD1_IMGBUF); | 328 | bitset16(&IO_CLK_MOD1, CLK_MOD1_IMGBUF); |
329 | bitset16(&COP_CP_CLKC, 0x0001); | ||
330 | 329 | ||
331 | /* ... */ | 330 | /* ... */ |
332 | COP_BUF_MUX1 = 0x0005; | 331 | COP_BUF_MUX1 = 0x0005; |
@@ -380,6 +379,9 @@ static void dma_start_transfer16( char *src, int src_x, int src_y, int stride, | |||
380 | dst += (stride*pix_width); | 379 | dst += (stride*pix_width); |
381 | height--; | 380 | height--; |
382 | } while(height>0); | 381 | } while(height>0); |
382 | |||
383 | /* Disable Image Buffer clock */ | ||
384 | bitclr16(&IO_CLK_MOD1, CLK_MOD1_IMGBUF); | ||
383 | } | 385 | } |
384 | #else | 386 | #else |
385 | static void dma_start_transfer16( char *src, int src_x, int src_y, int stride, | 387 | static void dma_start_transfer16( char *src, int src_x, int src_y, int stride, |
@@ -401,9 +403,8 @@ static void dma_start_transfer16( char *src, int src_x, int src_y, int stride, | |||
401 | src -= CONFIG_SDRAM_START; | 403 | src -= CONFIG_SDRAM_START; |
402 | dst -= CONFIG_SDRAM_START; | 404 | dst -= CONFIG_SDRAM_START; |
403 | 405 | ||
404 | /* Enable Clocks */ | 406 | /* Enable Image Buffer clock */ |
405 | bitset16(&IO_CLK_MOD1, CLK_MOD1_IMGBUF); | 407 | bitset16(&IO_CLK_MOD1, CLK_MOD1_IMGBUF); |
406 | bitset16(&COP_CP_CLKC, 0x0001); | ||
407 | 408 | ||
408 | /* ... */ | 409 | /* ... */ |
409 | COP_BUF_MUX1 = 0x0005; | 410 | COP_BUF_MUX1 = 0x0005; |
@@ -457,6 +458,9 @@ static void dma_start_transfer16( char *src, int src_x, int src_y, int stride, | |||
457 | dst -= (stride*pix_width); | 458 | dst -= (stride*pix_width); |
458 | width--; | 459 | width--; |
459 | } while(width>0); | 460 | } while(width>0); |
461 | |||
462 | /* Disable Image Buffer clock */ | ||
463 | bitclr16(&IO_CLK_MOD1, CLK_MOD1_IMGBUF); | ||
460 | } | 464 | } |
461 | #endif | 465 | #endif |
462 | #endif | 466 | #endif |
diff --git a/firmware/target/arm/tms320dm320/sansa-connect/pcm-sansaconnect.c b/firmware/target/arm/tms320dm320/sansa-connect/pcm-sansaconnect.c index 045f7b0ee9..8b1fbf95e4 100644 --- a/firmware/target/arm/tms320dm320/sansa-connect/pcm-sansaconnect.c +++ b/firmware/target/arm/tms320dm320/sansa-connect/pcm-sansaconnect.c | |||
@@ -79,9 +79,6 @@ void pcm_play_dma_init(void) | |||
79 | /* Enable the HPIB clock */ | 79 | /* Enable the HPIB clock */ |
80 | bitset16(&IO_CLK_MOD0, (CLK_MOD0_HPIB | CLK_MOD0_DSP)); | 80 | bitset16(&IO_CLK_MOD0, (CLK_MOD0_HPIB | CLK_MOD0_DSP)); |
81 | 81 | ||
82 | /* Enable IMGBUF clock */ | ||
83 | bitset16(&IO_CLK_MOD1, CLK_MOD1_IMGBUF); | ||
84 | |||
85 | dma_channel = dma_request_channel(DMA_PERIPHERAL_DSP, | 82 | dma_channel = dma_request_channel(DMA_PERIPHERAL_DSP, |
86 | DMA_MODE_1_BURST); | 83 | DMA_MODE_1_BURST); |
87 | 84 | ||