Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ARM: dts: vt8500: Add L2 cache controller on WM8850/WM8950

WonderMedia WM8850/WM8950 uses an ARM PL310 cache controller for its
L2 cache, add it.

The parameters have been deduced from vendor's U-boot environment
variables, which the downstream code uses to initialize the
controller. They set the following register values:

aux = 0x3e440000
prefetch_ctrl = 0x70000007

Their initialization code also unconditionally sets the flags
L2X0_DYNAMIC_CLK_GATING_EN | L2X0_STNDBY_MODE_EN, so encode those too

Signed-off-by: Alexey Charkov <alchark@gmail.com>
Link: https://lore.kernel.org/r/20250515-wmt-dts-updates-v2-5-246937484cc8@gmail.com
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>

authored by

Alexey Charkov and committed by
Krzysztof Kozlowski
6cd594ed 1918e513

+14
+14
arch/arm/boot/dts/vt8500/wm8850.dtsi
··· 18 18 device_type = "cpu"; 19 19 compatible = "arm,cortex-a9"; 20 20 reg = <0x0>; 21 + next-level-cache = <&l2_cache>; 21 22 }; 22 23 }; 23 24 ··· 309 308 reg = <0xd8004000 0x100>; 310 309 interrupts = <10>; 311 310 }; 311 + 312 + l2_cache: cache-controller@d9000000 { 313 + compatible = "arm,pl310-cache"; 314 + reg = <0xd9000000 0x1000>; 315 + arm,double-linefill = <1>; 316 + arm,dynamic-clock-gating = <1>; 317 + arm,shared-override; 318 + arm,standby-mode = <1>; 319 + cache-level = <2>; 320 + cache-unified; 321 + prefetch-data = <1>; 322 + prefetch-instr = <1>; 323 + }; 312 324 }; 313 325 };