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