WDR4900v1 remove dt node for absent hw crypto.
authorTim Small <tim@seoss.co.uk>
Wed, 4 Jul 2018 13:05:18 +0000 (14:05 +0100)
committerYousong Zhou <zhouyousong@yunionyun.com>
Sun, 22 Jul 2018 01:06:10 +0000 (01:06 +0000)
The WDR4900v1 uses the P1040 SoC, so the device tree pulls in the
definition for the related P1010 SoC.  However, the P1040 lacks the
CAAM/SEC4 hardware crypto accelerator which the P1010 device tree
defines.  If left defined, this causes the CAAM drivers (if present) to
attempt to use the non-existent device, making various crypto-related
operations (e.g. macsec and ipsec) fail.

This commit overrides the incorrect dt node definition in the included
file.

See also:
 - https://bugs.openwrt.org/index.php?do=details&task_id=1262
 - https://community.nxp.com/thread/338432#comment-474107

Signed-off-by: Tim Small <tim@seoss.co.uk>
Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
(cherry picked from commit e97aaf483c71fd5e3072ec2dce53354fc97357c9)

target/linux/mpc85xx/files/arch/powerpc/boot/dts/tl-wdr4900-v1.dts

index 2ad58d3fda14a30bb77770ea40a71f623e9217e8..318e69b3edeefff99485d4341dbebf66753f87a5 100644 (file)
 };
 
 /include/ "fsl/p1010si-post.dtsi"
+
+/*
+ * The TL-WDR4900 v1 uses the NXP (Freescale) P1014 SoC which is closely
+ * related to the P1010.
+ *
+ * NXP QP1010FS.pdf "QorIQ P1010 and P1014 Communications Processors"
+ * datasheet states that the P1014 does not include the accelerated crypto
+ * module (CAAM/SEC4) which is present in the P1010.
+ *
+ * NXP Appliation Note AN4938 Rev. 2 implies that some P1014 may contain the
+ * SEC4 module, but states that SoCs with System Version Register values
+ * 0x80F10110 or 0x80F10120 do not have the security feature.
+ *
+ * All v1.3 TL-WDR4900 tested have SVR == 0x80F10110 which AN4938 describes
+ * as: core rev 1.0, "P1014 (without security)".
+ *
+ * The SVR value is reported by uboot on the serial console.
+ */
+
+/ {
+       soc: soc@ffe00000 {
+               /delete-node/ crypto@30000; /* Pulled in by p1010si-post */
+       };
+};