| /linux-6.15/drivers/char/hw_random/ |
| H A D | jh7110-trng.c | 190 switch (trng->mode) { in starfive_trng_init() 280 trng = devm_kzalloc(&pdev->dev, sizeof(*trng), GFP_KERNEL); in starfive_trng_probe() 281 if (!trng) in starfive_trng_probe() 285 trng->dev = &pdev->dev; in starfive_trng_probe() 288 if (IS_ERR(trng->base)) in starfive_trng_probe() 301 (void *)trng); in starfive_trng_probe() 307 if (IS_ERR(trng->hclk)) in starfive_trng_probe() 312 if (IS_ERR(trng->ahb)) in starfive_trng_probe() 317 if (IS_ERR(trng->rst)) in starfive_trng_probe() 330 trng->mode = PRNG_256BIT; in starfive_trng_probe() [all …]
|
| H A D | airoha-trng.c | 87 airoha_trng_irq_unmask(trng); in airoha_trng_init() 93 airoha_trng_irq_mask(trng); in airoha_trng_init() 161 airoha_trng_irq_mask(trng); in airoha_trng_irq() 171 struct airoha_trng *trng; in airoha_trng_probe() local 175 trng = devm_kzalloc(dev, sizeof(*trng), GFP_KERNEL); in airoha_trng_probe() 176 if (!trng) in airoha_trng_probe() 180 if (IS_ERR(trng->base)) in airoha_trng_probe() 181 return PTR_ERR(trng->base); in airoha_trng_probe() 187 airoha_trng_irq_mask(trng); in airoha_trng_probe() 210 trng->dev = dev; in airoha_trng_probe() [all …]
|
| H A D | atmel-rng.c | 96 if (trng->has_half_rate) { in atmel_trng_init() 117 struct atmel_trng *trng; in atmel_trng_probe() local 121 trng = devm_kzalloc(&pdev->dev, sizeof(*trng), GFP_KERNEL); in atmel_trng_probe() 122 if (!trng) in atmel_trng_probe() 126 if (IS_ERR(trng->base)) in atmel_trng_probe() 127 return PTR_ERR(trng->base); in atmel_trng_probe() 130 if (IS_ERR(trng->clk)) in atmel_trng_probe() 131 return PTR_ERR(trng->clk); in atmel_trng_probe() 157 atmel_trng_cleanup(trng); in atmel_trng_probe() 168 atmel_trng_cleanup(trng); in atmel_trng_remove() [all …]
|
| H A D | exynos-trng.c | 186 struct exynos_trng_dev *trng; in exynos_trng_probe() local 189 trng = devm_kzalloc(&pdev->dev, sizeof(*trng), GFP_KERNEL); in exynos_trng_probe() 190 if (!trng) in exynos_trng_probe() 194 trng->dev = &pdev->dev; in exynos_trng_probe() 200 if (!trng->rng.name) in exynos_trng_probe() 203 trng->rng.priv = (unsigned long)trng; in exynos_trng_probe() 205 if (trng->flags & EXYNOS_SMC) { in exynos_trng_probe() 213 if (IS_ERR(trng->mem)) in exynos_trng_probe() 214 return PTR_ERR(trng->mem); in exynos_trng_probe() 225 if (IS_ERR(trng->clk)) { in exynos_trng_probe() [all …]
|
| H A D | xiphera-trng.c | 43 *(u32 *)buf = readl(trng->mem + RAND_REG); in xiphera_trng_read() 63 struct xiphera_trng *trng; in xiphera_trng_probe() local 66 trng = devm_kzalloc(dev, sizeof(*trng), GFP_KERNEL); in xiphera_trng_probe() 67 if (!trng) in xiphera_trng_probe() 70 trng->mem = devm_platform_ioremap_resource(pdev, 0); in xiphera_trng_probe() 71 if (IS_ERR(trng->mem)) in xiphera_trng_probe() 72 return PTR_ERR(trng->mem); in xiphera_trng_probe() 114 trng->rng.name = pdev->name; in xiphera_trng_probe() 115 trng->rng.read = xiphera_trng_read; in xiphera_trng_probe() 116 trng->rng.quality = 900; in xiphera_trng_probe() [all …]
|
| H A D | ingenic-trng.c | 40 ctrl = readl(trng->base + TRNG_REG_CFG_OFFSET); in ingenic_trng_init() 42 writel(ctrl, trng->base + TRNG_REG_CFG_OFFSET); in ingenic_trng_init() 78 struct ingenic_trng *trng; in ingenic_trng_probe() local 82 trng = devm_kzalloc(&pdev->dev, sizeof(*trng), GFP_KERNEL); in ingenic_trng_probe() 83 if (!trng) in ingenic_trng_probe() 87 if (IS_ERR(trng->base)) in ingenic_trng_probe() 96 trng->rng.name = pdev->name; in ingenic_trng_probe() 97 trng->rng.init = ingenic_trng_init; in ingenic_trng_probe() 98 trng->rng.cleanup = ingenic_trng_cleanup; in ingenic_trng_probe() 99 trng->rng.read = ingenic_trng_read; in ingenic_trng_probe() [all …]
|
| H A D | arm_smccc_trng.c | 99 struct hwrng *trng; in smccc_trng_probe() local 101 trng = devm_kzalloc(&pdev->dev, sizeof(*trng), GFP_KERNEL); in smccc_trng_probe() 102 if (!trng) in smccc_trng_probe() 105 trng->name = "smccc_trng"; in smccc_trng_probe() 106 trng->read = smccc_trng_read; in smccc_trng_probe() 108 return devm_hwrng_register(&pdev->dev, trng); in smccc_trng_probe()
|
| H A D | Makefile | 11 obj-$(CONFIG_HW_RANDOM_AIROHA) += airoha-trng.o 18 obj-$(CONFIG_HW_RANDOM_EXYNOS) += exynos-trng.o 27 obj-$(CONFIG_HW_RANDOM_INGENIC_TRNG) += ingenic-trng.o 44 obj-$(CONFIG_HW_RANDOM_S390) += s390-trng.o 49 obj-$(CONFIG_HW_RANDOM_XIPHERA) += xiphera-trng.o 54 obj-$(CONFIG_HW_RANDOM_JH7110) += jh7110-trng.o
|
| /linux-6.15/drivers/crypto/hisilicon/trng/ |
| H A D | trng.c | 61 struct hisi_trng *trng; member 87 struct hisi_trng *trng = ctx->trng; in hisi_trng_seed() local 116 struct hisi_trng *trng = ctx->trng; in hisi_trng_generate() local 157 struct hisi_trng *trng; in hisi_trng_init() local 162 if (!trng->is_used) { in hisi_trng_init() 164 ctx->trng = trng; in hisi_trng_init() 241 if (!trng->is_used) { in hisi_trng_del_from_list() 255 trng = devm_kzalloc(&pdev->dev, sizeof(*trng), GFP_KERNEL); in hisi_trng_probe() 256 if (!trng) in hisi_trng_probe() 265 trng->is_used = false; in hisi_trng_probe() [all …]
|
| H A D | Makefile | 1 obj-$(CONFIG_CRYPTO_DEV_HISI_TRNG) += hisi-trng-v2.o 2 hisi-trng-v2-objs = trng.o
|
| /linux-6.15/Documentation/devicetree/bindings/crypto/ |
| H A D | qcom,prng.yaml | 20 - qcom,ipq5332-trng 21 - qcom,ipq5424-trng 22 - qcom,ipq9574-trng 23 - qcom,qcs615-trng 27 - qcom,sc7280-trng 28 - qcom,sm8450-trng 29 - qcom,sm8550-trng 30 - qcom,sm8650-trng 31 - qcom,sm8750-trng 32 - const: qcom,trng [all …]
|
| /linux-6.15/drivers/crypto/amcc/ |
| H A D | crypto4xx_trng.c | 74 struct device_node *trng = NULL; in ppc4xx_trng_probe() local 79 trng = of_find_matching_node(NULL, ppc4xx_trng_match); in ppc4xx_trng_probe() 80 if (!trng || !of_device_is_available(trng)) { in ppc4xx_trng_probe() 81 of_node_put(trng); in ppc4xx_trng_probe() 85 dev->trng_base = of_iomap(trng, 0); in ppc4xx_trng_probe() 86 of_node_put(trng); in ppc4xx_trng_probe() 98 core_dev->trng = rng; in ppc4xx_trng_probe() 114 core_dev->trng = NULL; in ppc4xx_trng_probe() 119 if (core_dev && core_dev->trng) { in ppc4xx_trng_remove() 122 devm_hwrng_unregister(core_dev->device, core_dev->trng); in ppc4xx_trng_remove() [all …]
|
| /linux-6.15/Documentation/devicetree/bindings/rng/ |
| H A D | atmel,at91-trng.yaml | 4 $id: http://devicetree.org/schemas/rng/atmel,at91-trng.yaml# 18 - atmel,at91sam9g45-trng 19 - microchip,sam9x60-trng 22 - microchip,sama7g5-trng 23 - const: atmel,at91sam9g45-trng 26 - microchip,sam9x7-trng 27 - const: microchip,sam9x60-trng 51 compatible = "atmel,at91sam9g45-trng";
|
| H A D | starfive,jh7110-trng.yaml | 4 $id: http://devicetree.org/schemas/rng/starfive,jh7110-trng.yaml# 16 - const: starfive,jh8100-trng 17 - const: starfive,jh7110-trng 18 - const: starfive,jh7110-trng 52 compatible = "starfive,jh7110-trng";
|
| H A D | samsung,exynos5250-trng.yaml | 4 $id: http://devicetree.org/schemas/rng/samsung,exynos5250-trng.yaml# 16 - samsung,exynos5250-trng 17 - samsung,exynos850-trng 41 const: samsung,exynos850-trng 72 compatible = "samsung,exynos5250-trng";
|
| H A D | xiphera,xip8001b-trng.yaml | 4 $id: http://devicetree.org/schemas/rng/xiphera,xip8001b-trng.yaml# 7 title: Xiphera XIP8001B-trng 17 const: xiphera,xip8001b-trng 31 compatible = "xiphera,xip8001b-trng";
|
| H A D | airoha,en7581-trng.yaml | 4 $id: http://devicetree.org/schemas/rng/airoha,en7581-trng.yaml# 14 const: airoha,en7581-trng 35 compatible = "airoha,en7581-trng";
|
| H A D | arm-cctrng.yaml | 18 - arm,cryptocell-713-trng 19 - arm,cryptocell-703-trng 48 compatible = "arm,cryptocell-713-trng";
|
| H A D | ingenic,trng.yaml | 4 $id: http://devicetree.org/schemas/rng/ingenic,trng.yaml# 37 dtrng: trng@10072000 {
|
| /linux-6.15/drivers/crypto/gemini/ |
| H A D | sl3516-ce-rng.c | 20 ce = container_of(rng, struct sl3516_ce_dev, trng); in sl3516_ce_rng_read() 48 ce->trng.name = "SL3516 Crypto Engine RNG"; in sl3516_ce_rng_register() 49 ce->trng.read = sl3516_ce_rng_read; in sl3516_ce_rng_register() 50 ce->trng.quality = 700; in sl3516_ce_rng_register() 52 ret = hwrng_register(&ce->trng); in sl3516_ce_rng_register() 60 hwrng_unregister(&ce->trng); in sl3516_ce_rng_unregister()
|
| /linux-6.15/drivers/crypto/allwinner/sun8i-ce/ |
| H A D | sun8i-ce-trng.c | 35 ce = container_of(rng, struct sun8i_ce_dev, trng); in sun8i_ce_trng_read() 68 common = ce->variant->trng | CE_COMM_INT; in sun8i_ce_trng_read() 105 if (ce->variant->trng == CE_ID_NOTSUPP) { in sun8i_ce_hwrng_register() 109 ce->trng.name = "sun8i Crypto Engine TRNG"; in sun8i_ce_hwrng_register() 110 ce->trng.read = sun8i_ce_trng_read; in sun8i_ce_hwrng_register() 112 ret = hwrng_register(&ce->trng); in sun8i_ce_hwrng_register() 120 if (ce->variant->trng == CE_ID_NOTSUPP) in sun8i_ce_hwrng_unregister() 122 hwrng_unregister(&ce->trng); in sun8i_ce_hwrng_unregister()
|
| H A D | Makefile | 5 sun8i-ce-$(CONFIG_CRYPTO_DEV_SUN8I_CE_TRNG) += sun8i-ce-trng.o
|
| /linux-6.15/drivers/platform/cznic/ |
| H A D | turris-omnia-mcu-trng.c | 37 struct omnia_mcu *mcu = container_of(rng, struct omnia_mcu, trng); in omnia_trng_read() 95 mcu->trng.name = "turris-omnia-mcu-trng"; in omnia_mcu_register_trng() 96 mcu->trng.read = omnia_trng_read; in omnia_mcu_register_trng() 98 err = devm_hwrng_register(dev, &mcu->trng); in omnia_mcu_register_trng()
|
| /linux-6.15/Documentation/devicetree/bindings/soc/imx/ |
| H A D | fsl,imx8mp-hdmi-blk-ctrl.yaml | 40 - const: trng 95 power-domain-names = "bus", "irqsteer", "lcdif", "pai", "pvi", "trng",
|
| /linux-6.15/drivers/crypto/hisilicon/ |
| H A D | Makefile | 8 obj-$(CONFIG_CRYPTO_DEV_HISI_TRNG) += trng/
|