【问题标题】:SPI without CS pins configured (BeagleBone Black)未配置 CS 引脚的 SPI(BeagleBone Black)
【发布时间】:2018-01-04 15:30:25
【问题描述】:

我不需要在 BeagleBone Black 中为 SPI 使用“库存”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太高级了。

感谢指点!

【问题讨论】:

  • 当您使用设备树时,您是在告诉您的驱动程序 SPI 引脚在哪里。如果您没有定义(默认)CS 引脚,您通常会明确地将其重新定义为 GPIO 引脚(GPIO 驱动程序将控制该引脚)。我不熟悉 Beagle,但我在 RedPitaya 上完成了此操作,其中引脚在 FPGA 和 DeviceTree 级别(两个级别!)定义。
  • 恐怕驱动程序可能会为 CS0 和 CS1 使用默认(从它的角度来看)引脚,这可能会导致冲突或干扰其他功能。
  • 引脚可以不连接,因此如果将 pinmux 配置为将其用于不同目的,则使用哪个引脚并不重要。因此,我认为这已解决。

标签: driver beagleboneblack gpio spi device-tree


【解决方案1】:

由于引脚可以不连接,因此如果将 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
            >;
        };
    . . . .
    }
  }

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

【讨论】:

  • 您应该发布更新的设备树并接受您自己的答案。
  • 我明天会发布它,但是,我不知道如何接受我自己的答案。
  • 您应该会在此答案旁边看到一个复选标记。点击它。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多