Message ID | 1456746808-5177-1-git-send-email-aford173@gmail.com |
---|---|
State | Superseded |
Delegated to: | Tom Rini |
Headers | show |
Hello Adam, Am 29.02.2016 um 12:53 schrieb Adam Ford: > 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 <aford173@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(-) What has changed exactly in v2 ? Beside of this: Reviewed-by: Heiko Schocher <hs@denx.de> Thanks! bye, Heiko > > 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, > + .reg_offset = 0, > + .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, > + .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, > + .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) = { >
V1 I changed all the platform data to explicitly name the entries instead of just using a table of numbers. This would hopefully address future proofing against the header changing order. I copy-pasted the table from my board to a series of boards and then later realized I had accidentally changed the UART number which would have broken a few boards. V2, Fixes that issue because igep, overo, beagle and devkit8000 used UART3 instead of UART1, so it was a correction on my part. The change from V1 was kept, but the correct UART was referenced. On Mon, Feb 29, 2016 at 6:29 AM, Heiko Schocher <hs@denx.de> wrote: > Hello Adam, > > Am 29.02.2016 um 12:53 schrieb Adam Ford: >> >> 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 <aford173@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(-) > > > What has changed exactly in v2 ? > > Beside of this: > Reviewed-by: Heiko Schocher <hs@denx.de> > > Thanks! > > bye, > Heiko > >> >> 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, >> + .reg_offset = 0, >> + .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, >> + .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, >> + .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) = { >> > > -- > DENX Software Engineering GmbH, Managing Director: Wolfgang Denk > HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
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 <aford173@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) = {
Hello Adam, Am 29.02.2016 um 13:51 schrieb Adam Ford: > V1 I changed all the platform data to explicitly name the entries > instead of just using a table of numbers. This would hopefully > address future proofing against the header changing order. I > copy-pasted the table from my board to a series of boards and then > later realized I had accidentally changed the UART number which would > have broken a few boards. > > V2, Fixes that issue because igep, overo, beagle and devkit8000 used > UART3 instead of UART1, so it was a correction on my part. The change > from V1 was kept, but the correct UART was referenced. Please add this information below the "---" in your next version, thanks! Maybe you want to try "u-boot:tools/patman/patman", which helps a lot bye, Heiko > > On Mon, Feb 29, 2016 at 6:29 AM, Heiko Schocher <hs@denx.de> wrote: >> Hello Adam, >> >> Am 29.02.2016 um 12:53 schrieb Adam Ford: >>> >>> 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 <aford173@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(-) >> >> >> What has changed exactly in v2 ? >> >> Beside of this: >> Reviewed-by: Heiko Schocher <hs@denx.de> >> >> Thanks! >> >> bye, >> Heiko >> >>> >>> 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, >>> + .reg_offset = 0, >>> + .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, >>> + .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, >>> + .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) = { >>> >> >> -- >> DENX Software Engineering GmbH, Managing Director: Wolfgang Denk >> HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany >
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 <agraf@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 <aford173@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) = { > >
On Mon, Feb 29, 2016 at 03:31:35PM -0600, Adam Ford wrote: > 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. > The commit was reverted this morning. There is no need for a patch now. U-Boot 'master' has been updated. - Derald > adam > > On Mon, Feb 29, 2016 at 7:04 AM, Alexander Graf <agraf@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 <aford173@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) = { > > > >
On Mon, Feb 29, 2016 at 03:31:35PM -0600, Adam Ford wrote: > 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. So, for the moment, no rush. I reverted the dm commit for this release. > > adam > > On Mon, Feb 29, 2016 at 7:04 AM, Alexander Graf <agraf@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 <aford173@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
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, + .reg_offset = 0, + .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, + .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, + .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) = {
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 <aford173@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(-)