Skip to content

Commit 1a307cc

Browse files
committed
arm64: dts: ti: k3-j7200: Fix gic-v3 compatible regs
Though GIC ARE option is disabled for no GIC-v2 compatibility, Cortex-A72 is free to implement the CPU interface as long as it communicates with the GIC using the stream protocol. This requires that the SoC integration mark out the PERIPHBASE[1] as reserved area within the SoC. See longer discussion in [2] for further information. Update the GIC register map to indicate offsets from PERIPHBASE based on [3]. Without doing this, systems like kvm will not function with gic-v2 emulation. [1] https://developer.arm.com/documentation/100095/0002/system-control/aarch64-register-descriptions/configuration-base-address-register--el1 [2] https://lore.kernel.org/all/[email protected]/ [3] https://developer.arm.com/documentation/100095/0002/way1382452674438 Cc: [email protected] Fixes: d361ed8 ("arm64: dts: ti: Add support for J7200 SoC") Reported-by: Marc Zyngier <[email protected]> Signed-off-by: Nishanth Menon <[email protected]> Acked-by: Marc Zyngier <[email protected]> Link: https://lore.kernel.org/r/[email protected]
1 parent a06ed27 commit 1a307cc

File tree

2 files changed

+5
-1
lines changed

2 files changed

+5
-1
lines changed

arch/arm64/boot/dts/ti/k3-j7200-main.dtsi

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,10 @@
5454
#interrupt-cells = <3>;
5555
interrupt-controller;
5656
reg = <0x00 0x01800000 0x00 0x10000>, /* GICD */
57-
<0x00 0x01900000 0x00 0x100000>; /* GICR */
57+
<0x00 0x01900000 0x00 0x100000>, /* GICR */
58+
<0x00 0x6f000000 0x00 0x2000>, /* GICC */
59+
<0x00 0x6f010000 0x00 0x1000>, /* GICH */
60+
<0x00 0x6f020000 0x00 0x2000>; /* GICV */
5861

5962
/* vcpumntirq: virtual CPU interface maintenance interrupt */
6063
interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;

arch/arm64/boot/dts/ti/k3-j7200.dtsi

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,7 @@
129129
<0x00 0x00a40000 0x00 0x00a40000 0x00 0x00000800>, /* timesync router */
130130
<0x00 0x01000000 0x00 0x01000000 0x00 0x0d000000>, /* Most peripherals */
131131
<0x00 0x30000000 0x00 0x30000000 0x00 0x0c400000>, /* MAIN NAVSS */
132+
<0x00 0x6f000000 0x00 0x6f000000 0x00 0x00310000>, /* A72 PERIPHBASE */
132133
<0x00 0x70000000 0x00 0x70000000 0x00 0x00800000>, /* MSMC RAM */
133134
<0x00 0x18000000 0x00 0x18000000 0x00 0x08000000>, /* PCIe1 DAT0 */
134135
<0x41 0x00000000 0x41 0x00000000 0x01 0x00000000>, /* PCIe1 DAT1 */

0 commit comments

Comments
 (0)