forked from Imagelibrary/rtems
2011-09-27 Sebastian Huber <sebastian.huber@embedded-brains.de>
* make/custom/mpc8309som.cfg, startup/linkcmds.mpc8309som: New file. * Makefile.am, preinstall.am: Reflect changes above. * configure.ac, console/console-config.c, include/bsp.h, include/hwreg_vals.h, include/irq.h, network/network.c, spi/spi_init.c, startup/cpuinit.c: Renamed various BSP options. * make/custom/gen83xx.inc, make/custom/hsc_cm01.cfg, make/custom/mpc8313erdb.cfg, make/custom/mpc8349eamds.cfg: Avoid special linkcmds.
This commit is contained in:
@@ -1,3 +1,14 @@
|
||||
2011-09-27 Sebastian Huber <sebastian.huber@embedded-brains.de>
|
||||
|
||||
* make/custom/mpc8309som.cfg, startup/linkcmds.mpc8309som: New file.
|
||||
* Makefile.am, preinstall.am: Reflect changes above.
|
||||
* configure.ac, console/console-config.c, include/bsp.h,
|
||||
include/hwreg_vals.h, include/irq.h, network/network.c,
|
||||
spi/spi_init.c, startup/cpuinit.c: Renamed various BSP options.
|
||||
* make/custom/gen83xx.inc, make/custom/hsc_cm01.cfg,
|
||||
make/custom/mpc8313erdb.cfg, make/custom/mpc8349eamds.cfg: Avoid
|
||||
special linkcmds.
|
||||
|
||||
2011-08-24 Sebastian Huber <sebastian.huber@embedded-brains.de>
|
||||
|
||||
* network/network.c: Update due to API changes.
|
||||
|
||||
@@ -32,6 +32,7 @@ project_lib_DATA += rtems_crti.$(OBJEXT)
|
||||
|
||||
dist_project_lib_DATA += startup/linkcmds \
|
||||
startup/linkcmds.base \
|
||||
startup/linkcmds.mpc8309som \
|
||||
startup/linkcmds.mpc8313erdb \
|
||||
startup/linkcmds.mpc8349eamds \
|
||||
startup/linkcmds.hsc_cm01
|
||||
|
||||
@@ -21,38 +21,44 @@ RTEMS_BSPOPTS_HELP_DATA_CACHE_ENABLED
|
||||
RTEMS_BSPOPTS_SET_INSTRUCTION_CACHE_ENABLED([*],[1])
|
||||
RTEMS_BSPOPTS_HELP_INSTRUCTION_CACHE_ENABLED
|
||||
|
||||
RTEMS_BSPOPTS_SET([MPC8313ERDB],[mpc8313erdb],[1])
|
||||
RTEMS_BSPOPTS_HELP([MPC8313ERDB],
|
||||
[If defined, use custom settings for the mpc8313erdb BSP.])
|
||||
RTEMS_BSPOPTS_SET([MPC83XX_BOARD_MPC8313ERDB],[mpc8313erdb],[1])
|
||||
RTEMS_BSPOPTS_HELP([MPC83XX_BOARD_MPC8313ERDB],
|
||||
[if defined, then use settings for the MPC8313ERDB board])
|
||||
|
||||
RTEMS_BSPOPTS_SET([MPC8349EAMDS],[mpc8349eamds],[1])
|
||||
RTEMS_BSPOPTS_HELP([MPC8349EAMDS],
|
||||
[If defined, use custom settings for the mpc8349eamds BSP.])
|
||||
RTEMS_BSPOPTS_SET([MPC83XX_BOARD_MPC8349EAMDS],[mpc8349eamds],[1])
|
||||
RTEMS_BSPOPTS_HELP([MPC83XX_BOARD_MPC8349EAMDS],
|
||||
[if defined, then use settings for the MPC8349EAMDS board])
|
||||
|
||||
RTEMS_BSPOPTS_SET([HSC_CM01],[hsc_cm01],[1])
|
||||
RTEMS_BSPOPTS_HELP([HSC_CM01],
|
||||
[If defined, use custom settings for the hsc_cm01 BSP.])
|
||||
RTEMS_BSPOPTS_SET([MPC83XX_BOARD_HSC_CM01],[hsc_cm01],[1])
|
||||
RTEMS_BSPOPTS_HELP([MPC83XX_BOARD_HSC_CM01],
|
||||
[if defined, then use settings for the HSC_CM01 board])
|
||||
|
||||
RTEMS_BSPOPTS_SET([MPC8349],[mpc8313erdb],[1])
|
||||
RTEMS_BSPOPTS_SET([MPC8349],[mpc8349eamds],[1])
|
||||
RTEMS_BSPOPTS_SET([MPC8349],[hsc_cm01],[1])
|
||||
RTEMS_BSPOPTS_HELP([MPC8349],
|
||||
[If defined, use custom settings for the MPC8349 libcpu family.])
|
||||
RTEMS_BSPOPTS_SET([MPC83XX_BOARD_MPC8309SOM],[mpc8309som],[1])
|
||||
RTEMS_BSPOPTS_HELP([MPC83XX_BOARD_MPC8309SOM],
|
||||
[if defined, then use settings for the MPC8309SOM board])
|
||||
|
||||
RTEMS_BSPOPTS_SET([BSP_CONSOLE_BAUD],[mpc8313erdb],[115200])
|
||||
RTEMS_BSPOPTS_SET([BSP_CONSOLE_BAUD],[*],[9600])
|
||||
RTEMS_BSPOPTS_HELP([BSP_CONSOLE_BAUD],[Default baud for console and other serial devices.])
|
||||
RTEMS_BSPOPTS_SET([MPC83XX_CHIP_TYPE],[mpc8309som],[8309])
|
||||
RTEMS_BSPOPTS_SET([MPC83XX_CHIP_TYPE],[mpc8349eamds],[8349])
|
||||
RTEMS_BSPOPTS_SET([MPC83XX_CHIP_TYPE],[hsc_cm01],[8349])
|
||||
RTEMS_BSPOPTS_SET([MPC83XX_CHIP_TYPE],[*],[8313])
|
||||
RTEMS_BSPOPTS_HELP([MPC83XX_CHIP_TYPE],[chip type of the MPC83XX family])
|
||||
|
||||
RTEMS_BSPOPTS_SET([BSP_USE_UART_INTERRUPTS],[mpc8313erdb],[1])
|
||||
RTEMS_BSPOPTS_SET([BSP_CONSOLE_BAUD],[mpc8349eamds],[9600])
|
||||
RTEMS_BSPOPTS_SET([BSP_CONSOLE_BAUD],[hsc_cm01],[9600])
|
||||
RTEMS_BSPOPTS_SET([BSP_CONSOLE_BAUD],[*],[115200])
|
||||
RTEMS_BSPOPTS_HELP([BSP_CONSOLE_BAUD],[default baud for console and other serial devices])
|
||||
|
||||
RTEMS_BSPOPTS_SET([BSP_USE_UART_INTERRUPTS],[mpc8349eamds],[])
|
||||
RTEMS_BSPOPTS_SET([BSP_USE_UART_INTERRUPTS],[hsc_cm01],[])
|
||||
RTEMS_BSPOPTS_SET([BSP_USE_UART_INTERRUPTS],[*],[1])
|
||||
RTEMS_BSPOPTS_HELP([BSP_USE_UART_INTERRUPTS],[enable usage of interrupts for the UART modules])
|
||||
|
||||
RTEMS_BSPOPTS_SET([BSP_USE_UART2],[mpc8313erdb],[1])
|
||||
RTEMS_BSPOPTS_SET([BSP_USE_UART2],[mpc8349eamds],[1])
|
||||
RTEMS_BSPOPTS_SET([BSP_USE_UART2],[hsc_cm01],[1])
|
||||
RTEMS_BSPOPTS_HELP([BSP_USE_UART2],[If defined, enables UART2.])
|
||||
RTEMS_BSPOPTS_SET([BSP_USE_UART2],[*],[1])
|
||||
RTEMS_BSPOPTS_HELP([BSP_USE_UART2],[if defined, enables UART2])
|
||||
|
||||
RTEMS_BSPOPTS_SET([HAS_UBOOT],[mpc8309som],[1])
|
||||
RTEMS_BSPOPTS_SET([HAS_UBOOT],[mpc8313erdb],[1])
|
||||
RTEMS_BSPOPTS_HELP([HAS_UBOOT],[If defined, enables U-Boot support.])
|
||||
RTEMS_BSPOPTS_HELP([HAS_UBOOT],[if defined, enables U-Boot support])
|
||||
|
||||
RTEMS_BSPOPTS_SET([GEN83XX_ENABLE_INTERRUPT_NESTING],[*],[1])
|
||||
RTEMS_BSPOPTS_HELP([GEN83XX_ENABLE_INTERRUPT_NESTING],[enable interrupt nesting])
|
||||
@@ -65,6 +71,7 @@ AC_CONFIG_FILES([Makefile])
|
||||
|
||||
RTEMS_BSP_BOOTCARD_OPTIONS
|
||||
RTEMS_BSP_CLEANUP_OPTIONS(0, 0)
|
||||
RTEMS_BSP_LINKCMDS
|
||||
|
||||
RTEMS_PPC_EXCEPTIONS
|
||||
|
||||
|
||||
@@ -80,7 +80,11 @@ console_tbl Console_Port_Tbl [PORT_COUNT] = {
|
||||
.getData = NULL,
|
||||
.setData = NULL,
|
||||
.ulClock = 0,
|
||||
#if MPC83XX_CHIP_TYPE / 10 == 830
|
||||
.ulIntVector = BSP_IPIC_IRQ_UART
|
||||
#else
|
||||
.ulIntVector = BSP_IPIC_IRQ_UART1
|
||||
#endif
|
||||
}
|
||||
#ifdef BSP_USE_UART2
|
||||
, {
|
||||
@@ -100,7 +104,11 @@ console_tbl Console_Port_Tbl [PORT_COUNT] = {
|
||||
.getData = NULL,
|
||||
.setData = NULL,
|
||||
.ulClock = 0,
|
||||
#if MPC83XX_CHIP_TYPE / 10 == 830
|
||||
.ulIntVector = BSP_IPIC_IRQ_UART
|
||||
#else
|
||||
.ulIntVector = BSP_IPIC_IRQ_UART2
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
};
|
||||
|
||||
@@ -96,7 +96,7 @@ struct rtems_bsdnet_ifconfig;
|
||||
extern int BSP_tsec_attach(struct rtems_bsdnet_ifconfig *config,int attaching);
|
||||
#define RTEMS_BSP_NETWORK_DRIVER_ATTACH BSP_tsec_attach
|
||||
|
||||
#ifdef MPC8313ERDB
|
||||
#ifdef MPC83XX_BOARD_MPC8313ERDB
|
||||
#define RTEMS_BSP_NETWORK_DRIVER_NAME "tsec2"
|
||||
#define RTEMS_BSP_NETWORK_DRIVER_NAME2 "tsec1"
|
||||
#else
|
||||
@@ -104,7 +104,7 @@ extern int BSP_tsec_attach(struct rtems_bsdnet_ifconfig *config,int attaching);
|
||||
#define RTEMS_BSP_NETWORK_DRIVER_NAME2 "tsec2"
|
||||
#endif
|
||||
|
||||
#if defined(MPC8349EAMDS)
|
||||
#if defined(MPC83XX_BOARD_MPC8349EAMDS)
|
||||
/*
|
||||
* i2c EEPROM device name
|
||||
*/
|
||||
@@ -116,9 +116,9 @@ extern int BSP_tsec_attach(struct rtems_bsdnet_ifconfig *config,int attaching);
|
||||
*/
|
||||
#define RTEMS_BSP_SPI_FLASH_DEVICE_NAME "flash"
|
||||
#define RTEMS_BSP_SPI_FLASH_DEVICE_PATH "/dev/spi.flash"
|
||||
#endif /* defined(MPC8349EAMDS) */
|
||||
#endif /* defined(MPC83XX_BOARD_MPC8349EAMDS) */
|
||||
|
||||
#if defined(HSC_CM01)
|
||||
#if defined(MPC83XX_BOARD_HSC_CM01)
|
||||
/*
|
||||
* i2c EEPROM device name
|
||||
*/
|
||||
@@ -130,7 +130,7 @@ extern int BSP_tsec_attach(struct rtems_bsdnet_ifconfig *config,int attaching);
|
||||
*/
|
||||
#define RTEMS_BSP_SPI_FRAM_DEVICE_NAME "fram"
|
||||
#define RTEMS_BSP_SPI_FRAM_DEVICE_PATH "/dev/spi.fram"
|
||||
#endif /* defined(HSC_CM01) */
|
||||
#endif /* defined(MPC83XX_BOARD_HSC_CM01) */
|
||||
|
||||
extern unsigned int BSP_bus_frequency;
|
||||
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
/*
|
||||
* distinguish board characteristics
|
||||
*/
|
||||
#if defined(MPC8349EAMDS)
|
||||
#if defined(MPC83XX_BOARD_MPC8349EAMDS)
|
||||
/*
|
||||
* for Freescale MPC8349 EAMDS
|
||||
*/
|
||||
@@ -69,7 +69,7 @@
|
||||
RCWHR_ENDIAN_BIG | \
|
||||
RCWHR_LALE_NORM | \
|
||||
RCWHR_LDP_PAR)
|
||||
#elif defined(HSC_CM01)
|
||||
#elif defined(MPC83XX_BOARD_HSC_CM01)
|
||||
/*
|
||||
* for JPK HSC_CM01
|
||||
*/
|
||||
@@ -119,9 +119,9 @@
|
||||
|
||||
#endif
|
||||
|
||||
#if defined(MPC8349EAMDS)
|
||||
#if defined(MPC83XX_BOARD_MPC8349EAMDS)
|
||||
/**************************
|
||||
* for Freescale MPC8349EAMDS
|
||||
* for Freescale MPC83XX_BOARD_MPC8349EAMDS
|
||||
*/
|
||||
|
||||
/*
|
||||
@@ -174,7 +174,7 @@
|
||||
#define DDR_SDRAM_INTTVL_VAL 0x045B0100
|
||||
#define DDR_SDRAM_CLK_CNTL_VAL 0x00000000
|
||||
|
||||
#elif defined(HSC_CM01)
|
||||
#elif defined(MPC83XX_BOARD_HSC_CM01)
|
||||
/**************************
|
||||
* for JPK HSC_CM01
|
||||
*/
|
||||
|
||||
@@ -24,12 +24,12 @@
|
||||
#ifndef GEN83xx_IRQ_IRQ_H
|
||||
#define GEN83xx_IRQ_IRQ_H
|
||||
|
||||
#include <stdbool.h>
|
||||
|
||||
#include <rtems.h>
|
||||
#include <rtems/irq.h>
|
||||
#include <rtems/irq-extension.h>
|
||||
|
||||
#include <bspopts.h>
|
||||
|
||||
/*
|
||||
* the following definitions specify the indices used
|
||||
* to interface the interrupt handler API
|
||||
@@ -77,59 +77,90 @@ extern "C" {
|
||||
* index table for the module specific handlers, a few entries are only placeholders
|
||||
*/
|
||||
typedef enum {
|
||||
BSP_IPIC_IRQ_FIRST = BSP_IPIC_IRQ_LOWEST_OFFSET,
|
||||
BSP_IPIC_IRQ_ERROR = BSP_IPIC_IRQ_LOWEST_OFFSET + 0,
|
||||
/* reserved irqs 1- 8 */
|
||||
BSP_IPIC_IRQ_UART1 = BSP_IPIC_IRQ_LOWEST_OFFSET + 9,
|
||||
BSP_IPIC_IRQ_UART2 = BSP_IPIC_IRQ_LOWEST_OFFSET + 10,
|
||||
BSP_IPIC_IRQ_SEC = BSP_IPIC_IRQ_LOWEST_OFFSET + 11,
|
||||
/* reserved irqs 12-13 */
|
||||
BSP_IPIC_IRQ_FIRST = BSP_IPIC_IRQ_LOWEST_OFFSET,
|
||||
BSP_IPIC_IRQ_ERROR = BSP_IPIC_IRQ_LOWEST_OFFSET + 0,
|
||||
#if MPC83XX_CHIP_TYPE / 10 == 830
|
||||
BSP_IPIC_IRQ_DMA1 = BSP_IPIC_IRQ_LOWEST_OFFSET + 3,
|
||||
BSP_IPIC_IRQ_UART = BSP_IPIC_IRQ_LOWEST_OFFSET + 9,
|
||||
BSP_IPIC_IRQ_FLEXCAN = BSP_IPIC_IRQ_LOWEST_OFFSET + 10,
|
||||
#else
|
||||
BSP_IPIC_IRQ_UART1 = BSP_IPIC_IRQ_LOWEST_OFFSET + 9,
|
||||
BSP_IPIC_IRQ_UART2 = BSP_IPIC_IRQ_LOWEST_OFFSET + 10,
|
||||
BSP_IPIC_IRQ_SEC = BSP_IPIC_IRQ_LOWEST_OFFSET + 11,
|
||||
#endif
|
||||
BSP_IPIC_IRQ_I2C1 = BSP_IPIC_IRQ_LOWEST_OFFSET + 14,
|
||||
BSP_IPIC_IRQ_I2C2 = BSP_IPIC_IRQ_LOWEST_OFFSET + 15,
|
||||
BSP_IPIC_IRQ_SPI = BSP_IPIC_IRQ_LOWEST_OFFSET + 16,
|
||||
BSP_IPIC_IRQ_IRQ1 = BSP_IPIC_IRQ_LOWEST_OFFSET + 17,
|
||||
BSP_IPIC_IRQ_IRQ2 = BSP_IPIC_IRQ_LOWEST_OFFSET + 18,
|
||||
BSP_IPIC_IRQ_IRQ3 = BSP_IPIC_IRQ_LOWEST_OFFSET + 19,
|
||||
#if MPC83XX_CHIP_TYPE / 10 == 830
|
||||
BSP_IPIC_IRQ_QUICC_HI = BSP_IPIC_IRQ_LOWEST_OFFSET + 32,
|
||||
BSP_IPIC_IRQ_QUICC_LO = BSP_IPIC_IRQ_LOWEST_OFFSET + 33,
|
||||
#else
|
||||
BSP_IPIC_IRQ_IRQ4 = BSP_IPIC_IRQ_LOWEST_OFFSET + 20,
|
||||
BSP_IPIC_IRQ_IRQ5 = BSP_IPIC_IRQ_LOWEST_OFFSET + 21,
|
||||
BSP_IPIC_IRQ_IRQ6 = BSP_IPIC_IRQ_LOWEST_OFFSET + 22,
|
||||
BSP_IPIC_IRQ_IRQ7 = BSP_IPIC_IRQ_LOWEST_OFFSET + 23,
|
||||
/* reserved irqs 24-31 */
|
||||
BSP_IPIC_IRQ_TSEC1_TX = BSP_IPIC_IRQ_LOWEST_OFFSET + 32,
|
||||
BSP_IPIC_IRQ_TSEC1_RX = BSP_IPIC_IRQ_LOWEST_OFFSET + 33,
|
||||
BSP_IPIC_IRQ_TSEC1_ERR = BSP_IPIC_IRQ_LOWEST_OFFSET + 34,
|
||||
BSP_IPIC_IRQ_TSEC2_TX = BSP_IPIC_IRQ_LOWEST_OFFSET + 35,
|
||||
BSP_IPIC_IRQ_TSEC2_RX = BSP_IPIC_IRQ_LOWEST_OFFSET + 36,
|
||||
BSP_IPIC_IRQ_TSEC2_ERR = BSP_IPIC_IRQ_LOWEST_OFFSET + 37,
|
||||
#endif
|
||||
BSP_IPIC_IRQ_USB_DR = BSP_IPIC_IRQ_LOWEST_OFFSET + 38,
|
||||
#if MPC83XX_CHIP_TYPE / 10 == 830
|
||||
BSP_IPIC_IRQ_ESDHC = BSP_IPIC_IRQ_LOWEST_OFFSET + 42,
|
||||
#else
|
||||
BSP_IPIC_IRQ_USB_MPH = BSP_IPIC_IRQ_LOWEST_OFFSET + 39,
|
||||
/* reserved irqs 40-47 */
|
||||
#endif
|
||||
BSP_IPIC_IRQ_IRQ0 = BSP_IPIC_IRQ_LOWEST_OFFSET + 48,
|
||||
/* reserved irqs 49-63 */
|
||||
BSP_IPIC_IRQ_RTC_SEC = BSP_IPIC_IRQ_LOWEST_OFFSET + 64,
|
||||
BSP_IPIC_IRQ_PIT = BSP_IPIC_IRQ_LOWEST_OFFSET + 65,
|
||||
BSP_IPIC_IRQ_PCI1 = BSP_IPIC_IRQ_LOWEST_OFFSET + 66,
|
||||
#if MPC83XX_CHIP_TYPE / 10 == 830
|
||||
BSP_IPIC_IRQ_MSIR1 = BSP_IPIC_IRQ_LOWEST_OFFSET + 67,
|
||||
#else
|
||||
BSP_IPIC_IRQ_PCI2 = BSP_IPIC_IRQ_LOWEST_OFFSET + 67,
|
||||
#endif
|
||||
BSP_IPIC_IRQ_RTC_ALR = BSP_IPIC_IRQ_LOWEST_OFFSET + 68,
|
||||
BSP_IPIC_IRQ_MU = BSP_IPIC_IRQ_LOWEST_OFFSET + 69,
|
||||
BSP_IPIC_IRQ_SBA = BSP_IPIC_IRQ_LOWEST_OFFSET + 70,
|
||||
BSP_IPIC_IRQ_DMA = BSP_IPIC_IRQ_LOWEST_OFFSET + 71,
|
||||
BSP_IPIC_IRQ_GTM4 = BSP_IPIC_IRQ_LOWEST_OFFSET + 72,
|
||||
BSP_IPIC_IRQ_GTM8 = BSP_IPIC_IRQ_LOWEST_OFFSET + 73,
|
||||
#if MPC83XX_CHIP_TYPE / 10 == 830
|
||||
BSP_IPIC_IRQ_QUICC_PORTS = BSP_IPIC_IRQ_LOWEST_OFFSET + 74,
|
||||
BSP_IPIC_IRQ_GPIO = BSP_IPIC_IRQ_LOWEST_OFFSET + 75,
|
||||
#else
|
||||
BSP_IPIC_IRQ_GPIO1 = BSP_IPIC_IRQ_LOWEST_OFFSET + 74,
|
||||
BSP_IPIC_IRQ_GPIO2 = BSP_IPIC_IRQ_LOWEST_OFFSET + 75,
|
||||
#endif
|
||||
BSP_IPIC_IRQ_DDR = BSP_IPIC_IRQ_LOWEST_OFFSET + 76,
|
||||
BSP_IPIC_IRQ_LBC = BSP_IPIC_IRQ_LOWEST_OFFSET + 77,
|
||||
BSP_IPIC_IRQ_GTM2 = BSP_IPIC_IRQ_LOWEST_OFFSET + 78,
|
||||
BSP_IPIC_IRQ_GTM6 = BSP_IPIC_IRQ_LOWEST_OFFSET + 79,
|
||||
BSP_IPIC_IRQ_PMC = BSP_IPIC_IRQ_LOWEST_OFFSET + 80,
|
||||
/* reserved irqs 81-83 */
|
||||
#if MPC83XX_CHIP_TYPE / 10 == 830
|
||||
BSP_IPIC_IRQ_MSIR2 = BSP_IPIC_IRQ_LOWEST_OFFSET + 81,
|
||||
BSP_IPIC_IRQ_MSIR3 = BSP_IPIC_IRQ_LOWEST_OFFSET + 82,
|
||||
#else
|
||||
BSP_IPIC_IRQ_GTM3 = BSP_IPIC_IRQ_LOWEST_OFFSET + 84,
|
||||
BSP_IPIC_IRQ_GTM7 = BSP_IPIC_IRQ_LOWEST_OFFSET + 85,
|
||||
/* reserved irqs 86-89 */
|
||||
#endif
|
||||
#if MPC83XX_CHIP_TYPE / 10 == 830
|
||||
BSP_IPIC_IRQ_MSIR4 = BSP_IPIC_IRQ_LOWEST_OFFSET + 86,
|
||||
BSP_IPIC_IRQ_MSIR5 = BSP_IPIC_IRQ_LOWEST_OFFSET + 87,
|
||||
BSP_IPIC_IRQ_MSIR6 = BSP_IPIC_IRQ_LOWEST_OFFSET + 88,
|
||||
BSP_IPIC_IRQ_MSIR7 = BSP_IPIC_IRQ_LOWEST_OFFSET + 89,
|
||||
#endif
|
||||
BSP_IPIC_IRQ_GTM1 = BSP_IPIC_IRQ_LOWEST_OFFSET + 90,
|
||||
BSP_IPIC_IRQ_GTM5 = BSP_IPIC_IRQ_LOWEST_OFFSET + 91,
|
||||
/* reserved irqs 92-127 */
|
||||
#if MPC83XX_CHIP_TYPE / 10 == 830
|
||||
BSP_IPIC_IRQ_DMA1_ERR = BSP_IPIC_IRQ_LOWEST_OFFSET + 94,
|
||||
BSP_IPIC_IRQ_DPTC = BSP_IPIC_IRQ_LOWEST_OFFSET + 95,
|
||||
#endif
|
||||
|
||||
BSP_IPIC_IRQ_LAST = BSP_IPIC_IRQ_MAX_OFFSET,
|
||||
} rtems_irq_symbolic_name;
|
||||
|
||||
@@ -20,5 +20,3 @@ CPU_CFLAGS = -mcpu=603e -meabi -msdata -fno-common -mstrict-align
|
||||
|
||||
# optimize flag: typically -O2
|
||||
CFLAGS_OPTIMIZE_V = -O2 -g -fno-keep-inline-functions
|
||||
|
||||
LDFLAGS += -qnolinkcmds -T $(RTEMS_LINKCMDS)
|
||||
|
||||
@@ -9,6 +9,4 @@
|
||||
# parameters differ.
|
||||
#
|
||||
|
||||
RTEMS_LINKCMDS=linkcmds.hsc_cm01
|
||||
|
||||
include $(RTEMS_ROOT)/make/custom/gen83xx.inc
|
||||
|
||||
10
c/src/lib/libbsp/powerpc/gen83xx/make/custom/mpc8309som.cfg
Normal file
10
c/src/lib/libbsp/powerpc/gen83xx/make/custom/mpc8309som.cfg
Normal file
@@ -0,0 +1,10 @@
|
||||
##
|
||||
#
|
||||
# @file
|
||||
#
|
||||
# @ingroup mpc83xx_config
|
||||
#
|
||||
# @brief Configuration file for the MPC8309 System on Module.
|
||||
#
|
||||
|
||||
include $(RTEMS_ROOT)/make/custom/gen83xx.inc
|
||||
@@ -7,6 +7,4 @@
|
||||
# @brief Configuration file for the MPC8313E Reference Design Board.
|
||||
#
|
||||
|
||||
RTEMS_LINKCMDS=linkcmds.mpc8313erdb
|
||||
|
||||
include $(RTEMS_ROOT)/make/custom/gen83xx.inc
|
||||
|
||||
@@ -9,6 +9,4 @@
|
||||
# parameters differ.
|
||||
#
|
||||
|
||||
RTEMS_LINKCMDS=linkcmds.mpc8349eamds
|
||||
|
||||
include $(RTEMS_ROOT)/make/custom/gen83xx.inc
|
||||
|
||||
@@ -32,18 +32,20 @@
|
||||
#include <string.h>
|
||||
#include <libcpu/spr.h>
|
||||
|
||||
#if MPC83XX_CHIP_TYPE / 10 != 830
|
||||
|
||||
#define TSEC_IFMODE_RGMII 0
|
||||
#define TSEC_IFMODE_GMII 1
|
||||
|
||||
#if defined( MPC8313ERDB)
|
||||
#if defined( MPC83XX_BOARD_MPC8313ERDB)
|
||||
|
||||
#define TSEC_IFMODE TSEC_IFMODE_RGMII
|
||||
|
||||
#elif defined( MPC8349EAMDS)
|
||||
#elif defined( MPC83XX_BOARD_MPC8349EAMDS)
|
||||
|
||||
#define TSEC_IFMODE TSEC_IFMODE_GMII
|
||||
|
||||
#elif defined( HSC_CM01)
|
||||
#elif defined( MPC83XX_BOARD_HSC_CM01)
|
||||
|
||||
#define TSEC_IFMODE TSEC_IFMODE_RGMII
|
||||
|
||||
@@ -100,7 +102,7 @@ int BSP_tsec_attach
|
||||
|
||||
if (attaching) {
|
||||
#if (TSEC_IFMODE==TSEC_IFMODE_GMII)
|
||||
#if !defined(HSC_CM01)
|
||||
#if !defined(MPC83XX_BOARD_HSC_CM01)
|
||||
|
||||
/*
|
||||
* do not change system I/O configuration registers on HSC board
|
||||
@@ -132,7 +134,7 @@ int BSP_tsec_attach
|
||||
mpc83xx.gpio[0].gpdir = ((mpc83xx.gpio[0].gpdir & ~0x000FFFFF)
|
||||
| 0x00087881);
|
||||
}
|
||||
#endif /* !defined(HSC_CM01) */
|
||||
#endif /* !defined(MPC83XX_BOARD_HSC_CM01) */
|
||||
#endif
|
||||
#if (TSEC_IFMODE==TSEC_IFMODE_RGMII)
|
||||
|
||||
@@ -232,16 +234,16 @@ int BSP_tsec_attach
|
||||
* XXX: Although most hardware builders will assign the PHY addresses
|
||||
* like this, this should be more configurable
|
||||
*/
|
||||
#ifdef MPC8313ERDB
|
||||
#ifdef MPC83XX_BOARD_MPC8313ERDB
|
||||
if (unitNumber == 2) {
|
||||
tsec_cfg.phy_default = 4;
|
||||
} else {
|
||||
/* TODO */
|
||||
return 0;
|
||||
}
|
||||
#else /* MPC8313ERDB */
|
||||
#else /* MPC83XX_BOARD_MPC8313ERDB */
|
||||
tsec_cfg.phy_default = unitNumber-1;
|
||||
#endif /* MPC8313ERDB */
|
||||
#endif /* MPC83XX_BOARD_MPC8313ERDB */
|
||||
|
||||
tsec_cfg.unit_number = unitNumber;
|
||||
tsec_cfg.unit_name = unitName;
|
||||
@@ -251,3 +253,5 @@ int BSP_tsec_attach
|
||||
*/
|
||||
return tsec_driver_attach_detach(config, attaching);
|
||||
}
|
||||
|
||||
#endif /* MPC83XX_CHIP_TYPE / 10 != 830 */
|
||||
|
||||
@@ -77,6 +77,10 @@ $(PROJECT_LIB)/linkcmds.base: startup/linkcmds.base $(PROJECT_LIB)/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_LIB)/linkcmds.base
|
||||
PREINSTALL_FILES += $(PROJECT_LIB)/linkcmds.base
|
||||
|
||||
$(PROJECT_LIB)/linkcmds.mpc8309som: startup/linkcmds.mpc8309som $(PROJECT_LIB)/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_LIB)/linkcmds.mpc8309som
|
||||
PREINSTALL_FILES += $(PROJECT_LIB)/linkcmds.mpc8309som
|
||||
|
||||
$(PROJECT_LIB)/linkcmds.mpc8313erdb: startup/linkcmds.mpc8313erdb $(PROJECT_LIB)/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_LIB)/linkcmds.mpc8313erdb
|
||||
PREINSTALL_FILES += $(PROJECT_LIB)/linkcmds.mpc8313erdb
|
||||
|
||||
@@ -26,15 +26,15 @@
|
||||
#include <bsp/irq.h>
|
||||
#include <bsp.h>
|
||||
|
||||
#if defined( MPC8313ERDB)
|
||||
#if defined( MPC83XX_BOARD_MPC8313ERDB)
|
||||
|
||||
#include <libchip/spi-sd-card.h>
|
||||
|
||||
#elif defined( MPC8349EAMDS)
|
||||
#elif defined( MPC83XX_BOARD_MPC8349EAMDS)
|
||||
|
||||
#include <libchip/spi-flash-m25p40.h>
|
||||
|
||||
#elif defined( HSC_CM01)
|
||||
#elif defined( MPC83XX_BOARD_HSC_CM01)
|
||||
|
||||
#include <libchip/spi-fram-fm25l256.h>
|
||||
|
||||
@@ -69,7 +69,7 @@ static rtems_status_code bsp_spi_sel_addr
|
||||
\*=========================================================================*/
|
||||
{
|
||||
|
||||
#if defined( MPC8313ERDB)
|
||||
#if defined( MPC83XX_BOARD_MPC8313ERDB)
|
||||
|
||||
/* Check address */
|
||||
if (addr > 0) {
|
||||
@@ -79,7 +79,7 @@ static rtems_status_code bsp_spi_sel_addr
|
||||
/* SCS (active low) */
|
||||
mpc83xx.gpio [0].gpdat &= ~0x20000000;
|
||||
|
||||
#elif defined( MPC8349EAMDS)
|
||||
#elif defined( MPC83XX_BOARD_MPC8349EAMDS)
|
||||
|
||||
/*
|
||||
* check device address for valid range
|
||||
@@ -94,7 +94,7 @@ static rtems_status_code bsp_spi_sel_addr
|
||||
*/
|
||||
mpc83xx.gpio[0].gpdat &= ~(1 << (31- 0));
|
||||
|
||||
#elif defined( HSC_CM01)
|
||||
#elif defined( MPC83XX_BOARD_HSC_CM01)
|
||||
|
||||
/*
|
||||
* check device address for valid range
|
||||
@@ -143,12 +143,12 @@ static rtems_status_code bsp_spi_send_start_dummy
|
||||
\*=========================================================================*/
|
||||
{
|
||||
|
||||
#if defined( MPC8313ERDB)
|
||||
#if defined( MPC83XX_BOARD_MPC8313ERDB)
|
||||
|
||||
/* SCS (inactive high) */
|
||||
mpc83xx.gpio [0].gpdat |= 0x20000000;
|
||||
|
||||
#elif defined( MPC8349EAMDS)
|
||||
#elif defined( MPC83XX_BOARD_MPC8349EAMDS)
|
||||
|
||||
/*
|
||||
* GPIO1[0] is nSEL_SPI for M25P40
|
||||
@@ -156,7 +156,7 @@ static rtems_status_code bsp_spi_send_start_dummy
|
||||
*/
|
||||
mpc83xx.gpio[0].gpdat |= (1 << (31- 0));
|
||||
|
||||
#elif defined( HSC_CM01)
|
||||
#elif defined( MPC83XX_BOARD_HSC_CM01)
|
||||
|
||||
/*
|
||||
* GPIO1[27] is high-active strobe
|
||||
@@ -191,12 +191,12 @@ static rtems_status_code bsp_spi_send_stop
|
||||
printk("bsp_spi_send_stop called... ");
|
||||
#endif
|
||||
|
||||
#if defined( MPC8313ERDB)
|
||||
#if defined( MPC83XX_BOARD_MPC8313ERDB)
|
||||
|
||||
/* SCS (inactive high) */
|
||||
mpc83xx.gpio [0].gpdat |= 0x20000000;
|
||||
|
||||
#elif defined( MPC8349EAMDS)
|
||||
#elif defined( MPC83XX_BOARD_MPC8349EAMDS)
|
||||
|
||||
/*
|
||||
* deselect given device
|
||||
@@ -205,7 +205,7 @@ static rtems_status_code bsp_spi_send_stop
|
||||
*/
|
||||
mpc83xx.gpio[0].gpdat |= (1 << (31- 0));
|
||||
|
||||
#elif defined( HSC_CM01)
|
||||
#elif defined( MPC83XX_BOARD_HSC_CM01)
|
||||
|
||||
/*
|
||||
* deselect device
|
||||
@@ -248,7 +248,7 @@ static mpc83xx_spi_desc_t bsp_spi_bus_desc = {
|
||||
}
|
||||
};
|
||||
|
||||
#ifdef MPC8313ERDB
|
||||
#ifdef MPC83XX_BOARD_MPC8313ERDB
|
||||
|
||||
#include <libchip/spi-sd-card.h>
|
||||
|
||||
@@ -274,7 +274,7 @@ sd_card_driver_entry sd_card_driver_table [SD_CARD_NUMBER] = {
|
||||
}
|
||||
};
|
||||
|
||||
#endif /* MPC8313ERDB */
|
||||
#endif /* MPC83XX_BOARD_MPC8313ERDB */
|
||||
|
||||
|
||||
/*=========================================================================*\
|
||||
@@ -312,7 +312,7 @@ rtems_status_code bsp_register_spi
|
||||
* init port pins used to address/select SPI devices
|
||||
*/
|
||||
|
||||
#if defined( MPC8313ERDB)
|
||||
#if defined( MPC83XX_BOARD_MPC8313ERDB)
|
||||
|
||||
/*
|
||||
* Configured as master (direct connection to SD card)
|
||||
@@ -336,7 +336,7 @@ rtems_status_code bsp_register_spi
|
||||
/* Open Drain */
|
||||
/* mpc83xx.gpio [0].gpdr |= 0x0000000f; */
|
||||
|
||||
#elif defined( MPC8349EAMDS)
|
||||
#elif defined( MPC83XX_BOARD_MPC8349EAMDS)
|
||||
|
||||
/*
|
||||
* GPIO1[0] is nSEL_SPI for M25P40
|
||||
@@ -346,7 +346,7 @@ rtems_status_code bsp_register_spi
|
||||
mpc83xx.gpio[0].gpdir |= (1 << (31- 0));
|
||||
mpc83xx.gpio[0].gpdr &= ~(1 << (31- 0));
|
||||
|
||||
#elif defined( HSC_CM01)
|
||||
#elif defined( MPC83XX_BOARD_HSC_CM01)
|
||||
|
||||
/*
|
||||
* GPIO1[24] is SPI_A0
|
||||
@@ -376,7 +376,7 @@ rtems_status_code bsp_register_spi
|
||||
}
|
||||
spi_busno = (unsigned) ret_code;
|
||||
|
||||
#if defined( MPC8313ERDB)
|
||||
#if defined( MPC83XX_BOARD_MPC8313ERDB)
|
||||
|
||||
/* Register SD Card driver */
|
||||
sd_card_driver_table [0].bus = spi_busno;
|
||||
@@ -385,7 +385,7 @@ rtems_status_code bsp_register_spi
|
||||
return sc;
|
||||
}
|
||||
|
||||
#elif defined( MPC8349EAMDS)
|
||||
#elif defined( MPC83XX_BOARD_MPC8349EAMDS)
|
||||
|
||||
/*
|
||||
* register M25P40 Flash
|
||||
@@ -393,7 +393,7 @@ rtems_status_code bsp_register_spi
|
||||
ret_code = rtems_libi2c_register_drv(RTEMS_BSP_SPI_FLASH_DEVICE_NAME,
|
||||
spi_flash_m25p40_rw_driver_descriptor,
|
||||
spi_busno,0x00);
|
||||
#elif defined(HSC_CM01)
|
||||
#elif defined(MPC83XX_BOARD_HSC_CM01)
|
||||
|
||||
/*
|
||||
* register FM25L256 FRAM
|
||||
|
||||
@@ -260,7 +260,7 @@ void cpu_init( void)
|
||||
);
|
||||
SET_DBAT( 2, dbat.batu, dbat.batl);
|
||||
|
||||
#if defined(HSC_CM01)
|
||||
#if defined(MPC83XX_BOARD_HSC_CM01)
|
||||
calc_dbat_regvals(
|
||||
&dbat,
|
||||
FPGA_START,
|
||||
@@ -274,7 +274,7 @@ void cpu_init( void)
|
||||
SET_DBAT(3,dbat.batu,dbat.batl);
|
||||
#endif
|
||||
|
||||
#ifdef MPC8313ERDB
|
||||
#ifdef MPC83XX_BOARD_MPC8313ERDB
|
||||
/* Enhanced Local Bus Controller (eLBC) */
|
||||
calc_dbat_regvals(
|
||||
&dbat,
|
||||
@@ -287,7 +287,7 @@ void cpu_init( void)
|
||||
BPP_RW
|
||||
);
|
||||
SET_DBAT( 3, dbat.batu, dbat.batl);
|
||||
#endif /* MPC8313ERDB */
|
||||
#endif /* MPC83XX_BOARD_MPC8313ERDB */
|
||||
|
||||
/* Read MSR */
|
||||
msr = ppc_machine_state_register();
|
||||
|
||||
14
c/src/lib/libbsp/powerpc/gen83xx/startup/linkcmds.mpc8309som
Normal file
14
c/src/lib/libbsp/powerpc/gen83xx/startup/linkcmds.mpc8309som
Normal file
@@ -0,0 +1,14 @@
|
||||
/**
|
||||
* @file
|
||||
*
|
||||
* MPC8309 System on Module.
|
||||
*/
|
||||
|
||||
MEMORY {
|
||||
RAM : ORIGIN = 0x0, LENGTH = 256M
|
||||
ROM : ORIGIN = 0xfe000000, LENGTH = 8M
|
||||
MPC83XX_REGS : ORIGIN = 0xe0000000, LENGTH = 256k
|
||||
NIRVANA : ORIGIN = 0x0, LENGTH = 0
|
||||
}
|
||||
|
||||
INCLUDE linkcmds.base
|
||||
Reference in New Issue
Block a user