mirror of
https://github.com/liquidraver/ZephCore.git
synced 2026-10-22 15:41:28 +00:00
linux native Pi fixes
This commit is contained in:
1 parent
d37b401033
commit
a77e877ad8
9 files changed
+71
-37
No files matched your search
@@ -5,7 +5,6 @@
|
||||
# -DEXTRA_CONF_FILE="boards/linux_native/femtofox.conf"
|
||||
# linux_common.conf/.overlay (platform base) is applied automatically.
|
||||
#
|
||||
# Source: github.com/femtofox/femtofox foxbuntu meshtasticd config
|
||||
# (femtofox_SX1262_TCXO.yaml).
|
||||
# Source: github.com/femtofox/femtofox foxbuntu (femtofox_SX1262_TCXO.yaml).
|
||||
|
||||
CONFIG_ZEPHCORE_BOARD_NAME="Femtofox"
|
||||
@@ -5,7 +5,7 @@
|
||||
* Auto-paired with femtofox.conf. Defines the native_linux SPI/GPIO controllers
|
||||
* and the SX1262 radio node on top of the platform infra in linux_common.overlay.
|
||||
*
|
||||
* Pins match the meshtasticd Femtofox profile (femtofox_SX1262_TCXO.yaml):
|
||||
* Pins match the Femtofox SX1262 TCXO profile (femtofox_SX1262_TCXO.yaml):
|
||||
* gpiochip1, CS=16/GPIO48, BUSY=22/GPIO54, DIO1=23/GPIO55, RESET=25/GPIO57,
|
||||
* RXEN=24/GPIO56. DIO2 drives the RF switch, DIO3 powers a 1.8V TCXO.
|
||||
*/
|
||||
|
||||
@@ -5,15 +5,12 @@
|
||||
# Raspberry Pi 5 moved the header to gpiochip4 — use rak6421_pi5.conf for it
|
||||
# (or pass --lora-gpio-chip=/dev/gpiochip4 at runtime).
|
||||
#
|
||||
# IO Slot 1 wiring (BCM GPIO numbers on gpiochip0), per meshtasticd
|
||||
# lora-RAK6421-13300-slot1.yaml:
|
||||
# IO Slot 1 wiring (BCM GPIO numbers on gpiochip0):
|
||||
# SPI: /dev/spidev0.0 (CE0 = GPIO 8, hardware CS)
|
||||
# DIO1/IRQ: GPIO 22 (IO6)
|
||||
# RESET: GPIO 16 (IO4)
|
||||
# BUSY: GPIO 24 (IO5)
|
||||
# DIO2 = RF switch, DIO3 = 1.8V TCXO, Enable_Pins 12+13 held high (GPIO hogs).
|
||||
#
|
||||
# Source: github.com/meshtastic/firmware bin/config.d/lora-RAK6421-13300-slot1.yaml
|
||||
|
||||
CONFIG_ZEPHCORE_BOARD_NAME="RAK6421"
|
||||
|
||||
|
||||
@@ -8,8 +8,7 @@
|
||||
* Works on any Pi that exposes the 40-pin header on gpiochip0 (Pi 2/3/4/Zero 2).
|
||||
* Pi 5 moved it to gpiochip4 — use rak6421_pi5.overlay instead.
|
||||
*
|
||||
* Pins + clock mirror the authoritative meshtasticd config
|
||||
* (bin/config.d/lora-RAK6421-13300-slot1.yaml), BCM numbering:
|
||||
* Pins + clock per the RAK6421 IO Slot 1 reference wiring, BCM numbering:
|
||||
* CS = GPIO 8 (spidev0.0 CE0, hardware CS)
|
||||
* DIO1 = GPIO 22 (IO6)
|
||||
* RESET = GPIO 16 (IO4)
|
||||
@@ -19,10 +18,11 @@
|
||||
* Enable_Pins 12 + 13 are held HIGH to enable the module's RF front-end
|
||||
* (driven via GPIO hogs below — needs CONFIG_GPIO_HOGS=y, set in rak6421.conf).
|
||||
*
|
||||
* NOTE: hardware-untested in ZephCore (only the Femtofox is verified). The
|
||||
* RAK13302 (1W SKY66122) additionally wants a PA gain table that ZephCore's
|
||||
* SX126x driver does not expose; this overlay drives the 13300 correctly and
|
||||
* the 13302 at default (non-boosted) PA.
|
||||
* NOTE: hardware-verified end-to-end on a Pi Zero 2 W + RAK13300 (2026-06-03):
|
||||
* RX/TX, TCXO, and DIO2 RF switch all confirmed. The RAK13302 (1W SKY66122)
|
||||
* additionally wants a PA gain table that ZephCore's SX126x driver does not
|
||||
* expose; this overlay drives the 13300 correctly and the 13302 at default
|
||||
* (non-boosted) PA.
|
||||
*/
|
||||
|
||||
#include <zephyr/dt-bindings/gpio/gpio.h>
|
||||
@@ -41,7 +41,7 @@
|
||||
ngpios = <64>;
|
||||
#gpio-cells = <2>;
|
||||
|
||||
/* RAK6421 Enable_Pins (meshtasticd): held high at boot to enable
|
||||
/* RAK6421 Enable_Pins: held high at boot to enable
|
||||
* the module / RF front-end. */
|
||||
rak6421_enable {
|
||||
gpio-hog;
|
||||
@@ -58,8 +58,11 @@
|
||||
spi-mode = <0>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
/* SPI CE0 = BCM GPIO 8, driven as a regular GPIO. */
|
||||
cs-gpios = <&zephcore_gpio0 8 GPIO_ACTIVE_LOW>;
|
||||
/* CS is spidev0.0's HARDWARE CE0 (BCM GPIO 8). With dtparam=spi=on
|
||||
* the kernel SPI controller owns that pin (ALT0), so it canNOT be
|
||||
* grabbed as a GPIO — spidev asserts CE0 on every transfer instead.
|
||||
* Do NOT declare cs-gpios here (that's the Femtofox path, where CS is
|
||||
* a free GPIO). */
|
||||
|
||||
lora_sx1262: lora@0 {
|
||||
compatible = "semtech,sx1262";
|
||||
|
||||
@@ -5,10 +5,12 @@
|
||||
* Auto-paired with rak6421_pi5.conf. Identical to rak6421.overlay except the
|
||||
* Pi 5 moved the 40-pin header GPIOs to /dev/gpiochip4.
|
||||
*
|
||||
* Pins + clock mirror meshtasticd (lora-RAK6421-13300-slot1.yaml), BCM numbering:
|
||||
* Pins + clock per the RAK6421 IO Slot 1 reference wiring, BCM numbering:
|
||||
* CS = GPIO 8 (spidev0.0 CE0), DIO1 = GPIO 22, RESET = GPIO 16, BUSY = GPIO 24,
|
||||
* DIO2 = RF switch, DIO3 = 1.8V TCXO, Enable_Pins 12+13 held high (GPIO hogs;
|
||||
* needs CONFIG_GPIO_HOGS=y in rak6421_pi5.conf). Hardware-untested in ZephCore.
|
||||
* needs CONFIG_GPIO_HOGS=y in rak6421_pi5.conf). Same wiring as rak6421.overlay,
|
||||
* which is hardware-verified on a Pi Zero 2 W (2026-06-03); the Pi 5 gpiochip4
|
||||
* variant is build-verified but not separately hardware-tested.
|
||||
*/
|
||||
|
||||
#include <zephyr/dt-bindings/gpio/gpio.h>
|
||||
@@ -43,7 +45,11 @@
|
||||
spi-mode = <0>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
cs-gpios = <&zephcore_gpio0 8 GPIO_ACTIVE_LOW>;
|
||||
/* CS is spidev0.0's HARDWARE CE0 (BCM GPIO 8). With dtparam=spi=on
|
||||
* the kernel SPI controller owns that pin (ALT0), so it canNOT be
|
||||
* grabbed as a GPIO — spidev asserts CE0 on every transfer instead.
|
||||
* Do NOT declare cs-gpios here (that's the Femtofox path, where CS is
|
||||
* a free GPIO). */
|
||||
|
||||
lora_sx1262: lora@0 {
|
||||
compatible = "semtech,sx1262";
|
||||
|
||||
Reference in new issue
Block a user