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.

Reply via email to