History log of /haiku/src/system/boot/platform/u-boot/serial.cpp
Revision Date Author Comments
# 9642f770 31-Jul-2018 Alexander von Gluck IV <kallisti5@unixzen.com>

arch: Cleanup of __ARM__ checks

* gcc 7.x defines __arm__ and __ARM__ (and others)
* clang defines __arm__ and __arm
* cleanup a few related ifdef vs if macros

Change-Id: I5da4bafac590f6fa3e10e543688001c2449f840d


# e40cea64 09-Jul-2017 Alexander von Gluck IV <kallisti5@unixzen.com>

u-boot/arm: Initial steps to drop target board requirements


# c6a4fee5 28-Mar-2015 Alexander von Gluck IV <kallisti5@unixzen.com>

loader/u-boot: Use FDT serial info to create uart

* drop my fdt tests
* we have to call fdt parsing code *after* cpu_init (why?)
* pass fdt pointer to all FDT support calls to avoid confusion
once we get into the kernel land
* look for PL011 compatible uart and use it
* Add some saftey checks to serial putc code to avoid null*
* fdt_node_check_compatible returns 0 on success not 1
* fdt_get_device_reg needs to add the SOC base to the result
* fdt_get_device_reg might need to add the second range cell
instead of reg?


# ed9a0b70 07-Mar-2015 Alexander von Gluck IV <kallisti5@unixzen.com>

u-boot/serial: Only reference pl011 on ARM

* This will likely change once we FDT.


# deb4929b 07-Mar-2015 Alexander von Gluck IV <kallisti5@unixzen.com>

rpi1/rpi2: Use PL011 UART fallback in loader.

* Adjust UART base locations to reflect ARM pref base.
* We have a working haiku_loader_u-boot on Raspberry Pi 2!:q


# 0c65f35f 09-Sep-2014 PulkoMandy <pulkomandy@pulkomandy.tk>

u-boot: sync console implementation from raspberry port

* VT100 is much more common than VT52 which the u-boot port was
previously using (a legacy of the Atari m68k port)
* Implement serial_getc (again, code is identical to raspberry port...)
so the boot menu can be used over the serial port. The enter key is
recognized, arrows currently aren't.


# 2e27c020 20-Apr-2013 François Revol <revol@free.fr>

U-Boot: Factor-out debug UART setup from FDT for kernel use


# 0f8e6ba4 20-Apr-2013 François Revol <revol@free.fr>

Typo


# ef7bb168 01-Jan-2013 François Revol <revol@free.fr>

U-Boot: fix warnings


# 9b8ce8c4 24-Aug-2012 François Revol <revol@free.fr>

U-Boot: initialize the debug UART using FDT hints when possible

* we first try to find 'serial', 'serial0' or 'serial1' in /aliases
* extract the required properties from the found node and use them
* fallback to the hardcoded UART from the board definition header

(cherry picked from my sam460ex branch)


# 74eeabe4 24-Aug-2012 François Revol <revol@free.fr>

U-Boot: initialize the debug UART using FDT hints when possible

* we first try to find 'serial', 'serial0' or 'serial1' in /aliases
* extract the required properties from the found node and use them
* fallback to the hardcoded UART from the board definition header


# 62d36f98 22-Jun-2012 Alex Smith <alex@alex-smith.me.uk>

Removed the addr_t conversion operators from FixedWidthPointer which makes comparison against NULL work properly.


# d8efc6ca 21-Jun-2012 Alex Smith <alex@alex-smith.me.uk>

Changes to kernel_args to make it identical for x86 and x86_64.

* Added a FixedWidthPointer template class which uses 64-bit storage to hold
a pointer. This is used in place of raw pointers in kernel_args.
* Added __attribute__((packed)) to kernel_args and all structures contained
within it. This is necessary due to different alignment behaviour for
32-bit and 64-bit compilation with GCC.
* With these changes, kernel_args will now come out the same size for both
the x86_64 kernel and the loader, excluding the preloaded_image structure
which has not yet been changed.
* Tested both an x86 GCC2 and GCC4 build, no problems caused by these changes.


# 1f675a7f 17-May-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

uart: Fix arm kernel build

* Make kernel use mmu_man's new UART code
* Remove no longer used uart.cpp / uart.h


# e9ec7a55 16-May-2012 François Revol <revol@free.fr>

Attempt to factor out serial stuff

* introduce a DebugUART baseclass,
* rework 8250 and PL011 implementations from kallisti5 to inherit DebutUART,
* each arch should override the IO methods to access registers.
* on ARM registers are 32bit-aligned.
* U-Boot still works for the verdex target.
* rPi still compiles, needs testing.
* Still some more consolidation needed to allow runtime choice of the UART type (as read from FDT blobs for ex.).
* serial.cpp should probably mostly be made generic as well.
* didn't touch x86 or ppc yet.


# 565039c1 15-May-2012 François Revol <revol@free.fr>

Fix serial output for U-Boot code

* use a static buffer for allocation, as the heap isn't yet working.


# 57a2ea0d 08-May-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

uart: Replace Init calls with Enable/Disable

* Enable/Disable makes more sense and matches
platform loader serial functions.
* Rework PL011 code after finding a PDF covering
the details of it.
* Rename UART global defines in loader to be more
exact about location


# 78004f16 08-May-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

arm uart: Convert new uart code to classes

* This makes things a little more flexible and
the interface to use the uarts cleaner.
* May want to make a generic Uart wrapper
class in uart.h / uart.cpp and call drivers
as needed from there.


# aa7d0707 06-May-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

arm uart: Rename getc/putc to getchar/getchar

* Avoid name collisions
* This uart stuff may work better as a class at
some point, however I didn't want to rock the
u-boot boat *too* much as I don't have the
hardware to test.


# 917e9be1 06-May-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

arm uart: Complete redesign of ARM uart code

* Add nested function wrappers to allow usage of other
uart drivers depending on board. We may want to use this
on other platforms at some point (haha, maybe)


# 658d387a 07-Aug-2009 François Revol <revol@free.fr>

[ARM]
- cleanup,
- add an uart_debug_port() to avoid using the #define in serial.cpp,
- use board_config defines in uart.c.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32201 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 20cbef82 27-Jul-2009 François Revol <revol@free.fr>

[GSoC] [ARM] Patch by Johannes Wischert.
Stubbed u-boot platform code. Mostly copied from other platforms.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31818 a95241bf-73f2-0310-859d-f6bbb57e9c96


# c6a4fee57959c986091fcd52f2096b28b98456e2 28-Mar-2015 Alexander von Gluck IV <kallisti5@unixzen.com>

loader/u-boot: Use FDT serial info to create uart

* drop my fdt tests
* we have to call fdt parsing code *after* cpu_init (why?)
* pass fdt pointer to all FDT support calls to avoid confusion
once we get into the kernel land
* look for PL011 compatible uart and use it
* Add some saftey checks to serial putc code to avoid null*
* fdt_node_check_compatible returns 0 on success not 1
* fdt_get_device_reg needs to add the SOC base to the result
* fdt_get_device_reg might need to add the second range cell
instead of reg?


# ed9a0b70f3546c64908646e4423a80968669cc84 07-Mar-2015 Alexander von Gluck IV <kallisti5@unixzen.com>

u-boot/serial: Only reference pl011 on ARM

* This will likely change once we FDT.


# deb4929b9aa59c3d3af2e920097895eb39e312b9 07-Mar-2015 Alexander von Gluck IV <kallisti5@unixzen.com>

rpi1/rpi2: Use PL011 UART fallback in loader.

* Adjust UART base locations to reflect ARM pref base.
* We have a working haiku_loader_u-boot on Raspberry Pi 2!:q


# 0c65f35f47abb22783d093bf0ac1453b96689a9e 09-Sep-2014 PulkoMandy <pulkomandy@pulkomandy.tk>

u-boot: sync console implementation from raspberry port

* VT100 is much more common than VT52 which the u-boot port was
previously using (a legacy of the Atari m68k port)
* Implement serial_getc (again, code is identical to raspberry port...)
so the boot menu can be used over the serial port. The enter key is
recognized, arrows currently aren't.


# 2e27c020cb5b3064b5d13fe044caa58cf94f0e84 20-Apr-2013 François Revol <revol@free.fr>

U-Boot: Factor-out debug UART setup from FDT for kernel use


# 0f8e6ba440c3bd10d40b793845ff38d446a6f24c 20-Apr-2013 François Revol <revol@free.fr>

Typo


# ef7bb168f77d9d3537cc0b08bedbe70d50c86924 01-Jan-2013 François Revol <revol@free.fr>

U-Boot: fix warnings


# 9b8ce8c462c53cbf9172c415f56a75ec406529dd 24-Aug-2012 François Revol <revol@free.fr>

U-Boot: initialize the debug UART using FDT hints when possible

* we first try to find 'serial', 'serial0' or 'serial1' in /aliases
* extract the required properties from the found node and use them
* fallback to the hardcoded UART from the board definition header

(cherry picked from my sam460ex branch)


# 74eeabe4a645ee37466160d824975cda4fe200b7 24-Aug-2012 François Revol <revol@free.fr>

U-Boot: initialize the debug UART using FDT hints when possible

* we first try to find 'serial', 'serial0' or 'serial1' in /aliases
* extract the required properties from the found node and use them
* fallback to the hardcoded UART from the board definition header


# 62d36f98331067e472188f6c020c2ccd808f48cf 22-Jun-2012 Alex Smith <alex@alex-smith.me.uk>

Removed the addr_t conversion operators from FixedWidthPointer which makes comparison against NULL work properly.


# d8efc6caf6babe278c48e8aa3277376fb68ff455 21-Jun-2012 Alex Smith <alex@alex-smith.me.uk>

Changes to kernel_args to make it identical for x86 and x86_64.

* Added a FixedWidthPointer template class which uses 64-bit storage to hold
a pointer. This is used in place of raw pointers in kernel_args.
* Added __attribute__((packed)) to kernel_args and all structures contained
within it. This is necessary due to different alignment behaviour for
32-bit and 64-bit compilation with GCC.
* With these changes, kernel_args will now come out the same size for both
the x86_64 kernel and the loader, excluding the preloaded_image structure
which has not yet been changed.
* Tested both an x86 GCC2 and GCC4 build, no problems caused by these changes.


# 1f675a7fcbc9a2a6177d22c279e6c923d763a6ee 17-May-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

uart: Fix arm kernel build

* Make kernel use mmu_man's new UART code
* Remove no longer used uart.cpp / uart.h


# e9ec7a55ddffa7a4f12eb8d425f43ec10c5ab258 16-May-2012 François Revol <revol@free.fr>

Attempt to factor out serial stuff

* introduce a DebugUART baseclass,
* rework 8250 and PL011 implementations from kallisti5 to inherit DebutUART,
* each arch should override the IO methods to access registers.
* on ARM registers are 32bit-aligned.
* U-Boot still works for the verdex target.
* rPi still compiles, needs testing.
* Still some more consolidation needed to allow runtime choice of the UART type (as read from FDT blobs for ex.).
* serial.cpp should probably mostly be made generic as well.
* didn't touch x86 or ppc yet.


# 565039c1499f2a6769a65460496275550be88e12 15-May-2012 François Revol <revol@free.fr>

Fix serial output for U-Boot code

* use a static buffer for allocation, as the heap isn't yet working.


# 57a2ea0d548205653ca3ae7dc4a649a4b1ae61b4 08-May-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

uart: Replace Init calls with Enable/Disable

* Enable/Disable makes more sense and matches
platform loader serial functions.
* Rework PL011 code after finding a PDF covering
the details of it.
* Rename UART global defines in loader to be more
exact about location


# 78004f1677f78808556a184a5bac9e112fe0165b 08-May-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

arm uart: Convert new uart code to classes

* This makes things a little more flexible and
the interface to use the uarts cleaner.
* May want to make a generic Uart wrapper
class in uart.h / uart.cpp and call drivers
as needed from there.


# aa7d070732908c3ae1d89dd71cefc6f11a719900 06-May-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

arm uart: Rename getc/putc to getchar/getchar

* Avoid name collisions
* This uart stuff may work better as a class at
some point, however I didn't want to rock the
u-boot boat *too* much as I don't have the
hardware to test.


# 917e9be1a62dd45937b68c61cf624197a6210261 06-May-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

arm uart: Complete redesign of ARM uart code

* Add nested function wrappers to allow usage of other
uart drivers depending on board. We may want to use this
on other platforms at some point (haha, maybe)


# 658d387ad5baa72dee3c775e6bef8215c9fe6ec8 07-Aug-2009 François Revol <revol@free.fr>

[ARM]
- cleanup,
- add an uart_debug_port() to avoid using the #define in serial.cpp,
- use board_config defines in uart.c.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32201 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 20cbef82a43cbb7eeeaac16c85f4de15bcf9ef47 27-Jul-2009 François Revol <revol@free.fr>

[GSoC] [ARM] Patch by Johannes Wischert.
Stubbed u-boot platform code. Mostly copied from other platforms.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31818 a95241bf-73f2-0310-859d-f6bbb57e9c96