mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-19 11:18:28 +00:00
5396e8b1dd
The DesignWare ARC IoT Development Kit is a versatile platform that includes the necessary hardware and software to accelerate software development and debugging of sensor fusion, voice recognition and face detection designs. More information is avaialble here [1] and here [2]. The board is based on real silicon with ARC EM9D-based Data Fusion IP Subsystem. It sports a rich set of I/O including * DW USB OTG * DW MobileStorage (used for micro SD-card) * GPIO * multiple serial interface including DW APB UART * ADC, PWM and eFlash, SRAM and SPI Flash memory * Real-Time Clock (RTC) * Bluetooth module with worldwide regulatory compliance (FCC, IC, CE, ETSI, TELEC) * On-board 9-axis sensor (gyro, accelerometer and compass) Extensible with Arduino, Pmod, mikroBUS connectors and a 2x18 extension header. One of the most interesting features for developers is built-in Digilent USB JTAG probe so only micro-USB cable is needed! [1] https://www.synopsys.com/dw/ipdir.php?ds=arc_iot_development_kit [2] https://www.synopsys.com/dw/doc.php/ds/cc/iot_dev_kit.pdf Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
84 lines
2.6 KiB
C
84 lines
2.6 KiB
C
/* SPDX-License-Identifier: GPL-2.0+ */
|
|
/*
|
|
* Copyright (C) 2018 Synopsys, Inc. All rights reserved.
|
|
*/
|
|
|
|
#ifndef _CONFIG_IOT_DEVKIT_H_
|
|
#define _CONFIG_IOT_DEVKIT_H_
|
|
|
|
#include <linux/sizes.h>
|
|
|
|
/*
|
|
* MEMORY MAP
|
|
*
|
|
* eFlash: 0x0000_0000 - 0x0008_0000 (512K)
|
|
* ICCM: 0x2000_0000 - 0x2004_0000 (256K)
|
|
* SRAM: 0x3000_0000 - 0x3002_0000 (128K)
|
|
* DCCM: 0x8000_0000 - 0x8002_0000 (128K)
|
|
* Note: only data goes here, as IFQ cannot fetch instructions from DCCM
|
|
*
|
|
*
|
|
* RAM PARTITIONING
|
|
*
|
|
* +-----------+----------+---------------------+-------------+
|
|
* | <-- Stack | .data | Malloc | Environment |
|
|
* +-----------+----------+---------------------+-------------+
|
|
* : : : :\___________/
|
|
* : : : : |
|
|
* : : : : CONFIG_ENV_SIZE
|
|
* : : \____________________/
|
|
* : : |
|
|
* : : CONFIG_SYS_MALLOC_LEN
|
|
* : :
|
|
* : Specified explicitly by CONFIG_SYS_INIT_SP_ADDR
|
|
* :
|
|
* Specified explicitly by CONFIG_SYS_SDRAM_BASE
|
|
*
|
|
* NOTES:
|
|
* - Stack starts from CONFIG_SYS_INIT_SP_ADDR and grows down,
|
|
* i.e. towards CONFIG_SYS_SDRAM_BASE but nothing stops it from crossing
|
|
* that CONFIG_SYS_SDRAM_BASE in which case data won't be really saved on
|
|
* stack any longer and values popped from stack will contain garbage
|
|
* leading to unexpected behavior, typically but not limited to:
|
|
* - "Returning" back to bogus caller function
|
|
* - Reading data from weird addresses
|
|
*/
|
|
|
|
#define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_TEXT_BASE
|
|
|
|
#define SRAM_BASE 0x30000000
|
|
#define SRAM_SIZE SZ_128K
|
|
|
|
#define DCCM_BASE 0x80000000
|
|
#define DCCM_SIZE SZ_128K
|
|
|
|
#define CONFIG_SYS_SDRAM_BASE DCCM_BASE
|
|
#define CONFIG_SYS_SDRAM_SIZE DCCM_SIZE
|
|
|
|
#define CONFIG_SYS_INIT_SP_ADDR (CONFIG_SYS_SDRAM_BASE + SZ_32K)
|
|
|
|
#define CONFIG_SYS_MALLOC_LEN SZ_64K
|
|
#define CONFIG_SYS_BOOTM_LEN SZ_128K
|
|
#define CONFIG_SYS_LOAD_ADDR SRAM_BASE
|
|
|
|
#define ROM_BASE CONFIG_SYS_MONITOR_BASE
|
|
#define ROM_SIZE SZ_256K
|
|
|
|
#define RAM_DATA_BASE CONFIG_SYS_INIT_SP_ADDR
|
|
#define RAM_DATA_SIZE CONFIG_SYS_SDRAM_SIZE - \
|
|
(CONFIG_SYS_INIT_SP_ADDR - \
|
|
CONFIG_SYS_SDRAM_BASE) - \
|
|
CONFIG_SYS_MALLOC_LEN - \
|
|
CONFIG_ENV_SIZE
|
|
|
|
/* Required by DW MMC driver */
|
|
#define CONFIG_BOUNCE_BUFFER
|
|
|
|
/*
|
|
* Environment
|
|
*/
|
|
#define CONFIG_ENV_SIZE SZ_4K
|
|
#define CONFIG_BOOTFILE "app.bin"
|
|
#define CONFIG_LOADADDR CONFIG_SYS_LOAD_ADDR
|
|
|
|
#endif /* _CONFIG_IOT_DEVKIT_H_ */
|