zephyr/soc/arm/mps2/soc.h

18 lines
293 B
C
Raw Permalink Normal View History

arm: soc: Add SoC series for ARM's Cortex-M Prototyping System (MPS2) ARM's Cortex-M Prototyping System (or MPS2) [1] is a board containing devices such as RAM, ethernet and display, and at its heart there is an FPGA which can be programmed with various 'SoCs' which implement the CPU, SRAM, UARTs, SPI, DMA, etc. There are also software simulations of systems based on this hardware which are part of ARM's Fixed Virtual Platforms (FVPs). All of the above could be regarded SoCs in the same series so we will treat them as such in Zephyr. In this initial patch we add SoC support for the public FPGA image which implements a Cortex-M3 CPU, and includes definitions to support use of the UARTs on this. ARM's documentation for MPS2 images are titled 'Application Note ANnnn' where the number nnn is different for each 'SoC'. E.g. Application Note AN385 is for "ARM Cortex-M3 SMM on V2M-MPS2" [2]. The files ARM supply for programming the board firmware also make extensive use of the ANnnn nomenclature, so we will use this for the SoC name in Zephyr. E.g. the Cortex-M3 SoC will be called 'mps2_an385'. Note, it is not possible to use the CPU type (e.g. M3) for the name as there are multiple FPGA images for some CPU types (e.g. there are three Cortex M7 images with differing FPU and MPU support). [1] https://www.arm.com/products/tools/development-boards/versatile-express/cortex-m-prototyping-system.php [2] http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dai0385c/index.html Change-Id: Ice54f2d2cde7669582337f256c878526139daedd Signed-off-by: Jon Medhurst <tixy@linaro.org> Signed-off-by: Vincenzo Frascino <vincenzo.frascino@linaro.org>
2017-01-04 15:18:34 +01:00
/*
* Copyright (c) 2017-2019 Linaro Limited
arm: soc: Add SoC series for ARM's Cortex-M Prototyping System (MPS2) ARM's Cortex-M Prototyping System (or MPS2) [1] is a board containing devices such as RAM, ethernet and display, and at its heart there is an FPGA which can be programmed with various 'SoCs' which implement the CPU, SRAM, UARTs, SPI, DMA, etc. There are also software simulations of systems based on this hardware which are part of ARM's Fixed Virtual Platforms (FVPs). All of the above could be regarded SoCs in the same series so we will treat them as such in Zephyr. In this initial patch we add SoC support for the public FPGA image which implements a Cortex-M3 CPU, and includes definitions to support use of the UARTs on this. ARM's documentation for MPS2 images are titled 'Application Note ANnnn' where the number nnn is different for each 'SoC'. E.g. Application Note AN385 is for "ARM Cortex-M3 SMM on V2M-MPS2" [2]. The files ARM supply for programming the board firmware also make extensive use of the ANnnn nomenclature, so we will use this for the SoC name in Zephyr. E.g. the Cortex-M3 SoC will be called 'mps2_an385'. Note, it is not possible to use the CPU type (e.g. M3) for the name as there are multiple FPGA images for some CPU types (e.g. there are three Cortex M7 images with differing FPU and MPU support). [1] https://www.arm.com/products/tools/development-boards/versatile-express/cortex-m-prototyping-system.php [2] http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dai0385c/index.html Change-Id: Ice54f2d2cde7669582337f256c878526139daedd Signed-off-by: Jon Medhurst <tixy@linaro.org> Signed-off-by: Vincenzo Frascino <vincenzo.frascino@linaro.org>
2017-01-04 15:18:34 +01:00
*
* SPDX-License-Identifier: Apache-2.0
*/
#ifndef _SOC_H_
#define _SOC_H_
#include <cmsis_core_m_defaults.h>
#include <soc_registers.h>
arm: soc: Add SoC series for ARM's Cortex-M Prototyping System (MPS2) ARM's Cortex-M Prototyping System (or MPS2) [1] is a board containing devices such as RAM, ethernet and display, and at its heart there is an FPGA which can be programmed with various 'SoCs' which implement the CPU, SRAM, UARTs, SPI, DMA, etc. There are also software simulations of systems based on this hardware which are part of ARM's Fixed Virtual Platforms (FVPs). All of the above could be regarded SoCs in the same series so we will treat them as such in Zephyr. In this initial patch we add SoC support for the public FPGA image which implements a Cortex-M3 CPU, and includes definitions to support use of the UARTs on this. ARM's documentation for MPS2 images are titled 'Application Note ANnnn' where the number nnn is different for each 'SoC'. E.g. Application Note AN385 is for "ARM Cortex-M3 SMM on V2M-MPS2" [2]. The files ARM supply for programming the board firmware also make extensive use of the ANnnn nomenclature, so we will use this for the SoC name in Zephyr. E.g. the Cortex-M3 SoC will be called 'mps2_an385'. Note, it is not possible to use the CPU type (e.g. M3) for the name as there are multiple FPGA images for some CPU types (e.g. there are three Cortex M7 images with differing FPU and MPU support). [1] https://www.arm.com/products/tools/development-boards/versatile-express/cortex-m-prototyping-system.php [2] http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dai0385c/index.html Change-Id: Ice54f2d2cde7669582337f256c878526139daedd Signed-off-by: Jon Medhurst <tixy@linaro.org> Signed-off-by: Vincenzo Frascino <vincenzo.frascino@linaro.org>
2017-01-04 15:18:34 +01:00
extern void wakeup_cpu1(void);
extern uint32_t sse_200_platform_get_cpu_id(void);
arm: soc: Add SoC series for ARM's Cortex-M Prototyping System (MPS2) ARM's Cortex-M Prototyping System (or MPS2) [1] is a board containing devices such as RAM, ethernet and display, and at its heart there is an FPGA which can be programmed with various 'SoCs' which implement the CPU, SRAM, UARTs, SPI, DMA, etc. There are also software simulations of systems based on this hardware which are part of ARM's Fixed Virtual Platforms (FVPs). All of the above could be regarded SoCs in the same series so we will treat them as such in Zephyr. In this initial patch we add SoC support for the public FPGA image which implements a Cortex-M3 CPU, and includes definitions to support use of the UARTs on this. ARM's documentation for MPS2 images are titled 'Application Note ANnnn' where the number nnn is different for each 'SoC'. E.g. Application Note AN385 is for "ARM Cortex-M3 SMM on V2M-MPS2" [2]. The files ARM supply for programming the board firmware also make extensive use of the ANnnn nomenclature, so we will use this for the SoC name in Zephyr. E.g. the Cortex-M3 SoC will be called 'mps2_an385'. Note, it is not possible to use the CPU type (e.g. M3) for the name as there are multiple FPGA images for some CPU types (e.g. there are three Cortex M7 images with differing FPU and MPU support). [1] https://www.arm.com/products/tools/development-boards/versatile-express/cortex-m-prototyping-system.php [2] http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dai0385c/index.html Change-Id: Ice54f2d2cde7669582337f256c878526139daedd Signed-off-by: Jon Medhurst <tixy@linaro.org> Signed-off-by: Vincenzo Frascino <vincenzo.frascino@linaro.org>
2017-01-04 15:18:34 +01:00
#endif /* _SOC_H_ */