Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Zigbee kernel driver

I'm trying to understand how to implement a Zigbee module(TI CC2530) into Linux. This module will be connected through SPI to a development card (A80 Pro from Merrii).

At this point, I'm not sure exactly what I have to do. Do I have to write a kernel driver for the CC2530 ? Or just a simple SPI controller driver ?

Also if you have any website that I can look for more informations, it will be great.

like image 551
pakosan Avatar asked Mar 16 '23 14:03

pakosan


1 Answers

You have a number of options here:

  1. The ZigBee Linux HA Gateway reference design (HW/SW):

http://www.ti.com/tool/CC2531EM-IOT-HOME-GATEWAY-RD

http://www.ti.com/tool/z-stack - Z-STACK-LINUX-GATEWAY

Out of the Box this connects to CC2531 via CDC USB. However by modifying the NPI_Gateway.cfg and the zigbeeHAgw script files you can reconfigure it to use UART or SPI. The CC2530 will need to by preogrammed with the ZNP FW available in http://www.ti.com/tool/z-stack - Z-STACK-HOME SDK under Z-Stack Home 1.2.2.42930\Projects\zstack\ZNP\CC253x, prebuilt binaries are in Z-Stack Home 1.2.2.42930\Projects\zstack\ZAP\ZNP-HexFiles\CC2530.

This option is specifically for Linux, it uses 4 application space servers to manage the Data Plane, Control Plan and Field Upgrade, offering a high level Home Automation API through protobuf over local sockets. It uses the existing CDC, UART or SPI kernel drivers. It would not lend its self to a kernel space driver.

  1. The open source ZNP Host framework reference design. This is cross platform framework and could be ported to a kernel space driver, however it does not support SPI, UART only. The CC2530 FW would be the same as above and does support SPI, so you would need to port the ZNP framework to use SPI.

http://www.ti.com/tool/TIDC-ZNP-HOST-SW3

https://git.ti.com/znp-host-framework/znp-host-framework

Regards, TC.

like image 179
t.c. Avatar answered Mar 23 '23 23:03

t.c.