The property clock-frequency is optional for device tree probe. When it's absent, the flexcan driver will try to get the frequency from clk system by calling clk_get_rate. But, the clk_get_rate requires that clocks and clock-names properties to be present in the flexcan node. Document the usage of these properties. Signed-off-by: Pankaj Bansal <pankaj.bansal@xxxxxxx> --- .../bindings/net/can/fsl-flexcan.txt | 29 ++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) diff --git a/Documentation/devicetree/bindings/net/can/fsl-flexcan.txt b/Documentation/devicetree/bindings/net/can/fsl-flexcan.txt index bfc0c433654f..3210e2891b84 100644 --- a/Documentation/devicetree/bindings/net/can/fsl-flexcan.txt +++ b/Documentation/devicetree/bindings/net/can/fsl-flexcan.txt @@ -12,10 +12,26 @@ Required properties: - reg : Offset and length of the register set for this device - interrupts : Interrupt tuple for this device -Optional properties: +The input clock is the one fed to the prescaler to generate the serial clock +(Sclock). Serial Clock (Sclock), whose period defines the 'time quantum' +used to compose the CAN waveform. The input clock information can be given +in two formats + +- clock-frequency : The oscillator/peripheral clock frequency + driving the flexcan device + + or + +- clocks: phandle to the clocks feeding the SPI controller. Two can be given: + - "ipg": Oscillator Clock + - "per": Peripheral Clock +- clock-names: Must contain the clock names described just above -- clock-frequency : The oscillator frequency driving the flexcan device +The oscillator clock should be selected whenever a tight tolerance (up to 0.1%) +is required in the CAN bus timing. The crystal oscillator clock has better +jitter performance than the peripheral clock. +Optional properties: - xceiver-supply: Regulator that powers the CAN transceiver - big-endian: This means the registers of FlexCAN controller are big endian. @@ -33,3 +49,12 @@ Example: interrupt-parent = <&mpic>; clock-frequency = <200000000>; // filled in by bootloader }; + + can0: can@2180000 { + compatible = "fsl,lx2160ar1-flexcan"; + reg = <0x0 0x2180000 0x0 0x10000>; + interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&clockgen 4 7>, <&clockgen 4 7>; + clock-names = "ipg", "per"; + status = "disabled"; + }; -- 2.17.1