Skip to main content
้›†ๆˆ็”ต่ทฏ้—ดๆ€ป็บฟ๏ผˆIยฒC๏ผ‰ๆ˜ฏไธ€็งๅŒๅ‘ใ€ไธค็บฟๅˆถไธฒ่กŒๆ€ป็บฟ๏ผŒ็”จไบŽ้›†ๆˆ็”ต่ทฏไน‹้—ด็š„็Ÿญ่ท็ฆป้€šไฟก๏ผŒ่ฎพๅค‡ไฝฟ็”จๅˆ†้…็š„ๆ€ป็บฟๅœฐๅ€่ฟ›่กŒ้€šไฟกใ€‚

ๆฆ‚่ฟฐ

ไธป่ฆ็‰นๆ€ง

  • ๅŒๅ‘ 2 ็บฟไธฒ่กŒๆ€ป็บฟ๏ผˆSDA + SCL๏ผ‰
  • 7 ไฝๆˆ– 10 ไฝ็›ฎๆ ‡ๅฏปๅ€
  • ๆ”ฏๆŒๅคšๆŽงๅˆถๅ™จๆจกๅผ

ๅทฅไฝœๆจกๅผ

้€šไฟกๅบๅˆ—

ๆ•ฐๆฎๅŒ…็ป“ๆž„๏ผš ่ตทๅง‹ โ†’ ๅœฐๅ€ๅธง๏ผˆ7/10 ไฝ๏ผ‰โ†’ ่ฏป/ๅ†™ไฝ โ†’ ACK/NACK โ†’ ๆ•ฐๆฎๅธง๏ผˆ8 ไฝ๏ผ‰โ†’ ๅœๆญข ไฟกๅท่ง„ๅˆ™๏ผš
  • SCL ไธบ้ซ˜็”ตๅนณๆ—ถ๏ผšSDA ๅฟ…้กปไฟๆŒ็จณๅฎš
  • SCL ไธบไฝŽ็”ตๅนณๆ—ถ๏ผšSDA ๅฏไปฅๅ˜ๅŒ–
  • ไพ‹ๅค–๏ผšSTART ๅ’Œ STOP ๅบๅˆ—ๅฏไปฅๅœจ SCL ไธบ้ซ˜็”ตๅนณๆ—ถๆ”นๅ˜ SDA

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

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

่ฎพๅค‡ๆ ‘ๆบ

API

่ฝฏไปถ่ฎพๅค‡ๆ ‘้…็ฝฎ

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

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

็กฎไฟๅœจ QUPAC_Access.c ไธญ่ฎพ็ฝฎไบ†ๆญฃ็กฎ็š„ๅ่ฎฎ๏ผš

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

1

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

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

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

3

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

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

้ชŒ่ฏ

ๆฃ€ๆŸฅ่ฎพๅค‡่Š‚็‚น

ไฝฟ็”จ i2c-tools

่ฐƒ่ฏ•

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

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

ๅŽŸๅ› ๏ผš ๆฒกๆœ‰ไธŠๆ‹‰็”ต้˜ปใ€ไปŽ่ฎพๅค‡ๆ— ๅ“ๅบ”ใ€ๆ—ถ้’Ÿ้ข‘็އ้”™่ฏฏใ€ๆ€ป็บฟๅกๅœจไฝŽ็”ตๅนณใ€‚ๅœจ SDA/SCL ไธŠๆทปๅŠ  4.7 kฮฉ ไธŠๆ‹‰็”ต้˜ป๏ผ›ๅœจ่ฎพๅค‡ๆ ‘ไธญ่ฐƒๆ•ด clock-frequencyใ€‚
็—‡็Šถ๏ผš geni_i2c a94000.i2c: Invalid proto 1็กฎ่ฎค QUPAC_Access.c ไธญ่ฎพ็ฝฎไบ† QUPV3_PROTOCOL_I2Cใ€AC_HLOSใ€bAllowFifo=TRUEใ€bLoad=TRUEใ€‚
็กฎ่ฎค CONFIG_QCOM_GPI_DMA=m๏ผ›ๆฃ€ๆŸฅ่ฎพๅค‡ๆ ‘ไธญ็š„ dmas ๅ’Œ dma-namesใ€‚่ฆๅœจๆฒกๆœ‰ DMA ็š„ๆƒ…ๅ†ตไธ‹่ฟ›่กŒๆต‹่ฏ•๏ผš

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

่ต„ๆบ