aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMax Filippov <jcmvbkbc@gmail.com>2015-08-24 12:44:46 -0400
committerChris Zankel <chris@zankel.net>2016-03-11 03:53:31 -0500
commitabfbd89595e91d5108f807e10bbd2152bc55f36b (patch)
treefea9190c224b121a092723b450f3d03a9b84a992
parent4611bf7eb52599cb7549eed10f1ab609cbcdfa4b (diff)
xtensa: xtfpga: fix serial port register width and endianness
Serial port is attached to XTFPGA boards as native endian device, mark it as such in DTS and pass correct endianness in platform data. Set register width in DTS to 4, this way it matches the platform data and works correctly on big-endian CPUs. Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
-rw-r--r--arch/xtensa/boot/dts/xtfpga.dtsi2
-rw-r--r--arch/xtensa/platforms/xtfpga/setup.c2
2 files changed, 3 insertions, 1 deletions
diff --git a/arch/xtensa/boot/dts/xtfpga.dtsi b/arch/xtensa/boot/dts/xtfpga.dtsi
index cd0b9e34adc8..be3fd769677a 100644
--- a/arch/xtensa/boot/dts/xtfpga.dtsi
+++ b/arch/xtensa/boot/dts/xtfpga.dtsi
@@ -60,6 +60,8 @@
60 no-loopback-test; 60 no-loopback-test;
61 reg = <0x0d050020 0x20>; 61 reg = <0x0d050020 0x20>;
62 reg-shift = <2>; 62 reg-shift = <2>;
63 reg-io-width = <4>;
64 native-endian;
63 interrupts = <0 1>; /* external irq 0 */ 65 interrupts = <0 1>; /* external irq 0 */
64 clocks = <&osc>; 66 clocks = <&osc>;
65 }; 67 };
diff --git a/arch/xtensa/platforms/xtfpga/setup.c b/arch/xtensa/platforms/xtfpga/setup.c
index e9f65f79cf2e..b7f468a6a557 100644
--- a/arch/xtensa/platforms/xtfpga/setup.c
+++ b/arch/xtensa/platforms/xtfpga/setup.c
@@ -283,7 +283,7 @@ static struct plat_serial8250_port serial_platform_data[] = {
283 .irq = DUART16552_INTNUM, 283 .irq = DUART16552_INTNUM,
284 .flags = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST | 284 .flags = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST |
285 UPF_IOREMAP, 285 UPF_IOREMAP,
286 .iotype = UPIO_MEM32, 286 .iotype = XCHAL_HAVE_BE ? UPIO_MEM32BE : UPIO_MEM32,
287 .regshift = 2, 287 .regshift = 2,
288 .uartclk = 0, /* set in xtavnet_init() */ 288 .uartclk = 0, /* set in xtavnet_init() */
289 }, 289 },