diff --git a/src/platform/imx8mp-verdin/desc.c b/src/platform/imx8mp-verdin/desc.c new file mode 100644 index 00000000..e41918c6 --- /dev/null +++ b/src/platform/imx8mp-verdin/desc.c @@ -0,0 +1,38 @@ +/** + * SPDX-License-Identifier: Apache-2.0 + * Copyright (c) Bao Project and Contributors. All rights reserved. + */ + +#include + +struct platform platform = { + .cpu_num = 4, + .region_num = 1, + .regions = (struct mem_region[]) { + { + .base = 0x40000000, + .size = 0x80000000, // 2 GiB + }, + }, + + .console = { + .base = 0x30880000, + }, + + .arch = { + + .clusters = { + .num = 1, + .core_num = (size_t[]) {4} + }, + + .gic = { + .gicd_addr = 0x38800000, + .gicr_addr = 0x38880000, + .gicc_addr = 0x31000000, + .gicv_addr = 0x31010000, + .gich_addr = 0x31020000, + .maintenance_id = 25 + }, + } +}; diff --git a/src/platform/imx8mp-verdin/inc/plat/platform.h b/src/platform/imx8mp-verdin/inc/plat/platform.h new file mode 100644 index 00000000..3f2ca9a3 --- /dev/null +++ b/src/platform/imx8mp-verdin/inc/plat/platform.h @@ -0,0 +1,11 @@ +/** + * SPDX-License-Identifier: Apache-2.0 + * Copyright (c) Bao Project and Contributors. All rights reserved. + */ + +#ifndef __PLAT_PLATFORM_H__ +#define __PLAT_PLATFORM_H__ + +#include + +#endif diff --git a/src/platform/imx8mp-verdin/inc/plat/psci.h b/src/platform/imx8mp-verdin/inc/plat/psci.h new file mode 100644 index 00000000..a408ba0f --- /dev/null +++ b/src/platform/imx8mp-verdin/inc/plat/psci.h @@ -0,0 +1,18 @@ +/** + * SPDX-License-Identifier: Apache-2.0 + * Copyright (c) Bao Project and Contributors. All rights reserved. + */ + +#ifndef __PLAT_PSCI_H__ +#define __PLAT_PSCI_H__ + +#define PSCI_POWER_STATE_LVL_0 0x0000000 +#define PSCI_POWER_STATE_LVL_1 0x1000000 +#define PSCI_POWER_STATE_LVL_2 0x2000000 +#define PSCI_STATE_TYPE_STANDBY 0x00000 +#define PSCI_STATE_TYPE_BIT (1UL << 16) +#define PSCI_STATE_TYPE_POWERDOWN PSCI_STATE_TYPE_BIT + +#define PLAT_PSCI_POWERDOWN_NOT_SUPPORTED + +#endif // __PLAT_PSCI_H__ diff --git a/src/platform/imx8mp-verdin/objects.mk b/src/platform/imx8mp-verdin/objects.mk new file mode 100644 index 00000000..851bee38 --- /dev/null +++ b/src/platform/imx8mp-verdin/objects.mk @@ -0,0 +1,4 @@ +## SPDX-License-Identifier: Apache-2.0 +## Copyright (c) Bao Project and Contributors. All rights reserved. + +boards-objs-y+=desc.o diff --git a/src/platform/imx8mp-verdin/platform.mk b/src/platform/imx8mp-verdin/platform.mk new file mode 100644 index 00000000..ca280e9a --- /dev/null +++ b/src/platform/imx8mp-verdin/platform.mk @@ -0,0 +1,18 @@ +## SPDX-License-Identifier: Apache-2.0 +## Copyright (c) Bao Project and Contributors. All rights reserved. + +# Architecture definition +ARCH:=armv8 +# CPU definition +CPU:=cortex-a53 + +GIC_VERSION:=GICV3 + +drivers = imx_uart + +platform_description:=desc.c + +platform-cppflags = +platform-cflags = -mcpu=$(CPU) +platform-asflags = +platform-ldflags =