Thread (18 messages) 18 messages, 8 authors, 2015-09-09

Re: [PATCH 1/3] ARM: uniphier: add outer cache support

From: Masahiro Yamada <hidden>
Date: 2015-08-26 01:39:09
Also in: linux-arm-kernel, lkml

Hi Arnd,


2015-08-25 4:59 GMT+09:00 Arnd Bergmann [off-list ref]:
On Monday 24 August 2015 11:18:10 Masahiro Yamada wrote:
quoted
diff --git a/Documentation/devicetree/bindings/arm/uniphier/cache-uniphier.txt b/Documentation/devicetree/bindings/arm/uniphier/cache-uniphier.txt
new file mode 100644
index 0000000..6428289
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/uniphier/cache-uniphier.txt
@@ -0,0 +1,30 @@
+UniPhier outer cache controller
+
+UniPhier SoCs are integrated with a level 2 cache controller that resides
+outside of the ARM cores, some of them also have a level 3 cache controller.
+
+Required properties:
+- compatible: should be one of the followings:
+       "socionext,uniphier-l2-cache"   (L2 cache)
+       "socionext,uniphier-l3-cache"   (L3 cache)
+- reg: offsets and lengths of the register sets for the device.  It should
+  contain 3 regions: control registers, revision registers, operation
+  registers, in this order.
+
+The L2 cache must exist to use the L3 cache; adding only an L3 cache device
+node to the device tree causes the initialization failure of the whole outer
+cache system.
How much does this outer cache have in common with the l2x0/pl310 cache
controller model?
Nothing.

This outer cache is not a variant of l2x0/pl310.
It was designed only for our SoCs from scratch.

Would it make sense to at least share the
common entry point at l2x0_of_init() so you don't need to call it from
the platform file?
I do not think so.


l2x0_of_init() checks L2X0_AUX_CTRL register,
but the cache-uniphier does not have such register,
so the boot code crashes.



BTW, what makes l2x0_of_init() so special?

Only L2x0/L310 and variants can be initialized
directly from init_IRQ().

Moreover, outer-cache init seems to be unrelated to
IRQ init.


-- 
Best Regards
Masahiro Yamada
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help