summaryrefslogtreecommitdiff
path: root/arch/sparc
Commit message (Collapse)AuthorAgeLines
* Use correct spelling of "U-Boot"Bin Meng2016-02-06-2/+2
| | | | | | | | | | Correct spelling of "U-Boot" shall be used in all written text (documentation, comments in source files etc.). Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Heiko Schocher <hs@denx.de> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Minkyu Kang <mk7.kang@samsung.com>
* sparc: Remove non-generic board init files: board.c, time.cFrancois Retief2015-12-03-662/+7
| | | | | | | Remove the board.c and time.c files and all associated non-generic board initialization code. Signed-off-by: Francois Retief <fgretief@spaceteq.co.za>
* sparc: leon3: Added busy wait function, made wait_ms() work when IRQ is disabledDaniel Hellstrom2015-12-03-2/+30
| | | | Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
* sparc: leon3: Added CPU count and frequency detection.Daniel Hellstrom2015-12-03-1/+58
| | | | Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
* sparc: Removed USB stop from linux bootm, arch-independent bootm stop USBDaniel Hellstrom2015-12-03-8/+0
| | | | Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
* sparc: Add CONFIG_DISPLAY_BOARDINFO variable to all LEON boardsFrancois Retief2015-12-03-0/+20
| | | | Signed-off-by: Francois Retief <fgretief@spaceteq.co.za>
* sparc: Update PROM initialization code for generic boardFrancois Retief2015-12-03-28/+32
| | | | | | | | | | Fixed the prom_relocate() function in start.S file by reserving memory in the board_init_f sequence and saving the offset to the __prom_start_reloc variable. This value is used as the destination when relocating the PROM. Add the prom_init() function to the end of the board_init_r sequence. Signed-off-by: Francois Retief <fgretief@spaceteq.co.za>
* sparc: Update cpu_init.c to use generic timer infrastructureFrancois Retief2015-12-03-74/+104
| | | | | | | | | | | Introduce the CONFIG_SYS_TIMER_* macros in include/asm/config.h to make use of the generic timer infrastructure in lib/time.c. Created a timer_init() function to initialize the timer hardware and update the #ifdef in board_init_f to allow this function to be called during the start-up sequence. Signed-off-by: Francois Retief <fgretief@spaceteq.co.za>
* sparc: leon2: Updates for generic board initializationFrancois Retief2015-12-03-75/+107
| | | | | | | | | | Reworked the LEON2 start.S code to call board_init_f function at startup. Also implemented the relocate_code function in assembly to relocate the monitor and setup the stack pointer before calling relocated board_init_r. Add the CONFIG_SYS_GENERIC_BOARD variable to all the LEON2 boards. Signed-off-by: Francois Retief <fgretief@spaceteq.co.za>
* sparc: leon3: Updates for generic board initializationFrancois Retief2015-12-03-116/+143
| | | | | | | | | | Reworked the LEON3 start.S code to call board_init_f function at startup. Also implemented the relocate_code function in assembly to relocate the monitor and setup the stack pointer before calling relocated board_init_r. Add the CONFIG_SYS_GENERIC_BOARD variable to all the LEON3 boards. Signed-off-by: Francois Retief <fgretief@spaceteq.co.za>
* sparc: leon3: Clear all unused GPTIMER registers.Daniel Hellstrom2015-12-03-1/+9
| | | | Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
* sparc: leon3: Move ambapp_bus_init() call to arch_cpu_init() functionFrancois Retief2015-12-03-5/+6
| | | | Signed-off-by: Francois Retief <fgretief@spaceteq.co.za>
* sparc: leon3: Move snoop detection from startup.S to arch_cpu_init()Francois Retief2015-12-03-21/+21
| | | | Signed-off-by: Francois Retief <fgretief@spaceteq.co.za>
* sparc: Initial ground work for generic board initializationFrancois Retief2015-12-03-25/+40
| | | | | | | Initial ground work in preperation for generic board initialization code for the SPARC architecture. Signed-off-by: Francois Retief <fgretief@spaceteq.co.za>
* sparc: Fix whitespace in cpu/leon2/cpu_init.cFrancois Retief2015-12-03-5/+5
| | | | Signed-off-by: Francois Retief <fgretief@spaceteq.co.za>
* sparc: leon3: Updated serial driver to use CONFIG_CONS_INDEXFrancois Retief2015-12-03-0/+5
| | | | | | | Updated the LEON3 serial driver to make use of the CONFIG_CONS_INDEX option to select which serial port the console will use. Signed-off-by: Francois Retief <fgretief@spaceteq.co.za>
* sparc: Serial baud rate register support multiple buses with different frequencyDaniel Hellstrom2015-12-03-4/+16
| | | | Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
* sparc: leon3: Clear GD_FLAG_SERIAL_READY flag on AMBA failureFrancois Retief2015-12-03-0/+1
| | | | | | | | Clear the GD_FLG_SERIAL_READY flag on AMBA P&P lookup failure so that the panic function can use DEBUG_UART driver. drivers/serial/serial.c set this flag before calling this function, preventing DEBUG_UART code from running. Signed-off-by: Francois Retief <fgretief@spaceteq.co.za>
* sparc: Added function that checks if IRQ is on or offDaniel Hellstrom2015-12-03-0/+10
| | | | Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
* sparc: Remove version_string variable from start.S fileFrancois Retief2015-12-03-21/+6
| | | | | | | Remove the version_string variable from start.S file. A weak variable is also set in the cmd_version.c file. No need for architecture override. Signed-off-by: Francois Retief <fgretief@spaceteq.co.za>
* sparc: Move SYS_SPARC_NWINDOWS to KconfigFrancois Retief2015-12-03-0/+14
| | | | Signed-off-by: Francois Retief <fgretief@spaceteq.co.za>
* Move console definitions into a new console.h fileSimon Glass2015-11-19-0/+1
| | | | | | | | The console includes a global variable and several functions that are only used by a small subset of U-Boot files. Before adding more functions, move the definitions into their own header file. Signed-off-by: Simon Glass <sjg@chromium.org>
* sparc: leon3: Add debug_uart support to LEON3 serial driver.Francois Retief2015-11-13-2/+30
| | | | Signed-off-by: Francois Retief <fgretief@spaceteq.co.za>
* sparc: ambapp: Removed warning and unnecessary printout.Daniel Hellstrom2015-11-13-1/+2
| | | | Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
* sparc: leon3: Moved GRLIB core header files to common include/grlib directoryDaniel Hellstrom2015-11-13-17/+20
| | | | Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
* sparc: leon3: Added memory controller initialization using new AMBA PnP ↵Daniel Hellstrom2015-11-13-2/+621
| | | | | | routines. Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
* sparc: leon3: Reimplemented AMBA Plug&Play scanning routines.Daniel Hellstrom2015-11-13-415/+1225
| | | | Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
* sparc: Update startup code to take PIC mode into accountFrancois Retief2015-11-13-38/+82
| | | | Signed-off-by: Francois Retief <fgretief@spaceteq.co.za>
* sparc: Update LEON serial drivers to use readl/writel macrosFrancois Retief2015-11-13-138/+157
| | | | | | | | | | | | | | Update the LEON2/3 serial driver to make use of the readl and writel macros as well as the WATCHDOG_RESET() macro. Add readl/writel and friends to the asm/io.h file. Introduce the gd->arch.uart variable to store register address. Lastly, remove baudrate scaler macro variables from board config. It is now calculated in the serial driver using the global data variable. Signed-off-by: Francois Retief <fgretief@spaceteq.co.za>
* sparc: Add -mcpu= compiler flags for LEON2/LEON3Francois Retief2015-11-13-4/+10
| | | | Signed-off-by: Francois Retief <fgretief@spaceteq.co.za>
* sparc: Fix broken files during license changesFrancois Retief2015-11-13-130/+0
| | | | | | | | | | | | | | | | | | | | | Fixes broken search and replaced license changes in files cpu/leon3/start.S and include/asm/winmacro.h from commit 1a4596601fd395f3afb8f82f3f840c5e00bdd57a Signed-off-by: Francois Retief <fgretief@spaceteq.co.za> Series-to: u-boot Series-cc: Tom Rini <trini@konsulko.com> Series-version: 2 Cover-letter: sparc: Updates to SPARC architecture in preperation for generic board This patch series is a backlog of preparation work for upcomming generic board changes. I first want to get these reviewed and submitted to mainline before sending out more patches. END
* Replace "extern inline" with "static inline"Måns Rullgård2015-11-09-20/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | A number of headers define functions as "extern inline" which is causing problems with gcc5. The reason is that starting with version 5.1, gcc defaults to the standard C99 semantics for the inline keyword. Under the traditional GNU inline semantics, an "extern inline" function would never create an external definition, the same as inline *without* extern in C99. In C99, and "extern inline" definition is simply an external definition with an inline hint. In short, the meanings of inline with and without extern are swapped between GNU and C99. The upshot is that all these definitions in header files create an external definition wherever those headers are included, resulting in multiple definition errors at link time. Changing all these functions to "static inline" fixes the problem since this works as desired in all gcc versions. Although the semantics are slightly different (a static inline definition may result in an actual function being emitted), it works as intended in practice. This patch also removes extern prototype declarations for the changed functions where they existed. Signed-off-by: Mans Rullgard <mans@mansr.com>
* sparc: Use the generic bitops headersFabio Estevam2015-11-05-0/+5
| | | | | | | | The generic bitops headers are required when calling logarithmic functions, such as ilog2(). Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> Reviewed-by: Jagan Teki <jteki@openedev.com>
* arch: Make board selection choices optionalJoe Hershberger2015-05-12-0/+1
| | | | | | | | | | | | By making the board selections optional, every defconfig will include the board selection when running savedefconfig so if a new board is added to the top of the list of choices the former top's defconfig will still be correct. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Cc: Masahiro Yamada <yamada.masahiro@socionext.com> Acked-by: Stephen Warren <swarren@wwwdotorg.org> Cc: Tom Rini <trini@konsulko.com>
* net: Remove the bd* parameter from net stack functionsJoe Hershberger2015-04-18-1/+1
| | | | | | | | | | | | | This value is not used by the network stack and is available in the global data, so stop passing it around. For the one legacy function that still expects it (init op on old Ethernet drivers) pass in the global pointer version directly to avoid changing that interface. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Reported-by: Simon Glass <sjg@chromium.org> Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Simon Glass <sjg@chromium.org> (Trival fix to remove an unneeded variable declaration in 4xx_enet.c)
* Kbuild: introduce Makefile in arch/$ARCH/Daniel Schwierzeck2014-12-08-0/+8
| | | | | | | | | | | | | | | Introduce a Makefile under arch/$ARCH/ and include it in the top Makefile (similar to Linux kernel). This allows further refactoringi like moving architecture-specific code out of global makefiles, deprecating config variables (CPU, CPUDIR, SOC) or deprecating arch/$ARCH/config.mk. In contrary to Linux kernel, U-Boot defines the ARCH variable by Kconfig, thus the arch Makefile can only included conditionally after the top config.mk. Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com> Acked-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
* sparc: merge CONFIG_SYS_CPU and CONFIG_SYS_VENDOR definesMasahiro Yamada2014-11-04-3/+10
| | | | | | | For now, all the SPARC boards in U-Boot are provided by Gaisler. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> Cc: Daniel Hellstrom <daniel@gaisler.com>
* sparc: merge arch/sparc/cpu/*/config.mk to arch/sparc/config.mkMasahiro Yamada2014-11-04-16/+2
| | | | | | | | Remove arch/sparc/cpu/{leon2,leon3}/config.mk and move duplicated defines of -fPIC to arch/sparc/config.mk. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> Cc: Daniel Hellstrom <daniel@gaisler.com>
* sparc: move CONFIG_{LEON, LEON2, LEON3} to KconfigMasahiro Yamada2014-11-04-4/+16
| | | | | Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> Cc: Daniel Hellstrom <daniel@gaisler.com>
* sparc: Use nicer prompt for board select menuMasahiro Yamada2014-11-04-6/+10
| | | | | | | | | | | The Board names in the board select menu were simply taken from the board directory name by a conversion tool when switching to Kconfig. Let's use more descriptive prompts taken from include/configs/gr*.h and board/gaisler/*/config.mk. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> Cc: Daniel Hellstrom <daniel@gaisler.com>
* kconfig: remove redundant "string" type in arch and board KconfigsMasahiro Yamada2014-09-13-1/+0
| | | | | | | | | | | | | | | | | | Now the types of CONFIG_SYS_{ARCH, CPU, SOC, VENDOR, BOARD, CONFIG_NAME} are specified in arch/Kconfig. We can delete the ones in arch and board Kconfig files. This commit can be easily reproduced by the following command: find . -name Kconfig -a ! -path ./arch/Kconfig | xargs sed -i -e ' /config[[:space:]]SYS_\(ARCH\|CPU\|SOC\|\VENDOR\|BOARD\|CONFIG_NAME\)/ { N s/\n[[:space:]]*string// } ' Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
* kconfig: delete redundant CONFIG_${ARCH} definitionMasahiro Yamada2014-07-30-1/+1
| | | | | | | CONFIG_${ARCH} is defined by Kconfig. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* kconfig: add board Kconfig and defconfig filesMasahiro Yamada2014-07-30-0/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds: - arch/${ARCH}/Kconfig provide a menu to select target boards - board/${VENDOR}/${BOARD}/Kconfig or board/${BOARD}/Kconfig set CONFIG macros to the appropriate values for each board - configs/${TARGET_BOARD}_defconfig default setting of each board (This commit was automatically generated by a conversion script based on boards.cfg) In Linux Kernel, defconfig files are located under arch/${ARCH}/configs/ directory. It works in Linux Kernel since ARCH is always given from the command line for cross compile. But in U-Boot, ARCH is not given from the command line. Which means we cannot know ARCH until the board configuration is done. That is why all the "*_defconfig" files should be gathered into a single directory ./configs/. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> Acked-by: Simon Glass <sjg@chromium.org>
* sparc: merge LEON2 and LEON3 linker scriptsMasahiro Yamada2014-07-22-4/+2
| | | | | | | | | | | | | | | | | | There is only one line diff between LEON2 and LEON3 linker scripts: - arch/sparc/cpu/leon2/start.o (.text) + arch/sparc/cpu/leon3/start.o (.text) They can be written in the same way: */start.o (.text) So, board/gaisler/grsim_leon2/u-boot.lds and arch/sparc/cpu/leon3/u-boot.lds can be merged into arch/sparc/cpu/u-boot.lds. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> Cc: Daniel Hellstrom <daniel@gaisler.com>
* sparc: merge LEON3 linker scriptsMasahiro Yamada2014-07-22-0/+144
| | | | | | | | | | | | | | | | The linker scripts of LEON3 - board/gaisler/grsim/u-boot.lds - board/gaisler/gr_cpci_ax2000/u-boot.lds - board/gaisler/gr_ep2s60/u-boot.lds - board/gaisler/gr_xc3s_1500/u-boot.lds are the same (except cosmetic differences such as indentation). This commit merges them into arch/sparc/cpu/leon3/u-boot.lds. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> Cc: Daniel Hellstrom <daniel@gaisler.com>
* bd_info: remove bi_barudrate member from struct bd_infoMasahiro Yamada2014-05-12-2/+0
| | | | | | | | | | | | | | | | | gd->bd->bi_baudrate is a copy of gd->baudrate. Since baudrate is a common feature for all architectures, keep gd->baudrate only. It is true that bi_baudrate was passed to the kernel in that structure but it was a long time ago. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> Cc: Tom Rini <trini@ti.com> Cc: Simon Glass <sjg@chromium.org> Cc: Wolfgang Denk <wd@denx.de> Cc: Heiko Schocher <hs@denx.de> Acked-by: Michal Simek <monstr@monstr.eu> (For microblaze)
* leon: implement missing get_tbclk()Daniel Hellstrom2014-05-08-0/+10
| | | | | | | Without this patch SPARC/LEON does not build. Reported-by: Tom Rini <trini@ti.com> Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
* leon: use CONFIG_SYS_HZ to config timer prescalerDaniel Hellstrom2014-05-08-16/+18
| | | | | | Before it was hardcoded to 1000 ticks per second. Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
* sparc: consolidate CONFIG_{LEON, LEON2, LEON3} definitionMasahiro Yamada2014-03-21-2/+2
| | | | | | | | | | | | | | | CONFIG_LEON is already defined in arch/sparc/cpu/{leon2,leon3}/config.mk. Remove the redundant definition in board header files. All leon3 boards define CONFIG_LEON3 in board header files. Move the definition to arch/sparc/cpu/leon3/config.mk. CONFIG_LEON2 can be move to arch/sparc/cpu/leon2/config.mk as well. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> Cc: Daniel Hellstrom <daniel@gaisler.com>
* usb: create common header virtual root hub descriptorsStephen Warren2014-03-10-104/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Many USB host controller drivers contain almost identical copies of the same virtual root hub descriptors. Put these into a common file to avoid duplication. Note that there were some very minor differences between the descriptors in the various files, such as: - USB 1.0 vs. USB 1.1 - Manufacturer/Device ID - Max packet size - String content I assume these aren't relevant. Cc: Thomas Lange <thomas@corelatus.se> Cc: Shinya Kuribayashi <skuribay@pobox.com> Cc: Gary Jennejohn <garyj@denx.de> Cc: Wolfgang Denk <wd@denx.de> Cc: Eric Millbrandt <emillbrandt@coldhaus.com> Cc: Pierre Aubert <p.aubert@staubli.com> Cc: Stefan Roese <sr@denx.de> Cc: Daniel Hellstrom <daniel@gaisler.com> Cc: Denis Peter <d.peter@mpl.ch> Cc: Rodolfo Giometti <giometti@linux.it> Cc: Zhang Wei <wei.zhang@freescale.com> Cc: Mateusz Zalega <m.zalega@samsung.com> Cc: Remy Bohmer <linux@bohmer.net> Cc: Markus Klotzbuecher <mk@denx.de> Cc: Minkyu Kang <mk7.kang@samsung.com> Cc: Gary Jennejohn <garyj@denx.de> Cc: C Nauman <cnauman@diagraph.com> Cc: David Müller <d.mueller@elsoft.ch> Cc: Yoshihiro Shimoda <shimoda.yoshihiro@renesas.com> Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org> Cc: Thomas Abraham <t-abraham@ti.com> Cc: Tom Rini <trini@ti.com> Cc: Andrew Murray <amurray@embedded-bits.co.uk> Cc: Matej Frančeškin <matej.franceskin@comtrade.com> Cc: Cliff Cai <cliff.cai@analog.com> Cc: Bryan Wu <cooloney@gmail.com> Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>