(1)cat /proc/devices,可获知系统中注册的设备,第1列为主设备号,第2列为设备名。
msm8937_64:/proc # cat devices
...
242 ttyMSM
(2)查看/dev目录可以获知系统中包含的设备文件,ls -l 日期的前两列给出了对应设备的主设备号和次设备号。
msm8937_64:/dev # ls -l
crw------- 1 bluetooth bluetooth 242, 0 1970-01-29 18:50 ttyMSM0
crw------- 1 root root 242, 1 1970-01-29 18:49 ttyMSM1
crw------- 1 root root 242, 2 1970-01-29 18:49 ttyMSM2
(3)查看/sys/firmware/devicetree/base/soc/对应uart的设备树配置可用于确认代码dts配置是否正确 。
msm8937_64:/sys/firmware/devicetree/base/soc/serial@78b0000 # ls
clock-names clocks compatible interrupts name phandle reg status
msm8937_64:/sys/firmware/devicetree/base/soc/serial@78b0000 # cat name
serial
msm8937_64:/sys/firmware/devicetree/base/soc/serial@78b0000 # cat status
ok
(4)当前module_init中使用 platform_driver_register(&dev_driver)注册了设备驱动,在 /sys/bus/platform/drivers 生成了以dev_driver->driver.name命名的驱动分支;及含具体uart信息。
如下:
msm8937_64:/sys/bus/platform/drivers # cd msm_serial
msm8937_64:/sys/bus/platform/drivers/msm_serial # ls
78b0000.serial 7aef000.serial 7af0000.serial bind uevent unbind
msm8937_64:/sys/bus/platform/drivers/msm_serial # cd 78b0000.serial
msm8937_64:/sys/bus/platform/drivers/msm_serial/78b0000.serial # ls
driver driver_override modalias of_node power subsystem tty uevent
msm8937_64:/sys/bus/platform/drivers/msm_serial/78b0000.serial # cd tty
cd tty
msm8937_64:/sys/bus/platform/drivers/msm_serial/78b0000.serial/tty # ls
ttyMSM0
(5)查询tty或uart详细信息。
msm8937_64:/proc/tty/driver # cat msm_serial
serinfo:1.0 driver revision:
0: uart:MSM mmio:0x078B0000 irq:65 tx:14 rx:2 brk:2 RTS|CTS|DTR|DSR|CD
1: uart:MSM mmio:0x07AEF000 irq:66 tx:0 rx:0 CTS|DSR|CD
2: uart:MSM mmio:0x07AF0000 irq:67 tx:0 rx:0 CTS|DSR|CD