Adding a custom device definition to the device tree using 2.9.1 sdk

I am using SDK 2.9.1. I wanted to follow this tutorial:

https://academy.nordicsemi.com/courses/nrf-connect-sdk-intermediate/lessons/lesson-7-device-driver-model/topic/exercise-1-13/

But it says it isn't done for 2.7 or later, so can you please point me to a good tutorial on how to make a custom DTS driver that is based on another device?

Basically I want to implement this device using SPI on the nRF54L15:

https://www.ti.com/product/CC110L

I would love to do it using the device tree editor.

One of the steps in adding a custom node is to add the device and a list of existing categories and devices comes up. Seems like a waste to have all these cool GUI tools and not be able to use them just because my device isn't listed.

How would I go about making the files needed to add the CC110L to the list of devices that comes up when I try to add one in the device tree editor?

Parents
  • Hi Tony,

    Thanks for reaching out. Support for newer versions of NCS is still in progress. We’ll notify you once they become available. In the meantime, you can go through the existing tutorial to understand how it works. Additionally, many SPI-based sensors are already supported, so you can refer to their source code for guidance.

    Since the chip you mentioned is from TI, they might already be working on adding support for it in Zephyr. I recommend reaching out to TI to check on its status.

    Best regards,
    Charlie

Reply
  • Hi Tony,

    Thanks for reaching out. Support for newer versions of NCS is still in progress. We’ll notify you once they become available. In the meantime, you can go through the existing tutorial to understand how it works. Additionally, many SPI-based sensors are already supported, so you can refer to their source code for guidance.

    Since the chip you mentioned is from TI, they might already be working on adding support for it in Zephyr. I recommend reaching out to TI to check on its status.

    Best regards,
    Charlie

Children
  • I tried manually adding the SPI by trying several different tutorials and get errors no matter which way I try.

    I will reach out to TI and see if they can help...

  • I have not been able to find anything at TI, but github did have this driver:

    https://github.com/studiofuga/cc1101/tree/main

    It isn't for the nRF, but I could probably figure that part out.

    I am new to Zephyr and the DTS and all that.

    The readme says that driver is an out of tree driver.

    Can you tell me how I would integrate it into the Nordic stuff so that I can choose it from the device driver drop down in the Device Tree view thing?

    If that isn't possible, could you tell me how to integrate it into my VSCode project that came from a Nordic exapmle?

  • Hi Tony,

    Great to hear that you found the driver from TI!

    It looks like the out-of-tree sample already supports nRF52840-based Nordic boards in the cc1101/app/boards repository. You can refer to the existing overlay and configuration files to create one for your nRF54L15 custom board.

    Regarding the Device Tree view in VS Code, its visibility depends on whether the device driver has been integrated into the Zephyr project. Typically, this is handled by the device manufacturer and you can send a request here.

    If you’d like to add CC1101 support yourself, the official Zephyr documentation provides guidance on the Device Driver Model. This topic is also covered in the Nordic Developer Academy. The driver model remains unchanged in the latest NCS 2.9.1. Additionally, you can explore the Zephyr driver repository to see existing TI device drivers using SPI, such as CC1200 and CC2520.

    Please follow the documentation, and if you run into any specific issues, feel free to provide more details.

    Best regards,
    Charlie

  • Actually I don't think that driver comes from TI. It is one I just found while searching Github.

    I saw Adafruit on the front and didn't catch the nrf part of it. That is good at least.

    I will try to follow what you have given and see if I can get it to work.

    Thanks.

  • Hi Tony,

    Sorry for the misunderstanding. Wishing you the best with your development!

    Best regards,

    Charlie