svn commit: r301225 - in head/sys: arm/conf boot/fdt/dts/arm dev/cesa
Zbigniew Bodek
zbb at FreeBSD.org
Thu Jun 2 18:41:35 UTC 2016
Author: zbb
Date: Thu Jun 2 18:41:33 2016
New Revision: 301225
URL: https://svnweb.freebsd.org/changeset/base/301225
Log:
Add support for CESA on Armada38x
Changes:
- added new SoC ID in CESA attach
- allowed crypto driver IDs other than 0
- added CESA nodes to Armada38x .dts files
- enabled required devices in kernconf
Submitted by: Michal Stanek <mst at semihalf.com>
Obtained from: Semihalf
Sponsored by: Stormshield
Differential revision: https://reviews.freebsd.org/D6220
Modified:
head/sys/arm/conf/ARMADA38X
head/sys/boot/fdt/dts/arm/armada-388-gp.dts
head/sys/boot/fdt/dts/arm/armada-38x.dtsi
head/sys/dev/cesa/cesa.c
Modified: head/sys/arm/conf/ARMADA38X
==============================================================================
--- head/sys/arm/conf/ARMADA38X Thu Jun 2 18:39:33 2016 (r301224)
+++ head/sys/arm/conf/ARMADA38X Thu Jun 2 18:41:33 2016 (r301225)
@@ -81,6 +81,11 @@ device iic
device iicbus
device twsi
+# CESA
+device cesa
+device crypto
+device cryptodev
+
#FDT
options FDT
options FDT_DTB_STATIC
Modified: head/sys/boot/fdt/dts/arm/armada-388-gp.dts
==============================================================================
--- head/sys/boot/fdt/dts/arm/armada-388-gp.dts Thu Jun 2 18:39:33 2016 (r301224)
+++ head/sys/boot/fdt/dts/arm/armada-388-gp.dts Thu Jun 2 18:41:33 2016 (r301225)
@@ -62,6 +62,13 @@
ranges = <MBUS_ID(0xf0, 0x01) 0 0xf1000000 0x100000>;
internal-regs {
+ crypto at 90000 {
+ status = "okay";
+ };
+ crypto at 92000 {
+ status = "okay";
+ };
+
spi at 10600 {
pinctrl-names = "default";
pinctrl-0 = <&spi0_pins>;
Modified: head/sys/boot/fdt/dts/arm/armada-38x.dtsi
==============================================================================
--- head/sys/boot/fdt/dts/arm/armada-38x.dtsi Thu Jun 2 18:39:33 2016 (r301224)
+++ head/sys/boot/fdt/dts/arm/armada-38x.dtsi Thu Jun 2 18:41:33 2016 (r301225)
@@ -63,6 +63,8 @@
gpio1 = &gpio1;
serial0 = &uart0;
serial1 = &uart1;
+ sram0 = &SRAM0;
+ sram1 = &SRAM1;
};
pmu {
@@ -70,6 +72,16 @@
interrupts-extended = <&mpic 3>;
};
+ SRAM0: sram at f1100000 {
+ compatible = "mrvl,cesa-sram";
+ reg = <0xf1100000 0x0010000>;
+ };
+
+ SRAM1: sram at f1110000 {
+ compatible = "mrvl,cesa-sram";
+ reg = <0xf1110000 0x0010000>;
+ };
+
soc {
compatible = "marvell,armada380-mbus", "simple-bus";
#address-cells = <2>;
@@ -140,6 +152,25 @@
#size-cells = <1>;
ranges = <0 MBUS_ID(0xf0, 0x01) 0 0x100000>;
+ crypto at 90000 {
+ compatible = "mrvl,cesa";
+ reg = <0x90000 0x10000>;
+ interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-parent = <&gic>;
+ sram-handle = <&SRAM0>;
+ status = "disabled";
+ };
+
+ crypto at 92000 {
+ compatible = "mrvl,cesa";
+ reg = <0x92000 0x1000 /* tdma base reg chan 1 */
+ 0x9F000 0x1000>; /* cesa base reg chan 1 */
+ interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-parent = <&gic>;
+ sram-handle = <&SRAM1>;
+ status = "disabled";
+ };
+
L2: cache-controller at 8000 {
compatible = "arm,pl310-cache";
reg = <0x8000 0x1000>;
Modified: head/sys/dev/cesa/cesa.c
==============================================================================
--- head/sys/dev/cesa/cesa.c Thu Jun 2 18:39:33 2016 (r301224)
+++ head/sys/dev/cesa/cesa.c Thu Jun 2 18:41:33 2016 (r301225)
@@ -1043,6 +1043,7 @@ cesa_attach(device_t dev)
switch (d) {
case MV_DEV_88F6281:
case MV_DEV_88F6282:
+ case MV_DEV_88F6828:
sc->sc_tperr = 0;
break;
case MV_DEV_MV78100:
@@ -1214,7 +1215,7 @@ cesa_attach(device_t dev)
/* Register in OCF */
sc->sc_cid = crypto_get_driverid(dev, CRYPTOCAP_F_HARDWARE);
- if (sc->sc_cid) {
+ if (sc->sc_cid < 0) {
device_printf(dev, "could not get crypto driver id\n");
goto err8;
}
More information about the svn-src-head
mailing list