DTS如何将总线编号传给内核
1.在DTS中添加SPI驱动结点描述,如下所示: kernel/arch/arm/boot/dts/rk3128-fireprime.dts只传给内核,使用的是SPI0,且使用CS0,spi-max-frequency:设置spi使用的最高频率。
spi-cpha,spi-cpol:设置SPI工作模式为SPI_MODE_1,
但没有设置SPI的总线编号,总线编号是如何传给内核的,他是如何确定使用那个硬件SPI控制器的
&spi0 {
status = "okay";
max-freq = <24000000>;
spidev@00 {
compatible = "rockchip,spi_firefly";
reg = <0x00>;
spi-max-frequency = <14000000>;
spi-cpha = <1>;
//spi-cpol = <1>;
};
};
2.SPI0的寄存器地址和地址长度是如何计算的,我再规格书中只找到
The UART0’s Base Address is 0x20060000.
The UART1’s Base Address is 0x20064000.
The UART2’s Base Address is 0x20068000.没找到SPI的Base Address,还请多指教
spi0: spi@20074000 {
compatible = "rockchip,rockchip-spi";
reg = <0x20074000 0x1000>;
额,最终决定是哪个硬件控制器的还是要看地址,规格书里面应该有,你没找到而已,实在不行,你在dtsi里面先找到spi的地址,再反推,到规格书里面找
页:
[1]