diff options
author | ian <ian@FreeBSD.org> | 2013-08-21 14:33:02 +0000 |
---|---|---|
committer | ian <ian@FreeBSD.org> | 2013-08-21 14:33:02 +0000 |
commit | 13ce4e66a1bca0366fbfd59ac247c90903fbccbd (patch) | |
tree | 65abce488aee09faa6bb84b4d4accd161b605cbb /sys/boot | |
parent | 29f631efba73763ec8798a40c3ff8ca7dee4e9ff (diff) | |
download | FreeBSD-src-13ce4e66a1bca0366fbfd59ac247c90903fbccbd.zip FreeBSD-src-13ce4e66a1bca0366fbfd59ac247c90903fbccbd.tar.gz |
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.
Diffstat (limited to 'sys/boot')
-rw-r--r-- | sys/boot/fdt/dts/am335x.dtsi | 62 |
1 files changed, 59 insertions, 3 deletions
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"; |