Tool/software: Linux
Hi Everybody!
Our AM4378 has two (2) switches attached to it on spi2. Switch[1] is connected to chip select 1 (AE17). Switch[2] is connected to chip select 2 (AB19).
An except from my pin mux...
spi2_internal_pins_default: spi2_internal_pins_default {
pinctrl-single,pins = <
0x260 ( PIN_INPUT | MUX_MODE0 ) /* (N20) spi2_sclk.spi2_sclk */
0x264 ( PIN_OUTPUT | MUX_MODE0 ) /* (P22) spi2_d0.spi2_d0 */
0x268 ( PIN_INPUT | MUX_MODE0 ) /* (P20) spi2_d1.spi2_d1 */
0x1b0 ( PIN_OUTPUT | MUX_MODE4 ) /* (AE17) cam0_hd.spi2_cs1 */
0x1c4 ( PIN_OUTPUT | MUX_MODE4 ) /* (AB19) cam0_data8.spi2_cs2 */
>;
};
An excerpt from the dts outside the pin mux, setting up spi2...
&spi2 {
pinctrl-names = "default";
pinctrl-0 = <&spi2_internal_pins_default>;
status = "okay";
cs-gpios = <0>, <0>, <0>, <0>;
//num-cs = 4;
spidev@1 {
compatible = "linux, spidev";
spi-max-frequency = <25000000>;
reg = <0x1>;
status = "okay";
};
spidev@2 {
compatible = "linux, spidev";
spi-max-frequency = <25000000>;
reg = <0x2>;
status = "okay";
};
};
In the config I have...
#
# SPI Protocol Masters
#
CONFIG_SPI_SPIDEV=y
In /sys...
root@am437x-evm:/sys# find . -name spi\*
./class/spidev
./class/spi_master
./firmware/devicetree/base/aliases/spi0
./firmware/devicetree/base/ocp@44000000/spinlock@480ca000
./firmware/devicetree/base/ocp@44000000/spi@481a0000
./firmware/devicetree/base/ocp@44000000/spi@48030000
./firmware/devicetree/base/ocp@44000000/spi@48345000
./firmware/devicetree/base/ocp@44000000/spi@481a2000
./firmware/devicetree/base/ocp@44000000/spi@481a2000/spidev@1
./firmware/devicetree/base/ocp@44000000/spi@481a2000/spidev@1/spi-max-frequency
./firmware/devicetree/base/ocp@44000000/spi@481a2000/spidev@2
./firmware/devicetree/base/ocp@44000000/spi@481a2000/spidev@2/spi-max-frequency
./firmware/devicetree/base/ocp@44000000/l4_wkup@44c00000/scm@210000/pinmux@800/spi2_internal_pins_default
./firmware/devicetree/base/ocp@44000000/spi@481a4000
./bus/spi
./bus/spi/drivers/spidev
./module/spidev
...but I get no spidev devices created in /dev.
I tried making them manually...
mknod /dev/spidev2.1 c 153 1
... and a node was created, but I couldn't open it in my program.
Any thoughts on trouble shooting why my devices are not appearing in /dev?
Thanks!
Nathan