Hi all,
I have built a Yocto Linux image for Raspberry Pi CM4 and integrated two
QCA7000 PLC modules over SPI.
The PLC drivers load correctly, but I am facing an issue related to Ethernet
dependency.
Hardware / Software Details
Board: Raspberry Pi CM4
OS: Yocto Linux (custom image)
PLC: Qualcomm QCA7000 (2 modules over SPI)
Network Interfaces
eth0 → Onboard Ethernet
eth1, eth2 → PLC modules (QCA7000 over SPI)
wlan0 → Wi-Fi
Has anyone encountered a similar issue?
I want the PLC interfaces (eth1, eth2) to operate independently of Ethernet
ON/OFF state and not be treated as wired internet interfaces.
I have configured the local.conf file
KERNEL_DEVICETREE:append = " \
overlays/qca7000-two-modules.dtbo \
"
qca7000-two-modules.dts file:
// Overlay for two Qualcomm Atheros QCA7000 modules on SPI0
/dts-v1/;
/plugin/;
/ {
compatible = "brcm,bcm2835";
/* Disable spidev0 so the modules can use SPI0 directly */
fragment@0 {
target = <&spidev0>;
__overlay__ {
status = "disabled";
};
};
/* Disable spidev1 as well */
fragment@1 {
target = <&spidev1>;
__overlay__ {
status = "disabled";
};
};
/* SPI0 configuration for two QCA7000 modules */
fragment@2 {
target = <&spi0>;
__overlay__ {
#address-cells = <1>;
#size-cells = <0>;
status = "okay";
eth1: qca7000@0 { // Module 1 on CE0
compatible = "qca,qca7000";
reg = <0>; // CE0
pinctrl-names = "default";
pinctrl-0 = <ð1_pins>;
interrupt-parent = <&gpio>;
interrupts = <23 0x1>; // rising edge
spi-max-frequency = <12000000>;
status = "okay";
};
eth2: qca7000@1 { // Module 2 on CE1
compatible = "qca,qca7000";
reg = <1>; // CE1
pinctrl-names = "default";
pinctrl-0 = <ð2_pins>;
interrupt-parent = <&gpio>;
interrupts = <22 0x1>; // rising edge
spi-max-frequency = <12000000>;
status = "okay";
};
};
};
/* GPIO pins for module 1 interrupt */
fragment@3 {
target = <&gpio>;
__overlay__ {
eth1_pins: eth1_pins {
brcm,pins = <23>;
brcm,function = <0>; /* input */
brcm,pull = <0>; /* none */
};
};
};
/* GPIO pins for module 2 interrupt */
fragment@4 {
target = <&gpio>;
__overlay__ {
eth2_pins: eth2_pins {
brcm,pins = <22>;
brcm,function = <0>; /* input */
brcm,pull = <0>; /* none */
};
};
};
__overrides__ {
int_pin1 = <ð1>, "interrupts:0", <ð1_pins>, "brcm,pins:0";
int_pin2 = <ð2>, "interrupts:0", <ð2_pins>, "brcm,pins:0";
speed1 = <ð1>, "spi-max-frequency:0";
speed2 = <ð2>, "spi-max-frequency:0";
};
};
Please let me know if any additional information is needed to help resolve this
issue.
Thank you.
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#16068):
https://lists.yoctoproject.org/g/linux-yocto/message/16068
Mute This Topic: https://lists.yoctoproject.org/mt/116841560/21656
Group Owner: [email protected]
Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-