This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] AM5728:U-boot 中的 SSPI cmd 无法正常工作

Guru**** 2540720 points
Other Parts Discussed in Thread: TSC2046

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/948853/am5728-sspi-cmd-in-u-boot-can-not-work

器件型号:AM5728
主题中讨论的其他器件:TSC2046

你(们)好  

在内核中 、我们的 tsc2046 在 MCSPI2上工作正常、但我们希望通过 U-boot 中的 SSPI cmd 来读取它。

CMD SSPI 不工作、

Hit any key to stop autoboot:  0
=>            
=> sspi 2:0.0 16 d0
Invalid bus 2 (err=-19)
=>
您能帮助解决此错误吗?
In \u-boot-2018.01\arch\arm\dts\am571x-idk.dts we have
    aliases {
        spi0 = &mcspi2;
    };
&mcspi2 {
    status = "okay";
    ti,pindir-d0-out-d1-in;
    tsc2046@0 {
        interrupt-parent = <&gpio1>;
        interrupts = <25 0>;          /* gpio1_25=25 */
        pendown-gpio = <&gpio1 25 GPIO_ACTIVE_HIGH>;
        reg = <0>;                        /* CS0 */
        compatible = "spidev";
        spi-max-frequency = <1500000>;
        vcc-supply = <&ldousb_reg>;
        ti,x-min = /bits/ 16 <0>;
        ti,x-max = /bits/ 16 <8000>;
        ti,y-min = /bits/ 16 <0>;
        ti,y-max = /bits/ 16 <4800>;
        ti,x-plate-ohms = /bits/ 16 <40>;
        ti,pressure-max = /bits/ 16 <255>;
        ti,swap-xy;
        wakeup-source;
    };
};
In u-boot-2018.01\configs\am57xx_evm_defconfig we have
CONFIG_DM_SPI=y
CONFIG_TI_QSPI=y
In u-boot-2018.01\arch\arm\mach-omap2\omap5\hw_data.c we have
voidenable_basic_clocks(void)
+       (*prcm)->cm_l4per_i2c2_clkctrl,
+       (*prcm)->cm_l4per_mcspi2_clkctrl,
voidenable_basic_uboot_clocks(void)
+       (*prcm)->cm_l4per_mcspi2_clkctrl,
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Daniel、您好!

    我将在几天内向您提供有关这方面的详细信息。

    此致、
    基尔西

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Daniel、您好!

    SSPI 从未在 AM57xx u-boot 上进行过验证。 因此、这可能不起作用。
    也就是说、CONFIG_TI_QSPI 用于 QSPI、而对于 MCSPI、您需要启用 CONFIG_OMAP3_SPI
    如果尚未启用。

    SSPI 2:0.0 16 d0


    由于存在此别名、上述命令也看起来不正确:  

    spi0 = &mcspi2;

    所以
    sspi 0:0.0 16 d0


    请告诉我这是否有帮助、但我们尚未尝试 SSPI。


    此致、
    基尔西

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你(们)好  

     u-boot-2018.01\am57xx_EVM\.config 中的配置设置为

    编号
    # SPI 支持
    编号
    CONFIG_DM_SPI=y
    # CONFIG_Altera_SPI 未设置
    未设置# CONFIG_Cadence_QSPI
    # CONFIG_DESIGWARE_SPI 未设置
    # CONFIG_EXYNOS_SPI 未设置
    未设置# CONFIG_FSL_DSPI
    未设置# CONFIG_ICH_SPI
    未设置# CONFIG_MVEBU_A3700_SPI
    # CONFIG_Rockchip_SPI 未设置
    # CONFIG_TEGRA114_SPI 未设置
    # CONFIG_TEGRA20_SFLASH 未设置
    # CONFIG_TEGRA20_slink 未设置
    # CONFIG_TEGRA210_QSPI 未设置
    未设置# CONFIG_Xilinx SPI
    未设置# CONFIG_SOFT_SPI
    # CONFIG_FSL_ESPI 未设置
    未设置# CONFIG_FSL_QSPI
    未设置# CONFIG_ATCSPI200_SPI
    未设置# CONFIG_TI_QSPI
    CONFIG_OMAP3_SPI=y

    我们可以使用=> SSPI 0:0.0 16 D0而不使用 无效的总线2 (err=-19)

    但返回值始终为0000

    => SSPI 0:0.0 16 d0
    uclass_find_device_By_Seq:0 0
    -0-1'spi@4809a000'
    --1'tsc2046@0"
    -未找到
    uclass_find_device_By_Seq:1 0
    -0-1'spi@4809a000'
    -已找到
    uclass_find_device_By_Seq:0 0
    -0-1'spi@4809a000'
    --1'tsc2046@0"
    -未找到
    器件 SPI@4809a000的翻译**
    共:OCP 上的总线默认值(na=1、ns=1)
    共:转换地址:00a00948
    共:父总线默认为(na=2、ns=2) on
    共:步行范围...
    共:默认映射、CP=0、s=3221225472、da=1208590336
    以下内容:父级转换:00000000 00000000
    共:偏移:1208590336
    共:一级转换:00000000 00a00948
    共:到达的根节点
    fdtd_dec_get_uint:ti、pidd-d0-out-d1-in:(未找到)
    ofnode_read_u32:SPI-max-frequency:(未找到)
    SPI_find_chip_select:plat=bdf1c5b0、cs=0
    uclass_find_device_By_Seq:0 -1
    uclass_find_device_By_Seq:0 0
    - 0 0 'spi@4809a000'
    -已找到
    uclass_find_device_By_Seq:0 1.
    - 0 0 'spi@4809a000'
    --1'tsc2046@0"
    -未找到
    器件 tsc2046@0**的翻译
    __for_translation_address:tsc2046@0的电池节数错误
    fdtd_dec_get_uint:ti、pidd-d0-out-d1-in:(未找到)
    ofnode_read_u32:SPI-max-频率:0x16e360 (1500000)
    SPI_GET_BUS_and_cs:bus=bdf1c500、slave=bdf1e4c0
    0000
    =>

    配置 SPI 功能有什么问题?

    将 am571x-idk.dts 更改为

    mcspi2{(&M)
    状态="正常";
    TI、pidd-d0-out-d1-in;
      tsc2046@0{
        interrupt-parent =<&GPIO1>;
        中断=<25 0>;/* GPIO1_25=25 *
        Pendown–GPIO =<&GPIO1 25 GPIO_ACTIVE_HIGH_>;
        reg =<0>;/* CS0 */
        兼容="ti、omAP4-mcspi";
        TI、pidd-d0-out-d1-in;
        SPI-max-frequency =<1500000>;
        VCC-SUPPLY =<&ldousb_reg>;
        TI、x-min =/bits/16 <0>;
        ti、x-max =/bits/16 <8000>;
        TI、y-min =/bits/16 <0>;
        TI、y-max =/bits/16 <4800>;
        ti、x 板欧姆=/bits/16 <40>;
        ti、pressure-max =/bits/16 <255>;
        TI、SWAP-xy;
        唤醒源;
      };
    };

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你(们)好  

    我们尝试在 dtb 中设置和取消设置 ti、pidir-d0-out-D1-in

    但结果是相同的。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你(们)好  

    请帮帮我。

    谢谢

    Daniel