This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Sample mcp23s17 driver

Hello, I'quiet new in Zephyr.

So tell me if I'm wrong.

I would like to test driver mcp23s17 present on zephyr.

I've add in .overlay file

&spi3 {
	label="SPI3";
	status = "okay";
	sck-pin = <25>;
	mosi-pin = <23>;
	miso-pin = <24>;
	cs-gpios = <&gpio0 22 0>;

	myspidevice: mcp23s17@10 {
		compatible="nrf9160,microship,mcp,mcp23s17";
		label = "MCP23S17";
		spi-max-frequency = <8000000>;
		reg = <10>;
	};
};

And now I want to initialize my driver in main file

void main(void)
{
        #if !DT_NODE_EXISTS(DT_NODELABEL(myspidevice))
      printk("whoops\n");
      #else
      printk(DT_LABEL(DT_NODELABEL(myspidevice))"\n");
      #endif
	struct device *dev = device_get_binding(DT_LABEL(DT_NODELABEL(myspidevice)));
	if (!dev) {
		printk("Cannot find mcp23s17!\n");
		return;
	}
}  

I've also add in prj.conf

# GPIO
CONFIG_GPIO=y
CONFIG_GPIO_MCP23S17=y

# SPI
CONFIG_SPI=y
CONFIG_SPI_3=y

the DT_LABEL is found but each time, I get "Cannot find mcp23s17" result.

Where can we fond sample to use DTS? And not only documentation.

thank you in advance

Parents Reply Children
No Data
Related