This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TDA4VM-Q1: Does PCIe CLKREQ signal have to be from the internal PCIeX_CLKREQn?

Part Number: TDA4VM-Q1

I'm trying to deal with this conflict between PCIe CLKREQn and some MMC1 signals that we need.

The problem is this - MMC1_SDCD (card detect) is the same pin as PCIE2_CLKREQn and there is no alternative selection pins to route PCIE2_CLKREQn. We need CD to have a pluggable microSD card slot.

Additionally, MMC1_SDWP conflicts with PCIE3_CLKREQn. We need that in order to be able to write protect a microSD card.

I just looked through TI's kernel code for Linux 5.10.y and find no code that writes to a register to request a clock except for some generic refclk enable/disable code.

The issue is I see no assignments in the DTS for the refclk, and no code within the TI PCIe drivers that handles the CLKREQ.

I think the PCIe RC is using the internal clock by default:

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1004565/faq-tda4vm-tda4vm-dra829v-routing-pcie-reference-clock-externally?tisearch=e2e

How does the PCIe driver work with the PCIeX_CLKREQn signal? Is this done in a deeper layer of code or is this all controlled via the PCIe hardware block?

Is it possible to utilize a different GPIO as the PCIE CLKREQn signal?

Thanks!