unsupportable voltage range

Talking about OS and emulation core development
Post Reply
User avatar
AreaScout
Posts: 1214
Joined: Sun Jul 07, 2013 3:05 am
languages_spoken: german, english
ODROIDs: X2, U3, XU3, C2, HiFi Shield, XU4, XU4Q,
N1, Go, VU5A, Show2, CloudShell2,
H2, N2, VU7A, VuShell
Has thanked: 44 times
Been thanked: 111 times
Contact:

unsupportable voltage range

Unread post by AreaScout » Sun Jan 05, 2020 4:49 am

    After setting the memory, gpu and cpu governor to performance I get this constantly in kernel log, it looks like gpu, cpu and memory are using the same regulator, it seems it's min max value ist wrong ?

    Code: Select all

    [  828.328645] vdd_logic: unsupportable voltage range: 1175000-1100000uV
    [  828.340198] mali ff400000.gpu: Failed to increase voltage (-22)
    [  828.351304] devfreq ff400000.gpu: dvfs failed with (-22) error
    [  828.460643] vdd_logic: unsupportable voltage range: 1175000-1100000uV
    
    edit: The manual says Voltage for GPU and core logic LOGIC_VDD min 0.90 typ 1.00 max 1.10 V so the dts file looks good I think ... I don't know where 1175000-1100000uV is comming from

    RG

    kamots
    Posts: 57
    Joined: Sun Jul 01, 2018 6:05 am
    languages_spoken: english
    ODROIDs: ODROID-GO, C1+, ODROID-GO Advance
    Has thanked: 12 times
    Been thanked: 10 times
    Contact:

    Re: unsupportable voltage range

    Unread post by kamots » Sun Jan 05, 2020 5:19 pm

    1175000uV is 1.175V so ya something is wrong there.

    User avatar
    rooted
    Posts: 7143
    Joined: Fri Dec 19, 2014 9:12 am
    languages_spoken: english
    Location: Gulf of Mexico, US
    Has thanked: 393 times
    Been thanked: 110 times
    Contact:

    Re: unsupportable voltage range

    Unread post by rooted » Sun Jan 05, 2020 11:30 pm

    It's likely a mistake in the kernel code, I can't remember offhand where the matching bits are in the kernel tree.

    @joy or possibly @crashoverride may be able to help

    joy
    Posts: 997
    Joined: Fri Oct 02, 2015 1:44 pm
    languages_spoken: english
    ODROIDs: ODROID-C1+, XU4, X
    Has thanked: 43 times
    Been thanked: 95 times
    Contact:

    Re: unsupportable voltage range

    Unread post by joy » Mon Jan 06, 2020 9:57 am

    Hi AreaSout,

    Range of vdd_logic is set as 1000000 ~ 1100000 (1000mV~1100mV).
    This code should be adjusted.
    https://github.com/hardkernel/linux/blo ... x.dts#L573

    Code: Select all

    diff --git a/arch/arm64/boot/dts/rockchip/rk3326-odroidgo2-linux.dts b/arch/arm64/boot/dts/rockchip/rk3326-odroidgo2-linux.dts
    index de08cbe..3c035aa 100644
    --- a/arch/arm64/boot/dts/rockchip/rk3326-odroidgo2-linux.dts
    +++ b/arch/arm64/boot/dts/rockchip/rk3326-odroidgo2-linux.dts
    @@ -574,7 +574,7 @@
                                    regulator-always-on;
                                    regulator-boot-on;
                                    regulator-min-microvolt = <1000000>;
    -                               regulator-max-microvolt = <1100000>;
    +                               regulator-max-microvolt = <1175000>;
                                    regulator-ramp-delay = <6001>;
                                    regulator-initial-mode = <0x2>;
                                    regulator-name = "vdd_logic";
    
    And let me reproduce the issue check this patch.
    But first, we need to check where the range 1000000~117500 comes from. :roll:
    These users thanked the author joy for the post:
    rooted (Mon Jan 06, 2020 10:52 am)

    joy
    Posts: 997
    Joined: Fri Oct 02, 2015 1:44 pm
    languages_spoken: english
    ODROIDs: ODROID-C1+, XU4, X
    Has thanked: 43 times
    Been thanked: 95 times
    Contact:

    Re: unsupportable voltage range

    Unread post by joy » Mon Jan 06, 2020 10:17 am

    The value of gpu_opp_table is set at this point.

    https://github.com/hardkernel/linux/blo ... dtsi#L1350
    https://github.com/hardkernel/linux/blo ... dtsi#L1350

    Code: Select all

    &gpu_opp_table {
    	opp-520000000 {
    		opp-hz = /bits/ 64 <520000000>;
    		opp-microvolt = <1175000>;
    		opp-microvolt-L0 = <1175000>;
    		opp-microvolt-L1 = <1150000>;
    		opp-microvolt-L2 = <1100000>;
    		opp-microvolt-L3 = <1050000>;
    	};
    };
    
    We will check if there is no issue when the max voltage is adjusted.
    Or the gpu opp condition may be changed to meet the power spec.

    Thank you for the input, @AreaSout. :)
    These users thanked the author joy for the post:
    rooted (Mon Jan 06, 2020 10:52 am)

    joy
    Posts: 997
    Joined: Fri Oct 02, 2015 1:44 pm
    languages_spoken: english
    ODROIDs: ODROID-C1+, XU4, X
    Has thanked: 43 times
    Been thanked: 95 times
    Contact:

    Re: unsupportable voltage range

    Unread post by joy » Mon Jan 06, 2020 11:51 am

    Max condition of supply voltage for RK3326 GPU and core logic (vdd_logic) is 1.15V,
    so, gpu_opp_table for 520MHz should be adjusted.
    vdd_logic of pmic dcdc1, too.

    Here is a patch.
    I've reproduced the issue and confirmed this patch fixes this issue.

    Code: Select all

    diff --git a/arch/arm64/boot/dts/rockchip/rk3326-odroidgo2-linux.dts b/arch/arm64/boot/dts/rockchip/rk3326-odroidgo2-linux.dts
    index de08cbe..b7e6a61 100644
    --- a/arch/arm64/boot/dts/rockchip/rk3326-odroidgo2-linux.dts
    +++ b/arch/arm64/boot/dts/rockchip/rk3326-odroidgo2-linux.dts
    @@ -573,8 +573,8 @@
     			vdd_logic: DCDC_REG1 {
     				regulator-always-on;
     				regulator-boot-on;
    -				regulator-min-microvolt = <1000000>;
    -				regulator-max-microvolt = <1100000>;
    +				regulator-min-microvolt = <950000>;
    +				regulator-max-microvolt = <1150000>;
     				regulator-ramp-delay = <6001>;
     				regulator-initial-mode = <0x2>;
     				regulator-name = "vdd_logic";
    diff --git a/arch/arm64/boot/dts/rockchip/rk3326.dtsi b/arch/arm64/boot/dts/rockchip/rk3326.dtsi
    index a376b41..cc22d30 100644
    --- a/arch/arm64/boot/dts/rockchip/rk3326.dtsi
    +++ b/arch/arm64/boot/dts/rockchip/rk3326.dtsi
    @@ -25,8 +25,8 @@
     &gpu_opp_table {
     	opp-520000000 {
     		opp-hz = /bits/ 64 <520000000>;
    -		opp-microvolt = <1175000>;
    -		opp-microvolt-L0 = <1175000>;
    +		opp-microvolt = <1150000>;
    +		opp-microvolt-L0 = <1150000>;
     		opp-microvolt-L1 = <1150000>;
     		opp-microvolt-L2 = <1100000>;
     		opp-microvolt-L3 = <1050000>;
    
    
    We're checking if there is any side-effect for benchmark and gpu load test.
    Once it's done, this patch will be included and I will share the status with you.
    These users thanked the author joy for the post (total 2):
    rooted (Mon Jan 06, 2020 1:13 pm) • AreaScout (Mon Jan 06, 2020 9:46 pm)

    User avatar
    AreaScout
    Posts: 1214
    Joined: Sun Jul 07, 2013 3:05 am
    languages_spoken: german, english
    ODROIDs: X2, U3, XU3, C2, HiFi Shield, XU4, XU4Q,
    N1, Go, VU5A, Show2, CloudShell2,
    H2, N2, VU7A, VuShell
    Has thanked: 44 times
    Been thanked: 111 times
    Contact:

    Re: unsupportable voltage range

    Unread post by AreaScout » Mon Jan 06, 2020 9:46 pm

    joy wrote:
    Mon Jan 06, 2020 11:51 am
    We're checking if there is any side-effect for benchmark and gpu load test.
    Once it's done, this patch will be included and I will share the status with you.
    Thank you ! :)

    joy
    Posts: 997
    Joined: Fri Oct 02, 2015 1:44 pm
    languages_spoken: english
    ODROIDs: ODROID-C1+, XU4, X
    Has thanked: 43 times
    Been thanked: 95 times
    Contact:

    Re: unsupportable voltage range

    Unread post by joy » Wed Jan 15, 2020 5:48 pm

    Hi.
    With the adjusted gpu_opp_table and voltage condition, we've put some basic tests and heavy load tests using glmark2-es2
    and there was no issue so far. :)

    Here is the commit in hardkernl github.
    https://github.com/hardkernel/linux/com ... bf46d05ee2
    These users thanked the author joy for the post (total 2):
    rooted (Wed Jan 15, 2020 7:43 pm) • AreaScout (Wed Jan 15, 2020 10:08 pm)

    Post Reply

    Return to “Platform development”

    Who is online

    Users browsing this forum: No registered users and 0 guests