ARM平台AMBA总线uart驱动和console初始化

本文详细介绍了ARM平台下AMBA总线的uart驱动和console初始化的过程,从函数调用路径、驱动注册、设备节点初始化、AMBA设备驱动到console设备的转化,以及默认console的设置。通过分析内核代码和设备树配置,揭示了从总线驱动到设备初始化,再到console设备注册的完整流程,并解释了如何通过命令行参数确定默认console。
摘要由CSDN通过智能技术生成

1. 函数调用路径

首先看到uart驱动probe的过程:

[    0.675729] Serial: AMBA PL011 UART driver
[    0.735090] 9000000.pl011: ttyAMA0 at MMIO 0x9000000 (irq = 39, base_baud = 0) is a PL011 rev1
[    0.736770] [VUART_DBG] register_console:2656 ttyAMA
[    0.737602] CPU: 1 PID: 1 Comm: swapper/0 Not tainted 5.6.0-rc4-00002-g84594dce3dfa-dirty #20
[    0.739146] Hardware name: linux,dummy-virt (DT)
[    0.739867] Call trace:
[    0.740335]  dump_backtrace+0x0/0x1a0
[    0.740922]  show_stack+0x14/0x20
[    0.741514]  dump_stack+0xbc/0x104
[    0.742046]  register_console+0x38/0x3e0
[    0.742707]  uart_add_one_port+0x42c/0x500
[    0.743016]  pl011_register_port+0x68/0xd0
[    0.743496]  pl011_probe+0x144/0x198
[    0.743730]  amba_probe+0xbc/0x158
[    0.743957]  really_probe+0x108/0x360
[    0.744292]  driver_probe_device+0x58/0x100
[    0.744578]  __device_attach_driver+0x90/0xb0
[    0.744866]  bus_for_each_drv+0x64/0xc8
[    0.745165]  __device_attach+0xd8/0x138
[    0.745864]  device_initial_probe+0x10/0x18
[    0.745995]  bus_probe_device+0x90/0x98
[    0.746178]  device_add+0x4c4/0x770
[    0.746288]  amba_device_try_add+0x1b8/0x360
[    0.746416]  amba_device_add+0x18/0xd8
[    0.751260]  of_platform_bus_create+0x308/0x3b8
[    0.753329]  of_platform_populate+0x7c/0x108
[    0.753473]  of_platform_default_populate_init+0xb8/0xd4
[    0.753638]  do_one_initcall+0x5c/0x1b0
[    0.753762]  kernel_init_freeable+0x19c/0x204
[    0.753902]  kernel_init+0x10/0x108

[    0.754016]  ret_from_fork+0x10/0x18
[    0.755131] printk: console [ttyAMA0] enabled
[    0.755131] printk: console [ttyAMA0] enabled
[    0.757799] printk: bootconsole [pl11] disabled
[    0.757799] printk: bootcon

  • 3
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值