I am realizing a project with CM4 where I need higher baudrates on UART3. Currently, the maximum baudrate is limited by the uart clock which is per default 48MHz resulting in a maxum baudrate of 48MHz/16 = 3 Mbit.
I want to increase that to at least 5Mbit but to do so I need to increase the UART clock.
For UART0 it was possible by using init_uart_clock but this is now marked as a legacy option and does not apply to UARTs other than UART0.
Therefore, I want to do it with an overlay but since my experience with overlays is limited, I could not find out how to do so.
I did found a thread (viewtopic.php?t=361321) on how to do it on RPi5 but the clock management is completely different on the RPi4.
My research so far showed that the clock is assigned in boot/dts/broadcom/bcm2711.dtsiWhen I search for BCM2835_CLOCK_UART I just found a reference in /dt-bindings/clock/bcm2835.h but the clock is not set here.
So if anyone could point me in the right direction, that would be highly appreciated.
I want to increase that to at least 5Mbit but to do so I need to increase the UART clock.
For UART0 it was possible by using init_uart_clock but this is now marked as a legacy option and does not apply to UARTs other than UART0.
Therefore, I want to do it with an overlay but since my experience with overlays is limited, I could not find out how to do so.
I did found a thread (viewtopic.php?t=361321) on how to do it on RPi5 but the clock management is completely different on the RPi4.
My research so far showed that the clock is assigned in boot/dts/broadcom/bcm2711.dtsi
Code:
uart3: serial@7e201600 {compatible = "arm,pl011", "arm,primecell";reg = <0x7e201600 0x200>;interrupts = <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>;clocks = <&clocks BCM2835_CLOCK_UART>, <&clocks BCM2835_CLOCK_VPU>;clock-names = "uartclk", "apb_pclk";arm,primecell-periphid = <0x00241011>;status = "disabled";};
So if anyone could point me in the right direction, that would be highly appreciated.
Statistics: Posted by p0ckin3d — Wed Nov 20, 2024 8:20 am