mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-11-26 22:20:56 +07:00
ARM: at91: at91sam9g45: add trng clock and platform device
For the new hw_random driver. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk> Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
This commit is contained in:
parent
976d167615
commit
237a62a143
@ -53,6 +53,11 @@ static struct clk pioDE_clk = {
|
|||||||
.pmc_mask = 1 << AT91SAM9G45_ID_PIODE,
|
.pmc_mask = 1 << AT91SAM9G45_ID_PIODE,
|
||||||
.type = CLK_TYPE_PERIPHERAL,
|
.type = CLK_TYPE_PERIPHERAL,
|
||||||
};
|
};
|
||||||
|
static struct clk trng_clk = {
|
||||||
|
.name = "trng_clk",
|
||||||
|
.pmc_mask = 1 << AT91SAM9G45_ID_TRNG,
|
||||||
|
.type = CLK_TYPE_PERIPHERAL,
|
||||||
|
};
|
||||||
static struct clk usart0_clk = {
|
static struct clk usart0_clk = {
|
||||||
.name = "usart0_clk",
|
.name = "usart0_clk",
|
||||||
.pmc_mask = 1 << AT91SAM9G45_ID_US0,
|
.pmc_mask = 1 << AT91SAM9G45_ID_US0,
|
||||||
@ -176,6 +181,7 @@ static struct clk *periph_clocks[] __initdata = {
|
|||||||
&pioB_clk,
|
&pioB_clk,
|
||||||
&pioC_clk,
|
&pioC_clk,
|
||||||
&pioDE_clk,
|
&pioDE_clk,
|
||||||
|
&trng_clk,
|
||||||
&usart0_clk,
|
&usart0_clk,
|
||||||
&usart1_clk,
|
&usart1_clk,
|
||||||
&usart2_clk,
|
&usart2_clk,
|
||||||
@ -215,6 +221,7 @@ static struct clk_lookup periph_clocks_lookups[] = {
|
|||||||
CLKDEV_CON_DEV_ID("t0_clk", "atmel_tcb.1", &tcb0_clk),
|
CLKDEV_CON_DEV_ID("t0_clk", "atmel_tcb.1", &tcb0_clk),
|
||||||
CLKDEV_CON_DEV_ID("pclk", "ssc.0", &ssc0_clk),
|
CLKDEV_CON_DEV_ID("pclk", "ssc.0", &ssc0_clk),
|
||||||
CLKDEV_CON_DEV_ID("pclk", "ssc.1", &ssc1_clk),
|
CLKDEV_CON_DEV_ID("pclk", "ssc.1", &ssc1_clk),
|
||||||
|
CLKDEV_CON_DEV_ID(NULL, "atmel-trng", &trng_clk),
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct clk_lookup usart_clocks_lookups[] = {
|
static struct clk_lookup usart_clocks_lookups[] = {
|
||||||
|
@ -1094,6 +1094,34 @@ static void __init at91_add_device_rtt(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* --------------------------------------------------------------------
|
||||||
|
* TRNG
|
||||||
|
* -------------------------------------------------------------------- */
|
||||||
|
|
||||||
|
#if defined(CONFIG_HW_RANDOM_ATMEL) || defined(CONFIG_HW_RANDOM_ATMEL_MODULE)
|
||||||
|
static struct resource trng_resources[] = {
|
||||||
|
{
|
||||||
|
.start = AT91SAM9G45_BASE_TRNG,
|
||||||
|
.end = AT91SAM9G45_BASE_TRNG + SZ_16K - 1,
|
||||||
|
.flags = IORESOURCE_MEM,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct platform_device at91sam9g45_trng_device = {
|
||||||
|
.name = "atmel-trng",
|
||||||
|
.id = -1,
|
||||||
|
.resource = trng_resources,
|
||||||
|
.num_resources = ARRAY_SIZE(trng_resources),
|
||||||
|
};
|
||||||
|
|
||||||
|
static void __init at91_add_device_trng(void)
|
||||||
|
{
|
||||||
|
platform_device_register(&at91sam9g45_trng_device);
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
static void __init at91_add_device_trng(void) {}
|
||||||
|
#endif
|
||||||
|
|
||||||
/* --------------------------------------------------------------------
|
/* --------------------------------------------------------------------
|
||||||
* Watchdog
|
* Watchdog
|
||||||
* -------------------------------------------------------------------- */
|
* -------------------------------------------------------------------- */
|
||||||
@ -1583,6 +1611,7 @@ static int __init at91_add_standard_devices(void)
|
|||||||
at91_add_device_hdmac();
|
at91_add_device_hdmac();
|
||||||
at91_add_device_rtc();
|
at91_add_device_rtc();
|
||||||
at91_add_device_rtt();
|
at91_add_device_rtt();
|
||||||
|
at91_add_device_trng();
|
||||||
at91_add_device_watchdog();
|
at91_add_device_watchdog();
|
||||||
at91_add_device_tc();
|
at91_add_device_tc();
|
||||||
return 0;
|
return 0;
|
||||||
|
Loading…
Reference in New Issue
Block a user