|  | /* | 
|  | * Copyright (c) 2021 Telink Semiconductor | 
|  | * | 
|  | * SPDX-License-Identifier: Apache-2.0 | 
|  | */ | 
|  |  | 
|  | /dts-v1/; | 
|  |  | 
|  | #include <freq.h> | 
|  | #include <telink/telink_b91.dtsi> | 
|  | #include "tlsr9518adk80d-pinctrl.dtsi" | 
|  | #include <zephyr/dt-bindings/input/input-event-codes.h> | 
|  |  | 
|  | / { | 
|  | model = "telink,b91"; | 
|  | compatible = "telink,tlsr9518adk80d"; | 
|  |  | 
|  | aliases { | 
|  | led0 = &led_blue; | 
|  | led1 = &led_green; | 
|  | led2 = &led_white; | 
|  | led3 = &led_red; | 
|  | sw0 = &key_1; | 
|  | pwm-led0 = &pwm_led_blue; | 
|  | pwm-0 = &pwm0; | 
|  | }; | 
|  |  | 
|  | leds { | 
|  | compatible = "gpio-leds"; | 
|  |  | 
|  | led_blue: led_0 { | 
|  | gpios = <&gpiob 4 GPIO_ACTIVE_HIGH>; | 
|  | label = "LED Blue"; | 
|  | }; | 
|  |  | 
|  | led_green: led_1 { | 
|  | gpios = <&gpiob 5 GPIO_ACTIVE_HIGH>; | 
|  | label = "LED Green"; | 
|  | }; | 
|  |  | 
|  | led_white: led_2 { | 
|  | gpios = <&gpiob 6 GPIO_ACTIVE_HIGH>; | 
|  | label = "LED White"; | 
|  | }; | 
|  |  | 
|  | led_red: led_3 { | 
|  | gpios = <&gpiob 7 GPIO_ACTIVE_HIGH>; | 
|  | label = "LED Red"; | 
|  | }; | 
|  | }; | 
|  |  | 
|  | pwm_leds { | 
|  | compatible = "pwm-leds"; | 
|  |  | 
|  | pwm_led_blue: pwm_led_0 { | 
|  | pwms = <&pwm0 0 PWM_MSEC(20) PWM_POLARITY_NORMAL>; | 
|  | label = "PWM LED Blue"; | 
|  | }; | 
|  | }; | 
|  |  | 
|  | keys { | 
|  | compatible = "gpio-keys"; | 
|  | key_1: button_1 { | 
|  | label = "User KEY1"; | 
|  | gpios = <&gpioc 2 GPIO_PULL_DOWN>; | 
|  | zephyr,code = <INPUT_KEY_0>; | 
|  | }; | 
|  | }; | 
|  |  | 
|  | chosen { | 
|  | zephyr,console = &uart0; | 
|  | zephyr,shell-uart = &uart0; | 
|  | zephyr,sram = &ram_dlm; | 
|  | zephyr,flash = &flash; | 
|  | zephyr,flash-controller = &flash_mspi; | 
|  | zephyr,entropy = &trng0; | 
|  | zephyr,code-partition = &slot0_partition; | 
|  | zephyr,ieee802154 = &ieee802154; | 
|  | }; | 
|  | }; | 
|  |  | 
|  | &cpu0 { | 
|  | clock-frequency = <48000000>; | 
|  | }; | 
|  |  | 
|  | &ram_ilm { | 
|  | reg = <0x00000000 0x00020000>; | 
|  | }; | 
|  |  | 
|  | &ram_dlm { | 
|  | reg = <0x00080000 0x00020000>; | 
|  | }; | 
|  |  | 
|  | &flash { | 
|  | reg = <0x20000000 0x100000>; | 
|  |  | 
|  | partitions { | 
|  | compatible = "fixed-partitions"; | 
|  | #address-cells = <1>; | 
|  | #size-cells = <1>; | 
|  |  | 
|  | boot_partition: partition@0 { | 
|  | label = "mcuboot"; | 
|  | reg = <0x00000000 0x10000>; | 
|  | }; | 
|  | slot0_partition: partition@10000 { | 
|  | label = "image-0"; | 
|  | reg = <0x10000 0x70000>; | 
|  | }; | 
|  | slot1_partition: partition@80000 { | 
|  | label = "image-1"; | 
|  | reg = <0x80000 0x70000>; | 
|  | }; | 
|  | scratch_partition: partition@f0000 { | 
|  | label = "image-scratch"; | 
|  | reg = <0xf0000 0x4000>; | 
|  | }; | 
|  | storage_partition: partition@f4000 { | 
|  | label = "storage"; | 
|  | reg = <0xf4000 0x0000b000>; | 
|  | /* region <0xff000 0x1000> is reserved for Telink B91 SDK's data */ | 
|  | }; | 
|  | }; | 
|  | }; | 
|  |  | 
|  | &gpiob { | 
|  | status = "okay"; | 
|  | }; | 
|  |  | 
|  | &gpioc { | 
|  | interrupts = <25 1>; | 
|  | status = "okay"; | 
|  | }; | 
|  |  | 
|  | &uart0 { | 
|  | status = "okay"; | 
|  | current-speed = <115200>; | 
|  | pinctrl-0 = <&uart0_tx_pb2_default &uart0_rx_pb3_default>; | 
|  | pinctrl-names = "default"; | 
|  | }; | 
|  |  | 
|  | &trng0 { | 
|  | status = "okay"; | 
|  | }; | 
|  |  | 
|  | &ieee802154 { | 
|  | status = "okay"; | 
|  | }; | 
|  |  | 
|  | &pwm0 { | 
|  | status = "okay"; | 
|  | clock-frequency = <93750>; | 
|  | pinctrl-0 = <&pwm_ch0_pb4_default>; | 
|  | pinctrl-names = "default"; | 
|  | }; | 
|  |  | 
|  | &pspi { | 
|  | status = "okay"; | 
|  | cs0-pin = "PSPI_CSN_PC4"; | 
|  | pinctrl-0 = <&pspi_clk_pc5_default &pspi_miso_pc6_default &pspi_mosi_pc7_default>; | 
|  | pinctrl-names = "default"; | 
|  | }; | 
|  |  | 
|  | &hspi { | 
|  | status = "okay"; | 
|  | cs0-pin = "HSPI_CSN_PA1"; | 
|  | pinctrl-0 = <&hspi_clk_pa2_default &hspi_miso_pa3_default &hspi_mosi_pa4_default>; | 
|  | pinctrl-names = "default"; | 
|  | }; | 
|  |  | 
|  | &i2c { | 
|  | status = "okay"; | 
|  | clock-frequency = <I2C_BITRATE_FAST>; | 
|  | pinctrl-0 = <&i2c_scl_pe1_default &i2c_sda_pe3_default>; | 
|  | pinctrl-names = "default"; | 
|  | }; | 
|  |  | 
|  | &adc { | 
|  | status = "okay"; | 
|  | vref-internal-mv = <1200>; | 
|  | sample-freq = <DT_FREQ_K(96)>; | 
|  | }; |