論壇總覽 MP500系列微型電腦討論區 MP520-22: 如何使用 I2C1 或是 I2C5

標籤: 

正在檢視 8 篇文章 - 1 至 8 (共計 8 篇)
  • 作者
    文章
  • #1930
    Black Wang
    參與者
      @black-wang

      26-pin I/O 上有 I2C1 與 I2C5

      請問如何對應到 i2c devices

      目前可以看到如下:

      /dev/i2c-0
      /dev/i2c-10
      /dev/i2c-2
      /dev/i2c-6
      /dev/i2c-7
      /dev/i2c-9

       

      #1934
      Huang Jia-Bin
      管理員
        @jb

        請到 /sys/class/i2c-dev 和 /sys/class/i2c-adapter 一路追下去:

        one@MA127:/sys/class$ ls -l i2c-dev/
        總用量 0
        lrwxrwxrwx 1 root root 0 1月 1 1970 i2c-0 -> ../../devices/platform/fd880000.i2c/i2c-0/i2c-dev/i2c-0
        lrwxrwxrwx 1 root root 0 1月 1 1970 i2c-10 -> ../../devices/platform/fde50000.dp/i2c-10/i2c-dev/i2c-10
        lrwxrwxrwx 1 root root 0 1月 1 1970 i2c-2 -> ../../devices/platform/feaa0000.i2c/i2c-2/i2c-dev/i2c-2
        lrwxrwxrwx 1 root root 0 1月 1 1970 i2c-6 -> ../../devices/platform/fec80000.i2c/i2c-6/i2c-dev/i2c-6
        lrwxrwxrwx 1 root root 0 1月 1 1970 i2c-7 -> ../../devices/platform/fec90000.i2c/i2c-7/i2c-dev/i2c-7
        lrwxrwxrwx 1 root root 0 1月 1 1970 i2c-9 -> ../../devices/platform/fde80000.hdmi/i2c-9/i2c-dev/i2c-9

        one@MA127:/sys/class$ ls -l i2c-adapter/
        總用量 0
        lrwxrwxrwx 1 root root 0 1月 1 1970 i2c-0 -> ../../devices/platform/fd880000.i2c/i2c-0
        lrwxrwxrwx 1 root root 0 1月 1 1970 i2c-10 -> ../../devices/platform/fde50000.dp/i2c-10
        lrwxrwxrwx 1 root root 0 1月 1 1970 i2c-2 -> ../../devices/platform/feaa0000.i2c/i2c-2
        lrwxrwxrwx 1 root root 0 1月 1 1970 i2c-6 -> ../../devices/platform/fec80000.i2c/i2c-6
        lrwxrwxrwx 1 root root 0 1月 1 1970 i2c-7 -> ../../devices/platform/fec90000.i2c/i2c-7
        lrwxrwxrwx 1 root root 0 1月 1 1970 i2c-9 -> ../../devices/platform/fde80000.hdmi/i2c-9

        然後請到下面連結下載 RK3588S Datasheet 和 RK3588 Technical Reference Manual 去參照 Address Mapping 以及 Chapter 21 I2C Interface:

        https://github.com/FanX-Tek/rk3588-TRM-and-Datasheet

         

        #1937
        Black Wang
        參與者
          @black-wang

          但是這樣的話沒有看到 i2c-1 跟 i2c-5, 所以現在無法使用 i2c-1 或 i2c-5?

          另這張圖好像左右對調了? 我用三用電表量跟右下角 TX/RX/GND 同一排的最上面是 5V, 不是 3.3V

          #1938
          Huang Jia-Bin
          管理員
            @jb

            “但是這樣的話沒有看到 i2c-1 跟 i2c-5, 所以現在無法使用 i2c-1 或 i2c-5?”

            現在的SoC腳位高達上千,還是不夠用,必須將數個信號放在同於個腳位上,叫做 pinmux。同時間只能設定一種信號輸出入到腳位上。例如I2C1和UART4及GPIO1共用腳位;I2C5和UART1及GPIO1共用腳位。出廠時預設為GPIO腳位。如果想要使用I2C1、I2C5,必須自行更改設定。進一步資訊請用RK3588 pinctrl 關鍵字搜尋。

            “另這張圖好像左右對調了? ”

            謝謝指正,已修改。

             

            #1940
            Black Wang
            參與者
              @black-wang

              用RK3588 pinctrl 搜尋到的都要改 dts, 但好像還沒看到 MP520 的 source packge. 之後會提供嗎? 像 MP510 那樣

              #1941
              Huang Jia-Bin
              管理員
                @jb

                直接讀寫記憶體去把 pinmux 預設改掉。如何在MP520直接讀寫一記憶體位址裡的內容,請參考附檔:Linux直接讀寫記憶體.pdf。

                MP520的Linux kernel source package 預計在上游Mainline Linux kernel完整支援 RK3588時會提供給大家,目前上游的進度在六、七成左右。目前的MP520 kernel是從Rockchip的非mainline 源碼,靠蠻力(苦功 + 惡夢)修改而來,build環境必須見招拆招。不建議大家這樣浪費寶貴青春。學習直接讀寫linux記憶體比較有啟發性。

                附加檔案:
                你必須 登入 才能查看附件檔案。
                #1943
                Black Wang
                參與者
                  @black-wang

                  了解,

                  後來有發現可以改 /boot/uEnv.txt

                  加上以下就可以用 I2C5

                  overlays=i2c5-m3

                  #1944
                  Huang Jia-Bin
                  管理員
                    @jb

                    給大贊一個!

                  正在檢視 8 篇文章 - 1 至 8 (共計 8 篇)
                  • 需要以回覆此篇主題...