zephyr/boards/arm/pinetime_devkit0/pinetime_devkit0.dts
Kumar Gala 5ac8fca9cb kscan: Introduce zephyr,keyboard-scan chosen prop
Introduce zephyr,keyboard-scan chosen node property to point to the
node that implements the default KSCAN device.  This is similar to
the zephyr,display property.

We switch over the samples to utilize the new property instead of
kscan0 alias.

Signed-off-by: Kumar Gala <galak@kernel.org>
2022-08-12 17:54:03 -05:00

215 lines
4.5 KiB
Plaintext

/*
* Copyright (c) 2020 Stephane Dorre <stephane.dorre@gmail.com>
*
* SPDX-License-Identifier: Apache-2.0
*
* DTS for Pine64 PineTime DevKit-0 board
* Further info: https://wiki.pine64.org/index.php/PineTime
*
*/
/dts-v1/;
#include <nordic/nrf52832_qfaa.dtsi>
#include "pinetime_devkit0-pinctrl.dtsi"
/ {
model = "Pine64 PineTime DevKit0";
compatible = "pine64,pinetime-devkit0";
chosen {
zephyr,console = &uart0;
zephyr,shell-uart = &uart0;
zephyr,bt-mon-uart = &uart0;
zephyr,bt-c2h-uart = &uart0;
zephyr,sram = &sram0;
zephyr,flash = &flash0;
zephyr,code-partition = &slot0_partition;
zephyr,display = &st7789v;
zephyr,keyboard-scan = &cst816s;
};
aliases {
led0 = &blled0; /* backlight low */
led1 = &blled1; /* backlight mid */
led2 = &blled2; /* backlight high */
led3 = &statusled; /* status led, may be not populated */
sw0 = &key_in; /* key in */
kscan0 = &cst816s;
watchdog0 = &wdt0;
};
leds {
compatible = "gpio-leds";
blled0: bl_led_0 {
gpios = <&gpio0 14 GPIO_ACTIVE_LOW>;
label = "Backlight Low";
};
blled1: bl_led_1 {
gpios = <&gpio0 22 GPIO_ACTIVE_LOW>;
label = "Backlight Medium";
};
blled2: bl_led_2 {
gpios = <&gpio0 23 GPIO_ACTIVE_LOW>;
label = "Backlight High";
};
statusled: led_3 {
gpios = <&gpio0 27 GPIO_ACTIVE_LOW>;
label = "Status Led";
};
};
buttons {
compatible = "gpio-keys";
key_in: button_0 {
gpios = <&gpio0 13 GPIO_ACTIVE_HIGH>;
label = "Key in";
};
};
key_out {
compatible = "pine64,pinetime-key-out";
gpios = <&gpio0 15 GPIO_ACTIVE_HIGH>;
};
vbatt {
compatible = "voltage-divider";
io-channels = <&adc 7>;
output-ohms = <1000000>;
full-ohms = <(1000000 + 1000000)>;
};
};
&adc {
status = "okay";
};
&gpiote {
status = "okay";
};
&gpio0 {
status = "okay";
};
&uart0 {
compatible = "nordic,nrf-uart";
current-speed = <115200>;
status = "okay";
pinctrl-0 = <&uart0_default>;
pinctrl-1 = <&uart0_sleep>;
pinctrl-names = "default", "sleep";
};
&i2c0 {
compatible = "nordic,nrf-twim";
status = "okay";
clock-frequency = <I2C_BITRATE_FAST>; /* 400KHz */
/* BOSCH BMA421 Triaxial Acceleration Sensor (1000KHz) */
pinctrl-0 = <&i2c0_default>;
pinctrl-1 = <&i2c0_sleep>;
pinctrl-names = "default", "sleep";
bma421: bma421@18 {
compatible = "bosch,bma4xx";
reg = <0x18>;
int1-gpios = <&gpio0 8 GPIO_ACTIVE_LOW>;
};
/* TianYiHeXin HRS3300 PPG Hear Rate Sensor (800KHz) */
hrs3300: hrs3300@44 {
compatible = "tian-yi-he-xin-hrs3300";
reg = <0x44>;
};
/* Hynitron CST816S Capacitive Touch Controller (400KHz) */
cst816s: cst816s@15 {
compatible = "hynitron,cst816s";
reg = <0x15>;
irq-gpios = <&gpio0 28 GPIO_ACTIVE_LOW>;
rst-gpios = <&gpio0 10 GPIO_ACTIVE_LOW>;
};
};
&spi1 {
compatible = "nordic,nrf-spi";
status = "okay";
cs-gpios = <&gpio0 5 GPIO_ACTIVE_LOW>, <&gpio0 25 GPIO_ACTIVE_LOW>;
pinctrl-0 = <&spi1_default>;
pinctrl-1 = <&spi1_sleep>;
pinctrl-names = "default", "sleep";
xt25fb32: xt25fb32@0 {
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <8000000>; /* 8MHz */
jedec-id = [0b 40 16];
size = <DT_SIZE_M(32)>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
/* next firmware update */
slot1_partition: partition@0 {
label = "image-1";
reg = <0x00000000 0x74000>;
};
/* to be used in firmware */
storage_partition: partition@300000 {
label = "storage";
reg = <0x00300000 0x00100000>;
};
};
};
/* Sitronix ST7789V LCD */
st7789v: st7789v@1 {
compatible = "sitronix,st7789v";
reg = <1>;
spi-max-frequency = <8000000>; /* 8MHz */
cmd-data-gpios = <&gpio0 18 GPIO_ACTIVE_LOW>; /* DET */
reset-gpios = <&gpio0 26 GPIO_ACTIVE_LOW>; /* RESX reset */
width = <240>;
height = <240>;
x-offset = <0>;
y-offset = <0>;
vcom = <0x19>;
gctrl = <0x35>;
vrhs = <0x12>;
vdvs = <0x20>;
mdac = <0x00>;
gamma = <0x01>;
colmod = <0x05>;
lcm = <0x2c>;
porch-param = [0c 0c 00 33 33];
cmd2en-param = [5a 69 02 01];
pwctrl1-param = [a4 a1];
pvgam-param = [D0 04 0D 11 13 2B 3F 54 4C 18 0D 0B 1F 23];
nvgam-param = [D0 04 0C 11 13 2C 3F 44 51 2F 1F 1F 20 23];
ram-param = [00 F0];
rgb-param = [CD 08 14];
};
};
&flash0 {
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
/* MCUboot bootloader */
boot_partition: partition@0 {
label = "mcuboot";
reg = <0x00000000 0xc000>;
};
/* main firmware partition */
slot0_partition: partition@c000 {
label = "image-0";
reg = <0x0000C000 0x74000>;
};
};
};