All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] [Question] Driver-Model UART on NOR-boot ?  Work?
@ 2014-10-01 11:23 Masahiro Yamada
  2014-10-01 15:31 ` Simon Glass
  0 siblings, 1 reply; 6+ messages in thread
From: Masahiro Yamada @ 2014-10-01 11:23 UTC (permalink / raw)
  To: u-boot

Hi Simon,



I am looking at the driver-model serial code.


I notice driver-model serial code uses ".data" section
for storing the current device even before relocation.


This code in drivers/serial/serial-uclass.c:

  /* The currently-selected console serial device */
  struct udevice *cur_dev __attribute__ ((section(".data")));



In my understanding, we should not write any data to
.data section before relocation.


Let's say we are booting U-Boot from NOR flash.

Before relocation, everything (including .data section)
is placed on NOR flash which is read-only.
(Please point out if I am wrong.)

We are only allowed to write data to the stack, gd_t, bd_t
and malloc area (if CONFIG_SYS_MALLOC_F_LEN is defined)
before relocation, I think.



I think that is why pre-driver-model serial uses a hard-coded
default serial port before relocation.


  This code in driver/serial/serial.c:

     if (!(gd->flags & GD_FLG_RELOC))
                dev = default_serial_console();
     else if (!serial_current)
                dev = default_serial_console();
     else
                dev = serial_current;




My question is,  does printf() work
with driver-model UART and XIP device such NOR flash?




Best Regards
Masahiro Yamada

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2014-10-04  2:19 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-10-01 11:23 [U-Boot] [Question] Driver-Model UART on NOR-boot ? Work? Masahiro Yamada
2014-10-01 15:31 ` Simon Glass
2014-10-01 16:27   ` Masahiro YAMADA
2014-10-01 23:43     ` Simon Glass
2014-10-02  5:18       ` Masahiro Yamada
2014-10-04  2:19         ` Simon Glass

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.