How to enable TPM6 in device tree for IMX8ULP

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

How to enable TPM6 in device tree for IMX8ULP

70 Views
graycan00
Fresh Out Contributor

How do I configure the imx8ulp device tree to enable TPM6 on the A35, and what device tree settings are required to clock TPM6 from the free running oscillator (FRO)?

0 Kudos
Reply
1 Reply

8 Views
Bio_TICFSL
NXP TechSupport
NXP TechSupport

Hello,

To enable TPM6 on the A35 core for the i.MX8ULP and configure it to use the free running oscillator (FRO) as its clock source, you need to make specific modifications to your device tree.

## Device Tree Configuration

1. First, locate the device tree files for the i.MX8ULP in your Linux kernel source directory:
- Main path: `arch/arm64/boot/dts/freescale/`

2. Add or modify the TPM6 node in your device tree:

```
tpm6: tpm@2da0000 {
compatible = "fsl,imx8ulp-tpm";
reg = ;
interrupts = ;
clocks = ,
;
clock-names = "ipg", "per";
assigned-clocks = ;
assigned-clock-parents = ;
status = "okay";
};
```

3. Make sure to reference the TPM6 clock definitions from:
- `include/dt-bindings/clock/imx8ulp-clock.h`

## Important Notes

- TPM6 must be accessible from the A35 core according to the i.MX8ULP memory map
- The FRO (Free Running Oscillator) must be properly configured in the CGC (Clock Generation and Control)
- You'll need to manually adjust the device tree based on the block diagram (Figure 6) and memory mapping tables in the i.MX8ULP Reference Manual

regards

0 Kudos
Reply
%3CLINGO-SUB%20id%3D%22lingo-sub-2255443%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3EHow%20to%20enable%20TPM6%20in%20device%20tree%20for%20IMX8ULP%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2255443%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHow%20do%20I%20configure%20the%20imx8ulp%20device%20tree%20to%20enable%20TPM6%20on%20the%20A35%2C%20and%20what%20device%20tree%20settings%20are%20required%20to%20clock%20TPM6%20from%20the%20free%20running%20oscillator%20(FRO)%3F%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-LABS%20id%3D%22lingo-labs-2255443%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CLINGO-LABEL%3Ei.MX%208%20Family%20%7C%20i.MX%208QuadMax%20(8QM)%20%7C%208QuadPlus%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3Ei.MX%208M%20%7C%20i.MX%208M%20Mini%20%7C%20i.MX%208M%20Nano%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3Ei.MX8ULP%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3ELinux%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E