view target-utils/libcommon/uartsel.c @ 867:c4da570dca83

int_osx_receive_prim() in gsm-fw/gpf/osx/osx.c: there was an error in the reconstruction of this function from disassembly in the logic that implements special handling for MPHC_RXLEV_REQ messages. The code is now fixed to properly match what the binary object version does; with this fix the firmware now performs the power measurement phase correctly and the initial network registration succeeds.
author Space Falcon <falcon@ivan.Harhan.ORG>
date Sat, 16 May 2015 06:34:09 +0000
parents 40f607bb0a2c
children a7b0b426f9ca
line wrap: on
line source

/*
 * uart_select_init() figures out which UART was used to load us
 * through the boot ROM, and sets things up for us to use the same
 * UART for our communication.
 */

#include "types.h"
#include "romvars.h"
#include "ns16550.h"
#include "halt.h"

extern struct boot_rom_vars rom_vars;

struct ns16550_regs *uart_base;
char *uart_name;

uart_select_init()
{
	switch (rom_vars.uart_id) {
	case 0:
		uart_base = (struct ns16550_regs *) 0xFFFF5800;
		uart_name = "MODEM";
		break;
	case 1:
		uart_base = (struct ns16550_regs *) 0xFFFF5000;
		uart_name = "IrDA";
		break;
	default:
		_exit(HALTCODE_INVALIDUART);
	}
}