Other Parts Discussed in Thread: HALCOGEN
Hi,
After reading all the documentation and forum topics I could find, I understand how the bits in the PCRx PSPWRDWNCLRx and PSPWRDWNSETx registers work.
After some testing with the microcontroller, it seems that even if the clock to a peripheral is inactive, I am able to write into the peripheral registers (under PCR3).
In our design, the CPU is connected to a FPGA and the FPGA performs some trace on MibSPI2 CS0 transactions from the CPU (CPU IOMM is configured accordingly). What I see is that when I let the PSPWRDWN registers in their reset state (where Quadrants Quad2 and Quad3 of PS[2] clock is inactive), the FPGA is able to see transactions from the CPU when it sends 16 bits of data via SPI. The data is incorrectly interpreted, but as it detects transactions that means that the Chip select is driven acording to an SPI transaction. I was expecting that if the MibSPI2 were not clocked, as supposed by the PSPWRDWN configuration, the MibSPI2 could not output any signal or even the access to its registers wouldn't be possible.
So I have some questions related to this topic:
- On reset, PSPWRDWNCLR3 bits 31-24 are cleared to 0 (clock active), but documentation says their reset value is "1". These bits correspond to PS[31] and PS[30] which are the PCR3 registers, according to the Memory map table of the TRM. I tried to set the clock inactive by writing 0xFF000000 to PSPWRDWNSET3 register, but it has no effect. Is this something I missed in the documentation (TRM, datasheet, errata) or is it a bug?
- What should we expect when setting a peripheral clock inactive? What is the difference with setting the clock active?
- If using a module only for GIO function (GIO, DCAN, MIBSPI, RTP, DMM, LIN), do we need to set the peripheral clock active or is ti supposed to work if we let it inactive? Why?
- What advantages could we get from disabling peripherals clock (for a safety critical application analysis, as example)?
Thanks for your support.
Best regards,
Gael