Skip to contentSkip to conversation

ARM: dts: Enable PMIC interrupts on ODROID

PATCH New Daniel Drake 7 participants 12 messages Jul 16, 2014 – Aug 24, 2014

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/2 ARM: dts: Enable PMIC interrupts on ODROID

The ODROID kernel shows that the PMIC interrupt line is hooked up to pin GPX3-2.

This is needed for the max77686-irq driver to create the PMIC IRQ domain, which is needed by max77686-rtc.

---
 arch/arm/boot/dts/exynos4412-odroid-common.dtsi | 11 +++++++++++
 1 file changed, 11 insertions(+)
arch/arm/boot/dts/exynos4412-odroid-common.dtsi +11 -0
index 6d6d23c..cb6f55f 100644
@@ -148,6 +148,10 @@
 
 		max77686: pmic at 09 {
 			compatible = "maxim,max77686";
+			interrupt-parent = <&gpx3>;
+			interrupts = <2 0>;
+			pinctrl-names = "default";
+			pinctrl-0 = <&max77686_irq>;
 			reg = <0x09>;
 			#clock-cells = <1>;
 
@@ -368,4 +372,11 @@
 		samsung,pins = "gpx1-3";
 		samsung,pin-pud = <0>;
 	};
+
+	max77686_irq: max77686-irq {
+		samsung,pins = "gpx3-2";
+		samsung,pin-function = <0>;
+		samsung,pin-pud = <0>;
+		samsung,pin-drv = <0>;
+	};
 };
Signature · 1 line
1.9.1
#1 lore raw

PATCH 2/2 ARM: dts: ODROID i2c improvements

Increase max i2c bus frequency beyond the default for faster data transfers. According to the manual, these faster speeds are only available when the board is wired up the right way. In this case, the vendor kernel has run at this speed for a long time.

sda-delay is needed for talking to RTC on PMIC, otherwise the i2c controller never sees an ACK. Strangely the other PMIC i2c slave (the main one) works fine even without this delay. I Chose value 100 to match the vendor kernel.

---
 arch/arm/boot/dts/exynos4412-odroid-common.dtsi | 2 ++
 1 file changed, 2 insertions(+)
arch/arm/boot/dts/exynos4412-odroid-common.dtsi +2 -0
index cb6f55f..adadaf9 100644
@@ -134,6 +134,8 @@
 	i2c at 13860000 {
 		pinctrl-0 = <&i2c0_bus>;
 		pinctrl-names = "default";
+		samsung,i2c-sda-delay = <100>;
+		samsung,i2c-max-bus-freq = <400000>;
 		status = "okay";
 
 		usb3503: usb3503 at 08 {
Signature · 1 line
1.9.1
#2 lore raw

PATCH 2/2 ARM: dts: ODROID i2c improvements

Quoted 21 lines · Daniel Drake

Increase max i2c bus frequency beyond the default for faster data transfers. According to the manual, these faster speeds are only available when the board is wired up the right way. In this case, the vendor kernel has run at this speed for a long time.

sda-delay is needed for talking to RTC on PMIC, otherwise the i2c controller never sees an ACK. Strangely the other PMIC i2c slave (the main one) works fine even without this delay. I Chose value 100 to match the vendor kernel.

---
 arch/arm/boot/dts/exynos4412-odroid-common.dtsi | 2 ++
 1 file changed, 2 insertions(+)
arch/arm/boot/dts/exynos4412-odroid-common.dtsi +0 -0
index cb6f55f..adadaf9 100644

arch/arm/boot/dts/exynos4412-odroid-common.dtsi line 141

Quoted 8 lines
arch/arm/boot/dts/exynos4412-odroid-common.dtsi +2 -0
@@ -134,6 +134,8 @@
 	i2c at 13860000 {
 		pinctrl-0 = <&i2c0_bus>;
 		pinctrl-names = "default";
+		samsung,i2c-sda-delay = <100>;
+		samsung,i2c-max-bus-freq = <400000>;
 		status = "okay";
 
 		usb3503: usb3503 at 08 {

--
Best regards,
Tomasz

#3 lore raw

PATCH 2/2 ARM: dts: ODROID i2c improvements

In reply to Daniel Drake

Tested on an Odroid-U2:

Thanks,

Tomeu

Quoted 36 lines · Daniel Drake

Increase max i2c bus frequency beyond the default for faster data transfers. According to the manual, these faster speeds are only available when the board is wired up the right way. In this case, the vendor kernel has run at this speed for a long time.

sda-delay is needed for talking to RTC on PMIC, otherwise the i2c controller never sees an ACK. Strangely the other PMIC i2c slave (the main one) works fine even without this delay. I Chose value 100 to match the vendor kernel.

---
 arch/arm/boot/dts/exynos4412-odroid-common.dtsi | 2 ++
 1 file changed, 2 insertions(+)
arch/arm/boot/dts/exynos4412-odroid-common.dtsi +2 -1
index cb6f55f..adadaf9 100644
@@ -134,6 +134,8 @@
        i2c at 13860000 {
                pinctrl-0 = <&i2c0_bus>;
                pinctrl-names = "default";
+               samsung,i2c-sda-delay = <100>;
+               samsung,i2c-max-bus-freq = <400000>;
                status = "okay";
 
                usb3503: usb3503 at 08 {
--

1.9.1

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel at lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

#4 lore raw

PATCH 1/2 ARM: dts: Enable PMIC interrupts on ODROID

In reply to Daniel Drake
Quoted 29 lines · Daniel Drake

The ODROID kernel shows that the PMIC interrupt line is hooked up to pin GPX3-2.

This is needed for the max77686-irq driver to create the PMIC IRQ domain, which is needed by max77686-rtc.

---
 arch/arm/boot/dts/exynos4412-odroid-common.dtsi | 11 +++++++++++
 1 file changed, 11 insertions(+)
arch/arm/boot/dts/exynos4412-odroid-common.dtsi +4 -0
index 6d6d23c..cb6f55f 100644
@@ -148,6 +148,10 @@
 
 		max77686: pmic at 09 {
 			compatible = "maxim,max77686";
+			interrupt-parent = <&gpx3>;
+			interrupts = <2 0>;
+			pinctrl-names = "default";
+			pinctrl-0 = <&max77686_irq>;
 			reg = <0x09>;
 			#clock-cells = <1>;
 
@@ -368,4 +372,11 @@
 		samsung,pins = "gpx1-3";

arch/arm/boot/dts/exynos4412-odroid-common.dtsi line 382

Quoted 10 lines
arch/arm/boot/dts/exynos4412-odroid-common.dtsi +7 -0
 		samsung,pin-pud = <0>;
 	};
+
+	max77686_irq: max77686-irq {
+		samsung,pins = "gpx3-2";
+		samsung,pin-function = <0>;
+		samsung,pin-pud = <0>;
+		samsung,pin-drv = <0>;
+	};
 };

--
Best regards,
Tomasz

#5 lore raw

PATCH 1/2 ARM: dts: Enable PMIC interrupts on ODROID

In reply to Daniel Drake

Tested on an Odroid-U2:

Thanks,

Tomeu

Quoted 46 lines · Daniel Drake

The ODROID kernel shows that the PMIC interrupt line is hooked up to pin GPX3-2.

This is needed for the max77686-irq driver to create the PMIC IRQ domain, which is needed by max77686-rtc.

---
 arch/arm/boot/dts/exynos4412-odroid-common.dtsi | 11 +++++++++++
 1 file changed, 11 insertions(+)
arch/arm/boot/dts/exynos4412-odroid-common.dtsi +11 -1
index 6d6d23c..cb6f55f 100644
@@ -148,6 +148,10 @@
 
                max77686: pmic at 09 {
                        compatible = "maxim,max77686";
+                       interrupt-parent = <&gpx3>;
+                       interrupts = <2 0>;
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&max77686_irq>;
                        reg = <0x09>;
                        #clock-cells = <1>;
 
@@ -368,4 +372,11 @@
                samsung,pins = "gpx1-3";
                samsung,pin-pud = <0>;
        };
+
+       max77686_irq: max77686-irq {
+               samsung,pins = "gpx3-2";
+               samsung,pin-function = <0>;
+               samsung,pin-pud = <0>;
+               samsung,pin-drv = <0>;
+       };
 };
--

1.9.1

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel at lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

Applied
#6 lore raw

PATCH 1/2 ARM: dts: Enable PMIC interrupts on ODROID

Quoted 36 lines · Tomeu Vizoso

Tested on an Odroid-U2:

Thanks,

Tomeu

Quoted 26 lines · Daniel Drake

The ODROID kernel shows that the PMIC interrupt line is hooked up to pin GPX3-2.

This is needed for the max77686-irq driver to create the PMIC IRQ domain, which is needed by max77686-rtc.

---
  arch/arm/boot/dts/exynos4412-odroid-common.dtsi | 11 +++++++++++
  1 file changed, 11 insertions(+)
arch/arm/boot/dts/exynos4412-odroid-common.dtsi +4 -0
index 6d6d23c..cb6f55f 100644
@@ -148,6 +148,10 @@
 
                 max77686: pmic at 09 {
                         compatible = "maxim,max77686";
+                       interrupt-parent =<&gpx3>;
+                       interrupts =<2 0>;
+                       pinctrl-names = "default";
+                       pinctrl-0 =<&max77686_irq>;
                         reg =<0x09>;
                         #clock-cells =<1>;
 
Quoted 12 lines

arch/arm/boot/dts/exynos4412-odroid-common.dtsi line 382

Quoted 12 lines
arch/arm/boot/dts/exynos4412-odroid-common.dtsi +7 -0
@@ -368,4 +372,11 @@
                 samsung,pins = "gpx1-3";
                 samsung,pin-pud =<0>;
         };
+
+       max77686_irq: max77686-irq {
+               samsung,pins = "gpx3-2";
+               samsung,pin-function =<0>;
+               samsung,pin-pud =<0>;
+               samsung,pin-drv =<0>;
+       };
  };

Thanks, applied this series.

- Kukjin

#7 lore raw

PATCH 1/2 ARM: dts: Enable PMIC interrupts on ODROID

Hi,

Quoted 37 lines · Kukjin Kim
Quoted 36 lines · Tomeu Vizoso

Tested on an Odroid-U2:

Thanks,

Tomeu

Quoted 26 lines · Daniel Drake

The ODROID kernel shows that the PMIC interrupt line is hooked up to pin GPX3-2.

This is needed for the max77686-irq driver to create the PMIC IRQ domain, which is needed by max77686-rtc.

---
  arch/arm/boot/dts/exynos4412-odroid-common.dtsi | 11 +++++++++++
  1 file changed, 11 insertions(+)
arch/arm/boot/dts/exynos4412-odroid-common.dtsi +4 -0
index 6d6d23c..cb6f55f 100644
@@ -148,6 +148,10 @@
 
                 max77686: pmic at 09 {
                         compatible = "maxim,max77686";
+                       interrupt-parent =<&gpx3>;
+                       interrupts =<2 0>;
+                       pinctrl-names = "default";
+                       pinctrl-0 =<&max77686_irq>;
                         reg =<0x09>;
                         #clock-cells =<1>;
 
Quoted 14 lines
Quoted 4 lines
Quoted 4 lines
arch/arm/boot/dts/exynos4412-odroid-common.dtsi +0 -0
@@ -368,4 +372,11 @@
                 samsung,pins = "gpx1-3";
                 samsung,pin-pud =<0>;
         };
Quoted 8 lines

arch/arm/boot/dts/exynos4412-odroid-common.dtsi line 382

Quoted 8 lines
arch/arm/boot/dts/exynos4412-odroid-common.dtsi +7 -0
+
+       max77686_irq: max77686-irq {
+               samsung,pins = "gpx3-2";
+               samsung,pin-function =<0>;
+               samsung,pin-pud =<0>;
+               samsung,pin-drv =<0>;
+       };
  };

Thanks, applied this series.

Unfortunately these patches were applied to v3.18-next/dt-samsung branch and not v3.17-samsung-fixes-1 one.

IMHO they should go to upstream ASAP as they fix the boot for ODROID boards and they cannot break anything as they are limited to ODROID dts files.

Best regards,
--
Bartlomiej Zolnierkiewicz
Samsung R&D Institute Poland
Samsung Electronics

#8 lore raw

PATCH 1/2 ARM: dts: Enable PMIC interrupts on ODROID

Hello,

Quoted 5 lines · Bartlomiej Zolnierkiewicz

IMHO they should go to upstream ASAP as they fix the boot for ODROID boards and they cannot break anything as they are limited to ODROID dts files.

Agreed, this is definitely -rc material IMHO.

Best regards,
Javier

#9 lore raw

PATCH 1/2 ARM: dts: Enable PMIC interrupts on ODROID

Quoted 11 lines · Javier Martinez Canillas

Hello,

Quoted 5 lines · Bartlomiej Zolnierkiewicz

IMHO they should go to upstream ASAP as they fix the boot for ODROID boards and they cannot break anything as they are limited to ODROID dts files.

Agreed, this is definitely -rc material IMHO.

Yes. Definitely.

-Olof

#10 lore raw

PATCH 1/2 ARM: dts: Enable PMIC interrupts on ODROID

Quoted 7 lines · Olof Johansson
Quoted 5 lines · Javier Martinez Canillas

Hello,

Quoted 1 line · Bartlomiej Zolnierkiewicz
Quoted 9 lines
Quoted 6 lines
Quoted 4 lines

IMHO they should go to upstream ASAP as they fix the boot for ODROID boards and they cannot break anything as they are limited to ODROID dts files.

Agreed, this is definitely -rc material IMHO.

Yes. Definitely.

OK, agreed. Will apply into fixes.

Thanks,
Kukjin

#11 lore raw

PATCH 1/2 ARM: dts: Enable PMIC interrupts on ODROID

Quoted 13 lines · Kukjin Kim
Quoted 12 lines · Olof Johansson
Quoted 10 lines · Javier Martinez Canillas

Hello,

Quoted 5 lines · Bartlomiej Zolnierkiewicz

IMHO they should go to upstream ASAP as they fix the boot for ODROID boards and they cannot break anything as they are limited to ODROID dts files.

Quoted 5 lines
Quoted 4 lines
Quoted 1 line

Agreed, this is definitely -rc material IMHO.

Yes. Definitely.

OK, agreed. Will apply into fixes.

Hi,

I'm about to send a batch up to Linus, and this was quick to apply myself, so I've done so -- I'm interested in keeping this hardware working since I have it in my test setup as the only EXYNOS4 machine.

-Olof