SPI デバイスツリー項目の時計項目

SPI デバイスツリー項目の時計項目

私はDuovero ParlorボードにDTSファイルを使用しています。ボードにいくつかのSPIデバイスを追加しました。私の最初のモニター(モニター)はうまく機能するので、私の項目は少なくとも正確です。 NXP SC16IS752 UARTコントローラへのSPI接続をサポートするエントリを追加したいです。 (最近lmlに試してみたいパッチがあります。)

これは私のアイテムです。

clocks {
        clk14m: oscillator {
                #clock-cells = <0>;
                compatible = "fixed-clock";
                clock-frequency = <14745600>;
        };
};

&mcspi4 {
        sc16is752: sc16is752@0 {
                compatible = "nxp,sc16is752";
                reg = <0>;
                spi-max-frequency = <4000000>;
                clocks = <&clk14m>;
                interrupt-parent = <&gpio4>;
                interrupt = <15 IRQ_TYPE_EDGE_FALLING>;
                gpio-controller;
                #gpio-cells = <2>;
        };
};

ある程度合うようです。 SPIバスは4MHz、モード0です。割り込みはGPIO 111、つまり<&GPIO 4 15>です。私の問題は時計を指定することです。チップに直接接続されたスタンドアロン水晶発振器です。それでは、この時計は正しいですか?

時計が別にあってどこに置くべきかわからないので「時計」という言葉が聞きやすいのですが完全推測です。 dtsをコンパイルすると構文エラーが原因で失敗するため、どこかに問題があります。

#gpio-cellsが正しいかどうかはわかりません。これは、GPIO番号が200で始まり増加することを意味しますか?

答え1

クロックの問題は、TIクロックドメインの外側で宣言されたクロックが3.17で解析されず、正しく設定されていないことです。この問題はカーネルバージョン4.0.5で修正されました。

必要な変更は、/arch/arm/mach-omap2/io.c の末尾にある omap_clk_init 関数で発生します。この関数には、3.17に存在しないof_clk_init(NULL)への追加呼び出しがあります。

ここに関連する議論があります。http://patchwork.ozlabs.org/patch/375753/

関連情報