I won't be able to fix it tonight, but I'll try to look at this tomorrow. Sorry, I was in a hurry this morning. Does anyone have an opinion on whether or not I should I also remove the 'const' part of the declaration? I wonder how much longer we'll be using this mechanism before the device trees take over. It seems like only a handful of omap boards use it.
adam On Mon, Feb 29, 2016 at 7:04 AM, Alexander Graf <ag...@suse.de> wrote: > On 02/29/2016 12:53 PM, Adam Ford wrote: >> >> V2: I hastily copy-pasted the boards without looking at the UART number. >> This addresses 3 boards that use UART3 and not UART1. >> >> With commit: d9a3bec682f9 "dm: ns16550: Add support for reg-offset >> property" >> reg_offset is added to the struct ns16550_platdata to be >> dt compatible with Linux kernel driver. A variety of OMAP3 boards are >> broken >> as the serial platdata is missing offsets. By explicitly naming the entry, >> this should also help 'future-proof' if more entries get added but are not >> needed for OMAP3. Tested on the Logic PD Torpedo + Wireless. >> >> I only changed a handful of devices that used the same syntax as the Logic >> board. Appologies if I missed one or stepped on toes. Thanks to Derald >> Woods >> and Alexander Graf. >> >> Signed-off-by: Adam Ford <aford...@gmail.com> >> --- >> board/isee/igep00x0/igep00x0.c | 7 ++++--- >> board/logicpd/omap3som/omap3logic.c | 7 ++++--- >> board/logicpd/zoom1/zoom1.c | 7 ++++--- >> board/overo/overo.c | 7 ++++--- >> board/quipos/cairo/cairo.c | 7 ++++--- >> board/ti/beagle/beagle.c | 7 ++++--- >> board/timll/devkit8000/devkit8000.c | 7 ++++--- >> 7 files changed, 28 insertions(+), 21 deletions(-) >> >> diff --git a/board/isee/igep00x0/igep00x0.c >> b/board/isee/igep00x0/igep00x0.c >> index e2fce50..63489e5 100644 >> --- a/board/isee/igep00x0/igep00x0.c >> +++ b/board/isee/igep00x0/igep00x0.c >> @@ -34,9 +34,10 @@ static const u32 gpmc_lan_config[] = { >> #endif >> static const struct ns16550_platdata igep_serial = { >> - OMAP34XX_UART3, >> - 2, >> - V_NS16550_CLK >> + .base = OMAP34XX_UART1, > > > This looks wrong > >> + .reg_offset = 0, > > > I'd say just leave reg_offset out in all the structs. It gets initialized to > 0 by default. > > > >> + .reg_shift = 2, >> + .clock = V_NS16550_CLK >> }; >> U_BOOT_DEVICE(igep_uart) = { >> diff --git a/board/logicpd/omap3som/omap3logic.c >> b/board/logicpd/omap3som/omap3logic.c >> index 668f684..0e72a5a 100644 >> --- a/board/logicpd/omap3som/omap3logic.c >> +++ b/board/logicpd/omap3som/omap3logic.c >> @@ -47,9 +47,10 @@ DECLARE_GLOBAL_DATA_PTR; >> */ >> static const struct ns16550_platdata omap3logic_serial = { >> - OMAP34XX_UART1, >> - 2, >> - V_NS16550_CLK >> + .base = OMAP34XX_UART1, >> + .reg_offset = 0, >> + .reg_shift = 2, >> + .clock = V_NS16550_CLK >> }; >> U_BOOT_DEVICE(omap3logic_uart) = { >> diff --git a/board/logicpd/zoom1/zoom1.c b/board/logicpd/zoom1/zoom1.c >> index 4040114..3d34919 100644 >> --- a/board/logicpd/zoom1/zoom1.c >> +++ b/board/logicpd/zoom1/zoom1.c >> @@ -44,9 +44,10 @@ static const u32 gpmc_lab_enet[] = { >> }; >> static const struct ns16550_platdata zoom1_serial = { >> - OMAP34XX_UART3, >> - 2, >> - V_NS16550_CLK >> + .base = OMAP34XX_UART1, > > > looks wrong too > > >> + .reg_offset = 0, >> + .reg_shift = 2, >> + .clock = V_NS16550_CLK >> }; >> U_BOOT_DEVICE(zoom1_uart) = { >> diff --git a/board/overo/overo.c b/board/overo/overo.c >> index a38b959..3da80e9 100644 >> --- a/board/overo/overo.c >> +++ b/board/overo/overo.c >> @@ -68,9 +68,10 @@ static struct { >> } expansion_config = {0x0}; >> static const struct ns16550_platdata overo_serial = { >> - OMAP34XX_UART3, >> - 2, >> - V_NS16550_CLK >> + .base = OMAP34XX_UART3, >> + .reg_offset = 0, >> + .reg_shift = 2, >> + .clock = V_NS16550_CLK >> }; >> U_BOOT_DEVICE(overo_uart) = { >> diff --git a/board/quipos/cairo/cairo.c b/board/quipos/cairo/cairo.c >> index 21793e8..15d68c1 100644 >> --- a/board/quipos/cairo/cairo.c >> +++ b/board/quipos/cairo/cairo.c >> @@ -91,9 +91,10 @@ void get_board_mem_timings(struct board_sdrc_timings >> *timings) >> #endif >> static const struct ns16550_platdata cairo_serial = { >> - OMAP34XX_UART2, >> - 2, >> - V_NS16550_CLK >> + .base = OMAP34XX_UART1, > > > wrong? > > Given the number of typos, maybe try and create a coccinelle script instead? > :) > > > Alex > > >> + .reg_offset = 0, >> + .reg_shift = 2, >> + .clock = V_NS16550_CLK >> }; >> U_BOOT_DEVICE(cairo_uart) = { >> diff --git a/board/ti/beagle/beagle.c b/board/ti/beagle/beagle.c >> index ff317ef..a5f2af7 100644 >> --- a/board/ti/beagle/beagle.c >> +++ b/board/ti/beagle/beagle.c >> @@ -73,9 +73,10 @@ static struct { >> } expansion_config; >> static const struct ns16550_platdata beagle_serial = { >> - OMAP34XX_UART3, >> - 2, >> - V_NS16550_CLK >> + .base = OMAP34XX_UART3, >> + .reg_offset = 0, >> + .reg_shift = 2, >> + .clock = V_NS16550_CLK >> }; >> U_BOOT_DEVICE(beagle_uart) = { >> diff --git a/board/timll/devkit8000/devkit8000.c >> b/board/timll/devkit8000/devkit8000.c >> index 1a447c7..fb8e357 100644 >> --- a/board/timll/devkit8000/devkit8000.c >> +++ b/board/timll/devkit8000/devkit8000.c >> @@ -46,9 +46,10 @@ static u32 gpmc_net_config[GPMC_MAX_REG] = { >> }; >> static const struct ns16550_platdata devkit8000_serial = { >> - OMAP34XX_UART3, >> - 2, >> - V_NS16550_CLK >> + .base = OMAP34XX_UART3, >> + .reg_offset = 0, >> + .reg_shift = 2, >> + .clock = V_NS16550_CLK >> }; >> U_BOOT_DEVICE(devkit8000_uart) = { > > _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot