Преглед изворни кода

ipq40xx: 4.19: Enable pseudo random number generator

IPQ40xx series has a HW pseudo random number generator built in.
It already has a node in the upstream ipq4019.dtsi so we just need to enable it.
Its driver has been rewritten to use crypto API so we dont have char interface like under 4.14 kernel.

Signed-off-by: Robert Marko <[email protected]>
Robert Marko пре 7 година
родитељ
комит
077a63db1d

+ 1 - 1
target/linux/ipq40xx/config-4.19

@@ -123,7 +123,7 @@ CONFIG_CRYPTO_CTR=y
 CONFIG_CRYPTO_DEFLATE=y
 CONFIG_CRYPTO_DEFLATE=y
 CONFIG_CRYPTO_DES=y
 CONFIG_CRYPTO_DES=y
 CONFIG_CRYPTO_DEV_QCE=y
 CONFIG_CRYPTO_DEV_QCE=y
-# CONFIG_CRYPTO_DEV_QCOM_RNG is not set
+CONFIG_CRYPTO_DEV_QCOM_RNG=y
 CONFIG_CRYPTO_DRBG=y
 CONFIG_CRYPTO_DRBG=y
 CONFIG_CRYPTO_DRBG_HMAC=y
 CONFIG_CRYPTO_DRBG_HMAC=y
 CONFIG_CRYPTO_DRBG_MENU=y
 CONFIG_CRYPTO_DRBG_MENU=y

+ 4 - 0
target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-a42.dts

@@ -25,6 +25,10 @@
 	compatible = "openmesh,a42", "qcom,ipq4019";
 	compatible = "openmesh,a42", "qcom,ipq4019";
 
 
 	soc {
 	soc {
+		rng@22000 {
+			status = "okay";
+		};
+
 		mdio@90000 {
 		mdio@90000 {
 			status = "okay";
 			status = "okay";
 		};
 		};

+ 4 - 0
target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-eap1300.dts

@@ -10,6 +10,10 @@
 	compatible = "engenius,eap1300", "qcom,ipq4019";
 	compatible = "engenius,eap1300", "qcom,ipq4019";
 
 
 	soc {
 	soc {
+		rng@22000 {
+			status = "okay";
+		};
+
 		mdio@90000 {
 		mdio@90000 {
 			status = "okay";
 			status = "okay";
 		};
 		};

+ 4 - 0
target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-ex61x0v2.dtsi

@@ -25,6 +25,10 @@
 	compatible = "netgear,ex61x0v2", "qcom,ipq4019";
 	compatible = "netgear,ex61x0v2", "qcom,ipq4019";
 
 
 	soc {
 	soc {
+		rng@22000 {
+			status = "okay";
+		};
+
 		mdio@90000 {
 		mdio@90000 {
 			status = "okay";
 			status = "okay";
 		};
 		};

+ 4 - 0
target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-fritz4040.dts

@@ -17,6 +17,10 @@
 	};
 	};
 
 
 	soc {
 	soc {
+		rng@22000 {
+			status = "okay";
+		};
+
 		mdio@90000 {
 		mdio@90000 {
 			status = "okay";
 			status = "okay";
 		};
 		};

+ 4 - 0
target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-jalapeno.dts

@@ -25,6 +25,10 @@
 	compatible = "8dev,jalapeno", "qcom,ipq4019";
 	compatible = "8dev,jalapeno", "qcom,ipq4019";
 
 
 	soc {
 	soc {
+		rng@22000 {
+			status = "okay";
+		};
+
 		mdio@90000 {
 		mdio@90000 {
 			status = "okay";
 			status = "okay";
 			pinctrl-0 = <&mdio_pins>;
 			pinctrl-0 = <&mdio_pins>;

+ 4 - 0
target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-nbg6617.dts

@@ -27,6 +27,10 @@
 	};
 	};
 
 
 	soc {
 	soc {
+		rng@22000 {
+			status = "okay";
+		};
+
 		mdio@90000 {
 		mdio@90000 {
 			status = "okay";
 			status = "okay";
 		};
 		};

+ 4 - 0
target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-rt-ac58u.dts

@@ -26,6 +26,10 @@
 	};
 	};
 
 
 	soc {
 	soc {
+		rng@22000 {
+			status = "okay";
+		};
+
 		mdio@90000 {
 		mdio@90000 {
 			status = "okay";
 			status = "okay";
 		};
 		};

+ 4 - 0
target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4018-wre6606.dts

@@ -36,6 +36,10 @@
 	};
 	};
 
 
 	soc {
 	soc {
+		rng@22000 {
+			status = "okay";
+		};
+
 		mdio@90000 {
 		mdio@90000 {
 			status = "okay";
 			status = "okay";
 		};
 		};

+ 4 - 0
target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-a62.dts

@@ -25,6 +25,10 @@
 	compatible = "openmesh,a62", "qcom,ipq4019";
 	compatible = "openmesh,a62", "qcom,ipq4019";
 
 
 	soc {
 	soc {
+		rng@22000 {
+			status = "okay";
+		};
+
 		mdio@90000 {
 		mdio@90000 {
 			status = "okay";
 			status = "okay";
 		};
 		};

+ 4 - 0
target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4019-ap.dk04.1.dtsi

@@ -22,6 +22,10 @@
 	compatible = "qcom,ipq4019";
 	compatible = "qcom,ipq4019";
 
 
 	soc {
 	soc {
+		rng@22000 {
+			status = "okay";
+		};
+
 		pinctrl@1000000 {
 		pinctrl@1000000 {
 			serial_0_pins: serial_pinmux {
 			serial_0_pins: serial_pinmux {
 				mux {
 				mux {

+ 4 - 0
target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4028-wpj428.dts

@@ -26,6 +26,10 @@
 	compatible = "compex,wpj428", "qcom,ipq4019";
 	compatible = "compex,wpj428", "qcom,ipq4019";
 
 
 	soc {
 	soc {
+		rng@22000 {
+			status = "okay";
+		};
+
 		mdio@90000 {
 		mdio@90000 {
 			status = "okay";
 			status = "okay";
 		};
 		};

+ 4 - 0
target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4029-gl-b1300.dts

@@ -36,6 +36,10 @@
 	};
 	};
 
 
 	soc {
 	soc {
+		rng@22000 {
+			status = "okay";
+		};
+
 		mdio@90000 {
 		mdio@90000 {
 			status = "okay";
 			status = "okay";
 		};
 		};

+ 4 - 0
target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4029-mr33.dts

@@ -35,6 +35,10 @@
 	};
 	};
 
 
 	soc {
 	soc {
+		rng@22000 {
+			status = "okay";
+		};
+
 		mdio@90000 {
 		mdio@90000 {
 			status = "okay";
 			status = "okay";
 			pinctrl-0 = <&mdio_pins>;
 			pinctrl-0 = <&mdio_pins>;