diff mbox

ARM: dts: AM57xx/DRA7: Update SoC voltage rail limits to match data sheet

Message ID 1461140319-32026-1-git-send-email-nm@ti.com (mailing list archive)
State New, archived
Headers show

Commit Message

Nishanth Menon April 20, 2016, 8:18 a.m. UTC
As per the data sheet starting from SPRUHQ0H (Nov 2015 - Latest[1]),
VDD_CORE can vary from 0.85v to 1.15v for AVS class0. VDD GPU/DSP
et.al. can range from 0.85v to 1.25V with AVS class0

Since dynamic voltage scaling is disabled for DRA7/AM57xx SoCs for
all SoC rails other than MPU, the bootloader is responsible for
setting up the AVS class0 voltage, however, with wrong voltage machine
constraints in dtb, regulator framework will lower the voltage below
the required voltage levels for certain samples in production flow.
This can cause catastrophic failures which can be pretty hard to
identify.

Update board files which don't match required specification.

[1] http://www.ti.com/product/AM5728/datasheet/specifications#SPRT637-7340

Signed-off-by: Nishanth Menon <nm@ti.com>
---
Based on:
git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap.git
omap-for-v4.7/dt     a4240d3af677 ARM: dts: Add support for dra72-evm rev C (SR2.0)

 arch/arm/boot/dts/am57xx-beagle-x15.dts | 4 ++--
 arch/arm/boot/dts/dra7-evm.dts          | 4 ++--
 arch/arm/boot/dts/dra72-evm-common.dtsi | 2 +-
 3 files changed, 5 insertions(+), 5 deletions(-)

Comments

Tony Lindgren April 26, 2016, 5:03 p.m. UTC | #1
* Nishanth Menon <nm@ti.com> [160420 01:20]:
> As per the data sheet starting from SPRUHQ0H (Nov 2015 - Latest[1]),
> VDD_CORE can vary from 0.85v to 1.15v for AVS class0. VDD GPU/DSP
> et.al. can range from 0.85v to 1.25V with AVS class0
> 
> Since dynamic voltage scaling is disabled for DRA7/AM57xx SoCs for
> all SoC rails other than MPU, the bootloader is responsible for
> setting up the AVS class0 voltage, however, with wrong voltage machine
> constraints in dtb, regulator framework will lower the voltage below
> the required voltage levels for certain samples in production flow.
> This can cause catastrophic failures which can be pretty hard to
> identify.
> 
> Update board files which don't match required specification.
> 
> [1] http://www.ti.com/product/AM5728/datasheet/specifications#SPRT637-7340

Applying into omap-for-v4.7/dt thanks. This does not apply to
v4.6-rc, so assuming this is not an urgent fix.

Regards,

Tony
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Nishanth Menon April 26, 2016, 5:05 p.m. UTC | #2
On 04/26/2016 12:03 PM, Tony Lindgren wrote:
> * Nishanth Menon <nm@ti.com> [160420 01:20]:
>> As per the data sheet starting from SPRUHQ0H (Nov 2015 - Latest[1]),
>> VDD_CORE can vary from 0.85v to 1.15v for AVS class0. VDD GPU/DSP
>> et.al. can range from 0.85v to 1.25V with AVS class0
>>
>> Since dynamic voltage scaling is disabled for DRA7/AM57xx SoCs for
>> all SoC rails other than MPU, the bootloader is responsible for
>> setting up the AVS class0 voltage, however, with wrong voltage machine
>> constraints in dtb, regulator framework will lower the voltage below
>> the required voltage levels for certain samples in production flow.
>> This can cause catastrophic failures which can be pretty hard to
>> identify.
>>
>> Update board files which don't match required specification.
>>
>> [1] http://www.ti.com/product/AM5728/datasheet/specifications#SPRT637-7340
> 
> Applying into omap-for-v4.7/dt thanks. This does not apply to
> v4.6-rc, so assuming this is not an urgent fix.

Thanks. Yep, it is not an emergency regression fix since most of the
platforms out in the field are not impacted.
diff mbox

Patch

diff --git a/arch/arm/boot/dts/am57xx-beagle-x15.dts b/arch/arm/boot/dts/am57xx-beagle-x15.dts
index 75d04b1bbd1b..779466e18d34 100644
--- a/arch/arm/boot/dts/am57xx-beagle-x15.dts
+++ b/arch/arm/boot/dts/am57xx-beagle-x15.dts
@@ -438,7 +438,7 @@ 
 					/* VDD_DSPEVE, VDD_IVA, VDD_GPU */
 					regulator-name = "smps45";
 					regulator-min-microvolt = < 850000>;
-					regulator-max-microvolt = <1150000>;
+					regulator-max-microvolt = <1250000>;
 					regulator-always-on;
 					regulator-boot-on;
 				};
@@ -447,7 +447,7 @@ 
 					/* VDD_CORE */
 					regulator-name = "smps6";
 					regulator-min-microvolt = <850000>;
-					regulator-max-microvolt = <1030000>;
+					regulator-max-microvolt = <1150000>;
 					regulator-always-on;
 					regulator-boot-on;
 				};
diff --git a/arch/arm/boot/dts/dra7-evm.dts b/arch/arm/boot/dts/dra7-evm.dts
index d272cf140197..e94cbb7dd3c5 100644
--- a/arch/arm/boot/dts/dra7-evm.dts
+++ b/arch/arm/boot/dts/dra7-evm.dts
@@ -431,7 +431,7 @@ 
 					/* VDD_DSPEVE */
 					regulator-name = "smps45";
 					regulator-min-microvolt = < 850000>;
-					regulator-max-microvolt = <1150000>;
+					regulator-max-microvolt = <1250000>;
 					regulator-always-on;
 					regulator-boot-on;
 				};
@@ -449,7 +449,7 @@ 
 					/* CORE_VDD */
 					regulator-name = "smps7";
 					regulator-min-microvolt = <850000>;
-					regulator-max-microvolt = <1060000>;
+					regulator-max-microvolt = <1150000>;
 					regulator-always-on;
 					regulator-boot-on;
 				};
diff --git a/arch/arm/boot/dts/dra72-evm-common.dtsi b/arch/arm/boot/dts/dra72-evm-common.dtsi
index 2c880501ba2e..874bdf1db306 100644
--- a/arch/arm/boot/dts/dra72-evm-common.dtsi
+++ b/arch/arm/boot/dts/dra72-evm-common.dtsi
@@ -328,7 +328,7 @@ 
 					/* VDD_CORE */
 					regulator-name = "smps2";
 					regulator-min-microvolt = <850000>;
-					regulator-max-microvolt = <1060000>;
+					regulator-max-microvolt = <1150000>;
 					regulator-boot-on;
 					regulator-always-on;
 				};