ๆฆ่ฟฐ
ๅ ณ้ฎ็นๆง
- ๅๅ 2 ็บฟไธฒ่กๆป็บฟ(SDA + SCL)
- 7 ไฝๆ 10 ไฝ็ฎๆ ๅฏปๅ
- ๆฏๆๅคๆงๅถๅจๆจกๅผ
่ฟ่กๆจกๅผ
้ไฟกๅบๅ


- 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
่ฐ่ฏ
ๅฏ็จ่ฐ่ฏๆฅๅฟ
ๅฏ็จ I2C ่ท่ธช
ๆฃๆฅๆถ้ๅ GPIO
ๆ ้ๆ้ค
ๆชๆฃๆตๅฐ I2C ่ฎพๅค
ๆชๆฃๆตๅฐ I2C ่ฎพๅค
็็ถ: ๆฃๆฅๅ
ๆ ธๆจกๅ:ๆฃๆฅๆถ้:ๆฃๆฅ GPIO pinmux:
i2cdetect ๆชๆพ็คบไปปไฝ่ฎพๅค;/dev/i2c-X ไธๅญๅจใๆฃๆฅ่ฎพๅคๆ ็ถๆ:I2C ไผ ่พ่ถ
ๆถ
I2C ไผ ่พ่ถ ๆถ
็็ถ:ๅๅ ไธ่งฃๅณๆนๆณ:
- ็ผบๅฐไธๆ็ต้ป โ ๅจ SDA/SCL ไธๆทปๅ 4.7 kฮฉ ไธๆ็ต้ป
- ไป่ฎพๅคๆ ๅๅบ โ ้ช่ฏไป่ฎพๅค็็ตๆบๅๅคไฝ;ๆฃๆฅๅๅงๅๅบๅ
- ๆถ้้ข็้่ฏฏ โ ๅจ่ฎพๅคๆ ไธญ่ฐๆด
clock-frequency - ๆป็บฟ่ขซๆไฝๅกๆญป โ ๅฏน่ฎพๅค้ๆฐไธ็ต,ๆๅ้ๆถ้่ๅฒไปฅ้ๆพๆป็บฟ
ๆ ๆๅ่ฎฎ้่ฏฏ
ๆ ๆๅ่ฎฎ้่ฏฏ
็็ถ:ๆญฅ้ชค:
- ่ฏๅซๆฟๅก็ฑปๅ:
dmesg | grep "CDT Version" - ๅจ
QUPAC_Access.xmlไธญๆพๅฐๅนณๅฐ ID - ้ช่ฏ
QUPAC_Access.cไธญ่ฎพ็ฝฎไบQUPV3_PROTOCOL_I2CใAC_HLOSใbAllowFifo=TRUEใbLoad=TRUE - ๅฆๆๆดๆน,้ๆฐๆๅปบ TEE ๅบไปถ
ๆฐๆฎๆๅ
ๆฐๆฎๆๅ
็็ถ: ่ฏปๅ็ๆฐๆฎไธๆญฃ็กฎ;้ดๆญๆงๅคฑ่ดฅใ่งฃๅณๆนๆณ:
- ้ไฝๆป็บฟ้ๅบฆ
- ็ผฉ็ญๅฏผ็บฟ้ฟๅบฆ;ๆทปๅ 22โ100 ฮฉ ไธฒ่็ต้ป
- ๅจ่ฎพๅค้่ฟๆทปๅ ๅป่ฆ็ตๅฎน
- ไฝฟ็จ็คบๆณขๅจ้ช่ฏๅปบ็ซๅไฟๆๆถ้ด
DMA ไผ ่พๅคฑ่ดฅ
DMA ไผ ่พๅคฑ่ดฅ
็็ถ:่งฃๅณๆนๆณ: ้ช่ฏ
CONFIG_QCOM_GPI_DMA=m;ๆฃๆฅ DMA ้้ๅ้
;็กฎไฟ DMA ๅฎๅ
จ็ๅ
ๅญๅฏน้ฝใไธไฝฟ็จ DMA ่ฟ่กๆต่ฏ:ๆถ้ๆไผธ / ๆ
ข้ไป่ฎพๅค่ถ
ๆถ
ๆถ้ๆไผธ / ๆ ข้ไป่ฎพๅค่ถ ๆถ
I2C ๅๅงๆญฃๅธธ,ๆ่ตท/ๆขๅคๅๅคฑๆ
I2C ๅๅงๆญฃๅธธ,ๆ่ตท/ๆขๅคๅๅคฑๆ
ๆฃๆฅ่ฟ่กๆถ็ตๆบ็ฎก็(runtime PM)้
็ฝฎ,้ช่ฏ็ตๆบๅไพ่ตๅ
ณ็ณป,ๅนถๆทปๅ ้ๅฝ็ๆ่ตท/ๆขๅคๅค็็จๅบใ

