Now that FlexCAN support for newer IPs is finally hitting upstream [1],
lets add the corresponding nodes for the LS1028A SoC and enable it for the
Kontron sl28 board.
changes since v1:
- added new patch "dt-bindings: can: flexcan: list supported processors"
Suggested by Lee.
Please keep in mind that this only an intermediate step, as Marc already
pointed out [2] that Oleksij is alreay working on converting the
bindings to YAML format.
[1] https://lore.kernel.org/netdev/[email protected]/
[2] https://lore.kernel.org/linux-can/[email protected]/
Michael Walle (3):
dt-bindings: can: flexcan: list supported processors
arm64: dts: ls1028a: add missing CAN nodes
arm64: dts: freescale: sl28: add CAN node
.../bindings/net/can/fsl-flexcan.txt | 6 ++++++
.../dts/freescale/fsl-ls1028a-kontron-sl28.dts | 4 ++++
arch/arm64/boot/dts/freescale/fsl-ls1028a.dtsi | 18 ++++++++++++++++++
3 files changed, 28 insertions(+)
--
2.20.1
The LS1028A has two FlexCAN controller. These are compatible with
the ones from the LX2160A. Add the nodes.
The first controller was tested on the Kontron sl28 board.
Signed-off-by: Michael Walle <[email protected]>
---
arch/arm64/boot/dts/freescale/fsl-ls1028a.dtsi | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1028a.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls1028a.dtsi
index 73e4f9466887..f223396b8266 100644
--- a/arch/arm64/boot/dts/freescale/fsl-ls1028a.dtsi
+++ b/arch/arm64/boot/dts/freescale/fsl-ls1028a.dtsi
@@ -386,6 +386,24 @@
status = "disabled";
};
+ can0: can@2180000 {
+ compatible = "fsl,ls1028ar1-flexcan", "fsl,lx2160ar1-flexcan";
+ reg = <0x0 0x2180000 0x0 0x10000>;
+ interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&sysclk>, <&clockgen 4 1>;
+ clock-names = "ipg", "per";
+ status = "disabled";
+ };
+
+ can1: can@2190000 {
+ compatible = "fsl,ls1028ar1-flexcan", "fsl,lx2160ar1-flexcan";
+ reg = <0x0 0x2190000 0x0 0x10000>;
+ interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&sysclk>, <&clockgen 4 1>;
+ clock-names = "ipg", "per";
+ status = "disabled";
+ };
+
duart0: serial@21c0500 {
compatible = "fsl,ns16550", "ns16550a";
reg = <0x00 0x21c0500 0x0 0x100>;
--
2.20.1
The module supports one CAN controller. Enable it.
Signed-off-by: Michael Walle <[email protected]>
---
arch/arm64/boot/dts/freescale/fsl-ls1028a-kontron-sl28.dts | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1028a-kontron-sl28.dts b/arch/arm64/boot/dts/freescale/fsl-ls1028a-kontron-sl28.dts
index f46eb47cfa4d..17a2f5dacc3f 100644
--- a/arch/arm64/boot/dts/freescale/fsl-ls1028a-kontron-sl28.dts
+++ b/arch/arm64/boot/dts/freescale/fsl-ls1028a-kontron-sl28.dts
@@ -60,6 +60,10 @@
};
};
+&can0 {
+ status = "okay";
+};
+
&dspi2 {
status = "okay";
};
--
2.20.1
On Thu, Oct 01, 2020 at 11:11:30AM +0200, Michael Walle wrote:
> The LS1028A has two FlexCAN controller. These are compatible with
> the ones from the LX2160A. Add the nodes.
>
> The first controller was tested on the Kontron sl28 board.
>
> Signed-off-by: Michael Walle <[email protected]>
Applied, thanks.
On Thu, Oct 01, 2020 at 11:11:31AM +0200, Michael Walle wrote:
> The module supports one CAN controller. Enable it.
>
> Signed-off-by: Michael Walle <[email protected]>
Applied, thanks.