* [PATCH v1 1/5] ARM: configs: multi_v7: Add I2C support
2018-04-20 9:17 [PATCH v1 0/5] Add I2C Support on STM32MP157C Pierre-Yves MORDRET
@ 2018-04-20 9:17 ` Pierre-Yves MORDRET
2018-04-20 10:07 ` Geert Uytterhoeven
2018-04-20 9:17 ` [PATCH v1 2/5] ARM: dts: stm32: Add I2C support for STM32MP157C SoC Pierre-Yves MORDRET
` (3 subsequent siblings)
4 siblings, 1 reply; 7+ messages in thread
From: Pierre-Yves MORDRET @ 2018-04-20 9:17 UTC (permalink / raw)
To: Maxime Coquelin, Alexandre Torgue, Rob Herring, Mark Rutland,
Russell King, Geert Uytterhoeven, Marek Szyprowski,
Kishon Vijay Abraham I, Marc Zyngier, Maxime Ripard, Yangbo Lu,
linux-arm-kernel, devicetree, linux-kernel
Cc: Pierre-Yves MORDRET
This patch adds I2C F7 support to multi_v7_defconfig
Signed-off-by: Pierre-Yves MORDRET <pierre-yves.mordret@st.com>
---
Version history:
v1:
* Initial
---
---
arch/arm/configs/multi_v7_defconfig | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/arm/configs/multi_v7_defconfig b/arch/arm/configs/multi_v7_defconfig
index e6b3c96..2a87784 100644
--- a/arch/arm/configs/multi_v7_defconfig
+++ b/arch/arm/configs/multi_v7_defconfig
@@ -385,6 +385,7 @@ CONFIG_I2C_S3C2410=y
CONFIG_I2C_SH_MOBILE=y
CONFIG_I2C_SIRF=y
CONFIG_I2C_ST=y
+CONFIG_I2C_STM32F7=y
CONFIG_I2C_SUN6I_P2WI=y
CONFIG_I2C_TEGRA=y
CONFIG_I2C_UNIPHIER=y
--
2.7.4
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH v1 1/5] ARM: configs: multi_v7: Add I2C support
2018-04-20 9:17 ` [PATCH v1 1/5] ARM: configs: multi_v7: Add I2C support Pierre-Yves MORDRET
@ 2018-04-20 10:07 ` Geert Uytterhoeven
0 siblings, 0 replies; 7+ messages in thread
From: Geert Uytterhoeven @ 2018-04-20 10:07 UTC (permalink / raw)
To: Pierre-Yves MORDRET
Cc: Maxime Coquelin, Alexandre Torgue, Rob Herring, Mark Rutland,
Russell King, Geert Uytterhoeven, Marek Szyprowski,
Kishon Vijay Abraham I, Marc Zyngier, Maxime Ripard, Yangbo Lu,
Linux ARM,
open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
Linux Kernel Mailing List
Hi Pierre-Yves,
On Fri, Apr 20, 2018 at 11:17 AM, Pierre-Yves MORDRET
<pierre-yves.mordret@st.com> wrote:
> This patch adds I2C F7 support to multi_v7_defconfig
>
> Signed-off-by: Pierre-Yves MORDRET <pierre-yves.mordret@st.com>
Thanks for your patch!
I think the subject should be "ARM: multi_v7_defconfig: Add STM32F7
I2C support",
as generic I2C support is already enabled.
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH v1 2/5] ARM: dts: stm32: Add I2C support for STM32MP157C SoC
2018-04-20 9:17 [PATCH v1 0/5] Add I2C Support on STM32MP157C Pierre-Yves MORDRET
2018-04-20 9:17 ` [PATCH v1 1/5] ARM: configs: multi_v7: Add I2C support Pierre-Yves MORDRET
@ 2018-04-20 9:17 ` Pierre-Yves MORDRET
2018-04-20 9:17 ` [PATCH v1 3/5] ARM: dts: stm32: Add I2Cs pin control on STM32MP157C Pierre-Yves MORDRET
` (2 subsequent siblings)
4 siblings, 0 replies; 7+ messages in thread
From: Pierre-Yves MORDRET @ 2018-04-20 9:17 UTC (permalink / raw)
To: Maxime Coquelin, Alexandre Torgue, Rob Herring, Mark Rutland,
Russell King, Geert Uytterhoeven, Marek Szyprowski,
Kishon Vijay Abraham I, Marc Zyngier, Maxime Ripard, Yangbo Lu,
linux-arm-kernel, devicetree, linux-kernel
Cc: Pierre-Yves MORDRET
This patch adds all I2C instances for STM32MP157C SoC.
Signed-off-by: Pierre-Yves MORDRET <pierre-yves.mordret@st.com>
---
Version history:
v1:
* Initial
---
---
arch/arm/boot/dts/stm32mp157c.dtsi | 77 ++++++++++++++++++++++++++++++++++++++
1 file changed, 77 insertions(+)
diff --git a/arch/arm/boot/dts/stm32mp157c.dtsi b/arch/arm/boot/dts/stm32mp157c.dtsi
index bc3eddc..9e94186 100644
--- a/arch/arm/boot/dts/stm32mp157c.dtsi
+++ b/arch/arm/boot/dts/stm32mp157c.dtsi
@@ -136,6 +136,57 @@
status = "disabled";
};
+ i2c1: i2c@40012000 {
+ compatible = "st,stm32f7-i2c";
+ reg = <0x40012000 0x400>;
+ interrupt-names = "event", "error";
+ interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&rcc I2C1_K>;
+ resets = <&rcc I2C1_R>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ status = "disabled";
+ };
+
+ i2c2: i2c@40013000 {
+ compatible = "st,stm32f7-i2c";
+ reg = <0x40013000 0x400>;
+ interrupt-names = "event", "error";
+ interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&rcc I2C2_K>;
+ resets = <&rcc I2C2_R>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ status = "disabled";
+ };
+
+ i2c3: i2c@40014000 {
+ compatible = "st,stm32f7-i2c";
+ reg = <0x40014000 0x400>;
+ interrupt-names = "event", "error";
+ interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&rcc I2C3_K>;
+ resets = <&rcc I2C3_R>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
+
+ i2c5: i2c@40015000 {
+ compatible = "st,stm32f7-i2c";
+ reg = <0x40015000 0x400>;
+ interrupt-names = "event", "error";
+ interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&rcc I2C5_K>;
+ resets = <&rcc I2C5_R>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ status = "disabled";
+ };
+
uart7: serial@40018000 {
compatible = "st,stm32h7-uart";
reg = <0x40018000 0x400>;
@@ -174,5 +225,31 @@
clocks = <&rcc USART1_K>;
status = "disabled";
};
+
+ i2c4: i2c@5c002000 {
+ compatible = "st,stm32f7-i2c";
+ reg = <0x5c002000 0x400>;
+ interrupt-names = "event", "error";
+ interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&rcc I2C4_K>;
+ resets = <&rcc I2C4_R>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ status = "disabled";
+ };
+
+ i2c6: i2c@5c009000 {
+ compatible = "st,stm32f7-i2c";
+ reg = <0x5c009000 0x400>;
+ interrupt-names = "event", "error";
+ interrupts = <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&rcc I2C6_K>;
+ resets = <&rcc I2C6_R>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ status = "disabled";
+ };
};
};
--
2.7.4
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH v1 3/5] ARM: dts: stm32: Add I2Cs pin control on STM32MP157C
2018-04-20 9:17 [PATCH v1 0/5] Add I2C Support on STM32MP157C Pierre-Yves MORDRET
2018-04-20 9:17 ` [PATCH v1 1/5] ARM: configs: multi_v7: Add I2C support Pierre-Yves MORDRET
2018-04-20 9:17 ` [PATCH v1 2/5] ARM: dts: stm32: Add I2C support for STM32MP157C SoC Pierre-Yves MORDRET
@ 2018-04-20 9:17 ` Pierre-Yves MORDRET
2018-04-20 9:17 ` [PATCH v1 4/5] ARM: dts: stm32: Add I2C4 support for STM32MP157C-ED1 Pierre-Yves MORDRET
2018-04-20 9:17 ` [PATCH v1 5/5] ARM: dts: stm32: Add I2C2/5 support for STM32MP157C-EV1 Pierre-Yves MORDRET
4 siblings, 0 replies; 7+ messages in thread
From: Pierre-Yves MORDRET @ 2018-04-20 9:17 UTC (permalink / raw)
To: Maxime Coquelin, Alexandre Torgue, Rob Herring, Mark Rutland,
Russell King, Geert Uytterhoeven, Marek Szyprowski,
Kishon Vijay Abraham I, Marc Zyngier, Maxime Ripard, Yangbo Lu,
linux-arm-kernel, devicetree, linux-kernel
Cc: Pierre-Yves MORDRET
This patch adds a dedicated pin control applied on I2C1,2,4 & 5
Signed-off-by: Pierre-Yves MORDRET <pierre-yves.mordret@st.com>
---
Version history:
v1:
* Initial
---
---
arch/arm/boot/dts/stm32mp157-pinctrl.dtsi | 40 +++++++++++++++++++++++++++++++
1 file changed, 40 insertions(+)
diff --git a/arch/arm/boot/dts/stm32mp157-pinctrl.dtsi b/arch/arm/boot/dts/stm32mp157-pinctrl.dtsi
index 6f044100..862e626 100644
--- a/arch/arm/boot/dts/stm32mp157-pinctrl.dtsi
+++ b/arch/arm/boot/dts/stm32mp157-pinctrl.dtsi
@@ -146,6 +146,36 @@
gpio-ranges = <&pinctrl 0 160 8>;
};
+ i2c1_pins_a: i2c1@0 {
+ pins {
+ pinmux = <STM32_PINMUX('D', 12, AF5)>, /* I2C1_SCL */
+ <STM32_PINMUX('F', 15, AF5)>; /* I2C1_SDA */
+ bias-disable;
+ drive-open-drain;
+ slew-rate = <0>;
+ };
+ };
+
+ i2c2_pins_a: i2c2@0 {
+ pins {
+ pinmux = <STM32_PINMUX('H', 4, AF4)>, /* I2C2_SCL */
+ <STM32_PINMUX('H', 5, AF4)>; /* I2C2_SDA */
+ bias-disable;
+ drive-open-drain;
+ slew-rate = <0>;
+ };
+ };
+
+ i2c5_pins_a: i2c5@0 {
+ pins {
+ pinmux = <STM32_PINMUX('A', 11, AF4)>, /* I2C5_SCL */
+ <STM32_PINMUX('A', 12, AF4)>; /* I2C5_SDA */
+ bias-disable;
+ drive-open-drain;
+ slew-rate = <0>;
+ };
+ };
+
uart4_pins_a: uart4@0 {
pins1 {
pinmux = <STM32_PINMUX('G', 11, AF6)>; /* UART4_TX */
@@ -180,6 +210,16 @@
ngpios = <8>;
gpio-ranges = <&pinctrl_z 0 400 8>;
};
+
+ i2c4_pins_a: i2c4@0 {
+ pins {
+ pinmux = <STM32_PINMUX('Z', 4, AF6)>, /* I2C4_SCL */
+ <STM32_PINMUX('Z', 5, AF6)>; /* I2C4_SDA */
+ bias-disable;
+ drive-open-drain;
+ slew-rate = <0>;
+ };
+ };
};
};
};
--
2.7.4
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH v1 4/5] ARM: dts: stm32: Add I2C4 support for STM32MP157C-ED1
2018-04-20 9:17 [PATCH v1 0/5] Add I2C Support on STM32MP157C Pierre-Yves MORDRET
` (2 preceding siblings ...)
2018-04-20 9:17 ` [PATCH v1 3/5] ARM: dts: stm32: Add I2Cs pin control on STM32MP157C Pierre-Yves MORDRET
@ 2018-04-20 9:17 ` Pierre-Yves MORDRET
2018-04-20 9:17 ` [PATCH v1 5/5] ARM: dts: stm32: Add I2C2/5 support for STM32MP157C-EV1 Pierre-Yves MORDRET
4 siblings, 0 replies; 7+ messages in thread
From: Pierre-Yves MORDRET @ 2018-04-20 9:17 UTC (permalink / raw)
To: Maxime Coquelin, Alexandre Torgue, Rob Herring, Mark Rutland,
Russell King, Geert Uytterhoeven, Marek Szyprowski,
Kishon Vijay Abraham I, Marc Zyngier, Maxime Ripard, Yangbo Lu,
linux-arm-kernel, devicetree, linux-kernel
Cc: Pierre-Yves MORDRET
Add I2C4 support for STM32MP157C evaluation daughter.
Required for PMIC.
Signed-off-by: Pierre-Yves MORDRET <pierre-yves.mordret@st.com>
---
Version history:
v1:
* Initial
---
---
arch/arm/boot/dts/stm32mp157c-ed1.dts | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/arch/arm/boot/dts/stm32mp157c-ed1.dts b/arch/arm/boot/dts/stm32mp157c-ed1.dts
index 9f90337a..490b712 100644
--- a/arch/arm/boot/dts/stm32mp157c-ed1.dts
+++ b/arch/arm/boot/dts/stm32mp157c-ed1.dts
@@ -25,6 +25,14 @@
};
};
+&i2c4 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&i2c4_pins_a>;
+ i2c-scl-rising-time-ns = <185>;
+ i2c-scl-falling-time-ns = <20>;
+ status = "okay";
+};
+
&uart4 {
pinctrl-names = "default";
pinctrl-0 = <&uart4_pins_a>;
--
2.7.4
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH v1 5/5] ARM: dts: stm32: Add I2C2/5 support for STM32MP157C-EV1
2018-04-20 9:17 [PATCH v1 0/5] Add I2C Support on STM32MP157C Pierre-Yves MORDRET
` (3 preceding siblings ...)
2018-04-20 9:17 ` [PATCH v1 4/5] ARM: dts: stm32: Add I2C4 support for STM32MP157C-ED1 Pierre-Yves MORDRET
@ 2018-04-20 9:17 ` Pierre-Yves MORDRET
4 siblings, 0 replies; 7+ messages in thread
From: Pierre-Yves MORDRET @ 2018-04-20 9:17 UTC (permalink / raw)
To: Maxime Coquelin, Alexandre Torgue, Rob Herring, Mark Rutland,
Russell King, Geert Uytterhoeven, Marek Szyprowski,
Kishon Vijay Abraham I, Marc Zyngier, Maxime Ripard, Yangbo Lu,
linux-arm-kernel, devicetree, linux-kernel
Cc: Pierre-Yves MORDRET
Add I2C1/5 support for STM32MP157C evaluation daughter on evaluation
mother board.
Signed-off-by: Pierre-Yves MORDRET <pierre-yves.mordret@st.com>
---
Version history:
v1:
* Initial
---
---
arch/arm/boot/dts/stm32mp157c-ev1.dts | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
diff --git a/arch/arm/boot/dts/stm32mp157c-ev1.dts b/arch/arm/boot/dts/stm32mp157c-ev1.dts
index 57e6dbc..20dd8aa 100644
--- a/arch/arm/boot/dts/stm32mp157c-ev1.dts
+++ b/arch/arm/boot/dts/stm32mp157c-ev1.dts
@@ -19,3 +19,20 @@
serial0 = &uart4;
};
};
+
+&i2c2 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&i2c2_pins_a>;
+ i2c-scl-rising-time-ns = <185>;
+ i2c-scl-falling-time-ns = <20>;
+ status = "okay";
+};
+
+&i2c5 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&i2c5_pins_a>;
+ i2c-scl-rising-time-ns = <185>;
+ i2c-scl-falling-time-ns = <20>;
+ status = "okay";
+};
+
--
2.7.4
^ permalink raw reply related [flat|nested] 7+ messages in thread