• [全志 V831 V833 R329 D1 ] 关于设备树引脚分配、复用的方法(关于 function muxsel 的说明)


    相关用法在之前的[Sipeed 内部培训] V831/V833 的 SDK 的 kernel & package 的开发方法 的『关于适配和测试常见的基础外设驱动,从上层用户空间的软件到底层硬件寄存器之间的联系。』 一节可知,最近可以给新人参考说明用。

    设备树引脚的分配

    			spi1_pins_a: spi1@0 {
    				allwinner,pins = "PH0", "PH1", "PH2";
    				allwinner,pname = "spi1_sclk", "spi1_mosi",
    						  "spi1_miso";
    				allwinner,function = "spi1";
    				allwinner,muxsel = <4>;
    				allwinner,drive = <1>;
    				allwinner,pull = <0>;
    			};
    

    同学们可能知道基本的信息,其中 function muxsel 是什么意思呢?

    首先通过 pinmux-pins 打印出来

    root@sipeed:/# cat /sys/kernel/debug/pinctrl/pio/pinmux-pins
    Pinmux settings per pin
    Format: pin (name): mux_owner gpio_owner hog?
    pin 64 (PC0): sdc2 (GPIO UNCLAIMED) function sdc2 group PC0
    pin 65 (PC1): sdc2 (GPIO UNCLAIMED) function sdc2 group PC1
    pin 66 (PC2): (MUX UNCLAIMED) (GPIO UNCLAIMED)
    pin 67 (PC3): (MUX UNCLAIMED) (GPIO UNCLAIMED)
    pin 68 (PC4): sdc2 (GPIO UNCLAIMED) function sdc2 group PC4
    pin 69 (PC5): sdc2 (GPIO UNCLAIMED) function sdc2 group PC5
    pin 70 (PC6): sdc2 (GPIO UNCLAIMED) function sdc2 group PC6
    pin 71 (PC7): sdc2 (GPIO UNCLAIMED) function sdc2 group PC7
    pin 72 (PC8): sdc2 (GPIO UNCLAIMED) function sdc2 group PC8
    pin 73 (PC9): sdc2 (GPIO UNCLAIMED) function sdc2 group PC9
    pin 74 (PC10): (MUX UNCLAIMED) (GPIO UNCLAIMED)
    pin 75 (PC11): sdc2 (GPIO UNCLAIMED) function sdc2 group PC11
    pin 96 (PD0): (MUX UNCLAIMED) (GPIO UNCLAIMED)
    pin 97 (PD1): 5020000.eth (GPIO UNCLAIMED) function gmac0 group PD1
    pin 98 (PD2): 5020000.eth (GPIO UNCLAIMED) function gmac0 group PD2
    pin 99 (PD3): 5020000.eth (GPIO UNCLAIMED) function gmac0 group PD3
    pin 100 (PD4): 5020000.eth (GPIO UNCLAIMED) function gmac0 group PD4
    pin 101 (PD5): 5020000.eth (GPIO UNCLAIMED) function gmac0 group PD5
    pin 102 (PD6): 5020000.eth (GPIO UNCLAIMED) function gmac0 group PD6
    pin 103 (PD7): 5020000.eth (GPIO UNCLAIMED) function gmac0 group PD7
    pin 104 (PD8): 5020000.eth (GPIO UNCLAIMED) function gmac0 group PD8
    pin 105 (PD9): (MUX UNCLAIMED) (GPIO UNCLAIMED)
    pin 106 (PD10): (MUX UNCLAIMED) (GPIO UNCLAIMED)
    pin 107 (PD11): (MUX UNCLAIMED) pio:107
    pin 108 (PD12): (MUX UNCLAIMED) (GPIO UNCLAIMED)
    pin 109 (PD13): (MUX UNCLAIMED) (GPIO UNCLAIMED)
    pin 110 (PD14): (MUX UNCLAIMED) (GPIO UNCLAIMED)
    pin 111 (PD15): (MUX UNCLAIMED) (GPIO UNCLAIMED)
    pin 112 (PD16): (MUX UNCLAIMED) (GPIO UNCLAIMED)
    pin 113 (PD17): (MUX UNCLAIMED) (GPIO UNCLAIMED)
    pin 114 (PD18): 5020000.eth (GPIO UNCLAIMED) function ephy group PD18
    pin 115 (PD19): (MUX UNCLAIMED) pio:115
    pin 116 (PD20): 5020000.eth (GPIO UNCLAIMED) function gmac0 group PD20
    pin 117 (PD21): 5020000.eth (GPIO UNCLAIMED) function gmac0 group PD21
    pin 118 (PD22): (MUX UNCLAIMED) pio:118
    pin 128 (PE0): csi1 (GPIO UNCLAIMED) function csi1 group PE0
    pin 129 (PE1): sensor1 (GPIO UNCLAIMED) function csi_mclk1 group PE1
    pin 130 (PE2): csi1 (GPIO UNCLAIMED) function csi1 group PE2
    pin 131 (PE3): csi1 (GPIO UNCLAIMED) function csi1 group PE3
    pin 132 (PE4): csi1 (GPIO UNCLAIMED) function csi1 group PE4
    pin 133 (PE5): csi1 (GPIO UNCLAIMED) function csi1 group PE5
    pin 134 (PE6): csi1 (GPIO UNCLAIMED) function csi1 group PE6
    pin 135 (PE7): csi1 (GPIO UNCLAIMED) function csi1 group PE7
    pin 136 (PE8): csi1 (GPIO UNCLAIMED) function csi1 group PE8
    pin 137 (PE9): csi1 (GPIO UNCLAIMED) function csi1 group PE9
    pin 138 (PE10): csi1 (GPIO UNCLAIMED) function csi1 group PE10
    pin 139 (PE11): csi1 (GPIO UNCLAIMED) function csi1 group PE11
    pin 140 (PE12): (MUX UNCLAIMED) (GPIO UNCLAIMED)
    pin 141 (PE13): (MUX UNCLAIMED) pio:141
    pin 142 (PE14): (MUX UNCLAIMED) (GPIO UNCLAIMED)
    pin 143 (PE15): (MUX UNCLAIMED) (GPIO UNCLAIMED)
    pin 144 (PE16): twi4 (GPIO UNCLAIMED) function twi0 group PE16
    pin 145 (PE17): twi4 (GPIO UNCLAIMED) function twi1 group PE17
    pin 146 (PE18): uart2 (GPIO UNCLAIMED) function uart2 group PE18
    pin 147 (PE19): uart2 (GPIO UNCLAIMED) function uart2 group PE19
    pin 148 (PE20): (MUX UNCLAIMED) pio:148
    pin 149 (PE21): (MUX UNCLAIMED) pio:149
    pin 160 (PF0): sdc0 (GPIO UNCLAIMED) function sdc0 group PF0
    pin 161 (PF1): sdc0 (GPIO UNCLAIMED) function sdc0 group PF1
    pin 162 (PF2): sdc0 (GPIO UNCLAIMED) function sdc0 group PF2
    pin 163 (PF3): sdc0 (GPIO UNCLAIMED) function sdc0 group PF3
    pin 164 (PF4): sdc0 (GPIO UNCLAIMED) function sdc0 group PF4
    pin 165 (PF5): sdc0 (GPIO UNCLAIMED) function sdc0 group PF5
    pin 166 (PF6): (MUX UNCLAIMED) pio:166
    pin 192 (PG0): sdc1 (GPIO UNCLAIMED) function io_disabled group PG0
    pin 193 (PG1): sdc1 (GPIO UNCLAIMED) function io_disabled group PG1
    pin 194 (PG2): sdc1 (GPIO UNCLAIMED) function io_disabled group PG2
    pin 195 (PG3): sdc1 (GPIO UNCLAIMED) function io_disabled group PG3
    pin 196 (PG4): sdc1 (GPIO UNCLAIMED) function io_disabled group PG4
    pin 197 (PG5): sdc1 (GPIO UNCLAIMED) function io_disabled group PG5
    pin 198 (PG6): (MUX UNCLAIMED) (GPIO UNCLAIMED)
    pin 199 (PG7): (MUX UNCLAIMED) (GPIO UNCLAIMED)
    pin 224 (PH0): spi1 (GPIO UNCLAIMED) function spi1 group PH0
    pin 225 (PH1): spi1 (GPIO UNCLAIMED) function spi1 group PH1
    pin 226 (PH2): spi1 (GPIO UNCLAIMED) function spi1 group PH2
    pin 227 (PH3): (MUX UNCLAIMED) (GPIO UNCLAIMED)
    pin 228 (PH4): spi1 (GPIO UNCLAIMED) function spi1 group PH4
    pin 229 (PH5): twi2 (GPIO UNCLAIMED) function twi2 group PH5
    pin 230 (PH6): twi2 (GPIO UNCLAIMED) function twi2 group PH6
    pin 231 (PH7): (MUX UNCLAIMED) (GPIO UNCLAIMED)
    pin 232 (PH8): (MUX UNCLAIMED) (GPIO UNCLAIMED)
    pin 233 (PH9): uart0 (GPIO UNCLAIMED) function uart0 group PH9
    pin 234 (PH10): uart0 (GPIO UNCLAIMED) function uart0 group PH10
    pin 235 (PH11): (MUX UNCLAIMED) (GPIO UNCLAIMED)
    pin 236 (PH12): (MUX UNCLAIMED) (GPIO UNCLAIMED)
    pin 237 (PH13): (MUX UNCLAIMED) (GPIO UNCLAIMED)
    pin 238 (PH14): (MUX UNCLAIMED) (GPIO UNCLAIMED)
    pin 239 (PH15): (MUX UNCLAIMED) (GPIO UNCLAIMED)
    pin 256 (PI0): sensor0 (GPIO UNCLAIMED) function csi_mclk0 group PI0
    pin 257 (PI1): twi1 (GPIO UNCLAIMED) function twi1 group PI1
    pin 258 (PI2): twi1 (GPIO UNCLAIMED) function twi1 group PI2
    pin 259 (PI3): (MUX UNCLAIMED) pio:259
    pin 260 (PI4): (MUX UNCLAIMED) pio:260
    
    

    可知 function 就是 function spi1 表示定义的引脚功能范围和用途,接着是 allwinner,muxsel = <4>; 为什么是 4 ?

    image

    看手册可知。

    如果配置成 2 则打印寄存器的时候会发现配置成 pwm 而非 spi ,这时候就会出现,有了能操作的设备,但实际功能不生效。

  • 相关阅读:
    (33)ElasticSearch文档的核心元数据解析
    (32)ElasticSearch的容错机制
    (31)ElasticSearch水平扩容的过程
    (30)ElasticSearch两个节点环境中创建index解析
    (29)ElasticSearch分片和副本机制以及单节点环境中创建index解析
    UVA
    HDU
    ZOJ
    BZOJ1499: 瑰丽华尔兹(单调队列)
    UVALive
  • 原文地址:https://www.cnblogs.com/juwan/p/16122867.html
Copyright © 2020-2023  润新知