This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Zephyr device tree label not working correctly

Hello everyone,

I'm currently working on porting a device driver to Zephyr on the nRF9160.  I have defined a device tree and set up the device through the .overlay file. As soon as I try to call device_get_binding("WFM200") Zephyr crashes and stays in a boot loop. Everything is working correctly if I call device_get_binding("SPI_2"). I have built the device tree by looking at examples but I suspect that I'm missing something.

Help would be greatly appreciated.

Thanks in advance!

silabs,wfx.yaml:

description: SiLabs WFX module

compatible: "silabs,wfx"

include: spi-device.yaml

properties:
    cs-gpios:
      type: phandle-array
      required: true
      
    resetn-gpios:
      type: phandle-array
      required: true

    irq-gpios:
      type: phandle-array
      required: true

    wakeup-gpios:
      type: phandle-array
      required: false

nrf9160dk_nrf9160ns.overlay:

&spi2 {
	compatible = "nordic,nrf-spim";
	status = "okay";
	sck-pin = <10>;
	mosi-pin = <11>;
	miso-pin = <12>;

	wfx@0 {
		status = "okay";
		compatible = "silabs,wfx";
		label = "WFM200";
		reg = <0x0>;

		spi-max-frequency = <8000000>;

		cs-gpios = <&gpio0 13 GPIO_ACTIVE_LOW>;
		resetn-gpios = <&gpio0 25 GPIO_ACTIVE_LOW>;
		irq-gpios = <&gpio0 17 GPIO_ACTIVE_HIGH>;
		wakeup-gpios = <&gpio0 0 GPIO_ACTIVE_HIGH>;
	};
};

Related