当前,我正在尝试提高使用MCIMX6G2AVM05AB micro的系统的性能。我想定制CPU时钟频率最大值(我们的系统当前配置为396 MHz的运行,我想在528 MHz的运行)。不幸的是我所面临的一些问题从u-boot的,并没有足够的信息是互联网上找到修改ARM时钟分频器;
请参阅下的描述中,指定随后修改频率的步骤: 1.从U形引导,修改arch_cpu_init()函数来定制PLL1,然后得到所需的时钟频率。 1.1根据imx6ul TRM(18.5.1.5.3 PLL时钟更改)和一些论坛提示(https://community.nxp.com/thread/384261)。 结果:修改CCM_ANALOG_PLL_ARMn寄存器后,PLL1的时钟配置为528 MHz。 2.在u-boot中,修改CCM_CACRR寄存器以处理ARM根时钟分频器。 结果:系统挂起,并且系统无法进行系统初始化。 2.1 CCM_CACRR寄存器修改在不同的启动/内核级(board_init_r,board_init_r,内核(使用由使用devmem2实用程序)init进程执行的脚本)尽快但随着寄存器被修改的系统挂起应用。
问题: 问题一: 1.我怎么能安全地修改CCM_CACRR寄存器来改变ARM根时钟分频器? 2.是否有限制/勘误表来修改此寄存器? 3.是否有正确的步骤来避免系统挂起?
问题2: 4.如何确保IMX6UL确实以指定的频率运行? 注意:我试图将CLK01和CLKO2连接到ARM时钟(arm_clk_root),但是imx6ul(https://community.nxp.com/thread/430464)中似乎不支持此方法。 5.是否有可能以不同的频率向所述一个在CCM_CACRR和CCM_ANALOG_PLL_ARMn寄存器进行配置微运行? 注意:之所以这样问,是因为我看到有人对其他imx6版本(https://community.nxp.com/thread/340705)的输出ARM时钟频率感到遗憾。
问题3: 根据i.MX_Linux_Reference_Manual中的第18章,使用Linux CPU实用程序(cat / sys / devices / system / cpu / cpu0 / cpufreq / cpuinfo_cur_freq)后,我们看到imx6ul以528 MHz运行,但是在读取寄存器(CCM_CACRR和CCM_ANALOG_PLL_ARMn)之后我们发现,ARM时钟配置为396 MHz的运行。 6.可以使用什么方法/支持,注册测量值或Linux CPU实用程序?