|  | /* | 
|  | * Copyright (c) 2019 Jan Van Winkel (jan.van_winkel@dxplore.eu) | 
|  | * | 
|  | * SPDX-License-Identifier: Apache-2.0 | 
|  | */ | 
|  |  | 
|  | /dts-v1/; | 
|  | #include <posix/posix.dtsi> | 
|  | #include <zephyr/dt-bindings/adc/adc.h> | 
|  | #include <zephyr/dt-bindings/i2c/i2c.h> | 
|  | #include <zephyr/dt-bindings/gpio/gpio.h> | 
|  |  | 
|  | / { | 
|  | model = "Native Sim Board"; | 
|  | compatible = "zephyr,posix"; | 
|  |  | 
|  | chosen { | 
|  | zephyr,console = &uart0; | 
|  | zephyr,shell-uart = &uart0; | 
|  | zephyr,uart-mcumgr = &uart0; | 
|  | zephyr,flash = &flash0; | 
|  | zephyr,entropy = &rng; | 
|  | zephyr,flash-controller = &flashcontroller0; | 
|  | zephyr,display = &sdl_dc; | 
|  | zephyr,canbus = &can_loopback0; | 
|  | zephyr,code-partition = &slot0_partition; | 
|  | zephyr,bt-hci = &bt_hci_userchan; | 
|  | zephyr,touch = &input_sdl_touch; | 
|  | }; | 
|  |  | 
|  | aliases { | 
|  | eeprom-0 = &eeprom0; | 
|  | i2c-0 = &i2c0; | 
|  | spi-0 = &spi0; | 
|  | led0 = &led0; | 
|  | rtc = &rtc; | 
|  | }; | 
|  |  | 
|  | leds { | 
|  | compatible = "gpio-leds"; | 
|  |  | 
|  | led0: led_0 { | 
|  | gpios = <&gpio0 0 GPIO_ACTIVE_HIGH>; | 
|  | label = "Green LED"; | 
|  | }; | 
|  | }; | 
|  |  | 
|  | lvgl_pointer { | 
|  | compatible = "zephyr,lvgl-pointer-input"; | 
|  | input = <&input_sdl_touch>; | 
|  | }; | 
|  |  | 
|  | cpus { | 
|  | #address-cells = <1>; | 
|  | #size-cells = <0>; | 
|  |  | 
|  | cpu0: cpu@0 { | 
|  | compatible = "zephyr,native-sim-cpu"; | 
|  | reg = <0>; | 
|  | }; | 
|  | }; | 
|  |  | 
|  | flashcontroller0: flash-controller@0 { | 
|  | compatible = "zephyr,sim-flash"; | 
|  | reg = <0x00000000 DT_SIZE_K(2048)>; | 
|  |  | 
|  | #address-cells = <1>; | 
|  | #size-cells = <1>; | 
|  | erase-value = <0xff>; | 
|  |  | 
|  | flash0: flash@0 { | 
|  | status = "okay"; | 
|  | compatible = "soc-nv-flash"; | 
|  | erase-block-size = <4096>; | 
|  | write-block-size = <1>; | 
|  | reg = <0x00000000 DT_SIZE_K(2048)>; | 
|  |  | 
|  | partitions { | 
|  | compatible = "fixed-partitions"; | 
|  | #address-cells = <1>; | 
|  | #size-cells = <1>; | 
|  |  | 
|  | boot_partition: partition@0 { | 
|  | label = "mcuboot"; | 
|  | reg = <0x00000000 0x0000C000>; | 
|  | }; | 
|  |  | 
|  | slot0_partition: partition@c000 { | 
|  | label = "image-0"; | 
|  | reg = <0x0000C000 0x00069000>; | 
|  | }; | 
|  |  | 
|  | slot1_partition: partition@75000 { | 
|  | label = "image-1"; | 
|  | reg = <0x00075000 0x00069000>; | 
|  | }; | 
|  |  | 
|  | scratch_partition: partition@de000 { | 
|  | label = "image-scratch"; | 
|  | reg = <0x000de000 0x0001e000>; | 
|  | }; | 
|  |  | 
|  | storage_partition: partition@fc000 { | 
|  | label = "storage"; | 
|  | reg = <0x000fc000 0x00004000>; | 
|  | }; | 
|  | }; | 
|  | }; | 
|  | }; | 
|  |  | 
|  | eeprom0: eeprom { | 
|  | status = "okay"; | 
|  | compatible = "zephyr,sim-eeprom"; | 
|  | size = <DT_SIZE_K(32)>; | 
|  | }; | 
|  |  | 
|  | i2c0: i2c@100 { | 
|  | status = "okay"; | 
|  | compatible = "zephyr,i2c-emul-controller"; | 
|  | clock-frequency = <I2C_BITRATE_STANDARD>; | 
|  | #address-cells = <1>; | 
|  | #size-cells = <0>; | 
|  | #forward-cells = <1>; | 
|  | reg = <0x100 4>; | 
|  | }; | 
|  |  | 
|  | spi0: spi@200 { | 
|  | status = "okay"; | 
|  | compatible = "zephyr,spi-emul-controller"; | 
|  | clock-frequency = <50000000>; | 
|  | #address-cells = <1>; | 
|  | #size-cells = <0>; | 
|  | reg = <0x200 4>; | 
|  | }; | 
|  |  | 
|  | espi0: espi@300 { | 
|  | status = "okay"; | 
|  | compatible = "zephyr,espi-emul-controller"; | 
|  | reg = <0x300 4>; | 
|  | #address-cells = <1>; | 
|  | #size-cells = <0>; | 
|  | }; | 
|  |  | 
|  | mspi0: mspi@400 { | 
|  | status = "okay"; | 
|  | compatible = "zephyr,mspi-emul-controller"; | 
|  | clock-frequency = <250000000>; | 
|  | reg = <0x400 4>; | 
|  | #address-cells = <1>; | 
|  | #size-cells = <0>; | 
|  | }; | 
|  |  | 
|  | uart0: uart { | 
|  | status = "okay"; | 
|  | compatible = "zephyr,native-pty-uart"; | 
|  | /* Dummy current-speed entry to comply with serial | 
|  | * DTS binding | 
|  | */ | 
|  | current-speed = <0>; | 
|  | }; | 
|  |  | 
|  | uart1: uart_1 { | 
|  | status = "disabled"; | 
|  | compatible = "zephyr,native-pty-uart"; | 
|  | /* Dummy current-speed entry to comply with serial | 
|  | * DTS binding | 
|  | */ | 
|  | current-speed = <0>; | 
|  | }; | 
|  |  | 
|  | rng: rng { | 
|  | status = "okay"; | 
|  | compatible = "zephyr,native-sim-rng"; | 
|  | }; | 
|  |  | 
|  | counter0: counter { | 
|  | status = "okay"; | 
|  | compatible = "zephyr,native-sim-counter"; | 
|  | }; | 
|  |  | 
|  | gpio0: gpio_emul { | 
|  | status = "okay"; | 
|  | compatible = "zephyr,gpio-emul"; | 
|  | rising-edge; | 
|  | falling-edge; | 
|  | high-level; | 
|  | low-level; | 
|  | gpio-controller; | 
|  | #gpio-cells = <2>; | 
|  | }; | 
|  |  | 
|  | zephyr_udc0: udc0 { | 
|  | compatible = "zephyr,native-posix-udc"; | 
|  | }; | 
|  |  | 
|  | sdl_dc: sdl_dc { | 
|  | compatible = "zephyr,sdl-dc"; | 
|  | height = <240>; | 
|  | width = <320>; | 
|  | }; | 
|  |  | 
|  | input_sdl_touch: input-sdl-touch { | 
|  | compatible = "zephyr,input-sdl-touch"; | 
|  | display = <&sdl_dc>; | 
|  | }; | 
|  |  | 
|  | can_loopback0: can_loopback0 { | 
|  | status = "okay"; | 
|  | compatible = "zephyr,can-loopback"; | 
|  | }; | 
|  |  | 
|  | can0: can { | 
|  | status = "disabled"; | 
|  | compatible = "zephyr,native-linux-can"; | 
|  | /* adjust zcan0 to desired host interface or create an alternative | 
|  | * name, e.g.: sudo ip link property add dev vcan0 altname zcan0 | 
|  | */ | 
|  | host-interface = "zcan0"; | 
|  | }; | 
|  |  | 
|  | rtc: rtc { | 
|  | status = "okay"; | 
|  | compatible = "zephyr,rtc-emul"; | 
|  | alarms-count = <2>; | 
|  | }; | 
|  |  | 
|  | adc0: adc { | 
|  | compatible = "zephyr,adc-emul"; | 
|  | nchannels = <2>; | 
|  | #io-channel-cells = <1>; | 
|  | status = "okay"; | 
|  | }; | 
|  |  | 
|  | dma: dma { | 
|  | compatible = "zephyr,dma-emul"; | 
|  | #dma-cells = <1>; | 
|  | stack-size = <4096>; | 
|  | }; | 
|  |  | 
|  | bt_hci_userchan: bt_hci_userchan { | 
|  | compatible = "zephyr,bt-hci-userchan"; | 
|  | status = "okay"; | 
|  | }; | 
|  |  | 
|  | performance-states { | 
|  | pstate_0: pstate_0 { | 
|  | compatible = "zephyr,native-sim-pstate"; | 
|  | load-threshold = <50>; | 
|  | pstate-id = <0>; | 
|  | }; | 
|  |  | 
|  | pstate_1: pstate_1 { | 
|  | compatible = "zephyr,native-sim-pstate"; | 
|  | load-threshold = <20>; | 
|  | pstate-id = <1>; | 
|  | }; | 
|  |  | 
|  | pstate_2: pstate_2 { | 
|  | compatible = "zephyr,native-sim-pstate"; | 
|  | load-threshold = <0>; | 
|  | pstate-id = <2>; | 
|  | }; | 
|  | }; | 
|  | }; |