358 lines
6.6 KiB
Devicetree
Executable File
358 lines
6.6 KiB
Devicetree
Executable File
/*
|
|
* Copyright (c) 2018-2023 Nordic Semiconductor ASA
|
|
* Copyright (c) 2017 Linaro Limited
|
|
*
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
|
|
/dts-v1/;
|
|
#include <nordic/nrf52840_qiaa.dtsi>
|
|
#include "nrf52840_qalmari-pinctrl.dtsi"
|
|
#include <zephyr/dt-bindings/input/input-event-codes.h>
|
|
#include <zephyr/dt-bindings/led/led.h>
|
|
|
|
#include "fstab.dtsi"
|
|
|
|
/ {
|
|
model = "Nordic NRF52840 QALMARI";
|
|
compatible = "nordic,nrf52840-qalmari";
|
|
|
|
chosen {
|
|
zephyr,console = &cdc_acm_uart;
|
|
zephyr,shell-uart = &cdc_acm_uart;
|
|
zephyr,uart-mcumgr = &cdc_acm_uart;
|
|
zephyr,bt-mon-uart = &cdc_acm_uart;
|
|
zephyr,bt-c2h-uart = &cdc_acm_uart;
|
|
zephyr,sram = &sram0;
|
|
zephyr,flash = &flash0;
|
|
zephyr,code-partition = &slot0_partition;
|
|
zephyr,ieee802154 = &ieee802154;
|
|
};
|
|
|
|
leds {
|
|
compatible = "gpio-leds";
|
|
led1: led_1 {
|
|
gpios = <&gpio0 30 GPIO_ACTIVE_LOW>;
|
|
label = "LED 1";
|
|
status = "okay";
|
|
};
|
|
led2: led_2 {
|
|
gpios = <&gpio0 8 GPIO_ACTIVE_LOW>;
|
|
label = "LED 2";
|
|
status = "okay";
|
|
};
|
|
led3: led_3 {
|
|
gpios = <&gpio0 20 GPIO_ACTIVE_LOW>;
|
|
label = "LED 3";
|
|
status = "okay";
|
|
};
|
|
led4: led_4 {
|
|
gpios = <&gpio1 15 GPIO_ACTIVE_LOW>;
|
|
label = "LED 4";
|
|
status = "okay";
|
|
};
|
|
led5: led_5 {
|
|
gpios = <&gpio1 13 GPIO_ACTIVE_LOW>;
|
|
label = "LED 5";
|
|
status = "okay";
|
|
};
|
|
led6: led_6 {
|
|
gpios = <&gpio1 10 GPIO_ACTIVE_LOW>;
|
|
label = "LED 6";
|
|
status = "okay";
|
|
};
|
|
led7: led_7 {
|
|
gpios = <&gpio0 29 GPIO_ACTIVE_LOW>;
|
|
label = "LED 7";
|
|
status = "okay";
|
|
};
|
|
led8: led_8 {
|
|
gpios = <&gpio0 31 GPIO_ACTIVE_LOW>;
|
|
label = "LED 8";
|
|
status = "okay";
|
|
};
|
|
};
|
|
|
|
pwmleds {
|
|
compatible = "pwm-leds";
|
|
pwm_led1: pwm_led_1 {
|
|
pwms = <&pwm1 0 PWM_MSEC(20) PWM_POLARITY_INVERTED>;
|
|
label = "PWM LED 1";
|
|
};
|
|
pwm_led2: pwm_led_2 {
|
|
pwms = <&pwm1 1 PWM_MSEC(20) PWM_POLARITY_INVERTED>;
|
|
label = "PWM LED 2";
|
|
};
|
|
pwm_led3: pwm_led_3 {
|
|
pwms = <&pwm1 2 PWM_MSEC(20) PWM_POLARITY_INVERTED>;
|
|
label = "PWM LED 3";
|
|
};
|
|
pwm_led4: pwm_led_4 {
|
|
pwms = <&pwm1 3 PWM_MSEC(20) PWM_POLARITY_INVERTED>;
|
|
label = "PWM LED 4";
|
|
};
|
|
pwm_led5: pwm_led_5 {
|
|
pwms = <&pwm2 0 PWM_MSEC(20) PWM_POLARITY_INVERTED>;
|
|
label = "PWM LED 5";
|
|
};
|
|
pwm_led6: pwm_led_6 {
|
|
pwms = <&pwm2 1 PWM_MSEC(20) PWM_POLARITY_INVERTED>;
|
|
label = "PWM LED 6";
|
|
};
|
|
pwm_led7: pwm_led_7 {
|
|
pwms = <&pwm2 2 PWM_MSEC(20) PWM_POLARITY_INVERTED>;
|
|
label = "PWM LED 7";
|
|
};
|
|
pwm_led8: pwm_led_8 {
|
|
pwms = <&pwm2 3 PWM_MSEC(20) PWM_POLARITY_INVERTED>;
|
|
label = "PWM LED 8";
|
|
};
|
|
};
|
|
|
|
pwm {
|
|
compatible = "pwm-leds";
|
|
pwm_vibration: pwm_vibration {
|
|
pwms = <&pwm0 0 PWM_MSEC(20) PWM_POLARITY_NORMAL>;
|
|
label = "PWM vibration motor";
|
|
};
|
|
pwm_buzzer: pwm_buzzer {
|
|
pwms = <&pwm0 1 PWM_MSEC(20) PWM_POLARITY_NORMAL>;
|
|
label = "PWM buzzer";
|
|
};
|
|
|
|
};
|
|
|
|
buttons {
|
|
compatible = "gpio-keys";
|
|
debounce-interval-ms = <100>;
|
|
button1: button_1 {
|
|
gpios = <&gpio0 17 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;
|
|
label = "Push button switch 1";
|
|
zephyr,code = <INPUT_KEY_0>;
|
|
};
|
|
button2: button_2 {
|
|
gpios = <&gpio0 15 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;
|
|
label = "Push button switch 2";
|
|
zephyr,code = <INPUT_KEY_1>;
|
|
};
|
|
};
|
|
|
|
interrupts {
|
|
compatible = "gpio-keys";
|
|
interrupt_head: interrupt_head {
|
|
gpios = <&gpio0 23 (GPIO_ACTIVE_HIGH)>;
|
|
label = "head interrupt pin";
|
|
};
|
|
};
|
|
|
|
aliases {
|
|
btn1 = &button1;
|
|
btn2 = &button2;
|
|
int-head = &interrupt_head;
|
|
int-btn-1 = &button1;
|
|
int-btn-2 = &button2;
|
|
led1 = &led1;
|
|
led2 = &led2;
|
|
led3 = &led3;
|
|
led4 = &led4;
|
|
led5 = &led5;
|
|
led6 = &led6;
|
|
led7 = &led7;
|
|
led8 = &led8;
|
|
pwm-led1 = &pwm_led1;
|
|
pwm-led2 = &pwm_led2;
|
|
pwm-led3 = &pwm_led3;
|
|
pwm-led4 = &pwm_led4;
|
|
pwm-led5 = &pwm_led5;
|
|
pwm-led6 = &pwm_led6;
|
|
pwm-led7 = &pwm_led7;
|
|
pwm-led8 = &pwm_led8;
|
|
buzzer = &pwm_buzzer;
|
|
vibration = &pwm_vibration;
|
|
mcuboot-button0 = &button1;
|
|
mcuboot-button1 = &button2;
|
|
mcuboot-led0 = &led1;
|
|
watchdog0 = &wdt0;
|
|
pwm0 = &pwm0;
|
|
pwm-leds = &pwm1;
|
|
led-strip = &led_strip;
|
|
i2c-1 = &i2c1;
|
|
uart-0 = &uart0;
|
|
};
|
|
|
|
vbatt {
|
|
status = "okay";
|
|
compatible = "voltage-divider";
|
|
io-channels = <&adc 2>;
|
|
output-ohms = <100000>;
|
|
full-ohms = <(100000 + 100000)>;
|
|
//power-gpios = <&gpio0 11 GPIO_PULL_UP>;
|
|
};
|
|
};
|
|
|
|
&pwm0 {
|
|
status = "okay";
|
|
pinctrl-0 = <&pwm0_default>;
|
|
pinctrl-1 = <&pwm0_sleep>;
|
|
pinctrl-names = "default", "sleep";
|
|
};
|
|
|
|
&pwm1 {
|
|
status = "okay";
|
|
pinctrl-0 = <&pwm1_leds_default>;
|
|
pinctrl-1 = <&pwm1_leds_sleep>;
|
|
pinctrl-names = "default", "sleep";
|
|
};
|
|
|
|
&pwm2 {
|
|
status = "okay";
|
|
pinctrl-0 = <&pwm2_leds_default>;
|
|
pinctrl-1 = <&pwm2_leds_sleep>;
|
|
pinctrl-names = "default", "sleep";
|
|
};
|
|
|
|
&uart0 {
|
|
compatible = "nordic,nrf-uarte";
|
|
status = "okay";
|
|
current-speed = <115200>;
|
|
pinctrl-0 = <&uart0_default>;
|
|
pinctrl-names = "default";
|
|
};
|
|
|
|
&spi0 {
|
|
compatible = "nordic,nrf-spi";
|
|
/* Cannot be used together with i2c0. */
|
|
status = "okay";
|
|
pinctrl-0 = <&spi0_default>;
|
|
pinctrl-1 = <&spi0_sleep>;
|
|
pinctrl-names = "default", "sleep";
|
|
led_strip: ws2812-spi@0 {
|
|
compatible = "worldsemi,ws2812-spi";
|
|
reg = <0x0>;
|
|
|
|
chain-length = <2>;
|
|
color-mapping = <LED_COLOR_ID_GREEN
|
|
LED_COLOR_ID_RED
|
|
LED_COLOR_ID_BLUE>;
|
|
spi-one-frame = <0x70>;
|
|
spi-zero-frame = <0x40>;
|
|
spi-max-frequency = <4000000>;
|
|
};
|
|
};
|
|
|
|
&spi1 {
|
|
compatible = "nordic,nrf-spi";
|
|
//status = "okay";
|
|
status = "disabled";
|
|
pinctrl-0 = <&spi1_default>;
|
|
pinctrl-1 = <&spi1_sleep>;
|
|
pinctrl-names = "default", "sleep";
|
|
};
|
|
|
|
&i2c0 {
|
|
/* Cannot be used together with spi0. */
|
|
status = "disabled";
|
|
pinctrl-0 = <&i2c0_default>;
|
|
pinctrl-names = "default";
|
|
clock-frequency = <I2C_BITRATE_STANDARD>;
|
|
};
|
|
|
|
&i2c1 {
|
|
status = "okay";
|
|
pinctrl-0 = <&i2c1_default>;
|
|
pinctrl-names = "default";
|
|
clock-frequency = <I2C_BITRATE_STANDARD>;
|
|
};
|
|
|
|
zephyr_udc0: &usbd {
|
|
compatible = "nordic,nrf-usbd";
|
|
status = "okay";
|
|
|
|
cdc_acm_uart: cdc_acm_uart {
|
|
compatible = "zephyr,cdc-acm-uart";
|
|
};
|
|
};
|
|
|
|
&ieee802154 {
|
|
status = "okay";
|
|
};
|
|
|
|
&adc {
|
|
status = "okay";
|
|
};
|
|
|
|
&gpiote {
|
|
status = "okay";
|
|
};
|
|
|
|
&uicr {
|
|
nfct-pins-as-gpios;
|
|
gpio-as-nreset;
|
|
};
|
|
|
|
&gpio0 {
|
|
status = "okay";
|
|
};
|
|
|
|
&gpio1 {
|
|
status = "okay";
|
|
};
|
|
|
|
&systick {
|
|
status = "disabled";
|
|
};
|
|
|
|
&nfct {
|
|
status = "disabled";
|
|
};
|
|
|
|
&egu0 {
|
|
status = "okay";
|
|
};
|
|
|
|
&ccm {
|
|
status = "okay";
|
|
};
|
|
|
|
&cryptocell {
|
|
status = "okay";
|
|
};
|
|
|
|
&ecb {
|
|
status = "okay";
|
|
};
|
|
|
|
&rng {
|
|
status = "okay";
|
|
};
|
|
|
|
&ppi {
|
|
status = "okay";
|
|
};
|
|
|
|
&clock {
|
|
status = "okay";
|
|
};
|
|
|
|
// RTC0 is not okay anymore! v.4.3.99
|
|
// &rtc0 {
|
|
// status = "okay";
|
|
// };
|
|
|
|
&mwu {
|
|
status = "okay";
|
|
};
|
|
|
|
&power {
|
|
status = "okay";
|
|
};
|
|
|
|
&acl {
|
|
status = "okay";
|
|
};
|
|
|
|
// ITM is used for printf debugging and tracing on the SWO pin
|
|
&itm {
|
|
status = "okay";
|
|
};
|