Skip to content

Commit 712dab4

Browse files
akanisettifabiobaltieri
authored andcommitted
drivers: serial: ns16550: Fixed set_baud_rate usage in line ctrl set
Added pclk parameter to set_baud_rate function in line_ctrl_set api which was missed during update of set_baud_rate function definition update. Signed-off-by: Anisetti Avinash Krishna <[email protected]>
1 parent b8d3e9c commit 712dab4

File tree

1 file changed

+11
-2
lines changed

1 file changed

+11
-2
lines changed

drivers/serial/uart_ns16550.c

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -950,12 +950,21 @@ static int uart_ns16550_line_ctrl_set(const struct device *dev,
950950
uint32_t ctrl, uint32_t val)
951951
{
952952
struct uart_ns16550_dev_data *data = dev->data;
953-
uint32_t mdc, chg;
953+
const struct uart_ns16550_device_config *const dev_cfg = dev->config;
954+
uint32_t mdc, chg, pclk = 0U;
954955
k_spinlock_key_t key;
955956

957+
if (dev_cfg->sys_clk_freq != 0U) {
958+
pclk = dev_cfg->sys_clk_freq;
959+
} else {
960+
if (device_is_ready(dev_cfg->clock_dev)) {
961+
clock_control_get_rate(dev_cfg->clock_dev, dev_cfg->clock_subsys, &pclk);
962+
}
963+
}
964+
956965
switch (ctrl) {
957966
case UART_LINE_CTRL_BAUD_RATE:
958-
set_baud_rate(dev, val);
967+
set_baud_rate(dev, val, pclk);
959968
return 0;
960969

961970
case UART_LINE_CTRL_RTS:

0 commit comments

Comments
 (0)