14class Uart_imx :
public Uart
26 explicit Uart_imx(
enum platform_type type) : _type(type) {}
27 explicit Uart_imx(
enum platform_type type,
unsigned )
29 bool startup(Io_register_block
const *)
override;
31 bool change_mode(Transfer_mode m, Baud_rate r)
override;
33 void wait_tx_done()
const;
34 inline void out_char(
char c)
const;
35 int write(
char const *s,
unsigned long count,
36 bool blocking =
true)
const override;
38#ifndef UART_WITHOUT_INPUT
39 bool enable_rx_irq(
bool enable =
true)
override;
41 int get_char(
bool blocking =
true)
const override;
45 enum platform_type _type;
48class Uart_imx21 :
public Uart_imx
51 Uart_imx21() : Uart_imx(Type_imx21) {}
52 explicit Uart_imx21(
unsigned base_rate) : Uart_imx(Type_imx21, base_rate) {}
55class Uart_imx35 :
public Uart_imx
58 Uart_imx35() : Uart_imx(Type_imx35) {}
59 explicit Uart_imx35(
unsigned base_rate) : Uart_imx(Type_imx35, base_rate) {}
62class Uart_imx51 :
public Uart_imx
65 Uart_imx51() : Uart_imx(Type_imx51) {}
66 explicit Uart_imx51(
unsigned base_rate) : Uart_imx(Type_imx51, base_rate) {}
69class Uart_imx6 :
public Uart_imx
72 Uart_imx6() : Uart_imx(Type_imx6) {}
73 explicit Uart_imx6(
unsigned base_rate) : Uart_imx(Type_imx6, base_rate) {}
75#ifndef UART_WITHOUT_INPUT
80class Uart_imx7 :
public Uart_imx
83 Uart_imx7() : Uart_imx(Type_imx7) {}
84 explicit Uart_imx7(
unsigned base_rate) : Uart_imx(Type_imx7, base_rate) {}
87class Uart_imx8 :
public Uart_imx
90 Uart_imx8() : Uart_imx(Type_imx8) {}
91 explicit Uart_imx8(
unsigned base_rate) : Uart_imx(Type_imx8, base_rate) {}
virtual void irq_ack()
Acknowledge a received interrupt.
virtual void shutdown()=0
Terminate the UART driver.
virtual int char_avail() const =0
Check if there is at least one character available for reading from the UART.
L4 low-level kernel interface.