
ไฟกๅท
ๅๅญ็ณป็ป็ไผ ่พๆจกๅผ
ๆฅๅฃ็ปไปถ
่ฎพๅคๆ ๆบๆไปถ
API
่ฝฏไปถ้ ็ฝฎ
Linux ่ฎพๅคๆ ็คบไพ
QUPAC ่ฎฟ้ฎๆงๅถ
้ ็ฝฎๆญฅ้ชค
1
ๅฏ็จๅ ๆ ธ้ ็ฝฎ
็ผ่พ
kernel_platform/kernel/arch/arm64/configs/qcom_defconfig:2
ๅจ่ฎพๅคๆ ไธญๅฏ็จ SPI ่็น
3
็ผ่ฏๅนถๅทๅ
็ผ่ฏๅ
ๆ ธๅ่ฎพๅคๆ ๆดๆน,็ถๅๅฐ้ๅๅ ่ฝฝๅฐ่ฎพๅคใ
้ช่ฏ
1
ๅฐ spidev_test ไผ ่พๅฐ่ฎพๅค
2
่ฟ่กๆต่ฏ
่ฐ่ฏ
ๅฏ็จ่ฐ่ฏๆฅๅฟ
ๆ ้ๆ้ค
ๆชๆฃๆตๅฐ SPI ่ฎพๅค(/dev/spidev* ็ผบๅคฑ)
ๆชๆฃๆตๅฐ SPI ่ฎพๅค(/dev/spidev* ็ผบๅคฑ)
- ้ช่ฏ่ฎพๅคๆ ไธญ SPI ่็น็ถๆไธบ
"okay" - ้ช่ฏ
QUPAC_Access.cไธญ่ฎพ็ฝฎไบQUPV3_PROTOCOL_SPIใAC_HLOSใbLoad=TRUE
SPI ไผ ่พๅคฑ่ดฅ / ๆฐๆฎๆๅ
SPI ไผ ่พๅคฑ่ดฅ / ๆฐๆฎๆๅ
- ๆฃๆฅ pinctrl ไธญ็ GPIO ้ฉฑๅจๅผบๅบฆๅไธไธๆ้ ็ฝฎ
- ้ช่ฏๆถ้็ธไฝๅๆๆงไธ็ฎๆ ่ฎพๅคๅน้
- ไฝฟ็จ็คบๆณขๅจๆฃๆฅไฟกๅทๅฎๆดๆง
GSI/DMA ๆจกๅผไธๅทฅไฝ
GSI/DMA ๆจกๅผไธๅทฅไฝ
- ้ช่ฏๅทฒๅฏ็จ
CONFIG_QCOM_GPI_DMA=m - ๆฃๆฅ่ฎพๅคๆ ไธญ็
dmasๅdma-namesๅฑๆง - ้ช่ฏ
QUPAC_Access.cไธญ่ฎพ็ฝฎไบQUPV3_MODE_GSIไธbAllowFifo=FALSE
ๅค็้้ฎ้ข
ๅค็้้ฎ้ข
้ช่ฏๆๆ CS ๅผ่ๅๅทฒๅจ pinctrl ไธญ้
็ฝฎใๆฃๆฅ่ฎพๅคๆ ๆพๅผๆต่ฏ:
reg ๅฑๆง:Boot ๅญ็ณป็ป SPI ไธๅทฅไฝ
Boot ๅญ็ณป็ป SPI ไธๅทฅไฝ
- ้ช่ฏ QUP wrapper ่็น็ถๆไธบ
"okay"ไธไธฒ่กๅผๆ่็นไธบ"disabled" - ็กฎ่ฎค
FIFO_MODE = /bits/ 8 <1>(boot ไธญไธๆฏๆ GSI) - ๆฃๆฅ
protocol_supportedๅ ๅซSPI_SUPPORTED - ้ช่ฏ
QUPAC_Access.c่ฎพ็ฝฎ็ฌฆๅ boot ่ฆๆฑ

