This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] Linux/AM5726:U-boot 中的功耗降低

Guru**** 2540720 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/601184/linux-am5726-power-reduction-in-u-boot

器件型号:AM5726

工具/软件:Linux

您好!


我需要在 u-boot 级别和内核级别进行功耗处理。

如何在 u-boot 中实现最低的 OPP?

在内核级别、我在省电模式下更改了调速器。

此处的省电模式以1GHz 运行、最大为1.5GHz。

如果我想在省电模式下添加低于1GHz 支持、我该怎么做?


当 OPP 为低电平时、我需要牺牲引导时间、但当电路板启动时、我将把调速器从省电模式更改为按需模式。

请做不必要的事。

此致、

--罗纳克

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    已通知 PM 专家。 他们将在这里作出回应。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Ronak:

    您是否使用 ti-processor-sdk-linux-am57xx-evm-03.03.00.04?

    [引用 user="Ronak Patel"]如何在 u-boot 中实现最低的 OPP?

    哪个域(MPU、DSPEVE、IVA、GPU)的最低 OPP? 关于 Cortex-A15 MPU、u-boot 使用1000MHz 下的最低 OPP (OPP_NOM)。 这些1000MHz 是 OPP_NOM 可能的最大频率。

    或者、您是否意味着您需要在 u-boot 中降低此1000MHz 频率?

    [引用 user="Ronak Patel"]在内核级别,我在省电模式下更改了调速器。[/quot]

    [报价用户="Ronak Patel"]如果我想在省电模式下添加低于1GHz 的支持,我该怎么做?

    您可以根据您的特定需求更新 OPP 表。 请参阅以下指针:

    processors.wiki.ti.com/.../Linux_Core_Power_Management_User's_Guide_(v4.4)

    此致、
    帕维尔

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    罗纳克

    在 U-Boot 中、查看 uBoot/arch/arm/cpU/armv7/omap5/hw_data.c

    针对安装在电路板上的晶振修改晶振 DPLL 乘法器字段。  例如、我使用以下命令来定义一个具有20MHz 晶体的500MHz MPU 时钟:

    OMAP5 ES2.0和 DRA7 ES1.0的/* OPP NOM 频率*/
    静态常量结构 DPLL_params MPU_DPLL_params_1GHz[NUM_SYS_CLKS]={
    ...
    {200、3、-1、-1、-1、 -1、-1、-1、-1、-1、-1、 -1、-1}、/* 20 MHz */
    ...
    }; 

    在 Linux 内核中、您需要从修改 Linux/arch/arm/boot/dts/dra7.dtsi 中的 CPU0_opp_table 开始

    根据我的经验、除了已定义的频率之外、添加新频率也会稍微复杂一些。  目前、您可以测试将1.0GHz 条目替换为500MHz 的条目、以说明您节省的功耗、我可以与您联系、进一步进行修改以支持将500MHz 作为第四个频率选项。

    BTW、请勿修改低于 OPP_NOM 的电压-我们不会在500MHz 运行时定义较低的电压。

    cpu0_opp_table:opp_table0{
    compatible ="操作点-v2";
    opp-shared;
    
    opp_nom@
    
    
    
    
    
    
    @
    
    
    
    
    
    @500000000{opp-Hz =/bits/64 <500000000 >;opp-microvolt =<1060000 850011600 1150000>;opp-support-HW =<0xFF 0x000000 =/64p>;opp-0x000000 = 0x000000 =/opp>;opp_opp<15000000 = 0x000000 = 0x000000 = 0x000000 =/opp>;opp-010000000 = 0x000000 = 16000000 = 0x000000 =/opp>
    
    opp-microvolt =<1210000 950000 1250000>;
    opp-support-HW =<0xFF 0x04>;
    };
    }; 

    此致、
    Mike