[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <CADLJR24hQya0MkJhdDAJ0KO4MG+Fj4tRU5dNrbNdD9DMG_gLHg@mail.gmail.com>
Date: Mon, 5 Jul 2021 18:09:28 -0400
From: Sunip Mukherjee <sunipkmukherjee@...il.com>
To: linux-kernel@...r.kernel.org, gregkh@...uxfoundation.org
Subject: Char Driver for Silicon Labs Si446x Transceivers
Hi,
I am very new to the kernel community; this is my first message in the
LKML so my apologies if I am doing things wrong.
I have been using an Si4463 transceiver for UHF communication with a
cubesat I developed. I could not find any code to control the
transceiver on Linux. The closest thing I could find was an AVR
implementation by Zak Kemble
(https://blog.zakkemble.net/si4463-radio-library-avr-arduino/).
I followed the API docs and rewrote the whole thing at first for
userland only (can be found here:
https://github.com/SPACE-HAUC/si446x_linux/releases/tag/v3.1), and
then I decided it would be a great learning opportunity for me to port
it to the kernel.
The kernel port has gone mostly smoothly. The transceiver communicates
with the host MCU over SPI, and requires a pin for RESET, and another
pin for IRQ.
I have implemented the driver to provide a char device (/dev/si446x#)
to the userland for open, read, write, poll and ioctl.
I had initially set up a pull request for the driver and the device
tree overlay to the Raspberry Pi kernel community. They have agreed to
accept the device tree overlay for the device, however the driver
needs to be included by the Linux Kernel community. I want to use this
opportunity to find some people who have access to a Si446x
transceiver and a Raspberry Pi, so that the code I have can be tested,
and if deemed worthy, included in the kernel tree.
My code is hosted here: https://github.com/sunipkmukherjee/silabs.git
Any suggestions/criticisms are welcome.
Thanks,
Sunip Mukherjee,
PhD Candidate,
University of Massachusetts, Lowell
Email: sunip_mukherjee@...dent.uml.edu | sunipkmukherjee@...il.com
Powered by blists - more mailing lists