summaryrefslogtreecommitdiff
path: root/arch
AgeCommit message (Collapse)Author
2021-07-10arm: dts: imx8mm-venice-gw7901.dts: fix dsa switch configurationTim Harvey
Fix the dsa switch config: - remove the unnecessary phy-mode from the switch itself - added the necessary fixed-link node to the non-cpu ports required for U-Boot DSA Signed-off-by: Tim Harvey <[email protected]>
2021-07-10board: gateworks: venice: add imx8mm-gw7901 supportTim Harvey
The Gateworks GW7901 is an ARM based single board computer (SBC) featuring: - i.MX8M Mini SoC - LPDDR4 DRAM - eMMC FLASH - SPI FRAM - Gateworks System Controller (GSC) - Atmel ATECC Crypto Authentication - USB 2.0 - Microchip GbE Switch - Multiple multi-protocol RS232/RS485/RS422 Serial ports - onboard 802.11ac WiFi / BT - microSD socket - miniPCIe socket with PCIe, USB 2.0 and dual SIM sockets - Wide range DC power input - 802.3at PoE To add support for this board: - add dts from Linux (accepted for v5.14) - add SPL PMIC config Signed-off-by: Tim Harvey <[email protected]>
2021-07-10arm/mach-imx: Fix macros in mmdc_size.cKacper Kubkowski
Make macros actually use passed parameter instead of local variables that happen to be named the same as symbols in macro expansion. Signed-off-by: Kacper Kubkowski <[email protected]>
2021-07-10board: phytec: imx8mp-phycore: Switch to binmanTeresa Remmet
Use now binman for image creation. Signed-off-by: Teresa Remmet <[email protected]> Reviewed-by: Fabio Estevam <[email protected]> Reviewed-by: Heiko Schocher <[email protected]>
2021-07-10arm: dts: imx8mp-phyboard-pollux-rdk-u-boot: Add wdog pinctrl entryTeresa Remmet
Add missing pinctrl entry in spl. Signed-off-by: Teresa Remmet <[email protected]> Reviewed-by: Fabio Estevam <[email protected]>
2021-07-10board: phytec: phycore_imx8mp: Change debug UARTTeresa Remmet
With the first redesign the debug UART had changed from UART2 to UART1. As the first hardware revision is considered as alpha and will not be supported in future. The old setup will not be preserved. Signed-off-by: Teresa Remmet <[email protected]> Reviewed-by: Fabio Estevam <[email protected]> Reviewed-by: Heiko Schocher <[email protected]>
2021-07-10arm: dts: imx8mp-phyboard-pollux: Sync dts files with kernelTeresa Remmet
This update includes eqos support and some minor changes. Synced with kernel commit 412627f6ffe3 ("arm64: dts: imx8mp-phyboard-pollux-rdk: Add missing pinctrl entry") Signed-off-by: Teresa Remmet <[email protected]> Reviewed-by: Fabio Estevam <[email protected]> Reviewed-by: Heiko Schocher <[email protected]>
2021-07-10arm: dts: imx8mp: Add common u-boot dtsiTeresa Remmet
Factor out the common node settings for dm-spl and dm-pre-reloc and move them to imx8mp-u-boot.dtsi Signed-off-by: Teresa Remmet <[email protected]> Reviewed-by: Fabio Estevam <[email protected]> Reviewed-by: Heiko Schocher <[email protected]>
2021-07-10arm: dts: imx8mp: Resync imx8mp device tree includeTeresa Remmet
Sync imx8mp include with kernel commit: d1689cd3c0f4 ("arm64: dts: imx8mp: Use the correct name for child node "snps, dwc3"") Signed-off-by: Teresa Remmet <[email protected]> Reviewed-by: Fabio Estevam <[email protected]> Reviewed-by: Heiko Schocher <[email protected]>
2021-07-10pci: imx: use reset-gpios if defined by device-treeTim Harvey
If reset-gpio is defined by device-tree use that if CONFIG_PCIE_IMX_PERST_GPIO is not defined. Note that after this the following boards which define CONFIG_PCIE_IMX_PERST_GPIO in their board header file as well as their device-tree should be able to remove CONFIG_PCIE_IMX_PERST_GPIO without consequence: - mx6sabresd - mx6sxsabresd - novena - tbs2910 - vining_2000 Note that the ge_bx50v3 board uses CONFIG_PCIE_IMX_PERST_GPIO and does not have reset-gpios defined it it's pcie node in the dt thus removing CONFIG_PCIE_IMX_PERST_GPIO globally can't be done until that board adds reset-gpios. Cc: Ian Ray <[email protected]> (maintainer:GE BX50V3 BOARD) Cc: Sebastian Reichel <[email protected]> (maintainer:GE BX50V3 BOARD) Cc: Fabio Estevam <[email protected]> (maintainer:MX6SABRESD BOARD) Cc: Marek Vasut <[email protected]> (maintainer:NOVENA BOARD) Cc: Soeren Moch <[email protected]> (maintainer:TBS2910 BOARD) Cc: Silvio Fricke <[email protected]> (maintainer:VINING_2000 BOARD) Signed-off-by: Tim Harvey <[email protected]>
2021-07-10imx8m: Restrict usable memory to space below 4G boundaryFrieder Schrempf
Some IPs have their accessible address space restricted by the interconnect. Let's make sure U-Boot only ever uses the space below the 4G address boundary (which is 3GiB big), even when the effective available memory is bigger. We implement board_get_usable_ram_top() for all i.MX8M SoCs, as the whole family is affected by this. Signed-off-by: Frieder Schrempf <[email protected]>
2021-07-09Merge branch 'master' of https://source.denx.de/u-boot/custodians/u-boot-sunxiTom Rini
Aside from the usual fixes and updates one visible change is the MMC update, which fixes some lingering bugs and gives a decent speed increase on some boards (9->19 MB/s on H6, 21->43 MB/s on A64 eMMC). I am keeping an watchful eye on bug reports here, to spot any correctness regressions. Another change is finally the enablement of the first USB host port on many boards without micro-USB (data) sockets, like the Pine64 family. That doubles the number of usable USB ports from 1 to 2 on those boards. Some smaller fixes, 4GB DRAM support (on the H616) and a new board (ZeroPi) conclude this first round of changes. Compile-tested for all 157 sunxi boards, boot-tested on Pine H64, Pine64-LTS, OrangePi Zero 2 and BananaPi M2 Berry. Summary: - DT update for H3/H5/H6 - Enable first USB port on boards without micro-USB - ZeroPi board support - 4GB DRAM support for H616 boards - MMC fixes and speed improvement - some fixes
2021-07-10mmc: sunxi: Increase MMIO FIFO read performanceAndre Przywara
To avoid the complexity of DMA operations (with chained descriptors), we use repeated MMIO reads and writes to the SD_FIFO_REG, which allows us to drain or fill the MMC data buffer FIFO very easily. However those MMIO accesses are somewhat costly, so this limits our MMC performance, to between 17 and 22 MB/s, but down to 9.5 MB/s on the H6 (partly due to the lower AHB1 frequency). As it turns out we read the FIFO status register after *every* word we read or write, which effectively doubles the number of MMIO accesses, thus effectively more than halving our performance. To avoid this overhead, we can make use of the FIFO level bits, which are in the very same FIFO status registers. So for a read request, we now can collect as many words as the FIFO level originally indicated, and only then need to update the status register. We don't know for sure the size of the FIFO (and it seems to differ across SoCs anyway), so writing is more fragile, which is why we still use the old method for that. If we find a minimum FIFO size available on all SoCs, we could use that, in a later optimisation. This patch increases the eMMC read speed on a Pine64-LTS from about 22MB/s to 44 MB/s. SD card reads don't gain that much, but with 23 MB/s we now reach the practical limit for 3.3V SD cards. On the H6 we double our transfer speed, from 9.5 MB/s to 19.7 MB/s. Signed-off-by: Andre Przywara <[email protected]>
2021-07-10mmc: sunxi: Enable "new timing mode" on all new SoCsAndre Przywara
All SoCs since the Allwinner A64 (H5, H6, R40, H616) feature the so called "new timing mode", so enable this in Kconfig for those SoCs. Signed-off-by: Andre Przywara <[email protected]>
2021-07-10mmc: sunxi: Fix MMC clock parent selectionAndre Przywara
Most Allwinner SoCs which use the so called "new timing mode" in their MMC controllers actually use the double-rate PLL6/PERIPH0 clock as their parent input clock. This is interestingly enough compensated by a hidden "by 2" post-divider in the mod clock, so the divider and actual output rate stay the same. Even though for the H6 and H616 (but only for them!) we use the doubled input clock for the divider computation, we never accounted for the implicit post-divider, so the clock was only half the speed on those SoCs. This didn't really matter so far, as our slow MMIO routine limits the transfer speed anyway, but we will fix this soon. Clean up the code around that selection, to always use the normal PLL6 (PERIPH0(1x)) clock as an input. As the rate and divider are the same, that makes no difference. Explain the hardware differences in a comment. Signed-off-by: Andre Przywara <[email protected]>
2021-07-10sunxi: H616: Enable full 4GB of DRAMAndre Przywara
The H616 is our first supported Allwinner SoC which goes beyond the 4GB address space "barrier", by having more than 32 address bits. Lift the preliminary 3GB DRAM limit for the H616, and update the page table setup on the way, to actually map that last GB as well. As not all devices are actually capable of dealing with more than 32 bits (the DMA in the EMAC for instance), we also limit U-Boot's own DRAM usage to 4GB on the way. Signed-off-by: Andre Przywara <[email protected]>
2021-07-10sunxi: h3: Add initial ZeroPi supportYu-Tung Chang
ZeroPi is a new board of high performance with low cost designed by FriendlyElec., using the Allwinner H3 SOC. ZeroPi features - Allwinner H3, Quad-core [email protected] - 256MB/512MB DDR3 RAM - microsd slot - 10/100/1000Mbps Ethernet - Debug Serial Port - DC 5V/2A power-supply Signed-off-by: Yu-Tung Chang <[email protected]> Reviewed-by: Andre Przywara <[email protected]> Signed-off-by: Andre Przywara <[email protected]>
2021-07-10sunxi: clock: H6/H616: Fix PLL clock factor encodingsAndre Przywara
Most clock factors and dividers in the H6 PLLs use a "+1 encoding", which we were missing on two occasions. This fixes the MMC clock setup on the H6, which could be slightly off due to the wrong parent frequency: mmc 2 set mod-clk req 52000000 parent 1176000000 n 2 m 12 rate 49000000 Also the CPU frequency (PLL1) was a tad too high before. For PLL5 (DRAM) we already accounted for this +1, but in the DRAM code itself, not in the bit field macro. Move this there to be aligned with what the other SoCs and other PLLs do. Signed-off-by: Andre Przywara <[email protected]> Reviewed-by: Jernej Skrabec <[email protected]>
2021-07-10arm: dts: sunxi: h3: Update DT filesAndre Przywara
Update the H3 DT files from the Linux 5.12 release. The changes update some boards, and don't affect U-Boot, but fix Gigabit Ethernet when this DT is passed on to the Linux kernel. Signed-off-by: Andre Przywara <[email protected]>
2021-07-10arm: dts: sunxi: h5: Update DT filesAndre Przywara
Update the H5 DT files from the Linux 5.12 release. The changes don't affect U-Boot at all, but fix Gigabit Ethernet when this DT is passed on to the Linux kernel. It also introduces DVFS. This also updates the shared sunxi-h3-h5.dtsi, but that only adds nodes that are of no concern to U-Boot. Signed-off-by: Andre Przywara <[email protected]>
2021-07-10arm: dts: sunxi: h6: Update DT filesAndre Przywara
Update the H6 DT files from the Linux 5.12 release. The changes are minimal (many LED node renames), but also help to enable USB port 0 in U-Boot (later), enable the RSB device (not yet used in U-Boot), and also introduce an MMC frequency limit. Signed-off-by: Andre Przywara <[email protected]>
2021-07-09arm: armv8: Fix warning about redeclaring global functions as weakTom Rini
As seen with clang-12: warning: __asm_invalidate_l3_dcache changed binding to STB_WEAK As we indeed use ENTRY and then declare the function weak manually. Use the WEAK declarative from <linux/linkage.h> instead. Signed-off-by: Tom Rini <[email protected]>
2021-07-09arm: bootm: Disable LMB reservation for command line and board info on arm64Marek Vasut
On arm64, board info is not applicable and kernel command line patched into the DT, so the LMB reservation here makes no sense anymore. On legacy arm32, this might still be necessary on systems which do not use DT or use legacy ATAGS. Disable this LMB reservation on arm64. This also permits Linux DT to specify reserved memory node at address close to the end of DRAM bank, i.e. overlaping with U-Boot location. Since after boot, U-Boot will be no more, this is OK. Signed-off-by: Marek Vasut <[email protected]> Cc: Hai Pham <[email protected]> Cc: Simon Goldschmidt <[email protected]> Cc: Stephen Warren <[email protected]> Cc: Tom Rini <[email protected]>
2021-07-09arch: cache: cp15: Add mmu_set_region_dcache_behaviour() when SYS_DCACHE_OFF ↵Patrice Chotard
is enable Fix following compilation issue when SYS_DCACHE_OFF is enable: drivers/misc/scmi_agent.c:128: undefined reference to `mmu_set_region_dcache_behaviour' when SYS_DCACHE_OFF is enable, mmu_set_region_dcache_behaviour() must be defined. Signed-off-by: Patrice Chotard <[email protected]> Signed-off-by: Patrice Chotard <[email protected]> Reviewed-by: Patrick Delaunay <[email protected]>
2021-07-09armv8: Handle EL2 Host modeMark Kettenis
On implementations that support VHE, the layout of the CPTR_EL2 register depends on whether HCR_EL2.E2H is set. If the bit is set, CPTR_EL2 uses the same layout as CPACR_EL1 and can in fact be accessed through that register. In that case, jump to the EL1 code to enable access to the FP/SIMD registers. This allows U-Boot to run on systems that pass control to U-Boot in EL2 with EL2 Host mode enabled such as machines using Apple's M1 SoC. Signed-off-by: Mark Kettenis <[email protected]> Acked-by: Marc Zyngier <[email protected]>
2021-07-07Revert "arm: Remove nsa310s board"Tom Rini
While this platform has not yet been converted, there is active efforts to do so. Keep the platform for now. This reverts commit aa697e6904ba1b3144a46ec642d4695e7c0cdc3e. Signed-off-by: Tom Rini <[email protected]>
2021-07-07arm: Remove spear600 boards and the rest of SPEAr supportTom Rini
These boards have not been converted to CONFIG_DM_USB by the deadline and is also missing conversion to CONFIG_DM. Remove them. As this is the last of the SPEAr platforms, so remove the rest of the remaining support as well. Cc: Vipin Kumar <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2021-07-07arm: Remove spear320 boardsTom Rini
These boards have not been converted to CONFIG_DM_USB by the deadline and is also missing conversion to CONFIG_DM. Remove them. As this is also the last SPEAR3XX platform, remove that symbol as well. Cc: Vipin Kumar <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2021-07-07arm: Remove spear310 boardsTom Rini
These boards have not been converted to CONFIG_DM_USB by the deadline and is also missing conversion to CONFIG_DM. Remove them. Cc: Vipin Kumar <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2021-07-07arm: Remove spear300 boardsTom Rini
These boards have not been converted to CONFIG_DM_USB by the deadline and is also missing conversion to CONFIG_DM. Remove them. Cc: Vipin Kumar <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2021-07-07arm: Remove nsa310s boardTom Rini
These boards have not been converted to CONFIG_DM_USB by the deadline and is also missing conversion to CONFIG_DM. Remove it Cc: Gerald Kerma <[email protected]> Cc: Tony Dinh <[email protected]> Cc: Luka Perkov <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2021-07-07arm: Remove gplugd boardTom Rini
These boards have not been converted to CONFIG_DM_USB by the deadline and is also missing conversion to CONFIG_DM. Remove it Cc: Ajay Bhargav <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2021-07-07arm: Remove edb9315a boardTom Rini
These boards have not been converted to CONFIG_DM_USB by the deadline and is also missing conversion to CONFIG_DM. Remove it. This is also the last PL010_SERIAL using board, so remove those references. Cc: Sergey Kostanbaev <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2021-07-07arm: Remove at91rm9200ek boardsTom Rini
These boards have not been converted to CONFIG_DM_USB by the deadline and is also missing conversion to CONFIG_DM. Remove them. Cc: Andreas Bießmann <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2021-07-07ppc: Remove T4160RDB boardTom Rini
This board has not been converted to CONFIG_DM_PCI by the deadline and is also missing conversion to CONFIG_DM. Remove it. As this is the last ARCH_T4160 platform, remove that support as well. Signed-off-by: Tom Rini <[email protected]>
2021-07-07ppc: Remove MPC832XEMDS boardsTom Rini
These boards have not been converted to CONFIG_DM_PCI by the deadline and is also missing conversion to CONFIG_DM. Remove them. Signed-off-by: Tom Rini <[email protected]>
2021-07-07ppc: Remove MPC8323ERDB boardTom Rini
This board has not been converted to CONFIG_DM_PCI by the deadline and is also missing conversion to CONFIG_DM. Remove it. Signed-off-by: Tom Rini <[email protected]>
2021-07-07ppc: Remove MPC8315ERDB boardTom Rini
This board has not been converted to CONFIG_DM_PCI by the deadline and is also missing conversion to CONFIG_DM. Remove it. As this is the last ARCH_MPC8315 platform, remove that support as well. Signed-off-by: Tom Rini <[email protected]>
2021-07-07ppc: Remove sbc8641d boardTom Rini
This board has not been converted to CONFIG_DM_PCI by the deadline and is also missing conversion to CONFIG_DM. Remove it. This is also the last of the ARCH_MPC8641/MPC8610 platforms, so remove that support as well. Cc: Paul Gortmaker <[email protected]> Cc: Priyanka Jain <[email protected]> Signed-off-by: Tom Rini <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2021-07-07ppc: Remove xpedite boardsTom Rini
These boards have not been converted to CONFIG_DM_PCI by the deadline and is also missing conversion to CONFIG_DM. Remove them. As this includes the last ARCH_MPC8572 platform, remove that as well. Cc: Peter Tyser <[email protected]> Signed-off-by: Tom Rini <[email protected]> Acked-by: Peter Tyser <[email protected]>
2021-07-07ppc: Remove MPC8568MDS boardTom Rini
This board has not been converted to CONFIG_DM_PCI by the deadline and is also missing conversion to CONFIG_DM. Remove it. As this is the last ARCH_MPC8568 platform, remove that support as well. Cc: Priyanka Jain <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2021-07-07ppc: Remove T1023RBD boards and T1024RDB_SECURE_BOOTTom Rini
These boards have not been converted to CONFIG_DM_PCI by the deadline and is also missing conversion to CONFIG_DM. Remove them. As this is the only ARCH_T1023 platform left, remove that support as well. Cc: Priyanka Jain <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2021-07-07ppc: Remove MPC8555CDS boardsTom Rini
These boards have not been converted to CONFIG_DM_PCI by the deadline and is also missing conversion to CONFIG_DM. Remove them. As this is the only ARCH_MPC8555 platform left, remove that support as well. Cc: Priyanka Jain <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2021-07-07ppc: Remove MPC8541CDS boardTom Rini
This board has not been converted to CONFIG_DM_PCI by the deadline and is also missing conversion to CONFIG_DM. Remove it. As this is the only MPC8541 target left, remove that architecture support as well. Cc: Priyanka Jain <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2021-07-07ppc: Remove TQM834x boardTom Rini
This board has not been converted to CONFIG_DM_PCI by the deadline and is also missing conversion to CONFIG_DM. Remove it. Signed-off-by: Tom Rini <[email protected]>
2021-07-07ppc: Remove sbc8548 boardsTom Rini
These boards have not been converted to CONFIG_DM_PCI by the deadline and are also missing conversion to CONFIG_DM. Remove them. Cc: Paul Gortmaker <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2021-07-07ppc: Remove caddy2 / vme8349 boardsTom Rini
These boards have not been converted to CONFIG_DM_PCI by the deadline and is also missing conversion to CONFIG_DM. Remove them. Cc: Reinhard Arlt <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2021-07-07ppc: Remove MPC8313ERDB boardsTom Rini
These boards have not been converted to CONFIG_DM_PCI by the deadline. Remove them. Signed-off-by: Tom Rini <[email protected]>
2021-07-07ppc: Remove ve8313 boardTom Rini
This board has not been converted to CONFIG_DM_PCI by the deadline. Remove it. Cc: Heiko Schocher <[email protected]> Signed-off-by: Tom Rini <[email protected]> Acked-by: Heiko Schocher <[email protected]>
2021-07-07ppc: Remove mpc8308_p1m boardTom Rini
This board has not been converted to CONFIG_DM_PCI by the deadline. Remove it. Cc: Ilya Yanok <[email protected]> Signed-off-by: Tom Rini <[email protected]>