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.

[参考译文] AM3356:如何按需更改 CPU FREQ

Guru**** 1791630 points
Other Parts Discussed in Thread: AM3352, TPS65910
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/983974/am3356-how-to-change-cpu-freq-on-demand

器件型号:AM3356
主题中讨论的其他器件:AM3352TPS65910

各位专家:

客户正在使用 AM3356BZCZA80开发其系统(Linux SDK 版本:06_03_00_106)。 客户了解他们可以配置器件树以按需更改 CPU 时钟。 客户正在使用此 DTS 文件( e2e.ti.com/.../DTS_5F00_Excerpt.zip ),此 DTS 包括此 dtsi 文件( e2e.ti.com/.../DTSI_5F00_Excerpt.zip )。  客户希望更改,例如300MHz。 但是、它们似乎只能将此频率更改为三个频率(600、720和800Hz)。 客户应如何将 CPU 速度更改为300MHz?

请问您的专家对此有什么建议/意见吗?

此致、

宫崎

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

    您好、Miyazaki-San、
    在 AM335x 上、SPL 根据读取 CM EFUSE_SMA 寄存器@44E107Fc 来设置器件支持的最大速度。
    此外、PMIC 根据检测到的最大速度在 SPL 板文件"/board/ti/am335x/board.c 中进行配置。

    启用动态电压和频率调节(DVFS)后、Linux 内核会根据需要动态调节电压和频率、
    用户首选项或其他因素。 有关 DVFS 框架的详细信息、请参阅以下链接。
    software-dl.ti.com/.../Power_Management.html
    我在具有1GHz 器件的 AM335x GP EVM 上捕获了 DVFS 的示例日志、并将其上传到附件中供您参考。

    最棒的

    -香港

    e2e.ti.com/.../8284.am3_5F00_gp_5F00_6.3_5F00_dvfs.txt

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

     您好、Hong、

    我与客户分享了这些信息。 我想等待他们的反馈。 有一段时间、

    此致、

    宫崎

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

    您好、Miyazaki-San、

    是的、请随时向我们提供您的反馈。

    最棒的

    -香港

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

     您好、Hong、

    我得到了客户的反馈。 客户按如下方式检查了 CM EFUSE_SMA 寄存器(0x44e107fc)、但他们无法在其系统的 TRANS_TABLE 中看到300MHz 频率。 客户询问为什么“300MHz”不能退出。 客户是否应该设置类似配置的内容?

    客户正在使用 AM3356BZCZA80。 请您就此提出建议/意见吗?

    1. ------------------------------------------
    2. $ devmem2 0x44e107fc
    3. /dev/mem 已打开。
    4. 映射到地址 bb6fb000的内存。
    5. 在地址 0x44E107FC (bb6fbb7fc)处读取:0x00013E2F $ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies
    6. 600000 720000 800000
    7. $ cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq
    8. 720000
    9. $ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq
    10. 720000
    11. $ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
    12. 保守的用户空间节能按需性能$ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_driver
    13. Cpufreq-dt
    14. $ cat /sys/devices/system/cpu/cpu0/cpufreq/stats/trans_table
    15.   从 :   到
    16.         :   600000   720000   800000
    17.   600000:        0      528       16.
    18.   720000:      523        0      540
    19.   800000:       21      536        0
    20. 根目录@AM335x-EVM:~
    21. $ cat /sys/devices/system/cpu/cpu0/cpufreq/stats/time_in_state
    22. 600000 54174
    23. 720000 24365
    24. 800000 11132
    25. ------------------------------------------

    此致、

    宫崎

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

    您好、Miyazaki-San、

    感谢您的更新。

    我们将仔细查看所附的测试日志、然后返回给您。

    最棒的

    -香港

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

    您好、Miyazaki-San、
    我仔细查看了您的第一篇文章中的器件树文件、并注意到下面列出的稳压器节点之一:

    vdd2_reg:电脑控制器@3 { reg =;电脑控制器兼容="vdd2";电脑控制器常开;电脑控制器最小值微伏=;电脑控制器最大值微伏=; };

    vdd2_reg (PMIC)是否连接到客户原理图上的 VDD_MPU (AM335x)?
    如果是、我们是否可以按照下面列出的方式进行更改并运行测试?
    电脑控制器最小值微伏=<1100000>;电脑控制器最小值微伏=<912500>

    最棒的
    -香港

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

    大家好、Hong Guan64-San

     我是 Katsuyama 的原始提问者。 感谢 您的回复。

    我尝试 了<912500> , 但在启动时出现以下错误。

    --------------------------------------------------------------------

    正在启动内核...

    [0.000000]在物理 CPU 0x0上引导 Linux
    [0.000000] Linux 版本4.19.94-gbe5389fd85 (OE-USER@OE-host)(gcc 版本8.3.0 (A 配置文件架构8.3-2019.03 (ARM-rel-8.36)的 GNU 工具链))#1挤占 Thu Jan 28 06:59:33 UTC 2021
    [0.000000] CPU:ARMv7处理器[413fc082]修订版2 (ARMv7)、CR=10c5387d
    [0.000000] CPU:PIPT/VIPT 非混叠数据高速缓存、VIPT 别名指令高速缓存
    [0.0000M]、共个:FDT:机器型号:JRCM AM335x ITCONT
    [0.000000]内存策略:数据高速缓存写回
    [0.000000] EFI:从 FDT 获取 EFI 参数:
    [0.000000] EFI:未找到 UEFI。
    [0.000000] CMA:保留0x8a800000处的48 MIB
    [0.000000] CPU:所有 CPU 均在 SVC 模式下启动。
    [0.000000] AM335X ES2.1 (NEON)
    [0.000000]随机:从 start_kernel+0xa4/0x434调用 get_random_bytes、crng_init=0
    [0.000000]在上构建了1个区域列表、移动分组。 总页数:64960
    [0.000000]内核命令行:console=ttyO0、115200n8 root=PARTUUID =366319df-02 RW rootfstype=ext4 rootwait
    [0.000000]条目高速缓存散列表条目:32768 (顺序:5、131072字节)
    [0.000000] inode 高速缓存散列表条目:16384 (顺序:4、65536字节)
    [0.000000]内存:197344K/262144K 可用(8192K 内核代码、291K RWdata、2552K rodata、1024K init、246K BSS、 15648K 保留、49152K CMA 保留、0K HIGHMEM)
    [0.000000]虚拟内核内存布局:
    [0.000000]矢量:0xff0000-0xff1000 (4KB)
    [0.000000] fixmap:0xc00000 - 0xc00000 (3072 KB)
    [0.000000] vmalloc:0xd0800000 - 0x0x800000 (752MB)
    [0.000000]低内存:0xC0000000 - 0xd0000000 (256 MB)
    [0.000000] pkmap:bbfe00000 - 0xC0000000 (2 MB)
    [0.000000]模块:bbf000000 - bbbfe00000 (14 MB)
    [0.000000].text:0x (ptrval)- 0x (ptrval)(9184 KB)
    [0.000000].init:0x (ptrval)-0x (ptrval)(1024KB)
    [0.000000].data:0x (ptrval)- 0x (ptrval)(292 KB)
    [0.000000].bss:0x (ptrval)-0x (ptrval)(247 KB)
    [0.000000] slub:HWalign=64、order=0-3、MinObjects=0、CPU=1、Nodes=1
    [0.000000] RCU:可抢占的分层 RCU 实现。
    [0.000000]启用了 RCU 任务。
    [0.000000] NR_IRQ:16、nr_IRQ:16、预分配 IRQ:16
    [0.000000] IRQ:在0x (ptrval)(修订版本5.0)处找到一个带有128个中断的 INTC
    [0.000000] OMAP 时钟事件源:timer2为24000000 Hz
    [0.000022] sched_clock:24MHz 时为32位、分辨率为41ns、每89478484971ns 换行一次
    [0.000054]时钟源:Timer1:屏蔽:0xFFFFFFFF max_cycles:0xFFFFFFFF、max_idle_ns:79635851949 ns
    [0.000070] OMAP 时钟源:Timer1为24000000 Hz
    [0.000327] TIMER_PROBE:未找到匹配的计时器
    [0.000579]控制台:彩色虚拟设备80x30
    [0.000617]警告:您的'console=ttyO0'已被'ttyS0"替代
    [0.000626]这可确保您仍能看到内核消息。 请
    [0.000635]更新内核命令行。
    [0.000708]校准延迟环路... 597.60茂物剪(lpj=2988032)
    [0.118629] pid_max:默认值:32768最小值:301
    [0.118906]安装高速缓存散列表条目:1024 (顺序:0、4096字节)
    [0.118927] mountpoint-cache 哈希表条目:1024 (顺序:0、4096字节)
    [0.120050] CPU:测试写入缓冲区一致性:好的
    [0.120139] CPU0:sp幽灵 v2:使用 BPIALL 变通办法
    [0.121334]为0x80100000 - 0x80100060设置静态标识映射
    [0.121549] RCU:分层 SRCU 实现。
    [0.122030] EFI 服务将不可用。
    [0.123978] devtmpfs:已初始化
    [0.135891] VFP 支持 v0.3:实现方41架构3第30部分版本 c 修订版3
    [0.136423]时钟源:Jiffies:MASK:0xFFFFFFFF max_cycles:0xFFFFFFFF、max_idle_ns:19112604462750000 ns
    [0.136459] futex 散列表条目:256 (顺序:-1、3072字节)
    [0.142151] pinctrl 内核:已初始化 pinctrl 子系统
    [0.142547] DMI 不存在或无效。
    [0.143145] NET:注册协议系列16.
    [0.146462] DMA:预分配256 KiB 池用于原子相干分配
    [0.179027] L4_wkup_cm:clk:0010:0:无法禁用
    [0.234164]空闲:使用调速器梯
    [0.234220]空闲:使用调速器菜单
    [0.241631] OMAP GPIO 硬件版本0.1
    [0.257282]没有 ATAG?
    [0.257297] HW 断点:不支持调试架构0x4。
    [0.277413] EDMA 49000000.EDMA:TI EDMA DMA 引擎驱动程序
    [0.282416] SCSI 子系统已初始化
    [0.283126] media:Linux media interface:v0.10
    [0.283192] videodev:Linux 视频捕捉接口:v2.00
    [0.283335] pps_core:LinuxPPS API 版本。 1已注册
    [0.283348] pps_core:软件版本 5.3.6 -版权所有2005-2007 Rodolfo Giometti
    [0.28332] PTP 时钟支持已注册
    [0.283431] EDAC MC:版本:3.0.0
    [0.284978] OMAP-mailbox 480c8000.mailbox:OMAP mailbox 修订版0x400
    [0.285787]已初始化高级 Linux 声音架构驱动程序。
    [0.287447]时钟源:切换到时钟源 Timer1
    [0.299661] NET:注册协议系列2.
    [0.300820] tcp_listen_portaddr_hash 哈希表条目:512 (顺序:0、4096字节)
    [0.300866] TCP 建立哈希表条目:2048 (顺序:1、8192字节)
    [0.300907] TCP BIND 哈希表条目:2048 (顺序:1、8192字节)
    [0.300945] TCP:已配置哈希表(建立2048 BIND 2048)
    [0.301098] UDP 哈希表条目:256 (顺序:0、4096字节)
    [0.301130] UP-Lite 哈希表条目:256 (顺序:0、4096字节)
    [0.301370] NET:注册协议系列1.
    [0.302171] RPC:注册后命名为 UNIX 套接字传输模块。
    [0.302192] RPC:注册的 UDP 传输模块。
    [0.302201] RPC:注册的 TCP 传输模块。
    [0.302211] RPC:注册的 TCP NFSv4 4.1反向通道传输模块。
    [0.303509]硬件性能事件:通过 armv7_cortex_A8 PMU 驱动器启用、提供5个计数器
    [0.305334]初始化系统受信任的密钥环
    [0.305797]工作集:TIMESTAMP_BITS =14 max_order=16 bucke_order=2
    [0.312843] squashfs:版本4.0 (2009/01/31) Phillip Lougher
    [0.313901] NFS:注册 id_resolver 密钥类型
    [0.313964]注册密钥类型 id_resolver
    [0.313975]注册的密钥类型 id_legacy
    [0.314039] NTFS:驱动程序2.1.32 [Flags:R/O]。
    [0.317321]注册密钥类型非对称
    [0.317350]已注册非对称密钥解析器'x509'
    [0.317593] Block Layer SCSI generic (BSG) driver version 0.4 loaded (Major 245)(已加载块层 SCSI 通用(BSG)驱动程序版本0.4 (主要245)
    [0.317614]已注册 IO 调度程序 NOP
    [0.317626]已登记 IO 调度程序的截止日期
    [0.317976]已注册 IO 调度程序 cfq (默认值)
    [0.317995]已注册 IO 调度程序 MQ-Deadline
    [0.318008]已注册 IO 调度程序 kyber
    [0.320699] pinctrl-single 44e10800.pinmux:142个引脚、大小568
    [0.394776]串行:8250/16550驱动程序,10个端口,启用 IRQ 共享
    [0.400553]在 MMIO 0x44e09000 (IRQ = 30、base_baud = 3000000)处的44e09000.serial: ttyS0是8250
    [1.018294]控制台[ttyS0]已启用
    [1.023481] 48024000.serial: tmio 0x48024000 (IRQ = 31、base_baud = 3000000)处的 ttyS2为8250
    [1.033860] 481a6000.serial: tmio 0x481a6000处的 ttyS3 (IRQ = 32、base_baud = 3000000)为8250
    [1.044187] 481a8000.serial: tmio 0x481a8000处的 ttyS4 (IRQ = 33、base_baud = 3000000)是8250
    [1.054531] 481aa000.serial:在 MMIO 0x481aa000 (IRQ = 34、base_baud = 3000000)处的 ttyS5是8250
    [1.066192] OMAP_rng 48310010.rng:随机数生成器版本 20.
    [1.07261] random:快速初始化完成
    [1.076375]随机:完成 crng 初始化
    [1.098999]返修:模块已加载
    [1.111932]循环:模块已加载
    [1.119286] libphy:固定 MDIO 总线:探测
    [1.197559] DaVinci_MDIO 4a101000.MDIO:达芬奇 MDIO 修订版本1.6、总线频率1000000
    [1.205281] libphy: 4a101000.mdio:探测
    [1.210886] DaVinci_MDIO 4a101000.MDIO:PHY[1]:器件4a101000.MDIO:01、驱动程序 SMSC LAN8710/LAN8720
    [1.221309] cpsw 4a100000.以太网:检测到的 MACID = 30:45:11:A3:b9:af
    [1.228225] cpsw 4a100000.ethernet:初始化 cpsw ale 版本1.4
    [1.234621] cpsw 4a100000.以太网:ALE 表大小1024
    [1.240044] cpsw 4a100000.以太网:CPT:溢出检查周期500 (jiffies)
    [1.248835] PPP 通用驱动程序版本2.4.2
    [1.253950] i2c /dev/entries 驱动程序
    [1.260494] cputidle: enable-method 属性'ti,am3352'找到操作
    [1.268079] sdhci:安全数字主机控制器接口驱动程序
    [1.274299] sdhci:版权所有(c) Pierre Osman
    [1.279878] OMAP_GPIO 481ae000.GPIO:无法将第14行去抖设置为200000微秒(-22)
    [1.288786] omap_hmc 48060000.mmc:获得 CD GPIO
    [1.296407] OMAP_hsmmc 4781000.MMC:以消费类产品的身份链接到 regular.1
    [1.413248] sddhci-pltfm:SDHCI 平台和驱动程序助手
    [1.422306] ledtrig-CPU:已注册以指示 CPU 上的活动
    [1.429342] OMAP_hsmmc 4781000.MMC:卡声称支持低于定义范围的电压
    [1.445253] NET:注册协议系列17.
    [1.450460]注册的密钥类型 DNS_旋 变传感器
    [1.455188] OMAP_VOLTGE_LARD_INIT:未添加电压驱动器支持
    [1.463153]加载已编译的 X.509证书
    [1.476439] mmc0:地址0001处的新高速 SDIO 卡
    [1.492058]使用虚拟稳压器时、pca953x 1-0074:1-0074未找到电源 VCC
    [1.499642] pca953x 1-0074:作为消费类产品链接到 reguler.0
    [1.528528] OMAP_i2c 4802a000.i2c:总线1修订版0.11、频率为400kHz
    [1.557745] tps65910 2-002D:无中断支持、无内核 IRQ
    [1.565846] vrtc:由稳压器仿真提供
    [1.571605] VIO:由稳压器-虚拟电源供电
    [1.577528] vdd1:由稳压器仿真提供
    [1.583769] vdd2:由稳压器仿真提供
    [1.591019] vdig1:由稳压器虚拟供电
    [1.596929] vdig2:由稳压器虚拟供电
    [1.602995] vpll:由稳压器虚拟供电
    [1.608902] vdac:由稳压器虚拟供电
    [1.614729] vaux1:由稳压器虚拟供电
    [1.620697] vaux2:由稳压器仿真提供
    [1.626631] vaux33:由稳压器虚拟供电
    [1.632662] VMMC:由稳压器虚拟供电
    [1.638478] VBB:由稳压器虚拟供电
    [1.644529] OMAP_i2c 4819c000.i2c:总线2修订版0.11、频率为400kHz
    [1.650669] CPU CPU0:作为耗电元件链接到 reguler.5
    [1.656202] CPU CPU0:断开到 reguler.5的链接
    [1.661777] CPU CPU0:作为消费类产品链接到 reguler.5
    [1.668065] cpufreq:cpufreq_online:cpu0:以未列出的 freq 运行:1200000 KHz
    [1.675545] CPU CPU0:DEV_PM_OPP_SET_RATE:无法找到 FREQ 1200000000 (-34)的当前 OPP
    [1.684588] cpufreq:cpufreq_online:cpu0:未列出的初始频率更改为:800000 KHz
    [1.694928] OMAP_GPIO 481ae000.GPIO:无法将第14行去抖设置为200000微秒(-22)
    [1.703906] OMAP_hsmmc 48060000.MMC:获得了 CD GPIO
    [1.709507] OMAP_hsmmc 48060000.MMC:以消费类电子产品的身份链接到 reguler.14
    [1.741229]无法在虚拟地址 ffe004处处理内核分页请求
    [1.748577] PgD = bfc7fe91
    [1.751331][ffe004]* PgD=8ffe6861、* Pte=00000000、* Ppte=00000000
    [1.757721]内部错误:Oops:37 [#1]抢占 ARM
    [1.762830]模块链接于:
    [1.765972] CPU:0 PID:54 Comm:kthreadd 未被污染4.19.94-gbe5389fd85 #1
    [1.773089]硬件名称:通用 AM33XX (平展器件树)
    [1.779295] PC 处于完成状态+0x20/0x84
    [1.783196] LR 位于 kthread+0xec/0x160
    [1.787087] PC:[ ] LR:[ ] PSR:a0000093
    [1.793417] sp:cf62bf60 IP:cf62bf78 FP:cf62bf74
    [1.798701] R10:cf5edbb8 R9:c0170b8c R8:cf61e140
    [1.803986] r7:ffe000 r6:00000000 r5:cf61e180 r4:a0000013
    [1.8108581] r3:ffe000 r2:cf62a000 r1:00000002 r0:cf5edbb8
    [1.817184]标志:NzCv IRQ 关闭 FIQ 打开模式 SVC_32 ISA ARM 段无
    [1.824479]控制:10c5387d 表:80004019 DAC:00000051
    [1.830293]处理 kthreadd (pid:54、栈限制= 0xa041c69a)
    [1.836365]堆栈:(0xcf62bf60至0xcf62c000)
    [1.840817] bf60:cf61e1cf0 cf61e180 cf62bcf62bf78 c0148e28 c015f30c cf61e1d8 cf61e1d8
    [1.849101] bf80:00000000 cf61e180 c0148d3c 00000000 00000000 00000000 00000000 00000000 00000000
    [1.857383] bfa0:00000000 cf62bfb0 c01010e8 c0148d48 00000000 00000000 00000000 00000000
    [1.865663] bfc0:00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    [1.873943] bfe0:00000000 00000000 00000000 000000000013 00000000 00000000 00000000 00000000 00000000
    [1.882182]回溯:
    [1.884715][ ](完成)从[ ](kthread+0xec/0x160)
    [1.891665] R5:cf61e180 R4:cf61e1c0
    [1.895320][ ](kthread)、来自[ ](RET_FANK_F叉+0x14/0x2C)
    [1.902612]异常堆栈(0xcf62bfb0至0xcf62bff8)
    [1.907737] bfa0:00000000 00000000 00000000
    [1.916018] bfc0:00000000 00000000 00000000 00000000 00000000 00000000 00000000
    [1.924288] bfe0:00000000 00000000 00000000 000000000013 00000000
    [1.930995] R10:00000000 R9:00000000 R8:00000000 r7:00000000 R6:00000000 R5:c0148d3c
    [1.938892] R4:cf61e180
    [1.941499]代码:f10c0080 e1a0300d e3c33d7f e3c7303f (e5932004)
    [1.947677]--[结束线迹 e0720e6357a700cb ]--
    [1.952600]无法处理虚拟地址 bf000004的内核分页请求
    [1.959906] PgD = bfc7fe91
    [1.962655][bf000004]* PgD=00000000
    [1.966298]内部错误:Oops:5 [#2]抢占 ARM
    [1.971316]链接的模块:
    [1.974446] CPU:0 PID:54 Comm:kthreadd 被污染:G D 4.19.94-gbe5389fd85 #1
    [1.982956]硬件名称:通用 AM33XX (平展器件树)
    [1.989131] PC 处于完成状态+0x20/0x84
    [1.993044] LR 位于 MM_RELEASE_0x94/0x160
    [1.997196] PC:[ ] LR:[ ] PSR:a0000193
    [2.003527] sp:cf62bd40 IP:cf62bd58 FP:cf62bd54
    [2.008807] R10:ffe000 R9:00000000 R8:60000193
    [2.014093] r7:bf000000 r6:ffe000 r5:00000000 r4:a0000113
    [2.020686] r3:bf000000 r2:00000001 r1:00000000 r0:cf61e1d8
    [2.027284]标志:NzCv IRQ 关闭 FIQ 打开模式 SVC_32 ISA ARM 段无
    [2.034578]控制:10c5387d 表:80004019 DAC:00000051
    [2.040390]处理 kthreadd (pid:54、栈限制= 0xa041c69a)
    [2.046459]堆栈:(0xcf62bd40至0xcf62c000)
    [2.050906] bd40:cf277600 00000000 cf62bd8c cf62bd58 c0127cac c015f30c cf293bd8 0000000b
    [2.059189] bd60:c0d155c0 cf277600 cf277600 0000000b cf277600 00000000 ffe000 bf000000
    [2.067473] bd80:cf62bdb4 cf62bd90 c012cf90 c0127c24 cf277600 ffe000 cf62bdb4 18b781c6
    [2.075755] bda0:c012a934 bf000000 cf62bdec cf62bdb8 c010c144 c012cd6c cf62a208 0000000b
    [2.084038] bdc0:c0aa79fc ffe004 cf62bf10 00000037 00000000 00000037 cf62a000 cf5edbb8
    [2.092322] bde0:cf62be04 cf62bdf0 c0112cc8 c010beac cf62bf10 ffe004 cf62be54 cf62be08
    [2.100604] be00:c0113014 c0112c68 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    [2.108885] BE20:00000000 00000000 c0d03048 00000037 c0d07374 ffe004 cf62bf10
    [2.117170] be40:cf62a000 cf5edbb8 cf62bf0c cf62be58 c01131ac c0112ce4 00000000 00000000
    [2.125450] be60:00000000 00000000 00000000 00000000 00000000 00000000 00000000
    [2.133729] be80:00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    [2.142007] bea0:00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    [2.150287] bec0:00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    [2.158570] bee0:00000000 18b781c6 c015f320 a0000093 ffffff cf62bf44 cf61e140 cf62a000
    [2.166854] bf00:cf62bf74 cf62bf10 c0101978 c0113164 cf5edbb8 00000002 cf62a000 ffe000
    [2.175136] bf20:a0000013 cf61e180 00000000 ffe000 cf61e140 c0170b8c cf5edbb8 cf62bf74
    [2.183419] bf40:cf62bf78 cf62bf60 c0148e28 c015f320 a0000093 ffff 00000051 00000000
    [2.191704] bf60:cf61e1c0 cf61e180 cf62bf1362bf78 c0148e28 c015f30c cf61e1d8 cf61e1d8
    [2.199985] bf80:00000000 cf61e180 c0148d3c 00000000 00000000 00000000 00000000 00000000 00000000
    [2.208266] bfa0:00000000 cf62bfb0 c01010e8 c0148d48 00000000 00000000 00000000 00000000
    [2.216545] bfc0:00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    [2.224824] bfe0:00000000 00000000 00000000 00000000 00000013 00000000 00000000 00000000 00000000 00000000
    [2.233062]回扫:
    [2.235595][ ](完成)从[ ](MM_RELEASE_0x94/0x160)
    [2.242805] R5:00000000 R4:cf277600
    [2.246470][ ](MM_RELEASE)从[ ](do_exit+0x230/b3c)
    [2.253690] r7:bf000000 r6:ffe000 r5:00000000 r4:cf277600
    [2.259443][ ](do _exit)从[ ](DIE+0x2a4/0x2ac)
    [2.266034] r7:bf000000
    [2.268661][ ](裸片)从[ ](__do_kernel_FAULT.part.0+0x6c/0x7c)
    [2.276591] R10:cf5edbb8 R9:cf62a000 R8:00000037 r7:00000000 R6:00000037 R5:cf62bf10
    [2.284490] R4:ffe004
    [2.287109][ ](__do_kernel_FAULT.part.0)从[ ](do_bad_area+0x0/0x84)
    [2.295626] r7:ffe004 r4:cf62bf10
    [2.299289][ ](DE_PAGE_FAULT)从[ ](DO_DataAbort+0x54/0xec)
    [2.307045] r10:cf5edbb8 r9:cf62a000 r8:cf62bf10 r7:ffe004 r6:c0d07374 r5:00000037
    [2.314943] R4:c0d03048
    [2.317553][ ](DO 数据中止)从[ ](_dabt_Svc+0x58/0x80)
    [2.325018]异常堆栈(0xcf62bf10至0xcf62bf58)
    [2.330145] bf00:cf5edbb8 00000002 cf62a000 ffe000
    [2.338428] bf20:a0000013 cf61e180 00000000 ffe000 cf61e140 c0170b8c cf5edbb8 cf62bf74
    [2.346702] bf40:cf62bf78 cf62bf60 c0148e28 c015f320 a0000093 ffff
    [2.353410] R9:cf62a000 R8:cf61e140 r7:cf62bf44 R6:ffff R5:a0000093 R4:c015f320
    [2.361250][ ](完成)从[ ](kthread+0xec/0x160)
    [2.368195] R5:cf61e180 R4:cf61e1c0
    [2.371842][ ](kthread)、来自[ ](RET_FANK_F叉+0x14/0x2C)
    [2.379132]异常堆栈(0xcf62bfb0至0xcf62bff8)
    [2.384256] bfa0:00000000 00000000 00000000 00000000
    [2.392535] bfc0:00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    [2.400807] bfe0:00000000 00000000 00000000 00000013 00000000
    [2.407514] R10:00000000 R9:00000000 R8:00000000 r7:00000000 R6:00000000 R5:c0148d3c
    [2.415412] R4:cf61e180
    [2.418017]代码:f10c0080 e1a0300d e3c33d7f e3c7303f (e5932004)
    [2.424183]--[末尾迹 e0720e6357a700cc ]--
    [2.428855]修复递归故障、但需要重新启动!

    --------------------------------------------------------------------

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

    Katsuyama-San、您好!
    OPP/稳压器节点中的内核器件树配置与 VDD_MPU/VDD_CORE 似乎不匹配...
    下面我将总结我对 AM335x EVM (1GHz 器件)的测试、供您参考:
    具有 PMIC (tps65910)的 AM335x EVM
    - VDD1 (tps65910)至 VDD_MPU (AM335x)
    - VDD2 (tps65910)至 VDD_CORE (AM335x)
    2. AM335x EVM 上 VDD_MPU 的内核器件树中的稳压器节点(/arch/arm/boot/dts/am335x-evm.dts)

    		vdd1_reg: regulator@2 {
    			/* VDD_MPU voltage limits 0.95V - 1.26V with +/-4% tolerance */
    			regulator-name = "vdd_mpu";
    			regulator-min-microvolt = <912500>;
    			regulator-max-microvolt = <1351500>;
    			regulator-boot-on;
    			regulator-always-on;
    		};

    对 AM335x EVM 进行了两项测试

    a)。 SDK 6.3中的默认器件树
    -附件中的日志文件(AM3_6.3_regulator.txt)

    - root@am335x-hs-evm:~# cat /sys/kernel/debug/regulator/regulator_summary
        vdd_mpu                       0    1      0   950mV     0mA   912mV  1350mV 
        vdd_core                      0    0      0  1100mV     0mA   912mV  1150mV 
    - root@am335x-hs-evm:~# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies
    300000 600000 720000 800000 1000000

    b)。 VDD_MPU 的 OPP/电脑 控制器节点上的内核器件树中的一个更改、如下所示
    从"稳压器最小值微伏=<912500>;"更改为"稳压器最小值微伏=<1100000>;"
    -附件中的日志文件(AM3_6.3_regulator _No_300MHz.txt)

    - root@am335x-hs-evm:~# cat /sys/kernel/debug/regulator/regulator_summary
        vdd_mpu                       0    1      0  1200mV     0mA  1100mV  1350mV 
        vdd_core                      0    0      0  1100mV     0mA   912mV  1150mV 
    - root@am335x-hs-evm:~# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies
    600000 720000 800000 1000000

    4.为您提供的一些问题和检查点:
    a)。 您的电路板上使用了哪种 PMIC? 是 tps65910吗?
    b)。 检查与 AM335x SoC 的 PMIC 连接、尤其是在 VDD_MPU、VDD_CORE 上...?
    c)。 查看 OPP/Regulator 节点上的内核器件树配置、尤其是 VDD_MPU、VDD_CORE……
    d)。 删除最后一次器件树更改(或恢复到电路板上以前工作的内核启动)、和
    检查运行"cat /sys/kernel/debug/regulator/regulator_summary 的输出
    最棒的
    -香港

    e2e.ti.com/.../am3_5F00_6.3_5F00_regulator.txt

    e2e.ti.com/.../am3_5F00_6.3_5F00_regulator_5F00_No_5F00_300MHz.txt

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

    大家好、Hong Guan64-San、

    感谢您的详细解释。

    我将 vdd1 (VDD_MPU)设置为 AM335x-evm.dts 并 尝试了一些其他值、但无法获得300MHz。

    [引用 userid="43349" URL"~/support/processors/f/processors-forum/983974/am3356-how-to-change-cpu-freq-on-demand/3640896 #3640896]a)。 您的电路板上使用了哪种 PMIC? 是 tps65910吗?
    b)。 检查与 AM335x SoC 的 PMIC 连接、尤其是在 VDD_MPU、VDD_CORE 上...?
    c)。 查看 OPP/Regulator 节点上的内核器件树配置、尤其是 VDD_MPU、VDD_CORE……
    d)。 删除最后一次器件树更改(或恢复到电路板上以前工作的内核启动)、和
    检查运行"cat /sys/kernel/debug/regulator/regulator_summary 的输出"[/quot]

    a)是的。  使用 TPS65910AA1RSLR。

    B)原理图中可能还行。

    c)我尝试了 VDD_MPU 和 VDD_CORE 的一些组合、但无法获得300MHz。

    d)请参阅下文。

    device tree without vdd1_reg
            vdd1_reg: regulator@2 {
                  reg = <2>;
                  regulator-compatible = "vdd1";
                  regulator-always-on;
              };
    
              vdd2_reg: regulator@3 {
                  reg = <3>;
                  regulator-compatible = "vdd2";
                  regulator-always-on;
                  regulator-min-microvolt = <1100000>;
                  regulator-max-microvolt = <1285200>;
              };
    
    $ cat /sys/kernel/debug/regulator/regulator_summary
       vdd1                          0    0      0  1100mV     0mA     0mV     0mV
       vdd2                          0    1      0  1200mV     0mA  1100mV  1275mV
          cpu0                                                      1200mV  1224mV
    
    $ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies
    600000 720000 800000
    
    $ dmesg
    [    1.557956] tps65910 2-002d: No interrupt support, no core IRQ
    [    1.564087] tps65910-gpio tps65910-gpio: ti,en-gpio-sleep not specified
    [    1.564119] gpiochip_find_base: found new base at 490
    [    1.564415] gpio gpiochip5: (tps65910): added GPIO chardev (254:5)
    [    1.564532] gpiochip_setup_dev: registered GPIOs 490 to 495 on device: gpiochip5 (tps65910)
    [    1.566286] vrtc: supplied by regulator-dummy
    [    1.572039] vio: supplied by regulator-dummy
    [    1.577974] vdd1: supplied by regulator-dummy
    [    1.584206] vdd2: supplied by regulator-dummy
    [    1.591460] vdig1: supplied by regulator-dummy
    [    1.597370] vdig2: supplied by regulator-dummy
    [    1.603433] vpll: supplied by regulator-dummy
    [    1.609336] vdac: supplied by regulator-dummy
    [    1.615171] vaux1: supplied by regulator-dummy
    [    1.621152] vaux2: supplied by regulator-dummy
    [    1.627067] vaux33: supplied by regulator-dummy
    [    1.633093] vmmc: supplied by regulator-dummy
    [    1.638957] vbb: supplied by regulator-dummy
    [    1.645026] omap_i2c 4819c000.i2c: bus 2 rev0.11 at 400 kHz
    [    1.651175] cpu cpu0: Linked as a consumer to regulator.5
    [    1.656706] cpu cpu0: Dropping the link to regulator.5
    [    1.662285] cpu cpu0: Linked as a consumer to regulator.5
    [    1.668060] core: _opp_supported_by_regulators: OPP minuV: 931000 maxuV: 969000, not supported by regulator
    [    1.677948] cpu cpu0: _opp_add: OPP not supported by regulators (300000000)
    [    1.685504] cpufreq: cpufreq_online: CPU0: Running at unlisted freq: 1200000 KHz
    [    1.693028] cpu cpu0: dev_pm_opp_set_rate: failed to find current OPP for freq 1200000000 (-34)
    [    1.702214] cpufreq: cpufreq_online: CPU0: Unlisted initial frequency changed to: 800000 KHz

    与 AM335x-EVM.dts 相同

    device tree
            vdd1_reg: regulator@2 {
                  reg = <2>;
                  regulator-name = "vdd_mpu";
                  regulator-compatible = "vdd1";
                  regulator-always-on;
                  regulator-min-microvolt = <912500>;
                  regulator-max-microvolt = <1351500>;
              };
    
              vdd2_reg: regulator@3 {
                  reg = <3>;
                  regulator-name = "vdd_core";
                  regulator-compatible = "vdd2";
                  regulator-always-on;
                  regulator-min-microvolt = <1100000>;
                  regulator-max-microvolt = <1285200>;
              };
    
    $ cat /sys/kernel/debug/regulator/regulator_summary
        vdd_mpu                       0    0      0  1100mV     0mA   912mV  1350mV
        vdd_core                      0    1      0  1100mV     0mA  1100mV  1275mV
           cpu0                                                      1100mV  1122mV
    
     $ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies
    600000 720000 800000

    此致。

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

    Katsuyama-San、您好!
    感谢您在设置中运行测试。
    正如我在上一个答复中所说、OPP/稳压器节点中的内核 DT 配置与 VDD_MPU/VDD_CORE 似乎不匹配...

    [引用 userid="472690" URL"~/support/processors/f/processors-forum/983974/am3356-how-to-change-cpu-freq-on-demand/3641580 #3641580"]我将 vdd1 (VDD_MPU)设置为 AM335x-EVM.dts[/quot]

    您能否确认 DT 中的 vdd1_reg 已连接到电路板上的 VDD_MPU? 您的日志似乎不匹配、如下所示

    $ cat /sys/kernel/debug/regulator/regulator_summary
       vdd1                          0    0      0  1100mV     0mA     0mV     0mV
       vdd2                          0    1      0  1200mV     0mA  1100mV  1275mV
          cpu0                                                      1200mV  1224mV

    您可能需要参阅 AM335x EVM DT 文件"AM335x-EVM.dts "、其中"vdd1_reg"适用于 AM335x GP EVM 上的 VDD_MPU。

    ...
    	cpus {
    		cpu@0 {
    			cpu0-supply = <&vdd1_reg>;
    		};
    	};
    ...
    		vdd1_reg: regulator@2 {
    			/* VDD_MPU voltage limits 0.95V - 1.26V with +/-4% tolerance */
    			regulator-name = "vdd_mpu";
    			regulator-min-microvolt = <912500>;
    			regulator-max-microvolt = <1351500>;
    			regulator-boot-on;
    			regulator-always-on;
    		};
    
    		vdd2_reg: regulator@3 {
    			/* VDD_CORE voltage limits 0.95V - 1.1V with +/-4% tolerance */
    			regulator-name = "vdd_core";
    			regulator-min-microvolt = <912500>;
    			regulator-max-microvolt = <1150000>;
    			regulator-boot-on;
    			regulator-always-on;
    		};

    最棒的

    -香港

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

    Katsuyama-San、您好!
    一个附加说明。 在上次答复中、您使用运行测试时

    [引用 userid="472690" URL"~/support/processors/f/processors-forum/983974/am3356-how-to-change-cpu-freq-on-demand/3641580 #3641580"]和与 AM335x-EVM.dts 相同的内容[/quot]

    您是否更改了

    CPU{
    CPU@0{
    CPU0-SUPPLY =<_vdd1_reg>
    };
    };

    最棒的

    -香港

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

    您好、Hon-San、

    我可以得到300MHz!  非常感谢!

    [引用 userid="43349" URL"~/support/processors/f/processors-forum/983974/am3356-how-to-change-cpu-freq-on-demand/3642146 #3642146"] CPU0-supply =<&vdd1_reg

    这条线解决了这个问题。

    我可以得到以下结果:

    $ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies
    300000 600000 720000 800000
    
    $ cat /sys/kernel/debug/regulator/regulator_summary
       vdd_mpu                       0    1      0   950mV     0mA   912mV  1350mV
          cpu0                                                       950mV   969mV
       vdd_core                      0    0      0  1100mV     0mA   912mV  1150mV
    
    $ cat /sys/devices/system/cpu/cpu0/cpufreq/stats/trans_table
      From  :    To
            :    300000    600000    720000    800000
      300000:         0        27         6        24
      600000:        33         0         6        13
      720000:         7         9         0        15
      800000:        18        16        19         0
    
    $ cat /sys/devices/system/cpu/cpu0/cpufreq/stats/time_in_state
    300000 37288
    600000 354
    720000 168
    800000 4976

    此致。

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

    您好、Hong -San、

    非常感谢您的帮助。 我关闭了这个 TT。  

    此致、

    宫崎