forked from Mirrors/opensbi

Move Andes PLICSW ipi device to fdt ipi framework, this patch is based on Leo's modified IPI scheme on PLICSW. Current IPI scheme uses bit 0 of pending reigster on PLICSW to send IPI from hart 0 to hart 7, but bit 0 needs to be hardwired to 0 according to spec. After some investigation, self-IPI seems to be seldom or never used, so we re-order the IPI scheme to support 8 core platforms. dts example (Quad-core AX45MP): plicsw: interrupt-controller@e6400000 { compatible = "andestech,plicsw"; reg = <0x00000000 0xe6400000 0x00000000 0x00400000>; interrupts-extended = <&CPU0_intc 3 &CPU1_intc 3 &CPU2_intc 3 &CPU3_intc 3>; interrupt-controller; #address-cells = <2>; #interrupt-cells = <2>; }; Signed-off-by: Yu Chien Peter Lin <peterlin@andestech.com> Reviewed-by: Anup Patel <anup@brainfault.org>
41 lines
676 B
Makefile
41 lines
676 B
Makefile
#
|
|
# SPDX-License-Identifier: BSD-2-Clause
|
|
#
|
|
# Copyright (c) 2019 Andes Technology Corporation
|
|
#
|
|
# Authors:
|
|
# Zong Li <zong@andestech.com>
|
|
# Nylon Chen <nylon7@andestech.com>
|
|
#
|
|
|
|
# Compiler flags
|
|
platform-cppflags-y =
|
|
platform-cflags-y =
|
|
platform-asflags-y =
|
|
platform-ldflags-y =
|
|
|
|
# Objects to build
|
|
platform-objs-y += cache.o platform.o
|
|
|
|
# Blobs to build
|
|
FW_TEXT_START=0x00000000
|
|
|
|
FW_DYNAMIC=y
|
|
|
|
FW_JUMP=y
|
|
ifeq ($(PLATFORM_RISCV_XLEN), 32)
|
|
FW_JUMP_ADDR=0x400000
|
|
else
|
|
FW_JUMP_ADDR=0x200000
|
|
endif
|
|
FW_JUMP_FDT_ADDR=0x2000000
|
|
|
|
FW_PAYLOAD=y
|
|
ifeq ($(PLATFORM_RISCV_XLEN), 32)
|
|
FW_PAYLOAD_OFFSET=0x400000
|
|
else
|
|
FW_PAYLOAD_OFFSET=0x200000
|
|
endif
|
|
|
|
FW_PAYLOAD_FDT_ADDR=0x2000000
|