summaryrefslogtreecommitdiff
path: root/utils/hwstub/tools/lua/jz/misc.lua
diff options
context:
space:
mode:
Diffstat (limited to 'utils/hwstub/tools/lua/jz/misc.lua')
-rw-r--r--utils/hwstub/tools/lua/jz/misc.lua43
1 files changed, 43 insertions, 0 deletions
diff --git a/utils/hwstub/tools/lua/jz/misc.lua b/utils/hwstub/tools/lua/jz/misc.lua
new file mode 100644
index 0000000000..fb4185de33
--- /dev/null
+++ b/utils/hwstub/tools/lua/jz/misc.lua
@@ -0,0 +1,43 @@
1----------
2-- MISC --
3----------
4
5JZ.misc = {}
6
7function JZ.misc.enable_sram()
8 HW.CPM.CLKGATE1.SRAM.clr()
9 HW.CPM.CLKGATE1.AHB1.clr()
10end
11
12function JZ.misc.test_sram()
13 DEV.write32(0xb32d0000, 0xaaaa5555)
14 if DEV.read32(0xb32d0000) ~= 0xaaaa5555 then
15 error("SRAM is not working")
16 end
17 DEV.write32(0xb32d0000, 0xdeadbeef)
18 if DEV.read32(0xb32d0000) ~= 0xdeadbeef then
19 error("SRAM is not working")
20 end
21 print("SRAM seems to be working")
22 size = 0
23 for i=4,64*1024,4 do
24 DEV.write32(0xb32d0000, 0xdeadbeef)
25 DEV.write32(0xb32d0000 + i, 0xcafebabe)
26 if DEV.read32(0xb32d0000 + i) ~= 0xcafebabe or DEV.read32(0xb32d0000) == 0xcafebabe then
27 size = i
28 break
29 end
30 end
31 print(string.format("SRAM size: 0x%x (%d KiB)", size, size / 1024))
32 -- double check
33 for i=0,size-1,2 do
34 DEV.write16(0xb32d0000 + i, i)
35 end
36 for i=0,size-1,2 do
37 if DEV.read16(0xb32d0000 + i) ~= i then
38 error(string.format("SRAM size is not confirmed: read @%x gives %d instead of %d",
39 0xb32d0000 + i, DEV.read16(0xb32d0000 + i), i))
40 end
41 end
42 print("SRAM size confirmed and working")
43end