I’m trying to get SPI working on the BBAI-64. By default, two SPI devices exist under /dev/spidev0.0
and /dev/spidev0.1
. I enabled the SPI pins in /opt/source/dtb-5.10-ti-arm64/src/arm64/k3-j721e-beagleboneai64.dts
: (P9_17_spi_pin
, P9_18_spi_pin
, P9_21_spi_pin
, P9_22_spi_pin
, P9_23_spi_pin
). However, when I try writing to either of these devices using a SPI utility (C or Python), the SPI pins on P9 do nothing.
A couple of errors are reported in dmesg | grep spi
:
[ 3.825090] spi-nor spi1.0: unrecognized JEDEC id bytes: ff ff ff ff ff ff
[ 3.831973] spi-nor: probe of spi1.0 failed with error -2
[ 8.696154] gb_spilib: module is from the staging directory, the quality is unknown, you have been warned.
[ 9.055009] gb_spi: module is from the staging directory, the quality is unknown, you have been warned.
[ 9.068654] gb_gbphy: registered new driver spi
I tried adding the BONE-SPI0_0 and BONE-SPI0_1 overlays to extlinux.conf
, but this causes /dev/spidev0.0
and /dev/spidev0.1
to disappear after rebooting.
I also noticed that the main_spi6_pins are set to INPUT_DISABLE
in k3-j721e-beagleboneai64.dts
:
main_spi6_pins_default: main-spi6-pins-default {
pinctrl-single,pins = <
J721E_IOPAD(0x74, INPUT_DISABLE, 4) /* (AC21) PRG1_PRU1_GPO7.SPI6_CS0 */
J721E_IOPAD(0x28, INPUT_DISABLE, 4) /* (AG20) PRG1_PRU0_GPO9.SPI6_CS1 */
J721E_IOPAD(0x9c, INPUT_DISABLE, 4) /* (AC22) PRG1_PRU1_GPO17.SPI6_CLK */
J721E_IOPAD(0xa0, INPUT_DISABLE, 4) /* (AJ22) PRG1_PRU1_GPO18.SPI6_D0 */
J721E_IOPAD(0xa4, PIN_INPUT, 4) /* (AH22) PRG1_PRU1_GPO19.SPI6_D1 */
>;
};
I tried changing these to PIN_INPUT
’s but it seemed to have no effect. What do I need to do to get SPI working?