summaryrefslogtreecommitdiff
path: root/arch
AgeCommit message (Collapse)Author
2024-01-08Merge tag 'u-boot-imx-master-20240108' of ↵Tom Rini
https://gitlab.denx.de/u-boot/custodians/u-boot-imx - Removed fdt_addr from verdin-imx8mm to fix booting via bootefi. - Support Ethernet PHY autodection on Data Modul i.MX8M Mini/Plus eDM SBC - Add i.MX93 binman support - Add support for imx93-var-som
2024-01-08Add imx93-var-som supportMathieu Othacehe
Add support for the Variscite VAR-SOM-IMX93 evaluation kit. The SoM consists of an NXP iMX93 dual A55 CPU. The SoM is mounted on a Variscite Symphony SBC. Signed-off-by: Mathieu Othacehe <m.othacehe@gmail.com>
2024-01-08imx9: imx93_evk: Add binman support.Mathieu Othacehe
Signed-off-by: Mathieu Othacehe <m.othacehe@gmail.com>
2024-01-08mach-imx: Add i.MX93 binman support.Mathieu Othacehe
Add dedicated Makefile targets for the i.MX93 and a new imx93-u-boot.dtsi device-tree to create binman images. Signed-off-by: Mathieu Othacehe <m.othacehe@gmail.com>
2024-01-08ARM: imx: Auto-detect PHY on Data Modul i.MX8M Mini/Plus eDM SBCMarek Vasut
Implement fdtdec_board_setup() auto-detection of ethernet PHY. This uses properties of the hardware and pull resistor placement. If GPIO1_16 RGMII_MDC is HIGH, then R530 (MX8MM eDM SBC) or R390 (MX8MP eDM SBC) is populated. R530 or R390 is populated only on boards with AR8031 PHY. If GPIO1_16 RGMII_MDC is LOW, then the in-SoM pull down is the dominant pull resistor. This is the case on boards with BCM54213PE PHY. In case AR8031 PHY is populated, the PHY MDIO address is 0, in case BCM54213PE PHY is populated, the PHY MDIO address is 1, the fdtdec_board_setup() is used to patch the correct address into the U-Boot control DT. Enable broadcom PHY support to support both PHYs. Signed-off-by: Marek Vasut <marex@denx.de> Reviewed-by: Fabio Estevam <festevam@gmail.com>
2024-01-08Merge branch 'next'Tom Rini
2024-01-07riscv: allow usage of ACPIHeinrich Schuchardt
Select CONFIG_SUPPORT_ACPI to allow usage of ACPI tables with RISC-V. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2024-01-07riscv: add ACPI fields to global dataHeinrich Schuchardt
Add fields for the location of ACPI tables to the global data. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
2024-01-07arm: add ACPI fields to global dataHeinrich Schuchardt
Add fields for the location of ACPI tables to the global data. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> Reviewed-by: Simon Glass <sjg@chromium.org>
2024-01-07acpi: use 64-bit addresses in FADT tableHeinrich Schuchardt
Fields X_FIRMWAE_CTRL and X_DSDT must be 64bit wide. Convert pointers to to uintptr_t to fill these. If field X_FIRMWARE_CTRL is filled, field FIRMWARE must be ignored. If field X_DSDT is filled, field DSDT must be ignored. We should not fill unused fields. See the field definitions in chapter "5.2.9 Fixed ACPI Description Table (FADT)" of the ACPI Specification 6.5. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2024-01-07acpi: Write pointers to tables instead of addressesSimon Glass
Sandbox uses an API to map between addresses and pointers. This allows it to have (emulated) memory at zero and avoid arch-specific addressing details. It also allows memory-mapped peripherals to work. As an example, on many machines sandbox maps address 100 to pointer value 10000000. However this is not correct for ACPI, if sandbox starts another program (e.g EFI app) and passes it the tables. That app has no knowledge of sandbox's address mapping. So to make this work we want to store 10000000 as the value in the table. Add two new 'nomap' functions which clearly make this exeption to how sandbox works. This should allow EFI apps to access ACPI tables with sandbox, e.g. for testing purposes. Signed-off-by: Simon Glass <sjg@chromium.org> Suggested-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2024-01-06Merge branch 'staging' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-tegra into next Documentation updates for endeavoru, lg_x3, grouper and transformers, addition of MIPI calibration clock name for T114 (inline with T124+), conversion of TEGRA_SUPPORT_NON_SECURE into Kconfig and endeavoru stability improvements.
2024-01-06arm: dts: iot2050: Fix by syncing from LinuxJan Kiszka
This restores support for IOT2050 by widely synchronizing its DT files with the Linux kernel. We additionally need to add the alias restoration that is still waiting for its upstream merge and the not-yet-upstreamed bits needed for watchdog reboot detection. Fixes: 4dbdc84754ea ("arm: dts: k3-am654: pull in dtb update from Linux") Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
2024-01-04Merge patch series "ATF and OP-TEE Firewalling for K3 devices."Tom Rini
Manorit Chawdhry <m-chawdhry@ti.com> says: K3 devices have firewalls that are used to prevent illegal accesses to memory regions that are deemed secure. The series prevents the illegal accesses to ATF and OP-TEE regions that are present in different K3 devices. AM62X, AM62AX and AM64X are currently in hold due to some firewall configurations that our System Controller (TIFS) needs to handle. The devices that are not configured with the firewalling nodes will not be affected and can continue to work fine until the firewall nodes are added so will be a non-blocking merge. Test Logs: https://gist.github.com/manorit2001/4cead2fb3a19eb5d19005b3f54682627 CICD Run: https://github.com/u-boot/u-boot/pull/442
2024-01-04arm: dts: k3-j7200-binman: Add firewall configurationsManorit Chawdhry
The following commits adds the configuration of firewalls required to protect ATF and OP-TEE memory region from non-secure reads and writes using master and slave firewalls present in our K3 SOCs. Signed-off-by: Manorit Chawdhry <m-chawdhry@ti.com> Tested-by: Thomas Richard <thomas.richard@bootlin.com>
2024-01-04arm: dts: k3-j721s2-binman: Add firewall configurationsManorit Chawdhry
The following commits adds the configuration of firewalls required to protect ATF and OP-TEE memory region from non-secure reads and writes using master and slave firewalls present in our K3 SOCs. Signed-off-by: Manorit Chawdhry <m-chawdhry@ti.com>
2024-01-04arm: dts: k3-j721e-binman: Add firewall configurationsManorit Chawdhry
The following commits adds the configuration of firewalls required to protect ATF and OP-TEE memory region from non-secure reads and writes using master and slave firewalls present in our K3 SOCs. Signed-off-by: Manorit Chawdhry <m-chawdhry@ti.com>
2024-01-04arm: dts: k3-binman: Add k3-security.h and include it in k3-binman.dtsiManorit Chawdhry
For readability during configuring firewalls, adding k3-security.h file and including it in k3-binman.dtsi to be accessible across K3 SoCs Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Manorit Chawdhry <m-chawdhry@ti.com> Reviewed-by: Andrew Davis <afd@ti.com>
2024-01-03ARM: tegra114: support nonsecure state detectionSvyatoslav Ryhel
Principle is exactly the same as on T124, testing of register which behaves differently in secure and non-secure states. Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
2024-01-03ARM: tegra114: expand MC register mapSvyatoslav Ryhel
This expansion is required for nonsecure detection to work correctly. Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
2024-01-03ARM: tegra124: convert TEGRA_SUPPORT_NON_SECURE into KconfigSvyatoslav Ryhel
Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
2024-01-03Merge tag 'v2024.01-rc6' into nextTom Rini
Prepare v2024.01-rc6
2024-01-03arm: dts: k3-am62a*: Sync with kernel v6.7-rc1Nishanth Menon
Sync with kernel v6.7-rc1 and sync up the u-boot dts files accordingly. Signed-off-by: Nishanth Menon <nm@ti.com>
2024-01-03arm: mach-k3: am62a: Add main_timer0 id to the dev listNishanth Menon
main_timer0 is used by u-boot as the tick-timer. Add it to the soc devices list so it an be enabled via the k3 power controller. Signed-off-by: Nishanth Menon <nm@ti.com> Reviewed-by: Neha Malcom Francis <n-francis@ti.com>
2024-01-03arm: dts: k3-am654: convert bootph-pre-ram to bootph-allBryan Brattlof
Many nodes are reused between WKUP SPL, MAIN SPL, and U-Boot. Using bootph-pre-ram is causing these nodes to be present in SPL builds but pruned away during the U-Boot build. Convert these nodes to bootph-all so they will remain no matter which dtb build is happening. Tested-by: Tom Rini <trini@konsulko.com> Signed-off-by: Bryan Brattlof <bb@ti.com> Reviewed-by: Nishanth Menon <nm@ti.com>
2024-01-03arm: dts: k3-am654: remove duplicate mcu secure proxy nodeBryan Brattlof
With the Linux and U-Boot board dtb files unified, we now have a duplicate mcu secure proxy node. Remove it Tested-by: Tom Rini <trini@konsulko.com> Signed-off-by: Bryan Brattlof <bb@ti.com> Reviewed-by: Nishanth Menon <nm@ti.com>
2024-01-03arm: dts: k3-am654: move dummy_clock to root nodeBryan Brattlof
The dummy_clock node is used to help the drivers probe the IO needed to setup consoles and boot media to load firmware into the SoC. This dummy_clock isn't a device that exists nor does it exist in the mcu domain. So move it from cbass_mcu to the root node to avoid any confusion. Tested-by: Tom Rini <trini@konsulko.com> Signed-off-by: Bryan Brattlof <bb@ti.com> Reviewed-by: Nishanth Menon <nm@ti.com>
2024-01-03arm: dts: k3-am654: remove un-needed aliasesBryan Brattlof
These aliases are not needed in U-Boot. Remove them Tested-by: Tom Rini <trini@konsulko.com> Signed-off-by: Bryan Brattlof <bb@ti.com> Reviewed-by: Nishanth Menon <nm@ti.com>
2024-01-03arm: dts: k3-am654: remove duplicate root propertiesBryan Brattlof
With the Linux and U-Boot board dtb files unified, we have duplicate properties in the root node. Remove them Tested-by: Tom Rini <trini@konsulko.com> Signed-off-by: Bryan Brattlof <bb@ti.com> Reviewed-by: Nishanth Menon <nm@ti.com>
2024-01-03arm: dts: k3-am654: remove duplicate vtt pinmuxBryan Brattlof
With the Linux and U-Boot board dtb files unified, we now have a duplicate vtt_pinmux node. Remove it Tested-by: Tom Rini <trini@konsulko.com> Signed-off-by: Bryan Brattlof <bb@ti.com> Reviewed-by: Nishanth Menon <nm@ti.com>
2024-01-03arm: dts: k3-am654: remove duplicate mdioBryan Brattlof
With the Linux and U-Boot board dtb files unified, we now have a duplicate mdio node. Remove it Tested-by: Tom Rini <trini@konsulko.com> Signed-off-by: Bryan Brattlof <bb@ti.com> Reviewed-by: Nishanth Menon <nm@ti.com>
2024-01-03arm: dts: k3-am654: remove usb0Bryan Brattlof
The pinmux for usb0 is missing from the Linux board dtb file. Remove it until we can introduce it in Linux Tested-by: Tom Rini <trini@konsulko.com> Signed-off-by: Bryan Brattlof <bb@ti.com> Reviewed-by: Nishanth Menon <nm@ti.com>
2024-01-03arm: dts: k3-am654: remove duplicate ospi0 nodeBryan Brattlof
With the Linux and U-Boot board dtb files unified, we now have a duplicate ospi0 node. Remove it Tested-by: Tom Rini <trini@konsulko.com> Signed-off-by: Bryan Brattlof <bb@ti.com> Reviewed-by: Nishanth Menon <nm@ti.com>
2024-01-03arm: dts: k3-am654: remove duplicate wkup_i2c0Bryan Brattlof
With the Linux and U-Boot board dtb files unified, we now have a duplicate wkup_i2c0 node. Remove it Tested-by: Tom Rini <trini@konsulko.com> Signed-off-by: Bryan Brattlof <bb@ti.com> Reviewed-by: Nishanth Menon <nm@ti.com>
2024-01-03arm: dts: k3-am654: remove duplicate sdhci1 pinmux nodeBryan Brattlof
With the Linux and U-Boot board dtb files unified, we now have a duplicate sdhci1 pinmux node. Remove it Tested-by: Tom Rini <trini@konsulko.com> Signed-off-by: Bryan Brattlof <bb@ti.com> Reviewed-by: Nishanth Menon <nm@ti.com>
2024-01-03arm: dts: k3-am654: remove duplicate sdhci0 pinmux nodeBryan Brattlof
With the Linux and U-Boot board dtb files unified, we now have a duplicate sdhci0 pinmux node. Remove it Tested-by: Tom Rini <trini@konsulko.com> Signed-off-by: Bryan Brattlof <bb@ti.com> Reviewed-by: Nishanth Menon <nm@ti.com>
2024-01-03arm: dts: k3-am654: remove duplicate main_uart0Bryan Brattlof
With the Linux and U-Boot board dtb files unified, we now have a duplicate main_uart0 node. Remove it Tested-by: Tom Rini <trini@konsulko.com> Signed-off-by: Bryan Brattlof <bb@ti.com> Reviewed-by: Nishanth Menon <nm@ti.com>
2024-01-03arm: dts: k3-am654: remove duplicate mcu_uart0 nodeBryan Brattlof
With the Linux and U-Boot board dtb files unified we now have a duplicate mcu_uart0 node. Remove it Tested-by: Tom Rini <trini@konsulko.com> Signed-off-by: Bryan Brattlof <bb@ti.com> Reviewed-by: Nishanth Menon <nm@ti.com>
2024-01-03arm: dts: k3-am654: add needed regs to udmap nodesBryan Brattlof
Ethernet is one of a few IPs in U-Boot that depend on DMA to operate. However there are a few missing registers ranges in the udmap nodes need to properly setup DMA for the am65x. A fix has been added to the Linux kernel[0] to add these ranges however they have not made it to a Linux tag. To keep DMA operational until the next DT sync from Linux, add these ranges to the *-u-boot.dtsi with a note for our future selves. [0] https://lore.kernel.org/r/20231213135138.929517-2-vigneshr@ti.com Tested-by: Tom Rini <trini@konsulko.com> Signed-off-by: Bryan Brattlof <bb@ti.com> Reviewed-by: Nishanth Menon <nm@ti.com>
2024-01-03arm: dts: k3-am654: remove duplicate mcu_udmapBryan Brattlof
With the Linux and U-Boot board dtb files unified, we now have a duplicate mcu_udmap node. Remove it Tested-by: Tom Rini <trini@konsulko.com> Signed-off-by: Bryan Brattlof <bb@ti.com> Reviewed-by: Nishanth Menon <nm@ti.com>
2024-01-03arm: dts: k3-am654: remove duplicate mcu_ringaccBryan Brattlof
With the Linux and U-Boot board dtb files unified, we now have a duplicate mcu_ringacc node. Remove it Tested-by: Tom Rini <trini@konsulko.com> Signed-off-by: Bryan Brattlof <bb@ti.com> Reviewed-by: Nishanth Menon <nm@ti.com>
2024-01-03arm: dts: k3-am654: remove duplicate timerBryan Brattlof
timer1 is really just the mcu_timer0 node redefined for the WKUP SPL. Remove the timer1 and replace it with the mcu_timer0 from the Linux device tree we imported into U-Boot. Tested-by: Tom Rini <trini@konsulko.com> Signed-off-by: Bryan Brattlof <bb@ti.com> Reviewed-by: Nishanth Menon <nm@ti.com>
2024-01-03arm: dts: k3-am654: remove duplicate wkup_uart0Bryan Brattlof
With the Linux and U-Boot board files unified, we now have a duplicate wkup_uart0 node. Remove it Tested-by: Tom Rini <trini@konsulko.com> Signed-off-by: Bryan Brattlof <bb@ti.com> Reviewed-by: Nishanth Menon <nm@ti.com>
2024-01-03arm: dts: k3-am654: remove duplicate vtt_supplyBryan Brattlof
With the Linux and U-Boot board dtb files unified we now have a duplicate vtt_supply node. Remove it Tested-by: Tom Rini <trini@konsulko.com> Signed-off-by: Bryan Brattlof <bb@ti.com> Reviewed-by: Nishanth Menon <nm@ti.com>
2024-01-03arm: dts: k3-am654: include a53 board dtb for r5 buildBryan Brattlof
To make things as organized as possible, start from the Linux board dtbs and apply all properties needed for U-Boot in our *-u-boot.dtsi file for the MAIN SPL and U-Boot builds. We can then include these files for the WKUP SPL build making further edits to the needed properties and nodes for the WKUP SPL bootloader's view of the am65x. Tested-by: Tom Rini <trini@konsulko.com> Signed-off-by: Bryan Brattlof <bb@ti.com> Reviewed-by: Nishanth Menon <nm@ti.com>
2024-01-03arm: dts: k3-am654: copy bootph properties to a53 dtsBryan Brattlof
In order to unify the R5 board dtb file with the Linux board dtb file, we will need to copy all bootph-pre-ram properties to the *-u-boot.dtsi overlay. Tested-by: Tom Rini <trini@konsulko.com> Signed-off-by: Bryan Brattlof <bb@ti.com> Reviewed-by: Nishanth Menon <nm@ti.com>
2024-01-03arm: dts: k3-am654: pull in dtb update from LinuxBryan Brattlof
Pull in dtb updates for the am654 base board from v6.7-rc1 of Linux Tested-by: Tom Rini <trini@konsulko.com> Signed-off-by: Bryan Brattlof <bb@ti.com> Reviewed-by: Nishanth Menon <nm@ti.com>
2024-01-03arm: dts: k3-am654-r5: Merge board file and U-Boot overlayBryan Brattlof
The R5 board file for U-Boot should be the same as the board file copied from Linux with a few alterations to work with the R5's view of the SoC. First we need to unify the R5 board file and it's U-Boot overlay before we can unify the Linux board file with this one. Tested-by: Tom Rini <trini@konsulko.com> Signed-off-by: Bryan Brattlof <bb@ti.com> Reviewed-by: Nishanth Menon <nm@ti.com>
2024-01-02tegra114: clock: define MIPI calibration peripheral clockSvyatoslav Ryhel
TEGRA114_CLK_MIPI_CAL is a fixed child of PLLP and is used as clock source of the MIPI PHY calibration mechanism. Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
2023-12-31bloblist: Adjust API to align in powers of 2Simon Glass
The updated bloblist structure stores the alignment as a power-of-two value in its structures. Adjust the API to use this, to avoid needing to calling ilog2(). Update the bloblist alignment from 16 bytes to 8 bytes. Drop a stale comment while we are here. Signed-off-by: Simon Glass <sjg@chromium.org> Co-developed-by: Raymond Mao <raymond.mao@linaro.org> Signed-off-by: Raymond Mao <raymond.mao@linaro.org> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>