From: Stephen Warren <swarren@wwwdotorg.org>
To: u-boot@lists.denx.de
Subject: [U-Boot] [U-Boot,v3,09/13] ns16550: unify serial_tegra
Date: Thu, 3 Dec 2015 15:55:44 -0700 [thread overview]
Message-ID: <5660C870.9030607@wwwdotorg.org> (raw)
In-Reply-To: <CAPnjgZ3Feq9t2Ke2VfBwRi_so+9fR0n=bufHBp93OkZ1qhDB=w@mail.gmail.com>
On 12/03/2015 02:43 PM, Simon Glass wrote:
> Hi Stephen,
>
> On 3 December 2015 at 14:33, Stephen Warren <swarren@wwwdotorg.org> wrote:
>> On 11/22/2015 08:53 AM, Tom Rini wrote:
>>>
>>> On Thu, Nov 19, 2015 at 09:48:11PM +0800, Thomas Chou wrote:
>>>
>>>> Unify serial_tegra, and use the generic binding.
>>>>
>>>> Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
>>>> Reviewed-by: Tom Rini <trini@konsulko.com>
>>>> Acked-by: Simon Glass <sjg@chromium.org>
>>>
>>>
>>> Applied to u-boot/master, thanks!
>>
>>
>> FYI, this patch causes at least Jetson TK1 to immediately reset at boot
>> time. I imagine this affects all Tegra boards, at least those that use SPL
>> or those that are ARMv7; my p2371-2180 Jetson TX1 ARMv8 board which doesn't
>> use SPL seems to still work.
>>
>> I guess I'll see if I can pin-point the problem, unless you can spot an
>> obvious typo or something like that.
>>
>> Reported-by: Kevin Hilman <khilman@linaro.org>
>> (Bisected by me)
>
> Unfortunately I didn't test this patch.
>
> Things to check:
> - for SPL, that the platform data is available somewhere
> - clock-frequency and reg-shift are in the device tree
The patch below appears to solve the problem. Any ideas how to fix this
cleanly? I don't think we want to introduce a CONFIG_SPL_xxx for every
CONFIG_xxx, yet CONFIG_IS_ENABLED() (e.g. used around
arch/arm/mach-tegra/board.c's U_BOOT_DEVICE(ns16550_com1) definition)
seems to require this.
Unfortunately, the patch doesn't revert cleanly, or at least would
require other more recent patches to be reverted first.
Also, while debugging this I found that U-Boot force-probes any device
referenced by /chosen/stdout-path even if the DT node is disabled; yet
more fundamental incorrect DT processing:-( That's why the patch below
only affects SPL. More fixes to actually enable the serial port in DT
should be required.
diff --git a/arch/arm/mach-tegra/Kconfig b/arch/arm/mach-tegra/Kconfig
index fbfb204e6ec8..15609e7dc773 100644
--- a/arch/arm/mach-tegra/Kconfig
+++ b/arch/arm/mach-tegra/Kconfig
@@ -1,5 +1,8 @@
if TEGRA
+config SPL_DM_SERIAL
+ bool "Fix build"
+
config TEGRA_COMMON
bool "Tegra common options"
select DM
@@ -12,6 +15,7 @@ config TEGRA_COMMON
select DM_SPI
select DM_SPI_FLASH
select OF_CONTROL
+ select SPL_DM_SERIAL
config TEGRA_ARMV7_COMMON
bool "Tegra 32-bit common options"
diff --git a/drivers/serial/ns16550.c b/drivers/serial/ns16550.c
index 166deabcd436..256c7eafd76e 100644
--- a/drivers/serial/ns16550.c
+++ b/drivers/serial/ns16550.c
@@ -451,5 +451,6 @@ U_BOOT_DRIVER(ns16550_serial) = {
.priv_auto_alloc_size = sizeof(struct NS16550),
.probe = ns16550_serial_probe,
.ops = &ns16550_serial_ops,
+ .flags = DM_FLAG_PRE_RELOC,
};
#endif /* CONFIG_DM_SERIAL */
next prev parent reply other threads:[~2015-12-03 22:55 UTC|newest]
Thread overview: 112+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-11-16 14:36 [U-Boot] [PATCH 00/12] ns16550: add generic binding to unify the drivers Thomas Chou
2015-11-16 14:36 ` [U-Boot] [PATCH 01/12] debug_uart: restore ns16550 as default Thomas Chou
2015-11-16 18:22 ` Tom Rini
2015-11-18 0:51 ` Bin Meng
2015-11-18 1:53 ` Thomas Chou
2015-11-16 14:36 ` [U-Boot] [PATCH 02/12] arc: add mapping between physical and virtual address Thomas Chou
2015-11-17 0:18 ` Thomas Chou
2015-11-16 14:36 ` [U-Boot] [PATCH 03/12] ns16550: change map_sysmem to map_physmem Thomas Chou
2015-11-16 21:08 ` Simon Glass
2015-11-17 0:12 ` Thomas Chou
2015-11-16 14:36 ` [U-Boot] [PATCH 04/12] ns16550: add generic binding to unify the drivers Thomas Chou
2015-11-16 18:22 ` Tom Rini
2015-11-18 1:03 ` Bin Meng
2015-11-18 1:59 ` Thomas Chou
2015-11-16 14:36 ` [U-Boot] [PATCH 05/12] ns16550: unify serial_x86 Thomas Chou
2015-11-16 18:22 ` Tom Rini
2015-11-18 1:07 ` Bin Meng
2015-11-18 2:02 ` Thomas Chou
2015-11-16 14:36 ` [U-Boot] [PATCH 06/12] ns16550: unify serial_ppc Thomas Chou
2015-11-16 18:22 ` Tom Rini
2015-11-16 14:36 ` [U-Boot] [PATCH 07/12] ns16550: unify serial_rockchip Thomas Chou
2015-11-16 18:22 ` Tom Rini
2015-11-17 0:35 ` Thomas Chou
2015-11-18 14:05 ` Ariel D'Alessandro
2015-11-16 14:36 ` [U-Boot] [PATCH 08/12] ns16550: unify serial_keystone Thomas Chou
2015-11-16 18:22 ` Tom Rini
2015-11-16 14:36 ` [U-Boot] [PATCH 09/12] ns16550: unify serial_dw Thomas Chou
2015-11-16 18:22 ` Tom Rini
2015-11-16 14:36 ` [U-Boot] [PATCH 10/12] ns16550: unify serial_tegra Thomas Chou
2015-11-16 18:22 ` Tom Rini
2015-11-16 14:36 ` [U-Boot] [PATCH 11/12] ns16550: unify serial_omap Thomas Chou
2015-11-16 18:23 ` Tom Rini
2015-11-16 14:36 ` [U-Boot] [PATCH 12/12] nios2: 10m50: change to ns16550 uart Thomas Chou
2015-11-18 13:44 ` [U-Boot] [PATCH v2 00/13] ns16550: add generic binding to unify the drivers Thomas Chou
2015-11-18 13:44 ` [U-Boot] [PATCH v2 01/13] debug_uart: restore ns16550 as default Thomas Chou
2015-11-18 13:51 ` Bin Meng
2015-11-19 6:38 ` Heiko Schocher
2015-11-18 13:44 ` [U-Boot] [PATCH v2 02/13] ns16550: change map_sysmem to map_physmem Thomas Chou
2015-11-18 13:44 ` [U-Boot] [PATCH v2 03/13] ns16550: add generic binding to unify the drivers Thomas Chou
2015-11-18 13:55 ` Bin Meng
2015-11-19 6:39 ` Heiko Schocher
2015-11-18 13:44 ` [U-Boot] [PATCH v2 04/13] ns16550: unify serial_x86 Thomas Chou
2015-11-18 13:56 ` Bin Meng
2015-11-18 13:44 ` [U-Boot] [PATCH v2 05/13] ns16550: unify serial_ppc Thomas Chou
2015-11-18 13:44 ` [U-Boot] [PATCH v2 06/13] ns16550: unify serial_rockchip Thomas Chou
2015-11-18 13:44 ` [U-Boot] [PATCH v2 07/13] ns16550: unify serial_keystone Thomas Chou
2015-11-18 13:44 ` [U-Boot] [PATCH v2 08/13] ns16550: unify serial_dw Thomas Chou
2015-11-18 13:44 ` [U-Boot] [PATCH v2 09/13] ns16550: unify serial_tegra Thomas Chou
2015-11-18 13:44 ` [U-Boot] [PATCH v2 10/13] ns16550: unify serial_omap Thomas Chou
2015-11-18 13:44 ` [U-Boot] [PATCH v2 11/13] ns16550: zap CONFIG_NS16550_SERIAL Thomas Chou
2015-11-18 14:09 ` Bin Meng
2015-11-18 14:36 ` Thomas Chou
2015-11-19 7:17 ` Bin Meng
2015-11-18 13:44 ` [U-Boot] [PATCH v2 12/13] ns16550: move CONFIG_SYS_NS16550 to Kconfig Thomas Chou
2015-11-18 13:44 ` [U-Boot] [PATCH v2 13/13] nios2: 10m50: change to ns16550 uart Thomas Chou
2015-11-19 13:48 ` [U-Boot] [PATCH v3 00/13] ns16550: add generic binding to unify the drivers Thomas Chou
2015-11-19 13:48 ` [U-Boot] [PATCH v3 01/13] debug_uart: restore ns16550 as default Thomas Chou
2015-11-19 20:05 ` Simon Glass
2015-11-22 15:52 ` [U-Boot] [U-Boot, v3, " Tom Rini
2015-11-19 13:48 ` [U-Boot] [PATCH v3 02/13] ns16550: change map_sysmem to map_physmem Thomas Chou
2015-11-19 20:05 ` Simon Glass
2015-11-22 15:52 ` [U-Boot] [U-Boot, v3, " Tom Rini
2015-11-19 13:48 ` [U-Boot] [PATCH v3 03/13] ns16550: add generic binding to unify the drivers Thomas Chou
2015-11-19 20:34 ` Simon Glass
2015-11-22 15:52 ` [U-Boot] [U-Boot, v3, " Tom Rini
2015-11-19 13:48 ` [U-Boot] [PATCH v3 04/13] ns16550: unify serial_x86 Thomas Chou
2015-11-20 17:18 ` Simon Glass
2015-11-22 15:52 ` [U-Boot] [U-Boot,v3,04/13] " Tom Rini
2015-11-19 13:48 ` [U-Boot] [PATCH v3 05/13] ns16550: unify serial_ppc Thomas Chou
2015-11-20 17:18 ` Simon Glass
2015-11-21 0:19 ` Thomas Chou
2015-11-21 0:27 ` Simon Glass
2015-11-21 2:39 ` Thomas Chou
2015-11-21 15:22 ` Tom Rini
2015-11-21 16:10 ` Simon Glass
2015-11-22 2:50 ` Tom Rini
2015-11-22 15:52 ` [U-Boot] [U-Boot,v3,05/13] " Tom Rini
2015-11-19 13:48 ` [U-Boot] [PATCH v3 06/13] ns16550: unify serial_rockchip Thomas Chou
2015-11-20 17:18 ` Simon Glass
2015-11-22 15:52 ` [U-Boot] [U-Boot,v3,06/13] " Tom Rini
2015-11-19 13:48 ` [U-Boot] [PATCH v3 07/13] ns16550: unify serial_keystone Thomas Chou
2015-11-20 17:18 ` Simon Glass
2015-11-22 15:52 ` [U-Boot] [U-Boot,v3,07/13] " Tom Rini
2015-11-19 13:48 ` [U-Boot] [PATCH v3 08/13] ns16550: unify serial_dw Thomas Chou
2015-11-20 17:18 ` Simon Glass
2015-11-22 15:53 ` [U-Boot] [U-Boot,v3,08/13] " Tom Rini
2015-11-19 13:48 ` [U-Boot] [PATCH v3 09/13] ns16550: unify serial_tegra Thomas Chou
2015-11-20 17:18 ` Simon Glass
2015-11-22 15:53 ` [U-Boot] [U-Boot,v3,09/13] " Tom Rini
2015-12-03 21:33 ` Stephen Warren
2015-12-03 21:43 ` Simon Glass
2015-12-03 22:55 ` Stephen Warren [this message]
2015-12-04 13:59 ` Thomas Chou
2015-12-04 14:10 ` Yegor Yefremov
2015-12-04 15:09 ` Tom Rini
2015-12-04 15:52 ` Simon Glass
2015-11-19 13:48 ` [U-Boot] [PATCH v3 10/13] ns16550: unify serial_omap Thomas Chou
2015-11-20 17:18 ` Simon Glass
2015-11-22 15:53 ` [U-Boot] [U-Boot,v3,10/13] " Tom Rini
2015-11-19 13:48 ` [U-Boot] [PATCH v3 11/13] ns16550: zap CONFIG_NS16550_SERIAL Thomas Chou
2015-11-20 17:18 ` Simon Glass
2015-11-22 15:53 ` [U-Boot] [U-Boot,v3,11/13] " Tom Rini
2015-11-19 13:48 ` [U-Boot] [PATCH v3 12/13] ns16550: move CONFIG_SYS_NS16550 to Kconfig Thomas Chou
2015-11-20 17:18 ` Simon Glass
2015-11-21 0:24 ` Thomas Chou
2015-11-21 0:27 ` Simon Glass
2015-11-21 0:44 ` Thomas Chou
2015-11-21 1:56 ` Tom Rini
2015-11-22 15:53 ` [U-Boot] [U-Boot, v3, " Tom Rini
2015-11-19 13:48 ` [U-Boot] [PATCH v3 13/13] nios2: 10m50: change to ns16550 uart Thomas Chou
2015-11-20 17:18 ` Simon Glass
2015-11-22 15:53 ` [U-Boot] [U-Boot, v3, " Tom Rini
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5660C870.9030607@wwwdotorg.org \
--to=swarren@wwwdotorg.org \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.