1*4882a593SmuzhiyunRockchip Hardware Random Number Generator 2*4882a593Smuzhiyun 3*4882a593SmuzhiyunRequired properties: 4*4882a593Smuzhiyun 5*4882a593Smuzhiyun- compatible : should be one of the following. 6*4882a593Smuzhiyun "rockchip,cryptov1-rng" for crypto v1 7*4882a593Smuzhiyun "rockchip,cryptov2-rng" for crypto v2 8*4882a593Smuzhiyun "rockchip,trngv1" for independent trng, such as rk3588. 9*4882a593Smuzhiyun- reg : Specifies base physical address and size of the registers map. 10*4882a593Smuzhiyun- clocks : Phandle to clock-controller plus clock-specifier pair. 11*4882a593Smuzhiyun- clock-names : "clk_crypto", "clk_crypto_apk", "aclk_crypto", "hclk_crypto" as a clock name. 12*4882a593Smuzhiyun- assigned-clocks: Main clock, should be <&cru SCLK_CRYPTO>, <&cru SCLK_CRYPTO_APK>, 13*4882a593Smuzhiyun <&cru ACLK_CRYPTO>, <&cru HCLK_CRYPTO> 14*4882a593Smuzhiyun- assigned-clock-rates : The rng core clk frequency, shall be: <150000000>, <150000000>, 15*4882a593Smuzhiyun <200000000>, <100000000> 16*4882a593Smuzhiyun- resets : Used for module reset 17*4882a593Smuzhiyun- reset-names : Reset names, should be "reset" 18*4882a593SmuzhiyunExample: 19*4882a593Smuzhiyun 20*4882a593Smuzhiyun rng: rng@100fc000 { 21*4882a593Smuzhiyun compatible = "rockchip,cryptov1-rng"; 22*4882a593Smuzhiyun reg = <0x100fc000 0x4000>; 23*4882a593Smuzhiyun clocks = <&cru SCLK_CRYPTO>, <&cru HCLK_CRYPTO>; 24*4882a593Smuzhiyun clock-names = "clk_crypto", "hclk_crypto"; 25*4882a593Smuzhiyun assigned-clocks = <&cru SCLK_CRYPTO>, <&cru HCLK_CRYPTO>; 26*4882a593Smuzhiyun assigned-clock-rates = <150000000>, <100000000>; 27*4882a593Smuzhiyun resets = <&cru SRST_CRYPTO>; 28*4882a593Smuzhiyun reset-names = "reset"; 29*4882a593Smuzhiyun status = "disabled"; 30*4882a593Smuzhiyun }; 31*4882a593Smuzhiyun 32*4882a593Smuzhiyun rng: rng@ff2f0000 { 33*4882a593Smuzhiyun compatible = "rockchip,cryptov2-rng"; 34*4882a593Smuzhiyun reg = <0x0 0xff2f0000 0x0 0x4000>; 35*4882a593Smuzhiyun clocks = <&cru SCLK_CRYPTO>, <&cru SCLK_CRYPTO_APK>, 36*4882a593Smuzhiyun <&cru ACLK_CRYPTO>, <&cru HCLK_CRYPTO>; 37*4882a593Smuzhiyun clock-names = "clk_crypto", "clk_crypto_apk", 38*4882a593Smuzhiyun "aclk_crypto", "hclk_crypto"; 39*4882a593Smuzhiyun assigned-clocks = <&cru SCLK_CRYPTO>, <&cru SCLK_CRYPTO_APK>, 40*4882a593Smuzhiyun <&cru ACLK_CRYPTO>, <&cru HCLK_CRYPTO>; 41*4882a593Smuzhiyun assigned-clock-rates = <150000000>, <150000000>, 42*4882a593Smuzhiyun <200000000>, <100000000>; 43*4882a593Smuzhiyun resets = <&cru SRST_CRYPTO>; 44*4882a593Smuzhiyun reset-names = "reset"; 45*4882a593Smuzhiyun }; 46*4882a593Smuzhiyun 47