Skip to contentSkip to conversation

ARM: dts: am437x-gp-evm: Boot fixes

PATCH New Dave Gerlach 3 participants 10 messages Apr 22, 2014 – Apr 29, 2014 Device tree bindings

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 ARM: dts: am437x-gp-evm: Boot fixes

This patch, along with patch here [1], fixes boot for am437x-gp-evm. The bootloader configures gpio5_7 to control the DDR3 termination regulator, the linked patch prevents that gpio bank from being reset and losing the previously configured state, and this patch binds the gpio to a regulator so the kernel is aware of the state of the gpio.

[1] https://www.mail-archive.com/linux-omap at vger.kernel.org/msg102941.html

Dave Gerlach (1):
ARM: dts: am437x-gp-evm: Add vtt_fixed regulator

 arch/arm/boot/dts/am437x-gp-evm.dts | 11 +++++++++++
 1 file changed, 11 insertions(+)
Signature · 1 line
1.9.0
#1 lore raw

PATCH 1/1 ARM: dts: am437x-gp-evm: Add vtt_fixed regulator

The VTT regulator for DDR3 termination on the am437x-gp-evm is controlled by a gpio. It is configured by the bootloader so here we define an always-on, fixed voltage regulator to hold the gpio.

---
 arch/arm/boot/dts/am437x-gp-evm.dts | 11 +++++++++++
 1 file changed, 11 insertions(+)
arch/arm/boot/dts/am437x-gp-evm.dts +11 -0
index a055f7f..e68d12c 100644
@@ -27,6 +27,17 @@
 		enable-active-high;
 	};
 
+	vtt_fixed: fixedregulator-vtt {
+		compatible = "regulator-fixed";
+		regulator-name = "vtt_fixed";
+		regulator-min-microvolt = <3300000>;
+		regulator-max-microvolt = <3300000>;
+		regulator-always-on;
+		regulator-boot-on;
+		enable-active-high;
+		gpio = <&gpio5 7 GPIO_ACTIVE_HIGH>;
+	};
+
 	backlight {
 		compatible = "pwm-backlight";
 		pwms = <&ecap0 0 50000 PWM_POLARITY_INVERTED>;
Signature · 1 line
1.9.0
#2 lore raw

PATCH 1/1 ARM: dts: am437x-gp-evm: Add vtt_fixed regulator

Quoted 14 lines · Dave Gerlach

The VTT regulator for DDR3 termination on the am437x-gp-evm is controlled by a gpio. It is configured by the bootloader so here we define an always-on, fixed voltage regulator to hold the gpio.

---
 arch/arm/boot/dts/am437x-gp-evm.dts | 11 +++++++++++
 1 file changed, 11 insertions(+)
arch/arm/boot/dts/am437x-gp-evm.dts +0 -0
index a055f7f..e68d12c 100644

arch/arm/boot/dts/am437x-gp-evm.dts line 30

Quoted 4 lines
arch/arm/boot/dts/am437x-gp-evm.dts +1 -0
@@ -27,6 +27,17 @@
 		enable-active-high;
 	};
 
+	vtt_fixed: fixedregulator-vtt {

Would you like to consider any explicit pinctrl here?

Quoted 4 lines
arch/arm/boot/dts/am437x-gp-evm.dts +3 -0
+		compatible = "regulator-fixed";
+		regulator-name = "vtt_fixed";
+		regulator-min-microvolt = <3300000>;

arch/arm/boot/dts/am437x-gp-evm.dts line 43

Quoted 10 lines
arch/arm/boot/dts/am437x-gp-evm.dts +7 -0
+		regulator-max-microvolt = <3300000>;
+		regulator-always-on;
+		regulator-boot-on;
+		enable-active-high;
+		gpio = <&gpio5 7 GPIO_ACTIVE_HIGH>;
+	};
+
 	backlight {
 		compatible = "pwm-backlight";
 		pwms = <&ecap0 0 50000 PWM_POLARITY_INVERTED>;

Do we still need https://patchwork.kernel.org/patch/3871201/ (prevent hwmod from resetting GPIO5) ?

Signature · 2 lines
Regards,
Nishanth Menon
#3 lore raw

PATCH 1/1 ARM: dts: am437x-gp-evm: Add vtt_fixed regulator

Quoted 18 lines · Nishanth Menon
Quoted 17 lines · Dave Gerlach

The VTT regulator for DDR3 termination on the am437x-gp-evm is controlled by a gpio. It is configured by the bootloader so here we define an always-on, fixed voltage regulator to hold the gpio.

---
  arch/arm/boot/dts/am437x-gp-evm.dts | 11 +++++++++++
  1 file changed, 11 insertions(+)
arch/arm/boot/dts/am437x-gp-evm.dts +0 -0
index a055f7f..e68d12c 100644
@@ -27,6 +27,17 @@
  		enable-active-high;
  	};
 
Quoted 3 lines

arch/arm/boot/dts/am437x-gp-evm.dts line 30

Quoted 1 line
arch/arm/boot/dts/am437x-gp-evm.dts +1 -0
+	vtt_fixed: fixedregulator-vtt {

Would you like to consider any explicit pinctrl here?

Yes, it's a good idea for me to add that in for next version.

Quoted 10 lines
Quoted 10 lines
arch/arm/boot/dts/am437x-gp-evm.dts +9 -0
+		compatible = "regulator-fixed";
+		regulator-name = "vtt_fixed";
+		regulator-min-microvolt = <3300000>;
+		regulator-max-microvolt = <3300000>;
+		regulator-always-on;
+		regulator-boot-on;
+		enable-active-high;
+		gpio = <&gpio5 7 GPIO_ACTIVE_HIGH>;
+	};
Quoted 9 lines

arch/arm/boot/dts/am437x-gp-evm.dts line 43

Quoted 5 lines
arch/arm/boot/dts/am437x-gp-evm.dts +1 -0
+
  	backlight {
  		compatible = "pwm-backlight";
  		pwms = <&ecap0 0 50000 PWM_POLARITY_INVERTED>;

Do we still need https://patchwork.kernel.org/patch/3871201/ (prevent hwmod from resetting GPIO5) ?

Yes, without preventing the reset boot still hangs.

#4 lore raw

PATCH 1/1 ARM: dts: am437x-gp-evm: Boot fixes

In reply to Dave Gerlach
Quoted 7 lines · Dave Gerlach

This patch, along with patch here [1], fixes boot for am437x-gp-evm. The bootloader configures gpio5_7 to control the DDR3 termination regulator, the linked patch prevents that gpio bank from being reset and losing the previously configured state, and this patch binds the gpio to a regulator so the kernel is aware of the state of the gpio.

[1] https://www.mail-archive.com/linux-omap at vger.kernel.org/msg102941.html

Setting up the GPIO regulator makes sense to me. But the hack in the link above is potentially a nasty time bomb for anybody trying to use GPIO bank 5 on that board.

What tests have been done that the GPIO bank behaves properly when it's not reset?

Regards,

Tony

#5 lore raw

PATCH 1/1 ARM: dts: am437x-gp-evm: Boot fixes

Quoted 7 lines · Tony Lindgren
Quoted 6 lines · Dave Gerlach

This patch, along with patch here [1], fixes boot for am437x-gp-evm. The bootloader configures gpio5_7 to control the DDR3 termination regulator, the linked patch prevents that gpio bank from being reset and losing the previously configured state, and this patch binds the gpio to a regulator so the kernel is aware of the state of the gpio.

Quoted 8 lines
Quoted 1 line

[1] https://www.mail-archive.com/linux-omap at vger.kernel.org/msg102941.html

Setting up the GPIO regulator makes sense to me. But the hack in the link above is potentially a nasty time bomb for anybody trying to use GPIO bank 5 on that board.

What tests have been done that the GPIO bank behaves properly when it's not reset?

We've been using this configuration on this board for a while without any apparent issues. Also, am335x-evmsk already uses the same idea for the VTT regulator on board from commit 6046adb6ad701026c10adeac8d6a4138895f12e5 [ARM: dts: am335x-evmsk: Do not reset gpio0] and I am unaware of any issues with that either.

Regards,
Dave

Quoted 5 lines

Regards,

Tony

#6 lore raw

PATCH 1/1 ARM: dts: am437x-gp-evm: Boot fixes

Quoted 14 lines · Dave Gerlach
Quoted 13 lines · Tony Lindgren
Quoted 7 lines · Dave Gerlach

This patch, along with patch here [1], fixes boot for am437x-gp-evm. The bootloader configures gpio5_7 to control the DDR3 termination regulator, the linked patch prevents that gpio bank from being reset and losing the previously configured state, and this patch binds the gpio to a regulator so the kernel is aware of the state of the gpio.

[1] https://www.mail-archive.com/linux-omap at vger.kernel.org/msg102941.html

Setting up the GPIO regulator makes sense to me. But the hack in the link above is potentially a nasty time bomb for anybody trying to use GPIO bank 5 on that board.

Quoted 8 lines
Quoted 2 lines

What tests have been done that the GPIO bank behaves properly when it's not reset?

We've been using this configuration on this board for a while without any apparent issues. Also, am335x-evmsk already uses the same idea for the VTT regulator on board from commit 6046adb6ad701026c10adeac8d6a4138895f12e5 [ARM: dts: am335x-evmsk: Do not reset gpio0] and I am unaware of any issues with that either.

OK. Do you have other GPIOs in use as interrupts for devices in these banks and do they work fine?

Also, can you please test to make sure this works with the most recent Javier's GPIO patches that had the issue of not booting on am335x-evmsk?

Regards,

Tony

#7 lore raw

PATCH 1/1 ARM: dts: am437x-gp-evm: Boot fixes

Quoted 18 lines · Tony Lindgren
Quoted 17 lines · Dave Gerlach
Quoted 15 lines · Tony Lindgren
Quoted 7 lines · Dave Gerlach

This patch, along with patch here [1], fixes boot for am437x-gp-evm. The bootloader configures gpio5_7 to control the DDR3 termination regulator, the linked patch prevents that gpio bank from being reset and losing the previously configured state, and this patch binds the gpio to a regulator so the kernel is aware of the state of the gpio.

[1] https://www.mail-archive.com/linux-omap at vger.kernel.org/msg102941.html

Setting up the GPIO regulator makes sense to me. But the hack in the link above is potentially a nasty time bomb for anybody trying to use GPIO bank 5 on that board.

What tests have been done that the GPIO bank behaves properly when it's not reset?

Quoted 8 lines
Quoted 5 lines

We've been using this configuration on this board for a while without any apparent issues. Also, am335x-evmsk already uses the same idea for the VTT regulator on board from commit 6046adb6ad701026c10adeac8d6a4138895f12e5 [ARM: dts: am335x-evmsk: Do not reset gpio0] and I am unaware of any issues with that either.

OK. Do you have other GPIOs in use as interrupts for devices in these banks and do they work fine?

I dont see any interrupts in use from gpio5 bank but as a quick test if I add ti,no-reset-on-init to gpio3 and gpio4 I see no issue with matrix-keypad operation which uses gpios from each of those banks.

Quoted 4 lines

Also, can you please test to make sure this works with the most recent Javier's GPIO patches that had the issue of not booting on am335x-evmsk?

Yes, when using Javier's patches in addition to this patch [1], which was found to be necessary through this discussion [2], the AM437x GP EVM boots fine with linux-next with my regulator patch and gpio5 no reset patch applied.

Regards,
Dave

[1] https://patchwork.kernel.org/patch/4041881/
[2] http://marc.info/?t=139817273800014&r=1&w=2

Quoted 4 lines

Regards,

Tony

#8 lore raw

PATCH 1/1 ARM: dts: am437x-gp-evm: Boot fixes

Quoted 25 lines · Dave Gerlach
Quoted 24 lines · Tony Lindgren
Quoted 22 lines · Dave Gerlach
Quoted 7 lines · Tony Lindgren
Quoted 6 lines · Dave Gerlach

This patch, along with patch here [1], fixes boot for am437x-gp-evm. The bootloader configures gpio5_7 to control the DDR3 termination regulator, the linked patch prevents that gpio bank from being reset and losing the previously configured state, and this patch binds the gpio to a regulator so the kernel is aware of the state of the gpio.

Quoted 8 lines
Quoted 1 line

[1] https://www.mail-archive.com/linux-omap at vger.kernel.org/msg102941.html

Setting up the GPIO regulator makes sense to me. But the hack in the link above is potentially a nasty time bomb for anybody trying to use GPIO bank 5 on that board.

What tests have been done that the GPIO bank behaves properly when it's not reset?

We've been using this configuration on this board for a while without any apparent issues. Also, am335x-evmsk already uses the same idea for the VTT regulator on board from commit 6046adb6ad701026c10adeac8d6a4138895f12e5 [ARM: dts: am335x-evmsk: Do not reset gpio0] and I am unaware of any issues with that either.

Quoted 6 lines
Quoted 2 lines

OK. Do you have other GPIOs in use as interrupts for devices in these banks and do they work fine?

I dont see any interrupts in use from gpio5 bank but as a quick test if I add ti,no-reset-on-init to gpio3 and gpio4 I see no issue with matrix-keypad operation which uses gpios from each of those banks.

OK thanks for testing. I'll apply the ti,no-reset-on-init patch from [1] above into omap-for-v3.15/fixes-v2.

The regulator patch can wait for v3.16, and should be also implemented for the am335x-evmsk the same way, so maybe add that too to your patch?

Quoted 8 lines
Quoted 3 lines

Also, can you please test to make sure this works with the most recent Javier's GPIO patches that had the issue of not booting on am335x-evmsk?

Yes, when using Javier's patches in addition to this patch [1], which was found to be necessary through this discussion [2], the AM437x GP EVM boots fine with linux-next with my regulator patch and gpio5 no reset patch applied.

OK good to hear.

Tony

Quoted 8 lines

[1] https://patchwork.kernel.org/patch/4041881/
[2] http://marc.info/?t=139817273800014&r=1&w=2

Quoted 4 lines

Regards,

Tony

#9 lore raw

PATCH 1/1 ARM: dts: am437x-gp-evm: Boot fixes

Quoted 33 lines · Tony Lindgren
Quoted 25 lines · Dave Gerlach
Quoted 24 lines · Tony Lindgren
Quoted 22 lines · Dave Gerlach
Quoted 7 lines · Tony Lindgren
Quoted 6 lines · Dave Gerlach

This patch, along with patch here [1], fixes boot for am437x-gp-evm. The bootloader configures gpio5_7 to control the DDR3 termination regulator, the linked patch prevents that gpio bank from being reset and losing the previously configured state, and this patch binds the gpio to a regulator so the kernel is aware of the state of the gpio.

Quoted 8 lines
Quoted 1 line

[1] https://www.mail-archive.com/linux-omap at vger.kernel.org/msg102941.html

Setting up the GPIO regulator makes sense to me. But the hack in the link above is potentially a nasty time bomb for anybody trying to use GPIO bank 5 on that board.

What tests have been done that the GPIO bank behaves properly when it's not reset?

We've been using this configuration on this board for a while without any apparent issues. Also, am335x-evmsk already uses the same idea for the VTT regulator on board from commit 6046adb6ad701026c10adeac8d6a4138895f12e5 [ARM: dts: am335x-evmsk: Do not reset gpio0] and I am unaware of any issues with that either.

Quoted 6 lines
Quoted 2 lines

OK. Do you have other GPIOs in use as interrupts for devices in these banks and do they work fine?

I dont see any interrupts in use from gpio5 bank but as a quick test if I add ti,no-reset-on-init to gpio3 and gpio4 I see no issue with matrix-keypad operation which uses gpios from each of those banks.

Quoted 5 lines

OK thanks for testing. I'll apply the ti,no-reset-on-init patch from [1] above into omap-for-v3.15/fixes-v2.

The regulator patch can wait for v3.16, and should be also implemented for the am335x-evmsk the same way, so maybe add that too to your patch?

Alright thanks, yes I can do that as well for v2.

Regards,
Dave

Quoted 22 lines
Quoted 9 lines
Quoted 4 lines

Also, can you please test to make sure this works with the most recent Javier's GPIO patches that had the issue of not booting on am335x-evmsk?

Yes, when using Javier's patches in addition to this patch [1], which was found to be necessary through this discussion [2], the AM437x GP EVM boots fine with linux-next with my regulator patch and gpio5 no reset patch applied.

OK good to hear.

Tony

Quoted 8 lines

[1] https://patchwork.kernel.org/patch/4041881/
[2] http://marc.info/?t=139817273800014&r=1&w=2

Quoted 4 lines

Regards,

Tony