mirror of
https://github.com/ARM-software/arm-trusted-firmware.git
synced 2025-04-13 16:14:20 +00:00

Now some macros (e.g., MHU_RX_ADDR(0x), MHU_TX_ADDR(0x), etc) add the prefix '0x' at the beginning of the addresses for hexadecimal values. For better readability, this patch introduces a new macro ADDRESSIFY(), which explictly adds the prefix '0x' for hexadecimal values. With this new macro, address macros can drop the parameter and be simplified to hexadecimal address value. Change-Id: Idd1af0394f6ef8288fbff1fd4d86b1709d1c1d16 Signed-off-by: Leo Yan <leo.yan@arm.com>
147 lines
3.9 KiB
Text
147 lines
3.9 KiB
Text
/*
|
|
* Copyright (c) 2023-2024, Arm Limited. All rights reserved.
|
|
*
|
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
*/
|
|
|
|
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
|
#include <dt-bindings/interrupt-controller/irq.h>
|
|
|
|
/* If SCMI power domain control is enabled */
|
|
#if TC_SCMI_PD_CTRL_EN
|
|
#define GPU_SCMI_PD_IDX (PLAT_MAX_CPUS_PER_CLUSTER + 1)
|
|
#define DPU_SCMI_PD_IDX (PLAT_MAX_CPUS_PER_CLUSTER + 2)
|
|
#endif /* TC_SCMI_PD_CTRL_EN */
|
|
|
|
/* All perf is normalized against the big core */
|
|
#define BIG_CAPACITY 1024
|
|
|
|
#if TARGET_PLATFORM <= 2
|
|
#if TARGET_FLAVOUR_FVP
|
|
#define LIT_CAPACITY 406
|
|
#define MID_CAPACITY 912
|
|
#else /* TARGET_FLAVOUR_FPGA */
|
|
#define LIT_CAPACITY 280
|
|
#define MID_CAPACITY 775
|
|
/* this is an area optimized configuration of the big core */
|
|
#define BIG2_CAPACITY 930
|
|
#endif /* TARGET_FLAVOUR_FPGA */
|
|
|
|
#define INT_MBOX_RX 317
|
|
#define MHU_TX_ADDR 45000000 /* hex */
|
|
#define MHU_RX_ADDR 45010000 /* hex */
|
|
#define MPAM_ADDR 0x1 0x00010000 /* 0x1_0001_0000 */
|
|
#define UARTCLK_FREQ 5000000
|
|
#elif TARGET_PLATFORM == 3
|
|
|
|
#define LIT_CAPACITY 239
|
|
#define MID_CAPACITY 686
|
|
|
|
#define INT_MBOX_RX 300
|
|
#define MHU_TX_ADDR 46040000 /* hex */
|
|
#define MHU_RX_ADDR 46140000 /* hex */
|
|
#define MPAM_ADDR 0x0 0x5f010000 /* 0x5f01_0000 */
|
|
#define UARTCLK_FREQ 3750000
|
|
#endif /* TARGET_PLATFORM == 3 */
|
|
|
|
#if TARGET_FLAVOUR_FVP
|
|
#define STDOUT_PATH "serial0:115200n8"
|
|
#define GIC_CTRL_ADDR 2c010000
|
|
#define GIC_GICR_OFFSET 0x200000
|
|
#define UART_OFFSET 0x1000
|
|
#define VENCODER_TIMING_CLK 25175000
|
|
#define VENCODER_TIMING \
|
|
clock-frequency = <VENCODER_TIMING_CLK>; \
|
|
hactive = <640>; \
|
|
vactive = <480>; \
|
|
hfront-porch = <16>; \
|
|
hback-porch = <48>; \
|
|
hsync-len = <96>; \
|
|
vfront-porch = <10>; \
|
|
vback-porch = <33>; \
|
|
vsync-len = <2>
|
|
#define ETH_COMPATIBLE "smsc,lan91c111"
|
|
#define MMC_REMOVABLE cd-gpios = <&sysreg 0 0>
|
|
#if TARGET_PLATFORM <= 2
|
|
#define DPU_ADDR 2cc00000
|
|
#define DPU_IRQ 69
|
|
#else /* TARGET_PLATFORM >= 3 */
|
|
#define DPU_ADDR 4000000000
|
|
#define DPU_IRQ 579
|
|
#endif /* TARGET_PLATFORM >= 3 */
|
|
|
|
#else /* TARGET_FLAVOUR_FPGA */
|
|
|
|
#define STDOUT_PATH "serial0:38400n8"
|
|
#define GIC_CTRL_ADDR 30000000
|
|
#define GIC_GICR_OFFSET 0x1000000
|
|
#define UART_OFFSET 0x10000
|
|
/* 1440x3200@120 framebuffer */
|
|
#define VENCODER_TIMING_CLK 836000000
|
|
#define VENCODER_TIMING \
|
|
clock-frequency = <VENCODER_TIMING_CLK>; \
|
|
hactive = <1440>; \
|
|
vactive = <3200>; \
|
|
hfront-porch = <136>; \
|
|
hback-porch = <296>; \
|
|
hsync-len = <160>; \
|
|
vfront-porch = <3>; \
|
|
vback-porch = <217>; \
|
|
vsync-len = <10>
|
|
#define ETH_COMPATIBLE "smsc,lan9115"
|
|
#define MMC_REMOVABLE non-removable
|
|
#define DPU_ADDR 2cc00000
|
|
#define DPU_IRQ 69
|
|
#endif /* TARGET_FLAVOUR_FPGA */
|
|
|
|
/* Use SCMI controlled clocks */
|
|
#if TC_DPU_USE_SCMI_CLK
|
|
#define DPU_CLK_ATTR1 \
|
|
clocks = <&scmi_clk 0>; \
|
|
clock-names = "aclk"
|
|
|
|
#define DPU_CLK_ATTR2 \
|
|
clocks = <&scmi_clk 1>; \
|
|
clock-names = "pxclk"
|
|
|
|
#define DPU_CLK_ATTR3 \
|
|
clocks = <&scmi_clk 2>; \
|
|
clock-names = "pxclk" \
|
|
/* Use fixed clocks */
|
|
#else /* !TC_DPU_USE_SCMI_CLK */
|
|
#define DPU_CLK_ATTR1 \
|
|
clocks = <&dpu_aclk>; \
|
|
clock-names = "aclk"
|
|
|
|
#define DPU_CLK_ATTR2 \
|
|
clocks = <&dpu_pixel_clk>, <&dpu_aclk>; \
|
|
clock-names = "pxclk", "aclk"
|
|
|
|
#define DPU_CLK_ATTR3 DPU_CLK_ATTR2
|
|
#endif /* !TC_DPU_USE_SCMI_CLK */
|
|
|
|
/ {
|
|
#if TARGET_PLATFORM <= 2
|
|
cmn-pmu {
|
|
compatible = "arm,ci-700";
|
|
reg = <0x0 0x50000000 0x0 0x10000000>;
|
|
interrupts = <GIC_SPI 460 IRQ_TYPE_LEVEL_HIGH>;
|
|
};
|
|
#endif /* TARGET_PLATFORM <= 2 */
|
|
|
|
#if !TC_DPU_USE_SCMI_CLK
|
|
dpu_aclk: dpu_aclk {
|
|
compatible = "fixed-clock";
|
|
#clock-cells = <0>;
|
|
clock-frequency = <VENCODER_TIMING_CLK>;
|
|
clock-output-names = "fpga:dpu_aclk";
|
|
};
|
|
|
|
dpu_pixel_clk: dpu-pixel-clk {
|
|
compatible = "fixed-clock";
|
|
#clock-cells = <0>;
|
|
clock-frequency = <VENCODER_TIMING_CLK>;
|
|
clock-output-names = "pxclk";
|
|
};
|
|
#endif /* !TC_DPU_USE_SCMI_CLK */
|
|
};
|