From 13ce4e66a1bca0366fbfd59ac247c90903fbccbd Mon Sep 17 00:00:00 2001 From: ian Date: Wed, 21 Aug 2013 14:33:02 +0000 Subject: Add support for uarts other than the serial console in TI OMAP SoCs. The TI uart hardware is ns16550-compatible, except that before it can be used the clocks and power have to be enabled and a non-standard mode control register has to be set to put the device in uart mode (as opposed to irDa or other serial protocols). This adds the extra code in an extension to the standard ns8250 probe routine, and the rest of the driver is just the standard ns8250 code. --- sys/boot/fdt/dts/am335x.dtsi | 62 +++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 59 insertions(+), 3 deletions(-) (limited to 'sys/boot') diff --git a/sys/boot/fdt/dts/am335x.dtsi b/sys/boot/fdt/dts/am335x.dtsi index 1424518..8374d70 100644 --- a/sys/boot/fdt/dts/am335x.dtsi +++ b/sys/boot/fdt/dts/am335x.dtsi @@ -88,13 +88,69 @@ }; uart0: serial@44E09000 { - compatible = "ns16550"; + compatible = "ti,ns16550"; reg = <0x44E09000 0x1000>; reg-shift = <2>; interrupts = < 72 >; interrupt-parent = <&AINTC>; - clock-frequency = < 48000000 >; /* FIXME */ - }; + clock-frequency = < 48000000 >; + uart-device-id = < 0 >; + }; + + uart1: serial@48022000 { + compatible = "ti,ns16550"; + reg = <0x48022000 0x1000>; + reg-shift = <2>; + interrupts = < 73 >; + interrupt-parent = <&AINTC>; + clock-frequency = < 48000000 >; + uart-device-id = < 1 >; + status = "disabled"; + }; + + uart2: serial@48024000 { + compatible = "ti,ns16550"; + reg = <0x48024000 0x1000>; + reg-shift = <2>; + interrupts = < 74 >; + interrupt-parent = <&AINTC>; + clock-frequency = < 48000000 >; + uart-device-id = < 2 >; + status = "disabled"; + }; + + uart3: serial@481a6000 { + compatible = "ti,ns16550"; + reg = <0x481A6000 0x1000>; + reg-shift = <2>; + interrupts = < 44 >; + interrupt-parent = <&AINTC>; + clock-frequency = < 48000000 >; + uart-device-id = < 3 >; + status = "disabled"; + }; + + uart4: serial@481a8000 { + compatible = "ti,ns16550"; + reg = <0x481A8000 0x1000>; + reg-shift = <2>; + interrupts = < 45 >; + interrupt-parent = <&AINTC>; + clock-frequency = < 48000000 >; + uart-device-id = < 4 >; + status = "disabled"; + }; + + uart5: serial@481aa000 { + compatible = "ti,ns16550"; + reg = <0x481AA000 0x1000>; + reg-shift = <2>; + interrupts = < 46 >; + interrupt-parent = <&AINTC>; + clock-frequency = < 48000000 >; + uart-device-id = < 5 >; + status = "disabled"; + }; edma3@49000000 { compatible = "ti,edma3"; -- cgit v1.1