summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-10-28arm64: dts: ti: iot2050: Add overlays for M.2 used by firmwareJan Kiszka
To allow firmware to pick up all DTs from here, move the overlays that are normally applied during DT fixup to the kernel source as well. Hook then into the build nevertheless to ensure that regular checks are performed. Signed-off-by: Jan Kiszka <[email protected]> Link: https://lore.kernel.org/r/91f8b825467651ebd51a4051f153ab136eeb1849.1724830741.git.jan.kiszka@siemens.com Signed-off-by: Nishanth Menon <[email protected]> [ upstream commit: dba27d026fc841d28a0ed373f617cc84ec0e4504 ] (cherry picked from commit 741915246a92fc4c21537f9623a69612f7cef03a)
2024-10-28arm64: dts: ti: iot2050: Disable lock-step for all iot2050 boardsLi Hua Qian
The PG1 A variant of the iot2050 series has been identified which partially lacks support for lock-step mode. This implies that all iot2050 boards can't support this mode. As a result, lock-step mode has been disabled across all iot2050 boards for consistency and to avoid potential issues. Signed-off-by: Li Hua Qian <[email protected]> Signed-off-by: Jan Kiszka <[email protected]> Link: https://lore.kernel.org/r/d1f5f84db7a1597cd29628a0b503e578367b7b40.1724830741.git.jan.kiszka@siemens.com Signed-off-by: Nishanth Menon <[email protected]> [ upstream commit: e0133f883cf115d9e97e704169a9fb6003caefb2 ] (cherry picked from commit 4b4872feb66a9043741819a57af280ffb4a96608)
2024-10-28board: siemens: iot2050: Stop using special spl DT sourcesJan Kiszka
We can simply use the default DT, Basic PG1, because no nodes that are different between the variants play a role for SPL. Will help with the migration to OF_UPSTREAM. Signed-off-by: Jan Kiszka <[email protected]>
2024-10-28board: siemens: iot2050: Generalize the fdt fixupBaocheng Su
The fdt fixup logic actually also applies to other possible variants who also have device tree overlays. So generalize this part by extracting it from the m.2 specific function and make it a standalone one. Since now we only have M.2 variant consuming the overlay, it may not have immediate effect for other variant, however this makes the future variant more easier to apply fdt fixups. Signed-off-by: Baocheng Su <[email protected]> Signed-off-by: Jan Kiszka <[email protected]>
2024-10-28board: siemens: iot2050: Pass DDR size from FSBLBaocheng Su
Due to new DDR size introduction, the current logic of determining the DDR size is not able to get the correct size. Instead, the DDR size is determined by the FSBL(SEBOOT) then passed to u-boot through the scratchpad info. The SEBoot version must be >= D/V01.04.01.02 to support this change. Also now for some variants, the DDR size may > 2GB, so borrow some code from the TI evm to iot2050 to support more than 2GB DDR. Signed-off-by: Baocheng Su <[email protected]> Signed-off-by: Jan Kiszka <[email protected]>
2024-10-28board: siemens: iot2050: Control pcie power for all variantsBaocheng Su
The power control pin of pcie interface not only works for M.2 interface but also for miniPCIE, so promote this logic to all variants to workaround the module hang issue. Signed-off-by: Baocheng Su <[email protected]> Signed-off-by: Jan Kiszka <[email protected]> Reviewed-by: Michael Trimarchi <[email protected]>
2024-10-28board: siemens: iot2050: Fix coding styleBaocheng Su
Add a space after the 'if' Signed-off-by: Baocheng Su <[email protected]> Signed-off-by: Jan Kiszka <[email protected]>
2024-10-28board: siemens: iot2050: Fix mistake in list of writable env varsJan Kiszka
This prevented to set m2_manual_config - as evaluated by m2_connector_setup - under strict configurations for secure boot. Signed-off-by: Jan Kiszka <[email protected]> Reviewed-by: Michael Trimarchi <[email protected]>
2024-10-28Revert "acpi_table: Fix coverity defect in acpi_write_spcr"Tom Rini
This commit introduces a number of failure to build issues. For now, revert it and we will wait for v2 to address the issue and the build problems as well. This reverts commit e1c3c720e780eed6647796d69dca6184640234a5. Signed-off-by: Tom Rini <[email protected]>
2024-10-28Prepare v2025.01-rc1v2025.01-rc1Tom Rini
Signed-off-by: Tom Rini <[email protected]>
2024-10-28acpi_table: Fix coverity defect in acpi_write_spcrPatrick Rudolph
Fix "Integer handling issues (SIGN_EXTENSION)" in newly added code: Cast serial_info.reg_offset to u64 to prevent an integer overflow when shifted too many bits to the left. Currently this never happens as the shift is supposed to be less than 4. Signed-off-by: Patrick Rudolph <[email protected]> Reviewed-by: Moritz Fischer <[email protected]>
2024-10-28mmc: renesas-sdhi: Add compatible string for rzg2l-sdhiPaul Barker
After the recent dts/upstream subtree merge, the sdhi compatible string used in the device tree for RZ/G2L family SoCs is "renesas,rzg2l-sdhi" not "renesas,rcar-gen3-sdhi". This broke the ability to access the eMMC and SD card devices on RZ/G2L boards. Fix this by adding the new compatible string to the sdhi driver. Fixes: 136b7b6d2e98 ("Subtree merge tag 'v6.11-dts' of dts repo [1] into dts/upstream") Reviewed-by: Jaehoon Chung <[email protected]> Reviewed-by: Marek Vasut <[email protected]> Signed-off-by: Paul Barker <[email protected]>
2024-10-28ARM: renesas: Add top level board/renesas/ MAINTAINERS fileMarek Vasut
Add top level board/renesas/ MAINTAINERS file to catch all the common Renesas file patterns and put people on CC via get_maintainer.pl script. Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Paul Barker <[email protected]>
2024-10-28ARM: renesas: Drop old unused power DT headersMarek Vasut
Renesas R-Car systems use mainline Linux DTs for U-Boot via OF_UPSTREAM, which also includes headers from dts/upstream/include/dt-bindings/power . Remove unused legacy DT header files from include/dt-bindings/power . Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Paul Barker <[email protected]>
2024-10-28ARM: renesas: Drop old unused clock DT headersMarek Vasut
Renesas R-Car systems use mainline Linux DTs for U-Boot via OF_UPSTREAM, which also includes headers from dts/upstream/include/dt-bindings/clock . Remove unused legacy DT header files from include/dt-bindings/clock . Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Paul Barker <[email protected]> Reviewed-by: Sumit Garg <[email protected]>
2024-10-28Merge https://source.denx.de/u-boot/custodians/u-boot-riscvTom Rini
CI: https://source.denx.de/u-boot/custodians/u-boot-riscv/-/pipelines/23051 - risc-v: Add Zicbom support - board: Support RVVM board - DTS: device tree fixes - configs: Enable some configs
2024-10-28riscv: cache: Add CBO instructionsMayuresh Chitale
Define CBO inval and flush instructions and use those for the dcache inval and flush operations respectively. Signed-off-by: Mayuresh Chitale <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2024-10-28riscv: Add support for defining instructionsMayuresh Chitale
Add insn-def.h which is similar to that in linux and contains the macros to generate any instruction of type 'I' using the assembler's .insn directive. Signed-off-by: Mayuresh Chitale <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2024-10-28riscv64: dts: starfive: Mars ethernet0 phy delay values sync with upstream LinuxE Shattow
Milk-V Mars vendor board support package has value 0xa (multiplier=150) for both rx and tx delay. Upstream Linux has this as 1500 for both rx and tx delay. There is no documentation for why this should remain 1900 so correct it now. Mars CM and Mars CM Lite follow the same network phy delay values as Mars in the vendor board support package. Fixes: 92db23f7660de5897c8e3b91489b5b5780ffcd16 Signed-off-by: E Shattow <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2024-10-28riscv64: dts: starfive: Star64 ethernet0 phy delay values sync with upstream ↵E Shattow
Linux Fix bad delay values copied from vendor board support package of Star64, improves performance and reliability of bottom network port. Fixes: 7ebf7e77c0616ef0d2f58cc1684c230f656bd3d6 Signed-off-by: E Shattow <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2024-10-28configs: visionfive2: enable CONFIG_CMD_ERASEENVHeinrich Schuchardt
When moving from vendor U-Boot to the upstream U-Boot it is necessary to reset the environment. Provide the 'env erase' sub-command. Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2024-10-28riscv: add missing linefeed in error messageHeinrich Schuchardt
* Messages written with log_err() should be terminated with linefeed. * Spell device-tree with hyphen as elsewhere in U-Boot. Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2024-10-28riscv: qemu: Explicitly advertise RVVM supportLekKit
This patch series enables full RVVM virtual machine support which was earlier inconveniently provided as out-of-tree patchset. This should be cleaner than a separate board config, since both emulators provide similar feature set. Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2024-10-28riscv: qemu: Enable EFI framebufferLekKit
Enable framebuffer for better virtual machine integration. Some guests need EFI FB to work properly. Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2024-10-28riscv: qemu: Enable booting from NVMeLekKit
QEMU supports NVMe devices, but U-Boot only tries to boot from Virtio. This is problematic when explicitly using NVMe, so fix that. Additionally, RVVM virtual machine is almost fully compatible with QEMU, except it only implements NVMe drives instead of VirtIO. Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2024-10-28configs: th1520_lpi4a: Enable CMD_GPIO, DM_GPIO and DWAPB_GPIO driverMaksim Kiselev
Enable GPIO command and DWAPB_GPIO driver for LicheePi4A board. Signed-off-by: Maksim Kiselev <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2024-10-28gpio: dw: Add ngpios DT-property supportMaksim Kiselev
Starting with Linux commit 7569486d79ae ("gpio: dwapb: Add ngpios DT-property support") the "snps,nr-gpios" property was marked as deprecated. And since all newly added dw-apb-gpio nodes are described using generic "ngpios" property, it's time to add support for it. Signed-off-by: Maksim Kiselev <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2024-10-28cmd: sbi: Add FWFT, MPXY extensionsHeinrich Schuchardt
The SBI 3.0 specification [1] adds the following extensions: * Firmware Features Extension * Message Proxy Extension Let the sbi command detect their availability. The Firmware Features Extension is already implemented in OpenSBI. Correct the text for the DBTR extension and move it to the same position as in the specification. [1] https://github.com/riscv-non-isa/riscv-sbi-doc/releases/download/vv3.0-rc1/riscv-sbi.pdf Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2024-10-27x86: Missed removal of CMD_BOOTEFI_HELLO_COMPILEAndrew Goodbody
The config setting CMD_BOOTEFI_HELLO_COMPILE was removed in favour of BOOTEFI_HELLO_COMPILE but the usage in this Makefile was not updated. Fix it. Fixes: 6fe80876dcc7 ("efi_loader: Rename and move CMD_BOOTEFI_HELLO_COMPILE") Signed-off-by: Andrew Goodbody <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2024-10-27test: efi_loader: Fix dependency for http testAndrew Goodbody
The config setting CMD_BOOTEFI_HELLO_COMPILE was removed in favour of BOOTEFI_HELLO_COMPILE but the dependency for test_efi_helloworld_net_http was not updated and so is now incorrect preventing the test from ever running. Fix it. Fixes: 6fe80876dcc7 ("efi_loader: Rename and move CMD_BOOTEFI_HELLO_COMPILE") Signed-off-by: Andrew Goodbody <[email protected]> Reviewed-by: Tom Rini <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]>
2024-10-27Merge patch series "Implement ACPI on aarch64"Tom Rini
Patrick Rudolph <[email protected]> says: Based on the existing work done by Simon Glass this series adds support for booting aarch64 devices using ACPI only. As first target QEMU SBSA support is added, which relies on ACPI only to boot an OS. As secondary target the Raspberry Pi4 was used, which is broadly available and allows easy testing of the proposed solution. The series is split into ACPI cleanups and code movements, adding Arm specific ACPI tables and finally SoC and mainboard related changes to boot a Linux on the QEMU SBSA and RPi4. Currently only the mandatory ACPI tables are supported, allowing to boot into Linux without errors. The QEMU SBSA support is feature complete and provides the same functionality as the EDK2 implementation. The changes were tested on real hardware as well on QEMU v9.0: qemu-system-aarch64 -machine sbsa-ref -nographic -cpu cortex-a57 \ -pflash secure-world.rom \ -pflash unsecure-world.rom qemu-system-aarch64 -machine raspi4b -kernel u-boot.bin -cpu cortex-a72 \ -smp 4 -m 2G -drive file=raspbian.img,format=raw,index=0 \ -dtb bcm2711-rpi-4-b.dtb -nographic Tested against FWTS V24.03.00. Known issues: - The QEMU rpi4 support is currently limited as it doesn't emulate PCI, USB or ethernet devices! - The SMP bringup doesn't work on RPi4, but works in QEMU (Possibly cache related). - PCI on RPI4 isn't working on real hardware since the pcie_brcmstb Linux kernel module doesn't support ACPI yet. Link: https://lore.kernel.org/r/[email protected]
2024-10-27CI: Enable qemu_sbsaPatrick Rudolph
Add QEMU's SBSA ref board to azure pipelines and gitlab CI to run tests on it. TEST: Run on Azure pipelines and confirmed that tests succeed. Signed-off-by: Patrick Rudolph <[email protected]> Reviewed-by: Tom Rini <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2024-10-27configs: Add RPI4 ACPI defconfigPatrick Rudolph
Allows to build the RPi4 with ACPI enabled. TEST: - Boots on qemu-system-aarch64 -machine raspi4b - Boots on real hardware with arm_64bit=1 in config.txt Signed-off-by: Patrick Rudolph <[email protected]> Reviewed-by: Simon Glass <[email protected]> Reviewed-by: Tom Rini <[email protected]> Cc: Simon Glass <[email protected]> Cc: Matthias Brugger <[email protected]> Cc: Peter Robinson <[email protected]>
2024-10-27bloblist: Fix use of uninitialized variablePatrick Rudolph
Initialize addr to zero which allows to build on the CI which is more strict. Signed-off-by: Patrick Rudolph <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2024-10-27arm: mach-bcm283x: Enable ARMV8_MULTIENTRYPatrick Rudolph
On FDT platforms the APs are brought out of reset using the spin-table as defined in the DT. On ACPI enabled platforms there's no FDT, thus enable the ARMV8_MULTIENTRY and BLOBLIST to use the ACPI parking protocol instead. TEST: - APs enter Linux when run on qemu-system-aarch64 -machine raspi4b - APs on real hardware do not enter Linux, but continue spinning in their ACPI parking protocol spinloop. To be investigated. Signed-off-by: Patrick Rudolph <[email protected]> Reviewed-by: Simon Glass <[email protected]> Cc: Matthias Brugger <[email protected]> Cc: Peter Robinson <[email protected]> Cc: Tom Rini <[email protected]>
2024-10-27arm: mach-bcm283x: Add ARMV8_MULTIENTRY supportPatrick Rudolph
When ACPI is enabled over FDT the APs cannot be brought out of reset by the OS using the "FDT spin-table" mechanism, as no FDT is provided to the OS. The APs must be released out of reset in u-boot and then brought up in an ACPI compliant fashion. When ARMV8_MULTIENTRY is specified, the APs are released from reset and will enter U-Boot after it has been relocated as well. By default ARMV8_MULTIENTRY is not selected, keeping existing behaviour. TEST: All APs enter U-Boot when run on qemu-system-aarch64 and on real hardware. Signed-off-by: Patrick Rudolph <[email protected]> Reviewed-by: Simon Glass <[email protected]> Cc: Matthias Brugger <[email protected]> Cc: Peter Robinson <[email protected]> Cc: Tom Rini <[email protected]>
2024-10-27arm: Implement read_mpidr on armv7Patrick Rudolph
Implement read_mpidr() on armv7 to make use of it in generic code that compiles on both armv7 and armv8. Signed-off-by: Patrick Rudolph <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2024-10-27armv8: cpu: Enable ACPI parking protocolPatrick Rudolph
Update the generic entry point code to support the ACPI parking protocol. The ACPI parking protocol can be used when PSCI is not available to bring up secondary CPU cores. When enabled secondary CPUs will enter U-Boot proper and spin in their own 4KiB reserved memory page, which also acts as mailbox with the OS to release the CPU. TEST: Boots all CPUs on qemu-system-aarch64 -machine raspi4b Signed-off-by: Patrick Rudolph <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2024-10-27arm: cpu: Add ACPI parking protocol supportPatrick Rudolph
On Arm platforms that use ACPI they cannot rely on the "spin-table" CPU bringup usually defined in the FDT. Thus implement the 'ACPI Multi-processor Startup for ARM Platforms', also referred to as 'ACPI parking protocol'. The ACPI parking protocol works similar to the spin-table mechanism, but the specification also covers lots of shortcomings of the spin-table implementations. Every CPU defined in the ACPI MADT table has it's own 4K page where the spinloop code and the OS mailbox resides. When selected the U-Boot board code must make sure that the secondary CPUs enter u-boot after relocation as well, so that they can enter the spinloop code residing in the ACPI parking protocol pages. The OS will then write to the mailbox and generate an IPI to release the CPUs from the spinloop code. For now it's only implemented on ARMv8, but can easily be extended to other platforms, like ARMv7. TEST: Boots all CPUs on qemu-system-aarch64 -machine raspi4b Signed-off-by: Patrick Rudolph <[email protected]> Reviewed-by: Simon Glass <[email protected]> Cc: Simon Glass <[email protected]> Cc: Tom Rini <[email protected]>
2024-10-27board: raspberrypi: Add ASL files from tianocoreSimon Glass
Add the necessary DSDT files copied from tianocore to boot the RPi4. In addition generate a board specific SSDT to dynamically enable/disable ACPI devices based on FDT. This is required to support the various variants and boot options. It also allows to test the code on QEMU 9.0 without modifications, since it doesn't emulate PCIe yet. Signed-off-by: Simon Glass <[email protected]> Signed-off-by: Patrick Rudolph <[email protected]> Reviewed-by: Simon Glass <[email protected]> Cc: Simon Glass <[email protected]> Cc: Matthias Brugger <[email protected]> Cc: Peter Robinson <[email protected]>
2024-10-27arm: bcm283x: Generate ACPI tablesPatrick Rudolph
Generate SoC specific ACPI tables for BCM2711: - FADT - PPTT - GTDT Board specific tables like DSDT and SSDT are added in a separate patch. MADT is already properly generated from the FDT. When ACPI is enabled for a different SoC compliation will fail by design, indicating the required functions that needs to be implemented. When ACPI is not enabled the added code does nothing, keeping existing behaviour. TEST: Booted on RPi4 with only ACPI enabled, providing no FDT to the OS. Signed-off-by: Patrick Rudolph <[email protected]> Reviewed-by: Simon Glass <[email protected]> Cc: Simon Glass <[email protected]> Cc: Matthias Brugger <[email protected]> Cc: Peter Robinson <[email protected]> Cc: Tom Rini <[email protected]>
2024-10-27arm: mach-bcm283x: Bring in some header files from tianocoreSimon Glass
These header files presumably duplicate things already in the U-Boot devicetree. For now, bring them in to get the ASL code and ACPI table code to compile. Signed-off-by: Simon Glass <[email protected]> Signed-off-by: Patrick Rudolph <[email protected]> Reviewed-by: Simon Glass <[email protected]> Acked-by: Matthias Brugger <[email protected]> Cc: Matthias Brugger <[email protected]> Cc: Peter Robinson <[email protected]> Cc: Tom Rini <[email protected]>
2024-10-27arm: mach-bcm283x: Map the ARM local MMIO as wellPatrick Rudolph
Cover the "ARM local MMIO" range as well in the default MMU mapping in order to allow future code to access the GIC-400 without crashing. For now the GIC is not touched in u-boot, thus this change is a noop. See [1](BCM2711 ARM Peripherals) for reference. TEST: Enabled CONFIG_GICV2 and accessed the GIC in C code without crash. 1: https://datasheets.raspberrypi.com/bcm2711/bcm2711-peripherals.pdf Signed-off-by: Patrick Rudolph <[email protected]> Reviewed-by: Simon Glass <[email protected]> Acked-by: Matthias Brugger <[email protected]> Cc: Matthias Brugger <[email protected]> Cc: Peter Robinson <[email protected]>
2024-10-27board: emulation: Add QEMU sbsa supportPatrick Rudolph
Add support for Arm sbsa [1] v0.3+ that is supported by QEMU [2]. Unlike other Arm based platforms the machine only provides a minimal FDT that contains number of CPUs, ammount of memory and machine-version. The boot firmware has to provide ACPI tables to the OS. Due to this design a full DTB is added here as well that allows U-Boot's driver to properly function. The DTB is appended at the end of the U-Boot image and will be merged with the QEMU provided DTB. In addition provide documentation how to use, enable binman to fabricate both ROMs that are required to boot and add ACPI tables to make it full compatible to the EDK2 reference implementation. The board was tested using Fedora 40 Aarch64 Workstation. It's able to boot from USB and AHCI or network. Tested and found working: - serial - PCI - xHCI - Bochs display - AHCI - network using e1000e - CPU init - Booting Fedora 40 1: Server Base System Architecture (SBSA) 2: https://www.qemu.org/docs/master/system/arm/sbsa.html Signed-off-by: Patrick Rudolph <[email protected]> Cc: Peter Robinson <[email protected]> Cc: Simon Glass <[email protected]> Cc: Tom Rini <[email protected]>
2024-10-27common: Enable BLOBLIST_TABLES on armPatrick Rudolph
Allow to use BLOBLIST_TABLES on arm to store ACPI or other tables. Signed-off-by: Patrick Rudolph <[email protected]> Reviewed-by: Simon Glass <[email protected]> Cc: Tom Rini <[email protected]>
2024-10-27drivers/arm: Implement acpi_fill_madtPatrick Rudolph
Fill the MADT table in the GIC driver and armv8 CPU driver to drop SoC specific code. While the GIC only needs devicetree data, the CPU driver needs additional information stored in the cpu_plat struct. While on it update the only board making use of the existing drivers and writing ACPI MADT in mainboard code. TEST: Booted on QEMU sbsa-ref using GICV3 driver model generated MADT. Booted on QEMU raspb4 using GICV2 driver model generated MADT. Signed-off-by: Patrick Rudolph <[email protected]> Reviewed-by: Simon Glass <[email protected]> Cc: Simon Glass <[email protected]>
2024-10-27drivers: misc: irq-uclass: Update irq_get_by_indexPatrick Rudolph
Support reading the "interrupts" property from the devicetree in case the "interrupts-extended" property isn't found. As the "interrupts" property is commonly used, this allows to parse all existing FDT and makes irq_get_by_index() more useful. The "interrupts" property doesn't contain a phandle as "interrupts-extended" does, so implement a new method to locate the interrupt-parent called irq_get_interrupt_parent(). TEST: Read the interrupts from the GIC node for ACPI MADT generation. Signed-off-by: Patrick Rudolph <[email protected]> Reviewed-by: Moritz Fischer <[email protected]>
2024-10-27arm: lib: Add GICV2 driverPatrick Rudolph
Add a generic GICV2 driver that: - parses the DT and generates the ACPI MADT subtables - implement of_xlate() and allows irq_get_by_index() to return the correct interrupt mappings Map DT interrupts to ARM GIC interrupts as follows: - Interrupt numbers ID32-ID1019 are used for SPIs - ID0-ID15 are used for SGIs - ID16-ID31 are used for PPIs TEST: Booted on QEMU raspb4 using GICV2 driver model generated MADT. Signed-off-by: Patrick Rudolph <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2024-10-27arm: gic-v3-its: Implement of_xlatePatrick Rudolph
Translate IRQs by implementing of_xlate() as required by irq_get_by_index() to parse interrupt properties. Map DT interrupts to ARM GIC interrupts as follows: - Interrupt numbers ID32-ID1019 are used for SPIs - ID0-ID15 are used for SGIs - ID16-ID31 are used for PPIs TEST: Booted on qemu sbsa-ref that has a GICV3. Signed-off-by: Patrick Rudolph <[email protected]> Reviewed-by: Moritz Fischer <[email protected]>
2024-10-27arm: gic-v3-its: Rename objectsPatrick Rudolph
The code accesses the gic-v3 node, but not the gic-v3-its node, thus rename the objects to clarify which node it operates on. The following commit will make use of the gic-v3-its node for real. Signed-off-by: Patrick Rudolph <[email protected]> Reviewed-by: Simon Glass <[email protected]>