Hi,
I add one device on ls1043a-rdb dspi bus1 with LSDK1803
edit the ls1043a-rdb.dts as following:
&dspi1 {
bus-num = <1>;
status = "okay";
spidev: tcg@0 {
compatible = "tcg, tpm_tis_spi";
reg = <0>;
#address-cells = <1>;
#size-cells = <1>;
spi-max-frequency = <500000>;
};
};
and the dspi define in ls1043a.dsti :
dspi1: dspi@2110000 {
compatible = "fsl,ls1043a-dspi", "fsl,ls1021a-v1.0-dspi";
#address-cells = <1>;
#size-cells = <0>;
reg = <0x0 0x2110000 0x0 0x10000>;
interrupts = <0 65 0x4>;
clock-names = "dspi";
clocks = <&clockgen 4 0>;
spi-num-chipselects = <5>;
big-endian;
status = "disabled";
};
and i got the error message when modprobe the module
"fsl-dspi 2110000.dspi: wait transfer complete fail!"
but the flash device on dspi bus 0 is work
root@Ubuntu:~# dmesg | grep spi
[ 2.436007] m25p80 spi0.0: found n25q128a11, expected n25q128a13
[ 2.443140] m25p80 spi0.0: n25q128a11 (16384 Kbytes)
please kindly help to resolve this.
Thanks.
Randy
Hello Randy Wang,
Please refer to the dts definition in Kernel source Documentation/devicetree/bindings/spi/spi-fsl-dspi.txt, please check whether "bus-num" property is configured correctly according to your target board.
- spi-num-chipselects : the number of the chipselect signals.
- bus-num : the slave chip chipselect signal number.
Please go to u-boot prompt and check whether the DSPI device can be detected, please refer the following.
=> sf probe 1:0
SF: Detected AT26DF081A with page size 256 Bytes, erase size 4 KiB, total 1 MiB
Usage: sf probe [[bus:]cs] [hz] [mode] - init flash device on given SPI bus and chip select
Have a great day,
TIC
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Hi Yiping,
Actually, I am porting the infineon TPM slb9670 on ls1043ardb.
I still can't create /dev/tpm0 by modprobe tpm_tis_spi for Infineon SPI TPM
and following is the result of sf probe command in u-boot prompt
I have see the u-boot source code, and found the driver/tpm, but it doesn't have tpm_tis_spi.c for SPI interface driver.
so should I implement the tpm spi driver in u-boot?
Does it possible that can't create the /dev/tpm0 is because by u-boot driver not implement?
thanks.
Randy
Hi Yiping,
Thanks for your reply.
If I have a flash use spi_cs0 , and another device use the spi_cs1.
So, should I set bus-num = <0> for the flash, and set bus-num = <1> for another device?
I will try it later.
Thanks.
Randy