zephyr/boards/sipeed/longan_nano/longan_nano-common.dtsi

177 lines
3.2 KiB
Plaintext

/*
* Copyright (c) 2021 Tokita, Hiroshi <tokita.hiroshi@gmail.com>
*
* SPDX-License-Identifier: Apache-2.0
*/
#include <zephyr/dt-bindings/input/input-event-codes.h>
/ {
chosen {
zephyr,console = &usart0;
zephyr,shell-uart = &usart0;
zephyr,sram = &sram0;
zephyr,flash = &flash0;
zephyr,display = &lcd0;
sdhc0 = &sdhc0;
};
leds {
compatible = "gpio-leds";
led_red: led_red {
gpios = <&gpioc 13 GPIO_ACTIVE_LOW>;
label = "LED_R";
};
led_green: led_green {
gpios = <&gpioa 1 GPIO_ACTIVE_LOW>;
label = "LED_G";
};
led_blue: led_blue {
gpios = <&gpioa 2 GPIO_ACTIVE_LOW>;
label = "LED_B";
};
};
gpio_keys {
compatible = "gpio-keys";
button_boot0: button_boot0 {
label = "BUTTON_BOOT0";
gpios = <&gpioa 8 GPIO_ACTIVE_HIGH>;
zephyr,code = <INPUT_KEY_0>;
};
};
pwmleds {
compatible = "pwm-leds";
/* NOTE: bridge TIMER1_CH1 and LED_GREEN (PA1) */
pwm_led_green: pwm_led_green {
pwms = <&pwm1 1 PWM_MSEC(20) PWM_POLARITY_NORMAL>;
label = "PWM_LED_G";
};
/* NOTE: bridge TIMER1_CH2 and LED_BLUE (PA2) */
pwm_led_blue: pwm_led_blue {
pwms = <&pwm1 2 PWM_MSEC(20) PWM_POLARITY_NORMAL>;
label = "PWM_LED_B";
};
};
aliases {
led0 = &led_red;
led1 = &led_green;
led2 = &led_blue;
pwm-led0 = &pwm_led_green;
pwm-led1 = &pwm_led_blue;
sw0 = &button_boot0;
watchdog0 = &fwdgt;
};
};
&gpioa {
status = "okay";
};
&gpiob {
status = "okay";
};
&gpioc {
status = "okay";
};
&usart0 {
status = "okay";
current-speed = <115200>;
pinctrl-0 = <&usart0_default>;
pinctrl-names = "default";
};
&timer1 {
status = "okay";
prescaler = <4096>;
pwm1: pwm {
status = "okay";
pinctrl-0 = <&pwm1_default>;
pinctrl-names = "default";
};
};
&dac {
status = "okay";
pinctrl-0 = <&dac_default>;
pinctrl-names = "default";
};
&spi0 {
status = "okay";
pinctrl-0 = <&spi0_default>;
pinctrl-names = "default";
cs-gpios = <&gpiob 2 GPIO_ACTIVE_LOW>;
/* longan nano has LCD with st7735s controller.
* It can use with st7735r driver.
*/
lcd0: lcd@0 {
compatible = "sitronix,st7735r";
reg = <0>;
status = "okay";
reset-gpios = <&gpiob 1 GPIO_ACTIVE_LOW>;
cmd-data-gpios = <&gpiob 0 GPIO_ACTIVE_LOW>;
width = <160>;
height = <80>;
inversion-on;
rgb-is-inverted;
x-offset = <1>;
y-offset = <26>;
pwctr1 = [62 02 04];
pwctr2 = [C0];
pwctr3 = [0D 00];
pwctr4 = [8D 6A];
pwctr5 = [8D EE];
invctr = <3>;
frmctr1 = [05 3A 3A];
frmctr2 = [05 3A 3A];
frmctr3 = [05 3A 3A 05 3A 3A];
vmctr1 = <14>;
gamctrp1 = [10 0E 02 03 0E 07 02 07 0A 12 27 37 00 0D 0E 10];
gamctrn1 = [10 0E 03 03 0F 06 02 08 0A 13 26 36 00 0D 0E 10];
colmod = <5>;
madctl = <120>;
caset = [00 01 00 a0];
raset = [00 1a 00 69];
spi-max-frequency = <4000000>;
};
};
&spi1 {
status = "okay";
pinctrl-0 = <&spi1_default>;
pinctrl-names = "default";
cs-gpios = <&gpiob 12 GPIO_ACTIVE_LOW>;
sdhc0: sdhc@0 {
compatible = "zephyr,sdhc-spi-slot";
reg = <0>;
status = "okay";
spi-max-frequency = <24000000>;
mmc {
compatible = "zephyr,sdmmc-disk";
status = "okay";
};
};
};
&adc0 {
status = "okay";
pinctrl-0 = <&adc0_default>;
pinctrl-names = "default";
};
&fwdgt {
status = "okay";
};