# HG changeset patch # User Michael Spacefalcon # Date 1374910208 0 # Node ID 8138a6380ae39bf5fa4cd83b597d4fb72c2aa1d7 # Parent c54c6ad1c66f4efad9b1ec28db0da87aeda70ca2 pirexplore: attempt to play with SPCA552E diff -r c54c6ad1c66f -r 8138a6380ae3 target-utils/pirexplore/Makefile --- a/target-utils/pirexplore/Makefile Fri Jul 26 21:12:03 2013 +0000 +++ b/target-utils/pirexplore/Makefile Sat Jul 27 07:30:08 2013 +0000 @@ -5,7 +5,7 @@ OBJCOPY=arm-elf-objcopy PROG= pirexplore -OBJS= crt0.o cmdtab.o main.o mygetchar.o rtc.o +OBJS= crt0.o cmdtab.o lcd.o main.o mygetchar.o rtc.o LIBS= ../libcommon/libcommon.a ../libprintf/libprintf.a LDS= ../env/iram.lds diff -r c54c6ad1c66f -r 8138a6380ae3 target-utils/pirexplore/cmdtab.c --- a/target-utils/pirexplore/cmdtab.c Fri Jul 26 21:12:03 2013 +0000 +++ b/target-utils/pirexplore/cmdtab.c Sat Jul 27 07:30:08 2013 +0000 @@ -8,6 +8,7 @@ extern void cmd_r32(); extern void cmd_rtc(); extern void cmd_rtccomp(); +extern void cmd_spca(); extern void cmd_w8(); extern void cmd_w16(); extern void cmd_w32(); @@ -21,6 +22,7 @@ {"r32", cmd_r32}, {"rtc", cmd_rtc}, {"rtccomp", cmd_rtccomp}, + {"spca", cmd_spca}, {"w8", cmd_w8}, {"w16", cmd_w16}, {"w32", cmd_w32}, diff -r c54c6ad1c66f -r 8138a6380ae3 target-utils/pirexplore/lcd.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/target-utils/pirexplore/lcd.c Sat Jul 27 07:30:08 2013 +0000 @@ -0,0 +1,23 @@ +#include +#include "types.h" + +void +cmd_spca(argbulk) + char *argbulk; +{ + char *argv[3]; + u_long addr, data; + + if (parse_args(argbulk, 2, 2, argv, 0) < 0) + return; + if (parse_hexarg(argv[0], 4, &addr) < 0) { + printf("ERROR: arg1 must be a valid 16-bit hex value\n"); + return; + } + if (parse_hexarg(argv[1], 4, &data) < 0) { + printf("ERROR: arg2 must be a valid 16-bit hex value\n"); + return; + } + *(volatile u16 *)0x02800000 = addr; + *(volatile u16 *)0x02800002 = data; +} diff -r c54c6ad1c66f -r 8138a6380ae3 target-utils/pirexplore/main.c --- a/target-utils/pirexplore/main.c Fri Jul 26 21:12:03 2013 +0000 +++ b/target-utils/pirexplore/main.c Sat Jul 27 07:30:08 2013 +0000 @@ -21,6 +21,17 @@ *(volatile u16 *)0xfffffb02 = 0x00A4; *(volatile u16 *)0xfffffb06 = 0x00A4; *(volatile u16 *)0xfffef006 = 0x0008; + /* + * Other register settings replicating what OsmocomBB does + * in board/pirelli_dpl10/init.c + */ + *(volatile u16 *)0xfffef008 = 0x7090; + *(volatile u16 *)0xfffef00a = 0x021F; + *(volatile u16 *)0xfffe4804 = 0xFF6D; + *(volatile u16 *)0xfffe4802 = 0x0000; + *(volatile u16 *)0xfffe4802 = 0x0012; + /* nCS4 setup for SPCA552E */ + *(volatile u16 *)0xfffffb0a = 0x00A7; for (;;) { putchar('='); if (command_entry())