CAN Device Tree Bindings
------------------------
2011 Freescale Semiconductor, Inc.

fsl,flexcan-v1.0 nodes
-----------------------
In addition to the required compatible-, reg- and interrupt-properties, you can
also specify which clock source shall be used for the controller.

CPI Clock- Can Protocol Interface Clock
	This CLK_SRC bit of CTRL(control register) selects the clock source to
	the CAN Protocol Interface(CPI) to be either the peripheral clock
	(driven by the PLL) or the crystal oscillator clock. The selected clock
	is the one fed to the prescaler to generate the Serial Clock (Sclock).
	The PRESDIV field of CTRL(control register) controls a prescaler that
	generates the Serial Clock (Sclock), whose period defines the
	time quantum used to compose the CAN waveform.

Can Engine Clock Source
	There are two sources for CAN clock
	- Platform Clock  It represents the bus clock
	- Oscillator Clock

	Peripheral Clock (PLL)
	--------------
		     |
		    ---------		      -------------
		    |       |CPI Clock	      | Prescaler |       Sclock
		    |       |---------------->| (1.. 256) |------------>
		    ---------		      -------------
                     |  |
	--------------  ---------------------CLK_SRC
	Oscillator Clock

- fsl,flexcan-clock-source : CAN Engine Clock Source.This property selects
			     the peripheral clock. PLL clock is fed to the
			     prescaler to generate the Serial Clock (Sclock).
			     Valid values are "oscillator" and "platform"
			     "oscillator": CAN engine clock source is oscillator clock.
			     "platform" The CAN engine clock source is the bus clock
		             (platform clock).

- fsl,flexcan-clock-divider : for the reference and system clock, an additional
			      clock divider can be specified.
- clock-frequency: frequency required to calculate the bitrate for FlexCAN.

Note:
	- v1.0 of flexcan-v1.0 represent the IP block version for P1010 SOC.
	- P1010 does not have oscillator as the Clock Source.So the default
	  Clock Source is platform clock.
Examples:

	can0@1c000 {
		compatible = "fsl,flexcan-v1.0";
		reg = <0x1c000 0x1000>;
		interrupts = <48 0x2>;
		interrupt-parent = <&mpic>;
		fsl,flexcan-clock-source = "platform";
		fsl,flexcan-clock-divider = <2>;
		clock-frequency = <fixed by u-boot>;
	};
