hi,
I got problem with SPI configuration (receive only mode for ADC) using PRU, first the system setup:
during boot (ubuntu minimal) does:
#SPI CLK - output, mode 3
echo 13 > /sys/kernel/debug/omap_mux/mcasp0_aclkx
#D1 - input, mode 3, pulled-up
echo 33 > /sys/kernel/debug/omap_mux/mcasp0_axr0
then I wrote using PRU SPI configuration (receive only mode)
//enable clock for SPI1
0x44e0_0050 = 0x2
//reset spi1
0x481a_0110 = 0x2
then I wait till reset is done
//module config
0x481a_0128 = 0x0
//system config - this order is recommended in datasheet
0x481a_0110 = 0x15
//configure channels - only ch0 is used, but when I don’t configure 1,2,3 there’s no clock on ch0
0x481a_012c = 0x7188a (d1 - input, transm on d1&d0 not used, receive only, 18-bit word, ADC SPI polarity)
0x481a_0140 = 0x6188a
0x481a_0154 = 0x6188a
0x481a_0168 = 0x6188a
//enable ch0
0x481a_0134 = 0x1
//write dummy data to enable transmission
0x481a_0138 = 0x3ffff
then I wait again a bit
the problem is that each readback of RX register (0x481a_013c) starts the SPI clock, there’s a data od D1 line but the value of RX register is always 0