I'm using a DTS file for a Duovero Parlor board. To this board I've added some SPI devices. My first (a display) works perfectly so I have that entry correct at least. I want to add an entry to support the SPI connected NXP SC16IS752 UART controller. (There's been a patches on lkml recently I want to try).This is my entry: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>;        };};It looks vaguely right. The SPI bus is 4MHz, mode 0. Interrupt is GPIO 111 which is <&GPIO 4 15>. My problem is specifying the clock. It's a standalone crystal oscillator connected directly to the chip. So is that clocks but right?Because the clock is standalone I've no idea where to place it so clocks sound right but I'm totally guessing. When I compile the dts it fails with a syntax error though so something is wrong somewhere.I'm not sure if the #gpio-cells is correct either. Does that mean the gpio numbering will start at 200 and go up?
Clocks entry in SPI device tree entry
embedded;device tree
The issue with your clocks, is that clocks declared outside the TIclock domains are not parsed and set up correctly in 3.17. This issue isresolved in kernel version 4.0.5.The required changes occurred in the function omap_clk_init at the endof /arch/arm/mach-omap2/io.c, there is an extra call there toof_clk_init(NULL) which doesn't exist in 3.17.Some relevant discussion here, http://patchwork.ozlabs.org/patch/375753/