[PATCH 1/1] zynq-uart: Fix set_attributes implementation
Chris Johns
chrisj at rtems.org
Tue Feb 9 23:42:14 UTC 2021
On 10/2/21 10:21 am, Joel Sherrill wrote:
> On Tue, Feb 9, 2021 at 5:08 PM Chris Johns <chrisj at rtems.org
> <mailto:chrisj at rtems.org>> wrote:
>
> On 9/2/21 11:42 pm, Jan Sommer wrote:
> > From: Kinsey Moore <kinsey.moore at oarcorp.com
> <mailto:kinsey.moore at oarcorp.com>>
> >
> > The zynq-uart set_attributes implementation was configured to always
> > return false which causes spconsole01 to fail. This restores the
> > disabled implementation which sets the baud rate registers
> > appropriately and allows spconsole01 to pass. This also expands the
> > set_attributes functionality to allow setting of the stop bits,
> > character width, and parity.
>
> Hmmm I missed this change.
>
> Sebastian changed the Zynq driver to return an error. Returning an error is
> correct because the attributes are not being set however we have a couple of
> design approaches clashing.
>
> The issue pulls right back to the Xilinx SystemZ design dialogue box. The
> hardware designer has the ability to set the serial port defaults. These
> settings form part of the ps7init data the FSBL paints into the hardware very
> early in the boot process. Also in this data are parallel port pin settings, AXI
> clocks, memory and more so lots of important stuff. The Xilinx bootloader and
> ones I have created (I do not know about uboot) do not touch the UART hardware
> on purpose so the system designer has control. Then in 2017 Sebastian pushed a
> change to force the baudrate to a BSP specific default.
>
> This is normally all OK because all Zynq designs I know of use the default of
> 115200,8,n,1 for the configuration. A problem arises when these defaults are
> varied.
>
> Maybe something explaining this in the user manual ...
>
> https://docs.rtems.org/branches/master/user/bsps/bsps-arm.html#xilinx-zynq
> <https://docs.rtems.org/branches/master/user/bsps/bsps-arm.html#xilinx-zynq>
>
> so we have provided information on what to change?
>
>
> I wonder if there should be a configuration parameter for the default settings.
> At least "don't override the defaults"
I am not sure this is worth the effort. Personally I cannot see any reason
anyone would move away from 115200. All designs I have see use the eval board's
USB serial interface so 115200 is easy to support.
I think a small fragment of user doco will work.
> The other approach is not to touch the defaults in hardware and allow a get
> attributes to discover them? Does termios drivers have a low level get? I can
> see a set but no get in the zynq uart driver.
>
> No. This reflects termios from the POSIX perspective.
Ah well that rules that option out.
Chris
More information about the devel
mailing list