[Letux-kernel] X1600 / LX16 support - here: UART issue

H. Nikolaus Schaller hns at goldelico.com
Fri Feb 23 09:12:14 CET 2024


Bug #1 is that we have to disable the UART nodes in the DTS.

By accident I found that all UARTs (incl. UART2) can be broken
by this single line in the DTS:

	&uart0 { status = "disable"; };

Maybe a bug in "status =" processing?

Or it has something to do with pinctrl which is set up before
probing a driver and turned down if probe fails.

On the other hand there are no pinctrl entries involved.

Having status = "disable" may also do something differently from
having no status at all.

The default from x1600.dtsi is:

		uart0: serial at 10030000 {
			compatible = "ingenic,x1600-uart";
			reg = <0x10030000 0x100>;
			reg-shift = <2>;
			interrupt-parent = <&core_intc>;
			interrupts = <IRQ_UART0>;
			clocks = <&extclk>, <&cgu X1600_CLK_UART0>;
			clock-names = "baud", "module";
			dmas = <&dma X1600_DMA_UART0_TX 0xffffffff>,
				   <&dma X1600_DMA_UART0_RX 0xffffffff>;
			dma-names = "tx", "rx";
			#address-cells = <1>;
			#size-cells = <0>;
		};

BR,
Nikolaus


More information about the Letux-kernel mailing list