Hi,
I am trying to configure a GPIO pin P0.21(as this is exposed pin on Thingy:91) from nRF9160 on Thingy:91.
I am using nRF Connect SDK 1.4.1 with Nordic version of SES.
I tried using from zephyr documented here.
#include <drivers/gpio.h> void main() { gpio = device_get_binding("GPIO_0"); gpio_pin_configure(gpio, 21, GPIO_OUTPUT_ACTIVE); gpio_pin_set(gpio, 21, 1); }
But I can't see the pin going high after power bootup.
Is there anything I am missing like editing .dts file, because thingy91_nrf9160_common.dts found at \nrf\boards\arm\thingy91_nrf9160 is like this
/* * Copyright (c) 2019 Nordic Semiconductor ASA * * SPDX-License-Identifier: LicenseRef-BSD-5-Clause-Nordic */ / { model = "Nordic Thingy91 nRF9160"; compatible = "nordic,thingy91-nrf9160"; chosen { zephyr,console = &uart0; zephyr,shell-uart = &uart0; zephyr,uart-mcumgr = &uart0; }; buttons { compatible = "gpio-keys"; button0: button_0 { gpios = <&gpio0 26 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>; label = "Button 1"; }; }; leds { compatible = "gpio-leds"; red_led: led_1 { gpios = <&gpio0 29 0>; label = "RGB red channel"; }; green_led: led_2 { gpios = <&gpio0 30 0>; label = "RGB green channel"; }; blue_led: led_3 { gpios = <&gpio0 31 0>; label = "RGB blue channel"; }; sense_red_led: led_4 { gpios = <&gpio0 0 0>; label = "RGB red channel"; }; sense_green_led: led_5 { gpios = <&gpio0 1 0>; label = "RGB green channel"; }; sense_blue_led: led_6 { gpios = <&gpio0 2 0>; label = "RGB blue channel"; }; }; aliases { sw0 = &button0; led0 = &red_led; led1 = &green_led; led2 = &blue_led; sense-led0 = &sense_red_led; sense-led1 = &sense_green_led; sense-led2 = &sense_blue_led; rgb-pwm = &pwm0; buzzer-pwm = &pwm1; nmos-pwm = &pwm2; }; }; &adc { status = "okay"; }; &gpiote { status = "okay"; }; &gpio0 { status = "okay"; }; /* PWM0 is intended for RGB LED control */ &pwm0 { status = "okay"; ch0-pin = <29>; ch1-pin = <30>; ch2-pin = <31>; }; /* PWM1 is intended for buzzer control */ &pwm1 { status = "okay"; ch0-pin = <28>; }; /* PWM2 is intended for NMOS transistor control */ &pwm2 { status = "okay"; ch0-pin = <13>; ch1-pin = <14>; ch2-pin = <15>; ch3-pin = <16>; }; &pwm3 { status = "okay"; }; &i2c2 { compatible = "nordic,nrf-twim"; status = "okay"; sda-pin = <11>; scl-pin = <12>; clock-frequency = <I2C_BITRATE_FAST>; bme680@76 { compatible = "bosch,bme680"; label = "BME680"; reg = <0x76>; }; bh1749@38 { compatible = "rohm,bh1749"; label = "BH1749"; reg = <0x38>; int-gpios = <&gpio0 27 0>; }; }; &spi3 { compatible = "nordic,nrf-spim"; status = "okay"; sck-pin = <3>; mosi-pin = <4>; miso-pin = <5>; cs-gpios = <&gpio0 8 GPIO_ACTIVE_LOW>, <&gpio0 7 GPIO_ACTIVE_LOW>; adxl362@0 { compatible = "adi,adxl362"; label = "ADXL362"; spi-max-frequency = <8000000>; reg = <0>; int1-gpios = <&gpio0 9 0>; }; adxl372@1 { compatible = "adi,adxl372"; label = "ADXL372"; spi-max-frequency = <8000000>; reg = <1>; int1-gpios = <&gpio0 6 0>; }; }; &timer0 { status = "okay"; }; &timer1 { status = "okay"; }; &timer2 { status = "okay"; }; &uart0 { compatible = "nordic,nrf-uarte"; current-speed = <115200>; status = "okay"; tx-pin = <23>; rx-pin = <24>; rts-pin = <22>; cts-pin = <25>; }; &uart1 { current-speed = <1000000>; status = "okay"; tx-pin = <21>; rx-pin = <19>; rts-pin = <20>; cts-pin = <18>; }; &flash0 { /* * For more information, see: * http://docs.zephyrproject.org/devices/dts/flash_partitions.html */ 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"; }; slot0_ns_partition: partition@40000 { label = "image-0-nonsecure"; }; slot1_partition: partition@80000 { label = "image-1"; }; slot1_ns_partition: partition@b0000 { label = "image-1-nonsecure"; }; scratch_partition: partition@f0000 { label = "image-scratch"; reg = <0x000f0000 0xa000>; }; storage_partition: partition@fa000 { label = "storage"; reg = <0x000fa000 0x00006000>; }; }; }; / { reserved-memory { #address-cells = <1>; #size-cells = <1>; ranges; sram0_s: image_s@20000000 { /* Secure image memory */ }; sram0_bsd: image_bsd@20010000 { /* BSD (shared) memory */ }; sram0_ns: image_ns@20020000 { /* Non-Secure image memory */ }; }; }; /* Include partition configuration file */ #include "thingy91_nrf9160_partition_conf.dts"
I will appreciate any insight on this.
Thanks!