查看: 8420|回复: 4

[已解决] imx6 sabresd 自定义板子 u-boot问题(已解决)

[复制链接]

该用户从未签到

14

主题

98

帖子

0

中级会员

Rank: 3Rank: 3

积分
378
最后登录
1970-1-1
发表于 2014-12-4 17:21:11 | 显示全部楼层 |阅读模式
本帖最后由 FSL_TICS_ZJJ 于 2014-12-19 11:12 编辑

各位朋友,各位FAE 大家好!
手里有一块自己画的板子,参照的是Imx6q sabresd,内存由1G换成了2G,eMMC容量相同,但型号不同。我自己做的u-boot,开机上电后情况如下:

U-Boot 2009.08 (12月 04 2014 - 15:29:11)

CPU: Freescale i.MX6 family TO1.2 at 792 MHz
Thermal sensor with ratio = 174
Temperature:   38 C, calibration data 0x54f4bc69
mx6q pll1: 792MHz
mx6q pll2: 528MHz
mx6q pll3: 480MHz
mx6q pll8: 50MHz
ipg clock     : 66000000Hz
ipg per clock : 66000000Hz
uart clock    : 80000000Hz
cspi clock    : 60000000Hz
ahb clock     : 132000000Hz
axi clock   : 264000000Hz
emi_slow clock: 132000000Hz
ddr clock     : 528000000Hz
usdhc1 clock  : 198000000Hz
usdhc2 clock  : 198000000Hz
usdhc3 clock  : 198000000Hz
usdhc4 clock  : 198000000Hz
nfc clock     : 24000000Hz
Board: i.MX6Q-SABRESD: unknown-board Board: 0x63012 [POR ]
Boot Device: MMC
I2C:   ready
DRAM:   2 GB
MMC:


不知道问题出在哪里了?请大家帮忙看看。
我用DDR_Stress_Tester_V1.0.3获取到一些寄存器的数值。在u-boot/board/freescale/mx6q_sabresd/flash_header.S修改了

MXC_DCD_ITEM(39, MMDC_P0_BASE_ADDR + 0x800, 0xA1390003)
MXC_DCD_ITEM(40, MMDC_P0_BASE_ADDR + 0x80c, 0x001F001F)
MXC_DCD_ITEM(41, MMDC_P0_BASE_ADDR + 0x810, 0x001F001F)
MXC_DCD_ITEM(42, MMDC_P1_BASE_ADDR + 0x80c, 0x001F001F)
MXC_DCD_ITEM(43, MMDC_P1_BASE_ADDR + 0x810, 0x001F001F)
/* Read DQS Gating calibration */
MXC_DCD_ITEM(44, MMDC_P0_BASE_ADDR + 0x83c, 0x03080324)
MXC_DCD_ITEM(45, MMDC_P0_BASE_ADDR + 0x840, 0x03100308)
MXC_DCD_ITEM(46, MMDC_P1_BASE_ADDR + 0x83c, 0x03180320)
MXC_DCD_ITEM(47, MMDC_P1_BASE_ADDR + 0x840, 0x03180250)
/* Read calibration */
MXC_DCD_ITEM(48, MMDC_P0_BASE_ADDR + 0x848, 0x4238383C)
MXC_DCD_ITEM(49, MMDC_P1_BASE_ADDR + 0x848, 0x3636343E)
/* Write calibration */
MXC_DCD_ITEM(50, MMDC_P0_BASE_ADDR + 0x850, 0x34384038)
MXC_DCD_ITEM(51, MMDC_P1_BASE_ADDR + 0x850, 0x3C2C3E3A)
/* read data bit delay: (3 is the reccommended default value, although out of reset value is 0): */
MXC_DCD_ITEM(52, MMDC_P0_BASE_ADDR + 0x81c, 0x33333333)
MXC_DCD_ITEM(53, MMDC_P0_BASE_ADDR + 0x820, 0x33333333)
MXC_DCD_ITEM(54, MMDC_P0_BASE_ADDR + 0x824, 0x33333333)
MXC_DCD_ITEM(55, MMDC_P0_BASE_ADDR + 0x828, 0x33333333)

MXC_DCD_ITEM(56, MMDC_P1_BASE_ADDR + 0x81c, 0x33333333)
MXC_DCD_ITEM(57, MMDC_P1_BASE_ADDR + 0x820, 0x33333333)
MXC_DCD_ITEM(58, MMDC_P1_BASE_ADDR + 0x824, 0x33333333)
MXC_DCD_ITEM(59, MMDC_P1_BASE_ADDR + 0x828, 0x33333333)
/* Complete calibration by forced measurement: */
MXC_DCD_ITEM(60, MMDC_P0_BASE_ADDR + 0x8b8, 0x00000800)
MXC_DCD_ITEM(61, MMDC_P1_BASE_ADDR + 0x8b8, 0x00000800)
/* MMDC init: */
MXC_DCD_ITEM(62, MMDC_P0_BASE_ADDR + 0x004, 0x00020036)
MXC_DCD_ITEM(63, MMDC_P0_BASE_ADDR + 0x008, 0x09444040)

MXC_DCD_ITEM(64, MMDC_P0_BASE_ADDR + 0x00c, 0x898E7955)
MXC_DCD_ITEM(65, MMDC_P0_BASE_ADDR + 0x010, 0xFF328F64)
MXC_DCD_ITEM(66, MMDC_P0_BASE_ADDR + 0x014, 0x01FF00DB)

MXC_DCD_ITEM(67, MMDC_P0_BASE_ADDR + 0x018, 0x00011740)
MXC_DCD_ITEM(68, MMDC_P0_BASE_ADDR + 0x01c, 0x00008000)
/* t during MMDC set up */
MXC_DCD_ITEM(69, MMDC_P0_BASE_ADDR + 0x02c, 0x000026D2)
/* t values */
MXC_DCD_ITEM(70, MMDC_P0_BASE_ADDR + 0x030, 0x008E1023)
MXC_DCD_ITEM(71, MMDC_P0_BASE_ADDR + 0x040, 0x00000047)
MXC_DCD_ITEM(72, MMDC_P0_BASE_ADDR + 0x000, 0x841A0000)
/* Mode register writes */
MXC_DCD_ITEM(73, MMDC_P0_BASE_ADDR + 0x01c, 0x02088032)
MXC_DCD_ITEM(74, MMDC_P0_BASE_ADDR + 0x01c, 0x00008033)
MXC_DCD_ITEM(75, MMDC_P0_BASE_ADDR + 0x01c, 0x00048031)
MXC_DCD_ITEM(76, MMDC_P0_BASE_ADDR + 0x01c, 0x19408030)
MXC_DCD_ITEM(77, MMDC_P0_BASE_ADDR + 0x01c, 0x04008040)

MXC_DCD_ITEM(78, MMDC_P0_BASE_ADDR + 0x020, 0x00007800)
MXC_DCD_ITEM(79, MMDC_P0_BASE_ADDR + 0x818, 0x00022227)
MXC_DCD_ITEM(80, MMDC_P1_BASE_ADDR + 0x818, 0x00022227)
MXC_DCD_ITEM(81, MMDC_P0_BASE_ADDR + 0x004, 0x00025576)
MXC_DCD_ITEM(82, MMDC_P0_BASE_ADDR + 0x404, 0x00011006)
MXC_DCD_ITEM(83, MMDC_P0_BASE_ADDR + 0x01c, 0x00000000)


这些参数是从.inc文件里拿到的,未做其他的修改。
谢谢大家!
我知道答案 目前已有4人回答
回复

使用道具 举报

该用户从未签到

14

主题

98

帖子

0

中级会员

Rank: 3Rank: 3

积分
378
最后登录
1970-1-1
 楼主| 发表于 2014-12-5 15:59:36 | 显示全部楼层
FAE们,支持一下嘛
回复 支持 反对

使用道具 举报

该用户从未签到

14

主题

98

帖子

0

中级会员

Rank: 3Rank: 3

积分
378
最后登录
1970-1-1
 楼主| 发表于 2014-12-8 09:41:38 | 显示全部楼层
各位老师,指导一下嘛
回复 支持 反对

使用道具 举报

该用户从未签到

14

主题

98

帖子

0

中级会员

Rank: 3Rank: 3

积分
378
最后登录
1970-1-1
 楼主| 发表于 2014-12-8 13:12:52 | 显示全部楼层

RE: imx6 sabresd 自定义板子 u-boot问题(已解决)

board/freescale/mx6q_sabresd/mx6q_sabresd.c 第962行,改为:
iomux_v3_cfg_t usdhc3_pads[] = {
        MX6Q_PAD_SD3_CLK__USDHC3_CLK,
        MX6Q_PAD_SD3_CMD__USDHC3_CMD,
        MX6Q_PAD_SD3_DAT0__USDHC3_DAT0,
        MX6Q_PAD_SD3_DAT1__USDHC3_DAT1,
        MX6Q_PAD_SD3_DAT2__USDHC3_DAT2,
        MX6Q_PAD_SD3_DAT3__USDHC3_DAT3,
#if 0
        MX6Q_PAD_SD3_DAT4__USDHC3_DAT4,
        MX6Q_PAD_SD3_DAT5__USDHC3_DAT5,
        MX6Q_PAD_SD3_DAT6__USDHC3_DAT6,
        MX6Q_PAD_SD3_DAT7__USDHC3_DAT7,
#endif
};
问题解决。
回复 支持 反对

使用道具 举报

该用户从未签到

3

主题

7

帖子

0

注册会员

Rank: 2

积分
53
最后登录
2015-11-13
发表于 2015-10-27 15:18:06 | 显示全部楼层
jinying7274 发表于 2014-12-8 13:12
board/freescale/mx6q_sabresd/mx6q_sabresd.c 第962行,改为:
iomux_v3_cfg_t usdhc3_pads[] = {
        MX6Q_P ...

请问,你这样弄一下就可以用了?为什么我的不可以呢?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2025-7-20 16:52 , Processed in 0.094298 second(s), 24 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

快速回复 返回顶部 返回列表