您好,欢迎来到61ic! | [登录] [注册] 忘记密码 | 设为首页 帮助
 . 网站首页 . 业界新闻 . 设计中心 . 移动技术 . TI专栏 . ADI专栏 . FPGA专栏 . 代码工厂 . 官方商城 . 
 . 活动专区 . 新品快递 . 解决方案 . 前沿科技 . TI资源 . ADI资源 . FPGA资源 . 下载中心 . 产品展示 . 
加入收藏
付款方式
联系我们
您现在的位置: 61IC电子在线 >> TI专栏 >> TI Sitara ARM >> Cortex-A8 >> 正文
  修改新版am335x支持1G主频的方法[来自A Xian调试记录]           ★★★ 【字体:
修改新版am335x支持1G主频的方法[来自A Xian调试记录]
作者:枪炮与玫…    文章来源:枪炮与玫瑰的BLOG”    点击数:    更新时间:2013-10-23    

记录群里网友 A Xian调试 am3354ZCZ100提升CPU主频到1G的问题


uboot设置电压...从1.26提升到 1.325

1
2
3
4
5
6
7
8
9
10
board.c
//if (!voltage_update(MPU, PMIC_OP_REG_SEL_1_2_6) &&
    if (!voltage_update(MPU, PMIC_OP_REG_SEL_1_3_2_5) &&
          !voltage_update(CORE, PMIC_OP_REG_SEL_1_1_3))
    {
        mpu_pll_config(MPUPLL_M_720);
        //mpu_pll_config(MPUPLL_M_600);
    }
我这个不考虑功耗..所以我对电压无所谓.
直接设置1g也是可以的.


linux-3.2.0-psp05.06.00.00\arch\arm\mach-omap2\opp3xxx_data.c


文件
修改omap3_opp_init函数 此函数加入
还是要做个补丁才好.


arch/arm/plat-omap/include/plat/cpu.h:441:#define AM335X_REV_ES2_1 (AM335X_CLASS | (0x2 << 8))
加入
这个是宏定义
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
*** ti-sdk-am335x-evm-05.06.00.00/board-support/linux-3.2.0-psp05.06.00.00/arch/arm/mach-omap2/id.c 2012-12-17 03:53:58.000000000 +0800
--- ti-sdk-am335x-evm-06.00.00.00/board-support/linux-3.2.0-psp04.06.00.11/arch/arm/mach-omap2/id.c 2013-06-26 05:37:58.000000000 +0800
***************
*** 415,425 ****
            cpu_rev = "1.0";
            break;
        case 1:
-       /* FALLTHROUGH */
-       default:
            omap_revision = AM335X_REV_ES2_0;
            cpu_rev = "2.0";
            break;
        }
        break;
    case 0xb8f2:
--- 415,429 ----
            cpu_rev = "1.0";
            break;
        case 1:
            omap_revision = AM335X_REV_ES2_0;
            cpu_rev = "2.0";
            break;
+       case 2:
+       /* FALLTHROUGH */
+       default:
+           omap_revision = AM335X_REV_ES2_1;
+           cpu_rev = "2.1";
+           break;
        }
        break;
    case 0xb8f2:
id.c




添加uboot命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
static int do_CPUFreq(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
{
    int cpufreq;
    if (argc < 2) {
        const struct cm_wkuppll *cmwkup = (struct cm_wkuppll *)CM_WKUP;
        cpufreq = readl(&cmwkup->clkseldpllmpu);
        cpufreq = (cpufreq >> 8) & 0x3FF;
        printf("Current CPU Freqency = %d MHz\n", cpufreq);
        return 0;
    }
    cpufreq = (int)simple_strtoul(argv[1], NULL, 10);
    printf("Modify CPU Freqency = %d MHz\n", cpufreq);
    if (1000 >= cpufreq && 200 <= cpufreq)
        mpu_pll_config(cpufreq);
    else
        return CMD_RET_USAGE;
    return 0;
}
U_BOOT_CMD(cpufreq, 2, 0, do_CPUFreq,
    "Modify the CPU frequency",
    " [cpu freq MHz]\n"
    "    cpu frequency = 200MHz ~ 1000MHz"
);


附件补丁下载

可参考 diff -u 比较新的BBB板子的代码,uboot和kernel部分

本文出自 “枪炮与玫瑰的BLOG” 博客,请务必保留此出处http://axlrose.blog.51cto.com/434566/1306235

文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章: 没有了
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
    AM335x bootloader
    AM335x开发板的疑问以及解答
    AM335x开发板的疑问以及解答
    AM335x SPL(一)
    AM335x SPL(二)
    AM335x SPL (三)
    AM335x SPL (四)
    AM335x uboot spl分析
    AM335x SPL(一)
    AM335x SPL(二)
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    站长:61 湘ICP备13001086号-2