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/

관련 정보