Skip to content

Commit 3e1a1df

Browse files
committed
boards: intel: Add WCL board support
Add support for Intel Wildcat Lake platform (intel_wcl_crb) Signed-off-by: S Swetha <s.swetha@intel.com>
1 parent 91b1b84 commit 3e1a1df

File tree

26 files changed

+901
-0
lines changed

26 files changed

+901
-0
lines changed

boards/intel/wcl/CMakeLists.txt

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# SPDX-License-Identifier: Apache-2.0
2+
3+
# Create an EFI image
4+
if(CONFIG_BUILD_OUTPUT_EFI)
5+
set_property(GLOBAL APPEND PROPERTY extra_post_build_commands
6+
COMMAND ${PYTHON_EXECUTABLE} ${PROJECT_SOURCE_DIR}/arch/x86/zefi/zefi.py
7+
-c ${CMAKE_C_COMPILER}
8+
-o ${CMAKE_OBJCOPY}
9+
-i ${ZEPHYR_BASE}/include ${PROJECT_BINARY_DIR}/include/generated
10+
-f ${PROJECT_BINARY_DIR}/${CONFIG_KERNEL_BIN_NAME}.elf
11+
$<$<BOOL:${CMAKE_VERBOSE_MAKEFILE}>:--verbose>
12+
WORKING_DIRECTORY ${PROJECT_BINARY_DIR}
13+
)
14+
endif()

boards/intel/wcl/Kconfig.defconfig

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
# Copyright (c) 2025 Intel Corporation
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
config BUILD_OUTPUT_STRIPPED
5+
default y
6+
7+
config MP_MAX_NUM_CPUS
8+
default 2
9+
10+
#The APIC TSC deadline and one-shot timers on this board run at 2 GHz; the HPET runs at 19.2 MHz.
11+
config SYS_CLOCK_HW_CYCLES_PER_SEC
12+
default 2000000000 if APIC_TSC_DEADLINE_TIMER
13+
default 2000000000 if APIC_TIMER_TSC
14+
default 19200000
15+
16+
if APIC_TIMER
17+
config APIC_TIMER_IRQ
18+
default 24
19+
endif
20+
if APIC_TIMER_TSC
21+
config APIC_TIMER_TSC_M
22+
default 2
23+
config APIC_TIMER_TSC_N
24+
default 68
25+
endif
26+
27+
config ACPI
28+
default y
29+
30+
if ACPI
31+
config HEAP_MEM_POOL_ADD_SIZE_ACPI
32+
default 64000000
33+
config MAIN_STACK_SIZE
34+
default 320000
35+
36+
if SHELL
37+
config SHELL_STACK_SIZE
38+
default 320000
39+
endif # SHELL
40+
endif # ACPI
41+
42+
if DMA
43+
config DMA_64BIT
44+
default y
45+
config DMA_DW_HW_LLI
46+
default n
47+
config DMA_DW_CHANNEL_COUNT
48+
default 2
49+
endif
50+
51+
config UART_NS16550_INTEL_LPSS_DMA
52+
default y if $(dt_nodelabel_enabled,uart0_dma) || $(dt_nodelabel_enabled,uart1_dma)
53+
54+
config HAS_COVERAGE_SUPPORT
55+
default y
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# Copyright (c) 2025 Intel Corporation
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
config BOARD_INTEL_WCL_CRB
5+
select SOC_WILDCAT_LAKE

boards/intel/wcl/board.cmake

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# SPDX-License-Identifier: Apache-2.0
2+
3+
board_set_flasher_ifnset(misc-flasher)
4+
board_finalize_runner_args(misc-flasher)

boards/intel/wcl/board.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
boards:
2+
- name: intel_wcl_crb
3+
vendor: intel
4+
socs:
5+
- name: wildcat_lake

boards/intel/wcl/doc/index.rst

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
.. zephyr:board:: intel_wcl_crb
2+
3+
Overview
4+
********
5+
Wildcat lake processor is a 64-bit multi-core processor.
6+
7+
Wildcat Lake is based on a Hybrid architecture, utilizing P-cores E-cores Xe3 cores
8+
for performance and efficiency.
9+
10+
For more information about Wildcat Lake Processor lines, P-cores, and E-cores
11+
please refer to `INTEL_WCL`_.
12+
13+
This board configuration enables kernel support for the Wildcat Lake boards.
14+
15+
Hardware
16+
********
17+
18+
.. zephyr:board-supported-hw::
19+
20+
General information about the board can be found at the `INTEL_WCL`_. website.
21+
22+
Connections and IOs
23+
===================
24+
25+
Refer to the `INTEL_WCL`_. website for more information.
26+
27+
Programming and Debugging
28+
*************************
29+
Use the following procedures for booting an image for an Wildcat Lake RVP board.
30+
31+
.. contents::
32+
:depth: 1
33+
:local:
34+
:backlinks: top
35+
36+
Build Zephyr application
37+
========================
38+
39+
#. Build a Zephyr application; for instance, to build the ``hello_world``
40+
application for Wildcat Lake RVP:
41+
42+
.. zephyr-app-commands::
43+
:zephyr-app: samples/hello_world
44+
:board: intel_wcl_crb
45+
:goals: build
46+
47+
.. note::
48+
49+
A Zephyr EFI image file named :file:`zephyr.efi` is automatically
50+
created in the build directory after the application is built.
51+
52+
.. include:: ../../../intel/common/efi_boot.rst
53+
:start-after: start_include_here
54+
55+
.. _INTEL_WCL: https://edc.intel.com/content/www/us/en/secure/design/confidential/products/platforms/details/wildcat-lake-processor-external-design-specification-volume-1-of-2/

boards/intel/wcl/intel_wcl_crb.dts

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
/*
2+
* Copyright (c) 2025 Intel Corporation
3+
* SPDX-License-Identifier: Apache-2.0
4+
*/
5+
6+
/dts-v1/;
7+
8+
#include <mem.h>
9+
10+
#define DT_DRAM_SIZE DT_SIZE_M(2048)
11+
12+
#include <intel/wildcat_lake.dtsi>
13+
14+
/ {
15+
model = "intel_wcl_crb";
16+
compatible = "intel,wildcat-lake-crb";
17+
18+
chosen {
19+
zephyr,sram = &dram0;
20+
zephyr,console = &uart_legacy;
21+
zephyr,shell-uart = &uart_legacy;
22+
};
23+
24+
aliases {
25+
watchdog0 = &tco_wdt;
26+
rtc = &rtc;
27+
i2c-0 = &i2c0;
28+
pwm-test = &pwm0;
29+
};
30+
};
31+
32+
&uart_legacy {
33+
status = "okay";
34+
};
35+
36+
&rtc {
37+
status = "okay";
38+
};
39+
40+
&smbus0 {
41+
status = "okay";
42+
};
43+
44+
&tco_wdt {
45+
status = "okay";
46+
};
47+
48+
&pwm0 {
49+
status = "okay";
50+
};
51+
52+
&hpet {
53+
status = "okay";
54+
};
55+
56+
&tgpio {
57+
status = "okay";
58+
};
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
identifier: intel_wcl_crb
2+
name: Wildcat Lake CRB
3+
type: mcu
4+
arch: x86
5+
toolchain:
6+
- zephyr
7+
ram: 2048
8+
supported:
9+
- acpi
10+
- smp
11+
- smbus
12+
- watchdog
13+
- rtc
14+
- gpio
15+
- pwm
16+
testing:
17+
ignore_tags:
18+
- net
19+
- bluetooth
20+
vendor: intel
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# SPDX-License-Identifier: Apache-2.0
2+
3+
CONFIG_PIC_DISABLE=y
4+
CONFIG_LOAPIC=y
5+
CONFIG_CONSOLE=y
6+
CONFIG_SERIAL=y
7+
CONFIG_UART_NS16550=y
8+
CONFIG_UART_NS16550_VARIANT_NS16750=y
9+
CONFIG_UART_CONSOLE=y
10+
CONFIG_X2APIC=y
11+
CONFIG_SMP=y
12+
CONFIG_BUILD_OUTPUT_EFI=y
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# Copyright (c) 2025 Intel Corp.
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
description: Intel Wildcat Lake CPU
5+
6+
compatible: "intel,wildcat-lake"
7+
8+
include: cpu.yaml

0 commit comments

Comments
 (0)