Armv8 Juno/FVP updates for v6.16

Few updates to the Arm FVP(Fixed Virtual Platform) device tree, enhancing
 support for system tracing, power management, and firmware coexistence:
 
 1. ETE and TRBE support
    Adds CoreSight ETE and TRBE nodes for the FVP Rev C model. These are
    disabled by default as they need to be enabled explicitly via model
    parameters.
 
 2. CPU idle states and system timer for idle broadcast
    Introduces CPU idle state definitions but disabled by default due to
    potential performance impact on the model. Also adds a system-level
    broadcast timer for use when CPUs enter deep idle states where local
    timers stop.
 
 3. Firmware memory reservation
    Reserves 64MB at the end of the first DRAM bank to prevent conflicts
    with FF-A firmware or similar configurations that rely on this region.
 
 4. Drop the unnecessary clock-frequency property in the timer nodes
    The boot/secure firmware must configure the timer clock frequency and
    the non-secure OS must be able to read the same. The clock-frequency is
    generally used when the firmware is broken which is not the case on
    most of the fast models and Juno platform.
 
 As noted above some of the changes are disabled by default where applicable
 to ensure backward compatibility and avoid unintended performance impact
 on platforms using default model parameters.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEunHlEgbzHrJD3ZPhAEG6vDF+4pgFAmgiNcUACgkQAEG6vDF+
 4pi4pA/9EoZFtzrkCmdEYvXeXwe8rkxUukR+kt8inwbZ1ES+BnaAop4qBWDfTQt/
 0d2B3jWy5PBtVSqmSVOnqJromiKMwvWCrmg7bHMz8yMaP8xGduuAcOpUgqX5eXmo
 VO/F3as9BXVYGQBSn4JqpHTpp7Y5WJBYVV+N8CZDABQXfMafDEXAxqiBEXGoTaiZ
 lECMNzTo5WLnRUL4PrZjIxSGoeh2NApPzoBi5V02G6lWa2Do1WsnKS6/wYAwiSlz
 rGkpCYp8g1qA+KxxOh9QUiUOPOndk8NwWH/ldgIUCYOR7C1tTp1ICBvhLNqbA596
 pv58Y8MYjX9R22n/MHGjzIXLVxWGm8b7HclDzwMNYt0pWdRrtSRIuf5ltdsbEW4S
 wlT5FuVrYUiLeLpGi77hqTlyHaAFS1e+wZJwEu1jcgUW73WAJnh+t6UPRfGtGf4L
 yXrVqEZQmABmX/IhYrpe6v623n+gS4qfxzM7Vz5TpzzApY057qbngD2d+ZUFpryt
 JuhRLl+pCo/EfMhrYap1QptxLc2Mjh+NkCnlN8D/ExpBevWxEY6vwRIagrmbD1km
 lO0T6QWpevahU4Wfl/tiyExW3ciE52RhQ2PlgX30edQKXlZZu5s2RISNYzXRCHmt
 cOiU6jVo2HE6iqxXhLgwYycl5rLWJl3FcJmNlXSkBxLWZYHrN10=
 =dPTB
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmgvArUACgkQmmx57+YA
 GNm4phAAoGrzPSjTSEThKNdD2p9PZ5ZL87b2zcI/SD+DVMsppv8AyOPL36u1YOUE
 eianNg/oYOlbGufN2hJyaZJ5it6Zm9vo9GblvBwq5ICc0ogY5uaMqaLUhsRddT5x
 FQwv7sWXDtbJRkFYDkiUpNx+a9p82tia8mb941R6EMCjoS5U/h6is5s52P53i/WX
 5UUAAbvtkiBV874P8RIbOXnZUEohYvrhs2UKW8pCUbPt7hU7SzDl8dpljNqFxBFF
 ZmQfJFCLulfJ1ObfxTu5Ixu6rDJnyDzAYyMXYXHBwzpYZbdDcvBOYKn6kCQMP70C
 6MJJvuQCsDy5TL5j19rrGP9EPO0fyLF4BP5giMBmZOUMTbcuJyhkzWucT4cPXeDB
 h4XAjPNa6oqeJ3wd+Ak5uxq/J73iLjdTfnahZLWCz5Q5mGfXBvicTWJY+ylqPys9
 sJdiVZZGdY287GzKrLKClL7ee9urdqazVdB/3WQUwK8pSJ+5OgC1DJzs0w1VRmgE
 HM615IOKKmM5amjJLJbCr370s6OtNQNThZWOJbIVv1YlyTyLaqFglIccGCGdRUfs
 h7ptiq+HwRUs7mrGGGOIETyk2tc/OcesDm+BHtTXxZWO76O8uC1mvTDUp810XPnj
 8myhcVslEjH+mR0SIbs+m8PNMgAo1l0YyN1YjgINpVbUx0WkiJM=
 =oTg4
 -----END PGP SIGNATURE-----

Merge tag 'juno-updates-6.16' of https://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux into soc/dt

Armv8 Juno/FVP updates for v6.16

Few updates to the Arm FVP(Fixed Virtual Platform) device tree, enhancing
support for system tracing, power management, and firmware coexistence:

1. ETE and TRBE support
   Adds CoreSight ETE and TRBE nodes for the FVP Rev C model. These are
   disabled by default as they need to be enabled explicitly via model
   parameters.

2. CPU idle states and system timer for idle broadcast
   Introduces CPU idle state definitions but disabled by default due to
   potential performance impact on the model. Also adds a system-level
   broadcast timer for use when CPUs enter deep idle states where local
   timers stop.

3. Firmware memory reservation
   Reserves 64MB at the end of the first DRAM bank to prevent conflicts
   with FF-A firmware or similar configurations that rely on this region.

4. Drop the unnecessary clock-frequency property in the timer nodes
   The boot/secure firmware must configure the timer clock frequency and
   the non-secure OS must be able to read the same. The clock-frequency is
   generally used when the firmware is broken which is not the case on
   most of the fast models and Juno platform.

As noted above some of the changes are disabled by default where applicable
to ensure backward compatibility and avoid unintended performance impact
on platforms using default model parameters.

* tag 'juno-updates-6.16' of https://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux:
  arm64: dts: fvp: Add ETE and TRBE nodes for Rev C model
  arm64: dts: arm: Drop the clock-frequency property from timer nodes
  arm64: dts: fvp: Reserve 64MB for the FF-A firmware in memory map
  arm64: dts: fvp: Add CPU idle states for Rev C model
  arm64: dts: fvp: Add system timer for broadcast during CPU idle

Link: https://lore.kernel.org/r/20250513143827.3606686-1-sudeep.holla@arm.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
Arnd Bergmann 2025-05-22 12:55:44 +02:00
commit c48cd2e82b
5 changed files with 100 additions and 5 deletions