“Debugfs”的版本间的差异

来自百问网嵌入式Linux wiki
 
 
(未显示另一用户的1个中间版本)
第1行: 第1行:
[[Category:Linux_Operating_System]]
+
{{DISPLAYTITLE:调试文件系统(debugfs)}}
[[Category:Linux_monitoring_tools]]
+
 
 +
=简介=
 +
Debugfs是一个简单易用的基于RAM的Linux内核调试的虚拟文件系统,专门用于调试目的。<br>
 +
它是内核开发人员使信息可用于用户空间的一种简单方法。<br>
 +
它是伪文件系统的一部分。与仅用于过程信息的procfs或具有严格的每个文件一个值规则的sysfs不同,debugfs根本没有规则。<br>
 +
开发人员可以自由地将任何信息放入debugfs。<br>
 +
=如何配置debugfs=
 +
Debugfs默认已启用,如需配置通过在Linux ®内核配置CONFIG_DEBUG_FS,默认设置为是。
 +
<syntaxhighlight lang="bash" highlight="1,5" start='1' >
 +
Symbol: DEBUG_FS
 +
Location:
 +
  Kernel Hacking --->
 +
    Compile-time checks and compiler options -->
 +
      [*] Debug Filesystem
 +
</syntaxhighlight>
 +
 
 +
:请参考Menuconfig或如何配置内核一文,以获取有关在内核源码中修改配置和重新编译Linux内核映像的说明。
 +
 
 +
=入门=
 +
==如何挂载debugfs==
 +
:Debugfs通常使用以下命令挂载在 /sys /kernel/debug中:
 +
 
 +
Board $> mount -t debugfs none /sys/kernel/debug
 +
 
 +
==如何在Linux内核驱动程序中使用debugfs==
 +
:Debugfs是内核驱动程序使信息可用于用户空间的一种简单方法。
 +
: 可以使用linux内核中C头文件 include/linux/debugfs.h 中的几个调用来操纵它,例如:
 +
<syntaxhighlight lang="bash">
 +
debugfs_create_file → for creating a file in the debug filesystem.
 +
debugfs_create_dir → for creating a directory in the debug filesystem.
 +
debugfs_create_symlink → for creating a symbolic link in the debug filesystem.
 +
debugfs_create_u32 → for creating a file containing a single 32-bit unsigned integer value
 +
debugfs_remove → for removing a debugfs entry from the debug filesytem.
 +
...
 +
</syntaxhighlight>
 +
:有关更多详细信息,请参考Linux内核文档中的debugfs
 +
==如何可视化debugfs信息==
 +
:在目标板上,进入debugfs安装目录:
 +
Board $> cd /sys/kernel/debug
 +
:在此目录将找到Linux内核框架创建的所有debugfs条目。
 +
Board $> ls -l
 +
<syntaxhighlight lang="bash">
 +
drwxr-xr-x  2 root root 0 Jan  1  1970 49000000.usb-otg
 +
drwxr-xr-x  4 root root 0 Jan  1  1970 asoc
 +
drwxr-xr-x  40 root root 0 Jan  1  1970 bdi
 +
drwxr-xr-x  10 root root 0 Jan  1  1970 block
 +
drwxr-xr-x  2 root root 0 Jan  1  1970 bluetooth
 +
drwxr-xr-x  3 root root 0 May 28 15:52 cec
 +
drwxr-xr-x 225 root root 0 Jan  1  1970 clk
 +
drwxr-xr-x  2 root root 0 Jan  1  1970 dma_buf
 +
drwxr-xr-x  3 root root 0 Jan  1  1970 dri
 +
drwxr-xr-x  2 root root 0 Jan  1  1970 dynamic_debug
 +
drwxr-xr-x  2 root root 0 Jan  1  1970 extfrag
 +
-rw-r--r--  1 root root 0 Jan  1  1970 fault_around_bytes
 +
drwxr-xr-x  3 root root 0 May 28 15:52 gc
 +
-r--r--r--  1 root root 0 Jan  1  1970 gpio
 +
drwxr-xr-x  2 root root 0 Jan  1  1970 hid
 +
drwxr-xr-x  2 root root 0 Jan  1  1970 ieee80211
 +
drwxr-xr-x  7 root root 0 Jan  1  1970 iio
 +
-r--r--r--  1 root root 0 Jan  1  1970 irq_domain_mapping
 +
drwxr-xr-x  2 root root 0 Jan  1  1970 memblock
 +
drwxr-xr-x  3 root root 0 Jan  1  1970 mmc0
 +
drwxr-xr-x  3 root root 0 Jan  1  1970 mmc1
 +
drwxr-xr-x  11 root root 0 Jan  1  1970 mtd
 +
drwxr-xr-x  4 root root 0 Jan  1  1970 pinctrl
 +
drwxr-xr-x  4 root root 0 Jan  1  1970 pm_genpd
 +
drwxr-xr-x  2 root root 0 Jan  1  1970 pm_qos
 +
-r--r--r--  1 root root 0 Jan  1  1970 pwm
 +
drwxr-xr-x  2 root root 0 Jan  1  1970 ras
 +
drwxr-xr-x  13 root root 0 Jan  1  1970 regmap
 +
drwxr-xr-x  21 root root 0 Jan  1  1970 regulator
 +
drwxr-xr-x  3 root root 0 Jan  1  1970 remoteproc
 +
-r--r--r--  1 root root 0 Jan  1  1970 sleep_time
 +
drwxr-xr-x  3 root root 0 Jan  1  1970 stmmaceth
 +
-r--r--r--  1 root root 0 Jan  1  1970 suspend_stats
 +
dr-xr-xr-x  3 root root 0 Jan  1  1970 tracing
 +
drwxr-xr-x  2 root root 0 Jan  1  1970 ubi
 +
drwxr-xr-x  2 root root 0 Jan  1  1970 ubifs
 +
drwxr-xr-x  4 root root 0 Jan  1  1970 usb
 +
-r--r--r--  1 root root 0 Jan  1  1970 wakeup_sources
 +
</syntaxhighlight>
 +
:然后,您可以浏览以查找所需的信息。
 +
*一些例子:
 +
:列出唤醒源:
 +
<syntaxhighlight lang="bash">
 +
Board $> cat /sys/kernel/debug/wakeup_sources
 +
name            active_count    event_count    wakeup_count    expire_count    active_since    total_time      max_time        last_change    prevent_suspend_time
 +
5c002000.i2c:stpmu1@33:onkey    0              0              0              0              0              0              0              4075            0
 +
0-0033          0              0              0              0              0              0              0              3949            0
 +
alarmtimer      0              0              0              0              0              0              0              3901            0
 +
5c004000.rtc    1              1              0              0              0              0              0              5246            0
 +
deleted        0              0              0              0              0              0              0              0              0
 +
</syntaxhighlight>
 +
 
 +
:获取时钟设置摘要:
 +
<syntaxhighlight lang="bash">
 +
Board $> cat /sys/kernel/debug/clk/clk_summary
 +
  clock                        enable_cnt  prepare_cnt        rate  accuracy  phase
 +
----------------------------------------------------------------------------------------
 +
ck_usbo_48m                              1            1    48000000          0 0 
 +
  usbo_k                                1            1    48000000          0 0 
 +
ck_dsi_phy                              1            1          0          0 0 
 +
  dsi_k                                1            1          0          0 0 
 +
i2s_ckin                                0            0          0          0 0 
 +
clk-csi                                  1            1    4000000          0 0 
 +
  ck_csi                                1            1    4000000          0 0 
 +
      rng2_k                            0            0    4000000          0 0 
 +
      rng1_k                            0            0    4000000          0 0 
 +
clk-lsi                                  1            1      32000          0 0 
 +
  ck_lsi                                1            1      32000          0 0 
 +
      dac12_k                            0            0      32000          0 0 
 +
clk-lse                                  1            1      32768          0 0 
 +
  ck_lse                                1            1      32768          0 0 
 +
      ck_rtc                            2            2      32768          0 0 
 +
        rtc_lsco                        1            1      32768          0 0 
 +
      lptim5_k                          0            0      32768          0 0 
 +
      lptim4_k                          0            0      32768          0 0 
 +
      cec_k                              0            0      32768          0 0 
 +
clk-hsi                                  1            1    64000000          0 0 
 +
  clk-hsi-div                          1            1    64000000          0 0 
 +
      ck_hsi                            2            2    64000000          0 0 
 +
        ck_mco1                        0            0    64000000          0 0 
 +
        uart8_k                        0            0    64000000          0 0 
 +
        uart7_k                        0            0    64000000          0 0 
 +
        uart6_k                        0            0    64000000          0 0 
 +
        uart5_k                        0            0    64000000          0 0 
 +
        uart4_k                        1            1    64000000          0 0 
 +
        usart3_k                        0            0    64000000          0 0 
 +
        usart2_k                        1            1    64000000          0 0 
 +
        usart1_k                        0            0    64000000          0 0 
 +
        i2c6_k                          0            0    64000000          0 0 
 +
        i2c4_k                          0            0    64000000          0 0 
 +
        i2c5_k                          0            0    64000000          0 0 
 +
        i2c3_k                          0            0    64000000          0 0 
 +
        i2c2_k                          0            0    64000000          0 0 
 +
        i2c1_k                          0            0    64000000          0 0 
 +
        spi6_k                          0            0    64000000          0 0 
 +
        spi5_k                          0            0    64000000          0 0 
 +
        spi4_k                          0            0    64000000          0 0 
 +
clk-hse                                  1            1    24000000          0 0 
 +
  ck_hse                                7            7    24000000          0 0 
 +
      ck_hse_rtc                        0            0    1000000          0 0 
 +
      stgen_k                            1            1    24000000          0 0 
 +
      usbphy_k                          1            1    24000000          0 0 
 +
      ck_per                            1            1    24000000          0 0 
 +
        adc12_k                        1            1    24000000          0 0 
 +
      ref4                              1            1    24000000          0 0 
 +
        pll4                            1            1  594000000          0 0 
 +
            pll4_r                      0            0    74250000          0 0 
 +
            pll4_q                      1            1    31263158          0 0 
 +
              ltdc_px                  1            1    31263158          0 0 
 +
              dsi_px                    0            0    31263158          0 0 
 +
              fdcan_k                  0            0    31263158          0 0 
 +
            pll4_p                      0            0    74250000          0 0 
 +
      ref3                              1            1    24000000          0 0 
 +
        pll3                            2            3  786431640          0 0 
 +
            pll3_r                      1            1    98303955          0 0 
 +
              sdmmc3_k                  0            0    98303955          0 0 
 +
              sdmmc2_k                  1            1    98303955          0 0 
 +
              sdmmc1_k                  0            0    98303955          0 0 
 +
            pll3_q                      0            1    49151978          0 0 
 +
              adfsdm_k                  0            0    49151978          0 0 
 +
              sai4_k                    0            0    49151978          0 0 
 +
              sai3_k                    0            0    49151978          0 0 
 +
              sai2_k                    0            2    49151978          0 0 
 +
              sai1_k                    0            0    49151978          0 0 
 +
              spi3_k                    0            0    49151978          0 0 
 +
              spi2_k                    0            0    49151978          0 0 
 +
              spi1_k                    0            0    49151978          0 0 
 +
              spdif_k                  0            0    49151978          0 0 
 +
            pll3_p                      1            1  196607910          0 0 
 +
              ck_mcu                    6          16  196607910          0 0 
 +
                  dfsdm_k                0            0  196607910          0 0 
 +
                  gpiok                  0            0  196607910          0 0 
 +
                  gpioj                  0            0  196607910          0 0 
 +
                  gpioi                  0            1  196607910          0 0 
 +
                  gpioh                  0            1  196607910          0 0 
 +
                  gpiog                  0            1  196607910          0 0 
 +
                  gpiof                  0            1  196607910          0 0 
 +
                  gpioe                  0            1  196607910          0 0 
 +
                  gpiod                  0            1  196607910          0 0 
 +
                  gpioc                  0            1  196607910          0 0 
 +
                  gpiob                  0            1  196607910          0 0 
 +
                  gpioa                  0            1  196607910          0 0 
 +
                  ipcc                  2            2  196607910          0 0 
 +
                  hsem                  0            0  196607910          0 0 
 +
                  crc2                  0            0  196607910          0 0 
 +
                  rng2                  0            0  196607910          0 0 
 +
                  hash2                  0            0  196607910          0 0 
 +
                  cryp2                  0            0  196607910          0 0 
 +
                  dcmi                  0            0  196607910          0 0 
 +
                  sdmmc3                0            0  196607910          0 0 
 +
                  usbo                  0            0  196607910          0 0 
 +
                  adc12                  1            1  196607910          0 0 
 +
                  dmamux                1            1  196607910          0 0 
 +
                  dma2                  0            0  196607910          0 0 
 +
                  dma1                  1            1  196607910          0 0 
 +
                  pclk3                  1            1    98303955          0 0 
 +
                    lptim3_k            0            0    98303955          0 0 
 +
                    lptim2_k            0            0    98303955          0 0 
 +
                    hdp                0            0    98303955          0 0 
 +
                    pmbctrl            0            0    98303955          0 0 
 +
                    tmpsens            0            0    98303955          0 0 
 +
                    vref                0            0    98303955          0 0 
 +
                    syscfg              1            1    98303955          0 0 
 +
                    sai4                0            0    98303955          0 0 
 +
                    lptim5              0            0    98303955          0 0 
 +
                    lptim4              0            0    98303955          0 0 
 +
                    lptim3              0            0    98303955          0 0 
 +
                    lptim2              0            0    98303955          0 0 
 +
                  pclk2                  0            0    98303955          0 0 
 +
                    fdcan              0            0    98303955          0 0 
 +
                    dfsdm              0            0    98303955          0 0 
 +
                    sai3                0            0    98303955          0 0 
 +
                    sai2                0            0    98303955          0 0 
 +
                    sai1                0            0    98303955          0 0 
 +
                    usart6              0            0    98303955          0 0 
 +
                    spi5                0            0    98303955          0 0 
 +
                    spi4                0            0    98303955          0 0 
 +
                    spi1                0            0    98303955          0 0 
 +
                    tim17              0            0    98303955          0 0 
 +
                    tim16              0            0    98303955          0 0 
 +
                    tim15              0            0    98303955          0 0 
 +
                    tim8                0            0    98303955          0 0 
 +
                    tim1                0            0    98303955          0 0 
 +
                    ck2_tim            0            0  196607910          0 0 
 +
                        tim17_k          0            0  196607910          0 0 
 +
                        tim16_k          0            0  196607910          0 0 
 +
                        tim15_k          0            0  196607910          0 0 
 +
                        tim8_k          0            0  196607910          0 0 
 +
                        tim1_k          0            0  196607910          0 0 
 +
                  pclk1                  0            2    98303955          0 0 
 +
                    lptim1_k            0            0    98303955          0 0 
 +
                    mdio                0            0    98303955          0 0 
 +
                    dac12              0            0    98303955          0 0 
 +
                    cec                0            0    98303955          0 0 
 +
                    spdif              0            0    98303955          0 0 
 +
                    i2c5                0            0    98303955          0 0 
 +
                    i2c3                0            0    98303955          0 0 
 +
                    i2c2                0            0    98303955          0 0 
 +
                    i2c1                0            0    98303955          0 0 
 +
                    uart8              0            0    98303955          0 0 
 +
                    uart7              0            0    98303955          0 0 
 +
                    uart5              0            0    98303955          0 0 
 +
                    uart4              0            0    98303955          0 0 
 +
                    usart3              0            0    98303955          0 0 
 +
                    usart2              0            0    98303955          0 0 
 +
                    spi3                0            0    98303955          0 0 
 +
                    spi2                0            1    98303955          0 0 
 +
                    lptim1              0            0    98303955          0 0 
 +
                    tim14              0            0    98303955          0 0 
 +
                    tim13              0            0    98303955          0 0 
 +
                    tim12              0            0    98303955          0 0 
 +
                    tim7                0            0    98303955          0 0 
 +
                    tim6                0            0    98303955          0 0 
 +
                    tim5                0            0    98303955          0 0 
 +
                    tim4                0            0    98303955          0 0 
 +
                    tim3                0            0    98303955          0 0 
 +
                    tim2                0            0    98303955          0 0 
 +
                    ck1_tim            0            1  196607910          0 0 
 +
                        tim14_k          0            0  196607910          0 0 
 +
                        tim13_k          0            0  196607910          0 0 
 +
                        tim12_k          0            0  196607910          0 0 
 +
                        tim7_k          0            0  196607910          0 0 
 +
                        tim6_k          0            1  196607910          0 0 
 +
                        tim5_k          0            0  196607910          0 0 
 +
                        tim4_k          0            0  196607910          0 0 
 +
                        tim3_k          0            0  196607910          0 0 
 +
                        tim2_k          0            0  196607910          0 0 
 +
      ref1                              2            2    24000000          0 0 
 +
        pll2                            2            2  533000000          0 0 
 +
            pll2_r                      1            1  533000000          0 0 
 +
            pll2_q                      0            0  533000000          0 0 
 +
              gpu_k                    0            0  533000000          0 0 
 +
            pll2_p                      1            1  266500000          0 0 
 +
              ck_axi                    8            9  266500000          0 0 
 +
                  ck_trace              0            0  133250000          0 0 
 +
                  ck_sys_dbg            0            0  266500000          0 0 
 +
                  qspi_k                0            0  266500000          0 0 
 +
                  fmc_k                  0            0  266500000          0 0 
 +
                  ethstp                0            0  266500000          0 0 
 +
                  usbh                  1            1  266500000          0 0 
 +
                  crc1                  0            0  266500000          0 0 
 +
                  sdmmc2                0            0  266500000          0 0 
 +
                  sdmmc1                0            0  266500000          0 0 
 +
                  qspi                  0            0  266500000          0 0 
 +
                  fmc                    0            0  266500000          0 0 
 +
                  ethmac                1            1  266500000          0 0 
 +
                  ethrx                  1            1  266500000          0 0 
 +
                  ethtx                  1            1  266500000          0 0 
 +
                  gpu                    0            0  266500000          0 0 
 +
                  mdma                  1            1  266500000          0 0 
 +
                  bkpsram                0            0  266500000          0 0 
 +
                  rng1                  0            0  266500000          0 0 
 +
                  hash1                  0            0  266500000          0 0 
 +
                  cryp1                  0            0  266500000          0 0 
 +
                  gpioz                  0            1  266500000          0 0 
 +
                  tzc2                  0            0  266500000          0 0 
 +
                  tzc1                  0            0  266500000          0 0 
 +
                  pclk5                  1            1    66625000          0 0 
 +
                    stgen              0            0    66625000          0 0 
 +
                    bsec                0            0    66625000          0 0 
 +
                    iwdg1              0            0    66625000          0 0 
 +
                    tzpc                0            0    66625000          0 0 
 +
                    rtcapb              2            2    66625000          0 0 
 +
                    usart1              0            0    66625000          0 0 
 +
                    i2c6                0            0    66625000          0 0 
 +
                    i2c4                0            0    66625000          0 0 
 +
                    spi6                0            0    66625000          0 0 
 +
                  pclk4                  1            1  133250000          0 0 
 +
                    stgenro            0            0  133250000          0 0 
 +
                    usbphy              0            0  133250000          0 0 
 +
                    iwdg2              1            1  133250000          0 0 
 +
                    dsi                0            0  133250000          0 0 
 +
                    ltdc                0            0  133250000          0 0 
 +
        pll1                            1            1  650000000          0 0 
 +
            pll1_p                      1            1  650000000          0 0 
 +
              ck_mpu                    1            1  650000000          0 0 
 +
                  ck_mco2                0            0  650000000          0 0 
 +
      clk-hse-div2                      0            0    12000000          0 0 
 +
ethptp_k                                0            0          0          0 0 
 +
ethck_k                                  0            0          0          0 0 
 +
</syntaxhighlight>
 +
:获取电源相关设置的摘要:
 +
<syntaxhighlight lang="bash">
 +
Board $> cat /sys/kernel/debug/regulator/regulator_summary
 +
regulator                      use open bypass voltage current    min    max
 +
-------------------------------------------------------------------------------
 +
regulator-dummy                  0  11      0    0mV    0mA    0mV    0mV
 +
  49000000.usb-otg                                                0mV    0mV
 +
  49000000.usb-otg                                                0mV    0mV
 +
  5a000000.dsi.0                                                  0mV    0mV
 +
  vddcore                      0    0      0  1200mV    0mA  800mV  1350mV
 +
  vdd_ddr                      0    1      0  1350mV    0mA  1350mV  1350mV
 +
      vtt_ddr                    0    0      0  675mV    0mA  675mV  675mV
 +
  vdd                          0    1      0  3300mV    0mA  3300mV  3300mV
 +
      vref                      1    1      0  2500mV    0mA  2500mV  2500mV
 +
        48003000.adc                                              0mV    0mV
 +
  v3v3                          0    5      0  3300mV    0mA  3300mV  3300mV
 +
      0-004a                                                      0mV    0mV
 +
      58007000.sdmmc                                            3300mV  3300mV
 +
      58005000.sdmmc                                            3300mV  3300mV
 +
      v1v8_audio                0    3      0  1800mV    0mA  1800mV  1800mV
 +
        0-004a                                                    0mV    0mV
 +
        0-004a                                                    0mV    0mV
 +
        0-004a                                                    0mV    0mV
 +
      v1v2_hdmi                  0    1      0  1200mV    0mA  1200mV  1200mV
 +
        0-0039                                                    0mV    0mV
 +
  v3v3_hdmi                    0    1      0  3300mV    0mA  3300mV  3300mV
 +
      0-0039                                                      0mV    0mV
 +
  vdd_usb                      2    2      0  3300mV    0mA  3300mV  3300mV
 +
      phy-5a006000.usbphyc.1                                      0mV    0mV
 +
      phy-5a006000.usbphyc.0                                      0mV    0mV
 +
  vdda                          0    0      0  2900mV    0mA  2900mV  2900mV
 +
  bst_out                      0    2      0  5000mV    0mA    0mV    0mV
 +
      vbus_otg                  0    0      0  5000mV    0mA    0mV    0mV
 +
      vbus_sw                    0    0      0  5000mV    0mA    0mV    0mV
 +
reg11                            1    1      0  1100mV    0mA  1100mV  1100mV
 +
  5a006000.usbphyc                                                0mV    0mV
 +
reg18                            2    2      0  1800mV    0mA  1800mV  1800mV
 +
  5a006000.usbphyc                                                0mV    0mV
 +
  5a000000.dsi                                                    0mV    0mV
 +
usb33                            1    1      0  3300mV    0mA  3300mV  3300mV
 +
  49000000.usb-otg                                                0mV    0mV
 +
vref_ddr                        0    0      0  675mV    0mA    0mV    0mV
 +
</syntaxhighlight>
 +
:列出引脚控制相关设置
 +
<syntaxhighlight lang="bash">
 +
Board $> cat /sys/kernel/debug/pinctrl/soc\:pin-controller@50002000/pinconf-pins
 +
Pin config settings per pin
 +
Format: pin (name): configs
 +
pin 0 (PA0): analog
 +
pin 1 (PA1): alternate 11 (ETH1_GMII_RX_CLK ETH1_MII_RX_CLK ETH1_RGMII_RX_CLK ETH1_RMII_REF_CLK) - push pull - floating - low speed
 +
pin 2 (PA2): alternate 11 (ETH1_MDIO) - push pull - floating - very high speed
 +
pin 3 (PA3): alternate 14 (LCD_B5) - push pull - floating - high speed
 +
pin 4 (PA4): analog
 +
pin 5 (PA5): analog
 +
pin 6 (PA6): analog
 +
pin 7 (PA7): alternate 11 (ETH1_GMII_RX_DV ETH1_MII_RX_DV ETH1_RGMII_RX_CTL ETH1_RMII_CRS_DV) - push pull - floating - low speed
 +
pin 8 (PA8): analog
 +
pin 9 (PA9): analog
 +
pin 10 (PA10): output - high - push pull - floating - low speed
 +
pin 11 (PA11): analog
 +
pin 12 (PA12): analog
 +
pin 13 (PA13): output - low - open drain - floating - very high speed
 +
pin 14 (PA14): input - high - floating
 +
pin 15 (PA15): analog
 +
pin 16 (PB0): alternate 11 (ETH1_GMII_RXD2 ETH1_MII_RXD2 ETH1_RGMII_RXD2) - push pull - floating - low speed
 +
pin 17 (PB1): alternate 11 (ETH1_GMII_RXD3 ETH1_MII_RXD3 ETH1_RGMII_RXD3) - push pull - floating - low speed
 +
pin 18 (PB2): alternate 8 (UART4_RX) - push pull - floating - low speed
 +
pin 19 (PB3): alternate 9 (SDMMC2_D2) - push pull - pull up - very high speed
 +
pin 20 (PB4): alternate 9 (SDMMC2_D3) - push pull - pull up - very high speed
 +
pin 21 (PB5): analog
 +
pin 22 (PB6): alternate 5 (CEC) - open drain - floating - low speed
 +
pin 23 (PB7): analog
 +
pin 24 (PB8): alternate 14 (LCD_B6) - push pull - floating - high speed
 +
pin 25 (PB9): analog
 +
pin 26 (PB10): analog
 +
pin 27 (PB11): alternate 11 (ETH1_GMII_TX_EN ETH1_MII_TX_EN ETH1_RGMII_TX_CTL ETH1_RMII_TX_EN) - push pull - floating - very high speed
 +
pin 28 (PB12): analog
 +
pin 29 (PB13): analog
 +
pin 30 (PB14): alternate 9 (SDMMC2_D0) - push pull - pull up - very high speed
 +
pin 31 (PB15): alternate 9 (SDMMC2_D1) - push pull - pull up - very high speed
 +
pin 32 (PC0): alternate 14 (LCD_R5) - push pull - floating - high speed
 +
pin 33 (PC1): alternate 11 (ETH1_MDC) - push pull - floating - very high speed
 +
pin 34 (PC2): alternate 11 (ETH1_GMII_TXD2 ETH1_MII_TXD2 ETH1_RGMII_TXD2) - push pull - floating - very high speed
 +
pin 35 (PC3): analog
 +
pin 36 (PC4): alternate 11 (ETH1_GMII_RXD0 ETH1_MII_RXD0 ETH1_RGMII_RXD0 ETH1_RMII_RXD0) - push pull - floating - low speed
 +
pin 37 (PC5): alternate 11 (ETH1_GMII_RXD1 ETH1_MII_RXD1 ETH1_RGMII_RXD1 ETH1_RMII_RXD1) - push pull - floating - low speed
 +
pin 38 (PC6): analog
 +
pin 39 (PC7): analog
 +
pin 40 (PC8): analog
 +
pin 41 (PC9): analog
 +
pin 42 (PC10): analog
 +
pin 43 (PC11): analog
 +
pin 44 (PC12): analog
 +
pin 45 (PC13): analog
 +
pin 46 (PC14): analog
 +
pin 47 (PC15): analog
 +
pin 48 (PD0): analog
 +
pin 49 (PD1): analog
 +
pin 50 (PD2): analog
 +
pin 51 (PD3): alternate 7 (USART2_CTS USART2_NSS) - push pull - floating - low speed
 +
pin 52 (PD4): alternate 7 (USART2_RTS USART2_DE) - push pull - floating - very high speed
 +
pin 53 (PD5): alternate 7 (USART2_TX) - push pull - floating - very high speed
 +
pin 54 (PD6): alternate 7 (USART2_RX) - push pull - floating - low speed
 +
pin 55 (PD7): analog
 +
pin 56 (PD8): alternate 14 (LCD_B7) - push pull - floating - high speed
 +
pin 57 (PD9): alternate 14 (LCD_B0) - push pull - floating - high speed
 +
pin 58 (PD10): alternate 14 (LCD_B3) - push pull - floating - high speed
 +
pin 59 (PD11): output - low - push pull - floating - low speed
 +
pin 60 (PD12): alternate 5 (I2C1_SCL) - open drain - floating - low speed
 +
pin 61 (PD13): analog
 +
pin 62 (PD14): analog
 +
pin 63 (PD15): analog
 +
pin 64 (PE0): alternate 10 (SAI2_MCLK_A) - push pull - floating - high speed
 +
pin 65 (PE1): analog
 +
pin 66 (PE2): alternate 11 (ETH1_GMII_TXD3 ETH1_MII_TXD3 ETH1_RGMII_TXD3) - push pull - floating - very high speed
 +
pin 67 (PE3): alternate 9 (SDMMC2_CK) - push pull - pull up - very high speed
 +
pin 68 (PE4): output - high - push pull - floating - low speed
 +
pin 69 (PE5): alternate 14 (LCD_G0) - push pull - floating - high speed
 +
pin 70 (PE6): alternate 14 (LCD_G1) - push pull - floating - high speed
 +
pin 71 (PE7): analog
 +
pin 72 (PE8): analog
 +
pin 73 (PE9): analog
 +
pin 74 (PE10): analog
 +
pin 75 (PE11): analog
 +
pin 76 (PE12): analog
 +
pin 77 (PE13): analog
 +
pin 78 (PE14): analog
 +
pin 79 (PE15): alternate 14 (LCD_R7) - push pull - floating - high speed
 +
pin 80 (PF0): analog
 +
pin 81 (PF1): analog
 +
pin 82 (PF2): input - high - floating
 +
pin 83 (PF3): analog
 +
pin 84 (PF4): analog
 +
pin 85 (PF5): analog
 +
pin 86 (PF6): analog
 +
pin 87 (PF7): analog
 +
pin 88 (PF8): analog
 +
pin 89 (PF9): analog
 +
pin 90 (PF10): alternate 14 (LCD_DE) - push pull - floating - high speed
 +
pin 91 (PF11): alternate 10 (SAI2_SD_B) - push pull - floating - low speed
 +
pin 92 (PF12): analog
 +
pin 93 (PF13): analog
 +
pin 94 (PF14): analog
 +
pin 95 (PF15): alternate 5 (I2C1_SDA) - open drain - floating - low speed
 +
pin 96 (PG0): analog
 +
pin 97 (PG1): input - high - floating
 +
pin 98 (PG2): analog
 +
pin 99 (PG3): analog
 +
pin 100 (PG4): alternate 11 (ETH1_GMII_GTX_CLK ETH1_RGMII_GTX_CLK) - push pull - floating - very high speed
 +
pin 101 (PG5): alternate 11 (ETH1_GMII_CLK125 ETH1_RGMII_CLK125) - push pull - floating - very high speed
 +
pin 102 (PG6): alternate 10 (SDMMC2_CMD) - push pull - pull up - very high speed
 +
pin 103 (PG7): alternate 14 (LCD_CLK) - push pull - floating - high speed
 +
pin 104 (PG8): analog
 +
pin 105 (PG9): output - high - push pull - floating - low speed
 +
pin 106 (PG10): alternate 14 (LCD_B2) - push pull - floating - high speed
 +
pin 107 (PG11): alternate 6 (UART4_TX) - push pull - floating - low speed
 +
pin 108 (PG12): alternate 14 (LCD_B1) - push pull - floating - high speed
 +
pin 109 (PG13): alternate 11 (ETH1_GMII_TXD0 ETH1_MII_TXD0 ETH1_RGMII_TXD0 ETH1_RMII_TXD0) - push pull - floating - very high speed
 +
pin 110 (PG14): alternate 11 (ETH1_GMII_TXD1 ETH1_MII_TXD1 ETH1_RGMII_TXD1 ETH1_RMII_TXD1) - push pull - floating - very high speed
 +
pin 111 (PG15): analog
 +
pin 112 (PH0): analog
 +
pin 113 (PH1): analog
 +
pin 114 (PH2): alternate 14 (LCD_R0) - push pull - floating - high speed
 +
pin 115 (PH3): alternate 14 (LCD_R1) - push pull - floating - high speed
 +
pin 116 (PH4): output - high - push pull - floating - low speed
 +
pin 117 (PH5): analog
 +
pin 118 (PH6): analog
 +
pin 119 (PH7): analog
 +
pin 120 (PH8): alternate 14 (LCD_R2) - push pull - floating - high speed
 +
pin 121 (PH9): alternate 14 (LCD_R3) - push pull - floating - high speed
 +
pin 122 (PH10): alternate 14 (LCD_R4) - push pull - floating - high speed
 +
pin 123 (PH11): analog
 +
pin 124 (PH12): alternate 14 (LCD_R6) - push pull - floating - high speed
 +
pin 125 (PH13): alternate 14 (LCD_G2) - push pull - floating - high speed
 +
pin 126 (PH14): alternate 14 (LCD_G3) - push pull - floating - high speed
 +
pin 127 (PH15): alternate 14 (LCD_G4) - push pull - floating - high speed
 +
pin 128 (PI0): alternate 14 (LCD_G5) - push pull - floating - high speed
 +
pin 129 (PI1): alternate 14 (LCD_G6) - push pull - floating - high speed
 +
pin 130 (PI2): alternate 14 (LCD_G7) - push pull - floating - high speed
 +
pin 131 (PI3): analog
 +
pin 132 (PI4): alternate 14 (LCD_B4) - push pull - floating - high speed
 +
pin 133 (PI5): alternate 10 (SAI2_SCK_A) - push pull - floating - medium speed
 +
pin 134 (PI6): alternate 10 (SAI2_SD_A) - push pull - floating - medium speed
 +
pin 135 (PI7): alternate 10 (SAI2_FS_A) - push pull - floating - medium speed
 +
pin 136 (PI8): analog
 +
pin 137 (PI9): alternate 14 (LCD_VSYNC) - push pull - floating - high speed
 +
pin 138 (PI10): alternate 14 (LCD_HSYNC) - push pull - floating - high speed
 +
pin 139 (PI11): analog
 +
</syntaxhighlight>
 +
 
 +
:获取GPIO引脚设置
 +
<syntaxhighlight lang="bash">
 +
Board $> cat /sys/kernel/debug/gpio
 +
gpiochip0: GPIOs 0-15, parent: platform/soc:pin-controller@50002000, GPIOA:
 +
gpio-10  (                    |reset              ) out lo
 +
 
 +
gpiochip1: GPIOs 16-31, parent: platform/soc:pin-controller@50002000, GPIOB:
 +
 
 +
gpiochip2: GPIOs 32-47, parent: platform/soc:pin-controller@50002000, GPIOC:
 +
 
 +
gpiochip3: GPIOs 48-63, parent: platform/soc:pin-controller@50002000, GPIOD:
 +
gpio-59  (                    |heartbeat          ) out lo
 +
 
 +
gpiochip4: GPIOs 64-79, parent: platform/soc:pin-controller@50002000, GPIOE:
 +
gpio-68  (                    |reset              ) out hi
 +
 
 +
gpiochip5: GPIOs 80-95, parent: platform/soc:pin-controller@50002000, GPIOF:
 +
 
 +
gpiochip6: GPIOs 96-111, parent: platform/soc:pin-controller@50002000, GPIOG:
 +
gpio-105 (                    |reset              ) out hi   
 +
 
 +
gpiochip7: GPIOs 112-127, parent: platform/soc:pin-controller@50002000, GPIOH:
 +
gpio-116 (                    |reset              ) out hi   
 +
 
 +
gpiochip8: GPIOs 128-143, parent: platform/soc:pin-controller@50002000, GPIOI:
 +
 
 +
gpiochip9: GPIOs 400-415, parent: platform/soc:pin-controller-z@54004000, GPIOZ:
 +
</syntaxhighlight>
 +
 
 +
=进阶=
 +
==Regmap(寄存器映射)缓存==
 +
Debugfs包含一个基于regmap API的驱动程序/外围设备的寄存器缓存(镜像)。<br>
 +
Regmap是Linux内核的寄存器映射抽象API。它主要用于串行总线设备驱动程序(I2C和SPI),但也可以用于内部外围设备驱动程序。<br>
 +
这些驱动程序中有许多包含一些非常相似的代码,用于访问已连接的硬件设备寄存器。<br>
 +
regmap内核API提出了一种解决方案,该解决方案将这些代码从驱动程序中剔除,从而节省了代码并使其更易于共享基础架构。<br>
 +
 
 +
:regmap寄存器高速缓存在debugfs中的路径
 +
Board $> cd /sys/kernel/debug/regmap
 +
:基于regmap API的驱动程序的设备列表:
 +
<syntaxhighlight lang="bash">
 +
Board $> ls -la .
 +
total 0
 +
drwxr-xr-x 18 root root 0 Jan  1  1970 .
 +
drwx------ 32 root root 0 Jan  1  1970 ..
 +
drwxr-xr-x  2 root root 0 Jan  1  1970 0-001b
 +
drwxr-xr-x  2 root root 0 Jan  1  1970 0-0042
 +
drwxr-xr-x  2 root root 0 Jan  1  1970 2-0033
 +
drwxr-xr-x  2 root root 0 Jan  1  1970 40004000.timer
 +
drwxr-xr-x  2 root root 0 Jan  1  1970 4000d000.audio-controller
 +
drwxr-xr-x  2 root root 0 Nov 30 12:19 40016000.cec
 +
drwxr-xr-x  2 root root 0 Jan  1  1970 40017000.dac
 +
drwxr-xr-x  2 root root 0 Jan  1  1970 4400b004.audio-controller
 +
drwxr-xr-x  2 root root 0 Jan  1  1970 4400b024.audio-controller
 +
drwxr-xr-x  2 root root 0 Jan  1  1970 4400d000.dfsdm
 +
drwxr-xr-x  2 root root 0 Jan  1  1970 50027004.audio-controller
 +
drwxr-xr-x  2 root root 0 Jan  1  1970 dummy-interrupt-controller@5000d000
 +
drwxr-xr-x  2 root root 0 Jan  1  1970 dummy-pwr@50001000
 +
drwxr-xr-x  2 root root 0 Jan  1  1970 dummy-rcc@50000000
 +
drwxr-xr-x  2 root root 0 Jan  1  1970 dummy-syscon@50020000
 +
drwxr-xr-x  2 root root 0 Jan  1  1970 dummy-tamp@5c00a000
 +
</syntaxhighlight>
 +
:检查相应的驱动程序:2-0033 regmap条目的示例
 +
 
 +
Board $> cat 2-0033/name
 +
stpmic1
 +
::然后,在STM32MPU设备树文件上,可以检查设备以及相应的驱动程序
 +
<syntaxhighlight lang="bash">
 +
pmic: stpmic@33 {
 +
compatible = "st,stpmic1";
 +
reg = <0x33>;
 +
interrupts-extended = <&exti_pwr 55 IRQ_TYPE_EDGE_FALLING>;
 +
interrupt-controller;
 +
#interrupt-cells = <2>;
 +
status = "okay";
 +
:基于regmap API的驱动程序的设备列表:
 +
</syntaxhighlight>
 +
:Regmap条目,由dummy- 声明
 +
::当没有关联的/ dev条目(devtmpfs)时,将设置这种条目。
 +
::要在设备树中找到相应的节点,可以在dummy-之后查找后缀名称:
 +
:: dummy-interrupt-controller@5000d000的示例
 +
<syntaxhighlight lang="bash">
 +
exti: interrupt-controller@5000d000 {
 +
compatible = "st,stm32mp1-exti", "syscon";
 +
interrupt-controller;
 +
#interrupt-cells = <2>;
 +
reg = <0x5000d000 0x400>;
 +
};
 +
</syntaxhighlight>
 +
:寄存器列表:2-0033 regmap条目的示例
 +
<syntaxhighlight lang="bash">
 +
Board $> cat 2-0033/registers
 +
01: 10
 +
02: 00
 +
03: 00
 +
04: 00
 +
05: 60
 +
06: 10
 +
10: 04
 +
11: 00
 +
12: 00
 +
13: 00
 +
14: 00
 +
15: c0
 +
16: 00
 +
17: 00
 +
18: 04
 +
19: 00
 +
1a: 00
 +
1b: 00
 +
1c: 00
 +
1d: 0f
 +
1e: 04
 +
20: 61
 +
21: 79
 +
22: d9
 +
23: d9
 +
24: 01
 +
25: 51
 +
26: 4c
 +
27: 7d
 +
28: 01
 +
29: 51
 +
2a: 25
 +
30: 61
 +
31: 50
 +
32: d9
 +
33: d9
 +
34: 00
 +
35: 24
 +
36: 24
 +
37: 24
 +
38: 01
 +
39: 51
 +
3a: 04
 +
40: 35
 +
50: 00
 +
51: 00
 +
52: 00
 +
53: 80
 +
60: 00
 +
61: 00
 +
62: 00
 +
63: 00
 +
70: 00
 +
71: 00
 +
72: 00
 +
73: 00
 +
80: fc
 +
81: 8f
 +
82: c4
 +
83: cf
 +
90: fc
 +
91: 8f
 +
92: c4
 +
93: cf
 +
a0: 03
 +
a1: 70
 +
a2: 3b
 +
a3: 00
 +
b0: 00
 +
b1: 00
 +
b2: 00
 +
b3: 80
 +
</syntaxhighlight>
 +
:第一列代表寄存器地址,第二列代表寄存器值。
 +
:有关寄存器的定义,请参考设备规范。
 +
=参考链接=
 +
#https://github.com/STMicroelectronics/linux/blob/v4.19-stm32mp/Documentation/filesystems/debugfs.txt
 +
#https://opensourceforu.com/2010/10/debugging-linux-kernel-with-debugfs
 +
#https://elinux.org/images/a/a3/Regmap-_The_Power_of_Subsystems_and_Abstractions.pdf
 +
 
 +
*扩展参考
 +
**调试指南 https://lwn.net/Articles/334546/
 +
**debugfs维基百科说明 https://en.wikipedia.org/wiki/Debugfs
 +
**减少Linux代码冗余 https://opensourceforu.com/2017/01/regmap-reducing-redundancy-linux-code/
 +
 
 +
 
 +
[[Category:Linux_Operating_System]][[Category:Linux_monitoring_tools]]

2020年1月6日 (一) 15:16的最新版本


简介

Debugfs是一个简单易用的基于RAM的Linux内核调试的虚拟文件系统,专门用于调试目的。
它是内核开发人员使信息可用于用户空间的一种简单方法。
它是伪文件系统的一部分。与仅用于过程信息的procfs或具有严格的每个文件一个值规则的sysfs不同,debugfs根本没有规则。
开发人员可以自由地将任何信息放入debugfs。

如何配置debugfs

Debugfs默认已启用,如需配置通过在Linux ®内核配置CONFIG_DEBUG_FS,默认设置为是。

Symbol: DEBUG_FS
Location:
  Kernel Hacking --->
    Compile-time checks and compiler options -->
      [*] Debug Filesystem
请参考Menuconfig或如何配置内核一文,以获取有关在内核源码中修改配置和重新编译Linux内核映像的说明。

入门

如何挂载debugfs

Debugfs通常使用以下命令挂载在 /sys /kernel/debug中:
Board $> mount -t debugfs none /sys/kernel/debug

如何在Linux内核驱动程序中使用debugfs

Debugfs是内核驱动程序使信息可用于用户空间的一种简单方法。
可以使用linux内核中C头文件 include/linux/debugfs.h 中的几个调用来操纵它,例如:
debugfs_create_file → for creating a file in the debug filesystem.
debugfs_create_dir → for creating a directory in the debug filesystem.
debugfs_create_symlink → for creating a symbolic link in the debug filesystem.
debugfs_create_u32 → for creating a file containing a single 32-bit unsigned integer value
debugfs_remove → for removing a debugfs entry from the debug filesytem.
...
有关更多详细信息,请参考Linux内核文档中的debugfs

如何可视化debugfs信息

在目标板上,进入debugfs安装目录:
Board $> cd /sys/kernel/debug
在此目录将找到Linux内核框架创建的所有debugfs条目。
Board $> ls -l
drwxr-xr-x   2 root root 0 Jan  1  1970 49000000.usb-otg
drwxr-xr-x   4 root root 0 Jan  1  1970 asoc
drwxr-xr-x  40 root root 0 Jan  1  1970 bdi
drwxr-xr-x  10 root root 0 Jan  1  1970 block
drwxr-xr-x   2 root root 0 Jan  1  1970 bluetooth
drwxr-xr-x   3 root root 0 May 28 15:52 cec
drwxr-xr-x 225 root root 0 Jan  1  1970 clk
drwxr-xr-x   2 root root 0 Jan  1  1970 dma_buf
drwxr-xr-x   3 root root 0 Jan  1  1970 dri
drwxr-xr-x   2 root root 0 Jan  1  1970 dynamic_debug
drwxr-xr-x   2 root root 0 Jan  1  1970 extfrag
-rw-r--r--   1 root root 0 Jan  1  1970 fault_around_bytes
drwxr-xr-x   3 root root 0 May 28 15:52 gc
-r--r--r--   1 root root 0 Jan  1  1970 gpio
drwxr-xr-x   2 root root 0 Jan  1  1970 hid
drwxr-xr-x   2 root root 0 Jan  1  1970 ieee80211
drwxr-xr-x   7 root root 0 Jan  1  1970 iio
-r--r--r--   1 root root 0 Jan  1  1970 irq_domain_mapping
drwxr-xr-x   2 root root 0 Jan  1  1970 memblock
drwxr-xr-x   3 root root 0 Jan  1  1970 mmc0
drwxr-xr-x   3 root root 0 Jan  1  1970 mmc1
drwxr-xr-x  11 root root 0 Jan  1  1970 mtd
drwxr-xr-x   4 root root 0 Jan  1  1970 pinctrl
drwxr-xr-x   4 root root 0 Jan  1  1970 pm_genpd
drwxr-xr-x   2 root root 0 Jan  1  1970 pm_qos
-r--r--r--   1 root root 0 Jan  1  1970 pwm
drwxr-xr-x   2 root root 0 Jan  1  1970 ras
drwxr-xr-x  13 root root 0 Jan  1  1970 regmap
drwxr-xr-x  21 root root 0 Jan  1  1970 regulator
drwxr-xr-x   3 root root 0 Jan  1  1970 remoteproc
-r--r--r--   1 root root 0 Jan  1  1970 sleep_time
drwxr-xr-x   3 root root 0 Jan  1  1970 stmmaceth
-r--r--r--   1 root root 0 Jan  1  1970 suspend_stats
dr-xr-xr-x   3 root root 0 Jan  1  1970 tracing
drwxr-xr-x   2 root root 0 Jan  1  1970 ubi
drwxr-xr-x   2 root root 0 Jan  1  1970 ubifs
drwxr-xr-x   4 root root 0 Jan  1  1970 usb
-r--r--r--   1 root root 0 Jan  1  1970 wakeup_sources
然后,您可以浏览以查找所需的信息。
  • 一些例子:
列出唤醒源:
Board $> cat /sys/kernel/debug/wakeup_sources
name            active_count    event_count     wakeup_count    expire_count    active_since    total_time      max_time        last_change     prevent_suspend_time
5c002000.i2c:stpmu1@33:onkey    0               0               0               0               0               0               0               4075            0
0-0033          0               0               0               0               0               0               0               3949            0
alarmtimer      0               0               0               0               0               0               0               3901            0
5c004000.rtc    1               1               0               0               0               0               0               5246            0
deleted         0               0               0               0               0               0               0               0               0
获取时钟设置摘要:
Board $> cat /sys/kernel/debug/clk/clk_summary
  clock                         enable_cnt  prepare_cnt        rate   accuracy   phase
----------------------------------------------------------------------------------------
ck_usbo_48m                              1            1    48000000          0 0  
   usbo_k                                1            1    48000000          0 0  
ck_dsi_phy                               1            1           0          0 0  
   dsi_k                                 1            1           0          0 0  
i2s_ckin                                 0            0           0          0 0  
clk-csi                                  1            1     4000000          0 0  
   ck_csi                                1            1     4000000          0 0  
      rng2_k                             0            0     4000000          0 0  
      rng1_k                             0            0     4000000          0 0  
clk-lsi                                  1            1       32000          0 0  
   ck_lsi                                1            1       32000          0 0  
      dac12_k                            0            0       32000          0 0  
clk-lse                                  1            1       32768          0 0  
   ck_lse                                1            1       32768          0 0  
      ck_rtc                             2            2       32768          0 0  
         rtc_lsco                        1            1       32768          0 0  
      lptim5_k                           0            0       32768          0 0  
      lptim4_k                           0            0       32768          0 0  
      cec_k                              0            0       32768          0 0  
clk-hsi                                  1            1    64000000          0 0  
   clk-hsi-div                           1            1    64000000          0 0  
      ck_hsi                             2            2    64000000          0 0  
         ck_mco1                         0            0    64000000          0 0  
         uart8_k                         0            0    64000000          0 0  
         uart7_k                         0            0    64000000          0 0  
         uart6_k                         0            0    64000000          0 0  
         uart5_k                         0            0    64000000          0 0  
         uart4_k                         1            1    64000000          0 0  
         usart3_k                        0            0    64000000          0 0  
         usart2_k                        1            1    64000000          0 0  
         usart1_k                        0            0    64000000          0 0  
         i2c6_k                          0            0    64000000          0 0  
         i2c4_k                          0            0    64000000          0 0  
         i2c5_k                          0            0    64000000          0 0  
         i2c3_k                          0            0    64000000          0 0  
         i2c2_k                          0            0    64000000          0 0  
         i2c1_k                          0            0    64000000          0 0  
         spi6_k                          0            0    64000000          0 0  
         spi5_k                          0            0    64000000          0 0  
         spi4_k                          0            0    64000000          0 0  
clk-hse                                  1            1    24000000          0 0  
   ck_hse                                7            7    24000000          0 0  
      ck_hse_rtc                         0            0     1000000          0 0  
      stgen_k                            1            1    24000000          0 0  
      usbphy_k                           1            1    24000000          0 0  
      ck_per                             1            1    24000000          0 0  
         adc12_k                         1            1    24000000          0 0  
      ref4                               1            1    24000000          0 0  
         pll4                            1            1   594000000          0 0  
            pll4_r                       0            0    74250000          0 0  
            pll4_q                       1            1    31263158          0 0  
               ltdc_px                   1            1    31263158          0 0  
               dsi_px                    0            0    31263158          0 0  
               fdcan_k                   0            0    31263158          0 0  
            pll4_p                       0            0    74250000          0 0  
      ref3                               1            1    24000000          0 0  
         pll3                            2            3   786431640          0 0  
            pll3_r                       1            1    98303955          0 0  
               sdmmc3_k                  0            0    98303955          0 0  
               sdmmc2_k                  1            1    98303955          0 0  
               sdmmc1_k                  0            0    98303955          0 0  
            pll3_q                       0            1    49151978          0 0  
               adfsdm_k                  0            0    49151978          0 0  
               sai4_k                    0            0    49151978          0 0  
               sai3_k                    0            0    49151978          0 0  
               sai2_k                    0            2    49151978          0 0  
               sai1_k                    0            0    49151978          0 0  
               spi3_k                    0            0    49151978          0 0  
               spi2_k                    0            0    49151978          0 0  
               spi1_k                    0            0    49151978          0 0  
               spdif_k                   0            0    49151978          0 0  
            pll3_p                       1            1   196607910          0 0  
               ck_mcu                    6           16   196607910          0 0  
                  dfsdm_k                0            0   196607910          0 0  
                  gpiok                  0            0   196607910          0 0  
                  gpioj                  0            0   196607910          0 0  
                  gpioi                  0            1   196607910          0 0  
                  gpioh                  0            1   196607910          0 0  
                  gpiog                  0            1   196607910          0 0  
                  gpiof                  0            1   196607910          0 0  
                  gpioe                  0            1   196607910          0 0  
                  gpiod                  0            1   196607910          0 0  
                  gpioc                  0            1   196607910          0 0  
                  gpiob                  0            1   196607910          0 0  
                  gpioa                  0            1   196607910          0 0  
                  ipcc                   2            2   196607910          0 0  
                  hsem                   0            0   196607910          0 0  
                  crc2                   0            0   196607910          0 0  
                  rng2                   0            0   196607910          0 0  
                  hash2                  0            0   196607910          0 0  
                  cryp2                  0            0   196607910          0 0  
                  dcmi                   0            0   196607910          0 0  
                  sdmmc3                 0            0   196607910          0 0  
                  usbo                   0            0   196607910          0 0  
                  adc12                  1            1   196607910          0 0  
                  dmamux                 1            1   196607910          0 0  
                  dma2                   0            0   196607910          0 0  
                  dma1                   1            1   196607910          0 0  
                  pclk3                  1            1    98303955          0 0  
                     lptim3_k            0            0    98303955          0 0  
                     lptim2_k            0            0    98303955          0 0  
                     hdp                 0            0    98303955          0 0  
                     pmbctrl             0            0    98303955          0 0  
                     tmpsens             0            0    98303955          0 0  
                     vref                0            0    98303955          0 0  
                     syscfg              1            1    98303955          0 0  
                     sai4                0            0    98303955          0 0  
                     lptim5              0            0    98303955          0 0  
                     lptim4              0            0    98303955          0 0  
                     lptim3              0            0    98303955          0 0  
                     lptim2              0            0    98303955          0 0  
                  pclk2                  0            0    98303955          0 0  
                     fdcan               0            0    98303955          0 0  
                     dfsdm               0            0    98303955          0 0  
                     sai3                0            0    98303955          0 0  
                     sai2                0            0    98303955          0 0  
                     sai1                0            0    98303955          0 0  
                     usart6              0            0    98303955          0 0  
                     spi5                0            0    98303955          0 0  
                     spi4                0            0    98303955          0 0  
                     spi1                0            0    98303955          0 0  
                     tim17               0            0    98303955          0 0  
                     tim16               0            0    98303955          0 0  
                     tim15               0            0    98303955          0 0  
                     tim8                0            0    98303955          0 0  
                     tim1                0            0    98303955          0 0  
                     ck2_tim             0            0   196607910          0 0  
                        tim17_k           0            0   196607910          0 0  
                        tim16_k           0            0   196607910          0 0  
                        tim15_k           0            0   196607910          0 0  
                        tim8_k           0            0   196607910          0 0  
                        tim1_k           0            0   196607910          0 0  
                  pclk1                  0            2    98303955          0 0  
                     lptim1_k            0            0    98303955          0 0  
                     mdio                0            0    98303955          0 0  
                     dac12               0            0    98303955          0 0  
                     cec                 0            0    98303955          0 0  
                     spdif               0            0    98303955          0 0  
                     i2c5                0            0    98303955          0 0  
                     i2c3                0            0    98303955          0 0  
                     i2c2                0            0    98303955          0 0  
                     i2c1                0            0    98303955          0 0  
                     uart8               0            0    98303955          0 0  
                     uart7               0            0    98303955          0 0  
                     uart5               0            0    98303955          0 0  
                     uart4               0            0    98303955          0 0  
                     usart3              0            0    98303955          0 0  
                     usart2              0            0    98303955          0 0  
                     spi3                0            0    98303955          0 0  
                     spi2                0            1    98303955          0 0  
                     lptim1              0            0    98303955          0 0  
                     tim14               0            0    98303955          0 0  
                     tim13               0            0    98303955          0 0  
                     tim12               0            0    98303955          0 0  
                     tim7                0            0    98303955          0 0  
                     tim6                0            0    98303955          0 0  
                     tim5                0            0    98303955          0 0  
                     tim4                0            0    98303955          0 0  
                     tim3                0            0    98303955          0 0  
                     tim2                0            0    98303955          0 0  
                     ck1_tim             0            1   196607910          0 0  
                        tim14_k           0            0   196607910          0 0  
                        tim13_k           0            0   196607910          0 0  
                        tim12_k           0            0   196607910          0 0  
                        tim7_k           0            0   196607910          0 0  
                        tim6_k           0            1   196607910          0 0  
                        tim5_k           0            0   196607910          0 0  
                        tim4_k           0            0   196607910          0 0  
                        tim3_k           0            0   196607910          0 0  
                        tim2_k           0            0   196607910          0 0  
      ref1                               2            2    24000000          0 0  
         pll2                            2            2   533000000          0 0  
            pll2_r                       1            1   533000000          0 0  
            pll2_q                       0            0   533000000          0 0  
               gpu_k                     0            0   533000000          0 0  
            pll2_p                       1            1   266500000          0 0  
               ck_axi                    8            9   266500000          0 0  
                  ck_trace               0            0   133250000          0 0  
                  ck_sys_dbg             0            0   266500000          0 0  
                  qspi_k                 0            0   266500000          0 0  
                  fmc_k                  0            0   266500000          0 0  
                  ethstp                 0            0   266500000          0 0  
                  usbh                   1            1   266500000          0 0  
                  crc1                   0            0   266500000          0 0  
                  sdmmc2                 0            0   266500000          0 0  
                  sdmmc1                 0            0   266500000          0 0  
                  qspi                   0            0   266500000          0 0  
                  fmc                    0            0   266500000          0 0  
                  ethmac                 1            1   266500000          0 0  
                  ethrx                  1            1   266500000          0 0  
                  ethtx                  1            1   266500000          0 0  
                  gpu                    0            0   266500000          0 0  
                  mdma                   1            1   266500000          0 0  
                  bkpsram                0            0   266500000          0 0  
                  rng1                   0            0   266500000          0 0  
                  hash1                  0            0   266500000          0 0  
                  cryp1                  0            0   266500000          0 0  
                  gpioz                  0            1   266500000          0 0  
                  tzc2                   0            0   266500000          0 0  
                  tzc1                   0            0   266500000          0 0  
                  pclk5                  1            1    66625000          0 0  
                     stgen               0            0    66625000          0 0  
                     bsec                0            0    66625000          0 0  
                     iwdg1               0            0    66625000          0 0  
                     tzpc                0            0    66625000          0 0  
                     rtcapb              2            2    66625000          0 0  
                     usart1              0            0    66625000          0 0  
                     i2c6                0            0    66625000          0 0  
                     i2c4                0            0    66625000          0 0  
                     spi6                0            0    66625000          0 0  
                  pclk4                  1            1   133250000          0 0  
                     stgenro             0            0   133250000          0 0  
                     usbphy              0            0   133250000          0 0  
                     iwdg2               1            1   133250000          0 0  
                     dsi                 0            0   133250000          0 0  
                     ltdc                0            0   133250000          0 0  
         pll1                            1            1   650000000          0 0  
            pll1_p                       1            1   650000000          0 0  
               ck_mpu                    1            1   650000000          0 0  
                  ck_mco2                0            0   650000000          0 0  
      clk-hse-div2                       0            0    12000000          0 0  
ethptp_k                                 0            0           0          0 0  
ethck_k                                  0            0           0          0 0
获取电源相关设置的摘要:
Board $> cat /sys/kernel/debug/regulator/regulator_summary
regulator                      use open bypass voltage current     min     max
-------------------------------------------------------------------------------
regulator-dummy                  0   11      0     0mV     0mA     0mV     0mV 
   49000000.usb-otg                                                0mV     0mV
   49000000.usb-otg                                                0mV     0mV
   5a000000.dsi.0                                                  0mV     0mV
   vddcore                       0    0      0  1200mV     0mA   800mV  1350mV 
   vdd_ddr                       0    1      0  1350mV     0mA  1350mV  1350mV 
      vtt_ddr                    0    0      0   675mV     0mA   675mV   675mV 
   vdd                           0    1      0  3300mV     0mA  3300mV  3300mV 
      vref                       1    1      0  2500mV     0mA  2500mV  2500mV 
         48003000.adc                                              0mV     0mV
   v3v3                          0    5      0  3300mV     0mA  3300mV  3300mV 
      0-004a                                                       0mV     0mV
      58007000.sdmmc                                            3300mV  3300mV
      58005000.sdmmc                                            3300mV  3300mV
      v1v8_audio                 0    3      0  1800mV     0mA  1800mV  1800mV 
         0-004a                                                    0mV     0mV
         0-004a                                                    0mV     0mV
         0-004a                                                    0mV     0mV
      v1v2_hdmi                  0    1      0  1200mV     0mA  1200mV  1200mV 
         0-0039                                                    0mV     0mV
   v3v3_hdmi                     0    1      0  3300mV     0mA  3300mV  3300mV 
      0-0039                                                       0mV     0mV
   vdd_usb                       2    2      0  3300mV     0mA  3300mV  3300mV 
      phy-5a006000.usbphyc.1                                       0mV     0mV
      phy-5a006000.usbphyc.0                                       0mV     0mV
   vdda                          0    0      0  2900mV     0mA  2900mV  2900mV 
   bst_out                       0    2      0  5000mV     0mA     0mV     0mV 
      vbus_otg                   0    0      0  5000mV     0mA     0mV     0mV 
      vbus_sw                    0    0      0  5000mV     0mA     0mV     0mV 
reg11                            1    1      0  1100mV     0mA  1100mV  1100mV 
   5a006000.usbphyc                                                0mV     0mV
reg18                            2    2      0  1800mV     0mA  1800mV  1800mV 
   5a006000.usbphyc                                                0mV     0mV
   5a000000.dsi                                                    0mV     0mV
usb33                            1    1      0  3300mV     0mA  3300mV  3300mV 
   49000000.usb-otg                                                0mV     0mV
vref_ddr                         0    0      0   675mV     0mA     0mV     0mV
列出引脚控制相关设置
Board $> cat /sys/kernel/debug/pinctrl/soc\:pin-controller@50002000/pinconf-pins
Pin config settings per pin
Format: pin (name): configs
pin 0 (PA0): analog 
pin 1 (PA1): alternate 11 (ETH1_GMII_RX_CLK ETH1_MII_RX_CLK ETH1_RGMII_RX_CLK ETH1_RMII_REF_CLK) - push pull - floating - low speed
pin 2 (PA2): alternate 11 (ETH1_MDIO) - push pull - floating - very high speed
pin 3 (PA3): alternate 14 (LCD_B5) - push pull - floating - high speed
pin 4 (PA4): analog 
pin 5 (PA5): analog 
pin 6 (PA6): analog 
pin 7 (PA7): alternate 11 (ETH1_GMII_RX_DV ETH1_MII_RX_DV ETH1_RGMII_RX_CTL ETH1_RMII_CRS_DV) - push pull - floating - low speed
pin 8 (PA8): analog 
pin 9 (PA9): analog 
pin 10 (PA10): output - high - push pull - floating - low speed
pin 11 (PA11): analog 
pin 12 (PA12): analog 
pin 13 (PA13): output - low - open drain - floating - very high speed
pin 14 (PA14): input - high - floating
pin 15 (PA15): analog 
pin 16 (PB0): alternate 11 (ETH1_GMII_RXD2 ETH1_MII_RXD2 ETH1_RGMII_RXD2) - push pull - floating - low speed
pin 17 (PB1): alternate 11 (ETH1_GMII_RXD3 ETH1_MII_RXD3 ETH1_RGMII_RXD3) - push pull - floating - low speed
pin 18 (PB2): alternate 8 (UART4_RX) - push pull - floating - low speed
pin 19 (PB3): alternate 9 (SDMMC2_D2) - push pull - pull up - very high speed
pin 20 (PB4): alternate 9 (SDMMC2_D3) - push pull - pull up - very high speed
pin 21 (PB5): analog 
pin 22 (PB6): alternate 5 (CEC) - open drain - floating - low speed
pin 23 (PB7): analog 
pin 24 (PB8): alternate 14 (LCD_B6) - push pull - floating - high speed
pin 25 (PB9): analog 
pin 26 (PB10): analog 
pin 27 (PB11): alternate 11 (ETH1_GMII_TX_EN ETH1_MII_TX_EN ETH1_RGMII_TX_CTL ETH1_RMII_TX_EN) - push pull - floating - very high speed
pin 28 (PB12): analog 
pin 29 (PB13): analog 
pin 30 (PB14): alternate 9 (SDMMC2_D0) - push pull - pull up - very high speed
pin 31 (PB15): alternate 9 (SDMMC2_D1) - push pull - pull up - very high speed
pin 32 (PC0): alternate 14 (LCD_R5) - push pull - floating - high speed
pin 33 (PC1): alternate 11 (ETH1_MDC) - push pull - floating - very high speed
pin 34 (PC2): alternate 11 (ETH1_GMII_TXD2 ETH1_MII_TXD2 ETH1_RGMII_TXD2) - push pull - floating - very high speed
pin 35 (PC3): analog 
pin 36 (PC4): alternate 11 (ETH1_GMII_RXD0 ETH1_MII_RXD0 ETH1_RGMII_RXD0 ETH1_RMII_RXD0) - push pull - floating - low speed
pin 37 (PC5): alternate 11 (ETH1_GMII_RXD1 ETH1_MII_RXD1 ETH1_RGMII_RXD1 ETH1_RMII_RXD1) - push pull - floating - low speed
pin 38 (PC6): analog 
pin 39 (PC7): analog 
pin 40 (PC8): analog 
pin 41 (PC9): analog 
pin 42 (PC10): analog 
pin 43 (PC11): analog 
pin 44 (PC12): analog 
pin 45 (PC13): analog 
pin 46 (PC14): analog 
pin 47 (PC15): analog 
pin 48 (PD0): analog 
pin 49 (PD1): analog 
pin 50 (PD2): analog 
pin 51 (PD3): alternate 7 (USART2_CTS USART2_NSS) - push pull - floating - low speed
pin 52 (PD4): alternate 7 (USART2_RTS USART2_DE) - push pull - floating - very high speed
pin 53 (PD5): alternate 7 (USART2_TX) - push pull - floating - very high speed
pin 54 (PD6): alternate 7 (USART2_RX) - push pull - floating - low speed
pin 55 (PD7): analog 
pin 56 (PD8): alternate 14 (LCD_B7) - push pull - floating - high speed
pin 57 (PD9): alternate 14 (LCD_B0) - push pull - floating - high speed
pin 58 (PD10): alternate 14 (LCD_B3) - push pull - floating - high speed
pin 59 (PD11): output - low - push pull - floating - low speed
pin 60 (PD12): alternate 5 (I2C1_SCL) - open drain - floating - low speed
pin 61 (PD13): analog 
pin 62 (PD14): analog 
pin 63 (PD15): analog 
pin 64 (PE0): alternate 10 (SAI2_MCLK_A) - push pull - floating - high speed
pin 65 (PE1): analog 
pin 66 (PE2): alternate 11 (ETH1_GMII_TXD3 ETH1_MII_TXD3 ETH1_RGMII_TXD3) - push pull - floating - very high speed
pin 67 (PE3): alternate 9 (SDMMC2_CK) - push pull - pull up - very high speed
pin 68 (PE4): output - high - push pull - floating - low speed
pin 69 (PE5): alternate 14 (LCD_G0) - push pull - floating - high speed
pin 70 (PE6): alternate 14 (LCD_G1) - push pull - floating - high speed
pin 71 (PE7): analog 
pin 72 (PE8): analog 
pin 73 (PE9): analog 
pin 74 (PE10): analog 
pin 75 (PE11): analog 
pin 76 (PE12): analog 
pin 77 (PE13): analog 
pin 78 (PE14): analog 
pin 79 (PE15): alternate 14 (LCD_R7) - push pull - floating - high speed
pin 80 (PF0): analog 
pin 81 (PF1): analog 
pin 82 (PF2): input - high - floating
pin 83 (PF3): analog 
pin 84 (PF4): analog 
pin 85 (PF5): analog 
pin 86 (PF6): analog 
pin 87 (PF7): analog 
pin 88 (PF8): analog 
pin 89 (PF9): analog 
pin 90 (PF10): alternate 14 (LCD_DE) - push pull - floating - high speed
pin 91 (PF11): alternate 10 (SAI2_SD_B) - push pull - floating - low speed
pin 92 (PF12): analog 
pin 93 (PF13): analog 
pin 94 (PF14): analog 
pin 95 (PF15): alternate 5 (I2C1_SDA) - open drain - floating - low speed
pin 96 (PG0): analog 
pin 97 (PG1): input - high - floating
pin 98 (PG2): analog 
pin 99 (PG3): analog 
pin 100 (PG4): alternate 11 (ETH1_GMII_GTX_CLK ETH1_RGMII_GTX_CLK) - push pull - floating - very high speed
pin 101 (PG5): alternate 11 (ETH1_GMII_CLK125 ETH1_RGMII_CLK125) - push pull - floating - very high speed
pin 102 (PG6): alternate 10 (SDMMC2_CMD) - push pull - pull up - very high speed
pin 103 (PG7): alternate 14 (LCD_CLK) - push pull - floating - high speed
pin 104 (PG8): analog 
pin 105 (PG9): output - high - push pull - floating - low speed
pin 106 (PG10): alternate 14 (LCD_B2) - push pull - floating - high speed
pin 107 (PG11): alternate 6 (UART4_TX) - push pull - floating - low speed
pin 108 (PG12): alternate 14 (LCD_B1) - push pull - floating - high speed
pin 109 (PG13): alternate 11 (ETH1_GMII_TXD0 ETH1_MII_TXD0 ETH1_RGMII_TXD0 ETH1_RMII_TXD0) - push pull - floating - very high speed
pin 110 (PG14): alternate 11 (ETH1_GMII_TXD1 ETH1_MII_TXD1 ETH1_RGMII_TXD1 ETH1_RMII_TXD1) - push pull - floating - very high speed
pin 111 (PG15): analog 
pin 112 (PH0): analog 
pin 113 (PH1): analog 
pin 114 (PH2): alternate 14 (LCD_R0) - push pull - floating - high speed
pin 115 (PH3): alternate 14 (LCD_R1) - push pull - floating - high speed
pin 116 (PH4): output - high - push pull - floating - low speed
pin 117 (PH5): analog 
pin 118 (PH6): analog 
pin 119 (PH7): analog 
pin 120 (PH8): alternate 14 (LCD_R2) - push pull - floating - high speed
pin 121 (PH9): alternate 14 (LCD_R3) - push pull - floating - high speed
pin 122 (PH10): alternate 14 (LCD_R4) - push pull - floating - high speed
pin 123 (PH11): analog 
pin 124 (PH12): alternate 14 (LCD_R6) - push pull - floating - high speed
pin 125 (PH13): alternate 14 (LCD_G2) - push pull - floating - high speed
pin 126 (PH14): alternate 14 (LCD_G3) - push pull - floating - high speed
pin 127 (PH15): alternate 14 (LCD_G4) - push pull - floating - high speed
pin 128 (PI0): alternate 14 (LCD_G5) - push pull - floating - high speed
pin 129 (PI1): alternate 14 (LCD_G6) - push pull - floating - high speed
pin 130 (PI2): alternate 14 (LCD_G7) - push pull - floating - high speed
pin 131 (PI3): analog 
pin 132 (PI4): alternate 14 (LCD_B4) - push pull - floating - high speed
pin 133 (PI5): alternate 10 (SAI2_SCK_A) - push pull - floating - medium speed
pin 134 (PI6): alternate 10 (SAI2_SD_A) - push pull - floating - medium speed
pin 135 (PI7): alternate 10 (SAI2_FS_A) - push pull - floating - medium speed
pin 136 (PI8): analog 
pin 137 (PI9): alternate 14 (LCD_VSYNC) - push pull - floating - high speed
pin 138 (PI10): alternate 14 (LCD_HSYNC) - push pull - floating - high speed
pin 139 (PI11): analog
获取GPIO引脚设置
Board $> cat /sys/kernel/debug/gpio
gpiochip0: GPIOs 0-15, parent: platform/soc:pin-controller@50002000, GPIOA:
 gpio-10  (                    |reset               ) out lo

gpiochip1: GPIOs 16-31, parent: platform/soc:pin-controller@50002000, GPIOB:

gpiochip2: GPIOs 32-47, parent: platform/soc:pin-controller@50002000, GPIOC:

gpiochip3: GPIOs 48-63, parent: platform/soc:pin-controller@50002000, GPIOD:
 gpio-59  (                    |heartbeat           ) out lo

gpiochip4: GPIOs 64-79, parent: platform/soc:pin-controller@50002000, GPIOE:
 gpio-68  (                    |reset               ) out hi

gpiochip5: GPIOs 80-95, parent: platform/soc:pin-controller@50002000, GPIOF:

gpiochip6: GPIOs 96-111, parent: platform/soc:pin-controller@50002000, GPIOG:
 gpio-105 (                    |reset               ) out hi    

gpiochip7: GPIOs 112-127, parent: platform/soc:pin-controller@50002000, GPIOH:
 gpio-116 (                    |reset               ) out hi    

gpiochip8: GPIOs 128-143, parent: platform/soc:pin-controller@50002000, GPIOI:

gpiochip9: GPIOs 400-415, parent: platform/soc:pin-controller-z@54004000, GPIOZ:

进阶

Regmap(寄存器映射)缓存

Debugfs包含一个基于regmap API的驱动程序/外围设备的寄存器缓存(镜像)。
Regmap是Linux内核的寄存器映射抽象API。它主要用于串行总线设备驱动程序(I2C和SPI),但也可以用于内部外围设备驱动程序。
这些驱动程序中有许多包含一些非常相似的代码,用于访问已连接的硬件设备寄存器。
regmap内核API提出了一种解决方案,该解决方案将这些代码从驱动程序中剔除,从而节省了代码并使其更易于共享基础架构。

regmap寄存器高速缓存在debugfs中的路径
Board $> cd /sys/kernel/debug/regmap
基于regmap API的驱动程序的设备列表:
Board $> ls -la .
total 0
drwxr-xr-x 18 root root 0 Jan  1  1970 .
drwx------ 32 root root 0 Jan  1  1970 ..
drwxr-xr-x  2 root root 0 Jan  1  1970 0-001b
drwxr-xr-x  2 root root 0 Jan  1  1970 0-0042
drwxr-xr-x  2 root root 0 Jan  1  1970 2-0033
drwxr-xr-x  2 root root 0 Jan  1  1970 40004000.timer
drwxr-xr-x  2 root root 0 Jan  1  1970 4000d000.audio-controller
drwxr-xr-x  2 root root 0 Nov 30 12:19 40016000.cec
drwxr-xr-x  2 root root 0 Jan  1  1970 40017000.dac
drwxr-xr-x  2 root root 0 Jan  1  1970 4400b004.audio-controller
drwxr-xr-x  2 root root 0 Jan  1  1970 4400b024.audio-controller
drwxr-xr-x  2 root root 0 Jan  1  1970 4400d000.dfsdm
drwxr-xr-x  2 root root 0 Jan  1  1970 50027004.audio-controller
drwxr-xr-x  2 root root 0 Jan  1  1970 dummy-interrupt-controller@5000d000
drwxr-xr-x  2 root root 0 Jan  1  1970 dummy-pwr@50001000
drwxr-xr-x  2 root root 0 Jan  1  1970 dummy-rcc@50000000
drwxr-xr-x  2 root root 0 Jan  1  1970 dummy-syscon@50020000
drwxr-xr-x  2 root root 0 Jan  1  1970 dummy-tamp@5c00a000
检查相应的驱动程序:2-0033 regmap条目的示例
Board $> cat 2-0033/name
stpmic1
然后,在STM32MPU设备树文件上,可以检查设备以及相应的驱动程序
pmic: stpmic@33 {
	compatible = "st,stpmic1";
	reg = <0x33>;
	interrupts-extended = <&exti_pwr 55 IRQ_TYPE_EDGE_FALLING>;
	interrupt-controller;
	#interrupt-cells = <2>;
	status = "okay";
:基于regmap API的驱动程序的设备列表:
Regmap条目,由dummy- 声明
当没有关联的/ dev条目(devtmpfs)时,将设置这种条目。
要在设备树中找到相应的节点,可以在dummy-之后查找后缀名称:
dummy-interrupt-controller@5000d000的示例
exti: interrupt-controller@5000d000 {
	compatible = "st,stm32mp1-exti", "syscon";
	interrupt-controller;
	#interrupt-cells = <2>;
	reg = <0x5000d000 0x400>;
};
寄存器列表:2-0033 regmap条目的示例
Board $> cat 2-0033/registers
01: 10
02: 00
03: 00
04: 00
05: 60
06: 10
10: 04
11: 00
12: 00
13: 00
14: 00
15: c0
16: 00
17: 00
18: 04
19: 00
1a: 00
1b: 00
1c: 00
1d: 0f
1e: 04
20: 61
21: 79
22: d9
23: d9
24: 01
25: 51
26: 4c
27: 7d
28: 01
29: 51
2a: 25
30: 61
31: 50
32: d9
33: d9
34: 00
35: 24
36: 24
37: 24
38: 01
39: 51
3a: 04
40: 35
50: 00
51: 00
52: 00
53: 80
60: 00
61: 00
62: 00
63: 00
70: 00
71: 00
72: 00
73: 00
80: fc
81: 8f
82: c4
83: cf
90: fc
91: 8f
92: c4
93: cf
a0: 03
a1: 70
a2: 3b
a3: 00
b0: 00
b1: 00
b2: 00
b3: 80
第一列代表寄存器地址,第二列代表寄存器值。
有关寄存器的定义,请参考设备规范。