Tool/software:
As we are working on MCU_SPI0 with external SPI device(Slave),
A driver is loaded with kernel built in. Then the driver generates an ethernet connection with MCU_SPI0 and MCU_SPI0 is then connected to the external device.
In this context, we need to have two interrupts inside MCU_SPI0 device tree, which occurs Wanrning as follows.
Here are the warning script.
kal@kal-VirtualBox:~/ti-processor-sdk-linux/board-support/linux-extras-6.6.32+git-ti$ make ARCH=arm64 CROSS_COMPILE=aarch64-none-linux-gnu- dtbs DTC arch/arm64/boot/dts/ti/k3-am625-beagleplay.dtb DTC arch/arm64/boot/dts/ti/k3-am625-phyboard-lyra-rdk.dtb DTC arch/arm64/boot/dts/ti/k3-am625-sk.dtb arch/arm64/boot/dts/ti/k3-am625-sk.dts:356.10-357.49: Warning (interrupts_extended_property): /bus@f0000/bus@4000000/spi@4b00000/spidevx@1:interrupts-extended: cell 2 is not a phandle reference arch/arm64/boot/dts/ti/k3-am625-sk.dts:356.10-357.49: Warning (interrupts_extended_property): /bus@f0000/bus@4000000/spi@4b00000/spidevx@1:interrupts-extended: cell 6 is not a phandle reference arch/arm64/boot/dts/ti/k3-am625-sk.dts:349.19-361.11: Warning (interrupts_extended_property): /bus@f0000/bus@4000000/spi@4b00000/spidevx@1: Missing property '#interrupt-cells' in node /clock-divider-oldi or bad phandle (referred from interrupts-extended[6]) DTC arch/arm64/boot/dts/ti/k3-am625-verdin-nonwifi-dahlia.dtb DTC arch/arm64/boot/dts/ti/k3-am625-verdin-nonwifi-dev.dtb DTC arch/arm64/boot/dts/ti/k3-am625-verdin-nonwifi-mallow.dtb DTC arch/arm64/boot/dts/ti/k3-am625-verdin-nonwifi-yavia.dtb DTC arch/arm64/boot/dts/ti/k3-am625-verdin-wifi-dahlia.dtb DTC arch/arm64/boot/dts/ti/k3-am625-verdin-wifi-dev.dtb DTC arch/arm64/boot/dts/ti/k3-am625-verdin-wifi-mallow.dtb DTC arch/arm64/boot/dts/ti/k3-am625-verdin-wifi-yavia.dtb DTC arch/arm64/boot/dts/ti/k3-am62-lp-sk.dtb
DT codes are..
"k3-am62-mcu.dtsi"
mcu_gpio_intr: interrupt-controller@4210000 { compatible = "ti,sci-intr"; reg = <0x00 0x04210000 0x00 0x200>; ti,intr-trigger-type = <1>; interrupt-controller; interrupt-parent = <&gic500>; #interrupt-cells = <1>; interrupt-cells = <2>; /* Added for SPI mcu_gpio0 16 */ ti,sci = <&dmsc>; ti,sci-dev-id = <5>; ti,interrupt-ranges = <0 104 4>; };
"k3-am625-sk.dts"
&mcu_pmx0{ mcuspi0_pins_default: mcuspi0-pins-default { pinctrl-single,pins = < AM62X_MCU_IOPAD(0x0008, PIN_OUTPUT, 0) /* (A7) MCU_SPI0_CLK */ AM62X_MCU_IOPAD(0x0004, PIN_OUTPUT, 0) /* (B8) MCU_SPI0_CS1 */ AM62X_MCU_IOPAD(0x000c, PIN_INPUT, 0) /* (D9) MCU_SPI0_D0 */ AM62X_MCU_IOPAD(0x0010, PIN_OUTPUT, 0) /* (C9) MCU_SPI0_D1 */ >; }; mcuspi0_gpio_interrupt_pins: mcuspi0-gpio-interrupt-pins { pinctrl-single,pins = < AM62X_MCU_IOPAD(0x0040, PIN_INPUT, 7) /* GPIO0_16 configured as interrupt */ >; }; }; &mcu_spi0 { status = "okay"; #address-cells = <1>; #size-cells = <0>; pinctrl-0 = <&mcuspi0_pins_default>; pinctrl-1 = <&mcuspi0_gpio_interrupt_pins>; pinctrl-names = "default", "interrupt"; spidevx@1 { compatible = "vertexcom,mse1021"; /* Updated for mse102x driver */ /* compatible = "rohm,dh2228fv"; */ /* For Generic SPI driver */ spi-max-frequency = <7000000>; /* Set appropriate SPI frequency */ reg = <1>; /* SPI device at chip select 1 */ /* SPI and Ethernet Interrupts */ interrupts-extended = <&main_gpio_intr 30 IRQ_TYPE_EDGE_RISING>, /* GPIO0 16 for SPI interrupt input from MSE102x */ <&gic500 GIC_SPI 253 IRQ_TYPE_LEVEL_HIGH>; /* GIC SPI interrupt output for Ethernet */ /* interrupt-parent = <&gic500>; */ /* GIC is the primary interrupt controller */ status = "okay"; }; };
When using irg "GIC_SPI 253 IRQ_TYPE_LEVEL_HIGH" for ethernet, it was working properly with MCU_SPI0.
&mcu_pmx0{ mcuspi0_pins_default: mcuspi0-pins-default { pinctrl-single,pins = < AM62X_MCU_IOPAD(0x0008, PIN_OUTPUT, 0) /* (A7) MCU_SPI0_CLK */ AM62X_MCU_IOPAD(0x0004, PIN_OUTPUT, 0) /* (B8) MCU_SPI0_CS1 */ AM62X_MCU_IOPAD(0x000c, PIN_INPUT, 0) /* (D9) MCU_SPI0_D0 */ AM62X_MCU_IOPAD(0x0010, PIN_OUTPUT, 0) /* (C9) MCU_SPI0_D1 */ >; }; }; &mcu_spi0 { status = "okay"; #address-cells = <1>; #size-cells = <0>; pinctrl-0 = <&mcuspi0_pins_default>; pinctrl-names = "default"; spidevx@1 { compatible = "vertexcom,mse1021"; /* Updated for mse102x driver */ /* compatible = "rohm,dh2228fv"; */ /* For Generic SPI driver */ spi-max-frequency = <7000000>; /* Set appropriate SPI frequency */ reg = <1>; /* SPI device at chip select 1 */ interrupts = <GIC_SPI 253 IRQ_TYPE_LEVEL_HIGH>; status = "okay"; }; };
What has to be down in order to avoid the Warning? Or let me know if the Warning is ignorable?
Thank you in advance,
Kal Kim