summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-layerscape/lowlevel.S
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2019-03-04 14:48:50 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2019-03-13 10:35:13 +0100
commit91cad66628c1af4693c1a5553a72f825bd4d63d6 (patch)
tree868738368c3e9d77f196e2146814f00910bd3c26 /arch/arm/mach-layerscape/lowlevel.S
parente3d7b77adf0345d2f600151b9e1d114e5c2c919f (diff)
downloadbarebox-91cad66628c1af4693c1a5553a72f825bd4d63d6.tar.gz
barebox-91cad66628c1af4693c1a5553a72f825bd4d63d6.tar.xz
ARM: Add basic Layerscape support
This adds basic Layerscape support: - Makefile/Kconfig - Register maps - errata workarounds Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch/arm/mach-layerscape/lowlevel.S')
-rw-r--r--arch/arm/mach-layerscape/lowlevel.S18
1 files changed, 18 insertions, 0 deletions
diff --git a/arch/arm/mach-layerscape/lowlevel.S b/arch/arm/mach-layerscape/lowlevel.S
new file mode 100644
index 0000000000..adb3e54367
--- /dev/null
+++ b/arch/arm/mach-layerscape/lowlevel.S
@@ -0,0 +1,18 @@
+#include <linux/linkage.h>
+
+.section .text.ls1046a_init_l2_latency
+ENTRY(ls1046a_init_l2_latency)
+ /* Initialize the L2 RAM latency */
+ mrs x1, S3_1_c11_c0_2
+ mov x0, #0x1C7
+ /* Clear L2 Tag RAM latency and L2 Data RAM latency */
+ bic x1, x1, x0
+ /* Set L2 data ram latency bits [2:0] */
+ orr x1, x1, #0x2
+ /* set L2 tag ram latency bits [8:6] */
+ orr x1, x1, #0x80
+ msr S3_1_c11_c0_2, x1
+ isb
+
+ ret
+ENDPROC(ls1046a_init_l2_latency);