diff mbox series

[1/2] arm64: dts: ls1028a: add missing CAN nodes

Message ID 20200923095711.11355-2-michael@walle.cc
State New
Headers show
Series arm64: dts: add FlexCAN support to LS1028A and sl28 | expand

Commit Message

Michael Walle Sept. 23, 2020, 9:57 a.m. UTC
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 <michael@walle.cc>
---
 arch/arm64/boot/dts/freescale/fsl-ls1028a.dtsi | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

Comments

Leo Li Sept. 24, 2020, 12:35 a.m. UTC | #1
> -----Original Message-----
> From: Michael Walle <michael@walle.cc>
> Sent: Wednesday, September 23, 2020 4:57 AM
> To: linux-arm-kernel@lists.infradead.org; devicetree@vger.kernel.org; linux-
> kernel@vger.kernel.org; linux-can@vger.kernel.org
> Cc: Shawn Guo <shawnguo@kernel.org>; Leo Li <leoyang.li@nxp.com>; Rob
> Herring <robh+dt@kernel.org>; Marc Kleine-Budde <mkl@pengutronix.de>;
> Joakim Zhang <qiangqing.zhang@nxp.com>; Michael Walle
> <michael@walle.cc>
> Subject: [PATCH 1/2] arm64: dts: ls1028a: add missing CAN nodes
> 
> 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 <michael@walle.cc>
> ---
>  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 0efeb8fa773e..807ee921ec12 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";

The explicit compatible strings cannot be found in the binding, but matched by the "fsl,<processor>-flexcan" pattern in the binding.  Is this considered to be acceptable now?

> +			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
Michael Walle Sept. 24, 2020, 11:31 a.m. UTC | #2
Am 2020-09-24 02:35, schrieb Leo Li:
>> -----Original Message-----
>> From: Michael Walle <michael@walle.cc>
>> Sent: Wednesday, September 23, 2020 4:57 AM
>> To: linux-arm-kernel@lists.infradead.org; devicetree@vger.kernel.org; 
>> linux-
>> kernel@vger.kernel.org; linux-can@vger.kernel.org
>> Cc: Shawn Guo <shawnguo@kernel.org>; Leo Li <leoyang.li@nxp.com>; Rob
>> Herring <robh+dt@kernel.org>; Marc Kleine-Budde <mkl@pengutronix.de>;
>> Joakim Zhang <qiangqing.zhang@nxp.com>; Michael Walle
>> <michael@walle.cc>
>> Subject: [PATCH 1/2] arm64: dts: ls1028a: add missing CAN nodes
>> 
>> 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 <michael@walle.cc>
>> ---
>>  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 0efeb8fa773e..807ee921ec12 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";
> 
> The explicit compatible strings cannot be found in the binding, but
> matched by the "fsl,<processor>-flexcan" pattern in the binding.  Is
> this considered to be acceptable now?

What is the consequence if it is not acceptable? replacing the pattern
with individual compatible strings?

-michael
Leo Li Sept. 24, 2020, 3:53 p.m. UTC | #3
> -----Original Message-----
> From: Michael Walle <michael@walle.cc>
> Sent: Thursday, September 24, 2020 6:31 AM
> To: Leo Li <leoyang.li@nxp.com>
> Cc: linux-arm-kernel@lists.infradead.org; devicetree@vger.kernel.org; linux-
> kernel@vger.kernel.org; linux-can@vger.kernel.org; Shawn Guo
> <shawnguo@kernel.org>; Rob Herring <robh+dt@kernel.org>; Marc Kleine-
> Budde <mkl@pengutronix.de>; Joakim Zhang <qiangqing.zhang@nxp.com>
> Subject: Re: [PATCH 1/2] arm64: dts: ls1028a: add missing CAN nodes
> 
> Am 2020-09-24 02:35, schrieb Leo Li:
> >> -----Original Message-----
> >> From: Michael Walle <michael@walle.cc>
> >> Sent: Wednesday, September 23, 2020 4:57 AM
> >> To: linux-arm-kernel@lists.infradead.org; devicetree@vger.kernel.org;
> >> linux-
> >> kernel@vger.kernel.org; linux-can@vger.kernel.org
> >> Cc: Shawn Guo <shawnguo@kernel.org>; Leo Li <leoyang.li@nxp.com>;
> Rob
> >> Herring <robh+dt@kernel.org>; Marc Kleine-Budde
> <mkl@pengutronix.de>;
> >> Joakim Zhang <qiangqing.zhang@nxp.com>; Michael Walle
> >> <michael@walle.cc>
> >> Subject: [PATCH 1/2] arm64: dts: ls1028a: add missing CAN nodes
> >>
> >> 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 <michael@walle.cc>
> >> ---
> >>  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 0efeb8fa773e..807ee921ec12 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";
> >
> > The explicit compatible strings cannot be found in the binding, but
> > matched by the "fsl,<processor>-flexcan" pattern in the binding.  Is
> > this considered to be acceptable now?
> 
> What is the consequence if it is not acceptable? replacing the pattern
> with individual compatible strings?

There is a recommendation in the kernel documentation quoted below:

  7) The wildcard "<chip>" may be used in compatible strings, as in
     the following example:

         - compatible: Must contain '"nvidia,<chip>-pcie",
           "nvidia,tegra20-pcie"' where <chip> is tegra30, tegra132, ...

     As in the above example, the known values of "<chip>" should be
     documented if it is used.

But I am not sure if this is still a hard requirement.  If so, we should list the processors in the binding.

Regards,
Leo
Michael Walle Sept. 25, 2020, 9:31 a.m. UTC | #4
Am 2020-09-24 17:53, schrieb Leo Li:
>> -----Original Message-----
>> From: Michael Walle <michael@walle.cc>
>> Sent: Thursday, September 24, 2020 6:31 AM
>> To: Leo Li <leoyang.li@nxp.com>
>> Cc: linux-arm-kernel@lists.infradead.org; devicetree@vger.kernel.org; 
>> linux-
>> kernel@vger.kernel.org; linux-can@vger.kernel.org; Shawn Guo
>> <shawnguo@kernel.org>; Rob Herring <robh+dt@kernel.org>; Marc Kleine-
>> Budde <mkl@pengutronix.de>; Joakim Zhang <qiangqing.zhang@nxp.com>
>> Subject: Re: [PATCH 1/2] arm64: dts: ls1028a: add missing CAN nodes
>> 
>> Am 2020-09-24 02:35, schrieb Leo Li:
>> >> -----Original Message-----
>> >> From: Michael Walle <michael@walle.cc>
>> >> Sent: Wednesday, September 23, 2020 4:57 AM
>> >> To: linux-arm-kernel@lists.infradead.org; devicetree@vger.kernel.org;
>> >> linux-
>> >> kernel@vger.kernel.org; linux-can@vger.kernel.org
>> >> Cc: Shawn Guo <shawnguo@kernel.org>; Leo Li <leoyang.li@nxp.com>;
>> Rob
>> >> Herring <robh+dt@kernel.org>; Marc Kleine-Budde
>> <mkl@pengutronix.de>;
>> >> Joakim Zhang <qiangqing.zhang@nxp.com>; Michael Walle
>> >> <michael@walle.cc>
>> >> Subject: [PATCH 1/2] arm64: dts: ls1028a: add missing CAN nodes
>> >>
>> >> 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 <michael@walle.cc>
>> >> ---
>> >>  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 0efeb8fa773e..807ee921ec12 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";
>> >
>> > The explicit compatible strings cannot be found in the binding, but
>> > matched by the "fsl,<processor>-flexcan" pattern in the binding.  Is
>> > this considered to be acceptable now?
>> 
>> What is the consequence if it is not acceptable? replacing the pattern
>> with individual compatible strings?
> 
> There is a recommendation in the kernel documentation quoted below:
> 
>   7) The wildcard "<chip>" may be used in compatible strings, as in
>      the following example:
> 
>          - compatible: Must contain '"nvidia,<chip>-pcie",
>            "nvidia,tegra20-pcie"' where <chip> is tegra30, tegra132, 
> ...
> 
>      As in the above example, the known values of "<chip>" should be
>      documented if it is used.
> 
> But I am not sure if this is still a hard requirement.  If so, we
> should list the processors in the binding.

Marc, I'd convert this to yaml format, may I put your name as the
maintainer in the binding?

-michael
Marc Kleine-Budde Sept. 25, 2020, 9:34 a.m. UTC | #5
On 9/25/20 11:31 AM, Michael Walle wrote:
> Marc, I'd convert this to yaml format,

Oleksij (CC'ed) is working already on this.

> may I put your name as the maintainer in the binding?

Marc
Michael Walle Sept. 25, 2020, 11:35 a.m. UTC | #6
Am 2020-09-25 11:34, schrieb Marc Kleine-Budde:
> On 9/25/20 11:31 AM, Michael Walle wrote:
>> Marc, I'd convert this to yaml format,
> 
> Oleksij (CC'ed) is working already on this.

Cool.

Oleksij, if there will be individual compatible strings, could you
already add the one for the LS1028A? i.e.
  "fsl,ls1028ar1-flexcan" followed by "fsl,lx2160ar1-flexcan"

-michael
diff mbox series

Patch

diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1028a.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls1028a.dtsi
index 0efeb8fa773e..807ee921ec12 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>;