1 /** 2 * Copyright (c) 2021 Raspberry Pi (Trading) Ltd. 3 * 4 * SPDX-License-Identifier: BSD-3-Clause 5 */ 6 #ifndef _ADDRESSMAP_H_ 7 #define _ADDRESSMAP_H_ 8 9 #include "hardware/platform_defs.h" 10 11 // Register address offsets for atomic RMW aliases 12 #define REG_ALIAS_RW_BITS (0x0u << 12u) 13 #define REG_ALIAS_XOR_BITS (0x1u << 12u) 14 #define REG_ALIAS_SET_BITS (0x2u << 12u) 15 #define REG_ALIAS_CLR_BITS (0x3u << 12u) 16 17 #define ROM_BASE _u(0x00000000) 18 #define XIP_BASE _u(0x10000000) 19 #define XIP_MAIN_BASE _u(0x10000000) 20 #define XIP_NOALLOC_BASE _u(0x11000000) 21 #define XIP_NOCACHE_BASE _u(0x12000000) 22 #define XIP_NOCACHE_NOALLOC_BASE _u(0x13000000) 23 #define XIP_CTRL_BASE _u(0x14000000) 24 #define XIP_SRAM_BASE _u(0x15000000) 25 #define XIP_SRAM_END _u(0x15004000) 26 #define XIP_SSI_BASE _u(0x18000000) 27 #define SRAM_BASE _u(0x20000000) 28 #define SRAM_STRIPED_BASE _u(0x20000000) 29 #define SRAM_STRIPED_END _u(0x20040000) 30 #define SRAM4_BASE _u(0x20040000) 31 #define SRAM5_BASE _u(0x20041000) 32 #define SRAM_END _u(0x20042000) 33 #define SRAM0_BASE _u(0x21000000) 34 #define SRAM1_BASE _u(0x21010000) 35 #define SRAM2_BASE _u(0x21020000) 36 #define SRAM3_BASE _u(0x21030000) 37 #define SYSINFO_BASE _u(0x40000000) 38 #define SYSCFG_BASE _u(0x40004000) 39 #define CLOCKS_BASE _u(0x40008000) 40 #define RESETS_BASE _u(0x4000c000) 41 #define PSM_BASE _u(0x40010000) 42 #define IO_BANK0_BASE _u(0x40014000) 43 #define IO_QSPI_BASE _u(0x40018000) 44 #define PADS_BANK0_BASE _u(0x4001c000) 45 #define PADS_QSPI_BASE _u(0x40020000) 46 #define XOSC_BASE _u(0x40024000) 47 #define PLL_SYS_BASE _u(0x40028000) 48 #define PLL_USB_BASE _u(0x4002c000) 49 #define BUSCTRL_BASE _u(0x40030000) 50 #define UART0_BASE _u(0x40034000) 51 #define UART1_BASE _u(0x40038000) 52 #define SPI0_BASE _u(0x4003c000) 53 #define SPI1_BASE _u(0x40040000) 54 #define I2C0_BASE _u(0x40044000) 55 #define I2C1_BASE _u(0x40048000) 56 #define ADC_BASE _u(0x4004c000) 57 #define PWM_BASE _u(0x40050000) 58 #define TIMER_BASE _u(0x40054000) 59 #define WATCHDOG_BASE _u(0x40058000) 60 #define RTC_BASE _u(0x4005c000) 61 #define ROSC_BASE _u(0x40060000) 62 #define VREG_AND_CHIP_RESET_BASE _u(0x40064000) 63 #define TBMAN_BASE _u(0x4006c000) 64 #define DMA_BASE _u(0x50000000) 65 #define USBCTRL_DPRAM_BASE _u(0x50100000) 66 #define USBCTRL_BASE _u(0x50100000) 67 #define USBCTRL_REGS_BASE _u(0x50110000) 68 #define PIO0_BASE _u(0x50200000) 69 #define PIO1_BASE _u(0x50300000) 70 #define XIP_AUX_BASE _u(0x50400000) 71 #define SIO_BASE _u(0xd0000000) 72 #define PPB_BASE _u(0xe0000000) 73 74 #endif // _ADDRESSMAP_H_ 75