I am a bit confused with the BB-SPI1-01-00A0.dts example provided in the
wiki <http://elinux.org/BeagleBone_Black_Enable_SPIDEV>. In particular, I
don't understand the rationale for the values used in the pin mux
configuration:
0x190 0x33 /* mcasp0_aclkx.spi1_sclk, INPUT_PULLUP | MODE3 */
0x194 0x33 /* mcasp0_fsx.spi1_d0, INPUT_PULLUP | MODE3 */
0x198 0x13 /* mcasp0_axr0.spi1_d1, OUTPUT_PULLUP | MODE3 */
0x19c 0x13 /* mcasp0_ahclkr.spi1_cs0, OUTPUT_PULLUP | MODE3 */
For reference, the register values are decoded as:
0x33:
SLEWCTRL=0 (Fast)
RXACTIVE=1 (Receiver enabled)
PULLTYPESEL=1 (Pullup selected)
PULLUDEN=0 (Pullup/pulldown enabled)
MUXMODE=011b (Mode 3)
0x13:
SLEWCTRL=0 (Fast)
RXACTIVE=0 (Receiver disabled)
PULLTYPESEL=1 (Pullup selected)
PULLUDEN=0 (Pullup/pulldown enabled)
MUXMODE=011b (Mode 3)
Here are my questions:
1. Why is the spi1_sclk signal configured as an input? I thought that
spidev only supports master mode.
2. Why does spi1_sclk still function properly as an output even though
RXACTIVE=1?
3. Why are pull-ups enabled for the output pins? The TRM advises against it
(page 1357):
If a pad is always configured in output mode, it is recommended for user
> software to disable any internal pull resistor tied to it, to avoid
> unnecessary consumption.
Cheers,
Emile Cormier
--
For more options, visit http://beagleboard.org/discuss
---
You received this message because you are subscribed to the Google Groups
"BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.