It seems to be undocumented. The TRM gives a base address for the hardware. Actually it gives two addresses, as there are two parallel units.
There is a linux driver. I have not looked at it yet, and it is for the rk3288 Take a look at:
/u1/linux/linux-git/drivers/crypto/rockchip/rk3288_crypto.h /u1/linux/linux-git/drivers/crypto/rockchipThe bootrom code makes use of it, and studying that is likely to be my point of entry into learning about it.
Also:
/u1/Projects/OrangePi/Xulong/linux-orangepi/arch/arm64/boot/dts/rockchip /u1/linux/linux-git/ arch/arm64/boot/dts/rockchipBut some further searching turned up this:
/u1/linux/linux-git/arch/arm/boot/dts/rk3288.dtsiWith this entry:
crypto: cypto-controller@ff8a0000 { compatible = "rockchip,rk3288-crypto"; reg = <0x0 0xff8a0000 0x0 0x4000>; interrupts =And searching for the string "rk3288-crypto" leads me to:; clocks = <&cru ACLK_CRYPTO>, <&cru HCLK_CRYPTO>, <&cru SCLK_CRYPTO>, <&cru ACLK_DMAC1>; clock-names = "aclk", "hclk", "sclk", "apb_pclk"; resets = <&cru SRST_CRYPTO>; reset-names = "crypto-rst"; status = "okay"; };
drivers/crypto/rockchip/rk3288_crypto.cNo telling if this will be relevant for the RK3399, but it will certainly be something to compare to what I learn looking at the RK3399 bootrom.
Tom's electronics pages / tom@mmto.org