初级会员

- 积分
- 195
- 金钱
- 195
- 注册时间
- 2019-3-17
- 在线时间
- 43 小时
|
在【正点原子】I.MX6U嵌入式Linux驱动开发指南V1.5.pdf的文档30.1小结中,描述主频读取时为69M
第 3和第 4行是 CPU信息,可以看出当前使用的 信息,可以看出当前使用的 信息,可以看出当前使用的 信息,可以看出当前使用的 信息,可以看出当前使用的 信息,可以看出当前使用的 信息,可以看出当前使用的 CPU是飞思卡尔的 是飞思卡尔的 是飞思卡尔的 是飞思卡尔的 I.MX6ULL(I.MX以 前属于飞思卡尔,然而被 前属于飞思卡尔,然而被 前属于飞思卡尔,然而被 前属于飞思卡尔,然而被 前属于飞思卡尔,然而被 前属于飞思卡尔,然而被 前属于飞思卡尔,然而被 NXP收购了),如果使用 收购了),如果使用 收购了),如果使用 收购了),如果使用 收购了),如果使用 528MHz的 I.MX6ULL,此处会显 ,此处会显 ,此处会显 示主频为 示主频为 528MHz。但是如果使用 。但是如果使用 。但是如果使用 。但是如果使用 。但是如果使用 800MHz的 I.MX6ULL的话此处会显示 的话此处会显示 的话此处会显示 的话此处会显示 69MHz,这个是 ,这个是 ,这个是 uboot内部主频读取错误,但是 不影响运行可以用管。内部主频读取错误,但是 不影响运行可以用管。内部主频读取错误,但是 不影响运行可以用管。内部主频读取错误,但是 不影响运行可以用管。内部主频读取错误,但是 不影响运行可以用管。内部主频读取错误,但是 不影响运行可以用管。内部主频读取错误,但是 不影响运行可以用管。内部主频读取错误,但是 不影响运行可以用管。内部主频读取错误,但是 不影响运行可以用管。内部主频读取错误,但是 不影响运行可以用管。内部主频读取错误,但是 不影响运行可以用管。内部主频读取错误,但是 不影响运行可以用管。内部主频读取错误,但是 不影响运行可以用管。528MHz还是 800MHz的 I.MX6ULL, 此时都运行在 此时都运行在 此时都运行在 396MHz。这颗芯片是工业级的,可以作在 。这颗芯片是工业级的,可以作在 。这颗芯片是工业级的,可以作在 。这颗芯片是工业级的,可以作在 。这颗芯片是工业级的,可以作在 。这颗芯片是工业级的,可以作在 。这颗芯片是工业级的,可以作在 。这颗芯片是工业级的,可以作在 -40°C~105°C。
在uboot源码中找到解释了
u32 get_cpu_speed_grade_hz(void)
{
struct ocotp_regs *ocotp = (struct ocotp_regs *)OCOTP_BASE_ADDR;
struct fuse_bank *bank = &ocotp->bank[0];
struct fuse_bank0_regs *fuse =
(struct fuse_bank0_regs *)bank->fuse_regs;
uint32_t val;
val = readl(&fuse->cfg3);
val >>= OCOTP_CFG3_SPEED_SHIFT;
val &= 0x3;
if (is_cpu_type(MXC_CPU_MX6UL) || is_cpu_type(MXC_CPU_MX6ULL)) {
if (val == OCOTP_CFG3_SPEED_528MHZ)
return 528000000;
else if (val == OCOTP_CFG3_SPEED_696MHZ)
return 69600000;
else
return 0;
}
计算输出主频函数
max_freq = get_cpu_speed_grade_hz();
if (!max_freq || max_freq == mxc_get_clock(MXC_ARM_CLK)) {
printf(" at %dMHz\n", mxc_get_clock(MXC_ARM_CLK) / 1000000);
} else {
printf(" %d MHz (running at %d MHz)\n", max_freq / 1000000,
mxc_get_clock(MXC_ARM_CLK) / 1000000);
}
,这里都是正点原子的uboot,本人未学习到uboot移植,不知这是不是说主频没有800,也没有700,就是696MHz
|
|