说明

在最新的PD19中,对于AM57x的核心板,我们修改了识别核心板的方式。

项目PD19之前版本
根据eeprom来确定核心板型号不会
uboot启动时加载设备树方案根据eeprom中的信息来加载按照烧写的uboot镜像中的配置来加载
uboot, 设备树通用每款核心板特定
项目老的核心板(eeprom未配置)新的核心板(eeprom已配置)
PD19需要按照下面的教程来更新eeprom不需要,出厂已配好
PD19之前的版本使用machine对应的image使用machine对应的image

配置核心板的EEPROM

如果核心板的eeprom未配置过,运行AM57X PD19的镜像,uboot显示的信息为:

uboot log
Model: PHYTEC phyCORE-AM5716 with 1GiB DDR3 (1 bank), Commercial Temp
PHYTEC: unknown board name. Defaulting to am57xx_phycore_kit,a MINIMAL AM5716 configuration.

kernel中的设备树也是根据未配置的eeprom内容选用am5716的设备树。

kernel log
[    0.000000] OF: fdt: Machine model: PHYTEC phyCORE-AM5716 with 1GiB DDR3 (1 bank), Commercial Temp

这是因为从PD19版本开始,uboot是读eeprom中的值来得到核心板的配置,而老的核心板默认出厂时并没有写入对应板子的参数值。

在PD19的系统中,我们有个EEPROM的烧写工具,具体使用方法需要先参考这个文档说明:

Using the PHYTEC EEPROM Flashtool

在写入eeprom之前, 需要先得到核心板的PART NUMBER, 然后可以使用这个工具的display参数可以查找该核心板的硬件参数

root@am57xx-phycore-kit:~# export PATH=/usr/bin/phytec-eeprom-flashtool:$PATH
root@am57xx-phycore-kit:~# phytec_eeprom_flashtool.py display PCM-057-41300111I.A1 3

PCM-057-41300111I.A1 EEPROM contents and configuration [display]:

API version             0                                       
Mod version             0                                       
SOM PCB revision        3                                       
KSP style               0                                       
KSP number              0                                       
Bits set                46                                      
MAC address             74:da:ea:08:45:b0                       

Verbose kit options:
DDR                     2GB DDR3 RAM (2 Banks)                  
ECC                     256MB 8-bit ECC RAM (Bank 1)            
eMMC/NAND               8GB eMMC                                
SPI                     No SPI NOR Flash                        
Controller              TI AM5728 Controller                    
EEPROM                  4KB EEPROM                              
Ethernet                10/100/1000 ethernet PHY                
RTC                     Real-Time Clock                         
Temp                    Industrial -40C to +85C                 

然后往eeprom写入核心板的参数:

root@am57xx-phycore-kit:~# phytec_eeprom_flashtool.py write PCM-057-41300111I.A1 3
dict_to_struct, kit_opt_str: 41300111IA1
EEPROM flash successful!

重启之后就能看到bootloader中的硬件配置已经更改为PCM-057-41300111I.A1的配置了:

Model: PHYTEC phyCORE-AM5728 with 2GiB DDR3 (2 banks), Industrial Temp
Board: phyCORE-AM57x kit

[    0.000000] OF: fdt: Machine model: PHYTEC phyCORE-AM5728 with 2GiB (banks) DDR3, Industrial Temp

不使用EEPROM来进行配置

可以在u-boot中使用以下指令关闭eeprom配置设备树功能

setenv override_board 1
setenv board_name undefined
setenv fdtfile <devicetree.dtb>
saveenv
boot

其中<devicetree.dtb>要配置为要载入的默认设备树,如默认的 am57xx-phycore-kit.dtb。

  • No labels