summaryrefslogtreecommitdiff
path: root/board/Marvell/mvebu_armada-37xx
AgeCommit message (Collapse)AuthorFilesLines
2022-01-31arm: mvebu: Espressobin: Fix URLs in commentsPali Rohár1-2/+2
Use versioned URLs for line numbers as branches are moving in the time and use master branch for mv-ddr-marvell where is up-to-date code. Signed-off-by: Pali Rohár <pali@kernel.org> Reviewed-by: Stefan Roese <sr@denx.de>
2021-10-31env: Always use char for default_environmentMarek Behún1-1/+1
Sometimes we use uchar and sometimes char for the default environment array. By always using char, we can get rid of some explicit casts. Signed-off-by: Marek Behún <marek.behun@nic.cz> Reviewed-by: Simon Glass <sjg@chromium.org>
2021-07-15mmc: mmc_get_op_cond: Allow quiet detection of eMMCPali Rohár1-1/+1
Add a new 'quiet' argument to mmc_get_op_cond() function which avoids printing error message when SD/eMMC card is not detected. Espressobin and mx6cuboxi boards use this function for detecting presence of eMMC and therefore it is expected and normal that eMMC does not have to be connected. So error message "Card did not respond to voltage select!" should be skipped in this case as it is not an error. Signed-off-by: Pali Rohár <pali@kernel.org> Reviewed-by: Stefan Roese <sr@denx.de> Acked-by: Jaehoon Chung <jh80.chung@samsung.com>
2021-07-15arm: mvebu: Espressobin: Use function mmc_get_op_cond() for detecting eMMCPali Rohár1-1/+1
Use function mmc_get_op_cond() instead of mmc_init() for detecting presence of eMMC. Documentation for this function says that it could be used to detect the presence of SD/eMMC when no card detect logic is available. This function is also used by mx6cuboxi board for detecting presence of eMMC. Signed-off-by: Pali Rohár <pali@kernel.org> Reviewed-by: Stefan Roese <sr@denx.de>
2021-07-15arm: mvebu: Espressobin: Fix setting $fdtfile envPali Rohár1-7/+0
Ensure that 'env default -a' always set correct value to $fdtfile, even when custom user variable is already stored in non-volatile env storage (means that env_get("fdtfile") call returns non-NULL value). As default value is now correctly set like if specified at compile time in CONFIG_EXTRA_ENV_SETTINGS, there is no need to set $fdtfile explicitly via env_set("fdtfile", ...) call. So remove wrong skip based on env_get("fdtfile") and then also unneeded env_set("fdtfile", ...) call. Fixes: c4df0f6f315c ("arm: mvebu: Espressobin: Set default value for $fdtfile env variable") Signed-off-by: Pali Rohár <pali@kernel.org> Reviewed-by: Stefan Roese <sr@denx.de>
2021-02-15Merge branch '2021-02-02-drop-asm_global_data-when-unused'Tom Rini1-0/+1
- Merge the patch to take <asm/global_data.h> out of <common.h>
2021-02-08arm: mvebu: Espressobin: Set default value for $ethNaddr env variablePali Rohár1-0/+19
On Espressobin board are MAC addresses stored in U-Boot env area. Therefore they are not present in default_environment[] array constructed at compile time. This change puts permanent MAC addresses into default_environment[] array at board runtime. Espressobin board has enabled DEFAULT_ENV_IS_RW option and therefore can modify this array. This change ensure that 'env default -a' does not delete permanent MAC addresses from Espressobin env storage area. Signed-off-by: Pali Rohár <pali@kernel.org> Acked-by: Andre Heider <a.heider@gmail.com>
2021-02-08arm: mvebu: Espressobin: Set default value for $fdtfile env variablePali Rohár1-4/+15
On Espressobin board value for $fdtfile cannot be determined at compile time and is calculated at board runtime code. This change uses a new option DEFAULT_ENV_IS_RW to allow modifying default_environment[] array at runtime and set into it correct value. This change also ensure that 'env default -a' set correct value to $fdtfile. Signed-off-by: Pali Rohár <pali@kernel.org> Acked-by: Andre Heider <a.heider@gmail.com>
2021-02-02common: Drop asm/global_data.h from common headerSimon Glass1-0/+1
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 <sjg@chromium.org> Signed-off-by: Tom Rini <trini@konsulko.com>
2021-01-27arm: mvebu: Espressobin: Disable slot when emmc is not presentPali Rohár1-3/+12
This change extends previous commit 061c6d1b238a ("arm: mvebu: Espressobin: Detect presence of emmc at runtime") and when emmc is not present then emmc is removed from U-Boot DM and corresponding slot is disabled. Therefore on Espressobin board without soldered emmc, state of emmc hw should be same as if emmc was disabled in DTS. Signed-off-by: Pali Rohár <pali@kernel.org> Reviewed-by: Stefan Roese <sr@denx.de>
2020-12-07arm: mvebu: Espressobin: Detect presence of emmc at runtimePali Rohár1-1/+5
Try to initialize emmc in board_late_init() and if it fails then we know that emmc device is not connected. This allows to use in U-Boot just one DTS file for all Espressobin variants and also to correctly set fdtfile env variable for Linux kernel. Signed-off-by: Pali Rohár <pali@kernel.org> Tested-by: Gérald Kerma <gerald@gk2.net> Reviewed-by: Andre Heider <a.heider@gmail.com>
2020-10-14arm64: dts: armada-3720-espressobin: use Linux model/compatible stringsAndre Heider1-4/+4
Fix the actual board vendor and ease synching dts files from Linux. Signed-off-by: Andre Heider <a.heider@gmail.com> Reviewed-by: Pali Rohár <pali@kernel.org> Reviewed-by: Stefan Roese <sr@denx.de>
2020-10-01arm: mvebu: Espressobin: Fix checks against machine compatible stringsAndre Heider1-2/+2
The patches changing the compatible strings to the ones used by Linux have not been merged yet, so fix the checks to use the current in-tree ones. Reported-by: Pali Rohár <pali@kernel.org> Signed-off-by: Andre Heider <a.heider@gmail.com> Reviewed-by: Pali Rohár <pali@kernel.org>
2020-09-24arm: mvebu: Espressobin: Set environment variable fdtfileAndre Heider1-0/+47
Required for the generic distro mechanism. Linux ships with 4 variants: marvell/armada-3720-espressobin-v7-emmc.dtb marvell/armada-3720-espressobin-v7.dtb marvell/armada-3720-espressobin-emmc.dtb marvell/armada-3720-espressobin.dtb Use available information to determine the appropriate filename. Fixes booting GRUB EFI arm64 on Fedora. Reported-by: Dennis Gilmore <dennis@ausil.us> Signed-off-by: Andre Heider <a.heider@gmail.com>
2020-08-31arm: mvebu: Espressobin: Setup MTD partitions when booting kernelPali Rohár1-0/+100
Due to different partition layouts in different U-Boot versions, DTS for Espressobin in Linux does not contain any definition of MTD partitions. See commit https://git.kernel.org/stable/c/00954566464a4 for more details. This patch via ft_board_setup() hook fills current partition layout used by U-Boot, so booted kernel would see correct MTD partitions layout. U-Boot env partition is calculated from CONFIG_ENV_OFFSET option. First partition contains secure firmware, ARM trusted firmware and U-Boot with checksums. So it is not possible to replace just one image (e.g. U-Boot) without updating other parts where is stored checksum of U-Boot. Therefore there is no extra partition defined for U-Boot and first partition is called just 'firmware'. Signed-off-by: Pali Rohár <pali@kernel.org> Reviewed-by: Konstantin Porotchkin <kostap@marvell.com> Tested-by: Andre Heider <a.heider@gmail.com>
2020-08-31arm: mvebu: Espressobin: Disallow forwarding packets between wan and lan portsPali Rohár1-0/+9
By default Topaz switch on Espressobin board forwards packets between all ethernet ports, including CPU (port 0), wan (port 1) and lan (ports 2,3). This default U-Boot setup is unsuitable for using Espressobin as router as it opens security hole in forwarding all packets between wan and lan ports. E.g. dhcp packets from wan network leaks to lan network during small time window until U-Boot boots Linux kernel which loads network drivers which disallows forwarding between wan and lan. This patch fixes above problem. For Espressobin board prior putting Topaz switch into forwarding mode, Topaz switch is reconfigured to allow forwarding packets from wan and lan ports only to CPU port. This ensures that packets from wan port are not forwarded to lan ports and vice-versa. Packets from CPU port are still forwarded to all other ports, so U-Boot network boot works with any ethernet port as before. This problem was already discussed on Espressobin forum [1] and on Marvell's github issue tracker [2]. As a workaround people on Espressobin forum patched U-Boot to completely disable lan ports on Topaz switch which prevented forwarding packets. That workaround had an issue that U-Boot was unable to netboot via lan ports anymore. Change in this patch does not have such issue. This security issue has been dicussed here as well: [3]. [1] - https://web.archive.org/web/20191231164238/http://espressobin.net/forums/topic/boot-behavior-of-the-switch-and-security/ [2] - https://github.com/MarvellEmbeddedProcessors/u-boot-marvell/issues/18 [3] - https://forum.armbian.com/topic/12635-espressobin-uboot-security-concerns-switch-init-portmask/ Signed-off-by: Pali Rohár <pali@kernel.org> Reviewed-by: Stefan Roese <sr@denx.de> Tested-by: Andre Heider <a.heider@gmail.com>
2020-05-19common: Drop linux/delay.h from common headerSimon Glass1-0/+1
Move this uncommon header out of the common header. Signed-off-by: Simon Glass <sjg@chromium.org>
2020-05-19common: Drop init.h from common headerSimon Glass1-0/+1
Move this uncommon header out of the common header. Signed-off-by: Simon Glass <sjg@chromium.org>
2019-02-05arm64: mvebu: Add basic support for uDPU boardVladimir Vid1-0/+5
This adds initial support for micro-DPU (uDPU) board which is based on Armada-3720 SoC. micro-DPU is the single-port FTTdp "distribution point unit" made by Methode Electronics which offers complete modularity with replaceable SFP modules both for uplink and downlink (G.hn over twisted-pair, G.hn over coax, 1G and 2.5G Ethernet over Cat-5e cable). On-board features: - 512 MiB DDR3 - 2 x 2.5G SFP via HSGMII SERDES interface to the A3720 SoC - USB 2.0 Type-C connector - 4GB eMMC - ETSI TS 101548 reverse powering via twisted pair (RJ45) or coax (F Type) Cc: Luka Perkov <luka.perkov@sartura.hr> Cc: Luis Torres <luis.torres@methode.com> Cc: Scott Roberts <scott.roberts@telus.com> Cc: Paul Arola <paul.arola@telus.com> Signed-off-by: Vladimir Vid <vladimir.vid@sartura.hr> Reviewed-by: Stefan Roese <sr@denx.de> Signed-off-by: Stefan Roese <sr@denx.de>
2018-05-07SPDX: Convert all of our single license tags to Linux Kernel styleTom Rini2-5/+2
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 <trini@konsulko.com>
2018-03-30arm64: a37xx: remove old pinctrl implementationKen Ma1-23/+0
Since the new pinctrl/gpio driver is used, so this patch removes the old board specific pin control settings. Cc: Simon Glass <sjg@chromium.org> Cc: Stefan Roese <sr@denx.de> Signed-off-by: Ken Ma <make@marvell.com> Signed-off-by: Stefan Roese <sr@denx.de>
2017-11-16mvebu: usb: xhci: a38x supportJon Nettleton1-1/+1
This makes the initial changes need to support the a38x series of SOCs. It adds the device-tree identifier as well as changing the board_support function to take the IO address designated by device-tree. Signed-off-by: Jon Nettleton <jon@solid-run.com> [baruch: use fdt_addr_t; update 37xx and 8K implementations] Signed-off-by: Baruch Siach <baruch@tkos.co.il> Signed-off-by: Stefan Roese <sr@denx.de>
2017-11-06MAINTAINERS: Add missing boards and config entriesTom Rini1-0/+5
As part of my usual round of build testing, output about missing MAINTAINERS information was not logged, and thus often overlooked. Correct that mistake by ensuring that I log the output of genboardscfg.py every time. As part of that, address a number of missing MAINTAINERS entires. In the case of a missing file, I have put the original submitter down. In the rest of the cases I have added the config (and sometimes relevant header file) to the existing set of file globs. Signed-off-by: Tom Rini <trini@konsulko.com>
2017-03-23arm64: a37xx: Disable DB configurations on ESPRESSOBin boardKonstantin Porotchkin1-0/+9
Bypass XHCI and AHCi board configuration flow on ESPRESSOBin community board. The community board does not have i2c expander and USB VBUS is always on, so the scan for AHCi and USB devices can be faster without unneded configurations. Signed-off-by: Konstantin Porotchkin <kostap@marvell.com> Cc: Stefan Roese <sr@denx.de> Cc: Igal Liberman <igall@marvell.com> Cc: Nadav Haklai <nadavh@marvell.com> Signed-off-by: Stefan Roese <sr@denx.de>
2017-03-23mvebu: a37xx: Add init for ESPRESSBin Topaz switchKonstantin Porotchkin1-0/+91
Implement the board-specific network init function for ESPRESSOBin community board, setting the on-board Topaz switch port to forward mode and allow network connection through any of the available Etherenet ports. Signed-off-by: Konstantin Porotchkin <kostap@marvell.com> Cc: Stefan Roese <sr@denx.de> Cc: Igal Liberman <igall@marvell.com> Cc: Nadav Haklai <nadavh@marvell.com> Cc: Joe Hershberger <joe.hershberger@ni.com> Reviewed-by: Joe Hershberger <joe.hershberger@ni.com> Signed-off-by: Stefan Roese <sr@denx.de>
2017-03-23arm64: a37xx: Handle pin controls in early board initKonstantin Porotchkin1-1/+25
Fix the default pin control values in a board-specific function on early board init stage. This fix allows the NETA driver to work in RGMII mode until the full-featured pin control driver gets introduced. Signed-off-by: Konstantin Porotchkin <kostap@marvell.com> Cc: Stefan Roese <sr@denx.de> Cc: Igal Liberman <igall@marvell.com> Cc: Nadav Haklai <nadavh@marvell.com> Signed-off-by: Stefan Roese <sr@denx.de>
2017-03-23arm64: mvebu: Rename the db-88f3720 to armada-37xx platformKonstantin Porotchkin3-0/+147
Modify the file names and deifinitions relater to Marvell db-77f3720 board support. Convert these names to more generic armada-37xx platform for future addition of more boards based on the same SoC family. Signed-off-by: Konstantin Porotchkin <kostap@marvell.com> Cc: Stefan Roese <sr@denx.de> Cc: Igal Liberman <igall@marvell.com> Cc: Nadav Haklai <nadavh@marvell.com> Signed-off-by: Stefan Roese <sr@denx.de>