2018-11-15 08:53:47

by Bich HEMON

[permalink] [raw]
Subject: [PATCH 0/3] CAN fix for stm32mp157c

This patchset changes the CAN RAM mapping and adds CAN sleep pins.

Bich Hemon (3):
ARM: dts: stm32: change CAN RAM mapping on stm32mp157c
ARM: dts: stm32: add can1 sleep pins muxing
ARM: dts: stm32: add can1 sleep pins muxing on stm32mp157c-ev1 board

arch/arm/boot/dts/stm32mp157-pinctrl.dtsi | 7 +++++++
arch/arm/boot/dts/stm32mp157c-ev1.dts | 3 ++-
arch/arm/boot/dts/stm32mp157c.dtsi | 4 ++--
3 files changed, 11 insertions(+), 3 deletions(-)

--
1.9.1


2018-11-15 08:53:51

by Bich HEMON

[permalink] [raw]
Subject: [PATCH 3/3] ARM: dts: stm32: add can1 sleep pins muxing on stm32mp157c-ev1 board

Add pinctrl sleep state for can1 on stm32mp157c-ev1.

Signed-off-by: Bich Hemon <[email protected]>
---
arch/arm/boot/dts/stm32mp157c-ev1.dts | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/arch/arm/boot/dts/stm32mp157c-ev1.dts b/arch/arm/boot/dts/stm32mp157c-ev1.dts
index 063ee8a..fdc4c92 100644
--- a/arch/arm/boot/dts/stm32mp157c-ev1.dts
+++ b/arch/arm/boot/dts/stm32mp157c-ev1.dts
@@ -124,8 +124,9 @@
};

&m_can1 {
- pinctrl-names = "default";
+ pinctrl-names = "default", "sleep";
pinctrl-0 = <&m_can1_pins_a>;
+ pinctrl-1 = <&m_can1_sleep_pins_a>;
status = "okay";
};

--
1.9.1

2018-11-15 08:53:59

by Bich HEMON

[permalink] [raw]
Subject: [PATCH 2/3] ARM: dts: stm32: add can1 sleep pins muxing

Add can1 pinctrl definition for low-power mode

Signed-off-by: Bich Hemon <[email protected]>
---
arch/arm/boot/dts/stm32mp157-pinctrl.dtsi | 7 +++++++
1 file changed, 7 insertions(+)

diff --git a/arch/arm/boot/dts/stm32mp157-pinctrl.dtsi b/arch/arm/boot/dts/stm32mp157-pinctrl.dtsi
index c485127..9ec4694 100644
--- a/arch/arm/boot/dts/stm32mp157-pinctrl.dtsi
+++ b/arch/arm/boot/dts/stm32mp157-pinctrl.dtsi
@@ -246,6 +246,13 @@
};
};

+ m_can1_sleep_pins_a: m_can1-sleep@0 {
+ pins {
+ pinmux = <STM32_PINMUX('H', 13, ANALOG)>, /* CAN1_TX */
+ <STM32_PINMUX('I', 9, ANALOG)>; /* CAN1_RX */
+ };
+ };
+
pwm2_pins_a: pwm2-0 {
pins {
pinmux = <STM32_PINMUX('A', 3, AF1)>; /* TIM2_CH4 */
--
1.9.1

2018-11-15 08:54:27

by Bich HEMON

[permalink] [raw]
Subject: [PATCH 1/3] ARM: dts: stm32: change CAN RAM mapping on stm32mp157c

Split the 10Kbytes CAN message RAM to be able to use simultaneously
FDCAN1 and FDCAN2 instances.
First 5Kbytes are allocated to FDCAN1 and last 5Kbytes are used for
FDCAN2. To do so, set the offset to 0x1400 in mram-cfg for FDCAN2.

Signed-off-by: Bich Hemon <[email protected]>
---
arch/arm/boot/dts/stm32mp157c.dtsi | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/arm/boot/dts/stm32mp157c.dtsi b/arch/arm/boot/dts/stm32mp157c.dtsi
index 8bf1c17..ffd7457 100644
--- a/arch/arm/boot/dts/stm32mp157c.dtsi
+++ b/arch/arm/boot/dts/stm32mp157c.dtsi
@@ -684,7 +684,7 @@

m_can1: can@4400e000 {
compatible = "bosch,m_can";
- reg = <0x4400e000 0x400>, <0x44011000 0x2800>;
+ reg = <0x4400e000 0x400>, <0x44011000 0x1400>;
reg-names = "m_can", "message_ram";
interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
@@ -704,7 +704,7 @@
interrupt-names = "int0", "int1";
clocks = <&rcc CK_HSE>, <&rcc FDCAN_K>;
clock-names = "hclk", "cclk";
- bosch,mram-cfg = <0x0 0 0 32 0 0 2 2>;
+ bosch,mram-cfg = <0x1400 0 0 32 0 0 2 2>;
status = "disabled";
};

--
1.9.1

2018-12-03 08:59:19

by Alexandre Torgue

[permalink] [raw]
Subject: Re: [PATCH 0/3] CAN fix for stm32mp157c

Hi Bich,

On 11/15/18 9:52 AM, Bich HEMON wrote:
> This patchset changes the CAN RAM mapping and adds CAN sleep pins.
>
> Bich Hemon (3):
>   ARM: dts: stm32: change CAN RAM mapping on stm32mp157c
>   ARM: dts: stm32: add can1 sleep pins muxing
>   ARM: dts: stm32: add can1 sleep pins muxing on stm32mp157c-ev1 board
>
>  arch/arm/boot/dts/stm32mp157-pinctrl.dtsi | 7 +++++++
>  arch/arm/boot/dts/stm32mp157c-ev1.dts     | 3 ++-
>  arch/arm/boot/dts/stm32mp157c.dtsi        | 4 ++--
>  3 files changed, 11 insertions(+), 3 deletions(-)
>
> --
> 1.9.1

Series applied on stm32-next.

Regards
Alex