未配置 CS 引脚的 SPI (BeagleBone Black)

SPI without CS pins configured (BeagleBone Black)

我不需要在 BeagleBone Black 中为 SPI 使用 "stock" CS 信号。 我可以省略它们在 DTBO 中的配置以保存几个 GPIO 吗? 换句话说,(1) SPI 会正常工作吗? (2) 会不会引起GPIO冲突? 这是 SPI1 的 DTS 片段示例:

....
fragment@0 {
    target = <&am33xx_pinmux>;
    __overlay__ {
        /* default state has all gpios released and mode set to uart1 */
        bb_spi1_pins: pinmux_bb_spi1_pins {
            pinctrl-single,pins = <
                0x190 0x13  /* mcasp0_aclkx.spi1_sclk,  OUTPUT_PULLUP | MODE3 */
                0x194 0x33  /* mcasp0_fsx.spi1_d0,      INPUT_PULLUP  | MODE3 */
                0x198 0x13  /* mcasp0_axr0.spi1_d1,     OUTPUT_PULLUP | MODE3 */
            >;
        };
    };
};
....

我应该查看哪个内核驱动程序来验证?看来spidev.c太高级了

多谢指点!

由于引脚可以断开连接,因此如果 pinmux 配置为将其用于不同目的,则使用哪个引脚并不重要。因此,我认为这已解决 - 在这里非常有效。

  fragment@0 {
  target = <&am33xx_pinmux>;
    __overlay__ {
    . . . .
        bb_spi1_pins: pinmux_bb_spi1_pins {
            pinctrl-single,pins = <
                BONE_P9_31 (PIN_INPUT  | MUX_MODE3) // spi1_sclk
                BONE_P9_29 (PIN_INPUT  | MUX_MODE3) // spi1_d0 (miso)
                BONE_P9_30 (PIN_OUTPUT | MUX_MODE3) // spi1_d1 (mosi)
                BONE_P9_28 (PIN_OUTPUT | MUX_MODE7) // spi1_cs0
                // for spi1_cs0 it has to be MUX_MODE3, but since we want
                // to use it as a GPIO we set to MUX_MODE7, which
                // corresponds to GPIO3_14
            >;
        };
    . . . .
    }
  }

上面的代码片段包含来自 Robert Nelson 的覆盖 collection 和构建套件的宏。