Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions boards/coredevices/index.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
.. _boards-coredevices:

Core Devices LLC
################

.. toctree::
:maxdepth: 1
:glob:

**/*
5 changes: 5 additions & 0 deletions boards/coredevices/pt2/Kconfig.pt2
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Copyright (c) 2025 Core Devices LLC
# SPDX-License-Identifier: Apache-2.0

config BOARD_PT2
select SOC_SF32LB52JUD6
6 changes: 6 additions & 0 deletions boards/coredevices/pt2/board.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Copyright (c) 2025 Core Devices LLC
# SPDX-License-Identifier: Apache-2.0

board_runner_args(sftool "--chip=SF32LB52")

include(${ZEPHYR_BASE}/boards/common/sftool.board.cmake)
9 changes: 9 additions & 0 deletions boards/coredevices/pt2/board.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Copyright (c) 2025 Core Devices LLC
# SPDX-License-Identifier: Apache-2.0

board:
name: pt2
full_name: Pebble Time 2
vendor: coredevices
socs:
- name: sf32lb52jud6
Binary file added boards/coredevices/pt2/doc/img/pt2.webp
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
53 changes: 53 additions & 0 deletions boards/coredevices/pt2/doc/index.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
.. zephyr:board:: pt2

Overview
********

Pebble Time 2 is a smart watch based on the SF32LB52x series chip SoC.

More information about the watch can be found at the `RePebble website`_.

Hardware
********

Pebble Time 2 provides the following hardware components:

- SiFli SF32LB52JUD6
- nPM1300 PMIC for power supply and battery charging
- GD25Q256E 256 Mb QSPI NOR
- JDI LPM015M135A Memory-in-Pixel (MiP) 64-color display
- CST816D capacitive touch display driver
- RGB backlight driven by AW2016
- W1160 ambient light sensor
- 4 physical buttons
- LSM6DSOW IMU (accelerometer/gyroscope)
- LIS2DW12 low-power accelerometer
- MMC5603NJ magnetometer
- Dual PDM microphone
- Speaker driven by AW8155BFCR amplifier
- LRA driven by AW86225CSR
- GH3026 heart-rate monitor sensor
- Programming connector

Supported Features
==================

.. zephyr:board-supported-hw::

Programming and Debugging
*************************

.. zephyr:board-supported-runners::

Refer to `sftool website`_ for more information.

References
**********

.. target-notes::

.. _RePebble website:
https://repebble.com/

.. _sftool website:
https://github.com/OpenSiFli/sftool
20 changes: 20 additions & 0 deletions boards/coredevices/pt2/pt2-pinctrl.dtsi
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
/*
* Copyright (c) 2025 Core Devices LLC
* SPDX-License-Identifier: Apache-2.0
*/

#include <zephyr/dt-bindings/pinctrl/sf32lb52x-pinctrl.h>

&pinctrl {
usart1_default: usart1_default {
group1 {
pinmux = <PA19_USART1_TXD>;
};

group2 {
pinmux = <PA18_USART1_RXD>;
input-enable;
bias-pull-up;
};
};
};
139 changes: 139 additions & 0 deletions boards/coredevices/pt2/pt2.dts
Original file line number Diff line number Diff line change
@@ -0,0 +1,139 @@
/*
* Copyright (c) 2025 Core Devices LLC
* SPDX-License-Identifier: Apache-2.0
*/

/dts-v1/;

#include <sifli/sf32lb52x.dtsi>
#include <sifli/sf32lb52x-ram012.dtsi>
#include <zephyr/dt-bindings/dma/sf32lb52x-dma.h>
#include <zephyr/dt-bindings/gpio/gpio.h>
#include <zephyr/dt-bindings/input/input-event-codes.h>

#include "pt2-pinctrl.dtsi"

/ {
model = "Core Devices Pebble Time 2";
compatible = "coredevices,pt2";

#address-cells = <1>;
#size-cells = <1>;

chosen {
zephyr,flash = &gd25q256e;
zephyr,flash-controller = &mpi2;
zephyr,code-partition = &code;
zephyr,console = &usart1;
zephyr,shell-uart = &usart1;
};

buttons {
compatible = "gpio-keys";

btn_back: button-back {
label = "BACK";
gpios = <&gpioa_32_44 2 GPIO_ACTIVE_HIGH>;
zephyr,code = <INPUT_KEY_BACK>;
};

btn_up: button-up {
label = "UP";
gpios = <&gpioa_32_44 5 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
zephyr,code = <INPUT_KEY_UP>;
};

btn_center: button-center {
label = "CENTER";
gpios = <&gpioa_32_44 4 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
zephyr,code = <INPUT_KEY_ENTER>;
};

btn_down: button-down {
label = "DOWN";
gpios = <&gpioa_32_44 3 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
zephyr,code = <INPUT_KEY_DOWN>;
};
};

aliases {
sw0 = &btn_back;
sw1 = &btn_up;
watchdog0 = &wdt;
};
};

&cpu0 {
clock-frequency = <DT_FREQ_M(240)>;
};

&dmac {
status = "okay";
};

&gpioa_32_44 {
status = "okay";
};

&hxt48 {
status = "okay";
};

&mpi2 {
compatible = "sifli,sf32lb-mpi-qspi-nor";
dmas = <&dmac 0 SF32LB52X_DMA_REQ_MPI2 SF32LB_DMA_PL_MEDIUM>;
sifli,lines = <4>;
sifli,psclr = <0>;
status = "okay";

gd25q256e: flash@0 {
compatible = "gd,gd25q256e", "jedec,qspi-nor";
reg = <0x0>;
size = <DT_SIZE_M(256)>;
quad-enable-requirements = "S2B1v6";

partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;

ptable: partition@0 {
label = "ptable";
reg = <0x0 DT_SIZE_K(64)>;
};

code: partition@10000 {
label = "code";
reg = <0x10000 DT_SIZE_K(32704)>;
};
};
};
};

&pinctrl {
status = "okay";
};

&rcc_clk {
status = "okay";

sifli,hdiv = <1>;
sifli,pdiv1 = <1>;
sifli,pdiv2 = <6>;

dll1 {
status = "okay";
clock-frequency = <DT_FREQ_M(240)>;
};
};

&usart1 {
status = "okay";
current-speed = <1000000>;
pinctrl-0 = <&usart1_default>;
pinctrl-names = "default";
};

&wdt {
status = "okay";
};
16 changes: 16 additions & 0 deletions boards/coredevices/pt2/pt2.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# Copyright (c) 2025 Core Devices LLC
# SPDX-License-Identifier: Apache-2.0

identifier: pt2
name: Pebble-Time-2
vendor: coredevices
type: mcu
arch: arm
ram: 512
flash: 32704
toolchain:
- zephyr
supported:
- uart
- gpio
- watchdog
14 changes: 14 additions & 0 deletions boards/coredevices/pt2/pt2_defconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Copyright (c) 2025 Core Devices LLC
# SPDX-License-Identifier: Apache-2.0

CONFIG_ARM_MPU=y
CONFIG_HW_STACK_PROTECTION=y

CONFIG_SERIAL=y
CONFIG_GPIO=y

CONFIG_CONSOLE=y
CONFIG_UART_CONSOLE=y

CONFIG_SF32LB52X_BOOTROM_FLASH_ON_DELAY_MS=100
CONFIG_SF32LB52X_BOOTROM_FLASH_OFF_DELAY_MS=100
1 change: 1 addition & 0 deletions dts/bindings/vendor-prefixes.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Device tree binding vendor prefix registry. Keep this list in

Check warning on line 1 in dts/bindings/vendor-prefixes.txt

View workflow job for this annotation

GitHub Actions / Run compliance checks on patch series (PR)

Copyright missing

dts/bindings/vendor-prefixes.txt:1 File has no SPDX-FileCopyrightText header, consider adding one.

Check warning on line 1 in dts/bindings/vendor-prefixes.txt

View workflow job for this annotation

GitHub Actions / Run compliance checks on patch series (PR)

License missing

dts/bindings/vendor-prefixes.txt:1 File has no SPDX-License-Identifier header, consider adding one.
# alphabetical order.
#
# This isn't an exhaustive list, but you should add new prefixes to it
Expand Down Expand Up @@ -151,6 +151,7 @@
colorfly Colorful GRP, Shenzhen Xueyushi Technology Ltd.
compulab CompuLab Ltd.
contextualelectronics Contextual Electronics
coredevices Core Devices LLC
coreriver CORERIVER Semiconductor Co.,Ltd.
corpro Chengdu Corpro Technology Co., Ltd.
cortina Cortina Systems, Inc.
Expand Down
Loading