Embedded

SPI設備樹條目中的時鐘條目

  • June 21, 2015

我正在為 Duovero Parlor 板使用 DTS 文件。在這個板上,我添加了一些 SPI 設備。我的第一個(顯示器)工作得很好,所以我至少輸入正確。我想添加一個條目來支持 SPI 連接的 NXP SC16IS752 UART 控制器。(最近有個關於lkml的更新檔我想試試)。

這是我的條目:

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 開始並上升?

您的時鐘的問題在於,在 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/

引用自:https://unix.stackexchange.com/questions/209549