-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge tag 'linux-can-next-for-4.8-20160617' of git://git.kernel.org/p…
…ub/scm/linux/kernel/git/mkl/linux-can-next Marc Kleine-Budde says: ==================== pull-request: can-next 2016-06-17 this is a pull request of 14 patches for net-next/master. Geert Uytterhoeven contributes a patch that adds a file patterns for CAN device tree bindings to MAINTAINERS. A patch by Alexander Aring fixes warnings when building without proc support. A patch by me improves the sample point calculation. Marek Vasut's patch converts the slcan driver to use CAN_MTU. A patch by William Breathitt Gray converts the tscan1 driver to use module_isa_driver. Two patches by Maximilian Schneider for the gs_usb driver fix coding style and add support for set_phys_id callback. 5 patches by Oliver Hartkopp add support for CANFD to the bcm. And finally two patches by Ramesh Shanmugasundaram, which add support for the rcar_canfd driver. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
- Loading branch information
Showing
18 changed files
with
2,219 additions
and
255 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,89 @@ | ||
Renesas R-Car CAN FD controller Device Tree Bindings | ||
---------------------------------------------------- | ||
|
||
Required properties: | ||
- compatible: Must contain one or more of the following: | ||
- "renesas,rcar-gen3-canfd" for R-Car Gen3 compatible controller. | ||
- "renesas,r8a7795-canfd" for R8A7795 (R-Car H3) compatible controller. | ||
|
||
When compatible with the generic version, nodes must list the | ||
SoC-specific version corresponding to the platform first, followed by the | ||
family-specific and/or generic versions. | ||
|
||
- reg: physical base address and size of the R-Car CAN FD register map. | ||
- interrupts: interrupt specifier for the Global & Channel interrupts | ||
- clocks: phandles and clock specifiers for 3 clock inputs. | ||
- clock-names: 3 clock input name strings: "fck", "canfd", "can_clk". | ||
- pinctrl-0: pin control group to be used for this controller. | ||
- pinctrl-names: must be "default". | ||
|
||
Required child nodes: | ||
The controller supports two channels and each is represented as a child node. | ||
The name of the child nodes are "channel0" and "channel1" respectively. Each | ||
child node supports the "status" property only, which is used to | ||
enable/disable the respective channel. | ||
|
||
Required properties for "renesas,r8a7795-canfd" compatible: | ||
In R8A7795 SoC, canfd clock is a div6 clock and can be used by both CAN | ||
and CAN FD controller at the same time. It needs to be scaled to maximum | ||
frequency if any of these controllers use it. This is done using the | ||
below properties. | ||
|
||
- assigned-clocks: phandle of canfd clock. | ||
- assigned-clock-rates: maximum frequency of this clock. | ||
|
||
Example | ||
------- | ||
|
||
SoC common .dtsi file: | ||
|
||
canfd: can@e66c0000 { | ||
compatible = "renesas,r8a7795-canfd", | ||
"renesas,rcar-gen3-canfd"; | ||
reg = <0 0xe66c0000 0 0x8000>; | ||
interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>, | ||
<GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>; | ||
clocks = <&cpg CPG_MOD 914>, | ||
<&cpg CPG_CORE R8A7795_CLK_CANFD>, | ||
<&can_clk>; | ||
clock-names = "fck", "canfd", "can_clk"; | ||
assigned-clocks = <&cpg CPG_CORE R8A7795_CLK_CANFD>; | ||
assigned-clock-rates = <40000000>; | ||
power-domains = <&cpg>; | ||
status = "disabled"; | ||
|
||
channel0 { | ||
status = "disabled"; | ||
}; | ||
|
||
channel1 { | ||
status = "disabled"; | ||
}; | ||
}; | ||
|
||
Board specific .dts file: | ||
|
||
E.g. below enables Channel 1 alone in the board. | ||
|
||
&canfd { | ||
pinctrl-0 = <&canfd1_pins>; | ||
pinctrl-names = "default"; | ||
status = "okay"; | ||
|
||
channel1 { | ||
status = "okay"; | ||
}; | ||
}; | ||
|
||
E.g. below enables Channel 0 alone in the board using External clock | ||
as fCAN clock. | ||
|
||
&canfd { | ||
pinctrl-0 = <&canfd0_pins &can_clk_pins>; | ||
pinctrl-names = "default"; | ||
status = "okay"; | ||
|
||
channel0 { | ||
status = "okay"; | ||
}; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.