Navigation

    全志在线开发者论坛

    • Register
    • Login
    • Search
    • Categories
    • Tags
    • 在线文档
    • 社区主页

    F133A(D1s)如何使用GPIO:PG4 PG5?

    MR Series
    6
    11
    4866
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • C
      casojie LV 5 last edited by

      按照计算,PG4 = 6*32+4 = 196

      root@TinaLinux:/sys/class/gpio# echo 196 > export 
      ash: write error: Invalid argument
      

      数字超过110+就不行了
      是还有一些东西需要配置的吗,比如设备树什么的
      小白萌新提问

      whycan D 2 Replies Last reply Reply Quote Share 0
      • whycan
        whycan晕哥 LV 9 @casojie last edited by

        @casojie

        # echo 196 > /sys/class/gpio/export
        [   39.433632] sun8iw20-pinctrl 2000000.pinctrl: pin PG4 already requested by 4021000.sdmmc; cannot claim for 2000000.pinctrl:196
        [   39.446522] sun8iw20-pinctrl 2000000.pinctrl: pin-196 (2000000.pinctrl:196) status -22
        sh: write error: Invalid argument
        #
        # echo 197 > /sys/class/gpio/export [   43.298997] sun8iw20-pinctrl 2000000.pinctrl: pin PG5 already requested by 4021000.sdmmc; cannot claim for 2000000.pinctrl:197
        
        [   43.313706] sun8iw20-pinctrl 2000000.pinctrl: pin-197 (2000000.pinctrl:197) status -22
        sh: write error: Invalid argument
        #
        #
        # echo 198 > /sys/class/gpio/export
        #
        #
        # echo $?
        0
        #
        

        我这边测试正常

        C 1 Reply Last reply Reply Quote Share 0
        • C
          casojie LV 5 @whycan last edited by

          @whycan 是还需要设置什么东西吗,我这边显示无效参数

          1 Reply Last reply Reply Quote Share 0
          • D
            dream LV 6 @casojie last edited by

            @casojie 直接用 sunxi_pinctrl 吧,不用去计算。

            下面是简单的使用方法,平时调试特别方便,实现原理是直接操作寄存器,所以不受驱动影响。

            查看引脚当前配置:
            root@sun8i:/proc/sys/debug/sunxi_pinctrl# echo PE24 > sunxi_pin
            echo PE24 > sunxi_pin

            root@sun8i:/proc/sys/debug/sunxi_pinctrl# cat sunxi_pin_configure
            cat sunxi_pin_configure
            printf register value...
            pin[PE24] function: 1; register addr: 0xf1c2089c
            pin[PE24] data: 1(default value : 0); register addr: 0xf1c208a0
            pin[PE24] dleve: 1(default value : 1); register addr: 0xf1c208a8
            pin[PE24] pull: 0(default value : 0); register addr: 0xf1c208b0

            设置引脚为低电平输出:(注意要先设置 function )
            root@sun8i:/proc/sys/debug/sunxi_pinctrl# echo PE24 0 > data
            echo PE24 0 > data

            root@sun8i:/proc/sys/debug/sunxi_pinctrl# cat sunxi_pin_configure
            cat sunxi_pin_configure
            printf register value...
            pin[PE24] function: 1; register addr: 0xf1c2089c
            pin[PE24] data: 0(default value : 0); register addr: 0xf1c208a0
            pin[PE24] dleve: 1(default value : 1); register addr: 0xf1c208a8
            pin[PE24] pull: 0(default value : 0); register addr: 0xf1c208b0

            设置引脚为高电平输出:
            root@sun8i:/proc/sys/debug/sunxi_pinctrl# echo PE24 1 > data
            echo PE24 1 > data

            root@sun8i:/proc/sys/debug/sunxi_pinctrl# cat sunxi_pin_configure
            cat sunxi_pin_configure
            printf register value...
            pin[PE24] function: 1; register addr: 0xf1c2089c
            pin[PE24] data: 1(default value : 0); register addr: 0xf1c208a0
            pin[PE24] dleve: 1(default value : 1); register addr: 0xf1c208a8
            pin[PE24] pull: 0(default value : 0); register addr: 0xf1c208b0

            C 1 Reply Last reply Reply Quote Share 0
            • C
              casojie LV 5 @dream last edited by

              @dream 我在这路径下没有这个文件
              /proc/sys/debug/sunxi_pinctrl
              没有sunxi_pinctrl

              D Y 2 Replies Last reply Reply Quote Share 0
              • YuzukiTsuru
                柚木 鉉 LV 9 last edited by

                ash: write error: Invalid argument 参数无效看一下是不是kernel配置gpio有问题,建议启用debug输出看看

                C 1 Reply Last reply Reply Quote Share 0
                • C
                  casojie LV 5 @YuzukiTsuru last edited by

                  @yuzukitsuru

                  configfs-gadget gadget: high-speed config #1: c
                  android_work: sent uevent USB_STATE=CONFIGURED
                  sun8iw20-pinctrl 2000000.pinctrl: pin PG4 already requested by 4021000.sdmmc; cannot claim for 2000000.pinctrl:196
                  sun8iw20-pinctrl 2000000.pinctrl: pin-196 (2000000.pinctrl:196) status -22

                  1 Reply Last reply Reply Quote Share 0
                  • D
                    dream LV 6 @casojie last edited by

                    @casojie 我的不是 F133A 的平台,我没有 D1 平台,所以不知道具体路径, 你可以 find 下看看,如果没有的话,试试:mount -t debugfs debug /proc/sys/debug

                    1 Reply Last reply Reply Quote Share 0
                    • C
                      casojie LV 5 last edited by

                      解决了,引脚占用问题,谢谢各位

                      W 1 Reply Last reply Reply Quote Share 0
                      • W
                        wzq13078116220 LV 2 @casojie last edited by

                        @casojie 请问是怎么知道是引脚占用问题的和怎么解决的?

                        1 Reply Last reply Reply Quote Share 0
                        • Y
                          yyfeng88625 LV 2 @casojie last edited by

                          @casojie

                          重新编译内核

                          make kernel_menuconfig
                          

                          勾上
                          Device Drivers -> Pin controllers -> Allwinner SOC PINCTRL DRIVER -> pinctrl sunxi debugfs driver

                          1 Reply Last reply Reply Quote Share 0
                          • 1 / 1
                          • First post
                            Last post

                          Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号

                          行为准则 | 用户协议 | 隐私权政策