Exemplo n.º 1
0
HRESULT	nciCBInitialize(void)
{
	HRESULT	hResult = NO_ERROR;

	OFFSET_1394	addressLow;
	OFFSET_1394	addressHi;

	// Install callbacks for address ranges handled by the NCI

	/*
		Register Space.  all NCI implemented Address ranges have this value for the
		upper 16 bits of the 48-bit address
	*/
	addressLow.High = REGISTER_SPACE_ADDR_HI;
	addressHi.High = REGISTER_SPACE_ADDR_HI;

	/*
		Architecture area, various low level registers, some already supported by
		the hardware
	*/
	addressLow.Low = CSR_ARCH_SPACE_START;
	addressHi.Low = CSR_ARCH_SPACE_END;
	hResult = lalAddressRangeRegisterCB (nciCBArchSpace, addressLow, addressHi);
	if (hResult != NO_ERROR) return hResult;

	// Serial Bus area, including IRM regs
	addressLow.Low = CSR_SB_SPACE_START;
	addressHi.Low = CSR_SB_SPACE_END;
	hResult = lalAddressRangeRegisterCB (nciCBSBSpace, addressLow, addressHi);
	if (hResult != NO_ERROR) return hResult;

	// Configuration ROM area, supports quadlet and block reads
	addressLow.Low = CSR_ROM_SPACE_START;
	addressHi.Low = CSR_ROM_SPACE_END;
	hResult = lalAddressRangeRegisterCB (nciCBConfigROM, addressLow, addressHi);
	if (hResult != NO_ERROR) return hResult;

	// TOPOLOGY_MAP, supports quadlet and block reads
	addressLow.Low = CSR_TOPOLOGY_MAP_START;
	addressHi.Low = CSR_TOPOLOGY_MAP_END;
	hResult = lalAddressRangeRegisterCB (nciCBTopologyMap, addressLow, addressHi);
	if (hResult != NO_ERROR) return hResult;

	// SPEED_MAP, supports quadlet and block reads
	addressLow.Low = CSR_SPEED_MAP_START;
	addressHi.Low = CSR_SPEED_MAP_END;
	hResult = lalAddressRangeRegisterCB (nciCBSpeedMap, addressLow, addressHi);
	if (hResult != NO_ERROR) return hResult;

	return hResult;
}
Exemplo n.º 2
0
HRESULT mixer8firewireInitialize(void)
{
	HRESULT			hResult = NO_ERROR;
	OFFSET_1394  	mixer8Address, mixer8AddressHi;
	
	mixer8Address.High = MIXER8_BASE_START_HI;  
	mixer8Address.Low  = MIXER8_BASE_START;  

	mixer8AddressHi.High = MIXER8_BASE_END_HI;
	mixer8AddressHi.Low  = MIXER8_BASE_END;

	hResult = lalAddressRangeRegisterCB(&mixer8firewireCoreCallback,mixer8Address,mixer8AddressHi);

	return hResult;
}
Exemplo n.º 3
0
HRESULT cliCBInitialize(void)
{
	HRESULT			hResult = NO_ERROR;

	SYS_DEBUG(SYSDEBUG_TRACE_CLICB, "Remote CLI interface active\n\r");
	SYS_DEBUG(SYSDEBUG_TRACE_CLICB, "CB Range is: %04hx_%08x to %04hx_%08x\n\r", cliDestOffsetLo.High, cliDestOffsetLo.Low, cliDestOffsetHi.High, cliDestOffsetHi.Low);

	// Install callbacks for address ranges handled by the CLI
	hResult = lalAddressRangeRegisterCB (cliCBCallback, cliDestOffsetLo, cliDestOffsetHi);
	if (hResult != NO_ERROR) return hResult;

	hResult = cliCBCreateMessageQueues();
	if (hResult != NO_ERROR) return hResult;

	cliCBCliInstallTools();

	return hResult;
}