From 3f98e085bde6b68efbcb417036225dfa7093b029 Mon Sep 17 00:00:00 2001 From: Tony Han Date: Tue, 10 Jun 2025 10:12:00 +0800 Subject: [PATCH 1/3] west.yml: Update west.yml for sama7g54 hal Update west.yml for SAMA7G54 HAL Signed-off-by: Tony Han --- west.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/west.yml b/west.yml index a9d47b902c636..b12298a92b37f 100644 --- a/west.yml +++ b/west.yml @@ -195,7 +195,7 @@ manifest: groups: - hal - name: hal_microchip - revision: 4b74f4081342423badcf758278bbc0582ca8735d + revision: 32a79d481c056b2204a5701d5a5799f9e5130dd7 path: modules/hal/microchip groups: - hal From ede5f7c5d18bfe58203eaeab7af306ed5fdde473 Mon Sep 17 00:00:00 2001 From: Tony Han Date: Tue, 22 Apr 2025 16:58:36 +0800 Subject: [PATCH 2/3] soc: microchip: sama7g5: sam: update MMU setting for sama7g5 TRNG Update TRNG registers with strong ordered, read and write access. Signed-off-by: Tony Han --- soc/microchip/sam/sama7g5/soc.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/soc/microchip/sam/sama7g5/soc.c b/soc/microchip/sam/sama7g5/soc.c index 8d981a99c7af1..4c97f3a6ebc14 100644 --- a/soc/microchip/sam/sama7g5/soc.c +++ b/soc/microchip/sam/sama7g5/soc.c @@ -30,6 +30,11 @@ static const struct arm_mmu_region mmu_regions[] = { MMU_REGION_FLAT_ENTRY("sckc", SCKC_BASE_ADDRESS, 0x4, MT_STRONGLY_ORDERED | MPERM_R | MPERM_W), + +#if DT_NODE_HAS_STATUS_OKAY(DT_NODELABEL(trng)) + MMU_REGION_FLAT_ENTRY("trng", TRNG_BASE_ADDRESS, 0x100, + MT_STRONGLY_ORDERED | MPERM_R | MPERM_W), +#endif }; const struct arm_mmu_config mmu_config = { From cd964f5260e44f0647ffc6565dc207211667b4c5 Mon Sep 17 00:00:00 2001 From: Tony Han Date: Thu, 19 Jun 2025 11:01:26 +0800 Subject: [PATCH 3/3] dts: arm: microchip: sama7g5: add TRNG support Add TRNG nodes to sama7g5.dtsi and sama7g54_ek.dts files. Tested with tests/drivers/entropy/api. Signed-off-by: Tony Han --- boards/microchip/sam/sama7g54_ek/sama7g54_ek.dts | 5 +++++ dts/arm/microchip/sam/sama7g5.dtsi | 9 +++++++++ 2 files changed, 14 insertions(+) diff --git a/boards/microchip/sam/sama7g54_ek/sama7g54_ek.dts b/boards/microchip/sam/sama7g54_ek/sama7g54_ek.dts index 8264892384249..c9254bd2b6e50 100644 --- a/boards/microchip/sam/sama7g54_ek/sama7g54_ek.dts +++ b/boards/microchip/sam/sama7g54_ek/sama7g54_ek.dts @@ -19,6 +19,7 @@ zephyr,sram = &ddram; zephyr,console = &usart3; zephyr,shell-uart = &usart3; + zephyr,entropy = &trng; }; clocks { @@ -62,3 +63,7 @@ &pit64b0 { clock-frequency = ; }; + +&trng { + status = "okay"; +}; diff --git a/dts/arm/microchip/sam/sama7g5.dtsi b/dts/arm/microchip/sam/sama7g5.dtsi index f0789ab29c779..3838a0c28f2b8 100644 --- a/dts/arm/microchip/sam/sama7g5.dtsi +++ b/dts/arm/microchip/sam/sama7g5.dtsi @@ -96,5 +96,14 @@ clocks = <&clk32k 1>, <&clk32k 0>, <&main_xtal>; clock-names = "td_slck", "md_slck", "main_xtal"; }; + + trng: rng@e2010000 { + compatible = "atmel,sam-trng"; + reg = <0xe2010000 0x100>; + interrupt-parent = <&gic>; + interrupts = ; + clocks = <&pmc PMC_TYPE_PERIPHERAL 97>; + status = "disabled"; + }; }; };