Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9c817f18 authored by Bhaskar Upadhaya's avatar Bhaskar Upadhaya Committed by Kumar Gala
Browse files

powerpc: Adding bindings for flexcan controller

parent b637cf7b
Loading
Loading
Loading
Loading
+61 −0
Original line number Diff line number Diff line
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>;
	};