Linux kernel 是';早期印刷';和';早期会议';与特定DT或板def相关?

Linux kernel 是';早期印刷';和';早期会议';与特定DT或板def相关?,linux-kernel,mips,embedded-linux,Linux Kernel,Mips,Embedded Linux,背景很复杂: 我用一个MIPS32r1内核实现了一个完整的FPGA SOC,它们都是由VerilogHDL编写的,所以从技术上讲,这是一个独特的“软板”。我保证,它运行得很愉快,没有任何问题 最近,我尝试在其上调整一个5.2 Linux内核,问题来了: 编写的UART串行接口与8250/16550型号兼容,并且它成功地在U-Boot上打印“hello world”,这意味着U-Boot的串行驱动程序工作得非常好。但当我后来处理Linux内核5.2时,我启用了带有“8250/16550和兼容串行支

背景很复杂: 我用一个MIPS32r1内核实现了一个完整的FPGA SOC,它们都是由VerilogHDL编写的,所以从技术上讲,这是一个独特的“软板”。我保证,它运行得很愉快,没有任何问题

最近,我尝试在其上调整一个5.2 Linux内核,问题来了: 编写的UART串行接口与8250/16550型号兼容,并且它成功地在U-Boot上打印“hello world”,这意味着U-Boot的串行驱动程序工作得非常好。但当我后来处理Linux内核5.2时,我启用了带有“8250/16550和兼容串行支持”的early-con和带有专家集的early-printf,但不幸的是,它们都没有“说”什么

接下来,我尝试定义一个DT:

  1 /dts-v1/;
  2 
  3 #include "./xilfpga/microAptiv.dtsi"
  4 
  5 / {
  6         compatible = "generic";
  7 
  8         aliases {
  9                 console = &uart_dev;
 10         };
 11 
 12         uart_dev: serial@bfe40000 {
 13                 compatible = "serial8250";
 14                 reg = <0xbfe40000 0x3fff>;
 15                 interrupts = <3 0>;
 16                 reg-shift = <0>;
 17                 clock-frequency = <66000000>;
 18         };
 19 
 20 };
虽然已成功编译并附加了该命令,但在使用下面的cmdline启动内核时,我仍然无法获得任何打印消息:

console=ttyS0,115200 initcall_debug=1 loglevel=20

我希望早期的消息会像在定义了DT之后调整U-Boot一样打印出来,但它不起作用。所以我想知道early_con或early_printk是否需要替代的板级def或其他东西,或者我做得不好。。。 如果您能提供任何帮助,我们将不胜感激

研究它是倾斜的手臂,但仍有信息。研究它是倾斜的手臂,但仍有信息。
console=ttyS0,115200 initcall_debug=1 loglevel=20
earlycon console=ttyS0,115200 initcall_debug=1 loglevel=11