mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH v2 0/2] arm64: dts: ti: k3-am62: Add MCU MCAN
@ 2023-08-02  7:36 Francesco Dolcini
  2023-08-02  7:36 ` [PATCH v2 1/2] arm64: dts: ti: k3-am62: Add MCU MCAN nodes Francesco Dolcini
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Francesco Dolcini @ 2023-08-02  7:36 UTC (permalink / raw)
  To: Nishanth Menon, Vignesh Raghavendra, Tero Kristo, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley
  Cc: Francesco Dolcini, linux-arm-kernel, devicetree, linux-kernel,
	Judith Mendez

From: Francesco Dolcini <francesco.dolcini@toradex.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 Cortex A53.

[1] commit b382380c0d2d ("can: m_can: Add hrtimer to generate software interrupt")
[2] commit bb410c03b999 ("dt-bindings: net: can: Remove interrupt properties for MCAN")

Once the MCU MCANs are added to the SOC dtsi, enable the Verdin CAN2.

v1..v2:
 - fixed can node name
 - added commit prefix before sha in commit message

Hiago De Franco (1):
  arm64: dts: ti: k3-am625-verdin: enable CAN_2

Judith Mendez (1):
  arm64: dts: ti: k3-am62: Add MCU MCAN nodes

 arch/arm64/boot/dts/ti/k3-am62-mcu.dtsi       | 24 +++++++++++++++++++
 .../boot/dts/ti/k3-am62-verdin-dahlia.dtsi    |  5 ++++
 .../arm64/boot/dts/ti/k3-am62-verdin-dev.dtsi |  5 ++++
 .../boot/dts/ti/k3-am62-verdin-yavia.dtsi     |  5 ++++
 arch/arm64/boot/dts/ti/k3-am62-verdin.dtsi    | 19 +++++++++++++--
 5 files changed, 56 insertions(+), 2 deletions(-)

-- 
2.25.1


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH v2 1/2] arm64: dts: ti: k3-am62: Add MCU MCAN nodes
  2023-08-02  7:36 [PATCH v2 0/2] arm64: dts: ti: k3-am62: Add MCU MCAN Francesco Dolcini
@ 2023-08-02  7:36 ` Francesco Dolcini
  2023-08-02  7:36 ` [PATCH v2 2/2] arm64: dts: ti: k3-am625-verdin: enable CAN_2 Francesco Dolcini
  2023-08-05 19:00 ` [PATCH v2 0/2] arm64: dts: ti: k3-am62: Add MCU MCAN Nishanth Menon
  2 siblings, 0 replies; 4+ messages in thread
From: Francesco Dolcini @ 2023-08-02  7:36 UTC (permalink / raw)
  To: Nishanth Menon, Vignesh Raghavendra, Tero Kristo, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley
  Cc: Judith Mendez, linux-arm-kernel, devicetree, linux-kernel,
	Francesco Dolcini

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] commit b382380c0d2d ("can: m_can: Add hrtimer to generate software interrupt")
[2] commit 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>
---
v1..v2:
 - fixed can node name
 - added commit prefix before sha in commit message
---
 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..80a3e1db26a9 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@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@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


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH v2 2/2] arm64: dts: ti: k3-am625-verdin: enable CAN_2
  2023-08-02  7:36 [PATCH v2 0/2] arm64: dts: ti: k3-am62: Add MCU MCAN Francesco Dolcini
  2023-08-02  7:36 ` [PATCH v2 1/2] arm64: dts: ti: k3-am62: Add MCU MCAN nodes Francesco Dolcini
@ 2023-08-02  7:36 ` Francesco Dolcini
  2023-08-05 19:00 ` [PATCH v2 0/2] arm64: dts: ti: k3-am62: Add MCU MCAN Nishanth Menon
  2 siblings, 0 replies; 4+ messages in thread
From: Francesco Dolcini @ 2023-08-02  7:36 UTC (permalink / raw)
  To: Nishanth Menon, Vignesh Raghavendra, Tero Kristo, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley
  Cc: Hiago De Franco, linux-arm-kernel, devicetree, linux-kernel,
	Francesco Dolcini

From: Hiago De Franco <hiago.franco@toradex.com>

Add Verdin CAN_2 (TI AM62 MCU_MCAN0) and enable it on the Yavia,
Dahlia and Verdin Development board.

Signed-off-by: Hiago De Franco <hiago.franco@toradex.com>
Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
---
 .../boot/dts/ti/k3-am62-verdin-dahlia.dtsi    |  5 +++++
 .../arm64/boot/dts/ti/k3-am62-verdin-dev.dtsi |  5 +++++
 .../boot/dts/ti/k3-am62-verdin-yavia.dtsi     |  5 +++++
 arch/arm64/boot/dts/ti/k3-am62-verdin.dtsi    | 19 +++++++++++++++++--
 4 files changed, 32 insertions(+), 2 deletions(-)

diff --git a/arch/arm64/boot/dts/ti/k3-am62-verdin-dahlia.dtsi b/arch/arm64/boot/dts/ti/k3-am62-verdin-dahlia.dtsi
index 3abd8d1d6761..33c8f6ffaa30 100644
--- a/arch/arm64/boot/dts/ti/k3-am62-verdin-dahlia.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-am62-verdin-dahlia.dtsi
@@ -115,6 +115,11 @@ &mcu_i2c0 {
 	status = "okay";
 };
 
+/* Verdin CAN_2 */
+&mcu_mcan0 {
+	status = "okay";
+};
+
 /* Verdin UART_4 */
 &mcu_uart0 {
 	status = "okay";
diff --git a/arch/arm64/boot/dts/ti/k3-am62-verdin-dev.dtsi b/arch/arm64/boot/dts/ti/k3-am62-verdin-dev.dtsi
index 846caee7dfa4..8205081fda33 100644
--- a/arch/arm64/boot/dts/ti/k3-am62-verdin-dev.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-am62-verdin-dev.dtsi
@@ -144,6 +144,11 @@ &mcu_i2c0 {
 	status = "okay";
 };
 
+/* Verdin CAN_2 */
+&mcu_mcan0 {
+	status = "okay";
+};
+
 /* Verdin UART_4 */
 &mcu_uart0 {
 	status = "okay";
diff --git a/arch/arm64/boot/dts/ti/k3-am62-verdin-yavia.dtsi b/arch/arm64/boot/dts/ti/k3-am62-verdin-yavia.dtsi
index cb11d6e7f525..c685df7deaee 100644
--- a/arch/arm64/boot/dts/ti/k3-am62-verdin-yavia.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-am62-verdin-yavia.dtsi
@@ -167,6 +167,11 @@ &mcu_i2c0 {
 	status = "okay";
 };
 
+/* Verdin CAN_2 */
+&mcu_mcan0 {
+	status = "okay";
+};
+
 /* Verdin UART_4 */
 &mcu_uart0 {
 	status = "okay";
diff --git a/arch/arm64/boot/dts/ti/k3-am62-verdin.dtsi b/arch/arm64/boot/dts/ti/k3-am62-verdin.dtsi
index 57dd061911ab..12dd1d64eac9 100644
--- a/arch/arm64/boot/dts/ti/k3-am62-verdin.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-am62-verdin.dtsi
@@ -19,6 +19,8 @@ chosen {
 	};
 
 	aliases {
+		can0 = &main_mcan0;
+		can1 = &mcu_mcan0;
 		ethernet0 = &cpsw_port1;
 		ethernet1 = &cpsw_port2;
 		i2c0 = &main_i2c0;
@@ -732,6 +734,14 @@ AM62X_MCU_IOPAD(0x0048, PIN_INPUT, 0) /* (D10) MCU_I2C0_SDA */ /* SODIMM 57 */
 		>;
 	};
 
+	/* Verdin CAN_2 */
+	pinctrl_mcu_mcan0: mcu-mcan0-default-pins {
+		pinctrl-single,pins = <
+			AM62X_MCU_IOPAD(0x0038, PIN_INPUT,  0) /* (B3) MCU_MCAN0_RX */ /* SODIMM 26 */
+			AM62X_MCU_IOPAD(0x0034, PIN_OUTPUT, 0) /* (D6) MCU_MCAN0_TX */ /* SODIMM 24 */
+		>;
+	};
+
 	/* Verdin UART_4 - Reserved to Cortex-M4 */
 	pinctrl_mcu_uart0: mcu-uart0-default-pins {
 		pinctrl-single,pins = <
@@ -1238,8 +1248,6 @@ &main_mcan0 {
 	status = "disabled";
 };
 
-/* Verdin CAN_2 - Reserved to Cortex-M4 */
-
 /* Verdin SPI_1 */
 &main_spi1 {
 	pinctrl-names = "default";
@@ -1333,6 +1341,13 @@ &mcu_gpio0 {
 		"";
 };
 
+/* Verdin CAN_2 */
+&mcu_mcan0 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_mcu_mcan0>;
+	status = "disabled";
+};
+
 /* Verdin UART_4 - Cortex-M4 UART */
 &mcu_uart0 {
 	pinctrl-names = "default";
-- 
2.25.1


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH v2 0/2] arm64: dts: ti: k3-am62: Add MCU MCAN
  2023-08-02  7:36 [PATCH v2 0/2] arm64: dts: ti: k3-am62: Add MCU MCAN Francesco Dolcini
  2023-08-02  7:36 ` [PATCH v2 1/2] arm64: dts: ti: k3-am62: Add MCU MCAN nodes Francesco Dolcini
  2023-08-02  7:36 ` [PATCH v2 2/2] arm64: dts: ti: k3-am625-verdin: enable CAN_2 Francesco Dolcini
@ 2023-08-05 19:00 ` Nishanth Menon
  2 siblings, 0 replies; 4+ messages in thread
From: Nishanth Menon @ 2023-08-05 19:00 UTC (permalink / raw)
  To: Vignesh Raghavendra, Tero Kristo, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Francesco Dolcini
  Cc: Nishanth Menon, Francesco Dolcini, linux-arm-kernel, devicetree,
	linux-kernel, Judith Mendez

Hi Francesco Dolcini,

On Wed, 02 Aug 2023 09:36:33 +0200, Francesco Dolcini wrote:
> From: Francesco Dolcini <francesco.dolcini@toradex.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 Cortex A53.

I understand the dependency, it does create a dtbs_check warnings on
rc1, but I am picking this up since the yaml fixup is in next already
and not a new compatible addition. if the fixups does'nt end up in
linus-master for 6.6-rc1, we might need to look at what we need to do.
Please let me know if there is any concerns and I can drop this series
from my tree.

> 
> [...]

I have applied the following to branch ti-k3-dts-next on [1].
Thank you!

[1/2] arm64: dts: ti: k3-am62: Add MCU MCAN nodes
      commit: 108f61e03963a3a019486fd80cc84d5db5c204d0
[2/2] arm64: dts: ti: k3-am625-verdin: enable CAN_2
      commit: 7480cea33b4c36aeffe592eb6f151bc9974fee70

All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent up the chain during
the next merge window (or sooner if it is a relevant bug fix), however if
problems are discovered then the patch may be dropped or reverted.

You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying
to this mail.

[1] https://git.kernel.org/pub/scm/linux/kernel/git/ti/linux.git
-- 
Regards,
Nishanth Menon
Key (0xDDB5849D1736249D) / Fingerprint: F8A2 8693 54EB 8232 17A3  1A34 DDB5 849D 1736 249D


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2023-08-05 19:01 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-08-02  7:36 [PATCH v2 0/2] arm64: dts: ti: k3-am62: Add MCU MCAN Francesco Dolcini
2023-08-02  7:36 ` [PATCH v2 1/2] arm64: dts: ti: k3-am62: Add MCU MCAN nodes Francesco Dolcini
2023-08-02  7:36 ` [PATCH v2 2/2] arm64: dts: ti: k3-am625-verdin: enable CAN_2 Francesco Dolcini
2023-08-05 19:00 ` [PATCH v2 0/2] arm64: dts: ti: k3-am62: Add MCU MCAN Nishanth Menon

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®