view target-utils/pirexplore/main.c @ 74:8138a6380ae3

pirexplore: attempt to play with SPCA552E
author Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
date Sat, 27 Jul 2013 07:30:08 +0000
parents a323b4cc69e6
children 07b686248ab7
line wrap: on
line source

#include "types.h"
#include "romvars.h"

extern struct boot_rom_vars rom_vars;

extern char *uart_name;

main()
{
	uart_select_init();
	printf("Pirelli hardware exploration utility running\n");
	printf("Loaded via UART %d (%s) at baud rate #%d\n", rom_vars.uart_id,
		uart_name, rom_vars.baud_rate_code);
	printf("TCXO clock input autodetected to be %d MHz\n",
		rom_vars.clktcxo_13mhz ? 13 : 26);
	/*
	 * Make the same register settings as in the init script used by
	 * fc-loadtool and fc-xram: ../../loadtools/scripts/pirelli.init
	 */
	*(volatile u16 *)0xfffffb00 = 0x00A4;
	*(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())
			command_dispatch();
	}
}