mirror of
https://github.com/ARM-software/arm-trusted-firmware.git
synced 2025-04-18 02:24:18 +00:00

The Raspberry Pi 5 is a single-board computer based on BCM2712 that contains four Arm Cortex-A76 cores. This change introduces minimal BL31 support with PSCI that has been validated to boot Linux and a private EDK2 build. It's a drop-in replacement for the custom TF-A armstub now included in the EEPROM images. Change-Id: Id72a0370f54e71ac97c3daa1bacedacb7dec148f Signed-off-by: Mario Bălănică <mariobalanica02@gmail.com>
51 lines
1.1 KiB
C
51 lines
1.1 KiB
C
/*
|
|
* Copyright (c) 2016-2024, Arm Limited and Contributors. All rights reserved.
|
|
* Copyright (c) 2024, Mario Bălănică <mariobalanica02@gmail.com>
|
|
*
|
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
*/
|
|
|
|
#ifndef RPI_HW_H
|
|
#define RPI_HW_H
|
|
|
|
#include <lib/utils_def.h>
|
|
|
|
/*
|
|
* Peripherals
|
|
*/
|
|
|
|
#define RPI_IO_BASE ULL(0x1000000000)
|
|
#define RPI_IO_SIZE ULL(0x1000000000)
|
|
|
|
/*
|
|
* ARM <-> VideoCore mailboxes
|
|
*/
|
|
#define RPI3_MBOX_BASE (RPI_IO_BASE + ULL(0x7c013880))
|
|
|
|
/*
|
|
* Power management, reset controller, watchdog.
|
|
*/
|
|
#define RPI3_PM_BASE (RPI_IO_BASE + ULL(0x7d200000))
|
|
|
|
/*
|
|
* Hardware random number generator.
|
|
*/
|
|
#define RPI3_RNG_BASE (RPI_IO_BASE + ULL(0x7d208000))
|
|
|
|
/*
|
|
* PL011 system serial port
|
|
*/
|
|
#define RPI4_PL011_UART_BASE (RPI_IO_BASE + ULL(0x7d001000))
|
|
#define RPI4_PL011_UART_CLOCK ULL(44000000)
|
|
|
|
/*
|
|
* GIC interrupt controller
|
|
*/
|
|
#define RPI_HAVE_GIC
|
|
#define RPI4_GIC_GICD_BASE (RPI_IO_BASE + ULL(0x7fff9000))
|
|
#define RPI4_GIC_GICC_BASE (RPI_IO_BASE + ULL(0x7fffa000))
|
|
|
|
#define RPI4_LOCAL_CONTROL_BASE_ADDRESS (RPI_IO_BASE + ULL(0x7c280000))
|
|
#define RPI4_LOCAL_CONTROL_PRESCALER (RPI_IO_BASE + ULL(0x7c280008))
|
|
|
|
#endif /* RPI_HW_H */
|