blob: 1126e3c6361a0f8190d08ceb3fc0dfb17c199757 [file] [log] [blame]
/**
* \page sama5d2_xult_board_desc sama5d2-XULT - Board Description
*
* \section Purpose
*
* This file is dedicated to describe the sama5d2-XULT board.
*
* \section Contents
*
* - sama5d2-XULT
* - For sama5d2-XULT information, see \subpage sama5d2_xult_board_info.
* - For operating frequency information, see \subpage sama5d2_xult_opfreq.
* - For using portable PIO definitions, see \subpage sama5d2_xult_piodef.
* - For on-board memories, see \subpage sama5d2_xult_mem.
* - Several USB definitions are included here, see \subpage sama5d2_xult_usb.
* - For External components, see \subpage sama5d2_xult_extcomp.
* - For Individual chip definition, see \subpage sama5d2_xult_chipdef.
*
* To get more software details and the full list of parameters related to the
* sama5d2-XULT board configuration, please have a look at the source file:
* \ref board.h\n
*
* \section Usage
*
* - The code for booting the board is provided by board_cstartup_xxx.c and
* board_lowlevel.c.
* - For using board PIOs, board characteristics (clock, etc.) and external
* components, see board.h.
* - For manipulating memories, see board_memories.h.
*
* This file can be used as a template and modified to fit a custom board, with
* specific PIOs usage or memory connections.
*/
/**
* \file board.h
*
* Definition of sama5d2-xb
* characteristics, sama5d2-dependant PIOs and external components interfacing.
*/
#ifndef _BOARD_D2_H
#define _BOARD_D2_H
/*----------------------------------------------------------------------------
* Headers
*----------------------------------------------------------------------------*/
#include "chip.h"
#include "board_lowlevel.h"
#include "board_memories.h"
/*----------------------------------------------------------------------------
* HW BOARD Definitions
*----------------------------------------------------------------------------*/
/**
* \page sama5d2_vb_board_info "sama5d2-vb - Board informations"
* This page lists several definition related to the board description.
*
* \section Definitions
* - \ref BOARD_NAME
*/
/** Name of the board */
#define BOARD_NAME "sama5d2-vb-bga196"
/*----------------------------------------------------------------------------*/
/**
* \page sama5d2_xult_opfreq "sama5d2-XULT - Operating frequencies"
* This page lists several definition related to the board operating frequency
* (when using the initialization done by board_lowlevel.c).
*/
/** Frequency of the board slow clock oscillator */
#define BOARD_SLOW_CLOCK_EXT_OSC 32768
/** Frequency of the board main clock oscillator */
#define BOARD_MAIN_CLOCK_EXT_OSC 12000000
/** \def Board PIT tick resolution */
#define BOARD_TIMER_RESOLUTION 1000
/* =================== PIN CONSOLE definition ================== */
/** CONSOLE pin definition, Use only UART */
#define PINS_CONSOLE PINS_UART0_IOS1
#define CONSOLE_PER_ADD UART0
#define CONSOLE_ID ID_UART0
#define CONSOLE_BAUDRATE 57600
#define CONSOLE_DRIVER DRV_UART
/* =================== PIN LED definition ====================== */
/* RGB LED index */
#define LED_RED 0 /* led red shared with SDMMC0 (eMMC) card detect used only by RomBoot */
#define LED_GREEN 1
#define LED_BLUE 2
/** LED #0 pin definition (Red). */
#define PIN_LED_0 { PIO_GROUP_D, PIO_PD21, PIO_OUTPUT_0, PIO_OPENDRAIN }
/** LED #1 pin definition (Green). */
#define PIN_LED_1 { PIO_GROUP_D, PIO_PD22, PIO_OUTPUT_0, PIO_OPENDRAIN }
/** List of all LEDs definitions. */
#define PINS_LEDS { PIN_LED_0, PIN_LED_1 }
/* =================== PIN PUSH BUTTON definition ============== */
#define PIO_CFG_PB (PIO_PULLUP | PIO_DEBOUNCE)
#define PIN_PUSHBUTTON_1 { PIO_GROUP_D, PIO_PD19, PIO_INPUT, PIO_CFG_PB }
#define PIN_PUSHBUTTON_2 { PIO_GROUP_D, PIO_PD20, PIO_INPUT, PIO_CFG_PB }
/** List of all push button definitions. */
#define PINS_PUSHBUTTONS { PIN_PUSHBUTTON_1, PIN_PUSHBUTTON_2 }
/** Push button index. */
#define PUSHBUTTON_BP1 0
#define PUSHBUTTON_BP2 1
/* ================== PIN USB definition ======================= */
/** USB VBus pin */
#define PIN_USB_VBUS {\
{ PIO_GROUP_A, PIO_PA31, PIO_INPUT, PIO_DEFAULT },\
}
/** USB OverCurrent detection*/
#define PIN_USB_OVCUR {\
{ PIO_GROUP_A, PIO_PA29, PIO_INPUT, PIO_DEFAULT },\
}
/** USB Power Enable A, Active high */
#define PIN_USB_POWER_ENA {\
{ PIO_GROUP_B, PIO_PB9, PIO_OUTPUT_0, PIO_DEFAULT },\
}
/** USB Power Enable B, Active high */
#define PIN_USB_POWER_ENB {\
{ PIO_GROUP_B, PIO_PB10, PIO_OUTPUT_0, PIO_DEFAULT },\
}
/* ================= PIN LCD IRQ definition ===================== */
#define PIO_CFG_LCD_IRQ (PIO_PULLUP | PIO_IT_FALL_EDGE)
#define PIN_QT1070_IRQ {\
{ PIO_GROUP_B, PIO_PB7, PIO_INPUT, PIO_CFG_LCD_IRQ },\
}
#define PIN_MXT336S_IRQ {\
{ PIO_GROUP_B, PIO_PB8, PIO_INPUT, PIO_CFG_LCD_IRQ },\
}
#define PIN_MXT768E_IRQ {\
{ PIO_GROUP_B, PIO_PB8, PIO_INPUT, PIO_CFG_LCD_IRQ },\
}
/* =================== PIN ISC definition ======================= */
#define PIN_ISC_RST {\
{ PIO_GROUP_B, PIO_PB11, PIO_OUTPUT_1, PIO_DEFAULT },\
}
#define PIN_ISC_PWD {\
{ PIO_GROUP_B, PIO_PB12, PIO_OUTPUT_1, PIO_DEFAULT },\
}
/* =================== PIN SDMMC definition ===================== */
#define SDMMC0_PINS { PINS_SDMMC0_4B_IOS1, PIN_SDMMC0_CK_IOS1,\
PIN_SDMMC0_CD_IOS1, PIN_SDMMC0_RSTN_IOS1,\
PIN_SDMMC0_WP_IOS1 }
/* =================== PIN CAN definition ======================= */
/* CAN0 {PC1; PC2} is wired to the J18 connector via an AT6561 transceiver. */
#define CAN0_PINS PINS_CAN0_IOS0
/* =================== NANDFLASH device definition =================== */
#define BOARD_NANDFLASH_PINS PINS_NFC_IOS1
#define BOARD_NANDFLASH_ADDR EBI_CS3_ADDR
#define BOARD_NANDFLASH_CS 3
#define BOARD_NANDFLASH_BUS_WIDTH 8
#endif /* #ifndef _BOARD_D2_H */