summaryrefslogtreecommitdiff
path: root/board/broadcom
AgeCommit message (Collapse)Author
2022-09-23board_f: Fix types for board_get_usable_ram_top()Pali Rohár
Commit 37dc958947ed ("global_data.h: Change ram_top type to phys_addr_t") changed type of ram_top member from ulong to phys_addr_t but did not changed types in board_get_usable_ram_top() function which returns value for ram_top. So change ulong to phys_addr_t type also in board_get_usable_ram_top() signature and implementations. Fixes: 37dc958947ed ("global_data.h: Change ram_top type to phys_addr_t") Signed-off-by: Pali Rohár <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2022-06-10arm: bcmbca: introduce the bcmbca architecture and 47622 SOCWilliam Zhang
This is the initial support for Broadcom's ARM-based 47622 SOC. In this change, our first SOC is an armv7 platform called 47622. The initial support includes a bare-bone implementation and dts with ARM PL011 uart. The SOC-specific code resides in arch/arm/mach-bcmbca/<soc> and board related code is in board/broadcom/bcmba. The u-boot image can be loaded from flash or network to the entry point address in the memory and boot from there. Signed-off-by: William Zhang <[email protected]> Signed-off-by: Kursad Oney <[email protected]> Signed-off-by: Anand Gore <[email protected]> Reviewed-by: Philippe Reynes <[email protected]>
2022-03-07bcm96753ref: add initial supportPhilippe Reynes
This add the initial support of the broadcom reference board bcm96753ref with a bcm6753 SoC. This board has 1 GB of RAM, 256 MB of flash (nand), 2 USB port, 1 UART, and 4 ethernet ports. Signed-off-by: Philippe Reynes <[email protected]>
2021-12-02board: brcm-ns3: Load netXtreme firmwareBharat Gooty
Load NetXtreme firmware in board_init when BNXT_ETH is selected. Signed-off-by: Bharat Gooty <[email protected]> Signed-off-by: Roman Bacik <[email protected]>
2021-10-31Revert "arch: arm: use dt and UCLASS_SYSCON to get gic lpi details"Michael Walle
Stop using the device tree as a source for ad-hoc information. This reverts commit 2ae7adc659f7fca9ea65df4318e5bca2b8274310. Signed-off-by: Michael Walle <[email protected]> [trini: Also make board/broadcom/bcmns3/ns3.c fail clearly now] Signed-off-by: Tom Rini <[email protected]>
2021-10-27sandbox: Remove OF_HOSTFILEIlias Apalodimas
OF_HOSTFILE is used on sandbox configs only. Although it's pretty unique and not causing any confusions, we are better of having simpler config options for the DTB. So let's replace that with the existing OF_BOARD. U-Boot would then have only three config options for the DTB origin. - OF_SEPARATE, build separately from U-Boot - OF_BOARD, board specific way of providing the DTB - OF_EMBED embedded in the u-boot binary(should not be used in production Signed-off-by: Ilias Apalodimas <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2021-10-18board: arm: Remove OF_PRIOR_STAGE from the remaining Arm boardsIlias Apalodimas
At some point back in 2018 prior_stage_fdt_address and OF_PRIOR_STAGE got introduced, in order to support a DTB handed over by an earlier stage boo loader. However we have another option in the Kconfig (OF_BOARD) which has identical semantics. So let's remove the option in an effort to simplify U-Boot's config and DTB management, and use OF_BOARD instead. Signed-off-by: Ilias Apalodimas <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2021-09-07arm: Disable ATAGs supportTom Rini
With the exceptions of ds109, ds414, icnova-a20-swac, nokia_rx51 and stemmy, disable ATAG support. A large number of platforms had enabled support but never supported a kernel so old as to require it. Further, some platforms are old enough to support both, but are well supported by devicetree booting, and have been for a number of years. This is because some of the ATAGs related functions have been re-used to provide the same kind of information, but for devicetree or just generally to inform the user. When needed still, rename these functions to get_board_revision() instead, to avoid conflicts. In other cases, these functions were simply unused, so drop them. Cc: Andre Przywara <[email protected]> Cc: Jagan Teki <[email protected]> Cc: Phil Sutter <[email protected]> Cc: Stefan Bosch <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2021-05-24treewide: Convert macro and uses of __section(foo) to __section("foo")Marek Behún
This commit does the same thing as Linux commit 33def8498fdd. Use a more generic form for __section that requires quotes to avoid complications with clang and gcc differences. Remove the quote operator # from compiler_attributes.h __section macro. Convert all unquoted __section(foo) uses to quoted __section("foo"). Also convert __attribute__((section("foo"))) uses to __section("foo") even if the __attribute__ has multiple list entry forms. Signed-off-by: Marek Behún <[email protected]> Reviewed-by: Bin Meng <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2021-04-10arm: Remove Broadcom Cygnus boardsTom Rini
These boards have not been converted to CONFIG_DM by the deadline. Remove them. Cc: Steve Rae <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2021-04-10arm: Remove bcm23550_w1d boardTom Rini
This board has not been converted to CONFIG_DM_MMC by the deadline. Remove it. Cc: Steve Rae <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2021-04-10arm: Remove bcm28155_ap boardTom Rini
This board has not been converted to CONFIG_DM_MMC by the deadline. Remove it. Cc: Steve Rae <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2021-04-10arm: Remove bcm958712k boardTom Rini
This board has not been converted to CONFIG_DM_MMC by the deadline. Remove it. Cc: Jon Mason <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2021-03-02reset: Remove addr parameter from reset_cpu()Harald Seiler
Historically, the reset_cpu() function had an `addr` parameter which was meant to pass in an address of the reset vector location, where the CPU should reset to. This feature is no longer used anywhere in U-Boot as all reset_cpu() implementations now ignore the passed value. Generic code has been added which always calls reset_cpu() with `0` which means this feature can no longer be used easily anyway. Over time, many implementations seem to have "misunderstood" the existence of this parameter as a way to customize/parameterize the reset (e.g. COLD vs WARM resets). As this is not properly supported, the code will almost always not do what it is intended to (because all call-sites just call reset_cpu() with 0). To avoid confusion and to clean up the codebase from unused left-overs of the past, remove the `addr` parameter entirely. Code which intends to support different kinds of resets should be rewritten as a sysreset driver instead. This transformation was done with the following coccinelle patch: @@ expression argvalue; @@ - reset_cpu(argvalue) + reset_cpu() @@ identifier argname; type argtype; @@ - reset_cpu(argtype argname) + reset_cpu(void) { ... } Signed-off-by: Harald Seiler <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2021-03-02board: ns3: Remove superfluous reset logicHarald Seiler
The current implementation of reset_cpu() in the ns3 board code does not archieve what it is supposed to (according to the comments), due to a number of reasons: 1. The argument to reset_cpu() is _not_ actually passed from the `reset` command, but is set to 0 in all call-sites (in this specific case, see arch/arm/lib/reset.c). Thus, performing different kinds of resets based on its value will not work as expected. 2. Contrary to its documentation, the passed argument is not interpreted, but a static `L3_RESET` define is used. The other comment properly notes that this will always perform a L3 reset, though. 3. The "parsing" of the static `L3_RESET` value is not even using the upper and lower nibble as stated in the comment, but uses the last two decimal digits of the value. This is currently one of the only implementations left in U-Boot, which make "use" of the value passed to reset_cpu(). As this is done under false assumption (the value does not have any meaning anymore), it makes sense to bring it into line with the rest and start ignoring the parameter. This is a preparation for removal of the reset_cpu() parameter across the entire tree in a later patch. Fixes: b5a152e7ca0b ("board: ns3: default reset type to L3") Cc: Bharat Gooty <[email protected]> Cc: Rayagonda Kokatanur <[email protected]> Signed-off-by: Harald Seiler <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2021-02-02common: Drop asm/global_data.h from common headerSimon Glass
Move this out of the common header and include it only where needed. In a number of cases this requires adding "struct udevice;" to avoid adding another large header or in other cases replacing / adding missing header files that had been pulled in, very indirectly. Finally, we have a few cases where we did not need to include <asm/global_data.h> at all, so remove that include. Signed-off-by: Simon Glass <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2020-09-09board: ns3: check bnxt chimp handshake statusRayagonda Kokatanur
Chimp is a core in Broadcom netxtream controller (bnxt). Add support to check bnxt's chimp component status. Signed-off-by: Rayagonda Kokatanur <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2020-09-09board: ns3: kconfig: extend board kconfig with specific commandsVladimir Olovyannikov
Extend Kconfig for the board with board-specific commands selection. Signed-off-by: Vladimir Olovyannikov <[email protected]> Signed-off-by: Rayagonda Kokatanur <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2020-07-29board: ns3: add development keys used in FITPramod Kumar
Add development keys used in FIT. Signed-off-by: Pramod Kumar <[email protected]> Signed-off-by: Rayagonda Kokatanur <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2020-07-29board: ns3: add FIT image its filePramod Kumar
Add FIT image its file. Signed-off-by: Pramod Kumar <[email protected]> Signed-off-by: Rayagonda Kokatanur <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2020-07-29board: ns3: limit U-boot relocation within 16MB memoryBharat Kumar Reddy Gooty
By default relocation happens to a higher address of DDR, i.e, DDR start + DDR size. U-Boot shall be used to collect the ramdump. Restrict U-Boot to use only the 16MB memory, so that this memory can be reserved. Limit relocation to happen within 16MB memory, start 0xFF00_0000 and end 0x1_0000_0000 Signed-off-by: Bharat Kumar Reddy Gooty <[email protected]> Signed-off-by: Rayagonda Kokatanur <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2020-07-29board: ns3: define ddr memory layoutRayagonda Kokatanur
Add both DRAM banks memory information and the corresponding MMU page table mappings. Signed-off-by: Bharat Kumar Reddy Gooty <[email protected]> Signed-off-by: Rayagonda Kokatanur <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2020-07-29board: ns3: program GIC LPI tablesRayagonda Kokatanur
U-boot programs the GIC LPI configuration tables and enables the LPI table. Signed-off-by: Bharat Kumar Reddy Gooty <[email protected]> Signed-off-by: Rayagonda Kokatanur <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2020-07-29board: ns3: default reset type to L3Rayagonda Kokatanur
Default "reset" from U-Boot to L3 reset. "reset" command with argument will trigger L1 reset. Signed-off-by: Rajesh Ravi <[email protected]> Signed-off-by: Bharat Kumar Reddy Gooty <[email protected]> Signed-off-by: Rayagonda Kokatanur <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2020-07-29board: ns3: add api to save boot parameters passed from BL31Abhishek Shah
Add API to save boot parameters passed from BL31 Use assembly implementation of save_boot_params instead of c function. Because generally ATF does not set up SP_EL2 on exiting. Thus, usage of a C function immediately after exiting with no stack setup done by ATF explicitly, may cause SP_EL2 to be not sane, which in turn causes a crash if this boot was not lucky to get an SP_EL2 in valid range. Replace C implementation with assembly one which does not use stack this early, and let u-boot to set up its stack later. Signed-off-by: Abhishek Shah <[email protected]> Signed-off-by: Rajesh Ravi <[email protected]> Signed-off-by: Vladimir Olovyannikov <[email protected]> Signed-off-by: Rayagonda Kokatanur <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2020-07-29board: ns3: add support for Broadcom Northstar 3Rayagonda Kokatanur
Add support for Broadcom Northstar 3 SoC. NS3 is a octo-core 64-bit ARMv8 Cortex-A72 processors targeting a broad range of networking applications. Signed-off-by: Rayagonda Kokatanur <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2020-07-17treewide: convert bd_t to struct bd_info by coccinelleMasahiro Yamada
The Linux coding style guide (Documentation/process/coding-style.rst) clearly says: It's a **mistake** to use typedef for structures and pointers. Besides, using typedef for structures is annoying when you try to make headers self-contained. Let's say you have the following function declaration in a header: void foo(bd_t *bd); This is not self-contained since bd_t is not defined. To tell the compiler what 'bd_t' is, you need to include <asm/u-boot.h> #include <asm/u-boot.h> void foo(bd_t *bd); Then, the include direcective pulls in more bloat needlessly. If you use 'struct bd_info' instead, it is enough to put a forward declaration as follows: struct bd_info; void foo(struct bd_info *bd); Right, typedef'ing bd_t is a mistake. I used coccinelle to generate this commit. The semantic patch that makes this change is as follows: <smpl> @@ typedef bd_t; @@ -bd_t +struct bd_info </smpl> Signed-off-by: Masahiro Yamada <[email protected]>
2020-05-18common: Drop log.h from common headerSimon Glass
Move this header out of the common header. Signed-off-by: Simon Glass <[email protected]>
2020-05-18common: Drop init.h from common headerSimon Glass
Move this uncommon header out of the common header. Signed-off-by: Simon Glass <[email protected]>
2020-05-18common: Drop net.h from common headerSimon Glass
Move this header out of the common header. Network support is used in quite a few places but it still does not warrant blanket inclusion. Note that this net.h header itself has quite a lot in it. It could be split into the driver-mode support, functions, structures, checksumming, etc. Signed-off-by: Simon Glass <[email protected]>
2020-01-23bcm968360bg: add initial supportPhilippe Reynes
This add the initial support of the broadcom reference board bcm968360bg with a bcm68360 SoC. This board has 512 MB of RAM, 256 MB of flash (nand), 2 USB port, 1 UART, and 4 ethernet ports. Signed-off-by: Philippe Reynes <[email protected]>
2020-01-17common: Move RAM-sizing functions to init.hSimon Glass
These functions relate to memory init so move them into the init header. Signed-off-by: Simon Glass <[email protected]>
2020-01-17common: Move reset_cpu() to the CPU headerSimon Glass
Move this function out of common.h and into a relevant header file. Signed-off-by: Simon Glass <[email protected]>
2019-12-02common: Move some board functions out of common.hSimon Glass
A number of board function belong in init.h with the others. Move them. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2019-12-02common: Move ARM cache operations out of common.hSimon Glass
These functions are CPU-related and do not use driver model. Move them to cpu_func.h Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Daniel Schwierzeck <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2019-12-02common: Move some SMP functions out of common.hSimon Glass
These functions belong in cpu_func.h so move them over. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2019-12-02common: Move get_ticks() function out of common.hSimon Glass
This function belongs in time.h so move it over and add a comment. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2019-08-11env: Move env_get() to env.hSimon Glass
Move env_get() over to the new header file. Acked-by: Joe Hershberger <[email protected]> Signed-off-by: Simon Glass <[email protected]>
2019-08-11env: Move env_set_hex() to env.hSimon Glass
Move env_set_hex() over to the new header file along with env_set_addr() which uses it. Signed-off-by: Simon Glass <[email protected]> Acked-by: Joe Hershberger <[email protected]>
2019-05-28dm: arm: bcmstb: Enable driver model MMC supportThomas Fitzsimmons
For bcm7445 and bcm7260, this patch enables CONFIG_DM_MMC and updates the bcmstb SDHCI driver to use the new driver model. This allows removal of SDHCI configuration handling from bcmstb.c, and eliminates a board removal compile warning. Signed-off-by: Thomas Fitzsimmons <[email protected]> Reviewed-by: Stefan Roese <[email protected]>
2019-02-19bcm963158: use TARGET_BCM963158 instead of ARCH_BCM63158Philippe Reynes
We use TARGET_BCM63158 in the Kconfig instead of ARCH_BCM63158, so we could add other board that use a bcm63158. Signed-off-by: Philippe Reynes <[email protected]>
2019-02-09bcm968580: rename to bcm968580xrefPhilippe Reynes
The name of the board is bcm968580xref, so rename the config to bcm968580xref too. Signed-off-by: Philippe Reynes <[email protected]>
2019-02-09bcm963158: add initial supportPhilippe Reynes
This add the initial support of the broadcom reference board bcm963158 with a bcm63158 SoC. This board has 1 GB of ram, 512 MB of flash (nand), 2 usb port, 1 uart, 4 ethernet ports (LAN), 1 ethernet port (WAN). Signed-off-by: Philippe Reynes <[email protected]>
2018-11-16bcm968580xref: add initial supportPhilippe Reynes
This add the initial support of the broadcom reference board bcm968580xref with a bcm6858 SoC. This board has 512 MB of ram, 256 MB of flash (nand), 2 usb port, 1 uart, 4 ethernet ports (LAN), 1 ethernet port (WAN). Signed-off-by: Philippe Reynes <[email protected]>
2018-09-10board: arm: Add support for Broadcom BCM7260Thomas Fitzsimmons
Add support for loading U-Boot on the Broadcom 7260 SoC. This port assumes Broadcom's BOLT bootloader is acting as the second stage bootloader, and U-Boot is acting as the third stage bootloader, loaded as an ELF program by BOLT. Signed-off-by: Thomas Fitzsimmons <[email protected]> Reviewed-by: Florian Fainelli <[email protected]> Cc: Florian Fainelli <[email protected]>
2018-08-09bcm968380gerg: Add MAINTAINERS fileTom Rini
Add an initial MAINTAINERS file based on author of the code. Cc: Philippe Reynes <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2018-08-08bcm968380gerg: add initial supportPhilippe Reynes
This add the initial support of the broadcom reference board bcm968380gerg with a bcm68380 SoC. This board has 512 MB of RAM, 128 MB of flash (nand), 2 USB port, 1 UART, 4 ethernet ports and BCM43217 (wifi). Signed-off-by: Philippe Reynes <[email protected]> Reviewed-by: Daniel Schwierzeck <[email protected]>
2018-07-19lib: fdtdec: Rename routine fdtdec_setup_memory_size()Siva Durga Prasad Paladugu
This patch renames the routine fdtdec_setup_memory_size() to fdtdec_setup_mem_size_base() as it now fills the mem base as well along with size. Signed-off-by: Siva Durga Prasad Paladugu <[email protected]> Signed-off-by: Michal Simek <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2018-07-10board: arm: Add support for Broadcom BCM7445Thomas Fitzsimmons
Add support for loading U-Boot on the Broadcom 7445 SoC. This port assumes Broadcom's BOLT bootloader is acting as the second stage bootloader, and U-Boot is acting as the third stage bootloader, loaded as an ELF program by BOLT. Signed-off-by: Thomas Fitzsimmons <[email protected]> Cc: Stefan Roese <[email protected]> Cc: Tom Rini <[email protected]> Cc: Florian Fainelli <[email protected]>
2018-05-07SPDX: Convert all of our single license tags to Linux Kernel styleTom Rini
When U-Boot started using SPDX tags we were among the early adopters and there weren't a lot of other examples to borrow from. So we picked the area of the file that usually had a full license text and replaced it with an appropriate SPDX-License-Identifier: entry. Since then, the Linux Kernel has adopted SPDX tags and they place it as the very first line in a file (except where shebangs are used, then it's second line) and with slightly different comment styles than us. In part due to community overlap, in part due to better tag visibility and in part for other minor reasons, switch over to that style. This commit changes all instances where we have a single declared license in the tag as both the before and after are identical in tag contents. There's also a few places where I found we did not have a tag and have introduced one. Signed-off-by: Tom Rini <[email protected]>