#ifndef __PLATFORM_H__
#define __PLATFORM_H__

#include <stdint.h>

// Using an external oscillator with a frequency of 25 MHz  
const uint32_t	TicksPerMicrosecond				= 25;
const uint32_t	TicksPerMillisecond				= 25000;
const uint32_t	TicksPerSecond					= 25000000; 

const uint32_t 	KS8695PX_IO_BASE     			= 0x03FF0000;
const uint32_t	KS8695PX_BUS_CONTROL_OFFSET		= 0x0000;
const uint32_t	KS8695PX_EXTERNAL_IO_OFFSET		= 0x4000;
const uint32_t 	KS8695PX_UART_OFFSET 			= 0xE000;
const uint32_t 	KS8695PX_INTERRUPT_OFFSET		= 0xE200;
const uint32_t	KS8695PX_TIMER_OFFSET			= 0xE400;
const uint32_t 	KS8695PX_GPIO_OFFSET			= 0xE600;

const uint32_t	External_IO_Bank_0_BaseAddress	= 0x3200000;  // SD/MMC Controller
const uint32_t	External_IO_Bank_0_Size			= 0x0400000;

const uint32_t	External_IO_Bank_1_BaseAddress	= 0x3600000;  // FPGA on CPU Board
const uint32_t	External_IO_Bank_1_Size			= 0x0400000;

const uint32_t	External_IO_Bank_2_BaseAddress	= 0x3A00000;  // FPGA on Mother Board
const uint32_t	External_IO_Bank_2_Size			= 0x0400000;

#endif //__PLATFORM_H__
