使能了 CONFIG_DM_SPI时,uboot在初始化DM(dm_init())过程中,从设备树解析(dm_scan_fdt())udevice和uclass并进行绑定(device_bind_common())。
device_bind_common函数里有这样一句话:
Some devices, such as a SPI bus, I2C bus and serial ports * are numbered using aliases.
一些设备,如SPI总线、I2C总线和串口使用别名进行编号。因此对于spi总线,需要在设备树的aliases节点进行别名编号。
用法:
aliases {
spi1 = &mcspi1;
spi2 = &mcspi2;
spi3 = &mcspi3;
spi4 = &mcspi4;
};
参考:
[uboot] (番外篇)uboot 驱动模型:
https://blog.csdn.net/ooonebook/article/details/53234020
[U-Boot,v2] mmc: mmc-uclass: use the fixed devnum with alias node:
http://patchwork.ozlabs.org/patch/722739/