Re: [PATCH v1 1/1] Platform/RaspberryPi/ConfigDxe: Fix JTAG Pinout for Pi3/4


Pete Batard
 

Copying Andrei on this, as the existing JTAG pinout is not technically incorrect, since GPIO pin 4 can be used for TDI in ALT5 mode, and we are using the relevant ALT mode in the existing code. See https://sysprogs.com/VisualKernel/tutorials/raspberry/jtagsetup/

As far as I'm concerned, I think it makes sense to use the same ALT mode and have all the JTAG pins grouped, but I'd like to confirm whether we deliberately chose not to use GPIO 26 in order to leave it available for some other purpose, before I approve this patch.

If Andrei says he's okay with it, then I see no objection to this change.

Regards,

/Pete

On 2020.09.14 22:32, Jeff Booher-Kaeding wrote:
Updated the pinout to match the Pi4 datasheet, tested with the RPi4, Pi3 Datasheet has same pinout.
Signed-off-by: Jeff Booher-Kaeding <Jeff.booher-kaeding@arm.com>
Cc: Ard Biesheuvel <ard.biesheuvel@arm.com>
Cc: Leif Lindholm <leif@nuviainc.com>
Cc: Pete Batard <pete@akeo.ie>
---
Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxe.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxe.c b/Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxe.c
index ac1004fe1836..6e793efb8227 100644
--- a/Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxe.c
+++ b/Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxe.c
@@ -502,7 +502,7 @@ ApplyVariables (
* 1 VREF N/A 1
* 3 nTRST GPIO22 ALT4 15
* 4 GND N/A 9
- * 5 TDI GPIO4 ALT5 7
+ * 5 TDI GPIO26 ALT4 37
* 7 TMS GPIO27 ALT4 13
* 9 TCK GPIO25 ALT4 22
* 11 RTCK GPIO23 ALT4 16
@@ -510,14 +510,14 @@ ApplyVariables (
*/
if (PcdGet32 (PcdDebugEnableJTAG)) {
GpioPinFuncSet (22, GPIO_FSEL_ALT4);
- GpioPinFuncSet (4, GPIO_FSEL_ALT5);
+ GpioPinFuncSet (26, GPIO_FSEL_ALT4);
GpioPinFuncSet (27, GPIO_FSEL_ALT4);
GpioPinFuncSet (25, GPIO_FSEL_ALT4);
GpioPinFuncSet (23, GPIO_FSEL_ALT4);
GpioPinFuncSet (24, GPIO_FSEL_ALT4);
} else {
GpioPinFuncSet (22, GPIO_FSEL_INPUT);
- GpioPinFuncSet (4, GPIO_FSEL_INPUT);
+ GpioPinFuncSet (26, GPIO_FSEL_INPUT);
GpioPinFuncSet (27, GPIO_FSEL_INPUT);
GpioPinFuncSet (25, GPIO_FSEL_INPUT);
GpioPinFuncSet (23, GPIO_FSEL_INPUT);

Join devel@edk2.groups.io to automatically receive all group messages.