[Arm-netbook] Early UART output vs. housing board discovery

Jonathan Neuschäfer j.neuschaefer at gmx.net
Wed Jan 17 00:31:22 GMT 2018


Ok, back to the question of how to improve the standard and reduce
ambiguity.

On Tue, Jan 09, 2018 at 11:22:57PM +0100, Jonathan Neuschäfer wrote:
> Hi,
> 
> what follows are a few questions/remarks/misunderstandings regarding the
> UART pins during early boot.
> 
> In the EOMA68 specification, the section "Start-up procedure"[1]
> specifies that "It is required that all pins be disabled (floating
> tri-state) with the exception of the I2C Bus, the 5.0v Power and the
> Ground Pins.", which would mean that *any software* running on a CPU
> card is required to check the housing board's EEPROM before it may
> output any data on the UART, if I read it correctly.

No need to change this, because it's correct.

> The section "Requirements for UART"[2], however, states: "As this
> problem is to be taken care of on the I/O Board[3] it is worth observing
> that CPU Cards do not require UART buffering.", suggesting that the
> "Start-up procedure" section simply left out UART as one of the
> interfaces that do not need to be tri-stated by mistake.
> 
> But I am unclear about the part "CPU Cards do not require UART buffering":
> - Does it mean that CPU cards do not require the housing board to
>   perform UART buffering, because they do it themselves?
> - Or does it mean that CPU cards are not required to perform UART
>   buffering?

I suggest changing this passage:

	"As this problem is to be taken care of on the I/O Board it is
	worth observing that CPU Cards do not require UART buffering.
	They may however require level shifting:"

To this:

	"As this problem is to be taken care of on the Housing Board it
	is worth observing that CPU Cards don't need to perform UART
	buffering. They may however need to perform level shifting:"

... or something like that.

Furthermore, it would be useful if the diagram below that had labels for
the CPU Card and the Housing board (*). Older versions of the diagram
show that the circuit on the left is part of the Housing and the box on
the right is the CPU Card, but it's not instantaneously obvious in the
current version.

(*) https://elinux.org/File:EOMA68-UART-RX-PROTECT.gif

> [1]: https://elinux.org/Embedded_Open_Modular_Architecture/EOMA68/Hardware#Start-up_procedure
> [2]: https://elinux.org/Embedded_Open_Modular_Architecture/EOMA68/Hardware#Requirements_for_UART
> [3]: As a side-note, the term "I/O Board" is a little bit unclear to me:
>      Both CPU cards/boards and housing boards perform I/O. I figured
>      that "I/O board" means "housing board", but I (personally) think
>      the spec would be clearer if it talked about "housings" or "housing
>      boards" in the first place.

What do you (LKCL) think about changing all instances of "I/O board" in
the standard to "housing board", or perhaps "Housing Board", to reflect
that Housing is defined in the terms section?

(Unfortunately this won't be as easy as "sed" and "git commit", because
the EOMA68 standard isn't maintained in Git :/.)


Thanks,
Jonathan Neuschäfer


More information about the arm-netbook mailing list