AnsweredAssumed Answered

IMX6 UART 9 bit MDB protocol

Question asked by Stephan van Kampen on Oct 5, 2018
Latest reply on Oct 12, 2018 by Stephan van Kampen



I have a question about the IMX6 uart peripheral. I am creating a 9bit uart driver from scratch to implement the 9bit MDB (Multi drop bus) protocol used in many vending machines.

At this moment (I have the driver code attached) I am able to send 9 bit data (very rudimentary) with the scope I see data transmitting. I know using a sample program the uart should receive data (including 9th bit set), but currently my driver does not generates any interrupts, although it is correctly configured in my device tree, nor does the status register change or any data in the RX FIFO.

My driver is not yet using DMA, the very basics of my driver is attached.

Does anybody have an idea why my interrupt is not working or has its own custom 9 bit uart driver?


Device tree configuration:


   &uart5 {
      pinctrl-names = "default";
      pinctrl-0 = <&pinctrl_uart5>;
      status = "okay";



   uart5: serial@021f4000 {
      compatible = "ptr,imx6ul-mdb";
      reg = <0x021f4000 0x4000>;
      interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
      clocks = <&clks IMX6UL_CLK_UART5_IPG>,
      <&clks IMX6UL_CLK_UART5_SERIAL>;
      clock-names = "ipg", "per";
      status = "disabled";



Thanks in advance.