Skip to content

Commit a0db37d

Browse files
committed
boards: intel: wcl: Add board definition
This commit introduces board defintion for Wildcat Lake. Signed-off-by: S Swetha <s.swetha@intel.com>
1 parent 123d48d commit a0db37d

File tree

9 files changed

+248
-0
lines changed

9 files changed

+248
-0
lines changed

boards/intel/wcl/CMakeLists.txt

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

boards/intel/wcl/Kconfig.defconfig

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
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 $(dt_node_int_prop_int,/cpus/cpu@0,clock-frequency) if APIC_TSC_DEADLINE_TIMER
13+
default $(dt_node_int_prop_int,/cpus/cpu@0,clock-frequency) if APIC_TIMER_TSC
14+
default $(dt_node_int_prop_int,/soc/hpet@fed00000,clock-frequency)
15+
16+
if APIC_TIMER
17+
18+
config APIC_TIMER_IRQ
19+
default 24
20+
21+
endif
22+
23+
if APIC_TIMER_TSC
24+
25+
config APIC_TIMER_TSC_M
26+
default 2
27+
28+
config APIC_TIMER_TSC_N
29+
default 68
30+
31+
endif
32+
33+
config ACPI
34+
default y
35+
36+
if ACPI
37+
38+
config HEAP_MEM_POOL_ADD_SIZE_ACPI
39+
default 64000000
40+
41+
config MAIN_STACK_SIZE
42+
default 320000
43+
44+
if SHELL
45+
46+
config SHELL_STACK_SIZE
47+
default 320000
48+
49+
endif # SHELL
50+
51+
endif # ACPI
52+
53+
if DMA
54+
55+
config DMA_64BIT
56+
default y
57+
58+
config DMA_DW_HW_LLI
59+
default n
60+
61+
config DMA_DW_CHANNEL_COUNT
62+
default 2
63+
64+
endif
65+
66+
config UART_NS16550_INTEL_LPSS_DMA
67+
default y if $(dt_nodelabel_enabled,uart0_dma) || $(dt_nodelabel_enabled,uart1_dma)
68+
69+
config HAS_COVERAGE_SUPPORT
70+
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

0 commit comments

Comments
 (0)