From: Judith Mendez <jm@ti.com>
On AM62x there are no hardware interrupts routed to A53 GIC
interrupt controller for MCU MCAN IPs, so MCU MCAN nodes were
omitted from MCU dtsi.
Timer polling was introduced in commits [1][2] so now add MCU MCAN nodes
to the MCU dtsi for the Cortex A53.
[1] b382380c0d2d ("can: m_can: Add hrtimer to generate software interrupt")
[2] bb410c03b999 ("dt-bindings: net: can: Remove interrupt properties for MCAN")
Signed-off-by: Judith Mendez <jm@ti.com>
[fd: fixed labels to match datasheet numbering, revised commit message,
fixed reg/reg-names order]
Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
---
arch/arm64/boot/dts/ti/k3-am62-mcu.dtsi | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)
diff --git a/arch/arm64/boot/dts/ti/k3-am62-mcu.dtsi b/arch/arm64/boot/dts/ti/k3-am62-mcu.dtsi
index 19fc38157d94..fed50666d95b 100644
--- a/arch/arm64/boot/dts/ti/k3-am62-mcu.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-am62-mcu.dtsi
@@ -147,4 +147,28 @@ mcu_rti0: watchdog@4880000 {
/* Tightly coupled to M4F */
status = "reserved";
};
+
+ mcu_mcan0: can@4e00000 {
+ compatible = "bosch,m_can";
+ reg = <0x00 0x4e08000 0x00 0x200>,
+ <0x00 0x4e00000 0x00 0x8000>;
+ reg-names = "m_can", "message_ram";
+ power-domains = <&k3_pds 188 TI_SCI_PD_EXCLUSIVE>;
+ clocks = <&k3_clks 188 6>, <&k3_clks 188 1>;
+ clock-names = "hclk", "cclk";
+ bosch,mram-cfg = <0x0 128 64 64 64 64 32 32>;
+ status = "disabled";
+ };
+
+ mcu_mcan1: can@4e10000 {
+ compatible = "bosch,m_can";
+ reg = <0x00 0x4e18000 0x00 0x200>,
+ <0x00 0x4e10000 0x00 0x8000>;
+ reg-names = "m_can", "message_ram";
+ power-domains = <&k3_pds 189 TI_SCI_PD_EXCLUSIVE>;
+ clocks = <&k3_clks 189 6>, <&k3_clks 189 1>;
+ clock-names = "hclk", "cclk";
+ bosch,mram-cfg = <0x0 128 64 64 64 64 32 32>;
+ status = "disabled";
+ };
};
--
2.25.1
On 15:36-20230724, Francesco Dolcini wrote:
> From: Judith Mendez <jm@ti.com>
>
> On AM62x there are no hardware interrupts routed to A53 GIC
> interrupt controller for MCU MCAN IPs, so MCU MCAN nodes were
> omitted from MCU dtsi.
>
> Timer polling was introduced in commits [1][2] so now add MCU MCAN nodes
> to the MCU dtsi for the Cortex A53.
>
> [1] b382380c0d2d ("can: m_can: Add hrtimer to generate software interrupt")
> [2] bb410c03b999 ("dt-bindings: net: can: Remove interrupt properties for MCAN")
Check patch complains:
+[2] bb410c03b999 ("dt-bindings: net: can: Remove interrupt properties for MCAN")
+ERROR: Please use git commit description style 'commit <12+ chars of sha1> ("<title line>")' - ie: 'commit bb410c03b999 ("dt-bindings: net: can: Remove interrupt properties for MCAN")'
Either use commit sha ("title") or just drop the para.
>
> Signed-off-by: Judith Mendez <jm@ti.com>
> [fd: fixed labels to match datasheet numbering, revised commit message,
> fixed reg/reg-names order]
> Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
> ---
> arch/arm64/boot/dts/ti/k3-am62-mcu.dtsi | 24 ++++++++++++++++++++++++
> 1 file changed, 24 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/ti/k3-am62-mcu.dtsi b/arch/arm64/boot/dts/ti/k3-am62-mcu.dtsi
> index 19fc38157d94..fed50666d95b 100644
> --- a/arch/arm64/boot/dts/ti/k3-am62-mcu.dtsi
> +++ b/arch/arm64/boot/dts/ti/k3-am62-mcu.dtsi
> @@ -147,4 +147,28 @@ mcu_rti0: watchdog@4880000 {
> /* Tightly coupled to M4F */
> status = "reserved";
> };
> +
> + mcu_mcan0: can@4e00000 {
/bus@f0000/bus@4000000/can@4e00000: simple-bus unit address format error, expected "4e08000"
can@4e08000
> + compatible = "bosch,m_can";
> + reg = <0x00 0x4e08000 0x00 0x200>,
> + <0x00 0x4e00000 0x00 0x8000>;
> + reg-names = "m_can", "message_ram";
> + power-domains = <&k3_pds 188 TI_SCI_PD_EXCLUSIVE>;
> + clocks = <&k3_clks 188 6>, <&k3_clks 188 1>;
> + clock-names = "hclk", "cclk";
> + bosch,mram-cfg = <0x0 128 64 64 64 64 32 32>;
> + status = "disabled";
> + };
> +
> + mcu_mcan1: can@4e10000 {
same: can@4e18000
> + compatible = "bosch,m_can";
> + reg = <0x00 0x4e18000 0x00 0x200>,
> + <0x00 0x4e10000 0x00 0x8000>;
> + reg-names = "m_can", "message_ram";
> + power-domains = <&k3_pds 189 TI_SCI_PD_EXCLUSIVE>;
> + clocks = <&k3_clks 189 6>, <&k3_clks 189 1>;
> + clock-names = "hclk", "cclk";
> + bosch,mram-cfg = <0x0 128 64 64 64 64 32 32>;
> + status = "disabled";
> + };
> };
> --
> 2.25.1
>
--
Regards,
Nishanth Menon
Key (0xDDB5849D1736249D) / Fingerprint: F8A2 8693 54EB 8232 17A3 1A34 DDB5 849D 1736 249D
Hi Francesco,
On 7/24/23 8:36 AM, Francesco Dolcini wrote:
> From: Judith Mendez <jm@ti.com>
>
> On AM62x there are no hardware interrupts routed to A53 GIC
> interrupt controller for MCU MCAN IPs, so MCU MCAN nodes were
> omitted from MCU dtsi.
>
> Timer polling was introduced in commits [1][2] so now add MCU MCAN nodes
> to the MCU dtsi for the Cortex A53.
>
> [1] b382380c0d2d ("can: m_can: Add hrtimer to generate software interrupt")
> [2] bb410c03b999 ("dt-bindings: net: can: Remove interrupt properties for MCAN")
>
> Signed-off-by: Judith Mendez <jm@ti.com>
> [fd: fixed labels to match datasheet numbering, revised commit message,
> fixed reg/reg-names order]
> Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
> ---
> arch/arm64/boot/dts/ti/k3-am62-mcu.dtsi | 24 ++++++++++++++++++++++++
> 1 file changed, 24 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/ti/k3-am62-mcu.dtsi b/arch/arm64/boot/dts/ti/k3-am62-mcu.dtsi
> index 19fc38157d94..fed50666d95b 100644
> --- a/arch/arm64/boot/dts/ti/k3-am62-mcu.dtsi
> +++ b/arch/arm64/boot/dts/ti/k3-am62-mcu.dtsi
> @@ -147,4 +147,28 @@ mcu_rti0: watchdog@4880000 {
> /* Tightly coupled to M4F */
> status = "reserved";
> };
> +
> + mcu_mcan0: can@4e00000 {
> + compatible = "bosch,m_can";
> + reg = <0x00 0x4e08000 0x00 0x200>,
> + <0x00 0x4e00000 0x00 0x8000>;
> + reg-names = "m_can", "message_ram";
> + power-domains = <&k3_pds 188 TI_SCI_PD_EXCLUSIVE>;
> + clocks = <&k3_clks 188 6>, <&k3_clks 188 1>;
> + clock-names = "hclk", "cclk";
> + bosch,mram-cfg = <0x0 128 64 64 64 64 32 32>;
> + status = "disabled";
> + };
> +
> + mcu_mcan1: can@4e10000 {
> + compatible = "bosch,m_can";
> + reg = <0x00 0x4e18000 0x00 0x200>,
> + <0x00 0x4e10000 0x00 0x8000>;
> + reg-names = "m_can", "message_ram";
> + power-domains = <&k3_pds 189 TI_SCI_PD_EXCLUSIVE>;
> + clocks = <&k3_clks 189 6>, <&k3_clks 189 1>;
> + clock-names = "hclk", "cclk";
> + bosch,mram-cfg = <0x0 128 64 64 64 64 32 32>;
> + status = "disabled";
> + };
> };
Thanks for sending this patch, will also send for AM62ax.
~ Judith
Hello Judith,
On Mon, Jul 24, 2023 at 11:06:24AM -0500, Judith Mendez wrote:
> On 7/24/23 8:36 AM, Francesco Dolcini wrote:
> > From: Judith Mendez <jm@ti.com>
> >
> > On AM62x there are no hardware interrupts routed to A53 GIC
> > interrupt controller for MCU MCAN IPs, so MCU MCAN nodes were
> > omitted from MCU dtsi.
> >
> > Timer polling was introduced in commits [1][2] so now add MCU MCAN nodes
> > to the MCU dtsi for the Cortex A53.
> >
> > [1] b382380c0d2d ("can: m_can: Add hrtimer to generate software interrupt")
> > [2] bb410c03b999 ("dt-bindings: net: can: Remove interrupt properties for MCAN")
> >
> > Signed-off-by: Judith Mendez <jm@ti.com>
> > [fd: fixed labels to match datasheet numbering, revised commit message,
> > fixed reg/reg-names order]
> > Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
> > ---
...
> Thanks for sending this patch, will also send for AM62ax.
Please have a look at the couple of changes I did:
- corrected the label to be coherent with the datasheet and the other
peripheral names
- inverted "m_can" and "message_ram" regs/regs-names to fix a binding
checker error.
These might be relevant also for the AM62a.
Francesco
Hi Francesco,
On 7/24/23 11:22 AM, Francesco Dolcini wrote:
> Hello Judith,
>
> On Mon, Jul 24, 2023 at 11:06:24AM -0500, Judith Mendez wrote:
>> On 7/24/23 8:36 AM, Francesco Dolcini wrote:
>>> From: Judith Mendez <jm@ti.com>
>>>
>>> On AM62x there are no hardware interrupts routed to A53 GIC
>>> interrupt controller for MCU MCAN IPs, so MCU MCAN nodes were
>>> omitted from MCU dtsi.
>>>
>>> Timer polling was introduced in commits [1][2] so now add MCU MCAN nodes
>>> to the MCU dtsi for the Cortex A53.
>>>
>>> [1] b382380c0d2d ("can: m_can: Add hrtimer to generate software interrupt")
>>> [2] bb410c03b999 ("dt-bindings: net: can: Remove interrupt properties for MCAN")
>>>
>>> Signed-off-by: Judith Mendez <jm@ti.com>
>>> [fd: fixed labels to match datasheet numbering, revised commit message,
>>> fixed reg/reg-names order]
>>> Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
>>> ---
>
> ...
>
>> Thanks for sending this patch, will also send for AM62ax.
>
> Please have a look at the couple of changes I did:
> - corrected the label to be coherent with the datasheet and the other
> peripheral names
> - inverted "m_can" and "message_ram" regs/regs-names to fix a binding
> checker error.
>
> These might be relevant also for the AM62a.
Yes, already did. The changes look good to me, tested and everything
works on AM62x. Did the same changes to AM62ax MCU dtsi. Thanks!
~ Judith
© 2016 - 2026 Red Hat, Inc.