04-15-2019, 04:01 PM
yes, I understand, but it does work with 115200 baud/s too. I set it in uboot and it worked. Then, when linux started to boot, as expected, garbage was spitted out on the screen - linux is configured for 1500000 baud/s. My question is to knowledgeable in linux people, what one needs to set in linux, to make it use 115200 baud/s? Inside an OS, it's actually a matter of configuring the clock for the UART controller, right? But what steps need to have been done on the user part to force that configuration?
I've looked through the Rockchip DTs for rk3328/rock64 and found this (rk3328-rock64.dts):
So far so good, but it wouldn't be so easy, right? Really, a few lines below, we see another setting up:
Sooo, this multiple setting up is what prevents me from just going and changing these fields. What if linux has yet other places where it (again and again) configures UART2? People knowing linux internals might help.
I've looked through the Rockchip DTs for rk3328/rock64 and found this (rk3328-rock64.dts):
Code:
chosen {
bootargs = "rockchip_jtag earlyprintk=uart8250-32bit,0xff130000 swiotlb=1 kpti=0";
stdout-path = "serial2:1500000n8";
};
Code:
fiq-debugger {
compatible = "rockchip,fiq-debugger";
rockchip,serial-id = <2>;
rockchip,signal-irq = <159>;
rockchip,wake-irq = <0>;
/* If enable uart uses irq instead of fiq */
rockchip,irq-mode-enable = <0>;
rockchip,baudrate = <1500000>; /* Only 115200 and 1500000 */
interrupts = <GIC_SPI 127 IRQ_TYPE_LEVEL_LOW>;
status = "okay";
};
ANT - my hobby OS for x86 and ARM.