Skip to main content
ไธฒ่กŒๅค–่ฎพๆŽฅๅฃ(SPI)ๆ˜ฏไธ€็งๅŒๆญฅใ€ๅ…จๅŒๅทฅใ€4 ็บฟไธฒ่กŒๆ€ป็บฟใ€‚

ไฟกๅท

ๅ„ๅญ็ณป็ปŸ็š„ไผ ่พ“ๆจกๅผ

ๆŽฅๅฃ็ป„ไปถ

่ฎพๅค‡ๆ ‘ๆบๆ–‡ไปถ

API

่ฝฏไปถ้…็ฝฎ

Linux ่ฎพๅค‡ๆ ‘็คบไพ‹

GPIO pinctrl:

QUPAC ่ฎฟ้—ฎๆŽงๅˆถ

้…็ฝฎๆญฅ้ชค

1

ๅฏ็”จๅ†…ๆ ธ้…็ฝฎ

็ผ–่พ‘ kernel_platform/kernel/arch/arm64/configs/qcom_defconfig:
2

ๅœจ่ฎพๅค‡ๆ ‘ไธญๅฏ็”จ SPI ่Š‚็‚น

3

็ผ–่ฏ‘ๅนถๅˆทๅ†™

็ผ–่ฏ‘ๅ†…ๆ ธๅ’Œ่ฎพๅค‡ๆ ‘ๆ›ดๆ”น,็„ถๅŽๅฐ†้•œๅƒๅŠ ่ฝฝๅˆฐ่ฎพๅค‡ไธŠใ€‚

้ชŒ่ฏ

1

ๅฐ† spidev_test ไผ ่พ“ๅˆฐ่ฎพๅค‡

2

่ฟ่กŒๆต‹่ฏ•

้ข„ๆœŸ่พ“ๅ‡บ:

่ฐƒ่ฏ•

ๅฏ็”จ่ฐƒ่ฏ•ๆ—ฅๅฟ—

่ฆ็ฆ็”จ:

ๆ•…้šœๆŽ’้™ค

  • ็กฎ่ฎค่ฎพๅค‡ๆ ‘ไธญ SPI ่Š‚็‚น็Šถๆ€ไธบ "okay"
  • ็กฎ่ฎค QUPAC_Access.c ไธญ่ฎพ็ฝฎไบ† QUPV3_PROTOCOL_SPIใ€AC_HLOSใ€bLoad=TRUE
  • ๆฃ€ๆŸฅ pinctrl ไธญ็š„ GPIO ้ฉฑๅŠจๅผบๅบฆๅ’ŒไธŠไธ‹ๆ‹‰้…็ฝฎ
  • ็กฎ่ฎคๆ—ถ้’Ÿ็›ธไฝๅ’Œๆžๆ€งไธŽ็›ฎๆ ‡่ฎพๅค‡ๅŒน้…
  • ไฝฟ็”จ็คบๆณขๅ™จๆฃ€ๆŸฅไฟกๅทๅฎŒๆ•ดๆ€ง
  • ็กฎ่ฎคๅทฒๅฏ็”จ CONFIG_QCOM_GPI_DMA=m
  • ๆฃ€ๆŸฅ่ฎพๅค‡ๆ ‘ไธญ็š„ dmas ๅ’Œ dma-names ๅฑžๆ€ง
  • ็กฎ่ฎค QUPAC_Access.c ไธญ่ฎพ็ฝฎไบ† QUPV3_MODE_GSI ไธ” bAllowFifo=FALSE
็กฎ่ฎคๆ‰€ๆœ‰ CS ๅผ•่„šๅ‡ๅทฒๅœจ pinctrl ไธญ้…็ฝฎใ€‚ๆฃ€ๆŸฅ่ฎพๅค‡ๆ ‘ reg ๅฑžๆ€ง:
ๆ˜พๅผๆต‹่ฏ•:
  • ็กฎ่ฎค QUP wrapper ่Š‚็‚น็Šถๆ€ไธบ "okay" ไธ”ไธฒ่กŒๅผ•ๆ“Ž่Š‚็‚นไธบ "disabled"
  • ็กฎ่ฎค FIFO_MODE = /bits/ 8 <1>(boot ไธญไธๆ”ฏๆŒ GSI)
  • ๆฃ€ๆŸฅ protocol_supported ๆ˜ฏๅฆๅŒ…ๅซ SPI_SUPPORTED
  • ็กฎ่ฎค QUPAC_Access.c ่ฎพ็ฝฎ็ฌฆๅˆ boot ่ฆๆฑ‚

ๅฟซ้€Ÿ่ฏŠๆ–ญๅ‘ฝไปค

่ต„ๆบ