通常の状況では、RK シリーズ マザーボードの ttyS2 (つまり uart2) は基本的にデバッグ ポートとして設計されており、fiq デバッガー機能を提供します。
デバッグ ポートを通常のシリアル ポートに変更します。具体的な変更は次のとおりです。
- カーネル内の fiq デバッガー ドライバーを削除します。
//dts中disabled掉fiq debugger驱动节点
fiq-debugger {
compatible = "rockchip,fiq-debugger";
interrupts = <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>;
rockchip,serial-id = <2>;
rockchip,wake-irq = <0>;
rockchip,irq-mode-enable = <0>; /* If enable uart uses irq instead of fiq */
rockchip,baudrate = <115200>; /* Only 115200 and 1500000 */
pinctrl-names = "default";
pinctrl-0 = <&uart2_xfer>;
+ status = "disabled";
};
//或者注释掉kernel config里的FIQ_DEBUGGER相关配置
#CONFIG_FIQ_DEBUGGER=y
#CONFIG_FIQ_DEBUGGER_NO_SLEEP=y
#CONFIG_FIQ_DEBUGGER_CONSOLE=y
#CONFIG_FIQ_DEBUGGER_CONSOLE_DEFAULT_ENABLE=y
#CONFIG_FIQ_DEBUGGER_TRUST_ZONE=y
- uart2 を開きます (その前にデバッグ用シリアル ポートを閉じる必要があるため)。
&uart2 {
- status = "disabled";
+ status = "okay";
};
- bootargs を削除します。
chosen {
- bootargs = "earlycon=uart8250,mmio32,0xff690000 vmalloc=496M";
+ //bootargs = "earlycon=uart8250,mmio32,0xff690000 vmalloc=496M";
};
- パラメータ .txt を変更します (ttyFIQ0 を削除します)。
-CMDLINE: console=ttyFIQ0 androidboot.baseband
+CMDLINE: console= androidboot.baseband
- device/rockchip/common/recovery/etc/init.rc ファイルからコンソールを削除します。
service recovery /sbin/recovery
- console
+ #console
seclabel u:r:recovery:s0
変更、コンパイル、書き込みを行うと、ttyS2 は通常のシリアル ポートとして使用できるようになり、TX と RX を短絡すると自動的に受信できるようになります。