blob: ec45856478edb0167529917e3f238baad598a81f [file] [log] [blame]
/****************************************************************************
* arch/arm/src/nuc1xx/hardware/nuc_memorymap.h
*
* SPDX-License-Identifier: Apache-2.0
*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership. The
* ASF licenses this file to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance with the
* License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations
* under the License.
*
****************************************************************************/
#ifndef __ARCH_ARM_SRC_NUC1XX_HARDWARE_NUC_MEMORYMAP_H
#define __ARCH_ARM_SRC_NUC1XX_HARDWARE_NUC_MEMORYMAP_H
/****************************************************************************
* Included Files
****************************************************************************/
#include <nuttx/config.h>
#include "chip.h"
/****************************************************************************
* Pre-processor Definitions
****************************************************************************/
/* System Memory Map */
#define NUC_FLASH_BASE 0x00000000 /* -0x0001ffff: FLASH memory space (128KB) */
#define NUC_SRAM_BASE 0x20000000 /* -0x20003fff: SRAM memory space (16KB) */
#define NUC_APB1_BASE 0x40000000 /* -0x400fffff: APB1 controller space */
#define NUC_APB2_BASE 0x40100000 /* -0x401fffff: APB2 controller space */
#define NUC_AHB_BASE 0x50000000 /* -0x501fffff: AHB controller space */
#define NUC_EXTMEM_BASE 0x60000000 /* -0x6001ffff: External Memory space (128KB) */
#define NUC_SYSCON_BASE 0x60000000 /* -0x6001ffff: ARMv6-M system controller space
* See nvic.h */
/* FLASH space */
#define NUC_CONFIG_BASE 0x00300000 /* -0x00300004: User configuration */
/* AHB controller space */
#define NUC_GCR_BASE 0x50000000 /* -0x500001ff: System global control registers */
#define NUC_CLK_BASE 0x50000200 /* -0x500002ff: Clock control registers */
#define NUC_INT_BASE 0x50000300 /* -0x500003ff: Interrupt multiplexor control registers */
#define NUC_GPIO_BASE 0x50004000 /* -0x50007fff: GPIO control registers */
#define NUC_PDMA_BASE 0x50008000 /* -0x5000bfff: Peripheral DMA control registers */
#define NUC_FMC_BASE 0x5000c000 /* -0x5000ffff: Flash memory control registers */
#define NUC_EBI_BASE 0x50010000 /* -0x500103ff: External bus interface control registers */
/* APB1 controller space */
#define NUC_WDT_BASE 0x40004000 /* -0x40007fff: Watchdog timer control registers */
#define NUC_RTC_BASE 0x40008000 /* -0x4000bfff: Real time clock (RTc) control registers */
#define NUC_TMR01_BASE 0x40010000 /* -0x40013fff: Timer0/Timer0 control registers */
#define NUC_I2C0_BASE 0x40020000 /* -0x40023fff: I2C interface control registers */
#define NUC_SPI0_BASE 0x40030000 /* -0x40033fff: SPI0 master/slave control registers */
#define NUC_SPI1_BASE 0x40034000 /* -0x40037fff: SPI1 master/slave control registers */
#define NUC_PWMA_BASE 0x40040000 /* -0x40043fff: PWM0/1/2/3 control registers */
#define NUC_UART0_BASE 0x40050000 /* -0x40053fff: UART0 control registers */
#define NUC_USBD_BASE 0x40060000 /* -0x40063fff: USB 2.0 FS device controller registers */
#define NUC_ACMP_BASE 0x400d0000 /* -0x400d3fff: Analog comparator control registers */
#define NUC_ADC_BASE 0x400e0000 /* -0x400effff: Analog-digital-converter (ADC) control
* registers */
/* APB2 controller space */
#define NUC_PS2_BASE 0x40100000 /* -0x40103fff: PS/2 interface control registers */
#define NUC_TIMR23_BASE 0x40110000 /* -0x40113fff: Timer2/Timer3 control registers */
#define NUC_I2C1_BASE 0x40120000 /* -0x40123fff: I2C1 interface control registers */
#define NUC_SPI2_BASE 0x40130000 /* -0x40133fff: SPI2 master/slave control registers */
#define NUC_SPI3_BASE 0x40134000 /* -0x40137fff: SPI3 master/slave control registers */
#define NUC_PWMB_BASE 0x40140000 /* -0x40143fff: PWM4/5/6/7 control registers */
#define NUC_UART1_BASE 0x40150000 /* -0x40153fff: UART1 control registers */
#define NUC_UART2_BASE 0x40154000 /* -0x40157fff: UART2 control registers */
#define NUC_I2S_BASE 0x401a0000 /* -0x401a3fff: I2S interface control registers */
/****************************************************************************
* Public Types
****************************************************************************/
/****************************************************************************
* Public Data
****************************************************************************/
/****************************************************************************
* Public Functions Prototypes
****************************************************************************/
#endif /* __ARCH_ARM_SRC_NUC1XX_HARDWARE_NUC_MEMORYMAP_H */