Конфигурация spi slave в файлах дерева устройств для платы imx8 - PullRequest
0 голосов
/ 15 мая 2019

Я пишу драйвер SPI SLAVE для платы imx8qmlpddr4arm2 с Yocto.У меня проблемы с добавлением ведомой записи в файл dts.В частности, когда я тестирую код, мой ведомый постоянно ожидает что-то получить, даже если другая плата отправляет данные.

Мой код:

fsl-imx8qm.dtsi:

lpspi0: lpspi@5a000000 {
    compatible = "fsl,imx7ulp-spi";
    reg = <0x0 0x5a000000 0x0 0x10000>;
    interrupts = <GIC_SPI 216 IRQ_TYPE_LEVEL_HIGH>;
    interrupt-parent = <&gic>;
    clocks = <&clk IMX8QM_SPI0_CLK>,
         <&clk IMX8QM_SPI0_IPG_CLK>;
    clock-names = "per", "ipg";


    power-domains = <&pd_dma_lpspi0>;
    status = "disabled";
};

fsl-imx8qm-lpddr4arm2.dts

    pinctrl_lpspi0: lpspi0grp {
        fsl,pins = <
            SC_P_SPI0_SCK_DMA_SPI0_SCK        0x0600004c
            SC_P_SPI0_SDO_DMA_SPI0_SDO        0x0600004c
            SC_P_SPI0_SDI_DMA_SPI0_SDI        0x0600004c
        >;
    };



    pinctrl_lpspi0_cs: lpspi0cs {
        fsl,pins = <
            SC_P_SPI0_CS1_DMA_SPI0_CS1        0x21
        >;
    };



&lpspi0 {
    pinctrl-names = "default";
    pinctrl-0 = <&pinctrl_lpspi0 &pinctrl_lpspi0_cs>;
    status = "okay";
    spi-slave;

    slave {
    compatible = "linux,spislave";
    };
};

Правильно ли установить вывод cs как DMA или лучше установить его как GPIO?В чем разница?

И число 0x21, нужно ли что-то менять?Я читаю руководство, но не могу понять, что мне нужно изменить.Могу ли я использовать 0x0600004c в качестве других сигналов?В Интернете я не нашел ничего, что могло бы мне помочь.

Заранее большое спасибо!

...