/* * Copyright (c) 2018 Endre Karlson * Copyright (c) 2018 Peter Bigot Consulting, LLC * * SPDX-License-Identifier: Apache-2.0 */ /* Assignments common to all Feather-based Particle mesh boards. * * NOTE: This file is replicated in particle_{argon,boron,xenon}. * Changes should be made in all instances. */ #include "mesh_feather-pinctrl.dtsi" / { aliases { led0 = &user_led; led1 = &status_red; led2 = &status_green; led3 = &status_blue; sw0 = &mode_button; sw1 = &reset_button; }; chosen { zephyr,console = &uart0; zephyr,uart-mcumgr = &uart0; zephyr,shell-uart = &uart0; zephyr,sram = &sram0; zephyr,flash = &flash0; zephyr,code-partition = &slot0_partition; zephyr,ieee802154 = &ieee802154; }; leds { compatible = "gpio-leds"; user_led: led_0 { gpios = <&gpio1 12 GPIO_ACTIVE_HIGH>; label = "User LED"; }; status_red: led_1 { gpios = <&gpio0 13 GPIO_ACTIVE_LOW>; label = "Red LED"; }; status_green: led_2 { gpios = <&gpio0 14 GPIO_ACTIVE_LOW>; label = "Green LED"; }; status_blue: led_3 { gpios = <&gpio0 15 GPIO_ACTIVE_LOW>; label = "Blue LED"; }; }; gpio_keys { compatible = "gpio-keys"; mode_button: button_0 { gpios = <&gpio0 11 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>; label = "Mode Button"; }; reset_button: button_1 { gpios = <&gpio0 18 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>; label = "Reset Button"; }; }; mesh_header: connector { compatible = "particle-gen3-header"; #gpio-cells = <2>; gpio-map-mask = <0xffffffff 0xffffffc0>; gpio-map-pass-thru = <0 0x3f>; gpio-map = <0 0 &gpio0 26 0>, /* SDA */ <1 0 &gpio0 27 0>, /* SCL */ <2 0 &gpio1 1 0>, /* PWM3 */ <3 0 &gpio1 2 0>, /* PWM3 */ <4 0 &gpio1 8 0>, /* PWM1 */ <5 0 &gpio1 10 0>, /* PWM1 */ <6 0 &gpio1 11 0>, /* PWM1 */ <7 0 &gpio1 12 0>, /* PWM0 */ <8 0 &gpio1 3 0>, /* PWM1 */ <9 0 &gpio0 6 0>, /* TX */ <10 0 &gpio0 8 0>, /* RX */ <11 0 &gpio1 14 0>, /* MISO */ <12 0 &gpio1 13 0>, /* MOSI */ <13 0 &gpio1 15 0>, /* SCK */ <14 0 &gpio0 31 0>, /* SS */ <15 0 &gpio0 30 0>, /* ADC4 = AIN6 */ <16 0 &gpio0 29 0>, /* ADC3 = AIN5 */ <17 0 &gpio0 28 0>, /* ADC2 = AIN4 */ <18 0 &gpio0 4 0>, /* ADC1 = AIN2 */ <19 0 &gpio0 3 0>, /* ADC0 = AIN1 */ <20 0 &gpio0 11 0>, /* MODEn */ <21 0 &gpio0 18 0>; /* RESETn */ }; feather_header: feather_connector { compatible = "adafruit-feather-header"; #gpio-cells = <2>; gpio-map-mask = <0xffffffff 0xffffffc0>; gpio-map-pass-thru = <0 0x3f>; gpio-map = <12 0 &gpio0 26 0>, /* SDA */ <13 0 &gpio0 27 0>, /* SCL */ <14 0 &gpio1 1 0>, /* PWM3 */ <15 0 &gpio1 2 0>, /* PWM3 */ <16 0 &gpio1 8 0>, /* PWM1 */ <17 0 &gpio1 10 0>, /* PWM1 */ <18 0 &gpio1 11 0>, /* PWM1 */ <19 0 &gpio1 12 0>, /* PWM0 */ <20 0 &gpio1 3 0>, /* PWM1 */ /* 11 not connected */ <10 0 &gpio0 6 0>, /* TX */ <9 0 &gpio0 8 0>, /* RX */ <8 0 &gpio1 14 0>, /* MISO */ <7 0 &gpio1 13 0>, /* MOSI */ <6 0 &gpio1 15 0>, /* SCK */ <5 0 &gpio0 31 0>, /* SS */ <4 0 &gpio0 30 0>, /* ADC4 = AIN6 */ <3 0 &gpio0 29 0>, /* ADC3 = AIN5 */ <2 0 &gpio0 28 0>, /* ADC2 = AIN4 */ <1 0 &gpio0 4 0>, /* ADC1 = AIN2 */ <0 0 &gpio0 3 0>; /* ADC0 = AIN1 */ }; }; feather_adc: &adc { /* feather ADC */ status = "okay"; }; &ieee802154 { status = "okay"; }; &flash0 { 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 0x00067000>; }; slot1_partition: partition@73000 { label = "image-1"; reg = <0x00073000 0x00067000>; }; scratch_partition: partition@da000 { label = "image-scratch"; reg = <0x000da000 0x0001e000>; }; /* * The flash starting at 0x000f8000 and ending at * 0x000fffff is reserved for use by the application. */ /* * Storage partition will be used by FCB/LittleFS/NVS * if enabled. */ storage_partition: partition@f8000 { label = "storage"; reg = <0x000f8000 0x00008000>; }; }; }; &gpio0 { status = "okay"; }; &gpio1 { status = "okay"; }; &gpiote { status = "okay"; }; arduino_i2c: &i2c0 { /* feather I2C */ compatible = "nordic,nrf-twi"; status = "okay"; clock-frequency = ; pinctrl-0 = <&i2c0_default>; pinctrl-1 = <&i2c0_sleep>; pinctrl-names = "default", "sleep"; }; feather_i2c: &i2c0 { }; /* TWI1 used on Boron; also see mesh_feather_spi_spi1.dtsi */ &spi2 { /* dedicated MX25L */ compatible = "nordic,nrf-spi"; status = "okay"; cs-gpios = <&gpio0 17 GPIO_ACTIVE_LOW>; pinctrl-0 = <&spi2_default>; pinctrl-1 = <&spi2_sleep>; pinctrl-names = "default", "sleep"; mx25l32: mx25l3233f@0 { compatible = "jedec,spi-nor"; reg = <0>; spi-max-frequency = <80000000>; wp-gpios = <&gpio0 22 GPIO_ACTIVE_LOW>; hold-gpios = <&gpio0 23 GPIO_ACTIVE_LOW>; size = <0x2000000>; has-dpd; t-enter-dpd = <10000>; t-exit-dpd = <100000>; jedec-id = [c2 20 16]; sfdp-bfp = [ e5 20 f1 ff ff ff ff 01 44 eb 08 6b 08 3b 04 bb ee ff ff ff ff ff 00 ff ff ff 00 ff 0c 20 0f 52 10 d8 00 ff ]; }; }; /* see mesh_feather_spi1_spi3.dtsi */ feather_serial: &uart0 { /* feather UART1 */ compatible = "nordic,nrf-uarte"; current-speed = <115200>; status = "okay"; /* optional mesh_feather_uart1_rtscts.dtsi */ pinctrl-0 = <&uart0_default>; pinctrl-1 = <&uart0_sleep>; pinctrl-names = "default", "sleep"; }; zephyr_udc0: &usbd { compatible = "nordic,nrf-usbd"; status = "okay"; };