summaryrefslogtreecommitdiff
path: root/arch/arm64
AgeCommit message (Collapse)AuthorFilesLines
2025-03-04arm64: dts: qcom: msm8998: Switch to undeprecated qcom,calibration-variantKrzysztof Kozlowski1-1/+1
The property qcom,ath10k-calibration-variant was deprecated in favor of recently introduced generic qcom,calibration-variant, common to all Qualcomm Atheros WiFi bindings. Change will affect out of tree users, like other projects, of this DTS. Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Link: https://lore.kernel.org/r/20250225-dts-qcom-wifi-calibration-v1-2-347e9c72dcfc@linaro.org Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2025-03-04arm64: dts: qcom: x1e80100-qcp: Enable HBR3 on external DPsAleksandrs Vinarskis1-0/+3
When no link frequencies are set, msm/dp driver defaults to HBR2 speed. Explicitly list supported frequencies including HBR3/8.1Gbps for all external DisplayPort(s). Signed-off-by: Aleksandrs Vinarskis <alex.vinarskis@gmail.com> Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Link: https://lore.kernel.org/r/20250226231436.16138-5-alex.vinarskis@gmail.com Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2025-03-04arm64: dts: qcom: x1e80100-hp-x14: Enable HBR3 on external DPsAleksandrs Vinarskis1-0/+2
When no link frequencies are set, msm/dp driver defaults to HBR2 speed. Explicitly list supported frequencies including HBR3/8.1Gbps for all external DisplayPort(s). Signed-off-by: Aleksandrs Vinarskis <alex.vinarskis@gmail.com> Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Link: https://lore.kernel.org/r/20250226231436.16138-4-alex.vinarskis@gmail.com Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2025-03-04arm64: dts: qcom: x1e001de-devkit: Enable HBR3 on external DPsAleksandrs Vinarskis1-0/+3
When no link frequencies are set, msm/dp driver defaults to HBR2 speed. Explicitly list supported frequencies including HBR3/8.1Gbps for all external DisplayPort(s). Signed-off-by: Aleksandrs Vinarskis <alex.vinarskis@gmail.com> Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Link: https://lore.kernel.org/r/20250226231436.16138-3-alex.vinarskis@gmail.com Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2025-03-04arm64: dts: qcom: x1e80100-dell-xps13-9345: Enable external DP supportAleksandrs Vinarskis1-0/+18
Particular laptops comes with two USB Type-C ports, both supporting DP alt mode. Enable output on both of them. Explicitly list supported frequencies including HBR3/8.1Gbps for all external DisplayPort(s). Due to support missing in the USB/DisplayPort combo PHY driver, the external DisplayPort is limited to 2 lanes. Derived from: arm64: dts: qcom: x1e80100-t14s: Add external DP support Signed-off-by: Aleksandrs Vinarskis <alex.vinarskis@gmail.com> Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Link: https://lore.kernel.org/r/20250226231436.16138-2-alex.vinarskis@gmail.com Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2025-03-04arm64: dts: qcom: sdm845-db845c-navigation-mezzanine: Drop CMA heapNikita Travkin1-11/+0
Initially added, the cma heap was supposed to help with libcamera swisp, however a mistake was made such that the node was never applied as part of the overlay since the change was added to the overlay root ("/") and not with a reference to the target dtb root ("&{/}"). Moveover libcamera doesn't require CMA heap on Qualcomm platforms anymore as it can now use UDMA buffers instead. Drop the CMA heap node. This change has no effect on the final dtb. This reverts commit d40fd02c1faf8faad57a7579b573bc5be51faabe. Fixes: d40fd02c1faf ("arm64: dts: qcom: sdm845-db845c-navigation-mezzanine: Add cma heap for libcamera softisp support") Suggested-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org> Signed-off-by: Nikita Travkin <nikita@trvn.ru> Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org> Link: https://lore.kernel.org/r/20250227-qcom-nonroot-overlays-v2-2-bde44f708cbe@trvn.ru Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2025-03-04arm64: dts: qcom: qrb5165-rb5-vision-mezzanine: Drop CMA heapNikita Travkin1-11/+0
Initially added, the cma heap was supposed to help with libcamera swisp, however a mistake was made such that the node was never applied as part of the overlay since the change was added to the overlay root ("/") and not with a reference to the target dtb root ("&{/}"). Moveover libcamera doesn't require CMA heap on Qualcomm platforms anymore as it can now use UDMA buffers instead. Drop the CMA heap node. This change has no effect on the final dtb. This reverts commit 99d557cfe4fcf89664762796678e26009aa3bdd9. Fixes: 99d557cfe4fc ("arm64: dts: qcom: qrb5165-rb5-vision-mezzanine: Add cma heap for libcamera softisp support") Suggested-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org> Signed-off-by: Nikita Travkin <nikita@trvn.ru> Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org> Link: https://lore.kernel.org/r/20250227-qcom-nonroot-overlays-v2-1-bde44f708cbe@trvn.ru Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2025-03-04arm64: dts: qcom: x1e80100: Drop unused passive thermal trip points for CPUStephan Gerhold1-372/+0
There are currently two passive trip points defined for the CPU, but no cooling devices are attached to the thermal zones. We don't have support for cpufreq upstream yet, but actually this is redundant anyway because the CPU is throttled automatically when reaching high temperatures. Drop the passive trip points and keep just the critical shutdown as safety measure in case the throttling fails. Signed-off-by: Stephan Gerhold <stephan.gerhold@linaro.org> Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Reviewed-by: Johan Hovold <johan+linaro@kernel.org> Link: https://lore.kernel.org/r/20250219-x1e80100-thermal-fixes-v1-4-d110e44ac3f9@linaro.org Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2025-03-04arm64: dts: qcom: x1e80100: Add GPU coolingStephan Gerhold1-80/+89
Unlike the CPU, the GPU does not throttle its speed automatically when it reaches high temperatures. With certain high GPU loads it is possible to reach the critical hardware shutdown temperature of 120°C, endangering the hardware and making it impossible to run certain applications. Set up GPU cooling similar to the ACPI tables, by throttling the GPU speed when reaching 95°C and polling every 200ms. Cc: stable@vger.kernel.org Fixes: 721e38301b79 ("arm64: dts: qcom: x1e80100: Add gpu support") Signed-off-by: Stephan Gerhold <stephan.gerhold@linaro.org> Reviewed-by: Johan Hovold <johan+linaro@kernel.org> Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Link: https://lore.kernel.org/r/20250219-x1e80100-thermal-fixes-v1-3-d110e44ac3f9@linaro.org Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2025-03-04arm64: dts: qcom: x1e80100: Apply consistent critical thermal shutdownStephan Gerhold1-64/+64
The firmware configures the TSENS controller with a maximum temperature of 120°C. When reaching that temperature, the hardware automatically triggers a reset of the entire platform. Some of the thermal zones in x1e80100.dtsi use a critical trip point of 125°C. It's impossible to reach those. It's preferable to shut down the system cleanly before reaching the hardware trip point. Make the critical temperature trip points consistent by setting all of them to 115°C and apply a consistent hysteresis. The ACPI tables also specify 115°C as critical shutdown temperature. Cc: stable@vger.kernel.org Fixes: 4e915987ff5b ("arm64: dts: qcom: x1e80100: Enable tsens and thermal zone nodes") Signed-off-by: Stephan Gerhold <stephan.gerhold@linaro.org> Reviewed-by: Johan Hovold <johan+linaro@kernel.org> Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Link: https://lore.kernel.org/r/20250219-x1e80100-thermal-fixes-v1-2-d110e44ac3f9@linaro.org Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2025-03-04arm64: dts: qcom: x1e80100: Fix video thermal zoneStephan Gerhold1-3/+7
A passive trip point at 125°C is pretty high, this is usually the temperature for the critical shutdown trip point. Also, we don't have any passive cooling devices attached to the video thermal zone. Change this to be a critical trip point, and add a "hot" trip point at 90°C for consistency with the other thermal zones. Cc: stable@vger.kernel.org Fixes: 4e915987ff5b ("arm64: dts: qcom: x1e80100: Enable tsens and thermal zone nodes") Signed-off-by: Stephan Gerhold <stephan.gerhold@linaro.org> Reviewed-by: Johan Hovold <johan+linaro@kernel.org> Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Link: https://lore.kernel.org/r/20250219-x1e80100-thermal-fixes-v1-1-d110e44ac3f9@linaro.org Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2025-03-04arm64: dts: qcom: sm8650: add missing cpu-cfg interconnect path in the mdss nodeNeil Armstrong1-2/+5
The bindings requires the mdp0-mem and the cpu-cfg interconnect path, add the missing cpu-cfg path to fix the dtbs check error and also to ensure that MDSS has enough bandwidth to let HLOS write config registers. Fixes: 9fa33cbca3d2 ("arm64: dts: qcom: sm8650: correct MDSS interconnects") Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org> Link: https://lore.kernel.org/r/20250227-topic-sm8x50-mdss-interconnect-bindings-fix-v5-2-bf6233c6ebe5@linaro.org Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2025-03-04arm64: dts: qcom: sm8550: add missing cpu-cfg interconnect path in the mdss nodeNeil Armstrong1-2/+4
The bindings requires the mdp0-mem and the cpu-cfg interconnect path, add the missing cpu-cfg path to fix the dtbs check error and also to ensure that MDSS has enough bandwidth to let HLOS write config registers. Fixes: b8591df49cde ("arm64: dts: qcom: sm8550: correct MDSS interconnects") Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org> Link: https://lore.kernel.org/r/20250227-topic-sm8x50-mdss-interconnect-bindings-fix-v5-1-bf6233c6ebe5@linaro.org Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2025-03-04KVM: arm64: nv: Fail KVM init if asking for NV without GICv3Marc Zyngier1-0/+7
Although there is nothing in NV that is fundamentally incompatible with the lack of GICv3, there is no HW implementation without one, at least on the virtual side (yes, even fruits have some form of vGICv3). We therefore make the decision to require GICv3, which will only affect models such as QEMU. Booting with a GICv2 or something even more exotic while asking for NV will result in KVM being disabled. Signed-off-by: Marc Zyngier <maz@kernel.org> Link: https://lore.kernel.org/r/20250225172930.1850838-17-maz@kernel.org Signed-off-by: Oliver Upton <oliver.upton@linux.dev>
2025-03-04KVM: arm64: nv: Allow userland to set VGIC maintenance IRQAndre Przywara2-2/+28
The VGIC maintenance IRQ signals various conditions about the LRs, when the GIC's virtualization extension is used. So far we didn't need it, but nested virtualization needs to know about this interrupt, so add a userland interface to setup the IRQ number. The architecture mandates that it must be a PPI, on top of that this code only exports a per-device option, so the PPI is the same on all VCPUs. Signed-off-by: Andre Przywara <andre.przywara@arm.com> [added some bits of documentation] Signed-off-by: Marc Zyngier <maz@kernel.org> Link: https://lore.kernel.org/r/20250225172930.1850838-16-maz@kernel.org Signed-off-by: Oliver Upton <oliver.upton@linux.dev>
2025-03-04KVM: arm64: nv: Fold GICv3 host trapping requirements into guest setupMarc Zyngier1-3/+17
Popular HW that is able to use NV also has a broken vgic implementation that requires trapping. On such HW, propagate the host trap bits into the guest's shadow ICH_HCR_EL2 register, making sure we don't allow an L2 guest to bring the system down. This involves a bit of tweaking so that the emulation code correctly poicks up the shadow state as needed, and to only partially sync ICH_HCR_EL2 back with the guest state to capture EOIcount. Signed-off-by: Marc Zyngier <maz@kernel.org> Link: https://lore.kernel.org/r/20250225172930.1850838-15-maz@kernel.org Signed-off-by: Oliver Upton <oliver.upton@linux.dev>
2025-03-04KVM: arm64: nv: Propagate used_lrs between L1 and L0 contextsMarc Zyngier1-0/+7
We have so far made sure that L1 and L0 vgic contexts were totally independent. There is however one spot of bother with this approach, and that's in the GICv3 emulation code required by our fruity friends. The issue is that the emulation code needs to know how many LRs are in flight. And while it is easy to reach the L0 version through the vcpu pointer, doing so for the L1 is much more complicated, as these structures are private to the nested code. We could simply expose that structure and pick one or the other depending on the context, but this seems extra complexity for not much benefit. Instead, just propagate the number of used LRs from the nested code into the L0 context, and be done with it. Should this become a burden, it can be easily rectified. Signed-off-by: Marc Zyngier <maz@kernel.org> Link: https://lore.kernel.org/r/20250225172930.1850838-14-maz@kernel.org Signed-off-by: Oliver Upton <oliver.upton@linux.dev>
2025-03-04KVM: arm64: nv: Request vPE doorbell upon nested ERET to L2Oliver Upton3-1/+21
Running an L2 guest with GICv4 enabled goes absolutely nowhere, and gets into a vicious cycle of nested ERET followed by nested exception entry into the L1. When KVM does a put on a runnable vCPU, it marks the vPE as nonresident but does not request a doorbell IRQ. Behind the scenes in the ITS driver's view of the vCPU, its_vpe::pending_last gets set to true to indicate that context is still runnable. This comes to a head when doing the nested ERET into L2. The vPE doesn't get scheduled on the redistributor as it is exclusively part of the L1's VGIC context. kvm_vgic_vcpu_pending_irq() returns true because the vPE appears runnable, and KVM does a nested exception entry into the L1 before L2 ever gets off the ground. This issue can be papered over by requesting a doorbell IRQ when descheduling a vPE as part of a nested ERET. KVM needs this anyway to kick the vCPU out of the L2 when an IRQ becomes pending for the L1. Link: https://lore.kernel.org/r/20240823212703.3576061-4-oliver.upton@linux.dev Signed-off-by: Marc Zyngier <maz@kernel.org> Link: https://lore.kernel.org/r/20250225172930.1850838-13-maz@kernel.org Signed-off-by: Oliver Upton <oliver.upton@linux.dev>
2025-03-04KVM: arm64: nv: Respect virtual HCR_EL2.TWx settingJintack Lim2-1/+18
Forward exceptions due to WFI or WFE instructions to the virtual EL2 if they are not coming from the virtual EL2 and virtual HCR_EL2.TWx is set. Signed-off-by: Jintack Lim <jintack.lim@linaro.org> Signed-off-by: Marc Zyngier <maz@kernel.org> Link: https://lore.kernel.org/r/20250225172930.1850838-12-maz@kernel.org Signed-off-by: Oliver Upton <oliver.upton@linux.dev>
2025-03-04KVM: arm64: nv: Add Maintenance Interrupt emulationMarc Zyngier5-0/+91
Emulating the vGIC means emulating the dreaded Maintenance Interrupt. This is a two-pronged problem: - while running L2, getting an MI translates into an MI injected in the L1 based on the state of the HW. - while running L1, we must accurately reflect the state of the MI line, based on the in-memory state. The MI INTID is added to the distributor, as expected on any virtualisation-capable implementation, and further patches will allow its configuration. Signed-off-by: Marc Zyngier <maz@kernel.org> Link: https://lore.kernel.org/r/20250225172930.1850838-11-maz@kernel.org Signed-off-by: Oliver Upton <oliver.upton@linux.dev>
2025-03-04KVM: arm64: nv: Handle L2->L1 transition on interrupt injectionMarc Zyngier4-8/+41
An interrupt being delivered to L1 while running L2 must result in the correct exception being delivered to L1. This means that if, on entry to L2, we found ourselves with pending interrupts in the L1 distributor, we need to take immediate action. This is done by posting a request which will prevent the entry in L2, and deliver an IRQ exception to L1, forcing the switch. Signed-off-by: Marc Zyngier <maz@kernel.org> Link: https://lore.kernel.org/r/20250225172930.1850838-10-maz@kernel.org Signed-off-by: Oliver Upton <oliver.upton@linux.dev>
2025-03-04KVM: arm64: nv: Nested GICv3 emulationMarc Zyngier6-1/+242
When entering a nested VM, we set up the hypervisor control interface based on what the guest hypervisor has set. Especially, we investigate each list register written by the guest hypervisor whether HW bit is set. If so, we translate hw irq number from the guest's point of view to the real hardware irq number if there is a mapping. Co-developed-by: Jintack Lim <jintack@cs.columbia.edu> Signed-off-by: Jintack Lim <jintack@cs.columbia.edu> [Christoffer: Redesigned execution flow around vcpu load/put] Co-developed-by: Christoffer Dall <christoffer.dall@arm.com> Signed-off-by: Christoffer Dall <christoffer.dall@arm.com> [maz: Rewritten to support GICv3 instead of GICv2, NV2 support] Signed-off-by: Marc Zyngier <maz@kernel.org> Link: https://lore.kernel.org/r/20250225172930.1850838-9-maz@kernel.org Signed-off-by: Oliver Upton <oliver.upton@linux.dev>
2025-03-04KVM: arm64: nv: Sanitise ICH_HCR_EL2 accessesMarc Zyngier1-0/+9
As ICH_HCR_EL2 is a VNCR accessor when runnintg NV, add some sanitising to what gets written. Crucially, mark TDIR as RES0 if the HW doesn't support it (unlikely, but hey...), as well as anything GICv4 related, since we only expose a GICv3 to the uest. Signed-off-by: Marc Zyngier <maz@kernel.org> Link: https://lore.kernel.org/r/20250225172930.1850838-8-maz@kernel.org Signed-off-by: Oliver Upton <oliver.upton@linux.dev>
2025-03-04KVM: arm64: nv: Plumb handling of GICv3 EL2 accessesMarc Zyngier3-2/+220
Wire the handling of all GICv3 EL2 registers, and provide emulation for all the non memory-backed registers (ICC_SRE_EL2, ICH_VTR_EL2, ICH_MISR_EL2, ICH_ELRSR_EL2, and ICH_EISR_EL2). Signed-off-by: Marc Zyngier <maz@kernel.org> Link: https://lore.kernel.org/r/20250225172930.1850838-7-maz@kernel.org Signed-off-by: Oliver Upton <oliver.upton@linux.dev>
2025-03-04KVM: arm64: nv: Add ICH_*_EL2 registers to vpcu_sysregMarc Zyngier1-0/+26
FEAT_NV2 comes with a bunch of register-to-memory redirection involving the ICH_*_EL2 registers (LRs, APRs, VMCR, HCR). Adds them to the vcpu_sysreg enumeration. Signed-off-by: Marc Zyngier <maz@kernel.org> Link: https://lore.kernel.org/r/20250225172930.1850838-6-maz@kernel.org Signed-off-by: Oliver Upton <oliver.upton@linux.dev>
2025-03-04KVM: arm64: nv: Load timer before the GICMarc Zyngier1-1/+5
In order for vgic_v3_load_nested to be able to observe which timer interrupts have the HW bit set for the current context, the timers must have been loaded in the new mode and the right timer mapped to their corresponding HW IRQs. At the moment, we load the GIC first, meaning that timer interrupts injected to an L2 guest will never have the HW bit set (we see the old configuration). Swapping the two loads solves this particular problem. Signed-off-by: Marc Zyngier <maz@kernel.org> Link: https://lore.kernel.org/r/20250225172930.1850838-5-maz@kernel.org Signed-off-by: Oliver Upton <oliver.upton@linux.dev>
2025-03-04arm64: sysreg: Add layout for ICH_MISR_EL2Marc Zyngier2-5/+12
The ICH_MISR_EL2-related macros are missing a number of status bits that we are about to handle. Take this opportunity to fully describe the layout of that register as part of the automatic generation infrastructure. Reviewed-by: Andre Przywara <andre.przywara@arm.com> Signed-off-by: Marc Zyngier <maz@kernel.org> Link: https://lore.kernel.org/r/20250225172930.1850838-4-maz@kernel.org Signed-off-by: Oliver Upton <oliver.upton@linux.dev>
2025-03-04arm64: sysreg: Add layout for ICH_VTR_EL2Marc Zyngier4-26/+25
The ICH_VTR_EL2-related macros are missing a number of config bits that we are about to handle. Take this opportunity to fully describe the layout of that register as part of the automatic generation infrastructure. This results in a bit of churn to repaint constants that are now generated with a different format. Reviewed-by: Andre Przywara <andre.przywara@arm.com> Signed-off-by: Marc Zyngier <maz@kernel.org> Link: https://lore.kernel.org/r/20250225172930.1850838-3-maz@kernel.org Signed-off-by: Oliver Upton <oliver.upton@linux.dev>
2025-03-04arm64: sysreg: Add layout for ICH_HCR_EL2Marc Zyngier5-35/+46
The ICH_HCR_EL2-related macros are missing a number of control bits that we are about to handle. Take this opportunity to fully describe the layout of that register as part of the automatic generation infrastructure. This results in a bit of churn, unfortunately. Reviewed-by: Andre Przywara <andre.przywara@arm.com> Signed-off-by: Marc Zyngier <maz@kernel.org> Link: https://lore.kernel.org/r/20250225172930.1850838-2-maz@kernel.org Signed-off-by: Oliver Upton <oliver.upton@linux.dev>
2025-03-04arm64: dts: rockchip: Add avdd HDMI supplies to RockPro64 board dtsiDragan Simic1-0/+12
Add missing "avdd-0v9-supply" and "avdd-1v8-supply" properties to the "hdmi" node in the Pine64 RockPro64 board dtsi file. To achieve this, also add the associated "vcca_0v9" regulator that produces the 0.9 V supply, [1][2] which hasn't been defined previously in the board dtsi file. This also eliminates the following warnings from the kernel log: dwhdmi-rockchip ff940000.hdmi: supply avdd-0v9 not found, using dummy regulator dwhdmi-rockchip ff940000.hdmi: supply avdd-1v8 not found, using dummy regulator There are no functional changes to the way board works with these additions, because the "vcc1v8_dvp" and "vcca_0v9" regulators are always enabled, [1][2] but these additions improve the accuracy of hardware description. These changes apply to the both supported hardware revisions of the Pine64 RockPro64, i.e. to the production-run revisions 2.0 and 2.1. [1][2] [1] https://files.pine64.org/doc/rockpro64/rockpro64_v21-SCH.pdf [2] https://files.pine64.org/doc/rockpro64/rockpro64_v20-SCH.pdf Fixes: e4f3fb490967 ("arm64: dts: rockchip: add initial dts support for Rockpro64") Cc: stable@vger.kernel.org Suggested-by: Diederik de Haas <didi.debian@cknow.org> Signed-off-by: Dragan Simic <dsimic@manjaro.org> Tested-by: Diederik de Haas <didi.debian@cknow.org> Link: https://lore.kernel.org/r/df3d7e8fe74ed5e727e085b18c395260537bb5ac.1740941097.git.dsimic@manjaro.org Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2025-03-03arm64: dts: apple: Add touchbar screen nodesSasha Finkelstein4-0/+184
Adds device tree entries for the touchbar screen Co-developed-by: Janne Grunau <j@jannau.net> Signed-off-by: Janne Grunau <j@jannau.net> Reviewed-by: Nick Chan <towinchenmi@gmail.com> Reviewed-by: Neal Gompa <neal@gompa.dev> Signed-off-by: Sasha Finkelstein <fnkl.kernel@gmail.com> Link: https://lore.kernel.org/r/20250217-adpdrm-v7-4-ca2e44b3c7d8@gmail.com Signed-off-by: Sven Peter <sven@svenpeter.dev>
2025-03-03arm64: dts: corstone1000: Add definitions for secondary CPU coresHugues KAMBA MPIANA2-1/+28
Add cpu{1-3} device nodes to the corstone1000 device tree to enable the support for secondary CPU cores. This update facilitates symmetric multiprocessing (SMP) support on the corstone1000 Fixed Virtual Platform (FVP), allowing the secondary cores to be properly initialised and utilised. Only FVP platform will have SMP support and hence the secondary cpu definitions are not added to corstone1000.dtsi. Signed-off-by: Hugues KAMBA MPIANA <hugues.kambampiana@arm.com> Message-Id: <20250303170012.469576-1-hugues.kambampiana@arm.com> (sudeep.holla: Added psci enable-method for cpu0) Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
2025-03-03arm64: dts: qcom: gaokun3: Add Embedded Controller nodePengyu Luo1-0/+163
The Embedded Controller in the Huawei Matebook E Go is accessible on &i2c15 and provides battery and adapter status, port orientation status, as well as HPD event notifications for two USB Type-C port, etc. Add the EC to the device tree and describe the relationship among the type-c connectors, role switches, orientation switches and the QMP combo PHY. Signed-off-by: Pengyu Luo <mitltlatltl@gmail.com> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Link: https://lore.kernel.org/r/20250214180656.28599-4-mitltlatltl@gmail.com Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
2025-03-03arm64: dts: ti: k3-j784s4-j742s2-main-common: Fix serdes_ln_ctrl reg-masksSiddharth Vadapalli1-1/+3
Commit under Fixes added the 'idle-states' property for SERDES4 lane muxes without defining the corresponding register offsets and masks for it in the 'mux-reg-masks' property within the 'serdes_ln_ctrl' node. Fix this. Fixes: 7287d423f138 ("arm64: dts: ti: k3-j784s4-main: Add system controller and SERDES lane mux") Cc: stable@vger.kernel.org Signed-off-by: Siddharth Vadapalli <s-vadapalli@ti.com> Link: https://lore.kernel.org/r/20250228053850.506028-1-s-vadapalli@ti.com Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
2025-03-03arm64: dts: ti: k3-am62p: Enable AUDIO_REFCLKxFrancesco Dolcini1-0/+20
On AM62P-based SoCs the AUDIO_REFCLKx clocks can be used as an input to external peripherals when configured through CTRL_MMR, so add the clock nodes. Link: http://downloads.ti.com/tisci/esd/latest/5_soc_doc/am62px/clocks.html Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com> Link: https://lore.kernel.org/r/20250206153911.414702-1-francesco@dolcini.it Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
2025-03-02arm64: dts: ti: k3-am62-phycore-som: Reserve RTOS IPC memoryWadim Egorov1-2/+8
Reserve a portion of memory for inter-processor communication between all remote processors running RTOS or baremetal firmware. Move ramoops to lower region so the IPC fits to the correct address. Signed-off-by: Wadim Egorov <w.egorov@phytec.de> Link: https://lore.kernel.org/r/20250131093531.1054924-2-w.egorov@phytec.de Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
2025-03-02arm64: dts: ti: k3-am64-phycore-som: Reserve RTOS IPC memoryWadim Egorov1-0/+6
Reserve a portion of memory for inter-processor communication between all remote processors running RTOS or baremetal firmware. Signed-off-by: Wadim Egorov <w.egorov@phytec.de> Link: https://lore.kernel.org/r/20250131093531.1054924-1-w.egorov@phytec.de Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
2025-03-02arm64: dts: ti: k3-am62p5-sk: Add serial aliasVibhore Vardhan1-0/+1
Add alias for mcu_uart0. Signed-off-by: Vibhore Vardhan <vibhore@ti.com> Signed-off-by: Markus Schneider-Pargmann <msp@baylibre.com> Link: https://lore.kernel.org/r/20250203-topic-am62-serial-aliases-v6-14-v1-3-f26d4124a9f1@baylibre.com Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
2025-03-02arm64: dts: ti: k3-am62a7-sk: Add serial aliasMarkus Schneider-Pargmann1-0/+1
Add alias for mcu_uart0. Signed-off-by: Markus Schneider-Pargmann <msp@baylibre.com> Link: https://lore.kernel.org/r/20250203-topic-am62-serial-aliases-v6-14-v1-2-f26d4124a9f1@baylibre.com Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
2025-03-02arm64: dts: ti: k3-am62x-sk-common: Add serial aliasesMarkus Schneider-Pargmann1-0/+2
Add aliases for mcu_uart0 and wkup_uart0. Signed-off-by: Markus Schneider-Pargmann <msp@baylibre.com> Link: https://lore.kernel.org/r/20250203-topic-am62-serial-aliases-v6-14-v1-1-f26d4124a9f1@baylibre.com Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
2025-03-02arm64: dts: ti: k3-am62p5-sk: Support SoC wakeup using USB1 wakeupSiddharth Vadapalli1-1/+1
After the SoC has entered the Deep Sleep mode, USB1 can be used to wakeup the SoC based on USB events triggered by USB devices. This requires that the pin corresponding to the Type-A connector remains pulled up even after the SoC has entered the Deep Sleep mode. Hence, enable Deep Sleep pullup / pulldown selection for the USB1_DRVBUS pin and set its Deep Sleep state to PULL_UP. Signed-off-by: Siddharth Vadapalli <s-vadapalli@ti.com> Link: https://lore.kernel.org/r/20250130062550.1554651-1-s-vadapalli@ti.com Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
2025-03-02arm64: dts: ti: k3-am625-beagleplay: Reserve 128MiB of global CMANishanth Menon1-0/+8
In the same lines of commit 9e8560556f9c ("arm64: dts: ti: k3-am62x-sk-common: Reserve 128MiB of global CMA"), reserve global CMA pool for: LCD Display: 16MiB, HDMI (1080p): 16MiB, GPU: 16MiB, CSI2 1 1080p sensor: 32MiB with a 32MiB set for other peripherals and a 16MiB buffer. Signed-off-by: Nishanth Menon <nm@ti.com> Link: https://lore.kernel.org/r/20250131173508.1338842-1-nm@ti.com Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
2025-03-02arm64: dts: ti: k3-j721e-sk: Add boot phase tag to SERDES3Siddharth Vadapalli1-0/+1
The USB0 instance of USB on J721E SoC can be used for USB DFU boot. Since the USB Type-C interface on the J721E-SK is connected to USB0 via SERDES3, supporting USB DFU boot requires SERDES3 link associated with USB0 to be functional at all stages of the USB DFU boot process. Thus, add the "bootph-all" boot phase tag to "serdes3_usb_link" device-tree node. Signed-off-by: Siddharth Vadapalli <s-vadapalli@ti.com> Link: https://lore.kernel.org/r/20250209081738.1874749-3-s-vadapalli@ti.com Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
2025-03-02arm64: dts: ti: k3-j721e-common-proc-board: Add boot phase tag to SERDES3Siddharth Vadapalli1-0/+1
The USB0 instance of USB on J721E SoC can be used for USB DFU boot. Since the USB Type-C interface on the J721E-EVM is connected to USB0 via SERDES3, supporting USB DFU boot requires SERDES3 link associated with USB0 to be functional at all stages of the USB DFU boot process. Thus, add the "bootph-all" boot phase tag to "serdes3_usb_link" device-tree node. Signed-off-by: Siddharth Vadapalli <s-vadapalli@ti.com> Link: https://lore.kernel.org/r/20250209081738.1874749-2-s-vadapalli@ti.com Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
2025-03-02arm64: dts: ti: k3-am62p-j722s-common-wakeup: Configure ti-sysc for wkup_uart0Vibhore Vardhan1-7/+29
Similar to the TI K3-AM62x Soc commit ce27f7f9e328c8582a169f97f1466976561f1 ("arm64: dts: ti: k3-am62-wakeup: Configure ti-sysc for wkup_uart0") The devices in the wkup domain are capable of waking up the system from suspend. We can configure the wkup domain devices in a generic way using the ti-sysc interconnect target module driver like we have done with the earlier TI SoCs. As ti-sysc manages the SYSCONFIG related registers independent of the child hardware device, the wake-up configuration is also set even if wkup_uart0 is reserved by sysfw. The wkup_uart0 device has interconnect target module register mapping like dra7 wkup uart. There is a 1 MB interconnect target range with one uart IP block in the target module. The power domain and clock affects the whole interconnect target module. Note we change the functional clock name to follow the ti-sysc binding and use "fck" instead of "fclk". Also note that we need to disable the target module reset as noted by Markus. Otherwise the sysfw using wkup_uart0 can get confused on some devices leading to boot time issues such as mbox timeouts. Signed-off-by: Vibhore Vardhan <vibhore@ti.com> Signed-off-by: Kendall Willis <k-willis@ti.com> Reviewed-by: Dhruva Gole <d-gole@ti.com> Link: https://lore.kernel.org/r/20250212215248.746838-1-k-willis@ti.com Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
2025-03-02arm64: dts: ti: k3-am62a7-sk: Add alias for RTCVibhore Vardhan1-0/+2
Adds alias for SoC RTC so that it gets assigned rtc0. PMIC node is assigned rtc1 so that PMIC RTC gets probed as rtc1. This makes it consistent for testing rtcwake with other AM62 devices where rtc0 is SoC RTC. Signed-off-by: Vibhore Vardhan <vibhore@ti.com> [k-willis@ti.com: Reworded commit message] Reviewed-by: Dhruva Gole <d-gole@ti.com> Signed-off-by: Kendall Willis <k-willis@ti.com> Link: https://lore.kernel.org/r/20250214232212.1158505-1-k-willis@ti.com Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
2025-03-02arm64: dts: ti: k3-j721s2-som-p0: Add flash partition detailsUdit Kumar1-0/+41
When used as boot device, OSPI flash hosts different boot binaries and rootfs etc. So Add partition details for images hosted on OSPI flash. Signed-off-by: Udit Kumar <u-kumar1@ti.com> Link: https://lore.kernel.org/r/20250215070059.1593489-1-u-kumar1@ti.com Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
2025-03-02arm64: dts: ti: k3-am62-verdin-dahlia: add Microphone Jack to sound cardStefan Eichenberger1-3/+3
The simple-audio-card's microphone widget currently connects to the headphone jack. Routing the microphone input to the microphone jack allows for independent operation of the microphone and headphones. This resolves the following boot-time kernel log message, which indicated a conflict when the microphone and headphone functions were not separated: debugfs: File 'Headphone Jack' in directory 'dapm' already present! Fixes: f5bf894c865b ("arm64: dts: ti: verdin-am62: dahlia: add sound card") Signed-off-by: Stefan Eichenberger <stefan.eichenberger@toradex.com> Reviewed-by: Francesco Dolcini <francesco.dolcini@toradex.com> Reviewed-by: Jai Luthra <jai.luthra@linux.dev> Link: https://lore.kernel.org/r/20250217144643.178222-1-eichest@gmail.com Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
2025-03-02arm64: dts: ti: k3-j784s4-j742s2-main-common: Correct the GICD sizeKeerthy1-1/+1
Currently we get the warning: "GICv3: [Firmware Bug]: GICR region 0x0000000001900000 has overlapping address" As per TRM GICD is 64 KB. Fix it by correcting the size of GICD. Cc: stable@vger.kernel.org Fixes: 9cc161a4509c ("arm64: dts: ti: Refactor J784s4 SoC files to a common file") Link: https://lore.kernel.org/r/20250218052248.4734-1-j-keerthy@ti.com Signed-off-by: Keerthy <j-keerthy@ti.com> Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
2025-03-02arm64: dts: ti: k3-am62p5-sk: Add boot phase tag for USB0Siddharth Vadapalli1-0/+1
The USB0 instance of USB on AM62Px SoC can be used for USB DFU boot. This requires USB0 to be enabled at all stages of the boot process. In order to support USB DFU boot on AM62P5-SK, add the "bootph-all" property to USB0. Signed-off-by: Siddharth Vadapalli <s-vadapalli@ti.com> Link: https://lore.kernel.org/r/20250122124223.1118789-3-s-vadapalli@ti.com Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>